A Near-Optimal Algorithm for Testing Isomorphism of Two Unknown - - PowerPoint PPT Presentation

a near optimal algorithm for testing isomorphism of two
SMART_READER_LITE
LIVE PREVIEW

A Near-Optimal Algorithm for Testing Isomorphism of Two Unknown - - PowerPoint PPT Presentation

A Near-Optimal Algorithm for Testing Isomorphism of Two Unknown Graphs Krzysztof Onak IBM T.J. Watson Research Center Joint work with Xiaorui Sun (Columbia) Krzysztof Onak A Near-Optimal Algorithm for Testing Graph Isomorphism p. 1/22


slide-1
SLIDE 1

A Near-Optimal Algorithm for Testing Isomorphism

  • f Two Unknown Graphs

Krzysztof Onak IBM T.J. Watson Research Center Joint work with Xiaorui Sun (Columbia)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 1/22

slide-2
SLIDE 2

Graph Isomorphism

Problem: Are two graphs identical?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 2/22

slide-3
SLIDE 3

Graph Isomorphism

Problem: Are two graphs identical?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 2/22

slide-4
SLIDE 4

Graph Isomorphism

Problem: Are two graphs identical?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 2/22

slide-5
SLIDE 5

Graph Isomorphism

Problem: Are two graphs identical? Status: Not known to be in P or NP-hard Best known algorithm: 2 ˜

O(√n) time (early 1980’s)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 2/22

slide-6
SLIDE 6

Property Testing Version

This Talk: Dense graph model

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 3/22

slide-7
SLIDE 7

Property Testing Version

This Talk: Dense graph model

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Requirements: accept with probability 9/10 if graphs isomorphic reject with probability 9/10 if for any matching of vertices at least ǫn2 edges disagree

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 3/22

slide-8
SLIDE 8

Property Testing Version

This Talk: Dense graph model

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Requirements: accept with probability 9/10 if graphs isomorphic reject with probability 9/10 if for any matching of vertices at least ǫn2 edges disagree This talk: focus on the complexity as a function of n, assume that ǫ is a small constant (say, ǫ = 10−9)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 3/22

slide-9
SLIDE 9

Query Complexity

Fischer, Matsliah (2006): (one sided error = never reject if isomorphic)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 4/22

slide-10
SLIDE 10

Query Complexity

Fischer, Matsliah (2006): (one sided error = never reject if isomorphic) Remaining open case: neither graph known, two-sided testing

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 4/22

slide-11
SLIDE 11

Query Complexity

Fischer, Matsliah (2006): (one sided error = never reject if isomorphic) Remaining open case: neither graph known, two-sided testing Our result: Algorithm that makes n · 2O(√log n) queries

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 4/22

slide-12
SLIDE 12

Review of Fischer-Matsliah Techniques

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 5/22

slide-13
SLIDE 13

Core sets

Core set = list of polylog n vertices (v1, v2, . . . , vk)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 6/22

slide-14
SLIDE 14

Core sets

11010 10011

Core set = list of polylog n vertices (v1, v2, . . . , vk) Every vertex u has a label l ∈ {0, 1}k with respect to core set:

li =

  • 1

if vu and u connected

  • therwise

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 6/22

slide-15
SLIDE 15

Core sets

11010 10011

Core set = list of polylog n vertices (v1, v2, . . . , vk) Every vertex u has a label l ∈ {0, 1}k with respect to core set:

li =

  • 1

if vu and u connected

  • therwise

Intuition: a large random core set partitions vertices into sets of similar vertices

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 6/22

slide-16
SLIDE 16

Important Theorem

H G

If G and H have core sets (v1, . . . , vk) and (w1, . . . , wk), respectively, such that:

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 7/22

slide-17
SLIDE 17

Important Theorem

11010 11010

H G

If G and H have core sets (v1, . . . , vk) and (w1, . . . , wk), respectively, such that: the distributions on labels are ǫ1-close

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 7/22

slide-18
SLIDE 18

