35
A Comparison of Cost Partitioning Algorithms for Optimal Classical Planning Jendrik Seipp Thomas Keller Malte Helmert University of Basel June 21, 2017

A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

A Comparison of Cost Partitioning Algorithmsfor Optimal Classical Planning

Jendrik Seipp Thomas Keller Malte Helmert

University of Basel

June 21, 2017

Page 2: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Setting

• optimal classical planning

• A∗ search + admissible heuristic

• abstraction heuristics

s1

s2

s3

s4

s5

4 4

1 1 s1,s2 s3 s4,s5

4 4

1 1

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 2/14

Page 3: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Setting

• optimal classical planning

• A∗ search + admissible heuristic

• abstraction heuristics

s1

s2

s3

s4

s5

4 4

1 1 s1,s2 s3 s4,s5

4 4

1 1

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 2/14

Page 4: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Problem

• single heuristic unable to capture enough information

→ use multiple heuristics

• how to combine multiple heuristics admissibly?

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 3/14

Page 5: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Problem

• single heuristic unable to capture enough information→ use multiple heuristics

• how to combine multiple heuristics admissibly?

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 3/14

Page 6: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Problem

• single heuristic unable to capture enough information→ use multiple heuristics

• how to combine multiple heuristics admissibly?

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 3/14

Page 7: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Multiple Heuristics

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h1(s1) = 5 h2(s1) = 5

• maximizing only selects best heuristic → h(s1) = 5

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 4/14

Page 8: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Multiple Heuristics

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h1(s1) = 5 h2(s1) = 5

• maximizing only selects best heuristic → h(s1) = 5

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 4/14

Page 9: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Multiple Heuristics

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h1(s1) = 5 h2(s1) = 5

• maximizing only selects best heuristic → h(s1) = 5

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 4/14

Page 10: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Multiple Heuristics: Cost Partitioning

Cost Partitioning

• split operator costs among heuristics

• total costs must not exceed original costs

→ combines heuristics

→ allows summing heuristic values admissibly

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 5/14

Page 11: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h(s1) = ?

Optimal Cost Partitioning

• cost partitioning with highest heuristic value for a given stateamong all cost partitionings

• computable in polynomial time for abstractions

• too expensive in practice

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 12: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 1

0 1

s1 s2,s3,s4 s5

0 3

1 0

h(s1) = 5 + 3 = 8

Optimal Cost Partitioning

• cost partitioning with highest heuristic value for a given stateamong all cost partitionings

• computable in polynomial time for abstractions

• too expensive in practice

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 13: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h(s1) = ?

Post-hoc Optimization

• compute best factor 0 ≤ w ≤ 1 for each heuristic

• for each operator: sum of relevant heuristic factors ≤ 1e.g., w1 + w2 ≤ 1, w2 ≤ 1

• use costs w · cost(o) if o is relevant for h, otherwise 0

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 14: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

1 1

0 0.25

s1 s2,s3,s4 s5

3 3

0.75 0

w1 = 0.25, w2 = 0.75→ h(s1) = 1.25 + 3.75 = 5

Post-hoc Optimization

• compute best factor 0 ≤ w ≤ 1 for each heuristic

• for each operator: sum of relevant heuristic factors ≤ 1e.g., w1 + w2 ≤ 1, w2 ≤ 1

• use costs w · cost(o) if o is relevant for h, otherwise 0

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 15: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h(s1) = ?

Greedy Zero-one Cost Partitioning

• order heuristics

• use full costs for the first relevant heuristic

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 16: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 4

0 1

s1 s2,s3,s4 s5

0 0

1 0

h(s1) = 5 + 0 = 5

Greedy Zero-one Cost Partitioning

• order heuristics

• use full costs for the first relevant heuristic

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 17: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h(s1) = ?

Saturated Cost Partitioning

• order heuristics

• for each heuristic h:• use minimum costs preserving all heuristic estimates for h• use remaining costs for subsequent heuristics

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 18: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 1

0 1

s1 s2,s3,s4 s5

0 3

0 0

h(s1) = 5 + 3 = 8

Saturated Cost Partitioning

• order heuristics

• for each heuristic h:• use minimum costs preserving all heuristic estimates for h• use remaining costs for subsequent heuristics

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 19: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h(s1) = ?

Uniform Cost Partitioning

• distribute costs uniformly among relevant heuristics

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 20: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

2 2

0 1

s1 s2,s3,s4 s5

2 2

1 0

h(s1) = 3 + 3 = 6

Uniform Cost Partitioning

• distribute costs uniformly among relevant heuristics

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 21: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h(s1) = ?

Opportunistic Uniform Cost Partitioning (New)

• order heuristics

• for each heuristic h:• distribute costs uniformly among h and other relevant

remaining heuristics• use saturated costs for h• use remaining costs for subsequent heuristics

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 22: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

2 2→1

0 1

s1 s2,s3,s4 s5

