Loading in 5 sec....

Practical Tractability of CSPs by Higher Level Consistency and Tree DecompositionPowerPoint Presentation

Practical Tractability of CSPs by Higher Level Consistency and Tree Decomposition

Download Presentation

Practical Tractability of CSPs by Higher Level Consistency and Tree Decomposition

Loading in 2 Seconds...

- 132 Views
- Uploaded on
- Presentation posted in: General

Practical Tractability of CSPs by Higher Level Consistency and Tree Decomposition

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Practical Tractability of CSPs by Higher Level Consistency and Tree Decomposition

ShantKarakashian

Dissertation Defense

Collaborations: Bessiere, Geschwender, Hartke, Reeson, Scott, Woodward.

Support: NSF CAREER Award #0133568 & NSF Grant No. RI-111795. Experiments were conducted on the equipment of the Holland Computing Center at UNL.

- Constraint Satisfaction
- General paradigm for modeling & solving combinatorial decision problems
- Applications in Engineering, Management, Computer Science

- Constraint Satisfaction Problems (CSPs)
- NP-complete in general

- Islands of tractability
- Classes of CSPs solvable in polynomial time

Karakashian: Ph.D. Defense

- One tractabilityconditionlinks[Freuder 82]
- Consistency level to
- Width of the constraint network, a structural parameter (treewidth)

- Catch 22
- Computing width is in NP-hard
- Enforcing higher-levels of consistency may require adding constraints, which increases the treewidth

- Goal
- Exploit above condition to achieve practical tractability

Karakashian: Ph.D. Defense

- Exploit a tree decomposition
- Localize application of the consistency algorithm
- Steer constraint propagation along the branches of the tree
- Add redundant constraints at separators to enhance propagation

- Propose consistency properties that
- Enforce a (parameterized) consistency level
- While preserving the width of a problem instance

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Background
- Contributions
- R(∗,m)C: Consistency property & algorithms[SAC 10, AAAI 10]
- Localized consistency & structure-guided propagation
- Bolstering propagation at separators[CP 12, AAAI 13]
- Counting solutions
- (Appendices include other incidental contributions)

- Conclusions & Future Research

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Given
- A set of variables, here X={A,B,C,D,E,F,G}
- Their domains, here D={DA,DB,DC,DD,DE,DF,DG}, Di={0,1}
- A set of constraints, here C={C1,C2,C3,C4,C5} where Ci= ⟨Ri,scope(Ri)⟩

