SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
CHAPITRE II:
PROBLÈME DU PLUS COURT
CHEMIN
Université Blida 1
Faculté des Sciences
Département d’Informatique
Master GSI (Génie des Systèmes Informatiques)
Semestre 1
Mme AROUSSI
2015-2016
Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
 Introduction
 Définition
 Conditions (Optimalité/ Nécessaire)
 Algorithmes de Résolution
 Algorithme de DIJKSTRA
 Algorithme de BELLMAN
 Algorithme de BELLMAN-FORD
 Algorithme de FLOYD
2
PLAN DU CHAPITRE II
3
 Le problème du Plus Court Chemin (PCC)
compte parmi les problèmes le plus classiques
de la théorie des graphes et les plus importants
dans leurs applications (les problèmes
d'optimisation de réseaux routiers ou
télécommunications, les problèmes de tournées,
….)
INTRODUCTION
4
 Ce problème du Plus Court Chemin (PCC) peut être posé
de la façon suivante:
 Etant donné un graphe orienté valué G (X,U,L), on
associe à chaque arc u(i,j) un nombre réel l(u) ou lij,
appelé la longueur ou le poids de l’arc, le PCC entre
deux sommets s (source ou origine) et d (destination)
du graphe consiste à déterminer, parmi tous les
chemins allant de s à d, un chemin, noté u*, dont la
longueur totale l(u*) = soit minimale
DÉFINITION
5
 Condition Nécessaire: Le problème du plus court
chemin a une solution si et seulement s’il n'existe pas
dans le graphe de circuit de longueur strictement
négative pouvant être atteint à partir de l’origine (s).
 Un circuit négatif est appelé circuit absorbant
INTRODUCTION
a
f
b
e
-3
-3
-1
c
d
5
-510
2
6
 Condition d’Optimalité: Les sous-chemins des plus
courts chemins sont des plus courts chemins.
INTRODUCTION
Exemples des arborescences des
plus courts chemins dont l’origine
est a
a
b
e
c
d
3
5
3
1 2
6
6
4
72
a
b
e
c
d
3
5
6
6
a
b
e
c
d
3
2
4
2
7
 Selon les propriétés du graphe traité (orienté/non
orienté, avec/sans circuit ou longueurs
positives/quelconques) et selon le problème considéré
(recherche du plus court chemin d'un sommet vers
tous les autres, ou entre tous les couples de
sommets), il existe de nombreux algorithmes
permettant l'obtention d'une solution.
ALGORITHMES DE RÉSOLUTION
8
ALGORITHMES DE RÉSOLUTION
Algorithmes Type du
PCC
Propriétés du graphe
Type de graphe Longueur
Dijkstra D’un
sommet à
tous les
autres
sommets
Graphe orienté (et non
orienté)
Longueur
positives
Bellman Graphe orienté sans
circuit (sommet
d’origine doit être sans
prédécesseur)
Longueur
quelconque
(nombre réel)
Bellman-Ford Graphe orienté
Floyd Entre tous
les
couples de
sommets
Graphe orienté sans
circuit absorbant
9
 Cet algorithme permet de calculer le PCC d’un sommet «
s » à un sommet « d » ou d’un sommet « s » à tous les
autres sommets dans un graphe de longueur positive.
 Soit (i) la valeur de chemin du sommet « s » vers le
sommet « i », ainsi, initialement : (s) = 0 et (x) = 
pour tout sommet x ≠s
 Soit M l’ensemble des sommets marqués, initialement
il est vide (M =  )
ALGORITHME DE DIJKSTRA
10
 Tant qu’il existe un sommet non marqué (M≠X) ou on
n’a pas arrivé au sommet destinataire (x ≠ d) faire:
1. Choisir un sommet non marqué, soit x (xX-M),
ayant le plus petit  [(x) = min {(y) tq xX-M}]
2. Mettre à jours ses successeurs non encore marqués
comme suit: (y) = min ((y), (x)+lxy) tel que y+(x)  (X-
M)
3. Marquer le sommet x [M = M  {x}]
ALGORITHME DE DIJKSTRA
11
 Exemple: Trouver PCC de a vers tous les autres sommets
