Breaking Quadratic Time for Small Vertex Connectivity and an - - PowerPoint PPT Presentation

breaking quadratic time for small vertex connectivity and
SMART_READER_LITE
LIVE PREVIEW

Breaking Quadratic Time for Small Vertex Connectivity and an - - PowerPoint PPT Presentation

Breaking Quadratic Time for Small Vertex Connectivity and an Approximation Scheme Thatchaphol Saranurak Danupon Nanongkai Sorrachai Yingchareonthawornchai Danupon Nanongkai Thatchaphol Saranurak Sorrachai Yingchareonthawornchai KTH TTIC


slide-1
SLIDE 1

Breaking Quadratic Time for Small Vertex Connectivity and an Approximation Scheme

Danupon Nanongkai Thatchaphol Saranurak Sorrachai Yingchareonthawornchai

@WOLA’19 22 July 2019

Danupon Nanongkai KTH Thatchaphol Saranurak TTIC

Sorrachai Yingchareonthawornchai Aalto University

slide-2
SLIDE 2

Take Home Message:

“Local algorithms are useful for vertex connectivity”

slide-3
SLIDE 3

Vertex Connectivity

G = (V, E), |V| = n, |E| = m Compute the minimum number of vertices to be removed to disconnect the graph

κ

slide-4
SLIDE 4

Part 1: Introduction

Background and Results

slide-5
SLIDE 5

Reference General

Kleitman’69, Podderyugin’73, Even Tarjan’75

Even’75, Galil’80, Esfahanian Hakimi’84, Matula’87

Becker et al’82 (Randomized) Nagamochi Ibaraki’92

Can assume

Linial Lovasz Wigderson’88, Cheriyan Reif’91 Henzinger Rao Gabow’00 (Randomized) Gabow’06 (Deterministic)

G = (V, E), |V| = n, |E| = m, k = κ

*omit polylog factor

mnk2

(n + k2)mk

mnk

m = O(nk)

nω + nkω

mn

mn + mk2.5 + mn3/4k

n2 n2 n2 nω n2 n2

O(n2)

remains since 1969 time

Even for m = O(n), k = O(1),

m = O(n)

* * * state-of-the-art

slide-6
SLIDE 6

Reference General

Kleitman’69, Podderyugin’73, Even Tarjan’75

Even’75, Galil’80, Esfahanian Hakimi’84, Matula’87

Becker et al’82 (Randomized) Nagamochi Ibaraki’92

Can assume

Linial Lovasz Wigderson’88, Cheriyan Reif’91 Henzinger Rao Gabow’00 (Randomized) Gabow’06 (Deterministic)

G = (V, E), |V| = n, |E| = m, k = κ

*omit polylog factor

mnk2

(n + k2)mk

mnk

m = O(nk)

nω + nkω

mn

mn + m min{k2.5 + n3/4k}

n2 n2 n2 nω n2 n2

O(n2)

remains since 1969 time

Even for m = O(n), k = O(1),

m = O(n)

* *

slide-7
SLIDE 7

Reference General

Kleitman’69, Podderyugin’73, Even Tarjan’75

Even’75, Galil’80, Esfahanian Hakimi’84, Matula’87

Becker et al’82 (Randomized) Nagamochi Ibaraki’92

Can assume

Linial Lovasz Wigderson’88, Cheriyan Reif’91 Henzinger Rao Gabow’00 (Randomized) Gabow’06 (Deterministic) Our work (STOC’19) Our follow-up work’19, Forster Young’19

G = (V, E), |V| = n, |E| = m, k = κ

*omit polylog factor

mnk2

(n + k2)mk

mnk

m = O(nk)

nω + nkω

mn

n2 n2 n2 nω n2 n2

m = O(n)

n4/3 n

m + nk3

m + n4/3k7/3

Near-linear time when k = O(polylog(n))

mn + m min{k2.5 + n3/4k}

slide-8
SLIDE 8

Reference Time Approx

Linial Lovasz Wigderson’88, Cheriyan Reif’91, Henzinger’97 2 Censor-Hillel Ghaffari Kuhn’14 Our work* (STOC’19)

m

min{n2.5, n2k, nω + nkω}

Approximation

Remark: use fast approximate s,t-vertex connectivity from Chuzhoy Khanna (STOC’19) m + 1 poly(ϵ) min {nk2, n5/3+o(1)k2/3, n3+o(1) k , nω}

min{n2.2+o(1), nω}

(1 + ϵ) *Actual bound is

For any k

log n

O(n2.5) when k = Ω(n0.64..)

slide-9
SLIDE 9

Contributions

(including our follow-up work)

slide-10
SLIDE 10

