Rediffusion d’un article publié en 2017
« Rien ne sert de courir, il faut pointer à part », dit la tortue Logo
Piste bleue Le 7 novembre 2021 Voir les commentaires
Lorsque Seymour Papert et son équipe sont passés de la tortue réelle à sa version virtuelle sur écran (l’ancêtre des lutins), ils se sont livrés à une activité de modélisation. Dans cet article on va explorer la modélisation inverse : simuler les imperfections d’une tortue réelle, à l’aide de sa version virtuelle.
À la fin des années 1960, Seymour Papert explorait une nouvelle façon d’enseigner les maths : faire programmer par des enfants, des robots dessinateurs. Ces robots [1] étaient grosso modo des tortues de Bristol auxquelles Papert et son équipe avaient rajouté des bras munis de stylos qui laissaient des traces sur le papier [2]. Puis Papert a porté sur ordinateur une version virtuelle de ces « tortues » et les enfants, depuis ce jour, dessinent des carrés et autres polygones réguliers, à l’aide de ce qui est devenu Logo, puis Scratch. Mais si on essaye de faire parcourir un carré avec un des descendants modernes des tortues matérielles, que sont le Thymio, le Sphero etc, on constate que même sur terrain plat, le trajet s’arrête souvent assez loin du point de départ. Pour rendre le phénomène plus visible, on a exagéré les erreurs de parcours sur cette simulation [3] (bouger le point de départ pour voir d’autres réalisations du trajet aléatoire ; la distance finale est affichée en rouge) :
Les buts de cet article sont
- de proposer des activités inédites en programmation (pour le cours de maths ou au sein d’un EPI maths/techno) dès le collège ;
- d’introduire graphiquement au théorème central limite et aux vecteurs gaussiens (ça par contre ce n’est pas pour le collège !) ;
- de proposer des pistes pour une étude statistique de la distance dont la tortue a « raté sa cible » après avoir dessiné un polygone régulier ;
- Mais surtout et avant tout, de montrer des images, que l’on espère suffisamment belles pour rendre agréable la lecture de l’article. En particulier, la programmation graphique permet de faire en sorte que même des algorithmes peuvent être traduits par des images.
Dans une première partie, on va ajouter des petites perturbations aux petits mouvements successifs que fait la tortue au cours de son parcours et voir comment le parcours est modifié, avec exploration statistique de la position finale. Ensuite dans une seconde partie, on ne va garder que les perturbations aléatoires et simuler ainsi un mouvement brownien.
Voici certaines choses que peut faire une tortue de Papert :
- Pour la faire avancer (ici de 200 pixels), on fait tourner les deux moteurs jusqu’à ce qu’elle ait avancé (théoriquement tout droit) d’une distance (théorique) de 200 pixels.
- Pour la faire tourner (ici de 90°) on fait tourner ses deux roues motrices en sens inverse jusqu’à ce qu’elle ait tourné (théoriquement autour du milieu de son essieu) d’un angle (théorique) de 90° ;
- Pour qu’elle laisse une trace écrite de son parcours, on actionne le moteur guidant le stylo pour que celui-ci touche le papier. Théoriquement le stylo est au milieu de l’essieu et ne dessine pas de traits pendant les rotations.
Première partie : polygones approximatifs
Pour faire tracer un carré par la tortue, on lui demande d’avancer de 200 pixels puis de tourner de 90°, ceci, 4 fois de suite :
Ci-dessus les blocs « repliés » (en mauve) sont des fonctions définies plus bas, et pour l’instant cachées afin de laisser le regard se concentrer sur l’essentiel (en vert) : pour dessiner un carré, la tortue doit avancer de 200 pixels puis tourner de 90° vers la gauche, ceci, 4 fois.
Mais lorsque la tortue matérielle avance, ce n’est pas exactement de 200 pixels, et lorsqu’elle tourne, ce n’est pas exactement de 90° [5].
Le modèle choisi ici est un peu arbitraire : On imagine que tous les 10 pixels, la tortue s’est trompée d’au maximum 1 pixel sur la distance parcourue (laquelle suit alors une loi $\mathcal{U}(9;11)$) et qu’en plus elle ne continue pas à aller tout droit : Elle subit (toujours tous les 10 pixels) une rotation suivant une loi $\mathcal{U}(-1°,1°)$. Le caractère arbitraire de ces choix est justifié par les faits suivants :
- Une modélisation plus fine nécessiterait d’en savoir plus sur les dimensions du robot, la rugosité des pneus etc.
- Le choix de Sofus incite à l’expérimentation, en modifiant les paramètres pour voir l’effet des modifications.
- La superposition d’erreurs multiples et indépendantes entre elles amène en général à l’apparition de lois normales dont les paramètres sont de toute manière choisis assez arbitrairement. En général...
Ci-dessous on va donc approcher l’erreur angulaire par une loi uniforme entre -1° et 1°, et l’erreur de distance par une loi uniforme entre -1 pixel et 1 pixel ; mais ces erreurs seront rajoutées tous les 10 pixels et il est difficile de prévoir a priori l’effet obtenu au final.
En remplaçant l’instruction standard avancer de 200 par une boucle dans laquelle on avance 20 fois de 10, mais avec introduction d’erreurs, on simule un robot plus réaliste que les tortues virtuelles de Papert. Pour se faciliter la tâche, on a créé préalablement une variable aléatoire e uniforme entre -1 et 1, et on l’additionne à la longueur et à l’angle après chaque parcours de 10 pixels :
Le tracé obtenu a cette allure :
La position finale de la tortue n’est pas très éloignée de son point de départ (qui est le début de la courbe) mais c’est seulement en moyenne qu’elle est exactement le point de départ. Ce script permet de chercher la répartition statistique des abscisses de ce point. La suite du programme pouvant être une modélisation probabiliste des erreurs sur la position et la distance finale de la tortue.
Mais avant cela, puisque ce site est à vocation visuelle, voici une étoile pentagonale dessinée avec un procédé similaire :
On peut aussi essayer d’autres étoiles, par exemple à 8 branches :
Dans la partie suivante, on va essayer de faire dessiner des cercles aux tortues erratiques, d’une part parce que c’est beau, d’autre part parce que l’abondance de mouvements « élémentaires » laisse prévoir une meilleure approximation gaussienne.
Le cercle est bien rond, mais ne se ferme pas :
Un bon moyen de voir la répartition des points d’arrivée, est d’utiliser plusieurs tortues en même temps :
Les positions finales des tortues donnent un nuage de points qui semble suivre approximativement une loi normale multidimensionnelle (en dimension 2) ; en voici quelques exemplaires :
Mais le nuage de points est allongé : L’écart-type des abscisses (à peu près 80 [6] ici) est plus grand que celui des ordonnées :
Cela se confirme sur les histogrammes superposés des abscisses (en bleu) et des ordonnées (en rouge) ; la superposition permet d’estimer le rapport des écarts-types à environ 1,5 [7] :
Voici, enfin, l’histogramme des distances :
Deuxième partie : Le mouvement brownien
Si maintenant, à chaque fois qu’elle a avancé de 5 pixels, la tortue commet une erreur angulaire de 360° (soyons fous !) la tortue va carrément effectuer une marche aléatoire, qui simule efficacement un mouvement brownien :
Avec 100 tortues faisant la danse folle de Monsieur Brown en même temps, la chorégraphie donne rapidement lieu à un nuage gaussien de tortues :
En répétant l’expérience, on peut constater que l’écart-type des abscisses (par exemple) grandit comme la racine carrée du nombre de pas effectués. Ce phénomène décrit la propagation de la chaleur.
Ces images très mathématiques sont issues du travail commencé en 2016 pour un atelier de l’IREM de La Réunion, dont une des composantes est le développement du logiciel Sofus : Il était alors prévu d’interfacer un robot de type Thymio en plus de la tortue virtuelle de Sofus. Cet interfaçage n’a pas (encore) été réalisé [9], mais l’idée reste intéressante à explorer en EPI maths/techno au collège [10].
En attendant, la répétition d’avancées aléatoires de la tortue a déjà donné lieu à des introductions au cours en terminale et en BTS, avec les constatations suivantes :
- En avançant un nombre prédéterminé de fois d’une distance uniforme, la tortue parcourt une distance approximativement normale : Non seulement ça permet d’introduire la loi normale, mais c’est même la façon de faire qui est préconisée en STI2D/STL et en BTS ;
- En avançant de distances suivant une loi exponentielle jusqu’à avoir dépassé une certaine distance, le nombre de pas suit une loi de Poisson de même paramètre que la loi exponentielle.
Mais avec l’introduction de Python en Seconde, ce genre d’activité, en dehors de l’intérêt esthétique, permet de combiner géométrie repérée et statistiques, ce qui n’est pas rien !
Dire que, sans les nombreuses remarques des relecteurs, cet article n’existerait pas sous cette forme, n’est pas des paroles en l’air : la proportion du texte de cet article ayant survécu aux suggestions de modification par les relecteurs est in fine très faible. Qu’ils en soient ici, vivement, remerciés : Michele Triestino, Vincent Beck, Romain Bondil, Jean Aymes, Christian Mercat et Yassine Ghalem mériteraient presque d’être considérés comme co-auteurs de cet article, tant par leurs suggestions d’amélioration que par les réflexions qu’ils ont suscitées chez l’auteur initial de l’article. Mention spéciale pour Nicolas Chatal qui est à l’origine du titre actuel de l’article.
Notes
[1] capables d’avancer ou reculer d’une longueur donnée, ou de tourner sur eux-mêmes d’un angle donné
[2] par programmation : une fois le bras en position basse, la tortue laissait une trace d’encre sur le terrain ; si le bras était en position haute, le stylo ne laissait aucune trace et la tortue avançait simplement.
[4] on peut aussi télécharger le source et l’utiliser en local ; pour cela cliquer sur clone or download pour télécharger le logiciel, sous la forme d’un dossier zippé contenant tout le site, en particulier la page Sofus.html qui permet de programmer
[5] les tortues de Bristol, une fois qu’on a enlevé leur carapace, révèlent un chassis électronique monté sur trois roues dont deux motrices. Et ces deux roues motrices n’ont pas exactement le même rayon, elles ne sont pas parfaitement circulaires, leurs pneus sont rugueux etc.
[6] on a agrandi l’image d’un facteur 10 pour mieux voir le nuage de points ; l’écart-type estimé par lecture du nuage de points est donc plus grand que celui calculé sur la série des abscisses, lequel est environ 9 ; et l’écart-type des ordonnées est environ 6
[7] En statistiques, on ne se contente pas de constater l’allure « en cloche » d’un histogramme pour inférer une loi normale : Il faudrait un test de normalité comme un test de Shapiro-Wilk ou l’usage de la droite de Henry. Mais est-il besoin de rappeler que ces notions dépassent largement le cadre de l’enseignement des maths au secondaire ?
[8] Pour une loi uniforme entre 9 et 11, l’espérance est 10 et la variance est $\frac{1}{3}$
[9] Un collège acceptant de financer un EPI maths/techno, et la présence simultanée dans ce collège, d’un prof de maths qui accepte de travailler en EPI maths/techno, et d’un prof de techno ayant la même intention, et d’un crédit pour acheter les robots, c’est, disons, rare (euphémisme)...
[10] le Thymio est conseillé parce que, muni d’un trou pour placer un stylo, on n’a pas à se préoccuper de la trace graphique ; de toute manière il est intéressant de répéter un assez grand nombre de fois l’expérience consistant à programmer le Thymio pour qu’il aille tout droit vers une cible et mesurer la position finale. Après une phase de collecte de données, qui peut avoir été faite avec un télémètre, on passe à l’étude statistique des erreurs avec un tableur par exemple.
Partager cet article
Pour citer cet article :
Alain Busser — «« Rien ne sert de courir, il faut pointer à part », dit la tortue Logo» — Images des Mathématiques, CNRS, 2021
Laisser un commentaire
Actualités des maths
-
5 mars 2023Maths en scène : Printemps des mathématiques (3-31 mars)
-
6 février 2023Journées nationales de l’APMEP, appel à ateliers (9/4)
-
20 janvier 2023Le vote électronique - les défis du secret et de la transparence (Nancy, 26/1)
-
17 novembre 2022Du café aux mathématiques : conférence de Hugo Duminil-Copin (Nancy et streaming, 24/11)
-
16 septembre 2022Modélisation et simulation numérique d’instruments de musique (Nancy & streaming, 22/9)
-
11 mai 2022Printemps des cimetières
Commentaire sur l'article