/
Hardness of Robust Graph Isomorphism, Hardness of Robust Graph Isomorphism,

Hardness of Robust Graph Isomorphism, - PowerPoint Presentation

studyne
studyne . @studyne
Follow
343 views
Uploaded On 2020-10-22

Hardness of Robust Graph Isomorphism, - PPT Presentation

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

3xor mod instance eq2 mod 3xor eq2 instance eq1 graph eqm equation isomorphism graphs random vertices isomorphic good approximate

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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)

Slide2

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)

Slide3

Motivating ExampleYesterday’s

Facebook

graph

Yesterday’s

Facebook

graph

Graph Isomorphism algorithm

A

Slide4

Motivating ExampleYesterday’s

Facebook

graph

Yesterday’s

Facebook

graph

Graph Isomorphism algorithm

A

Slide5

Motivating ExampleYesterday’s

Facebook

graph

Yesterday’s

Facebook

graph

Graph Isomorphism algorithm

A

should:

output “YES,

same graph

unscramble

graph #2

Slide6

Motivating ExampleYesterday’s

Facebook

graph

Today

’s

Facebook

graph

Graph Isomorphism algorithm

A

Slide7

Motivating ExampleYesterday’s

Facebook

graph

Today

’s

Facebook

graph

Graph Isomorphism algorithm

A

Slide8

Motivating ExampleYesterday’s

Facebook

graph

Today

’s

Facebook

graph

Graph Isomorphism algorithm

A

Slide9

Motivating ExampleYesterday’s

Facebook

graph

Today

’s

Facebook

graph

Graph Isomorphism algorithm

A

Slide10

Motivating ExampleYesterday’s

Facebook

graph

Today

’s

Facebook

graph

Graph Isomorphism algorithm

A

will:

output “

NO, not isomorphic

terminate

Slide11

Motivating ExampleYesterday’s

Facebook

graph

Today

’s

Facebook

graph

But these graphs are

almost

isomorphic!

can we detect this?

can we unscramble graph #2?

Slide12

Robust Graph IsomorphismGiven two “

almost isomorphic

” graphs,find the “best almost-isomorphism” between them(or something close to it)

Slide13

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)

Slide14

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)

Slide15

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)

Slide16

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)

Slide17

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)

Slide18

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)

Slide19

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)

Slide20

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)

Slide21

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)

Slide22

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)

Slide23

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

Slide24

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

Slide25

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

Slide26

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

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

Slide29

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

Slide30

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

Slide31

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

Slide32

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

Slide33

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

Slide34

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

Slide35

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

Slide36

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

Slide37

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

Slide38

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

Slide39

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

Slide40

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

Slide41

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

Slide42

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

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

Slide44

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

Slide45

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”

Slide46

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

Slide47

Approximate 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

Slide48

GISO HardnessFamously

not known

to be in P or NP-complete

Evidence that it’s

not

NP

-complete

Wha

t about robust GISO?

Slide49

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)

Slide50

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)

Slide51

Algorithms for GISO

Slide52

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)

Slide53

WLk algorithm

Standard heuristic for GISO

Larger k, more powerful. Runs in time nk + O(1).

By

[

Atserias

and

Maneva

2013], equivalent to something familiar:

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

Slide54

WLk/Level-k Sherali

-Adams LP

“Super LP”Once speculated that WLk

solves GISO with

k

=

O(log

n)Some graphs require k

= Ω(n) rounds [Cai

, Fürer, Immerman

1992]How do SDPs do? What about the Lasserre/SOS “Super-Duper SDP”?

Slide55

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]

Slide56

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

Slide57

Our proof

Assume

Feige’s Random 3XOR Hypothesis.

Then there is no algorithm for Robust GISO.

Thm

:

Slide58

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

Slide59

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

Slide60

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

Slide61

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

Slide62

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

Slide63

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

Slide64

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

Slide65

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

( )

n

3

Slide66

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

( )

n

3

x1 + x2 + x3 = ?

(mod 2)

Slide67

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

( )

n

3

x1 + x2 + x3 = ?

(mod 2)x3 + x5 + x7 = ? (mod 2)

Slide68

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

( )

n

3

x1 + x2 + x3 = ?

(mod 2)x3 + x5 + x7 = ? (mod 2)…

Slide69

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

( )

n

3

x1 + x2 + x3 = ?

(mod 2)x3 + x5 + x7 = ? (mod 2)…

x9 + x10 + xn = ? (mod 2)

Slide70

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

( )

n

3

x1 + x2 + x3 = ?

(mod 2)x3 + x5 + x7 = ? (mod 2)…

x9 + x10 + xn = ? (mod 2)

Slide71

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

( )

n

3

x1 + x2 + x3 =

? (mod 2)x3 + x5 + x7 =

? (mod 2)…x9 + x10 + xn =

? (mod 2)

