270 likes | 399 Views
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?.
E N D
Hybrid Search for Generalized Plans Using Classical Planners Siddharth Srivastava University of Massachusetts Amherst (Joint work with Neil Immerman, ShlomoZilberstein, and Tianjiao Zhang)
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
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
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
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]
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]
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
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]
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
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!
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!
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!
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!
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
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
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
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]
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
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!
Sets of States as Abstract States clear Define: Role of an element = set of unary predicates it satisfies onTable “Summary” elements …. Represent collections
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]