0% ont trouvé ce document utile (0 vote)
28 vues19 pages

Graphes Introduction

Transféré par

imm85594
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues19 pages

Graphes Introduction

Transféré par

imm85594
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Prof.

Taïcir Loukil
Faculté des Sciences Economiques et de
Gestion de Sfax

Cours de graphes et applications

Taicir Loukil

Objectifs du cours

• Apprendre aux étudiants à modéliser des problèmes concrets


à partir d'un certain nombre de modèles de graphes utiles
dans de nombreuses applications en recherche opérationnelle,
aide à la décision et intelligence artificielle.

• Comprendre les principaux algorithmes utilisables pour


résoudre les problèmes posés, savoir les mettre en œuvre de
façon efficace et évaluer leur complexité.

Taicir Loukil
2

1
Plan du cours

• Chapitre I : Principaux algorithmes de résolution du problème de


plus court chemin
• Chapitre II : Programmation dynamique discrète et lien avec le
problème du plus court chemin
• Chapitre III : Algorithme de résolution du problème du flot
maximum
• Chapitre IV :Algorithme Hongrois pour la résolution du problème
d'affectation
• Chapitre V :l'algorithme du simplexe pour résolution du problème
du transport
• Chapitre VI :Problèmes généraux de flot à coût minimum.
Algorithme des arcs non conformes.
Taicir Loukil
3

• Références :
• 1. Fournier, J. C. (2011). Théorie des graphes et
applications: Avec exercices et problèmes. Lavoisier.
• 2. Fournier, J. C. (2007). Graphes et
applications. Hermès science publications-Lavoisier.

Taicir Loukil
4

2
Introduction à la
Théorie des graphes

Taicir Loukil

Origines de la théorie des graphes

Le problème des sept ponts de Königsberg Résolu par Leonhard


Euler en 1736 est à l’origine de la théorie des graphes.

Ce problème consiste à déterminer s'il existe ou non une


promenade dans les rues de Königsberg permettant, à partir
d'un point de départ au choix, de passer une et une seule fois
par chaque pont, et de revenir à son point de départ, étant
entendu qu'on ne peut traverser le Pregel qu'en passant sur
les ponts.

Taicir Loukil
6

3
6

Taicir Loukil

Konigsberg

Taicir Loukil
8

4
Pourquoi les graphes ?

• S’ouvrir à de nouveaux raisonnements, s’entraîner à


avoir un autre regard mathématique
• Montrer des mathématiques non classiques liées à des
problèmes concrets
• Sensibiliser à l’algorithmique
• Ouvrir un grand champ de modélisation conduisant à
des solutions efficaces pour de nombreux problèmes
• Laisser place à l'initiative des étudiants, avec un temps
nécessaire de tâtonnements et d’essais

Taicir Loukil
9

Quelques problèmes…
• Problèmes d’ordonnancement
• Problèmes de flot maximal
• Problèmes d’affectation
• Programmes de transport :dépôts de marchandises, clients avec
besoins, capacité des canaux illimitée (transformations d’arbres…)
• Problème du voyageur de commerce: visite de villes, avec
retour… (chemin hamiltonien de coût minimal)
• Problème du « sac à dos »: n objets, chaque objet ayant une
« utilité », sac de capacité m…
• Etc.

Taicir Loukil
10

5
Définitions et Terminologies
Graphe : Un graphe G est défini par G=(V,U), où V est un ensemble
de sommets et U l’ensemble d'arcs(ou arêtes) ; Un arc (ou arête)
est un couple de sommets, donc, un élément du produit cartésien
VxV

Extrémité d’un arc : soit u = (x, y) un arc, x est dit extrémité


initiale de u et y est dit extrémité finale de u.

Successeur : on dit que y est successeur de x s’il existe un arc ayant


x comme extrémité initiale et y comme extrémité terminale.
L’ensemble des successeurs d’un sommet x est noté U+ (x).
Taicir Loukil
11

• Graphe non orienté : • Graphe orienté :

12 Taicir Loukil

6
• Degré d’un sommet : nombre d’arêtes reliées à ce sommet
Le sommet A est de degré 3 : (B, C et D aussi)

Taicir Loukil
13

Graphe Pondéré : Un graphe pondéré est défini par le


triplet (V,U,C) où C est la fonction de coût de U dans IR.
Par convention Cu représente le coût ou le poids de l’arc
(ou de l’arête) u.
Graphe Connexe : Un graphe connexe est un graphe dont
tout couple de sommets peut être relié par une chaine de
longueur n>=1
Ordre du Graphe : le nombre de sommets du Graphe

