27
QUELQUES ALGORITHME S DANS 5 500 ANS D’HISTOIRE

QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

  • Upload
    zamir

  • View
    30

  • Download
    1

Embed Size (px)

DESCRIPTION

QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE. Quelques dates importantes au proche orient (en gros):. En très gros. -100 000 : Apparition de l’homo sapiens-sapiens. NOUS. -11 000 : Premiers sédentaires, premières « maisons » au proche orient. - PowerPoint PPT Presentation

Citation preview

Page 1: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

QUELQUES ALGORITHMESDANS 5 500 ANS D’HISTOIRE

Page 2: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Quelques dates importantes au proche orient (en gros): En très gros

-100 000 : Apparition de l’homo sapiens-sapiens. NOUS

-11 000 : Premiers sédentaires, premières « maisons » au proche orient.

-10 000 : Début de l’agriculture: Apparition du …. TRAVAIL

- 9 000 : Début de l’élevage.

- 5 000 : Premiers villages conséquents; il ya suffisamment à manger pour tous, la population s’accroît, hiérarchisation de la société: Naissance de l’aristocratie qui ne travaille pas… donc apparition de … L’IMPOT- 3 500 : Premières villes, cités états: Nombreux corps sociaux différents (clergé au service de l’aristocratie divine, artisans, fonctionnaires …). Pour payer tous ces gens, les rois doivent avoir un système d’imposition efficace: il faut savoir calculer, n’oublier personne. Deux outils deviennent vite indispensable : L’ECRITURE, LE CALCULAinsi les mathématiques procèdent de l’impôt…

A partir de -2 500 : Résolution d’équations (premier et second degré), relation de Pythagore etc.Points de repère: Hammourabi : -1800 Ramsès II: -1300 Assurbanipal :-669 Thalès -625/-547 Nabuchodonosor : -600Pythagore -580/-497 Aristote -384/-322 Alexandre: -350Euclide -325/-265 Archimède -287/-212 Diophante 200/284

Page 4: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

1 chevron = 103 chevrons =30

1 clou = 12 clous =2

1 ; 24 , 51 , 10 = 1 + 24/60 + 51/602 + 10/ 603 ≈ 1, 4142129630 × 1, 41421296 ≈ 42, 4263870 = 42; 25 , 34 , 59 …

L’algorithme « de Babylone» permet de calculer les racines carrées de manière très efficace…

Diapo largement inspiré des travaux de Gilles Aldon et Michel Mizony: http://rallye-math.univ-lyon1.fr/2007/Conference/conf2.pdf

Une tablette de -2500

Page 5: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

L’algorithme de Babylone: calcul d’une racine carrée

On part d’un rectangle (21), on cherche la moyenne des longueurs des côtés: (2+1)/2 = 3/2 = 1;30 qui sera notre nouvelle longueur.

On cherche la nouvelle largeur de sorte que l’aire du nouveau rectangle soit toujours 2. 2/1;30 = 1;20. On obtient notre nouveau rectangle (1;30 1;20).On réitère: (1;25 1;24,42,10).

Et encore: (1;24,51,10,35 1;24,51,9,40): c’est la valeur de la tablette: 1;24,51,10.

L’algorithme pour calculer la racine de A est donc:

(x,y)( (x+y)/2 , 2A/(x+y) )en initialisant à (1,A)

Page 6: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Un problème babylonien du second degré (-1500)

X2 + bX = c avec b=1 , c=0;45 (= 45/60)

b/2=1/2=0;30 (= 30/60)

(b/2)²+c=1 (45/60+ 15/60=1)

Le texte donne donc l’algorithme calculant la solution positive de l’équation X²+bX=c(avec b et c positifs: ils ne connaissent pas les négatifs)

Aucun texte prouvant l’algorithme n’a été retrouvé.Pourtant ces algorithmes ont certainement du être « corrigés » …

Page 8: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

La multiplication égyptienne