Slide72

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

( )

n

3

x1 + x2 + x3 =

0 (mod 2)x3 + x5 + x7 = 1 (mod 2)

…x9 + x10 + xn = 1 (mod 2)

Slide73

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

( )

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.

Slide74

Feige’s R3XOR Hypothesis

No

poly-time algorithm can distinguish between:

an

almost-

satisfiable

3XOR instance

a

random 3XOR instance

Slide75

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

Slide76

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.

Slide77

Feige’s R3XOR Hypothesis

No

poly-time algorithm can distinguish between:

an

almost-

satisfiable

3XOR instance

a

random 3XOR instance

Well-known complexity assumption Variants of this hypothesis used as basis for cryptosystems, hardness of approximation results, etc.

Solvable in time 2O(n/log(n)) [Blum, Kalai, Wasserman 2003]

Slide78

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

Slide79

Our proofAssume Feige’s

R3XOR Hypothesis

(reduction)

Almost

-

satisfiable

3XOR instance

I

Almost

-isomorphic

graphs (G, H)

Random3XOR instance

IFar-from-isomorphic

graphs (G, H)

Slide80

Our 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.)

Slide81

The reductionAssume graph:3XOR instances

graphs

Slide82

The 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

Slide83

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

Slide84

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

Slide85

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

Slide86

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

Slide87

Equation 0-Gadgetx

+

y + z = 0 (mod 2)

Slide88

Equation 0-Gadgetx

+

y + z = 0 (mod 2)000

010

100

110

001 011 101

111good assignments

Slide89

Equation 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

Slide90

Equation 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

Slide91

Equation 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

Slide92

Equation 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

Slide93

Equation 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

Slide94

Equation 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

Slide95

Equation 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

Slide96

Equation 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

Slide97

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

Slide98

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

Slide99

Equation 1-Gadgetx

+

y + z = 1 (mod 2)

000

010 100

110

001

011 101 111

good assignments

Slide100

Equation 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

Slide101

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

Slide102

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

Slide103

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

Slide104

Equation 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

=

Slide105

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)

Slide106

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Slide107

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide108

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide109

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide110

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide111

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide112

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide113

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide114

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide115

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide116

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide117

graph: 3XOR instance → Graph

x1

Eq1

Eq2

Eqm

x2

x3

xn

3XOR instance

Eq

1: x1 + x2 + x3 = 0 (mod 2)

Eq

2: x1 + x4 +

xn

= 1 (mod 2)

Eq

m

: x7 + x11 +

xn

= 1 (mod 2)

Place the equation gadget over equation and variable blobs

Slide118

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

Slide119

Zoomed-out picture

x1

Eq1

Eq2

Eqm

x2

x3

xn

G

x1

Eq1

Eq2

Eqm

x2

x3

xn

H

Slide120

Need to show

(reduction)

Almost

-

satisfiable

3XOR instance

I

Almost

-isomorphic

graphs (G, H)

Random3XOR instance

IFar-from

-isomorphicgraphs (G, H)

(w.h.p.)

Slide121

Need to show

(reduction)

Almost

-

satisfiable

3XOR instance

I

Almost

-isomorphic

graphs (G, H)

Random3XOR instance

IFar-from

-isomorphicgraphs (G, H)

(w.h.p.)

Completeness:

Slide122

CompletenessAlmost-satisfiable

3XOR instance

I

Slide123

CompletenessSatisfiable

3XOR instance

I

Slide124

CompletenessSatisfiable

3XOR instance

ILet f:{xi} → {0, 1} be a satisfying assignment

Slide125

CompletenessSatisfiable

3XOR instance

ILet f:{xi} → {0, 1} be a satisfying assignment

We’ll use

f

to construct an isomorphism

π

between G and H

Slide126

CompletenessSatisfiable

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?

Slide127

Constructing π

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

Slide128

Constructing π

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

f:{xi

}

{0, 1} a

satisfying

assignment

If f(x1) = 0,

π

maps 0 vertex to 0 and 1 vertex to 1

0

1

0

1

Slide129

Constructing π

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

f:{xi

}

{0, 1} a

satisfying

assignment

If f(x2) = 1,

π

swaps the 0

and the 1 vertices

Slide130

Constructing π

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

f:{xi

}

{0, 1} a

satisfying

assignment

If f(x3) = 1,

π

swaps the 0

and the 1 vertices

Slide131

Constructing π

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

f:{xi

}

{0, 1} a

satisfying

assignment

?

Slide132

Constructing π

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

f:{xi

}

{0, 1} a

satisfying

assignment

?

Fact:

For every good

even

assignment, the 0-gadget has an isomorphism with the 0-gadget

For every good

odd

assignment, the 1-gadget has an isomorphism with the 0-gadget

Slide133

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

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)

Slide134

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

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)

Slide135

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

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)