Important Theorem

10011 10011 11010 11010

H G

If G and H have core sets (v1, . . . , vk) and (w1, . . . , wk), respectively, such that: the distributions on labels are ǫ1-close if you take two random vertices in G and two random vertices in H with the same labels, then w.p. 1 − ǫ2, the connectivity is the same

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 7/22

slide-19
SLIDE 19

Important Theorem

10011 10011 11010 11010

H G

If G and H have core sets (v1, . . . , vk) and (w1, . . . , wk), respectively, such that: the distributions on labels are ǫ1-close if you take two random vertices in G and two random vertices in H with the same labels, then w.p. 1 − ǫ2, the connectivity is the same then G and H are ǫ3-close to being isomorphic

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 7/22

slide-20
SLIDE 20

Important Theorem

10011 10011 11010 11010

H G

If G and H have core sets (v1, . . . , vk) and (w1, . . . , wk), respectively, such that: the distributions on labels are ǫ1-close if you take two random vertices in G and two random vertices in H with the same labels, then w.p. 1 − ǫ2, the connectivity is the same then G and H are ǫ3-close to being isomorphic Generic tester: Search for such a pair of core sets and accept if found

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 7/22

slide-21
SLIDE 21

The Fischer-Matsliah Algorithm

Select ˜

O(n3/4) random vertices V ⋆

G from G

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22

slide-22
SLIDE 22

The Fischer-Matsliah Algorithm

Select ˜

O(n3/4) random vertices V ⋆

G from G

and query their connections to ˜

O(n1/2) random vertices

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22

slide-23
SLIDE 23

The Fischer-Matsliah Algorithm

Select ˜

O(n3/4) random vertices V ⋆

G from G

and query their connections to ˜

O(n1/2) random vertices

Select ˜

O(n1/4) random vertices V ⋆

H from H

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22

slide-24
SLIDE 24

The Fischer-Matsliah Algorithm

Select ˜

O(n3/4) random vertices V ⋆

G from G

and query their connections to ˜

O(n1/2) random vertices

Select ˜

O(n1/4) random vertices V ⋆

H from H

and query their connections to all other vertices

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22

slide-25
SLIDE 25

The Fischer-Matsliah Algorithm

Select ˜

O(n3/4) random vertices V ⋆

G from G

and query their connections to ˜

O(n1/2) random vertices

Select ˜

O(n1/4) random vertices V ⋆

H from H

and query their connections to all other vertices Enumerate over all possible core sets from V ⋆

G and V ⋆ H

(quasipoly(n) options)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22

slide-26
SLIDE 26

The Fischer-Matsliah Algorithm

Select ˜

O(n3/4) random vertices V ⋆

G from G

and query their connections to ˜

O(n1/2) random vertices

Select ˜

O(n1/4) random vertices V ⋆

H from H

and query their connections to all other vertices Enumerate over all possible core sets from V ⋆

G and V ⋆ H

(quasipoly(n) options) For each pair of candidates: Step 1: See if distributions of labels similar (Use the ˜

O(√n)-sample tester of Batu et al. (2001))

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22

slide-27
SLIDE 27

The Fischer-Matsliah Algorithm

Select ˜

O(n3/4) random vertices V ⋆

G from G

and query their connections to ˜

O(n1/2) random vertices

Select ˜

O(n1/4) random vertices V ⋆

H from H

and query their connections to all other vertices Enumerate over all possible core sets from V ⋆

G and V ⋆ H

(quasipoly(n) options) For each pair of candidates: Step 1: See if distributions of labels similar (Use the ˜

O(√n)-sample tester of Batu et al. (2001))

Step 2: Select polylog n pairs of random vertices in G and see if the connectivity of their labels almost the same in H

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22

slide-28
SLIDE 28

First Attempts

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 9/22

slide-29
SLIDE 29

Better Label Distribution Testing?

Idea: Use a different distribution tester Select ˜

O(√n) vertices from G and H

Query connections to random subset of size ˜

O(n2/3)

