1 / 53

Complexit é de Kolmogorov-Chaitin des séquences courtes

Laboratoire d’Informatique Fondamentale de Lille. Complexit é de Kolmogorov-Chaitin des séquences courtes. H ector Zenil Travail avec JP Delahaye hector.zenil@lifl.fr. Plan. Courte introduction au problème des séquences courtes. Présentation de notre approche pour résoudre le problème.

krikor
Download Presentation

Complexit é de Kolmogorov-Chaitin des séquences courtes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Laboratoire d’Informatique Fondamentale de Lille Complexité de Kolmogorov-Chaitin des séquences courtes Hector Zenil Travail avec JP Delahaye hector.zenil@lifl.fr

  2. 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.

  3. 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

  4. Définition La complexité de KolmogorovK(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 produits

  5. 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, …

  6. 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 CLMtelle 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)

  7. 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…

  8. 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).

  9. Séquences aléatoires Une 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.

  10. 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…

  11. 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éeau hasard a toutes les chances d'avoir une forte complexité de Kolmogorov car elle sera très rarement comprimée.

  12. 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)

  13. 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.

  14. 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.

  15. 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)

  16. 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

  17. 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.

  18. Premiers résultats6560 (2,2)-Machines de Turing65535 (3/2)-Automates Cellulaires

  19. 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.

  20. Comparaisons statistiques des classements • Coefficients de Kendall • 1.0000000000 • 0.3333333333 • 0.2142857143 • 0.4000000000 • 0.4475806452 Coefficients de Spearman • 1.0000000000 • 0.4000000000 • 0.3333333333 • 0.6852941176 • 0.6407624633

  21. 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}

  22. Définition de D(n) • Soit T(n) une énumération des machines de Turing à n états. • On considère la partie modifiéedu ruban s(TA(n)) si T s'arrête après de m étapes. s(TA(n)) estla séquence des cases contiguësdu ruban sur laquelle la tête de lecture de la machine TA(n) est passéeavant 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).

  23. 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}

  24. 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.

  25. …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...

  26. …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.

  27. 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.

  28. Les valeurs exactes de D(1), D(2), D(3)… • D(2) • (20000 machines dont 6088s'arrêtent) • D(1) (72 machines dont24 s'arrêtent)

  29. 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.

  30. D(3) la méthode statistique {{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) • (2000 machines de 15 059 072 en total)

  31. 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)!

  32. 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.

  33. 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)

  34. 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.

  35. 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)

  36. …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.

  37. …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)

  38. …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.

  39. 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.

  40. 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.

  41. Formalisme des automates cellulaires On considère une énumération A(n) de tous les automates cellulaires à une dimension et à deux symboles (notés0 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é.

  42. Formalisme des automates cellulaires • 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éepar 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é).

  43. 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

  44. 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'

  45. 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)

  46. Les sources physiques Si 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 programmesdes 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.

  47. …Les sources physiques • 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.

  48. …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''

  49. …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.

  50. Comparaisons des systèmes abstraits vs. sources physiques En ligne

More Related