SLIDE 1
Counterexample-guided Cartesian Abstraction Refinement and Saturated - - PowerPoint PPT Presentation
Counterexample-guided Cartesian Abstraction Refinement and Saturated - - PowerPoint PPT Presentation
Counterexample-guided Cartesian Abstraction Refinement and Saturated Cost Partitioning for Optimal Classical Planning Jendrik Seipp February 28, 2018 University of Basel Planning Find a sequence of actions that achieves a goal. 1/35 Optimal
SLIDE 2
SLIDE 3
Optimal Classical Planning
drive drive drive load-in-A unload-in-B unload-in-A load-in-B
2/35
SLIDE 4
Optimal Classical Planning: Example Abstraction
drive drive drive load-in-A unload-in-A unload-in-B load-in-B
3/35
SLIDE 5
Abstraction Heuristics
- abstraction heuristics never overestimate → admissible
- A∗ + admissible heuristic → optimal plan
- higher accuracy → better guidance
- how to create abstractions?
4/35
SLIDE 6
Abstraction Heuristics
- abstraction heuristics never overestimate → admissible
- A∗ + admissible heuristic → optimal plan
- higher accuracy → better guidance
- how to create abstractions?
4/35
SLIDE 7
Counterexample-guided Cartesian Abstraction Refinement
SLIDE 8
Counterexample-guided Abstraction Refinement (CEGAR)
CEGAR Algorithm
- start with coarse abstraction
- until finding concrete solution or running out of time:
- find abstract solution
- check if and why it fails in the real world
- refine abstraction
5/35
SLIDE 9
Example Refinement
drive, (un)load-in-A, (un)load-in-B
6/35
SLIDE 10
Example Refinement
drive, (un)load-in-A drive unload-in-B load-in-B
6/35
SLIDE 11
Example Refinement
drive drive drive load-in-A unload-in-A unload-in-B load-in-B
6/35
SLIDE 12
Classes of Abstractions
Cartesian Abstractions
- relation to other classes of abstractions?
7/35
SLIDE 13
Projection (PDB)
drive drive drive load-in-A unload-in-A unload-in-B load-in-B
8/35
SLIDE 14
Cartesian Abstraction
drive drive (un)load-in-A (un)load-in-B drive
8/35
SLIDE 15
Merge-and-shrink Abstraction
(un)load-in-B drive drive drive (un)load-in-A
8/35
SLIDE 16
Classes of Abstractions
- Projections (PDBs)
refinement at least doubles number of states
- Cartesian Abstractions
allow efficient and fine-grained refinement
- Merge-and-shrink Abstractions
refinement complicated and expensive
9/35
SLIDE 17
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR
706
10/35
SLIDE 18
CEGAR Drawbacks
Diminishing Returns
- finding solutions takes longer
- heuristic values only increase logarithmically
multiple smaller abstractions
11/35
SLIDE 19
CEGAR Drawbacks
Diminishing Returns
- finding solutions takes longer
- heuristic values only increase logarithmically
→ multiple smaller abstractions
11/35
SLIDE 20
Task Decomposition by Goals
- build abstraction for each goal fact
- problem: tasks with single goal fact
12/35
SLIDE 21
Task Decomposition by Goals
- build abstraction for each goal fact
- problem: tasks with single goal fact
12/35
SLIDE 22
Task Decomposition by Landmarks
- build abstraction for each fact landmark
drive drive drive load-in-A unload-in-B unload-in-A load-in-B
13/35
SLIDE 23
Task Decomposition by Landmarks
- build abstraction for each fact landmark
drive drive drive load-in-A unload-in-B unload-in-A load-in-B
13/35
SLIDE 24
Multiple Heuristics
how to combine multiple heuristics?
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5 4 4 1 1
h1 s2 5 h2 s2 4 maximize over estimates:
- h s2
5
- only selects best heuristic
- does not combine heuristics
14/35
SLIDE 25
Multiple Heuristics
how to combine multiple heuristics?
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5 4 4 1 1
h1 s2 5 h2 s2 4 maximize over estimates:
- h s2
5
- only selects best heuristic
- does not combine heuristics
14/35
SLIDE 26
Multiple Heuristics
how to combine multiple heuristics?
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5 4 4 1 1
h1(s2) = 5 h2(s2) = 4 maximize over estimates:
- h s2
5
- only selects best heuristic
- does not combine heuristics
14/35
SLIDE 27
Multiple Heuristics
how to combine multiple heuristics?
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5 4 4 1 1
h1(s2) = 5 h2(s2) = 4 maximize over estimates:
- h(s2) = 5
- only selects best heuristic
- does not combine heuristics
14/35
SLIDE 28
Multiple Heuristics
how to combine multiple heuristics?
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5 4 4 1 1
h1(s2) = 5 h2(s2) = 4 maximize over estimates:
- h(s2) = 5
- only selects best heuristic
- does not combine heuristics
14/35
SLIDE 29
Multiple Heuristics: Cost Partitioning
Cost Partitioning
- split operator costs among heuristics
- sum of costs must not exceed original cost
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5 4 4 1 1
h s2 3 3 6
15/35
SLIDE 30
Multiple Heuristics: Cost Partitioning
Cost Partitioning
- split operator costs among heuristics
- sum of costs must not exceed original cost
s1,s2 s3 s4,s5 2 1 1 s1 s2,s3,s4 s5 1 3 1
h s2 3 3 6
15/35
SLIDE 31
Multiple Heuristics: Cost Partitioning
Cost Partitioning
- split operator costs among heuristics
- sum of costs must not exceed original cost
s1,s2 s3 s4,s5 2 1 1 s1 s2,s3,s4 s5 1 3 1
h(s2) = 3 + 3 = 6
15/35
SLIDE 32
Saturated Cost Partitioning
SLIDE 33
Saturated Cost Partitioning
Saturated Cost Partitioning Algorithm
- order heuristics, then for each heuristic h:
- use minimum costs preserving all estimates of h
- use remaining costs for subsequent heuristics
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5 4 4 1 1
h s2 5 3 8
16/35
SLIDE 34
Saturated Cost Partitioning
Saturated Cost Partitioning Algorithm
- order heuristics, then for each heuristic h:
- use minimum costs preserving all estimates of h
- use remaining costs for subsequent heuristics
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5
h s2 5 3 8
16/35
SLIDE 35
Saturated Cost Partitioning
Saturated Cost Partitioning Algorithm
- order heuristics, then for each heuristic h:
- use minimum costs preserving all estimates of h
- use remaining costs for subsequent heuristics
s1,s2 s3 s4,s5 4 1 1 s1 s2,s3,s4 s5
h s2 5 3 8
16/35
SLIDE 36
Saturated Cost Partitioning
Saturated Cost Partitioning Algorithm
- order heuristics, then for each heuristic h:
- use minimum costs preserving all estimates of h
- use remaining costs for subsequent heuristics
s1,s2 s3 s4,s5 4 1 1 s1 s2,s3,s4 s5 3 1
h s2 5 3 8
16/35
SLIDE 37
Saturated Cost Partitioning
Saturated Cost Partitioning Algorithm
- order heuristics, then for each heuristic h:
- use minimum costs preserving all estimates of h
- use remaining costs for subsequent heuristics
s1,s2 s3 s4,s5 4 1 1 s1 s2,s3,s4 s5 3
h s2 5 3 8
16/35
SLIDE 38
Saturated Cost Partitioning
Saturated Cost Partitioning Algorithm
- order heuristics, then for each heuristic h:
- use minimum costs preserving all estimates of h
- use remaining costs for subsequent heuristics
s1,s2 s3 s4,s5 4 1 1 s1 s2,s3,s4 s5 3
h(s2) = 5 + 3 = 8
16/35
SLIDE 39
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR
706
17/35
SLIDE 40
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals
706 774
17/35
SLIDE 41
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks
706 774 785
17/35
SLIDE 42
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals
706 774 785 798
17/35
SLIDE 43
Order of Heuristics Is Important
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5 4 4 1 1
hSCP s2 5 3 8 hSCP s2 3 4 7
18/35
SLIDE 44
Order of Heuristics Is Important
s1,s2 s3 s4,s5 4 1 1 s1 s2,s3,s4 s5 3
hSCP
→ (s2) = 5 + 3 = 8
hSCP s2 3 4 7
18/35
SLIDE 45
Order of Heuristics Is Important
s1,s2 s3 s4,s5 3 s1 s2,s3,s4 s5 1 4 1
hSCP
→ (s2) = 5 + 3 = 8
hSCP
← (s2) = 3 + 4 = 7 18/35
SLIDE 46
Finding a Good Order
- n heuristics → n! orders
search for good order: greedy initial order + optimization
19/35
SLIDE 47
Finding a Good Order
- n heuristics → n! orders
→ search for good order: greedy initial order + optimization
19/35
SLIDE 48
Greedy Orders
Goal: high estimates and low costs
- rder by heuristic/costs ratio
20/35
SLIDE 49
Greedy Orders
Goal: high estimates and low costs → order by heuristic/costs ratio
20/35
SLIDE 50
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals
706 774 785 798
21/35
SLIDE 51
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals greedy
706 774 785 798 866
21/35
SLIDE 52
Optimized Orders
Optimization: finding initial order usually only first step Hill-climbing Search
- start with initial order
- until no better successor found:
- switch positions of two heuristics
- commit to first improving successor
22/35
SLIDE 53
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals greedy
706 774 785 798 866
23/35
SLIDE 54
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals greedy
- ptimized
706 774 785 798 866 881
23/35
SLIDE 55
One Order Is Not Enough
s1,s2 s3 s4,s5 4 4 1 1 s1 s2,s3,s4 s5 4 4 1 1
hSCP
→ (s2) = 8
hSCP
← (s2) = 7
hSCP
→ (s4) = 3
hSCP
← (s4) = 4 24/35
SLIDE 56
Multiple Orders
Approach:
- compute saturated cost partitioning for multiple orders
- maximize over heuristic estimates
25/35
SLIDE 57
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals greedy
- ptimized
706 774 785 798 866 881
26/35
SLIDE 58
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals greedy
- ptimized
multiple
706 774 785 798 866 881 982
26/35
SLIDE 59
Multiple Orders
Problems:
- many useless orders
- slow evaluation
27/35
SLIDE 60
Diverse Orders
Diversification Algorithm
- sample 1000 states
- start with empty set of orders
- until time limit is reached:
- generate an optimized order
- if a sample profits from it, keep it
- otherwise, discard it
28/35
SLIDE 61
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals greedy
- ptimized
multiple
706 774 785 798 866 881 982
29/35
SLIDE 62
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals greedy
- ptimized
multiple diverse
706 774 785 798 866 881 982 994
29/35
SLIDE 63
Comparison of Cost Partitioning Algorithms
SLIDE 64
Theoretical Comparison
UCP Uniform Cost Partitioning distribute costs evenly among relevant heuristics
30/35
SLIDE 65
Theoretical Comparison
GZOCP UCP Greedy Zero-one Cost Partitioning
- rder heuristics and give full cost to first relevant heuristic
31/35
SLIDE 66
Theoretical Comparison
GZOCP PhO UCP Post-hoc Optimization compute weight for each heuristic and return weighted sum
31/35
SLIDE 67
Theoretical Comparison
GZOCP PhO CAN UCP Canonical Heuristic maximum over sums of independent heuristic subsets
31/35
SLIDE 68
Theoretical Comparison
GZOCP PhO CAN UCP ≻ ≻ ≻ Pommerening et al. 2013
31/35
SLIDE 69
Theoretical Comparison
GZOCP PhO CAN UCP ≻ ≻ ≻ ≻ ≻ ≻
31/35
SLIDE 70
Theoretical Comparison
SCP GZOCP PhO CAN UCP ≻ ≻ ≻ ≻ ≻ ≻
31/35
SLIDE 71
Theoretical Comparison
SCP GZOCP PhO CAN UCP ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻
31/35
SLIDE 72
Theoretical Comparison
SCP GZOCP PhO CAN OUCP UCP ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻
31/35
SLIDE 73
Theoretical Comparison
SCP GZOCP PhO CAN OUCP UCP ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻
31/35
SLIDE 74
Theoretical Comparison
SCP GZOCP PhO CAN OUCP UCP ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻
31/35
SLIDE 75
Experimental Comparison
- Heuristics: Cartesian abstraction heuristics + PDBs
32/35
SLIDE 76
Experimental Comparison
SCP GZOCP PhO CAN OUCP UCP ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻
33/35
SLIDE 77
Experimental Comparison
SCP GZOCP PhO CAN OUCP ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻ ≻
33/35
SLIDE 78
Experimental Comparison
SCP PhO CAN OUCP ≻ ≻ ≻
33/35
SLIDE 79
Experimental Comparison
SCP PhO CAN ≻ ≻ ≻
33/35
SLIDE 80
Experimental Comparison
SCP
33/35
SLIDE 81
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals greedy
- ptimized
multiple diverse
706 774 785 798 866 881 982 994
34/35
SLIDE 82
Solved Tasks
700 800 900 1,000 1,100 PhO-Sys2 M&S iPDB
737 808 881
700 800 900 1,000 1,100 CEGAR goals landmarks LMs+goals greedy
- ptimized
multiple diverse Cart.+PDBs
706 774 785 798 866 881 982 994 1,063
34/35
SLIDE 83
Conclusion
Counterexample-guided Cartesian Abstraction Refinement
- refines abstraction only where needed
- decompositions yield complementary heuristics
Saturated Cost Partitioning
- assigns each heuristic only the costs it needs
- best results for diverse optimized orders
Comparison of Cost Partitioning Algorithms
- dominances and non-dominances
- saturated cost partitioning preferable in all settings
35/35
SLIDE 84
Conclusion
Counterexample-guided Cartesian Abstraction Refinement
- refines abstraction only where needed
- decompositions yield complementary heuristics
Saturated Cost Partitioning
- assigns each heuristic only the costs it needs
- best results for diverse optimized orders
Comparison of Cost Partitioning Algorithms
- dominances and non-dominances
- saturated cost partitioning preferable in all settings
35/35
SLIDE 85
Conclusion
Counterexample-guided Cartesian Abstraction Refinement
- refines abstraction only where needed
- decompositions yield complementary heuristics
Saturated Cost Partitioning
- assigns each heuristic only the costs it needs
- best results for diverse optimized orders
Comparison of Cost Partitioning Algorithms
- dominances and non-dominances
- saturated cost partitioning preferable in all settings