Complexity Classes and the Graph Isomorphism Problem

55
Complexity Classes and the Graph Isomorphism problem Jacobo Tor ´ an University of Ulm NMI Complexity and Cryptography Workshop, IIT Gandhinagar, November 2016 1

Transcript of Complexity Classes and the Graph Isomorphism Problem

Page 1: Complexity Classes and the Graph Isomorphism Problem

Complexity Classes and the Graph Isomorphism problem

Jacobo Toran

University of Ulm

NMI Complexity and Cryptography Workshop,

IIT Gandhinagar, November 2016

1

Page 2: Complexity Classes and the Graph Isomorphism Problem

Isomorphism and Automorphism

Two graphs G1 = (V1, E1), G2 = (V2, E2)

Isomorphism: Bijection ϕ : V1 → V2,(u, v) ∈ E1 ⇔ (ϕ(u), ϕ(v)) ∈ E2.

Automorphism: Permutation ϕ : V1 → V1,(u, v) ∈ E1 ⇔ (ϕ(u), ϕ(v)) ∈ E1.

ϕ

2

Page 3: Complexity Classes and the Graph Isomorphism Problem

Upper Bounds

G,H graphs

GI: are G and H isomorphic?

GA: does G have a non-trivial automorphism?

P

NP

GIGA

3

Page 4: Complexity Classes and the Graph Isomorphism Problem

Upper Bounds

G,H graphs

GI: are G and H isomorphic?

GA: does G have a non-trivial automorphism?

Time(2logO(1) n)

[Babai 15]

P

NP

GIGA

4

Page 5: Complexity Classes and the Graph Isomorphism Problem

G,H graphs

GI: are G and H isomorphic?

GA: does G have a non-trivial automorphism?

Time(2logO(1) n)

P

NP

GIGA

coAM

5

Page 6: Complexity Classes and the Graph Isomorphism Problem

G,H graphs

GI: are G and H isomorphic?

GA: does G have a non-trivial automorphism?

Time(2logO(1) n)

P

NP

GIGA

coAM

⊕P

6

Page 7: Complexity Classes and the Graph Isomorphism Problem

G,H graphs

GI: are G and H isomorphic?

GA: does G have a non-trivial automorphism?

Time(2logO(1) n)

P

NP

GIGA

coAM

⊕P

SPP

7

Page 8: Complexity Classes and the Graph Isomorphism Problem

G,H graphs

GI: are G and H isomorphic?

GA: does G have a non-trivial automorphism?

Time(2logO(1) n)

P

NP

GIGA

coAM

⊕P

SPP

UAP

8

Page 9: Complexity Classes and the Graph Isomorphism Problem

Linear Programing:

NP ∩ coNP [Gale, Kuhn Tucker 48]

P [Khachiyan 79]

Primes:

NP ∩ coNP [Pratt 75]

coRP [Solovay, Strassen 77]

nO(log logn) [Adleman, Pomerance, Rumely 81]

RP [Adleman, Huang 87]

UP ∩ coUP [Fellows, Koblitz 92]

P [Agrawal, Kayal, Saxena 02]

9

Page 10: Complexity Classes and the Graph Isomorphism Problem

Let A and B be two groups, with B ≤ A and ϕ ∈ A.

Bϕ = {πϕ : π ∈ B}

is a subset of A called a right coset of B in A.

Two right cosets Bϕ1, Bϕ2 are either disjoint or equal.

A = Bϕ1 +Bϕ2 + · · ·+Bϕk.

The set {ϕ1, . . . , ϕk} is called a complete right transversal for B in A.

10

Page 11: Complexity Classes and the Graph Isomorphism Problem

Let G1 and G2 be two graphs.

Fact: If G1 and G2 are isomorphic then, Iso(G1, G2) is a right coset of

Aut(G1), and thus |Iso(G1, G2)| = |Aut(G1)|.

11

Page 12: Complexity Classes and the Graph Isomorphism Problem

Permutation groups

Let A ≤ Sn. For i ∈ {1, . . . , n} the orbit of i in A is the set

{j : ∃ϕ ∈ A, ϕ(i) = j}.

A[i 7→j], is the set of all permutations in A which map i to j.

For X ⊆ {1, . . . , n} i ∈ {1, . . . , n} the pointwise stabilizer of X in A.

A[X] is the set of permutations

A[X] = {ϕ ∈ A : ∀x ∈ X, ϕ(x) = x}.

A[i] = A[{i}] = {ϕ ∈ A : ϕ(i) = i}.

