Fixed Parameter Tractability for Graph Drawing Sue Whitesides Computer Science Department.

Slides:



Advertisements
Similar presentations
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?
Advertisements

Introduction to Kernel Lower Bounds Daniel Lokshtanov.
Depth-First Search1 Part-H2 Depth-First Search DB A C E.
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.
Approximative Kernelization: On the Trade-off between Fidelity and Kernel Size joint with Michael Fellows and Frances Rosamond Charles Darwin University.
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.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Computational problems, algorithms, runtime, hardness
Approximation Algorithms
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Randomized Process of Unknowns and Implicitly Enforced Bounds on Parameters Jianer Chen Department of Computer Science & Engineering Texas A&M University.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
1 Refined Search Tree Technique for Dominating Set on Planar Graphs Jochen Alber, Hongbing Fan, Michael R. Fellows, Henning Fernau, Rolf Niedermeier, Fran.
Hardness Results for Problems
GRAPH Learning Outcomes Students should be able to:
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
MCS312: NP-completeness and Approximation Algorithms
Fixed Parameter Complexity Algorithms and Networks.
APPROXIMATION ALGORITHMS VERTEX COVER – MAX CUT PROBLEMS
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
1 Bart Jansen Vertex Cover Kernelization Revisited: Upper and Lower Bounds for a Refined Parameter STACS 2011, Dortmund March 10 th, 2011 Joint work with.
1 Bart Jansen Independent Set Kernelization for a Refined Parameter: Upper and Lower bounds TACO Day, Utrecht January 12 th, 2011 Joint work with Hans.
1 Bart Jansen Independent Set Kernelization for a Refined Parameter: Upper and Lower bounds ALGORITMe Staff Colloquium, Utrecht September 10 th, 2010 Joint.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
Graphs.  Definition A simple graph G= (V, E) consists of vertices, V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements.
Unit 9: Coping with NP-Completeness
The Dominating Set and its Parametric Dual  the Dominated Set  Lan Lin prepared for theory group meeting on June 11, 2003.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
Data Reduction for Graph Coloring Problems Bart M. P. Jansen Joint work with Stefan Kratsch August 22 nd 2011, Oslo.
Algorithms for hard problems Parameterized complexity – definitions, sample algorithms Juris Viksna, 2015.
Algorithms for hard problems Introduction Juris Viksna, 2015.
Lecture. Today Problem set 9 out (due next Thursday) Topics: –Complexity Theory –Optimization versus Decision Problems –P and NP –Efficient Verification.
Introduction to NP Instructor: Neelima Gupta 1.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Kernel Bounds for Path and Cycle Problems Bart M. P. Jansen Joint work with Hans L. Bodlaender & Stefan Kratsch September 8 th 2011, Saarbrucken.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Approximation Algorithms based on linear programming.
CSE 589 Applied Algorithms Spring 1999 Prim’s Algorithm for MST Load Balance Spanning Tree Hamiltonian Path.
1 Partial Orderings Epp, section Introduction An equivalence relation is a relation that is reflexive, symmetric, and transitive A partial ordering.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
Complexity Classes.
The NP class. NP-completeness
Computational problems, algorithms, runtime, hardness
Joint work with Hans Bodlaender
Computing Connected Components on Parallel Computers
Searching Graphs ORD SFO LAX DFW Spring 2007
Minimum Spanning Tree 8/7/2018 4:26 AM
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
Algorithms for hard problems
CS4234 Optimiz(s)ation Algorithms
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
Approximation algorithms
ICS 353: Design and Analysis of Algorithms
Parameterised Complexity
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Searching Graphs ORD SFO LAX DFW Spring 2007
CPS 173 Computational problems, algorithms, runtime, hardness
Graphs and Algorithms (2MMD30)
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
Complexity Theory in Practice
Presentation transcript:

Fixed Parameter Tractability for Graph Drawing Sue Whitesides Computer Science Department

introduction In the last talk, we saw examples of representing graphs geometrically, in the context of graph drawing. Here we look at the technique of FPT as it can apply to graph drawing 1) Brief introduction to Fixed Parameter Tractability FPT 2) Example: an FPT algorithm for graph drawing

1. Introduction to Fixed Parameter Tractability FPT

Recall: Vertex Cover Problem Let G = ( V,E ) be an undirected graph. Let V’ ⊆ V. V’ is a vertex cover for G if for each edge (x,y) ∈ E: x ∈ V’ or y ∈ V’ (or both). – We call an edge such that at least one of its endpoints is in V’ covered. Let G = (V,E) be an undirected graph. Let V’ ⊆ V. V’ is a independent set for G if for each pair x,y ∈ V’: (x,y) ∉ E. – We call two vertices that are not adjacent independent

A vertex cover (black) and an independent set (blue)

Vertex Cover Decision Problem Input: An undirected graph G = (V,E), and a positive integer k Question: Does there exist a vertex cover V’ for G that is of size at most k, that is | V’ | ≤ k ?

Minimum Vertex Cover Optimization Problem Input: An undirected graph G = (V,E) Output: A minimum vertex cover for G, i.e., a vertex cover that is of smallest possible size

A minimum vertex cover (black) and a maximum independent set (blue)

Solving Vertex Cover for G and k Algorithm (bounded search tree/backtracking approach) Observation. Given graph G = (V,E) and a vertex cover V’ ⊆ V for G – For each vertex x in a graph: if x ∉ V’ then all its a adjacent vertices N(x) must be in V’, that is: N(x) ⊆ V’ Justification. if neither x nor one of its adjacent vertices w is in V’, then the edge (x,w) is not covered. A contradiction.

