Course Presentation: A Polynomial Kernel for Multicut in Trees, STACS 2009 Authors: Nicolas Bousquet, Jean Daligault, Stephan Thomasse, Anders Yeo Speaker:

Slides:



Advertisements
Similar presentations
Introduction to Algorithms NP-Complete
Advertisements

CS 336 March 19, 2012 Tandy Warnow.
Connectivity - Menger’s Theorem Graphs & Algorithms Lecture 3.
Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
The Grammar According to West By D.B. West. 5. Expressions as units. There exists i < j with x i = x j. ( Double-Duty Definition of i, not OK ) There.
1 Matching Polytope x1 x2 x3 Lecture 12: Feb 22 x1 x2 x3.
Edge-connectivity and super edge-connectivity of P 2 -path graphs Camino Balbuena, Daniela Ferrero Discrete Mathematics 269 (2003) 13 – 20.
Introduction to Graphs
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
A Separator Theorem for Graphs with an Excluded Minor and its Applications Paul Seymour Noga Alon Robin Thomas Lecturer : Daniel Motil.
Bart Jansen, Utrecht University. 2  Max Leaf  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least.
Minimum Spanning Trees Definition Two properties of MST’s Prim and Kruskal’s Algorithm –Proofs of correctness Boruvka’s algorithm Verifying an MST Randomized.
Bart Jansen, Utrecht University. 2  Max Leaf  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least.
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
1. Given a predetermined property and a graph we want to distinguish between the 2 cases: 1)The graph has the property 2) The graph is “far” from having.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Graph. Undirected Graph Directed Graph Simple Graph.
Graph Modeled Data Clustering: Fixed Parameter Algorithms for Clique Generation J. Gramm, J. Guo, F. Hüffner and R. Niedermeier Theory of Computing Systems.
Reduction Techniques Restriction Local Replacement Component Design Examples.
Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.
Graphs and Trees This handout: Trees Minimum Spanning Tree Problem.
Traveling with a Pez Dispenser (Or, Routing Issues in MPLS) Anupam Gupta Amit Kumar FOCS 2001 Rajeev Rastogi Iris Reinbacher COMP670P
Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints Maximal Matching: A maximal matching in a graph is a matching.
Increasing graph connectivity from 1 to 2 Guy Kortsarz Joint work with Even and Nutov.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
1 Section 8.4 Connectivity. 2 Paths In an undirected graph, a path of length n from u to v, where n is a positive integer, is a sequence of edges e 1,
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
K-Coloring k-coloring: A k-coloring of a graph G is a labeling f: V(G)  S, where |S|=k. The labels are colors; the vertices of one color form a color.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Outline Introduction The hardness result The approximation algorithm.
Fixed Parameter Complexity Algorithms and Networks.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
“On an Algorithm of Zemlyachenko for Subtree Isomorphism” Yefim Dinitz, Alon Itai, Michael Rodeh (1998) Presented by: Masha Igra, Merav Bukra.
Lecture 22 More NPC problems
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
Example Question on Linear Program, Dual and NP-Complete Proof COT5405 Spring 11.
Approximation Algorithms
Based on slides by Y. Peng University of Maryland
 Rooted tree and binary tree  Theorem 5.19: A full binary tree with t leaves contains i=t-1 internal vertices.
5.2 Trees  A tree is a connected graph without any cycles.
1/24 Introduction to Graphs. 2/24 Graph Definition Graph : consists of vertices and edges. Each edge must start and end at a vertex. Graph G = (V, E)
Discrete Mathematics Chapter 5 Trees.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
 Quotient graph  Definition 13: Suppose G(V,E) is a graph and R is a equivalence relation on the set V. We construct the quotient graph G R in the follow.
