Presentation is loading. Please wait.

Presentation is loading. Please wait.

Hardness of Robust Graph Isomorphism, Lasserre Gaps, and Asymmetry of Random Graphs Ryan O’Donnell (CMU) John Wright (CMU) Chenggang Wu (Tsinghua) Yuan.

Similar presentations


Presentation on theme: "Hardness of Robust Graph Isomorphism, Lasserre Gaps, and Asymmetry of Random Graphs Ryan O’Donnell (CMU) John Wright (CMU) Chenggang Wu (Tsinghua) Yuan."— Presentation transcript:

1 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)

2 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)

3 Motivating Example Yesterday’s Facebook graph Yesterday’s Facebook graph Graph Isomorphism algorithm A

4 Motivating Example Yesterday’s Facebook graph Yesterday’s Facebook graph Graph Isomorphism algorithm A

5 Motivating Example Yesterday’s Facebook graph Yesterday’s Facebook graph Graph Isomorphism algorithm A should: output “YES, same graph” unscramble graph #2

6 Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A

7 Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A

8 Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A

9 Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A

10 Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A will: output “NO, not isomorphic” terminate

11 Motivating Example Yesterday’s Facebook graph Today’s Facebook graph But these graphs are almost isomorphic! can we detect this? can we unscramble graph #2?

12 Robust Graph Isomorphism Given two “almost isomorphic” graphs, find the “best almost-isomorphism” between them (or something close to it)

13 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)

14 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)

15 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)

16 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)

17 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)

18 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)

19 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)

20 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)

21 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)

22 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)

23 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)|)

24 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)|)

25 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)|)

26 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)|)

27 π 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)|)

28 π 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)|)

29 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)|)

30 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)|)

31 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)|)

32 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)|)

33 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)|)

34 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)|)

35 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)|)

36 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)|)

37 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)|)

38 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)|)

39 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)|)

40 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)|)

41 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)|)

42 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)|)

43 π 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)|)

44 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 α-isomorphic if they have a β-isomorphism, and β ≥ α. (assuming |E(G)| = |E(H)|)

45 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”

46 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?

47 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

48 GISO Hardness Famously not known to be in P or NP-complete Evidence that it’s not NP-complete What about robust GISO?

49 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)

50 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)

51 Algorithms for GISO

52 GISO Algorithms Algorithm Runtime Brute force Weisfeiler-Lehman (WL) algorithm [Babai Luks 83] O(n!) ≈ O(2 n log n ) exp(O(n log n)) exp(O(n log n) 1/2 )

53 WL k algorithm Standard heuristic for GISO Larger k, more powerful. Runs in time n k + O(1). By [Atserias and Maneva 2013], equivalent to something familiar: WL k Level-(k+1) Sherali-Adams LP for GISO Level-k Sherali-Adams LP for GISO WL k-1 Level-(k-1) Sherali-Adams LP for GISO …

54 WL k /Level-k Sherali-Adams LP “Super LP” Once speculated that WL k 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”?

55 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]

56 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)

57 Our proof Assume Feige’s Random 3XOR Hypothesis. Then there is no algorithm for Robust GISO. Thm:

58 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}

59 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 110 001 011 101 111 xi ∈ {0, 1}

60 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 110 001 011 101 111 xi ∈ {0, 1}

61 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}

62 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}

63 Our proof By a reduction from (a variant of) 3XOR (reduction) Almost-satisfiable 3XOR instance I Almost-isomorphic graphs (G, H) Far-from-satisfiable 3XOR instance I Far-from-isomorphic graphs (G, H)

64 Our proof By a reduction from (a variant of) 3XOR Almost-satisfiable 3XOR instance I Far-from-satisfiable 3XOR instance I Almost-isomorphic graphs (G, H) Far-from-isomorphic graphs (G, H) (reduction) ✔ ✗ (only works for most far-from-satisfiable 3XOR instances)

65 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3

66 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2)

67 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2)

