Minimalna szerokość drzewa obwodu dla WIĘKSZOŚCI

12

Jaka jest minimalna szerokość drzewa obwodu powyżej {,,¬} do obliczenia MAJ?

Tutaj MAJ :{0,1}n{0,1} wyprowadza 1, jeśli co najmniej połowa jego danych wejściowych to 1 .

Dbam tylko o rozmiar obwodu (powinien być wielomianowy) i że dane wejściowe powinny być odczytywane tylko raz, chociaż rozwarcie bramki wejściowej może być dowolne (ma to decydujący wpływ na szerokość drzewa obwodu - rozgałęzienie programy otrzymane z twierdzeniem Barrington jest od MAJ NC1 , interpretowane jako obwody skośnych, nie pomagają). I oczywiście szerokość drzewa jest najważniejsza. Ja nie dbają o głębokości lub innego parametru.

Niektóre z typowych obwodów dla MAJ obejmują:

  • Obwody Wallace drzewa (egTheorem 8,9 tutaj ), które wykorzystują podstęp 3-do-2, aby umieścić MAJ w NC1 ?
  • Obwody monotoniczne Valianta NC1dla MAJ (np. Twierdzenie 4 tutaj )
  • logO(1)n sieć sortująca głębokość, taka jaksortowanieBatchera
  • Sieć sortująca AKS

Czy któryś z nich ma ograniczoną lub nawet polilogarytmiczną szerokość drzewa?

Lub w rzeczywistości

Czy istnieją powody, by sądzić, że dla MAJ nie ma obwodów o ograniczonej szerokości drzewa?

Zauważ, że każda funkcja obliczana przez drzewa ograniczonej szerokości obwodu mogą być obliczane przez obwodzie nawet gdy nie jest odczytywany jednokrotnego zastrzeżeniem poprzez JansenSarma . Zatem niewiarygodność takiej rodziny obwodów wskazywałoby, że granica ta może być jeszcze bardziej zacieśniona w przypadku obwodów jednokierunkowych.NC1

SamiD
źródło
1
Dlaczego nie jest to trywialne dla żadnego języka ? O ile widzę, formuły (tj. Drzewa) mają szerokość drzewa 1 , czy coś mi brakuje? NC11
Emil Jeřábek
5
Myślę, że OP identyfikuje wszystkie liście drzewa formuły, które odpowiadają tej samej zmiennej, która tworzy cykle.
Sasho Nikolov
1
Obwód dla większości może być zaimplementowany w linii O (log n). Obwód po prostu symuluje algorytm online, który odczytuje jeden bit wejściowy na raz i dodaje 1 do liczby za pomocą bitów O (log n) tylko wtedy, gdy wejście ma wartość 1. Zauważ, że głębokość obwodu wynosi O (n). Zobacz Ryc. 1 ( arxiv.org/pdf/1404.5565v1.pdf ). Obwód o małej głębokości niekoniecznie ma małą szerokość, ponieważ jak zauważył Sasho Nikolov, musisz zidentyfikować węzły odpowiadające tej samej zmiennej wejściowej.
Mateus de Oliveira Oliveira,
@MateusdeOliveiraOliveira Konstrukcja, którą wskazałeś, jest ładna i prosta i jest prawie tym, czego potrzebuję. To, czego naprawdę potrzebuję, to konstrukcja działająca na ograniczonej szerokości drzewa (lub jakieś wskazanie, dlaczego nie jest to możliwe). Poczekam kilka dni, aby zobaczyć, czy jest jakaś inna odpowiedź - w przeciwnym razie (jeśli przekształcisz swój komentarz w odpowiedź) zatwierdzę go.
SamiD
@SamiD Rozszerzyłem ten komentarz na odpowiedź. Nie pisałem wcześniej jako odpowiedzi, ponieważ jest to tylko połowa tego, o co prosiłeś.
Mateus de Oliveira Oliveira

Odpowiedzi:

7

Odpowiadając na połowę pytania Samira.

Niech są DAG i V, 1 , V, 2V dwa podzbiory wierzchołków G . Oznaczamy przez E ( V 1 , V 2 ) zbiór wszystkich krawędzi w G z jednym punktem końcowym w V 1 i drugim punktem końcowym w V 2 . Jeśli ω = ( v 1 , . . . , V n )G=(V,E)V1,V2VGE(V1,V2)GV1V2ω=(v1,...,vn)G

