Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Présentation générale Marc Gengler
P R O J E T T E T R A E D R E Marc Gengler Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
2
Présentation générale
O R G A N I S A T I O N Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
3
Présentation générale
Organisation Travail en binôme. Une présentation du projet ( aujourd’hui ). Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
4
Présentation générale
Organisation Travail en binôme. Une présentation du projet ( aujourd’hui ). 4 séances de suivi pour chaque groupe : 20 minutes de discussion avec votre responsable. Sujets des séances : Démarrage, début de conception, suivi de programmation, finalisation. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
5
Présentation générale
Organisation Travail en binôme. Une présentation du projet ( aujourd’hui ). 4 séances de suivi pour chaque groupe : 20 minutes de discussion avec votre responsable. Sujets des séances : Démarrage, début de conception, suivi de programmation, finalisation. Une soutenance commune en amphi : 15 minutes par groupe. Présentation « grand public » du projet. En anglais avec support PowerPoint. Notation : 5 pts - suivi, 5 pts - code, 10 pts - présentation. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
6
Présentation générale
S U J E T Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
7
Présentation générale
Sujet Il s’agit de construire un tétraèdre en empilant des boules. Les boules sont de couleur rouge, bleue ou verte. Il y a des règles de couleur pour empiler les boules. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
8
Présentation générale
Sujet Il s’agit de construire un tétraèdre en empilant des boules. Les boules sont de couleur rouge, bleue ou verte. Il y a des règles de couleur pour empiler les boules. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
9
Présentation générale
Sujet Il s’agit de construire un tétraèdre en empilant des boules. Les boules sont de couleur rouge, bleue ou verte. Il y a des règles de couleur pour empiler les boules. Il faut trouver les tétraèdres qui minimisent le nombre de boules rouges, qui maximisent le nombre de boules bleues, qui maximisent le nombre de boules vertes, qui minimisent le nombre de boules rouges, tout en maximisant le nombre de boules bleues, qui minimisent le nombre de boules rouges, tout en maximisant le nombre de boules vertes. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
10
Présentation générale
Sujet Il s’agit de construire un tétraèdre en empilant des boules. Les boules sont de couleur rouge, bleue ou verte. Il y a des règles de couleur pour empiler les boules. Il faut trouver les tétraèdres qui minimisent le nombre de boules rouges, qui maximisent le nombre de boules bleues, qui maximisent le nombre de boules vertes, qui minimisent le nombre de boules rouges, tout en maximisant le nombre de boules bleues, qui minimisent le nombre de boules rouges, tout en maximisant le nombre de boules vertes. Vous écrirez un programme du type back-track qui énumère toutes les possiblités pour retenir celles qui sont optimales. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
11
Présentation générale
P R I N C I P E D E C O N S T R U C T I O N Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
12
Présentation générale
Principe de construction La base ( niveau 0 ) : n Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
13
Présentation générale
Principe de construction La base ( niveau 0 ) : n Au centre du triangle formé par trois boules nous pouvons placer une boule de niveau 1 ! Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
14
Présentation générale
Principe de construction La base ( niveau 0 ) : Le niveau 1 : n n-1 Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
15
Présentation générale
Principe de construction Les deux premiers niveaux : n Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
16
Présentation générale
Principe de construction La base ( niveau 0 ) : Le niveau 1 : n n-1 Le niveau 2 : n-2 Le niveau 3 : n-3 Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
17
Présentation générale
Principe de construction Tous les niveaux : n Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
18
Présentation générale
R E G L E S C O N C E R N A N T L E S C O U L E U R S Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
19
Présentation générale
Règles concernant les couleurs Les boules de la base ( niveau 0 ) sont quelconques. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
20
Présentation générale
Règles concernant les couleurs Les boules de la base ( niveau 0 ) sont quelconques. Une boule rouge ne peut être posée que sur trois boules de même couleur : Un tétraèdre tout rouge est trivial ! Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
21
Présentation générale
Règles concernant les couleurs Les boules de la base ( niveau 0 ) sont quelconques. Une boule rouge ne peut être posée que sur trois boules de même couleur : Une boule bleue ne peut être posée que sur trois boules de deux couleurs différentes : Un tétraèdre tout rouge est trivial ! . . . Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
22
Présentation générale
Règles concernant les couleurs Les boules de la base ( niveau 0 ) sont quelconques. Une boule rouge ne peut être posée que sur trois boules de même couleur : Une boule bleue ne peut être posée que sur trois boules de deux couleurs différentes : Une boule verte ne peut être posée que sur trois boules de couleurs différentes : Un tétraèdre tout rouge est trivial ! . . . Les boules vertes sont rares ! . . . Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
23
Présentation générale
S Y M E T R I E S Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
24
Présentation générale
Symétries Certaines solutions peuvent être identiques à symétrie près. Nous allons ignorer ces questions de symétrie ! Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
25
Présentation générale
Symétries Certaines solutions peuvent être identiques à symétrie près. Nous allons ignorer ces questions de symétrie ! Il y a la symétrie axiale : Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
26
Présentation générale
Symétries Certaines solutions peuvent être identiques à symétrie près. Nous allons ignorer ces questions de symétrie ! Il y a la symétrie axiale : Il y a la symétrie de rotation : Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
27
Présentation générale
O R G A N I S A T I O N D U P R O G R A M M E Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
28
Présentation générale
Organisation du programme Il y a un dialogue initial : taille du tétraèdre, affichage ou non, etc. La fonction back-track énumère toutes les bases du tétraèdre. Nous la détaillerons par la suite. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
29
Présentation générale
Organisation du programme Il y a un dialogue initial : taille du tétraèdre, affichage ou non, etc. La fonction back-track énumère toutes les bases du tétraèdre. Nous la détaillerons par la suite. Dès qu’une base est terminée, nour complétons par les niveaux supérieurs en vertu des règles concernant les couleurs. La solution ainsi construite est analysée pour savoir si elle est optimale et doit être mémorisée ou non. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
30
Présentation générale
Organisation du programme Il y a un dialogue initial : taille du tétraèdre, affichage ou non, etc. La fonction back-track énumère toutes les bases du tétraèdre. Nous la détaillerons par la suite. Dès qu’une base est terminée, nour complétons par les niveaux supérieurs en vertu des règles concernant les couleurs. La solution ainsi construite est analysée pour savoir si elle est optimale et doit être mémorisée ou non. Le calcul se termine par la synthèse, comme par exemple le nombre minimal de boules rouges dans un tétraèdre et le nombre de tels tétraèdres. On peut afficher, ou non, ces solutions. Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
31
Présentation générale
R E P R E S E N T A T I O N D U T E T R A E D R E Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
32
Présentation générale
Représentation du tétraèdre Le tétraèdre est mémorisé dans un tableau tri-dimmensionnel T [ N ] [ N ] [ N ] Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
33
Présentation générale
Représentation du tétraèdre Le tétraèdre est mémorisé dans un tableau tri-dimmensionnel T [ i ] [ j ] [ 0 ] T [ N ] [ N ] [ N ] Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
34
Présentation générale
Représentation du tétraèdre Le tétraèdre est mémorisé dans un tableau tri-dimmensionnel T [ i ] [ j ] [ 0 ] T [ N ] [ N ] [ N ] T [ i ] [ j ] [ 1 ] Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
35
Présentation générale
Représentation du tétraèdre Le tétraèdre est mémorisé dans un tableau tri-dimmensionnel T [ i ] [ j ] [ 0 ] T [ N ] [ N ] [ N ] T [ i ] [ j ] [ 1 ] Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
36
Présentation générale
B A C K T R A C K Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
37
Présentation générale
Le back-track backtrack( i , j ) essaie pour la case ( i , j ) les trois possibilités ROUGE, BLEU ou VERT. Début : backtrack( 0 , 0 ) . Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
38
Présentation générale
Le back-track backtrack( i , j ) essaie pour la case ( i , j ) les trois possibilités ROUGE, BLEU ou VERT. Début : backtrack( 0 , 0 ) . j i Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
39
Présentation générale
Le back-track backtrack( i , j ) essaie pour la case ( i , j ) les trois possibilités ROUGE, BLEU ou VERT. Début : backtrack( 0 , 0 ) . Cases qui ont déjà une valeur ! j Case courante ! i Cases en attente ! Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
40
Présentation générale
Le back-track backtrack( i , j ) essaie pour la case ( i , j ) les trois possibilités ROUGE, BLEU ou VERT. Début : backtrack( 0 , 0 ) . j i Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
41
Présentation générale
Le back-track backtrack( i , j ) essaie pour la case ( i , j ) les trois possibilités ROUGE, BLEU ou VERT. Début : backtrack( 0 , 0 ) . Et on rappelle backtrack( i , j+1 ) resp. backtrack( i+1 , 0 ) j i Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
42
Présentation générale
Le back-track backtrack( i , j ) essaie pour la case ( i , j ) les trois possibilités ROUGE, BLEU ou VERT. Début : backtrack( 0 , 0 ) . Et on rappelle backtrack( i , j+1 ) resp. backtrack( i+1 , 0 ) j i Fin si i = 0 et j = n ! ! ! Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
43
Présentation générale
Q U E L Q U E S R E S U L T A T S Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
44
Présentation générale
Quelques résultats Des tétraèdres de côté 4 qui minimisent les boules rouges ou qui maximisent les boules bleues ou vertes : 15 bleues 2 rouges 11 vertes Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
45
Présentation générale
Quelques résultats Taille Tétraèdre Min rouges # solutions Max bleues Max vertes MinR/MaxB MinR/MaxV Temps en s 1 2 0 / 1 2 6 3 7 1 0 / 3 3 1 134 8 6 13 1 / 8 1 / 6 4 2 1204 15 158 11 90 2 / 15 2 / 11 5 4 34710 27 72 19 42 4 / 27 4 / 19 6 6 30852 42 4184 30 12 6 / 42 6 / 30 7321 Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
46
Présentation générale
Quelques résultats Facteur multiplicatif entre 5 et 6 : 6 nouvelles boules => 3^6 = 729 Presque 2 fois plus de boules dans les étages. 1200 * 6s = 7200s = 2h Observé ! Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
47
Présentation générale
Quelques résultats Facteur multiplicatif entre 5 et 6 : 6 nouvelles boules => 3^6 = 729 Presque 2 fois plus de boules dans les étages. 1200 * 6s = 7200s = 2h Facteur multiplicatif entre 6 et 7 : 7 nouvelles boules => 3^7 = 2187 2 * 2187 * 2h = 1 an Facteur multiplicatif entre 7 et 8 : 8 nouvelles boules => 3^8 = 6561 2 * 6561 * 1an = « un peu avant le début du néolithique » Facteur multiplicatif entre 8 et 9 : 9 nouvelles boules => 3^9 = 19681 500 Mio d’années ! Observé ! Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
48
Présentation générale
S U P P O R T Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
49
Présentation générale
Support Cette présentation ! Une ébauche de code ! Les rendez-vous ! Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
50
Présentation générale
B O N P R O J E T ! ! ! Décembre 2015 Eoncé du projet - Intranet Cours d'algorithmique
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.