12

Page 13: Complexity Classes and the Graph Isomorphism Problem

Graph G = (V,E), X ⊆ V ,

Aut(G)[X] = Aut(G[X]).

GX

G[X]

G[1,...,i] := G(i)

13

Page 14: Complexity Classes and the Graph Isomorphism Problem

Pointwise stabilizers play an important role in group theoretic algorithms.

One can construct a “tower” of stabilizers in the following way: let

Xi = {1, . . . , i} and denote A[Xi] by A(i), then

{id} = A(n) ≤ A(n−1) ≤ · · · ≤ A(1) ≤ A(0) = A.

14

Page 15: Complexity Classes and the Graph Isomorphism Problem

Lemma:

Let i ∈ {1, . . . n} and A = A[i]π1 +A[i]π2 + · · ·+A[i]πd.

Then d is the size of the orbit of i in A, and for all ψ ∈ A[i]π,

π(i) = ψ(i).

If {j1, . . . , jd} is the orbit of i in A, then

A is partitioned into d sets of equal cardinality:

|A[i 7→j1]| = · · · = |A[i 7→jd]|.

Thus, |A| = d ∗ |A[i]|, and for every j ∈ {1, . . . , n}, the number of

permutations in A which map i to j is either 0 or |A[i]|.

15

Page 16: Complexity Classes and the Graph Isomorphism Problem

Corollary:

Let di be the size of the orbit of i in A(i−1), 1 ≤ i ≤ n.

|A| =n∏

i=1

di

.

16

Page 17: Complexity Classes and the Graph Isomorphism Problem

j is in the orbit of i in G(i−1) iff the graphs are isomorphic

j

[i− 1]

i i

[i− 1]

j

Corollary: [Mathon 79] #Aut(G) and #Iso(G1, G2) can be computed

with non-adaptive queries to GI.

17

Page 18: Complexity Classes and the Graph Isomorphism Problem

Theorem: [Sims 70], [Furst,Hopcroft,Luks 80]

Let Ti be a complete right transversal for A(i) in A(i−1), 1 ≤ i ≤ n, and

let K0 =⋃n

i=1 Ti, then

1. every element π ∈ A can be expressed uniquely as a product

π = ϕ1ϕ2 . . . ϕn with ϕi ∈ Ti,

2. from K0 membership in A can be tested in O(n2) steps,

3. the order of A can be determined in O(n2) steps.

K0 is called a strong generator set for A.

18

Page 19: Complexity Classes and the Graph Isomorphism Problem

Complexity classesCounting classes

For a nondeterministic poly-time machine M and x ∈ Σ∗,

accM (x) is the number of accepting computation paths of M on input x.

(accAM (x) for an oracle set A.)

rejM (x) is the number of rejecting computation paths of M on input x.

gapM (x) = accM (x)− rejM (x)

19

Page 20: Complexity Classes and the Graph Isomorphism Problem

Class of all languages L for which there exists a nondeterministic

polynomial-time machine M such that, for all x,

NP x ∈ L =⇒ accM (x) > 0,

x 6∈ L =⇒ accM (x) = 0.

UP x ∈ L =⇒ accM (x) = 1,

x 6∈ L =⇒ accM (x) = 0.

ModkP x ∈ L =⇒ accM (x) ≡ 1mod k,

x 6∈ L =⇒ accM (x) 6≡ 1 mod k.

20

Page 21: Complexity Classes and the Graph Isomorphism Problem

Tournament GI is in Mod2P [Goldschlager, Parberry 86]

If G is tournament graph, id is the only automorphism π ∈ Aut(G) that

is self-inverse (π = π−1).

If π 6= id, then for some i, π(i) 6= i. But π(π(i)) = i and this implies

(i, π(i)) ∈ E ⇔ (π(i), i) ∈ E.

All nontrivial automorphisms of a tournament graph G can be grouped into

pairs (πi, π−1i ) and |Aut(G)| is odd.

#GI(G,H) =

#GA(G), G ≡ H

0, G 6≡ H

21

Page 22: Complexity Classes and the Graph Isomorphism Problem

A function f : Σ∗ → N is in #P if there is a nondeterministic

polynomial-time machine M such that for every x in Σ∗,

f(x) = accM (x).

A function f : Σ∗ → Z is in Gap-P if there is a nondeterministic

polynomial-time machine M such that for every x in Σ∗,

f(x) = gapM (x).

⇐⇒ ∃f1, f2 ∈ #P, ∀x ∈ Σ∗, f(x) = f1(x)− f2(x).