Use the distribution tester of Batu et al. (2000) Query Complexity: ˜

O(n7/6)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 10/22

slide-30
SLIDE 30

Better Label Distribution Testing?

Idea: Use a different distribution tester Select ˜

O(√n) vertices from G and H

Query connections to random subset of size ˜

O(n2/3)

Use the distribution tester of Batu et al. (2000) Query Complexity: ˜

O(n7/6)

Problem: Unclear how to do Step 2 Only a subset of labels known Sampling subsets and comparing discovered identical labels introduces a bias

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 10/22

slide-31
SLIDE 31

Better Label Distribution Testing?

Idea: Use a different distribution tester Select ˜

O(√n) vertices from G and H

Query connections to random subset of size ˜

O(n2/3)

Use the distribution tester of Batu et al. (2000) Query Complexity: ˜

O(n7/6)

Problem: Unclear how to do Step 2 Only a subset of labels known Sampling subsets and comparing discovered identical labels introduces a bias Ignore this issue for now

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 10/22

slide-32
SLIDE 32

Exponent Less than 7/6?

Could the Ω(n2/3) distribution testing lower bound [Valiant 2008] imply a Ω(n7/6) lower bound? vs.

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 11/22

slide-33
SLIDE 33

Exponent Less than 7/6?

Could the Ω(n2/3) distribution testing lower bound [Valiant 2008] imply a Ω(n7/6) lower bound? vs. We have additional information

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 11/22

slide-34
SLIDE 34

Exponent Less than 7/6?

Could the Ω(n2/3) distribution testing lower bound [Valiant 2008] imply a Ω(n7/6) lower bound? vs. We have additional information: Estimate in advance distances between adjacency vectors in both graphs We care about random core sets, where labels preserve distances between adjacency vectors We should be able to distinguish heavy and light elements

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 11/22

slide-35
SLIDE 35

Exponent Less than 7/6?

Could the Ω(n2/3) distribution testing lower bound [Valiant 2008] imply a Ω(n7/6) lower bound? vs. We have additional information: Estimate in advance distances between adjacency vectors in both graphs We care about random core sets, where labels preserve distances between adjacency vectors We should be able to distinguish heavy and light elements Nice consistent clustering of slightly different adjacency vectors still difficult

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 11/22

slide-36
SLIDE 36

Our Algorithm

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 12/22

slide-37
SLIDE 37

Overview

(O⋆(f(n)) ≡ O(f(n)) · 2O(√log n))

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 13/22

slide-38
SLIDE 38

Overview

(O⋆(f(n)) ≡ O(f(n)) · 2O(√log n)) Compute good approximations of distances between adjacency vectors with O⋆(n) queries

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 13/22

slide-39
SLIDE 39

Overview

(O⋆(f(n)) ≡ O(f(n)) · 2O(√log n)) Compute good approximations of distances between adjacency vectors with O⋆(n) queries Sample O⋆(√n) vertices from both graphs

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 13/22

slide-40
SLIDE 40

Overview

(O⋆(f(n)) ≡ O(f(n)) · 2O(√log n)) Compute good approximations of distances between adjacency vectors with O⋆(n) queries Sample O⋆(√n) vertices from both graphs Consider all pairs of corsets of size O⋆(1)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 13/22

slide-41
SLIDE 41

Overview

(O⋆(f(n)) ≡ O(f(n)) · 2O(√log n)) Compute good approximations of distances between adjacency vectors with O⋆(n) queries Sample O⋆(√n) vertices from both graphs Consider all pairs of corsets of size O⋆(1) Step 0: sample O⋆(√n) vertices to see if the core sets preserve distances well

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 13/22

slide-42
SLIDE 42

Overview

(O⋆(f(n)) ≡ O(f(n)) · 2O(√log n)) Compute good approximations of distances between adjacency vectors with O⋆(n) queries Sample O⋆(√n) vertices from both graphs Consider all pairs of corsets of size O⋆(1) Step 0: sample O⋆(√n) vertices to see if the core sets preserve distances well Step 1: relaxed test required to reject only sets of labels that are far in Earth-Mover Distance

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 13/22

