1 / 27

Hybrid Search for Generalized Plans Using Classical Planners

Hybrid Search for Generalized Plans Using Classical Planners. Siddharth Srivastava University of Massachusetts Amherst. (Joint work with Neil Immerman , Shlomo Zilberstein , and Tianjiao Zhang). What is Generalized Planning?.

eugene
Download Presentation

Hybrid Search for Generalized Plans Using Classical Planners

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. Hybrid Search for Generalized Plans Using Classical Planners Siddharth Srivastava University of Massachusetts Amherst (Joint work with Neil Immerman, ShlomoZilberstein, and Tianjiao Zhang)

  2. What is Generalized Planning? • Broadly applicable plans, procedures or workflows with “rich” representations Automated generation of safe controllers (c) Robert Sedgewick and Kevin Wayne Automated service composition Programming by demonstration

  3. Generalized Planning Problem • Given: a domain, set of initial states from potentially different state spaces, goal formula • Find: A generalized planthat solvesall of the initial states Reversing a singly linked list… algorithm synthesis problems Grid Traversal

  4. Other Approaches • Plan reuse [Fikes et al. ’72, Hammond ’86] • Plans with loops • Recognize repetitive patterns in plans [Hu and Levesque ’10, Winner and Veloso’07, Levesque ’05] • Search for cyclic controllers for solving a partially observable instance [Bonet et al., ’09] • Plan termination/correctness not addressed • Generalization cannot be easily directed towards a given set of problems • Our objectives: • Termination, correctness, directed generalization

  5. Our Approach

  6. States States = logical structures in a domain’s FO(TC) vocabulary V = {on, onTable, clear, on+} a 1 Define: Role of an element = set of unary predicates it satisfies ½ 0 2 ½ ½ b 3 0 4 c • Binary relationships with summary elements may become imprecise • Represented using the truth value ½ , denoting “unknown” • Integrity constraints clarify the sets of states represented by abstract states [AI Journal 2011]

  7. Action Application on Abstract States x • Branch depends on #elements (role-count) in the middle • In general, may need to draw out representative elements prior to action application • This operation, in combination with changing the drawn element’s role is sufficient to express any computation (abacus programs) arg1 Choose x: clear(x) & onTable(x) x mvToTable(arg1) • [ICAPS 2010; AI Journal 2011]

  8. Generalized Plan Synthesis

  9. Generalized Plans: Definition • Connected, directed graph • Nodes = actions • Edges = conditions/ “abstract” states • Will use the dual representation in algorithms • Start/Terminal nodes A special class of finite state transducers

  10. Recall: Generalized Planning Problem • Given: a domain(vocabulary + actions + integrity constraints), set of initial states (abstract state S0), goal formula (FO(TC)) • Find: A generalized plan that solvesevery initial state represented by S0 • “Solves”: Every possible execution reaches the goal in a finite number of steps [Srivastava et al., AIJ-11]

  11. Hybrid Search: Idea Classical Planner ?? <mvToTable(b1), mvToTable(b2)> Start node (Initial abstract state) Dual Representation: Nodes = Abstract States Edges = Actions Objects b1 and b2 don’t exist in the general problem, or in the abstract state

  12. Hybrid Search: Idea Classical Planner ` <mvToTable(b1), mvToTable(b2)> Add choice actions mTT(x) choose x: role(x) = role(b1) mvToTable(x) choose x: role(x) = role(b2) mvToTable(x) Open node: Terminal, non-goal mTT(x) • Some states represented by the initial abstract state reach the goal along this path. • Others end up at the “open” node Goal State!

  13. Hybrid Search: Idea Classical Planner • Overall Algorithm: • Repeat this process with new open nodes ` <mvToTable(b1), mvToTable(b2)> Add choice actions mTT(x) choose x: role(x) = role(b1) mvToTable(x) choose x: role(x) = role(b2) mvToTable(x) mTT(x) mTT(x) mTT(x) Goal State!

  14. Hybrid Search: Idea Classical Planner <mvToTable(b1), mvToTable(b2)> Add choice actions ` mTT(x) choose x: role(x) = role(b1) mvToTable(x) choose x: role(x) = role(b2) mvToTable(x) mTT(x) mTT(x) mTT(x) mTT(x) mTT(x) Goal State!

  15. Hybrid Search: Idea • Overall Algorithm: • Repeat this process with new open nodes • Merge an abstract state with an existing one that subsumes it: • Loops must be guaranteed to terminate [ICAPS 2010] mTT(x) mTT(x) mTT(x) mTT(x) mTT(x) mTT(x) Goal State!

  16. Hybrid Search: Optimizations Two main optimizations: • If any open node is subsumed by an existing node, AND if it can be merged with an existing node while guaranteeing termination, merge it. • If a previously generated instance is subsumed by the current open node, use the plan generated earlier. Only two examples would be needed to solve the previous problem

  17. Generalized Plan Synthesis: Hybrid Approach Open node Unsolved Abstract State Open node Get open node New open node Generate Instance Gen Plan w/ Branches and Loops Classical Problem Instance a1(o1), a2(o2), a3… Merge Classical Planner ch(x:…), a1(x), ch(x:…), a2(x),… Classical Plan Gen Plan w/ Branches Add Choice Axns Trace Linear Gen Plan

  18. Components of Hybrid Search: Instance Generation a clear b on on+ c Write FO(TC) formulas for: Roles present: e.g. Singletons present: e.g. Predicate tuples that are true : e.g. on+(a,b) Predicate tuples that are false: e.g. on(a,c) Integrity constraints: e.g. onTable ½’s remain unspecified

  19. Instance Generation • First-order model generators are available, but our formulas use transitive closure (TC) • TC cannot be expressed in first-order • Simulate it using: This is accurate in acyclic models [Lev Ami et al., 2009]

  20. Results • At most 10 planning problems required to generate generalized plans for unbounded instances • Problem instances to be solved by classical planners are “small” and deterministic • Unified approach for algorithm and generalized plan synthesis

  21. Conclusions • An approach for utilizing the powerful heuristic search capabilities of classical planners for: • Simultaneous exploration of infinitely many state spaces using abstraction • Generation of potentially useful paths of actions in the abstract state space • Main questions addressed: • How to determine the current class of open problems during generalization • How to generate small instances of this class • How to merge plans into a generalized plan with well-defined executions: no open node in the plan complete, terminating solution!

  22. Thank you!

  23. Sets of States as Abstract States clear Define: Role of an element = set of unary predicates it satisfies onTable “Summary” elements …. Represent collections

  24. Abstract States: Truth values a ½ topmost b 0 ½ ½ 1 on on+ 2 0 c 3 onTable 4 • Binary relationships with summary elements may become imprecise • Represented using the truth value ½ , denoting “unknown” • Integrity constraints clarify the sets of states represented by abstract states [AI Journal 2011]

More Related