Calcul de 13238 par les égyptiens:

Page 9: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

La division égyptienne

Sur le même principe, on divise… 212/6:

Page 10: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

GRECE ANCIENNE

Page 11: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

A tout seigneur…. L’algorithme « d’Euclide »

Il s’agit de calculer le PGCD de deux nombres. L’algorithme repose sur deux règles:

Si b0 : (a,b) (b,r) avec r = reste de a par b dans la division euclidienne

(a,0) a

Correction de l’algorithme: il faut démontrer que PGCD(a,b) = PGCD(b,r) il faut démontrer que PGCD(a,0) = 0 il faut démontrer que la suite des couples (a,b) est finie

Tout ceci est très simple à faire…

Mise en œuvre de l’algorithme

Page 12: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Incommensurabilité de racine de 2: méthode « d’antiphérèse »

Il s’agit d’un algorithme permettant de trouver une « commune mesure » de deux lignes.En clair: a et b étant les longueurs de deux segments, il faut trouver (ou non) un réel d (la commune mesure) et deux entiers n et p tels que a=nd et b=pd.

L’algorithme est le même que le précédent:« Soient deux lignes a et b. On peut en retranchant un certain nombre de fois laplus petite b de la plus grande a, et en recommençant avec b et r, écrire une suited’égalités : a=b q1+r1 , b=r1q2+r2 , r1=r2q2+r3 … avec 0 r1<b, 0 r2<r1,… (les qi sont entiers)

jusqu’à ce qu’un reste soit nul. La partie commune est alors le dernier reste non nul.Il est facile de démontrer que si a et b ont une partie commune alors la suite est finie.Et donc si on démontre que la suite est infinie alors a et b n’ont pas de partie commune.Euclide va utiliser cette méthode pour démontrer que la diagonale du carré est incommensurable avec le côté du carré.

Ceci est remarquable: c’est sans doute la première fois (bien avant le théorème des 4 couleurs) qu’un algorithme ne se contente pas d’exhiber un résultat (chose honnie des grecs), mais

démontre un résultat.

Soit un carré ABCD. On reporte sur la diagonale AC une longueur AE égale au côté AB et on mène la perpendiculaire à la diagonale en E qui coupe le côté BC en F.

On veut démontrer l’incommensurabilité de AC et AB:Appliquons maintenant l’algorithme de recherche d’une commune mesure. Une mesure commune à AC et AB est une commune mesure à AB et EC (AC-AB) donc àBC et BF (BC=BF , BF=EC) ou encore à FC et EC: (AC,AB) (AC-AB,AB)=(EC,AB) = (BF,BC) (BC,BF) (BC-BF,BF) (FC,BF)=(FC,EC).

On recommence et on obtient un nouveau carré semblable au précédent. Cela montre que le processus ne se termine pas. Il n’y a donc pas de commune mesure...

Page 13: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Ce raisonnement a induit un autre algorithme du calcul de valeurs approchées de la racine de 2 que celui de Babylone (xx/2+1/x) :

Si on pose s=BF et d=FC (côté et diagonale de EFGC) alors s’=AB=s+d et d’=AC=AB+s=2s+d (côté et diagonale de ABCD) L’algorithme (s,d)(s+d,2s+d) en partant de (1,1) permet de trouver une approximation de racine de 2 (d²/s² converge vers 2) :

Euclide

Page 14: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Ptolémée et

AL-Kashi

Page 15: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Ptolémée (90/168):Dans son traité d’astronomie (Almageste – « le très grand »), il a proposé un modèle géocentrique du système solaire, qui fut accepté dans les mondes occidental et arabe pendant plus de mille trois cents ans jusqu’à Copernic (1543)

Si les indiens utilisaient déjà les « sinus », les grecs travaillaient sur les cordes dans leur cercle trigo de rayon 60, coupé en 360° comme les babyloniens. Il était nécessaire de connaître les longueurs de cordes aussi précisément possible:Sur la table ci-contre, on peut voir que la