slide-43
SLIDE 43

Overview

(O⋆(f(n)) ≡ O(f(n)) · 2O(√log n)) Compute good approximations of distances between adjacency vectors with O⋆(n) queries Sample O⋆(√n) vertices from both graphs Consider all pairs of corsets of size O⋆(1) Step 0: sample O⋆(√n) vertices to see if the core sets preserve distances well Step 1: relaxed test required to reject only sets of labels that are far in Earth-Mover Distance Step 2: approximate matching of labels, rejection sampling to avoid biases

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 13/22

slide-44
SLIDE 44

Overview

(O⋆(f(n)) ≡ O(f(n)) · 2O(√log n)) Compute good approximations of distances between adjacency vectors with O⋆(n) queries Sample O⋆(√n) vertices from both graphs Consider all pairs of corsets of size O⋆(1) Step 0: sample O⋆(√n) vertices to see if the core sets preserve distances well Step 1: relaxed test required to reject only sets of labels that are far in Earth-Mover Distance Step 2: approximate matching of labels, rejection sampling to avoid biases Will show simplified versions

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 13/22

slide-45
SLIDE 45

Overview

(O⋆(f(n)) ≡ O(f(n)) · 2O(√log n)) Compute good approximations of distances between adjacency vectors with O⋆(n) queries Sample O⋆(√n) vertices from both graphs Consider all pairs of corsets of size O⋆(1) Step 0: sample O⋆(√n) vertices to see if the core sets preserve distances well Step 1: relaxed test required to reject only sets of labels that are far in Earth-Mover Distance Step 2: approximate matching of labels, rejection sampling to avoid biases Will show simplified versions Assume labels preserve all distances

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 13/22

slide-46
SLIDE 46

Collisions

Standard distribution testing collisions: identical labels

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 14/22

slide-47
SLIDE 47

Collisions

r Standard distribution testing collisions: identical labels Here: pick small threshold r labels at distance r collide

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 14/22

slide-48
SLIDE 48

Collisions

Standard distribution testing collisions: identical labels Here: pick small threshold r labels at distance r collide Can apply the standard distribution testing? Not in a trivial way Colliding vertices can have very different degrees Hard to partition them into classes of similar degrees

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 14/22

slide-49
SLIDE 49

Collisions

Standard distribution testing collisions: identical labels Here: pick small threshold r labels at distance r collide Can apply the standard distribution testing? Not in a trivial way Colliding vertices can have very different degrees Hard to partition them into classes of similar degrees Our solution: Randomize the threshold r Design a tool for estimating the number of collisions Reject only if Earth-Mover Distance large

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 14/22

slide-50
SLIDE 50

Estimating Number of Collisions

r

Found colliding labels for vertices v ∈ V [G] and w ∈ V [H]

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 15/22

slide-51
SLIDE 51

Estimating Number of Collisions

r

Found colliding labels for vertices v ∈ V [G] and w ∈ V [H]

Question: How many vertices in H have labels colliding with v?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 15/22

slide-52
SLIDE 52

Estimating Number of Collisions

2r r

Found colliding labels for vertices v ∈ V [G] and w ∈ V [H]

Question: How many vertices in H have labels colliding with v?

Solution: Sample similar vertices in H up to distance

2r + (error-term) and see their labels

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 15/22

slide-53
SLIDE 53

Estimating Number of Collisions

2r r

Found colliding labels for vertices v ∈ V [G] and w ∈ V [H]

Question: How many vertices in H have labels colliding with v?

Solution: Sample similar vertices in H up to distance

2r + (error-term) and see their labels

Requirement: good multiplicative approximation

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 15/22

slide-54
SLIDE 54

Estimating Number of Collisions

2r r

Found colliding labels for vertices v ∈ V [G] and w ∈ V [H]

Question: How many vertices in H have labels colliding with v?

