Pourquoi les profs de maths rejettent-ils les valeurs approchées quand on peut connaître la valeur exacte d'un résultat
Par Guy Marion
Même avec un système informatique irréprochable, la plupart des calculs conduisent inévitablement à des erreurs, heureusement repérables dans la majorité des cas. En effet, le résultat d'une opération sur ordinateur ne peut presque jamais être représenté exactement!
Les nombres représentables exactement, qui forment un sous-ensemble des nombres rationnels, sont appelés nombres machine. Tous les autres doivent être arrondis, c'est-à-dire fournir un nombre machine proche du résultat exact.Seuls les rationnels dont la forme irréductible est n/(2^q), peuvent avoir une représentation exacte ; les autres ont nécessairement une représentation approchée (par exemple, le nombre décimal 1/10 est converti en base 2 en 0.000110011..., la partie coloriée étant répétée indéfiniment)
Une succession d'arrondis peut conduire à catastrophes comme dans l'exemple qui suit:
Le 25 février 1991, pendant la Guerre du Golfe, une batterie américaine de missiles Patriot, à Dharan (Arabie Saoudite), a échoué dans l’interception d’un missile Scud irakien. Le Scud a frappé un baraquement de l’armée américaine et a tué 28 soldats. La commission d’enquête a conclu à un calcul incorrect du temps de parcours, dû à un problème d’arrondi. Les nombres étaient représentés en virgule fixe sur 24 bits. Le temps était compté par l’horloge interne du système en 1/10 de seconde. Malheureusement, 1/10 n’a pas d’écriture finie dans le système binaire : 1/10 = 0,1 (dans le système décimal) = 0,0001100110011001100110011… (dans le système binaire). L’ordinateur de bord arrondissait 1/10 à 24 chiffres, d’où une petite erreur dans le décompte du temps pour chaque 1/10 de seconde. Au moment de l’attaque, la batterie de missile Patriot était allumée depuis environ 100 heures, ce qui avait entraîné une accumulation des erreurs d’arrondi de 0,34 s. Pendant ce temps, un missile Scud parcourt environ 500 m, ce qui explique que le Patriot soit passé à côté de sa cible