Hardness of Robust Graph Isomorphism, Lasserre Gaps, and Asymmetry of Random Graphs

Post on 22-Feb-2016

39 views 0 download

Tags:

description

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) - PowerPoint PPT Presentation

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

A possible π?

x1…

Eq1 Eq2 Eqm

x2 x3 xn

G

x1…

Eq1 Eq2 Eqm

x2 x3 xn

A possible π?

x1…

Eq1 Eq2 Eqm

x2 x3 xn

G

x1…

Eq1 Eq2 Eqm

x2 x3 xn

A possible π?

x1…

Eq1 Eq2 Eqm

x2 x3 xn

G

x1…

Eq1 Eq2 Eqm

x2 x3 xn

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!