A Portfolio Approach for Enforcing Minimality in a Tree - - PowerPoint PPT Presentation

a portfolio approach for enforcing minimality in a tree
SMART_READER_LITE
LIVE PREVIEW

A Portfolio Approach for Enforcing Minimality in a Tree - - PowerPoint PPT Presentation

A Portfolio Approach for Enforcing Minimality in a Tree Decomposition Daniel J. Geschwender 1,2 R.J. Woodward 1,2 B.Y. Choueiry 1,2 S. D. Scott 2 1 Constraint Systems Laboratory 2 Department of Computer Science and Eng. University of


slide-1
SLIDE 1

Constraint Systems Laboratory

Daniel J. Geschwender1,2 R.J. Woodward1,2 B.Y. Choueiry1,2 S. D. Scott2

1Constraint Systems Laboratory 2Department of Computer Science and Eng.

University of Nebraska-Lincoln

A Portfolio Approach for Enforcing Minimality in a Tree Decomposition

9/3/16 CP 2016 1 Acknowledgements

  • Experiments conducted at UNL’s Holland Computing Center
  • Geschwender supported by a NSF Graduate Research Fellowship Grant No. 1041000
  • NSF Grants No. RI-111795 and RI-1619344
slide-2
SLIDE 2

Constraint Systems Laboratory

9/4/16 CP 2016 2

Daniel Geschwender

  • 3rd year PhD student at University
  • f Nebraska – Lincoln’s

Constraint Systems Laboratory

  • Studying high level relational

consistencies and automated techniques for determining when to apply them

  • Always ready to play a board

game!

slide-3
SLIDE 3

Constraint Systems Laboratory

9/3/16 CP 2016 3

We advocate the use of an

  • for enforcing
  • n the
  • f a tree decomposition
  • during

in a backtrack search for solving CSPs

Claim: Cluster-level portfolio

slide-4
SLIDE 4

Constraint Systems Laboratory

Outline

  • Background

– Minimality: property and algorithms (ALLSOL, PERTUPLE) – Minimality in a tree decomposition

  • Processing clusters: FILTERCLUSTERS

– GAC interleave – Cluster-level portfolio – Cluster-processing timeout

  • Training the classifier
  • Experiments
  • Conclusion

9/3/16 CP 2016 4

slide-5
SLIDE 5

Constraint Systems Laboratory

Background: Minimality

  • Global consistency property
  • Every tuple in a relation can be extended to a

full solution over the m relations

9/3/16 CP 2016 5

∀ m-1 relations

..…

!tuple! !rela)on!

slide-6
SLIDE 6

Constraint Systems Laboratory

Background: ALLSOL/PERTUPLE

ALLSOL

  • One search explores the

entire search space

  • Finds all solutions without

storing them, keeps tuples that appear in at least one solution

  • Better when there are

many ‘almost’ solutions

9/3/16 CP 2016 6

t1 ti t2 t3

[Karakashian, PhD 2013]

slide-7
SLIDE 7

Constraint Systems Laboratory

Background: ALLSOL/PERTUPLE

PERTUPLE

  • For each tuple, finds one

solution where it appears

  • Many searches that stop

after the first solution

  • Better when many

solutions are available

9/3/16 CP 2016 7

t1 ti t2 t3

[Karakashian, PhD 2013]

slide-8
SLIDE 8

Constraint Systems Laboratory

Background: Tree decomposition, minimality

9/3/16 CP 2016 8

  • Minimality on clusters [Karakashian+ AAAI 2013]

– Build a tree decomposition – Localize minimality to clusters – During search, after a variable instantiation

  • Enforce minimality on clusters
  • Propagate following tree structure
  • FILTERCLUSTERS implements three

improvements

– GAC interleave – Cluster-level portfolio – Cluster-processing timeout

slide-9
SLIDE 9

Constraint Systems Laboratory

FILTERCLUSTERS: GAC interleave

  • It is often beneficial to run a lightweight

algorithm (e.g., GAC) prior to running a more costly algorithm

  • We extend this idea and interleave a global

GAC run between the processing of clusters

9/3/16 CP 2016 9

Minimality GAC Minimality

slide-10
SLIDE 10

Constraint Systems Laboratory

FILTERCLUSTERS: Cluster-level portfolio

  • Performance of ALLSOL and PERTUPLE vary
  • Sometimes both algorithms are too costly
  • Use algorithm portfolio on the cluster level

– Different algorithms on different clusters – Different algorithms on the same cluster during propagation

9/3/16 CP 2016 10

‘AllSol’ ‘PerTuple’

t1 ti t2 t3

‘Neither’

slide-11
SLIDE 11

Constraint Systems Laboratory

FILTERCLUSTERS: Cluster timeout

  • Limits the time for processing a single

cluster

  • Allows recovery from a poor

classification

  • When interrupted, partial results of

– PERTUPLE yield useful filtering – ALLSOL are useless

9/3/16 CP 2016 11

slide-12
SLIDE 12

Constraint Systems Laboratory

Classifier Training: Data

  • 9362 individual clusters taken from 175

benchmarks

  • For each cluster instance i, collected

– The values of 73 classification features – The runtime of ALLSOL: allSol(i) – The runtime of PERTUPLE: perTuple(i)

9/3/16 CP 2016 12

slide-13
SLIDE 13

