Developpez.com

Plus de 2 000 forums
et jusqu'à 5 000 nouveaux messages par jour

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 ?

Le , par Stéphane le calme, Chroniqueur Actualités
« 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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Uranne-jimmy Uranne-jimmy - Membre expérimenté https://www.developpez.com
le 09/10/2013 à 12:02
C'est peut être une réflexion bête hein, mais si il est capable d'en mettre le double ou la moitié, il peut pas simplement comprendre le principe de division et multiplication ? étaler 34 trou et mettre dans chaque trou le prix d'une bête ?
Avatar de tontonnux tontonnux - Membre expérimenté https://www.developpez.com
le 09/10/2013 à 12:23
Citation Envoyé par Uranne-jimmy  Voir le message
... étaler 34 trou et mettre dans chaque trou le prix d'une bête ?

Complètement, mais ça ferait pas assez savant.
Avatar de ze@rnal ze@rnal - Membre à l'essai https://www.developpez.com
le 09/10/2013 à 12:24
Et s'il y a 33 ou 35 chèvres la méthode ne marche pas.

Ce n'est donc pas un algorithme, ou alors il est incomplet.
Avatar de Juda-Priest Juda-Priest - Membre actif https://www.developpez.com
le 09/10/2013 à 12:42
Hmmm... La multiplication n'est qu'un raccourci pour une grande addition d'un même chiffre (ou nombre).

Il arrive à additionner 14 + 224, donc la méthode de Uranne-jimmy aurait du la plus que probable pour une première approche.

Citation Envoyé par Uranne-jimmy  Voir le message
C'est peut être une réflexion bête hein, mais si il est capable d'en mettre le double ou la moitié, il peut pas simplement comprendre le principe de division et multiplication ? étaler 34 trou et mettre dans chaque trou le prix d'une bête ?

Bon même si je suis septique, l'approche reste ingénieuse, et tant que Shaman, j'aurais moi aussi utiliser des méthodes tordus pour que ses péons ne puissent pas se passer de moi o/
Avatar de klhoste klhoste - Membre à l'essai https://www.developpez.com
le 09/10/2013 à 13:00
Tiens, ça aurait plu à mon prof d'algèbre tout ça...
ze@rnal: ça fonctionne pour 33 (7 + 224) et 35 (7 + 14 + 224)
Avatar de plegat plegat - Expert éminent https://www.developpez.com
le 09/10/2013 à 13:10
Citation Envoyé par ze@rnal  Voir le message
Et s'il y a 33 ou 35 chèvres la méthode ne marche pas.

Ben si, ça marche aussi avec 33 chèvres... et même avec 35... et heureusement d'ailleurs!

33/7/7-16/14/0-8/28/0-4/56/0-2/112/0-1/224/224, ça fait 7+224=231, soit 33*7

Citation Envoyé par Stéphane le calme  Voir le message
Son procédé est-il vérifié ? Aurions-nous obtenu un résultat différent avec d'autres nombres ?

Le procédé se base sur le fait que tout nombre peut s'écrire sous la forme 2*n+k, et sur l'associativité de la multiplication qui dit que (2*a)*b=a*(2*b)

Citation Envoyé par Stéphane le calme  Voir le message
Pouvez-vous expliquer ce procédé ?

Ouaip:

On a un nombre X1=2*n1+k1, que l'on veut multiplier par Y1
Si X1 est pair, k1=0, on passe au step suivant
Si X1 est impair, on a k1=1. On met k1*Y1 de côté et on passe au step suivant
Le step suivant revient à calculer ce qu'il reste, soit (2*n1)*Y1... autrement dit n1*(2*Y1), écrit autrement X2*Y2... tiens, ça ressemble à notre expression du début, y'a qu'à itérer!
Au final, on additionne tous les ki*Yi non nuls pour avoir le total.

Citation Envoyé par Stéphane le calme  Voir le message
Peut-on considérer sa méthode comme un algorithme ?

D'après wikipedia:

Un algorithme est une suite finie et non ambiguë d’opérations ou d'instructions permettant de résoudre un problème.

Je crois que la réponse est oui, non?
D'ailleurs c'est la façon de réfléchir d'un ordinateur, quand on décompose les nombres en binaire (appliquer l'algo avec 7*1: 7 ce n'est jamais qu'un tas avec un caillou, un tas avec deux cailloux, et un tas avec 4 cailloux...)

Voir aussi ça pour ceux qui n'ont pas l'audio.

Après, c'est pas parce que le chaman sait compter et que le fermier ne sait pas que c'est forcément de la magie!
Avatar de souviron34 souviron34 - Expert éminent sénior https://www.developpez.com
le 09/10/2013 à 13:13
Citation Envoyé par Stéphane le calme  Voir le message
Et si avant l'homme utilisait déjà des algorithmes mathématiques ?
Peut-on considérer sa méthode comme un algorithme ?


Euh... En quoi est-ce une grande nouvelle ????

Depuis l'Antiquité ça existe...

Académie de Paris : Tableur en 3eme : La légende de l'échiquier

D'après ceci, en 620 après JC.

Mais les Contes des Milles Et Une Nuits le mentionne également, des histoires chinoises aussi, de même que les Mayas, l'architecture des pyramides, la construction de la porte d'entrée de Babylone, etc....

Les ingénieurs chinois d'avant JC calculaient et faisaient des digues.
Les Romains faisaient des acqueducs sur plus de 400 km (le Pont du Gard, ou celui de la plaine du Pô)

