### Tree Clustering for Constraint Networks

Tree Clustering for
Constraint Networks
By Rina Dechter & Judea Pearl
Artificial Intelligence, Oct 1988
Chris Reeson
Fall 2009
1
Overview
• Contributions of the Paper
• Context of the Paper
• Algorithms
– Tree Clustering
• Relative Merits
• Conclusion
• Related algorithms
2
Contributions of the Paper
• Introduces Tree Clustering (T-C) for backtrackfree search
• Introduces the Adaptive Consistency (A-C)
algorithm
• Compares the two algorithms
3
Context
• Two ways to restrict CSPs to make finding the minimal
CSP efficient
– Topology of constraint graph
– Types of constraints
• T-C & A-C
– Target the topology: tree
– Are applicable to binary & non-binary CSPs
• Two ways to transform a constraint graph into a tree
– Remove redundant arcs in dual graphs (join tree)
– Form larger clusters of c-variables (simulates a join tree)
4
Definitions
• Hyper, dual, and primal graphs
Hypergraph
Dual graph
Primal graph
h5
8
1
h6
9
h8
2
h7
3
h2
13
h8
8
7
h3
h2
6
3
2
1
11
9
4
10
h4
13
5
h4
h7
h6
4
12
h1
h5
h3
10 11
8
5
12
8
7
6
• The discussion focuses on primal graphs for
simplicity
5
From Join Graph to Join Tree
• Join Graph
– Start w/ the dual graph, remove redundant
edges while maintaining the connectedness
property
– Connectedness property: For each two nodes
sharing a variable, there is at least one path of
labeled arcs containing the shared variable
A
ABC
AEF
C
AE
AC
ACE
E
CDE
CE
• Join Tree
– When the join graph is a tree, the dual CSP can
be solved BT free w/ directional arc consistency
– What if there isn’t a join tree?
 The idea for Tree Clustering
ABC
AEF
AE
AC
ACE
CE
CDE
Motivating Problem
Constraint Graph
C<A
C
A
C≠D
D
A solution
1
4
2
3
3
4
A≠B
D<A C<B
B
D<B
F>B
E>B
F
E
G>F
G>E
G
5
Domains: {1, 2, 3, 4, 5}
7
Overview
• Contributions of the Paper
• Context of the Paper
• Algorithms
– Tree Clustering (T-C)
• Relative Merits
• Conclusion
• Related Algorithms
8
Tree Clustering (T-C): Idea
• A CSP organized as a join tree can be solved
efficiently
• Tree Clustering Algorithm
– Solves a CSP by breaking it into subproblems
– Triangulates the primal graph
– Solves subproblems & combines the solutions
C
A
C
A
ABCD
BD
D
B
D
BED
B
DE
F
E
F
DFE
E
EF
G
G
EFG
9
Tree Clustering (T-C): Algorithm
1. Triangulate the primal graph
2. Identify all the maximal cliques
in the primal chordal graph
3. Form a join tree
4. Solve the subproblems
–
Each cluster becomes single
variable
5. Solve the tree problem
–
–
Perform DAC from leaves to
root
Instantiate BT-free from root to
leaves
C
A
D
B
F
E
G
1
4
342, 351, 221, …
2
3
DFE
234, 415, 153, …
3
4
EFG
435, 123, 112, …
ABCD
4312, 5312, 5432, …
BD
BED
DE
EF
5
10
Tree Clustering (T-C): Costs
1. Given a CSP and its primal
graph generate a chordal
primal graph: O(n2)
2. Identify all the maximal
cliques in the primal
chordal graph: O(|E’|)
3. Form the dual graph: O(n)
4. Solve the sub problems:
O(kr) where k=domain size
5. Solve the tree problem:
O(n ∙ t log t)…
C
A
D
B
F
E
G
1
4
342, 351, 221, …
2
3
DFE
234, 415, 153, …
3
4
EFG
435, 123, 112, …
ABCD
4312, 5312, 5432, …
BD
BED
DE
EF
5
11
Tree Clustering (T-C): Total Cost
• Dominated by O(n ∙ t log t)
– t is the largest number of solutions in a cluster,
t ≤ kr
– Time: O(n ∙ kr ∙ r log k) = O(nr ∙ kr )
– Space: O(n ∙ kr )
12
Overview
• Contributions of the Paper
• Context of the Paper
• Algorithms
– Tree Clustering (T-C)
• Relative Merits
• Conclusion
• Related Algorithms
13
• An ordered constraint graph is backtrack-free
if the level of directional strong consistency
along this order is greater than the width of
the ordered graph
• Beware
– Enforcing i-consistency for i > 2 often requires the
addition of constraints which increase the width
14
• Given an ordering d,
– d-i-consistency is defined recursively
– letting i change dynamically from node to node
• (A-C later redefined as bucket elimination)
15
A
1.
2.
3.
4.
For i=n downto 1 do Steps 2-4
Compute PARENTS(Xi)
Connect all PARENTS(Xi)
Perform Consistency(Xi,
PARENTS(Xi))  joining the
constraints between Xi & its
parents
5. Build a solution BT-free in the
ordering (X1, …, Xn)
C
A
D
B
F
E
C
B
D
E
F
G
G
A
C
tighten A by 2 consist
B
ACB join CB join AC to tighten AC by 3c
D
BE join CB join AC to tighten ACB by 4c
E
tighten D by 2 consist
F
EF join DE to tighten DE by 3 consist
G
GF join GE to tighten EF by 3 consist
16
• Time: O(n ∙ exp(W*(d) + 1)), see Dechter page 109
• Space: O(n ∙ kW*(d))
17
Overview
• Contributions of the Paper
• Context of the Paper
• Algorithms
– Tree Clustering (T-C)
• Relative Merits
• Conclusion
• Related Algorithms
18
Relative Merits
A
• Arcs resulting from triangulation
consistency, for the same ordering
• Every cluster in T-C is represented in AC by a series of smaller constraints
• Similar bounds
– W*(d) + 1 = the size of the largest clique
• A-C eliminates the redundancy of
generated solutions
• T-C enumerates all solutions that A-C
represents via constraints.
C
A
D
B
F
E
C
B
D
E
F
G
G
A
C
A
D
B
F
E
C
B
D
E
F
G
G
19
Conclusions
• Tree clustering groups c-nodes into a tree capable
• Useful in systems that need to answer many
questions about a dataset and where the
environmental conditions undergo local changes
• Recently, researchers have started looking at T-C
for solving the CSP, see BTD by Jégou & Terrioux
(and others in soft CSPs)
20
Note On Triangulation
• Find the triangulated graph w/ smallest maximum clique: NP-hard
• Heuristics
– Operation: when eliminating a node, connect all its neighbors, to form
a clique (fill edges)
– H1: choose the node w/ smallest degree
– H2: choose the node that, after elimination, yields the smallest
number of fill edges
– H3: Given any ordering (e.g., maximal cardinality ordering), moralize
the graph
• Elimination order is the reverse of instantiation order
• Elimination order of a triangulated graph is called a perfect
elimination scheme
– In this ordering, every node is simplicial: forms a clique w/ its
neighbors
– If you follow elimination order, no fill edges need to be added
Maximal Cardinality Ordering
• An approximation of min. width ordering
• Choose a node arbitrarily a simplicial node
• Among the remaining nodes, choose the one
that is connected to the maximum number of
already chosen nodes, break ties arbitrarily
• Repeat…
• Reverse the final order
Tsang 6.2.4
Dechter Fig 4.5