Constraint Systems Laboratory

Classifier Training: Labels

9/3/16 CP 2016 13

1 10 100 1000 10000 100000 1x106 1 10 100 1000 10000 100000 1x106

PERTUPLE Time (msec) ALLSOL Time (msec) Runtime of All Instances

‘PerTuple’ ‘Neither’ ‘AllSol’ No Yes Yes

allSol(i)>10 min & perTuple(i)>10 min

‘AllSol’ ‘Neither’ ‘PerTuple’

Start

allSol(i)>perTuple(i) No

slide-14
SLIDE 14

Constraint Systems Laboratory

Classifier Training: Weights

  • Weight of a training instance i, weight(i)
  • Designed to emphasize instance with both a

– large proportional difference – large absolute difference

9/3/16 CP 2016 14

weight(i) = ( w(allSol(i), perTuple(i)) label(i) =‘AllSol’k‘PerTuple’ 20 label(i) =‘Neither’ ⇠ ✓ ◆ ⇡

w(a, p) = ⇠

  • log10

✓a p ◆

  • · |log10 (|a p| + 0.01)|

|a − p| a p

slide-15
SLIDE 15

Constraint Systems Laboratory

Classifier Training: Features

  • CSP parameters

– #variables, #constraints, #values, #tuples – Constraint arity, constraint tightness – Relational linkage

  • Graph parameters: on dual, primal, and incidence graph

– Density – Degree – Eccentricity – Clustering coefficient

  • Using several descriptive statistics

– min, max, mean, coefficient of variation, entropy

9/3/16 CP 2016 15

slide-16
SLIDE 16

Constraint Systems Laboratory

Classifier Training: Decision tree

  • We built a decision tree classifier using the J48

algorithm from the Weka machine learning software

  • Decision tree selected for:

– Simplicity – Fast evaluation time – Only requires collection a subset of the features

9/3/16 CP 2016 16

slide-17
SLIDE 17

Constraint Systems Laboratory

Experiments: Set up

  • Used 1055 instances from 42 benchmarks
  • Backtrack search, dynamic dom/deg ordering
  • Intel Xeon E5-2650 v3 2.30GHz processors with

12 GB memory

  • 2 hours total time out per instance
  • Compared GAC and six strategies (variants of

FILTERCLUSTERS)

9/3/16 CP 2016 17

slide-18
SLIDE 18

Constraint Systems Laboratory

Experiments: Tested strategies

9/3/16 CP 2016 18

slide-19
SLIDE 19

Constraint Systems Laboratory

Experiments: Results

9/3/16 CP 2016 19

GAC ALLSOL PERTUPLE ALLSOL+ PERTUPLE+ RANDOM DECTREE

Instances Completed

550 472 567 514 633 643 685

Average Time (s)

2,471 3,075 2,081 2,789 1,622 1,427 1,121

slide-20
SLIDE 20

Constraint Systems Laboratory

Conclusions

  • A cluster-level portfolio, during lookahead

– Is not only feasible, but also highly competitive

  • Enforcing a timeout on consistency algorithms

– Prevents getting stuck on one part of the problem – Does not affect soundness

  • Future work

– Dynamically determine timeout based on the anticipated amount of filtering – Heuristics for ordering the clusters

9/3/16 CP 2016 20

slide-21
SLIDE 21

Constraint Systems Laboratory

Thank you

Questions?

9/3/16 CP 2016 21

slide-22
SLIDE 22

Constraint Systems Laboratory

9/3/16 CP 2012 22

slide-23
SLIDE 23

Constraint Systems Laboratory

9/3/16 CP 2012 23

slide-24
SLIDE 24

Constraint Systems Laboratory

Classifier Training: Evaluation

  • Using 10-fold cross validation
  • Using both weighted and un-weighted instances

9/3/16 CP 2016 24

slide-25
SLIDE 25

Constraint Systems Laboratory

FILTERCLUSTERS

9/3/16 CP 2016 25

Repeat until quiescence For cluster C in LIST Reverse LIST Build cluster LIST Enforce GAC globally Enforce GAC globally Classify C

‘PerTuple’

t1 ti t2 t3

‘AllSol’ ‘Neither’

Process C within time limit ?

slide-26
SLIDE 26

Constraint Systems Laboratory

Experiments: Tested strategies (2)

9/3/16 CP 2016 26

1 10 100 1000 10000 100000 1x106 1 10 100 1000 10000 100000 1x106

PERTUPLE Time (msec) ALLSOL Time (msec) Runtime of All Instances

1 second cutoff per cluster

slide-27
SLIDE 27

Constraint Systems Laboratory

Experiments: Results (2)

100 200 300 400 500 600 700 0.01 0.1 1 10 100 1000

Completed Instances Runtime (sec) Instance Completions by Runtime

DECTREE RANDOM PERTUPLE+ GAC PERTUPLE ALLSOL+ ALLSOL

9/3/16 CP 2016 27

slide-28
SLIDE 28

Constraint Systems Laboratory

Background: Tree decomposition, minimality

9/3/16 CP 2016 28

  • Build a tree

decomposition

  • Localize the enforcement
  • f minimality to the

clusters

  • Process clusters in

MAXCLIQUES order back and forth to quiescence

A B C E D F G H I J K M L N C1 C2 C7 C3 C4 C5 C6 C8 C9 C10