Eratosthène, en -300, calcule le rayon de la Terre.

Et toute L'histoire de l'astronomie est là pour prouver que depuis au moins 8000 ans, on sait faire des mathématiques...

C'est quoi ce truc ??

Bien sûr que les mathématiques, les algorithmes, et de manière générale le raisonnement mathématique existe depuis des lustres, dans toutes les civilisations...
Avatar de souviron34 souviron34 - Expert éminent sénior https://www.developpez.com
le 09/10/2013 à 13:43
Citation Envoyé par plegat  Voir le message
même si à la base ça utilisait des petits tas de cailloux!

Un jour, un vieux professeur de l'École nationale d'administration
publique (ENAP) fut engagé pour donner une formation sur la
planification efficace de son temps à un groupe d'une quinzaine de
dirigeants de grosses compagnies nord-américaines. Ce cours constituait
l'un des cinq ateliers de leur journée de formation. Le vieux prof
n'avait donc qu'une heure pour "passer sa matière".

Debout, devant ce groupe d'élite (qui était prêt a noter tout ce que
l'expert allait enseigner), le vieux prof les regarda un par un,
lentement, puis leur dit : "Nous allons réaliser une expérience".

De sous la table qui le séparait de ses élèves, le vieux prof sortit
un immense pot Masson d'un gallon (pot de verre de plus de 4 litres)
qu'il posa délicatement en face de lui. Ensuite, il sortit environ une
douzaine de cailloux a peu près gros comme des balles de tennis et les
plaça délicatement, un par un, dans le grand pot.
Lorsque le pot fut rempli jusqu'au bord et qu'il fut impossible d'y
ajouter un caillou de plus, il leva lentement les yeux vers ses élevés
et leur demanda : "Est-ce que ce pot est plein?". Tous répondirent :
"Oui". Il attendit quelques secondes et ajouta : "Vraiment?".

Alors, il se pencha de nouveau et sortit de sous la table un
Récipient rempli de gravier. Avec minutie, il versa ce gravier sur les gros
cailloux, puis remua légèrement le pot. Les morceaux de gravier
s'infiltrèrent entre les cailloux... jusqu'au fond du pot.
Le vieux prof leva a nouveau les yeux vers son auditoire et
redemanda: "Est-ce que ce pot est plein?". Cette fois, ses brillants élèves
commençaient à comprendre son manège. L'un d'eux répondit :"Probablement pas!". "Bien!" répondit le vieux prof.

Il se pencha de nouveau et cette fois, sortit de sous la table un
Seau de sable. Avec attention, il versa le sable dans le pot. Le
sable alla remplir les espaces entre les gros cailloux et le gravier.
Encore une fois, il demanda :"Est-ce que ce pot est plein?". Cette fois, sans
hésiter et en chœur, les brillants élèves répondirent :"Non!".
"Bien!" répondit le vieux prof.

Et comme s'y attendaient ses prestigieux élèves, il prit le pichet
d'eau qui était sur la table et remplit le pot jusqu'à ras bord. Le vieux
prof leva alors les yeux vers son groupe et demanda :"Quelle grande
vérité nous démontre cette expérience?"

Pas fou, le plus audacieux des élèves, songeant au sujet de ce
cours, répondit :"Cela démontre que même lorsque l'on croit que notre
agenda est complètement rempli, si on le veut vraiment, on peut y ajouter
plus de rendez-vous, plus de choses à faire".

"Non" répondit le vieux prof. "Ce n'est pas cela. La grande vérité
que nous démontre cette expérience est la suivante : si on ne met pas
les gros cailloux en premier dans le pot, on ne pourra jamais les faire
entrer tous, ensuite".

Il y eut un profond silence, chacun prenant conscience de l'évidence
de ces propos.

Le vieux prof leur dit alors : "Quels sont les gros cailloux dans
Votre vie?" "Votre santé?" "Votre famille?" "Vos ami(e)s?" "Réaliser vos
rêves?" "Faire ce que vous aimez?" "Apprendre?" "Défendre une cause?"
"Relaxer?" "Prendre le temps...?" "Ou... toute autre chose?"
"Ce qu'il faut retenir, c'est l'importance de mettre ses GROS
CAILLOUX en premier dans sa vie, sinon on risque de ne pas réussir...sa vie.
Si on donne priorité aux peccadilles (le gravier, le sable), on
remplira sa vie de peccadilles et on n'aura plus suffisamment de temps précieux
a consacrer aux éléments importants de sa vie.
Alors, n'oubliez pas de vous poser a vous-même la question : "Quels
sont les GROS CAILLOUX dans ma vie?" Ensuite, mettez-les en premier dans
votre pot (vie)"

D'un geste amical de la main, le vieux professeur salua son
auditoire et lentement quitta la salle.

Avatar de Sirus64 Sirus64 - Membre éclairé https://www.developpez.com
le 09/10/2013 à 13:46
Oui c'est un algorithme !

L'algorithme fonctionne, je l'ai codé sur jsfiddle : http://jsfiddle.net/64uqz/1/ . Pour la preuve voir le commentaire de plegat !
Avatar de guidav guidav - Membre éprouvé https://www.developpez.com
le 09/10/2013 à 14:14
Existe aussi avec une bière à la place de l'eau, et la conclusion "aussi plein que soit votre emploi du temps, on peut toujours y trouver le temps de boire une bière".
Offres d'emploi IT
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil