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: 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
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.
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.
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.
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.
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?
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 𝐻 .
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
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}
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 𝑌 𝑏 ∩ 𝑌 𝑐 . 𝑏𝑐 ∈ 𝐹(𝑈)
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 𝑌 𝑏 ∩ 𝑌 𝑐 .
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}
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}
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}
Nice Tree Decomposition - motivation
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:
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
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