68 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2) …

69 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2) … x9 + x10 + xn = ? (mod 2)

70 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2) … x9 + x10 + xn = ? (mod 2)

71 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2) … x9 + x10 + xn = ? (mod 2)

72 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = 0 (mod 2) x3 + x5 + x7 = 1 (mod 2) … x9 + x10 + xn = 1 (mod 2)

73 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 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.

74 Feige’s R3XOR Hypothesis No poly-time algorithm can distinguish between: an almost-satisfiable 3XOR instance a random 3XOR instance

75 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

76 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.

77 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 2 O(n/log(n)) [Blum, Kalai, Wasserman 2003]

78 Our proof Assume Feige’s R3XOR Hypothesis (reduction) Almost-satisfiable 3XOR instance I Almost-isomorphic graphs (G, H) Far-from-satisfiable 3XOR instance I Far-from-isomorphic graphs (G, H)

79 Our proof Assume Feige’s R3XOR Hypothesis (reduction) Almost-satisfiable 3XOR instance I Almost-isomorphic graphs (G, H) Random 3XOR instance I Far-from-isomorphic graphs (G, H)

80 Our proof Assume Feige’s R3XOR Hypothesis (reduction) Almost-satisfiable 3XOR instance I Almost-isomorphic graphs (G, H) Random 3XOR instance I Far-from-isomorphic graphs (G, H) (w.h.p.)

81 The reduction Assume graph:3XOR instances → graphs

82 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

83 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)

84 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)

85 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)

86 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)

87 Equation 0-Gadget x + y + z = 0 (mod 2)

88 Equation 0-Gadget x + y + z = 0 (mod 2) 000 010 100 110 001 011 101 111 good assignments

89 Equation 0-Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 000 010 100 110 001 011 101 111 good assignments

90 Equation 0-Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

91 Equation 0-Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

92 Equation 0-Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

93 Equation 0-Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

94 Equation 0-Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

95 Equation 0-Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

96 Equation 0-Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

97 Equation 0-gadget, zoomed out x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 x + y + z = 0 (mod 2)

98 Equation 0-gadget, zoomed out x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 x y z = x + y + z = 0 (mod 2)

99 Equation 1-Gadget x + y + z = 1 (mod 2) 000 010 100 110 001 011 101 111 good assignments

100 Equation 1-Gadget x + y + z = 1 (mod 2) 000 010 100 110 001 011 101 111 good assignments Variable vertices: x 01 y 01 z 01

101 Equation 1-Gadget x + y + z = 1 (mod 2) 000 010 100 110 001 011 101 111 good assignments Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 1 x → 0 y → 1 z → 0 x → 1 y → 0 z → 0 x → 1 y → 1 z → 1 Equation vertices:

102 Equation 1-Gadget x + y + z = 1 (mod 2) 000 010 100 110 001 011 101 111 good assignments Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 1 x → 0 y → 1 z → 0 x → 1 y → 0 z → 0 x → 1 y → 1 z → 1 Equation vertices:

103 Equation 1-gadget, zoomed out x 01 y 01 z 01 x → 0 y → 0 z → 1 x → 0 y → 1 z → 0 x → 1 y → 0 z → 0 x → 1 y → 1 z → 1 x + y + z = 1 (mod 2)

104 Equation 1-gadget, zoomed out x 01 y 01 z 01 x → 0 y → 0 z → 1 x → 0 y → 1 z → 0 x → 1 y → 0 z → 0 x → 1 y → 1 z → 1 x + y + z = 1 (mod 2) x y z =

105 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)

106 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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) →

107 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

108 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

109 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

110 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

111 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

112 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

113 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

114 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

115 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

116 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

117 graph: 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

118 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)

119 Zoomed-out picture x1 … Eq1Eq2Eqm … x2x3xn G x1 … Eq1Eq2Eqm … x2x3xn H