ALGORITHME DE DIJKSTRA
(a) (b) (c) (d) (e)
0 (init) 0    
1 0 (*) 3 5
2 3(*) 9 5
3 9 11 5 (*)
4 9(*)
5 11(*)
6 (fin) 0 3 9 11 5
a
b
e
c
d
3
5
3
1 2
6
6
4
72
12
 Exemple: Trouver PCC de a vers tous les autres sommets
 Comment trouver le PCC chemin de a vers (b, e, c ou d)?
 Pour chaque couple de sommet (i, j), on garde l’arc vérifiant la
relation suivante: u(i,j) = (j) -  (i).
ALGORITHME DE DIJKSTRA
a
b
e
c
d
3
5
3
1 2
6
6
4
72
9
0
5
3
11
13
 Exemple: Trouver PCC de a vers tous les autres sommets
 On peut trouver plusieurs arborescences:
ALGORITHME DE DIJKSTRA
a
b
e
c
d
3
5
6
6
9
0
5
3
11
a
b
e
c
d
3
2
4
2
9
0
5
3
11
14
 Cet algorithme permet de calculer le PCC d’un sommet «
s » à un sommet « d » ou d’un sommet « s » à tous les
autres sommets dans un graphe orienté sans circuit de
longueur quelconque.
 Soit (i) la valeur de chemin du sommet sans prédécesseur
« s » vers le sommet « i », ainsi, initialement : (s) = 0
 Soit M l’ensemble des sommets marqués, initialement il
contient « s » (M = {s} )
ALGORITHME DE BELLMAN
15
 Tant qu’il existe un sommet non marqué (M≠X) ou on
n’a pas arrivé au sommet destinataire (x ≠ d) faire:
1. Choisir un sommet non marqué, soit x (xX-M), dont
tous les prédécesseurs sont marqués [-(x)  M]
2. Mettre à jours son poids  comme suit: (x) = min
((y)+lyx) tel que y-(x)
3. Marquer le sommet x [M = M  {x}]
ALGORITHME DE BELLMAN
16
 Exemple: Trouver PCC de a vers tous les autres sommets
ALGORITHME DE BELLMAN
(a) (b) (c) (d)
0 (init) 0 (*) - - -
1 2 (*)
2 9(*)
3 4(*)
fin 0 2 9 4
a
c
b
d
10
2
-6
7
3
a
c
b
d
2
-6
7
0 2
9 4
17
 Cet algorithme permet de calculer le PCC d’un sommet «
s » à tous les autres sommets dans un graphe orienté de
longueur quelconque et aussi de détecter la présence d’un
circuit absorbant.
 Soit k(i) la valeur de chemin du sommet « s » vers le
sommet « i » ne contenant pas plus de k arcs, ainsi,
initialement : k = 0; k (s) = 0 et k(x) =  pour x ≠s
 Soit M l’ensemble des sommets dont le poids k (s) a
été modifié à l’itération k, initialement il contient « s »
(M = {s} )
ALGORITHME DE BELLMAN-FORD
18
 Tant qu’il existe un sommet marqué (M≠) et k est
strictement inférieur à n (n présente le nombre des
sommets |X|) faire:
1. Incrémenter k
2. Initialiser l’ensemble NM à vide (NM contiendra les
sommet dont la marque k sera modifiée)
ALGORITHME DE BELLMAN-FORD
19
3. Pour tout sommet x de +(M) (i.e les successeurs des
sommets dont la marque a été modifié au cours de
l’itération k-1) faire:
a) Mettre à jours sa marque : k (x) = min (k-1 (x),
k -1(y) +lyx) tel que y-(x)  M
b) Si sa marque a été modifiée (k (x) < k-1 (x) ) alors
ajouter x à l’ensemble NM (NM = NM  {x})
4. Remplacer M par MN
ALGORITHME DE BELLMAN-FORD
20
 En absence de circuit absorbant dans le graphe,
l’algorithme se termine nécessairement à l’issue de
l’itération n (k = n) car, au pire des cas, le PCC de s
vers tous les autre sommets est un chemin élémentaire
possédant (n-1) arcs.
 Si une ou plusieurs marques sont modifiées à l’itération
n (+(M) ≠), cela signifie qu’il existe un circuit
absorbant.
ALGORITHME DE BELLMAN-FORD
21
 Exemple 1: Trouver PCC de a vers tous les autres sommets
ALGORITHME DE BELLMAN-FORD
k k (a) k (b) k (c) k (d) k (e)
0 (init) 0 (*)    
1 0 3(*) 5(*)
2 9(*) 11(*) 5
3 (fin) 0 3 9 11 5
4
a
b
e
c
d
3
5
3
1 2
6
6
4
72
22
 Exemple 2: Trouver PCC de a vers tous les autres sommets
