Valori attesi della complessità di Kolmogorov in un campione casuale


9

La complessità di Kolmogorov di una stringa non è calcolabile. Tuttavia, in un sottoinsieme casuale di dimensioni di stringhe binarie di lunghezza n , quante sono previste una complessità inferiore a un numero intero n 0 inferiore a n (in funzione di M , n e n 0 )?Mnn0nMnn0


Stai usando la complessità "standard" di Kolmogorov qui o la complessità del prefisso?
Aubrey da Cunha,

In realtà stavo pensando solo alla complessità di Kolmogorov. Stavo indovinando il legato che domotorp menzionato quando si considera l'universo di tutte le stringhe. Non ero chiaro se si potesse produrre un risultato "coerente" per un sottoinsieme casuale arbitrario di dimensione M. Tuttavia, la complessità del prefisso ci porterebbe a un punto di vista diverso? 2noM
vs

Certamente non cambierebbe l'ordine di grandezza, infatti penso che ora la mia risposta sia vincolata per entrambe le versioni.
domotorp,

1
Per ogni e ogni c , la probabilità che una stringa n -bit casuale x abbia una complessità di Kolmogorov K ( x ) n - c è maggiore di 1 - 1ncnxK(x)nc (conc=n-n0). Quindi, in una distribuzione casuale distringheM, dovresti aspettartiM112cc=nn0M stringhe conK(x)<n0... intuitivamente, esiste una probabilità molto alta di scegliere una stringa con elevata complessità di Kolmogorov. M2(nn0)K(x)<n0
Marzio De Biasi,

Risposte:


10

La complessità di Kolmogorov è determinata solo da una costante additiva, quindi non è possibile dare una risposta esatta. Il limite che descrivo qui è ancora più debole.

Naturalmente il numero previsto può essere calcolato facilmente una volta che sappiamo quante delle stringhe n hanno complessità inferiore a n 0 , quindi lasciami rispondere. Di solito è la prima affermazione sulla complessità di Kolmogorov che questo numero è al massimo 2 n 0 - 1 - poiché ci sono solo queste molte stringhe di lunghezza inferiore. D'altra parte, se il tuo programma dice "di lunghezza n , prendi il numero x ", otterrai 2 n 0 - K ( n ) - C stringhe di complessità inferiori a n 0 , dove2nn02n01nx2n0K(n)Cn0 è la versione senza prefisso di Kolmogorov complessità del n (quindi al massimo di log n + log * n + O ( 1 ) ). Più in dettaglio, la stringa contiene prima la descrizione della macchina di Turing che ha preso l'input p x , dove p è la descrizione di un programma senza prefisso che emette n , emette il x numero di lunghezza n , che è O ( 1 ) bit, quindi questo è seguito da p x .K(n)nlogn+logn+O(1)pxnxnO(1)px

Probabilmente è possibile migliorare questi limiti, ma dubito che tu possa ottenere una risposta esatta.


Potresti spiegare un po 'la frase' se il tuo programma dice "di lunghezza n, prendi il numero X" "?
vs

Hai ragione, dovrebbe essere privo di prefissi lì, l'ho corretto.
domotorp,

3

nn02n0K(n0|n)2K(n0|n)+O(1)n0k2kK(k|n)kn0

C(a,b)=K(a|C(a,b))+C(b|a,C(a,b))+O(1).
K()a=nnbk
k=C(b)=C(n,b)+O(1)=K(n|k)+C(b|n,k)+O(1).
bC(b|n,k)=kK(n|k)+O(1)k=kK(n|k)O(2k)b2knC(b|n,k)k+O(1)Ω(2k)C(b|n,k)=k+O(1)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.