
Cours de Graphes. Alexandra Bac - Marc Gengler Azeddine Zidouni. Marc Gengler Marc.Gengler@esil.univmed.fr. 18h de cours 24h de TD … et un examen. Les grandes lignes du cours. Définitions de base Connexité Les plus courts chemins Floyd-Warshall, Dijkstra et Bellmann-Ford Arbres
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Alexandra Bac - Marc Gengler Azeddine Zidouni
Marc Gengler
Marc.Gengler@esil.univmed.fr
18h de cours
24h de TD
… et un examen
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
( a , b ) e E signifie que l’arc du
sommet a vers le sommet b existe.
Cours de graphes 1 - Intranet
Graphe non orienté !
Graphe orienté !
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
12
25
15
Cours de graphes 1 - Intranet
du graphe G = ( V , E ) , si :
U
Les sommets de G’ sont parmi ceux de G .
U
v
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
VERS
1
2
3
4
5
6
1
L’existence ou non
de l’arc ( 2 , 5 ) ! ! !
2
3
4
5
4
6
1
DEPUIS
6
2
3
5
Cours de graphes 1 - Intranet
2
3
4
5
6
Représentation des graphes-----------------------------------------------------------------1
2
3
4
5
6
4
Un tableau
de listes !
F
F
F
V
F
F
4
F
F
F
V
F
F
F
F
F
F
V
F
5
V
V
V
F
F
F
1
2
3
F
F
V
F
F
F
3
F
F
V
F
F
V
3
6
Parfois, le graphe est peu dense !
Nous mémorisons juste les indices
des colonnes différentes de Faux !
Il faut
( | V | + | E | ) * log( | V | )
bits !
Cours de graphes 1 - Intranet
2
3
4
5
6
Représentation des graphes-----------------------------------------------------------------1
2
3
4
5
6
Les voisins d’un sommet « u » :
Les voisins sortants : V+ ( u )
Les voisins entrants : V- ( u )
F
F
F
V
F
F
F
F
F
V
F
F
F
F
F
F
V
F
V
V
V
F
F
F
V+ ( 4 ) = { 1 , 2 , 3 }
F
F
V
F
F
F
F
F
V
F
F
V
V- ( 3 ) = { 4 , 5 , 6 }
V+ ( u ) = { v e V | ( u , v ) e E }
V- ( u ) = { v e V | ( v , u ) e E }
Si le graphe est symétrique :
V ( u ) = V+ ( u ) = V- ( u )
Cours de graphes 1 - Intranet
2
3
4
5
6
Représentation des graphes-----------------------------------------------------------------1
2
3
4
5
6
Le degré d’un sommet « u » :
Le degré sortant : D+ ( u )
Le degré entrant : D- ( u )
F
F
F
V
F
F
F
F
F
V
F
F
F
F
F
F
V
F
V
V
V
F
F
F
F
F
V
F
F
F
Le degré d’un graphe G = ( V , E ) :
D( G ) = max { D ( u ) }
F
F
V
F
F
V
u e V
Si le graphe est symétrique :
D ( u ) = D+ ( u ) = D- ( u )
D+ ( u ) = | V+ ( u ) |
D- ( u ) = | V- ( u ) |
Cours de graphes 1 - Intranet
( w , . . . , w )
n+1
1
n+1
1
i
i+1
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
u
v
Cours de graphes 1 - Intranet
u = v
w = t
Cours de graphes 1 - Intranet
( u , . . . , v )
Chemin simple ( u ; v )
u
w
v
Chemin non
simple ( w ; t )
Cours de graphes 1 - Intranet
t
( u , . . . , w , . . . , w , t , . . . , v )
t
u
w
v
Cours de graphes 1 - Intranet
( u , . . . ,w , . . . , w , t , . . . , v )
t
u
w
v
Cours de graphes 1 - Intranet
Réunion de cycles
élémentaires :
Cycle élémentaire :
Cours de graphes 1 - Intranet
2
3
4
5
6
Les composantes connexes-----------------------------------------------------------------1
2
3
4
5
6
La composante connexe de u :
La composante sortante : C+ ( u )
La composante entrante : C- ( u )
F
F
F
V
F
F
F
F
F
V
F
F
F
F
F
F
V
F
V
V
V
F
F
F
C+ ( 4 ) = { 1 , 2 , 3 , 4 , 5 }
F
F
V
F
F
F
C- ( 4 ) = { 1 , 2 , 4 }
4
F
F
V
F
F
V
1
C+ ( u ) = { v e V | ( u ; v ) existe }
C- ( u ) = { v e V | ( v ; u ) existe }
6
2
Si G est symétrique : C ( u ) = C+ ( u ) = C- ( u )
3
5
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
2
3
4
5
6
Les composantes connexes-----------------------------------------------------------------1
Nous partons d’une
relation symétrique !
2
3
4
5
6
V
F
F
V
F
F
Nous fermons réflexivement !
F
V
F
V
F
F
F
F
V
F
V
F
V
V
F
V
F
F
F
F
V
F
V
F
4
F
F
F
F
F
V
1
6
La fermeture réflexive d’une
relation R est la plus petite
relation réflexive qui contienne R .
2
3
5
Cours de graphes 1 - Intranet
2
3
4
5
6
Les composantes connexes-----------------------------------------------------------------1
Nous partons d’une
relation symétrique !
2
3
4
5
6
V
V
F
V
F
F
Nous fermons réflexivement !
V
V
F
V
F
F
F
F
V
F
V
F
Nous fermons transitivement !
V
V
F
V
F
F
F
F
V
F
V
F
4
F
F
F
F
F
V
1
6
La fermeture transitive d’une
relation R est la plus petite
relation transitive qui contienne R .
2
3
5
Cours de graphes 1 - Intranet
2
3
4
5
6
Les composantes connexes-----------------------------------------------------------------1
Nous partons d’une
relation symétrique !
2
3
4
5
6
V
V
V
F
F
F
Nous fermons réflexivement !
V
V
V
F
F
F
V
V
V
F
F
F
Nous fermons transitivement !
F
F
F
V
V
F
F
F
F
V
V
F
3
F
F
F
F
F
V
1
6
Si nous renumérotons !
2
4
5
Cours de graphes 1 - Intranet
consiste à appliquer ce même traitement indépendamment
sur chacune des composantes connexes !
Dans ce cas, on ne perd rien
en supposant G connexe !
Cours de graphes 1 - Intranet
connexe si et seulement si chaque
sommet se trouve sur un circuit.
Pour w bien choisi, le circuit ( w ; v ; w ) existe !
Nous recommençons le raisonnement pour ( u ; w ).
u
w
v
Cours de graphes 1 - Intranet
Composante
fortement
connexe !
Cours de graphes 1 - Intranet
D ( G ) = max { d ( u , v ) }
u , v e V
Cours de graphes 1 - Intranet
e ( u ) =max { d ( u , v ) }
e ( u ) =min { e ( v ) }
v e V
v e V
v e V
Cours de graphes 1 - Intranet
alors sa partie préfixe de u vers w est aussi le plus
court chemin de u vers w .
Le plus court chemin de u à v !
u
w
v
Le plus court chemin de u à w !
Le raisonnement est par l’absurde :
S’il y avait plus court pour aller de u à w , il y
aurait aussi plus court pour aller de u à v !
Cours de graphes 1 - Intranet
Parfois, on parle du plus court chemin
et on pense au chemin le plus léger !
25
12
10
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
La vague
Multiplication
Floyd-Warshall
Q ( | E | ) =
O ( | V |^2 )
Connexité
Plus courts
Plus légers
Cours de graphes 1 - Intranet
M * M’ ( i , j ) = max M ( i , k ) * M’ ( k , j )
k
Cours de graphes 1 - Intranet
M^( 2 * i ) ( u , v ) = 1
max_k M^i ( u , k ) * M^i ( k , v ) = 1
$ w tel que M^i ( u , w ) * M^i ( w , v ) = 1
M^i ( u , w ) = 1 et M^i ( w , v ) = 1
$ des chemins ( u ; w ) et ( w ; v ) , de longueur au plus i .
$ un chemin ( u ; v ) de longueur au plus 2 * i .
En effet, il suffit de prendre le chemin ( u ; w ; v ) .
Cours de graphes 1 - Intranet
La vague
Multiplication
Floyd-Warshall
Q ( | E | ) =
O ( | V |^2 )
Q ( | V |^3 *
log( | V | ) )
Connexité
Beaucoup plus cher
que la vague ! ! !
Plus courts
Plus légers
Cours de graphes 1 - Intranet
M^( 2 * i ) ( u , v ) = max_k M^i ( u , k ) * M^i ( k , v )
= M^i ( u , u ) * M^i ( u , v )
= M^i ( u , v ) = 1
Cours de graphes 1 - Intranet
Cours de graphes 1 - Intranet
(k-1)
(k)
/ k
/ k
e
e
(k)
(k-1)
u - . . . - k - . . . - v
}
}
M ( u , v ) = M ( u , v )
Une opération
de maximisation !
(k-1)
(k-1)
M ( u , k )
M ( u , k )
Cours de graphes 1 - Intranet
(0)
M ( u , v ) = max ( ,
)
(k)
(k-1)
M ( u , v )
(k-1)
(k-1)
M ( u , k ) * M ( k , v )
Le chemin de u vers v
existe déjà au niveau k-1 !
Le chemin de u vers v
est nouveau et passe par
le sommet k !
On ne recalcule rien !
Cours de graphes 1 - Intranet
(0)
M ( u , v ) = max ( ,
)
(k)
(k-1)
M ( u , v )
(k-1)
(k-1)
M ( u , k ) * M ( k , v )
(n)
Complexité : Q ( | V |^3 )
Pour k de 1 a | V |
Pour u de 1 a | V |
Pour v de 1 a | V |
M_k ( u , v ) <- . . .
Cours de graphes 1 - Intranet
La vague
Multiplication
Floyd-Warshall
Q ( | E | ) =
O ( | V |^2 )
Q ( | V |^3 *
log( | V | ) )
Q ( | V |^3 )
Connexité
Mieux que la multiplication,
mais la vague est la
plus économique !
Plus courts
Plus légers
Cours de graphes 1 - Intranet