complexit é de kolmogorov-chaitin des séquences courtes

53
Complexité de Kolmogorov-Chaitin des séquences courtes Hector Zenil Travail avec JP Delahaye [email protected] Laboratoire d’Informatique Fondamentale de Lille

Upload: krikor

Post on 25-Feb-2016

47 views

Category:

Documents


0 download

DESCRIPTION

Laboratoire d’Informatique Fondamentale de Lille. Complexit é de Kolmogorov-Chaitin des séquences courtes. H ector Zenil Travail avec JP Delahaye [email protected]. Plan. Courte introduction au problème des séquences courtes. Présentation de notre approche pour résoudre le problème. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Complexité de Kolmogorov-Chaitin des séquences courtes

Hector ZenilTravail avec JP Delahaye

[email protected]

Laboratoire d’Informatique Fondamentale de Lille

Page 2: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Plan– Courte introduction au problème des séquences courtes.

– Présentation de notre approche pour résoudre le problème.

– Résultats de nos premières expériences.

– La fonction D(n) et son calcul.– Comparaisons statistiques.– Les conjectures de convergence.– Les sources physiques.

Page 3: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Le contenu aléatoire d‘une séquence a été défini vers 1965 sous le

nom de :

Complexité de Kolmogorov ou de Kolmogorov-Chaitin, ou complexité

algorithmique

Page 4: Complexit é de Kolmogorov-Chaitin  des séquences courtes

DéfinitionLa complexité de Kolmogorov K(s) d'une séquence binaire finie s pour une machine de

Turing M est :

KM(s) = min{|p|, M(p)=s}C’est la taille du plus court programme en M qui produit s

Page 5: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Ces deux programmes en Mathematica produisent la même chaîne (la séquence de Thue-Morse)

• Mod[Table[ 1/2 (-1)^n + (-3)^n Sqrt[ Pi] Hypergeometric2F1[3/2, -n, 3/2 - n, -1/3]/ (4 n! Gamma[3/2 - n]), {n, 0, 2^7 - 1}], 2]

