Académique Documents
Professionnel Documents
Culture Documents
Notions de Base
1
A quoi servent les graphes ?
2
Problèmes liés aux graphes
3
Définitions
4
Adjacence, incidence, voisinage, degré
• Deux sommets sont adjacents s’ils sont reliés par une arête ou un arc.
• Deux arêtes (ou arcs) sont adjacentes (ts) si elles (ils) ont un sommet en
commun.
• L’arête xy est incidente aux sommets x et y.
• Le voisinage d’un sommet x est défini par Γ(x) = {y ∈ X | xy ∈ E}.
• Le degré du sommet x est alors d(x) = |Γ(x)| = Card (Γ(x)) (Graphe simple :
absence de boucle)
5
Voisinages extérieurs et intérieurs
x3
x5
x4
7
Clique, Sous graphe, graphe partiel, graphes
isomorphes
• Une clique est un graphe simple pour lequel il existe exactement une arête entre toute paire de
sommets. On la note Kn si n est son nombre de sommets.
• Le sous-graphe SG(Y ) de G = (X, U) engendré par le sous-ensemble de sommets Y ⊂ X est le graphe
dont les sommets sont les éléments de Y et les arcs les éléments de U ayant leurs deux extrémités
dans Y : SG(Y ) = (Y, UY ) avec UY = {u ∈ U|u = (x, y), x, y ∈ Y2}.
• Le graphe partiel GP(V ) de G = (X, U) engendré par le sous-ensemble d’arcs V ⊂ U est le graphe
dont les sommets sont ceux de X et les arcs ceux de V : GP(V ) = (X, V ).
• Le sous-graphe partiel SGP de G = (X, U) engendré par le sous-ensemble de sommets Y ⊂ X et le
sous-ensemble d’arcs V ⊂ U est le graphe partiel GP(V ) du sous-graphe SG(Y ) ou le sous-graphe
SG(Y ) du graphe partiel GP(V ) : SGP = (Y, V ) avec Y ⊂ X et V ⊂ U.
• Deux graphes G = (X, U) et G0 = (X0, U0) sont dits isomorphes s’il existe deux bijections :g : X → X0
et h : U → U0 telles que ∀u = (x, y) ∈ U, h(u) = (g(x), g(y)) ∈ U0.
8
Chaîne et cycle
9
Chemin et circuit
• Un chemin de longueur l allant du sommet x au sommet y est une suite d’arcs
µ[x, y] = (u1, u2, . . . , ul) tels que ∀i ∈ {1, . . . , l − 1}, ui et ui+1 sont adjacents et
l’extrémité terminale de ui est l’extrémité initiale de ui+1. Le sommet x (resp. y)
est appelé l’extrémité initiale (resp. terminale) du chemin µ.
• Un chemin est dit élémentaire s’il ne passe jamais deux fois par le même sommet.
Un chemin est dit simple s’il ne passe jamais deux fois par le même arc.
• Remarque : Un chemin élémentaire de longueur n − 1 (i.e. maximale) est un
chemin hamiltonien. Un circuit est un chemin dont les extrémités initiale et
terminale coïncident. Un circuit élémentaire est un circuit minimal, au sens de
l’inclusion, i.e. ne contenant strictement aucun circuit. Un circuit hamiltonien est
un chemin hamiltonien µ[xi1, xin] = (xi1, xi2, . . . , xin) complété par (xin, xi1).
10
Connexité, composantes connexes
12
Définitions supplémentaires
2 5
Isthme 7
3 4
x3
14
Représentation d’un Graphe : matrice
d’incidence sommets-arcs
• Soit G = (X, U) un graphe orienté sans boucle d’ordre n, la matrice
d’incidence sommets-arcs est une matrice A = (aij(n×m) ) à
coefficients entiers 0, +1 ou −1 telle que chaque colonne correspond
à un arc et chaque ligne à un sommet. Si u = (x, y) est un arc du
graphe G alors la colonne u a tous ses termes nuls sauf :
➢ axu = +1
➢ ayu = −1
15
Matrice d’incidence sommets-arcs de
l’exemple
+1 -1 -1 0 0 0 0 0
-1 +1 0 +1 +1 0 0 0
0 0 +1 -1 0 0 0 0
0 0 0 0 +1 +1 -1 0
0 0 0 0 0 -1 +1 0
16
Matrice d’adjacence
17
Matrice d’adjacence de l’exemple
0 1 0 0 0
1 0 1 1 0
1 0 0 0 0
0 0 0 0 1
0 0 0 1 1
18
Liste d’adjacence
19
Pour
l’implémentation
en Python
20
Le dictionnaire
22
Ajout et suppression d’arcs
>>> G["x1"].add("x5")
>>> G["x1"]
{'x5', 'x2'}
>>> G["x1"].remove("x5")
>>> G["x1"]
{'x2'}
23
Travail à faire pour la prochaine séance