120 Need to show (reduction) Almost-satisfiable 3XOR instance I Almost-isomorphic graphs (G, H) Random 3XOR instance I Far-from-isomorphic graphs (G, H) (w.h.p.)

121 Need to show (reduction) Almost-satisfiable 3XOR instance I Almost-isomorphic graphs (G, H) Random 3XOR instance I Far-from-isomorphic graphs (G, H) (w.h.p.) Completeness:

122 Completeness Almost-satisfiable 3XOR instance I

123 Completeness Satisfiable 3XOR instance I

124 Completeness Satisfiable 3XOR instance I Let f:{xi} → {0, 1} be a satisfying assignment

125 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

126 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?

127 Constructing π x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn f:{xi} → {0, 1} a satisfying assignment 0101 0101

128 Constructing π x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn f:{xi} → {0, 1} a satisfying assignment If f(x1) = 0, π maps 0 vertex to 0 and 1 vertex to 1 0101 0101

129 Constructing π x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn f:{xi} → {0, 1} a satisfying assignment If f(x2) = 1, π swaps the 0 and the 1 vertices

130 Constructing π x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn f:{xi} → {0, 1} a satisfying assignment If f(x3) = 1, π swaps the 0 and the 1 vertices

131 Constructing π x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn f:{xi} → {0, 1} a satisfying assignment ?

132 Constructing π x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn 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

133 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) x 01 y 01 z 01 x 01 y 01 z 01 π 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

134 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) x 01 y 01 z 01 x 01 y 01 z 01 π 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

135 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) x 01 y 01 z 01 x 01 y 01 z 01 π 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

136 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) x 01 y 01 z 01 x 01 y 01 z 01 π 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

137 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) x 01 y 01 z 01 x 01 y 01 z 01 π 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

138 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) x 01 y 01 z 01 x 01 y 01 z 01 π 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

139 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) x 01 y 01 z 01 x 01 y 01 z 01 π 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

140 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) x 01 y 01 z 01 x 01 y 01 z 01 π 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

141 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) x 01 y 01 z 01 x 01 y 01 z 01 π 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

142 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) x 01 y 01 z 01 x 01 y 01 z 01 π only swaps the z vertices 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

143 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) x 01 y 01 z 01 x 01 y 01 z 01 π only swaps the z vertices 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

144 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) x 01 y 01 z 01 x 01 y 01 z 01 π only swaps the z vertices 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

145 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) x 01 y 01 z 01 x 01 y 01 z 01 π only swaps the z vertices 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

146 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) x 01 y 01 z 01 x 01 y 01 z 01 π only swaps the z vertices 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

147 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) x 01 y 01 z 01 x 01 y 01 z 01 π only swaps the z vertices 000 010 100 110 001 011 101 111 good assignments x+y+z = 1 (mod 2)x+y+z = 0 (mod 2)

148 Constructing π x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn f:{xi} → {0, 1} a satisfying assignment Define π to be the appropriate isomorphism for each equation. This π is an isomorphism between G and H.

149 Constructing π x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn f:{xi} → {0, 1} a satisfying assignment Define π to be the appropriate isomorphism for each equation. This π is an isomorphism between G and H. ✔

150 Need to show (reduction) Almost-satisfiable 3XOR instance I Almost-isomorphic graphs (G, H) Random 3XOR instance I Far-from-isomorphic graphs (G, H) (w.h.p.) (take my word for this … almost) ✔ Soundness:

151 Need to show Random 3XOR instance I Far-from-isomorphic graphs (G, H) (w.h.p.) Almost-satisfiable 3XOR instance I Almost-isomorphic graphs (G, H) G and H are almost-isomorphic ⇒ a (1-ε)-isomorphism π What must be true about π? (w.h.p.)

152 A possible π? x1 … Eq1Eq2Eqm … x2x3xn G x1 … Eq1Eq2Eqm … x2x3xn H

153 A possible π? x1 … Eq1Eq2Eqm … x2x3xn G x1 … Eq1Eq2Eqm … x2x3xn H π

