deterministic edge connectivity in near linear time
play

Deterministic Edge Connectivity in Near-Linear Time Ken-ichi - PowerPoint PPT Presentation

Deterministic Edge Connectivity in Near-Linear Time Ken-ichi Kawarabayashi National Institute of Informatics, Japan Mikkel Thorup University of Copenhagen Edge connectivity and global min-cut Simple graph G = ( V , E ) (no parallel edges).


  1. History cont’d n = | V | , m = | E | , edge conectivity λ = Θ( m / n ) . ◮ [Gabow 1993] Global min-cut in O ( λ m log ( n /λ )) time for simple graphs. Implicit O ( λ m log n ) for multigraphs. ◮ 1993 Karger starts applying randomized Monte Carlo to global min-cut (never sure that there is no smaller cut) ◮ [Karger and Stein 1993] Global min-cut in O ( n 2 log 3 n ) time but randomized Monte Carlo. √ ◮ [Karger 1994] Global min-cut in O ( λ m ) time but randomized Monte Carlo. ◮ [Karger 1996] Global min-cut in O ( m log 3 n ) time even for weighted graphs but randomized Monte Carlo. ◮ [Karger 1996] Most efficient way to verify min-cut (for Las Vegas) is using Gabow’s deterministic algorithm. ◮ [This paper] Global min-cut deterministically for simple graphs in O ( m log 12 n ) = � O ( m ) time.

  2. History cont’d n = | V | , m = | E | , edge conectivity λ = Θ( m / n ) . ◮ [Gabow 1993] Global min-cut in O ( λ m log ( n /λ )) time for simple graphs. Implicit O ( λ m log n ) for multigraphs. ◮ 1993 Karger starts applying randomized Monte Carlo to global min-cut (never sure that there is no smaller cut) ◮ [Karger and Stein 1993] Global min-cut in O ( n 2 log 3 n ) time but randomized Monte Carlo. √ ◮ [Karger 1994] Global min-cut in O ( λ m ) time but randomized Monte Carlo. ◮ [Karger 1996] Global min-cut in O ( m log 3 n ) time even for weighted graphs but randomized Monte Carlo. ◮ [Karger 1996] Most efficient way to verify min-cut (for Las Vegas) is using Gabow’s deterministic algorithm. ◮ [This paper] Global min-cut deterministically for simple graphs in O ( m log 12 n ) = � O ( m ) time.

  3. History cont’d n = | V | , m = | E | , edge conectivity λ = Θ( m / n ) . ◮ [Gabow 1993] Global min-cut in O ( λ m log ( n /λ )) time for simple graphs. Implicit O ( λ m log n ) for multigraphs. ◮ 1993 Karger starts applying randomized Monte Carlo to global min-cut (never sure that there is no smaller cut) ◮ [Karger and Stein 1993] Global min-cut in O ( n 2 log 3 n ) time but randomized Monte Carlo. √ ◮ [Karger 1994] Global min-cut in O ( λ m ) time but randomized Monte Carlo. ◮ [Karger 1996] Global min-cut in O ( m log 3 n ) time even for weighted graphs but randomized Monte Carlo. ◮ [Karger 1996] Most efficient way to verify min-cut (for Las Vegas) is using Gabow’s deterministic algorithm. ◮ [This paper] Global min-cut deterministically for simple graphs in O ( m log 12 n ) = � O ( m ) time.

  4. History cont’d n = | V | , m = | E | , edge conectivity λ = Θ( m / n ) . ◮ [Gabow 1993] Global min-cut in O ( λ m log ( n /λ )) time for simple graphs. Implicit O ( λ m log n ) for multigraphs. ◮ 1993 Karger starts applying randomized Monte Carlo to global min-cut (never sure that there is no smaller cut) ◮ [Karger and Stein 1993] Global min-cut in O ( n 2 log 3 n ) time but randomized Monte Carlo. √ ◮ [Karger 1994] Global min-cut in O ( λ m ) time but randomized Monte Carlo. ◮ [Karger 1996] Global min-cut in O ( m log 3 n ) time even for weighted graphs but randomized Monte Carlo. ◮ [Karger 1996] Most efficient way to verify min-cut (for Las Vegas) is using Gabow’s deterministic algorithm. ◮ [This paper] Global min-cut deterministically for simple graphs in O ( m log 12 n ) = � O ( m ) time.

  5. History cont’d n = | V | , m = | E | , edge conectivity λ = Θ( m / n ) . ◮ [Gabow 1993] Global min-cut in O ( λ m log ( n /λ )) time for simple graphs. Implicit O ( λ m log n ) for multigraphs. ◮ 1993 Karger starts applying randomized Monte Carlo to global min-cut (never sure that there is no smaller cut) ◮ [Karger and Stein 1993] Global min-cut in O ( n 2 log 3 n ) time but randomized Monte Carlo. √ ◮ [Karger 1994] Global min-cut in O ( λ m ) time but randomized Monte Carlo. ◮ [Karger 1996] Global min-cut in O ( m log 3 n ) time even for weighted graphs but randomized Monte Carlo. ◮ [Karger 1996] Most efficient way to verify min-cut (for Las Vegas) is using Gabow’s deterministic algorithm. ◮ [This paper] Global min-cut deterministically for simple graphs in O ( m log 12 n ) = � O ( m ) time.

  6. History cont’d n = | V | , m = | E | , edge conectivity λ = Θ( m / n ) . ◮ [Gabow 1993] Global min-cut in O ( λ m log ( n /λ )) time for simple graphs. Implicit O ( λ m log n ) for multigraphs. ◮ 1993 Karger starts applying randomized Monte Carlo to global min-cut (never sure that there is no smaller cut) ◮ [Karger and Stein 1993] Global min-cut in O ( n 2 log 3 n ) time but randomized Monte Carlo. √ ◮ [Karger 1994] Global min-cut in O ( λ m ) time but randomized Monte Carlo. ◮ [Karger 1996] Global min-cut in O ( m log 3 n ) time even for weighted graphs but randomized Monte Carlo. ◮ [Karger 1996] Most efficient way to verify min-cut (for Las Vegas) is using Gabow’s deterministic algorithm. ◮ [This paper] Global min-cut deterministically for simple graphs in O ( m log 12 n ) = � O ( m ) time.

  7. History cont’d n = | V | , m = | E | , edge conectivity λ = Θ( m / n ) . ◮ [Gabow 1993] Global min-cut in O ( λ m log ( n /λ )) time for simple graphs. Implicit O ( λ m log n ) for multigraphs. ◮ 1993 Karger starts applying randomized Monte Carlo to global min-cut (never sure that there is no smaller cut) ◮ [Karger and Stein 1993] Global min-cut in O ( n 2 log 3 n ) time but randomized Monte Carlo. √ ◮ [Karger 1994] Global min-cut in O ( λ m ) time but randomized Monte Carlo. ◮ [Karger 1996] Global min-cut in O ( m log 3 n ) time even for weighted graphs but randomized Monte Carlo. ◮ [Karger 1996] Most efficient way to verify min-cut (for Las Vegas) is using Gabow’s deterministic algorithm. ◮ [This paper] Global min-cut deterministically for simple graphs in O ( m log 12 n ) = � O ( m ) time.

  8. Underlying result ◮ For simple graph with min-degree δ , in near-linear time, contract edges producing graph G with m = � O ( m /δ ) edges, preserving all non-trivial min-cuts of G . ◮ A cut is trivial if one side is a single vertex. ◮ Multigraph?

  9. Underlying result ◮ For simple graph with min-degree δ , in near-linear time, contract edges producing graph G with m = � O ( m /δ ) edges, preserving all non-trivial min-cuts of G . ◮ A cut is trivial if one side is a single vertex. trivial non−trivial ◮ Multigraph?

  10. Underlying result ◮ For simple graph with min-degree δ , in near-linear time, contract edges producing graph G with m = � O ( m /δ ) edges, preserving all non-trivial min-cuts of G . ◮ A cut is trivial if one side is a single vertex. trivial non−trivial ◮ Multigraph?

  11. Underlying result ◮ For simple graph with min-degree δ , in near-linear time, contract edges producing graph G with m = � O ( m /δ ) edges, preserving all non-trivial min-cuts of G . ◮ A cut is trivial if one side is a single vertex. trivial non−trivial ◮ Multigraph?

  12. Underlying result ◮ For simple graph with min-degree δ , in near-linear time, contract edges producing graph G with m = � O ( m /δ ) edges, preserving all non-trivial min-cuts of G . ◮ A cut is trivial if one side is a single vertex. trivial non−trivial ◮ Multigraph? all edges in non-trivial min-cuts.

  13. Underlying result ◮ For simple graph with min-degree δ , in near-linear time, contract edges producing graph G with m = � O ( m /δ ) edges, preserving all non-trivial min-cuts of G . ◮ A cut is trivial if one side is a single vertex. trivial non−trivial ◮ Run Gabow’s min-cut (or cactus) algorithm on G in O ( λ m ) = � � O ( m ) time. ◮ Check against δ to see if trivial min-cuts from G should be included. ◮ Gives min-cut (or cactus) for original G in � O ( m ) total time.

  14. Underlying result ◮ For simple graph with min-degree δ , in near-linear time, contract edges producing graph G with m = � O ( m /δ ) edges, preserving all non-trivial min-cuts of G . ◮ A cut is trivial if one side is a single vertex. trivial non−trivial ◮ Run Gabow’s min-cut (or cactus) algorithm on G in O ( λ m ) = � � O ( m ) time. ◮ Check against δ to see if trivial min-cuts from G should be included. ◮ Gives min-cut (or cactus) for original G in � O ( m ) total time.

  15. Underlying result ◮ For simple graph with min-degree δ , in near-linear time, contract edges producing graph G with m = � O ( m /δ ) edges, preserving all non-trivial min-cuts of G . ◮ A cut is trivial if one side is a single vertex. trivial non−trivial ◮ Run Gabow’s min-cut (or cactus) algorithm on G in O ( λ m ) = � � O ( m ) time. ◮ Check against δ to see if trivial min-cuts from G should be included. ◮ Gives min-cut (or cactus) for original G in � O ( m ) total time.

  16. Underlying result ◮ For simple graph with min-degree δ , in near-linear time, contract edges producing graph G with m = � O ( m /δ ) edges, preserving all non-trivial min-cuts of G . ◮ A cut is trivial if one side is a single vertex. trivial non−trivial ◮ Run Gabow’s min-cut (or cactus) algorithm on G in O ( λ m ) = � � O ( m ) time. ◮ Check against δ to see if trivial min-cuts from G should be included. ◮ Gives min-cut (or cactus) for original G in � O ( m ) total time.

  17. Involving cut conductance ◮ The volume of vertex set U ⊆ V is # edge end-points in U : � vol ( U ) = d ( v ) . v ∈ U ◮ Recall ∂ U = E ( U , V \ U ) . ◮ Conductance of cut around U is | ∂ U | min { vol ( U ) , 2 m − vol ( U ) } = Φ( V \ U ) Φ( U ) =

  18. Involving cut conductance ◮ The volume of vertex set U ⊆ V is # edge end-points in U : � vol ( U ) = d ( v ) . v ∈ U ◮ Recall ∂ U = E ( U , V \ U ) . ◮ Conductance of cut around U is | ∂ U | min { vol ( U ) , 2 m − vol ( U ) } = Φ( V \ U ) Φ( U ) = Φ = 1/4 Φ = 1 trivial non−trivial

  19. Non-trivial min-cuts have low-conductance Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . ◮ | ∂ S | ≥ | S | ( δ − ( | S | − 1 )) . ◮ so | ∂ S | ≤ δ and | S | > 1 = ⇒ | S | ≥ δ . ◮ so vol ( S ) ≥ δ 2 and Φ( S ) = | ∂ S | / vol ( S ) ≤ 1 /δ . � We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow.

  20. Non-trivial min-cuts have low-conductance Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . ◮ | ∂ S | ≥ | S | ( δ − ( | S | − 1 )) . ◮ so | ∂ S | ≤ δ and | S | > 1 = ⇒ | S | ≥ δ . ◮ so vol ( S ) ≥ δ 2 and Φ( S ) = | ∂ S | / vol ( S ) ≤ 1 /δ . � We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow.

  21. Non-trivial min-cuts have low-conductance Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . ◮ | ∂ S | ≥ | S | ( δ − ( | S | − 1 )) . ◮ so | ∂ S | ≤ δ and | S | > 1 = ⇒ | S | ≥ δ . ◮ so vol ( S ) ≥ δ 2 and Φ( S ) = | ∂ S | / vol ( S ) ≤ 1 /δ . � We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow.

  22. Non-trivial min-cuts have low-conductance Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . ◮ | ∂ S | ≥ | S | ( δ − ( | S | − 1 )) . ◮ so | ∂ S | ≤ δ and | S | > 1 = ⇒ | S | ≥ δ . ◮ so vol ( S ) ≥ δ 2 and Φ( S ) = | ∂ S | / vol ( S ) ≤ 1 /δ . � We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow.

  23. Non-trivial min-cuts have low-conductance Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . ◮ | ∂ S | ≥ | S | ( δ − ( | S | − 1 )) . ◮ so | ∂ S | ≤ δ and | S | > 1 = ⇒ | S | ≥ δ . ◮ so vol ( S ) ≥ δ 2 and Φ( S ) = | ∂ S | / vol ( S ) ≤ 1 /δ . � We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow.

  24. Certify-or-cut Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow. Certify-or-cut ( G ) In near-linear time, we will either (i) certify all min-cuts of G are trivial, or (ii) find cut T with conductance o ( 1 / log m ) . Both (i) and (ii) alone are difficult deterministically. (i) As hard as certifying edge connectivity k (ii) Using PageRank, need to guess good vertex in S .

  25. Certify-or-cut Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow. Certify-or-cut ( G ) In near-linear time, we will either (i) certify all min-cuts of G are trivial, or (ii) find cut T with conductance o ( 1 / log m ) . Both (i) and (ii) alone are difficult deterministically. (i) As hard as certifying edge connectivity k (ii) Using PageRank, need to guess good vertex in S .

  26. Certify-or-cut Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow. Certify-or-cut ( G ) In near-linear time, we will either (i) certify all min-cuts of G are trivial, or (ii) find cut T with conductance o ( 1 / log m ) . Both (i) and (ii) alone are difficult deterministically. (i) As hard as certifying edge connectivity k (ii) Using PageRank, need to guess good vertex in S .

  27. Certify-or-cut Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow. Certify-or-cut ( G ) In near-linear time, we will either (i) certify all min-cuts of G are trivial, or (ii) find cut T with conductance o ( 1 / log m ) . Both (i) and (ii) alone are difficult deterministically. (i) As hard as certifying edge connectivity k K 3 4−connected? (ii) Using PageRank, need to guess good vertex in S .

  28. Certify-or-cut Obs Any non-trivial min-cut S has conductance ≤ 1 /δ . We assume min-degree δ ≥ lg 6 n ; otherwise apply Gabow. Certify-or-cut ( G ) In near-linear time, we will either (i) certify all min-cuts of G are trivial, or (ii) find cut T with conductance o ( 1 / log m ) . Both (i) and (ii) alone are difficult deterministically. (i) As hard as certifying edge connectivity k K 3 4−connected? (ii) Using PageRank, need to guess good vertex in S .

  29. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  30. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  31. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  32. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  33. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  34. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  35. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  36. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  37. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  38. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  39. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  40. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / log m ) of C Claim If C has been certified, we can contract a large “core” of C in G preserving all non-trivial cuts of G . No proof in this talk ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Lemma Most edges remain in components C of H : ◮ charge cut edges as o ( 1 / log m ) per small-side edge. ◮ each edge land in small side lg m times. �

  41. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / lg m ) of C Claim If C has been certified, we can contrat a large “core” of C in G preserving all non-trivial cuts of G . ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Need to recurse, but contractions create parallel edges. Thm After enough recursions G has � O ( m /δ ) edges and preserves all original non-trivial min-cuts. Many details in paper.

  42. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / lg m ) of C Claim If C has been certified, we can contrat a large “core” of C in G preserving all non-trivial cuts of G . ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Need to recurse, but contractions create parallel edges. Thm After enough recursions G has � O ( m /δ ) edges and preserves all original non-trivial min-cuts. Many details in paper.

  43. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / lg m ) of C Claim If C has been certified, we can contrat a large “core” of C in G preserving all non-trivial cuts of G . ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Need to recurse, but contractions create parallel edges. Thm After enough recursions G has � O ( m /δ ) edges and preserves all original non-trivial min-cuts. Many details in paper.

  44. Overall algorithm Really, we need something more elaborate Certify-or-cut ( C , G ) C subgraph of G with min-degree 2 5 δ . (i) certify no min-cut of G splits more than 2 vertices from C . (ii) find a cut ( A , B ) of conductance o ( 1 / lg m ) of C Claim If C has been certified, we can contrat a large “core” of C in G preserving all non-trivial cuts of G . ◮ Set H = G . ◮ While some component C of H has not been certified. ◮ Certify-or-cut ( C , G ) ◮ if we get low-conductance cut ( A , B ) of C ◮ remove cut edges E ( A , B ) from H . ◮ repeatedly remove v with d H ( v ) ≤ 2 5 d G ( v ) . ◮ Contract cores of components C of H in G . Need to recurse, but contractions create parallel edges. Thm After enough recursions G has � O ( m /δ ) edges and preserves all original non-trivial min-cuts. Many details in paper.

  45. Certify-or-cut Rest of talk focussed on our simplified toy problem: Certify-or-cut ( G ) For simple graph G , in near-linear time, either (i) certify all min-cuts of G are trivial, or (ii) find a cut U of conductance o ( 1 / lg m ) . Recall both (i) and (ii) alone are difficult. (i) As hard as certifying edge connectivity k (ii) Using PageRank, need to guess good vertex in S .

  46. Certify-or-cut Rest of talk focussed on our simplified toy problem: Certify-or-cut ( G ) For simple graph G , in near-linear time, either (i) certify all min-cuts of G are trivial, or (ii) find a cut U of conductance o ( 1 / lg m ) . Recall both (i) and (ii) alone are difficult. (i) As hard as certifying edge connectivity k K 3 4−connected? (ii) Using PageRank, need to guess good vertex in S .

  47. Certify-or-cut Rest of talk focussed on our simplified toy problem: Certify-or-cut ( G ) For simple graph G , in near-linear time, either (i) certify all min-cuts of G are trivial, or (ii) find a cut U of conductance o ( 1 / lg m ) . ◮ We use PageRank emulating random walk. ◮ Normally PageRank is Monte Carlo randomized that needs to guess good start vertex to find low-conductance cut. ◮ We need success (ii) only if non-trivial min-cut exists ¬ (i). ◮ This gives us enough structure for deterministic algorithm, bypassing the need for guessing.

  48. Certify-or-cut Rest of talk focussed on our simplified toy problem: Certify-or-cut ( G ) For simple graph G , in near-linear time, either (i) certify all min-cuts of G are trivial, or (ii) find a cut U of conductance o ( 1 / lg m ) . ◮ We use PageRank emulating random walk. ◮ Normally PageRank is Monte Carlo randomized that needs to guess good start vertex to find low-conductance cut. ◮ We need success (ii) only if non-trivial min-cut exists ¬ (i). ◮ This gives us enough structure for deterministic algorithm, bypassing the need for guessing.

  49. Certify-or-cut Rest of talk focussed on our simplified toy problem: Certify-or-cut ( G ) For simple graph G , in near-linear time, either (i) certify all min-cuts of G are trivial, or (ii) find a cut U of conductance o ( 1 / lg m ) . ◮ We use PageRank emulating random walk. ◮ Normally PageRank is Monte Carlo randomized that needs to guess good start vertex to find low-conductance cut. ◮ We need success (ii) only if non-trivial min-cut exists ¬ (i). ◮ This gives us enough structure for deterministic algorithm, bypassing the need for guessing.

  50. Certify-or-cut Rest of talk focussed on our simplified toy problem: Certify-or-cut ( G ) For simple graph G , in near-linear time, either (i) certify all min-cuts of G are trivial, or (ii) find a cut U of conductance o ( 1 / lg m ) . ◮ We use PageRank emulating random walk. ◮ Normally PageRank is Monte Carlo randomized that needs to guess good start vertex to find low-conductance cut. ◮ We need success (ii) only if non-trivial min-cut exists ¬ (i). ◮ This gives us enough structure for deterministic algorithm, bypassing the need for guessing.

  51. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = � v ∈ V p ◦ ( v ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with residual density r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0.

  52. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = � v ∈ V p ◦ ( v ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with residual density r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0.

  53. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = � v ∈ V p ◦ ( v ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with residual density r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0.

  54. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = � v ∈ V p ◦ ( v ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with residual density r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0.

  55. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = � v ∈ V p ◦ ( v ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with residual density r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0.

  56. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = � v ∈ V p ◦ ( v ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with residual density r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0.

  57. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0. ◮ order vertices v by decreasing density p ( v ) / d ( v ) . ◮ find best cuts defined by any prefix. Pushing over O ( 1 / ( αε )) edges in total, so O ( 1 / ( αε )) total time. But when can we promise finding low-conductance cut?

  58. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0. ◮ order vertices v by decreasing density p ( v ) / d ( v ) . ◮ find best cuts defined by any prefix. Pushing over O ( 1 / ( αε )) edges in total, so O ( 1 / ( αε )) total time. But when can we promise finding low-conductance cut?

  59. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0. ◮ order vertices v by decreasing density p ( v ) / d ( v ) . ◮ find best cuts defined by any prefix. Pushing over O ( 1 / ( αε )) edges in total, so O ( 1 / ( αε )) total time. But when can we promise finding low-conductance cut?

  60. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( v ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0. ◮ order vertices v by decreasing density p ( v ) / d ( v ) . ◮ find best cuts defined by any prefix. Pushing over O ( 1 / ( αε )) edges in total, so O ( 1 / ( αε )) total time. But when can we promise finding low-conductance cut?

  61. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( r ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0 Unique (abstract) limit mass distribution p ∗ ← p for ε → 0. PR α ( p ◦ ) = p ∗ linear transformation such that PR α ( p ◦ ) = p + PR α ( r ) Stationary mass distribution q = PR α ( q ) iff all v ∈ V have same density q ( v ) / d ( v ) = σ .

  62. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( r ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0 Unique (abstract) limit mass distribution p ∗ ← p for ε → 0. PR α ( p ◦ ) = p ∗ linear transformation such that PR α ( p ◦ ) = p + PR α ( r ) Stationary mass distribution q = PR α ( q ) iff all v ∈ V have same density q ( v ) / d ( v ) = σ .

  63. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( r ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0 Unique (abstract) limit mass distribution p ∗ ← p for ε → 0. PR α ( p ◦ ) = p ∗ linear transformation such that PR α ( p ◦ ) = p + PR α ( r ) Stationary mass distribution q = PR α ( q ) iff all v ∈ V have same density q ( v ) / d ( v ) = σ .

  64. PageRank [Andersen, Chung, Lang FOCS’06] PageRank ( p ◦ , α, ε ) initial mass distribution p ◦ : V → R ≥ 0 , p ◦ ( V ) = 1 teleportation constant α = 1 / lg 5 n slack ε ∈ ( 0 , 1 ) . ◮ residual mass distribution r = p ◦ ◮ settled mass distribution p = 0 V ◮ while v ∈ V with r ( v ) / d ( v ) ≥ ε ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( r ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0 Unique (abstract) limit mass distribution p ∗ ← p for ε → 0. PR α ( p ◦ ) = p ∗ linear transformation such that PR α ( p ◦ ) = p + PR α ( r ) Stationary mass distribution q = PR α ( q ) iff all v ∈ V have same density q ( v ) / d ( v ) = σ .

  65. Limit concentration and cuts ’06] If S ⊆ V has p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) then Thm [ACL PageRank finds T with conductance Φ( T ) = o ( 1 / log m ) with vol ( T ) = � O ( vol ( S )) in � O ( vol ( T )) time. In [ACL06], if Φ( S ) ≤ 1 / lg 10 m and we start with p ◦ ( v ) = 1 from random v ∈ S , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) with good probability, but here we do not want to guess.. We will prove that if S non-trivial min-cut and we start with p ◦ ( v ) = 1 for any v ∈ S , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) . and if that fails we have New analysis of end-game Thm If v ∈ V has p ∗ ( v ) / d ( v ) = ( 1 − Ω( 1 )) / ( 2 m ) then PageRank finds T , vol ( T ) ≤ m , with Φ( T ) = o ( 1 / log m ) either in � O ( vol ( T )) time or T contains all v with p ∗ ( v ) / d ( v ) = ( 1 − Ω( 1 )) / ( 2 m ) .

  66. Limit concentration and cuts ’06] If S ⊆ V has p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) then Thm [ACL PageRank finds T with conductance Φ( T ) = o ( 1 / log m ) with vol ( T ) = � O ( vol ( S )) in � O ( vol ( T )) time. In [ACL06], if Φ( S ) ≤ 1 / lg 10 m and we start with p ◦ ( v ) = 1 from random v ∈ S , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) with good probability, but here we do not want to guess.. We will prove that if S non-trivial min-cut and we start with p ◦ ( v ) = 1 for any v ∈ S , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) . and if that fails we have New analysis of end-game Thm If v ∈ V has p ∗ ( v ) / d ( v ) = ( 1 − Ω( 1 )) / ( 2 m ) then PageRank finds T , vol ( T ) ≤ m , with Φ( T ) = o ( 1 / log m ) either in � O ( vol ( T )) time or T contains all v with p ∗ ( v ) / d ( v ) = ( 1 − Ω( 1 )) / ( 2 m ) .

  67. Limit concentration and cuts ’06] If S ⊆ V has p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) then Thm [ACL PageRank finds T with conductance Φ( T ) = o ( 1 / log m ) with vol ( T ) = � O ( vol ( S )) in � O ( vol ( T )) time. In [ACL06], if Φ( S ) ≤ 1 / lg 10 m and we start with p ◦ ( v ) = 1 from random v ∈ S , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) with good probability, but here we do not want to guess.. We will prove that if S non-trivial min-cut and we start with p ◦ ( v ) = 1 for any v ∈ S , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) . and if that fails we have New analysis of end-game Thm If v ∈ V has p ∗ ( v ) / d ( v ) = ( 1 − Ω( 1 )) / ( 2 m ) then PageRank finds T , vol ( T ) ≤ m , with Φ( T ) = o ( 1 / log m ) either in � O ( vol ( T )) time or T contains all v with p ∗ ( v ) / d ( v ) = ( 1 − Ω( 1 )) / ( 2 m ) .

  68. Limit concentration and cuts ’06] If S ⊆ V has p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) then Thm [ACL PageRank finds T with conductance Φ( T ) = o ( 1 / log m ) with vol ( T ) = � O ( vol ( S )) in � O ( vol ( T )) time. In [ACL06], if Φ( S ) ≤ 1 / lg 10 m and we start with p ◦ ( v ) = 1 from random v ∈ S , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) with good probability, but here we do not want to guess.. We will prove that if S non-trivial min-cut and we start with p ◦ ( v ) = 1 for any v ∈ S , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) = Ω( 1 ) . and if that fails we have New analysis of end-game Thm If v ∈ V has p ∗ ( v ) / d ( v ) = ( 1 − Ω( 1 )) / ( 2 m ) then PageRank finds T , vol ( T ) ≤ m , with Φ( T ) = o ( 1 / log m ) either in � O ( vol ( T )) time or T contains all v with p ∗ ( v ) / d ( v ) = ( 1 − Ω( 1 )) / ( 2 m ) .

  69. Mass flows from ACL ’06 Recall ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( r ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0 Lemma Starting from p ◦ , with settled mass p , netflow over ( u , v ) was ( 1 − α )( p ( u ) / d ( u ) − p ( v ) / d ( v )) /α . Lemma If r ( v ) / d ( v ) ≤ σ for all v ∈ V , henceforth, netflow over any edge ≤ σ ( 1 − α ) /α < σ/α .

  70. Mass flows from ACL ’06 Recall ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( r ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0 Lemma Starting from p ◦ , with settled mass p , netflow over ( u , v ) was ( 1 − α )( p ( u ) / d ( u ) − p ( v ) / d ( v )) /α . Lemma If r ( v ) / d ( v ) ≤ σ for all v ∈ V , henceforth, netflow over any edge ≤ σ ( 1 − α ) /α < σ/α .

  71. Mass flows from ACL ’06 Recall ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( r ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0 Lemma Starting from p ◦ , with settled mass p , netflow over ( u , v ) was ( 1 − α )( p ( u ) / d ( u ) − p ( v ) / d ( v )) /α . Lemma If r ( v ) / d ( v ) ≤ σ for all v ∈ V , henceforth, netflow over any edge ≤ σ ( 1 − α ) /α < σ/α .

  72. Mass flows from ACL ’06 Recall ◮ Push ( α, v ) : ◮ p ( v ) = p ( v ) + α r ( r ) ◮ for ( v , w ) ∈ E do r ( w ) = r ( w ) + ( 1 − α ) r ( v ) / d ( v ) ◮ r ( v ) = 0 Lemma Starting from p ◦ , with settled mass p , netflow over ( u , v ) was ( 1 − α )( p ( u ) / d ( u ) − p ( v ) / d ( v )) /α . Lemma If r ( v ) / d ( v ) ≤ σ for all v ∈ V , henceforth, netflow over any edge ≤ σ ( 1 − α ) /α < σ/α .

  73. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  74. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  75. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  76. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  77. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  78. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  79. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  80. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  81. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  82. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  83. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  84. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  85. Starting from any vertex on small side of min-cut ◮ We have min-degree δ ≥ lg 6 n and α = 1 / lg 5 n . ◮ Let S with vol ( S ) ≤ m / 2 be small side of min-cut. ◮ For arbitrary v ∈ S , start with p ◦ ( v ) = 1 and push from v ◮ At least half mass stays in S . ◮ On every vertex u , residual mass r ( u ) ≤ 1 / d ( v ) ≤ 1 /δ ◮ On every vertex u , residual density r ( u ) / d ( u ) ≤ 1 /δ 2 . ◮ Henceforth pushing, netflow over any edges < 1 / ( αδ 2 ) , ◮ so λ/ ( αδ 2 ) ≤ 1 / lg m = o ( 1 ) flow over edges leaving S . ◮ Thus 1 / 2 − o ( 1 ) mass remains in S , so p ∗ ( v ) − vol ( S ) / ( 2 m ) ≥ 1 / 2 − o ( 1 ) − ( m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  86. Balanced min-cut ◮ Suppose min-cut side S with m / 2 ≤ vol ( S ) ≤ 3 m / 2. ◮ < 16 vertices incident to ≥ δ/ 8 cut edges. ◮ Trying 16 vertices separately. ◮ One v has 7 / 8 neighbors on same side. ◮ Pushing to limit from v , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) ≥ 7 / 8 − o ( 1 ) − ( 3 m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

  87. Balanced min-cut ◮ Suppose min-cut side S with m / 2 ≤ vol ( S ) ≤ 3 m / 2. ◮ < 16 vertices incident to ≥ δ/ 8 cut edges. ◮ Trying 16 vertices separately. ◮ One v has 7 / 8 neighbors on same side. ◮ Pushing to limit from v , we get p ∗ ( S ) − vol ( S ) / ( 2 m ) ≥ 7 / 8 − o ( 1 ) − ( 3 m / 2 ) / ( 2 m ) = Ω( 1 ) . ◮ By ACL, PageRank finds T with Φ( T ) = o ( 1 / log m )

Recommend


More recommend