Download presentation

Presentation is loading. Please wait.

Published byReese Swindlehurst Modified over 2 years ago

1
Minimum Weight Cycle Liam Roditty Bar-Ilan University Based on: Approximating the girth, (SODA`11) with Roei Tov (BIU) Minimum Weight Cycles and Triangles: Equivalences and Algorithms, with Virginia V. Williams (UC Berkeley)

2
Problem Definition Given a graph G=(V,E) find the Minimum Weight Cycle (Min-Cycle) in the graph. Variants: Undirected / Directed Unweighted / Weighted Exact / Approximation With or without Fast Matrix Multiplication (FMM)

3
The Trivial Algorithm Directed graphs: – Compute All-Pairs of Shortest Paths (APSP). – Min-Cycle = min (u,v) E d[v,u] + w(u,v) vu

4
The Trivial Algorithm Undirected graphs: – Dijkstra/BFS from every vertex of the graph – Pick the minimum cycle detected Example (unweighted): vu s In both cases the running time is Õ(n³).

5
Previous Work (1) Itai & Rodeh (SICOMP 1978) considered only unweighted graphs: Min-Cycle in undirected graphs in O(n ω ) time. Min-Cycle in directed graphs in O(n ω log n) time. Approximation in undirected graphs in O(n²) time. – Return a min-cycle or a cycle whose length is larger by one from the minimum.

6
Previous Work (2) Yuster & Zwick (SIDMA 1997) presented an algorithm that finds the shortest even cycle in unweighted undirected graphs in O(n²) time.

7
Previous Work (3) Lingas & Lundell (IPL 2009) presented two approximation algorithms for undirected graphs: For unweighted graphs an Õ(n 3/2 ) algorithm that returns a 2.666…-approximation. For weighted graphs with integral edge weights [1,M] an O(n² log n log nM) algorithm that returns a 2-approximation.

8
Previous Work (4) V. Williams & Williams (FOCS 2010) showed that if a Min-Cycle in an undirected graph with weights [1,M] can be found in O(n 3-δ log M) for some δ>0 then it is possible to compute APSP in a directed graph with weights [-M,M] in O(n 3-δ’ log M) for some δ’>0.

9
Results (SODA'11) For undirected graphs with weights from [1,M] a 4/3-approximation algorithm with a running time of O(n² log n log nM). For undirected graphs with real edge weights a (4/3+ε)-approximation with a running time of Õ(1/ε n²). An algorithm with (4/3-ε)-approximation can multiply two Boolean matrices. (Using V.W & W ideas).

10
“A related problem is finding a minimum weighted circuit in a weighted graph. It is unclear to us whether our methods can be modified to answer this problem too.” SICOMP 1978 New Results For undirected and directed graphs with weights from [1,M] we show that the Min-Cycle problem can be efficiently reduced to finding a minimum weight triangle in graphs with weights [1,Θ(M)]. This implies an Õ(Mn ω ) algorithm for Min-Cycle problem both in undirected and directed graphs. We resolve the open problem raised by Itai & Rodeh:

11
New Results Notice! APSP in directed graphs can be computed in O(M 0.681 n 2.575 ) time (Zwick JACM`02). APSP in undirected graphs can be computed in Õ(Mn ω ) time (Shoshan & Zwick FOCS`99). We show that Min-Cycle in directed graphs can be solved in Õ(Mn ω ) time!

12
In this talk For undirected graphs with weights from [1,M] a 4/3-approximation algorithm with a running time of O(n² log n log nM) (SODA’11) For undirected graphs with weights from [1,M] we show that the Min-Cycle problem can be efficiently reduced to finding a minimum weight triangle in graph with weights [1,Θ(M)]. (New result)

13
Itai & Rodeh’s Additive 1- Approximataion s 0 1 2 3 xyz The trivial algorithm: All edges of x are scanned in an arbitrary order. and in particular (x,y). A Min-Cycle is detected. Running time: O(m). We repeat it from every vertex. Total running time is O(mn). w Unweighted undirected.

14
Itai & Rodeh’s Additive 1- Approximataion s 0 1 2 3 xyz Itai & Rodeh: Stop with the first cycle discovered. Running time O(n²). Assume x is out from the queue after z and before y. w Lucky scan (x,y) and stop. Output: Min-Cycle Unlucky scan (x,w) and stop. Output: Min-Cycle+1 Unweighted undirected.

15
Lingas & Lundell 2-Approximataion s 0 1 2 3 xyz The same approach as IR with Dijkstra instead of BFS will not work. Lingas & Lundell: Run Dijkstra with a bounding parameter t, that is, grow a shortest paths tree up to depth t and report the first cycle detected. w Weighted [1,M] undirected. 1 1 1 1 1 1 1 1 1 1 100

16
Dijkstra(G,s) Q←{s} While Q is not empty do u ← Extract-Min(Q) Relax(u) Reminder: Dijkstra’s algorithm Weighted [1,M] undirected. Relax(u) foreach (u,v) E if d[s,v]>d[s,u]+w(u,v) d[s,v] ← d[s,u]+w(u,v)

17
Bounded Dijkstra(G,s,t) Q←{s} While Q is not empty do u ← Extract-Min(Q) Controlled-Relax(u,t) Lingas & Lundell 2-Approximataion Weighted [1,M] undirected. Controlled-Relax(u,t) (u,v) ← Extract-Min(Q u ) While d[u]+w(u,v) ≤ t do RelaxOrStop(u,v) (u,v) ← Extract-Min(Q u ) RelaxOrStop(u,v) if d[v] then Repot a cycle and stop else Relax(u,v) s u 1 3 X1X1 X2X2 X3X3 d[X 1 ] = d[X 2 ] =92 4 d[X 3 ] =70 50 d[X 1 ] = 51 STOP: Min-Cycle≤145 t=100

18
Lingas & Lundell 2-Approximataion Weighted [1,M] undirected. s 50 1 ? t=100 Bounded Dijkstra with t=100 might find the red cycle and not the blue one.

19
Lingas & Lundell 2-Approximataion Weighted [1,M] undirected. The algorithm: Binary search the interval [1,nM] for the smallest value of t for which Bounded Dijkstra reports a cycle. t * =Min-Cycle Always reports ½t * May report Taking the smallest value of t for which a cycle is reported ensures that t≤t * and a 2-approximation. Running time: O(n² log n (log n+log M))

20
Our 4/3-Approximataion Weighted [1,M] undirected. Let Min-Cycle=t * and Max-Edge(Min-Cycle)=w *. Let t t *. We present two algorithms: Alg1: Reports a cycle of weight at most t * + w *. Alg2: Given w l and w u such that w * [ w l, w u ] reports a cycle of weight at most max{2t * - 2w l, t * + w u - w l }. Notice! max{2t * - 2w l, t * + w u - w l } is 2t * - 2w l as long as w u ≤ t * - w l w*w* Alg 1 t * + w * ≤1⅓t * w*w* Alg 2 [ ⅓ t *, ⅔t * ] 2t * - 2w * ≤1⅓t * t*t* ⅓t*⅓t* ⅔t*⅔t* w*w* Alg 2 [ ⅔t *, t * ] t * + t * - ⅔t * ≤1⅓t *

21
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. Middle Edge Lemma: Let C={v 1,v 2,…v ℓ } be a cycle of weight t and let s C. Then there exists an edge (v i,v i+1 ) such that: s vivi v i+1 d[s,v i ]≤ ½ t d[s,v i+1 ]≤ ½ t

22
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. For a given s there is a mid point in on the cycle s =t*/2

23
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. s t*/2= =t*/2 For a given s there is a mid point in on the cycle

24
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. The edge (v i,v i+1 ) is the middle edge. s vivi v i+1 We have: 1. d C [s,v i ] ≤ ½ t 2. d C [v i+1,s] ≤ ½ t 1. d[s,v i ] ≤ ½ t 2. d[s,v i+1 ] ≤½ t

25
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. And now, the algorithm! Approx-Min-Cycle(G,s,t) R ←ф Q←{s} While Q is not empty do u ← Extract-Min(Q) Controlled-Relax(u,½t) Let (u,v) be the smallest edge of u that was not relaxed R←{(u,v)} While R is not empty do (u,v) ← Extract-Min(R) RelaxOrStop(u,v) (u,v) ← Extract-Min(Q u ) R← R {(u,v)} Phase 1 Phase 2

26
Approx-Min-Cycle(G,s,t) R ←ф Q←{s} While Q is not empty do u ← Extract-Min(Q) Controlled-Relax(u,½t) Let (u,v) be the smallest edge of u that was not relaxed R← R {(u,v)} … Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. Phase 1: Bounded Dijkstra(G,s,t) Q←{s} While Q is not empty do u ← Extract-Min(Q) Controlled-Relax(u,t) s ½t u0u0 v0v0 w u1u1 u2u2 v1v1 v2v2 R = {(u 0,v 0 ), (u 1,v 1 ), (u 2,v 2 ) } R = {(u 0,v 0 )}

27
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. Phase 2: Approx-Min-Cycle(G,s,t) … While R is not empty do (u,v) ← Extract-Min(R) RelaxOrStop(u,v) (u,v) ← Extract-Min(Q u ) R← R {(u,v)} s ½t½t u0u0 v0v0 w u1u1 u2u2 v1v1 v2v2 R = {(u 0,v 0 ), (u 1,v 1 ), (u 2,v 2 ) } R = {(u 0,v 0 ), (u 1,v 2 ), (u 2,v 2 ) } R = {(u 0,v 0 ), (u 1,v 2 ) } R = {(u 0,v 0 )}

28
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. We need to prove that: We report a cycle of weight t * +w * (Weight bound). The running time from a given vertex is Õ(n) (Running time). A bound on the weight: Approx-Min-Cycle(G,s,t) R ←ф Q←{s} While Q is not empty do u ← Extract-Min(Q) Controlled-Relax(u,½t) (1) R←{(u,v)} Phase 1: … While R is not empty do (u,v) ← Extract-Min(R) RelaxOrStop(u,v)(2) (u,v) ← Extract-Min(Q u ) R←{(u,v)} Phase 2: A cycle can be reported either in line (1) or (2). Easy case (line 1): We stopped in line (1). The weight of the reported cycle is at most t. Hard case (line 2): Next slide.

29
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. Hard case (line 2): If we stopped at phase 2 before the middle edge (v i,v i+1 ) of s got out then any edge (x,y) that was popped out from R satisfies: d[s,x]+w(x,y) ≤ min {d[s,v i ]+w *,d[s,v i+1 ]+w * } In particular, if we stopped with the edge (h,g) then: d[s,h]+w(h,g)+d[s,g] ≤ 2 min {d[s,v i ]+w *,d[s,v i+1 ]+w * } ≤ d[s,v i ]+2w * +d[s,v i+1 ] ≤ t * +w * s vivi v i+1 ½t* ≤½t* ≤w * s h g Phase 1

30
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. Running time: The first time that a vertex beyond the ½t threshold is added to R for the second time we stop and report a cycle. Hence, we can charge any edge of R to its endpoint beyond the ½t threshold and the running time is Õ(n). R = {(u 0,v 0 ), (u 1,v 1 ), (u 2,v 2 ) } s ½t½t u0u0 v0v0 w u1u1 u2u2 v1v1 v2v2

31
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. Summary: We have shown that given t t* in Õ(n²) time it is possible to return a cycle of weight t* + w* This algorithm is a natural generalization of the additive 1-approximation of Itai and Rodeh for unweighted graphs. Recall that this is just one ingredient of our algorithm.

32
Our 4/3-Approximataion: Alg2 ( max{2t * - 2w l, t * + w u - w l } ). Weighted [1,M] undirected. Approx-Min-Cycle(G,s,t,w l,w u ) d[s] = 0 Controlled-Relax(s,w u ) While Q is not empty do u ← Extract-Min(Q) Controlled-Relax(u,t-w l ) Sketch: Analysis: More complicated. Some intuition: when a cycle is reported it is because we reach some vertex u twice. The bound is either 2t * - 2w l or t * + w u - w l. s=v i v i+1 =w * w * [w l,w u ]

33
In this talk For undirected graphs with weights from [1,M] a 4/3-approximation algorithm with a running time of O(n² log n log nM). (SODA’11) For undirected graphs with weights from [1,M] we show that the Min-Cycle problem can be efficiently reduced to finding a minimum weight triangle in graph with weights [1,Θ(M)]. (New result)

34
Weighted [1,M] undirected. Theorem: Given an undirected graph G with weights [1,M] there is an O(n² log n log nM) time algorithm that either find a Min-Cycle in G or compute log n graphs: G’ 1, G’ 2,G’ 3,... G’ log n With Θ(n) nodes and edge weights [1,O(M)] such that: The minimum weight triangle among all G’ i graphs has the same weight as the Min-Cycle of G. Min-Cycle to Min-Triangle

35
Simple (and important) observation: Assume that we run just the first phase of Alg1 (t * +w * ) for a given t. We either compute all distances of length at most ½t from s or report a cycle of weight at most t. Weighted [1,M] undirected. Min-Cycle to Min-Triangle Approx-Min-Cycle(G,s,t) R ←ф Q←{s} While Q is not empty do u ← Extract-Min(Q) Controlled-Relax(u,½t) Let (u,v) be the smallest edge of u that was not relaxed R←{(u,v)} While R is not empty do (u,v) ← Extract-Min(R) RelaxOrStop(u,v) (u,v) ← Extract-Min(Q u ) R←{(u,v)} Approx-Min-Cycle(G,s,t) Q←{s} While Q is not empty do u ← Extract-Min(Q) Controlled-Relax(u,½t)

36
First stage: Binary search for the first t such that Approx-Min-Cycle(G,2t) does not report on a cycle and Approx-Min-Cycle(G,2t+2) reports. Weighted [1,M] undirected. Min-Cycle to Min-Triangle t+1 Report a cycle ≤2t+2 t No cycle is reported. All distances up to t are computed Need to show: If the Min-Cycle ≤ 2t+1 we can find it.

37
vjvj vivi v i+1 Main Lemma: Let C={v 1,v 2, …,v ℓ } and assume that Approx-Min-Cycle(G,t) does not report a cycle then there are three distinct vertices v i,v i+1, and v j C such that: d C [v j,v i ]+w(v i,v i+1 )>t and d C [v i+1,v j ]+w(v i,v i+1 )>t Weighted [1,M] undirected. Min-Cycle to Min-Triangle ≤ 2t+1

38
vjvj vivi v i+1 Main Lemma: Let C={v 1,v 2, …,v ℓ } and assume that Approx-Min-Cycle(G,t) does not report a cycle then there are three distinct vertices v i,v i+1, and v j C such that: d C [v j,v i ]+w(v i,v i+1 )>t and d C [v i+1,v j ]+w(v i,v i+1 )>t Weighted [1,M] undirected. Min-Cycle to Min-Triangle ≤ 2t+1 d C [v j,v i ] ≤ t d C [v i+1,v j ] ≤ t As this is a Min-Cycle d[v j,v i ] = d C [v j,v i ] d [v i+1,v j ]=d C [v i+1,v j ] and we have computed these distances !

39
Create a new graph G’: Weighted [1,M] undirected. Min-Cycle to Min-Triangle vjvj vivi v i+1 v2iv2i v1jv1j v 2 i+1 (V 1,ø) (V 2,E) Distances

40
There are two problems with G’. We may create a triangle that corresponds to a path rather than a cycle The weights in G’ may be Ω(nM) (not covered in the talk) Weighted [1,M] undirected. Min-Cycle to Min-Triangle

41
Fixing the first problem: The last vertex on the path to z is y. We use color coding (Alon, Yuster and Zwick JACM`95 ). We use two colors. Weighted [1,M] undirected. Min-Cycle to Min-Triangle x1x1 y2y2 z2z2 y (V 1,ø) (V 2,E) Distances We add an edge (x 1,z 2 ) only if the last vertex before z is red y cannot be red and blue at the same time! x y z

