algorithms for graphs of
play

Algorithms for Graphs of Bounded Treewidth Made by Moshe Sebag CS - PowerPoint PPT Presentation

Algorithms for Graphs of Bounded Treewidth Made by Moshe Sebag CS department, Technion The material for all parts of this lecture appears in Chapter 7 of the book "Parameterized Algorithms", by Cygan et al. Table of Content Into:


  1. Algorithms for Graphs of Bounded Treewidth Made by Moshe Sebag CS department, Technion The material for all parts of this lecture appears in Chapter 7 of the book "Parameterized Algorithms", by Cygan et al.

  2. Table of Content  Into: explanation of the term "treewidth of a graph “  Definitions: 1. Tree decomposition of a graph 2. Nice tree decomposition  Dynamic Programming (DP) on graphs of bounded treewidth  Example of DP-based algorithm for Weighted Independent Set  Run-time analysis of the algorithm  Treewidth and Monadic second-order Logic  Courcelle's theorem

  3. Treewidth of a Graph  The treewidth of an undirected graph is a number associated with the graph.  Very roughly, treewidth captures how similar a graph is to a tree.  Treewidth is commonly used as a parameter in the parameterized complexity analysis of graph algorithms.  In this lecture, we focus on connections to the idea of dynamic programming on the structure of a graph.

  4. Treewidth of a Graph  The treewidth of an undirected graph is a number associated with the graph.  Very roughly, treewidth captures how similar a graph is to a tree. But how do you  Treewidth is commonly used as a parameter in calculate the the parameterized complexity analysis of graph algorithms. treewidth of a  In this lecture, we focus on connections to the idea of dynamic graph? programming on the structure of a graph.

  5. Tree Decomposition  a tree decomposition is a mapping of a graph into a tree that can be used to define the treewidth of the graph.

  6. Tree Decomposition  Definition: a tree decomposition of a graph 𝐻 is a pair 𝓤 = (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) , where 𝑈 is a tree whose every node 𝑢 is assigned a vertex subset 𝑌 𝑢 ⊆ 𝑊 (𝐻) .  The following three conditions hold:  (T1) ڂ 𝑢∈𝑊(𝑈) 𝑌 𝑢 = 𝑊(𝐻)  (T2) For every 𝑣𝑤 ∈ 𝐹(𝐻) , there exists a node 𝑢 of 𝑈 such that bag 𝑌 𝑢 contains both 𝑣 and 𝑤 .  (T3) For every 𝑣 ∈ 𝑊 (𝐻) , the set 𝑈 𝑣 = {𝑢 ∈ 𝑊 (𝑈) ∶ 𝑣 ∈ 𝑌 𝑢 } , induces a connected subtree of T.

  7. Tree Decomposition  Definition: a tree decomposition of a graph 𝐻 is a pair 𝓤 = (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) , where 𝑈 is a tree whose every node 𝑢 is assigned a vertex subset 𝑌 𝑢 ⊆ 𝑊 (𝐻) .  The following three conditions hold:  (T1) ڂ 𝑢∈𝑊(𝑈) 𝑌 𝑢 = 𝑊(𝐻)  (T2) For every 𝑣𝑤 ∈ 𝐹(𝐻) , there exists a node 𝑢 of 𝑈 such that bag 𝑌 𝑢 contains both 𝑣 and 𝑤 . I still didn ’ t get  (T3) For every 𝑣 ∈ 𝑊 (𝐻) , the set 𝑈 𝑣 = {𝑢 ∈ 𝑊 (𝑈) ∶ 𝑣 ∈ 𝑌 𝑢 } , induces a connected what is the subtree of T. TREEWIDTH?

  8. Treewidth by a Tree Decomposition  After we defined what a tree composition is, we can define the treewidth of a graph.  The width of tree decomposition 𝓤 = (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) equals max 𝑢∈𝑊 𝑈 |𝑌 𝑢 | − 1 ,  The treewidth of a graph 𝐻 , denoted by 𝑢𝑥(𝐻), is the minimum possible width of a tree decomposition of 𝐻 .

  9. Tree Decomposition Intro to Lemma 1.  Definition 1: (𝐵, 𝐶) is a separation of a graph 𝐻 if 𝐵 ∪ 𝐶 = 𝑊(𝐻) and there is no edge between 𝐵 \ 𝐶 and 𝐶 \ 𝐵  Definition 2: Let (𝐵, 𝐶) be a separation of a graph, then 𝐵 ∩ 𝐶 is a separator of this separation, and |𝐵 ∩ 𝐶| is the order of the separation. ({A,B,C,D,E}, {B,E,F,G,H}) is a separation of the graph. {B,E} is the separator

  10. Tree Decomposition Intro to Lemma 1.  Definition 3: Let A be a subset of 𝑊(𝐻) , the border of A , denoted by ∂ (A) , is the set of those vertices of A that have a neighbor in 𝑊(𝐻)\A .  For us the most crucial property of tree decompositions is that they define a sequence of separators in the graph. For the subset {A,B,C,D,E}, ∂ (A)={B,E}

  11. Tree Decomposition  Lemma 1. Let (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) be a tree decomposition of a graph 𝐻 and let 𝑏𝑐 be an edge of 𝑈 . The forest 𝑈 − 𝑏𝑐 obtained from 𝑈 by deleting edge ab consists of two connected components 𝑈 𝑏 (containing a) and 𝑈 𝑐 (containing b). Let K =ڂ 𝑢∈𝑊 (𝑈 𝑏 ) 𝑌 𝑢 and M =ڂ 𝑢∈𝑊 (𝑈 𝑐 ) 𝑌 𝑢 . Then 𝜖(𝐿), 𝜖(𝑁) ⊆ 𝑌 𝑏 ∩ 𝑌 𝑐 . Equivalently, (K, M) is a separation of G with separator 𝑌 𝑏 ∩ 𝑌 𝑐 . 𝑏𝑐 ∈ 𝐹(𝑈)

  12. Tree Decomposition  Lemma 1. Let (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) be a tree decomposition of a graph 𝐻 and let 𝑏𝑐 be an edge of 𝑈 . The forest 𝑈 − 𝑏𝑐 obtained from 𝑈 by deleting edge ab consists of two connected components 𝑈 𝑏 (containing a) and 𝑈 𝑐 (containing b). Let K =ڂ 𝑢∈𝑊 (𝑈 𝑏 ) 𝑌 𝑢 and M =ڂ 𝑢∈𝑊 (𝑈 𝑐 ) 𝑌 𝑢 . Then 𝜖(𝐿), 𝜖(𝑁) ⊆ 𝑌 𝑏 ∩ 𝑌 𝑐 . Equivalently, (K, M) is a separation of G with separator 𝑌 𝑏 ∩ 𝑌 𝑐 .

  13. Tree Decomposition  Lemma 1. Let (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) be a tree decomposition of a graph 𝐻 and let 𝑏𝑐 be an edge of 𝑈 . The forest 𝑈 − 𝑏𝑐 obtained from 𝑈 by deleting edge ab consists of two connected components 𝑈 𝑏 (containing a) and 𝑈 𝑐 (containing b). Let K =ڂ 𝑢∈𝑊 (𝑈 𝑏 ) 𝑌 𝑢 and M =ڂ 𝑢∈𝑊 (𝑈 𝑐 ) 𝑌 𝑢 . Then 𝜖(𝐿), 𝜖(𝑁) ⊆ 𝑌 𝑏 ∩ 𝑌 𝑐 . Equivalently, (K, M) is a separation of G with separator 𝑌 𝑏 ∩ 𝑌 𝑐 . K= {A,B,C,D,E} M= {B,E,F,G,H}

  14. Tree Decomposition  Lemma 1. Let (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) be a tree decomposition of a graph 𝐻 and let 𝑏𝑐 be an edge of 𝑈 . The forest 𝑈 − 𝑏𝑐 obtained from 𝑈 by deleting edge ab consists of two connected components 𝑈 𝑏 (containing a) and 𝑈 𝑐 (containing b). Let K =ڂ 𝑢∈𝑊 (𝑈 𝑏 ) 𝑌 𝑢 and M =ڂ 𝑢∈𝑊 (𝑈 𝑐 ) 𝑌 𝑢 . Then 𝜖(𝐿), 𝜖(𝑁) ⊆ 𝑌 𝑏 ∩ 𝑌 𝑐 . Equivalently, (K, M) is a separation of G with separator 𝑌 𝑏 ∩ 𝑌 𝑐 . K= {A,B,C,D,E} M= {B,E,F,G,H} 𝑌 𝑏 = {C,B,E} 𝑌 𝑐 = {B,E,G} 𝑌 𝑏 ∩ 𝑌 𝑐 = {B,E} 𝜖(𝐿) = {B,E} 𝜖(𝑁) = {B,E}

  15. Tree Decomposition  Lemma 1. Let (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) be a tree decomposition of a graph 𝐻 and let 𝑏𝑐 be an edge of 𝑈 . The forest 𝑈 − 𝑏𝑐 obtained from 𝑈 by deleting edge ab consists of two connected components 𝑈 𝑏 (containing a) and 𝑈 𝑐 (containing b). Let K =ڂ 𝑢∈𝑊 (𝑈 𝑏 ) 𝑌 𝑢 and M =ڂ 𝑢∈𝑊 (𝑈 𝑐 ) 𝑌 𝑢 . Wouldn ’ t it be Then 𝜖(𝐿), 𝜖(𝑁) ⊆ 𝑌 𝑏 ∩ 𝑌 𝑐 . Equivalently, (K, M) is a separation of G with complicated to separator 𝑌 𝑏 ∩ 𝑌 𝑐 . plan the dynamic programming on K= {A,B,C,D,E} TD? M= {B,E,F,G,H} 𝑌 𝑏 = {C,B,E} 𝑌 𝑐 = {B,E,G} 𝑌 𝑏 ∩ 𝑌 𝑐 = {B,E} 𝜖(𝐿) = {B,E} 𝜖(𝑁) = {B,E}

  16. Nice Tree Decomposition - motivation

  17. Nice Tree Decomposition  We will think of a nice tree decompositions as rooted trees.  A (rooted) tree decomposition (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) is nice if the following conditions are satisfied:  𝑌 𝑠 = ∅ for 𝑠 the root of 𝑈 and 𝑌 𝑚 = ∅ for every leaf 𝑚 of 𝑈 .  Every non-leaf node of 𝑈 is of one of the following three types:

  18. Nice Tree Decomposition  We will think of a nice tree decompositions as rooted trees.  A (rooted) tree decomposition (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) is nice if the following conditions are satisfied:  𝑌 𝑠 = ∅ for 𝑠 the root of 𝑈 and 𝑌 𝑚 = ∅ for every leaf 𝑚 of 𝑈 . Introduce  Every non-leaf node of 𝑈 is of one of the following three types: node: 1. Introduce node: ABC a node 𝑢 with exactly one child 𝑢′ such that 𝑌 𝑢 = 𝑌 𝑢′ ∪ {𝑤} for some vertex 𝑤 ∉ 𝑌 𝑢′ (we say that 𝑤 is introduced at 𝑢 ). AB

  19. Nice Tree Decomposition  We will think of a nice tree decompositions as rooted trees.  A (rooted) tree decomposition (𝑈, 𝑌 𝑢 𝑢∈𝑊 𝑈 ) is nice if the following conditions are satisfied:  𝑌 𝑠 = ∅ for 𝑠 the root of 𝑈 and 𝑌 𝑚 = ∅ for every leaf 𝑚 of 𝑈 .  Every non-leaf node of 𝑈 is of one of the following three types: Forget node: 1. Introduce node: AB a node 𝑢 with exactly one child 𝑢′ such that 𝑌 𝑢 = 𝑌 𝑢′ ∪ {𝑤} for some vertex 𝑤 ∉ 𝑌 𝑢′ (we say that 𝑤 is introduced at 𝑢 ). 2. Forget node: ′ ∪ {w} for some vertex a node 𝑢 with exactly one child 𝑢′ such that 𝑌 𝑢 = X t (we say that 𝑥 is forgotten at 𝑢 ). ABC

Recommend


More recommend