Title: Tree Decomposition methods Chapter 9
1Tree Decomposition methodsChapter 9
2Graph concepts reviewsHyper graphs and dual
graphs
- A hypergraph is H (V,S) , V v_1,..,v_n and a
set of subsets Hyperegdes SS_1, ..., S_l . - Dual graphs of a hypergaph The nodes are the
hyperedges and a pair of nodes is connected if
they share vertices in V. The arc is labeled by
the shared vertices. - A primal graph of a hypergraph H (V,S) has V
as its nodes, and any two nodes are connected by
an arc if they appear in the same hyperedge. - if all the constraints of a network R are binary,
then its hypergraph is identical to its primal
graph.
3Acyclic Networks
- The running intersection property
(connectedness) An arc can be removed from the
dual graph if the variables labeling the arcs are
shared along an alternative path between the two
endpoints. - Join graph An arc subgraph of the dual graph
that satisfies the connectedness property. - Join-tree a join-graph with no cycles
- Hypertree A hypergraph whose dual graph has a
join-tree. - Acyclic network is one whose hypergraph is a
hypertree.
4Solving acyclic networks
- Algorithm acyclic-solving applies a tree
algorithm to the join-tree. It applies (a little
more than) directional relational arc-consistency
from leaves to root. - Complexity acyclic-solving is O(r l log l)
steps, where r is the number of constraints and l
bounds the number of tuples in each constraint
relation - (It assumes that join of two relations when ones
scope is a subset of the other can be done in
linear time)
5Example
- Constraints are R_ABC R_AEF R_CDE
(0,0,1) (0,1,0)(1,0,0) and R_ACE (1,1,0)
(0,1,1) (1,0,1) . - d (R_ACE,R_CDE,R_AEF,R_ABC).
- When processing R_ABC, its parent relation is
R_ACE we generate \pi_ACE (R_ACE x
R_ABC), yielding R_ACE (0,1,1)(1,0,1). - processing R_AEF we generate relation R_ACE
\pi_ACE ( R_ACE x R_AEF ) (0,1,1). - processing R_CDE we generate R_ACE
\pi_ACE ( R_ACE x R_CDE ) (0,1,1). - A solution is generated by picking the only
allowed tuple for R_ACE, A0,C1,E1, extending
it with a value for D that satisfies R_CDE,
which is only D0, and then similarly extending
the assignment to F0 and B0, to satisfy R_AEF
and R_ABC.
6Recognizing acyclic networks
- Dual-based recognition
- perform maximal spanning tree over the dual graph
and check connectedness of the resulting tree. - Dual-acyclicity complexity is O(e3)
- Primal-based recognition
- Theorem (Maier 83) A hypergraph has a join-tree
iff its primal graph is chordal and conformal. - A chordal primal graph is conformal relative to
a constraint hypergraph iff there is a one-to-one
mapping between maximal cliques and scopes of
constraints.
7Primal-based recognition
- Check cordality using max-cardinality ordering.
- Test conformality
- Create a join-tree connect every clicque to an
earlier clique sharing maximal number of variables
8Tree-based clustering
- Convert a constraint problem to an acyclic-one
group subset of constraints to clusters until we
get an acyclic problem. - Hypertree embedding of a hypergraph H (X,H) is
a hypertree S (X, S) s.t., for every h in H
there is h_1 in S s.t. h is included in h_1. - This yield algorithm join-tree clustering
- Hypertree partitioning of a hypergraph H (X,H)
is a hypertree S (X, S) s.t., for every h in H
there is h_1 in S s.t. h is included in h_1 and
X is the union of scopes in h_1.
9Join-tree clustering
- Input A constraint problem R (X,D,C) and its
primal graph G (X,E). - Output An equivalent acyclic constraint problem
and its join-tree T (X,D, C ) - 1. Select an d (x_1,...,x_n)
- 2. Triangulation(create the induced graph along
d and call it G ) - for jn to 1 by -1 do
- E ? E U (i,k) (i,j) in E,(k,j) in E
- 3. Create a join-tree of the induced graph G
- a. Identify all maximal cliques (each
variable and its parents is a clique). - Let C_1,...,C_t be all such cliques,
- b. Create a tree-structure T over the
cliques - Connect each C_i to a C_j (j lt I) with
whom it shares largest subset of variables. - 4. Place each input constraint in one clique
containing its scope, and let - P_i be the constraint subproblem associated
with C_i. - 5. Solve P_i and let R'_i be its set of
solutions. - 6. Return C' R'_1,..., R'_t
- the new set of constraints and their join-tree,
T.
10Example of tree-clustering
11Complexity of JTC
- THEOREM 5 (complexity of JTC)
- join-tree clustering is O(r k (w(d)1)) time
and O(nk(w(d)1)) space, where k is the
maximum domain size and w(d) is the induced
width of the ordered graph. - The complexity of acyclic-solving is O(nw(d) log
k k(w(d)1))
12Unifying tree-decompositions
- Let PltX,D,Cgt be an automated reasoning problem.
A tree decomposition is ltT,?,?gt, such that - T(V,E) is a tree
- ? associates a set of variables ?(v)?X with each
node - ? associates a set of functions ?(v)?C with each
node - such that
- 1. ?Ri?C, there is exactly one v such that
Ri??(v) and scope(Ri)??(v). - 2. ?x?X, the set v?Vx??(v) induces a connected
subtree.
13HyperTree Decomposition
- Let PltX,D,Cgt be an automated reasoning problem.
A tree decomposition is ltT,?,?gt, such that - T(V,E) is a tree
- ? associates a set of variables ?(v)?X with each
node - ? associates a set of functions ?(v)?C with each
node - such that
- 1. ?Ri?C, there is exactly one v such that
Ri??(v) and scope(Ri)??(v). - 1a. ?v, ?(v) ? scope(?(v)).
- 2. ?x?X, the set v?Vx??(v) induces a connected
subtree.
w (tree-width) is maxv?V ?(v)
hw (hypertree width) is maxv?V ?(v) sep
(max separator size) is max(u,v) sep(u,v)
14Example of two join-trees again
Tree decomposition
hyperTree- decomposition
15Cluster Tree Elimination
- Cluster Tree Elimination (CTE) works by passing
messages along a tree-decomposition - Basic idea
- Each node sends one message to each of its
neighbors - Node u sends a message to its neighbor v only
when u received messages from all its other
neighbors
16Constraint Propagation
17Implementation tradeoffs
- Implementing Equation 1 The particular
implementation of equation (1) in CTE can vary. - One option is to generate the combined relation
(1Ri2clusterv(u) Ri) before sending messages to - neighbor v. The other option, which we assume
here, is that the message sent to each neighbor
is - created without recording the relation
(1Ri2clusterv(u) Ri). Rather, each tuple in the
join is projected - on the separator immediately after being created.
This will yields a better memory utilization. - Furthermore, when u sends a message to v its
cluster may contain the message it received from - v. Thus in a synchronized message passing we can
allow a single enumeration of the tuples in - cluster(u) when the messages are sent back
towards the leaves, each of which be projected in - parallel on the separators of the outgoing
messages. - The output of CTE is the original
tree-decomposition where
18Cluster-Tree Elimination (CTE)
m(u,w) ?sep(u,w) ?j m(vj,u) ? ?(u)
?(u) ?(u)
...
m(v1,u)
m(vi,u)
m(v2,u)
19Cluster Tree Elimination - properties
- Correctness and completeness Algorithm CTE is
correct, i.e. it computes the exact joint
probability of every single variable and the
evidence. - Time complexity O ( deg ? (nN) ? d w1 )
- Space complexity O ( N ? d sep)
- where deg the maximum degree of a node
- n number of variables ( number of CPTs)
- N number of nodes in the tree decomposition
- d the maximum domain size of a variable
- w the induced width
- sep the separator size
- Time and space by hyperwidth only if hypertree
decomposition - time and O(N tw) space,
20Cluster Tree Elimination - properties
- Correctness and completeness Algorithm CTE is
correct, i.e. it computes the exact joint
probability of a single variable and the
evidence. - Time complexity O ( deg ? (rN) ? kw1 )
- Space complexity O ( N ? d sep)
- where deg the maximum degree of a node
- nr number of of CPTs
- N number of nodes in the tree decomposition
- k the maximum domain size of a variable
- w the induced width
- sep the separator size
- JTC is O ( r ? k w1 ) time and space
21Example of CTE message propagation
22Join-Tree Decomposition(Dechter and Pearl 1989)
- Each function in a cluster
- Satisfy running intersection property
- Tree-width number of variables in a cluster-1
- Equals induced-width
23Cluster Tree Elimination
A B C R(a), R(b,a), R(c,a,b)
1
join
project
BC
B C D F R(d,b), R(f,c,d),h(1,2)(b,c)
2
sep(2,3)B,F elim(2,3)C,D
BF
B E F R(e,b,f), h(2,3)(b,f)
3
EF
E F G R(g,e,f)
4
24CTE Cluster Tree Elimination
Time O ( exp(w1 )) Space O (
exp(sep)) Time O(exp(hw)) (Gottlob et. Al.,
2000)
25Decomposable subproblems
- DEFINITION 8 (decomposable subproblem) Given a
constraint problem R (XDC) and a - subset of variables Y µ X, a subproblem over Y ,
RY (YDY CY ), is decomposable relative - to R iff sol(RY ) ¼Y sol(R) where sol(R) is the
set of all solutions of network R
26Distributed relational arc-consistency example
A B
1 2
1 3
2 1
2 3
3 1
3 2
A
1
2
3
A
The message that R2 sends to R1 is R1 updates
its relation and domains and sends messages to
neighbors
A C
1 2
3 2
B
C
D
F
B C F
1 2 3
3 2 1
G
A B D
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
D F G
1 2 3
2 1 3
27Distributed Arc-Consistency
- DR-AC can be applied to the dual problem of any
constraint network.
b) Constraint network
28DR-AC on a dual join-graph
A
1
2
3
A B
1 2
1 3
2 1
2 3
3 1
3 2
A C
1 2
3 2
B C F
1 2 3
3 2 1
A B D
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
D F G
1 2 3
2 1 3
29Iteration 1
A
1
2
3
A
1
2
3
A
1
3
A
1
2
3
B
A B
1 2
1 3
2 1
2 3
3 1
3 2
A
1
2
3
B
1
2
3
1
3
A C
1 2
3 2
A
1
2
3
C
2
B C F
1 2 3
3 2 1
C
2
B
1
2
3
F
1
3
A
1
2
3
D
1
2
B
1
2
3
A B D
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
D F G
1 2 3
2 1 3
F
1
3
D
1
2
3
30Iteration 1
A
1
3
A B
1 3
2 1
2 3
3 1
A C
1 2
3 2
B C F
1 2 3
3 2 1
A B D
1 3 2
2 3 1
3 1 2
3 2 1
D F G
2 1 3
31Iteration 2
A
1
3
A
1
2
3
A
1
3
A
1
2
3
A B
1 3
2 1
2 3
3 1
A
1
3
B
1
2
3
A C
1 2
3 2
A
1
3
C
2
B C F
1 2 3
3 2 1
C
2
F
1
B
1
3
A B D
1 3 2
2 3 1
3 1 2
3 2 1
A
1
3
D
2
B
1
3
D F G
2 1 3
F
1
3
D
1
2
32Iteration 2
A
1
3
A B
1 3
3 1
A C
1 2
3 2
B C F
3 2 1
A B D
1 3 2
3 1 2
D F G
2 1 3
33Iteration 3
A
1
3
A
1
3
A
1
3
A
1
3
B
3
A
1
3
A B
1 3
3 1
B
1
3
A
1
3
C
2
A C
1 2
3 2
C
2
F
1
B C F
3 2 1
B
1
3
A
1
3
D
2
B
1
3
A B D
1 3 2
3 1 2
F
1
D
2
D F G
2 1 3
34Iteration 3
A
1
3
A B
1 3
A C
1 2
3 2
B C F
3 2 1
A B D
1 3 2
3 1 2
D F G
2 1 3
35Iteration 4
A
1
A
1
3
A
1
3
A
1
3
B
3
A
1
3
A B
1 3
B
1
3
A
1
3
C
2
A C
1 2
3 2
C
2
F
1
B C F
3 2 1
B
3
A
1
3
D
2
B
1
3
A B D
1 3 2
3 1 2
F
1
D
2
D F G
2 1 3
36Iteration 4
A
1
A B
1 3
A C
1 2
3 2
B C F
3 2 1
A B D
1 3 2
D F G
2 1 3
37Iteration 5
A
1
A
1
A
1
A
1
B
3
A
1
B
3
A B
1 3
A
1
C
2
A C
1 2
3 2
C
2
F
1
B C F
3 2 1
B
3
B
3
A
1
D
2
A B D
1 3 2
F
1
D
2
D F G
2 1 3
38Iteration 5
A
1
A B
1 3
A C
1 2
B C F
3 2 1
A B D
1 3 2
D F G
2 1 3
39Join-tree clustering is a restricted
tree-decompositionexample
40Adaptive-consistency as tree-decomposition
- Adaptive consistency is a message-passing along a
bucket-tree - Bucket trees each bucket is a node and it is
connected to a bucket to which its message is
sent. - The variables are the clicue of the triangulated
graph - The funcions are those placed in the initial
partition
41Bucket EliminationAdaptive Consistency (Dechter
and Pearl, 1987)
RCBE
RDBE ,
RE
42From bucket-elimination to bucket-tree propagation
43The bottom up messages
44Adaptive-Tree-Consistency as tree-decomposition
- Adaptive consistency is a message-passing along a
bucket-tree - Bucket trees each bucket is a node and it is
connected to a bucket to which its message is
sent. - Theorem A bucket-tree is a tree-decomposition
- Therefore, CTE adds a bottom-up message passing
to bucket-elimination. - The complexity of ATC is O(r deg k(w1))
45Join-Graphs and Iterative Join-graph propagation
(IJGP)