ALGORITHME DE BELLMAN-FORD
k k (a) k (b) k (c) k (d) k (e) k (f)
0 (init) 0 (*)     
1 10(*) 2(*)
2 5(*) 7(*) -1(*)
3 -4(*) 6(*)
4 1(*) -2(*)
5 3(*)
6 2(*)
a
f
b
e
-3
-3
-1
c
d
5
-510
2
23
 Cet algorithme permet de calculer le PCC entre tous les
couples de sommets dans un graphe orienté sans circuit
absorbant de longueur quelconque.
 Numéroter les sommets de 1 à n (|X| = n)
 Soit la matrice A = {aij} de taille n x n définie initialement comme
suit:
ALGORITHME DE FLOYD
24
 Cet algorithme permet de calculer le PCC de la façon
suivante:
 A la première itération, on cherche le PCC entre
chaque couple (i, j) passant éventuellement par le
sommet 1 ;
 A l'itération k (avec l > 1), on cherche le PCC entre
chaque couple (i, j) passant par des sommets d'indice
inférieur ou égal à k.
ALGORITHME DE FLOYD
25
 Voici une description formelle de l'algorithme :
 Pour tout sommet k (k allant de 1 à n)
 Pour tout couple de sommet (i, j) calculer
ALGORITHME DE BELLMAN
j
i
k
k
26
 Exemple: Trouver PCC entre tous les couples des sommets
ALGORITHME DE BELLMAN
a
c
b
d
6
2
5
-1
-2-4 5
SOURCES DE CE COURS
 Lucas Letocart, Cours d’Algorithmique de graphes, Institut Galilée,
Université Paris 13, Disponible sur www-galilee.univ-
paris13.fr/fichiers/Cours_Algo_Graphes.pdf
 Laurent Canet, Algorithmique, graphes et programmation
dynamique, Notes de Cours & Rapport de Travaux Pratiques, 2003
 Aroussi Sana, Notes des Travaux Dirigés de Recherche
Opérationnelle, Ecole nationale Supérieure d’Informatique (ESI),
2013. 27

Contenu connexe

Tendances

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étiqueRima Lassoued
 
Problème De Sac à Dos
Problème De Sac à Dos Problème De Sac à Dos
Problème De Sac à Dos chagra bassem
 
recherche operationnelle
recherche operationnelle recherche operationnelle
recherche operationnelle mohamednacim
 
Caractéristiques géométriques des routes
Caractéristiques géométriques des routesCaractéristiques géométriques des routes
Caractéristiques géométriques des routesAdel Nehaoua
 
Cours acp mehdi_aman
Cours acp mehdi_amanCours acp mehdi_aman
Cours acp mehdi_amanMehdi Aman
 
Rapport de stage PFA AMELIORATION DES PERFORMANCES DE LA LIGNE DE PRODUCTION.pdf
Rapport de stage PFA AMELIORATION DES PERFORMANCES DE LA LIGNE DE PRODUCTION.pdfRapport de stage PFA AMELIORATION DES PERFORMANCES DE LA LIGNE DE PRODUCTION.pdf
Rapport de stage PFA AMELIORATION DES PERFORMANCES DE LA LIGNE DE PRODUCTION.pdfwassimhnaien
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsSana Aroussi
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheMohamed Heny SELMI
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesMohamed Heny SELMI
 
Presentation stage Tunisie Telecom
Presentation stage Tunisie TelecomPresentation stage Tunisie Telecom
Presentation stage Tunisie Telecomlitayem bechir
 
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 triYassine Anddam
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesSana Aroussi
 
Cours route
Cours route Cours route
Cours route GENICIMO
 
Rapport PFE faten_chalbi
Rapport PFE faten_chalbiRapport PFE faten_chalbi
Rapport PFE faten_chalbiFaten Chalbi
 

Tendances (20)

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
 
Problème De Sac à Dos
Problème De Sac à Dos Problème De Sac à Dos
Problème De Sac à Dos
 
recherche operationnelle
recherche operationnelle recherche operationnelle
recherche operationnelle
 
Méthode pert
Méthode pertMéthode pert
Méthode pert
 
Caractéristiques géométriques des routes
Caractéristiques géométriques des routesCaractéristiques géométriques des routes
Caractéristiques géométriques des routes
 
Cours acp mehdi_aman
Cours acp mehdi_amanCours acp mehdi_aman
Cours acp mehdi_aman
 
