Title: Complexit de KolmogorovChaitin des squences courtes
1Complexité de Kolmogorov-Chaitin des séquences
courtes
Laboratoire dInformatique Fondamentale de Lille
- Hector Zenil
- Travail avec JP Delahaye
- hector.zenil_at_lifl.fr
2Plan
- 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 dune séquence a été défini
vers 1965 sous le nom de - Complexité de Kolmogorov ou de Kolmogorov-Chaitin,
ou complexité algorithmique
4Définition
- La complexité de Kolmogorov K(s) d'une séquence
binaire finie s pour une machine de Turing M est
- KM(s) minp, M(p)s
- Cest la taille du plus court
- programme en M qui produit s
5Ces deux programmes en Mathematica produisent la
même chaîne (la séquence de Thue-Morse)
- ModTable 1/2 (-1)n (-3)n Sqrt Pi
Hypergeometric2F13/2, -n, 3/2 - n, -1/3/ (4 n!
Gamma3/2 - n), n, 0, 27 - 1, 2 - NestJoin,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,
6La 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) lt CLM
- (On utilise la possibilité décrire en L un
compilateur pour M, et réciproquement)
7Opposer le simple au complexe
- La complexité de la séquence de chiffres
01010101010101010101010101 - est plus petite que la complexité de la séquence
- 265358979323846264338327950
8Simple vs. Complexe
- La première séquence peut être produite par un
programme court - n1while(nlt4,print01n)
- Par contre, le programme pour produire la
deuxième séquence est plus long (chiffres de Pi).
9Séquences aléatoires
- Une séquence aléatoire est donc une séquence dont
le plus petit programme (écrit en binaire) qui
lengendre 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) 124 2n-1 2n-1
- programmes de taille
- plus petite que n.
10Distribution des séquences aléatoires
- Cela veut dire que la moitié ne peuvent pas être
comprimés de plus dun chiffre! - Sum1n-2(2i) (2n/2)-1
- Et moins dun sur quatre Sum1n-3(2i) (2n/4)-1
de 2 chiffres! - Etc
11Distribution 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 lt 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.
12Le 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)
13Le 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.
14La mesure universelle m(s) de Levin
- À linverse 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.
15La 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)
16Mé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
17Mé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.
18Premiers résultats6560 (2,2)-Machines de
Turing65535 (3/2)-Automates Cellulaires
19Premiers 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.
20Comparaisons 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
21Détails de lapproche
- 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
22Dé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 sarrê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).
23Dé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
fstgt fst1, kltu
24Le 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.
25Le formalisme
- Une fonction de transition (E,S-gtS',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 n1 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...
26Formalisme des machines de Turing
- Enumération Il y a 4n42n 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 darrêt 4n22n - Le nombre de machines pour chaque n1,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.
27Propriétés de D(n)
- D(n) est bien définie mais elle nest pas
calculable comme s(n) et Sigma(n). - Nous devons pouvoir calculer D(1), D(2), D(3) et
D(4). Pour ngt4 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.
28Les valeurs exactes de D(1), D(2), D(3)
- D(2)
- (20000 machines dont 6088 s'arrêtent)
- D(1)
- (72 machines dont24 s'arrêtent)
29D(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.
30D(3) la méthode statistique
0,0.2600671,0.2416111,0,0.1124160
,1,0.1040270,0,0.09731541,1,0.090604
0,0,0,0.01510070,0,1,0.01342281,1,1,0.
01342280,1,1,0.0117451,0,1,0.0100671
1,0,0,0.008389261,1,0,0.005033560,1,0,0
.00335571,0,1,1,0.00335571,1,1,1,0.003355
70,1,1,1,0.001677851,0,1,0,0.001677851,
1,0,0,0.001677851,1,1,0,0.00167785
- D(3)
- (2000 machines de 15 059 072 en total)
31D(3) la méthode exhaustive(calcul distribué en
plusieurs parties)
- D(3)
- (15 059 072 machines)
- On voit émerger m(s) et K(s)!
32Les difficultés du calcul de D(4)
- Le nombre de règles des machines de Turing est si
grand quon ne peut pas les générer davance 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 quon la
calculée correctement. - On va utiliser un cluster de 20 machines dAmazon
(Elastic Computing Cloud) pour lancer la méthode
réduite et cela va prendre environ un mois.
33D(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 quils
calculent beaucoup moins de machines que nous car
ils peuvent réduire beaucoup plus les calculs)
34Prochains valeurs exacts de D(n), ngt4
- 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. Cest vérifié
jusquà maintenant.
35Les conjectures de convergence
- Conjecture 1
- Si pr(D(n))fs1,fs2,,fsu, avec si dans
s(TA(n)) alors fsi-gtfLsi quand n-gtinfini - 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)
36Conjectures
- 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.
37Conjectures
- Conjecture 3
- On suppose vraie la conjecture 1
- On définit Ke à partir de pr.
- Il existe une constante Cgt0, telle que pour tout
s dans 0,1(N) - K(s) - Ke(s) lt C
- (Ke pour complexité de Kolmogorov expérimentale,
K pour complexité de Kolmogorov par programmes
auto-délimités)
38Conjectures 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.
39Objectifs
- 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 nest
pas dépendant du système. Nous espérons trouver
une convergence entre plusieurs systèmes de
calcul.
40Autres systèmes de calcul abstraits
- Nous poursuivons le calcul équivalent à D(n)
pour dautres systèmes de calcul universels - Automates cellulaires.
- Systèmes de Tag de Post.
- Sils convergent comme nous conjecturons (et nous
lavons déjà constaté) cela nous permettra de
parler de m(s) indépendamment du système de
calcul.
41Formalisme 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é.
42Formalisme 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é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é).
43DCA(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
44Conjecture 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'
45Auto-délimitation vs. non autodélimitation (MT
vs. AC)
- Les possibles différences entre les classements à
partir de systèmes de calcul peuvent sexpliquer
par les particularités de ces systèmes de calcul. - KMT(000111)gtKCA(000111)
46Les 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 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.
47Les 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.
48Les 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,1k. - On obtient une mesure pr(Df(n)), ord(Df(n)) une
et Ke''
49Les sources physiques
- Est-ce que les sources physiques sapprochent
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 na pas beaucoup de sens. - Les séquences du monde physique doivent êtres
découpées arbitrairement comme on le fait pour
les automates cellulaires.
50Comparaisons des systèmes abstraits vs. sources
physiques
51Les mêmes conjecturesde convergence
- Les distributions physiques sapprochent à nos
D(n) de systèmes abstraits? - Nos premiers calculent le suggèrent.
52Larbre 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 sapprochent plus aux séquences
de distribution des automates cellulaires (non
auto-délimité?). - Quelle est la source du bruit dans le
systèmes physiques?
53Ré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 arXiv0704.1043
- Notre site de complexité algorithmique
expérimentale avec les résultats et tous les
programmes en Mathematica - http//www.mathrix.org/ExperimentalAIT