Planning
Planning
Planning
Planning
STRIPS language:
“Classical” approach that most planners use
Lends itself to efficient planning algorithms
delete-list: null
GOTHRUDOOR(S, dx):
PRECOND: CONNECT(dx, rk, rm) ^ NEXTTO(S, dx) ^
STATUS(dx, OPEN) ^ INROOM(S, rk)
Effect:
add-list: INROOM(S, rm)
Initial state:
Initial state of the planning problem
Actions:
Applicable to the current state (actions’
preconditions are satisfied)
Goal test:
Whether the state satisfies the goal of the
planning
Step cost:
Each action is 1
Relaxed problem
Subgoal independence assumption:
The cost of solving a conjunction of subgoals is
approximated by the sum of the costs of solving each
subgoal independently
RightSock
RightSockOn
RightShoe
LeftSock
LeftSockOn
LeftShoe
RightShoe
RightShoeOn
Finish
LeftShoe
LeftShoeOn
Finish
classical planning
sensorless planning
conditional planning
replanning
Multi-state, start in
#[1, 2, …, 8].
Solution?
[Right, Suck, Left, Suck]
The algorithm terminates in every finite state space, because every path must reach a
goal, a dead end, or a repeated state. --- noncyclic solution
Action(CheckDirt , PRECOND :,
EFFECT : when AtL CleanL : K (CleanL)
when AtL CleanL : K (CleanL)
when AtR CleanR : K (CleanR)
when AtR CleanR : K (CleanR))
Left followed by CheckDirt in the active setting results in the same two
belief states as Left did in the automatic sensing setting.
The initial plan is constructed by the continuous planning agent, just like other
normal partial-order planner.
After someone else moves D onto B, the unsupported links supplying Clear(B)
and On(D, G) are dropped, producing this plan.
The link supplied by Move(D, B) has been replaced by one from Start, and the
now-redundant step Move(D, B) has been dropped.
This process is called extending a causal link and is done whenever a
condition can be supplied by an earlier instead of a later one without causing a
new conflict.
CS 420: Artificial Intelligence 78
Continuous Planning
After Move(C, D) is executed and removed from the plan, the effects of the
Start step reflect the fact that C ended up on A instead of the intended D. The
goal precondition On(C, D) is still open.
After Move(C, D) is executed and dropped from the plan, the remaining open
condition On(C, D) is resolved by adding a causal link from the new Start step.
The plan is now completed.