Random Local Exploration Techniques for Sublinear-Time Algorithms - - PowerPoint PPT Presentation

random local exploration techniques for sublinear time
SMART_READER_LITE
LIVE PREVIEW

Random Local Exploration Techniques for Sublinear-Time Algorithms - - PowerPoint PPT Presentation

Random Local Exploration Techniques for Sublinear-Time Algorithms Krzysztof Onak IBM Research Sublinear-Time Algorithms BIG DATA Sublinear-Time Algorithms Sublinear-time algorithms: Fast answer based on inspecting a tiny fraction of the


slide-1
SLIDE 1

Random Local Exploration Techniques for Sublinear-Time Algorithms

Krzysztof Onak

IBM Research

slide-2
SLIDE 2

Sublinear-Time Algorithms

BIG DATA

slide-3
SLIDE 3

Sublinear-Time Algorithms

Sublinear-time algorithms: Fast answer based on inspecting a tiny fraction of the input

slide-4
SLIDE 4

Motivation

Existing big graph: social network bank transactions network connections Goal: quickly learn something about it

slide-5
SLIDE 5

Motivation

Existing big graph: social network bank transactions network connections Goal: quickly learn something about it Check if it has a specific property: expander? clusterable? bipartite?

slide-6
SLIDE 6

Motivation

Existing big graph: social network bank transactions network connections Goal: quickly learn something about it Check if it has a specific property: expander? clusterable? bipartite? Estimate a graph parameter: number of triangles dominating set vertex cover

slide-7
SLIDE 7

Roadmap

Focus on: simple graph problems and properties sparse graphs

  • 1. Simulation of greedy algorithms
  • 2. Partitioning oracles
  • 3. Random walks
slide-8
SLIDE 8

Graph Access Model

Allowed operations: Can obtain a random vertex

slide-9
SLIDE 9

Graph Access Model

Allowed operations: Can obtain a random vertex Can query the degree deg(v) of a specific vertex v

slide-10
SLIDE 10

Graph Access Model

Allowed operations: Can obtain a random vertex Can query the degree deg(v) of a specific vertex v For each vertex v and each i ∈ {1, 2, . . . , deg(v)}, can obtain the i-th neighbor of v

slide-11
SLIDE 11

Graph Access Model

Allowed operations: Can obtain a random vertex Can query the degree deg(v) of a specific vertex v For each vertex v and each i ∈ {1, 2, . . . , deg(v)}, can obtain the i-th neighbor of v Essentially: query access to adjacency lists

slide-12
SLIDE 12

Roadmap

  • 1. Simulation of greedy algorithms
  • 2. Partitioning oracles
  • 3. Random walks
slide-13
SLIDE 13

Example: Vertex Cover

Goal: find smallest set S of vertices such that each edge has endpoint in S

slide-14
SLIDE 14

Example: Vertex Cover

Goal: find smallest set S of vertices such that each edge has endpoint in S Best polynomial time algorithm: 2-approximation

slide-15
SLIDE 15

Example: Vertex Cover

Goal: find smallest set S of vertices such that each edge has endpoint in S Best polynomial time algorithm: 2-approximation Here:

VC − ǫn ≤ (computed value) ≤ 2 · VC + ǫn

where VC = minimum vertex cover size

n = number of vertices

slide-16
SLIDE 16

Essential Technique

We develop a local computation technique

slide-17
SLIDE 17

Essential Technique

We develop a local computation technique Multiple applications: vertex cover approximation maximum matching approximation computing nice partitions of graphs local distributed algorithms approximate planarity verification local computation algorithms

slide-18
SLIDE 18

Essential Technique

We develop a local computation technique Multiple applications: vertex cover approximation maximum matching approximation computing nice partitions of graphs local distributed algorithms approximate planarity verification local computation algorithms Will present and apply a less general version: local computation of maximal independent set

slide-19
SLIDE 19

Main Tool: Constructing a Maximal Independent Set Locally

slide-20
SLIDE 20

Oracle for Maximal Independent Set

Want to construct oracle O:

