Zdefiniujmy teraz zbiory wszystkich danych wejściowych o złożoności Kołmogorowa , i zdefiniujmy sekwencję Tutaj jest średnią sekwencją czasu pracy dla , z wyjątkiem przypadków, gdy „rozmiar” danych wejściowych jest złożonością Kołmogorowa, a nie ich długością.n f K n = 1
fKA
Czy istnieją algorytmy, dla których jest asymptotycznie znacząco różne od ? Jeśli tak, to czy występują problemy, których złożoność czasowa zmienia się podczas korzystania z tego innego sposobu analizy algorytmów?f K n
cc.complexity-theory
kolmogorov-complexity
parameterized-complexity
succinct
analysis-of-algorithms
Andrzej
źródło
źródło
Odpowiedzi:
Rozważ funkcję parzystości (lub dowolną inną funkcję, która zależy od wszystkich / większości bitów wejścia). Dla funkcji parzystości . Więc Z drugiej strony, f n = Θ ( n ) . f K n = Θ ( 1T(w)=Θ(|w|)
Zauważ, że . Zatem i . Podobnie, ; dlatego „rośnie bardzo szybko”. Co więcej, to nie trudno zauważyć, że nie jest obliczalny górna granica dla .max w : K ( w ) = n | w | ≥ 2 2 Ω ( n ) f K n ≥ 2 2 Ω ( n ) / 2 n → ∞ K ( 2 … 2 2 n ) = O ( n ) f K nK(22n)=O(n)
źródło
Biorąc pod uwagę zainteresowanie tym pytaniem, pomyślałem, że bardziej pomocne może być wyraźniejsze wskazanie powodu, dla którego nie powinniśmy być wcale zaskoczeni odpowiedzią i starać się podać kierunek dla doprecyzowania pytania. To zbiera i rozwija się w przypadku niektórych komentarzy. Przepraszam, jeśli to „oczywiste”!
Rozważ zestaw ciągów złożoności Kołmogorowa : Istnieje najwyżej takich ciągów, ponieważ istnieją opisów długości . Zauważ jednak, że ten zestaw jest nierozstrzygalny dla ogólnego (w przeciwnym razie moglibyśmy obliczyć po prostu przez iterację od do i sprawdzenie członkostwa w ). Ponadto funkcja rośnie nieobliczalnie szybko. Jest to wariant funkcji bobra zajętego: jaka jest najdłuższa wydajność maszyny Turinga o długości opisun
Teraz, na pytanie Andrzeja, mamy, że , gdzie jest językiem oryginalnym. Tak więc jedynym sposobem uniknięcia zawierającego dane wejściowe bardzo duże w byłoby, gdyby zawierało tylko bardzo nieściśliwe łańcuchy. (Zauważ, że w przeciwnym razie możemy całkowicie zignorować rozróżnienie między analizą najgorszego i średniego przypadku, ponieważ uśredniamy co najwyżej ciągów, ale rozmiar największego ciągu rośnie szybciej niż jakakolwiek obliczalna funkcja . )IK(n)=S∩JK(n) S IK(n) n S 2n n
Wydaje mi się, że prawdopodobnie nie jest możliwe zbudowanie nietrywialnej (tj. Nieskończonej) litery która zawiera tylko nieściśliwe łańcuchy, ale jest rozstrzygalna. Ale nie wiem. Mamy jednak nadzieję, że daje to intuicję, dlaczego nie powinniśmy mieć nadziei, że w większości języków rosło wolniej niż funkcja obliczalna.S fKn
Aby cofnąć się nieco, pytanie polega na porównaniu wydajności na wejściach o długości do wydajności na wejściach, które można skompresować do długości . Ale mamy pojęcia kompresji, które są znacznie łatwiejsze do opanowania (i mniej skuteczne) niż złożoność Kołmogorowa. Prostym sposobem jest podanie obwodu o rozmiarze , który na wejściu liczby binarnej wytwarza ty bit . Zauważ, że tutaj powiększenie wielkości wejściowej jest co najwyżej wykładnicze (obwód o wielkości ma co najwyżej możliwych sygnałów wejściowych).n n n b b w n 2n
Możemy więc przeformułować pytanie, pozwalając I analogicznie zdefiniuj . Powodem nadziei jest to, że większość łańcuchów wymaga obwodu prawie tak dużego jak sam łańcuch i żadne łańcuchy nie są wykładniczo większe niż wymagany obwód. Być może w tym przypadku moglibyśmy znaleźć języki, w których i są podobne asymptotycznie.
Dość blisko spokrewnionym pytaniem jest złożoność niejawnych języków, takich jak IMPLICIT_SAT jest NEXP-zupełny, i zwykle niejawna wersja problemów NP-zupełnych jest NEXP-zupełna. Zdecydowanie IMPLICIT_SAT jest co najmniej tak proste, jak użycie obwodu do wypisania całego , a następnie uruchomienie algorytmu dla SAT na . Jeśli więc dla SAT, to wydaje się to bliskie dostarczenia dowodów, że IMPLICIT_SAT w średnim przypadku jest prawie tak szybko rozstrzygalny, jak SAT w najgorszym przypadku. Ale nie wiem, jak można by bezpośrednio porównać twoje pojęcie z domyślnymi językami, ponieważ pojęcie „najmniejszego obwodu dla
Mam nadzieję, że jest to pomocne / interesujące!
Nie jestem pewien podręcznika, który wspomina o ukrytych problemach, ale oto kilka notatek z wykładów: http://people.seas.harvard.edu/~salil/cs221/spring10/lec8.pdf
źródło
Łatwym przypadkiem wydaje się być to, że język zawiera tylko wyściełane wystąpienia. Gdy otrzymuje się z języka poprzez impregnowanie każde wystąpienie wielkości o symboli może być w obszarze .S L n 2 n - n f K n 2 f nS S L n 2n−n fKn 2fn
źródło