Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák...

Post on 28-Mar-2015

214 views 0 download

Tags:

Transcript of Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák...

Bounded-depth Bounded-depth circuits:circuits:

Separating wires Separating wires from gatesfrom gates

MichalMichal Koucký Koucký

Joint work with: Pavel PudlJoint work with: Pavel Pudlák and ák and Denis ThérienDenis Thérien

2

Boolean circuits:Boolean circuits:

xx11 xx2 2 xx4 4 xx7 7

→→ non-uniform model of time bounded non-uniform model of time bounded computation.computation.

Fundamental question:Fundamental question: How large circuits does How large circuits does one need to compute specific Boolean one need to compute specific Boolean functions, e.g., SAT?functions, e.g., SAT?

3

Size of circuitsSize of circuits== number of gates? number of gates?== number of wires? number of wires?

Different applications use different Different applications use different measuresmeasures counting circuitscounting circuits first order logicfirst order logic oracle gatesoracle gates

Question:Question: Aren’t these two measures Aren’t these two measures indeed the same?indeed the same?

4

Answer:Answer: By counting, these two By counting, these two measures are different:measures are different:

→→ circuits with circuits with ff ( ( nn ) gates can ) gates can compute functions which no circuit compute functions which no circuit with with OO( ( ff ( ( nn )) wires can compute.)) wires can compute.

Question:Question: Is there an interesting Is there an interesting (simple and explicit) function which (simple and explicit) function which demonstrates the difference?demonstrates the difference?

5

Our results:Our results:

Explicit function computable by ACExplicit function computable by AC00 circuits circuits with with OO((nn ) gates but not ) gates but not OO( ( nn ) wires.) wires.

Same for ACSame for AC00[ [ q q ] and ACC] and ACC00 circuits. circuits.

((acac* * bcbc*)**)*

ACAC00 circuits … circuits … constant-depth circuits constant-depth circuits consisting of consisting of polynomially many polynomially many , , , , gates. gates.

ACAC00[ [ q q ] circuits … contain in addition MOD-] circuits … contain in addition MOD-qq gates.gates.

ACCACC00 = = qq AC AC0 0 [ [ q q ].].

6

Precise characterization of regular Precise characterization of regular languages computable by AClanguages computable by AC00 circuits circuits with with OO( ( nn ) wires.) wires.

… … unambiguous languages ( unambiguous languages ( DA DA ))

Same for ACCSame for ACC00..

… … languages with syntactic monoids in languages with syntactic monoids in DODO AbAb . .

→→ New way to analyze New way to analyze communication in circuits.communication in circuits.

7

Related results:Related results:

[RW’91] … poly-log threshold in AC[RW’91] … poly-log threshold in AC0 0 with with OO((nn) ) gates.gates.

[CJ’96] … [CJ’96] … Ajtai’s ACAjtai’s AC00 approximate approximate counting is counting is not in ACnot in AC0 0 with with OO((nn) gates.) gates.

[CFL’83] … all regular languages that are [CFL’83] … all regular languages that are in ACin AC0 0 require only require only OO((n gn g O O((d d ))((n n )) wires.)) wires.

gg11( ( n n ) = log ) = log nn ggdd+1+1( ( n n ) = ( ) = ( ggdd ( ( n n ) )*) )*

8

Communication in Communication in circuitscircuits

9

kk, , XX, , Y Y

||XX|=||=|YY|=|=k k kk disj. paths disj. paths

0< 0< εε 1 1 const.const.||InIn|=||=|OutOut|=|=nn

dd

Super-concentratorsSuper-concentrators

XX

YY

kk

OutOut

InIn

Thm [DDPW, P]:Thm [DDPW, P]: Any super-concentrator of Any super-concentrator of depth depth dd contains at least contains at least ((n gn gd d ((n n )) wires.)) wires.

True even if there are many paths between True even if there are many paths between XX,,YY’s of ’s of special form only.special form only.

10

xx11 xx 22 xx 33 … …

dd

yy11 yy 22 yy 33 … … Circuit lower boundsCircuit lower bounds

22kk possible possible outputsoutputs

22kk possible possible inputsinputs

ACAC00[[] circuit for PREFIX-PARITY.] circuit for PREFIX-PARITY.