O has query access to G = (V, E)

O provides query access to maximal independent set I ⊆ V

I is not a function of queries

it is a function of G and random bits

Yes/No v ∈ I?

Oracle O

Goal: Minimize the query processing time

slide-21
SLIDE 21

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-22
SLIDE 22

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-23
SLIDE 23

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-24
SLIDE 24

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-25
SLIDE 25

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-26
SLIDE 26

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-27
SLIDE 27

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-28
SLIDE 28

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-29
SLIDE 29

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-30
SLIDE 30

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-31
SLIDE 31

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-32
SLIDE 32

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-33
SLIDE 33

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-34
SLIDE 34

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I

slide-35
SLIDE 35

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors

slide-36
SLIDE 36

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

slide-37
SLIDE 37

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

slide-38
SLIDE 38

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

slide-39
SLIDE 39

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

slide-40
SLIDE 40

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

slide-41
SLIDE 41

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

slide-42
SLIDE 42

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

slide-43
SLIDE 43

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

slide-44
SLIDE 44

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

?

slide-45
SLIDE 45

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

? ? ? ? ? ?

slide-46
SLIDE 46

Challenge of Locality

Simplest algorithm for Maximal Independent Set I: Start with I = ∅ Consider vertices v one by one: If no neighbor of v in I, add v to I Want to simulate this algorithm locally: Check what happened to earlier neighbors Problem: long chains of dependencies

? ? ? ? ? ?

Solution: consider vertices in random order

slide-47
SLIDE 47

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

slide-48
SLIDE 48

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-49
SLIDE 49

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36

?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-50
SLIDE 50

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11

? ?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-51
SLIDE 51

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11

? ? ?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-52
SLIDE 52

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11

? ?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-53
SLIDE 53

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11

?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-54
SLIDE 54

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11

? ?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-55
SLIDE 55

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11

?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-56
SLIDE 56

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11 .22

? ?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-57
SLIDE 57

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11 .22 .27

? ? ?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-58
SLIDE 58

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11 .22 .27

? ?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-59
SLIDE 59

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11 .22 .27

?

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-60
SLIDE 60

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11 .22 .27

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

slide-61
SLIDE 61

Local MIS Simulation

Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order

Random order ≡ random numbers r(v) assigned to each vertex

.65 .43 .79 .41 .75 .60 .36 .11 .22 .27

To check if v ∈ I recursively check if neighbors w s.t. r(w) < r(v) are in I

v ∈ I ⇐ ⇒

none of them in I