22

Page 23: Complexity Classes and the Graph Isomorphism Problem

Class of all languages L for which there exists a nondeterministic

polynomial-time machine M such that, for all x,

C=P x ∈ L =⇒ gapM (x) = 0,

x 6∈ L =⇒ gapM (x) > 0.

SPP x ∈ L =⇒ gapM (x) = 1,

x 6∈ L =⇒ gapM (x) = 0.

23

Page 24: Complexity Classes and the Graph Isomorphism Problem

GA ∈ SPP [Kobler,Schoning,T. 92]

Let G = (V,E), |V | = n. Consider the function

f(G) =∏

1≤i<j≤n

(|Aut(G)[i]| − |Aut(G)[i 7→j]|).

f ∈ Gap-P.

If G ∈ GA then there is a non-trivial automorphism π ∈ Aut(G) such

that π(i) = j for some i, j, i < j.

π ∈ Aut(G)[i 7→j] and |Aut(G)[i]| = |Aut(G)[i 7→j]|.

At least one of the factors of f(G) and f(G) = 0.

If G 6∈ GA, then ∀i, j, i < j, |Aut(G)[i 7→j]| = 0. and

Aut(G)[i] = {id}.

All the factors of f(G) have value 1 and f(G) = 1.

24

Page 25: Complexity Classes and the Graph Isomorphism Problem

Theorem: Let L ⊆ Σ⋆. If L can be computed in polynomial time by

asking only such queries y to an oracle set A ∈ NP for which

accMA(y) ∈ {0, 1} (UP like queries), then L ∈ SPP .

MA nondeterministic poly-time machine computing A.

25

Page 26: Complexity Classes and the Graph Isomorphism Problem

Theorem: [Kobler,Schoning,T. 92]

GI can be computed in polynomial time by asking only such queries y to

an oracle set A ∈ NP for which accMA(y) ∈ {0, n!}.

MA nondeterministic poly-time machine computing A.

A = {(G1, G2,m) | G1 ≡ G2,m ∈ N}

MA on input (G1, G2,m) guesses x, y and accepts iff x is an

isomorphism and 1 ≤ y ≤ m.

accMA(G1, G2,m) = m ·#GI(G1, G2),

26

Page 27: Complexity Classes and the Graph Isomorphism Problem

input (G,H);

d := 1; /∗ d is used to count the number of automorphisms of G ∗/

for i := n downto 1 do

di := 1; /∗ di determines the size of the orbit of i in Aut(G)(i−1) ∗/

for j := i+ 1 to n do

/∗ test whether j lies in the orbit of i in Aut(G)(i−1) ∗/

G1 := G(i−1)[i] ; G2 := G

(i−1)[j] ;

if (G1, G2, n!/d) ∈ A then di := di + 1 end;

end;

d := d ∗ di; /∗ now d = #GA(G(i−1)) ∗/

end

if (G,H, n!/d) ∈ A then accept else reject end;

27

Page 28: Complexity Classes and the Graph Isomorphism Problem

The queries (G1, G2,m) are of the form (G(i−1)[i] , G

(i−1)[j] , n!/d).

There are either 0 or #GA(G(i)) many automorphisms in Aut(G(i−1))

such that ϕ(i) = j.

Since d = #GA(G(i)), it follows that #GI(G1, G2) ∈ {0, d} and

accMA(G1, G2, n!/d) ∈ {0, n!}.

28

Page 29: Complexity Classes and the Graph Isomorphism Problem

GI ∈ SPP [Arvind, Kurur 02]

Theorem: There is a poly-time algorithm that on input a generator set for

B ≤ Sn and π ∈ Sn computes the lexicographically least element of

Bπ.

Theorem: GI can be computed in polynomial time by asking only such

queries y to an oracle set A ∈ NP for which accMA(y) ∈ {0, 1}.

MA nondeterministic poly-time machine computing A.

29

Page 30: Complexity Classes and the Graph Isomorphism Problem

A = {(S, i, j, π) | S ⊆ Aut(G(i)) and π is a partial permutation

that fixes [i− 1] and π(i) = j

and there is a ϕ ∈ Aut(G(i−1)) such that

ϕ extends π and ϕ = lex− least(〈S〉ϕ)}

A ∈ NP

If 〈S〉 = Aut(G(i−1)) then there is at most one such extension ϕ of π.

30

Page 31: Complexity Classes and the Graph Isomorphism Problem

Games with unique winning strategies

