# Théorie algorithmique de l'information

La théorie algorithmique de l'information, initiée par Kolmogorov, Solomonov et Chaitin dans les années 1960, vise à quantifier et qualifier le contenu en information d'un ensemble de données, en utilisant la théorie de la calculabilité et la notion de machine universelle de Turing.
Cette théorie permet également de formaliser la notion de complexité d'un objet, dans la mesure où l'on considère qu'un objet (au sens large) est d'autant plus complexe qu'il faut beaucoup d'informations pour le décrire, ou — à l'inverse — qu'un objet contient d'autant plus d'informations que sa description est longue. La théorie algorithmique de l'information est fondée sur cette équivalence : la description d'un objet est formalisée par un algorithme (autrement dit une machine de Turing), et sa complexité (autrement dit son contenu en information) est formalisé par certaines caractéristiques de l'algorithme : sa longueur ou son temps de calcul.
Ces fondements sont différents de ceux de la théorie de l'information de Shannon : cette dernière n'utilise pas la notion de calculabilité et n'a de sens que par rapport à un ensemble statistique de données. Cependant, les deux théories sont compatibles et des liens formels entre elles peuvent être établis.
Tandis que la théorie de l'information de Shannon a eu de nombreuses applications en informatique, télécommunications, traitement de signal et neurosciences computationnelles, la théorie algorithmique de l'information a été utilisée avec succès dans les domaines de la biologie, de la physique et même de la philosophie.

## Présentation informelle

L'idée principale de la théorie algorithmique de l'information est qu'une chose est d'autant plus complexe, ou contient d'autant plus d'information, qu'elle est difficile à expliquer, c'est-à-dire fondamentalement longue à expliquer. Voici par exemple trois descriptions d'objets :
D1 : « un mur tout blanc de 1 m sur 1 m. »
D2 : « un mur tout blanc de 1m sur 1m, avec une rayure rouge horizontale de 2 cm de large en bas, une autre 8 cm au-dessus, encore une autre 8 cm au-dessus, encore une autre 8 cm au-dessus, encore une autre 8 cm au-dessus, encore une autre 8 cm au-dessus, encore une autre 8 cm au-dessus, encore une autre 8 cm au-dessus, encore une autre 8 cm au-dessus, encore une autre 8 cm au-dessus et une dernière encore 8 cm au-dessus. »
D2' : « un mur tout blanc de 1 m sur 1 m, avec des rayures rouges horizontales de 2 cm de large, de bas en haut tous les 8 cm. »
En termes de longueur de description, D1 est plus courte que D2' qui est plus courte que D2. Que D1 soit la plus courte description semble normal, et est lié au fait que l'objet décrit est « plus simple ». Mais en ce qui concerne D2 et D2', les objets décrits sont identiques bien que D2' soit plus courte que D2. Ainsi la longueur brute d'une description n'est pas une mesure parfaitement adaptée.
L'idée « algorithmique » est alors de considérer, comme complexité de l'objet décrit, sa plus courte description possible. Idée « algorithmique » dans le sens où la description n'est pas forcément extensive, mais peut — comme D2' dans l'exemple ci-dessus — décrire un procédé d'obtention de l'objet (ici : tracer des bandes horizontales à intervalles réguliers).
Ainsi, un objet sera d'autant plus compliqué qu'on ne peut le décrire plus brièvement qu'une liste exhaustive de ses propriétés… Ce dernier cas constitue le cas limite d'une complexité maximale.