E[#visited vertices] and query complexity of order 2O(d)

slide-62
SLIDE 62

Bounding Expected Query Complexity

Pr[a given path of length k is explored] = 1/(k + 1)!

slide-63
SLIDE 63

Bounding Expected Query Complexity

Pr[a given path of length k is explored] = 1/(k + 1)! (number of vertices at distance k) ≤ dk

slide-64
SLIDE 64

Bounding Expected Query Complexity

Pr[a given path of length k is explored] = 1/(k + 1)! (number of vertices at distance k) ≤ dk

E[number of vertices explored at distance k] ≤ dk/(k + 1)!

slide-65
SLIDE 65

Bounding Expected Query Complexity

Pr[a given path of length k is explored] = 1/(k + 1)! (number of vertices at distance k) ≤ dk

E[number of vertices explored at distance k] ≤ dk/(k + 1)! E[number of explored vertices] ≤ ∞

k=0 dk/(k + 1)! ≤ ed/d

slide-66
SLIDE 66

Bounding Expected Query Complexity

Pr[a given path of length k is explored] = 1/(k + 1)! (number of vertices at distance k) ≤ dk

E[number of vertices explored at distance k] ≤ dk/(k + 1)! E[number of explored vertices] ≤ ∞

k=0 dk/(k + 1)! ≤ ed/d

Expected query complexity = O(d) · ed/d = O(ed)

slide-67
SLIDE 67

Improvement

Heuristic: Consider neighbors w of v in ascending order of r(w) Once you find w ∈ I, v ∈ I (i.e., don’t check other neighbors)

.60 .36 .55 .42 .91 .77 .82

?

slide-68
SLIDE 68

Improvement

Heuristic: Consider neighbors w of v in ascending order of r(w) Once you find w ∈ I, v ∈ I (i.e., don’t check other neighbors)

.60 .36 .11 .55 .42 .91 .77 .82

?

slide-69
SLIDE 69

Improvement

Heuristic: Consider neighbors w of v in ascending order of r(w) Once you find w ∈ I, v ∈ I (i.e., don’t check other neighbors)

.60 .36 .11 .55 .42 .91 .77 .82

?

slide-70
SLIDE 70

Improvement

Heuristic: Consider neighbors w of v in ascending order of r(w) Once you find w ∈ I, v ∈ I (i.e., don’t check other neighbors)

.60 .36 .11 .55 .42 .91 .77 .82

slide-71
SLIDE 71

Improvement

Heuristic: Consider neighbors w of v in ascending order of r(w) Once you find w ∈ I, v ∈ I (i.e., don’t check other neighbors)

.60 .36 .11 .55 .42 .91 .77 .82

Yoshida, Yamamoto, Ito (STOC 2009):

E permutations, start vertex [#recursive calls] ≤ 1 + m n

slide-72
SLIDE 72

Improvement

Heuristic: Consider neighbors w of v in ascending order of r(w) Once you find w ∈ I, v ∈ I (i.e., don’t check other neighbors)

.60 .36 .11 .55 .42 .91 .77 .82

Yoshida, Yamamoto, Ito (STOC 2009):

E permutations, start vertex [#recursive calls] ≤ 1 + m n

Which gives: expected query complexity for random vertex = O(d2)

slide-73
SLIDE 73

Algorithm for Vertex Cover

slide-74
SLIDE 74

Vertex Cover

Goal: find smallest set S of nodes such that each edge has endpoint in S Classical 2-approximation algorithm [Gavril & Yannakakis]: Greedily find a maximal matching M Output the set of nodes matched in M

slide-75
SLIDE 75

Vertex Cover

Goal: find smallest set S of nodes such that each edge has endpoint in S Classical 2-approximation algorithm [Gavril & Yannakakis]: Greedily find a maximal matching M Output the set of nodes matched in M

slide-76
SLIDE 76

Vertex Cover

Goal: find smallest set S of nodes such that each edge has endpoint in S Classical 2-approximation algorithm [Gavril & Yannakakis]: Greedily find a maximal matching M Output the set of nodes matched in M

slide-77
SLIDE 77

Sublinear-Time Algorithm

General Idea: construct oracle O that answers queries: Is e ∈ E in M? for a fixed maximal matching M

slide-78
SLIDE 78

Sublinear-Time Algorithm

General Idea: construct oracle O that answers queries: Is e ∈ E in M? for a fixed maximal matching M maximal matching

maximal independent set in the line graph

slide-79
SLIDE 79

Sublinear-Time Algorithm

General Idea: construct oracle O that answers queries: Is e ∈ E in M? for a fixed maximal matching M maximal matching

maximal independent set in the line graph approximate the number of vertices matched in M up to

±ǫn by checking for O(1/ǫ2) vertices if they are matched #queries to O = (#tested nodes) · (max-degree) = O(d/ǫ2)

slide-80
SLIDE 80

Sublinear-Time Algorithm

General Idea: construct oracle O that answers queries: Is e ∈ E in M? for a fixed maximal matching M maximal matching

maximal independent set in the line graph approximate the number of vertices matched in M up to

±ǫn by checking for O(1/ǫ2) vertices if they are matched #queries to O = (#tested nodes) · (max-degree) = O(d/ǫ2)

This gives:

VC − ǫn ≤ (computed value) ≤ 2 · VC + ǫn

slide-81
SLIDE 81

Sublinear-Time Algorithm

General Idea: construct oracle O that answers queries: Is e ∈ E in M? for a fixed maximal matching M maximal matching

maximal independent set in the line graph approximate the number of vertices matched in M up to

±ǫn by checking for O(1/ǫ2) vertices if they are matched #queries to O = (#tested nodes) · (max-degree) = O(d/ǫ2)

This gives:

VC − ǫn ≤ (computed value) ≤ 2 · VC + ǫn

Running time: 2O(d)/ǫ2

slide-82
SLIDE 82

VC − ǫn ≤ output ≤ 2 · VC + ǫn

Parnas, Ron (2007): dO(log(d)/ǫ3) queries via simulation of local distributed algorithms Marko, Ron (2007): dO(log(d/ǫ)) queries via Luby’s algorithm Nguyen, O. (2008): 2O(d)/ǫ2 queries the algorithm and proof presented here Yoshida, Yamamoto, Ito (2009): O(d4/ǫ2) queries the Nguyen, O. algorithm + analysis of the heuristic O., Ron, Rosen, Rubinfeld (2012): ˜

O(d/ǫ3) queries

further refinements of NO and YYI sampling from the neighbor sets near optimal: Ω(d) lower bound due to Parnas, Ron (2007)

slide-83
SLIDE 83

Better Approximation for Maximum Matching

slide-84
SLIDE 84

Maximum Matching

Goal: find a set of disjoint edges of maximum cardinality

slide-85
SLIDE 85

Review of Properties

Augmenting Path: a path that improves matching

slide-86
SLIDE 86

Review of Properties

Augmenting Path: a path that improves matching

slide-87
SLIDE 87

Review of Properties

Augmenting Path: a path that improves matching

slide-88
SLIDE 88

Review of Properties

Augmenting Path: a path that improves matching

M = matching, M∗ = maximum matching

Fact: There are |M∗| − |M| disjoint augmenting paths for M

slide-89
SLIDE 89

Review of Properties

Augmenting Path: a path that improves matching

M = matching, M∗ = maximum matching

Fact: There are |M∗| − |M| disjoint augmenting paths for M Fact: No augmenting paths of length < 2k + 1 ⇒ |M| ≥

k k+1|M∗|

slide-90
SLIDE 90

Review of Properties

Augmenting Path: a path that improves matching

M = matching, M∗ = maximum matching

Fact: There are |M∗| − |M| disjoint augmenting paths for M Fact: No augmenting paths of length < 2k + 1 ⇒ |M| ≥

k k+1|M∗|

To get (1 + ǫ)-approximation, set k = ⌈1/ǫ⌉

slide-91
SLIDE 91

Standard Algorithm

Lemma [Hopcroft, Karp 1973]:

M = matching with no augmenting paths of length < t P = maximal set of vertex-disjoint augmenting paths

  • f length t for M

M′ = M with all paths in P applied

Claim: M′ has only augmenting paths of length > t

slide-92
SLIDE 92

Standard Algorithm

Lemma [Hopcroft, Karp 1973]:

M = matching with no augmenting paths of length < t P = maximal set of vertex-disjoint augmenting paths

  • f length t for M

M′ = M with all paths in P applied

Claim: M′ has only augmenting paths of length > t Algorithm:

M := empty matching

for i = 1 to k:

find maximal set of disjoint augmenting paths of length 2i − 1

apply all paths to M return M

slide-93
SLIDE 93

Transformation

Standard Algorithm: Constant−Time Algorithm:

augmenting Eliminate paths

  • f length 1

augmenting Eliminate paths

  • f length 3

augmenting Eliminate paths

  • f length 5

augmenting Eliminate paths

  • f length 7

⇒ M1 ⇒ ⇒ M2 ⇒ ⇒ M3 ⇒ ∅ ⇒ ⇒ M4 no paths

  • f length≤ 1

no paths

  • f length≤ 7

approximation sampling no paths

  • f length≤ 3

no paths

  • f length≤ 5

Oracle O1: augmenting augmenting augmenting augmenting Oracle O2: Oracle O3: Oracle O4:

Oracle Oi: provides query access to Mi simulates applying to Mi−1 a maximal set of disjoint augmenting paths of length 2i − 1

slide-94
SLIDE 94

Transformation

Sample graph considered by O2:

Oi’s graph has degree dO(i)

slide-95
SLIDE 95

Query Complexity

Can’t apply the previous approach! every query may disclose some information about the random numbers algorithm could use it to form a malicious query

slide-96
SLIDE 96

Query Complexity

Can’t apply the previous approach! every query may disclose some information about the random numbers algorithm could use it to form a malicious query Locality Lemma: for q queries, needs to visit at most q2 · 2O(d4)/δ vertices with probability 1 − δ

slide-97
SLIDE 97

Query Complexity

Can’t apply the previous approach! every query may disclose some information about the random numbers algorithm could use it to form a malicious query Locality Lemma: for q queries, needs to visit at most q2 · 2O(d4)/δ vertices with probability 1 − δ Query complexity: 2dO(1/ǫ) queries for (1, ǫn)-approximation

slide-98
SLIDE 98

Query Complexity

Can’t apply the previous approach! every query may disclose some information about the random numbers algorithm could use it to form a malicious query Locality Lemma: for q queries, needs to visit at most q2 · 2O(d4)/δ vertices with probability 1 − δ Query complexity: 2dO(1/ǫ) queries for (1, ǫn)-approximation Yoshida, Yamamoto, Ito (2009) Query complexity: dO(1/ǫ2) uniform on higher level ⇒ close to uniform on lower

slide-99
SLIDE 99

Roadmap

  • 1. Simulation of greedy algorithms
  • 2. Partitioning oracles
  • 3. Random walks
slide-100
SLIDE 100

Hyperfinite Graphs

(ǫ, δ)-partition

(All graphs of degree O(1))

(ǫ, δ)-hyperfinite graphs: can remove ǫ|V | edges and get

components of size at most δ

slide-101
SLIDE 101

Hyperfinite Graphs

(ǫ, δ)-partition

(All graphs of degree O(1))

(ǫ, δ)-hyperfinite graphs: can remove ǫ|V | edges and get

components of size at most δ hyperfinite family of graphs: there is ρ such that all graphs are (ǫ, ρ(ǫ))-hyperfinite for all ǫ > 0

slide-102
SLIDE 102

Taxonomy

Subexponential Minor−Free Graphs Hyperfinite Graphs Growth Polynomial Growth

slide-103
SLIDE 103

Using a Partition

If someone gave us a (ǫ/2, δ)-partition:

Algorithm

Sample O(1/ǫ2) vertices Compute minimum vertex cover for the sampled components Return the fraction of the sampled vertices in the covers

slide-104
SLIDE 104

Using a Partition

If someone gave us a (ǫ/2, δ)-partition:

Algorithm

Sample O(1/ǫ2) vertices Compute minimum vertex cover for the sampled components Return the fraction of the sampled vertices in the covers This gives ±ǫ approximation to VC(G)/n in constant time: Cut edges change VC(G) by at most ǫn/2 Can compute vertex cover separately for each component

slide-105
SLIDE 105

Using a Partition

If someone gave us a (ǫ/2, δ)-partition:

Algorithm

We can compute the partition without looking at the entire graph

slide-106
SLIDE 106

Using a Partition

If someone gave us a (ǫ/2, δ)-partition:

Algorithm

We can compute the partition without looking at the entire graph

New Tool: Partitioning Oracles

slide-107
SLIDE 107

Partitioning Oracle

Hassidim, Kelner, Nguyen, O. (2009)

Oracle

vertex v P(v)

C = fixed hyperfinite class

  • racle has query access to G = (V, E)

(G need not be in C)

slide-108
SLIDE 108

Partitioning Oracle

Hassidim, Kelner, Nguyen, O. (2009)

Oracle

vertex v P(v)

C = fixed hyperfinite class

  • racle has query access to G = (V, E)

(G need not be in C)

  • racle provides query access to partition P of V ;

for each v, oracle returns P(v) ⊆ V s.t. v ∈ P(v)

slide-109
SLIDE 109

Partitioning Oracle

Hassidim, Kelner, Nguyen, O. (2009)

Oracle

vertex v P(v)

C = fixed hyperfinite class

  • racle has query access to G = (V, E)

(G need not be in C)

  • racle provides query access to partition P of V ;

for each v, oracle returns P(v) ⊆ V s.t. v ∈ P(v) Properties of P: each |P(v)| = O(1)

slide-110
SLIDE 110

Partitioning Oracle

Hassidim, Kelner, Nguyen, O. (2009)

Oracle

vertex v P(v)

C = fixed hyperfinite class

  • racle has query access to G = (V, E)

(G need not be in C)

  • racle provides query access to partition P of V ;

for each v, oracle returns P(v) ⊆ V s.t. v ∈ P(v) Properties of P: each |P(v)| = O(1) If G ∈ C, number of cut edges ≤ ǫn w.p. 99

100

slide-111
SLIDE 111

Partitioning Oracle

Hassidim, Kelner, Nguyen, O. (2009)

Oracle

vertex v P(v)

C = fixed hyperfinite class

  • racle has query access to G = (V, E)

(G need not be in C)

  • racle provides query access to partition P of V ;

for each v, oracle returns P(v) ⊆ V s.t. v ∈ P(v) Properties of P: each |P(v)| = O(1) If G ∈ C, number of cut edges ≤ ǫn w.p. 99

100

partition P(·) is not a function of queries, it is a function of graph structure and random bits

slide-112
SLIDE 112

Oracle Implementations

Generic oracle for any hyperfinite class of graphs Query complexity: 2dO(ρ(ǫ3/C)) for some constant C Via local simulation of a greedy partitioning procedure (uses [Nguyen, O. 2008])

slide-113
SLIDE 113

Oracle Implementations

Generic oracle for any hyperfinite class of graphs Query complexity: 2dO(ρ(ǫ3/C)) for some constant C For minor-free graphs: Query complexity: dpoly(1/ǫ) Via techniques from distributed algorithms [Czygrinow, Ha´ n´ ckowiak, Wawrzyniak 2008]

slide-114
SLIDE 114

Oracle Implementations

Generic oracle for any hyperfinite class of graphs Query complexity: 2dO(ρ(ǫ3/C)) for some constant C For minor-free graphs: Query complexity: dO(log2(1/ǫ)) Via techniques from distributed algorithms [Czygrinow, Ha´ n´ ckowiak, Wawrzyniak 2008] Improved by Levi and Ron (2013)

slide-115
SLIDE 115

Oracle Implementations

Generic oracle for any hyperfinite class of graphs Query complexity: 2dO(ρ(ǫ3/C)) for some constant C For minor-free graphs: Query complexity: dO(log2(1/ǫ)) For ρ(ǫ) ≤ poly(1/ǫ): Query complexity: 2poly(d/ǫ) Via methods from distributed algorithms and partitioning methods of Andersen and Peres (2009)

slide-116
SLIDE 116

Oracle Implementations

Generic oracle for any hyperfinite class of graphs Query complexity: 2dO(ρ(ǫ3/C)) for some constant C For minor-free graphs: Query complexity: dO(log2(1/ǫ)) For ρ(ǫ) ≤ poly(1/ǫ): Query complexity: 2poly(d/ǫ) Constant Treewidth: Query complexity: poly(d/ǫ) Edelman, Hassidim, Nguyen, O. (2011)

slide-117
SLIDE 117

Two Applications

  • 1. Approximately learning hyperfinite graphs

Then solve an arbitrary problem on almost the same graph

slide-118
SLIDE 118

Two Applications

  • 1. Approximately learning hyperfinite graphs

Then solve an arbitrary problem on almost the same graph

  • 2. Testing minor-closed properties

Simpler proof of the result due to Benjamini, Schramm, and Shapira (2008) Much faster tester

slide-119
SLIDE 119

Application 1: Learning

Input graphs can be decomposed into constant size components by cutting few edges Algorithm: sample large constant number of vertices query their components approximately learn the distribution of components

slide-120
SLIDE 120

Application 1: Learning

Input graphs can be decomposed into constant size components by cutting few edges Algorithm: sample large constant number of vertices query their components approximately learn the distribution of components component size ≤ k ⇒ ≤2k2 different component types Can learn a graph close to the input by sampling

2k2 · O(1/ǫ2) vertices

slide-121
SLIDE 121

Application 1: Learning

Input graphs can be decomposed into constant size components by cutting few edges Algorithm: sample large constant number of vertices query their components approximately learn the distribution of components component size ≤ k ⇒ ≤2k2 different component types Can learn a graph close to the input by sampling

2k2 · O(1/ǫ2) vertices

Application: solve any testing or approximation problem

  • n almost the same graph

First proof: Newman and Sohler (2011)

slide-122
SLIDE 122

Application 2: Testing

Testing H-minor-freeness in the sparse graph model

  • f Goldreich and Ron (1997)

Input: query access to constant degree graph G & parameter ǫ > 0 Goal: w.p. 2/3 accept H-minor-free graphs reject graphs far from H-minor-freeness: ≥ ǫn edges must be removed to achieve H-minor-freeness

slide-123
SLIDE 123

Application 2: Testing

Testing H-minor-freeness in the sparse graph model

  • f Goldreich and Ron (1997)

Input: query access to constant degree graph G & parameter ǫ > 0 Goal: w.p. 2/3 accept H-minor-free graphs reject graphs far from H-minor-freeness: ≥ ǫn edges must be removed to achieve H-minor-freeness Time and query complexity: Goldreich, Ron (1997): cycle-freeness in poly(1/ǫ) time

Benjamini, Schramm, Shapira (2008): any minor in 222poly(1/ǫ) time

slide-124
SLIDE 124

Application 2: Testing

Testing H-minor-freeness in the sparse graph model

  • f Goldreich and Ron (1997)

Input: query access to constant degree graph G & parameter ǫ > 0 Goal: w.p. 2/3 accept H-minor-free graphs reject graphs far from H-minor-freeness: ≥ ǫn edges must be removed to achieve H-minor-freeness Time and query complexity: Goldreich, Ron (1997): cycle-freeness in poly(1/ǫ) time

Benjamini, Schramm, Shapira (2008): any minor in 222poly(1/ǫ) time

Via partitioning oracles: 2polylog(1/ǫ) and simpler proof

slide-125
SLIDE 125

Application 2: Testing

Example: Testing planarity (i.e., K5- and K3,3-minor-freeness)

slide-126
SLIDE 126

Application 2: Testing

Example: Testing planarity (i.e., K5- and K3,3-minor-freeness) Algorithm (given partitioning oracle for planar graphs that usually cuts ≤ ǫn/2 edges): Estimate the number of cut edges by sampling If greater than ǫn/2, reject Check a few random components if planar If any non-planar found, reject

  • therwise, accept
slide-127
SLIDE 127

Application 2: Testing

Example: Testing planarity (i.e., K5- and K3,3-minor-freeness) Algorithm (given partitioning oracle for planar graphs that usually cuts ≤ ǫn/2 edges): Estimate the number of cut edges by sampling If greater than ǫn/2, reject Check a few random components if planar If any non-planar found, reject

  • therwise, accept

Why it works: planar: few edges cut in the partition

ǫ-far: either many edges cut

  • r many copies of K3,3 or K5
slide-128
SLIDE 128

Simplest Oracle

slide-129
SLIDE 129

Iterative Procedure

Global procedure:

slide-130
SLIDE 130

Iterative Procedure

Global procedure:

slide-131
SLIDE 131

Iterative Procedure

Global procedure:

slide-132
SLIDE 132

Iterative Procedure

Global procedure:

slide-133
SLIDE 133

Iterative Procedure

Global procedure:

slide-134
SLIDE 134

Iterative Procedure

Global procedure:

slide-135
SLIDE 135

Iterative Procedure

Global procedure:

slide-136
SLIDE 136

Iterative Procedure

Global procedure:

slide-137
SLIDE 137

Iterative Procedure

Global procedure:

slide-138
SLIDE 138

Local simulation

Same technique as for MIS: Random numbers assigned to vertices generate a random permutation

slide-139
SLIDE 139

Local simulation

Same technique as for MIS: Random numbers assigned to vertices generate a random permutation To find a component of v: recursively check what happened to close vertices with lower numbers if v still in graph, try to carve out a component

slide-140
SLIDE 140

Roadmap

  • 1. Simulation of greedy algorithms
  • 2. Partitioning oracles
  • 3. Random walks
slide-141
SLIDE 141

Random Walks and Expansion

Applications: Testing expansion Testing graph clusterability

slide-142
SLIDE 142

Random Walks and Expansion

Applications: Testing expansion Testing graph clusterability If a graph is an expander, short random walks should result in near uniform distribution Program suggested by Goldreich and Ron (2000) (this lead to the development of distribution testing)

slide-143
SLIDE 143

Random Walks and Expansion

Applications: Testing expansion Testing graph clusterability If a graph is an expander, short random walks should result in near uniform distribution Program suggested by Goldreich and Ron (2000) (this lead to the development of distribution testing) Resolved by a few teams in 2007: Czumaj and Sohler; Kale and Seshadhri; Nachmias and Shapira

slide-144
SLIDE 144

Random Walks and Expansion

Applications: Testing expansion Testing graph clusterability If a graph is an expander, short random walks should result in near uniform distribution Program suggested by Goldreich and Ron (2000) (this lead to the development of distribution testing) Resolved by a few teams in 2007: Czumaj and Sohler; Kale and Seshadhri; Nachmias and Shapira More recently Czumaj, Peng, and Sohler (2014) gave tester for k-clusterability

slide-145
SLIDE 145

Detection via Random Walks

Applications: Testing bipartiteness (= finding odd-length cycles) Finding graph minors

slide-146
SLIDE 146

Detection via Random Walks

Applications: Testing bipartiteness (= finding odd-length cycles) Finding graph minors Can be found in an expander Implicit expander decomposition in which random walks likely to stay in their components Run ∼n1/2 random walks from a few places

slide-147
SLIDE 147

Detection via Random Walks

Applications: Testing bipartiteness (= finding odd-length cycles) Finding graph minors Can be found in an expander Implicit expander decomposition in which random walks likely to stay in their components Run ∼n1/2 random walks from a few places Testing bipartiteness: Goldreich, Ron (1998) Finding graph minors:

Czumaj, Goldreich, Ron, Seshadhri, Shapira, Sohler (2010) Fichtenberg, Levi, Vasudev, Wötzel (2017) Kumar, Seshadhri, Stolman (2018)

slide-148
SLIDE 148

Detection in Minor-Free Graphs

Task: Find odd-length cycle in planar graph far from bipartiteness

slide-149
SLIDE 149

Detection in Minor-Free Graphs

Task: Find odd-length cycle in planar graph far from bipartiteness For bounded degree planar graph, partitioning oracles solve the problem Much less clear in unbounded graphs

slide-150
SLIDE 150

Detection in Minor-Free Graphs

Task: Find odd-length cycle in planar graph far from bipartiteness For bounded degree planar graph, partitioning oracles solve the problem Much less clear in unbounded graphs

O(1)-length random walk finds odd-length cycle with

constant probability (Czumaj, Monemizadeh, Onak, Sohler 2011) Complicated analysis based on shrinking cycles

slide-151
SLIDE 151

Detection in Minor-Free Graphs

Task: Find odd-length cycle in planar graph far from bipartiteness For bounded degree planar graph, partitioning oracles solve the problem Much less clear in unbounded graphs

O(1)-length random walk finds odd-length cycle with

constant probability (Czumaj, Monemizadeh, Onak, Sohler 2011) Complicated analysis based on shrinking cycles Later this week: extensions to some other properties (Czumaj, Sohler)

slide-152
SLIDE 152

Questions?