corde correspondant à un angle de 2°30’ est 2p 37’ 4 ’’ ce qui signifie 2+37/60+4/60² = 589/225 ≈ 2,617777Nous savons que la corde sous-tendue par un angle est 2Rsin(/2) et donc égal ici à 120sin(1,25°) = 2,617786..C’est donc une très bonne approximation:D’autant que 1 ’’ = 1/60² = 0,00027Cette table est juste à la seconde près.

La question est: comment a-t-il fait?

Page 16: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Pour pouvoir continuer, il trouve son théorème:ABCD est un quadrilatère convexe, s’il est inscrit dans un cercle, alors ACBD=AB CD+CB AD(La réciproque est vraie)

Il connaît Pythagore, donc il trouve les cordes correspondant aux angles 60° et 90° de manière exacte.

Il connaît aussi la construction du pentagone, donc il trouve les cordes correspondant aux angles 36° et 72° de manière exacte.

Démonstration: E est sur [AC] tel que les angles ABD et EBC soient égaux.AEB et DCB sont semblables donc AE BD = AB CDBEC et BAD sont semblables donc EC BD =AD BCEn additionnant: AB BD = AB CD + AD BC

Il utilise cette propriété pour trouver les formules de d’addition de la corde:

Page 17: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Il va pouvoir ainsi trouver les cordes de 12°, 6°, 3° :corde(12°)=corde(72°-60°)corde(6°)=corde(12°/2)corde(3°)=corde(6°/2)corde(1,5°)=corde(3°/2) corde(0,75°) =corde(1,5°/2)

Et ceci de manière exacte, donc avec l’algorithme de Babylone, obtenir des valeurs approchées aussi précise qu’il veut…

Page 18: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

En revanche, pas possible d’obtenir la valeur exacte de corde(1°) (problème de la trisection de l’angle) et corde (0,5°).En utilisant le fait que « corde(0,75°)/0,75 < corde(1°)/1 < corde(1,5°)/1,5 »,il encadre corde(1°) et trouve des valeurs approchées de corde(1°) et corde(0,5°) justes à 1’’ près.

Il ne reste plus qu’à construire la table de valeurs par pas de 0,5°.Pour cela il décompose l’arc en une somme d’arcs dont il connaît la corde et applique la formule de duplication de la corde….

Page 19: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Vers 1400, AL KASHI (Persan) dans son « Epître de la corde et du sinus » va améliorer la table en améliorant la précision (60-7) et en trouvant la valeur exacte de Sin(1°). Il abandonne les cordes pour le sinus indien: Sin(a) = corde(2a)/2 = 60 sin(a).(les sinus ont été inventés par les indiens vers -500)

Il trouvera la valeur exacte de Sin(1°) à partir de Sin(3°) [3;8,24,33,59,34,28,15][c’est-à-dire un algorithme qui converge vers Sin(1°)]

en résolvant notre égalité sin(3a)=3sin(a)-4sin3(a):

en posant x=Sin(1°), il faut résoudre x3+ p = qx avec p=47,6;8,29,53,37,3,45 = 2826,141637… et q = 45,0;0 = 2700(Sin(3°)/60= 3x/60-4(x/60) 3 x3+Sin(3°) 60²/4=3x60²/4 x3+900Sin(3°) =2700x)

Sa méthode revient à écrire en langage moderne: pour résoudre x=(x3+p)/q:x=a0; a1, a2,.. = a0+a160-1+a260-2… et on pose bn=a0; a1, a2,.., an

Il pose a0=b0=E(p/q) et an+1 = E( ( (p+bn3)/q – bn ) 60n ) et bn+1 = bn + an+160-(n+1)

Il obtient: Sin(1°) = 1;2,49,43,11,14,44,16,26,17.

Page 20: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Et maintenant, quels algorithmes dans nos calculateurs pour calculer sin(x)?

