853 instances from the 2008 cp solver competition

1
853 instances from the 2008 CP Solver Competition. Real full lookahead cl+proj-wR(*,m)C, which enforces R(*, m)C on each cluster, adds projection of constraints to cluster separators to bolster propagation, and uses the minimal dual graph to reduce the number of combinations. m = 2,3,4,|(cl)| (i.e., minimal clusters) 2 hours and 8 GB per instance, 853 total Improving Relational Consistency Algorithms Using Dynamic Relation Partitioning A.Schneider 1 , R.J.Woodward 1,2 , B.Y.Choueiry 1 , and C.Bessiere 2 1 Constraint Systems Laboratory • University of Nebraska-Lincoln • USA 2 LIRMM-CNRS • University of Montpellier • France Contributions From PERTUPLE To PERFB Experiments were conducted on the equipment of the Holland Computing Center at the University of Nebraska- Lincoln. This research was supported by NSF Grant No. RI-111795 and EU project ICON (FP7-284715). Woodward was supported by an NSF GRF Grant No. 1041000 and a Chateaubriand Fellowship. Empirical Evaluation Paper: CP 2014. September 4 th , 2014 Relational Consistency R(,m)C, m-wise consistency, ensures that every combination of m relations is minimal. Partitions: Coarse, Fine, Intermediate Future Research Extend our approach to ALLSOL, our other algorithm for enforcing minimality of m relations [Karakashian PhD 13] 1.Designed PERFB, an algorithm for enforcing R(*,m)C, exploiting the fact that constraints in dual CSP are piecewise functional. 2.Compared performance of PERFB and PERTUPLE (previous algorithm) to empirically establish improvements. Piecewise Functional Constraints [Lecoutr e+] CPU Time (s) Number of instances completed For all tested combination sizes, PERFB solves more instances than PERTUPLE, and, On instances solved by both algorithms, PERFB has a smaller average CPU time. Dynamic partitions reduce redundant calls to SEARCHSUPPORT. CPU Time (s) Number of instances completed • For m=2,3,4, |(cl)|, PERFB dominates PERTUPLE m=3 performs the best, m=|(cl)| trails closely behind [Karakashian+ AAAI 13] PERFB makes fewer calls to SEARCHSUPPORT than PERTUPLE 1. PERFB iterates over fine blocks rather than tuples 2. At each call, it dynamically determines the intermediate blocks induced on a relation by the considered other relations. ABE fb 6 000 fb 7 001 fb 8 010 fb 9 011 fb 10 100 fb 11 101 CF fb 20 00 fb 21 01 fb 22 10 R 5 R 2 ABCDG fb 1 t 1 00000 t 2 00010 fb 2 t 3 00100 fb 3 t 4 00111 fb 4 t 5 01101 t 5 01111 fb 5 t 7 11111 R 1 Considering relations R 1 ,R 2 R 5 The union of the subscopes of R 1 ,R 2 and R 1 ,R 5 determines the intermediate partition induced by R 2 R 5 on R 1 . Projecting a fine block over this union forms a signature of a fine block. Once SEARCHSUPPORT finds (or not) a support for a fine block, it reuses this result for future fine blocks with the same signature. Samaras & Stergiou [JAIR 05] noted that the constraints in the dual CSP are piecewise functional 1. Each relation can be partitioned into blocks of equivalent tuples 2. Each block is supported by at most one other block They used above property to design PW-AC algorithm (m=2) t 1 t i t 2 t 3 PERTUPLE enforces R(*,m)C [Karakshian+ AAAI10] Given all combinations of m relations For each relation in each combination - SEARCHSUPPORT (a backtrack search with FC) ensures each tuple can be extended to the other m-1 relations - If no solution is found, tuple is removed The “subscope equality constraint” {A,B} between R 1 and R 2 determines the partition of R 1 . What partition do two subscopes (e.g., {A,B}, {C}) induce on R 1 ? What partition do all the subscopes with R 1 ’s neighbors (i.e., R 2 , R 3 , R 4 , and R 5 ) induce on R 1 ? How do those various partitions relate? How to exploit them in PERTUPLE? R 2 R 1 A,B,C,D,G A,B,E A,B,F C,F B,E,G A,B R 3 R 4 R 5 We compute and store fine and coarse blocks at preprocessing. o 1 cb 1 t 1 t 2 t 3 t 4 cb 2 t 5 t 6 cb 3 t 7 o 2 cb 4 t 1 t 2 t 3 cb 5 t 4 cb 6 t 5 t 6 t 7 o 3 cb 7 t 1 t 2 cb 8 t 3 t 4 t 5 t 6 t 7 o 1 o 2 o 3 fb 1 t 1 t 2 fb 2 t 3 fb 3 t 4 fb 4 t 5 t 6 fb 5 t 7 o 1 o 3 ib 1 t 1 t 2 ib 2 t 3 t 4 ib 3 t 5 t 6 ib 4 t 7 C 1 o 1 C 3 C 5 C 2 o 2 o 1 C 4 o 3 R 1 t 1 t 2 t 3 t 4 t 5 t 6 t 7 R 1 : coarse blocks R 1 : fine R 1 : intermediate The considered set of subscopes determines the partition of R 1 . ABCDG t 1 00000 t 2 00010 t 3 00100 t 4 00111 t 5 01101 t 6 01111 t 7 11111 ABE 000 001 010 011 100 101 R 1 R 2 m-1 relations ..… tuple relation m = 2 m = 3 m = 4 m = | (cl)| Total: 853 instances PERTUPL E PERFB PERTUPL E PERFB PERTUPL E PERFB PERTUPL E PERFB #Completed 546 557 604 616 566 589 597 615 … only by 5 16 1 13 2 25 8 26 … by both 541 603 564 589 Avg. CPU (sec) 538 227 521 362 472 314 669 458 SearchSupport Calls 86.4 0.0 88.1 26.1 52.7 19.6 24.7 8.1 ratio -- 3.37 2.69 3.06 R 1 ,fb 1 has support R 2 ,fb 6 , R 5 ,fb 20 . R 1 ,fb 2 has support R 2 ,fb 6 , R 5 ,fb 22 . fb 2 , fb 3 have the same signature (intermediate block {fb 2 ,fb 3 }). SEARCHSUPPORT is not called on fb 3 .

