characterizing nck

30
Characterizing NC k from words to trees and back to words Guillaume Bonfante, Reinhard Kahle, Jean-Yves Marion and Isabel Oitavem Shonan Village - 2013 Implicit Computational Complexity and applications: Resource control, security, real-number computation

Upload: others

Post on 29-May-2022

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Characterizing NCk

Characterizing NCk from words to trees and back to words

Guillaume Bonfante, Reinhard Kahle, Jean-Yves Marion and Isabel Oitavem

Shonan Village - 2013

Implicit Computational Complexity and applications: Resource control, security, real-number computation

Page 2: Characterizing NCk

Is there a 0?

1 1 10 0 0 0 0

0

^ ^ ^ ^

^ ^

^

fan�in : 2

depth : 3 = log2(8)

size : 7 8

fan�in : 2

depth : log2(n)

size : n� 1

Page 3: Characterizing NCk

Is there a 0?

1 1 10 0 0 0 0

0

^

fan�in : 8

depth : 1

size : 1

Page 4: Characterizing NCk

Circuits NCk

• For k ≥ 1, NCk is the class of uniform boolean circuits such that:

• constant fan-in,

• polynomial size (w.r.t. the size of inputs)

• depth is bounded by O(logk(n))

• LOGSPACE-Uniform

Page 5: Characterizing NCk

Is it a palyndrome?

¬� ¬� ¬� ¬�

^ ^

^

0 0 0 01 1 1 1

1fan�in : 2

depth : 3 = log2(8)

size : 7 8

Page 6: Characterizing NCk

Implicit computational complexity

• A characterization of the classes NCk

• machine independent

• without a priori bounds (cf. Clote, Cobham)

• Infinite structures (cf Cook, Buss)

• Logical approaches (cf. Mogbil)

• Recursion Theory (Leivant, Bloch, Oitavem)

Page 7: Characterizing NCk

Computing on trees

0 1 0 1 0 1 0 1

0 1 0 1

0 1

0 0 0 01 1 1 1

Page 8: Characterizing NCk

Computing on trees0 0 0 01 1 1 1

0 0 0 01 1 1 1

? ? ? ?

? ?

?

((0 ? 1) ? (1 ? 0)) ? ((0 ? 1) ? (0 ? 1))

Page 9: Characterizing NCk

Basic functions

d0(c) = d1(c) = c, c 2 {0, 1}d0(t0 ? t1) = t0,

d1(t0 ? t1) = t1,

cond(c, x0, x1, x?) = xc, c 2 {0, 1}cond(t0 ? t1, x0, x1, x?) = x?

Page 10: Characterizing NCk

A characterization of NC by Leivant

f(c, ⇥u; ⇥x) = gc(⇥u; ⇥x)

f(t0 � t1, ⇥u; ⇥x) = g�(⇥u; f(t0, ⇥u;h1(⇥x)), . . . , f(t0, ⇥u;hd(⇥x)),

f(t1, ⇥u;h01(⇥x)), . . . , f(t1, ⇥u;h

0d0(⇥x)))

Ramified Schematic Recurrence

Theorem (Leivant): RSR characterize NC-computable functions

Page 11: Characterizing NCk

Mutual In-Place Recursion (MIP)

fi(t0 ⇥ t1, ⇤u) = fj(t0,�i,0(t0 ⇥ t1, ⇤u)) ⇥ fk(t1,�i,1(t0 ⇥ t1, ⇤u))

fi(c, ⇤u) = gi,c(⇤u)

(fi)i2I is defined by MIP if for all i:Definition

�i,b is a destructor , b = 0, 1gi,c(�u) range in {0, 1}

Page 12: Characterizing NCk

fi(t0 ⇥ t1, ⇤u) = fj(t0,⇤�i,0(t0 ⇥ t1, ⇤u)) ⇥ fk(t1,⇤�i,1(t0 ⇥ t1, ⇤u))

fi(c, ⇤u) = gi,c(⇤u)

(fi)i2I is defined by MIP if for all i:Definition

gi,c(�u) range in {0, 1}

Mutual In-Place Recursion (MIP)

�i,b is a destructor , b = 0, 1

Page 13: Characterizing NCk

