SlideShare une entreprise Scribd logo
1) Tours de Hanoï
                               2) Tri rapide
                               3) Huit dames (voir p234-240)
                               4) Voyageur de commerce (voir livre p226-233)


 I. Introduction
     Ce chapitre traite des problèmes un peu plus complexes que les problèmes classiques déjà vus
     comme de nouvelles méthodes de recherche, de tri, d'approximation ou d'optimisation.
     Les algorithmes avancés utilisent le principe "diviser pour régner (divide to conquer) ".


 II.       Tours de Hanoï

1) Activité
   Charger l’URL : http://www.toupty.com/jeutourshanoi.html

   Charger l’URL : http://javaboy.free.fr/tourdehanoi/index.htm

   Ouvrir le fichier C:avancéhanoi.exe


2) Principe :
Le but du problème est de passer en un minimum de déplacements ces N disques du piquet 1 sur le piquet
3 en s'aidant du piquet 2 qui peut servir à des stockages intermédiaires de disques. Les règles suivantes
doivent être respectées :
                •   on ne peut déplacer qu'un seul disque à la fois,
                •   un disque peut être déplacé d'un des trois piquets sur l'un des deux autres,
                •   un disque ne peut être placé que sur le sol ou sur un disque de diamètre supérieur.




                    1                                   2                                    3

                    1
3) Application
Ecrire un programme modulaire en PASCAL, qui saisit N disques (1<=N<=64), affiche les déplacements
effectués.
      Analyse du programme principal :
       2) Résultat = Proc Hanoi (n, 1, 3, 2)
       1) N = proc saisie (n)


      Analyse de la procédure Hanoi :
              DEF PROC Hanoi (n, depart, but, inter: entier)
              Résultat= Hanoi
             1) Hanoi =[ ] Si N =1 alors
                                     Ecrire (''déplacer un disque de '',depart , '' en '', but)
                         sinon
                                    Proc hanoi ( n-1, depart, inter, but )
                                    Ecrire (''déplacer un disque de '', depart , '' en '', but)
                                    Proc hanoi ( n-1, inter, but, depart )
                         Fin Si




                    2
III.         Tri rapide
1. Activité

2. principe
C’est un algorithme considéré comme l'un des plus rapides, et des plus efficaces. C’est une méthode de
tri récursive basée sur la méthode de conception "diviser pour régner".

 L’idée de l’algorithme est très simple ;
Etant donné un vecteur d’éléments à trier :
1. Choisir un élément arbitraire du tableau, que nous appelons élément pivot.
2. Réorganiser les éléments du tableau de sorte que tous les éléments inférieurs au pivot soient à gauche
du pivot, les éléments supérieurs au pivot soient à droite du pivot, ceux qui sont égaux soit à gauche soit à
droite et le pivot choisi entre les deux. Cette opération s’appelle partition.
3. Trier récursivement la partie gauche et la partie droite du tableau jusqu’à obtenir uniquement des sous
tableaux à un seul élément.



Comment choisir le pivot ?
Nous pouvons choisir comme pivot l’élément situé au milieu de la partie à trier. Comme on peut choisir le
premier élément.

              3) Application