154 A possible π? x1 … Eq1Eq2Eqm … x2x3xn G x1 … Eq1Eq2Eqm … x2x3xn H π

155 A possible π? x1 … Eq1Eq2Eqm … x2x3xn G x1 … Eq1Eq2Eqm … x2x3xn H π

156 A possible π? x1 … Eq1Eq2Eqm … x2x3xn G x1 … Eq1Eq2Eqm … x2x3xn H π

157 A possible π? x1 … Eq1Eq2Eqm … x2x3xn G x1 … Eq1Eq2Eqm … x2x3xn H π Take my word for this: If π is a (1-ε)-isomorphism, then none of these can happen (often).

158 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn π GH

159 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn π GH

160 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn π GH

161 Blue blobs map to blue blobs x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn π GH

162 Blue blobs map to blue blobs x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn π GH

163 Blue blobs map to blue blobs x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn π GH

164 A dream scenario x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π G1G2

165 A dream scenario x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π Trust me on this: If π looks like this, then the rest of the proof goes through. G1G2

166 A dream scenario x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π Trust me on this: If π looks like this, then the rest of the proof goes through. G1G2 When does this fail?

167 Fails when equation graph exhibits a lot of symmetry. x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 …

168 When does this fail? Fails when equation graph exhibits a lot of symmetry. x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … e.g.:

169 When does this fail? Fails when equation graph exhibits a lot of symmetry. x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … e.g.: What do G and H look like?

170 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … GH

171 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

172 Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one Too much symmetry

173 Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

174 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

175 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

176 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

177 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

178 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

179 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

180 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

181 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

182 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

183 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

184 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one

185 Too much symmetry Eq1Eq2Eq3 x1x2x3x4x5x6 … … Eq1Eq2Eq3 x1x2x3x4x5x6 … … H π could just shift everything over by one This is not what we wanted!

186 Why could we do this? The equation graph had a lot of symmetry. x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 …

187 When does this fail? The equation graph had a lot of symmetry. But this graph was chosen randomly! x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 …

188 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? x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 …

189 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. x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 …

190 A dream scenario x1 … Eq1Eq2Eqm … x2x3xnx1 … Eq1Eq2Eqm … x2x3xn π GH

191 A dream scenario x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π Trust me on this: If π looks like this, then the rest of the proof goes through.

192 A dream scenario x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π Trust me on this: If π looks like this, then the rest of the proof goes through. ✔

193 Robust asymmetry of random graphs

194 Symmetric graphs A symmetric graph is one in which you can rearrange the vertices and get back the same graph.

195 Symmetric graphs A symmetric graph is one in which you can rearrange the vertices and get back the same graph. e.g.

196 Symmetric graphs A symmetric graph is one in which you can rearrange the vertices and get back the same graph. e.g. An asymmetric graph:

197 Symmetric graphs (formally) A symmetric graph is one with a nontrivial automorphism.

198 Symmetric graphs (formally) A symmetric graph is one with a nontrivial automorphism. A permutation π on V(G) is an automorphism if (u, v) ∈ E(G) ⇔ (π(u), π(v)) ∈ E(G)

199 Symmetric graphs (formally) A symmetric graph is 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) = v is always an automorphism.

200 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

201 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 n n ≤ p ≤ 1 – ln n n

202 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 n n ≤ p ≤ 1 – ln n n

203 Approximate automorphisms Pr[(π(u), π(v)) ∈ E(G)] = α (u, v) E(G) A permutation π on V(G) is an α-automorphism if ~

204 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:

205 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:

206 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: ✗

207 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

208 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

209 Random graphs are robustly 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:

210 Random graphs are robustly 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 C n2n2 Also works for hypergraphs. Thm:

211 Q.E.D.

212 Open Problems

213 Can we explicitly construct robustly asymmetric graphs? Currently, we can only generate robustly asymmetric graphs randomly.

