Forward Chaining
- Forward chaining goes from the current state to the goal
state.
- You can do this by simulating it, or, with for example a robot, doing
it.
- If you simulate, it's a plan, if you make the move, it's just search.
- 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).
- How do you get from the initial state to the goal state?
- Forward chaining looks at which moves are currently possible.
- Move(C,A,Ground) or Move(B,Ground,C)
- You can do a depth first search.
- Move(B,Ground,C) is wrong despite it reducing the differences in
the states.
- You want to Move(C,A,Ground), then Move(B,Ground,C) and finally
Move(A,Ground,B).