PREFIX-PARITY … PREFIX-PARITY … ii-th bit of output is parity of-th bit of output is parity of

the first the first i i bits of the input. bits of the input.

kk

11

Any ACAny AC00[[] circuit of depth ] circuit of depth d d for PREFIX-for PREFIX-PARITY contains PARITY contains ((n gn gd d ((n n )) wires.)) wires.

[CFL’83][CFL’83] Any AC Any AC00 circuit for integer circuit for integer ADDITION contains ADDITION contains ((n gn gd d ((n n )) wires. )) wires.

xx11 x x 22 xx 33 … …

dd

yy11 yy 22 yy 33 … … Circuit lower boundsCircuit lower bounds

22kk possible possible outputsoutputs

22kk possible possible inputsinputs

kk

12

f f ((XX,,Y Y ) of large communication complexity) of large communication complexity

every cut every cut SS that separates information that separates information coming from coming from XX and and YY is large. is large.

polyPtt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/

XX YY

Boolean Boolean functionfunction

SS

13

((XX,,Y Y )-cut)-cut … set … set SS of gates such that of gates such that after removing after removing SS from circuit from circuit CC there is no (there is no (XX,,YY )-path. )-path.

f f ((XX,,Y Y ) has communication ) has communication complexity complexity kk

every (every (XX,,Y Y )-cut in )-cut in CC is of size is of size ( ( k k ))

( ( k k ) vertex disjoint () vertex disjoint (XX,,Y Y )-paths in )-paths in CC..

polyPtt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/

14

Circuit Circuit CCnn computing computing ((acac* * bcbc*)**)*

xx11 xx22 xx3 3 ……

a cca cc … ? … ? … … ? … ? … cc acc a cccc … ? … ? … … ? … ? … c a cc a c … ? …… ? … yy11 yy22

……

kk equally spaced equally spaced aa’s’s

XX = { = {xx1 1 , , xx22 , , xx3 3 …, …, xxkk } } YY = { = {yy1 1 , , yy22 , , yy3 3 …, …, yykk }}

→→ CCnn has to compute bit-wise “complement” has to compute bit-wise “complement” of of xx11xx22xx33……xxkk and and yy11yy22yy33……yykk ..

→→ ( ( k k ) vertex disjoint () vertex disjoint (XX,,Y Y )-paths in )-paths in CCnn..

polyPtt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/

15

Open problemsOpen problems

Is integer ADDITION in ACIs integer ADDITION in AC00 with with linear number of gates?linear number of gates?

Is (Is (acac* * bcbc*)* in AC*)* in AC00 with linear with linear number of gates?number of gates?

polyPtt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/

16

17

polyPtt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/ polyP

tt/

XX

Turning Turning CC into a super- into a super-concentratorconcentrator

YY

YY →→ 22dd+1 copies of +1 copies of CC

18

DADA satisfies: satisfies:

((x y z x y z )) y y ((x y z x y z )) = (= (x y z x y z ))

… … turtle languagesturtle languages… … disj. unions of unambiguous disj. unions of unambiguous 11**aa1 1 22**aa2 2 …… kk**

DO DO satisfies:satisfies:

((x yx y)) ( ( y x y x )) ((x yx y)) = (= (x yx y))

DODO AbAb

… … super-turtle languagessuper-turtle languages… … disj. unions of unambiguous disj. unions of unambiguous LL11aa1 1 LL22aa2 2 ……

LLkk

… … exponent of exponent of M M (how long one has to multiply (how long one has to multiply xx to get idempotent to get idempotent m m 22==mm).).

19

Function in ACFunction in AC00 computable with computable with OO((nn ) ) gates but not with gates but not with OO((nn ) wires:) wires:

mm 22tt – 1– 1 ((ii +1)+1) 22mm –– tt – 1 – 1 ((i i +1)+1) 22mm – – tt – 1– 1

((wwtt ( ( ((xxjj uujj) ) ((yyjj vvjj))))))tt =0 =0 ii =0 =0 jj ==ii 22mm – – tt jj ==ii 22mm – – tt

variables variables xx0 0 , …, … y y0 0 , … , … uu0 0 , … , … vv0 0 , … , … ww0 0 , …. , …. n n == 22mm