Planning Flashcards
What is a STRIPS operator?
It is a combination of three things:
- Action description: Defines what action does.
- Precondition. Defines what must be true before action can be used. A conjunction of positive literals.
- Effect: Defines what is true after using operator. A conjunction of literals (either polarity).
What does a plan consist of?
A plan is solution iff it is complete and consistent.
What does it mean by ‘complete’ and ‘consistent’?
- Complete: Each precondition of each step is achieved by another previous step in the solution, and no other step cancels the precondition.
- Consistent: No contradictions exist in the binding constraints or in the proposed ordering. That is, we don’t bind a variable to multiple distinct constants, and we won’t have loops in casual ordering.
What does it mean by a threat?
How can a planner attempt to fix a threat?
A step that might invalidate/clobber a previously achieved precondition is called a threat.
A planner can try to fix a threat by introducing an ordering constraint (promotion/demotion).
How do we construct a planning graph?
A planning graph is constructed in levels:
- Level 0 corresponds to the start state.
- At each level we keep approximate track of all things that could be true at the corresponding time.
- At each level we keep approximate track of what actions could be applicable at the corresponding time.
What are the five different types of mutex links that can be applied in a planning graph?
- [Actions] The effect of one action negates the effect of another.
- [Actions] The effect of an action negates the precondition of another.
- [Actions] The precondition for an action is mutually exclusive with the precondition for another.
- [State] Pair consists of a proposition and its negation.
- [State] All pairs of actions that could achieve the pair of propositions are mutex.
How do we extract plans from graphs?
We start from bottom-most state - the level where all goals appear and no pair has mutex link.
Extraction can be formalized as a search problem.
- For any state S with level S_i, select any set X of actions in A_i such that no pairs of actions and corresponding preconditions have mutex link. The action should achieve some propositions in S.
- Each action has cost 1, and we search from bottom of graph to root.