Breaking 50-year-old O(n2) for small time

κ

Fastest -approximation

(1 + ϵ)

Fastest up to

κ = O(n0.457)

for any κ

Near-linear time for κ = O(1)

slide-11
SLIDE 11

Follow-up’19: Testing k-Vertex Connectivity

Reference Query Complexity (Simplified)

Goldreich Ron’02, Orenstein Ron’11, Yoshida Ito’10, Yoshida’ Ito 12

Open: polynomial #queries?

Forster Young’19 Our follow-up ’19

˜ O( k ϵ2 )

˜ O( 2k+1 ϵk+1 ) ˜ O( k3 ϵ2 )

One-sided tester: k-vertex connected vs. -far

ϵ

slide-12
SLIDE 12

Part 2: Techniques

slide-13
SLIDE 13

Reference General

Kleitman’69, Podderyugin’73, Even Tarjan’75

Even’75, Galil’80, Esfahanian Hakimi’84, Matula’87

Becker et al’82 Nagamochi Ibaraki’92

Can assume

Linial Lovasz Wigderson’88, Cheriyan Reif’91 Henzinger Rao Gabow’00 (Randomized) Gabow’06 (Deterministic)

G = (V, E), |V| = n, |E| = m, k = κ

*omit polylog factor

mnk2

(n + k2)mk

mnk

m = O(nk)

nω + nkω

mn

mn + mk2.5 + mn3/4k

n2 n2 n2 nω n2 n2

m = O(n)

Barrier: Single-Source Vertex Connectivity

No algorithm is known

  • (n2)

Fix a node s, compute the smallest vertex-cut separating s from some node

slide-14
SLIDE 14

Part 2.1:

Local Vertex Connectivity

to replace Single-Source Vertex Connectivity

Fix a node s, is there a vertex-cut “near” s ? (in sub-linear time)

Explore around s

slide-15
SLIDE 15

Assumption: G is regular, m = O(n), κ = O(1) Notation: N(L) = neighbors of L ⊂ V

L N(L) a vertex-cut

slide-16
SLIDE 16

Local Vertex Connectivity

Input: LocalVC(x ∈ V, ν, k) where ν < m k

Output:

(2) a vertex-set L

(1) declare that no L ⊂ V exists

where L ∋ x, |L| ≤ ν, |N(L)| < k, where |N(L)| < k Either OR

Explore around x Target vertex-cut

slide-17
SLIDE 17

Local Vertex Connectivity

Input: LocalVC(x ∈ V, ν, k) where ν < m k

Output:

(2) a vertex-set L where |N(L)| < k Either OR

x

G Start

(1) declare that no L ⊂ V exists

where L ∋ x, |L| ≤ ν, |N(L)| < k,

Explore around x

slide-18
SLIDE 18

Local Vertex Connectivity

Input: LocalVC(x ∈ V, ν, k) where ν < m k

Output:

(2) a vertex-set L where |N(L)| < k Either OR

x

G Explore

(1) declare that no L ⊂ V exists

where L ∋ x, |L| ≤ ν, |N(L)| < k,

slide-19
SLIDE 19

Local Vertex Connectivity

Input: LocalVC(x ∈ V, ν, k) where ν < m k

Output:

(2) a vertex-set L where |N(L)| < k Either OR

x

G No small cut

(1) declare that no L ⊂ V exists

where L ∋ x, |L| ≤ ν, |N(L)| < k,

slide-20
SLIDE 20

Local Vertex Connectivity

Input: LocalVC(x ∈ V, ν, k) where ν < m k

Output:

(2) a vertex-set L where |N(L)| < k Either OR G

x

Start

L N(L) G

x

(1) declare that no L ⊂ V exists

where L ∋ x, |L| ≤ ν, |N(L)| < k, No small cut

slide-21
SLIDE 21

Local Vertex Connectivity

Input: LocalVC(x ∈ V, ν, k) where ν < m k

Output:

(2) a vertex-set L where |N(L)| < k Either OR G

x

Explore

L N(L) G

(1) declare that no L ⊂ V exists

where L ∋ x, |L| ≤ ν, |N(L)| < k, No small cut

slide-22
SLIDE 22

Local Vertex Connectivity

Input: LocalVC(x ∈ V, ν, k) where ν < m k

Output:

(2) a vertex-set L where |N(L)| < k Either OR G

x

Found a cut

L N(L) G

(1) declare that no L ⊂ V exists

where L ∋ x, |L| ≤ ν, |N(L)| < k, No small cut

slide-23
SLIDE 23

where L ∋ x, |L| ≤ ν, |N(L)| < k,

Local Vertex Connectivity