Solution: Sample similar vertices in H up to distance

2r + (error-term) and see their labels

Requirement: good multiplicative approximation Problem: What if few of them do?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 15/22

slide-55
SLIDE 55

Estimating Number of Collisions

2r r

Found colliding labels for vertices v ∈ V [G] and w ∈ V [H]

Question: How many vertices in H have labels colliding with v?

Solution: Sample similar vertices in H up to distance

2r + (error-term) and see their labels

Requirement: good multiplicative approximation Problem: What if few of them do?

Pick a threshold r = 2−t/ polylog n, where t ∈ [0, O(√log n)]

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 15/22

slide-56
SLIDE 56

Estimating Number of Collisions

3r 2r r

Found colliding labels for vertices v ∈ V [G] and w ∈ V [H]

Question: How many vertices in H have labels colliding with v?

Solution: Sample similar vertices in H up to distance

2r + (error-term) and see their labels

Requirement: good multiplicative approximation Problem: What if few of them do?

Pick a threshold r = 2−t/ polylog n, where t ∈ [0, O(√log n)]

For most thresholds most points will require O⋆(1) samples

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 15/22

slide-57
SLIDE 57

Estimating Number of Collisions

Found colliding labels for vertices v ∈ V [G] and w ∈ V [H]

Question: How many vertices in H have labels colliding with v?

Solution: Sample similar vertices in H up to distance

2r + (error-term) and see their labels

Requirement: good multiplicative approximation Problem: What if few of them do?

Pick a threshold r = 2−t/ polylog n, where t ∈ [0, O(√log n)]

For most thresholds most points will require O⋆(1) samples

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 15/22

slide-58
SLIDE 58

Step 1: Earth-Mover Distance Testing

MG MH M

Three metric spaces: MG, MH, M (diameter bounded by 1, |MG| = |MH| = n)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 16/22

slide-59
SLIDE 59

Step 1: Earth-Mover Distance Testing

MG MH fH fG M

Three metric spaces: MG, MH, M (diameter bounded by 1, |MG| = |MH| = n)

fG : MG → M and fH : MH → M preserve distances

up to a small additive term

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 16/22

slide-60
SLIDE 60

Step 1: Earth-Mover Distance Testing

Three metric spaces: MG, MH, M (diameter bounded by 1, |MG| = |MH| = n)

fG : MG → M and fH : MH → M preserve distances

up to a small additive term Tester required to Accept if fG(MG) = fH(MH)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 16/22

slide-61
SLIDE 61

Step 1: Earth-Mover Distance Testing

Three metric spaces: MG, MH, M (diameter bounded by 1, |MG| = |MH| = n)

fG : MG → M and fH : MH → M preserve distances

up to a small additive term Tester required to Accept if fG(MG) = fH(MH) Reject if EMD(fG(MG), fH(MH)) ≥ ǫn

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 16/22

slide-62
SLIDE 62

Step 1: Earth-Mover Distance Testing

Three metric spaces: MG, MH, M (diameter bounded by 1, |MG| = |MH| = n)

fG : MG → M and fH : MH → M preserve distances

up to a small additive term Tester required to Accept if fG(MG) = fH(MH) Reject if EMD(fG(MG), fH(MH)) ≥ ǫn Our solution: Step 1a: make sure almost all points in fG(MG) collide with fH(MH), and vice versa

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 16/22

slide-63
SLIDE 63

Step 1: Earth-Mover Distance Testing

Three metric spaces: MG, MH, M (diameter bounded by 1, |MG| = |MH| = n)

fG : MG → M and fH : MH → M preserve distances

up to a small additive term Tester required to Accept if fG(MG) = fH(MH) Reject if EMD(fG(MG), fH(MH)) ≥ ǫn Our solution: Step 1a: make sure almost all points in fG(MG) collide with fH(MH), and vice versa Step 1b: if two points collide make sure their metrics can be matched

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 16/22

slide-64
SLIDE 64

More Details

