Sujet :
Algorithmes et structures de données
-
Un Docteur décrit un procédé utilisé par un shaman pour faire une multiplication
Un Docteur décrit un procédé utilisé par un shaman pour faire une multiplication,
peut-il être considéré comme un algorithme mathématique ?
« Engines of Our Ingenuity » est une émission radio régulièrement diffusée sur la National Public Radio (USA). Mise en scène et présentée par le Docteur John Lienhard de l'Université de Houston assisté par d'autres collègues, l'émission espère raconter la naissance et l'évolution de la culture dans la créativité humaine.
Dans son épisode 504 intitulé « Ethiopian binary math », un fermier de l'Ethiopie des années 1940 est confronté à un problème d'arithmétique : il doit vendre 34 chèvres à raison de 7 dollars l'unité. Le problème ? La multiplication est, à cette époque, inconnue dans le village. D'un pas résolu, il se décide à aller voir le chaman, le « sage » du village pour lui demander de fixer un prix de vente équitable pour l'ensemble du troupeau.
Le « sage » a alors creusé deux rangées de petits trous dans la terre. Dans la rangée de gauche, il a rempli le premier trou de 34 cailloux qui représentent chacune des 34 chèvres. Dans le suivant il en met la moitié (ou 17), dans le suivant il en met la moitié (ou 8) et il répète l'opération jusqu'à ce qu'il ne reste plus qu'un seul caillou dans le sixième trou.
Par la suite il se rend sur l'autre rangée et dans le premier trou il dépose 7 cailloux représentatifs de la valeur d'une chèvre. Il en met le double (ou 14) dans le prochain et il continue l'opération jusqu'au sixième trou où il obtient 224 cailloux.
Pour trouver une réponse à apporter au fermier, voici le procédé qu'il a utilisé. Il considère une rangée de pierres comme un couple ; si le premier nombre est pair, il ramène la valeur de la rangée à 0, à contrario si il est impair, il garde la valeur du second nombre. Voici ce qu'il obtient :
- première rangée (34 , 7) premier nombre pair, valeur 0 ;
- seconde rangée (17 , 14) premier nombre impair, valeur 14 ;
- troisième rangée (8 , 28) premier nombre pair, valeur 0 ;
- quatrième rangée (4, 56) premier nombre pair, valeur 0 ;
- cinquième rangée (2, 112) premier nombre pair, valeur 0 ;
- sixième rangée (1, 224) premier nombre impair, valeur 224.
Par la suite il n'a plus qu'à additionner les valeurs des rangées soit 0 + 14 + 0 + 0 + 0 + 224 ce qui lui donne un résultat de 238 qui correspond au nombre que nous aurions obtenu en faisant l'opération 34 x 7.
Source : Engines of Our Ingenuity (audio)
Et vous ?
Son procédé est-il vérifié ? Aurions-nous obtenu un résultat différent avec d'autres nombres ?
Pouvez-vous expliquer ce procédé ?
Peut-on considérer sa méthode comme un algorithme ?
Discussions similaires
-
Réponses: 8
Dernier message: 25/04/2014, 11h33
-
Réponses: 4
Dernier message: 18/07/2011, 11h11
-
Réponses: 2
Dernier message: 27/08/2010, 09h54
-
Réponses: 1
Dernier message: 04/11/2007, 02h27
-
Réponses: 3
Dernier message: 13/04/2006, 16h57
Partager