Alternating generalization of UP

Def: [Niedermeier Rossmanith 98] An alternating Turing machine is

unambiguous if every accepting existential configuration has exactly one

move to an accepting configuration, and every rejecting universal

configuration has exactly one move to a rejecting configuration. The class

UAP contists of all languages accepted by polynomial-time unambiguous

alternating machines.

UAP ⊆ SPP

31

Page 32: Complexity Classes and the Graph Isomorphism Problem

Theorem: [Crasmaru, Glaßer, Regan, Sangupta 04]

The class of problems that can be computed in polynomial time with

“UP-like” queries to an oracle set in NP is contained in UAP.

Corollary: GI ∈ UAP.

32

Page 33: Complexity Classes and the Graph Isomorphism Problem

Complexity classesProbabilistic classes

Def: L ∈ NP if there is a set D ∈ P and a polynomial p, for all x,

x ∈ L⇔ [∃y, |y| = p(|x|) : 〈x, y〉 ∈ D]

Def: [Babai 85] L ∈ AM if there is a set D ∈ P and polynomial p such

that for all x,

x ∈ L⇒ Probw∈Σp(|x|) [∃y, |y| = p(|x|) : 〈x, y, w〉 ∈ D] ≥ 34 ,

x 6∈ L⇒ Probw∈Σp(|x|) [∃y, |y| = p(|x|) : 〈x, y, w〉 ∈ D] ≤ 14 ,

AM = BP·NP

33

Page 34: Complexity Classes and the Graph Isomorphism Problem

Standard AM method for isomorphims problems

Given two structures A,B

1) Define a set S(A,B) in NP and a function f ∈ FP s.t.

A 6≡ B ⇒ ||S(A,B)|| ≥ 2f(n).

A ≡ B ⇒ ||S(A,B)|| ≤ f(n).

2) Estimate the size of ||S(A,B)|| using randomized hashing.

34

Page 35: Complexity Classes and the Graph Isomorphism Problem

Given graphs G1, G2 on n vertices, consider the set

N(G1, G2) = {(H,ϕ) | (H ≡ G1 or H ≡ G2) and ϕ ∈ Aut(H)}

= {(H,ϕ) | H ≡ G1 and ϕ ∈ Aut(H)} ∪

{(H,ϕ) | H ≡ G2 and ϕ ∈ Aut(H)}

|N(G1, G2)| =

n! if G1 ≡ G2

2 · n! if G1 6≡ G2

35

Page 36: Complexity Classes and the Graph Isomorphism Problem

Derandomization of AM protocols

Hardness hypothesis imply AM = NP

Hardness hypothesis:

[Arvind Kobler 97] ∀ǫ > 0 there is a language L in NE ∩ coNE so that

any nondeterministic circuit of of size 2ǫn agrees with Ln on at most

1/2 + 2−ǫn inputs.

Open: Is there a better way for derandomizing the AM protocol for Graph

non-Iso than derandomizing the whole class AM?

36

Page 37: Complexity Classes and the Graph Isomorphism Problem

The Minimum Circuit Size Problem (MCSP)

MCSP: [Yablonski 59] Given s ∈ N and a Boolean function f on n

variables, represented by its truth table of size 2n , determine if f has a

circuit of size s.

MCSP ∈ NP.

Not known to be NP-complete.

If MCSP is NP-complete (under logspace reductions) then P 6= PSPACE

[Murray, Williams 15]

GI is randomly reducible to MCSP [Allender, Das 14]

37

Page 38: Complexity Classes and the Graph Isomorphism Problem

PGI

bb

b b

b

b

NP coNP

coAM

UP

b

b

b

UAP

SPP

ModkP

38

Page 39: Complexity Classes and the Graph Isomorphism Problem

Lower Bounds

Is GI hard for some complexity class?

What problems can be reduced to GI?

Hard instances of GI

(bench marks, concrete algorithms, proof systems ...)

39

Page 40: Complexity Classes and the Graph Isomorphism Problem

Undirected Graph (non)Reachability is reducible to GI

s tG

Is t reachable from s?

s1 t1

G′

s2 t2

There is no path from s to t in G ⇐⇒

there is some automorphism mapping s1 to s2 in G′

40

Page 41: Complexity Classes and the Graph Isomorphism Problem

there is some automorphism mapping s1 to s2 in G′ ⇐⇒

G′′ is isomorphic to H ′′.

s1 t1

G′′

s2 t2

s3 t3

H ′′

s4 t4

