Algorithme

publicité
Suite, conjecture, réfutation,
théorème, algorithme…
David Rivreau
http://ima.uco.fr
IMA, j’imagine l’avenir
Partie 1
La suite de Syracuse
IMA, j’imagine l’avenir
Objectifs
• Les principaux objectifs des deux séances sont :
– D’illustrer les notions de conjecture, réfutation et
théorème
– D’introduire la notion de suite
– De pratiquer un peu d’algorithmique
IMA, j’imagine l’avenir
3
Conjecture
• En mathématiques, une conjecture est une hypothèse
qui n’a pas été démontrée, mais qu’on suppose être
vraie en l’absence de contre-exemple.
• Exemple : Conjecture des 4 couleurs
Il est possible de colorer n’importe quelle carte en
n’utilisant que 4 couleurs et de façon à ce que deux régions
voisines aient toujours deux couleurs distinctes
IMA, j’imagine l’avenir
4
Illustration : carte des régions de Slovénie
IMA, j’imagine l’avenir
5
Conjecture des 4 couleurs
• Conjecturée en 1852 par Francis Guthrie pour la coloration
de la carte des régions d'Angleterre
• Résultat « démontré » par Appel et Haken qui ont identifié
1936 cas suffisants à examiner et utilisé l’ordinateur pour les
explorer tous
Conjecture
IMA, j’imagine l’avenir
Validation
Théorème
6
Conjecture de Fermat
• Conjecture (Formulée en 1621) :
Il n'existe pas de nombres entiers non nuls x, y et z tels que :
x n + y n = zn
dès que n est un entier strictement supérieur à 2.
• La conjecture est démontrée en 1995 par Andrew Wiles
• On parle désormais du théorème de Fermat-Wiles
IMA, j’imagine l’avenir
7
Conjecture d’Euler
• Enoncé
Pour tout entier n strictement supérieur à 2, la somme
de n – 1 puissances n-ièmes n'est pas une puissance n-ième
• Pour n=5, la conjecture affirme qu’on ne peut pas trouver
des entiers a, b, c, d, e tels que :
𝑎5 + 𝑏 5 + 𝑐 5 + 𝑑 5 = 𝑒 5
• Cette conjecture est réfutée par le contre-exemple :
275 + 845 + 1105 + 1335 = 1445
Conjecture
IMA, j’imagine l’avenir
Contre-exemple
Réfutation
8
Suite de Syracuse
• La suite de Syracuse est une suite de valeurs numériques
construite de la façon suivante :
On choisit un premier terme a
À chaque étape du calcul, on calcule le terme suivant u’
à partir du précédent u de la façon suivante :
Si u est pair Alors
u’ ← u / 2
Sinon
u’ ← 3 x u + 1
FinSi
IMA, j’imagine l’avenir
9
Suite de Syracuse : Exemple
• On choisit le premier terme : a = 13
• 13 est impair
le terme suivant est 3x13 + 1 = 40
• 40 est pair
le terme suivant est 40 / 2 = 20
• 20 est pair
le terme suivant est …
• …
• Continuez cette suite. Que se passe-t-il ?
IMA, j’imagine l’avenir
10
Objectif
• On veut programmer cette suite sous AlgoBox pour observer
son comportement
• On a besoin de tester si un nombre est pair ou non
• Comment faire ?
IMA, j’imagine l’avenir
11
Test de parité
• Sous AlgoBox, on dispose de l’opérateur % qui calcule le
reste de la division euclidienne de 2 entiers
• Par exemple :
 7%3=1
 15 % 6 = 3
