0% ont trouvé ce document utile (0 vote)
32 vues23 pages

Cours2 Graph

Ce document présente la théorie des graphes, en commençant par une introduction historique et des définitions fondamentales. Il aborde divers concepts tels que les types de graphes, les chemins, les propriétés, et les représentations, tout en soulignant les applications dans des domaines variés comme la chimie, la biologie et l'informatique. Des exemples et des complexités associées aux représentations des graphes sont également fournis.

Transféré par

safae eljaafari
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)
32 vues23 pages

Cours2 Graph

Ce document présente la théorie des graphes, en commençant par une introduction historique et des définitions fondamentales. Il aborde divers concepts tels que les types de graphes, les chemins, les propriétés, et les représentations, tout en soulignant les applications dans des domaines variés comme la chimie, la biologie et l'informatique. Des exemples et des complexités associées aux représentations des graphes sont également fournis.

Transféré par

safae eljaafari
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

Théorie

des graphes
Maximilien Colange
Planches de Souheib Baarir

THEG 1 colange@[Link]
I
Introduction
&
Définitions

THEG 2 colange@[Link]
Historique

1735 Leonhard Euler expose une solution formelle au


problème des 7 ponts de Königsberg :
« Lors d'une promenade, est-il possible de passer sur
tous les ponts de la ville une et une seule fois ? »

THEG 3 colange@[Link]
Domaines d'applications

Chimie :
Modélisation des molécules (A. Cayley en 1860)
Mécanique :
Treillis
Biologie :
Réseau de neurones
Séquencement du génome
Sciences sociales :
Modélisation des relations
Et bien sûr dans divers domaines de l'informatique

THEG 4 colange@[Link]
Définition : graphe

Un graphe orienté G est un couple (S,A) où :


S un ensemble fini : ensemble des sommets
A une relation binaire sur S : ensemble des arcs

Un graphe NON orienté G est un couple (S,A) :


S un ensemble fini : ensemble des sommets
A paires non ordonnées : ensemble des arêtes

THEG 5 colange@[Link]
Exemple : graphe
● Cas orienté :
1 S = {1,2,3}
A ={(1,2) , (3,2) , (3,3)}

2 3
● Cas non-orienté :
1 S = {1,2,3}
A ={{1,2} , {3,2} , {3}}

2 3

THEG 6 colange@[Link]
Successeurs, prédécesseurs et voisins

Les successeurs d'un sommet x sont définis par


l'ensemble : δ+(x) ={y | (x,y) ∈ A}

Les prédécesseurs d'un sommet x sont définis par


l'ensemble : δ-(x) ={y | (y,x) ∈ A}

Les voisins d'un sommet x sont définis par l'ensemble :


δ(x) = δ-(x) ∪ δ+(x)

Note : dans le cas non orienté, δ(x) = δ-(x) = δ+(x)

THEG 7 colange@[Link]
Degré d'un sommet

Dans un graphe :
On appelle degré sortant d'un sommet :
le nombre d'arcs qui partent de ce sommet (d+(x) = |δ+(x)|)
On appelle degré entrant d'un sommet :
le nombre d'arcs qui arrivent à ce sommet (d-(x) = |δ-(x)|)
On appelle degré d'un sommet :
la somme des degrés entrant et sortant du sommet
(d(x) = |δ(x)|)

Note : dans le cas non orienté, d(x) = d-(x) = d+(x)

THEG 8 colange@[Link]
Chemin (1/2)

Un chemin d'un sommet u au sommet u' est une


séquence de sommets (v0,v1,v2, ... vk-1,vk ) tels que :
u = v0 , u' = vk et ∀ i, (vi-1 ,vi ) ∈ A

On dit que ce chemin a une longueur k

Ce chemin est élémentaire ssi ∀ i, j, vi ≠ vj

Un sommet u est accessible depuis un sommet v ssi :


il existe un chemin du sommet u au sommet v

THEG 9 colange@[Link]
Chemin (2/2)

Dans un graphe orienté :


Un chemin (v0,v1, ... ,vk ) forme un circuit ssi v0= vk
Ce circuit est élémentaire ssi ∀ i, j  [1,...,k-1], vi ≠ vj
Une boucle est un circuit de longueur 1
Un graphe est acyclique ssi il ne contient aucun circuit

Dans un graphe non orienté :


Un chemin (v0,v1, ... ,vk ) forme un cycle ssi ( v0= vk )
Un graphe est acyclique ssi il ne contient aucun cycle

THEG 10 colange@[Link]
Propriétés

On dit d'un graphe qu'il est :


Réflexif ssi :∀ ui  S , (ui ,ui )  A

Irréflexif ssi :∀ ui  S , (ui ,ui ) ≠ A

Transitif ssi :
∀ ui , uj , uk  S , (ui ,uj )  A ∧ (uj ,uk )  A ⇒ (ui ,uk )  A

On dit d'un graphe orienté qu'il est :


Symétrique ssi :∀ ui ,uj  S , (ui ,uj )  A ⇒ (uj ,ui )  A

