Complexité de Kolmogorov- Chaitin des séquences courtes Hector Zenil Travail avec JP Delahaye...
-
Upload
beatrice-roux -
Category
Documents
-
view
104 -
download
0
Transcript of Complexité de Kolmogorov- Chaitin des séquences courtes Hector Zenil Travail avec JP Delahaye...
Complexité de Kolmogorov-Chaitin
des séquences courtes
Hector ZenilTravail avec JP Delahaye
Laboratoire d’Informatique Fondamentale de Lille
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.
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
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
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, …
La définition est robuste
Thé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)
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…
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).
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.
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…
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.
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)
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.
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.
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)
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
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.
Premiers résultats6560 (2,2)-Machines de Turing
65535 (3/2)-Automates Cellulaires
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.
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
••
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}
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).
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}
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.
…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...
…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.
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.
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)
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.
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}
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)!
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.
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)
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.
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)
…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.
…Conjectures
• Conjecture 3 :On suppose vraie la conjecture 1
On 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)
…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.
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.
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.
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é.
• 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
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
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'
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)
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.
…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.
…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''
…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.
Comparaisons des systèmes abstraits vs.
sources physiques
En ligne
Les mêmes conjecturesde convergence
Les distributions physiques s’approchent à nos D(n) de
systèmes abstraits?
Nos premiers calculent le suggèrent.
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?
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