Complexity Classes and the Graph Isomorphism Problem

Post on 23-Jan-2018

113 views 3 download

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

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

Upper Bounds

G,H graphs

GI: are G and H isomorphic?

GA: does G have a non-trivial automorphism?

P

NP

GIGA

3

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

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

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

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

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

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

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

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

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

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

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

GX

G[X]

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

13

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

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

Corollary:

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

|A| =n∏

i=1

di

.

16

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PGI

bb

b b

b

b

NP coNP

coAM

UP

b

b

b

UAP

SPP

ModkP

38

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

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

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

Basic multiplication gadget

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

Simulation of x · y = z

y

x

z

42

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

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

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

Simulation of a circuit with gates over A

1

0

1

1

1 ·

···

··G2

·

···

··G2

G2

··

··G2

G2·· ··

46

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

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

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

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

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

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

Tree Evaluation is in NC1

Tree Evaluation over S5 is NC1-complete

Circuit Evaluation over S5 is P-complete

53

b

b

b

NC1

L

NL

b

bb

SAC1

AC1

DET

NC2 b

PGI

bb

54

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