Distance algorithmique

En théorie de l'information, la distance algorithmique entre deux objets finis est le nombre de bits du programme le plus court qui transforme l'un des objets en l'autre sur un ordinateur universel. Elle s'appuie sur la complexité de Kolmogorov[note 1]. En termes de contenu d’information, la distance algorithmique est l'information minimale nécessaire pour passer d'un objet à l'autre. Elle a été définie et étudiée en 1992 par Ming Li et Paul Vitanyi.

Propriétés

Définition

La distance d'information entre et est définie par est un programme pour un ordinateur universel fixé ayant pour entrées des chaînes binaires .

Bennett et al. démontrent[1] que avec est la complexité de Kolmogorov[2],[3] que l'on applique à la paire [note 2]. est la quantité pertinente. En effet, le terme correctif sert à assurer qu'il s'agit bien d'une métrique.

Universalité

Soit la classe des distances semi-calculables supérieurement qui satisfont la condition de densité : Cela exclut les distances non pertinentes telles que pour , et cela assure que si la distance augmente, alors le nombre d'objets à cette distance d'un objet donné augmente. Si , alors à un terme additif constant près[1]. Ces expressions probabilistes de la distance constituent la première classe cohomologique en cohomologie symétrique de l'information[4],[5], ce qui peut être considéré comme une propriété d'universalité.

Métrique

La distance est une métrique au terme additif près[1]. La version probabiliste de la métrique est unique comme l'a montré Te Sun Han en 1981[6].

Chevauchement maximal

Si , alors il existe un programme de longueur qui convertit en , et un programme de longueur tel que le programme convertit en . Les programmes sont écrits sous forme auto-délimitée, ce qui signifie que l'on peut décider où un programme se termine et où l'autre commence dans la concaténation des programmes, autrement dit les programmes les plus courts passant d'un objet à l'autre peuvent être rendus maximaux en chevauchement[1].

Chevauchement minimal

Les programmes de conversion entre les objets et peuvent également être rendus minimalement chevauchants : il existe un programme de longueur (à un terme additif en près) qui transforme en et a une petite complexité lorsque est connu (). En intervertissant les deux objets, nous obtenons l'autre programme[7]. En gardant à l'esprit le parallélisme entre la théorie de l'information (de Shannon) et la théorie de la complexité de Kolmogorov, on peut dire que ce résultat est analogue aux théorèmes de Slepian-Wolf et de Körner–Imre Csiszár–Marton.

Applications

Applications théoriques

Le théorème d'Andrej Muchnik sur le chevauchement minimal[7] montre qu'à partir de n'importe quel objet, pour aller vers un objet cible, il existe un programme dont la complexité de Kolmogorov ne dépend presque que de l'objet cible ! Ce résultat est à peu près optimal, car le terme d'erreur ne peut pas être significativement amélioré[8].

Applications pratiques

Pour déterminer la similarité entre des objets tels que les génomes, les langues, la musique, les virus informatiques, les logiciels, etc., des approximations de la distance algorithmique[note 3] sont proposées; la complexité de Kolmogorov est remplacée par un algorithme de compression existant réellement[note 4]. Le concept est alors la distance de compression normalisée (NCD) entre les objets, qui sont donnés sous forme de fichiers informatiques, ainsi le génome d'une souris, le texte d'un livre, la partition d'une œuvre musicale, etc. Partant d'un identifiant d'un objet comme le « génome d'une souris », l'utilisateur d'une base de données et d'un moyen de rechercher dans la base de données (comme un moteur de recherche) obtient sous forme indirecte cette information (par exemple en décomptant les pages liées à ce nom), et il est ensuite possible de calculer (approximativement) la distance algorithmique[9].[pas clair]

Notes et Références

Notes

  1. La complexité de Kolmogorov d'un objet correspond à l'information contenue dans cet objet. Ici, il est question de deux objets, dont on veut savoir de combien ils diffèrent en termes de quantité d’information.
  2. est la longueur du plus petit programme qui calcule si est fourni par ailleurs.
  3. Qui, comme la complexité de Kolmogorov, ne peut être calculée exactement.
  4. La complexité de Kolmogorov est une borne inférieure de la longueur en bits d'une version compressée de l'objet.

Références

  1. a b c et d (en) C.H. Bennett, P. Gacs, M. Li, P.M.B. Vitanyi et W. Zurek, « Information distance », IEEE Transactions on Information Theory, vol. 44:4,‎ , p. 1407–1423. Disponible sur ArXiv : « Information distance »
  2. A.N. Kolmogorov, Trois approches pour la définition quantitative de l'information, Problems Inform. Transmission, 1:1(1965), 1–7
  3. (en)L.A. Levin, Laws of Information Conservation (Nongrowth) and Aspects of the Foundation of Probability Theory, Problems Inform. Transmission, 10:3(1974), 30–35
  4. (en) Pierre Baudot et Mathieu Bernard, « Information Cohomology methods for machine learning statistical structures of data » [PDF], Median Thechnology,
  5. (en) Pierre Baudot, « The Poincaré-Shannon Machine: Statistical Physics and Machine Learning Aspects of Information Cohomology », Entropy, vol. 21, no 9,‎ , p. 881 (ISSN 1099-4300, DOI 10.3390/e21090881, lire en ligne, consulté le )
  6. (en)Te Sun Han, A uniqueness of Shannon information distance and related nonnegativity problems, Journal of combinatorics. 6:4 p.320-331 (1981), 30–35
  7. a et b (en)Andrej A. Muchnik, « Conditional complexity and codes », Theoretical Computer Science, vol. 271, nos 1–2,‎ , p. 97–109 (DOI 10.1016/S0304-3975(01)00033-0 Accès libre)
  8. (en)N.K Vereshchagin, M.V. Vyugin, Independent minimum length programs to translate between given strings, Proc. 15th Ann. Conf. Computational Complexity, 2000, 138–144
  9. (en)« Topological Information Data Analysis. Deep statistical unsupervised and supervised learning - File Exchange - Github », sur github.com/pierrebaudot/infotopopy/ (consulté le )

Littérature connexe