Taicir Loukil
14

7
Degré d’un sommet : nombre d’arêtes reliées à ce sommet
Adjacences: Deux arcs sont dits adjacents s'ils ont une extrémité en
commun. Et deux sommets sont dits adjacents si un arc les relie.
Boucle : est un arc qui part d’un sommet vers le même sommet
Chaîne : Une chaine de longueur n est une suite de n arêtes qui
relient un sommet i à un autre j ou à lui- même.
Cycle : Un cycle est une chaine qui permet de partir d’un sommet
et revenir a ce sommet en parcourant une et une seule fois les
autres sommets.
Distance entre deux sommets i et j est la longueur de la chaine la
plus courte qui les relie

Taicir Loukil
15

• CYCLE : On peut partir d’un sommet et revenir a ce sommet


en parcourant une et une seule fois les autres sommets

Taicir Loukil
16

8
 Chemin : c’est une chaine bien orientée
 Circuit : est un cycle "bien orienté", à la fois cycle et chemin.
 Chaine eulérienne: une chaine est dite eulérienne est une chaine
comportant exactement une fois toutes les arêtes du graphe.
 Cycle eulérien : si le sommet de départ d’une chaine eulérienne
et celui d’arrivé on parle de cycle eulérienne
 Graphe eulérien : Un graphe admettant une chaine eulérienne
est dit Graphe eulérien
 Cycle hamiltonien : c’est un cycle passant une seule fois par tous
les sommets d’un graphe et revenant au sommet de départ

17

Un chemin est:

 Élémentaire: s’il ne comporte pas plusieurs fois le même sommet.

 Simple: s’il ne comporte pas plusieurs fois le même arc (arête).

 Eulérien: passe une et une seule fois par chaque arc (arête) du
graphe. Il est simple et il contient tous les arcs (arêtes).

 Hamiltonien: passe une et une seule fois par chaque sommet du


graphe. Il est élémentaire et passe par tous les sommets.

NB. La longueur d’un parcours est égale au nombre d’arcs (d’arêtes)


qui le composent.

Taicir Loukil
18

9
• Chaîne hamiltonienne : Chaîne passant par tous les

sommets d’un graphe ABCD (ABDC, ACBD

aussi)

Taicir Loukil
19

• Chaîne eulérienne : Chaîne passant par toutes les arêtes d’un


graphe (BACBDC)

Taicir Loukil
20

10
Exemple 1: Somme des degrés des sommets d ’un
graphe

Un tournoi d’échec oppose n personnes. Chaque joueur


doit rencontrer tous les autres participants.

Représenter cette situation par un graphe pour :

• n= 4

• n= 5

• n= 6
Combien doit-on prévoir de rencontres ?
Taicir Loukil
21

n=4
n=5
n=6
Propriété : La somme des degrés d’un GNO est égale à deux
fois le nombre d’arêtes.
n = 4 :  d = 4  3 = 12. Il y aura 6 matchs.

n = 5 :  d = 5  4 = 20. Il y aura 10 matchs.

n = 6 :  d = 6  5 = 30. Il y aura 15 matchs.


Taicir Loukil
22

11
• Sous graphe : Soit G = (X, U) un graphe et A  X. Le sous
graphe GA engendré par A est le graphe GA = (A, UA) dont
l’ensemble des sommets est A et l’ensemble des arcs UA sont
les arcs de G joignant deux sommets de A.

• Graphe partiel : soit le graphe G = (X, U), soit U’ un sous


ensemble d’arcs U’ inclus dans U, le graphe partiel G’
engendré par U’ est le graphe ayant même ensemble de
sommets que G et dont l’ensemble des arcs est inclus dans
l’ensemble des arcs de G. G’= (X, U’).

Taicir Loukil
23

Exemple : Existe-t-il un cycle


eulérien ??

CDBCABEC

Taicir Loukil
24

12
Théorème d’Euler (1766)

• Graphe eulérien  Tous les sommets


du graphe ont un degré pair

OUI NON
Taicir Loukil
25

Dictionnaire des précédents


(graphe orienté)

Taicir Loukil

26 Taicir Loukil

13
Matrice d’un graphe orienté
Matrice d’adjacence : Un graphe simple (orienté ou non) peut être
représenté par sa matrice d’adjacence sommets-sommets M = (aij ). M est
une matrice carré n×n où aij est défini comme suit:

ai j =1 si (x ,x )  U et 0 sinon

Taicir Loukil
27

• Liste d’adjacence : U graphe peut être représenté par le