42
We avoid the bad case and remain with the good case Weighted [1,M] undirected. Min-Cycle to Min-Triangle vjvj vivi v i+1

43
Summary We have settled many variants of a fundamental open problem in algorithmic graph theory. But, what about approximation in directed graphs? Can we get O(n 3-δ ) for some δ>0 and constant approximation? Or maybe we can show a “lower” bound.

44
Thank you!

45
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. Proof: Let (v i,v i+1 ) be an edge of C with weight strictly more than ½ t. In this case the claim holds for every vertex using this edge. Thus, we can assume that w*≤ ½ t. s=v 1 vivi v i+1 v2v2 v3v3 1. d C [s,v i ] ≤ ½ t 2. d C [s,v i+1 ]> ½ t We search for two vertices that satisfy: 1. d[s,v i ] ≤ d C [s,v i ] ≤ ½ t 2. d[s,v i+1 ] ≤½ t

46
Our 4/3-Approximataion: Alg1 (t* + w*) Weighted [1,M] undirected. Proof (cont): To complete the proof we need to show that these vertices exist. Assume on the contrary that we have not found two such vertices in the process. s=v 1 vivi v i+1 v2v2 v3v3 This means that: 1. d C [s,v ℓ-1 ] ≤ ½ t 2. d C [s,v ℓ ] ≤ ½ t A contradiction as w* ≤ ½ t vℓvℓ v ℓ-1 > ½ t

Similar presentations

OK

CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.

CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on diode circuits on breadboard Ppt on polynomials and coordinate geometry games Ppt on reported speech in english grammar Ppt on beer lambert law examples Ppt on learning styles Ppt on forward rate agreement ppt Ppt on production process of asian paints Ppt on 8 wonders of the world Ppt on even and odd functions Ppt on relations and functions for class 11th result