Obwody arytmetyczne z tylko jedną bramką progową

21

Gdy ogranicza się do wejść - , każdy -circuit oblicza jakąś funkcję . Aby uzyskać funkcję logiczną , możemy po prostu dodać jedną bramkę progową fanin-1 jako bramkę wyjściową. Na wejściu wynikowy próg - obwód wyprowadza następnie jeśli , i wyprowadza jeśli ; próg może być dowolną liczbą całkowitą dodatnią, która może zależeć od01{+,×}F(x1,,xn) a { 0 , 1 } n { + , × } 1 F ( a ) t 0 F ( a ) t - 1 t = t n nF:{0,1}nNa{0,1}n {+,×}1F(a)t0F(a)t1t=tnnale nie na wartościach wejściowych. Powstały obwód oblicza pewną (monotoniczną) funkcję boolowską .F:{0,1}n{0,1}

Pytanie: Czy progi -obwody mogą być skutecznie symulowane przez -circuits? {+,×}{,}

Pod „wydajnie” mam na myśli „z wielomianowym wzrostem wielkości”. Odpowiedź brzmi „tak” dla progu : wystarczy zastąpić przez , przez i usunąć ostatnią bramkę progową. Oznacza to, że -obwody są w rzeczywistości progiem -obwody. Ale co z większymi progami, powiedzmy, ? t=1+×{,}1 {+,×}t=2

