Czy dodawanie można przeprowadzić na głębokości mniejszej niż 5?

21

Stosując algorytm przenoszenia patrzeć w przyszłość możemy obliczyć dodatek za pomocą wielomianu głębokość rozmiar 5 (lub 4?) C 0 rodzinę obwodu. Czy można zmniejszyć głębokość? Czy możemy obliczyć dodanie dwóch liczb binarnych przy użyciu wielomianowej rodziny obwodów o głębokości mniejszej niż uzyskana za pomocą algorytmu carry look forward?AC0

Czy są jakieś super wielomianowe dolne granice dla wielkości rodzin obwodów ACd0 obliczających dodatek, gdzie wynosi 2 lub 3?d

Przez głębokość rozumiem głębokość przemienną.

Anonimowy
źródło
Czy możesz nam powiedzieć, jak się nazywasz? Kim jesteś? Przez ostatni miesiąc ludzie tworzyli tutaj nową nazwę użytkownika, zadawali pytania, a następnie usuwali tę nazwę użytkownika!
Tayfun Zapłać
14
@Geekster, generalnie ludzie nie są zobowiązani do zakładania konta ani używania ich prawdziwych nazwisk (jednak zaleca się to robić z różnych powodów). Jeśli masz ogólne obawy dotyczące czegoś, skorzystaj z Meta teoretycznej w celu podniesienia tego.
Kaveh
4
Może to być brutalnie wymuszone przez sprawdzenie, że żaden obwód AC 0 głębokości- nie może obliczyć ( m + 1 ) -bitowej sumy dwóch m- bitowych wejść dla niektórych stałych m ; istnieje tylko skończona liczba funkcji boolowskich bitów wejściowych, które mogą pojawić się na każdej głębokości. 40(m+1)mm
mjqxxxx,
5
@mjqxxxx: Jak wymusić ograniczenie wielkości wielomianowej w obwodach AC0 podczas brutalnego wymuszania dla ustalonego m? @ OP: Czy obecnie najlepsza głębokość obwodu 4 lub głębokość 5?
Robin Kothari,
14
@mjqxxxx: Każda funkcja boolowska jest obliczalna na podstawie obwodów głębokości . Teraz załóżmy, że można znaleźć dla swojej stałej m obwodzie rozmiar s . Jak oceniasz, czy dla każdego n istnieją obwody o rozmiarze c n , gdzie c = s / m , czy też są tylko obwody o rozmiarze 2 ϵ n , gdzie ϵ = ( log s ) / m ? Po prostu nie ma możliwości wnioskowania o asymptotycznych informacjach na podstawie skończonego przykładu. 2mscnnc=s/m2ϵnϵ=(logs)/m
Emil Jeřábek wspiera Monikę

Odpowiedzi:

13

Zgodnie z Twierdzeniem 3.1 w Alexis Maciel i Denis Therien Obwody progowe o małej większości-głębokości istnieje rzeczywiście obwód o głębokości-3 do obliczania dodania dwóch liczb.

Dokładna związany jest gdzie Δ 2 = Ď 2Õ dwa problemy, które mają głębokość-2 C 0 obwodów z obu , bramy w górę, a N C 0 1 obwody N C 0 obwody o głębokości pierwszej (szczegółowe wyjaśnienie notacji znajduje się w artykule).Δ2NC10Δ2=Σ2Π2AC0,NC10NC0

Głównymi pomysłami na dowód są:

  • Najpierw wyraż obwód Carry-lookahead jako NC0Δ2NC0
  • Następne, uruchom właściwości zamykający napisać to jako hemibursztynianu 2N C 0Δ2Δ2NC0
  • Na koniec skorzystaj z faktu (udowodnionego również w pracy), że NC0Δ1NC10
SamiD
źródło
9

Obwody o głębokości 2 wymagają wielkości wykładniczej do obliczenia sumy, ponieważ obwód o głębokości 2 musi mieć wartość DNF lub CNF i łatwo jest zweryfikować, że istnieje wykładniczo wiele mintermów i maksimów.

