Beruflich Dokumente
Kultur Dokumente
Topics Covered:
Means-Ends Analysis
Search Control Rules in MEA
Constraint-Based Search
SearchPlanning:
Parameterized Operations
Multi-State Transitions
Instead of: Opi,j: Si Sj, We have Opk,l: {Sk}{ Sl}
SearchPlanning:
Parameterized Operations
First Example
OPERATOR DRIVE-CAR(<car>, <driver>, <keys>, <loc-1>)
[PRE: (AT <car> <loc-1>)
(AT <driver> <loc-1>)
(CONTAINS-GAS <car>)
(HAVE <keys> <driver>)
(CORRESPOND <keys> <car>)]
[POST: (AT <car> <loc-2>)
(AT <driver> <loc-2>)
(NOT (AT <car> <loc-1>))
(NOT (AT <driver> <loc-1>))]]
SearchPlanning:
Parameterized Operations
Second Example
(Previous example: LISP-style, Current one: PROLOG-style)
OPERATOR: move-robot(r,x,y)
TYPE:
ROBOT(r) & LOC(x) & LOC(y)
PRE:
AT(r,x) & EMPTY(y) & CONNECTED(x,y)
POST:
AT(r,y), NOT(AT(r,x))
OPERATOR: pick-up(r,z)
TYPE:
ROBOT(r) & LOC(x) & LOC(y)
PRE:
AT(r,x) & AT(z,y) & NEXT-TO(x,y) & NOT(holding(r,w,))
POST:
HOLDING(r,z)
NOT(AT(z,y))
SearchPlanning:
Parameterized Operations
Interpretation
A plan is an o-path: S0 followed by a sequence of
instantiated operators which result in the goal state.
Variables match objects in state of specified types
only for which the preconditions hold at plan
execution time.
Planning can proceed by forward or backward (or
any other) search method.
More on Planning from Veloso (later lecture)
Means-Ends Analysis
Backchaining/Subgoaling Search
1.
2.
3.
4.
5.
6.
Let Scurr:= S0
If Scurr = SG, then go to next goal (or DONE)
Let OPSapp := match(SG {POST(Opi)}) Goals(Mill(p,s), Drill(p,l,d),
Polish(p))
If OPSapp=empty, then BACKTRACK
Select OP OPSapp, (save alt's)
If match(PRE(OP), Scurr),
a. let Scurr:= apply(OP, Scurr)
b. Go to step 2
7.
Constraints
Example
Find a way to fit components (1,2,3,4) into slots
(A,B,C,D) such that:
Constraints
Least Commitment Method
1.
2.
3.
4.
5.
6.
7.
Constraint-Based Search
B4
A = {1,2,3}
C = {1,2,3}
D = {3}
D3
FAILURE
A = {1,2,3,4}
B = {3,4}
C = {1,2,3,4}
D = {3,4}
B3
A = {1,2,4}
C = {1,2,4}
D = {4}
D4
A = {1,2}
C = {1,2}C = {2}
C2
A = {1}
A1
SUCCESS
(Dis)Advantages of Constraints
Reduce the search space
Early failure (upon constraint violation)
Generate minimal-uncertainty step (least
commitment strategy)