Rapport de stage PFA AMELIORATION DES PERFORMANCES DE LA LIGNE DE PRODUCTION.pdf
Rapport de stage PFA AMELIORATION DES PERFORMANCES DE LA LIGNE DE PRODUCTION.pdfRapport de stage PFA AMELIORATION DES PERFORMANCES DE LA LIGNE DE PRODUCTION.pdf
Rapport de stage PFA AMELIORATION DES PERFORMANCES DE LA LIGNE DE PRODUCTION.pdf
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
A star
A starA star
A star
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Rapport pfe v1
Rapport pfe v1Rapport pfe v1
Rapport pfe v1
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes Principales
 
Management des coûts
Management des coûtsManagement des coûts
Management des coûts
 
Presentation stage Tunisie Telecom
Presentation stage Tunisie TelecomPresentation stage Tunisie Telecom
Presentation stage Tunisie Telecom
 
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
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
 
Cours route
Cours route Cours route
Cours route
 
Rapport PFE faten_chalbi
Rapport PFE faten_chalbiRapport PFE faten_chalbi
Rapport PFE faten_chalbi
 

En vedette

Chapitre 2 le recuit simulé
Chapitre 2 le recuit simuléChapitre 2 le recuit simulé
Chapitre 2 le recuit simuléAchraf Manaa
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statiqueSana Aroussi
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerSana Aroussi
 
Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéSana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheSana Aroussi
 
La complexité des algorithmes récursives Géométrie algorithmique
La complexité des algorithmes récursivesGéométrie algorithmiqueLa complexité des algorithmes récursivesGéométrie algorithmique
La complexité des algorithmes récursives Géométrie algorithmiqueHajer Trabelsi
 
7exercices loi-normale-et-corriges-www.coursdefsjes.com
7exercices loi-normale-et-corriges-www.coursdefsjes.com7exercices loi-normale-et-corriges-www.coursdefsjes.com
7exercices loi-normale-et-corriges-www.coursdefsjes.comrachoo10
 
Algorithmique et programmation michael griffith
Algorithmique et programmation michael griffithAlgorithmique et programmation michael griffith
Algorithmique et programmation michael griffithBernhard Ndale
 
Le cryptage et le décryptage
Le cryptage et le décryptageLe cryptage et le décryptage
Le cryptage et le décryptageSKYWARE COMPAGNY
 
Les homophones grammaticaux
Les homophones grammaticauxLes homophones grammaticaux
Les homophones grammaticauxzeinabdibhammoud
 
Intelligence somatique pour coachs et facilitateurs - Fiche pédagogique
Intelligence somatique pour coachs et facilitateurs - Fiche pédagogiqueIntelligence somatique pour coachs et facilitateurs - Fiche pédagogique
Intelligence somatique pour coachs et facilitateurs - Fiche pédagogiqueMaud RABER
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmiqueAtef MASMOUDI
 
Algorithmique au cycle 3
Algorithmique au cycle 3Algorithmique au cycle 3
Algorithmique au cycle 3eduscol
 
TD La fonction logarithme exercices corrigés - SOUFIANE MERABTI
TD La fonction logarithme exercices corrigés -  SOUFIANE MERABTITD La fonction logarithme exercices corrigés -  SOUFIANE MERABTI
TD La fonction logarithme exercices corrigés - SOUFIANE MERABTIsoufiane merabti
 
Merise exercicesmcdcorriges-121007174045-phpapp01
Merise exercicesmcdcorriges-121007174045-phpapp01Merise exercicesmcdcorriges-121007174045-phpapp01
Merise exercicesmcdcorriges-121007174045-phpapp01SaberCraft Zeriguine
 
Chap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmiqueChap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmiqueMohamed Lahby
 

En vedette (20)

Chapitre 2 le recuit simulé
Chapitre 2 le recuit simuléChapitre 2 le recuit simulé
Chapitre 2 le recuit simulé
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régner
 
Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalité
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
19
1919
19
 
La complexité des algorithmes récursives Géométrie algorithmique
La complexité des algorithmes récursivesGéométrie algorithmiqueLa complexité des algorithmes récursivesGéométrie algorithmique
La complexité des algorithmes récursives Géométrie algorithmique
 