Ecrire un programme modulaire en Pascal qui remplit un vecteur T, par N entiers aléatoirement
(-100<=T[i]<=100; 5<=N<=50), le trier selon la méthode de tri rapide puis l’afficher.

      Analyse du programme principal :
       3) Résultat= Proc affiche (T, n)
       2) T= Proc tri_rapide (T, 1, n)
       1) (T, n) = Proc remplir (T, n)



      Analyse de la procédure Tri_rapide
         DEF PROC Tri_rapide (var T: Tab; g , d: entier)
          Résultat = T
         1) T= [ ] Si g<d alors
                        proc partition (T, g, d, indpivot)
                        proc tri_rapide (T , g , indpivot-1)
                        proc tri_rapide (T , indpivot+1 , d)
                   Fin Si




                   3
   Analyse de la procédure Partition
    DEF PROC Partition (var T: Tab; g, d : entier ; var indpivot: entier)
    1) T, indpivot=    i  g+1           Répéter
                       pivot  T[g]                Tant que (i < indpivot) et (t[i] < pivot) Faire
                      indpivot  d                                        ii+1
                                                   Fin tant que
                                                  Tant que (i <=indpivot) et (pivot <= T[indpivot]) Faire
                                                                    indpivot  indpivot - 1
                                                  Fin tant que
                                                  Si i<indpivot alors
                                                                     proc Permut (T[i], T[indpivot])
                                                                       ii+1
                                                                      Indpivot  indpivot - 1
                                                  Fin si
                                         Jusqu’à (indpivot<=i)
                                         Proc Permut (T[g], T[indpivot])




               4
IV.       Huit dames
1. Activité
   1. Charger le fichier C:avancéhuitdames.exe
   2. Fixer le nombre de dames à 4, chercher une distribution possible des dames sur l’échiquier.
   3. Charger la page web: http://jellevy.yellis.net/Classes/Activite/recree_8reines.htm
   4. Charger la page web: http://www.echecsetmaths.com/echec/prob/8reines/8reines.htm

2. Principe
   Le problème des huit dames (dit aussi problème des huit reines), consiste à placer huit reines
   d’un jeu d’échecs sur un échiquier de 8x8 cases sans que les dames ne puissent se menacer
   mutuellement.
    Deux dames ne devraient jamais partager la même ligne ou la même colonne ou la même
   diagonale.

3. Constatations
                                                                               Principe du Backtracking
                    Je peux tomber dans
                    un cas de blocage !!!                                         (Retour sur trace)




4. Définition
   Le Backtracking, ou retour sur trace consiste à revenir en arrière sur des décisions prises à fin
   de sortir d’une situation de blocage.

5. Application
   Tester la solution proposée dans le livre page 239

V. Voyageur de commerce
   1. Activité
 Charger l’URL : http://interstices.info/jcms/c_37686/le-probleme-du-voyageur-de-commerce

   2. Principe :
      Étant donné n points (des « villes ») et les distances séparant chaque point, trouver un chemin de
      longueur totale minimale qui passe exactement une fois par chaque point et revienne au point de
      départ.
   3. Application
           Tester la solution proposée dans la livre page 231


                5

Contenu connexe

Tendances

Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
mohamed_SAYARI
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
Riadh Harizi
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
Tunisie collège
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
borhen boukthir
 
Fiche1 ex-sous-programme
Fiche1 ex-sous-programmeFiche1 ex-sous-programme
Fiche1 ex-sous-programme
Baghdadi Wajih
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
salah fenni
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi
 
Mes devoirs 4 si
Mes devoirs 4 siMes devoirs 4 si
Mes devoirs 4 si
mohamed_SAYARI
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
mohamed_SAYARI
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
Riadh Harizi
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
L’Université Hassan 1er Settat
 
Exercices pascal tous les chapitres
Exercices pascal tous les chapitresExercices pascal tous les chapitres
Exercices pascal tous les chapitres
borhen boukthir
 
Fiche3 ex-sous-programme
Fiche3 ex-sous-programmeFiche3 ex-sous-programme
Fiche3 ex-sous-programme
Baghdadi Wajih
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
salah fenni
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
Yassine Anddam
 

Tendances (20)

Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
 
Fiche1 ex-sous-programme
Fiche1 ex-sous-programmeFiche1 ex-sous-programme
Fiche1 ex-sous-programme
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Correction
CorrectionCorrection
Correction
 
Mes devoirs 4 si
Mes devoirs 4 siMes devoirs 4 si
Mes devoirs 4 si
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Exercices pascal tous les chapitres
Exercices pascal tous les chapitresExercices pascal tous les chapitres
Exercices pascal tous les chapitres
 