ow(G,ω)=maxi|E({v1,...,vi},{vi+1,...,vn}|
G o w ( G ) = min ωωGG G c w ( G ) G t w ( G ) p w ( G ) c w ( G ) o w ( G ) , p w ( G ) t w ( G ) sol
ow(G)=minωow(G,ω),
GGcw(G)G, niezależnie od tego, czy uporządkowanie jest topologiczne, czy nie. Mamy następującą sekwencję nierówności: gdzie i są odpowiednio pathwidth i treewidth z .
tw(G)pw(G)cw(G)ow(G),
pw(G)tw(G)G

Twierdzimy, że WIELKOŚĆ bitów może być obliczona w -szerokości , a zatem w szerokości . Obwód symuluje algorytm online, który odczytuje jeden bit wejściowy na raz i dodaje do licznika za pomocą bitów wtedy i tylko wtedy, gdy . Na początku licznik jest inicjowany nanO(logn)O(logn)bbO(logn)b=10. Na koniec obwód akceptuje wtedy i tylko wtedy, gdy wartość licznika jest większa niż n / 2. Łatwo zauważyć, że bramki obwodu ADD, który dodaje jeden do rejestru licznika, można uporządkować topologicznie w taki sposób, że ma on stałą szerokość online, ponieważ obwody te muszą po prostu realizować operację kontynuacji. Cały obwód jest sekwencją obwodów gdzie wyjście jest podłączone do wejścia , a wyjście jest podłączone do wejście COMP. Teraz, jeśli topologicznie uporządkujemy całkowity obwód w taki sposób, że wszystkie bramki pojawią się przed bramami i wszystkimi bramkamiC=(ADD1,ADD2,...,ADDn,COMP)ADDiADDi+1ADDnCADDiADDi+1ADDn pojawia się przed bramkami COMP, wówczas ta kolejność topologiczna ma szerokość online . Konstrukcja ta jest zilustrowana na rycinie 1 mojego papieru, aby pokazać, że wzmocnienie prawdopodobieństwa można wykonać w logarytmicznej szerokości online.O(logn)

Obs: Głębokość obwodu C wynosi .O(n)

Mateus de Oliveira Oliveira
źródło
Na marginesie, robienie tego samego obwodu, ale jako binarne drzewo (z wyjściem na root), a nie ścieżka daje obwodu z treewidth O (log n) i głębokość O (log n)
Daniello
1
Wydaje się, że bezpośrednie tłumaczenie na drzewa dałoby głębokość O ((log n) ^ 2), ponieważ potrzebowalibyśmy głębokości O (log n) dla każdego sumatora. Ale prawdą jest, że szerokość będzie wynosić O (log n).
Mateus de Oliveira Oliveira
Oczywiście masz rację, dzięki! Wydaje się, że jeśli dodatki zostaną zaimplementowane jako DNF, to otrzymamy szerokość i głębokość O (log n), ale rozmiar . O(n3)
daniello
rzeczą w reprezentowaniu sumatora jako DNF jest to, że może potencjalnie zwiększyć szerokość, ponieważ teraz każda zmienna będzie współdzielona (na pierwszy rzut oka wielomianowo) z wieloma klauzulami. Twoja sugestia zmniejszenia głębokości do O (log n) zadziałałaby, gdybyś mógł wykazać, że dodanie dwóch liczb za pomocą bitów O (log n) można wykonać na stałej głębokości i logarytmicznej szerokości.
Mateus de Oliveira Oliveira
Cóż - dla każdej funkcji logicznej w bitów wejściowych i bitów Wyjście DNF ma głębokość , rozmiar , a treewidth ponieważ usuwanie Gates wejście + wyjście pozostawia niezależnego zestawu ...ab22a+a+ba+b
daniello,
5

Odpowiadając na drugą połowę pytania - oto szkic próbny dla dolnej granicy szerokości dla pewnej stałej . Granica jest niezależna od wielkości lub dowolnego innego aspektu obwodu. W pozostałej części argumentu jest obwód, to szerokość a to liczba bramek wejściowych.clogncCtCn

Pierwszym krokiem jest użycie zrównoważonego lematu separatora do wykresów ograniczonej szerokości . Bramy (w tym bramki wejściowe) obwodu można podzielić na trzy części , i , tak że a zarówno jak i zawierają co najmniejbramy wejściowe i między i nie ma łuków (drutów) .R S | S | t + 1 L R n / 3 - | S | L R.LRS|S|t+1LRn/3|S|LR

W pozostałej części dowodu jedyną właściwością obwodu, której będziemy używać, jest podział na partycje - więc dowód faktycznie daje dolną granicę wielkości zrównoważonego separatora jak powyżej.S

Mając na rękę zbudować obwód z , jak następuje: do każdej bramki w wykonać dwa kolejne bramy i i dokonać i paszy w . Dla wszystkich drutów prowadzących do od zamiast tego przejść do . Dla wszystkich drutów prowadzących do od zamiast tego przejść do . Niech (L,S,R)CCgSgLgRgLgRggLgLgRgR

S={g,gL,gR:gS}.

Dla każdego z przypisań do utwórz obwód, który wyprowadza 1, jeżeli (a) przypisanie do bramek wejściowych powoduje, że wyjście prawdziwe, a (b) przypisanie do bramek wejściowych ustawia wszystkie wartości bramy jak się domyślam. Wywołaj te obwody , , dla . Zauważ, że obwód naturalnie rozpada się na dwa i tak, że zależy tylko od bram wejściowych , zależy tylko od bram wejściowych2|S|SCSC1C2C3Cxx8tCiCiLCiRCiLLSCiRRS i dla każdego przyporządkowania do bram wejściowych mamy tę .Ci=CiLCiR

Ponieważ każde przypisanie do bram wejściowych jest zgodne z pewnym przypuszczeniem, co dzieje się w , mamy . Mamy więc ponownie napisany Obwód jako OR (z Fanin I) i na (z Fanin ), gdzie i numer bramy jest podawany na wyjście i odpowiednio.SC=C1C2C3CxC8t2iCiLCiR

Niech będzie zbiorem najwyższych bramek AND. Najpierw udowodnimy, że. Daje to prostą dolną granicę . Udowodnimy wtedy lepszą więź.Z2|Z|n/3|S|loglognt


Załóżmy, żeI przejąć wlog że zawiera mniej bramek wejściowych niż . Zatem zarówno jak i zawierają co najmniejbramy wejściowe. Zgodnie z zasadą gołębnika istnieją dwie różne liczby i tak że istnieją dwa różne przypisania do bramek wejściowych , jedna, która ustawia gates na prawdę, jedna, która ustawia , tak, że obwody , wszystkie to samo. Ale istnieje przypisanie do bram wejściowych w2|Z|<n/3|S|LRLRn/3|S|ijLijC1LC2LCxLRtak, że MAJORITY wyprowadza FAŁSZ, jeśli bramki w są ustawione na true, a MAJORITY wyprowadza PRAWDA, jeśli bramki w są ustawione na true. To jest sprzeczność, a więc co sugeruje, że szerokość wynosi co najmniej .iLjL2|Z|n/3|S|loglogn


Teraz pokazujemy lepszą granicę:. Załóżmy wlog że zawiera mniej bramek wejściowych niż . Zatem zarówno L, jak i R zawierają co najmniejbramy wejściowe. Rozważmy „fałszywe” przypisanie do . Niech będzie najmniejszą liczbą bramek wejściowych które muszą być ustawione na true, tak aby MAJ wyprowadzał PRAWDA, biorąc pod uwagę, że wszystkie jest ustawione na fałsz.|Z|n/3|S|LRn/3|S|LrRL

Ponieważ ustawienie na fałszywe i dokładnie wejściowe bramy do TRUE marki większościowych nie musi być pewne w taki sposób, wyjść TRUE wlog to . Wszystkie przypisania do z bramkami wejściowymi mniejszymi niż true muszą ustawić na false. Ponieważ ustawienie bramki wejściowej na true i bramek wejściowych na true powoduje, że wyjście MAJORITY , ustawienie bramki na true musi powodować co najmniej jednąr R 1 i C L i C L 1 R r C R 1 1 L r - 1 R 1 1 L C L i i 1 i = 2 R r - 2 C R 2 r | Z | r n / 3 - | S | c log n tLrR1iCiLC1LRrC1R1Lr1R11LCiL outpur true dla . wlog możemy założyć . Następnie wszystkie przypisania do które ustawiają co najwyżej bramki wejściowe na true, muszą ustawić na false, i tak dalej - możemy powtórzyć ten argument razy. Ale to oznacza, że, dając dolną granicę dla .i1i=2Rr2C2Rr|Z|rn/3|S|clognt

[Zdaję sobie sprawę, że ten szkic jest nieco falowany w niektórych miejscach, zapytaj, czy coś jest niejasne ...]

Daniello
źródło