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

Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Etude de cas gestin des approvisionnement
Etude  de cas gestin des approvisionnementEtude  de cas gestin des approvisionnement
Etude de cas gestin des approvisionnementokouX
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidBadrElattaoui
 
Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4ulrich loemba
 
Chaînes de Markov et files d'attente
Chaînes de Markov et files d'attenteChaînes de Markov et files d'attente
Chaînes de Markov et files d'attenteGuillaume Matheron
 
recherche operationnelle
recherche operationnelle recherche operationnelle
recherche operationnelle mohamednacim
 
Presentation stage Tunisie Telecom
Presentation stage Tunisie TelecomPresentation stage Tunisie Telecom
Presentation stage Tunisie Telecomlitayem bechir
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesSana Aroussi
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebHarrathi Mohamed
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.pptMohamed Ben Bouzid
 
Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...
Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...
Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...HAFID Ait Bihi
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsSana Aroussi
 
projet de fin d'étude sur l'amélioration du taux de rendement synthétique
projet de fin d'étude sur l'amélioration du taux de rendement synthétiqueprojet de fin d'étude sur l'amélioration du taux de rendement synthétique
projet de fin d'étude sur l'amélioration du taux de rendement synthétique✅ Bouchra Benmerzouk
 

Tendances (20)

Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Etude de cas gestin des approvisionnement
Etude  de cas gestin des approvisionnementEtude  de cas gestin des approvisionnement
Etude de cas gestin des approvisionnement
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
 
Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4
 
Exo pert
Exo pertExo pert
Exo pert
 
Chaînes de Markov et files d'attente
Chaînes de Markov et files d'attenteChaînes de Markov et files d'attente
Chaînes de Markov et files d'attente
 
recherche operationnelle
recherche operationnelle recherche operationnelle
recherche operationnelle
 
Presentation stage Tunisie Telecom
Presentation stage Tunisie TelecomPresentation stage Tunisie Telecom
Presentation stage Tunisie Telecom
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiques
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.ppt
 
Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...
Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...
Projet de fin d'études licence Pro TCF Université Ibn Zohr Agadir {Gestion de...
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
projet de fin d'étude sur l'amélioration du taux de rendement synthétique
projet de fin d'étude sur l'amélioration du taux de rendement synthétiqueprojet de fin d'étude sur l'amélioration du taux de rendement synthétique
projet de fin d'étude sur l'amélioration du taux de rendement synthétique
 
Méthode pert
Méthode pertMéthode pert
Méthode pert
 
rapport de stage
rapport de stage rapport de stage
rapport de stage
 

En vedette

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
 
Chapitre 2 le recuit simulé
Chapitre 2 le recuit simuléChapitre 2 le recuit simulé
Chapitre 2 le recuit simuléAchraf Manaa
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheMohamed Heny SELMI
 
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
 

En vedette (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
 
Chapitre 2 le recuit simulé
Chapitre 2 le recuit simuléChapitre 2 le recuit simulé
Chapitre 2 le recuit simulé
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
 
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
 

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 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesSana Aroussi
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité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 (20)

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 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 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
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

systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
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
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
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
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 

Dernier (20)

systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
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...
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
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
 

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