The prediction subsystem is responsible to predict the behavior of Objects and Agents during Planner operations. The subsystem is used by the Planner in order to model the behavior and reaction of the environment during planning.
The main purpose of the prediction subsystem is to create a number of possible follow-up states for each Agent in a scene, taking into account properties of the physical world as well as Goals, Plans and Beliefs of agents. The subsystem can be seen as a generalization of a „move generator“ from board games (chess and similar).
The prediction subsystems in general works by applying Scripts to the base situation, with the End Scenes of the Script representing possible outcomes. The subsystem will then assign confidence scores to the outcomes. On higher levels, the prediction system may involve faculties including the Social Reasoning subsystem. On the lowest level, the subsystem uses an actual Physics Engine to predict outcomes:
- On the level of physical objects, the subsystem predicts the movement of objects depending on the forces applied.
- On the social level, the prediction subsystem uses knowledge about each Agent's Goals, Believes, Plans and capabilities in order to predict the Agent's behavior. This process also includes the possibility of plan recognition by the other Agent which may lead to cooperative or competing behavior.
- On the logical level, the subsystem may take into account hypothesis, rules and other information in order to predict outcomes.
A special property of the prediction subsystem is that it will also be able to predict the behavior of the TinyCog system itself, as it can be modeled as just another Agent using the Social Reasoning subsystem.
Comparison and References
The prediction subsystem is part of the probabilistic Planner that has not yet been implemented.