- Question: Find one solution (NPC), find all solutions (#P)

R3

R4

F

A

E

B

C

D

G

R1

R2

R5

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

D

R4

R5

G

Hypergraph

Primal graph

Dual graph

R3

A

C

B

F

R4

R5

G

D

R1

R2

E

A

B

R3

C

D

B,D

A,D,G

F

E

R1

B

A

R2

A,B,C

A

B

A

B

A,E,F

E,B

E

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- R1R4 forces the value of A in R1 and R4
- The value of A is enforced through R1R3 and R3R4
- R1R4 is redundant

R4

R5

D

B,D

A,D,G

B

A

A

B

R3

A,B,C

A

B

E

A,E,F

E,B

R1

R2

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- A CSP can be solved by
- Search (conditioning)
- Backtrack search
- Iterative repair (local search)

- Synthesizing & propagating constraints (inference)

- Search (conditioning)
- Backtrack search
- Constructive, exhaustive exploration of search space
- Variable ordering improves the performance
- Constraint propagation prunes the search tree

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Example: k-consistency requires that
- For all combinations of k-1 variables
… all combinations of consistent values

… can always be extended to every kth variable

- For all combinations of k-1 variables
- A consistency property
- Guarantees that the values of all combinations of variables of a given size verify some set of constraints
- Is a necessary but not sufficient condition for partial solution to appear in a complete solution

kthvariable

any consistent assignment of length k-1

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- May require adding new implicit or redundant constraints
- For k-consistency: add constraints to eliminate inconsistent (k-1)-tuples
- Which may increase the width of the problem

- We propose a consistency property that
- Never increases the width of the problem
- Allows us to increase & control the level of consistency
- Operates by deleting tuples from relations

kthvariable

any consistent assignment of length k-1

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

C1

{A,B,C,E} , {R2,R3}

C3

C2

{A,E,F},{R1}

{A,B,D},{R3,R5}

D

C4

- Conditions
- Each constraint appears in at least one cluster with all the variables in the constraint’s scope
- For every variable, the clusters where the variable appears induce a connected subtree

- A tree decomposition:〈T, 𝝌, 𝜓〉
- T: a tree of clusters
- 𝝌: maps variables to clusters
- 𝜓:maps constraints to clusters

R4

R5

{A,D,G},{R4}

G

R3

A

C

B

F

R1

R2

E

𝝌(C1)

𝜓(C1)

Hypergraph

Tree decomposition

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- A separator of two adjacent clusters is the set of variables associated to both clusters
- Width of a decomposition/network
- Treewidth= maximum number of variables in clusters

C1

C

C1

C2

E

{A,B,C,E},{R2,R3}

B

C3

C3

C2

A

F

{A,E,F},{R1}

{A,B,D},{R3,R5}

D

C4

C4

G

{A,D,G},{R4}

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Background
- Contributions
- R(∗,m)C: Consistency property & algorithms[SAC 10, AAAI 10]
- Localized consistency & structure-guided propagation
- Bolstering propagation at separators[CP 12, AAAI 13]
- Counting solutions
- (Appendices include other incidental contributions)

- Conclusions & Future Research

Karakashian: Ph.D. Defense

R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

[SAC 2010, AAAI 2010]

- A parametrized relational consistency property
- Definition
- For every set of m constraints
- every tuple in a relation can be extended to an assignment
- of variables in the scopes of the other m-1 relations

- R(*,m)C ≡ every m relations form a minimal CSP

Karakashian: Ph.D. Defense

R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Given: two relations, R1 & R2
- Scope(R1)={X,A,B,C} Scope(R2)={A,B,C,D}

- For a given tuple in R1, find matching tuples in R2

Root

A

0

1

B

0

1

1

C

1

1

1

t1

t2

t4

t3

Karakashian: Ph.D. Defense

R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Weaken R(∗,m)C by removing redundant edges[Jégou 89]

R(∗,3)C

wR(∗,3)C

R1 R2 R3

R1 R2 R4

R1 R2 R5

R1 R3 R4

R2 R3 R4

R2 R4 R5

R3 R4 R5

R1 R2 R3

R1 R2 R5

R1 R3 R4

R2 R4 R5

R3 R4 R5

R1

R2

R1

R2

B

B

ABD

BCF

ABD

BCF

CF

CF

A

CFG

CFG

C

AD

AD

R5

R5

ADE

ACEG

ADE

ACEG

CG

CG

R3

R4

AE

R3

R4

AE

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

[Jégou 89]

- GAC[Waltz 75]
- maxRPWC[Bessiere+ 08]
- RmC: Relational m Consistency[Dechter+ 97]

R2C

R3C

R4C

RmC

R(∗,3)C

R(∗,4)C

R(∗,m)C

R(∗,2)C

wR(∗,2)C

GAC

maxRPWC

wR(∗,3)C

wR(∗,4)C

wR(∗,m)C

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- PerTuple
- For each tuple find a solution for the variables in the m-1 relations
- Many satisfiability searches
- Effective when there are many solutions
- Each search is quick & easy

- AllSol
- Find all solutions of problem induced by mrelations, & keep their tuples
- A single exhaustive search
- Effective when there are few or no solutions

- Hybrid Solvers (portfolio based)[+Scott]

ti

t3

t2

t1

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

[+Scott]

- Choose between PerTuple & AllSol
- Parameters to characterize the problem
- κpredicts if instance is at the phase transition
- relLinkage approximates the likelihood of a tuple at the overlap two relations to appear in a solution

- Classifier built using Machine Learning
- C4.5
- Random Forests

[Gent+ 96]

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

#1 κ

#2 log2(avg(relLinkage))

#3 log2(stDev(relLinkage))

#7 stDev(tupPerVvpNorm)

#10 avg(relPerVar)

No

Yes

#1≤ 0.22

Yes

No

PerTuple

#3≤-2.79

Yes

No

AllSol

#7≤0.03

Yes

No

AllSol

#10≤10.05

No

Yes

PerTuple

#2≤-28.75

Yes

No

#7≤0.23

AllSol

AllSol

PerTuple

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

Task: compute the minimal CSP

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Background
- Contributions
- R(∗,m)C: Consistency property & algorithms[SAC 10, AAAI 10]
- Localized consistency & structure-guided propagation
- Bolstering propagation at separators[CP 12, AAAI 13]
- Counting solutions
- (Appendices include other incidental contributions)

- Conclusions & Future Research

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Consistency property cl-R(∗,m)C
- Restrict R(∗,m)C to the clusters

- Constraint propagation
- Guide along a tree structure

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Triangulate the primal graph using min-fill
- Identify the maximal cliques using MaxCliques
- Connect the clusters using JoinTree
- Add constraints to clusters where their scopes appear

C1

A,B,C,N

C2

A,I,N

R5

R7

R1

C3

I,M,N

N

A

B

C

C4

A,I,K

C5

I,J,K

R3

D

C6

A,K,L

R6

I

J

K

C1

C7

B,C,D,H

E

C7

C

{A,B,C,N},{R1}

C1

N

B,D,F,H

C8

C2

M

L

R2

C8

Elimination order

R4

H

G

F

B,D,E,F

C3

C9

B

D

C7

C2

A

F,G,H

C10

I

M

C5

K

F

H

C3

C4

C8

C6

L

J

C4

C5

C6

C10

C9

C10

E

G

C9

JoinTree

min-fill

MaxCliques

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Two clusters communicate via their separator
- Constraints common to the two clusters
- Domains of variables common to the two clusters

E

R2

R1

R3

R4

A

D

R4

B

A

D

C

B

A

D

C

R6

R5

R7

Karakashian: Ph.D. Defense

F

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

RmC

R2C

R3C

R4C

R(∗,3)C

R(∗,4)C

R(∗,m)C

R(∗,2)C ≡

wR(∗,2)C

maxRPWC

wR(∗,3)C

wR(∗,4)C

wR(∗,m)C

- GAC[Waltz 75]
- maxRPWC[Bessiere+ 08]
- RmC: Relational m Consistency[Dechter+ 97]

GAC

cl-R(∗,2)C

cl-R(∗,3)C

cl-R(∗,4)C

cl-R(∗,m)C

cl-w(∗,2)C

cl-w(∗,3)C

cl-w(∗,4)C

cl-w(∗,m)C

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Orderings
- Random: FIFO/arbitrary
- Static, Priority, Dynamic: Leaves⟷root

- Structure-based propagation
- Static
- Order of MaxCliques

- Priority:
- Process a cluster once in each direction
- Select most significantly filtered cluster

- Dynamic
- Similar to Priority
- But may process ‘active’ clusters more than once

- Static

C1

A,B,C,N

C2

A,I,N

Root

C3

I,M,N

C4

A,I,K

C5

I,J,K

C6

A,K,L

Leaves

C1

C7

B,C,D,H

{A,B,C,N},{R1}

B,D,F,H

C8

B,D,E,F

C9

C7

C2

F,G,H

C10

MaxCliques

C3

C4

C8

C5

C6

C10

C9

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Background
- Contributions
- R(∗,m)C: Consistency property & algorithms[SAC 10, AAAI 10]
- Localized consistency & structure-guided propagation
- Bolstering propagation at separators[CP 12, AAAI 13]
- Counting solutions
- (Appendices include other incidental contributions)

- Conclusions & Future Research

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

[CP 2012, AAAI 2013]

- Localization
- Improves performance
- Reduces the enforced consistency level

- Ideally: add unique constraint
- Space overhead, major bottleneck

- Enhance propagation by bolstering
- Projection of existing constraints
- Adding binary constraints
- Adding clique constraints

E

R2

R1

R3

B

A

D

C

Rsep

R6

R5

R7

F

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

E

Ry

R3

D

C

Ra

Rx

E

E

E

E

E

A

A

D

D

B

B

C

C

R2

R1

R3

A

D

R2

R1

B

C

Ry

Ra

R4

B

A

D

C

B

A

D

C

B

A

D

C

B

B

A

C

R3’

R6

R5

R7

R’3

R’3

R6

R5

Rx

F

F

F

F

F

By projection

Binary constraints

Clique constraints

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

cl+clq-R(∗,2)C

cl+clq-R(∗,3)C

cl+clq-R(∗,4)C

cl+clq-R(∗,|ψ(cli)|)C

cl+bin-R(∗,3)C

cl+bin-R(∗,4)C

cl+bin-R(∗,|ψ(cli)|)C

cl+bin-R(∗,2)C

cl+proj-R(∗,2)C

R(∗,2)C

R(∗,4)C

cl+proj-R(∗,3)C

R(∗,3)C

cl+proj-R(∗,4)C

cl+proj-R(∗,|ψ(cli)|)C

maxRPWC

GAC

cl-R(∗,2)C

cl-R(∗,3)C

cl-R(∗,4)C

cl-R(∗,|ψ(cli)|)C

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Background
- Contributions
- R(∗,m)C: Consistency property & algorithms[SAC 10, AAAI 10]
- Localized consistency & structure-guided propagation
- Bolstering propagation at separators[CP 12, AAAI 13]
- Counting solutions
- (Appendices include other incidental contributions)

- Conclusions & Future Research

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- BTD is used to count the number of solutions[Favier+ 09]
- Using Count algorithm on trees [Dechter+ 87]
- Witness-based solution counting
- Find a witness solution before counting

ap

Cp

wasted

no solution

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Task: Count solutions
- BTD versus WitnessBTD
- GAC: Pre-processing & full look-ahead

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Question
- Practical tractability of CSPs exploiting the condition linking
- the level of consistency
- to the width of the constraint graph

- Practical tractability of CSPs exploiting the condition linking
- Solution
- Introduced a parameterized consistency property R(∗,m)C
- Designed algorithms for implementing it
- PerTupleand AllSol
- Hybrid algorithms

- Adapted R(∗,m)C to a tree decomposition of the CSP
- Localizing R(∗,m)C to the clusters
- Strategies for guiding propagation along the structure
- Bolstering separators to strengthen the enforced consistency

- Improved the BTD algorithm for solution counting, WitnessBTD

- Two incidental results in appendices

Karakashian: Ph.D. Defense

- R(*,m)C

- Locallization

- Bolstering

- Sol Counting

- Conclusions

Background

- Extension to non-table constraints
- Automating the selection of
- a consistency property
- consistency algorithms[Geschwender+ 13]

- Characterizing performance on randomly generated problems
- + much more in dissertation

Karakashian: Ph.D. Defense

Thank You

Collaborations: Bessiere, Geschwender, Hartke, Reeson, Scott, Woodward.

Support: NSF CAREER Award #0133568 & NSF Grant No. RI-111795. Experiments were conducted on the equipment of the Holland Computing Center at UNL.

Karakashian: Ph.D. Defense

- Avoids enumerating non-connected k-subgraphs
- Competitive on large graphs with small k

b

a

e

c

d

Karakashian: Ph.D. Defense

- Solution Cover Problem
- Given a CSPwith global constraints
- is there a set of k solutions
- such that ever tuple in the minimal CSP is covered by at least one solution in the set?

- Set Cover Problem ⟶ Solution Cover Problem
- Set Cover Problem
- Given a finite set U and a collection S of subsets of U
- Are there k elements of S
- Whose union is U?

Karakashian: Ph.D. Defense