Open ctheune opened 4 years ago
Separating the model computation is interesting that we might want to strive for supporting a variety of models. Aspects of the various approaches:
Computing the model on the agents seems to be the most complicated, least flexible part that requires careful managing of code distribution. In the current way it's actually kinda simple because we distribute the agent in a consistent state. However, I guess we only really want computation on the target system to be able to acquire data.
I'm still much for being able to compute a consistent model in the beginning and then pressing 'go'. Obviously 'predict' only gets you so far if the underlying world keeps moving, so there is never a guarantee that the actions we predict will be the ones we meet when actually performing the tasks.
So, an aspect of this is distributed fact gathering, which is woven into the model computation. However, we're still stuck with the part where we'd need to slow keep rolling the model to gather facts that are based on previous actions for later actions.... if we supported that we'd have a pretty powerful tool but it might be that that is a trap and we should strive for a simpler overall model.