Backward Chaining
- You can only simulate a backward chained plan.
- You start at the goal state, and consider the moves that
can take you there.
- Using the same example, the initial state is: On(B, Ground),
On(A, Ground), On(C,A), Clear(B) and Clear(C).
- The goal state is: On(C, Ground), On(B, C), and On(A,B).
- The only move you can make to get here is Move(A,B,Ground).
- However, from this state, you can choose Move(A,Ground,B),
Move(B,C,Ground), or Move(B,A,C).
- You can ignore the one that takes you back to the goal state.
- In reverse, what you want to do is:
- you want to, as the last step Move(A,Ground,B), before that, Move(B,Ground,C) and intially
Move(C,A,Ground).
- What is a good algorithm to explore this space?
- Depth first search isn't good because you have infinite chains;
you can fix this by making sure not to revisit states.
- What about clear?
- We've just mentioned the moves, not the ongoing description of
the states.