Można zdefiniować arytmetyczne analogi większości klas obwodów boolowskich po prostu używając zamiast OR, zamiast AND i zamiast . Na przykład, obwody to -obwody o stałej głębokości z nieograniczonymi bramkami fanin i oraz wejściami i . Agrawal, Allender i Datta wykazały, że ten próg = . (Przypomnij sobie, że sam jest poprawny#CC+×1xix¯i#AC0{+,×}+×xi1xi#AC0TC0AC0podzbiór ; weźmy, powiedzmy, funkcję większości). Innymi słowy, obwody progowe o stałej głębokości można skutecznie symulować za pomocą obwodów o stałej głębokości , z tylko jedną bramą progową! Zauważ jednak, że moje pytanie dotyczy obwodów monotonicznych (bez minusów „ ” jako bramek, a nawet bez jako wejść). Czy w takim razie jedna (ostatnia) brama progowa może być tak potężna? Nie znam tego, więc wszelkie powiązane wskazówki są mile widziane. TC0{+,,×}1xi

Uwaga: istnieje jeszcze inny interesujący wynik związany z Arnoldem Rosenbloomem: obwody z tylko jedną funkcją monotoniczną ponieważ bramka wyjściowa może obliczyć każdą funkcję wycinka za pomocą bramek . Funkcja wycinka jest monotoniczną funkcją logiczną, która dla niektórych ustalonych wartości wyprowadza (odpowiednio ) na wszystkich wejściach z mniejszą liczbą (odpowiednio, więcej) niż . Z drugiej strony, łatwe liczenie pokazuje, że większość funkcji wycinania wymaga ogólnych -obwodów o wykładniczej wielkości. Zatem jedna „niewinna” dodatkowa bramka wyjściowa może{+,×}O ( n ) k 0 1 k { , , ¬ }g:N2{0,1}O(n)k01k{,,¬}uczyń obwody monotoniczne wszechmocnymi! Moje pytanie dotyczy tego, czy może się tak zdarzyć, gdy jest bramą progową dla fanin- . 1g:N{0,1}1


AKTYWIZACJA (dodano 03.11.2014): Emil Jeřábek pokazał (poprzez zadziwiająco prostą konstrukcję, patrz jego odpowiedź poniżej), że odpowiedź brzmi „tak”, o ile dla stałej . Pytanie pozostaje otwarte tylko dla progów wielomianowych (w ). ctnccn

Zwykle w aplikacjach działają tylko duże progi: zwykle potrzebujemy progów w postaci dla . Powiedzmy, że jeśli zlicza liczbę ścieżek - na wykresie określonych przez wejście - , to dla o The threshold- wersja rozwiązuje istnienie Hamiltona - problemu ścieżki na wykresy -Vertex (patrz, na przykład tutaj ). ϵ > 0 F : { 0 , 1 } nN s t 0 1 t = m m 2 m n 1 /2nϵϵ>0F:{0,1}nN st01t=mm2 TFstmmn1/3tF stm

(Dodano 14.11.2014): Ponieważ Emil odpowiedział na dużą część mojego pytania, a ponieważ sprawa progów wykładniczych nie jest widoczna, teraz akceptuję (bardzo miłą) odpowiedź Emila.


Stasys
źródło
Poczekaj… wykładniczy rozmiar? Myślę, że można zaimplementować funkcję plasterka w rozmiarze wielomianowym za pomocą bramek boolowskich, to tylko formuła (która nie może ponownie użyć wyników pośrednich więcej niż jeden raz), która musi mieć wielkość wykładniczą.
Zsbán Ambrus
@ Zsbán Ambrus: Istnieje co najwyżej obwód o rozmiarze , ale co najmniej różne funkcje slice już dla ; a, b dodatnie stałe. S 2 2 b n k k = n / 2SaSS22bnkk=n/2
Stasys
Próg 2, a bardziej ogólnie progi ograniczone przez , można skutecznie symulować wykonując obliczenia w trakcie semirowania . ( { 0 , , t } , min { x + y , t } , min { x y , t } )2nc({0,,t},min{x+y,t},min{xy,t})
Emil Jeřábek wspiera Monikę
2
Otrzymujesz obwody bezpośrednio. Wymienić każdy węzeł z węzłów , gdzie oblicza logiczny źródłowe . (Nie potrzebujesz ponieważ oblicza stałą , ale upraszcza to poniższe wyrażenie.) W tej reprezentacji i można symulować za pomocą obwodów o rozmiarze : np. jeśli , to . c t + 1 c 0 , , c t c i c i c 0 1 + { , },ct+1c0,,ctcicic01+{,}c = a + b c i = j + k i ( a jb k )O(t2)c=a+bci=j+ki(ajbk)
Emil Jeřábek wspiera Monikę
1
@Emil Jeřábek: Very nice! Dodałem teraz uwagę na ten temat. Właściwie może warto postawić ten komentarz jako odpowiedź: przypadek progu wielomianowego również nie był od razu jasny (przynajmniej dla mnie).
Stasys

Odpowiedzi:

16

Odpowiedź brzmi „tak”, jeśli . Mówiąc bardziej ogólnie, próg obwód o rozmiarze z progiem może być symulowany przez obwód o rozmiarze . { + , } s t { , } O ( t 2 s )t=nO(1){+,}st{,}O(t2s)

Najpierw zauważ, że wystarczy ocenić obwód w z obciętym dodawaniem i mnożeniem: w szczególności, jeśli , to i również, lub .a , a t a + b , a + b t a b , a b t a b = a b ( = 0 ){0,,t}a,ata+b,a+btab,abtab=ab(=0)

Mając to na uwadze, możemy zasymulować obwód z logicznym obwodem monotonicznym, zastępując każdy węzeł węzłami , gdzie ma obliczyć predykat . (Potrzebujemy tylko dla wygody notacji, to oblicza funkcję stałej ) Jeśli jest boolowską zmienną wejściową , przyjmujemy , . Jeśli jest bramą dodawania, powiedzmy , implementujemy ją poprzez Bramki mnożenia są obsługiwane w ten sam sposób.c 0 , , c t c i c icc0,,ctcici 1 c x c 1 = x c 2 = = c t = 0 c c = a + b c i = j , k t j + k i ( a jb k ) .c01cxc1=xc2==ct=0cc=a+b

ci=j,ktj+ki(ajbk).

Wymaga to bramek na jedną bramkę oryginalnego obwodu. Jako drobną optymalizację możemy zredukować ją do , wprowadzając dzięki czemu każdy jest używany jako dane wejściowe tylko jednego z bramy.O ( t 2 ) c tO(t3)O(t2) ajbk

ct=j+kt(ajbk),ci=ci+1j+k=i(ajbk),i<t,
ajbkci
Emil Jeřábek wspiera Monikę
źródło