7exercices loi-normale-et-corriges-www.coursdefsjes.com
7exercices loi-normale-et-corriges-www.coursdefsjes.com7exercices loi-normale-et-corriges-www.coursdefsjes.com
7exercices loi-normale-et-corriges-www.coursdefsjes.com
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique et programmation michael griffith
Algorithmique et programmation michael griffithAlgorithmique et programmation michael griffith
Algorithmique et programmation michael griffith
 
Le cryptage et le décryptage
Le cryptage et le décryptageLe cryptage et le décryptage
Le cryptage et le décryptage
 
Les homophones grammaticaux
Les homophones grammaticauxLes homophones grammaticaux
Les homophones grammaticaux
 
Intelligence somatique pour coachs et facilitateurs - Fiche pédagogique
Intelligence somatique pour coachs et facilitateurs - Fiche pédagogiqueIntelligence somatique pour coachs et facilitateurs - Fiche pédagogique
Intelligence somatique pour coachs et facilitateurs - Fiche pédagogique
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmique
 
Algorithmique au cycle 3
Algorithmique au cycle 3Algorithmique au cycle 3
Algorithmique au cycle 3
 
Exercices triphase
Exercices triphaseExercices triphase
Exercices triphase
 
Algorithme DPLL
Algorithme DPLLAlgorithme DPLL
Algorithme DPLL
 
TD La fonction logarithme exercices corrigés - SOUFIANE MERABTI
TD La fonction logarithme exercices corrigés -  SOUFIANE MERABTITD La fonction logarithme exercices corrigés -  SOUFIANE MERABTI
TD La fonction logarithme exercices corrigés - SOUFIANE MERABTI
 
Merise exercicesmcdcorriges-121007174045-phpapp01
Merise exercicesmcdcorriges-121007174045-phpapp01Merise exercicesmcdcorriges-121007174045-phpapp01
Merise exercicesmcdcorriges-121007174045-phpapp01
 
Chap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmiqueChap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmique
 

Similaire à Chapitre 2 problème de plus court chemin

Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)DriNox NordisTe
 
cryptographie.pptx
cryptographie.pptxcryptographie.pptx
cryptographie.pptxfokam2
 
Rapport - Partie th‚orique
Rapport - Partie th‚oriqueRapport - Partie th‚orique
Rapport - Partie th‚oriqueBelkacem KAID
 
Un algorithme de chiffrement a flot base sur le probleme des 3 corps.
Un algorithme de chiffrement a flot base sur le probleme des 3 corps.Un algorithme de chiffrement a flot base sur le probleme des 3 corps.
Un algorithme de chiffrement a flot base sur le probleme des 3 corps.Samir Crypticus
 
Algo_avance_et_complexite.pdf
Algo_avance_et_complexite.pdfAlgo_avance_et_complexite.pdf
Algo_avance_et_complexite.pdfcheblatouati1
 
Inf_theory_lect4.pdf
Inf_theory_lect4.pdfInf_theory_lect4.pdf
Inf_theory_lect4.pdfkohay75604
 
Projet Méthodes Numériques
Projet  Méthodes Numériques Projet  Méthodes Numériques
Projet Méthodes Numériques Ramin Samadi
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011sunprass
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique Smee Kaem Chann
 
LES ALGORITHMES D’APPROXIMATION
LES ALGORITHMES D’APPROXIMATIONLES ALGORITHMES D’APPROXIMATION
LES ALGORITHMES D’APPROXIMATIONborhen boukthir
 
Cours de procédés topo
Cours de procédés topo Cours de procédés topo
Cours de procédés topo GENICIMO
 
Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami
Analyse des chaînes ADN par l'algorithme de Cocke-Younger-KasamiAnalyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami
Analyse des chaînes ADN par l'algorithme de Cocke-Younger-KasamiLoghin Dumitru
 
Cours 4 dessin de graphs 2eme annees
Cours 4   dessin de graphs 2eme anneesCours 4   dessin de graphs 2eme annees
Cours 4 dessin de graphs 2eme anneesTarik Taleb Bendiab
 

Similaire à Chapitre 2 problème de plus court chemin (20)

Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)
 
Video
VideoVideo
Video
 
cryptographie.pptx
cryptographie.pptxcryptographie.pptx
cryptographie.pptx
 
Rapport - Partie th‚orique
Rapport - Partie th‚oriqueRapport - Partie th‚orique
Rapport - Partie th‚orique
 
Un algorithme de chiffrement a flot base sur le probleme des 3 corps.
Un algorithme de chiffrement a flot base sur le probleme des 3 corps.Un algorithme de chiffrement a flot base sur le probleme des 3 corps.
Un algorithme de chiffrement a flot base sur le probleme des 3 corps.
 
