When to Use Forward and Backward Chaining
- The problem being solved tells you which is best!
- Forward is best if
- There is no obvious goal to set
- All of the data is already there
- There are many possible goals and a small number of patterns
- tends to be better for small systems
- Backward is best if
- Data is expensive
- Explanation is important
- There is a lot of possible data and a lot of goals
- It tends to be better for medium sized systems
- In class box-world exercise:
- You have 2 boxes name A and B. A is on-top of B.
- What does WM look like?
- What do rules look like?
- The goal is to have B on-top of A.
- How does the goal stack change, and when are rules applied?
- State space and fan out and fan in (section 2.1)