A Polynomial Time Algorithm for Longest Paths in Biconvex Graphs

Similar documents
Ma/CS 6b Class 5: Graph Connectivity

THE INSULATION SEQUENCE OF A GRAPH

Math 778S Spectral Graph Theory Handout #2: Basic graph theory

Hardness of Subgraph and Supergraph Problems in c-tournaments

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE

1 Matchings in Graphs

Paths, Flowers and Vertex Cover

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

Common vertex of longest cycles in circular arc graphs

Chordal deletion is fixed-parameter tractable

Maximum colorful cliques in vertex-colored graphs

Math 776 Graph Theory Lecture Note 1 Basic concepts

On vertex-coloring edge-weighting of graphs

Computing NodeTrix Representations of Clustered Graphs

1 The Traveling Salesperson Problem (TSP)

The Prism of the Acyclic Orientation Graph is Hamiltonian

Design and Analysis of Algorithms CS404/504. Razvan Bunescu School of EECS.

Theorem 2.9: nearest addition algorithm

Problem Set 3. MATH 776, Fall 2009, Mohr. November 30, 2009

by conservation of flow, hence the cancelation. Similarly, we have

THE LEAFAGE OF A CHORDAL GRAPH

Assignment 4 Solutions of graph problems

Matching Theory. Figure 1: Is this graph bipartite?

09 B: Graph Algorithms II

On the Max Coloring Problem

1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time:

Efficient Algorithm for the Paired-Domination Problem in Convex Bipartite Graphs

Paths, Flowers and Vertex Cover

Let G = (V, E) be a graph. If u, v V, then u is adjacent to v if {u, v} E. We also use the notation u v to denote that u is adjacent to v.

Finding a Tree 4-Spanner on Trapezoid Graphs

Chromatic number of ordered graphs with forbidden ordered subgraphs.

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

Geometric approximation of curves and singularities of secant maps Ghosh, Sunayana

Computing minimum distortion embeddings into a path for bipartite permutation graphs and threshold graphs

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs

arxiv: v3 [cs.dm] 12 Jun 2014

More NP-complete Problems. CS255 Chris Pollett May 3, 2006.

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

CLAW-FREE 3-CONNECTED P 11 -FREE GRAPHS ARE HAMILTONIAN

Modules. 6 Hamilton Graphs (4-8 lectures) Introduction Necessary conditions and sufficient conditions Exercises...

A NEW TEST FOR INTERVAL GRAPHS. Wen-Lian Hsu 1

Introduction to Graph Theory

Monotone Paths in Geometric Triangulations

Finding a winning strategy in variations of Kayles

Contracting Chordal Graphs and Bipartite Graphs to Paths and Trees

1 Matching in Non-Bipartite Graphs

A SIMPLE POLYNOMIAL ALGORITHM FOR THE LONGEST PATH PROBLEM ON COCOMPARABILITY GRAPHS

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract

arxiv: v2 [cs.cg] 3 May 2015

EDGE-COLOURED GRAPHS AND SWITCHING WITH S m, A m AND D m

Chordal Graphs: Theory and Algorithms

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost

The Complexity of König Subgraph Problems and Above-Guarantee Vertex Cover.

Equipartite polytopes and graphs

Line Graphs and Circulants

G G[S] G[D]

Subexponential algorithms for rectilinear Steiner tree and arborescence problems

Complexity of Disjoint Π-Vertex Deletion for Disconnected Forbidden Subgraphs

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem

val(y, I) α (9.0.2) α (9.0.3)

Decomposing Coverings and the Planar Sensor Cover Problem

Ma/CS 6b Class 11: Kuratowski and Coloring

On Conditional Covering Problem

Jordan Curves. A curve is a subset of IR 2 of the form

On the Page Number of Upward Planar Directed Acyclic Graphs

Near-perfect token distribution

Finding a -regular Supergraph of Minimum Order

Basics of Graph Theory

Bounds on the signed domination number of a graph.

A Vizing-like theorem for union vertex-distinguishing edge coloring

Graph theory - solutions to problem set 1

Minimal Dominating Sets in Graphs: Enumeration, Combinatorial Bounds and Graph Classes

Locally identifying coloring of graphs

MTL 776: Graph Algorithms Lecture : Matching in Graphs

Faster parameterized algorithms for Minimum Fill-In

Basic Graph Theory with Applications to Economics

Faster parameterized algorithms for Minimum Fill-In

