SlideShare une entreprise Scribd logo
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

PFE en gestion du stock
PFE en gestion du stockPFE en gestion du stock
PFE en gestion du stock
Aboubakr Moubarak
 
Tableau de bord prospectif
Tableau de bord prospectifTableau de bord prospectif
Tableau de bord prospectif
ABDELDJALIL DERRASCHOUK
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
rimeh moussi
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 
Sujets de pfe pour etudiants en grh
Sujets de  pfe pour etudiants en  grhSujets de  pfe pour etudiants en  grh
Sujets de pfe pour etudiants en grh
ezzeddine mbarek
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Mohamed Amine Mahmoudi
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
AmineMouhout1
 
Méthode pert
Méthode pertMéthode pert
Méthode pert
Kevin Ratsimbazafy
 
Théorie de graphe
Théorie de grapheThéorie de graphe
Théorie de graphe
TECOS
 
Présentation Projet de fin d'études
Présentation Projet de fin d'étudesPrésentation Projet de fin d'études
Présentation Projet de fin d'études
Salah Eddine BENTALBA (+15K Connections)
 
21.la gestion de la production
21.la gestion de la production21.la gestion de la production
21.la gestion de la productionOULAAJEB YOUSSEF
 
Rapport pfe v1
Rapport pfe v1Rapport pfe v1
Rapport pfe v1
Mina Riyahi
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
Pascal Thery Formations
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
Echecs et Stratégie
 
Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)
Hassan WAHSISS
 
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
BadrElattaoui
 
Gestion des ressources humaines dans l’entreprise
Gestion des ressources humaines dans l’entrepriseGestion des ressources humaines dans l’entreprise
Gestion des ressources humaines dans l’entreprise
Herman KOALA
 
Plan d'affaires
Plan d'affairesPlan d'affaires
Plan d'affaires
Cyrille Morel
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
Donia Hammami
 

Tendances (20)

PFE en gestion du stock
PFE en gestion du stockPFE en gestion du stock
PFE en gestion du stock
 
Tableau de bord prospectif
Tableau de bord prospectifTableau de bord prospectif
Tableau de bord prospectif
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 
Sujets de pfe pour etudiants en grh
Sujets de  pfe pour etudiants en  grhSujets de  pfe pour etudiants en  grh
Sujets de pfe pour etudiants en grh
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Méthode pert
Méthode pertMéthode pert
Méthode pert
 
Théorie de graphe
Théorie de grapheThéorie de graphe
Théorie de graphe
 
Présentation Projet de fin d'études
Présentation Projet de fin d'étudesPrésentation Projet de fin d'études
Présentation Projet de fin d'études
 
Qualite qqoqccp
Qualite qqoqccpQualite qqoqccp
Qualite qqoqccp
 
21.la gestion de la production
21.la gestion de la production21.la gestion de la production
21.la gestion de la production
 
Rapport pfe v1
Rapport pfe v1Rapport pfe v1
Rapport pfe v1
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)
 
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
 
Gestion des ressources humaines dans l’entreprise
Gestion des ressources humaines dans l’entrepriseGestion des ressources humaines dans l’entreprise
Gestion des ressources humaines dans l’entreprise
 
Plan d'affaires
Plan d'affairesPlan d'affaires
Plan d'affaires
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 

En vedette

Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
Sana Aroussi
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsSana Aroussi
 
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 recherche
Mohamed Heny SELMI
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
Sana 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 recherche
Sana 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 algorithmique
Hajer 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.com
rachoo10
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
ABID Mehdi
 
Algorithmique et programmation michael griffith
Algorithmique et programmation michael griffithAlgorithmique et programmation michael griffith
Algorithmique et programmation michael griffith
Bernhard Ndale
 
Le cryptage et le décryptage
Le cryptage et le décryptageLe cryptage et le décryptage
Le cryptage et le décryptage
SKYWARE COMPAGNY
 
Les homophones grammaticaux
Les homophones grammaticauxLes homophones grammaticaux
Les homophones grammaticaux
zeinabdibhammoud
 
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
Maud RABER
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmique
Atef MASMOUDI
 
Algorithmique au cycle 3
Algorithmique au cycle 3Algorithmique au cycle 3
Algorithmique au cycle 3
eduscol
 
Exercices triphase
Exercices triphaseExercices triphase
Exercices triphase
MOUHSSINE BEN HAMMOU
 
Algorithme DPLL
Algorithme DPLLAlgorithme DPLL
Algorithme DPLL
Elhem Sassi
 

En vedette (20)

Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
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
 

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.pptx
fokam2
 
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.pdf
cheblatouati1
 
Td logique
Td logiqueTd logique
Inf_theory_lect4.pdf
Inf_theory_lect4.pdfInf_theory_lect4.pdf
Inf_theory_lect4.pdf
kohay75604
 
Projet Méthodes Numériques
Projet  Méthodes Numériques Projet  Méthodes Numériques
Projet Méthodes Numériques
Ramin Samadi
 
Chapitre 3: Problèmes de cheminement dans le routage
Chapitre 3: Problèmes de cheminement dans le routageChapitre 3: Problèmes de cheminement dans le routage
Chapitre 3: Problèmes de cheminement dans le routage
AlexDane1
 
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
sunprass
 
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
 
csp_sir_C1_4.pptx
csp_sir_C1_4.pptxcsp_sir_C1_4.pptx
csp_sir_C1_4.pptx
Alkalimatayiba
 
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
 
Tp3 matlab
Tp3 matlabTp3 matlab
Tp3 matlab
Wajdi Ben Helal
 
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
Loghin Dumitru
 

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
 
Chapitre 3: Problèmes de cheminement dans le routage
Chapitre 3: Problèmes de cheminement dans le routageChapitre 3: Problèmes de cheminement dans le routage
Chapitre 3: Problèmes de cheminement dans le routage
 
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
 

Plus de Sana Aroussi

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
Sana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
Sana Aroussi
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
Sana 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équentielles
Sana Aroussi
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
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
 

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 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
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
 

Dernier

Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
caggoune66
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
M2i Formation
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
BenotGeorges3
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
Billy DEYLORD
 

Dernier (13)

Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
 

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