Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Approximating The Minimum Equivalent Digraph S. Khuller, B. Raghavachari, and N. Young. 1995 SIAM J. Computing."— Presentation transcript:

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

2 Some Math Knowledge (1) Fourier Coefficients and Series:

3 Some Math Knowledge (2)*

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

5

6 Some Math Knowledge (4)*

7 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

8 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.

9 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.

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

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

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

13 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)

14 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

15 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.

16 Is this algorithm correct? 1 2 5 3 4 6 7 8 6 7 9

17 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

18 Error ratio analysis (1)

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

20 Error ratio analysis (3)

21 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

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

23

24

25 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.

26 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

27 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

28 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.


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

Similar presentations


Ads by Google