Sublinear Time and Space Algorithms 2016B Lecture 7 Sublinear-Time Algorithms for Sparse Graphs

Fast algorithms for max independent set

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Graph Theory: Introduction

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Module 7. Independent sets, coverings. and matchings. Contents

Maximum Clique on Disks

Durham Research Online

On t-restricted Optimal Rubbling of Graphs

Ma/CS 6b Class 26: Art Galleries and Politicians

Seminar on Algorithms and Data Structures: Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees [1]

Improved approximation ratios for traveling salesperson tours and paths in directed graphs

Exercise set 2 Solutions

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Theoretical Computer Science

arxiv: v1 [cs.cg] 15 Jan 2015

A 2k-Kernelization Algorithm for Vertex Cover Based on Crown Decomposition

{ 1} Definitions. 10. Extremal graph theory. Problem definition Paths and cycles Complete subgraphs

List Coloring Graphs

arxiv: v2 [cs.ds] 18 May 2015

Unrestricted and Complete Breadth-First Search of Trapezoid Graphs in O(n) Time

Transcription:

and A Polynomial Time for Longest Paths in ESHA GHOSH Joint work with N. S. Narayanaswamy and C. Pandu Rangan Dept of Computer Science and Engineering IIT Madras, Chennai 600036, India February 20 th, 2011 1 / 31

and 1 2 3 4 5 and 2 / 31

and 1 2 3 4 5 and 3 / 31

Doubly Convex or and Definition (Glover-1967) A bipartite graph G = (S T, E) is doubly convex or biconvex if a numbering 1, 2,..., S of the vertices in S and a numbering of the vertices 1, 2,..., T in T such that v S T, N(v) is a set of consecutive integers. 4 / 31

and 1 2 3 4 1 2 3 S-Partition T-Partition 5 / 31

and 1 2 3 4 5 and 6 / 31

The and The The longest path is the of finding a simple path of maximum length in a given graph. Importance The well-known Travelling Salesman and Hamiltonian Path are special cases of Longest Path. The longest path in program activity graph is known as critical path, which represents the sequence of program activities that take the longest time to execute. 7 / 31

and 1 2 3 4 5 and 8 / 31

Previous Work done and Polynomial Solution for longest path on some graph classes Polynomial time algorithms for longest path exist for graph classes like Trees, Cacti, Ptolemic graphs, Bipartite Permutation graphs, proposed by Uehera et al. Recently polynomial time solutions for the longest path is proposed by Ioannidou et al. on interval graphs and cocomparability graphs. 9 / 31

and 1 2 3 4 5 and 10 / 31

Our Contribution and We have proposed a O(n 6 ) time algorithm to find the longest path on biconvex graphs, where n is the number of vertices of the input graph. We have used Dynamic Programming approach. 11 / 31

The Ordering and Ordering the vertices Let π 1 = (s 1, s 2,, s S ) be the labelled vertices of partition S, and π 2 = (t 1, t 2,, t T ) be that of partition T Initiliaze σ S = π 1. Update σ S as follows: For all t i in π 2, insert t i immediately after its rightmost neighbor. 12 / 31

and Figure: π 1 = (s 1, s 2, s 3, s 4, s 5 ) and π 2 = (t 1, t 2, t 3, t 4 ) σ s = (s 1, s 2, t 1, s 3, s 4, t 3, t 4, s 5, t 2 ) 13 / 31

Monotonic Path and Definition A S-Monotone path of a graph G = (S T, E) is a simple path P = {s α1, t β1, s α2,..., t βj 1, s αj, t βj } such that s αk σs s αk+1 k 1 k j. Symmetrically, we define T-Monotone path. 14 / 31

Lemma and Lemma Let P = {s α1, t β1, s α2, t β2... s αj 1, t βj 1, s αj, t βj } be a simple path of a biconvex graph G = (S T, E). Let P max denote the longest S-S sub path of P. Then, the vertices on the path P max can be reordered to get a path P max on the same set of vertices, which is S-Monotone. 15 / 31

and Figure: Case β α γ (a)non S-Monotone Path (b)s-monotone Path 16 / 31

and 1 2 3 4 5 and 17 / 31

