Czy istnieją znane funkcje z następującą właściwością sumy bezpośredniej?


15

To pytanie można zadać albo w ramach złożoności obwodów obwodów boolowskich, albo w ramach teorii złożoności algebraicznej, lub prawdopodobnie w wielu innych ustawieniach. Łatwo jest wykazać, licząc argumenty, że istnieją funkcje logiczne na wejściach N, które wymagają wykładniczo wielu bramek (choć oczywiście nie mamy żadnych wyraźnych przykładów). Załóżmy, że chciałbym oszacować tę samą funkcję M razy, dla jakiejś liczby całkowitej M, na M różnych zestawach danych wejściowych, tak aby całkowita liczba danych wejściowych wynosiła MN. Oznacza to, że po prostu chcesz ocenić dla tej samej funkcjiF,w każdym momencie.f(x1,1,...,x1,N),f(x2,1,...,x2,N),...,f(xM,1,...,xM,N)f

Pytanie brzmi: czy wiadomo, że istnieje ciąg funkcji (jedna funkcja dla każdego N), tak że dla dowolnego N, dla dowolnego M, całkowita wymagana liczba bramek jest co najmniej równa M razy funkcja wykładnicza N? Prosty argument liczenia nie wydaje się działać, ponieważ chcemy, aby ten wynik był ważny dla wszystkich M. Można wymyślić proste analogi tego pytania w teorii złożoności algebraicznej i innych obszarach.f

Odpowiedzi:


13

Cóż, to nieprawda: możliwe jest oszacowanie M kopii KAŻDEGO f przy użyciu tylko bramek O (N (M + 2 ^ N)), które mogą być znacznie mniejsze niż M * exp (N) (w rzeczywistości amortyzacja liniowa jest amortyzowana złożoność wykładniczego M). Nie pamiętam referencji, ale myślę, że może ona wyglądać następująco:

Najpierw dodaj 2 ^ N fikcyjnych danych wejściowych, które są tylko stałymi 0 ... 2 ^ N-1, a teraz oznaczają i-te N-bitowe wejście xi (więc dla i <= 2 ^ N mamy xi = i, a dla 2 ^ N <i <= 2 ^ N + M mamy oryginalne dane wejściowe). Teraz tworzymy tryplet dla każdego z wejść M + 2 ^ N: (i, xi, fi), gdzie fi to f (i) dla pierwszych wejść 2 ^ N (stała, która jest wbudowana w obwód), a fi = "*" Inaczej. Teraz sortujemy trojaczki (i, xi, fi) zgodnie z kluczem xi i pozwólmy, aby j-ta trójka była (i_j, x_j, f_j) z tego obliczamy trójkę (i_j, x_j, g_j), pozwalając g_j być f_j jeśli f_j nie jest „*” i niech g_j będzie g_ (j-1) w przeciwnym razie. Teraz posortuj nowe trojaczki z powrotem według klucza i_j, a otrzymasz poprawne odpowiedzi w odpowiednich miejscach.


Sprytny! Jedna drobna rzecz: musimy stabilnie sortować trojaczki (lub inną metodą, która gwarantuje, że trojaczki z fi ≠ „ ” przyjdą wcześniej niż trojaczki z fi = „ ”).
Tsuyoshi Ito,

Bardzo sprytne i dzięki. Czy jednak coś podobnego działa w ustawieniu złożoności algebraicznej, czy nie?
mat hastings

1
Myślę, że innym sposobem, aby powiedzieć to w przypadku, gdy M przechodzi w nieskończoność, jest to, że możesz zainwestować 2 ^ N * 2 ^ N czas w budowę tabeli skrótów dla wszystkich wartości f, a następnie możesz obliczyć każdą kopię w O (N ) czas. Myślę, że jest jeszcze jeden powód, dla którego przynajmniej nie powinniśmy wiedzieć, czy coś takiego jest prawdziwe, nawet w przypadku łagodniejszych wartości N, a mianowicie, że dałoby to lepsze niż znane dolne granice. Będziesz w stanie skonstruować funkcję z dolną granicą superliniową przez pierwsze brutalne wymuszenie znalezienia funkcji na wejściach n '= log n (lub może n' = loglog n) o dużej złożoności, a następnie wzięcie n / n kopii .
Boaz Barak

1
W powyższym argumencie, dlaczego takie wyniki prowadzą do niższych granic, nie wiem, czy liczba powtórzeń jest naprawdę mniejsza, ale dotyczy to również pól nieskończonych.
Boaz Barak,

