Myślę, że twierdzenie o hierarchii wielkości dla złożoności obwodów może być dużym przełomem w tej dziedzinie.
Czy to ciekawe podejście do separacji klasowej?
Motywem tego pytania jest to, że musimy powiedzieć
istnieje pewna funkcja, której nie można obliczyć na podstawie obwodów wielkości f(n) i można ją obliczyć na podstawie obwodu wielkości , gdzie . (i być może coś odnośnie głębokości)f ( n ) < o ( g ( n ) )g(n)f(n)<o(g(n))
więc jeśli , właściwość wydaje się nienaturalna (narusza warunek wielkości). Oczywiście nie możemy użyć diagonalizacji, ponieważ nie jesteśmy w jednolitym otoczeniu.f(m)g(n)≤nO(1)
W rzeczywistości można wykazać, że dla każdego wystarczająco małego (mniej niż 2 n / n ) istnieją funkcje obliczalne dla obwodów o wielkości f ( n ), ale nie przez obwody o wielkości f ( n ) - O ( 1 ) lub nawet f ( n ) - 1 , w zależności od typu dozwolonych bramek.f2n/nf(n)f(n)−O(1)f(n)−1
Oto prosty argument, który pokazuje, że istnieją funkcje obliczalne w rozmiarze ale nie w rozmiarze f ( n ) - O ( n ) .f(n)f(n)−O(n)
Wiemy to:
istnieje funkcja która wymaga złożoności obwodu co najmniej 2 n / O ( n ) , aw szczególności złożoności obwodu większej niż f ( n ) .g2n/O(n)f(n)
funkcja taka, że z ( x ) = 0 dla każdego wejścia x jest obliczalne przez obwód o stałej wielkości.zz(x)=0x
Jeśli dwie funkcje i g 2 różnią się tylko jedno wejście, a ich złożoność obwodu różni się co najwyżej o O ( n )g1g2O(n)
Załóżmy, że jest niezerowe na wejściach N. Zaproszenie takie wejścia x 1 , ... , x N . Możemy rozważyć dla każdego i funkcję g i ( x ), która jest funkcją wskaźnika zestawu { x 1 , … , x i } ; zatem g 0 = 0 a g N = g .gNx1,…,xNigi(x){x1,…,xi}g0=0gN=g
Oczywiście istnieją pewne takie, że g i + 1 ma złożoność obwodu większą niż f ( n ), a g i ma złożoność obwodu mniejszą niż f ( n ) . Ale wtedy g i ma złożoność obwodu mniejszą niż f ( n ), ale większą niż f ( n ) - O ( n ) .igi+1f(n)gif(n)gif(n)f(n)−O(n)
Jak udowadnia się, że istnieją funkcje obliczalne przez obwody o rozmiarze ale nie przez obwody o rozmiarze f ( n ) - O ( 1 ) ? f(n)f(n)−O(1)
William Hoza,
28
Ten wynik można udowodnić za pomocą prostego argumentu liczenia. Rozważ losową funkcję zastosowaną do pierwszych bitów wejścia. Ta funkcja prawie na pewno ma złożoność obwodu ( 1 + o ( 1 ) ) ( 2 k / k ) według argumentu liczącego Riordana i Shannona i dopasowuje górne granice. Zatem wybierając k tak, aby
2 g ( n ) < 2 k / k < f ( n ) / 2 , można było rozróżnić rozmiar gk(1+o(1))(2k/k)k2g(n)<2k/k<f(n)/2 od rozmiaru f ( n ) . Zauważ, że funkcje, o których mowa, niekoniecznie będą obliczalne, ale możemy umieścić je w wykładniczej hierarchii czasu za pomocą standardowych technik (o ile możemy obliczyć odpowiednią wartość k ). Oczywiście nie możemy udowodnić żadnego wiązania większego niż 2 n / n , ponieważ jest to najgorszy przypadek złożoności obwodu dowolnej funkcji. g(n)f(n)k2n/n
Naturalne dowody nie mają zastosowania do tego rodzaju argumentów, ponieważ przedmiotowa właściwość `` nie ma małego obwodu '', co nie jest łatwe do obliczenia z tabeli prawdy funkcji (przypuszczalnie). Nie jest jasne, jak niski w klasach złożoności może być ten rodzaj liczenia. Czy jest jakiś powód, dla którego nie można użyć argumentu liczenia udowodnić dolne granice dla ? Nie żebym o tym wiedział. NE
Bez bezpośredniego powodu, ale wszystkie znane podejścia (implementacje argumentów zliczających) wymagają, aby ostatecznie zweryfikować, czy tabela prawdy danej funkcji ma wysoką złożoność obwodu. algorytm tego problemu byłoby określić N P / p o, l y własności -Natural stosunku P / P ° l Y (która zgodnie z jednym z dokumentów Steven Rudich użytkownika, jest mało prawdopodobne). Oczywiście rozwiązanie tego problemu wydaje się niepotrzebne ...NENP/polyP/poly
Ten wynik można udowodnić za pomocą prostego argumentu liczenia. Rozważ losową funkcję zastosowaną do pierwszych bitów wejścia. Ta funkcja prawie na pewno ma złożoność obwodu ( 1 + o ( 1 ) ) ( 2 k / k ) według argumentu liczącego Riordana i Shannona i dopasowuje górne granice. Zatem wybierając k tak, aby 2 g ( n ) < 2 k / k < f ( n ) / 2 , można było rozróżnić rozmiar gk (1+o(1))(2k/k) k 2g(n)<2k/k<f(n)/2 od rozmiaru f ( n ) . Zauważ, że funkcje, o których mowa, niekoniecznie będą obliczalne, ale możemy umieścić je w wykładniczej hierarchii czasu za pomocą standardowych technik (o ile możemy obliczyć odpowiednią wartość k ). Oczywiście nie możemy udowodnić żadnego wiązania większego niż 2 n / n , ponieważ jest to najgorszy przypadek złożoności obwodu dowolnej funkcji. g(n) f(n) k 2n/n
Naturalne dowody nie mają zastosowania do tego rodzaju argumentów, ponieważ przedmiotowa właściwość `` nie ma małego obwodu '', co nie jest łatwe do obliczenia z tabeli prawdy funkcji (przypuszczalnie). Nie jest jasne, jak niski w klasach złożoności może być ten rodzaj liczenia. Czy jest jakiś powód, dla którego nie można użyć argumentu liczenia udowodnić dolne granice dla ? Nie żebym o tym wiedział.NE
źródło