Naprawmy kodowanie maszyn Turinga i uniwersalnej maszyny Turinga U, która na wejściu (T, x) wypisuje dowolne T na wejściu x (być może oba działają wiecznie). Zdefiniuj złożoność Kołmogorowa dla x, K (x), jako długość najkrótszego programu, p, tak aby U (p) = x.
Czy istnieje takie N, że dla wszystkich n> N istnieje x z K (x) = n?
Uwaga. Jeśli zdefiniujemy uniwersalne maszyny Turinga w inny sposób, odpowiedź może być przecząca. Na przykład rozważmy U, które na wejściu (T, x) symuluje T na x, jeśli długość (T, x) jest podzielna przez 100, a poza tym nic nie robi. Można zmodyfikować ten przykład na kilka sposobów, aby uzyskać kontrprzykłady dla różnych definicji uniwersalnych maszyn Turinga.
cc.complexity-theory
universal-computation
kolmogorov-complexity
universal-turing-machines
domotorp
źródło
źródło
Odpowiedzi:
Tylko rozszerzony komentarz bez głębokiego wglądu: być może możesz oszukać kodowanie maszyny Turinga i zbudować sztuczne kodowanie, które prowadzi do zaskakującej złożoności Kołmogorowa:
Odpowiednia uniwersalna TM na wejściubx sprawdza, jaka jest wartość b , Jeśli to jest 0 wtedy po prostu wyprowadza x+1 , w przeciwnym razie symuluje TM Mx+1 (M0 kiedy x jest pustym ciągiem); zwróć uwagę, żeMx+1 osadza dane wejściowe.
Dla wszystkich łańcuchówx , 1≤K(x)≤|x|+1 ; i dla wszystkichn≥1 tam są 2n sznurki długości n ale są tylko 2n−1−1 programy długości <n które można przedstawić za pomocą 1p kodowanie; i tylko2n−1 programy długości n które można przedstawić za pomocą 1p kodowanie; więc przynajmniej ciągx′ długości n nie może być reprezentowany przez program 1p długości ≤n ; ale z pewnością można to przedstawić w programie0x′ długości n+1 (nie martwimy się, jeśli istnieje również program 1p o tej samej długości n+1 to generuje).
Możemy stwierdzić, że dla wszystkichn>1 istnieje łańcuch x′,|x′|=n takie, że K(x′)=n+1 (więc ten konkretny K jest zaskakujący).
źródło