Upload: kaden-craft

Post on 04-Jan-2016

32 views

Category:

Documents


2 download

DESCRIPTION

Improving Relational Consistency Algorithms Using Dynamic Relation Partitioning A.Schneider 1 , R.J.Woodward 1,2 , B.Y.Choueiry 1 , and C.Bessiere 2 1 Constraint Systems Laboratory • University of Nebraska-Lincoln • USA 2 LIRMM-CNRS • University of Montpellier • France. o 1. C 2. o 1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 853 instances from the 2008 CP Solver Competition

• 853 instances from the 2008 CP Solver Competition.• Real full lookahead cl+proj-wR(*,m)C, which enforces

R(*, m)C on each cluster, adds projection of constraints to cluster separators to bolster propagation, and uses the minimal dual graph to reduce the number of combinations.

• m = 2,3,4,|𝜓(cl)| (i.e., minimal clusters)• 2 hours and 8 GB per instance, 853 total instances.

Improving Relational Consistency Algorithms Using Dynamic Relation PartitioningA.Schneider1, R.J.Woodward1,2, B.Y.Choueiry1, and C.Bessiere2

1Constraint Systems Laboratory • University of Nebraska-Lincoln • USA2LIRMM-CNRS • University of Montpellier • France

Contributions

From PERTUPLE To PERFB

Experiments were conducted on the equipment of the Holland Computing Center at the University of Nebraska-Lincoln.This research was supported by NSF Grant No. RI-111795 and EU project ICON (FP7-284715). Woodward was supported by an NSF GRF Grant No. 1041000 and a Chateaubriand Fellowship.

Empirical Evaluation

Paper: CP 2014. September 4th, 2014

Relational Consistency

R(∗,m)C, m-wise consistency, ensures that every combination of m relations is minimal.

Partitions: Coarse, Fine, Intermediate

Future Research

Extend our approach to ALLSOL, our other algorithm for enforcing minimality of m relations [Karakashian PhD 13]

1. Designed PERFB, an algorithm for enforcing R(*,m)C, exploiting the fact that constraints in dual CSP are piecewise functional.

2. Compared performance of PERFB and PERTUPLE (previous algorithm) to empirically establish improvements.

Piecewise Functional Constraints

[Lecoutre+]

Cumulative Charts

Summary Results

CP

U T

ime

(s)

Number of instances completed

Experimental Setup

For all tested combination sizes, • PERFB solves more instances than PERTUPLE, and,• On instances solved by both algorithms, PERFB has a smaller

average CPU time. • Dynamic partitions reduce redundant calls to

SEARCHSUPPORT.

