∃ -step plans: linear encoding Rintanen et al. 2006 [RHN06] Planning with SAT Introduction Encodings Choose an arbitrary fixed ordering of all actions a 1 , . . . , a n . Basics Parallel Plans Action a with effect l disables all later actions with precondition l . Solver Calls SAT solving Invariants v 2 v 4 v 5 Conclusion References a 1 a 2 a 3 a 4 a 5 This is needed for every literal.
Disabling graphs Rintanen et al. 2006 [RHN06] Planning with SAT Introduction Encodings Basics 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 Calls inconsistent. SAT solving Invariants The test for valid execution orderings can be limited to strongly Conclusion connected components (SCC) of the disabling graph. References In many structured problems all SCCs are singleton sets. = ⇒ No tests for validity of orderings needed during SAT solving.
Scheduling the SAT Tests Planning with SAT The planning problem is reduced to SAT tests for Introduction Encodings Φ 0 = I @0 ∧ G @0 Solver Calls Φ 1 = I @0 ∧ R @0 ∧ G @1 Sequantial Strategy Φ 2 = I @0 ∧ R @0 ∧ R @1 ∧ G @2 Parallel Strategy A Parallel Strategy B Φ 3 = I @0 ∧ R @0 ∧ R @1 ∧ R @2 ∧ G @3 Parallel Strategy C Summary . . . SAT solving Invariants Φ u = I @0 ∧ R @0 ∧ R @1 ∧ · · · R @( u − 1) ∧ G @ u Conclusion References 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!
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
The sequential strategy Planning with SAT Introduction Encodings Solver Calls 1 2 3 4 5 6 7 8 9 ... Sequantial Strategy Parallel Strategy A Parallel Strategy B Parallel Strategy C Complete satisfiability test for t before proceeding with t + 1 . Summary SAT solving This is breadth-first search / iterative deepening. Invariants Guarantees minimality of horizon length. Conclusion Slow. References
Some runtime profiles Planning with SAT Evaluation times: logistics39-0 Introduction 700 Encodings Solver Calls 600 Sequantial Strategy Parallel Strategy A Parallel Strategy B 500 Parallel Strategy C time in secs Summary 400 SAT solving Invariants 300 Conclusion 200 References 100 0 0 2 4 6 8 10 12 14 16 18 20 time points
Some runtime profiles Planning with SAT Evaluation times: gripper10 Introduction 500 Encodings 450 Solver Calls Sequantial Strategy 400 Parallel Strategy A Parallel Strategy B 350 Parallel Strategy C time in secs Summary 300 SAT solving 250 Invariants 200 Conclusion 150 References 100 50 0 0 10 20 30 40 50 60 time points
Some runtime profiles Planning with SAT Evaluation times: satell20 Introduction 700 Encodings Solver Calls 600 Sequantial Strategy Parallel Strategy A Parallel Strategy B 500 Parallel Strategy C time in secs Summary 400 SAT solving Invariants 300 Conclusion 200 References 100 0 0 5 10 15 20 25 time points
Some runtime profiles Planning with SAT Evaluation times: schedule51 Introduction 400 Encodings Solver Calls 350 Sequantial Strategy Parallel Strategy A 300 Parallel Strategy B Parallel Strategy C time in secs 250 Summary SAT solving 200 Invariants 150 Conclusion References 100 50 0 0 5 10 15 20 25 30 time points
Some runtime profiles Planning with SAT Evaluation times: blocks22 Introduction 40 Encodings Solver Calls 35 Sequantial Strategy Parallel Strategy A 30 Parallel Strategy B Parallel Strategy C time in secs 25 Summary SAT solving 20 Invariants 15 Conclusion References 10 5 0 0 10 20 30 40 50 60 70 80 90 100 time points
Some runtime profiles Planning with SAT Evaluation times: depot15 Introduction 200 Encodings 180 Solver Calls Sequantial Strategy 160 Parallel Strategy A Parallel Strategy B 140 Parallel Strategy C time in secs Summary 120 SAT solving 100 Invariants 80 Conclusion 60 References 40 20 0 0 5 10 15 20 time points
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
n processes/threads Algorithm A [Rin04b, Zar04] Planning with SAT Introduction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... Encodings Solver Calls Sequantial Strategy Generalization of the previous: n simultaneous SAT Parallel Strategy A Parallel Strategy B processes; when process t finishes, start process t + n . Parallel Strategy C Summary Gets past hard UNSAT formulas if n high enough. SAT solving Invariants Worst case: n times slower than the sequential strategy. Conclusion Higher memory requirements. References Skipping lengths is OK: 10 20 30 40 50 60 70 80 90 100 ... We have successfully used n = 20 .
SAT solving at different rates Planning with SAT Introduction Encodings Solver Calls Sequantial Strategy Parallel Strategy A With the previous algorithm, choosing n may be tricky: Parallel Strategy B Parallel Strategy C sometimes big difference e.g. between n = 10 and n = 11 . Summary Best to have a high n , but focus on the first SAT instances. SAT solving Invariants = ⇒ SAT solving at variable rates. Conclusion References
Geometric rates Algorithm B [Rin04b] Planning with SAT Finding a plan for blocks22 with Algorithm B 45 Introduction Encodings 40 Solver Calls Sequantial Strategy 35 Parallel Strategy A Parallel Strategy B 30 Parallel Strategy C time in secs Summary 25 SAT solving Invariants 20 Conclusion 15 References 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points
Geometric rates Algorithm B [Rin04b] Planning with SAT Finding a plan for blocks22 with Algorithm B 45 Introduction Encodings 40 Solver Calls Sequantial Strategy 35 Parallel Strategy A Parallel Strategy B 30 Parallel Strategy C time in secs Summary 25 SAT solving Invariants 20 Conclusion 15 References 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points
Geometric rates Algorithm B [Rin04b] Planning with SAT Finding a plan for blocks22 with Algorithm B 45 Introduction Encodings 40 Solver Calls Sequantial Strategy 35 Parallel Strategy A Parallel Strategy B 30 Parallel Strategy C time in secs Summary 25 SAT solving Invariants 20 Conclusion 15 References 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points
Geometric rates Algorithm B [Rin04b] Planning with SAT Finding a plan for blocks22 with Algorithm B 45 Introduction Encodings 40 Solver Calls Sequantial Strategy 35 Parallel Strategy A Parallel Strategy B 30 Parallel Strategy C time in secs Summary 25 SAT solving Invariants 20 Conclusion 15 References 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points
Geometric rates Algorithm B [Rin04b] Planning with SAT Finding a plan for blocks22 with Algorithm B 45 Introduction Encodings 40 Solver Calls Sequantial Strategy 35 Parallel Strategy A Parallel Strategy B 30 Parallel Strategy C time in secs Summary 25 SAT solving Invariants 20 Conclusion 15 References 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points
Geometric rates Algorithm B [Rin04b] Planning with SAT Finding a plan for blocks22 with Algorithm B 45 Introduction Encodings 40 Solver Calls Sequantial Strategy 35 Parallel Strategy A Parallel Strategy B 30 Parallel Strategy C time in secs Summary 25 SAT solving Invariants 20 Conclusion 15 References 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points
Geometric rates Algorithm B [Rin04b] Planning with SAT Finding a plan for blocks22 with Algorithm B 45 Introduction Encodings 40 Solver Calls Sequantial Strategy 35 Parallel Strategy A Parallel Strategy B 30 Parallel Strategy C time in secs Summary 25 SAT solving Invariants 20 Conclusion 15 References 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points
Geometric rates Algorithm B [Rin04b] Planning with SAT Finding a plan for blocks22 with Algorithm B 45 Introduction Encodings 40 Solver Calls Sequantial Strategy 35 Parallel Strategy A Parallel Strategy B 30 Parallel Strategy C time in secs Summary 25 SAT solving Invariants 20 Conclusion 15 References 10 5 0 40 45 50 55 60 65 70 75 80 85 90 time points
Exponential length increase Planning with SAT Introduction Previous strategies restrictive when plans are very long (200, Encodings 500, 1000 steps or more). Solver Calls Sequantial Strategy Why not exponential steps to cover very long plans? Parallel Strategy A Parallel Strategy B Parallel Strategy C Works surprisingly well! (...as long as you have enough Summary memory...) SAT solving Invariants Dozens of previously unsolved instances solved. Conclusion Large slow-downs uncommon (but depends on SAT References heuristics being used and type of problems). 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192
Scheduling the SAT Tests: Summary Planning with SAT Introduction Encodings Solver Calls algorithm reference comment Sequantial Strategy Parallel Strategy A sequential [KS92, KS96] slow, guarantees min. horizon Parallel Strategy B Parallel Strategy C binary search [SS07] length upper bound needed Summary n processes [Rin04b, Zar04] fast, more memory needed SAT solving geometric [Rin04b] fast, more memory needed Invariants Conclusion exponential Rintanen 2012 fast, still more memory needed References
SAT solvers Planning with SAT Introduction General-purpose SAT solvers (RSAT, Precosat, Lingeling) work Encodings very well with Solver Calls short plans ( < 10 ) with lots of actions in parallel, and SAT solving Depth-first Undirected small but hard problems. Evaluation Invariants Other problems more challenging for general-purpose solvers. Conclusion References 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].
Planning-specific heuristics [Rin10, Rin11, Rin12] Planning with SAT How to match the performance of explicit state-space search Introduction Encodings when solving large but “easy” problems? Solver Calls Planning-specific heuristics for SAT solving [Rin10] SAT solving Depth-first Observation: both I and G are needed for unsatisfiability. Undirected Evaluation (“set of support” strategies) Invariants Idea: fill in “gaps” in the current partial plan. Conclusion Force SAT solver to emulate backward chaining: References 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
Planning-specific heuristics [Rin10, Rin11, Rin12] Planning with SAT How to match the performance of explicit state-space search Introduction Encodings when solving large but “easy” problems? Solver Calls Planning-specific heuristics for SAT solving [Rin10] SAT solving Depth-first Observation: both I and G are needed for unsatisfiability. Undirected Evaluation (“set of support” strategies) Invariants Idea: fill in “gaps” in the current partial plan. Conclusion Force SAT solver to emulate backward chaining: References 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
Planning-specific heuristics [Rin10, Rin11, Rin12] Planning with SAT How to match the performance of explicit state-space search Introduction Encodings when solving large but “easy” problems? Solver Calls Planning-specific heuristics for SAT solving [Rin10] SAT solving Depth-first Observation: both I and G are needed for unsatisfiability. Undirected Evaluation (“set of support” strategies) Invariants Idea: fill in “gaps” in the current partial plan. Conclusion Force SAT solver to emulate backward chaining: References 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
Planning-specific heuristics [Rin10, Rin11, Rin12] Planning with SAT How to match the performance of explicit state-space search Introduction Encodings when solving large but “easy” problems? Solver Calls Planning-specific heuristics for SAT solving [Rin10] SAT solving Depth-first Observation: both I and G are needed for unsatisfiability. Undirected Evaluation (“set of support” strategies) Invariants Idea: fill in “gaps” in the current partial plan. Conclusion Force SAT solver to emulate backward chaining: References 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
Planning-specific heuristic for CDCL Case 1: goal/subgoal x has no support yet Planning with SAT Introduction Value of a state variable x at different time points: Encodings Solver Calls t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t SAT solving Depth-first x 0 0 0 1 1 1 1 Undirected Evaluation Invariants action 1 0 0 0 0 0 0 Conclusion action 2 0 0 0 0 References action 3 0 0 0 0 0 0 action 4 0 0 0 0
Planning-specific heuristic for CDCL Case 1: goal/subgoal x has no support yet Planning with SAT Introduction Value of a state variable x at different time points: Encodings Solver Calls t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t SAT solving 0 0 0 1 1 1 Depth-first x 1 Undirected Evaluation Invariants action 1 0 0 0 0 0 0 Conclusion action 2 0 0 0 0 References action 3 0 0 0 0 0 0 action 4 0 0 0 0 Actions that can make x true.
Planning-specific heuristic for CDCL Case 1: goal/subgoal x has no support yet Planning with SAT Introduction Value of a state variable x at different time points: Encodings Solver Calls t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t SAT solving x 0 0 0 1 1 1 Depth-first 1 Undirected Evaluation Invariants action 1 0 0 0 0 0 0 Conclusion action 2 0 0 0 0 References action 3 0 0 0 0 0 0 action 4 0 0 0 0 Actions that can make x true at t − 5 .
Planning-specific heuristic for CDCL Case 1: goal/subgoal x has no support yet Planning with SAT Introduction Value of a state variable x at different time points: Encodings Solver Calls t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t SAT solving x 0 0 0 1 1 1 Depth-first 1 Undirected Evaluation Invariants action 1 0 0 0 0 0 0 Conclusion action 2 0 0 0 0 References 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.
Planning-specific heuristic for CDCL Case 2: goal/subgoal x already has support Planning with SAT Introduction Goal/subgoal is already made true at t − 4 by action 4 at t − 5 . Encodings Solver Calls t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t SAT solving Depth-first x 0 0 0 1 1 1 1 Undirected Evaluation Invariants action 1 0 0 0 0 0 0 Conclusion action 2 0 0 0 0 References 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 .
Planning-specific heuristic for CDCL Case 2: goal/subgoal x already has support Planning with SAT Introduction Goal/subgoal is already made true at t − 4 by action 4 at t − 5 . Encodings Solver Calls t − 8 t − 7 t − 6 t − 5 t − 4 t − 3 t − 2 t − 1 t SAT solving Depth-first x 0 0 0 1 1 1 1 Undirected Evaluation Invariants action 1 0 0 0 0 0 0 Conclusion action 2 0 0 0 0 References 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 .
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 1: strict depth-first search Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
The variable selection scheme Version 2: undirectional action selection, with VSIDS-style weights Planning with SAT goal1 goal2 Introduction Encodings Solver Calls SAT solving Depth-first action1 action2 Undirected Evaluation Invariants Conclusion References action4 action5 action6 action3 action8 action9 action10 action7
Impact on planner performance Planning with SAT Introduction Encodings Solver Calls SAT solving Outperforms VSIDS with almost all benchmark problems the Depth-first Undirected planning community is using. Evaluation Worse than VSIDS with small, hard, combinatorial problems. Invariants Conclusion Ganai [Gan10, Gan11] reports good performance of a References different heuristic with partly similar flavor, for BMC.
Impact on planner performance Planning competition problems Planning with SAT all domains 1998-2011 1600 Introduction Encodings 1400 Solver Calls SAT solving number of solved instances 1200 Depth-first Undirected Evaluation 1000 Invariants Conclusion 800 References 600 SATPLAN M Mp 400 MpX LAMA08 200 LAMA11 FF FF-2 0 0.1 1 10 100 1000 time in seconds
Impact on planner performance Planning competition problems Planning with SAT all instances 1000 Introduction Encodings Solver Calls 100 SAT solving Depth-first Undirected Evaluation time in seconds Mp Invariants 10 Conclusion References 1 0.1 0.01 0.01 0.1 1 10 100 1000 time in seconds M
Recommend
More recommend