19
Bounded-depth Bounded-depth circuits: circuits: Separating wires Separating wires from gates from gates Michal Michal Koucký Koucký Joint work with: Pavel Pudl Joint work with: Pavel Pudl ák ák and Denis Thérien and Denis Thérien

Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

Embed Size (px)

Citation preview

Page 1: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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

Page 2: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis 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?

Page 3: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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?

Page 4: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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?

Page 5: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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

Page 6: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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.

Page 7: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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

Page 8: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

8

Communication in Communication in circuitscircuits

Page 9: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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.

Page 10: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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

Page 11: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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

Page 12: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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

Page 13: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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/

Page 14: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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/

Page 15: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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/

Page 16: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

16

Page 17: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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

Page 18: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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

Page 19: Bounded-depth circuits: Separating wires from gates Michal Koucký Joint work with: Pavel Pudlák and Denis Thérien

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