dictionnaire des suivants ou des précédents. Cette représentation
consiste en une table à simple entré où chaque ligne correspond à
un sommet et la liste de ses successeurs ou de ses prédécesseurs

• Matrice d’incidence : soit G un graphe orienté sans boucles


comportant n sommets et m arcs. La matrice d’incidence
sommets- arcs de dimension n×m est défini par M= (bij)

bij =1 si xi est extrémité initiale de Uj

-1 si xi est extrémité terminale de Uj

0 sinon Taicir Loukil


28

14
Connexite-forte connexite
Graphe connexe : Soit G = (X, U) un graphe non orienté. G est dit connexe si 
x, y  X, il existe une chaîne joignant x et y.
Composante connexe : La composante connexe d’un sommet x est l’ensemble
des sommets qui lui sont reliés par une chaine. On note Cs (x) = {y  X/ il
existe une chaîne entre x et y} {x} la composante simplement connexe de x.
Isthme et Point d’articulation : Un isthme (resp. point d’articulation) est une
arête (resp.sommet) dont la suppression augmente le nombre de
composantes connexes.
Graphe fortement connexe : Un graphe orienté est fortement connexe si  x, y
 X, il existe un chemin de x à y et un chemin de y à x.
Composante fortement connexe : La composante fortement connexe d’un
sommet x est Cf(x) = {y  X / il existe un chemin de x vers y et un chemin
de y vers x} U {x}
Taicir Loukil
29

Connexité
• Graphe non
• Graphe connexe :
connexe :
Tous les sommets sont
Il existe des sommets
reliés entre eux
non reliés entre
eux

30 Taicir Loukil

15
Isomorphismes :
Graphes isomorphes : on dit que le graphe non orienté (resp. orienté) G =(X, U)
et G’ = (X’, U’) sont isomorphes s’il existe une correspondance un à un entre les
sommets de G et G’, tel que le nombre d’arêtes (resp. arcs) reliant chaque paire
de sommets dans G est égal au nombre d’arêtes (resp.d’arcs) reliant la paire de
sommets correspondants dans G’. Plus précisément mathématiquement :

Deux graphes G = (X, U) et G’ = (X’, U’) sont dits isomorphes s’il existe une
bijection BX : X => X’ et une bijection BU : U => U’ ayant la propriété suivante:

Soit u  U, (u = (x, y)) alors BU (u) a pour extrémité initiale BX(x) et extrémité
terminale BX(y) Taicir Loukil
31

Coloriage des sommets d’un graphe non orienté

Nombre chromatique :
affecter tous les sommets d’un graphe d’une couleur de telle
sorte que deux sommets adjacents ne portent pas la même
couleur.

Le nombre nécessaire de couleur = Nombre chromatique

Taicir Loukil
32

16
Exemple
Couleur 1 :A , C
couleur 2 : B, D

Nombre chromatique = 2?

Taicir Loukil
33

Application : Planning d’examens


• Une université doit organiser les horaires des examens de
rattrapage. On suppose qu’il y a 7 épreuves à planifier,
numérotées de 1 à 7 :
• Les paires de cours suivantes ont des étudiants en
commun : 1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4,
2 et 5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5
et 6, 5 et 7 et 6 et 7.
• Comment organiser ces épreuves de façon qu’aucun
étudiant n’ait à passer deux épreuves en même temps et
cela sur une durée minimale ?
Taicir Loukil
34

17
Aquariophilie
• A, B, C, D, E, F, G et H désignent huit poissons ; dans
le tableau ci-dessous, une croix signifie que les poissons
ne peuvent cohabiter dans un même aquarium :

Taicir Loukil
35

Problèmes d’ordonnancement
B
3 4 4 E
A 3 C 8 8 2 fin

0 0 3 3 3 10 10
5
5 7 3
3 3 5 2 F

D Dates au plus tôt


Dates au plus tard
Chemin(s) critique(s)

Sommets = tâches à réaliser


Arcs = relation d’antériorité (valuation : durée de la tâche initiale)

Taicir Loukil
36

18
Autres domaines d’application…
• Géographie (cartographie), architecture (plans), linguistique
(sémantique), etc.
• Le WEB (graphe des liens, calcul de pertinence dans les moteurs de
recherche, etc.)
• Graphes « petits mondes » (Kevin Bacon)
• Les réseaux optiques (producteurs-consommateurs, bande passante, etc.)
• Bases de données (dépendances)
• Bases de connaissances
• Techniques de compilation
• Imagerie numérique (scènes, compression)
• Grammaires de graphes (aspects dynamiques)
• Etc.

Taicir Loukil
37

19

Vous aimerez peut-être aussi