214 Can we explicitly construct robustly asymmetric graphs? Currently, we can only generate robustly asymmetric graphs randomly. An explicit construction would prove NP- hardness of robust Graph Isomorphism.

215 Can we explicitly construct robustly 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…

216 Improving hardness for approximating GISO

217 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:

218 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:

219 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

220 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

221 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

222 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? ???

223 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

224

225 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … For each equation, pick variables and the offset independently and uniformly at random.

226 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … x1 + x3 + x8 = ? (mod 2) For each equation, pick variables and the offset independently and uniformly at random.

227 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … x1 + x3 + x8 = 0 (mod 2) For each equation, pick variables and the offset independently and uniformly at random.

228 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … x1 + x3 + x8 = 0 (mod 2) x2 + x4 + xn = ? (mod 2) For each equation, pick variables and the offset independently and uniformly at random.

229 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … x1 + x3 + x8 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) For each equation, pick variables and the offset independently and uniformly at random.

230 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … x1 + x3 + x8 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … For each equation, pick variables and the offset independently and uniformly at random.

231 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … x1 + x3 + x8 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = ? (mod 2) For each equation, pick variables and the offset independently and uniformly at random.

232 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … x1 + x3 + x8 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 0 (mod 2) For each equation, pick variables and the offset independently and uniformly at random.

233 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … x1 + x3 + x8 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 0 (mod 2) C*n equations For each equation, pick variables and the offset independently and uniformly at random.

234 Random 3XOR x1 x2x3x4 x5x6x7 x8xn … x1 + x3 + x8 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 0 (mod 2) C*n equations For each equation, pick variables and the offset independently and uniformly at random. For some C > 0, ~50%-satisfiable whp.

235 Step 1 – two instances x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I

236 x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 0 (mod 2) … x1 + x3 + x8 = 0 (mod 2) instance sat( I) Step 1 – two instances x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2)

237 Step 1 – two instances 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) x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2)

238 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I

239 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I x1 … x2x3xn Variable vertices

240 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I x1 … x2x3xn Variable vertices

241 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I x1 … x2x3xn Variable vertices “x1 → 0”“x1 → 1”

242 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I x1 … x2x3xn Variable vertices “x2 → 0”“x2 → 1”

243 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I x1 … x2x3xn Equation vertices

244 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I x1 … x2x3xn Equation vertices Eq1: Eq2: Eqm:

245 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I x1 … x2x3xn Equation vertices Eq1: Eq2: Eqm: Eq1Eq2Eqm …

246 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I Equation vertices Eq1: Eq2: Eqm: x1 01 x2 01 x3 01

247 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I Equation vertices Eq1: Eq2: Eqm: x1 01 x2 01 x3 01

248 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I Equation vertices Eq1: Eq2: Eqm: x1 01 x2 01 x3 01

249 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I Equation vertices Eq1: Eq2: Eqm: x1 01 x2 01 x3 01 x1 → 0 x2 → 0 x3 → 0 x1 → 0 x2 → 1 x3 → 1 x1 → 1 x2 → 0 x3 → 1 x1 → 1 x2 → 1 x3 → 0

250 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I Equation vertices Eq1: Eq2: Eqm: x1 01 x2 01 x3 01 x1 → 0 x2 → 0 x3 → 0 x1 → 0 x2 → 1 x3 → 1 x1 → 1 x2 → 0 x3 → 1 x1 → 1 x2 → 1 x3 → 0

251 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I Equation vertices Eq1: Eq2: Eqm: x1 01 x2 01 x3 01 x1 → 0 x2 → 0 x3 → 0 x1 → 0 x2 → 1 x3 → 1 x1 → 1 x2 → 0 x3 → 1 x1 → 1 x2 → 1 x3 → 0

252 Step 2 – generate graph for I x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I Equation vertices Eq1: Eq2: Eqm: x1 01 x2 01 x3 01 x1 → 0 x2 → 0 x3 → 0 x1 → 0 x2 → 1 x3 → 1 x1 → 1 x2 → 0 x3 → 1 x1 → 1 x2 → 1 x3 → 0