Les algorithmes CORDIC (COordinate Rotation Digital Computing) sont le plus souvent utilisés. Le principe reste le même, mais la base d’angles de référence n’est plus 90°,72°,60°… mais est : tan-1(20), tan-1(2-1), tan-1(2-2)… car les divisions ou multiplication par 2 sont de simples décalages de virgule en base 2.

L’image d’un vecteur V(x,y) par une rotation d’angle a est V’(cos(a)(x-ytan(a)), cos(a)(y+xtan(a)). Pour calculer sin(), on écrit (entre 0 et /2) comme une somme de ai=tan-1(2-i) de plus en plus petits. Puis on calcule les coordonnées d’une suite de vecteurs V images successives de V0(1,0) par les rotations d’angle ai.

Page 21: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Renaissance

Page 22: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

EQUATION 3ème DEGRE

TARTAGLIA 1534

X3+pX=q

On cherche u et v avec uv=(p/3)3

X3+pX = u-v = q uv=(p/3)3

On cherche a et b a+b= qab= - (p/3)3

Résoudre:Y²=qY+(p/3)3

VANTARD

Page 23: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Napoléon s’amuse

Page 24: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

O est le centre du cercle!

Problème de Napoléon:Retrouver le centre d’un cercle avec le seul compas…

Correction de l’algorithme (démonstration):Le principe de la démonstration est la possibilité de construire au compas seul la longueur b²/a si les longueurs a et b sont connues:La démonstration s'appuie sur les propriétés du triangle rectangle: Dans la figure ci-dessous, le triangle ABA' est rectangle en B et H est le pied de la hauteur issue de B, on peut donc écrire l'égalité suivante : AH × AA' = AB² . Donc AH=b²/(2a) et AC=b²/aDans la construction précédente, on retrouve deux fois une configuration de ce type : les points A, B et B' sont sur le cercle de centre O et de rayon r, les distances AB, AB', BC et B'C valent R donc AC=R²/r. les points A, D et D' sont sur le cercle de centre C et rayon R²/r , les distances DA, D'A, DO, D‘O valent R donc AO= R²/(R²/r) = r.La figure étant symétrique par rapport à la médiatrice de [BB’], A, O et C sont sur l’axe de symétrie.Donc O est le centre du cercle.

Page 25: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Maintenant

Page 26: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

Un algorithme proposé par G. Berry (Collège de France)(pour le traitement d’images)

Coût calcul d’angles: O(n) Coût tri et numérotation: O(nlog(n)) Coût construction: O(n)

Page 27: QUELQUES ALGORITHMES DANS 5 500 ANS D’HISTOIRE

BIBLIOGRAPHIE- « Les débuts de l’histoire : le Proche-Orient, de l’invention de l’écriture à la naissance du monothéisme » Editions de la Martinière.- « Histoires d’algorithmes : du caillou à la puce » J-L Chabert Belin- « Les métamorphoses du calcul » G Dowek Le pommier- « Une histoire de la science arabe» Ahmed Djebbar Seuil.Cours de Gérard Berry au collège de France:http://www.college-de-france.fr/default/EN/all/inn_tec2007Séminaire (vidéo époustouflante) de Gilles Dowek au collège de France:http://www.college-de-france.fr/default/EN/all/inn_tec2007/seminaire_n5_gilles_dowek.htm Gilles Adlon et Michel Mizony: De Babylone au XXIème sièclehttp://rallye-math.univ-lyon1.fr/2007/Conference/conf2.pdf Eliane Cousquer: Babylone http://mediamaths.fr/pdf/babylone.pdf http://mediamaths.fr/pdf/grece.pdf http://mediamaths.fr/pdf/pythagore.pdf

ET VOILÀ, C’EST FINI!

Vous pourrez retrouver ce diaporama ici:http://bretin.jacques.free.fr/algorithmes/histoire.ppt