Graphs Lecture 2. Graphs (1) An undirected graph is a triple (V, E, Y), where V and E are finite sets and Y:E g{X V :| X |=2}. A directed graph or digraph.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Power domination in block graphs Guangjun Xu Liying Kang Erfang Shan Min Zhao.
5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string.
Trees.
Discrete Mathematicsq
Computing Connected Components on Parallel Computers
12. Graphs and Trees 2 Summary
Lecture 12 Algorithm Analysis
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Planarity Testing.
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Md. Abul Kashem, Chowdhury Sharif Hasan, and Anupam Bhattacharjee
Lecture 12 Algorithm Analysis
Theorem 5.13: For vT‘, l’(v)= min{l(v), l(vk)+w(vk, v)}
Warm Up – Tuesday Find the critical times for each vertex.
Lecture 12 Algorithm Analysis
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Applied Discrete Mathematics Week 13: Graphs
Based on slides by Y. Peng University of Maryland
Switching Lemmas and Proof Complexity
Dominating Set By Eric Wengert.
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Course Presentation: A Polynomial Kernel for Multicut in Trees, STACS 2009 Authors: Nicolas Bousquet, Jean Daligault, Stephan Thomasse, Anders Yeo Speaker: Jia-Hao Fan

Outline Introduction: Definitions: Reduction rules: Analysis:

Problem: Input: A undirected tree T = (V, E) and a set of requests P, an integer k.  A request is a pair of vertices (u, v) Output: k edges, whose removal separates each pair of vertices in P

Example v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 Given T = (V, E), A set of Request P = {(v 1, v 3 ), (v 4, v 5 ), (v 6, v 8 ), (v 5, v 10 )}, and k = 3 v 11

Caterpillar  A tree is a caterpillar if its internal tree is a path General Tree

Example of Caterpillar v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 v 11

Outline Introduction: Definitions: Reduction rules: Analysis:

Some definitions Bad leaf  A group of leaves is the set of leaves connected to the same internal node  A group request is a request (x,y) where x and y belong to the same group  Bad leaf which is an endpoint of a group request Inner node  An internal node with no leaves attached to it.

Bad leaves and inner node v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 Given T = (V, E), A set of Request P = {(v 1, v 3 ), (v 4, v 5 ), (v 6, v 8 ), (v 5, v 10 )}, and k = 3 Group leaves:{v 4,v 5,v 6 }, Group request: (v 4,v 5 ) Bad leaves: v 4,v 5 Inner node: v 7

Some definitions Disjoint request: two request are disjoint if their edge sets are disjoint Common factor: the common factor of two requests is the intersection of their paths.

Disjoint Request and common factor v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 Given T = (V, E), A set of Request P = {(v 1, v 3 ), (v 4, v 5 ), (v 6, v 8 ), (v 5, v 10 )}, and k = 3 Disjoint Request (v 1,v 3 ), (v 6, v 8 ) Common factor of (v 6,v 8 ), (v 5,v 10 ) are {(v 3,v 7 ), (v 7,v 8 )}

Some definitions for caterpillars The internal tree T’ of caterpillar T, The set I 1 of leaves of T’, The set I 2 of degree two nodes of T’, The set L 1 of leaves rooted at I 1, The set L’ 2 of bad leaves rooted at I 2, The set L 2 of other leaves rooted at I 2.

Example of Caterpillar v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 I 1 = {v 2, v 8 }, I 2 = {v 3, v 7 }, L 1 = {v 1, v 9, v 10 }, L’ 2 = {v 4, v 5 }, L 2 = {v 6, v 11 } v 11

Some definitions R-neighbors: we say two nodes x, y are R- neighbor if there exists a request (x, y). Quasi-R-neighbors: A leaf x and an internal node y are quasi-R-neighbors if there exists a request (x, y), or a request (x, z) where z is a leaf rooted at y.

Example of R-neighbors, and quasi-R- neighbors v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 Given T = (V, E), A set of Request P = {(v 1, v 3 ), (v 4, v 5 ), (v 6, v 8 ), (v 5, v 10 )} (v 5, v 10 ) are R-neighbors (v 5, v 8 ) are quasi-R- neighbors v 11

