The Blocks World
- The blocks world is a simple and commonly used instructional domain.
- It's pretty simple. There are blocks and the ground.
- Blocks can go on the ground, or on other blocks.
- You can manage this with a simple system of actions with
preconditions and effects.
- You have primitive facts, which are used in the preconditions
and effects.
- Block(b) says b is a block.
- On (b,x) says b is on x. x can be the ground.
- Clear(x) means x has no
block on it. -Clear(x) means x has a block on it.
- Move(b,x,y) means move b from x to y. It looks like:
- Action(Move(b,x,y),
Precond: On(b,x) and Clear(b) and Clear(y),
Effect: On(b,y) and Clear(x) and -On(b,x) and -Clear(y))
- It's pretty simple, but can be used to explain interesting
algorithms.
- It relates to the Tower of Hanoi problem.
- This language is used in
STRIPS, a GOFAI planning system.