Step 1a: make sure almost all points in fG(MG) collide with fH(MH)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 17/22

slide-65
SLIDE 65

More Details

Step 1a: make sure almost all points in fG(MG) collide with fH(MH)

Take O⋆(√n) samples

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 17/22

slide-66
SLIDE 66

More Details

Step 1a: make sure almost all points in fG(MG) collide with fH(MH)

Take O⋆(√n) samples Estimate weighted number of collisions

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 17/22

slide-67
SLIDE 67

More Details

Step 1a: make sure almost all points in fG(MG) collide with fH(MH)

Take O⋆(√n) samples Estimate weighted number of collisions

Divide each collision by the estimated number of collisions

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 17/22

slide-68
SLIDE 68

More Details

Step 1a: make sure almost all points in fG(MG) collide with fH(MH)

Take O⋆(√n) samples Estimate weighted number of collisions

Divide each collision by the estimated number of collisions

Bad case:

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 17/22

slide-69
SLIDE 69

More Details

Step 1a: make sure almost all points in fG(MG) collide with fH(MH)

Take O⋆(√n) samples Estimate weighted number of collisions

Divide each collision by the estimated number of collisions

Bad case: Randomized threshold makes it unlikely to happen for a large fraction of vertices

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 17/22

slide-70
SLIDE 70

More Details

Step 1a: make sure almost all points in fG(MG) collide with fH(MH)

Take O⋆(√n) samples Estimate weighted number of collisions

Divide each collision by the estimated number of collisions

Bad case: Randomized threshold makes it unlikely to happen for a large fraction of vertices Step 1b: if two points pG and pH collide make sure their metrics can be matched

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 17/22

slide-71
SLIDE 71

More Details

Step 1a: make sure almost all points in fG(MG) collide with fH(MH)

Take O⋆(√n) samples Estimate weighted number of collisions

Divide each collision by the estimated number of collisions

Bad case: Randomized threshold makes it unlikely to happen for a large fraction of vertices Step 1b: if two points pG and pH collide make sure their metrics can be matched Is there a mapping F : MG → MH, where F(pG) = pH and all distances preserved up to a small additive term?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 17/22

slide-72
SLIDE 72

Why This Works

Need to show that EMD(fG(MG), fH(MH)) ≤ ǫn if passes the test

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 18/22

slide-73
SLIDE 73

Why This Works

Need to show that EMD(fG(MG), fH(MH)) ≤ ǫn if passes the test We show a large fractional matching using short edges

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 18/22

slide-74
SLIDE 74

Why This Works

Need to show that EMD(fG(MG), fH(MH)) ≤ ǫn if passes the test We show a large fractional matching using short edges Two step process: Each point in fG(MG) sends flow to hubs in fG(MG)

Each point in fH(MH) receives flow from hubs in fG(MG)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 18/22

slide-75
SLIDE 75

Why This Works

Need to show that EMD(fG(MG), fH(MH)) ≤ ǫn if passes the test We show a large fractional matching using short edges Two step process: Each point in fG(MG) sends flow to hubs in fG(MG)

Each point in fH(MH) receives flow from hubs in fG(MG)

Each point sends/receives one unit, but hubs handle arbitrary amount of flow

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 18/22

slide-76
SLIDE 76

Why This Works

Need to show that EMD(fG(MG), fH(MH)) ≤ ǫn if passes the test We show a large fractional matching using short edges Two step process: Each point in fG(MG) sends flow to hubs in fG(MG)

Each point in fH(MH) receives flow from hubs in fG(MG)

Each point sends/receives one unit, but hubs handle arbitrary amount of flow Amount sent to/received from point x proportional to

exp(−δ(x, y) · polylog n)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 18/22

slide-77
SLIDE 77

Why This Works

Need to show that EMD(fG(MG), fH(MH)) ≤ ǫn if passes the test We show a large fractional matching using short edges Two step process: Each point in fG(MG) sends flow to hubs in fG(MG)

Each point in fH(MH) receives flow from hubs in fG(MG)