CP

U T

ime

(s)

Number of instances completed

• For m=2,3,4, |𝜓(cl)|, PERFB dominates PERTUPLE

• m=3 performs the best, m=|𝜓(cl)| trails closely behind

[Karakashian+ AAAI 13]

PERFB makes fewer calls to SEARCHSUPPORT than PERTUPLE1. PERFB iterates over fine blocks rather than tuples2. At each call, it dynamically determines the intermediate blocks

induced on a relation by the considered other relations.

A B Efb6 0 0 0fb7 0 0 1fb8 0 1 0fb9 0 1 1fb10 1 0 0fb11 1 0 1

C Ffb20 0 0fb21 0 1fb22 1 0

R5R2A B C D G

fb1

t1 0 0 0 0 0t2 0 0 0 1 0

fb2 t3 0 0 1 0 0fb3 t4 0 0 1 1 1

fb4

t5 0 1 1 0 1t5 0 1 1 1 1

fb5 t7 1 1 1 1 1

R1

Considering relations R1,R2R5

• The union of the subscopes of R1,R2 and R1,R5 determines the

intermediate partition induced by R2R5 on R1. • Projecting a fine block over this union forms a signature of a

fine block.• Once SEARCHSUPPORT finds (or not) a support for a fine

block, it reuses this result for future fine blocks with the same signature.

Samaras & Stergiou [JAIR 05] noted that the constraints in the dual CSP are piecewise functional1. Each relation can be partitioned into blocks of equivalent tuples2. Each block is supported by at most one other blockThey used above property to design PW-AC algorithm (m=2)

t1

ti

t2

t3PERTUPLE enforces R(*,m)C [Karakshian+ AAAI10]

• Given all combinations of m relations• For each relation in each combination- SEARCHSUPPORT (a backtrack search

with FC) ensures each tuple can be extended to the other m-1 relations

- If no solution is found, tuple is removed

The “subscope equality constraint” {A,B} between R1 and R2

determines the partition of R1.

• What partition do two subscopes (e.g., {A,B}, {C}) induce on R1?

• What partition do all the subscopes with R1’s neighbors (i.e., R2,

R3, R4, and R5) induce on R1?• How do those various partitions relate?• How to exploit them in PERTUPLE?

R2

R1

A,B,C,D,G

A,B,E A,B,F C,FB,E,G

A,B

R3 R4 R5

We compute and store fine and coarse blocks at preprocessing.

o1

cb1

t1

t2

t3

t4

cb2

t5

t6

cb3 t7

o2

cb4

t1

t2

t3

cb5 t4

cb6

t5

t6

t7

o3

cb7

t1

t2

cb8

t3

t4

t5

t6

t7

o1∪o2∪o3

fb1

t1

t2

fb2 t3

fb3 t4

fb4

t5

t6

fb5 t7

o1∪o3

ib1

t1

t2

ib2

t3

t4

ib3

t5

t6

ib4 t7

C1

o1

C3

C5

C2

o2

o1

C4

o3

R1

t1

t2

t3

t4

t5

t6

t7

R1: coarse blocks R1: fine R1: intermediate

The considered set of subscopes determines the partition of R1.

A B C D Gt1 0 0 0 0 0t2 0 0 0 1 0t3 0 0 1 0 0t4 0 0 1 1 1t5 0 1 1 0 1t6 0 1 1 1 1t7 1 1 1 1 1

A B E0 0 00 0 10 1 00 1 11 0 01 0 1

R1 R2

∀ m-1 relations

..…

∀ tuple

∀ relation

m = 2 m = 3 m = 4 m = | (cl)|𝜓Total: 853 instances PERTUP

LEPERFB

PERTUPLE

PERFBPERTUPLE

PERFBPERTUPLE

PERFB

#Completed 546 557 604 616 566 589 597 615… only by 5 16 1 13 2 25 8 26… by both 541 603 564 589

Avg. CPU (sec) 538 227 521 362 472 314 669 458 SearchSupport Calls 86.4 0.0 88.1 26.1 52.7 19.6 24.7 8.1

ratio -- 3.37 2.69 3.06

• ⟨R1,fb1⟩ has support ⟨R2,fb6⟩, ⟨R5,fb20⟩.• ⟨R1,fb2⟩ has support ⟨R2,fb6⟩, ⟨R5,fb22⟩.• fb2, fb3 have the same signature (intermediate block {fb2,fb3}).

SEARCHSUPPORT is not called on fb3.