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
Graph Isomorphism Problem: Are two graphs identical? Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 2/22
Graph Isomorphism Problem: Are two graphs identical? Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 2/22
Graph Isomorphism Problem: Are two graphs identical? Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 2/22
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
Property Testing Version This Talk: Dense graph model 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 1 Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 3/22
Property Testing Version This Talk: Dense graph model 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 0 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 ǫn 2 edges disagree Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 3/22
Property Testing Version This Talk: Dense graph model 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 0 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 ǫn 2 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
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
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
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 · 2 O ( √ log n ) queries Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 4/22
Review of Fischer-Matsliah Techniques Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 5/22
Core sets Core set = list of polylog n vertices ( v 1 , v 2 , . . . , v k ) Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 6/22
Core sets Core set = list of polylog n vertices ( v 1 , v 2 , . . . , v k ) Every vertex u has a label l ∈ { 0 , 1 } k with respect to core set: � if v u and u connected 1 l i = otherwise 0 11010 10011 Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 6/22
Core sets Core set = list of polylog n vertices ( v 1 , v 2 , . . . , v k ) Every vertex u has a label l ∈ { 0 , 1 } k with respect to core set: � if v u and u connected 1 l i = otherwise 0 11010 10011 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
Important Theorem If G and H have core sets ( v 1 , . . . , v k ) and ( w 1 , . . . , w k ) , respectively, such that: G H Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 7/22
Important Theorem If G and H have core sets ( v 1 , . . . , v k ) and ( w 1 , . . . , w k ) , respectively, such that: the distributions on labels are ǫ 1 -close G H 11010 11010 Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 7/22
Important Theorem If G and H have core sets ( v 1 , . . . , v k ) and ( w 1 , . . . , w k ) , 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 G H 11010 11010 10011 10011 Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 7/22
Important Theorem If G and H have core sets ( v 1 , . . . , v k ) and ( w 1 , . . . , w k ) , 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 G H 11010 11010 10011 10011 Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 7/22
Important Theorem If G and H have core sets ( v 1 , . . . , v k ) and ( w 1 , . . . , w k ) , 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 G H 11010 11010 10011 10011 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
The Fischer-Matsliah Algorithm Select ˜ O ( n 3 / 4 ) random vertices V ⋆ G from G Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22
The Fischer-Matsliah Algorithm Select ˜ O ( n 3 / 4 ) random vertices V ⋆ G from G and query their connections to ˜ O ( n 1 / 2 ) random vertices Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22
The Fischer-Matsliah Algorithm Select ˜ O ( n 3 / 4 ) random vertices V ⋆ G from G and query their connections to ˜ O ( n 1 / 2 ) random vertices Select ˜ O ( n 1 / 4 ) random vertices V ⋆ H from H Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22
The Fischer-Matsliah Algorithm Select ˜ O ( n 3 / 4 ) random vertices V ⋆ G from G and query their connections to ˜ O ( n 1 / 2 ) random vertices Select ˜ O ( n 1 / 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
The Fischer-Matsliah Algorithm Select ˜ O ( n 3 / 4 ) random vertices V ⋆ G from G and query their connections to ˜ O ( n 1 / 2 ) random vertices Select ˜ O ( n 1 / 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
The Fischer-Matsliah Algorithm Select ˜ O ( n 3 / 4 ) random vertices V ⋆ G from G and query their connections to ˜ O ( n 1 / 2 ) random vertices Select ˜ O ( n 1 / 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 O ( √ n ) -sample tester of Batu et al. (2001)) (Use the ˜ Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 8/22
The Fischer-Matsliah Algorithm Select ˜ O ( n 3 / 4 ) random vertices V ⋆ G from G and query their connections to ˜ O ( n 1 / 2 ) random vertices Select ˜ O ( n 1 / 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 O ( √ n ) -sample tester of Batu et al. (2001)) (Use the ˜ 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
First Attempts Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 9/22
Better Label Distribution Testing? Idea: Use a different distribution tester O ( √ n ) vertices from G and H Select ˜ Query connections to random subset of size ˜ O ( n 2 / 3 ) Use the distribution tester of Batu et al. (2000) Query Complexity: ˜ O ( n 7 / 6 ) Krzysztof Onak – A Near-Optimal Algorithm for Testing Graph Isomorphism – p. 10/22
Better Label Distribution Testing? Idea: Use a different distribution tester O ( √ n ) vertices from G and H Select ˜ Query connections to random subset of size ˜ O ( n 2 / 3 ) Use the distribution tester of Batu et al. (2000) Query Complexity: ˜ O ( n 7 / 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
Recommend
More recommend