Lasserre Gaps and Asymmetry of Random Graphs Ryan ODonnell CMU John Wright CMU Chenggang Wu Tsinghua Yuan Zhou CMU Hardness of Robust Graph Isomorphism Lasserre Gaps ID: 815347
Download The PPT/PDF document "Hardness of Robust Graph Isomorphism," is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
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)
Slide2Hardness of Robust Graph Isomorphism,
Lasserre Gaps,and Asymmetry of Random Graphs
Ryan O’Donnell (CMU)
John Wright (CMU)
Chenggang
Wu (
Tsinghua
)
Yuan Zhou (CMU)
Slide3Motivating ExampleYesterday’s
Facebook
graph
Yesterday’s
Facebook
graph
Graph Isomorphism algorithm
A
Slide4Motivating ExampleYesterday’s
Facebook
graph
Yesterday’s
Facebook
graph
Graph Isomorphism algorithm
A
Slide5Motivating ExampleYesterday’s
Facebook
graph
Yesterday’s
Facebook
graph
Graph Isomorphism algorithm
A
should:
output “YES,
same graph
”
unscramble
graph #2
Slide6Motivating ExampleYesterday’s
Facebook
graph
Today
’s
Facebook
graph
Graph Isomorphism algorithm
A
Slide7Motivating ExampleYesterday’s
Facebook
graph
Today
’s
Facebook
graph
Graph Isomorphism algorithm
A
Slide8Motivating ExampleYesterday’s
Facebook
graph
Today
’s
Facebook
graph
Graph Isomorphism algorithm
A
Slide9Motivating ExampleYesterday’s
Facebook
graph
Today
’s
Facebook
graph
Graph Isomorphism algorithm
A
Slide10Motivating ExampleYesterday’s
Facebook
graph
Today
’s
Facebook
graph
Graph Isomorphism algorithm
A
will:
output “
NO, not isomorphic
”
terminate
Slide11Motivating ExampleYesterday’s
Facebook
graph
Today
’s
Facebook
graph
But these graphs are
almost
isomorphic!
can we detect this?
can we unscramble graph #2?
Slide12Robust Graph IsomorphismGiven two “
almost isomorphic
” graphs,find the “best almost-isomorphism” between them(or something close to it)
Slide13G = (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)
Slide14G = (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)
Slide15G = (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)
Slide16G = (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)
Slide17G = (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)
Slide18G = (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)
Slide19G = (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)
Slide20G = (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)
Slide21G = (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)
Slide22Isomorphisms
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)
Slide23Isomorphisms, 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)|)
Slide24Isomorphisms, 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)|)
Slide25Isomorphisms, 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)|)
Slide26Approximate 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)|)
Slide27π
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)|)
Slide28π
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)|)
Slide29Approximate 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)|)
Slide30Approximate 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)|)
Slide31Approximate 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)|)
Slide32Approximate 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)|)
Slide33Approximate 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)|)
Slide34Approximate 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)|)
Slide35Approximate 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)|)
Slide36Approximate 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)|)
Slide37Approximate 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)|)
Slide38Approximate 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)|)
Slide39Approximate 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)|)
Slide40Approximate 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)|)
Slide41Approximate 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)|)
Slide42Approximate 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)|)
Slide43π
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)|)
Slide44Approximate 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)|)
Slide45Approximate 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”
Slide46Robust GISOGiven 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 [WYZ
V 2013] gives a robust GISO algorithm if G and H are trees which other classes of graphs have robust GISO algorithms?
Slide47Approximate GISO, a brief history[
Arora
et al. 2002] give a PTAS for this problem in the case of dense graphsOur 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
Slide48GISO HardnessFamously
not known
to be in P or NP-complete
Evidence that it’s
not
NP
-complete
Wha
t about robust GISO?
Slide49Our 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)
Slide50Our (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)
Slide51Algorithms for GISO
Slide52GISO 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)
Slide53WLk algorithm
Standard heuristic for GISO
Larger k, more powerful. Runs in time nk + O(1).
By
[
Atserias
and
Maneva
2013], equivalent to something familiar:
WLkLevel-(
k+1) Sherali-Adams LP for GISO
Level-k Sherali-Adams LP for GISO
WLk-1
Level-(k-1) Sherali-Adams LP for GISO
…
Slide54WLk/Level-k Sherali
-Adams LP
“Super LP”Once speculated that WLk
solves GISO with
k
=
O(log
n)Some graphs require k
= Ω(n) rounds [Cai
, Fürer, Immerman
1992]How do SDPs do? What about the Lasserre/SOS “Super-Duper SDP”?
Slide55Cai, 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]
Slide56Our result
There exists a constant
ε0
such that
Ω(n
) levels of the
Lasserre
/SOS hierarchyare needed to distinguish:
Thm:
YES: G and H are isomorphic NO: G and H are (1-ε0)-isomorphic
(constantly far apart)
Slide57Our proof
Assume
Feige’s Random 3XOR Hypothesis.
Then there is no algorithm for Robust GISO.
Thm
:
Slide58Our proofBy a reduction from
(a variant of)
3XORInstance
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}
Slide59Our proofBy a reduction from
(a variant of)
3XORInstance
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}
Slide60Our proofBy a reduction from
(a variant of)
3XORInstance
I
x1 + x2 + x3 = 0 (mod 2)
x10 + x15 + x1 = 1 (mod 2)
x4 + x5 + x12 = 1 (mod 2)
…
x7 + x8 + x9 = 0 (mod 2)
000
010 100
110001
011 101 111
xi
∈ {0, 1}
Slide61Our proofBy a reduction from
(a variant of)
3XORInstance
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 (½ + ε
)-satisfiablexi ∈ {0, 1}
Slide62Our proofBy a reduction from
(a variant of)
3XORInstance
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
-satisfiablexi
∈ {0, 1}
Slide63Our proofBy a reduction from
(a variant of)
3XOR
(reduction)
Almost
-
satisfiable
3XOR instance
I
Almost
-isomorphic
graphs (G, H)Far-from
-satisfiable3XOR instance I
Far-from-isomorphicgraphs (G, H)
Slide64Our proofBy a reduction from
(a variant of)
3XORAlmost
-
satisfiable
3XOR instance
I
Far-from
-satisfiable3XOR instance I
Almost-isomorphic
graphs (G, H)Far-from-isomorphic
graphs (G, H)
(reduction)
✔
✗
(only works for
most far-from-
satisfiable 3XOR instances)
Slide65Random 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
( )
n
3
Slide66Random 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
( )
n
3
x1 + x2 + x3 = ?
(mod 2)
Slide67Random 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
( )
n
3
x1 + x2 + x3 = ?
(mod 2)x3 + x5 + x7 = ? (mod 2)
Slide68Random 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
( )
n
3
x1 + x2 + x3 = ?
(mod 2)x3 + x5 + x7 = ? (mod 2)…
Slide69Random 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
( )
n
3
x1 + x2 + x3 = ?
(mod 2)x3 + x5 + x7 = ? (mod 2)…
x9 + x10 + xn = ? (mod 2)
Slide70Random 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
( )
n
3
x1 + x2 + x3 = ?
(mod 2)x3 + x5 + x7 = ? (mod 2)…
x9 + x10 + xn = ? (mod 2)
Slide71Random 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
( )
n
3
x1 + x2 + x3 =
? (mod 2)x3 + x5 + x7 =
? (mod 2)…x9 + x10 + xn =
? (mod 2)
Slide72Random 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
( )
n
3
x1 + x2 + x3 =
0 (mod 2)x3 + x5 + x7 = 1 (mod 2)
…x9 + x10 + xn = 1 (mod 2)
Slide73Random 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
( )
n
3
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.
Slide74Feige’s R3XOR Hypothesis
No
poly-time algorithm can distinguish between:
an
almost-
satisfiable
3XOR instance
a
random 3XOR instance
Slide75Feige’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
Slide76Feige’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.
Slide77Feige’s R3XOR Hypothesis
No
poly-time algorithm can distinguish between:
an
almost-
satisfiable
3XOR instance
a
random 3XOR instance
Well-known complexity assumption Variants of this hypothesis used as basis for cryptosystems, hardness of approximation results, etc.
Solvable in time 2O(n/log(n)) [Blum, Kalai, Wasserman 2003]
Slide78Our proofAssume Feige’s
R3XOR Hypothesis
(reduction)
Almost
-
satisfiable
3XOR instance
I
Almost
-isomorphic
graphs (G, H)
Far-from-satisfiable
3XOR instance I
Far-from-isomorphicgraphs (G, H)
Slide79Our proofAssume Feige’s
R3XOR Hypothesis
(reduction)
Almost
-
satisfiable
3XOR instance
I
Almost
-isomorphic
graphs (G, H)
Random3XOR instance
IFar-from-isomorphic
graphs (G, H)
Slide80Our proofAssume Feige’s
R3XOR Hypothesis
(reduction)
Almost
-
satisfiable
3XOR instance
I
Almost
-isomorphic
graphs (G, H)
Random3XOR instance
IFar-from-isomorphic
graphs (G, H)(w.h.p.)
Slide81The reductionAssume graph:3XOR instances
→
graphs
Slide82The reductionAssume 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
Slide83The reductionAssume 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)
Slide84The reductionAssume 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)
Slide85The reductionAssume 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)
Slide86The reductionAssume 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)
Slide87Equation 0-Gadgetx
+
y + z = 0 (mod 2)
Slide88Equation 0-Gadgetx
+
y + z = 0 (mod 2)000
010
100
110
001 011 101
111good assignments
Slide89Equation 0-Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
000
010
100
110
001
011 101
111
good assignments
Slide90Equation 0-Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000 010
100 110001 011 101
111good assignments
Slide91Equation 0-Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110001 011 101 111
good assignments
Slide92Equation 0-Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110001 011 101 111
good assignments
Slide93Equation 0-Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110001 011 101 111
good assignments
Slide94Equation 0-Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110001 011 101 111
good assignments
Slide95Equation 0-Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110
001
011 101
111
good assignments
Slide96Equation 0-Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000 010
100 110001 011 101
111good assignments
Slide97Equation 0-gadget, zoomed out
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z →
1
x
→ 1y → 1z
→ 0
x
+
y
+
z
= 0 (mod 2)
Slide98Equation 0-gadget, zoomed out
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z →
1
x
→ 1y → 1z
→ 0
x
y
z
=
x
+
y
+
z
= 0 (mod 2)
Slide99Equation 1-Gadgetx
+
y + z = 1 (mod 2)
000
010 100
110
001
011 101 111
good assignments
Slide100Equation 1-Gadgetx
+
y + z = 1 (mod 2)
000
010 100
110
001
011 101 111
good assignments
Variable vertices:
x
0
1
y
0
1
z
0
1
Slide101Equation 1-Gadgetx
+
y + z = 1 (mod 2)
000
010 100
110
001
011 101 111
good assignments
Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→ 0z
→ 1
x
→ 0y → 1
z → 0
x
→ 1y →
0z → 0
x
→ 1y
→ 1z → 1
Equation vertices:
Slide102Equation 1-Gadgetx
+
y + z = 1 (mod 2)
000
010 100
110
001
011 101 111
good assignments
Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→ 0z
→ 1
x
→ 0y → 1
z → 0
x
→ 1y →
0z → 0
x
→ 1y
→ 1z → 1
Equation vertices:
Slide103Equation 1-gadget, zoomed out
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 1
x
→ 0
y → 1z → 0
x
→
1y → 0z →
0
x
→ 1y → 1z
→ 1
x
+
y
+
z
= 1 (mod 2)
Slide104Equation 1-gadget, zoomed out
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 1
x
→ 0
y → 1z →
0
x →
1y → 0z
→ 0
x
→ 1y → 1z
→ 1
x
+
y
+
z
= 1 (mod 2)
x
y
z
=
Slide105graph: 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)
Slide106graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
→
Slide107graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide108graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide109graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide110graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide111graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide112graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide113graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide114graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide115graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide116graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide117graph: 3XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide118The reductionAssume 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)
Slide119Zoomed-out picture
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
H
Slide120Need to show
(reduction)
Almost
-
satisfiable
3XOR instance
I
Almost
-isomorphic
graphs (G, H)
Random3XOR instance
IFar-from
-isomorphicgraphs (G, H)
(w.h.p.)
Slide121Need to show
(reduction)
Almost
-
satisfiable
3XOR instance
I
Almost
-isomorphic
graphs (G, H)
Random3XOR instance
IFar-from
-isomorphicgraphs (G, H)
(w.h.p.)
Completeness:
Slide122CompletenessAlmost-satisfiable
3XOR instance
I
Slide123CompletenessSatisfiable
3XOR instance
I
Slide124CompletenessSatisfiable
3XOR instance
ILet f:{xi} → {0, 1} be a satisfying assignment
Slide125CompletenessSatisfiable
3XOR instance
ILet f:{xi} → {0, 1} be a satisfying assignment
We’ll use
f
to construct an isomorphism
π
between G and H
Slide126CompletenessSatisfiable
3XOR instance
ILet f:{xi} → {0, 1} be a satisfying assignment
We’ll use
f
to construct an isomorphism
π
between G and HWhat should
π look like?
Slide127Constructing π
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
f:{xi
}
→
{0, 1} a
satisfying
assignment
0
1
0
1
Slide128Constructing π
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
f:{xi
}
→
{0, 1} a
satisfying
assignment
If f(x1) = 0,
π
maps 0 vertex to 0 and 1 vertex to 1
0
1
0
1
Slide129Constructing π
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
f:{xi
}
→
{0, 1} a
satisfying
assignment
If f(x2) = 1,
π
swaps the 0
and the 1 vertices
Slide130Constructing π
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
f:{xi
}
→
{0, 1} a
satisfying
assignment
If f(x3) = 1,
π
swaps the 0
and the 1 vertices
Slide131Constructing π
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
f:{xi
}
→
{0, 1} a
satisfying
assignment
?
Slide132Constructing π
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
f:{xi
}
→
{0, 1} a
satisfying
assignment
?
Fact:
For every good
even
assignment, the 0-gadget has an isomorphism with the 0-gadget
For every good
odd
assignment, the 1-gadget has an isomorphism with the 0-gadget
Slide133Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
000
010 100
110
001
011 101
111
good assignments
x+y+z
= 1 (mod 2)
x+y+z
= 0 (mod 2)
Slide134Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
000
010 100
110
001
011 101
111
good assignments
x+y+z
= 1 (mod 2)
x+y+z
= 0 (mod 2)
Slide135Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
000
010 100
110
001
011 101
111
good assignments
x+y+z
= 1 (mod 2)
x+y+z
= 0 (mod 2)
Slide136Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
000
010 100
110
001
011 101
111
good assignments
x+y+z
= 1 (mod 2)
x+y+z
= 0 (mod 2)
Slide137Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
000
010 100
110
001
011 101
111
good assignments
x+y+z
= 1 (mod 2)
x+y+z
= 0 (mod 2)
Slide138Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
000
010 100
110
001
011 101
111
good assignments
x+y+z
= 1 (mod 2)
x+y+z
= 0 (mod 2)
Slide139Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
000
010 100
110
001
011 101
111
good assignments
x+y+z
= 1 (mod 2)
x+y+z
= 0 (mod 2)
Slide140Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
000
010 100
110
001
011 101
111
good assignments
x+y+z
= 1 (mod 2)
x+y+z
= 0 (mod 2)
Slide141Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
000
010 100
110
001
011 101
111
good assignments
x+y+z
= 1 (mod 2)
x+y+z
= 0 (mod 2)
Slide142Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
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)
Slide143Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
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)
Slide144Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
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)
Slide145Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
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)
Slide146Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
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)
Slide147Gadget 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
0
1
y
0
1
z
0
1
x
0
1
y
0
1
z
0
1
π
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)
Slide148Constructing π
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
f:{xi
}
→
{0, 1} a
satisfying
assignment
Define
π
to be the appropriate isomorphism for each equation.
This
π
is an isomorphism between G and H.
Slide149Constructing π
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
f:{xi
}
→
{0, 1} a
satisfying
assignment
Define
π
to be the appropriate isomorphism for each equation.
This
π
is an isomorphism between G and H.
✔
Slide150Need to show
(reduction)
Almost
-
satisfiable
3XOR instance
I
Almost
-isomorphic
graphs (G, H)
Random3XOR instance
IFar-from
-isomorphicgraphs (G, H)
(w.h.p.)
(take my word for this … almost)
✔
Soundness:
Slide151Need to show
Random
3XOR instance
I
Far-from
-isomorphic
graphs (G, H)
(
w.h.p.)
Almost
-satisfiable
3XOR instance I
Almost-isomorphicgraphs (G, H)
G and H are almost-isomorphic ⇒ a (1-ε)-isomorphism
π What must be true about
π?(
w.h.p.)
Slide152A possible π?
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
H
Slide153A possible π?
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
H
π
Slide154A possible π?
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
H
π
Slide155A possible π?
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
H
π
Slide156A possible π?
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
H
π
Slide157A possible π?
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
H
π
Take my word for this:
If
π
is a (1-
ε
)-isomorphism, then none of these can happen
(often)
.
Slide158Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
π
G
H
Slide159Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
π
G
H
Slide160Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
π
G
H
Slide161Blue blobs map to blue blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
π
G
H
Slide162Blue blobs map to blue blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
π
G
H
Slide163Blue blobs map to blue blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
π
G
H
Slide164A dream scenario
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
G1
G2
Slide165A dream scenario
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
Trust me on this:
If
π
looks like this, then the rest of the proof goes through.
G1
G2
Slide166A dream scenario
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
Trust me on this:
If
π
looks like this, then the rest of the proof goes through.
G1
G2
When does this fail?
Slide167When does this fail?Fails when equation graph exhibits a lot of symmetry.
x1
x2
x3
x4
x5
x6
x7
x8
xn
x9
x10
…
Slide168When 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.:
Slide169When 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?
Slide170Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
G
H
Slide171Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide172Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Too much symmetry
Slide173Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide174Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide175Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide176Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide177Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide178Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide179Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide180Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide181Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide182Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide183Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide184Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
Slide185Too much symmetry
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
Eq1
Eq2
Eq3
x1
x2
x3
x4
x5
x6
…
…
H
π
could just shift everything over by one
This is not what we wanted!
Slide186Why could we do this?The equation graph had a lot of symmetry.
x1
x2
x3
x4
x5
x6
x7
x8
xn
x9
x10
…
Slide187When 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
…
Slide188When 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
…
Slide189When 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
…
Slide190A dream scenario
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
π
G
H
Slide191A dream scenario
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
Trust me on this:
If
π
looks like this, then the rest of the proof goes through.
Slide192A dream scenario
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
Trust me on this:
If
π
looks like this, then the rest of the proof goes through.
✔
Slide193Robust asymmetryof random graphs
Slide194Symmetric graphsA
symmetric
graphis one in which you can rearrange the verticesand get back the same graph.
Slide195Symmetric graphsA
symmetric
graphis one in which you can rearrange the verticesand get back the same graph.e.g.
Slide196Symmetric graphsA
symmetric
graphis one in which you can rearrange the verticesand get back the same graph.e.g.
An
asymmetric
graph:
Slide197Symmetric graphs (formally)
A
symmetric graphis one with a nontrivial automorphism.
Slide198Symmetric graphs (formally)
A
symmetric graphis one with a nontrivial automorphism.
A permutation
π
on V(G)
is an
auto
morphism
if
(
u
, v) ∈ E(G)
⇔ (π(u), π(v))
∈ E(G)
Slide199Symmetric graphs (formally)
A
symmetric graphis one with a nontrivial automorphism.
A permutation
π
on V(G)
is an
auto
morphism
if
(
u
, v) ∈ E(G)
⇔ (π(u), π(v))
∈ E(G)
Fact:
The (trivial) identity permutation
π
(v) =
vis always an automorphism.
Slide200Random graphs are asymmetricG(n, p
) is asymmetric with high probability when .
[Erdős and Rényi
63]
ln
n
n
≤
p ≤ 1 –
ln
nn
Slide201Random graphs are asymmetricG(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
nn
Slide202Random graphs are asymmetricG(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
Slide203Approximate automorphisms
Pr
[(π(u), π(v)) ∈ E(G)] =
α
(
u
,
v
) E(G)
A permutation
π
on V(G) is an
α-
automorphism
if
~
Slide204Approximate 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:
Slide205Approximate 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:
Slide206Approximate 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:
✗
Slide207Approximate 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
Slide208Approximate 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
Slide209Random graphs arerobustly asymmetric
Let G be a random
n
-vertex
m
-edge graph.
Then WHP, any (1-
ε)-
automorphism for G isO(ε)-close to the identity, for any large enough
ε.Thm
:
Slide210Random graphs arerobustly asymmetric
Let G be a random
n
-vertex
m
-edge graph.
Then WHP, any (1-
ε)-
automorphism for G isO(ε)-close to the identity, for any large enough
ε.Some restrictions:
C*n ≤
m ≤ ε
≥ ε0C
n2
Also works for hypergraphs.
Thm:
Slide211Q.E.D.
Slide212Open Problems
Slide213Can we explicitly constructrobustly asymmetric graphs?Currently, we can only generate robustly asymmetric graphs randomly.
Slide214Can we explicitly constructrobustly asymmetric graphs?Currently, we can only generate robustly asymmetric graphs randomly.
An explicit construction would prove
NP-hardness of robust Graph Isomorphism.
Slide215Can we explicitly constructrobustly asymmetric graphs?Currently, we can only generate robustly asymmetric graphs randomly.
An explicit construction would prove
NP-hardness of robust Graph Isomorphism.We don’t really have any great candidates yet…
Slide216Improving
hardness for approximating GISO
Slide217PCP Theorem for GISOThere 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:
Slide218PCP 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:
Slide219A 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
Slide220A 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
Slide221A 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
Slide222A 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?
???
Slide223An attempt: tensor productGiven G = (V, E), G
⊗
G is graph with vertex set V×V and edge setKnown 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
Slide224thanks!
Slide225Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
For each equation, pick variables and the offset independently and uniformly at random.
Slide226Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
x1 + x3 + x8 =
?
(mod 2)
For each equation, pick variables and the offset independently and uniformly at random.
Slide227Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
x1 + x3 + x8 = 0 (mod 2)
For each equation, pick variables and the offset independently and uniformly at random.
Slide228Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
x1 + x3 + x8 = 0 (mod 2)
x2 + x4 +
xn
=
?
(mod 2)
For each equation, pick variables and the offset independently and uniformly at random.
Slide229Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
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.
Slide230Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
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.
Slide231Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
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.
Slide232Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
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.
Slide233Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
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.
Slide234Random 3XOR
x1
x2
x3
x4
x5
x6
x7
x8
xn
…
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
.
Slide235Step 1 – two instances
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn
= 1 (mod 2)
…
…
x1 + x3 + x8 = 1 (mod 2)
3XOR instance
I
Slide2363XOR instance I
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)
Slide237Step 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)
Slide238Step 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
Slide239Step 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
…
x2
x3
xn
Variable vertices
Slide240Step 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
…
x2
x3
xn
Variable vertices
Slide241Step 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
…
x2
x3
xn
Variable vertices
“x1
→
0”
“x1
→
1”
Slide242Step 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
…
x2
x3
xn
Variable vertices
“x2
→
0”
“x2
→
1”
Slide243Step 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
…
x2
x3
xn
Equation vertices
Slide244Step 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
…
x2
x3
xn
Equation vertices
Eq1:
Eq2:
Eqm
:
Slide245Step 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
…
x2
x3
xn
Equation vertices
Eq1:
Eq2:
Eqm
:
Eq1
Eq2
Eqm
…
Slide246Step 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 verticesEq1:
Eq2:Eqm:
x1
0
1
x2
0
1
x3
0
1
Slide247Step 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 verticesEq1:
Eq2:Eqm:
x1
0
1
x2
0
1
x3
0
1
Slide248Step 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 verticesEq1:
Eq2:Eqm:
x1
0
1
x2
0
1
x3
0
1
Slide249Step 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 verticesEq1:
Eq2:Eqm:
x1
0
1
x2
0
1
x3
0
1
x1
→
0
x2
→
0
x3
→
0
x1
→
0
x2 → 1x3
→ 1
x1
→ 1x2 → 0x3 → 1
x1
→ 1x2
→ 1x3 → 0
Slide250Step 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 verticesEq1:
Eq2:Eqm:
x1
0
1
x2
0
1
x3
0
1
x1
→
0
x2
→
0
x3
→
0
x1
→
0
x2 → 1x3
→ 1
x1
→ 1x2 → 0x3 → 1
x1
→ 1x2
→ 1x3 → 0
Slide251Step 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 verticesEq1:
Eq2:Eqm:
x1
0
1
x2
0
1
x3
0
1
x1
→
0
x2
→
0
x3
→
0
x1
→
0
x2 → 1x3
→ 1
x1
→ 1x2 → 0x3 → 1
x1
→ 1x2
→ 1x3 → 0
Slide252Step 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 verticesEq1:
Eq2:Eqm:
x1
0
1
x2
0
1
x3
0
1
x1
→
0
x2
→
0
x3
→
0
x1
→
0
x2 → 1x3
→ 1
x1
→ 1x2 → 0x3 → 1
x1
→ 1x2
→ 1x3 → 0
Slide253Step 2 – generate graph for I
0
1
0
1
0
1
Slide254Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
Slide255Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
Slide256Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
Slide257Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
Slide258Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
Slide259Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
Slide260Green blobs map to green blobs
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G1
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
G2
π
G1
G2
x1, x2, and x3 are variables in an equation,
but
π
(x1),
π
(x2), and
π
(x3) are
not
.
Slide261π should preserve equations
Slide262Other forms of approximate GISOCould define G and H to be “ε
-
similar” if changing ε-fraction of G’s adjacency matrix makes it isomorphic to H.
Slide263Other forms of approximate GISOCould 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)
Slide264Other forms of approximate GISOCould 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.
Slide265Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→
0
x
→ 0
y → 1z → 1
x →
1y → 0z →
1x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110
001
011 101
111
good assignments
Slide266Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000 010
100 110001 011 101
111good assignments
Slide267Other forms of approximate GISOCould restrict G and H to be colored graphs and consider Approximate Colored GISO, i.e.
red
maps to red, blue maps to blue, etc.
G
H
π
Slide268Other forms of approximate GISOCould restrict G and H to be colored graphs and consider Approximate Colored GISO, i.e.
red
maps to red, blue maps to blue, etc.
G
H
π
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
Slide2693XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide2703XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide2713XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide2723XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide2733XOR instance → Graph
x1
…
Eq1
Eq2
Eqm
…
x2
x3
xn
3XOR instance
Eq
1: x1 + x2 + x3 = 0 (mod 2)
Eq
2: x1 + x4 +
xn
= 1 (mod 2)
…
…
Eq
m
: x7 + x11 +
xn
= 1 (mod 2)
Place the equation gadget over equation and variable blobs
→
Slide274Random 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
( )
n
3
Slide275Random 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
( )
n
3
x1 + x2 + x3 =
?
(mod 2)
Slide276Random 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
( )
n
3
x1 + x2 + x3 =
?
(mod 2)
x3 + x5 + x7 =
?
(mod 2)
Slide277Random 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
( )
n
3
x1 + x2 + x3 =
?
(mod 2)
x3 + x5 + x7 =
?
(mod 2)
…
Slide278Random 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
( )
n
3
x1 + x2 + x3 =
?
(mod 2)
x3 + x5 + x7 =
?
(mod 2)
…
x9 + x10 +
xn
=
?
(mod 2)
Slide279Random 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
( )
n
3
x1 + x2 + x3 =
?
(mod 2)
x3 + x5 + x7 =
?
(mod 2)
…
x9 + x10 +
xn
=
?
(mod 2)
Slide280Random 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
( )
n
3
x1 + x2 + x3 =
?
(mod 2)
x3 + x5 + x7 =
?
(mod 2)
…
x9 + x10 +
xn
=
?
(mod 2)
Slide281Random 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
( )
n
3
x1 + x2 + x3 =
0
(mod 2)
x3 + x5 + x7 =
1
(mod 2)
…
x9 + x10 +
xn
=
1
(mod 2)
Slide282Random 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
( )
n
3
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
.
Slide283The reduction
x1 + x2 + x3 = 0 (mod 2)
x2 + x4 + xn
= 1 (mod 2)
…
x1 + x3 + x8 = 1 (mod 2)
3XOR instance
I
Slide284The 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)
Slide285The 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)
Slide286The 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)
Slide287The 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 HOutput (G, H)
Slide288Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
Main property:
This graph has a
symmetry
for each “good” assignment.
000 010
100 110001 011 101 111
good assignments
Slide289Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000 010
100 110001 011 101
111good assignments
Slide290Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000 010
100 110001 011 101
111good assignments
Slide291Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100 110001 011 101
111good assignments
Slide292Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110
001
011 101 111
good assignments
Slide293Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110
001
011 101
111
good assignments
Slide294Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110
001
011 101
111
good assignments
Slide295Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110
001
011 101
111
good assignments
Slide296Equation Gadgetx
+
y + z = 0 (mod 2)Variable vertices:
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 0
x
→ 0
y → 1z → 1
x
→
1y → 0z
→ 1
x
→ 1y → 1z
→ 0Equation vertices:
000
010
100
110
001
011 101
111
good assignments
Slide297Other Equation gadget
x
0
1
y
0
1
z
0
1
x
→
0
y
→
0
z
→ 1
x
→ 0
y → 1z → 0
x
→
1y → 0z →
0
x
→ 1y → 1z
→ 1x
+ y + z = 1 (mod 2)