IUT Lyon
Ingcrmatiqn’ Théorie des Graphs 2OUL-2012
s chemins
cnapitre 2
[ Plus cour
3.1 Probleme du plus court chemin
On se place deans Ie cas ces araphes otientés values = (S, A,v). Mais les résultats et alyorithnnes présentés
néralisent facilement aus cas des sraphes non otientés valbés. Une autre soluticn comsiste 4 transformer
Je graphe nonctienté cn tin eraphe ctienté cn ranphcant ume arete entre dex sctmmets par deus ates de sens
inverse entre ces scumets,
ion 341 — Le cot ou poids d'tm chemin ¢ =< $0, 81,..., $e > est Swale la some des valuations
[es arcs composant le chemin, cet A dite
He) = Dvls.50)
~ Le coat d'un plus court chemin entre deans sommets 5 ot sj ost note 6{si, 3) et ost defini par:
) esiste am moins un chemin cutie 54 ct 5,
Sls.
_ {min(£@ fe= cumin de 5 8.5)} si
+00 sinon
Jan la recherche hin phis comt chemin de 2 & y, trols cas peuvent se presenter
= tiesiste aucun chemin de 2 A y (par exemple, siz et y apparticnnent a deux composantes fortement
exes cliferentes de
= Tesiste de= ciemins de 2 a y mais pas de plus cout chemin
= Texiste un plus court chemin de 2 4 y.
Exemple On consider le mraphe suivant
wart chevain de 2 8 y (i subi
Texiste des chemins de a y (ot meme tne infinit®), mais il wexiste pas de plus
és art chemin de 2 42 mis
Yomprunter Ie evele de poids négatif autant le fois que ngcessaire). existe un plus
pas de chemin de 2A 2.
Définition 3.2. Un circuit de longue nésative est appelé cireuit absorbant
Et alots, une condition nfeessaire et sutfisante Fesistence de plus court chain est dennée par Te résultat
suivant.
Propositio n graphe orienté wnlué fortement connear G = (S,4,v), i existe un plus court che
ritre taut couple de sommets si ef seulement sil n'existe pas de cwcuit absorbant dans G,
Prouve + Onmontrecqiesi un chemin entre dens sommots x of y possede tm cincuit absorbant, alors x(2, 9) =
oo. En fet, cbs que Ton parcoumt Je cretit abscabant, cv diminne Ie Tongueur div chemin, ct on peut dene
Jiminner cotte longneur A Tinfini, En angmentant "“infininent” le nombre de toms dans le circuit, on cbtient
a(2,y) = —00.
Definition 34 Etant donné in sraphe otionté value @ = (8, A,v) ot 1m sommet origine s9 € 8. Ie probleme
des plus courts chemins & origine unique consiste A ealcubr pour cheque sommet 3 € S Ie cout 8(30, 83)
J plus court chemin de 30 28,
On suppesera qe Te eraphe G ne comperte pas de cireit absorbant,
Variantes du probleme :IUT Lyon
Ingcrmatiqn’ Théorie des Graphes 2OUL-2012
= SiTet souhaite calculer Ie phis court chemin allant an sommict so vers mn atatre sonnet sy (la destination,
1 tihiqite}. on ponta utiliser Ia résolution du probleme précécant (oni calcule tots les phns courts chemin
pettant de 59). En cffet, ct ne ocntmit pas C'aleorithme plus efficaee pour téscahe oe probleme,
= Si Ton soutiaite calculer tous les plus courts chiemine entre tous Jes couples de scumicts possibles, ot
pourrait aussi utiliser ka résolution dlr probléme préeédent. mais dans ce cas, on wobtiendrait_ pas am
aleotithime optimal, 1 faauhra utiliser chns eo cas tn aluctithiie spécitique, par exemple Palgorithine «le
Fleyd-Warshall,
= plus courts chemins : On va ct fait calctiler non seulement les coat des plus cetnts
cheming, mais anssi les sonmets presents sur ces phis courts chemins. La représentation ut ur ces pls
counts chemins est la: meme que celle utilisée pour les arborescenees couvrantes caleulkes Jors d'un. parcemts en
ur om en prefondeur Pun exaphe, Cotte arborescence est mémorisfe dans un tableau HL tel que
= Iso] = nil.
Athorescence ¢
= Msg] = 54 Si si > 34 est um anc de Varhorescence
Pour connaitre le plas ccurt chemin entre $0 et mn sommot sx denny, il fandra alors "rementer" Parborese
cence TT de sx JtscnA 90 (cf Valeorithine Taffichage di pls cenrt chemin trouvé par Te parcetrs en Target).
orithmes suivant qui permettent de réscudke ce probleme
its sont positifs on nuls,
voilts sont pesitiés, nus ctr negate
Neus allens 6turlier lee deus
aithme de Dijkstra 12scut ce probleme Torsque tous les
aithme de BellnensPord résout ce problaine lersuc
Tes dane algetithmes procedent de la meme fagcn, selon tne stratégie dite Malentcnne", Lido est dPassoctor
A gque scmmet s, € Stine valeur dis] qui repréecnite ume Lome mmsimale da cont cl pls comrt clietin entre
$0 04 8 (Cestwindive (80,54)
Ainsi, au départ
= Also] = 0 = (50, 50) ct
= d[s,] = +00 > 4{s0,s,) pour tout sommet 5, 4 so.
rithme diminne alers prosressivement Jes valeans ds] associées aun différents sommuets, jusqu’a ce
on ne puise plus les dimineer, atitacment dit, juscp’ ce que d{s,] = 6(s0, :)+ Pome diminner Tes valeas de
4, on va itérativement examiner cheeme arc si 3; dit graph. et regander si ch ne pent pas atntliorer la valeur
Je dfs,] on passant pat 3,
Cette cpératicn de dimimition et appe
Ajchement de Pare s; > 5," et se
‘Algorithme 8: hich ate (ons. 1)
Tnntrées : 5 ct 5; sont des scmmnets da araphe » wlnticn as alts, d taco dee Deans maak des canis,
Ti arboresconce ccurvranit
Sorties : d tableatt des homes maximum des coats, UH arborescence couvtante
1 sidls,] > d[si] + ¥(s,,8,) alors
2 | Yi vaut mica passer par sj pour aller A sj *
3] dsj] @ als] +u(si,3;)
4 | Ifsj)es
Los algotithmes de Dijkstra ot BellmaneFord procédent ¢cus les deux par reachements successifs dares, La
lisforence cutre Tee deus est que dans Falgorithme de Dijkstra. cheene arc est relaché tne et ame seule fois
tandis que dans Falgctitlie de BellaneFord, chaque are peut étre rlaché plusicurs fois,
Bal Algorithme de Dijkstra
L'idée consiste & maintonir 2 ensembles dlisjoints B ot F tls que BUF
sommet pour Keene ctr cchnmit un plus cctnt chetnity depuis so (este
Leensoanble F centiont cus les atntaes d{sy] (puisenie dfs] c=t minimal’. Sachant que la fit ce co clietnin (ey &
be petit faite qu'anementr la distance dv cxtin, eet autre chemin sera forcémment pli Ion, Par consequent
on ne pourra pas trcuver de chemin plus Ccunt pour aller de s9 A s,..ct on pent faire entrer s; dans B ct rclacher
touts Jes ates cui partent de sie
Complexité : La complesité de cot algetithine ctpend de Vimp¥nentation du graphe (par mattice ou par
listos d'adjacence), mais aussi de la fagon de gérer Fensemble F. On suppose que le graph pesséde me sommicts
mance. Si ch utilise une mattice dadjacence, Palgoritlme sora on O(n?)
En revanche, si om utilise des listes dad acence, alors
= SiF cst implémenté par une liste lin‘aire, om un tablean, i aurea chercher, A cheque itérat
dans F ayant I plus petite valeur de d, Etant donne quill y an itéra “qa pret
contient n ements, ¢t qa chague passage suivant F ocntiont tm Clément de meins, i fardra att ¢
faire de Verde de n-+ (n— 1) + (n—2) +... +2-+ 1 operations, soit (m2), Fn revanche, cincue arc étant
reliché une seule fois. les operations de relachement promdrent de Pordre dem opétations, Au total cn
ura dene une complexité «ti O(n).
= Pour amélioter les performances de Talgerithme, il fant trouser me stricture de dennées permettant ¢
acter phi rapidement Ia phi potite valour dans ensemble F, Peur cola en peut utiliser tm tas binaite
un tas binaite permet de trouver le plus petit Cement dum ensemble en temps censtant. En revanche
Pajeut. la suppreicn cu la movfication dim élément dans un tas bitaite ccmportant n Géments pretty
Je Torche de toga(n) cpératicns, Pa conséqquent, si ct impléuente F avec un tas hinaite, on cbtient tne
‘omplesité pour Dijkstra ct O(m « log(n)).
Je scummnet
iP
34.2. Algorithme de BellmaneFord
Les
noeatif
Considérene par exemple le
voit inumé dls.) +u(s:,3,) alors
to | L affidher( circuit absent!)
Complexité : Sie praphe comporte n scammets ot m arcs, caeye arc sera relichaé n—1 fois, of om effectucta
Jonc att total (n— Im rolaclimients successifs. Sie graphe c=t represent® par tine matrice Pacacence, on atta,
tne ccmplesité en O(n), alors que s'il est représenté par des listes dTadacenee, cn anta une complesité en
Ofnm).
Remarque : En pratique, on poura areter Palgorithine ds Jors qu'aucune valeur de d n'a 66 modifice
pendant une itératicn complete, On pourta atnssi métctiser A chase it¢ration Fenseanble des sommicts pour
esque: Ta valour de da diangé, afin de ne relacher los de Pitération suivante que Ie ares partant- de cos
sommncts
nthese
2
En résim, en fonction des carnctér
ne comporte pas de
ques du probleme a résoudre il faudra choisir Ie hon algotitlamc
icitit alors, que Von recherche un plus court chemin cur un phis Tong,
suffit de trict les sommots topolewiquement. avec tm parccurs en profcedear 'abord pais de
Jerer daqe sctmet dans Torte ainsi defini ot relacher & dace fois tons les ares partant de ce
scant:
= Sie eraphe comporte des circuits, alors
= Sion recherche un plus court chemin, alors
= Sila feuction ccit et monotone croisante (le cont dun chemin ne peut qu’anementer lersquten
rajonte un are Aa fin dit chemin: par exemple, quran kes cont de teu Fes ares sont posit et que
Je cont dun chemin est Gg A Te somme des cots des ance etpruntés), alens on pourra appliquer
Dijkstra
= Sincn, on appliqnera RellmaneFord (c
ireuits absorbants)
= Sion recherche tm plas Jong chemin, alors
= Silk fonction coat et monctone deeroisante (le cont im chetnity ne pet que dinner lerseqren
rajonte un are 8 Ia fin dit chemin: par exemple, qiand Tes cout de tout Jos acs sont compris entre
yérifieg en mone temps que Te graphe ne comporte pas deIUT Lyon
Ingcrmatiqn’ Théorie des Graphs 2OUL-2012
Det Let que Fe cet d'un chemin est Gal ai produit des comts des ares emprunté=),alers on pours
ppliquor Digs
= Sinch, on appliquera BelnansTerd (cr verifies en meme temps que Te exaphe ne comporte pas d
incuite absctbants
219.28