Download presentation
Presentation is loading. Please wait.
Published byZion Towle Modified over 9 years 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) 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
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)
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.