Fiche3 ex-sous-programme
Fiche3 ex-sous-programmeFiche3 ex-sous-programme
Fiche3 ex-sous-programme
 
Serie
SerieSerie
Serie
 
Exo algo
Exo algoExo algo
Exo algo
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 

En vedette

Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)
mohamed_SAYARI
 
Se préparer au BAC TP
Se préparer au BAC TPSe préparer au BAC TP
Se préparer au BAC TP
mohamed_SAYARI
 
Tipe 2017 - Nouvelles directives (15/09/20176)
Tipe 2017 - Nouvelles directives (15/09/20176)Tipe 2017 - Nouvelles directives (15/09/20176)
Tipe 2017 - Nouvelles directives (15/09/20176)
Cdi_LgtBaimbridge
 
Le problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueLe problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétique
Rima Lassoued
 
bac info : série récursivité
bac info : série récursivitébac info : série récursivité
bac info : série récursivité
Ămîʼndǿ TrànCè
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
borhen boukthir
 
Actividad integradora jonás
Actividad integradora  jonásActividad integradora  jonás
Actividad integradora jonás
Adalberto
 
Le projet carer+ l’advd comme « chainon manquant » entre l’outil numérique e...
Le projet carer+  l’advd comme « chainon manquant » entre l’outil numérique e...Le projet carer+  l’advd comme « chainon manquant » entre l’outil numérique e...
Le projet carer+ l’advd comme « chainon manquant » entre l’outil numérique e...
CARER+ Project
 
Lecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique Alger
Lecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique AlgerLecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique Alger
Lecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique Alger
CJD ALGERIE
 
La Keynote RepriseMedia du 23/03/11
La Keynote RepriseMedia du 23/03/11La Keynote RepriseMedia du 23/03/11
La Keynote RepriseMedia du 23/03/11
Sebastien Beauvarlet
 
Destination quebec abg conference_impots 2015
Destination quebec abg conference_impots 2015Destination quebec abg conference_impots 2015
Destination quebec abg conference_impots 2015
Akova
 

En vedette (15)

Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Se préparer au BAC TP
Se préparer au BAC TPSe préparer au BAC TP
Se préparer au BAC TP
 
Serie2
Serie2Serie2
Serie2
 
Tipe 2017 - Nouvelles directives (15/09/20176)
Tipe 2017 - Nouvelles directives (15/09/20176)Tipe 2017 - Nouvelles directives (15/09/20176)
Tipe 2017 - Nouvelles directives (15/09/20176)
 
Le problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueLe problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétique
 
bac info : série récursivité
bac info : série récursivitébac info : série récursivité
bac info : série récursivité
 
DCT1 4SI
DCT1  4SIDCT1  4SI
DCT1 4SI
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
 
Actividad integradora jonás
Actividad integradora  jonásActividad integradora  jonás
Actividad integradora jonás
 
Le projet carer+ l’advd comme « chainon manquant » entre l’outil numérique e...
Le projet carer+  l’advd comme « chainon manquant » entre l’outil numérique e...Le projet carer+  l’advd comme « chainon manquant » entre l’outil numérique e...
Le projet carer+ l’advd comme « chainon manquant » entre l’outil numérique e...
 
le
lele
le
 
Lecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique Alger
Lecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique AlgerLecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique Alger
Lecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique Alger
 
La Keynote RepriseMedia du 23/03/11
La Keynote RepriseMedia du 23/03/11La Keynote RepriseMedia du 23/03/11
La Keynote RepriseMedia du 23/03/11
 
Destination quebec abg conference_impots 2015
Destination quebec abg conference_impots 2015Destination quebec abg conference_impots 2015
Destination quebec abg conference_impots 2015
 

Similaire à Les algorithmes avancés

Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
MbarkiIsraa
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
Sana Aroussi
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
Saddem Chikh
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz
 
