Approximating The Minimum Equivalent Digraph S. Khuller, B. Raghavachari, and N. Young. 1995 SIAM J. Computing.

Slides:



Advertisements
Similar presentations
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Advertisements

Decision Maths Networks Kruskals Algorithm Wiltshire Networks A Network is a weighted graph, which just means there is a number associated with each.
Chapter 8 Topics in Graph Theory
Approximation Algorithms
22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
Great Theoretical Ideas in Computer Science for Some.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
Approximation Algorithms for TSP
 2004 SDU Lecture9- Single-Source Shortest Paths 1.Related Notions and Variants of Shortest Paths Problems 2.Properties of Shortest Paths and Relaxation.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Lecture 16: DFS, DAG, and Strongly Connected Components Shang-Hua Teng.
TECH Computer Science Graphs and Graph Traversals  // From Tree to Graph  // Many programs can be cast as problems on graph Definitions and Representations.
Combinatorial Algorithms
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Graphs and Trees This handout: Trees Minimum Spanning Tree Problem.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Analysis of Algorithms CS 477/677
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
Approximation Algorithms for the Traveling Salesperson Problem.
Lecture 15: Depth First Search Shang-Hua Teng. Graphs G= (V,E) B E C F D A B E C F D A Directed Graph (digraph) –Degree: in/out Undirected Graph –Adjacency.
A 2-Approximation algorithm for finding an optimum 3-Vertex-Connected Spanning Subgraph.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Graph Algorithms Using Depth First Search Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Chapter 2 Graph Algorithms.
1 ELEC692 Fall 2004 Lecture 1b ELEC692 Lecture 1a Introduction to graph theory and algorithm.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
© B.Raghavachari & J.Veerasamy, UTD 1 Approximation Algorithms for Postman Problems Jeyakesavan Veerasamy* * Joint work withBalaji Raghavachari Samsung.
Approximation Algorithms
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
COSC 2007 Data Structures II Chapter 14 Graphs I.
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
Approximation Algorithms for TSP Tsvi Kopelowitz 1.
Graphs and MSTs Sections 1.4 and 9.1. Partial-Order Relations Everybody is not related to everybody. Examples? Direct road connections between locations.
Homework #5 Due: October 31, 2000 Christine Kang Graph Concepts and Algorithms.
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.
Spanning tree Lecture 4.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Approximation Algorithms Guo QI, Chen Zhenghai, Wang Guanhua, Shen Shiqi, Himeshi De Silva.
 2004 SDU 1 Lecture5-Strongly Connected Components.
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.
Graph Concepts Illustrated Using The Leda Library Amanuel Lemma CS252 Algorithms.
CSC 252: Algorithms October 28, 2000 Homework #5: Graphs Victoria Manfredi (252a-ad) notes: -Definitions for each of the graph concepts are those presented.
CSE 421 Algorithms Richard Anderson Autumn 2015 Lecture 5.
Spanning Trees Alyce Brady CS 510: Computer Algorithms.
Leda Demos By: Kelley Louie Credits: definitions from Algorithms Lectures and Discrete Mathematics with Algorithms by Albertson and Hutchinson graphics.
Kruskal’s Algorithm for Computing MSTs Section 9.2.
Analysis of Algorithms
Efficient algorithms for Steiner Tree Problem
Graph Algorithms Using Depth First Search
CSCE350 Algorithms and Data Structure
Graph Theory.
Trees.
CS 583 Analysis of Algorithms
Md. Abul Kashem, Chowdhury Sharif Hasan, and Anupam Bhattacharjee
Problem Solving 4.
Jiří Vyskočil, Radek Mařík 2012
Richard Anderson Autumn 2016 Lecture 5
Max Flow Min Cut, Bipartite Matching Yin Tat Lee
Networks Kruskal’s Algorithm
Richard Anderson Winter 2009 Lecture 6
Graph Algorithms DS.GR.1 Chapter 9 Overview Representation
Richard Anderson Lecture 5 Graph Theory
Richard Anderson Winter 2019 Lecture 5
Presentation transcript:

Approximating The Minimum Equivalent Digraph S. Khuller, B. Raghavachari, and N. Young SIAM J. Computing

Some Math Knowledge (1) Fourier Coefficients and Series:

Some Math Knowledge (2)*

Some Math Knowledge (3) Parseval ’ s Theorem: Parseval ’ s Theorem:

Some Math Knowledge (4)*

The MEG (minimum equivalent graph) problem Input: A directed graph G = (V, E ). Input: A directed graph G = (V, E ). Output: the smallest subset of edges that maintains reachability relations. Output: the smallest subset of edges that maintains reachability relations. BACBAC

