online replanning
play

Online Replanning Section 11.3.3 Sec. 11.3.3 p.1/18 Outline - PowerPoint PPT Presentation

Online Replanning Section 11.3.3 Sec. 11.3.3 p.1/18 Outline Contingency planning vs. replanning Replanning agent algorithm Execution monitoring Continuous planning (Multiagent planning) Sec. 11.3.3 p.2/18 Contingency planning vs.


  1. Online Replanning Section 11.3.3 Sec. 11.3.3 – p.1/18

  2. Outline Contingency planning vs. replanning Replanning agent algorithm Execution monitoring Continuous planning (Multiagent planning) Sec. 11.3.3 – p.2/18

  3. Contingency planning vs. replanning Contingency planning : prepare in advance. Useful when some conditions needed for the contingency plan can be gathered before execution. Execution monitoring : ignore contingencies during planning, then handle them as they arise. Useful when planning time is a concern: not everything can be planned for. Basic idea: handle execution time failures at execution time. Sec. 11.3.3 – p.3/18

  4. Repairing a plan whole plan plan S P E continuation repair Sec. 11.3.3 – p.4/18

  5. Chair and table example Init(Color(Chair,Blue) ∧ Color Table(Green) *** ∧ ContainsColor(BC,Blue) ∧ PaintCan(BC) *** ∧ ContainsColor(RC,Red) ∧ PaintCan(RC)) *** Goal(Color(Chair,x) ∧ Color(Table,x)) *** Action(Paint(object,color), *** P RECOND : HavePaint(color) *** E FFECT : Color(object,color)) *** Action(Open(can), *** P RECOND : PaintCan(can) ∧ ContainsColor(can,color) *** E FFECT : HavePaint(color)) Sec. 11.3.3 – p.5/18

  6. Chair and table example (cont’d) Whole plan: [Start; Open(BC); Paint(Table,Blue); Finish] *** What to do when it notices a missed green spot on the table just before finishing the agent plans to paint both red and it opens the can of red paint and finds there is only enough paint for the chair. Sec. 11.3.3 – p.6/18

  7. Algorithm function R EPLANNING A GENT ( percept ) returns an action static : KB , a knowledge base (includes action descriptions) static: plan , a plan, initially [] static: whole-plan, a plan, initially [] static: goal , a goal T ELL ( KB , M AKE -P ERCEPT -S ENTENCE ( percept,t )) current ← S TATE -D ESCRIPTION ( KB, t ) if plan = [] then whole-plan ← plan ← P LANNER ( current, goal, KB ) if P RECONDITIONS ( F IRST ( plan )) not currently true in KB then candidates ← S ORT ( whole-plan , ordered by distance to current ) find state s in candidates such that failure � = repair ← P LANNER ( current,s,KB ) continuation ← the tail of whole-plan starting at s whole-plan ← plan ← A PPEND ( repair, continuation ) return P OP ( plan ) Sec. 11.3.3 – p.7/18

  8. What to monitor, what to ignore Action monitoring: Check the preconditions of the next action to execute Plan monitoring: Check the preconditions of all the actions to execute monitor a selected set based on priority Look for opportunities ( serendipity ) Sec. 11.3.3 – p.8/18

  9. Other important questions Which contingencies to plan for, which ones to leave until execution Should replanning be a plan step learning/modifying actions side note: “don’t touch” conditions Sec. 11.3.3 – p.9/18

  10. Fixing plan flaws continually Missing goal : adding new goals Open precondition : close using causal links (POP) Causal conflict : resolve threats (POP) Unsupported link : remove causal links supporting conditions that are no longer true Redundant action : remove actions that supply no causal links Unexecuted action : return an action that can be executed Unnecessary historical goal : if the current goal set has been achieved, remove them and allow for new goals Sec. 11.3.3 – p.10/18

  11. Continuous planning algorithm function C ONTINUOUS -POP-A GENT ( percept ) returns an action action ← NoOp (the default) E FFECTS [ Start ] = U PDATE ( E FFECTS [ Start ], percept ) R EMOVE -F LAW ( plan ) // possibly updating action return action Sec. 11.3.3 – p.11/18

  12. Example - start C D D D B C D B C C B B A E F G A E F G A E F G A E F G ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� Start Someone moved D dropped C tried again Ontable(A) On(C,F) Clear(C) On(B,E) Move(C,D) Clear(D) On(C,F) On(C,D) On(D,G) Start Finish On(D,B) Clear(A) Clear(C) On(D,G) Clear(D) Clear(D) Move(D,B) Clear(B) Clear(B) Sec. 11.3.3 – p.12/18

  13. Example - after D is moved onto B C D D D B C D B C C B B A E F G A E F G A E F G A E F G ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� Start Someone moved D dropped C tried again Ontable(A) On(C,F) Clear(C) On(B,E) Move(C,D) Clear(D) On(C,F) On(C,D) On(D,B) Start Finish On(D,B) Clear(A) Clear(C) On(D,y) Clear(D) Clear(D) Move(D,B) Clear(G) Clear(B) Sec. 11.3.3 – p.13/18

  14. Example - Move(D,B) was redundant C D D D B C D B C C B B A E F G A E F G A E F G A E F G ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� Start Someone moved D dropped C tried again Ontable(A) On(C,F) Clear(C) On(B,E) Move(C,D) Clear(D) On(C,F) On(C,D) On(D,B) Start Finish On(D,B) Clear(A) Clear(C) Clear(D) Clear(G) Sec. 11.3.3 – p.14/18

  15. Example - Move(C,D) was executed C D D D B C D B C C B B A E F G A E F G A E F G A E F G ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� Start Someone moved D dropped C tried again Ontable(A) On(B,E) On(C,A) On(C,D) On(D,B) Start Finish On(D,B) Clear(F) Clear(C) Clear(D) Clear(G) Sec. 11.3.3 – p.15/18

  16. Example - put Move(C,D) back in C D D D B C D B C C B B A E F G A E F G A E F G A E F G ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� Start Someone moved D dropped C tried again Ontable(A) On(C,A) Clear(C) On(B,E) Move(C,D) Clear(D) On(C,A) On(C,D) On(D,B) Start Finish On(D,B) Clear(F) Clear(C) Clear(D) Clear(G) Sec. 11.3.3 – p.16/18

  17. Example - plan complete C D D D B C D B C C B B A E F G A E F G A E F G A E F G ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� Start Someone moved D dropped C tried again Ontable(A) On(B,E) On(C,D) On(C,D) On(D,B) Start Finish On(D,B) Clear(F) Clear(C) Clear(D) Clear(G) Sec. 11.3.3 – p.17/18

  18. Multiagent planning Cooperation: Joint goals and plans Multibody planning: Synchronization, joint actions, concurrent actions Coordination mechanisms: convention, social laws, emergent behavior, communication, plan recognition, joint intention Competition: agents with conflicting utility functions Sec. 11.3.3 – p.18/18

Recommend


More recommend