Presentation is loading. Please wait.

Presentation is loading. Please wait.

Planning in FOL Systems sequences of actions to achieve goals.

Similar presentations


Presentation on theme: "Planning in FOL Systems sequences of actions to achieve goals."— Presentation transcript:

1 Planning in FOL Systems sequences of actions to achieve goals

2 D Goforth - COSC 4117, fall 20062 Planning Example: Blocks world  objects: blocks on a table  actions: move blocks ‘on’ one object to ‘on’ another object  goals: configurations of blocks  plan: sequence of actions to achieve goals T ABC D

3 D Goforth - COSC 4117, fall 20063 Classical Planning - STRIPS  STanford Research Institute Problem Solver  Closed world assumption facts not in KB are assumed false  Predicates in KB must refer to specific objects (no variables, no functions)  Goal – conjunction of positive literals  No ‘situation calculus’ – current state only

4 D Goforth - COSC 4117, fall 20064 Classical Planning - STRIPS  actions: preconditions – predicates that must be in KB effect – some predicates added to KB and some predicates removed (‘negated’)  plan – sequence of actions to get goal predicates into KB

5 Blocks world  objects: A, B, C, D, T  KB: On(A,T)^On(B,T)^On(C,T)^On(D,C) ^Block(A)^Block(B)^Block(C)^Block(D) ^Clear(A) ^Clear(B )^Clear(D) ^Clear(T)*  Goal: On(A,B)^On(B,C) T ABC D * Clear(x) means “there is space on x for a block”

6 Blocks world  actions: Move(b,x,y) // move b from x to y PRE:On(b,x)^Clear(b)^Clear(y)^Block(b)^Block(y) EFFECT:On(b,x)^Clear(y)^Clear(x)^On(b,y) MoveToTable(b,x) // move b from x to table PRE:On(b,x)^Clear(b) ^Block(b) ^Block(x) EFFECT:On(b,x)^Clear(x)^On(b,T) // remove from KB; add to KB T ABC D

7 D Goforth - COSC 4117, fall 20067 STRIPS requirements  need ‘Clear’ because Clear cannot be inferred from the ‘On’ predicates  need two Move actions to manage the ‘clear table’ problem unsolved problem: can’t avoid ‘repeated literal’ problem Move(B,C,C)

8 D Goforth - COSC 4117, fall 20068 Planning – state space search  current KB is current state  applying an action is an edge  revised KB is next state  from current KB, search for path of actions to state containing goal

9 Blocks world KB: On(A,T)^On(B,T)^On(C,T)^On(D,C) ^Block(A)^Block(B)^Block(C)^Block(D) ^Clear(A)^Clear(B) ^Clear(D) ^Clear(T) T ABC D KB: On(A,D)^On(B,T)^On(C,T)^On(D,C) ^Block(A)^Block(B)^Block(C)^Block(D) ^Clear(A) ^Clear(B) ^Clear(T) T A BC D Move(A,T,D)

10 D Goforth - COSC 4117, fall 200610 Forward search  irrelevant action problem: actions that are possible lead to large branching  needs good heuristic to be efficient (breaks FOL domain independence)

11 D Goforth - COSC 4117, fall 200611 Backward search  actions with goal state as ‘effect’ are ‘regressed’  focus on ‘relevant’ actions  avoid actions that undo goal state predicates goal state predicates previous state predicates undo action effects add preconditions

12 Blocks world – preconditions match Goal: On(A,B)^On(B,C) T A B C D On(A,T)^On(B,T)^On(C,T)^On(D,C) ^Block(A)^Block(B)^Block(C)^Block(D) ^Clear(A) ^Clear(B) ^Clear(T) T A BC D Move(A,x,B) {T/x} Preconditions for Move(A,T,B)

13 Blocks world – preconditions not match Goal: On(A,B)^On(B,C) T A B D On(A,T)^On(B,T)^On(C,T)^On(D,C) ^Block(A)^Block(B)^Block(C)^Block(D) ^Clear(A) ^Clear(B)^Clear(D)^Clear(T) T AB C D Move(B,x,C) {T/x} C On(B,T)^ Block(B)^Block(C)^ Clear(C) ^Clear(B) AB DC T MoveToTable(y,C) {D/y}

