1 / 40

Planning with Loops

Planning with Loops. Yuxiao (Toby) Hu and Hector Levesque University of Toronto. Some New Results. Outline. Introduction Representing plans with loops FSA plan: a type of finite state controller Constructing plans with loops Search in the space of FSA plans Potential for improvements

afram
Télécharger la présentation

Planning with Loops

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Planning with Loops Yuxiao (Toby) Hu and Hector Levesque University of Toronto Some New Results

  2. Outline • Introduction • Representing plans with loops • FSA plan: a type of finite state controller • Constructing plans with loops • Search in the space of FSA plans • Potential for improvements • Conclusion

  3. The Planning Problem • Finitely many functional fluents, f1,...,fm, whose domain may be finite or infinite; • Finitely many actions, a1,...,an(world-changing or sensing); • Initial state: the possible values of each fluent; • Goal: achieve some goal condition in all contingencies. Like contingent planning: solve a class of problems Incomplete initial state with possibly infinite cases

  4. Motivating Example(a variant of striped-tower in Srivastava et al. 2008) Fluents: • stackA (a list of block colors) • stackB (a list of block colors) • stackC (a list of block colors) • hand (empty/red/blue) World changing actions: • pickA, pickB, putB, putC; Sensing actions • testA?(empty/nonempty) • testB?(empty/nonempty) • testH?(red/blue)

  5. Motivating Example(a variant of striped-tower in Srivastava et al. 2008) • Initially: • stackA=[blue,red,red,blue] • stackB=[ ] • stackC=[ ] • hand=empty • Goal: • stackA=[ ] • stackB=[ ] • striped(stackC) • hand=empty striped(X) is true iff X=[red,blue,…,red,blue]

  6. A linear solution pickA; putB; pickA; putC; pickB; putC; pickA; putC; pickA putC. Example 1

  7. Example 2

  8. Example 2 (cont.) pickA; CASE testH? OF     - red: putC; pickA;         CASE testH? OF             -red: putB; ... ...             -blue: putC; ... ...     - blue: putB; pickA;         CASE testH? OF             -red: putC; ... ...             -blue: putB; ... ...

  9. Example 3 Need LOOPS Question:Is there a generalized plan solving all problems in thisclass?

  10. Some of the Existing Approaches • KPLANNER (Levesque 2005)generates robot programs by winding found conditional plans. • Aranda (Srivastava et al. 2008)obtains generalized plans by winding an abstracted example plan. • loopDISTILL (Winner and Veloso 2007)learns a “dsPlanner” by merging matching sub-plans of an example partial-order plan.

  11. Outline • Introduction • Representing plans with loops • FSA plan: a type of finite state controller • Constructing plans with loops • Search in the space of FSA plans • Potential for improvements • Conclusion

  12. Plan Representation – Robot Programs (Levesque 1996, 2005) A robot program is defined inductively by • nil; • seq(A,P); • case(A,[R1:P1,…,Rn:Pn]); • loop(P,Q). KPLANNER (Levesque 2005) uses the robot program representation.

  13. Robot Program – Some Examples pickA; putB; pickA; putC; pickB; putC; pickA; putC; pickA putC. pickA; CASE testH? OF     - red: putC; pickA;         CASE testH? OF             -red: putB; ... ...             -blue: putC; ... ...     - blue: putB; pickA;         CASE testH? OF             -red: putC; ... ...             -blue: putB; ... ...

  14. Plan Representation An FSA plan is a directed graph • Each node represents a program state • One unique "start" state • One unique "final" state • Non-final state associated with an action • Each edge is associated with a sensing result • Sensing result of world-changing actions can be omitted

  15. Plan Execution(for a single complete initial world) • Use the "start state" as current program state; • If current state is the "final state", then stop; • Execute action associated to the current state; • Follow the edge with returned sensing result; • Make the node pointed to by this edge the current program state, and repeat from Step 2.

  16. Robot Program vs. FSA Plan It can be shown that all robot programs can be represented by equivalent FSA plans. What about the reverse direction?

  17. feel? thirsty hungry drink eat go2bed sleep Robot Program vs. FSA Plan CASE feel? OF - thirsty: drink; go2bed; sleep; - hungry: eat; go2bed; sleep

  18. Robot Program vs. FSA Plan fail revise? get? X suggestion instruction fail ok unworkable follow? think? succeed workable

  19. Outline • Motivation • Representing plans with loops • FSA plan: a type of finite state controller • Constructing plans with loops • Search in the space of FSA plans • Potential for improvements • Conclusion

  20. Generating Plans with Loops • Start with the smallest FSA plan with only one non-final state. • If the current program state is final, the goal must be satisfied. • Otherwise, execute the action associated to the current program state, non-deterministically pick an applicable one if none is associated. • For each possible sensing result of the action, follow the transition and change the current state to the transition target. If no transition is associated to the sensing result, non-deterministically pick one for it. • Repeat from step 2.

  21. Search in the Space of FSA Plans … … (Possible values of stackA) X ?

  22. Search in the Space of FSA Plans … …

  23. Search in the Space of FSA Plans … … pickA X ?

  24. Search in the Space of FSA Plans … … testA? ? empty ?

  25. … … … … Search in the Space of FSA Plans testA? empty X ? nonempty

  26. … … Search in the Space of FSA Plans testA? X ? empty nonempty

  27. Search in the Space of FSA Plans … … testA? empty nonempty X ? pickB

  28. Search in the Space of FSA Plans … … testA? empty nonempty X ? testA?

  29. Search in the Space of FSA Plans … … testA? empty nonempty pickA

  30. Search in the Space of FSA Plans testA? empty nonempty ? X pickA … …

  31. Search in the Space of FSA Plans … … testA? ? empty X nonempty pickA

  32. Search in the Space of FSA Plans testA? empty nonempty ? X pickA … …

  33. Search in the Space of FSA Plans testA? empty nonempty pickA

  34. And finally…

  35. Experimental Results (Using the same pruning rules.)

  36. Experimental Results Statistics for Aranda are estimation from figures in (Srivastava et al. 08) without redoing their experiments.

  37. Potential for Improvements • We have formulated planning with loops as a search problem, and obtained a baseline implementation. • It is using blind depth-first (iterative deepening) search, and does not scale well without effective pruning rules. • However, the baseline implementation is a good starting point for adding heuristics and trying other improvement.

  38. Heuristics for Action Selection • We tried a variant of the additive heuristics (Bonet and Geffner 2001): • Assume all fluents are independent; • Count the number of action steps to change each fluent to a value that may satisfy the goal; • Sum of steps across all fluents used as goal distance; • Try successor states with shorter distance first

  39. Heuristics for Action Selection • Appear relatively effective, but still limited: • The domain of each fluent may be infinite, so exponential BFS was used; • There are two non-deterministic choices in the search algorithm (choice of action and choice of transition). Greedily improving only one does not always lead to a good decision.

  40. Discussion • Planning with loops is an interesting problem • We formally defined FSA plans, representation for loopy plans. [And a logical account for planning problems, FSA plans and correctness.] • We formulate planning with loops as a search problem. • FSA planner, the baseline implementation, outperforms KPLANNER, and is good starting point for heuristics and other improvements.

More Related