Each point sends/receives one unit, but hubs handle arbitrary amount of flow Amount sent to/received from point x proportional to

exp(−δ(x, y) · polylog n)

For almost matching metrics: each hub receives and sends almost the same amount

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 18/22

slide-78
SLIDE 78

Why This Works

Need to show that EMD(fG(MG), fH(MH)) ≤ ǫn if passes the test We show a large fractional matching using short edges Two step process: Each point in fG(MG) sends flow to hubs in fG(MG)

Each point in fH(MH) receives flow from hubs in fG(MG)

Each point sends/receives one unit, but hubs handle arbitrary amount of flow Amount sent to/received from point x proportional to

exp(−δ(x, y) · polylog n)

For almost matching metrics: each hub receives and sends almost the same amount There is a close point: edges longer than some small threshold carry almost no flow

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 18/22

slide-79
SLIDE 79

Step 2

Question: Do labels describe connectivity?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 19/22

slide-80
SLIDE 80

Step 2

Question: Do labels describe connectivity? Problem: Sampling pairs of similar labels more likely (Reason why Fischer & Matsliah didn’t get ˜

O(n7/6)?)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 19/22

slide-81
SLIDE 81

Step 2

Question: Do labels describe connectivity? Problem: Sampling pairs of similar labels more likely (Reason why Fischer & Matsliah didn’t get ˜

O(n7/6)?)

Use rejection sampling to uniformly sample a label for

V [G] with a colliding label for V [H]

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 19/22

slide-82
SLIDE 82

Step 2

Question: Do labels describe connectivity? Problem: Sampling pairs of similar labels more likely (Reason why Fischer & Matsliah didn’t get ˜

O(n7/6)?)

Use rejection sampling to uniformly sample a label for

V [G] with a colliding label for V [H]

Keep a sample with probability

1/(estimated-number-of-collisions)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 19/22

slide-83
SLIDE 83

Step 2

Question: Do labels describe connectivity? Problem: Sampling pairs of similar labels more likely (Reason why Fischer & Matsliah didn’t get ˜

O(n7/6)?)

Use rejection sampling to uniformly sample a label for

V [G] with a colliding label for V [H]

Keep a sample with probability

1/(estimated-number-of-collisions)

For independent endpoints, slight difference in labels shouldn’t introduce too much error

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 19/22

slide-84
SLIDE 84

Step 2

Question: Do labels describe connectivity? Problem: Sampling pairs of similar labels more likely (Reason why Fischer & Matsliah didn’t get ˜

O(n7/6)?)

Use rejection sampling to uniformly sample a label for

V [G] with a colliding label for V [H]

Keep a sample with probability

1/(estimated-number-of-collisions)

For independent endpoints, slight difference in labels shouldn’t introduce too much error Accept if similar labels imply same connectivity most of the time

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 19/22

slide-85
SLIDE 85

Final Remarks

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 20/22

slide-86
SLIDE 86

Open Questions

Is the 2O(√log n) factor necessary?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 21/22

slide-87
SLIDE 87

Open Questions

Is the 2O(√log n) factor necessary? Can approximate the distance efficiently? Improve the running time?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 21/22

slide-88
SLIDE 88

Open Questions

Is the 2O(√log n) factor necessary? Can approximate the distance efficiently? Improve the running time? Sparse graphs? hyperfinite bounded-degree [Newman Sohler 2011]

O(1) queries

arbitrary degree forests [Kusumoto Yoshida 2014]

polylog(n) queries

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 21/22

slide-89
SLIDE 89

Open Questions

Is the 2O(√log n) factor necessary? Can approximate the distance efficiently? Improve the running time? Sparse graphs? hyperfinite bounded-degree [Newman Sohler 2011]

O(1) queries

arbitrary degree forests [Kusumoto Yoshida 2014]

polylog(n) queries

Unified framework for various kinds of isomorphisms? (graphs, functions, etc.)

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 21/22

slide-90
SLIDE 90

Questions?

Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 22/22