Markov udowodnił, że dowolną funkcję danych wejściowych można obliczyć tylko z negacjami ⌈ log ( n + 1 ) ⌉ . Skuteczna wersja konstrukcyjna została opisana przez Fishera. Zobacz także ekspozycję wyniku z bloga GLL .n⌈log(n+1)⌉
Dokładniej:
Twierdzenie: Załóżmy, że jest obliczany przez obwód C z bramkami g , a następnie jest obliczany przez obwód C ∗ z 2 g + O ( n 2 log 2 n ) bramki i ⌈ log ( n + 1 ) ations negacje.f:{0,1}n→{0,1}mCgC∗2g+O(n2log2n)⌈log(n+1)⌉
Główną ideą jest dodanie dla każdego drutu w C drutu parellelowego w ′ w C ∗, który zawsze przenosi dopełnienie w . Podstawowy przypadek dotyczy przewodów wejściowych: Fisher opisuje, jak zbudować obwód inwersyjny I ( x ) = ¯ x z bramkami O ( n 2 log 2 n ) i tylko negacjami ⌈ log ( n + 1 ) ⌉ . Dla bramek AND obwodu C możemy rozszerzyć awCw′C∗wI(x)=x¯¯¯O(n2log2n)⌈log(n+1)⌉C z a ' = b ' ∨ c " , i podobnie lub bram. NIE bramy w C nic nie kosztują, po prostu zamienić role w i W ' w dół od NOT bramy. W ten sposób cały obwód oprócz obwodu falownika jest monotoniczny.a=b∧ca′=b′∨c′Cww′
AA Markov. O złożoności inwersyjnej systemu funkcji. J. ACM , 5 (4): 331–334, 1958.
MJ Fischer. Złożoność sieci o ograniczonej negacji - krótka ankieta. W
Automata Theory and Formal Languages , 71–82, 1975
Jak obliczyć inwersję bitów za pomocą n negacji2n−1 n
Niech bity zostaną posortowane w kolejności malejącej, tj. I < j oznacza x i ≥ x j . Można to osiągnąć dzięki monotonicznej sieci sortującej, takiej jak Ajtai – Komlós – Szemerédi.x0,…,x2n−1 i<j xi≥xj
Obwód inwersyjny definiujemy dla bitów I n ( → x ) indukcyjnie: W przypadku podstawowym mamy n = 1 i I 1 0 ( → x ) : = ¬ x 0 . Niech m = 2 n - 1 . Zmniejszamy I n (dla 2 m + 1 ) bitów do jednej bramki I n - 1 (dla m2n−1 In(x⃗ ) n=1 I10(x⃗ ):=¬x0 m=2n−1 In 2m+1 In−1 m bitów) i jedna bramka negacji za pomocą bramek i ∨ . Do obliczenia ¬ x m używamy negacji . Dla i < m niech y i : = ( x i ∧ ¬ x m ) ∨ x m + i . Używamy I n - 1 do odwrócenia → y . Teraz możemy zdefiniować I n w następujący sposób:∧ ∨ ¬xm i<m yi:=(xi∧¬xm)∨xm+i In−1 y⃗ In
Łatwo jest zweryfikować to odwrócenie , biorąc pod uwagę możliwe wartości x n i wykorzystując fakt, że → x maleje.x⃗ xn x⃗
Michael J. Fischer, Złożoność sieci o ograniczonej negacji - krótka ankieta, 1975.
źródło