Anti-Symétrique (Assymétrique) ssi :


∀ ui , uj  S , (ui ,uj )  A ∧ (uj ,ui )  A ⇒ ui = uj

THEG 11 colange@[Link]
Connexité

On dit d'un graphe non orienté qu'il est :


Connexe ssi pour toute paire de sommets (u,v)
il existe une chaîne entre les sommets u et v.
Complet ssi tous les sommets sont «reliés» 2 à 2 :
∀ u,v  S , (u,v )  A
On dit d'un graphe orienté qu'il est :
Connexe ssi le graphe non-orienté correspondant est
connexe
Fortement connexe ssi pour tout (u,v) il existe un
chemin de u à v et un chemin de v à u
Complet ssi tous les sommets sont «reliés» 2 à 2 :
∀ u,v  S , ( (u,v )  A ) ∨ ((v,u)  A )

THEG 12 colange@[Link]
K-Connexe

Un graphe non-orienté est k-connexe ssi :


il reste connexe après suppression d'un ensemble
quelconque de k-1 arêtes et s'il existe un ensemble
de k arêtes qui déconnecte le graphe.

Un graphe orienté est k-connexe ssi :


le graphe non-orienté correspondant est k-connexe

Cette notion est utilisée :


en électronique pour le calcul de la fiabilité
dans l'étude de jeux de stratégie (cut and connect).

THEG 13 colange@[Link]
Exemple

Ce graphe orienté est-il :


1 Réflexif ?
Transitif ?
3 2 Antisymétrique ?
Connexe ?
4 Complet ?

ATTENTION :
Dans un graphe orienté :
Complet n'implique pas Fortement connexe.
Ex : il n'y a pas de chemin pour aller de 2 a 1

THEG 14 colange@[Link]
Graphes remarquables (1/2)

Certains graphes portent des noms particuliers :


Biparti = graphe qui peut être partitionné en
deux sous-ensembles de sommets S1 et S2 tels que
deux sommets du même ensemble ne sont jamais
voisins.
Hypergraphe = graphe non orienté où chaque
arête est une hyperarête qui relie un sommet à
un ensemble de sommets.
Forêt = graphe non orienté acyclique.
Arbre = graphe connexe non orienté acyclique.

THEG 15 colange@[Link]
Graphes remarquables (2/2)

Graphe valué (pondéré) = c'est un graphe


(orienté ou non) G =(S, A) muni d'une application

p: A→ℝ
( x , y) → p( x , y)
4 2
A B C D

12 2 3 Valuation (ou Poids)


-4 7 1 8 de l'arc (x,y)
-10 -3 4
E F G H

THEG 16 colange@[Link]
Représentation d'un graphe

Il existe deux façons de représenter un graphe (S, A) :

Liste d’adjacence : pour les graphes peu denses


2
Card (A) << ( Card (S) )

Matrice d'incidence : pour les graphes denses


2
Card (A) ≃ ( Card (S) )

THEG 17 colange@[Link]
Liste d'adjacence

Pour chaque sommet u  S on a une liste d'adjacence :


Adj [u] liste des sommets v  S tel que (u,v )  A

1
1 2 3

2 3 5
2 3 3 4

4 5

5 3
5 4

THEG 18 colange@[Link]
Liste d'adjacence

Pour chaque sommet u  S on a une liste d'adjacence :


Adj [u] liste des sommets v  S tel que (u,v )  A
1
1 2 3

2 1 3 5
2 3 3 1 2 52 24

4 5 3

5 2 3 4
5 4
NB : Si le graphe est pondéré, on rajoute un
champ avec le poids de l'arc (arête).

THEG 19 colange@[Link]
Liste d'adjacence : quelques complexités

● Stockage : Θ(|S|+|A|)

● Test d’existence arc : O(max{δ +(s) | s ∈ S})

● Parcours des arcs incidents à un sommet : O(max{δ +(s) | s ∈ S})

● Trouver un voisin : Θ( 1 )

THEG 20 colange@[Link]
Matrice d'adjacence

Pour un graphe orienté :


{
∀ i , j∈S a ij= 1 si i , j ∈ A
0 sinon

{ }
1
0 1 1 0 0
0 0 1 0 1
2 3
Mat S , A= 0 0 0 1 0
0 0 0 0 1
0 0 1 0 0
5 4

THEG 21 colange@[Link]
Matrice d'adjacence

Pour un graphe non orienté : ∀i , j ∈S a ij = {


1 si (i , j)∈ A
0 sinon

{ }
1 0 1 1 0 0
1 0 1 0 1
2 3
Mat S , A= 1 1 0 1 1
0 0 1 0 1
0 1 1 1 0
5 4
NB : Si le graphe est pondéré, aij = p(i,j)

THEG 22 colange@[Link]
Matrice d'adjacence : quelques complexités

● Stockage : Θ(|S|2)

● Test d’existence arc : Θ(1)

● Parcours des arcs incidents à un sommet : Θ(|S|)

● Trouver un voisin : O(|S|2)

THEG 23 colange@[Link]

Vous aimerez peut-être aussi