2→1 3

1 0

h(s1) = 3 + 4 = 7

Opportunistic Uniform Cost Partitioning (New)

• order heuristics

• for each heuristic h:• distribute costs uniformly among h and other relevant

remaining heuristics• use saturated costs for h• use remaining costs for subsequent heuristics

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 23: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h(s1) = ?

Canonical Heuristic

• compute independent heuristic subsets

• compute maximum over sums

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 24: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Cost Partitioning Algorithms

s1,s2 s3 s4,s5

4 4

1 1

s1 s2,s3,s4 s5

4 4

1 1

h(s1) = max(5, 5) = 5

Canonical Heuristic

• compute independent heuristic subsets

• compute maximum over sums

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 6/14

Page 25: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Theoretical Comparison

hSCP hGZOCP

hPHO hCAN

hOUCP hUCP

inco

mp

arab

le

incomparable

inco

mpar

able

���������

���������Pommerening et al. 2013

���������

���� ��� �� for ≥ 1 order

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 7/14

Page 26: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Theoretical Comparison

hSCP hGZOCP

hPHO hCAN

hOUCP hUCP

inco

mp

arab

le

incomparable

inco

mpar

able

���������

���������Pommerening et al. 2013

���������

���� ��� �� for ≥ 1 order

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 7/14

Page 27: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Theoretical Comparison

hSCP hGZOCP

hPHO hCAN

hOUCP hUCP

inco

mp

arab

le

incomparable

inco

mpar

able

���������

���������Pommerening et al. 2013

���������

���� ��� �� for ≥ 1 order

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 7/14

Page 28: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Empirical Comparison

Heuristics:

• hill climbing pattern databases

• systematic pattern databases

• Cartesian abstractions

• landmark heuristics

Orders:

• for order-dependent algorithms: single order and diverse orders

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 8/14

Page 29: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Empirical Comparison

Heuristics:

• hill climbing pattern databases

• systematic pattern databases

• Cartesian abstractions

• landmark heuristics

Orders:

• for order-dependent algorithms: single order and diverse orders

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 8/14

Page 30: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Empirical Comparison: Systematic PDBs

hUCP

hOUCP

single

hOUCP

diverse

hGZOCP

single

hGZOCP

diverse

hSCP

single

hSCP

diverse

hCAN

hPHO

hOCP

coverage

hUCP – 0 3 15 3 4 0 11 10 30 709.0

hOUCPsingle 14 – 9 22 8 6 0 14 13 31 744.9

hOUCPdiverse 13 8 – 22 7 6 0 14 14 31 734.6

hGZOCPsingle 3 1 4 – 3 0 0 9 11 29 694.0

hGZOCPdiverse 15 12 14 20 – 9 0 13 13 30 749.9

hSCPsingle 20 19 17 23 16 – 0 18 21 32 775.7

hSCPdiverse 27 26 24 28 22 22 – 23 26 33 854.9

hCAN 8 7 7 17 5 8 2 – 13 28 656.0

hPHO 9 7 7 15 7 6 3 10 – 31 737.0

hOCP 4 4 4 4 4 4 3 5 3 – 471.0

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 9/14

Page 31: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Empirical Comparison: Systematic PDBs

101 103 105 107

101

103

105

107

un

s.

unsolved

hPHO

hSCP

diverse

Expansions (excluding last f layer)

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 10/14

Page 32: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Discussion of Results

In each setting:

• reuse unused costs

• assign costs greedily

• use multiple orders

→ saturated cost partitioning

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 11/14

Page 33: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Comparison to State of the Art (Using h2 Mutexes)

HC

+hSCP

diverse

Sys

2+hSCP

diverse

Car

t.+hSCP

diverse

LM

+hSCP

single

Sym

BA∗ 2

coverage

HC+hSCPdiverse – 7 9 19 17 845.0

Sys2+hSCPdiverse 10 – 11 18 16 878.5

Cart.+hSCPdiverse 19 14 – 24 17 1017.9

LM+hSCPsingle 8 9 4 – 9 934.0

SymBA∗2 20 18 16 23 – 1008.0

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 12/14

Page 34: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Related SoCS 2017 Paper

Better Orders for Saturated Cost Partitioningin Optimal Classical Planning

• combination of three types of abstraction heuristics

• better method for finding heuristic orders

• significantly higher coverage

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 13/14

Page 35: A Comparison of Cost Partitioning Algorithms for Optimal … · 2017-06-24 · 1,s 2 s 3s 4,s 5 4 1 0 1 s 1 s 2,s ,s 4 s 5 0 3 1 0 h(s 1) = 5+3 = 8 Optimal Cost Partitioning cost

Conclusion

• new dominance relations

• new cost partitioning algorithm

• saturated cost partitioning preferable in all tested settings

J. Seipp, T. Keller, M. Helmert (Basel) Comparison of Cost Partitioning Algorithms 14/14