14 D Goforth - COSC 4117, fall 200614 State space search algorithms  heuristics: admissible (don’t overestimate path cost) generic heuristics not domain dependent  relaxed problem – reduce preconditions, remove negative effects  independent subgoals – achieve goal predicates one at a time: assume one goal does not help or prevent another

15 Blocks world - heuristics Move(b,x,y) PRE:On(b,x)^Clear(b)^Clear(y)^Block(b)^Block(y) EFFECT:On(b,x)^Clear(y)^Clear(x)^On(b,y) MoveToTable(b,x) PRE:On(b,x)^Clear(b)^Block(b) EFFECT:On(b,x)^Clear(x)^On(b,T) For example goal On(A,B)  On(B,C): Heuristic “independent subgoals” On(A,B) and On(B,C) simplifies because On(A,B) interferes with On(B,C) Heuristic “relaxed problem” remove preconditions, negatives T ABC D

16 D Goforth - COSC 4117, fall 200616 Partial Order Planning  since GPS (General Problem Solver), understood getting the major steps in place first improves planning e.g. car trip including a ferry crossing  plans built in mixed order, not just forward or backward

17 D Goforth - COSC 4117, fall 200617 Partial Order Planning  in many plans, order of some steps does not matter if parts of goal are independent, does not matter which goal is achieved first T ABCD Goal: On(A,B)^On(C,D)

18 D Goforth - COSC 4117, fall 200618 Partial Order Planning  planning takes place in ‘plan space’ of partial plans  a partial plan contains: 1.actions, A, B, C,...,Start, Finish 2.ordering constraint between some actions: A must be done before B: A  B 3.causal links: A produces a precondition for B: 4.set of unachieved preconditions (empty in final plan)

19 D Goforth - COSC 4117, fall 200619 The empty plan (root of plan search space tree) Action: Start PRE: none EFFECT: start state of space Action: Finish PRE: goal predicates EFFECT: none T A BC D A B D On(A,B) On(B,T) On(D,C) On(C,T) On(A,B) On(B,C) On(C,D) C open{On(B,C),On(C,D)} Start  Finish NOTE: some predicates not shown – Clear in KB

20 A partial plan Action: Start PRE: none EFFECT: On(A,B),On(B,T),On(D,C),On(C,T) Action: Finish PRE: On(A,B),On(B,C),On(C,D) EFFECT: none T A BC D A B D C open{On(C,D)} Action: M(B,T,C) PRE: Clear(B),Clear(C) EFFECT: On(B,C) Start  M causal On(B,C)

21 A partial plan Action: Start PRE: none EFFECT: On(A,B),On(B,T),On(D,C),On(C,T) Action: Finish PRE: On(A,B),On(B,C),On(C,D) EFFECT: none T A BC D A B D C open{On(A,B),On(C,D)} Action: M(B,T,C) PRE: Clear(B),Clear(C) EFFECT: On(B,C) Action: MT(A,B) PRE: Clear(A) EFFECT: On(A,T),Clear(B)

22 The complete partially ordered plan Action: Start Action: Finish PRE: goal A BC D A B D On(A,B) On(B,T) On(D,C) On(C,T) On(A,B) On(B,C) On(C,D) C Action: MT(A,B)Action: MT(D,C) Action: M(C,T,D) Action: M(B,T,C) Action: M(A,T,B) open{}

23 The total order plans Action: Start Action: Finish PRE: goal Action: MT(A,B) Action: MT(D,C) Action: M(C,T,D) Action: M(B,T,C) Action: M(A,T,B) Action: Start Action: Finish PRE: goal Action: MT(D,C) Action: MT(A,B) Action: M(C,T,D) Action: M(B,T,C) Action: M(A,T,B)

24 D Goforth - COSC 4117, fall 200624 Heuristics for partial order plans  size of open precondition set number of unachieved goal predicates  overestimates remaining actions if some actions achieve multiple goals  underestimates remaining actions if some actions will undo preconditions (e.g. taking A off B)


Download ppt "Planning in FOL Systems sequences of actions to achieve goals."

Similar presentations


Ads by Google