(sequence of states initial --> final )
Uses: scheduling, graphics
Example: blocks world - robot arm pg. 332-347
Plan:
end described from reasoning process
Goal Stacks
| I) | II) |
| On(a,b) | On(b,c) |
| On(b,c) | On(a,b) |
| On(a,b) and On(b,c) | On(a,b) and On(b,c) |
consider: multiple conjunctions ... permutations
*each time!
| On(C,A) | Operator Sequence | |
| Clear(C) | (Plan) | |
| ArmEmpty | ||
| Clear(C) and ArmEmpty and On(C,A) | Unstack(C,A) | |
| -Unstack (C,A) | PutDown(C) | |
| ArmEmpty | PickUp(A) | |
| Clear(A) and ArmEmpty and OnTable(A) | Stack(A,B) | |
| -PickUp (A) | . | |
| Clear(B) and Holding (A) | . | |
| -Stack (A,B) | . | |
| On (B,C) | ||
| On (A,B) and On(B,C) | picture now | |
| -> | world view |
On(A,B) and On(B,C)
.
.
.
->
On(A,B) and On(B,C)
->
On(A,B)
On(A,B) and On(B,C)
Need: method capable of finding efficient way!
linear - no concept of 'ease' ... which first?
additional processing (repair): where perform operation then immediately undo
Complete operation stack
undo (eliminate)
reduction difficult
Solution:
do not plan sequentially to achieve compound goals (i.e., consider effects)
nonlinear planning
how do we do it?
how can we implement?
ABSTRIPS
1) Solve problem completely considering only preconditions of high 'critical value' (expected difficulty)
2) work on next highest
* hierarchy of abstraction spaces (doing part ahead?)
(e.g. ArmEmpty easy because we have PutDown(x))
cognitive affirmation .. plan more difficult first
NOAH (also Sacerdoti) Fikes/Nilsson 71,74,75
Nets of Action Hierarchies
description of description of S J
action action
Goal Phantom Split Join
a goal to goals which
be achieved should be true
by time encountered
(remain to be satisfied)
Level 1 Paint the ceiling & Paint the ladder
Level 2 Paint the ceiling
S J
Paint the ladder
Get Paint Get ladder Apply paint to ceiling
Level 3 S J
(before criticism)
Get Paint Apply paint to ladder
Level 4 Get Paint Get ladder Apply paint to (after criticism to S ceiling
resolve conflicts)
Get Paint J Apply paint to ladder
Critics
each critic is a little program that makes specific observations about the proposed plan
* Resolve Conflicts (1. construct a table listing all mentioned more than once)
* Eliminate Redundant Preconditions
In the following,
Stack(x,y) - y can be table
- includes PickUp(x)
further research
* backtracking
* constraint-posting
* opportunistic planning
* meta-planning (reasoning about plans)
explanation
* adaptive planning (BART)
Notice a communication between "experts" is needed
The Blackboard Approach
HEARSAY-II