Złożoność obwodu funkcji większości

13

Niech będzie funkcją większościową, tj. F ( x ) = 1 wtedy i tylko wtedy, gdy n i = 1 x i > n / 2 . Zastanawiałem się, czy istnieje prosty dowód na następujący fakt (przez „prosty” mam na myśli to, że nie polegałem na metodzie probabilistycznej, jak Valiant 84, ani na sieciach sortujących; najlepiej zapewniając wyraźną, prostą konstrukcję obwodu):f:{0,1}n{0,1}f(x)=1i=1nxi>n/2

można obliczyć na podstawie rodziny obwodów ogłębokości O ( log ( n ) ) , wielkości poli (n), gdzie bramki składają się z bramek NOT, bramek OR z 2 wejściami i bramek AND z 2 wejściami.fO(log(n))

matthon
źródło
6
Może to być interesujące: Igor Siergiejew, Górne granice wielkości formuły funkcji większości ; także tutaj ogłasza nieco lepsze górne granice. Jeśli jednak zapytasz o tylko obwody (nie formuły ), to jak przypomniał mi Igor, każda symetryczna funkcja boolowska (nie tylko większość) ma obwód o głębokości i rozmiarze O ( n ) : wystarczy obliczyć sumę 1 s, i zrealizuj funkcję logiczną zmiennych log 2 n . Dla większości ta ostatnia funkcja jest porównaniem z nO(logn)O(n)1log2n . n/2
Stasys
@Stasys, a obliczenie liczby z nich polega zasadniczo na sortowaniu bitów.
Kaveh

Odpowiedzi:

9

Odpowiedź Kaveh zapewnia odpowiedź na pytanie jak zrobić masz Stwierdził on (i to jest zwykle dowodem na wykazanie, że jest zawarta w N C 1 ). Ale myślałem, że mógłbyś chcieć zadać nieco inne pytanie. Mianowicie dla jednoznacznej formuły monotonicznej wielkości wielomianowej dla większości.TC0NC1

Ponieważ większość jest monotoniczna, wiemy, że można ją obliczyć na podstawie formuły monotonicznej. Istnieją dwie znane konstrukcje monotonicznych wzorów wielomianowych, a mianowicie dwie, o których wspominasz, probabilistyczna konstrukcja Valiant i konstrukcja za pośrednictwem sieci sortujących. O ile mi wiadomo, nie mamy prostszej konstrukcji deterministycznej niż ta zapewniana przez sieci sortujące.

Powiązane z tym jest również następujące. Okazuje się, że większość może być obliczany za pomocą wzorów, który składa się tylko bramy (i bez żadnych stałych!). Konstrukcję probabilistyczną Valianta można dostosować, aby uzyskać takie wzory o głębokości O ( log ( n ) ) . Jednak tutaj nie znamy deterministycznej konstrukcji. W szczególności sieci sortujących nie nadają się do tego (przyczyn technicznych: mają zapewnić wszystkie funkcje progu i działają tylko większość może być obliczona na wszystkim M A J 3 bram). Poczyniono jednak ostatnie postępy w tej kwestii podanej w artykuleMAJ3O(log(n))MAJ3Efektywne wielopartyjne protokoły za pomocą wzorów progów głębokości logów Cohen i in. Tutaj takie formuły są oparte na standardowych założeniach teoretycznych lub kryptograficznych.

Kristoffer Arnsfelt Hansen
źródło
9

Obliczanie ograniczonej wartości progowej ( ) zasadniczo sortuje bity wejściowe.ixik

Jeśli możesz posortować bity, łatwo jest porównać wynik z i obliczyć próg ograniczony.k

Z drugiej strony załóżmy, że mamy obwody do obliczania ograniczonego progu. Możemy przeprowadzić równoległe wyszukiwanie, aby znaleźć liczbę jedynek na wejściu i wyświetlić posortowaną listę.

NC1O(lgn)NC1O(lgn)

Zauważ, że łatwo jest wprowadzić próg ograniczony przy użyciu większości, dodając nowe wejścia 1 i 0 do bramki większości.


AC0AC1NC2

O(lgn)


a,b,cx,ya+b+c=x+y

O(1)

Patrz sekcja 4 i ćwiczenie 4 w

Kaveh
źródło
O(lgn)O(lgn)