Algo_avance_et_complexite.pdf
Algo_avance_et_complexite.pdfAlgo_avance_et_complexite.pdf
Algo_avance_et_complexite.pdf
 
Td logique
Td logiqueTd logique
Td logique
 
Chapitre2 1 c
Chapitre2 1 cChapitre2 1 c
Chapitre2 1 c
 
Inf_theory_lect4.pdf
Inf_theory_lect4.pdfInf_theory_lect4.pdf
Inf_theory_lect4.pdf
 
Projet Méthodes Numériques
Projet  Méthodes Numériques Projet  Méthodes Numériques
Projet Méthodes Numériques
 
Serie2
Serie2Serie2
Serie2
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique
 
Rapport MOGPL
Rapport MOGPLRapport MOGPL
Rapport MOGPL
 
LES ALGORITHMES D’APPROXIMATION
LES ALGORITHMES D’APPROXIMATIONLES ALGORITHMES D’APPROXIMATION
LES ALGORITHMES D’APPROXIMATION
 
csp_sir_C1_4.pptx
csp_sir_C1_4.pptxcsp_sir_C1_4.pptx
csp_sir_C1_4.pptx
 
Cours de procédés topo
Cours de procédés topo Cours de procédés topo
Cours de procédés topo
 
Tp3 matlab
Tp3 matlabTp3 matlab
Tp3 matlab
 
Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami
Analyse des chaînes ADN par l'algorithme de Cocke-Younger-KasamiAnalyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami
Analyse des chaînes ADN par l'algorithme de Cocke-Younger-Kasami
 
Cours 4 dessin de graphs 2eme annees
Cours 4   dessin de graphs 2eme anneesCours 4   dessin de graphs 2eme annees
Cours 4 dessin de graphs 2eme annees
 

Plus de Sana Aroussi

Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheSana Aroussi
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binairesSana Aroussi
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Sana Aroussi
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busSana Aroussi
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptionsSana Aroussi
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoiresSana Aroussi
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétudeSana Aroussi
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de triSana Aroussi
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivationsSana Aroussi
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Sana Aroussi
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursSana Aroussi
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurSana Aroussi
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentielsSana Aroussi
 

Plus de Sana Aroussi (19)

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptions
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoires
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeurs
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateur
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentiels
 

Dernier

Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 

Dernier (20)

Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 

