Czy istnieją x takie, że K (xx) <K (x), gdzie K jest złożonością Kołmogorowa.

16

Niech oznacza złożoność Kołmogorowa ciągu x . Czy istnieje taki ciąg znaków, że K ( x x ) < K ( x ) . (Tutaj x x jest konkatenacją x z samym sobą). Podobny, ale różne pytano tutaj , ale kontrprzykład podane w odpowiedzi na to pytanie nie jest dostępna dla tego jednego.K(x)xK(xx)<K(x)xxx

Sune Jakobsen
źródło

Odpowiedzi:

20

Nie jestem ekspertem od złożoności Kołmogorowa, ale myślę, że takie x można zbudować dla każdej funkcji złożoności K w następujący sposób. Ponieważ 1, 11, 1111, 11111111,…, 1 2 n ,… jest kodowaniem liczby naturalnej n , K (1 2 n ) nie może być o (log n ). Jednak gdy n = 2 m , oczywiście K (1 2 n ) = K (1 2 2 m ) = O (log m ) = O (log log n ). Dlatego sekwencja K (1), K (11), K (1111), K (11111111),…, K ( 12 n ),… nie może być słabo monotonicznie rosnąca, co oznacza, że ​​istnieje strunaxw postaci 1 2 n takiej, że K ( xx ) <K ( x ).

Tsuyoshi Ito
źródło
1
@Tsuyoshi, Czy istnieje ciąg nieściśliwy taki, że K ( x x ) < K ( x ) ? xK(xx)<K(x)
Mohammad Al-Turkistany
Myślę, że i K (1 ^ {2 ^ n}) = Ω (log n) są ze sobą sprzeczne. Ma na myśli: jeśli f ( n ) = o ( log n ), to K ( 1 2 n ) O ( f ( n ) ) . W przeciwnym razie dowód wydaje się w porządku. K(122m)=O(logm)f(n)=o(logn)K.(12)n)O(fa(n))
Sune Jakobsen,
1
To wydaje się działać. Rzeczywiście, myślę, że daje to nieskończoną sekwencję takich ciągów. Jednak albo coś źle rozumiem, albo stwierdzenie reguły łańcuchowej dla złożoności Kołmogorowa, które pojawia się w wikipedii ( en.wikipedia.org/wiki/Chain_rule_for_Kolmogorov_complexity ) jest wtedy błędne. Początkowo myślałem, że definicja wikipedii może tutaj nie mieć zastosowania, ponieważ musisz wiedzieć, gdzie kończy się X, a Y zaczyna, podczas gdy tutaj wydaje się, że nie jest to wymagane, ale gdy Y = X możesz dodać to do opisu w O (1) mówiąc „rozdzielić na środku”.
Abel Molina
@Sune: Notacja Ω (⋅) ma kilka nieco różnych definicji. „K (1 ^ 2 ^ n) = Ω (log n)” w mojej odpowiedzi oznacza „limsup K (1 ^ 2 ^ n) / log n> 0” i nie jest sprzeczne z „K (1 ^ 2 ^ 2 ^ m) = O (log m). ”Zredagowałem odpowiedź, aby wyjaśnić ten punkt. Zobacz także Jakiej definicji asymptotycznej stopy wzrostu powinniśmy uczyć?
Tsuyoshi Ito
1
@turkistany i wszyscy: Zauważ, że zawsze jest prawdą, że K (xx)> K (x) -c dla jakiejś stałej, pomyślałem, że należy to zaznaczyć. Oznacza to również, że potrzebujemy bardzo dokładnej definicji nieściśliwości, jeśli chcemy przestudiować to pytanie. Sądzę, że odpowiedź brzmi: tak, ale nie mam dowodu.
domotorp
2

Tak. Złożoność Kołomogorowa w praktyce zależy od modelu. Maszyna Turinga, program Java, program C ++, ... jeśli w twoim modelu jest pewna specyfika, która pozwala na to w przypadku skończonego zestawu danych wejściowych, nie ma problemu.

Lepszym pytaniem jest, jak wiele z tego zachowania można uniknąć i nadal mieć uniwersalny model.

Chad Brewbaker
źródło
Myślę, że lepszym pytaniem jest: czy takie x istnieje dla wszystkich modeli? Nie wiem, czym jest „model”, ale wydaje się, że odpowiedź Tsuyoshisa działa we wszystkich rozsądnych językach programowania.
Sune Jakobsen,
Możesz przypisać do x x i coś większego dla x i nadal mieć model uniwersalny. 0xxx
Kaveh
1

@Tsuyoshi:

Nie zrozumiałem dobrze twojego dowodu.

K(s) s

TMssss=1111...1=12n+1TMss=12n

Czy twój dowód można zastosować do złożoności Kołmogorowa na bazach TM?

n+1=2mTMssTMsn

(przepraszam, ale nie wiem jak to opublikować jako komentarz)

Marzio De Biasi
źródło
Aby napisać komentarz do posta napisanego przez kogoś innego niż ty, który nie jest odpowiedzią na twoje pytanie, potrzebujesz punktu reputacji co najmniej 50.
Tsuyoshi Ito