Ostrzeżenie : część poniżej jest wadliwa . Zobacz komentarze pod odpowiedzią.

Sposobem liczę to dodanie może być wykonywane w głębi 3. Załóżmy, że a b II TH bity dwóch liczb, gdzie 0 jest współczynnikiem LSB i n MSB. aibii0n

Obliczmy ty kawałek sumy, s i w standardowy sposób z perspektywą przenoszenia:isi

si=aibici

gdzie oznacza XOR, a c i jest przeniesieniem obliczonym jako:ci

ci=jj<i(gjpj)

i oznacza, że j- ta lokalizacja „wygenerowała” przeniesienie:gjj

gj=(ajbj)

a oznacza, że ​​przeniesienie jest propagowane z j do i :pjji

pj=kj<k<i(ajbj)

Licząc głębokość, jest głębokością 2, a c i jest głębokością 3. Chociaż wydaje się, że s i jest głębokością 4 lub 5, to tak naprawdę jest to tylko głębokość 3, ponieważ jest to ograniczone przez Fanina obliczenie obwodów głębokości 3, więc jeden może zepchnąć dwa górne poziomy w dół za pomocą formuł de-Morgana, jednocześnie zwiększając rozmiar obwodu o wielomian.pjcisi

Noam
źródło
4
Nie bardzo rozumiem, jak ograniczone obliczenia Fanin obwodów głębokości 3 są automatycznie głębokością 3. Jeśli, powiedzmy, piszesz jako ( c i¬ ( a ib i ) ) ( ¬ c i( a ib i ) ) , możesz zrobić pierwszy rozłączenie obwodu o głębokości 3 z na górze, a drugi rozłączenie obwodu o głębokości 3 z si(ci¬(aibi))(¬ci(aibi))na szczycie. Nie widzę, jak przesunąć górne rozłączenie w dół bez zwiększania głębokości o jeden, aby uwzględnić rozbieżność między typami połączeń w dwóch częściach. Można temu zaradzić, zauważając, że można również obliczyć w inny sposób za pomocą obwodu o głębokości 3 ...ci
Emil Jeřábek obsługuje Monikę
1
... z na górze. Z drugiej strony wszystkie obwody na głębokości 3 ograniczały dolne wachlowanie, więc nazwałbym je głębokością 2 1/2.
Emil Jeřábek wspiera Monikę
1
To oczywiste. Zwracam uwagę na to, że jak napisano, nie ma tutaj OR dwóch obwodów głębokości z AND na górze. Masz OR z dwóch obwodów d głębokości , z których jeden ma AND na górze, a drugi ma OR na górze. Wątpię, czy takie obwody można ogólnie przekształcić na głębokość d . Pomyśl o wielomianowych wentylatorach AND i OR jako kwantyfikatorach. Możesz wyrazić ( x 1x 2Q x d ϕ ( x 1 , , x d ) ) ( xddd jako formuła prenex zblokami kwantyfikatora d , ale potrzebujeszbloków d + 1, aby wyrazić ...(x1x2Qxdϕ(x1,,xd))(x1x2Qxdψ(x1,,xd))dd+1
Emil Jeřábek obsługuje Monikę
1
... wzór . (x1x2Qxdϕ(x1,,xd))(x1x2Q¯xdϕ(x1,,xd))
Emil Jeřábek wspiera Monikę
5
For an explicit counterexample to the general principle, let fn(x1,,xn) be a family of functions computable by ACd0 circuits with OR on the top requiring super-polynomial depth d circuits with AND on the top (e.g., Sipser functions). Then x0fn do not have ACd0 circuits. Assume for contradiction that Cn(x0,,xn) are such circuits, and that Cn has OR on the top (the other case is symmetric). By setting x0=1, we obtain ACd0 circuits for ¬fn with OR on the top, hence ACd0 circuits for fn with AND on the top, a contradiction.
Emil Jeřábek supports Monica