Attention : Les animations ne sont formatées que pour une utilisation sur ordinateur.

L'erreur est humaine... et numérique

Vous n'y avez peut-être jamais pensé, mais vous savez, avant même de lancer un ballon, que sa trajectoire suivra une courbe bien déterminée, qu'on appelle une parabole. En fonction de la force exercée et de la direction du lancer, qui sont les deux paramètres essentiels, vous pouvez même remplir un objectif. Il s'agit parfois d'atteindre un point avec précision, comme lors d'une touche au rugby, ou d'un lancer de boulette de papier. Parfois, l'objectif est de lancer quelque chose le plus loin possible, comme un javelot ou une boule de neige. Et parfois, le lancer est très complexe, comme dans le cas des ricochets qui vise à effleurer la surface de l'eau. Une personne entrainée, comme un joueur ou une joueuse de rugby, saura atteindre son objectif dès le premier essai, en anticipant les effets de son geste. C'est pourquoi, lors des touches de rugby, une série de codes est mise en place afin de convenir, avant même le lancer, de la future trajectoire du ballon, permettant d'anticiper la stratégie de jeu (ascenseur, etc). Dans un lieu fermé et sans mettre d'effet particulier, il est aisé d'anticiper la trajectoire d'un lancer. Mais en présence de vent, ou si la balle est lancée avec un effet, les choses se compliquent et nous avons besoin d'entrainement pour ajuster nos lancers ! Cette question du lancer n'est qu'un exemple de situation où l'on peut espérer comprendre les phénomènes physiques, et quantifier les lois qui les régissent. C'est le pari des sciences de la "modélisation". Dans cet article nous vous proposons de suivre les trois grandes étapes de ce processus : physique, mathématique et numérique, à travers les erreurs possibles qu'elles engendrent.

Physique : une erreur humaine.

Des principes établis depuis l'avènement de la physique moderne (quelques siècles) permettent toujours aujourd'hui de comprendre et prévoir la grande majorité des phénomènes qui nous entourent. Un premier principe est qu'à tout lieu et à tout instant, les mêmes causes auront les mêmes effets. Cette universalité des lois de la physique est au coeur même de la démarche des sciences prédictives.

Ces principes, appliqués à des situations particulières, donnent lieu à des équations portant sur des quantités dépendant de l'espace et du temps. Dans le cas du lancer, on peut par exemple connaitre la position tridimensionnelle de la balle en tout temps, en appliquant les principes de la mécanique énoncés au dix-septième siècle par Isaac Newton (1642-1726). Il se trouve que, dans le cas général, ces équations relient non pas les quantités directement, mais leurs variations en fonction du temps et/ou de l'espace. On les appelle des Équations aux Dérivées. Elles résument ce que la communauté scientifique a compris des phénomènes, et intègre donc une potentielle erreur de "compréhension" qui est liée au cerveau humain, à nos façons de voir le monde, aux limites de la connaissance actuelle. Notre compréhension du monde permet-elle de tout mettre en équation ?

Certaines lois sont en fait, pour le moment, inconnues : nous savons par exemple qu'il existe un impact du vent sur la trajectoire de la balle mais cet impact est très difficile à décrire par des lois physiques. Il est alors possible, dans ce genre de situations, de proposer des lois phénoménologiques qui se contentent d'imiter le phénomène observé. Ces choix de lois phénoménologiques dépendent donc très fortement de notre conception et notre perception du monde. D'ailleurs, plusieurs lois différentes peuvent être proposées et défendues par des scientifiques. Seules les découvertes futures permettront peut-être un jour de savoir si certaines de ces lois étaient valides, essentiellement sur la base de mesures expérimentales, dont nous reparlerons dans la suite de cet article.

L'une des finalités de la modélisation physique est donc d'écrire des équations qui décrivent au mieux les phénomènes observés. L'étude de ces équations et l'estimation de leurs solutions est ensuite une affaire de mathématiques...

Mathématiques : une erreur d'approximation.