Chapitre 2 problème de plus court chemin

  • 1. CHAPITRE II: PROBLÈME DU PLUS COURT CHEMIN Université Blida 1 Faculté des Sciences Département d’Informatique Master GSI (Génie des Systèmes Informatiques) Semestre 1 Mme AROUSSI 2015-2016 Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
  • 2.  Introduction  Définition  Conditions (Optimalité/ Nécessaire)  Algorithmes de Résolution  Algorithme de DIJKSTRA  Algorithme de BELLMAN  Algorithme de BELLMAN-FORD  Algorithme de FLOYD 2 PLAN DU CHAPITRE II
  • 3. 3  Le problème du Plus Court Chemin (PCC) compte parmi les problèmes le plus classiques de la théorie des graphes et les plus importants dans leurs applications (les problèmes d'optimisation de réseaux routiers ou télécommunications, les problèmes de tournées, ….) INTRODUCTION
  • 4. 4  Ce problème du Plus Court Chemin (PCC) peut être posé de la façon suivante:  Etant donné un graphe orienté valué G (X,U,L), on associe à chaque arc u(i,j) un nombre réel l(u) ou lij, appelé la longueur ou le poids de l’arc, le PCC entre deux sommets s (source ou origine) et d (destination) du graphe consiste à déterminer, parmi tous les chemins allant de s à d, un chemin, noté u*, dont la longueur totale l(u*) = soit minimale DÉFINITION
  • 5. 5  Condition Nécessaire: Le problème du plus court chemin a une solution si et seulement s’il n'existe pas dans le graphe de circuit de longueur strictement négative pouvant être atteint à partir de l’origine (s).  Un circuit négatif est appelé circuit absorbant INTRODUCTION a f b e -3 -3 -1 c d 5 -510 2
  • 6. 6  Condition d’Optimalité: Les sous-chemins des plus courts chemins sont des plus courts chemins. INTRODUCTION Exemples des arborescences des plus courts chemins dont l’origine est a a b e c d 3 5 3 1 2 6 6 4 72 a b e c d 3 5 6 6 a b e c d 3 2 4 2
  • 7. 7  Selon les propriétés du graphe traité (orienté/non orienté, avec/sans circuit ou longueurs positives/quelconques) et selon le problème considéré (recherche du plus court chemin d'un sommet vers tous les autres, ou entre tous les couples de sommets), il existe de nombreux algorithmes permettant l'obtention d'une solution. ALGORITHMES DE RÉSOLUTION
  • 8. 8 ALGORITHMES DE RÉSOLUTION Algorithmes Type du PCC Propriétés du graphe Type de graphe Longueur Dijkstra D’un sommet à tous les autres sommets Graphe orienté (et non orienté) Longueur positives Bellman Graphe orienté sans circuit (sommet d’origine doit être sans prédécesseur) Longueur quelconque (nombre réel) Bellman-Ford Graphe orienté Floyd Entre tous les couples de sommets Graphe orienté sans circuit absorbant
  • 9. 9  Cet algorithme permet de calculer le PCC d’un sommet « s » à un sommet « d » ou d’un sommet « s » à tous les autres sommets dans un graphe de longueur positive.  Soit (i) la valeur de chemin du sommet « s » vers le sommet « i », ainsi, initialement : (s) = 0 et (x) =  pour tout sommet x ≠s  Soit M l’ensemble des sommets marqués, initialement il est vide (M =  ) ALGORITHME DE DIJKSTRA
  • 10. 10  Tant qu’il existe un sommet non marqué (M≠X) ou on n’a pas arrivé au sommet destinataire (x ≠ d) faire: 1. Choisir un sommet non marqué, soit x (xX-M), ayant le plus petit  [(x) = min {(y) tq xX-M}] 2. Mettre à jours ses successeurs non encore marqués comme suit: (y) = min ((y), (x)+lxy) tel que y+(x)  (X- M) 3. Marquer le sommet x [M = M  {x}] ALGORITHME DE DIJKSTRA
  • 11. 11  Exemple: Trouver PCC de a vers tous les autres sommets ALGORITHME DE DIJKSTRA (a) (b) (c) (d) (e) 0 (init) 0     1 0 (*) 3 5 2 3(*) 9 5 3 9 11 5 (*) 4 9(*) 5 11(*) 6 (fin) 0 3 9 11 5 a b e c d 3 5 3 1 2 6 6 4 72
  • 12. 12  Exemple: Trouver PCC de a vers tous les autres sommets  Comment trouver le PCC chemin de a vers (b, e, c ou d)?  Pour chaque couple de sommet (i, j), on garde l’arc vérifiant la relation suivante: u(i,j) = (j) -  (i). ALGORITHME DE DIJKSTRA a b e c d 3 5 3 1 2 6 6 4 72 9 0 5 3 11
  • 13. 13  Exemple: Trouver PCC de a vers tous les autres sommets  On peut trouver plusieurs arborescences: ALGORITHME DE DIJKSTRA a b e c d 3 5 6 6 9 0 5 3 11 a b e c d 3 2 4 2 9 0 5 3 11
  • 14. 14  Cet algorithme permet de calculer le PCC d’un sommet « s » à un sommet « d » ou d’un sommet « s » à tous les autres sommets dans un graphe orienté sans circuit de longueur quelconque.  Soit (i) la valeur de chemin du sommet sans prédécesseur « s » vers le sommet « i », ainsi, initialement : (s) = 0  Soit M l’ensemble des sommets marqués, initialement il contient « s » (M = {s} ) ALGORITHME DE BELLMAN
  • 15. 15  Tant qu’il existe un sommet non marqué (M≠X) ou on n’a pas arrivé au sommet destinataire (x ≠ d) faire: 1. Choisir un sommet non marqué, soit x (xX-M), dont tous les prédécesseurs sont marqués [-(x)  M] 2. Mettre à jours son poids  comme suit: (x) = min ((y)+lyx) tel que y-(x) 3. Marquer le sommet x [M = M  {x}] ALGORITHME DE BELLMAN
  • 16. 16  Exemple: Trouver PCC de a vers tous les autres sommets ALGORITHME DE BELLMAN (a) (b) (c) (d) 0 (init) 0 (*) - - - 1 2 (*) 2 9(*) 3 4(*) fin 0 2 9 4 a c b d 10 2 -6 7 3 a c b d 2 -6 7 0 2 9 4
  • 17. 17  Cet algorithme permet de calculer le PCC d’un sommet « s » à tous les autres sommets dans un graphe orienté de longueur quelconque et aussi de détecter la présence d’un circuit absorbant.  Soit k(i) la valeur de chemin du sommet « s » vers le sommet « i » ne contenant pas plus de k arcs, ainsi, initialement : k = 0; k (s) = 0 et k(x) =  pour x ≠s  Soit M l’ensemble des sommets dont le poids k (s) a été modifié à l’itération k, initialement il contient « s » (M = {s} ) ALGORITHME DE BELLMAN-FORD
  • 18. 18  Tant qu’il existe un sommet marqué (M≠) et k est strictement inférieur à n (n présente le nombre des sommets |X|) faire: 1. Incrémenter k 2. Initialiser l’ensemble NM à vide (NM contiendra les sommet dont la marque k sera modifiée) ALGORITHME DE BELLMAN-FORD
  • 19. 19 3. Pour tout sommet x de +(M) (i.e les successeurs des sommets dont la marque a été modifié au cours de l’itération k-1) faire: a) Mettre à jours sa marque : k (x) = min (k-1 (x), k -1(y) +lyx) tel que y-(x)  M b) Si sa marque a été modifiée (k (x) < k-1 (x) ) alors ajouter x à l’ensemble NM (NM = NM  {x}) 4. Remplacer M par MN ALGORITHME DE BELLMAN-FORD
  • 20. 20  En absence de circuit absorbant dans le graphe, l’algorithme se termine nécessairement à l’issue de l’itération n (k = n) car, au pire des cas, le PCC de s vers tous les autre sommets est un chemin élémentaire possédant (n-1) arcs.  Si une ou plusieurs marques sont modifiées à l’itération n (+(M) ≠), cela signifie qu’il existe un circuit absorbant. ALGORITHME DE BELLMAN-FORD
  • 21. 21  Exemple 1: Trouver PCC de a vers tous les autres sommets ALGORITHME DE BELLMAN-FORD k k (a) k (b) k (c) k (d) k (e) 0 (init) 0 (*)     1 0 3(*) 5(*) 2 9(*) 11(*) 5 3 (fin) 0 3 9 11 5 4 a b e c d 3 5 3 1 2 6 6 4 72
  • 22. 22  Exemple 2: Trouver PCC de a vers tous les autres sommets ALGORITHME DE BELLMAN-FORD k k (a) k (b) k (c) k (d) k (e) k (f) 0 (init) 0 (*)      1 10(*) 2(*) 2 5(*) 7(*) -1(*) 3 -4(*) 6(*) 4 1(*) -2(*) 5 3(*) 6 2(*) a f b e -3 -3 -1 c d 5 -510 2
  • 23. 23  Cet algorithme permet de calculer le PCC entre tous les couples de sommets dans un graphe orienté sans circuit absorbant de longueur quelconque.  Numéroter les sommets de 1 à n (|X| = n)  Soit la matrice A = {aij} de taille n x n définie initialement comme suit: ALGORITHME DE FLOYD
  • 24. 24  Cet algorithme permet de calculer le PCC de la façon suivante:  A la première itération, on cherche le PCC entre chaque couple (i, j) passant éventuellement par le sommet 1 ;  A l'itération k (avec l > 1), on cherche le PCC entre chaque couple (i, j) passant par des sommets d'indice inférieur ou égal à k. ALGORITHME DE FLOYD
  • 25. 25  Voici une description formelle de l'algorithme :  Pour tout sommet k (k allant de 1 à n)  Pour tout couple de sommet (i, j) calculer ALGORITHME DE BELLMAN j i k k
  • 26. 26  Exemple: Trouver PCC entre tous les couples des sommets ALGORITHME DE BELLMAN a c b d 6 2 5 -1 -2-4 5
  • 27. SOURCES DE CE COURS  Lucas Letocart, Cours d’Algorithmique de graphes, Institut Galilée, Université Paris 13, Disponible sur www-galilee.univ- paris13.fr/fichiers/Cours_Algo_Graphes.pdf  Laurent Canet, Algorithmique, graphes et programmation dynamique, Notes de Cours & Rapport de Travaux Pratiques, 2003  Aroussi Sana, Notes des Travaux Dirigés de Recherche Opérationnelle, Ecole nationale Supérieure d’Informatique (ESI), 2013. 27