Some definitions Internal path of a request is the intersection between the path of request and the internal tree R 1 dominates a request R 2 if the internal path of R 1 contains the internal path of R 2.

Example of internal path v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 Given T = (V, E), A set of Request P = {(v 1, v 3 ), (v 4, v 5 ), (v 6, v 8 ), (v 5, v 10 ), (v 2, v 5 ), (v 4, v 11 )} The internal path of request, (v 5, v 10 ) is: (v 5, v 10 ) dominates (v 4, v 11 ) v 11

Some definitions Wingspan W of a leaf x is the path between the closest quasi-R-neighbor on the right of x and the closest quasi-R- neighbor on the left of x (if no such neighbor exists, we take the father f(x) of x by convention) The size of Wingspan is the number of L 2 leaves pending from it.

The wingspan v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 Given T = (V, E), A set of Request P = { (v 6, v 8 ), (v 6, v 11 ), (v 6, v 2 )} v 11 The wingspan of v 6 is (v 2, v 7 )

Outline Introduction: Definitions: Reduction rules: Analysis:

Reduction Rules Unit Request: a request of length 1 Disjoint Request: more than k+1 disjoint requests Unique Direction:  Leaf:  Inner node:

Unique Direction: leaf v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v 11

Unique Direction: inner node v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8

Reduction Rules Inclusion

v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 v 11 Consider two requests (v 5, v 10 ), (v 3, v 8 ),

Reduction Rules Common factor:  Let R be a request. If there are k+1 requests R 1, R 2, …, R k+1 different form R but intersecting R such that the common factor of any pair of them is the subset of R, then remove R

Common Factor v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 v 11 Given a request R=(v 1, v 10 ), R 1 = (v 4, v 11 ), R 2 = (v 5, v 9 ), and k = 1

Dominating Wingspans Dominating wingspans:  If x is an L 2 -leaf with a wingspan dominating at least k+1 endpoint-disjoint requests, then contract e(x).

The wingspan v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 Supposed that the wingspan of v 6 is (v 2, v 8 ) Two request (v 4, v 1 ), (v 11,v 9 ) If k = 1, then … v 11

Time complexity for Reduction Rules Unit Request:  Detecting: O(|R|*|E|)  Processing: O(1) Disjoint Request:  Detecting: Polynomial time  Processing: O(1) Unique Direction:  Detecting: O(|V|*|R|)  Processing: O(1)

Time complexity for Reduction Rules Inclusion:  Detecting: O(|R|^2 * |E|^2)  Processing: O(1) Common factor:  Detecting: O(|R|^2 * |E|^2)  Processing: O(1) Dominating Wingspan:  Detecting: O(|R|^2 * |E|^2)  Processing: O(1)

Time complexity for Reduction Rules Each operation requires polynomial time Each operation decrease k, |R|, or |E| by 1 Overall time complexity is polynomial

Outline Introduction: Definitions: Reduction rules: Analysis:

Two lemmas Let G be an graph having m edges, of maximal degree d. Then G has a matching of size:  Floor(m/(2d - 1)).

First Lemma The maximal degree is d

Two Lemmas Let H be an graph having n vertices, of maximal degree d. Then H has an independent set of size:  Floor(n/(d + 1)).

First Lemma The maximal degree is d

Number of bad leaves Create an new graph G’ For each bad leaf, v in T, set an vertex v’ in G’. For each group request of (u, v) in T, set an edge (u’, v’) in G’

Number of bad leaves: example v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 Given T = (V, E), A set of Request P = {(v 1, v 3 ), (v 4, v 5 ), (v 6, v 8 ), (v 9, v 10 ), (v 5,v 6 )}, and k = 3 Group leaves:{v 4,v 5,v 6 }, {v 9, v 10 } Group request: (v 4,v 5 ), (v 5, v 6 ), (v 9, v 10 ) Bad leaves: v 4,v 5, v 6, v 9, v 10,

