Oczekiwane wartości złożoności Kołmogorowa w losowej próbie


9

Złożoności Kołmogorowa łańcucha nie można obliczyć. Jednakże, w losowej podgrupy o rozmiarze dwuskładnikowych ciągi o długości , ile, będą miały mniejszą złożoność niż pewnej liczby całkowitej mniej niż (jako funkcja , i )?Mnn0nMnn0


Czy używasz tutaj „standardowej” złożoności Kołmogorowa czy złożoności prefiksu?
Aubrey da Cunha,

Właściwie myślałem tylko o złożoności Kołmogorowa. Zgadywałem granicę wspomnianą przez domotorp, gdy rozważamy wszechświat wszystkich łańcuchów. Nie było jasne, czy wszystkie „zgodny” wynik dla dowolnego losowego podzbioru wielkości mogą być produkowane. Czy jednak złożoność prefiksu doprowadziłaby nas do innego punktu widzenia? 2noM
do

Z pewnością nie zmieniłoby to rzędu wielkości, w rzeczywistości myślę, że teraz moja odpowiedź jest ograniczona dla obu wersji.
domotorp

1
Dla każdego i każdego prawdopodobieństwo, że losowy bitowy ciąg ma złożoność Kołmogorowa jest większy niż (przy ) . Tak więc w losowym rozkładzie ciągów należy spodziewać się ciągów z ... intuicyjnie, istnieje bardzo duże prawdopodobieństwo wybrania ciągu o wysokiej złożoności Kołmogorowa. ncnxK(x)nc112cc=nn0MM2(nn0)K(x)<n0
Marzio De Biasi,

Odpowiedzi:


10

Złożoność Kołmogorowa jest określana tylko do pewnej stałej addytywnej, więc nie jest możliwe podanie dokładnej odpowiedzi. Granica, którą tu opisuję, jest jeszcze słabsza.

Oczywiście oczekiwanej liczby można łatwo obliczyć, gdy wiemy, ile z łańcuchów ma złożoność mniejszą niż , więc pozwól mi odpowiedzieć na to. Zazwyczaj jest to pierwsze stwierdzenie o złożoności Kołmogorowa, że ​​liczba ta wynosi co najwyżej - ponieważ istnieje tylko tyle ciągów o mniejszej długości. Z drugiej strony, jeśli twój program mówi „o długości , weź liczbę”, to otrzymasz ciągów złożoności mniejszych niż , gdzie jest wolna od prefiksów wersja złożoności Kołmogorowa wynosząca (co najwyżej2nn02n01nx2n0K(n)Cn0K(n)nlogn+logn+O(1)). Bardziej szczegółowo, ciąg zawiera najpierw opis maszyny Turinga, która pobrała wejściowy , gdzie p jest opisem programu bez prefiksu, który wypisuje , wypisuje tą liczbę długości , która jest bitami , a następnie następuje .pxnxnO(1)px

Prawdopodobnie można poprawić te granice, ale wątpię, aby uzyskać dokładną odpowiedź.


Czy mógłbyś wyjaśnić trochę zdanie „jeśli twój program mówi„ o długości n, weź x liczbę ”?
do

Masz rację, tam powinien być prefiks, poprawiłem to.
domotorp

3

Można podać dokładną odpowiedź. Liczba ciągów długościn co najwyżej z (prostą) złożonością n0 jest 2n0K(n0|n), aż do stałego współczynnika. Stąd każdy proces, który losowo wybiera podzbiór, będzie miał, z rozsądnym prawdopodobieństwem, a2K(n0|n)+O(1) część ciągów złożoności mniejsza niż n0. Aby pokazać naszą naszego twierdzenia, wystarczy pokazać, że liczba strun z złożoność równa sięk jest również podany przez 2kK(k|n). Możemy pokazać niezbędny wynik, określając sumę tej wartościk od 1 do n0. Aby to pokazać, używamy wyniku addytywności dla zwykłej złożoności (ze względu na B. Bauwensa i A. Shena. Twierdzenie o addytywności dla zwykłej złożoności Kołmogorowa . Teoria systemów obliczeniowych, 52 (2): 297-302, luty 2013),

C(a,b)=K(a|C(a,b))+C(b|a,C(a,b))+O(1).
Tutaj K()oznacza złożoność Kołmogorowa bez prefiksów. Wybieraniea=nobserwujemy to dla każdego n-bitowy ciąg b złożoności k mamy
k=C(b)=C(n,b)+O(1)=K(n|k)+C(b|n,k)+O(1).
Dlatego dla każdego takiego b mamy C(b|n,k)=kK(n|k)+O(1). Pozwolićk=kK(n|k). Teraz można zauważyć, że są co najwyżejO(2k) takie sznurki bi każdy z leksykograficznie pierwszy 2k sznurki długości n usatysfakcjonować C(b|n,k)k+O(1). A zatemΩ(2k) z nich spełniają C(b|n,k)=k+O(1).
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.