La magie des codes correcteurs d'erreur
Les documents disponibles sur cette page ainsi que le contenu de la page sont mis à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International
J'ai découvert cette activité sur le site (très riche, que je recommande vivement) de Computer Science Unplugged. Vous pourrez y trouver le déroulé de l'activité, le lien avec l'informatique ainsi que des situations de la vie de tous les jours dans lesquelles ces codes sont utilisés. Pour une version française, voir dans la section liens.
Notions abordées :
Comme le titre l'indique, cette activité, au travers d'un tour de magie, illustre les codes correcteurs d'erreurs, un concept qui permet à un ordinateur recevant une information de détecter si elle a été corrompue, et parfois même de la corriger le cas échéant.
Public :
Pour faire cette activité il faut savoir ce qu'est un nombre pair, ce qui de mon expérience est le cas en fin de CP, même si on appelle plutôt ces nombres des "doubles".
Cette activité se prête très bien à des publics variés et volatils en fête de la science. Elle a été également testée en primaire, depuis la fin de CP. Elle peut s'adapter à tous les publics à partir de 7 ans.
Matériel :
- 36 cartes plastifiées, toutes identiques mais avec les deux faces de deux couleurs différentes
- un trésor (qui n'existe pas dans la version de CS unplugged mais j'explique plus bas pourquoi pour moi il est indispensable)
- Ce n'est pas vraiment du matériel, mais je trouve ce tour beaucoup plus bluffant avec deux animateurs, ou un peu de temps pour prendre à part un membre du public et le-la transformer en magicien-ne.
Principe :
Comme c'est un tour de magie, ce n'est pas top de commencer à expliquer le principe. Je vais donc tenter d'expliquer sans trop divulguer de choses, et je vous invite, une fois cette section lue, à aller regarder la vidéo en lien pour découvrir le "truc". Les points précédés d'une étoile sont à faire uniquement dans la version à deux animateurs : un assistant et un magicien.
- (*) Le magicien s'isole, pour se concentrer et surtout ne pas voir ce qu'il se passe.
- On donne au public 25 cartes, et ils doivent les mettre en 5 lignes de 5 cartes, en choisissant pour chacune la face visible.
- (*) Le public choisit le nombre de secondes qu'il laisse au magicien pour mémoriser la position des cartes (personnellement j'accepte à partir de 5 secondes, et je refuse en dessous). Le magicien mémorise les cartes puis retourne s'isoler.
- L'assistant ajoute ensuite une ligne et une colonne de cartes. On a donc un carré de 6 cartes de côté.
- Le public choisit librement une carte parmi les 36 possibles, la prend, cache le trésor dessous et remet la carte en la retournant (et donc en changeant sa couleur).
- (*) Le magicien revient.
- Le magicien regarde les cartes et retrouve le trésor, devant la mine incrédule du public.
Après l'avoir fait de nombreuses fois avec des collègues, et comme ma fille aînée (alors âgée de 8 ans) connaissait l'activité, je l'ai emmenée à la fête de la science. J'ai joué le rôle de l'assistante et elle la magicienne, ce qui a un effet encore plus saisissant. Les adultes n'en reviennent pas de se faire bluffer par une enfant.
Et c'est intéressant : cela permet d'expliquer que non le public n'est pas nul, c'est juste que de trouver une solution à un problème est autrement plus difficile que d'appliquer une solution que l'on nous donne toute faite. Et en informatique la tâche difficile de trouver une solution c'est celle de l'humain qui écrit le programme, et celle bien plus facile de suivre le programme est le rôle de l'ordinateur. Il est très rapide, très précis, mais il ne fait rien de particulièrement intelligent. Il obéit.
Il est important de laisser s'exprimer le public sur les trucs, même les plus farfelus, auxquels il pense. J'ai eu le droit au fait que la carte était surélevée, qu'on regardait dans une vitre, que l'assistante faisait des signes à la magicienne, qu'on avait mémorisé toutes les cartes (mêmes celles que l'assistant ajoute sans que le magicien ne puisse les mémoriser), et même que le magicien avait une puce dans sa main et qu'il "captait" le trésor en mettant sa main au-dessus. Je trouve cela important de démonter ces hypothèses : se mettre dos à la vitre, retourner la carte sans y mettre un trésor, ou laisser l'assistant retourner une dizaine de cartes pendant que le magicien a le dos tourné.
Je peux encore, sans révéler le secret, vous dire le lien avec l'informatique. Le magicien va en fait appliquer un algorithme assez simple (si un enfant de 8 ans peut le faire), précisément le même qu'un ordinateur utiliserait pour détecter des erreurs dans un message. Car on a deux couleurs, mais qu'on les appelle vert et blanc ou 0 et 1 au fond pas de différence : deux valeurs différentes, c'est du binaire.
Du coup le choix des cartes par le public, c'est comme s'il codait en binaire un message (texte, image,...) qu'il souhaite envoyer. Seulement ce message, en passant par des routeurs sur le réseau ou en étant envoyé par Bluetooth risque d'être dégradé (un composant d'une des machines relais défaillant, des perturbations par un micro-ondes ou un autre téléphone à côté). Et un message dégradé c'est comme si on retournait une ou plusieurs cartes. Et le tour de magie montre que si on en retourne une, l'ordinateur qui reçoit le message va être capable de détecter l'erreur et de la corriger. On parle de code détecteur/correcteur d'erreurs.
Si vous arrivez jusqu'ici dans votre lecture et que vous ne connaissez pas le "truc", c'est le moment d'aller regarder une vidéo de présentation de l'activité.
Pourquoi le faire à deux ? Le fait que la personne qui trouve le trésor ne soit ni celle qui a regardé le public mettre des cartes ni celle qui en a rajouté 11 de plus rajoute à l'effet magique. C'est plus impressionnant. Et puis, comme l'assitant surveille le public quand il cache le trésor, ça évite les cas où le public cache un trésor et oublie de retourner la carte dessus.
Pourquoi j'utilise un trésor ? Oui après tout le truc important c'est de retourner une carte, pourquoi cacher en plus un trésor dessous ? J'ai plusieurs réponses à cela.
- Ça entre très bien dans l'imaginaire que je mets autour de cette activité. En plus il brille, bref il a tout pour plaire.
- Ca permet de ne pas oublier quelle carte on a retourné, et le magicien en attrapant la carte sait tout de suite s'il a bien trouvé ou pas.
- Ça sème le doute dans l'esprit du public : est-ce le fait que la carte soit surélevée qui permet de trouver le trésor ? Non bien sûr, mais du coup on peut le montrer, en retournant une carte sans mettre de trésor dessous, et le magicien la retrouve toujours.
Extensions :
- On peut bien sûr faire varier le nombre de cartes, mais à moins de 36 c'est moins impressionnant, et il paraît qu'au delà il est plus difficile de compter rapidement, en embrassant du regard une ligne d'un coup et en ayant directement la réponse. Pour les nombres plus grands on est plus ou moins obligé de compter une à une les cartes dans une ligne, et donc c'est plus laborieux.
- Quand je fais cette activité, je propose ensuite en général une application au stockage d'informations : imaginons que la mémoire est répartie en secteurs, que l'on va représenter par des colonnes. Dans chaque case de chaque secteur on a un 0 ou un 1 (que l'on va représenter par du noir ou du blanc). On réserve le dernier secteur à la correction d'erreurs, on le remplit de telle sorte que sur chaque ligne le nombre de cases noires soit pair. Maintenant si un secteur de notre mémoire (une colonne donc) est effacé, on peut retrouver tout le contenu de cette colonne rien qu'en comptant le nombre de cases noires par ligne et en le rendant pair. Deux équipes avec des mémoires différentes essaient de reconstituer le plus vite possible la colonne manquante.
- Cette activité se prête très bien à expliquer les autres codes détecteurs/correcteurs d'erreur. On peut donc parler des codes barres, pour lesquels le dernier chiffre est calculé en fonction des autres, selon un calcul relativement facile. Et c'est tout expliqué dans le bouquin traduit par Interstices (en lien ci-dessous)
Liens :
- Vous pouvez regarder une vidéo de présentation de l'activité.
- Je remets ici le lien vers Computer Science Unplugged chez qui j'ai trouvé cette activité.
- Si vous préférez lire du français, elle a été traduite en français par l'équipe d'Interstices. Vous pouvez trouver les ressources par ici. L'activité est en page 31, mais tout le reste du livre mérite le détour.
Photos :
Le matériel du tour, une photo en situation à la fête de la science à l'Université de Lorraine et le matériel pour l'extension sur la mémoire de l'ordinateur.