253 Step 2 – generate graph for I 010101

254 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2

255 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π

256 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π

257 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π

258 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π

259 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π

260 Green blobs map to green blobs x1 … Eq1Eq2Eqm … x2x3xn G1 x1 … Eq1Eq2Eqm … x2x3xn G2 π G1G2 x1, x2, and x3 are variables in an equation, but π(x1), π(x2), and π(x3) are not.

261 π should preserve equations

262 Other forms of approximate GISO Could define G and H to be “ε-similar” if changing ε-fraction of G’s adjacency matrix makes it isomorphic to H.

263 Other forms of approximate GISO Could define G and H to be “ε-similar” if changing ε-fraction of G’s adjacency matrix makes it isomorphic to H. – Not interesting when G, H have m = O(n) edges (they’d be O(1/n)-similar)

264 Other forms of approximate GISO Could define G and H to be “ε-similar” if changing ε-fraction of G’s adjacency matrix makes it isomorphic to H. – Not interesting when G, H have m = O(n) edges (they’d be O(1/n)-similar) – All our graphs will have m = O(n) edges.

265 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

266 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

267 Other forms of approximate GISO Could restrict G and H to be colored graphs and consider Approximate Colored GISO, i.e. red maps to red, blue maps to blue, etc. GH π

268 Other forms of approximate GISO Could restrict G and H to be colored graphs and consider Approximate Colored GISO, i.e. red maps to red, blue maps to blue, etc. GH π Thm: [Arvind et al. 2012] As hard as 2Lin(2) to approximate NP-hard to approximate to factor better than 11/12 UG-hard to approximate to factor better than.878

269 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

270 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

271 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

272 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

273 3XOR instance → Graph x1 … Eq1Eq2Eqm … x2x3xn 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 →

274 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3

275 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2)

276 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2)

277 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2) …

278 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2) … x9 + x10 + xn = ? (mod 2)

279 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2) … x9 + x10 + xn = ? (mod 2)

280 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = ? (mod 2) x3 + x5 + x7 = ? (mod 2) … x9 + x10 + xn = ? (mod 2)

281 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 x1 + x2 + x3 = 0 (mod 2) x3 + x5 + x7 = 1 (mod 2) … x9 + x10 + xn = 1 (mod 2)

282 Random 3XOR x1 x2 x3 x4 x5 x6 x7 x8 xn x9 x10 … n variables m equations (m = C * n) Of the possible sets of size 3, pick m of them ( ) n3n3 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.

283 The reduction x1 + x2 + x3 = 0 (mod 2) x2 + x4 + xn = 1 (mod 2) … x1 + x3 + x8 = 1 (mod 2) 3XOR instance I

284 The reduction 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)

285 The reduction 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)

286 The reduction 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)

287 The reduction 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) instance I → graph G instance sat( I ) → graph H Output (G, H)

288 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: Main property: This graph has a symmetry for each “good” assignment. 000 010 100 110 001 011 101 111 good assignments

289 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

290 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

291 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

292 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

293 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

294 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

295 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

296 Equation Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 01 x → 0 y → 0 z → 0 x → 0 y → 1 z → 1 x → 1 y → 0 z → 1 x → 1 y → 1 z → 0 Equation vertices: 000 010 100 110 001 011 101 111 good assignments

297 Other Equation gadget x 01 y 01 z 01 x → 0 y → 0 z → 1 x → 0 y → 1 z → 0 x → 1 y → 0 z → 0 x → 1 y → 1 z → 1 x + y + z = 1 (mod 2)


Download ppt "Hardness of Robust Graph Isomorphism, Lasserre Gaps, and Asymmetry of Random Graphs Ryan O’Donnell (CMU) John Wright (CMU) Chenggang Wu (Tsinghua) Yuan."

Similar presentations


Ads by Google