Cognitive Schematic
A Cognitive Schematic is an implication of the form
Context & Action ⟹ Goal
Chaining Cognitive Schematics may allow to achieve a form of planning by reasoning, where contexts and goals may typically form a chain of subgoals. For instance the following
InitialContext & A1 ⟹ SubGoal1 SubGoal1 & A2 ⟹ SubGoal2 SubGoal2 & A3 ⟹ FinalGoal
would suggest that one possible way to achieve FinalGoal is to chain actions A1 to A3, provided that InitialContext is true.
There are multiple ways to represent Cognitive Schematics in OpenCog. In an atemporal environment an ImplicationLink (or ExtensionalImplicationLink) may suffice
ImplicationLink <TV> AndLink Context Action Goal
In a temporal environment one may need to use PredictiveImplicationLink to capture the delay between actions and effects, such
PredictiveImplicationLink <TV> AndLink Context Action Goal
Other ways are possible as well. Managing uncertainty becomes possible by considering the <TV> associated to the implications.
Also, one would typically need to wrap the action in a predicate indicating the willful capacity to trigger the action independently of its actually probability of being triggered (and without triggering it), such as
PredictiveImplicationLink <TV> AndLink Context do(Action) Goal
as in Judea Pearl's Do-Calculus. Maybe introducing a DoLink would make sense.
The idea of course is that these Cognitive Schematics can be both learned and utlized by OpenCog. Components using Cognitive Schematics are OpenPsi for planning and URE for inference control.