Overview and First Part of the Given the ordering ordering σ S = (u 1, u 2,, u n ), for all s i, s j, where, 1 i < j S, do the following: Choose the subsequence σ Sij = (u k, u k+1,, u m ) such that: u k is the vertex s i u m is s j, if s j+1 immediately suceeds s j in σ S. Otherwise, u m is the rightmost T-vertex that lies between s j and s j+1 in σ S. Run the routine and remember the maximum path length obtained over these iterations and all the paths of that maximum length. 18 / 31

and Figure: σ S = (s 1, s 2, t 1, s 3, s 4, t 3, t 4, s 5, t 2 ) 19 / 31

and Figure: σ S = (s 1, s 2, t 1, s 3, s 4, t 3, t 4, s 5, t 2 ) and σ S14 = (s 1, s 2, t 1, s 3, s 4, t 3, t 4 ) Longest S-Bimonotone Path is P = {s 3, t 3, s 4, t 4 } 20 / 31

Overview(Cont.) and Second Part of the Symmetric to Part 1, this part is executed for vertices of T-partition with the initial ordering σ T = (u 1, u 2,, u n ). 21 / 31

Overview(Cont.) and Third Part of the Choose the maximum of the two lengths obtained as output from the first and second part of the algorithms. Let us denote this length as max For all paths of length max, check if any of the end vertices have unvisited neighbor. If such a neighbor exists, extend the path till that neighbor and declare it as a longest path and max + 1 as longest path length. Else declare max as the longest path length and all paths of this lenth as longest paths. 22 / 31

Some Constructs and Notations and Notations For every pair of indices i, j such that 1 i j n the graph G(i, j) denotes the subgraph of G induced by the set {u i, u i+1,..., u j }. A path P is called S-bimonotone if P is a S-Monotone path with both endpoints in S-partiton. P (u k ; i, j) denotes the longest S-bimonotone path of G(i, j) with u k as its right endpoint and l(u k ; i, j) denotes the number of vertices on P (u k ; i, j). 23 / 31

The Routine and Description 1 Iterate through all the vertices of σ S1n from indices 1 to n 2 Initialize P (u i ; i, i) with u i and l(u i ; i, i) with 1. 3 For all u k, i k j 1, which are S-vertices, initialize P (u k ; i, j) with P (u k ; i, j 1) and l(u k ; i, j) with l(u k ; i, j 1) 4 If u j is also a S-vertex, intialize l(u j ; i, j) with 1 and P (u k ; i, j) with u j 5 If u j is a T-vertex and i f(u j ) then execute process(g(i, j)) 6 Compute the max{(u k ; 1; n) : u k S(G)} and the corresponding path P (u k ; 1; n). 24 / 31

The process(g(i, j)) subroutine and process(g(i, j)) For y = f(u j ) + 1 to j 1, iterate through x = f(u j ) to y 1 if both u x and u y are S-vertices, then update the path as follows: w 1 l(u x ; i, j 1); P 1 P (u x ; i, j 1) w 2 l(u y ; x + 1, j 1); P 2 P (u y ; x + 1, j 1) If w1 + w2 + 1 > l(u y ; i, j), then l(u y ; i, j) w1 + w2 + 1; P (u y ; i, j) = (P 1, u j, P 2); Return the value {l(u k ; i, j)} and the path {P (u k ; i, j), u k S(G(f(u j ) + 1, j 1))} 25 / 31

and Figure: σ s = (s 1, s 2, t 1, s 3, s 4, t 3, t 4, s 5, t 2 ) 26 / 31

and Figure: Path getting updated at call process(g(4, 6)) and x = 4, y = 5 27 / 31

(Cont.) and Figure: Path getting updated at call process(g(1, 9)) with x = 5, y = 8 28 / 31

and Claim At least one of the paths, obtained from First and Second part of the is extendible if and only if a longer path exists. Proof. If possible, let a longer path P new of length x exist. This path is either a ST or a TS path. Due to the Lemma, we know for the longest S-S subpath of every path, we get a S-Monotone path on the same set of vertices. Length of the longest S-S subpath of P new is x 1. max < x 1 contradiction to the correctness of the Longest path routine. max > x 1 P new is not the longest path. 29 / 31

Time and Generating the ordering σ S and σ T will take O( S T ) time. The subroutine process() takes O(n 2 ) time and is executed at most once for each subgraph G(i, j) of G. Hence takes O(n 4 ) time. Since the routine is called for each ordered pair s i, s j (and t i, t j ), and there can be O(n 2 ) such ordered pairs, so the total running time is O(n 6 ). 30 / 31

and THANK YOU 31 / 31