Computing the palyndrome

d0(t0 � t1) = t0

d1(t0 � t1) = t1

with

f0(t0 � t1) = f1(t0, t1) � f1(t1, t0)

f0(c) = 1

f1(t0 � t1, u) = f1(t0, d1(u)) � f1(t1, d0(u))

f1(c, c0) = c == c0

Page 14: Characterizing NCk

Computing the palyndrome

f0(((0 � 1) � (1 � 0)) � ((0 � 1) � (1 � 0)))

= ((1 ? 1) ? (1 ? 1)) ? ((1 ? 1) ? (1 ? 1))

f(t0 � t1, u) = f(t0, d0(u)) � f(t1, d1(u)),

f(c, u) = ^(c,^(d0(u), d1(u)));

AND(t0 � t1) = f(t0, t0 � t1) � f(t1, t0 � t1),

AND(c) = c

Page 15: Characterizing NCk

Computing the palyndrome

Claim:

with

with b = 1 i� t is a palyndrome

b = 0 i� t contains a 0

ANDlog2(n)(f0

(t)) = (((((b � · · · ) · · · )Thus

ANDlog2(n)(t) = (((((b � · · · ) · · · )

Page 16: Characterizing NCk

Time iteration

f(t01 ? t001 , t2, . . . , tk, s, ~u) = h(f(t01, t2, . . . , tk, s, ~u), ~u)

f(c1, t02 ? t

002 , t3, . . . , tk, s, ~u) = f(s, t02, t3 . . . , tk, s, ~u)

...

f(c1, . . . , ci�1, t0i ? t

00i , ti+1, . . . , tk, s, ~u) = f(c1, . . . , ci�2, s, t

0i, ti+1, . . . , tk, s, ~u)

...

f(c1, . . . , ck, s, ~u) = g(s, ~u)

Page 17: Characterizing NCk

MIP+TIk = NCk

Theorem (BKMO): MIP+TIk = NCk

= log

k(n)

· · ·x

k-TIMIP

· · ·

· · ·

ES

Page 18: Characterizing NCk

Rational Bitwise Equations

w[p] = h(�0(p), we1 [�1(p)], . . . , wem [�m(p)])

f(w0, . . . , wk) = w

|w0| = |w|

�0, . . . ,�m some functional transducers on {0, 1}⇤

h is a finite mapping in {0, 1}

Page 19: Characterizing NCk

On the palyndromef(w0) = w

w[p] = XNOR(w0[1(p)], w0[1(p)])

0

0 : 1

1 : 0

1 : 1 :

0

0 : 0

1 : 1

Page 20: Characterizing NCk

MIP = RBE

Theorem : MIP = RBE

Page 21: Characterizing NCk

A proof?

Page 22: Characterizing NCk

Branching automata

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Page 23: Characterizing NCk

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Branching automata

Page 24: Characterizing NCk

0

1

0

1

0

1

0

1

0

1

0

1

0

1

(q0,0,g->(r,00),b->(b,1),r->(r,ε),q’)

Branching automata

Page 25: Characterizing NCk

0

1

0

1

0

1

0

1

0

1

0

1

0

1

(q0,0,g->(r,00),b->(b,1),r->(r,ε),q’)

Branching automata

Page 26: Characterizing NCk

0

1

0

1

0

1

0

1

0

1

0

1

0

1

(q’,1,g->(g,0),b->(b,1),r->(b,11),q’’)

Branching automata

Page 27: Characterizing NCk

0

1

0

1

0

1

0

1

0

1

0

1

0

1

(q’,1,g->(g,0),b->(b,1),r->(b,11),q’’)

Branching automata

Page 28: Characterizing NCk

A proof?

02 14 3

0 : 1

0 : 01 : 0

1 : 1

0 : 1

1 : 0

1 : 1

0 : 0

0 : 01 : 0

Page 29: Characterizing NCk

Functional transducers

MIP == RBE iff FT == BA

Theorem (Elgot and Mezei, 1965): Rational functions are the composition of a sequential

and a co-sequential function

Exercice: compute the finite transducer above with a BA

Page 30: Characterizing NCk

Conclusion

• A small step to NCk

• A longer way to NC0

• An even longer way to ACk