Title: Causal-link Planning II
1Causal-link Planning II
2Planning as Search
State Space Plan Space
Algorithm Progression, Regression POP
Nodes World States Partial Plans
Edges/ Transitions Actions For example, in BW move-A-from-B-to-C move-B-from-A-to-Table move-C-from-B-to-A Plan refinements Step addition Step reuse Demotion Promotion
3POP algorithm
- POP((A, O, L), agenda, actions)
- If agenda () then return (A, O, L)
- Pick (Q, aneed) from agenda
- aadd choose(actions) s.t. Q ?effects(aadd)
- If no such action aadd exists, fail.
- L L ? (aadd, Q, aneed) O O ? (aadd
lt aneed) - agenda agenda - (Q, aneed)
- If aadd is new, then A A ? aadd and
- ?P ?preconditions(aadd), add (P, aadd) to
agenda - For every action at that threatens any causal
link (ap, Q, ac) in L - choose to add at lt ap or ac lt at to O.
- If neither choice is consistent, fail.
- POP((A, O, L), agenda, actions)
Termination
Goal Selection
Action Selection
Update goals
- Protect causal links
- Demotion at lt ap
- Promotion ac lt at
4More expressive action representation
- Actions with variables
- Conditional effects
- Disjunctive preconditions
- Universal quantification
- -gt UCPOP Penberthy Weld 92
5Propositional STRIPS
- Move-C-from-A-to-Table
- precondition (and (on C A) (clear C))
- effects (and (on C Table)
- (not (on C A))
- (clear A))
- With n blocks gt O(n3) actions!
- Many actions not relevant for goal
6Action schemata
- Move ?b from ?x to ?y
- parameters ?b, ?x, ?y
- preconds (and (on ?b ?x) (clear ?b) (clear ?y)
- (? ?b ?x) (? ?b ?y) (? ?x ?y)
- (? ?y Table))
- effects (and (on ?b ?y)
- (not (on ?b ?x))
- (clear ?x)
- (not (clear ?y)))
7Modifications to POP to handle actions with
variables (1)
- Plan (A, O, L, B), where
- A set of actions in the plan
- O temporal orderings between actions (a lt b)
- L causal links linking actions via a literal
- B binding constraints (co-designation and non
co-designation) - Unification (instead of matching)
- To satisfy (Q, aneed) we can use an action aadd
such that P ? effects(aadd) and MGU(P, Q, B) ? ? - For example, use a new action move(?b ?x ?y) to
satisfy on(A C), since MGU(on(?b ?y), on(A C),
B) ((?b A) (?y C)) ? ?
8Modifications to POP to handle actions with
variables (2)
- Distinct variables for new action instances
- Move(?b1 ?x1 ?y1), Move(?b2 ?x2 ?y2),
- Add codesignation constrains in the preconditions
of a new action to the bindings B - After adding move(?b ?x ?y) to satisfy on(A C),
- B B ? ((?b ? ?x) (?x ? ?y) (?b A) (?y
C)) - (?b ? ?y) and (?y ? Table) are already
satisfied since ?b and ?y are bound to constants
9Modifications to POP to handle actions with
variables (3)
- Threat resolution
- Delay threat checks until ground values are known
for variables, or - Separation add (inequality) binding that
ensures condition does not unify. - Ensure all actions eventually grounded
- Require ground initial state (no variables)
- Safe operators vars(effects) ? vars (precs)
10POP with variables
((?b1 B) (?y1 C) (?b1 ? ?x1) (?x1 ? ?y1)
(?y1 ? Table))
11Conditional effects
- Move ?b from ?x to ?y
- parameters ?b, ?x, ?y
- preconds (and (on ?b ?x) (clear ?b) (clear ?y)
- (? ?b ?x) (? ?b ?y) (? ?x ?y))
- effects (and
- (on ?b ?y)
- (not (on ?b ?x))
- (clear ?x)
- (when (? ?y Table)
- (not (clear ?y))))
12Conditional Effects
- (when P Q)
- means if P holds in the state before the action
is applied, then Q will hold in the state
resulting from the application of the action - In the situation calculus
- P(x, s) ? Q(y, do(a,s))
13Modifications to POP to handle conditional effects
- Allow conditional effects to be used for causal
links - Add the antecedent of conditional effect to the
agenda. - Threat resolution by confrontation
- Add the negation of the antecedent of the
conditional effect to the agenda. - Handle negated goals
- Same as positive goals
- Closed world assumption for initial state
14Disjunctive preconditions
- Ex (and (on ?x ?y)
- (or (clear ?x) (big-and-flat
?x))) - Modifications to POP
- Put (or Q1 Q2) on the agenda when the action is
selected. - When (or Q1 Q2) is picked from the agenda, choose
either Q1 or Q2 to work on. - Note No disjunctive effects
15Universal quantification in preconditions and
effects
- Move-briefcase(?b ?loc1 ?loc2)
- preconds (and (briefcase ?b) (at ?b ?loc1)
- (forall ((padlock ?p)) (not (locked ?b
?p))) - (? ?loc1 ?loc2))
- effects (and (at ?b ?loc2)
- (not (at ?b ?loc1))
- (forall ((object ?x))
- (when (in ?x ?b) (and (at ?x ?loc2)
-
(not (at ?x ?loc1))))
16Universal quantification restricted to finite,
static types
- Assume a finite, static set of typed objects
- No object creation
- No object destruction
- Example
- Extension(briefcase ?b) B1
- Extension(padlock ?p) P1, P2
- Extension(object ?x) B1, P1, P2, O1, O2, O3,
17Approach Replace quantified expressions with
ground literals
- Since quantification is over a finite set (type),
replace forall goals with the conjunction of
all the ground formulas obtained from the
instances of the type. - Universal base
- Y(?t1x ?(x)) Y(?(c1)) ? ? Y(?(cn))
- where the instances of t1 are (c1, .., cn)
- Example if Extension(padlock ?x) p1, p2,
then - (forall ((padlock ?x)) (not (locked ?x ?b)))
- ? (and (not (locked p1 ?b)) (not (locked p2
?b)))
18Modifications to POP to handlequantification
- Replace a universally quantified goal with its
universal base. - Use ground literals from the universal base of a
quantified effect as needed for causal links. - Consider threats when their bindings refer to
universally quantified variables.
19Briefcase example
A0
(briefcase B)
(at B home)
(in P B)
(at P home)
(at B office)
(at P home)
Ainf
20Briefcase exampleNo threats yet
A0
(briefcase B)
(at B home)
(in P B)
(at P home)
(briefcase B)
(at B ?l)
(in ?o1 B)
move B ?l office
(at B office)
(not (at B ?l))
(at ?o1 office)
(not (at ?o1 ?l))
(at B office)
(at P home)
Ainf
21Briefcase example(?l home) gt threat to (at P
home)
A0
(briefcase B)
(at B home)
(in P B)
(at P home)
(briefcase B)
(at B home)
(in ?o1 B)
move B home office
(not (at B home))
(at B office)
(at ?o1 office)
(not (at ?o1 home))
(at B off)
(at P home)
Ainf
22Briefcase exampleSolve threat by confrontation
A0
(briefcase B)
(at B home)
(in P B)
(at P home)
(briefcase B)
(at B home)
(in ?o1 B)
(not (in P B))
move B home office
(not (at B home))
(at B office)
(at ?o1 office)
(not (at ?o1 home))
(at B off)
(at P home)
Ainf
23Briefcase exampleFinal Plan
A0
(briefcase B)
(at B home)
(in P B)
(at P home)
(in P B)
take-out P B
(not (in P B))
(briefcase B)
(at B home)
(in ?o1 B)
(not (in P B))
move B home office
(not (at B home))
(at B office)
(at ?o1 office)
(not (at ?o1 home))
(at B off)
(at P home)
Ainf
24Quantified goal example
25Quantified goal example
26Quantified goal example
27(No Transcript)