Académique Documents
Professionnel Documents
Culture Documents
• Peut s’écrire : Données n villes, des routes les reliant et leur longueurs,
trouver le plus court chemin de la ville i à la ville j.
• Se formalise : Dans un graphe non orienté
• pondéré, trouver le plus court chemin du sommet i au sommet j.
• ‘Bonne solution’ (en n²) : Algorithme de Ford-Dijkstra (ou ‘marquage’).
Le problème du postier
Problème facile !!
Variante : Les cycles Eulériens
Donnée : Un graphe
Problème : Trouver un chemin (s’il existe !!) passant
exactement une fois par chaque arête. (Ici il n’en
existe pas)
(Ex : Tracer une figure sans lever la plume, en ne
repassant jamais sur une ligne)
Problème de coloration minimale
• Etant donné un graphe, peut-on colorer ses sommets avec k
couleurs, de façon à ce que deux sommets adjacents soient de
couleur différente.
• Ex : Coloration des cartes géographiques. Quand le graphe est
planaire au plus 4 couleurs suffisent (c’est le célèbre théorème des
4 couleurs.)
C’est un problème difficile !!
Si l’on énumère toutes les possibilités, par exemple avec n sommets et 2 couleurs, il y a ???
possibilités.
En supposant que l’examen de chaque possibilité prend une fréquence de calcul, sur un
processeur 1Ghz, on aurait les temps de calcul suivants:
A
B C D
Problème du plus court chemin
• Dans un graphe pondéré (les arêtes sont munies d’un poids
strictement positif), trouver le plus court chemin reliant deux
sommets (géodésique)
• On a déjà vu au cours de théorie des graphes un bon algorithme
pour résoudre ce problème : l’algorithme de Dijkstra.
Algorithme de Dijkstra
• Pour tout sommet t, dist(s,t)=+∞, et t est non marqué
• dist(s,s)=0
• Tant qu’il reste des sommets non marqués:
o Choisir un sommet t non marqué, avec dist(s,t) minimale
o Marquer t
o Pour tout successeur t1 de t
• Si dist(s,t1 ) > dist(s,t ) + p[ t , t1 ]
• Alors dist(s,t1):=dist(s,t ) + p[ t, t1]
• Fin Si
• Fin Tant que
Problème du camion d’épandage
• Un camion doit répandre du sel sur la chaussée d’un réseau routier.
• Il circule à deux vitesses différentes selon qu’il répand ou non du sel.
Exemple de solution :
• Un circuit passant une et une seule fois par chaque arête (cycle eulérien).
• C’est nécessairement un trajet optimal …
• Un cycle eulérien n’existe pas toujours …
• Définitions : Dans un graphe Γ,
- Un circuit (ou cycle) eulérien est un circuit (i.e. un chemin fermé)
qui passe une et une seule fois par chaque arête.
• - Le degré (ou valence) d’un sommet est le nombre des arêtes qui
en sont issues.
• Théorème (Euler) : Un graphe connexe non orienté contient un
cycle eulérien si et seulement si tous ses sommets sont de valence
paire.
Revenons au problème du camion d’épandage…
Trouver une solution optimale c’est trouver l’ensemble d’arêtes Α1 (de coût minimal) à
dupliquer…
…C’est trouver un couplage parfait de Γ1 de coût minimal…
…chaque arête du couplage correspond à un chemin géodésique …
Α1 est la réunion des arêtes constituant les chemins associés aux arêtes d’un couplage
parfait de coût optimal.
Par construction le graphe obtenu Γ’=Γ ∪Α a tous ses sommets de valence paire et
donc contient un cycle eulérien
Exemple : Ici, toutes les arêtes sont de poids 1.
G H
3
2
C H
1 1
G
B
2
C H
1
G
G H
G H
G H
G H