Hardness of Robust Graph Isomorphism, Lasserre Gaps, and Asymmetry of Random Graphs
description
Transcript of Hardness of Robust Graph Isomorphism, Lasserre Gaps, and Asymmetry of Random Graphs
Hardness of Robust Graph Isomorphism, Lasserre Gaps,and Asymmetry of Random Graphs
Ryan O’Donnell (CMU)John Wright (CMU)
Chenggang Wu (Tsinghua)Yuan Zhou (CMU)
Hardness of Robust Graph Isomorphism, Lasserre Gaps,and Asymmetry of Random Graphs
Ryan O’Donnell (CMU)John Wright (CMU)
Chenggang Wu (Tsinghua)Yuan Zhou (CMU)
Motivating ExampleYesterday’s
Facebook graphYesterday’s
Facebook graph
Graph Isomorphism algorithm A
Motivating ExampleYesterday’s
Facebook graphYesterday’s
Facebook graph
Graph Isomorphism algorithm A
Motivating ExampleYesterday’s
Facebook graphYesterday’s
Facebook graph
Graph Isomorphism algorithm A should:• output “YES, same graph”• unscramble graph #2
Motivating ExampleYesterday’s
Facebook graphToday’s
Facebook graph
Graph Isomorphism algorithm A
Motivating ExampleYesterday’s
Facebook graphToday’s
Facebook graph
Graph Isomorphism algorithm A
Motivating ExampleYesterday’s
Facebook graphToday’s
Facebook graph
Graph Isomorphism algorithm A
Motivating ExampleYesterday’s
Facebook graphToday’s
Facebook graph
Graph Isomorphism algorithm A
Motivating ExampleYesterday’s
Facebook graphToday’s
Facebook graph
Graph Isomorphism algorithm A will:• output “NO, not isomorphic”• terminate
Motivating ExampleYesterday’s
Facebook graphToday’s
Facebook graph
But these graphs are almost isomorphic!• can we detect this?• can we unscramble graph #2?
Robust Graph Isomorphism
Given two “almost isomorphic” graphs,find the “best almost-isomorphism” between them
(or something close to it)
G = (V(G), E(G)) H = (V(H), E(H))
Isomorphisms
π
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
G = (V(G), E(G)) H = (V(H), E(H))
Isomorphisms
π
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
G = (V(G), E(G)) H = (V(H), E(H))
Isomorphisms
π
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
G = (V(G), E(G)) H = (V(H), E(H))
Isomorphisms
π
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
G = (V(G), E(G)) H = (V(H), E(H))
Isomorphisms
π
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
G = (V(G), E(G)) H = (V(H), E(H))
Isomorphisms
π
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
G = (V(G), E(G)) H = (V(H), E(H))
Isomorphisms
π
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
G = (V(G), E(G)) H = (V(H), E(H))
Isomorphisms
π
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
G = (V(G), E(G)) H = (V(H), E(H))
Isomorphisms
π
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
Isomorphisms
G = (V(G), E(G)) H = (V(H), E(H))
A bijection π:V(G) → V(H) is an isomorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(H)
Isomorphisms, eq.
Pr[(π(u), π(v)) ∈ E(H)] = 1(u, v) E(G)
G = (V(G), E(G)) H = (V(H), E(H))
A bijection π:V(G) → V(H) is an isomorphism if
~ (assuming |E(G)| = |E(H)|)
Isomorphisms, eq.
Pr[(π(u), π(v)) ∈ E(H)] = 1(u, v) E(G)
G = (V(G), E(G)) H = (V(H), E(H))
A bijection π:V(G) → V(H) is an isomorphism if
~
(uniformly random)
(assuming |E(G)| = |E(H)|)
Isomorphisms, eq.
Pr[(π(u), π(v)) ∈ E(H)] = 1(u, v) E(G)
G = (V(G), E(G)) H = (V(H), E(H))
A bijection π:V(G) → V(H) is an isomorphism if
~ (assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~ (assuming |E(G)| = |E(H)|)
π
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~ (assuming |E(G)| = |E(H)|)
π
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
Fact:π is an isomorphism ⇔ π is a 1-isomorphism
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~ (assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
π
(assuming |E(G)| = |E(H)|)
π
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
Fact:This π is a ½-isomorphism.
(assuming |E(G)| = |E(H)|)
Approximate Isomorphisms
Pr[(π(u), π(v)) ∈ E(H)] = α(u, v) E(G)
A bijection π:V(G) → V(H) is an α-isomorphism if
~
G and H are α-isomorphicif they have a β-isomorphism,
and β ≥ α.
(assuming |E(G)| = |E(H)|)
Approximate GISO
(c, s)-approximate GISO
Given G and H, output:• YES if G and H are c-isomorphic • NO if G and H are not s-isomorphic
Fact:(1, s)-approximate GISO is no harder than GISO.
Not so clear for (1-ε, s)-approximate GISO…
c > s,c “close to 1”s “far from 1”
Robust GISO
Given G and H which are (1-ε)-isomorphic,output a (1-r(ε))-isomorphism.
(r(ε)→0 as ε→0+)
• Robust algorithms previously studied for CSPs• a characterization conjectured by [Guruswami and Zhou 2011]• confirmed by [Barto and Kozik 2012]
• Robust GISO introduced in [WYZV 2013]• gives a robust GISO algorithm if G and H are trees• which other classes of graphs have robust GISO algorithms?
Approximate GISO, a brief history
• [Arora et al. 2002] give a PTAS for this problem in the case of dense graphs– Our graphs will be sparse, i.e. m = O(n)
• [Arvind et al. 2012] have shown hardness of approximation results for variants of our problem– e.g., GISO with colored graphs
GISO Hardness
• Famously not known to be in P or NP-complete
• Evidence that it’s not NP-complete
• What about robust GISO?
Our result
Assume Feige’s Random 3XOR Hypothesis.Then there is no poly-time algorithm for Robust GISO.
Thm:
There exists a constant ε0 such that:For all ε > 0, no poly-time algorithm can distinguish between:• (1-ε)-isomorphic graphs G and H• not (1-ε0)-isomorphic graphs G and H
In other words, no poly-time algorithm solves (1-ε, 1-ε0)-approximate GISO.
(constantly far apart)
Our (newer) result
Assume RP ≠ NP.Then there is no poly-time algorithm for Robust GISO.
Thm:
There exists a constant ε0 such that:For all ε > 0, no poly-time algorithm can distinguish between:• (1-ε)-isomorphic graphs G and H• not (1-ε0)-isomorphic graphs G and H
In other words, no poly-time algorithm solves (1-ε, 1-ε0)-approximate GISO.
(constantly far apart)
Algorithms for GISO
GISO Algorithms
Algorithm Runtime
Brute force
Weisfeiler-Lehman (WL) algorithm
[Babai Luks 83]
O(n!) ≈ O(2n log n)
exp(O(n log n))
exp(O(n log n)1/2)
WLk algorithm
• Standard heuristic for GISO• Larger k, more powerful. Runs in time nk + O(1).• By [Atserias and Maneva 2013], equivalent to
something familiar:
WLk
Level-(k+1) Sherali-Adams LP for GISO
Level-k Sherali-Adams LP for GISOWLk-1
Level-(k-1) Sherali-Adams LP for GISO…
WLk/Level-k Sherali-Adams LP
• “Super LP”• Once speculated that WLk solves GISO with
k= O(log n)• Some graphs require k = Ω(n) rounds
[Cai, Fürer, Immerman 1992]
• How do SDPs do? What about the Lasserre/SOS “Super-Duper SDP”?
Cai, Fürer, Immerman Instance
• Some graphs require k = Ω(n) rounds [Cai, Fürer,
Immerman 1992]• Basically encoded a 3XOR instance as a pair of
graphs.• Our main theorem is similar – we reduce from
random 3XOR.• Known that random 3XOR is as hard as
possible for Lasserre SDP [Schoenebeck 2008]
Our result
There exists a constant ε0 such thatΩ(n) levels of the Lasserre/SOS hierarchy
are needed to distinguish:
Thm:
• YES: G and H are isomorphic • NO: G and H are (1-ε0)-isomorphic
(constantly far apart)
Our proof
Assume Feige’s Random 3XOR Hypothesis.Then there is no algorithm for Robust GISO.
Thm:
Our proof
• By a reduction from (a variant of) 3XOR
Instance I
x1 + x2 + x3 = 0 (mod 2)
x10 + x15 + x1 = 1 (mod 2)
x4 + x5 + x12 = 1 (mod 2)
…
x7 + x8 + x9 = 0 (mod 2)
xi ∈ {0, 1}
Our proof
• By a reduction from (a variant of) 3XOR
Instance I
x1 + x2 + x3 = 0 (mod 2)
x10 + x15 + x1 = 1 (mod 2)
x4 + x5 + x12 = 1 (mod 2)
…
x7 + x8 + x9 = 0 (mod 2)
000 010 100 110001 011 101 111
xi ∈ {0, 1}
Our proof
• By a reduction from (a variant of) 3XOR
Instance I
x1 + x2 + x3 = 0 (mod 2)
x10 + x15 + x1 = 1 (mod 2)
x4 + x5 + x12 = 1 (mod 2)
…
x7 + x8 + x9 = 0 (mod 2)
000 010 100 110001 011 101 111
xi ∈ {0, 1}
Our proof
• By a reduction from (a variant of) 3XOR
Instance I
x1 + x2 + x3 = 0 (mod 2)
x10 + x15 + x1 = 1 (mod 2)
x4 + x5 + x12 = 1 (mod 2)
…
x7 + x8 + x9 = 0 (mod 2)
3XOR easy to solve on satisfiable instances (Gaussian elimination)
Thm: [Håstad 2001]
Given a 3XOR instance I, it is NP-hard to distinguish between:
• YES: I is (1 - ε)-satisfiable• NO: I is (½ + ε)-satisfiable
xi ∈ {0, 1}
Our proof
• By a reduction from (a variant of) 3XOR
Instance I
x1 + x2 + x3 = 0 (mod 2)
x10 + x15 + x1 = 1 (mod 2)
x4 + x5 + x12 = 1 (mod 2)
…
x7 + x8 + x9 = 0 (mod 2)
3XOR easy to solve on satisfiable instances (Gaussian elimination)
Thm: [Håstad 2001]
Given a 3XOR instance I, it is NP-hard to distinguish between:
• YES: I is almost-satisfiable• NO: I is far-from-satisfiable
xi ∈ {0, 1}
Our proof
• By a reduction from (a variant of) 3XOR
(reduction)
Almost-satisfiable3XOR instance I
Almost-isomorphicgraphs (G, H)
Far-from-satisfiable3XOR instance I
Far-from-isomorphicgraphs (G, H)
Our proof
• By a reduction from (a variant of) 3XOR
Almost-satisfiable3XOR instance I
Far-from-satisfiable3XOR instance I
Almost-isomorphicgraphs (G, H)
Far-from-isomorphicgraphs (G, H)
(reduction)
✔✗
(only works for most far-from-satisfiable 3XOR instances)
Random 3XOR
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
• n variables• m equations (m = C * n)
Of thepossible sets of size 3, pick m of them
( )n3
Random 3XOR
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
• n variables• m equations (m = C * n)
Of thepossible sets of size 3, pick m of them
( )n3
x1 + x2 + x3 = ? (mod 2)
Random 3XOR
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
• n variables• m equations (m = C * n)
Of thepossible sets of size 3, pick m of them
( )n3
x1 + x2 + x3 = ? (mod 2)
x3 + x5 + x7 = ? (mod 2)
Random 3XOR
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
• n variables• m equations (m = C * n)
Of thepossible sets of size 3, pick m of them
( )n3
x1 + x2 + x3 = ? (mod 2)
x3 + x5 + x7 = ? (mod 2)
…
Random 3XOR
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
• n variables• m equations (m = C * n)
Of thepossible sets of size 3, pick m of them
( )n3
x1 + x2 + x3 = ? (mod 2)
x3 + x5 + x7 = ? (mod 2)
…
x9 + x10 + xn = ? (mod 2)
Random 3XOR
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
• n variables• m equations (m = C * n)
Of thepossible sets of size 3, pick m of them
( )n3
x1 + x2 + x3 = ? (mod 2)
x3 + x5 + x7 = ? (mod 2)
…
x9 + x10 + xn = ? (mod 2)
Random 3XOR
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
• n variables• m equations (m = C * n)
Of thepossible sets of size 3, pick m of them
( )n3
x1 + x2 + x3 = ? (mod 2)
x3 + x5 + x7 = ? (mod 2)
…
x9 + x10 + xn = ? (mod 2)
Random 3XOR
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
• n variables• m equations (m = C * n)
Of thepossible sets of size 3, pick m of them
( )n3
x1 + x2 + x3 = 0 (mod 2)
x3 + x5 + x7 = 1 (mod 2)
…
x9 + x10 + xn = 1 (mod 2)
Random 3XOR
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
• n variables• m equations (m = C * n)
Of thepossible sets of size 3, pick m of them
( )n3
x1 + x2 + x3 = 0 (mod 2)
x3 + x5 + x7 = 1 (mod 2)
…
x9 + x10 + xn = 1 (mod 2) For some C > 0,~50%-satisfiable whp.
Feige’s R3XOR Hypothesis
No poly-time algorithm can distinguish between:• an almost-satisfiable 3XOR instance• a random 3XOR instance
Feige’s R3XOR Hypothesis
No poly-time algorithm can distinguish between:• an almost-satisfiable 3XOR instance• a random 3XOR instance
• Well-believed and “standard” complexity assumption
Feige’s R3XOR Hypothesis
No poly-time algorithm can distinguish between:• an almost-satisfiable 3XOR instance• a random 3XOR instance
• Well-believed and “standard” complexity assumption
• Variants of this hypothesis used as basis for cryptosystems, hardness of approximation results, etc.
Feige’s R3XOR Hypothesis
No poly-time algorithm can distinguish between:• an almost-satisfiable 3XOR instance• a random 3XOR instance
• Well-known complexity assumption
• Variants of this hypothesis used as basis for cryptosystems, hardness of approximation results, etc.
• Solvable in time 2O(n/log(n)) [Blum, Kalai, Wasserman 2003]
Our proof
• Assume Feige’s R3XOR Hypothesis
(reduction)
Almost-satisfiable3XOR instance I
Almost-isomorphicgraphs (G, H)
Far-from-satisfiable3XOR instance I
Far-from-isomorphicgraphs (G, H)
Our proof
• Assume Feige’s R3XOR Hypothesis
(reduction)
Almost-satisfiable3XOR instance I
Almost-isomorphicgraphs (G, H)
Random3XOR instance I
Far-from-isomorphicgraphs (G, H)
Our proof
• Assume Feige’s R3XOR Hypothesis
(reduction)
Almost-satisfiable3XOR instance I
Almost-isomorphicgraphs (G, H)
Random3XOR instance I
Far-from-isomorphicgraphs (G, H)(w.h.p.)
The reduction• Assume graph:3XOR instances → graphs
The reduction• Assume graph:3XOR instances → graphs
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 1 (mod 2)
…
x1 + x3 + x8 = 1 (mod 2)
3XOR instance I
The reduction• Assume graph:3XOR instances → graphs
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 1 (mod 2)
…
x1 + x3 + x8 = 1 (mod 2)
3XOR instance I
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 0 (mod 2)
…
x1 + x3 + x8 = 0 (mod 2)
instance sat(I)
The reduction• Assume graph:3XOR instances → graphs
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 1 (mod 2)
…
x1 + x3 + x8 = 1 (mod 2)
3XOR instance I
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 0 (mod 2)
…
x1 + x3 + x8 = 0 (mod 2)
instance sat(I)
Fact:sat(I) is satisfiable (just set xi’s to 0)
The reduction• Assume graph:3XOR instances → graphs
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 1 (mod 2)
…
x1 + x3 + x8 = 1 (mod 2)
3XOR instance I
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 0 (mod 2)
…
x1 + x3 + x8 = 0 (mod 2)
instance sat(I)
The reduction• Assume graph:3XOR instances → graphs
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 1 (mod 2)
…
x1 + x3 + x8 = 1 (mod 2)
3XOR instance I
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 0 (mod 2)
…
x1 + x3 + x8 = 0 (mod 2)
instance sat(I)
• G := graph(I)• H := graph(sat(I))Output (G, H)
Equation 0-Gadgetx + y + z = 0 (mod 2)
Equation 0-Gadgetx + y + z = 0 (mod 2) 000 010 100 110
001 011 101 111
good assignments
Equation 0-Gadgetx + y + z = 0 (mod 2)
Variable vertices:
x0 1
y0 1
z0 1
000 010 100 110001 011 101 111
good assignments
Equation 0-Gadgetx + y + z = 0 (mod 2)
Variable vertices:
x0 1
y0 1
z0 1
x → 0y → 0z → 0
x → 0y → 1z → 1
x → 1y → 0z → 1
x → 1y → 1z → 0
Equation vertices:
000 010 100 110001 011 101 111
good assignments
Equation 0-Gadgetx + y + z = 0 (mod 2)
Variable vertices:
x0 1
y0 1
z0 1
x → 0y → 0z → 0
x → 0y → 1z → 1
x → 1y → 0z → 1
x → 1y → 1z → 0
Equation vertices:
000 010 100 110001 011 101 111
good assignments
Equation 0-Gadgetx + y + z = 0 (mod 2)
Variable vertices:
x0 1
y0 1
z0 1
x → 0y → 0z → 0
x → 0y → 1z → 1
x → 1y → 0z → 1
x → 1y → 1z → 0
Equation vertices:
000 010 100 110001 011 101 111
good assignments
Equation 0-Gadgetx + y + z = 0 (mod 2)
Variable vertices:
x0 1
y0 1
z0 1
x → 0y → 0z → 0
x → 0y → 1z → 1
x → 1y → 0z → 1
x → 1y → 1z → 0
Equation vertices:
000 010 100 110001 011 101 111
good assignments
Equation 0-Gadgetx + y + z = 0 (mod 2)
Variable vertices:
x0 1
y0 1
z0 1
x → 0y → 0z → 0
x → 0y → 1z → 1
x → 1y → 0z → 1
x → 1y → 1z → 0
Equation vertices:
000 010 100 110001 011 101 111
good assignments
Equation 0-Gadgetx + y + z = 0 (mod 2)
Variable vertices:
x0 1
y0 1
z0 1
x → 0y → 0z → 0
x → 0y → 1z → 1
x → 1y → 0z → 1
x → 1y → 1z → 0
Equation vertices:
000 010 100 110001 011 101 111
good assignments
Equation 0-Gadgetx + y + z = 0 (mod 2)
Variable vertices:
x0 1
y0 1
z0 1
x → 0y → 0z → 0
x → 0y → 1z → 1
x → 1y → 0z → 1
x → 1y → 1z → 0
Equation vertices:
000 010 100 110001 011 101 111
good assignments
Equation 0-gadget, zoomed out
x0 1
y0 1
z0 1
x → 0y → 0z → 0
x → 0y → 1z → 1
x → 1y → 0z → 1
x → 1y → 1z → 0
x + y + z = 0 (mod 2)
Equation 0-gadget, zoomed out
x0 1
y0 1
z0 1
x → 0y → 0z → 0
x → 0y → 1z → 1
x → 1y → 0z → 1
x → 1y → 1z → 0
x y z
=
x + y + z = 0 (mod 2)
Equation 1-Gadgetx + y + z = 1 (mod 2) 000 010 100 110
001 011 101 111
good assignments
Equation 1-Gadgetx + y + z = 1 (mod 2) 000 010 100 110
001 011 101 111
good assignments
Variable vertices:
x0 1
y0 1
z0 1
Equation 1-Gadgetx + y + z = 1 (mod 2) 000 010 100 110
001 011 101 111
good assignments
Variable vertices:
x0 1
y0 1
z0 1
x → 0y → 0z → 1
x → 0y → 1z → 0
x → 1y → 0z → 0
x → 1y → 1z → 1
Equation vertices:
Equation 1-Gadgetx + y + z = 1 (mod 2) 000 010 100 110
001 011 101 111
good assignments
Variable vertices:
x0 1
y0 1
z0 1
x → 0y → 0z → 1
x → 0y → 1z → 0
x → 1y → 0z → 0
x → 1y → 1z → 1
Equation vertices:
Equation 1-gadget, zoomed out
x0 1
y0 1
z0 1
x → 0y → 0z → 1
x → 0y → 1z → 0
x → 1y → 0z → 0
x → 1y → 1z → 1
x + y + z = 1 (mod 2)
Equation 1-gadget, zoomed out
x0 1
y0 1
z0 1
x → 0y → 0z → 1
x → 0y → 1z → 0
x → 1y → 0z → 0
x → 1y → 1z → 1
x + y + z = 1 (mod 2)
x y z
=
graph: 3XOR instance → Graph
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
graph: 3XOR instance → Graph
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
3XOR instance
Eq 1: x1 + x2 + x3 = 0 (mod 2)
Eq 2: x1 + x4 + xn = 1 (mod 2)
…
…
Eq m: x7 + x11 + xn = 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
The reduction• Assume graph:3XOR instances → graphs
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 1 (mod 2)
…
x1 + x3 + x8 = 1 (mod 2)
3XOR instance I
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn = 0 (mod 2)
…
x1 + x3 + x8 = 0 (mod 2)
instance sat(I)
• G := graph(I)• H := graph(sat(I))Output (G, H)
Zoomed-out picture
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
H
Need to show
(reduction)
Almost-satisfiable3XOR instance I
Almost-isomorphicgraphs (G, H)
Random3XOR instance I
Far-from-isomorphicgraphs (G, H)(w.h.p.)
Need to show
(reduction)
Almost-satisfiable3XOR instance I
Almost-isomorphicgraphs (G, H)
Random3XOR instance I
Far-from-isomorphicgraphs (G, H)(w.h.p.)
Completeness:
Completeness
• Almost-satisfiable 3XOR instance I
Completeness
• Satisfiable 3XOR instance I
Completeness
• Satisfiable 3XOR instance I• Let f:{xi} → {0, 1} be a satisfying assignment
Completeness
• Satisfiable 3XOR instance I• Let f:{xi} → {0, 1} be a satisfying assignment• We’ll use f to construct an isomorphism π
between G and H
Completeness
• Satisfiable 3XOR instance I• Let f:{xi} → {0, 1} be a satisfying assignment• We’ll use f to construct an isomorphism π
between G and H• What should π look like?
Constructing π
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
f:{xi} → {0, 1} a satisfying assignment
01
01
Constructing π
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
f:{xi} → {0, 1} a satisfying assignment
If f(x1) = 0, π maps 0 vertex to 0 and 1
vertex to 1
01
01
Constructing π
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
f:{xi} → {0, 1} a satisfying assignment
If f(x2) = 1, π swaps the 0and the 1 vertices
Constructing π
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
f:{xi} → {0, 1} a satisfying assignment
If f(x3) = 1, π swaps the 0and the 1 vertices
Constructing π
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
f:{xi} → {0, 1} a satisfying assignment
?
Constructing π
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
f:{xi} → {0, 1} a satisfying assignment
?Fact:
• For every good even assignment, the 0-gadget has an isomorphism with the 0-gadget• For every good odd assignment, the 1-gadget has an isomorphism with the 0-gadget
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π only swaps the z vertices
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π only swaps the z vertices
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π only swaps the z vertices
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π only swaps the z vertices
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π only swaps the z vertices
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Gadget Isomorphism
(0,0,1) (0,1,0) (1,0,0) (1,1,1) (0,0,0) (0,1,1) (1,0,1) (1,1,0)
x0 1
y0 1
z0 1
x0 1
y0 1
z0 1
π only swaps the z vertices
000 010 100 110001 011 101 111
good assignments
x+y+z = 1 (mod 2) x+y+z = 0 (mod 2)
Constructing π
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
f:{xi} → {0, 1} a satisfying assignment
• Define π to be the appropriate isomorphism for each equation.• This π is an isomorphism between G and H.
Constructing π
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
f:{xi} → {0, 1} a satisfying assignment
• Define π to be the appropriate isomorphism for each equation.• This π is an isomorphism between G and H. ✔
Need to show
(reduction)
Almost-satisfiable3XOR instance I
Almost-isomorphicgraphs (G, H)
Random3XOR instance I
Far-from-isomorphicgraphs (G, H)(w.h.p.)
(take my word for this … almost)
✔Soundness:
Need to show
Random3XOR instance I
Far-from-isomorphicgraphs (G, H)(w.h.p.)
Almost-satisfiable3XOR instance I
Almost-isomorphicgraphs (G, H)
G and H are almost-isomorphic a (1-⇒ ε)-isomorphism π
• What must be true about π?
(w.h.p.)
A possible π?
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
H
A possible π?
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
Hπ
A possible π?
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
Hπ
A possible π?
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
Hπ
A possible π?
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
Hπ
A possible π?
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
HπTake my word for this:If π is a (1-ε)-isomorphism, then none of these can happen (often).
Green blobs map to green blobs
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
π
G H
Green blobs map to green blobs
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
π
G H
Green blobs map to green blobs
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
π
G H
Blue blobs map to blue blobs
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xnπ
G H
Blue blobs map to blue blobs
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xnπ
G H
Blue blobs map to blue blobs
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
πG H
A dream scenario
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G1
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G2
π
G1 G2
A dream scenario
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G1
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G2
π
Trust me on this:If π looks like this, then the rest of the proof goes through.
G1 G2
A dream scenario
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G1
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G2
π
Trust me on this:If π looks like this, then the rest of the proof goes through.
G1 G2When does this fail?
When does this fail?• Fails when equation
graph exhibits a lot of symmetry.
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
When does this fail?• Fails when equation
graph exhibits a lot of symmetry.
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
e.g.:
When does this fail?• Fails when equation
graph exhibits a lot of symmetry.
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
e.g.:
What do G and H look like?
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
G H
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
Too much symmetry
Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…Eq1 Eq2 Eq3
x1 x2 x3 x4 x5 x6…
…
Hπ could just shift everything over by one
This is not what we wanted!
Why could we do this?• The equation graph
had a lot of symmetry.
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
When does this fail?• The equation graph
had a lot of symmetry.
• But this graph was chosen randomly!
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
When does this fail?• The equation graph
had a lot of symmetry.
• But this graph was chosen randomly!
• Maybe random graphs usually have very little symmetry?
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
When does this fail?• The equation graph
had a lot of symmetry.
• But this graph was chosen randomly!
• Maybe random graphs usually have very little symmetry?
• If so, then we usually get our dream scenario.
x1x2
x3
x4
x5
x6x7
x8
xn
x9
x10
…
A dream scenario
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
π
G H
A dream scenario
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G1
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G2
π
Trust me on this:If π looks like this, then the rest of the proof goes through.
A dream scenario
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G1
x1…
Eq1 Eq2 Eqm
…
x2 x3 xn
G2
π
Trust me on this:If π looks like this, then the rest of the proof goes through.
✔
Robust asymmetryof random graphs
Symmetric graphs
A symmetric graphis one in which you can rearrange the vertices
and get back the same graph.
Symmetric graphs
A symmetric graphis one in which you can rearrange the vertices
and get back the same graph.
e.g.
Symmetric graphs
A symmetric graphis one in which you can rearrange the vertices
and get back the same graph.
e.g. An asymmetric graph:
Symmetric graphs (formally)
A symmetric graphis one with a nontrivial automorphism.
Symmetric graphs (formally)
A symmetric graphis one with a nontrivial automorphism.
A permutation π on V(G) is an automorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(G)
Symmetric graphs (formally)
A symmetric graphis one with a nontrivial automorphism.
A permutation π on V(G) is an automorphism if
(u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(G)
Fact: The (trivial) identity permutation π(v) = vis always an automorphism.
Random graphs are asymmetric
• G(n, p) is asymmetric with high probability when . [Erdős and Rényi 63]ln n
n≤ p ≤ 1 – ln n
n
Random graphs are asymmetric
• G(n, p) is asymmetric with high probability when . [Erdős and Rényi 63]
• Random d-regular graphs are asymmetric w.h.p. when 3 ≤ d ≤ n – 4.
ln nn
≤ p ≤ 1 – ln nn
Random graphs are asymmetric
• G(n, p) is asymmetric with high probability when . [Erdős and Rényi 63]
• Random d-regular graphs are asymmetric w.h.p. when 3 ≤ d ≤ n – 4.
• What about (hyper-)graphs with m edges?
ln nn
≤ p ≤ 1 – ln nn
Approximate automorphisms
Pr[(π(u), π(v)) ∈ E(G)] = α(u, v) E(G)
A permutation π on V(G) is an α-automorphism if
~
Approximate automorphisms
Pr[(π(u), π(v)) ∈ E(G)] = α(u, v) E(G)
A permutation π on V(G) is an α-automorphism if
~
Does G have a good α-automorphism?Try 1:
Approximate automorphisms
Pr[(π(u), π(v)) ∈ E(G)] = α(u, v) E(G)
A permutation π on V(G) is an α-automorphism if
~
Does G have a good α-automorphism?every graph has a 1-automorphism (identity permutation)
Try 1:
Approximate automorphisms
Pr[(π(u), π(v)) ∈ E(G)] = α(u, v) E(G)
A permutation π on V(G) is an α-automorphism if
~
Does G have a good α-automorphism?every graph has a 1-automorphism (identity permutation)
Ignoring the identity permutation, does G have a good α-automorphism?
Try 1:
Try 2:
✗
Approximate automorphisms
Pr[(π(u), π(v)) ∈ E(G)] = α(u, v) E(G)
A permutation π on V(G) is an α-automorphism if
~
Does G have a good α-automorphism?every graph has a 1-automorphism (identity permutation)
Ignoring the identity permutation, does G have a good α-automorphism?
Try 1:
Try 2:
✗every graph has a .99999-automorphism:
π(1) = 2π(2) = 1π(3) = 3π(4) = 4π(5) = 5
π(6) = 6π(7) = 7π(8) = 8 …π(n) = n
Approximate automorphisms
Pr[(π(u), π(v)) ∈ E(G)] = α(u, v) E(G)
A permutation π on V(G) is an α-automorphism if
~
Does G have a good α-automorphism?every graph has a 1-automorphism (identity permutation)
Ignoring the identity permutation, does G have a good α-automorphism?
Try 1:
Try 2:
✗every graph has a .99999-automorphism:
Does G have a good α-automorphism which is far from the identity??
Try 3:
✗π(1) = 2π(2) = 1π(3) = 3π(4) = 4π(5) = 5
π(6) = 6π(7) = 7π(8) = 8 …π(n) = n
Random graphs arerobustly asymmetric
Let G be a random n-vertex m-edge graph.Then WHP, any (1-ε)-automorphism for G is
O(ε)-close to the identity, for any large enough ε.
Thm:
Random graphs arerobustly asymmetric
Let G be a random n-vertex m-edge graph.Then WHP, any (1-ε)-automorphism for G is
O(ε)-close to the identity, for any large enough ε.
Some restrictions:
• C*n ≤ m ≤
• ε ≥ ε0
Cn2
Also works for hypergraphs.
Thm:
Q.E.D.
Open Problems
Can we explicitly constructrobustly asymmetric graphs?
• Currently, we can only generate robustly asymmetric graphs randomly.
Can we explicitly constructrobustly asymmetric graphs?
• Currently, we can only generate robustly asymmetric graphs randomly.
• An explicit construction would prove NP-hardness of robust Graph Isomorphism.
Can we explicitly constructrobustly asymmetric graphs?
• Currently, we can only generate robustly asymmetric graphs randomly.
• An explicit construction would prove NP-hardness of robust Graph Isomorphism.
• We don’t really have any great candidates yet…
Improving hardness for approximating GISO
PCP Theorem for GISO
There exists a constant ε0 such that:For all ε > 0, no poly-time algorithm can distinguish between:• (1-ε)-isomorphic graphs G and H• (1-ε0)-isomorphic graphs G and H
Our theorem:
PCP Theorem for GISO
For all ε > 0, no poly-time algorithm can distinguish between:• (1-ε)-isomorphic graphs G and H• .99999…9999-isomorphic graphs G and H
Our theorem:
For all ε > 0, it is NP-hard to distinguish between:• satisfiable 3Sat instance • .99999…9999-satisfiable 3Sat instance
PCP theorem:
A historical parallel?
Given 3Sat instance, can’t tell if it’s:• fully satisfiable• .999…99-satisfiable
Given two graphs, can’t tell if they’re:• nearly isomorphic• .999…99-isomorphic
A historical parallel?
Given 3Sat instance, can’t tell if it’s:• fully satisfiable• .999…99-satisfiable
Parallel repetition [Raz 1995]
Given two graphs, can’t tell if they’re:• nearly isomorphic• .999…99-isomorphic
A historical parallel?
Given 3Sat instance, can’t tell if it’s:• fully satisfiable• .999…99-satisfiable
Given 3Sat instance, can’t tell if it’s:• fully satisfiable• ~7/8-satisfiable
Parallel repetition [Raz 1995]
Given two graphs, can’t tell if they’re:• nearly isomorphic• .999…99-isomorphic
A historical parallel?
Given 3Sat instance, can’t tell if it’s:• fully satisfiable• .999…99-satisfiable
Given 3Sat instance, can’t tell if it’s:• fully satisfiable• ~7/8-satisfiable
Parallel repetition & Long code reduction [Raz 1995, Håstad 2001]
Given two graphs, can’t tell if they’re:• nearly isomorphic• .999…99-isomorphic
Parallel repetition for graphs?
???
An attempt: tensor product
• Given G = (V, E), G⊗G is graph with vertex set V×V and edge set
• Known that if G and H are not isomorphic, then G⊗G and H⊗H are not isomorphic. (under some mild conditions)
• If G and H are not (1-ε) isomorphic, are G⊗G and H⊗H not (1-ε)2 isomorphic?
((u1, u2), (v1, v2)) ∈ E(G⊗G) ⇔ (u1, v1) ∈ E and (u2, v2) ∈ E
thanks!