Slide136

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

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)

Slide137

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

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)

Slide138

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

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)

Slide139

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

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)

Slide140

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

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)

Slide141

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

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)

Slide142

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

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)

Slide143

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

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)

Slide144

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

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)

Slide145

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

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)

Slide146

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

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)

Slide147

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

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)

Slide148

Constructing π

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

f:{xi

}

{0, 1} a

satisfying

assignment

Define

π

to be the appropriate isomorphism for each equation.

This

π

is an isomorphism between G and H.

Slide149

Constructing π

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

f:{xi

}

{0, 1} a

satisfying

assignment

Define

π

to be the appropriate isomorphism for each equation.

This

π

is an isomorphism between G and H.

Slide150

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

Slide151

Need 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.)

Slide152

A possible π?

x1

Eq1

Eq2

Eqm

x2

x3

xn

G

x1

Eq1

Eq2

Eqm

x2

x3

xn

H

Slide153

A possible π?

x1

Eq1

Eq2

Eqm

x2

x3

xn

G

x1

Eq1

Eq2

Eqm

x2

x3

xn

H

π

Slide154

A possible π?

x1

Eq1

Eq2

Eqm

x2

x3

xn

G

x1

Eq1

Eq2

Eqm

x2

x3

xn

H

π

Slide155

A possible π?

x1

Eq1

Eq2

Eqm

x2

x3

xn

G

x1

Eq1

Eq2

Eqm

x2

x3

xn

H

π

Slide156

A possible π?

x1

Eq1

Eq2

Eqm

x2

x3

xn

G

x1

Eq1

Eq2

Eqm

x2

x3

xn

H

π

Slide157

A possible π?

x1

Eq1

Eq2

Eqm

x2

x3

xn

G

x1

Eq1

Eq2

Eqm

x2

x3

xn

H

π

Take my word for this:

If

π

is a (1-

ε

)-isomorphism, then none of these can happen

(often)

.

Slide158

Green blobs map to green blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

π

G

H

Slide159

Green blobs map to green blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

π

G

H

Slide160

Green blobs map to green blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

π

G

H

Slide161

Blue blobs map to blue blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

π

G

H

Slide162

Blue blobs map to blue blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

π

G

H

Slide163

Blue blobs map to blue blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

π

G

H

Slide164

A dream scenario

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

G1

G2

Slide165

A dream scenario

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

Trust me on this:

If

π

looks like this, then the rest of the proof goes through.

G1

G2

Slide166

A dream scenario

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

Trust me on this:

If

π

looks like this, then the rest of the proof goes through.

G1

G2

When does this fail?

Slide167

When does this fail?Fails when equation graph exhibits a lot of symmetry.

x1

x2

x3

x4

x5

x6

x7

x8

xn

x9

x10

Slide168

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

Slide169

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?

Slide170

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

G

H

Slide171

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide172

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Too much symmetry

Slide173

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide174

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide175

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide176

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide177

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide178

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide179

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide180

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide181

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide182

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide183

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide184

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

Slide185

Too much symmetry

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

Eq1

Eq2

Eq3

x1

x2

x3

x4

x5

x6

H

π

could just shift everything over by one

This is not what we wanted!

Slide186

Why could we do this?The equation graph had a lot of symmetry.

x1

x2

x3

x4

x5

x6

x7

x8

xn

x9

x10

Slide187

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

Slide188

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

Slide189

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

Slide190

A dream scenario

x1

Eq1

Eq2

Eqm

x2

x3

xn

x1

Eq1

Eq2

Eqm

x2

x3

xn

π

G

H

Slide191

A dream scenario

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

Trust me on this:

If

π

looks like this, then the rest of the proof goes through.

Slide192

A dream scenario

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

Trust me on this:

If

π

looks like this, then the rest of the proof goes through.

Slide193

Robust asymmetryof random graphs

Slide194

Symmetric graphsA

symmetric

graphis one in which you can rearrange the verticesand get back the same graph.

Slide195

Symmetric graphsA

symmetric

graphis one in which you can rearrange the verticesand get back the same graph.e.g.

Slide196

Symmetric graphsA

symmetric

graphis one in which you can rearrange the verticesand get back the same graph.e.g.

An

asymmetric

graph:

Slide197

Symmetric graphs (formally)

A

symmetric graphis one with a nontrivial automorphism.

Slide198

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

Slide199

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

Slide200

Random graphs are asymmetricG(n, p

) is asymmetric with high probability when .

[Erdős and Rényi

63]

ln

n

n

p ≤ 1 –

ln

nn

Slide201

Random 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

Slide202

Random 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

Slide203

Approximate automorphisms

Pr

[(π(u), π(v)) ∈ E(G)] =

α

(

u

,

v

) E(G)

A permutation

π

on V(G) is an

α-

