tangenteAudio

16 févr. 2022 · 24 min

Codes correcteurs : comment réparent-ils un message ?

Cet épisode suit pas à pas un message altéré, de la détection de l’erreur à sa correction grâce à la redondance et à la distance de Hamming.

Premium
Collections de cet épisode (6)

Un contenu original Tangente, adapté en podcast avec l’aide de l’IA et validé par notre rédaction. Comment ça marche ?

D’après l’articleLire l’article dans la revue

Transcription

Afficher la transcription

Transcription automatique

  1. Intervenant 1

    Bienvenue dans le podcast du magazine Tangente.

  2. Intervenant 2

    Salut à tous.

  3. Intervenant 1

    Aujourd'hui, on plonge dans une pile de dossiers vraiment passionnantes, des articles et des notes de recherche qui traitent d'un miracle technologique. Un truc qu'on tient tous complètement pour acquis, en

  4. Intervenant 2

    fait. On ne se rend pas compte à quel point c'est un miracle au quotidien.

  5. Intervenant 1

    Exactement. Parce que, imaginons un instant qu'on doive confier un message hyper important à un messager. Et là, c'est en plein milieu d'une tempête.

  6. Intervenant 2

    Le pire scénario, quoi.

  7. Intervenant 1

    C'est ça. Le vent souffle, la pluie brouille l'encre, le papier se déchire. Intuitivement, on sait très bien que l'information, c'est quelque chose de très fragile.

  8. Intervenant 2

    Et le chaos de l'univers physique finit toujours par altérer cette information. Nos sources mettent d'ailleurs super bien en évidence que ce principe fondamental, il disparaît pas du tout avec le numérique.

  9. Intervenant 1

    C'est clair. En lisant nos documents, j'ai vraiment réalisé que la tempête moderne, elle prend juste des formes différentes.

  10. Intervenant 2

    Ouais, des formes plus microscopiques souvent.

  11. Intervenant 1

    Voilà. Ça peut être une grosse rayure sur la surface d'un CD, un bruit électromagnétique complètement aléatoire dans les profondeurs d'un câble en fibre optique, ou alors un truc tout bête.

  12. Intervenant 2

    Genre quoi ?

  13. Intervenant 1

    Genre une tache de café qui rend un code barre illisible sur un colis.

  14. Intervenant 2

    Ah oui, le classique.

  15. Intervenant 1

    Et pourtant, la plupart du temps, le message arrive intact sur nos écrans. Du coup, notre mission avec cette exploration d'aujourd'hui, c'est de comprendre par quels mécanismes les ingénieurs et les mathématiciens arrivent à créer un véritable bouclier autour de nos données.

  16. Intervenant 2

    Un bouclier invisible, mais omniprésent.

  17. Intervenant 1

    C'est exactement ça. On va parler des codes correcteurs.

  18. Intervenant 2

    Alors, pour entrer dans le vif du sujet et bien comprendre la logique de ces codes, la littérature scientifique nous impose de séparer deux concepts de base dès le départ. La détection et la correction. Parce

  19. Intervenant 1

    que c'est pas la même chose, évidemment.

  20. Intervenant 2

    Pas du tout. Savoir qu'un message a été corrompu en cours de route, ça donne aucune indication sur l'emplacement du problème. Nuit sur la manière de le réparer, d'ailleurs.

  21. Intervenant 1

    D'accord.

  22. Intervenant 2

    Les codes qu'on appelle des détecteurs d'erreurs, ils agissent vraiment juste comme une alarme.

  23. Intervenant 1

    Ouais, avant de chercher à reconstruire le mur, il faut déjà savoir qui a eu l'un des gars. Et nos notes mentionnent un exemple fascinant de détection qu'on utilise tous les jours sans s'en rendre compte.

  24. Intervenant 2

    Ah, tu penses au numéro de sécurité sociale, c'est ça ?

  25. Intervenant 1

    Oui, le fameux nir français, on a tous ses 13 chiffres, ils sont suivis d'une petite clé de 2 chiffres à la toute fin. Et franchement, j'ai toujours cru que c'était juste un identifiant supplémentaire.

  26. Intervenant 2

    Comme un numéro de dossier en plus ?

  27. Intervenant 1

    Voilà, un truc administratif banal. Mais en fait, c'est une pure équation de contrôle.

  28. Intervenant 2

    Eh oui ! Cette clé à deux chiffres, elle résulte d'une formule mathématique très spécifique. Elle a été conçue pour repérer les fautes de frappe de manière quasi infaillible. Mais du coup,

  29. Intervenant 1

    comment ça se calcule concrètement ?

  30. Intervenant 2

    C'est super astucieux. On l'obtient par un calcul assez direct. On prend le nombre 97 et on lui soustrait le reste de la division euclidienne du nir complet par 97.

  31. Intervenant 1

    Attends, la division euclidienne, c'est le fameux modulo, c'est ça ?

  32. Intervenant 2

    C'est ça. En termes clairs, la clé est égale à 97 moins le nir modulo 97.

  33. Intervenant 1

    Ok, donc on prend notre grand nombre de 13 chiffres, on regarde ce qui reste quand on le divise par 97 et on soustrait ça de 97.

  34. Intervenant 2

    Absolument ! L'astuce mathématique derrière ce calcul, c'est de s'assurer que si on additionne le grand nombre de 13 chiffres et cette petite clé à la fin, on tombe obligatoirement sur un multiple parfait de 97.

  35. Intervenant 1

    Ah, c'est brillant ! Donc si je saisis malencontreusement un chiffre erroné, en remplissant un dossier à la pharmacie par exemple...

  36. Intervenant 2

    Le système réagit direct ?

  37. Intervenant 1

    Ouais, le système de la pharmacie calcule instantanément que mon nombre total ne forme plus un multiple de 97.

  38. Intervenant 2

    Exactement.

  39. Intervenant 1

    Et du coup, l'ordinateur refuse l'entrée sans même avoir besoin de consulter une base de données externe. Il sait juste, mathématiquement, que la règle est brisée.

  40. Intervenant 2

    C'est d'une efficacité redoutable. Et d'ailleurs, l'informatique utilise une mécanique assez similaire, mais au niveau microscopique.

  41. Intervenant 1

    Avec les fameux 0 et 1.

  42. Intervenant 2

    Ouais, avec ce qu'on appelle le bit de parité. Quand un ordinateur transmet un octet, c'est-à-dire une séquence de 8 bits composés de 0 et de 1, il réserve le tout premier bit pour le contrôle.

  43. Intervenant 1

    Donc ce premier bit, il sert à rien pour les messages en lui-même.

  44. Intervenant 2

    Non, il véhicule aucune donnée utile. On lui donne la valeur 0 ou 1 dans un seul et uni de but.

  45. Intervenant 1

    Lequel ?

  46. Intervenant 2

    Garantir que le nombre total de bits valant 1, présent dans tout l'octet, soit toujours un nombre pair.

  47. Intervenant 1

    Ok, laisse-moi vérifier si je suis bien la logique. Si mon message utile, c'est disons 1 1 0 1. J'ai 3 fois le chiffre 1.

  48. Intervenant 2

    C'est ça, 3 est

  49. Intervenant 1

    impair. Donc le système va forcer le bit de parité au début à devenir 1, pour amener le total des 1 à 4. Et comme 4 est pair, le paquet est valide et peut être expédié. T'as

  50. Intervenant 2

    tout compris.

  51. Intervenant 1

    Mais du coup, si une interférence électromagnétique frappe le câble pendant le voyage et transforme un de mes 0 en 1,

  52. Intervenant 2

    L'ordinateur, à l'arrivée, va faire quoi, à ton avis ?

  53. Intervenant 1

    Il va recompter. Il va trouver 5 1. Un nombre impair. L'alarme se déclenche.

  54. Intervenant 2

    Exactement. Le récepteur constate l'anomalie de parité de façon totalement instantanée. Mais il y a une limite très sévère à cette méthode.

  55. Intervenant 1

    Bah oui, il sait qu'il y a un chiffre faux, mais il n'a aucune idée de la position de ce bit défectueux parmi les

  56. Intervenant 2

    8. C'est le gros problème de la simple détection.

  57. Intervenant 1

    J'ai une image en tête en lisant cette partie de nos recherches. Ce code détecteur, c'est exactement comme le vigile à l'entrée d'une boîte de nuit.

  58. Intervenant 2

    J'aime bien cette comparaison.

  59. Intervenant 1

    Il scanne le billet à l'entrée, il voit qu'il est faux et il t'empêche d'entrer. Donc le système est protégé.

  60. Intervenant 2

    Jusque là, tout va bien.

  61. Intervenant 1

    Il constate l'erreur, mais il ne la répare pas.

  62. Intervenant 2

    C'est une excellente métaphore. Et dans de nombreux systèmes critiques, rejeter un message et demander simplement à l'émetteur de le renvoyer, c'est juste pas une option viable.

  63. Intervenant 1

    Surtout si le signal vient de très loin ou qu'il y a une urgence absolue.

  64. Intervenant 2

    Voilà. Il faut le réparer de l'intérieur. Historiquement, le passage de la simple détection à la correction active, il s'est opéré pendant la Seconde Guerre mondiale.

  65. Intervenant 1

    Ah oui, lors du projet Manhattan.

  66. Intervenant 2

    Exactement, avec le mathématicien américain Richard Hamming.

  67. Intervenant 1

    J'imagine que pour des calculs d'ingénierie nucléaire de cette ampleur, s'appuyer sur des machines qui transforment un 0 en un 1 de manière aléatoire, ça devait être sacrément problématique.

  68. Intervenant 2

    C'était un cauchemar. Les ordinateurs à cartes perforées et à relais électromécaniques que Hamming utilisait, ils étaient d'une instabilité chronique.

  69. Intervenant 1

    Ah ouais, à ce point-là ?

  70. Intervenant 2

    Oh oui, une simple fluctuation de la tension électrique dans la pièce suffisait à ruiner des heures entières de calcul. L'enfer

  71. Intervenant 1

    pour un mathématicien.

  72. Intervenant 2

    Face à cette corruption physique de l'information, la première approche documentée pour corriger l'erreur, elle repose sur une logique assez rudimentaire. La méthode de la force brute.

  73. Intervenant 1

    Ce qu'on appelle aussi la redondance massive

  74. Intervenant 2

    dans nos notes, c'est ça ? Oui. La solution naïve, elle consiste à recopier l'information en de multiples exemplaires. Si l'ordinateur de Hamming veut enregistrer la courte séquence 1 1 0 1, par exemple. Au

  75. Intervenant 1

    lieu de l'écrire juste une fois ?

  76. Intervenant 2

    Eh bien, il triple chaque caractère. Le premier 1 étant codé 1 1 1. Le deuxième devient aussi 1 1 1.

La suite de la transcription est réservée aux abonnés.

S’abonner

À écouter ensuite

Des épisodes qui partagent une playlist, une figure ou un domaine avec celui-ci.