Académique Documents
Professionnel Documents
Culture Documents
Département de Physique
MST ESE
Alhabib MOUMNI
A.U. 2022/2023
5 Algorithmes (Mini-projets)
5 Algorithmes (Mini-projets)
Le réseau routier d’un pays peut être représenté par un graphe dont les
sommets sont les villes. Si l’on considère que toutes les routes sont à
double sens, on utilisera un graphe non orienté et on reliera par une arête
tout couple de sommets correspondant à deux villes reliées par une route
(si l’on considère en revanche que certaines routes sont à sens unique, on
utilisera un graphe orienté). Ces arêtes pourront être valuées par la lon-
gueur des routes correspondantes.
L’action d’un système embraqué sur un appareil peut être représenté par
un graphe dont les sommets représentent les états possibles de l’appareil.
L’orientation du graphe dépend de la possibilité de passage d’un état vers
un autre. Les valeurs prises par les arêtes représentent l’énergie ainsi que
le temps consommé l’ors du passage d’un état vers un autre.
5 Algorithmes (Mini-projets)
Un graphe G est dit non orienté si les couples (si , sj ) ∈ A ne sont pas
ordonnées. Dans ce cas, le couple (si , sj ) est appelé arête et on le
représente par si − sj .
Un graphe non orienté est dit simple s’il ne comporte pas de boucle
et s’il ne comporte jamais plus qu’une arête entre deux sommets.
Un graphe non orienté qui n’est pas simple est appelé multi-graphe.
S = {1, 2, 3, 4, 5, 6},
A = {(1, 2), (2, 4), (2, 5), (4, 1), (4, 4), (4, 5), (5, 4), (6, 3)}.
5 Algorithmes (Mini-projets)
Remarque
Dans le cas de graphes non orientés, la matrice est symétrique par rapport
à sa diagonale descendante. Dans ce cas, on peut ne mémoriser que la
composante triangulaire supérieure de la matrice d’adjacence.
Le test de l’existence d’un arc ou d’une arête avec une représentation par
matrice d’adjacence est immédiat (il suffit de tester directement la case
correspondante de la matrice). En revanche, le calcul du degré d’un som-
met, ou l’accès à tous les successeurs d’un sommet, nécessitent le par-
cours de toute une ligne (ou toute une colonne) de la matrice, quel que
soit le degré du sommet. D’une façon plus générale, le parcours de l’en-
semble des arcs/arêtes nécessite la consultation de la totalité de la ma-
trice, et prendra un temps de l’ordre de n2 . Si le nombre d’arcs est très
inférieur à n2 , cette représentation est donc loin d’être optimale.
Dans le cas de graphes non orientés, pour chaque arête (si , sj ), on aura sj
qui appartiendra à la liste chainée de T [si ], et aussi si qui appartiendra à
la liste chainée de T [sj ].
5 Algorithmes (Mini-projets)
où (
0, si a = b = 0,
a⊕b =
1, sinon.
Le produit booléen M ⊗ N est la matrice P donnée par :
où (
1, si a = b = 1,
a⊗b =
0, sinon.
Théorème
Soit G un graphe d’ordre n avec une matrice d’adjacence A et p ∈ N∗ . On
considère la notation suivante
A(p) = A ⊗ · · · ⊗ A.
p fois
Alors
(
(p) 1, si il existe un chemin de longueur p entre les sommets i et j
Aij =
0, sinon.
Théorème
Soit G un graphe d’ordre n avec une matrice d’adjacence A et p ∈ N∗ . On
considère la notation suivante Ap = A × · · · × A. Alors
p fois
Apij = k,
où S = {a, b, c, d, e, f , g }.
Donner la matrice d’adjacence du graphe G
Calculer
a b c d e f g
a 0 0 1 1 1 0 1
b 1 0 1 0 0 0 0
c 0 1 0 1 1 1 1
M + M2 =
d 1 1 0 0 0 0 0
e 0 0 0 0 0 1 1
f 0 0 0 0 1 0 1
g 0 0 0 0 1 1 0
a b c d e f g
a 0 1 1 1 1 1 1
b 1 0 1 1 1 0 1
c 1 1 0 1 1 1 1
M + M2 + M3 =
d 1 1 1 0 0 0 0
e 0 0 0 0 1 1 1
f 0 0 0 0 1 1 1
g 0 0 0 0 1 1 1
a b c d e f g
a 1 1 1 1 1 1 1
b 1 1 1 1 1 1 1
c 1 1 1 1 1 1 1
M + M2 + M3 + M4 =
d 1 1 1 1 1 0 1
e 0 0 0 0 1 1 1
f 0 0 0 0 1 1 1
g 0 0 0 0 1 1 1
5 Algorithmes (Mini-projets)