1 / 25

Chapter 9 – Tree Decomposition Methods- Part II

Chapter 9 – Tree Decomposition Methods- Part II. Anagh Lal CSCE 990-06 Advanced Constraint Processing. Outline. Unifying Tree-decomposition schemes What is a tree-decomposition? Processing a tree-decomposition, Cluster-Tree Elimination (CTE) Join tree clustering as tree-decomposition

yetty
Télécharger la présentation

Chapter 9 – Tree Decomposition Methods- Part II

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 9 – Tree Decomposition Methods- Part II Anagh Lal CSCE 990-06 Advanced Constraint Processing 1

  2. Outline • Unifying Tree-decomposition schemes • What is a tree-decomposition? • Processing a tree-decomposition, Cluster-Tree Elimination (CTE) • Join tree clustering as tree-decomposition • Adaptive-consistency as tree-decomposition. 2

  3. Unifying Tree-Decomposition Schemes • We saw how JTC compiled a general an arbitrary constraint network into an acyclic one. • We also saw an algorithm for solving acyclic networks. • The unifying approach is presented as an algorithm combining the compilation phase and the solution phase of the compiled representation. 3

  4. Tree decomposition • Definition: R = (X, D, C) be a CSP problem. A tree decomposition for R is a triple <T,x,> , where T = (V, E) is a tree, x and  are labelling functions which associate each vertex v from V with two sets x(v) Xand (v)  Cthat satisfy the following conditions: • Each constraint from C is part of some set (v) • Each variable in X, the set {vV | the variable is a part of x(v)} induces a connected subtree of T (connectedness property) Let’s see an example… 4

  5. More definitions • Tree-width: maximum cardinality from the set of x(v) • Hyper-width: maximum cardinality from the set of (v) • Separator: sep(u, v) = x(u)x(v) 5

  6. Tree-decomposition and hypertree embedding • Tree-decomposition defines a hypertree embedding of a hypergraph • Smallest tree-width and hyper-width among all such embeddings are called the tree-width and the hyper-width of the constraint hypergraph, respectively. 6

  7. Decomposable subproblem • A subproblem of a constraint network is decomposable relative to the whole network if you can obtain solutions of the subproblem without referring to the remaining network • A subproblem over a subset of Y variables is decomposable relative to the whole network, if its set of solutions is identical to the projection of the network’s solution on Y 7

  8. Cluster-Tree Elimination (CTE) • A tree decomposition facilitates solving many reasoning tasks including constraint satisfaction, optimization, and probabilistic reasoning tasks. • Algorithm Cluster Tree Elimination (CTE) is used for processing a tree decomposition. • The algorithm computes a decomposable subproblem for each node in the tree. 8

  9. CTE-Algorithm • Input: A tree decomposition <T,x,> for a problem R = <X, D, C>. • Output: An augmented tree whose nodes are clusters containing the original constraints as well as messages received from neighbours. A decomposable problem for each node v. 9

  10. Algorithm- Steps for every edge (u,v) in the tree T, do • Compute message m(u,v) ( from u to v), cluster(u) = (u)  {m(i,u) | (i,u)  T, iv} After node u has received messages from all adjacent vertices, except maybe from v Compute and send to v: m(u,v) = sep(u,v)( cluster(u) Ri) end for Return: A tree-decomposition augmented with constraint messages. For every node u  T, return the decomposition subproblem cluster(u) = (u)  {m(i,u) | (i,u)  T, iv} 10

  11. Complexity. • N – number of nodes in the tree-decomposition. • w* be the tree-width • sep be its maximum seperator size • r- # constraints • deg – maximum degree in T • Space complexity: O(N.exp(sep)) • Time complexity: O((r+N).deg.exp(w*)) 11

  12. Time complexity • For a node u in the tree-decomposition T • # constraints processed = size of cluster = |(u)| + deg – 1 • Time complexity of processing node u (|(u)| + deg -1)exp(|x(u)|) = (|(u)| + deg -1)exp(|w*|) by definition of w*. Summing over all nodes  | (u)| = r So we have time complexity as (r.exp(w*) + N.deg.exp(w*) – N.exp(w*) ) This can be bounded by O(deg.(r+N).exp(w*)) 12

  13. Space complexity The computation of message is done as follows: m(u,v) = sep(u,v)(JoinRicluster(u) Ri) Computing joins, storing them and then projecting will lead to a space complexity exponential in |x(u)| or |w*|. But projecting after every join step will lead to a space complexity exponential in the separator size (sep). Thus for all nodes N, the space complexity is O(N.exp(sep)) 13

  14. JTC as tree-decomposition • Example on board. • Space complexity • JTC  exponential in w* • CTE  exponential in separator size, sep • Time Complexity • JTC  O(r.exp(w*)), If N < r • CTE  O( r.deg.exp(w*)) • There are tree-decompositions that will not be created by JTC. Consider the example 9.2.13 … 14

  15. Adaptive-consistency (AC) as tree-decomposition • AC can be viewed as a message passing algorithm along a “bucket-tree”, which is a special case of tree-decomposition. • Bucket-tree structure, first approach to description: • Consider a problem R = (X,D,C) and ordering d • Each bucket Bxicontains those constraints in C whose latest variable in d is xi • A bucket-tree of R and an ordering d, has buckets as its nodes, and bucket Bx is connected to bucket Byif the constraint generated by adaptive-consistency in bucket Bx is placed in By • In a bucket-tree every node Bx has one parent node By 15

  16. Bucket-tree structure • Bucket-tree structure, graph based description: • Let Gd bethe induced graph along ordering d of problem R having primal graph G. • Each variable x, and all of its earlier neighbours in the induced-graph reside in bucket Bx • Each node Bx points to By(By is the parent of Bx) if y is the latest earlier neighbour of x in Gd 16

  17. Bucket-tree is a tree-decomposition • Proof: Given problem R, its bucket-tree and two mappings: • x(Bx) contains x and its earlier neighbours in the induced graph along ordering d. • (Bx) contains all constraints whose highest-ordered argument is x • To prove • Each constraint from C is part of some set (v) and • Each variable in X, the set {vV | the variable is a part of x(v)} induces a connected subtree of T (connectedness property) 17

  18. Proof • By construction of the bucket-tree, the first requirement (for the labelling x) holds • Proof of connectedness: Proof by contradiction. 18

  19. Adaptive Tree Consistency • Since the bucket-tree is a tree-decomposition, it can be processed by CTE. • CTE adds a bottom-up message passing to adaptive consistency yielding Adaptive Tree Consistency (ATC). • Top-down phase: Each bucket receives messages from its children and sends to its parent  AC. • Bottom-up phase: Each bucket receives a constraint from its parent and sends constraints to its children. 19

  20. Algorithm • Input: Problem R =(X,D,C), ordering d • Output: Augmented buckets containing and all the  constraints received from neighbours in the bucket tree. • Steps: • Step 0: Pre-processing • Step 1: Top-down phase • Step 2: Bottom-up phase 20

  21. Steps-0,1 • Pre-processing: • Generate a bucket-tree using induced graph Gd • Top-down phase (AC): • For i= n to , process bucket Bxi: • Let 1,…, j be all the constraints in Bxi, including the original constraints of R. • The constraint yxi sent fromxito its parent y yxi (sep (xi,y)) =  sep(xi,y) (Join)ji=1 i 21

  22. Step-2 • Bottom-up phase: • For i= n to , process bucket Bxi: • Let 1,…, j be all the constraints in Bxi, including the original constraints of R • The constraint zjxi sent fromeach child zj zjxi (sep (xi, zj)) =  sep(xi,zj) (Join)ji=1 i 22

  23. Interesting note • Since a bucket-tree is a tree decomposition, and since it can be shown theat CTE applied to a bucket-tree is equivalent to ATC, then ATC : • Generates back-track free representation along certain orderings (width = 1) and, • Augments this representation with the generation of minimal subproblems. 23

  24. Complexity of ATC • Notation: • w* - induced width along ordering d • deg – maximum degree in the bucket-tree • r- # constraints • Time complexity • O(r.deg.exp(w*)) • Space complexity • O(n.exp(w*)) 24

  25. Discussion • Questions • Comments 25

More Related