MEG is NP-hard* Let G = ( V, E ) be a strongly connected digraph and |V | = n. G has a Hamiltonian Cycle  |MEG(G )| = n. Let G = ( V, E ) be a strongly connected digraph and |V | = n. G has a Hamiltonian Cycle  |MEG(G )| = n. Pf: (<=) a1a1a1a1 a2a2a2a2 akakakak (n – k ) nodes, each has indegree >= 1. (n – k ) nodes, each has indegree >= 1.

Variants Acyclic MEG problem: G is an acyclic digraph. polynomial time solvable. Acyclic MEG problem: G is an acyclic digraph. polynomial time solvable. MSCSS (minimum strongly connected spanning subgraph) problem: G is a strongly connected digraph. MSCSS (minimum strongly connected spanning subgraph) problem: G is a strongly connected digraph.

Reduce MEG to MSCSS (1) Step1: decompose G into Strongly connected components in polynomial time. AB CD E

Reduce MEG to MSCSS (2) Step 2: ∵ acyclic MEG problem is in P. AB CD E AB CD E ∴

Reduce MEG to MSCSS (3) Step 3: Solve MSCSS(A), …, MCSS(E). Step 3: Solve MSCSS(A), …, MCSS(E). AB CD E

Two Implications 1. MSCSS is NP-hard 2. If MSCSS problem has error ratio k, then MEG problem has error ratio k. Pf: After Step 1, 2, We get AB CD E Let C(A), …, C(E) be the costs of our approximating solutions. Let C*(A), …, C*(E) be costs of the optimal solutions. => C(A) ≤ kC*(A), …, C(E) ≤ kC*(E)

C* = C*(A)+ C*(B)+ C*(C) + C*(D)+ C*(E) + 4 C ≤ k ( C*(A)+ C*(B)+ C*(C) + C*(D)+ C*(E) ) + 4 (C / C*) ≤ k (C / C*) ≤ k AB CD E C = C(A)+ C(B)+ C(C) + C(D)+ C(E) + 4 C ≤ kC*(A)+ kC*(B)+ kC*(C) + kC*(D)+ kC*(E) + 4

The approximation algorithm for the MSCSS problem CONTRACT-CYCLES k (G ) 1. for i = k, k-1, k-2, …, 2 2. While the graph contains a cycle with at least i edges 3. Contract the cycle. 4. return edges on those contracted cycles.

Is this algorithm correct?

1. for i = k, k-1, k-2, …, 2 2. While the graph contains a cycle with at least i edges 3. Contract the cycle. 4. return edges on those contracted cycles. Let G i = the graph after after contracting cycles with ≥ i edges. Let G i = the graph after after contracting cycles with ≥ i edges. Let n i = #vertices remain in the graph after contracting cycles with ≥ i edges. Let n i = #vertices remain in the graph after contracting cycles with ≥ i edges. Let e i = #edges on the contracted cycles with i edges Let e i = #edges on the contracted cycles with i edges Symbol Definitions

Error ratio analysis (1)

(Contraction Lemma): For any digraph G and set of edges S, C*(G ) ≥ C*(G \S ) Error ratio analysis (2)

Error ratio analysis (3)

Error ratio analysis (4) Theorem: Contract-Cycles k (G ) returns at most r k C*(G ) edges, where Theorem: Contract-Cycles k (G ) returns at most r k C*(G ) edges, where

n i = #vertices remain in the graph after contracting cycles with ≥ i edges. e i = #edges on the contracted cycles with i edges

Time Complexity (1) How to find cycles with ≥ k edges ? How to find cycles with ≥ k edges ? Step 1: Find all simple paths P with k-1 edges. edges. Step 2: foreach p  P, check whether there is a path from the tail there is a path from the tail of p to the head of p. of p to the head of p.

If k is even, there at most m k/2 such paths, where m = #edges: If k is even, there at most m k/2 such paths, where m = #edges: Time Complexity (2)* m k/2

Time Complexity (3)* If k is odd, there at most nm (k-1)/2 such paths: If k is odd, there at most nm (k-1)/2 such paths: m (k-1)/2 1n

Time Complexity (4) O(m) time to check whether there is a path from the tail of p to the head of p. O(m) time to check whether there is a path from the tail of p to the head of p. O(kn) = O(n) iterations of the while loop. O(kn) = O(n) iterations of the while loop. O(nm 1+ k/2 ), k is even. O(nm 1+ k/2 ), k is even. O(n 2 m (1+k)/2 ), k is odd. O(n 2 m (1+k)/2 ), k is odd. 1. for i = k, k-1, k-2, …, 2 2. While the graph contains a cycle with at least i edges 3. Contract the cycle. 4. return edges on those contracted cycles.