Download presentation

Presentation is loading. Please wait.

Published byZion Towle Modified about 1 year ago

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) 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) 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) good assignments

89
Equation 0-Gadget x + y + z = 0 (mod 2) Variable vertices: x 01 y 01 z 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: 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: 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: 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: 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: 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: 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: 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) good assignments

100
Equation 1-Gadget x + y + z = 1 (mod 2) good assignments Variable vertices: x 01 y 01 z 01

101
Equation 1-Gadget x + y + z = 1 (mod 2) 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) 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

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

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

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

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google