planning and satisfiability
play

Planning and Satisfiability Conclusion References Jussi Rintanen - PowerPoint PPT Presentation

Planning Introduction SAT QBF, SSAT, SMT Planning and Satisfiability Conclusion References Jussi Rintanen SAT-SMT School, Trento, June 2012 Reduction of poly-time NDTMs to SAT Cook [Coo71] Planning Introduction Early works Significance


  1. Formalization Planning Introduction Early works A problem instance in (classical) planning consists of the Significance Formalizations following. SAT QBF, SSAT, SMT set X of state variables Conclusion set A of actions � p, e � where References p is the precondition (a set of literals over X ) e is the effects (a set of literals over X ) initial state I : X → { 0 , 1 } (a valuation of X ) goals G (a set of literals over X )

  2. The planning problem Planning Introduction Early works Significance An action a = � p, e � is applicable in state s iff s | = p . Formalizations The successor state s ′ = exec a ( s ) is defined by SAT s ′ | = e QBF, SSAT, SMT Conclusion s ( x ) = s ′ ( x ) for all x ∈ X that don’t occur in e . References Problem Find a 1 , . . . , a n such that exec a n ( exec a n − 1 ( · · · exec a 2 ( exec a 1 ( I )) · · · )) | = G ?

  3. Encoding of Actions as Formulas for Sequential Plans Planning Let x @ t be propositional variables for t ≥ 0 and x ∈ X . Introduction a = � p, e � is mapped to E a @ t which is the conjunction of SAT Encodings l @ t for all l ∈ p , and Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT x @( t + 1) ↔ ⊤ if x ∈ e, Conclusion x @( t + 1) ↔ ⊥ if ¬ x ∈ e, and References x @( t + 1) ↔ x @ t otherwise for all x ∈ X . Choice between actions a 1 , . . . , a m expressed by the formula R @ t = E a 1 @ t ∨ · · · ∨ E a m @ t.

  4. Reduction of Planning to SAT Kautz and Selman, ECAI’92 Planning Define Introduction I @0 as � ( { x @0 | x ∈ X, I ( x ) = 0 } ∪ {¬ x @0 | x ∈ X, I ( x ) = 1 } ) , SAT Encodings and Parallel Plans Solver scheduling G @ T as � l ∈ G l @ T SAT solving QBF, SSAT, SMT Conclusion Theorem References A plan of length T exists iff T − 1 � Φ T = I @0 ∧ R @ t ∧ G @ T t =0 is satisfiable.

  5. Parallel Plans: Motivation Planning Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving Don’t represent all intermediate QBF, SSAT, SMT state at t + 1 states of a sequential plan. Conclusion Ignore relative ordering of References consecutive actions. Reduced number of explicitly represented states ⇒ smaller formulas ⇒ easier to solve state at t

  6. Parallel plans ( ∀ -step plans) Kautz and Selman 1996 Planning Introduction Allow actions a 1 = � p 1 , e 1 � and a 2 = � p 2 , e 2 � in parallel whenever SAT they don’t interfere, i.e. Encodings Parallel Plans both p 1 ∪ p 2 and e 1 ∪ e 2 are consistent, and Solver scheduling SAT solving both e 1 ∪ p 2 and e 2 ∪ p 1 are consistent. QBF, SSAT, SMT Conclusion References Theorem If a 1 = � p 1 , e 1 � and a 2 = � p 1 , e 1 � don’t interfere and s is a state such that s | = p 1 and s | = p 2 , then exec a 1 ( exec a 2 ( s )) = exec a 2 ( exec a 1 ( s )) .

  7. ∀ -step plans: encoding Planning Define R ∀ @ t as the conjunction of Introduction SAT Encodings x @( t + 1) ↔ (( x @ t ∧ ¬ a 1 @ t ∧ · · · ∧ ¬ a k @ t ) ∨ a ′ 1 @ t ∨ · · · ∨ a ′ k ′ @ t ) Parallel Plans Solver scheduling SAT solving for all x ∈ X , where a 1 , . . . , a k are all actions making x false, and QBF, SSAT, SMT a ′ 1 , . . . , a ′ k ′ are all actions making x true, and Conclusion References a @ t → l @ t for all l in the precondition of a, and ¬ ( a @ t ∧ a ′ @ t ) for all a and a ′ that interfere . This encoding is quadratic due to the interference clauses.

  8. ∀ -step plans: linear encoding Rintanen et al. 2006 [RHN06] Planning Action a with effect l disables all actions with precondition l , Introduction except a itself. SAT This is done in two parts: disable actions with higher index, Encodings Parallel Plans disable actions with lower index. Solver scheduling SAT solving QBF, SSAT, SMT v 2 v 4 v 5 Conclusion References a 1 a 2 a 3 a 4 a 5 w 1 w 2 w 4 This is needed for every literal.

  9. ∃ -step plans Dimopoulos et al. 1997 [DNK97] Planning Introduction Allow actions { a 1 , . . . , a n } in parallel if they can be executed in at SAT least one order. Encodings Parallel Plans � n Solver scheduling i =1 p i is consistent. SAT solving � n QBF, SSAT, SMT i =1 e i is consistent. Conclusion There is a total ordering a 1 , . . . , a n such that e i ∪ p j is References consistent whenever i ≤ j : disabling an action earlier in the ordering is allowed. Several compact encodings exist [RHN06]. Fewer time steps are needed than with ∀ -step plans. Sometimes only half as many.

  10. ∃ -step plans: linear encoding Rintanen et al. 2006 [RHN06] Planning Introduction SAT Choose an arbitrary fixed ordering of all actions a 1 , . . . , a n . Encodings Parallel Plans Action a with effect l disables all later actions with precondition l . Solver scheduling SAT solving QBF, SSAT, SMT Conclusion v 2 v 4 v 5 References a 1 a 2 a 3 a 4 a 5 This is needed for every literal.

  11. Disabling graphs Rintanen et al. 2006 [RHN06] Planning Introduction SAT Encodings Define a disabling graph with actions as nodes and with an arc Parallel Plans from a 1 to a 2 if p 1 ∪ p 2 and e 1 ∪ e 2 are consistent and e 1 ∪ p 2 is Solver scheduling SAT solving inconsistent. QBF, SSAT, SMT Conclusion The test for valid execution orderings can be limited to strongly References connected components (SCC) of the disabling graph. In many structured problems all SCCs are singleton sets. = ⇒ No tests for validity of orderings needed during SAT solving.

  12. Scheduling the SAT Tests Planning The planning problem is reduced to SAT tests for Introduction SAT Φ 0 = I @0 ∧ G @0 Encodings Φ 1 = I @0 ∧ R @0 ∧ G @1 Parallel Plans Solver scheduling Φ 2 = I @0 ∧ R @0 ∧ R @1 ∧ G @2 SAT solving Φ 3 = I @0 ∧ R @0 ∧ R @1 ∧ R @2 ∧ G @3 QBF, SSAT, SMT . Conclusion . . References Φ u = I @0 ∧ R @0 ∧ R @1 ∧ · · · R @( u − 1) ∧ G @ u where u is the maximum possible plan length. Q: How to schedule these tests? How this is done has much more impact on planner performance than e.g. encoding details!

  13. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  14. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  15. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  16. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  17. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  18. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  19. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  20. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  21. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  22. The sequential strategy Planning Introduction SAT Encodings 1 2 3 4 5 6 7 8 9 ... Parallel Plans Solver scheduling SAT solving QBF, SSAT, SMT Complete satisfiability test for t before proceeding with t + 1 . Conclusion This is breadth-first search / iterative deepening. References Guarantees minimality of horizon length. Slow.

  23. Some runtime profiles Planning Evaluation times: logistics39-0 Introduction 700 SAT Encodings Parallel Plans 600 Solver scheduling SAT solving 500 QBF, SSAT, SMT time in secs Conclusion 400 References 300 200 100 0 0 2 4 6 8 10 12 14 16 18 20 time points

  24. Some runtime profiles Planning Evaluation times: gripper10 Introduction 500 SAT Encodings 450 Parallel Plans Solver scheduling 400 SAT solving 350 QBF, SSAT, SMT time in secs 300 Conclusion References 250 200 150 100 50 0 0 10 20 30 40 50 60 time points

  25. Some runtime profiles Planning Evaluation times: satell20 Introduction 700 SAT Encodings Parallel Plans 600 Solver scheduling SAT solving 500 QBF, SSAT, SMT time in secs Conclusion 400 References 300 200 100 0 0 5 10 15 20 25 time points

  26. Some runtime profiles Planning Evaluation times: schedule51 Introduction 400 SAT Encodings 350 Parallel Plans Solver scheduling 300 SAT solving QBF, SSAT, SMT time in secs 250 Conclusion References 200 150 100 50 0 0 5 10 15 20 25 30 time points

  27. Some runtime profiles Planning Evaluation times: blocks22 Introduction 40 SAT Encodings 35 Parallel Plans Solver scheduling 30 SAT solving QBF, SSAT, SMT time in secs 25 Conclusion References 20 15 10 5 0 0 10 20 30 40 50 60 70 80 90 100 time points

  28. Some runtime profiles Planning Evaluation times: depot15 Introduction 200 SAT Encodings 180 Parallel Plans Solver scheduling 160 SAT solving 140 QBF, SSAT, SMT time in secs 120 Conclusion References 100 80 60 40 20 0 0 5 10 15 20 time points

  29. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  30. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  31. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  32. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  33. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  34. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  35. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  36. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  37. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  38. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  39. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  40. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  41. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  42. n processes/threads Algorithm A [Rin04b, Zar04] Planning Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... SAT Encodings Parallel Plans Solver scheduling Generalization of the previous: n simultaneous SAT SAT solving processes; when process t finishes, start process t + n . QBF, SSAT, SMT Conclusion Gets past hard UNSAT formulas if n high enough. References Worst case: n times slower than the sequential strategy. Higher memory requirements. Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .

  43. SAT solving at different rates Planning Introduction SAT Encodings Parallel Plans Solver scheduling With the previous algorithm, choosing n may be tricky: SAT solving QBF, SSAT, SMT sometimes big difference e.g. between n = 10 and n = 11 . Conclusion Best to have a high n , but focus on the first SAT instances. References = ⇒ SAT solving at variable rates.

  44. Geometric rates Algorithm B [Rin04b] Planning Finding a plan for blocks22 with Algorithm B 45 Introduction SAT 40 Encodings Parallel Plans 35 Solver scheduling SAT solving QBF, SSAT, SMT 30 time in secs Conclusion 25 References 20 15 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points

  45. Geometric rates Algorithm B [Rin04b] Planning Finding a plan for blocks22 with Algorithm B 45 Introduction SAT 40 Encodings Parallel Plans 35 Solver scheduling SAT solving QBF, SSAT, SMT 30 time in secs Conclusion 25 References 20 15 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points

  46. Geometric rates Algorithm B [Rin04b] Planning Finding a plan for blocks22 with Algorithm B 45 Introduction SAT 40 Encodings Parallel Plans 35 Solver scheduling SAT solving QBF, SSAT, SMT 30 time in secs Conclusion 25 References 20 15 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points

  47. Geometric rates Algorithm B [Rin04b] Planning Finding a plan for blocks22 with Algorithm B 45 Introduction SAT 40 Encodings Parallel Plans 35 Solver scheduling SAT solving QBF, SSAT, SMT 30 time in secs Conclusion 25 References 20 15 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points

  48. Geometric rates Algorithm B [Rin04b] Planning Finding a plan for blocks22 with Algorithm B 45 Introduction SAT 40 Encodings Parallel Plans 35 Solver scheduling SAT solving QBF, SSAT, SMT 30 time in secs Conclusion 25 References 20 15 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points

  49. Geometric rates Algorithm B [Rin04b] Planning Finding a plan for blocks22 with Algorithm B 45 Introduction SAT 40 Encodings Parallel Plans 35 Solver scheduling SAT solving QBF, SSAT, SMT 30 time in secs Conclusion 25 References 20 15 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points

  50. Geometric rates Algorithm B [Rin04b] Planning Finding a plan for blocks22 with Algorithm B 45 Introduction SAT 40 Encodings Parallel Plans 35 Solver scheduling SAT solving QBF, SSAT, SMT 30 time in secs Conclusion 25 References 20 15 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points

  51. Geometric rates Algorithm B [Rin04b] Planning Finding a plan for blocks22 with Algorithm B 45 Introduction SAT 40 Encodings Parallel Plans 35 Solver scheduling SAT solving QBF, SSAT, SMT 30 time in secs Conclusion 25 References 20 15 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points

  52. Exponential length increase Planning Introduction SAT Previous strategies restrictive when plans are very long (200, Encodings Parallel Plans 500, 1000 steps or more). Solver scheduling SAT solving Why not exponential steps to cover very long plans? QBF, SSAT, SMT Works surprisingly well! (...as long as you have enough Conclusion memory...) References Dozens of previously unsolved instances solved. Large slow-downs uncommon. 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192

  53. Scheduling the SAT Tests: Summary Planning Introduction SAT Encodings Parallel Plans algorithm reference comment Solver scheduling SAT solving sequential [KS92, KS96] slow, guarantees min. horizon QBF, SSAT, SMT binary search [SS07] length upper bound needed Conclusion n processes [Rin04b, Zar04] fast, more memory needed References geometric [Rin04b] fast, more memory needed exponential Rintanen 2012 fast, still more memory needed

  54. SAT solvers Planning Introduction General-purpose SAT solvers (RSAT, Precosat, Lingeling) work SAT very well with Encodings Parallel Plans short plans ( < 10 ) with lots of actions in parallel, and Solver scheduling SAT solving small but hard problems. QBF, SSAT, SMT Conclusion References Other problems more challenging for general-purpose solvers. long plans lots of actions and state variables This is so especially when compared to planners that use explicit state-space search driven by heuristics [BG01, RW10].

  55. Planning-specific heuristics [Rin10, Rin11, Rin12b] Planning How to match the performance of explicit state-space search Introduction SAT when solving large but “easy” problems? Encodings Parallel Plans Planning-specific heuristics for SAT solving [Rin10] Solver scheduling SAT solving Observation: both I and G are needed for unsatisfiability. QBF, SSAT, SMT (“set of support” strategies) Conclusion Idea: fill in “gaps” in the current partial plan. References Force SAT solver to emulate backward chaining: Start from a top-level goal literal. 1 Go to the latest preceding time where the literal is false. 2 Choose an action to change the literal from false to true. 3 Use the action variable as the CDCL decision variable. 4 If such action there already, do the same with its preconditions. 5

  56. Planning-specific heuristics [Rin10, Rin11, Rin12b] Planning How to match the performance of explicit state-space search Introduction SAT when solving large but “easy” problems? Encodings Parallel Plans Planning-specific heuristics for SAT solving [Rin10] Solver scheduling SAT solving Observation: both I and G are needed for unsatisfiability. QBF, SSAT, SMT (“set of support” strategies) Conclusion Idea: fill in “gaps” in the current partial plan. References Force SAT solver to emulate backward chaining: Start from a top-level goal literal. 1 Go to the latest preceding time where the literal is false. 2 Choose an action to change the literal from false to true. 3 Use the action variable as the CDCL decision variable. 4 If such action there already, do the same with its preconditions. 5

  57. Planning-specific heuristics [Rin10, Rin11, Rin12b] Planning How to match the performance of explicit state-space search Introduction SAT when solving large but “easy” problems? Encodings Parallel Plans Planning-specific heuristics for SAT solving [Rin10] Solver scheduling SAT solving Observation: both I and G are needed for unsatisfiability. QBF, SSAT, SMT (“set of support” strategies) Conclusion Idea: fill in “gaps” in the current partial plan. References Force SAT solver to emulate backward chaining: Start from a top-level goal literal. 1 Go to the latest preceding time where the literal is false. 2 Choose an action to change the literal from false to true. 3 Use the action variable as the CDCL decision variable. 4 If such action there already, do the same with its preconditions. 5

  58. Planning-specific heuristics [Rin10, Rin11, Rin12b] Planning How to match the performance of explicit state-space search Introduction SAT when solving large but “easy” problems? Encodings Parallel Plans Planning-specific heuristics for SAT solving [Rin10] Solver scheduling SAT solving Observation: both I and G are needed for unsatisfiability. QBF, SSAT, SMT (“set of support” strategies) Conclusion Idea: fill in “gaps” in the current partial plan. References Force SAT solver to emulate backward chaining: Start from a top-level goal literal. 1 Go to the latest preceding time where the literal is false. 2 Choose an action to change the literal from false to true. 3 Use the action variable as the CDCL decision variable. 4 If such action there already, do the same with its preconditions. 5

  59. Planning-specific heuristic for CDCL Case 1: goal/subgoal x has no support yet Planning Introduction Value of a state variable x at different time points: SAT Encodings Parallel Plans t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t Solver scheduling SAT solving x 0 0 0 1 1 1 1 QBF, SSAT, SMT Conclusion action 1 0 0 0 0 0 0 References action 2 0 0 0 0 action 3 0 0 0 0 0 0 action 4 0 0 0 0

  60. Planning-specific heuristic for CDCL Case 1: goal/subgoal x has no support yet Planning Introduction Value of a state variable x at different time points: SAT Encodings Parallel Plans t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t Solver scheduling SAT solving 0 0 0 1 1 1 x 1 QBF, SSAT, SMT Conclusion action 1 0 0 0 0 0 0 References action 2 0 0 0 0 action 3 0 0 0 0 0 0 action 4 0 0 0 0 Actions that can make x true.

  61. Planning-specific heuristic for CDCL Case 1: goal/subgoal x has no support yet Planning Introduction Value of a state variable x at different time points: SAT Encodings Parallel Plans t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t Solver scheduling SAT solving x 0 0 0 1 1 1 1 QBF, SSAT, SMT Conclusion action 1 0 0 0 0 0 0 References action 2 0 0 0 0 action 3 0 0 0 0 0 0 action 4 0 0 0 0 Actions that can make x true at t − 5 .

  62. Planning-specific heuristic for CDCL Case 1: goal/subgoal x has no support yet Planning Introduction Value of a state variable x at different time points: SAT Encodings Parallel Plans t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t Solver scheduling SAT solving x 0 0 0 1 1 1 1 QBF, SSAT, SMT Conclusion action 1 0 0 0 0 0 0 References action 2 0 0 0 0 action 3 0 0 0 0 0 0 action 4 0 0 0 0 Choose action 2 or 4 at t − 6 as the next CDCL decision variable.

  63. Planning-specific heuristic for CDCL Case 2: goal/subgoal x already has support Planning Introduction Goal/subgoal is already made true at t − 4 by action 4 at t − 5 . SAT Encodings Parallel Plans t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t Solver scheduling SAT solving x 0 0 0 1 1 1 1 QBF, SSAT, SMT Conclusion action 1 0 0 0 0 0 0 References action 2 0 0 0 0 0 0 0 0 0 0 action 3 0 0 1 0 0 action 4 Use precondition literals of action 4 as new subgoals at t − 5 .

  64. Planning-specific heuristic for CDCL Case 2: goal/subgoal x already has support Planning Introduction Goal/subgoal is already made true at t − 4 by action 4 at t − 5 . SAT Encodings Parallel Plans t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t Solver scheduling SAT solving x 0 0 0 1 1 1 1 QBF, SSAT, SMT Conclusion action 1 0 0 0 0 0 0 References action 2 0 0 0 0 0 0 0 0 0 0 action 3 0 0 1 0 0 action 4 Use precondition literals of action 4 as new subgoals at t − 5 .

  65. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  66. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  67. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  68. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  69. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  70. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  71. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  72. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  73. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  74. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  75. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  76. The variable selection scheme Version 1: strict depth-first search Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  77. The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  78. The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  79. The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  80. The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  81. The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  82. The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  83. The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

  84. The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning goal1 goal2 Introduction SAT Encodings Parallel Plans Solver scheduling SAT solving action1 action2 QBF, SSAT, SMT Conclusion References action4 action5 action6 action3 action8 action9 action10 action7

Recommend


More recommend