⇒ GI is hard for LOGSPACE

41

Page 42: Complexity Classes and the Graph Isomorphism Problem

Basic multiplication gadget

Let A = {1, . . .m} be finite group, x, y, z ∈ A.

Simulation of x · y = z

y

x

z

42

Page 43: Complexity Classes and the Graph Isomorphism Problem

Basic multiplication gadget

y

x

z⊙

b

b

b

b

b

bb

b

b

b

b

b

x1xi. . .

xm

y1

yj

. . .

ymum,m

ui,j

u1,1

. . .

. . .z1·1 = z1

zi·j

zm

. . .

. . .

43

Page 44: Complexity Classes and the Graph Isomorphism Problem

Simulation of an addition gate in Z2

y

x

z⊕

b

b

b

b

b

b

b

b

b

b

x0

x1

y0

y1

u1,1

u1,0

u0,1

u0,0

z0

z1

44

Page 45: Complexity Classes and the Graph Isomorphism Problem

Automorphisms of the gadgetCase 1: A Abelian group

Element a ∈ A is encoded as the mapping i→ a · i in the corresponding

vertices.

Level 1:

i→ x · i on the subgraph from input x.

j → y · j on the subgraph from input y.

Level 2:

(i, j) → (x · i, y · j) on the middle vertices.

Level 3:

k = i · j → x · i · y · j = x · y · i · j = x · y · k

45

Page 46: Complexity Classes and the Graph Isomorphism Problem

Simulation of a circuit with gates over A

1

0

1

1

1 ·

···

··G2

·

···

··G2

G2

··

··G2

G2·· ··

46

Page 47: Complexity Classes and the Graph Isomorphism Problem

CFI-graphs [Cai, Furer, Immerman 92] are constructed following this

principle.

The evaluation of circuits over Abelian groups is as hard as DET, the class

of problems reducible to the Determinant.

GI is hard for DET [T 04].

AC0 ⊆ NC1 ⊆ L ⊆ NL ⊆ DET ⊆ NC2 ⊆. . . P

47

Page 48: Complexity Classes and the Graph Isomorphism Problem

Automorphisms of the gadgetCase 2: A non-Abelian

y

x

z⊙

b

b

b

b

b

bb

b

b

b

b

b

x1xi. . .

xm

y1

yj

. . .

ymum,m

ui,j

u1,1

. . .

. . .z1·1 = z1

zi·j

zm

. . .

. . .

48

Page 49: Complexity Classes and the Graph Isomorphism Problem

Automorphisms of the gadgetCase 2: A non-Abelian

Representation of the group elements:

We associate each element k ∈ A with the set of pairs (i, j) satisfying

k = i · j.

Element k ∈ A is encoded as the mapping i→ l · i · r for a pair (l, r)

with l · r = k in the corresponding vertices. Many encodings for a are

possible.

L R

Res

49

Page 50: Complexity Classes and the Graph Isomorphism Problem

Lemma: For every pair of elements l, r ∈ A, the automorphisms that

map each vertex k in a Res subgraph to l · k · r are those that for some

element t map each vertex i in subgraph L to l · i · t, and maps each

vertex j in subgraph R to t−1 · j · r.

(The elements encoded in subgraphs L and R are respectively l · t and

t−1 · r.)

(l, t) (t−1, r)

(l, r)

50

Page 51: Complexity Classes and the Graph Isomorphism Problem

Tree-Evaluation

Let A be a finite group. Given a binary tree T with a group element a ∈ A

in each leaf, is the product of the elements equal to id?

51

Page 52: Complexity Classes and the Graph Isomorphism Problem

For every finite (quasi) group, the Tree-Evaluation Problem is reducible to

GI.

(l, r)

(t−1, r)(l, t)

a b

a · b = l · r

a = l · t

⇒ t−1 · r = a−1 · l · r = b

52

Page 53: Complexity Classes and the Graph Isomorphism Problem

Tree Evaluation is in NC1

Tree Evaluation over S5 is NC1-complete

Circuit Evaluation over S5 is P-complete

53

Page 54: Complexity Classes and the Graph Isomorphism Problem

b

b

b

NC1

L

NL

b

bb

SAC1

AC1

DET

NC2 b

PGI

bb

54

Page 55: Complexity Classes and the Graph Isomorphism Problem

b

b

b

NC1

L

NL

b

bb

SAC1

AC1

DET

NC2 b

PGI

bb

b b

b

b

NP coNP

coAM

UP

b

b

b

UAP

SPP

ModkP

55