automorphism

if

~

Slide204

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:

Slide205

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:

Slide206

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:

Slide207

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

Slide208

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

Slide209

Random 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

:

Slide210

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

Slide211

Q.E.D.

Slide212

Open Problems

Slide213

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

Slide214

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

An explicit construction would prove

NP-hardness of robust Graph Isomorphism.

Slide215

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

An explicit construction would prove

NP-hardness of robust Graph Isomorphism.We don’t really have any great candidates yet…

Slide216

Improving

hardness for approximating GISO

Slide217

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

Slide218

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:

Slide219

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

Slide220

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

Slide221

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

Slide222

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?

???

Slide223

An 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

Slide224

thanks!

Slide225

Random 3XOR

x1

x2

x3

x4

x5

x6

x7

x8

xn

For each equation, pick variables and the offset independently and uniformly at random.

Slide226

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

Slide227

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

Slide228

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

Slide229

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

Slide230

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

Slide231

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

Slide232

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

Slide233

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

Slide234

Random 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

.

Slide235

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

Slide236

3XOR 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)

Slide237

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)

Slide238

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

Slide239

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

x2

x3

xn

Variable vertices

Slide240

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

x2

x3

xn

Variable vertices

Slide241

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

x2

x3

xn

Variable vertices

“x1

0”

“x1

1”

Slide242

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

x2

x3

xn

Variable vertices

“x2

0”

“x2

1”

Slide243

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

x2

x3

xn

Equation vertices

Slide244

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

x2

x3

xn

Equation vertices

Eq1:

Eq2:

Eqm

:

Slide245

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

x2

x3

xn

Equation vertices

Eq1:

Eq2:

Eqm

:

Eq1

Eq2

Eqm

Slide246

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

Eq2:Eqm:

x1

0

1

x2

0

1

x3

0

1

Slide247

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

Eq2:Eqm:

x1

0

1

x2

0

1

x3

0

1

Slide248

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

Eq2:Eqm:

x1

0

1

x2

0

1

x3

0

1

Slide249

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

Slide250

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

Slide251

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

Slide252

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

Slide253

Step 2 – generate graph for I

0

1

0

1

0

1

Slide254

Green blobs map to green blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

Slide255

Green blobs map to green blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

Slide256

Green blobs map to green blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

Slide257

Green blobs map to green blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

Slide258

Green blobs map to green blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

Slide259

Green blobs map to green blobs

x1

Eq1

Eq2

Eqm

x2

x3

xn

G1

x1

Eq1

Eq2

Eqm

x2

x3

xn

G2

π

Slide260

Green 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

Slide262

Other forms of approximate GISOCould define G and H to be “ε

-

similar” if changing ε-fraction of G’s adjacency matrix makes it isomorphic to H.

Slide263

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

Slide264

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

Slide265

Equation 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

Slide266

Equation 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

Slide267

Other 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

π

Slide268

Other 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

Slide269

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

Slide270

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

Slide271

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

Slide272

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

Slide273

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

Slide274

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

( )

n

3

Slide275

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

( )

n

3

x1 + x2 + x3 =

?

(mod 2)

Slide276

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

( )

n

3

x1 + x2 + x3 =

?

(mod 2)

x3 + x5 + x7 =

?

(mod 2)

Slide277

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

( )

n

3

x1 + x2 + x3 =

?

(mod 2)

x3 + x5 + x7 =

?

(mod 2)

Slide278

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

( )

n

3

x1 + x2 + x3 =

?

(mod 2)

x3 + x5 + x7 =

?

(mod 2)

x9 + x10 +

xn

=

?

(mod 2)

Slide279

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

( )

n

3

x1 + x2 + x3 =

?

(mod 2)

x3 + x5 + x7 =

?

(mod 2)

x9 + x10 +

xn

=

?

(mod 2)

Slide280

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

( )

n

3

x1 + x2 + x3 =

?

(mod 2)

x3 + x5 + x7 =

?

(mod 2)

x9 + x10 +

xn

=

?

(mod 2)

Slide281

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

( )

n

3

x1 + x2 + x3 =

0

(mod 2)

x3 + x5 + x7 =

1

(mod 2)

x9 + x10 +

xn

=

1

(mod 2)

Slide282

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

( )

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

.

Slide283

The reduction

x1 + x2 + x3 = 0 (mod 2)

x2 + x4 + xn

= 1 (mod 2)

x1 + x3 + x8 = 1 (mod 2)

3XOR instance

I

Slide284

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)

Slide285

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)

Slide286

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)

Slide287

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 HOutput (G, H)

Slide288

Equation 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

Slide289

Equation 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

Slide290

Equation 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

Slide291

Equation 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

Slide292

Equation 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

Slide293

Equation 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

Slide294

Equation 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

Slide295

Equation 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

Slide296

Equation 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

Slide297

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