Plan reasoning implements a number of operations on plans that together allow optimization and reasoning about plans.
- Classification of plans based on criteria including initial state (scene), goal (scene), objects affected, the attributes affected, objects in the context, the agents, the actions performed and bi-grams of actions taking place (similar to CLASP [?]?).
- Concept forming - Create new "verb" concepts to represent a set of plans observed or executed in the real world. Provide the new "verb" with pre- and post conditions and success statistics so that it can be used as a "task decomposition" as part of other plans.
- Success factor analysis - Analyze a set of plans observed or executed in the real world to achieve a certain goal. Determine the factors that are responsible for the success or failure of the plans.
- Script vs. Plan: Can a given Script be produced by a specific Plan? This is the basic operation for Plan Recognition.
- Comparing plans and calculating similarity measures
- Convert an existing plan into a scene: Returns a 2D scene with a "pen and paper" representation of a plan, typically limited to the top-level tasks (cutting off the HTN plan below the first tree level).
- Compare the "paper" representations of two plans and determine the differences.
- Convert a "paper" representation of a plan into an executable plan.
- Run a plan in a sandbox: Runs the plan in a given start scene and returns the result scene. The test run may take assumption about the likely behavior of physical objects and 3rd party actors.
- Retrieve instances (=examples) of plan execution from the episodic memory subsystem
In order to perform the actual plan improvement process, a specific "plan improvement" meta-plan is required as a kind of initial set-up of the Planner. Please note that this meta-plan is itself accessible for inspection and improvement in the same way as the object-level plans. This represents an infinite-level self referential meta-reasoning faculty.
Comparison and References
- CLASP [?] implements subsumption on plans using an extended variant of Description Logic.
- SUDO-Planner [?] uses graph matching to defined subsumption between plans.
TinyCog 0.0.1 does not yet implement plan reasoning. TinyCog 0.0.3 will implement rudimentary plan reasoning as part of an extended Hunter Domain where hunters will try to optimize their plans on how to hunt deer.