Input: LocalVC(x ∈ V, ν, k) where ν < m k

Output:

(2) a vertex-set L

(1) declare that no L exists

where |N(L)| < k Either OR G L

x

L N(L) G

Reading

O(νk)

edges possible

slide-24
SLIDE 24

History

LocalVC Approximate LocalVC

Deterministic

This work (STOC ’19) Yes

Adapta&on of (Chechik, Hansen, Italiano, Loitzenbauer, Parotsidis SODA’17)

  • Yes

Forster Young’19

  • No

Our follow-up’19 No

ν1.5k νk2 νk2

ν1.5 ϵ1.5 k

νk ϵ

L N(L) G N(L) LocalVC

νkk

slide-25
SLIDE 25

Part 2.2: Vertex Connectivity via LocalVC

L N(L) G N(L) LocalVC

slide-26
SLIDE 26

Suppose G has a vertex cut

  • f size less than k

Highly balanced Highly lopsided

|L| = n |L| ≥ n/10 |R| ≥ n/10

L N(L)

slide-27
SLIDE 27

|L| ≥ n/10 |R| ≥ n/10 Compute s, t-connectivity by s, t-Max-Flow in O(mk) = O(n) s t

Suppose G has a vertex cut

  • f size less than k

WANTED

Compute s, t-connectivity |L| ≥ n/10,|R| ≥ n/10 Suppose Fact:

Highly balanced

(e.g. Ford Fulkerson)

slide-28
SLIDE 28

|L| ≥ n/10 |R| ≥ n/10 by s, t-Max-Flow in O(mk) = O(n) s t

Suppose G has a vertex cut

  • f size less than k

WANTED

Suppose |L| ≥ n/10,|R| ≥ n/10 Sample pairs of nodes For each pair, Compute s, t-connectivity Total Time = O(1) × O(n) = O(n) O(1) Compute s, t-connectivity Fact:

Highly balanced

slide-29
SLIDE 29

Suppose G has a vertex cut

  • f size less than k

Highly balanced Highly lopsided

|L| = n |L| ≥ n/10 |R| ≥ n/10

L N(L)

slide-30
SLIDE 30

Suppose G has a vertex cut

  • f size less than k

Highly lopsided

Local Vertex Connectivity in O(νk2) |L| ≤ ν, |N(L)| < k

2 n

Compute LocalVC(x, ν := n, k) Start

L N(L) G

x

|L| = n Suppose New Theorem:

slide-31
SLIDE 31

Suppose G has a vertex cut

  • f size less than k

in O(νk2) |L| ≤ ν, |N(L)| < k

2 n

|L| = n Suppose Sample nodes For each node, Total Time = O( n) × O( nk2) = O(n) O( n) Compute LocalVC(x, ν := n, k)

L N(L) G N(L)

Found a cut Local Vertex Connectivity New Theorem:

Highly lopsided

slide-32
SLIDE 32

Part 3: Local Vertex in O(νk2) Connectivity

slide-33
SLIDE 33

Vertex Connectivity Directed Edge Connectivity

To

slide-34
SLIDE 34

Suppose L has 1 leaving edge

DFS exactly edges

ν + 1

  • 1. Reverse x,z-path
  • 2. DFS will get stuck

and we get L

Local Edge Connectivity

Suppose L has 1 leaving edge

DFS exactly edges

ν + 1

  • 1. Reverse x,z-path
  • 2. DFS will get stuck

and we get L

slide-35
SLIDE 35

Repeat k times 1. Grow DFS tree from x 
 using exactly edges 2. If stuck, return a cut from DFS 3. Sample an explore edge (y’,y) 4. Reverse the x,y’-path Terminate with no cut. Complete pseudocode:

νk

Local Edge Connectivity

slide-36
SLIDE 36

Take Home Message:

“Local algorithms are useful for vertex connectivity”

L N(L) G N(L) LocalVC

slide-37
SLIDE 37

Open problems

  • 1. Deterministic in near-linear time when ?

  • time by [LNSY’19] using expander and page rank.
  • 2. time when or even in weighted graph? 

  • time by [Henzinger Rao Gabow’00]
  • 3. time better approx. algorithm? 

  • approx. by [Censor-Hillel,Ghaffari, and Khun’14]
  • 4. Local vertex/edge connectivity


time ? More applications? 
 m = O(n)

  • (n3)

k = Ω(n) O(m) O(νk) O(log n) O(mn)

O(n1.8)

slide-38
SLIDE 38

Questions?

* This project has received funding from the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation programme under grant agreement No 715672 and 759557. Nanongkai was also partially supported by the Swedish Research Council (Reg. No. 2015-04659.).