Number of bad leaves: example v’ 4 v’ 5 v’ 6 Group of leaves:{v 4,v 5,v 6 }, {v 9, v 10 } Group request: (v 4,v 5 ), (v 5, v 6 ), (v 9, v 10 ) Bad leaves: v 4,v 5, v 6, v 9, v 10, v’ 9 v’ 10

Number of bad leaves For bad leaf in G’, the maximal degree is k+1 by Common factor rule, the minimum degree is 1 If there are at least 2(k+1)(2k+1) bad leaves, then there are at least (k+1)(2k+1) edges in G’ There is a matching of size (k+1) by First lemma, floor(m/(2d-1)). The size of bad leaves is at most 2(k+1)(2k+1)

The size of wingspan Consider a maximal wingspan W, and the leaves W’ pending from it. Create a new graph G’ For each v in W or W’, set an vertex v’ in G’ For each request (u, v) where u, v in W or W’, set an edge (u’, v’) in G’

Maximal wingspan Maximal wingspan, a wingspan, every vertex v in W’ has at least an request (u, v) where u is in W or W’

The size of wingspan: Example v1v1 v2v2 v4v4 v5v5 v6v6 v3v3 v7v7 v9v9 v 10 v8v8 Supposed that the wingspan of v 6 is (v 2, v 8 ) Requests, (v 4, v 1 ), (v 11,v 9 ), (v 6, v 9 ), (v 6, v 2 ), (v 4, v 11 ) v 11 W ={v 2, v 3, v 7, v 8 } W’={v 1, v 4, v 5, v 6, v 11, v 9, v 10 }

The size of wingspan: Example v’ 1 v’ 2 v’ 4 v’ 5 v’ 6 v’ 3 v’ 7 v’ 9 v’ 10 v’ 8 Supposed that the wingspan of v 6 is (v 2, v 8 ) Requests, (v 4, v 1 ), (v 11,v 9 ), (v 6, v 9 ), (v 6, v 2 ), (v 4, v 11 ) v’ 11 W ={v 2, v 3, v 7, v 8 } W’={v 1, v 4, v 5, v 6, v 11, v 9, v 10 }

The size of wingspan For bad leaf in G’, the maximal degree is 2(k+1), the minimum degree is 1 If there are at least 2(k+1)(4k+3) L 2 -leaves pending from W, then there are at least (k+1)(4k+3) edges in G’ There is a matching of size (k+1) by First lemma, floor(m/(2d-1)). The size of a L 2 -leaves pending from W is at most 2(k+1)(4k+3)

Number of L 2 -leaves There are less than 2(k+1)(4k+3) L 2 - leaves not pending from W have wingspan intersection with W for each direction.

Example …

Number of L 2 -leaves Create a new graph G’ For each L 2 leave, v, set an vertex v’ in G’ For any two wingspan of u, v intersect with each other, set an edge (u’, v’) in G’ The maximal degree of G’ is 6(k+1)(4k+3) If the number of vertices is at least (6(k+1)(4k+3)+1)(k+1), then it has at least (k+1) disjoint wingspans.

Number of I 2 nodes Each inner node of requests in two directions by Unique direction rule. The union of a set of inner nodes is called as a request path. The length of each request path is at most k.

Number of I 2 nodes v2v2 v3v3 v7v7 v8v8 Requests, (v 2, v 3 ), (v 3,v 8 ) v 11

Number of I 2 nodes Each end of a request path is a vertex of I 1, L 1, L 2, or L’ 2. The number of vertices of I 1, L 1, L 2, or L’ 2 is at most O(k 3 ) The number of inner nodes of with a neighbor in I 1, L 1, L 2, or L’ 2 is at most O(k 4 ) The number of inner nodes is at most O(k 5 )

Questions Thanks