D'un point de vue mathématique, la première étape, une fois la mise en équation effectuée, consiste à donner un sens à cette équation, c'est-à-dire à définir un contexte dans lequel on souhaite la résoudre. Revenons un instant sur l'exemple de la trajectoire de la balle. Notre intuition nous fait sentir que si on lance la balle, elle va forcément toucher le sol en un point, en passant par une trajectoire déterminée. C'est ce qu'on appelle une solution. Il est rassurant de savoir qu'il est possible, grâce à des théorèmes mathématiques, de montrer l'existence d'une telle solution puisque physiquement nous expérimentons que c'est le cas. Maintenant posons-nous la question : existe t-il plusieurs directions et forces initiales qui permettent de viser un endroit donné ? Essayez donc, dans l'animation suivante, de toucher Newton avec la pomme, deux fois au même endroit, avec deux trajectoires différentes !

Essayez de viser Newton avec la pomme.










Recommencer le lancer
Effacer les points



La réponse était donc oui, comme on a pu l'expérimenter sur l'animation : il existe plusieurs directions et forces initiales qui permettent de viser un endroit donné. Mais par contre, si la balle est lancée plusieurs fois de suite avec la même force et la même direction initiales, elle arrivera toujours au même endroit. Et heureusement pour notre équipe favorite de rugby ! C'est précisément cette propriété que l'on appelle "unicité" d'un point de vue mathématique. Plus généralement, l'existence, l'unicité et la mise en évidence d'un ensemble de propriétés sur des modèles physiques (conservation de certaines quantités : pas de perte ni de création d'énergie, symétrie de la solution ...) constituent un axe de recherche en mathématiques. Il est intéressant de souligner que, même pour certains problèmes physiques représentant des phénomènes qui peuvent sembler relativement simples car familiers, l'existence de solution pose toujours problème. Pour les équations de Navier-Stokes (décrivant le mouvement d'une grande majorité de liquides et de gaz) il s'agit même d'un des problèmes à un million de dollars américains proposés par l'Institut de mathématiques Clay en 2000. Avis aux amateurs et amatrices !

Pour illustrer la difficulté principale rencontrée pour prouver l'existence et l'unicité de solutions, confrontez vous à la célèbre énigme qui consiste à relier 9 points avec seulement 4 lignes droites sans lever le crayon, en jouant avec l'animation suivante.

Recommencer

Aucune ligne tracée !



Pour trouver une solution à cette énigme, il faut en effet sortir du cadre du carré des 9 points, et donc sortir d'un cadre de pensée préconçu. Peut-être avez-vous passé un certain temps à ne pas vous autoriser à sortir du carré implicitement tracé par le contour des 9 points ? Cliquez ici pour voir une solution. À présent, pensez-vous qu'il n'y a qu'une seule façon de résoudre cette énigme ? On se retrouve en fait confronté à la question "Qu'est ce qu'une solution ?" Est-ce la forme géométrique obtenue ? Ou la trajectoire parcourue ? Une solution symétrique doit-elle être considérée comme une nouvelle solution ? De la même façon, lorsqu'on résout un problème mathématique, c'est à des questions très similaires qu'il s'agit de répondre pour définir un espace mathématique dans lequel les solutions vont exister, être uniques et vérifier des propriétés intéressantes.

Revenons encore une fois à la trajectoire de notre ballon, et considérons-la seulement dans un plan comme la pomme sur l'animation précédente, sa position à chaque instant peut alors être représentée par deux coordonnées : sa hauteur h (axe des ordonnées y) et son avancée a (axe des abscisses x) qui dépendent du temps. Chacune de ces deux coordonnées peut prendre une infinité de valeurs, et même si nous avons pu prouver qu'une solution existe, nous ne la connaissons pas forcément, c'est à dire : nous ne pouvons pas forcément écrire les formules de la hauteur et de l'avancée en fonction du temps écoulé depuis le lancer.

La première idée consiste donc à se dire que nous allons écrire un algorithme - c'est-à-dire une suite finie d'opérations élémentaires - dont le résultat "est" la solution de l'équation. Cette idée est souvent utopique pour plusieurs raisons : soit on ne sait pas (encore ?) faire, soit c'est trop long, soit c'est impossible à cause de l'infinité de valeurs que peuvent prendre nos inconnues (pour la trajectoire du lancer de ballon, les inconnues sont la hauteur et l'avancée, en tout temps depuis le lancer). Donc, on se contente d'écrire un algorithme dont le résultat "est proche de" la solution de l'équation.

Imaginons par exemple que nous souhaitions approcher la circonférence d'un cercle, c'est à dire son périmètre, ou encore la distance parcourue en dessinant son pourtour. Comme sur l'animation suivante, nous pouvons constater que la circonférence du cercle (tracé en noir sur l'animation) est comprise entre celle du plus petit triangle contenant le cercle (tracé en rouge sur l'animation), et celle du plus grand triangle contenu dans le cercle (tracé en bleu sur l'animation). On peut ensuite imaginer de faire la même chose avec des carrés: la circonférence du cercle est comprise entre celle du plus petit carré contenant le cercle et celle du plus grand carré contenu dans le cercle (on peut faire varier le nombre de côtés en déplaçant le curseur sous la figure). N'avez vous pas l'impression que les circonférences se rapprochent ? C'est mieux, mais c'est encore loin ! Continuez donc d'ajouter des points à votre polygone, en utilisant le curseur sous la figure, et observez les valeurs des circonférences qui s'affichent en même temps sur la courbe de droite.

Polygone à 3 côtés









Avez vous pu remarquer que plus les polygones possèdent de côtés, plus leurs circonférences s'approchent de celle du cercle ? Il est possible grâce à des calculs géométriques de déterminer la formule de la circonférence du plus grand polygone régulier à n côtés contenu dans le cercle dont le diamètre vaut 1 (dessiné en bleu sur l'animation). Elle vaut \(C_n = n \times \sin(\frac{180^o}{n})\) où \( \sin \) est la fonction mathématique "sinus" et \(n\) le nombre de côtés du polygone (3 pour un triangle, 4 pour un carré, etc...). Il est possible de montrer que quand le nombre de côtés du polygone \(n\) augmente, la circonférence du polygone s'approche de la circonférence du cercle. En termes mathématiques, on dit que la suite des circonférences "tend" vers celle du cercle. On l'observe bien sur la figure de droite : la courbe bleue s'approche de plus en plus de la courbe noire. Il s'agit de la notion de convergence de l'algorithme. Pour le triangle (qui a 3 côtés), pour le polygone à 10 côtés et pour celui à 100 nous obtenons respectivement : \(C_3 \approx 2.5981\), \(C_{10} \approx 3.0902\) et \(C_{100} \approx 3.1411\). La stratégie développée ici est une des manières possibles d'approcher le nombre \(\pi\) qui est défini comme "la circonférence du cercle dont le diamètre vaut 1". Ici avec \(n=100\), nous obtenons comme valeur approchée pour \(\pi\) la valeur \(3.1411\). Les 4 premières décimales de \(\pi\) sont en fait \(\pi \approx 3.1415\) . On constate donc qu'avec \(n=100\), seulement les 3 premières sont exactes. Si on veut obtenir les 4 premières il faut considérer \(n=191\). En fait, on peut prouver mathématiquement que si on souhaite plus de décimales, il suffit d'augmenter le nombre de côtés.

Dans un cadre plus général, le rôle des mathématicien.ne.s est de définir un algorithme (suite d'opérations élémentaires) qui converge vers la solution du problème physique, chimique ou biologique qui les intéresse. Les algorithmes proposés sont plus élaborés que celui, présenté ci dessus, utilisé pour approcher la circonférence du cercle, mais de la même manière, ils reposent sur l'estimation d'une valeur approchée de la solution. Une des grandes qualités de ces méthodes est qu'elle permettent de quantifier l'erreur commise par l'algorithme (par exemple ici : en fonction du nombre de côtés, combien de décimales puis-je espérer approcher correctement ? ) pour maîtriser à quel point le calcul sera proche ou loin de la solution espérée. Cette science s'appelle l'analyse numérique, et une fois que l'algorithme et ses propriétés sont proposés, sa mise en oeuvre est une affaire d'informatique.


Informatique : une erreur d'arrondi.

Nous arrivons maintenant dans la dernière grande étape du processus. Il fut un temps où la seule façon de procéder à la suite de calculs dictée par l'algorithme était de prendre un papier, un crayon, et de tout calculer à la main. Les personnes qui réalisaient cette tâche étaient appelées des "calculatrices" car elle étaient souvent des femmes ! En anglais, on les appelait des "computers", et l'on donne aujourd'hui ces noms aux machines, pourvues de puissance de calcul, qui réalisent cette même tâche. L'algorithme peut donc à présent être "implémenté" dans un ordinateur, à travers un langage de programmation qui précise à la machine quels calculs elle doit effectuer ainsi que leur ordre d'exécution (d'où la terminologie d'"ordinateur").

On pourrait alors croire que la résolution de notre algorithme par un ordinateur serait parfaite. En fait il n'en est rien, car l'ordinateur est obligé d'arrondir les chiffres, c'est à dire qu'un paramètre doit prendre une valeur parmi un nombre fini de possibilités. Prenons l'exemple de la fraction 1/3 : est-ce 0.3, 0.33, ... 0.333333333 ? L'ordinateur, pour des raisons de construction, ne peut stocker qu'un nombre fini de valeurs après la virgule (les décimales). L'une des conséquences c'est qu'il ne calcule pas exactement le résultat de l'algorithme prévu, mais un résultat arrondi, qui est donc légèrement différent. Plus l'ordinateur fait d'opérations, plus il commet ces erreurs d'arrondi. De bonnes pratiques de programmation peuvent permettre de limiter ces erreurs comme par exemple de bien choisir la nature et l'ordre des opérations. Imaginons par exemple que vous ayez 30 biscuits et 30 personnes : est-ce que vous commencez par diviser chacun de vos biscuits en 30 pour en distribuer une part à chaque personne, ou est-ce que vous donnez directement un biscuit à chaque personne ? La solution la plus équitable sera sans doute la seconde puisqu'elle limite le nombre d'opérations susceptibles d'induire des erreurs, ce qui est une règle générale à suivre en programmation. Cette erreur d'arrondi, qui est donc inévitable, peut être quantifiée dans une certaine mesure en supposant bien sûr que les pratiques de programmation suivent les recommandations. En particulier, les scientifiques peuvent choisir après quel nombre de décimales l'ordinateur arrondira les calculs, ce qui leur permet de contrôler la précision de leurs calculs.

Notez par exemple que sur l'animation qui présentait l'algorithme du calcul de la circonférence d'un cercle, la valeur de \(\pi\) représentée en noir sur le graphique n'était en réalité qu'une valeur arrondie, puisque l'ordinateur n'a pas connaissance du nombre \(\pi\) qui, par nature, a un nombre infini de décimales.

Donner un sens au calcul malgré ces erreurs.

Nous avons présenté les 3 types d'erreurs commises lors du processus de modélisation : l'erreur humaine (le modèle et donc sa solution dépend de notre perception du monde), l'erreur mathématique (notre capacité à définir des bons espaces pour les solutions ; l'écriture d'un algorithme) et l'erreur informatique (l'ordinateur est obligé d'arrondir les résultats). Une dernière chose reste encore à faire : une fois qu'on sait quantifier ces erreurs et les contrôler, comment choisir la quantité d'erreur que l'on peut tolérer ? Si nous revenons à notre trajectoire de ballon de rugby, la concentration à fournir n'est pas la même si le coéquipier reste mobile ou s'il est en train de se déplacer. De la même façon pour le tir à l'arc, la précision n'est pas la même si vous souhaitez juste atteindre la cible ou si vous souhaitez atteindre son centre. On ressent par cet exemple que la précision requise dépend donc du contexte dans lequel on se trouve. En calcul scientifique, les résultats calculés peuvent être utilisés dans des contextes très différents : prédiction de la météo, calcul de la trajectoire d'un satellite, prédiction de la croissance d'une tumeur cancéreuse, comparaison entre un modèle et des mesures, calcul de la résistance d'un bâtiment, estimation des résonances d'une salle de concert... Chaque situation requiert un niveau différent de précision et il est donc rassurant de pouvoir le garantir par des méthodes mathématiques. Quoi qu'il en soit, dès que l'on souhaite se confronter à des données réelles, on se confronte à un autre type d'erreur présente : les incertitudes de mesure. Ces erreurs n'étaient pas l'objet du présent article mais sont le centre d'intérêt de beaucoup de personnes dans les domaines de la physique, qui cherchent à améliorer les instruments de mesure dans le but de diminuer ces erreurs, mais aussi des mathématiques en essayant de quantifier au mieux ces incertitudes.

A présent, vous pouvez revenir sur l'animation du lancer de pomme sur notre Newton-cible, avec un nouveau regard : lorsque vous donnez à la pomme une direction et une force initiales, l'ordinateur calcule à la volée la trajectoire de la pomme, grâce à un modèle (qui découle des lois de Newton), un algorithme (qui s'appelle ici la méthode de Runge Kutta d'ordre 4), et une implémentation dans un langage qu'on appelle javascript. Chaque point de la trajectoire correspond à un calcul fait par l'ordinateur, qui affiche la pomme en mouvement pour avoir l'air plus interactif. Vous êtes donc témoin et protagoniste d'une scène de modélisation et de simulation ! Mais demandez-vous ceci : avez vous toujours besoin que la trajectoire aille jusqu'à la fin pour savoir si la pomme va toucher Newton ou non ? Il semblerait donc que dans votre fort intérieur, vous ayez l'intuition de ce que va être la solution, à partir des seules données initiales. Et pourtant, il vous a peut-être fallu plusieurs essais avant de réussir à toucher Newton avec la pomme, c'est à dire à résoudre le problème qui consiste à savoir quelles force et direction donner pour atteindre la cible . Il s'agit du problème opposé à celui que la modélisation sait résoudre, à savoir, calculer la trajectoire de la pomme étant données une force et une direction . C'est pourquoi on l'appelle le "problème inverse". Pour l'instant, le comportement de la pomme était simple puisqu'il suivait la loi de la gravité dans le contexte terrestre. Vous avez donc sûrement ressenti des sensations similaires à votre expérience terrestre de lancer d'objets. Pensez-vous y arriver aussi bien si l'on se place dans la situation de la Lune ou de Mars ? Pour le savoir, essayez donc la suite du jeu en y retournant !



Avez vous remarqué en lançant la pomme sur la Lune et sur Mars, que comme sur la Terre, vous saviez avant la fin de la trajectoire si la pomme allait toucher Newton, alors que vous n'y êtes sûrement jamais allé ? Encore une fois, dans votre fort intérieur, vous avez rapidement intégré le fait que la Lune et Mars ont chacune une masse différente de celle de la Terre mais que cela ne change pas la nature des lois physiques qui y ont lieu. Dans le langage mathématique, on dit que les lois physiques définissent le modèle sous la forme d'une équation, et que la masse est un paramètre de cette équation. Changer de planète revient simplement à changer la valeur de ce paramètre, mais d'une part les trajectoires auront toujours les mêmes comportements, et d'autre part, la méthode pour résoudre l'équation est toujours la même. C'est justement l'un des atouts principaux de la modélisation et du calcul scientifique, qui a conduit à leur utilisation généralisée dans des domaines très variés, aussi bien dans le monde de la recherche que des entreprises, grâce notamment à la compréhension précise des erreurs que nous avons décrites dans cet article.


Credit images

Texte : Juliette Chabassier et Annabelle Collin
Animation web : Jérémy Martin