• Nest[Join[#,1-#]&,{1},7]

1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1, …

Page 6: Complexit é de Kolmogorov-Chaitin  des séquences courtes

La définition est robusteThéorème d'invariance :

Si L et M sont deux machines de Turing, et si on note KL(s) et

KM(s) la complexité de Kolmogorov quand on utilise L ou M, alors il existe une constante CLM telle que pour toute suite binaire finie s :

| KL(s) - KM(s) | < CLM

(On utilise la possibilité d’écrire en L un compilateur pour M, et réciproquement)

Page 7: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Opposer le simple au complexe

La complexité de la séquence de chiffres: 01010101010101010101010101…

est plus petite que la complexité de la séquence:

265358979323846264338327950…

Page 8: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Simple vs. Complexe…

La première séquence peut être produite par un programme court:

n=1;while(n<4,print[01];n++)

Par contre, le programme pour produire la deuxième séquence est

plus long (chiffres de Pi).

Page 9: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Séquences aléatoiresUne séquence aléatoire est donc une séquence dont le plus petit programme (écrit en binaire) qui l’engendre a la même taille au moins que la séquence

originale.

Parmi toutes les 2n séquences de 0 et 1 de taille n, il y a

Sum1n-1(2i) = 1+2+4+ … +2n-1 = 2n-1 programmes de taille plus petite que n.

Page 10: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Distribution des séquences aléatoires…

• Cela veut dire que la moitié ne peuvent pas être comprimés de plus d’un chiffre!

Sum1n-2(2i) = (2n/2)-1

• Et moins d’un sur quatre Sum1n-3(2i) =

(2n/4)-1 de 2 chiffres!

• Etc…

Page 11: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Distribution de séquences aléatoires

• Donc, parmi les séquences de taille n, il y en a moins de 2n-k dont la taille du programme minimal est < n-k

• La proportion des séquences binaires s de taille n compressibles de k bits est donc au plus : 2n-k/2n = 1/2k

• Donc une séquence tirée au hasard a toutes les chances d'avoir une forte complexité de Kolmogorov car elle sera très rarement comprimée.

Page 12: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Le calcul de K(s)

K(s) n'est pas calculable

En pratique, on utilise des algorithmes de compression (sans

pertes) pour obtenir des approximations de K(s).

La taille du fichier comprimé de s par un algorithme C de compression est une valeur approché de K(s)

Page 13: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Le problème de la complexité des

séquences courtes Pour les courtes séquences, approcher K(s) par de méthodes de compression ne semble pas avoir vraiment de sens. (petit programme en Mathematica)

Pourtant, on a envie de dire que: 0000011111 est plus simple que 1010011101.

Page 14: Complexit é de Kolmogorov-Chaitin  des séquences courtes

La mesure universelle m(s) de Levin

À l’inverse de la valeur de K(s), si on tire des programmes au hasard on verra que la plupart ne produisent pas de

séquences aléatoires. Le rapport entre m(s) et K(s) est donné par :

m(s) = 1/2K(s)

plus une séquence s est complexe (au sens de la complexité de Kolmogorov) plus m(s) est petit et donc moins fréquent.

Page 15: Complexit é de Kolmogorov-Chaitin  des séquences courtes

La mesure universelle m(s) de Levin

m(s) est une distribution de fréquences qui donne la probabilité pour une machine de Turing M de produire une séquence s avec un

programme aléatoire.

probabilité algorithmique (Solomonoff)

Page 16: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Méthode expérimentale…

On fait fonctionner une machine universelle M en lui donnant un programme au hasard, elle va

produire donc la suite s avec la probabilité m(s).

Cela suggère qu'on pourrait donner un sens stable à m(s) et donc à K(s), même pour des séquences s petites, en procédant expérimentalement

Page 17: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Méthode expérimentale…

(a) on fait fonctionner des mécanismes  de calcul de manière systématique (machines de Turing, automates cellulaires, etc.) pour produire des suites et puis

(b) on observe quelles sont les distributions de probabilités obtenues.

Page 18: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Premiers résultats6560 (2,2)-Machines de Turing

65535 (3/2)-Automates Cellulaires

Page 19: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Premiers résultats…• Les distributions expérimentales trouvés sont relativement stables.

• Classement encore plus stable.

• Il semble donc qu'il est possible de définir m (et donc K) d'une

manière raisonnable même pour les séquences courtes.

Page 20: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Comparaisons statistiques des classements

Coefficients de Spearman

• 1.0000000000• 0.4000000000• 0.3333333333• 0.6852941176• 0.6407624633

••

Coefficients de Kendall

• 1.0000000000• 0.3333333333• 0.2142857143• 0.4000000000• 0.4475806452

••

Page 21: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Détails de l’approche Notre problème de calcul est de la même nature que le problème du castor affairé.

Nous calculons les distributions D(n), avec le même formalisme qu'eux pour Sigma(n) et S(n).

• Sigma(n)={1,4,6,13}• S(n)={1,6,21,107}

Page 22: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Définition de D(n)• Soit T(n) une énumération des machines de Turing à n états.

• On considère la partie modifiée du ruban s(TA(n)) si T s'arrête après de m étapes. s(TA(n)) est la séquence des cases contiguës du ruban sur laquelle la tête de lecture de la machine TA(n) est passée avant de s’arrêter à partir d'un ruban vide (couvert de 0).

• On considère toutes les u séquences s(TA(n)) = s1, s2, ..., su produites par toutes les machines TA(n).

Page 23: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Définition de D(n)• On calcule ((s1,fs1),(s2,fs2),…(sk,fsk)) avec fsi la fréquence de la séquence si de s(TA(n)).

Alors D(n)={((s1,fs1),(s2,fs2),…, (sk,fsk)) |s(TA(n)) =st et fst> fst+1, k<=u}

Page 24: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Le formalisme des machines de Turing

• Le formalisme des machines de Turing utilisé est celui utilisé pour le problème du Castor affairé, c'est-à-dire: – Un ruban "infini" dans les deux directions. – Une machine qui peut écrire soit 0 soit 1 sur chaque case du ruban.

– Un nombre fini d’états {1,2,3, ... ,n} dont un état spécial arrêt « H »

– On commence sur l’état 1.

Page 25: Complexit é de Kolmogorov-Chaitin  des séquences courtes

…Le formalisme• Une fonction de transition: (E,S->S',D,E')

Avec E un état pris parmi n, S un symbole pris parmi {0,1}, S’ un symbole pris parmi {0,1}, D une direction qui est droite ou gauche, E' un symbole pris parmi n+1 car ce symbole peut être le symbole spécial « H ».

• La table de transition contient 2n règles car on suppose que pour tout couple E,S il y a une instruction et une seule fixée.

• On lance chaque machine deux fois:  une fois sur le ruban 000000...  une fois sur le ruban 111111...

Page 26: Complexit é de Kolmogorov-Chaitin  des séquences courtes

…Formalisme des machines de Turing

• Enumération: Il y a [4n+4]2n machines de ce type pour chaque n (nombre d’états). Si on considère le même cas le déplacement de la tête de lecture écriture une fois dans l’état d’arrêt: [4n+2]2n

• Le nombre de machines pour chaque n={1,2,3,4}  est donc {36, 10000, 7529536, 11019960576}

• Connaître les valeurs de S(n) et Sigma(n) du castor affairé nous a permis de limiter les calculs.

Page 27: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Propriétés de D(n)• D(n) est bien définie mais elle n’est pas calculable comme s(n) et Sigma(n).

• Nous devons pouvoir calculer D(1), D(2), D(3) et D(4). Pour n>4 nous ne pourrons pour l'instant avoir que des approximations (car on fixe m le nombre d’étapes des machines par S(n), ce qui nous permet limiter nos calculs).

• Cela pourrait ouvrir la porte à de nouvelles applications de la complexité de Kolmogorov car on disposera d'une mesure a priori approchable en pratique, par exemple pour faire de la compression de données.

Page 28: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Les valeurs exactes de D(1), D(2),

D(3)…

• D(1)(72 machines dont

24 s'arrêtent)

• D(2)(20000 machines

dont 6088 s'arrêtent)

Page 29: Complexit é de Kolmogorov-Chaitin  des séquences courtes

D(3)…Le calcul est fait par

3 méthodes :•Méthode statistique (échantillonnage)

•Méthode exhaustive

•Méthode réduite

On constate que les 3 méthodes donnent des résultats cohérents et que les méthodes 2 et 3 donnent exactement les mêmes résultats.

Page 30: Complexit é de Kolmogorov-Chaitin  des séquences courtes

D(3) la méthode statistique

• D(3)(2000 machines de

15 059 072 en total)

{{0},0.260067}{{1},0.241611}{{1,0},0.112416}{{0,1},0.104027}{{0,0},0.0973154}{{1,1},0.090604}{{0,0,0},0.0151007}{{0,0,1},0.0134228}{{1,1,1},0.0134228}{{0,1,1},0.011745}{{1,0,1},0.0100671}{{1,0,0},0.00838926}{{1,1,0},0.00503356}{{0,1,0},0.0033557}{{1,0,1,1},0.0033557}{{1,1,1,1},0.0033557}{{0,1,1,1},0.00167785}{{1,0,1,0},0.00167785}{{1,1,0,0},0.00167785}{{1,1,1,0},0.00167785}

Page 31: Complexit é de Kolmogorov-Chaitin  des séquences courtes

D(3) la méthode

exhaustive(calcul distribué en plusieurs

parties)

• D(3)(15 059 072 machines)

On voit émerger m(s) et K(s)!

Page 32: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Les difficultés du calcul de D(4)

• Le nombre de règles des machines de Turing est si grand qu’on ne peut pas les générer d’avance et les garder en mémoire dans une machine de 6 Gb en (2)RAM/(4)pagination.

• On ne peut pas « garder » les résultats, il faut calculer les distributions en mémoire avant de garder les résultats.

• Les 3 méthodes pour obtenir D(3) vont nous permettre calculer les 22 039 921 152 machines de Turing pour D(4) et être certain qu’on l’a calculée correctement.

• On va utiliser un cluster de 20 machines d’Amazon (Elastic Computing Cloud) pour lancer la méthode réduite et cela va prendre environ un mois.

Page 33: Complexit é de Kolmogorov-Chaitin  des séquences courtes

D(5) ou D(6)?• La méthode statistique de D(3) et D(4) permettront produire une distribution pour D(5) et peut-être D(6).

• Même les gens qui étudient le problème du castor affairé ne connaissent pas les valeurs de Sigma(5) ni de S(5) (il faut remarquer qu’ils calculent beaucoup moins de machines que nous car ils peuvent réduire beaucoup plus les calculs)

Page 34: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Prochains valeurs exacts de D(n), n>4

Nous avons fait le calcul que si la loi de Moore reste vraie, on peut calculer un nouveau D(n), Sigma(n), S(n)

tous les 15 ans. C’est vérifié jusqu’à maintenant.

Page 35: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Les conjectures de convergence

• Conjecture 1 : Si pr(D(n))={fs1,fs2,…,fsu}, avec si dans

s(TA(n)) alors fsi->fLsi quand n->infini

avec {fLs1,fLs2,…,fLsn,…} les frequences limites.

(autrement dit, la suite des mesures de probabilité pr(D(1)), pr(D(2)), …, pr(D(n))…

converge quand n tend vers l'infini, soit pr cette distribution limite)

Page 36: Complexit é de Kolmogorov-Chaitin  des séquences courtes

…Conjectures• Conjecture 2 : La suite ord(D(1)), ord(D(2)),…,ord(D(n))… converge vers un ordre quand n tend vers l'infini (en ne considérant que les restrictions au sous-ensemble des suites qui ne se déduisent pas l'une de l'autre par complémentation et symétrie.)

• Autrement dit, les classements convergent.

Remarque. La conjecture 2 est plus faible que la conjecture 1, il se pourrait qu'elle soit vraie alors que la conjecture 1 ne l'est pas.

Page 37: Complexit é de Kolmogorov-Chaitin  des séquences courtes

…Conjectures• Conjecture 3 :On suppose vraie la conjecture 1On définit Ke à partir de pr. Il existe une constante C>0, telle

que pour tout s dans {0,1}(N) : |K(s) - Ke(s)| < C

(Ke pour complexité de Kolmogorov expérimentale, K pour complexité de

Kolmogorov par programmes auto-délimités)

Page 38: Complexit é de Kolmogorov-Chaitin  des séquences courtes

…Conjectures de convergence

Les conjectures, si elles sont vraies, signifient que la mesure de Solomonoff-Levin est présente de manière approchable dans des processus de calcul simple et réalisable effectivement. Meme pour les séquences de petite taille il y a une mesure privilégié intrinsèque. Cela n'est pas évident et l'expérimentation doit le rendre clair, car il y a peu d'espoir de démontrer les conjectures elles-memes.

Page 39: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Objectifs

Si nous arrivons à obtenir m(s) de manière expérimentale nous pourrons calculer K(s) à partir de la formule K(s) = -log2(m(s)).

Notre but actuel est ce de montrer que ce n’est pas dépendant du système. Nous espérons trouver une convergence entre plusieurs systèmes de calcul.

Page 40: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Autres systèmes de calcul abstraits

Nous poursuivons le calcul équivalent à D(n) pour d’autres systèmes de calcul universels:– Automates cellulaires.– Systèmes de Tag de Post.

• S’ils convergent comme nous conjecturons (et nous l’avons déjà constaté) cela nous permettra de parler de m(s) indépendamment du système de calcul.

Page 41: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Formalisme des automates cellulaires

On considère une énumération A(n) de tous les automates cellulaires à une dimension et à deux symboles (notés 0 et 1). Dans cette énumération, on place en premier les automates qui dépendent des voisins à distance 1, puis ceux qui dépendent des voisins à distance 2, etc. mais ce n'est pas obligé.

Page 42: Complexit é de Kolmogorov-Chaitin  des séquences courtes

• Soient n, m, k trois entiers. Pour chaque automate A(n) on considère le calcul à configuration initiale ...000100...

• On définit la partie calculée par l'automate A(n) à l’étape m, comme la suite des cases de la ligne de calcul qui ont pu être atteintes par l'effet du 1 de départ -le cône- (la taille du cône dépend du type d'automate considéré).

Formalisme des automates cellulaires

Page 43: Complexit é de Kolmogorov-Chaitin  des séquences courtes

DCA(n)

• On note s(A(n),m) cette suite. On procède à partir de s(A(n),m) pour construire DCA(n)comme pour les machines de Turing.

• On annonce des conjectures analogues au cas des machines de Turing : Conjectures 1,2, et 3

Page 44: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Conjecture de convergence MT-AC

On conjecture que la méthode par les automates cellulaires donne la meme distribution que la méthode par les machines de Turing :

Conjecture 4 :

pr(DCA(n)) = pr(DT(n)), ord(DCA(n)) = ord(DT(n))

et Ke= Ke'

Page 45: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Auto-délimitation vs. non autodélimitation (MT vs. AC)• Les possibles différences entre les classements à partir de systèmes de calcul peuvent s’expliquer par les particularités de ces systèmes de calcul.

KMT(000111)>KCA(000111)

Page 46: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Les sources physiquesSi on accepte que :

(a) le monde est une sorte de grande machine à calculer (ou une famille de machines à calculer, ou un réseaux d'automates mais toujours Turing-calculables) et que

(b) les programmes des machines composant le monde sont choisis au hasard

alors m(s) pourrait être la probabilité qu'en observant le monde au hasard on tombe sur s.

Page 47: Complexit é de Kolmogorov-Chaitin  des séquences courtes

…Les sources physiques(1)On prend n photos en noir et blanc selon

une procédure aléatoire bien définie et on considère les suites de k pixels consécutifs qu'on peut extraire des n photos (chaque ligne étant traité comme les séquences envisagées précédemment pour les systèmes abstraits analysés auparavant).

(2)On traduit en 0 et 1 un ensemble de n suites génétiques et on considère des suites de k chiffres binaires consécutifs des ces n suites.

Page 48: Complexit é de Kolmogorov-Chaitin  des séquences courtes

…Les sources physiques• Ces ensembles de suites de longueur k composées de 0 et de 1 permettent de procéder comme pour les machines de Turing et les automates cellulaires.

• On note la mesure de probabilité qu'on en déduit (si cela converge) sur {0,1}k.

• On obtient une mesure pr(Df(n)), ord(Df(n)) une et Ke''

Page 49: Complexit é de Kolmogorov-Chaitin  des séquences courtes

…Les sources physiques• Est-ce que les sources physiques s’approchent plus des distributions de suites auto-délimitées ou de celles non auto-délimitées?

• En général, la question de l'arrêt pour les systèmes physiques n’a pas beaucoup de sens.

• Les séquences du monde physique doivent êtres découpées arbitrairement comme on le fait pour les automates cellulaires.

Page 50: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Comparaisons des systèmes abstraits vs.

sources physiques

En ligne

Page 51: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Les mêmes conjecturesde convergence

Les distributions physiques s’approchent à nos D(n) de

systèmes abstraits?

Nos premiers calculent le suggèrent.

Page 52: Complexit é de Kolmogorov-Chaitin  des séquences courtes

L’arbre taxonomique de la complexité

• Cet arbre montrerait la proximité des systèmes étudiés.

• Par exemple, dans notre premier expérience, les séquences de DNA s’approchent plus aux séquences de distribution des automates cellulaires (non auto-délimité?).

• Quelle est la source « du bruit » dans le systèmes physiques?

Page 53: Complexit é de Kolmogorov-Chaitin  des séquences courtes

Références• JP Delahaye and H Zenil, On the Kolmogorov-Chaitin

complexity for short sequences, in Calude (eds.) « Complexity and Randomness, from Leibniz to Chaitin », World Scientific, 2007.

• Version longue disponible sur arXiv:0704.1043

• Notre site de «complexité algorithmique expérimentale» avec les résultats et tous les programmes en Mathematica:

http://www.mathrix.org/ExperimentalAIT