chapitre 5.pptx
chapitre 5.pptxchapitre 5.pptx
chapitre 5.pptx
BenFradjHajer1
 
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Duyhai Doan
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)
PGambette
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicité
Sana REFAI
 
transparents-Algo-complexite.pdf
transparents-Algo-complexite.pdftransparents-Algo-complexite.pdf
transparents-Algo-complexite.pdf
abdallahyoubiidrissi1
 
Planification
Planification Planification
Planification
Badiâa Dellal-Hedjazi
 
Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)
Frank Nielsen
 
Algorithmique Amp Programmation (R Sum
Algorithmique  Amp  Programmation (R SumAlgorithmique  Amp  Programmation (R Sum
Algorithmique Amp Programmation (R Sum
Amy Isleb
 
Méthode pert
Méthode pertMéthode pert
Méthode pert
Kevin Ratsimbazafy
 
chap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdfchap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdf
donixwm
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
SergeOngolo
 

Similaire à Les algorithmes avancés (20)

Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
chapitre 5.pptx
chapitre 5.pptxchapitre 5.pptx
chapitre 5.pptx
 
Rapport MOGPL
Rapport MOGPLRapport MOGPL
Rapport MOGPL
 
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicité
 
Video
VideoVideo
Video
 
transparents-Algo-complexite.pdf
transparents-Algo-complexite.pdftransparents-Algo-complexite.pdf
transparents-Algo-complexite.pdf
 
Planification
Planification Planification
Planification
 
Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)
 
Resumer sur les tris
Resumer sur les trisResumer sur les tris
Resumer sur les tris
 
Algorithmique Amp Programmation (R Sum
Algorithmique  Amp  Programmation (R SumAlgorithmique  Amp  Programmation (R Sum
Algorithmique Amp Programmation (R Sum
 
Méthode pert
Méthode pertMéthode pert
Méthode pert
 
chap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdfchap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdf
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 

Dernier

MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
OlivierLumeau1
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
NadineHG
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
Chap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdfChap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdf
TimogoTRAORE
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
Txaruka
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
Editions La Dondaine
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
Martin M Flynn
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
mcevapi3
 

Dernier (10)

MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
Chap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdfChap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdf
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
 

Les algorithmes avancés

  • 1. 1) Tours de Hanoï 2) Tri rapide 3) Huit dames (voir p234-240) 4) Voyageur de commerce (voir livre p226-233) I. Introduction Ce chapitre traite des problèmes un peu plus complexes que les problèmes classiques déjà vus comme de nouvelles méthodes de recherche, de tri, d'approximation ou d'optimisation. Les algorithmes avancés utilisent le principe "diviser pour régner (divide to conquer) ". II. Tours de Hanoï 1) Activité Charger l’URL : http://www.toupty.com/jeutourshanoi.html Charger l’URL : http://javaboy.free.fr/tourdehanoi/index.htm Ouvrir le fichier C:avancéhanoi.exe 2) Principe : Le but du problème est de passer en un minimum de déplacements ces N disques du piquet 1 sur le piquet 3 en s'aidant du piquet 2 qui peut servir à des stockages intermédiaires de disques. Les règles suivantes doivent être respectées : • on ne peut déplacer qu'un seul disque à la fois, • un disque peut être déplacé d'un des trois piquets sur l'un des deux autres, • un disque ne peut être placé que sur le sol ou sur un disque de diamètre supérieur. 1 2 3 1
  • 2. 3) Application Ecrire un programme modulaire en PASCAL, qui saisit N disques (1<=N<=64), affiche les déplacements effectués.  Analyse du programme principal : 2) Résultat = Proc Hanoi (n, 1, 3, 2) 1) N = proc saisie (n)  Analyse de la procédure Hanoi : DEF PROC Hanoi (n, depart, but, inter: entier) Résultat= Hanoi 1) Hanoi =[ ] Si N =1 alors Ecrire (''déplacer un disque de '',depart , '' en '', but) sinon Proc hanoi ( n-1, depart, inter, but ) Ecrire (''déplacer un disque de '', depart , '' en '', but) Proc hanoi ( n-1, inter, but, depart ) Fin Si 2
  • 3. III. Tri rapide 1. Activité 2. principe C’est un algorithme considéré comme l'un des plus rapides, et des plus efficaces. C’est une méthode de tri récursive basée sur la méthode de conception "diviser pour régner".  L’idée de l’algorithme est très simple ; Etant donné un vecteur d’éléments à trier : 1. Choisir un élément arbitraire du tableau, que nous appelons élément pivot. 2. Réorganiser les éléments du tableau de sorte que tous les éléments inférieurs au pivot soient à gauche du pivot, les éléments supérieurs au pivot soient à droite du pivot, ceux qui sont égaux soit à gauche soit à droite et le pivot choisi entre les deux. Cette opération s’appelle partition. 3. Trier récursivement la partie gauche et la partie droite du tableau jusqu’à obtenir uniquement des sous tableaux à un seul élément. Comment choisir le pivot ? Nous pouvons choisir comme pivot l’élément situé au milieu de la partie à trier. Comme on peut choisir le premier élément. 3) Application Ecrire un programme modulaire en Pascal qui remplit un vecteur T, par N entiers aléatoirement (-100<=T[i]<=100; 5<=N<=50), le trier selon la méthode de tri rapide puis l’afficher.  Analyse du programme principal : 3) Résultat= Proc affiche (T, n) 2) T= Proc tri_rapide (T, 1, n) 1) (T, n) = Proc remplir (T, n)  Analyse de la procédure Tri_rapide DEF PROC Tri_rapide (var T: Tab; g , d: entier) Résultat = T 1) T= [ ] Si g<d alors proc partition (T, g, d, indpivot) proc tri_rapide (T , g , indpivot-1) proc tri_rapide (T , indpivot+1 , d) Fin Si 3
  • 4. Analyse de la procédure Partition DEF PROC Partition (var T: Tab; g, d : entier ; var indpivot: entier) 1) T, indpivot= i  g+1 Répéter pivot  T[g] Tant que (i < indpivot) et (t[i] < pivot) Faire indpivot  d ii+1 Fin tant que Tant que (i <=indpivot) et (pivot <= T[indpivot]) Faire indpivot  indpivot - 1 Fin tant que Si i<indpivot alors proc Permut (T[i], T[indpivot]) ii+1 Indpivot  indpivot - 1 Fin si Jusqu’à (indpivot<=i) Proc Permut (T[g], T[indpivot]) 4
  • 5. IV. Huit dames 1. Activité 1. Charger le fichier C:avancéhuitdames.exe 2. Fixer le nombre de dames à 4, chercher une distribution possible des dames sur l’échiquier. 3. Charger la page web: http://jellevy.yellis.net/Classes/Activite/recree_8reines.htm 4. Charger la page web: http://www.echecsetmaths.com/echec/prob/8reines/8reines.htm 2. Principe Le problème des huit dames (dit aussi problème des huit reines), consiste à placer huit reines d’un jeu d’échecs sur un échiquier de 8x8 cases sans que les dames ne puissent se menacer mutuellement.  Deux dames ne devraient jamais partager la même ligne ou la même colonne ou la même diagonale. 3. Constatations Principe du Backtracking Je peux tomber dans un cas de blocage !!! (Retour sur trace) 4. Définition Le Backtracking, ou retour sur trace consiste à revenir en arrière sur des décisions prises à fin de sortir d’une situation de blocage. 5. Application Tester la solution proposée dans le livre page 239 V. Voyageur de commerce 1. Activité Charger l’URL : http://interstices.info/jcms/c_37686/le-probleme-du-voyageur-de-commerce 2. Principe : Étant donné n points (des « villes ») et les distances séparant chaque point, trouver un chemin de longueur totale minimale qui passe exactement une fois par chaque point et revienne au point de départ. 3. Application Tester la solution proposée dans la livre page 231 5