(car 7 = 2x3 + 1)
(car 15 = 2x6 + 3)
• Comment teste-t-on si un nombre est pair ?
Il suffit d’examiner le reste de la division euclidienne par 2 :
si le reste est nul le nombre est pair, sinon il est impair.
IMA, j’imagine l’avenir
12
Algorithme de calcul de la suite de Syracuse
Algorithme Syracuse
Variables a, u, i : Entier
Début
Afficher "Donner le premier terme : "
Lire a
u←a
Pour i allant de 1 à 100 faire
Afficher u
Si u % 2 == 0 Alors
u←u/2
Sinon
u←3xu+1
FinSi
Affiche les 100
premiers termes
d’une suite de
Syracuse
FinPour
Fin
IMA, j’imagine l’avenir
13
Consignes
• Traduisez l’algorithme précédent sous AlgoBox
• Testez l’exécution en prenant plusieurs valeurs de départ
différentes et reproduisez sur papier le début de la suite
obtenue
• Pouvez-vous formuler une conjecture ?
IMA, j’imagine l’avenir
14
Conjecture de la suite de Syracuse
Au bout d’un nombre fini d’étape, la suite finit par
converger vers la série 4, 2, 1 qui se répète à l’infini
• Remarque : dès que la suite atteint la valeur 1, elle va
répéter par la suite la série de valeurs 4, 2, 1
• Nous allons adapter notre algorithme pour l’interrompre
lorsqu’il atteint la première fois la valeur 1
IMA, j’imagine l’avenir
15
Boucle (répétition) TantQue
• Pour vérifier cette conjecture, nous allons adapter
l’algorithme avec la boucle TantQue qui permet de répéter
un jeu d’instructions tant qu’une condition est vérifiée
• Exemple :
Lire a
TantQue a<0 Faire
Afficher "Vous devez donner une valeur positive : "
Lire a
FinTantQue
IMA, j’imagine l’avenir
16
Consigne
Adaptez l’algorithme pour qu’il affiche les valeurs
de la suite de Syracuse jusqu’à ce qu’on atteigne la valeur 1
IMA, j’imagine l’avenir
17
Dessin de la courbe
• Si on dessine la courbe engendrée par la suite de Syracuse,
on obtient une trajectoire qui ressemble à la chute d’une
feuille morte
• Par exemple pour a = 13 :
45
40
35
30
13, 40, 20, 10, 5, 16, 8, 4, 2, 1
25
20
15
10
5
0
IMA, j’imagine l’avenir
18
Temps de vol
• Le temps de vol est le nombre d’étapes nécessaires pour
arriver à la valeur 1
• Modifier votre algorithme pour qu’il affiche :
Entrer a : 13
0->13
1->40
2->20
3->10
4->5
5->16
6->8
7->4
8->2
9->1
Le temps de vol est 9
IMA, j’imagine l’avenir
19
Consignes : algorithme mystérieux
• Reproduire l’agorithme
présenté ici
• Exécutez-le
• Quel est le rôle de
l’instruction
TRACER_SEGMENT ?
IMA, j’imagine l’avenir
20
Question subsidiaire : altitude maximale
• L’altitude maximale de la suite est la plus grande valeur
rencontrée au cours de la « chute »
• Adapter l’algorithme pour calculer cette valeur maximale
• Par exemple pour a=4, l’altitude maximale est 40
IMA, j’imagine l’avenir
21
Partie 2
Une suite narcissique
IMA, j’imagine l’avenir
22
Algorithme mystère
Algorithme Mystère
Variables u, r, somme, i : Entier
Début
Afficher "Donner un entier multiple de 3 : "
Lire u
somme ← 0
TantQue u ≠ 0 Faire
r ← u % 10
somme ← somme + r3
u ← (u – r) / 10
FinTantQue
Afficher somme
Que fait cet
algorithme ?
Fin
IMA, j’imagine l’avenir
23
Consigne
• D’après-vous, qu’obtient-on si on exécute l’algorithme en
donnant la valeur 324 ?
• Pouvez-vous généraliser en expliquant ce que calcule cet
algorithme mystère ?
IMA, j’imagine l’avenir
24
Algorithme suite mystère
Algorithme SuiteMystère
Variables u, r, somme, i : Entier
Début
Afficher "Donner un entier multiple de 3 : "
Lire u
Pour i allant de 1 à 20 faire
somme ← 0
TantQue u ≠ 0 Faire
r ← u % 10
somme ← somme + r3
u ← (u – r) / 10
FinTantQue
u ← somme
Afficher u
On complique
l’algorithme en
le transformant
en suite
FinPour
Fin
IMA, j’imagine l’avenir
25
Consignes
• D’après-vous, qu’obtient-on si on exécute l’algorithme en
donnant la valeur 24 ?
• Programmez votre algorithme sous Algobox et testez le
résultat obtenu pour différentes valeurs de départ multiples
de 3 (par exemple, 24, 324, 753…)
• Pouvez-vous formuler une conjecture ?
IMA, j’imagine l’avenir
26
Conjecture de la suite mystère
• Enoncé :
Pour tout entier u multiple de 3, la suite finit par
converger vers la valeur fixe 153
• En fait, ce résultat est démontrable : il s’agit d’un théorème.
IMA, j’imagine l’avenir
27
Consignes
• Adaptez votre algorithme de telle sorte que :
– On redemande systématiquement une valeur de départ
jusqu’à ce qu’elle soit réellement un multiple de 3
– On s’arrête dès qu’on trouve la valeur 153
IMA, j’imagine l’avenir
28
Conclusion
IMA, j’imagine l’avenir
29
Ce qu’il faut retenir
• Le concept de conjecture
• Les notions de théorème et de contre-exemple
• La boucle Pour
• La boucle TantQue
IMA, j’imagine l’avenir
30
Téléchargement