Solving Vertex Cover for G and k via the technique of bounded search trees: Algorithm VC( G, k ) if E = ∅ and k ≥ 0 return yes pick a vertex x ∈ V with deg(x) ≥ 1 G’ ← G-x ; k ’ ← k -1 G” ← from G - N(x) ; k ” ← k - |N(x)| Recursively solve VC( G’, k’ ) as long as k’ ≥ 0, and VC( G”, k” ) as long as k” ≥ 0 : If VC( G ’, k ’) returns no then return VC( G ”, k ”) return no O(2 k n)

definitions parameterized decision problem fixed-parameter tractable FPT

Example of a Parameterized Decision Problem: k -Vertex Cover Input: An undirected graph G = (V,E), and a positive integer k Parameter: k (integer) Question: Does there exist a vertex cover V’ ⊆ V for G that is of size at most k, that is | V’ | ≤ k ?

Parameterized Decision Problems A parameterized decision problem is a decision problem with, additionally, an identified parameter. A parameter can be a part of the problem’s input, a property of the problem’s input or a combination of several parameters The running time analysis of an algorithm solving a parameterized decision problem is done in terms of the input size, n, and its parameter, k

Fixed parameter tractable parameterized decision problems & the parameterized complexity class FPT A parameterized decision problem with input size n and parameter k that can be solved by an algorithm in time O(f(k) n c ), where c > 0 is a constant, is called fixed- parameter tractable, and is a member of the class FPT, the class of fixed-parameter tractable parameterized decision problems. f denotes any (computable) function. That is, f may be exponential or worse, but depends only on k. Examples: f(k) = 2 k, f(k) = k k, f(k) = k 128k

note A parameterized decision problem with input size n and parameter k that can be solved by an algorithm in time O(f(k) + n c ), where c > 0 is a constant, is fixed-parameter tractable: O(f(k) n c )

Solving Vertex Cover: Polynomial-time Preprocessing Observation: Given are graph G = (V,E) and integer k > 0. If G has a vertex cover V’ of size at most k, and if there exists a vertex v ∈ V with deg(v) = 0, then v ∉ V’. This results in the following preprocessing step for solving k -Vertex Cover. Rule 1. Clean-up singletons: while there exists v ∈ V with deg(v) = 0 do G ← G-v

Solving Vertex Cover: Polynomial-time Preprocessing Observation: Given a graph G = (V,E) and an integer k > 0. If G has a vertex cover V’ of size at most k, and if there exists a vertex v ∈ V with deg(v) > k, then v ∈ V’. This results in the following preprocessing step for solving k - Vertex Cover: Rule 2. Pick high-degree vertices: while there exists v ∈ V with deg(v) > k do V’ ← V’ ∪ { v } k ← k-1 G ← G-v

Solving Vertex Cover: Polynomial-time Preprocessing Note that if Rule 2 cannot be applied, then every vertex has degree at most k. Further: Given a graph G = (V,E) and an integer k > 0 where Rule 2 cannot be applied. If G has a vertex cover of size at most k, then | V | ≤ k 2 +k.

Solving Vertex Cover: Polynomial-time Preprocessing Observation: Given are graph G = (V,E) and integer k > 0. If there exists a vertex v ∈ V with deg(v) = 1, then v’ s neighbour w can be included in any vertex cover, that is w ∈ V’. This results in the following preprocessing step for solving k - Vertex Cover. Rule 3. Pick neighbours of pendant vertices: while there exists v ∈ V with deg(v) = 1 do V’ ← V’ ∪ N ( v ) k ← k-1 G ← G-v-N ( v )

Solving Vertex Cover: Polynomial-time Preprocessing Observation: Given are graph G = (V,E) and integer k > 0. If there exists a vertex v ∈ V with deg(v) = 2, N ( v ) = {w,z}, and edge (w,z) ∈ E then v’ s neighbours w and z can be included in any vertex cover, that is w,z ∈ V’. This results in the following preprocessing step for solving k -Vertex Cover. Rule 4. Pick neighbours of pendant degree 2 vertices: while there exists v ∈ V with deg(v) = 2, N ( v ) = {w,z}, and edge (w,z) ∈ E do V’ ← V’ ∪ N ( v ) k ← k-2 G ← G-v-N ( v )

Solving Vertex Cover: Polynomial-time Preprocessing We summarize the polynomial-time preprocessing as follows (can look for/ apply a rule at most k times O(kn) ) repeat until no change occurs: – while Rule 1 applies do apply Rule 1 – while Rule 2 applies do apply Rule 2 – while Rule 3 applies do apply Rule 3 – while Rule 4 applies do apply Rule 4

Solving Vertex Cover: Polynomial-time Preprocessing Further, once none of the preprocessing rule applies we can make the following decision, since if the graph has a vertex cover of size at most k then | V | ≤ k 2 +k : if |V| > k 2 +k then answer “no”

Solving Vertex Cover: Polynomial-time Preprocessing After the preprocessing steps are done, and the algorithm didn’t return “no”, the bounded search tree algorithm can be run next to decide the problem. This results in a running time of O(kn + 2 k k 2 ) … thus, O(2 k k 2 n)

2. Fixed Parameter Tractable Algorithm for a Graph Drawing Problem coming next ….