Cześć Boaz, W rzeczywistości twój komentarz jest właśnie powodem, dla którego interesowałem się istnieniem tych funkcji. Istnieje jednak subtelny punkt, „brutalne zmuszanie”. Mogłoby być (do czego zmierza moje pytanie), że takie funkcje istnieją, ale nie mamy algorytmu, który pozwoliłby nam wykazać, że dana funkcja ma tę właściwość. W końcu wydaje się, że nie ma sposobu na brutalną siłę własności, która ma taką dolną granicę dla wszystkich M, ponieważ trzeba by sprawdzić nieskończoną liczbę różnych obwodów. Być może takie funkcje istnieją dla nieskończonych pól, ale nie możemy tego pokazać.
mat hastings

10

Jest jeszcze jeden wynik, który dodatkowo ogranicza możliwości tego rodzaju zjawiska sumy bezpośredniej, którego szukasz. Dobrze znany wczesny wynik Shannona (zaostrzony przez Lupanova) wykazał, że wszystkie funkcje boolowskie są obliczalne na podstawie obwodów o wielkości , a argumentacja Shannona, że ​​jest to funkcja losowa, jest ścisła. Można by pomyśleć, że przynajmniej dla umiarkowanych wartości m złożoność obwodu obliczeń m wystąpień losowego f skalowałaby się jako m 2 n / n . Jednak Dietmar Uhlig pokazał się wO(2n/n)mmfm2n/n

„Sieci obliczające funkcje boolowskie dla wielu wartości wejściowych”

m=2o(n/logn)mfO(2n/n)m=1

Nie mogę znaleźć niechronionej kopii online ani strony głównej dla autora, ale natknąłem się na artykuł w tym postępowaniu:

Boolean Function Complexity (London Mathematical Society Lecture Note Series)


Dzięki! Czy nie było pytania o paradoksy w TCS? Może to również służyć jako odpowiedź :)
arnab,

Dziękuję również za tę odpowiedź. Nie mogąc odczytać postępowania, domyślę się, że podobnie jak w poprzedniej odpowiedzi, może on polegać na skończonej liczbie możliwych danych wejściowych, więc ponownie to samo pytanie uzupełniające jak powyżej: co z przypadkiem złożoności algebraicznej?
mat hastings

Wydaje się, że Shannon najpierw udowodnił górną granicę O (2 ^ n / n); Łupanow uzyskał właściwą wiodącą stałą. Poprawiłem to. Szczegóły zostały wyjaśnione w „Sprawdzanie granic wielkości obwodu najtrudniejszych funkcji” Frandsena i Miltersena.
Andy Drucker,

5

Jeśli chodzi o złożoność algebraiczną, nie znam przykładu, w którym złożoność wykładnicza sprowadza się do sub-wykładniczej zamortyzowanej złożoności, ale przynajmniej istnieje prosty przykład, że złożoność M rozłącznych kopii może być znacznie mniejsza niż M razy złożoność pojedynczej kopii :

Dla „losowej” n * n macierzy A złożoność postaci dwuliniowej zdefiniowanej przez A (funkcja f_A (x, y) = xAy, gdzie x i y są 2 wektorami o długości n) wynosi Omega (n ^ 2 ) - może to być pokazane przez argument wymiaru „zliczający”, ponieważ potrzebujesz n ^ 2 „miejsc” w obwodzie, aby wstawić stałe. Jednak biorąc pod uwagę n różnych par wektorów (x ^ 1, y ^ 1) ... (x ^ n, y ^ n), możesz umieścić x w rzędach macierzy X * n macierzy, i podobnie y do kolumn macierzy Y, a następnie przeczytaj wszystkie odpowiedzi x ^ iAy ^ i z przekątnej XAY, gdzie jest to obliczane w operacjach n ^ 2.3 (lub tak) przy użyciu szybkiego mnożenia macierzy, znacznie mniej niż n * n ^ 2.


Dzięki, znam ten przykład. Podobny jest fakt, że w jednej zmiennej istnieją wielomiany stopnia n, które wymagają czasu n do oceny w danym punkcie (choć nie sądzę, że istnieją wyraźne przykłady, czy się mylę?) Jednak można ocenić taki wielomian na n punktów w czasie n log ^ 2 (n).
mat hastings

1
Znalazłem dwa artykuły z lat 80. na temat algebraicznego problemu sumy bezpośredniej: „O ważności hipotezy sumy bezpośredniej” Ja'ji i Takche oraz „O rozszerzonej hipotezie sumy bezpośredniej” Bshouty'ego. Nie mogę streścić ich treści, ale być może będą one pomocne.
Andy Drucker,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.