Algorithmique, graphes et
programmation dynamique
Notes de Cours
Rapport de Travaux Pratiques
Laurent Canet
Le 2 juillet 2003
Table des mati`eres
I IN202 - Algorithmique 6
1 Syst`eme formel de preuve de programme de O’Hare 8
1.1 R`eglesetaxiomes........................... 8
1.2 Construction de programmes sur invariant . . . . . . . . . . . . . 9
2 Probl`emes de recherches 11
2.1 Remarques sur l’´evaluation de complexit´e d’un programme . . . . 11
2.2 Recherche dichotomique . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Recherche s´equentielle . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Recherchearri`ere ........................... 14
3 Problemes de tris 16
3.1 Slowsort ................................ 16
3.2 Quicksort ............................... 17
3.3 Complexit´e minimum d’un algorithme de tri . . . . . . . . . . . . 21
4 Approche diviser pour regn´er 23
4.1 Diviserpourr´egner.......................... 23
4.2 Limites de l’approche diviser pour r`egner . . . . . . . . . . . . . . 24
5 Complexit´e des algorithmes 25
5.1 Expression du temps de calcul . . . . . . . . . . . . . . . . . . . . 25
5.2 Notations ............................... 26
5.3 Calculs courants dans le calcul des complexit´es . . . . . . . . . . . 27
5.4 Un peu de th´eorie de la complexit´e . . . . . . . . . . . . . . . . . 27
6 Programmation Dynamique 29
6.1 Cas concret : fibonnaci . . . . . . . . . . . . . . . . . . . . . . . . 29
6.2 Exemple : Multiplication de matrices . . . . . . . . . . . . . . . . 30
6.3 Exemple : Recherche du plus long sous-mot commun `a 2 chaines . 33
1
II IN311 - Programmation dynamique 36
7 Applications de la programmation dynamique 38
7.1 Un probl`eme d’assortiment . . . . . . . . . . . . . . . . . . . . . . 38
7.2 Compression d’image . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.3 Justification de Parapgraphes . . . . . . . . . . . . . . . . . . . . 43
III IN302 - Graphes et algorithmes 45
8 Notions de base 46
8.1 Premi`ere efinition . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.2 Repr´esentation en m´emoire . . . . . . . . . . . . . . . . . . . . . . 47
8.3 D´efinitions compl´ementaires . . . . . . . . . . . . . . . . . . . . . 50
8.4 Chemins,connexit´e.......................... 53
8.5 Repr´esentation matricielle . . . . . . . . . . . . . . . . . . . . . . 59
8.6 Graphebiparti ............................ 60
9 Arbre et arborescences 62
9.1 D´enitions............................... 62
9.2 Exemples et applications . . . . . . . . . . . . . . . . . . . . . . . 64
9.3 Arbre de poids minimum . . . . . . . . . . . . . . . . . . . . . . . 67
9.4 Algorithmes de Kruskal ...................... 69
10 Plus courts chemins 71
10.1D´enition ............................... 71
10.2 Probl`ematique du plus court chemin . . . . . . . . . . . . . . . . 72
10.3 Algorithme de Floyd ........................ 74
10.4 Algorithme de Bellman ....................... 75
10.5 Algorithme de Dikstra ....................... 78
10.6 Plus courts chemins (Exploration largeur) . . . . . . . . . . . . . 80
10.7 Graphes sans circuits : GSC ..................... 81
11 Cycles eul´eriens et hamiltoniens 86
11.1Cycleeul´erien............................. 86
11.2Cyclehamiltonien........................... 86
12 Flots et r´eseaux de transport 88
12.1 Mod´elisation d’un r´eseau de transport . . . . . . . . . . . . . . . 88
12.2 Propri´et´es d’un eseau de transport . . . . . . . . . . . . . . . . . 89
12.3 Algorithme de Ford et Fulkerson ................ 90
2
13 R´esolutions de probl`emes en Intelligence artificielle et optimisa-
tion 94
13.1 Exemple : le probl`eme des 8 dames . . . . . . . . . . . . . . . . . 94
13.2 Strat´egies de recherche . . . . . . . . . . . . . . . . . . . . . . . . 95
13.3 Algorithme Aet A.......................... 97
IV Annexes 99
A TP1 - Tri par tas 100
A.1 Introduction.............................. 100
A.2 Equations Bool´eennes . . . . . . . . . . . . . . . . . . . . . . . . . 100
A.3 Tas................................... 102
A.4 Comparaison avec d’autres algorithmes de tri . . . . . . . . . . . 106
B TP2 - Arbres de recherche optimaux 110
B.1 Introduction.............................. 110
B.2 Pr´eliminaires ............................. 111
B.3 Recherche dans un arbre . . . . . . . . . . . . . . . . . . . . . . . 112
B.4 Arbre binaire de recherche optimal . . . . . . . . . . . . . . . . . 114
B.5 Optimisation ............................. 120
C TP3 - Sommes de sous-ensembles 130
C.1 Premieralgorithme.......................... 130
C.2 Deuxi`eme algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 131
C.3 Optimisation & parall´elisation . . . . . . . . . . . . . . . . . . . . 135
C.4 Code source comment´e . . . . . . . . . . . . . . . . . . . . . . . . 137
D TP IN311 : le sac `a ados 141
D.1 Position du probl`eme . . . . . . . . . . . . . . . . . . . . . . . . . 141
D.2 Equation du r´ecurrence . . . . . . . . . . . . . . . . . . . . . . . . 141
D.3 Complexit´e .............................. 142
D.4 Reconstruction de la solution . . . . . . . . . . . . . . . . . . . . 142
D.5 Exemples d’execution . . . . . . . . . . . . . . . . . . . . . . . . . 142
D.6 Programme complet et commene . . . . . . . . . . . . . . . . . . 144
E Corrections de TD IN302 147
E.1 TD 1 : Recherche de circuits . . . . . . . . . . . . . . . . . . . . . 147
E.2 Le probl`eme de l’affectation . . . . . . . . . . . . . . . . . . . . . 149
E.3 Le probl`eme de la carte routi`ere . . . . . . . . . . . . . . . . . . . 150
E.4 Le probl`eme du voyageur de commerce . . . . . . . . . . . . . . . 150
F Graphes TP 2 - Analyse de trajectoires dans une chambre `a
bulle 151
3
G Graphes TP 3 - Ballades dans le m´etro 158
4
1 / 168 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !