Vous êtes sur la page 1sur 75

ENSEIGNEMENTS TRANSVERSES SCIENTIFIQUES

3ÈME ANNÉE - CYCLE INGÉNIEUR

LA THÉORIE DES GRAPHES


Fàdel Hamdan
fadel.hamdan@me.com
UN PEU D’HISTOIRE
UN PEU D’HISTOIRE

Königsberg, la ville à l’origine de la théorie des graphes


LES 7 PONTS DE KÖNIGSBERG

La ville russe de Königsberg (aujourd'hui Kaliningrad), est construite autour de


deux îles situées sur La Pregolia et reliées entre elles par un pont. Six autres
ponts relient les rives de la rivière à l'une ou l'autre des deux îles.
LES 7 PONTS DE KÖNIGSBERG
Est-il possible de trouver une
promenade 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 ?
LES 7 PONTS DE KÖNIGSBERG

Nord

Île 1 Île Île 2

Sud
LES 7 PONTS DE KÖNIGSBERG

Nord B

Île
A 1 Île Île 2D

Sud C
LES 7 PONTS DE KÖNIGSBERG

À VOUS DE JOUER :
Essayer de résoudre le problème des 7 ponts A D

C
LES 7 PONTS DE KÖNIGSBERG

À VOUS DE JOUER :
Essayer de résoudre le problème des 7 ponts A D

En 1736, un homme prétend avoir trouvé la


solution : il s’agit de Léonard Euler,
mathématicien suisse à l’origine de la C
théorie des graphes.
LA THÉORIE DES GRAPHES
Un graphe est un ensemble de points appelés nœuds et de
segments appelés arêtes reliant ces nœuds par paires

A
E
D B

F
C
LA THÉORIE DES GRAPHES
Autre définition : Un graphe G est la donnée d’un triplet (S, A, φ) où S et A sont deux
ensembles non vides et φ une application qui associe à tout élément de A une « paire »
d’éléments de S. Les éléments de A sont appelés les arêtes. Ceux de S, les sommets.

A
E
D B

F
C
LA THÉORIE DES GRAPHES
Un graphe peut être orienté : les arêtes reliant les nœuds
sont des flèches et ont donc un sens.

A
E
D B

F
C
LA THÉORIE DES GRAPHES
Ces arêtes peuvent aussi être pondérées, pour représenter une distance
entre nœuds. Cette distance est appelée « poids de l’arête ».

6 A
3
E
2 B
6
D 11

1
7
F 3
C
LA THÉORIE DES GRAPHES
Un chemin dans un graphe orienté pondéré est définit comme une suite
de nœuds reliés deux à deux par des arêtes. Ce chemin possède une
longueur : c’est la somme des longueurs des arêtes de la suite.

6 A
3
E
2 B
6
D 11

1 Chemin E F C A
7
F 3 Longueur = 6 + 3 + 11 = 20
C
LA THÉORIE DES GRAPHES
Où peut-on trouver des graphes dans la vie de tous les jours ?

À VOUS DE JOUER :
Essayer de citer des exemples
d’utilisation des graphes
A
E
D B

F
C
LA THÉORIE DES GRAPHES
Un graphe peut servir à représenter un réseau informatique, un réseau
de transports en commun, un réseau de capteurs, une carte…
LA THÉORIE DES GRAPHES
Un graphe peut servir à représenter un réseau informatique, un réseau
de transports en commun, un réseau de capteurs, une carte…
LA THÉORIE DES GRAPHES
Un graphe peut servir à représenter un réseau informatique, un réseau
de transports en commun, un réseau de capteurs, une carte…
L'objectif principal du flooding est de transmettre un
Algorithme
message depuis une source vers tous les nœuds d'un
FLOODING réseau sans connaître la topologie complète du réseau.
Inondation en Français

L'émetteur envoie le message à tous les nœuds voisins avec


lesquels il est directement connecté.
Chaque nœud récepteur vérifie si le message reçu a déjà été reçu. Si
ce n'est pas le cas, il traite le message et le marque comme « vu ».
Chaque nœud récepteur qui n'est pas la source répète le processus en
envoyant le message à tous ses nœuds voisins, à l'exception de celui à
partir duquel il a reçu le message.
Ce processus se poursuit jusqu'à ce que le message ait atteint tous les
nœuds du réseau ou qu'un certain critère d'arrêt soit atteint. Le critère
d'arrêt peut être un nombre maximum d'itérations ou la détection
d'une condition spécifique.

Trajet de la requête
L’ALGORITHME DU FLOODING
Discussions : Fan ? Pas fan ?
Avantages ? Inconvénients ?
LA THÉORIE DES GRAPHES
Un graphe peut servir à représenter un réseau informatique, un réseau
de transports en commun, un réseau de capteurs, une carte…

Nord B

Île
A 1 Île Île 2D

Sud C
LE GRAPHE EULÉRIEN
Définition d’un graphe eulérien : un graphe que l'on peut parcourir en
partant d'un sommet quelconque et en empruntant exactement une fois
chaque arête pour revenir au sommet de départ. Un tel graphe a alors la
propriété qu'il correspond à un dessin qu'on peut tracer sans lever le
crayon.

Théorème d'Euler (1736) : Un graphe non orienté est eulérien si et


seulement si chacun de ses sommets est incident à un nombre pair
d'arêtes.
LE GRAPHE EULÉRIEN
Théorème d'Euler (1736) : Un graphe non orienté est eulérien si et
seulement si chacun de ses sommets est incident à un nombre pair
d'arêtes.

Sommet d’un graphe

Arête d’entrée
Arête de sortie
LE GRAPHE EULÉRIEN
Théorème d'Euler (1736) : Un graphe non orienté est eulérien si et
seulement si chacun de ses sommets est incident à un nombre pair
d'arêtes.

Sommet d’un graphe

Arête d’entrée
Arête de sortie
LE GRAPHE EULÉRIEN
Théorème d'Euler (1736) : Un graphe non orienté est eulérien si et
seulement si chacun de ses sommets est incident à un nombre pair
d'arêtes.

Sommet d’un graphe

Arête d’entrée
Arête de sortie
LES 7 PONTS DE KÖNIGSBERG

Est-il possible de trouver une


promenade permettant à partir B
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 ?
A D

Oui ? Non ?
Peut-être ?
C
LES 7 PONTS DE KÖNIGSBERG

Est-il possible de trouver une


promenade permettant à partir B
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 ?
A D

NON !
C
LES 7 PONTS DE KALININGRAD
5 EN 2023 !

À VOUS DE JOUER :
Le problème a-t-il une solution aujourd’hui ?
LES 7 PONTS DE KALININGRAD
5 EN 2023 !

À VOUS DE JOUER :
Le problème a-t-il une solution aujourd’hui ?
LE GRAPHE CONNEXE
Une chaîne est une séquence qui commence et qui se termine par un sommet,
alternant sommets et arêtes de telle manière que chaque arête soit encadrée
par ses extrémités.

Définition d’un graphe connexe : On dit qu’un graphe est connexe


si pour tout couple de sommets (si, sj) (i ≠ j), il existe une chaîne
joignant si à sj.

À VOUS DE JOUER :
Donner des exemples de graphes connexes et de graphes non connexes
UN EXEMPLE DE GRAPHE CONNEXE
On peut atteindre n’importe
quelle station de métro ou de
tram depuis n’importe quelle
autre station

Correspondance à Jean Jaurès


(lignes A et B)
Correspondance à Arènes
(lignes A et T1)

Correspondance à Palais de Justice


(lignes B et T1)
UN EXEMPLE DE GRAPHE NON CONNEXE

On ne peut pas relier l’ordinateur jaune à l’ordinateur rouge

EN QUOI CELA PEUT ÊTRE UTILE ?


UN EXEMPLE DE GRAPHE NON CONNEXE

Mode
confinement

On ne peut pas relier l’ordinateur jaune à l’ordinateur rouge


Pour éviter toute tentative de piratage, des ordinateurs avec des données
sensibles sont bannis du réseau Internet. Ils ne sont pas reliés aux autres
ordinateurs, ce qui explique la forme non connexe du graphe.
UN PEU DE RÉSEAU

Une adresse IPv4 (notation décimale à point)

172 . 16 . 254 . 1

10101100 . 00010000 . 11111110 . 00000001

1 octet = 8 bits

32 bits ( 4 * 8 ), ou 4 octets

Notions de LAN, Adresses IP, IPV4, IPV6, Adresses MAC, Masque de sous réseau…
UN PEU DE RÉSEAU

Face à la pénurie des IPv4 (et à


leur prix), Free a mis en place un
système de partage des adresses
IP entre 4 abonnés, comme donc
une adresse d’immeuble partagée
avec 4 logements. On a donc une
IP publique fixe mais partagée.
ARBRES ET FORÊTS

Un arbre est un graphe non orienté, acyclique et connexe.

. Un ensemble d'arbres est appelé une forêt.


Compans Caffarelli
Jean Jaurès Canal du Midi

Jeanne d’Arc
Capitole
Marengo SNCF

Ceci est une forêt.


FACES D’UN GRAPHE
On appelle faces ou régions d’un graphe les régions du plan délimitées par
ses arêtes.

À VOUS DE JOUER :
Combien de faces, ou
de régions, peut-on
compter ?
FACES D’UN GRAPHE
On appelle faces ou régions d’un graphe les régions du plan délimitées par
ses arêtes.

Dans le graphe ci-contre, on dénombre une face


rouge, une face jaune et une face verte.

Mais il ne faut pas oublier également la face


correspondant à la région extérieure, infinie.

Il y a donc quatre faces.


DEGRÉ D’UNE FACE
On appelle degré d’une face le nombre d’arêtes avec lesquelles elle est en
contact, en comptant double celles qu’elle ne partage pas avec d’autres faces

À VOUS DE JOUER :
Quel est le degré de
chaque face ?
DEGRÉ D’UNE FACE
On appelle degré d’une face le nombre d’arêtes avec lesquelles elle est en
contact, en comptant double celles qu’elle ne partage pas avec d’autres faces

La face rouge est en contact avec une arête. Elle


est donc de degré 1.
La face jaune est en contact avec trois arêtes. Elle
est donc de degré 3.
La face verte est en contact avec cinq arêtes, dont
une qu’elle ne partage pas avec d’autres faces. Elle
est donc de degré 6.
La face extérieure est en contact avec six arêtes.
Elle est donc de degré 6.
DEGRÉ D’UNE FACE
On appelle degré d’une face le nombre d’arêtes avec lesquelles elle est en
contact, en comptant double celles qu’elle ne partage pas avec d’autres faces

La face rouge est en contact avec une arête. Elle


est donc de degré 1.
La face jaune est en contact avec trois arêtes. Elle
est donc de degré 3.
La face verte est en contact avec cinq arêtes, dont
une qu’elle ne partage pas avec d’autres faces. Elle
est donc de degré 6.
La face extérieure est en contact avec six arêtes.
Elle est donc de degré 6.

Théorème : La somme des degrés des faces est égale au double du nombre d’arêtes.
(En effet, chaque arête séparant deux faces est comptée une fois par chacune de ces faces. Et chaque arête se trouvant à l’intérieur
d’une face est comptée double par cette unique face)
L’ÉNIGME DE L'EAU, DU GAZ ET DE L’ÉLECTRICITÉ
Un lotissement de trois maisons doit être équipé d'eau, de gaz et d'électricité. La
règlementation interdit de croiser les canalisations pour des raisons de sécurité.
Comment faut-il faire ?

À VOUS DE JOUER :
Essayer d’acheminer
l’eau, le gaz et
l’électricité aux trois
GAZ EAU ÉLECTRICITÉ
maisons

Vous avez 6h

MAISON A MAISON B MAISON C


L’ÉNIGME DE L'EAU, DU GAZ ET DE L’ÉLECTRICITÉ
Un lotissement de trois maisons doit être équipé d'eau, de gaz et d'électricité. La
règlementation interdit de croiser les canalisations pour des raisons de sécurité.
Comment faut-il faire ?

Une solution en 2D n’existe pas, en 3D si !


LE GRAPHE PLANAIRE

Définition d’un graphe planaire : un graphe planaire est un graphe qui a


la particularité de pouvoir se représenter sur un plan sans qu'aucune
arête n'en croise une autre.
Relation d'Euler (1736) : Un graphe planaire connexe doit satisfaire la
condition suivante :
S+R=A+2
Avec : S le nombre de sommets, R le nombre de régions et A, le nombre
d’arrêtes
Lorsqu'on compte le nombre de régions d'un graphe planaire, il ne faut pas oublier la région extérieure (celle qui est infinie)
VÉRIFICATION DE LA RELATION D’EULER

Combien d’arêtes ?
VÉRIFICATION DE LA RELATION D’EULER

Combien d’arêtes ?
9
VÉRIFICATION DE LA RELATION D’EULER

Combien d’arêtes ?
9
Combien de régions ?
VÉRIFICATION DE LA RELATION D’EULER

Combien d’arêtes ?
9
Combien de régions ?
6
VÉRIFICATION DE LA RELATION D’EULER

Combien d’arêtes ?
9
Combien de régions ?
6
Combien de sommets ?
VÉRIFICATION DE LA RELATION D’EULER

Combien d’arêtes ?
9
Combien de régions ?
6
Combien de sommets ?
5
VÉRIFICATION DE LA RELATION D’EULER

Combien d’arêtes ?
9
Combien de régions ?
6
Combien de sommets ?
5
S+R=A+2

6 + 5 = 9 + 2 = 11 :)
C’est bien un graphe planaire !
L’ÉNIGME DE L'EAU, DU GAZ ET DE L’ÉLECTRICITÉ

Combien de sommets ?
6 (3 usines et 3 maisons)
Combien d’arêtes ?
9 (3 chemins x 3 maisons)
Pour que le graphe soit
planaire, il faudrait 5 régions

S+R=A+2
L’ÉNIGME DE L'EAU, DU GAZ ET DE L’ÉLECTRICITÉ
Quel est le degré des faces / régions ?
Elles ne peuvent pas Elles ne peuvent pas non
être de degré 1, car plus être de degré 2, car
le graphe ne cela supposerait qu’une
comporte pas de maison soit reliée deux
boucle. fois à la même usine.

Elles ne peuvent pas non plus être de degré 3,


car le graphe ne comporte pas de triangle : si
tel était le cas, deux maisons ou deux usines
seraient reliées l’une à l’autre.
Le degré de chacune des faces est donc
supérieur ou égal à 4.
La somme des degrés des faces (au moins 4 × 5 = 20) est égale à
deux fois le nombres d’arêtes (2 × 9 = 18) CONTRADICTION !
LES GRAPHES ET LES CARTES ÉLECTRONIQUES

Le problème des graphes


plantaires se pose
également lors du routage
des cartes électroniques !

Il faut essayer de réduire le nombre


de signaux qui se croisent au
minimum. Chaque croisement de
signaux nécessitera une transition de
couche à l'aide de vias.

En électronique, dans un circuit imprimé, un via est un trou métallisé qui permet
d'établir une liaison électrique entre deux ou plusieurs couches.
MATRICE D’ADJACENCE
Soit n un entier naturel non nul. On La matrice d'adjacence de ce graphe
considère un graphe d’ordre n est la matrice carrée de taille n, dont le
(orienté ou non) dont les sommets coefficient ai,j est égal au nombre
sont numérotés de 1 à n. d'arêtes partant du sommet i pour
arriver au sommet j.

1
À VOUS DE JOUER :
Donner la matrice
d’adjacence de ce
2 graphe

3
MATRICE D’ADJACENCE
Soit n un entier naturel non nul. On La matrice d'adjacence de ce graphe
considère un graphe d’ordre n est la matrice carrée de taille n, dont le
(orienté ou non) dont les sommets coefficient ai,j est égal au nombre
sont numérotés de 1 à n. d'arêtes partant du sommet i pour
arriver au sommet j.

1
0 1 1
0 0 1
2 0 0 0
3
MATRICE D’ADJACENCE
Soit n un entier naturel non nul. On La matrice d'adjacence de ce graphe
considère un graphe d’ordre n est la matrice carrée de taille n, dont le
(orienté ou non) dont les sommets coefficient ai,j est égal au nombre
sont numérotés de 1 à n. d'arêtes partant du sommet i pour
arriver au sommet j.

1
À VOUS DE JOUER :
Donner la matrice
d’adjacence de ce
2 graphe non orienté

3
MATRICE D’ADJACENCE
Soit n un entier naturel non nul. On La matrice d'adjacence de ce graphe
considère un graphe d’ordre n est la matrice carrée de taille n, dont le
(orienté ou non) dont les sommets coefficient ai,j est égal au nombre
sont numérotés de 1 à n. d'arêtes partant du sommet i pour
arriver au sommet j.

1
0 1 1
1 0 1
2 1 1 0
3
MATRICE D’ADJACENCE
Soit n un entier naturel non nul. On La matrice d'adjacence de ce graphe
considère un graphe d’ordre n est la matrice carrée de taille n, dont le
(orienté ou non) dont les sommets coefficient ai,j est égal au nombre
sont numérotés de 1 à n. d'arêtes partant du sommet i pour
arriver au sommet j.

1
0 1 1
REMARQUES ?
1 0 1 IMPRESSIONS ?
2 1 1 0
3
MATRICE D’ADJACENCE
Soit n un entier naturel non nul. On La matrice d'adjacence de ce graphe
considère un graphe d’ordre n est la matrice carrée de taille n, dont le
(orienté ou non) dont les sommets coefficient ai,j est égal au nombre
sont numérotés de 1 à n. d'arêtes partant du sommet i pour
arriver au sommet j.

1
La matrice
0 1 1
d'adjacence d'un
graphe non orienté 1 0 1
2 est symétrique !
1 1 0
3
MATRICE D’ADJACENCE
La matrice d'adjacence de ce graphe est la matrice carrée de taille n, dont
le coefficient ai,j est égal au nombre d'arêtes partant du sommet i pour
arriver au sommet j.

Propriété : Le terme de la i-ème ligne et de la j-ième colonne de la matrice Mk


donne le nombre de ou de chemins de longueur k reliant le sommet i au
sommet j.
1
À VOUS DE JOUER : 0 1 1
Trouver le nombre de
chemins de longueur 1 0 1
2 pour chacun des
2 noeuds.
1 1 0
3
MATRICE D’ADJACENCE
La matrice d'adjacence de ce graphe est la matrice carrée de taille n, dont
le coefficient ai,j est égal au nombre d'arêtes partant du sommet i pour
arriver au sommet j.

Propriété : Le terme de la i-ème ligne et de la j-ième colonne de la matrice Mk


donne le nombre de ou de chemins de longueur k reliant le sommet i au
sommet j.
1 2
0 1 1 2 1 1
1 0 1 = 1 2 1
2 1 1 0 1 1 2
3
UN PEU DE GÉOGRAPHIE
UN PEU DE GÉOGRAPHIE
UN PEU DE GÉOGRAPHIE

La carte de France peut être Lille

représentée sous la forme


Paris
d’un graphe Strasbourg

Nantes

Lyon

Bordeaux
Nice

Toulouse
Marseille
Toulon
UN PEU DE GÉOGRAPHIE

La carte de France peut être Lille

représentée sous la forme


350
225
Paris
d’un graphe pondéré 400
Strasbourg
385

465 470
Nantes

300
Lyon
550

420
Bordeaux 320
Nice
245
320 200
Toulouse
Marseille 70 Distances données en km
65
Toulon
TROUVER LE CHEMIN LE PLUS COURT

Lille
350
225
Paris
400
Strasbourg
385

465 470
Nantes

300
Lyon
550

420
Bordeaux 320
Prince PETIT, élève ingénieur de Nice
245
320 200
CESI Toulouse, fait son alternance à Toulouse
Marseille 70
Strasbourg… Quel chemin doit-il 65
Toulon
emprunter pour y aller le plus
rapidement possible ?
LA SOLUTION LA PLUS « BRUTE »

Lille
Un algorithme pour tenter TOUTES
350
les solutions possibles… 225
Paris
400
Strasbourg
À VOUS DE JOUER : 385
Quels sont les avantages ou les
465
inconvénients de cette solution ? Nantes 470

300
Lyon
550

420
Bordeaux 320
Nice
245
320 200
Toulouse
Marseille 70
65
Toulon
L’ALGORITHME « GLOUTON »

Lille
À chaque étape, choisir le prochain
350
chemin le plus court. 225
Paris
400
Strasbourg
À VOUS DE JOUER : 385
Quels sont les avantages ou les
465
inconvénients de cette solution ? Nantes 470

300
Lyon
550

420
Bordeaux 320
Nice
245
320 200
Toulouse
Marseille 70
65
Toulon
LA COMPLEXITÉ DES ALGORITHMES
L'analyse de la complexité d'un algorithme consiste en l'étude formelle de la
quantité de ressources (par exemple de temps ou d'espace) nécessaire à
l'exécution de cet algorithme.

Exemples d’algorithmes « complexes » :

Un algorithme pour trouver le Algorithme


chemin le plus court qui tente FLOODING
Inondation en Français
TOUTES les solutions possibles…

OK pour un faible nombre de


possibilités / de capteurs… mais
est-ce raisonnable pour votre
utilisation du GPS ?
LA COMPLEXITÉ DES ALGORITHMES
L'analyse de la complexité d'un algorithme consiste en l'étude formelle de la
quantité de ressources (par exemple de temps ou d'espace) nécessaire à
l'exécution de cet algorithme.
2 critères : temps d’exécution et espace mémoire
Le temps d’exécution est la durée
(en secondes, minutes, etc.)
nécessaire au programme pour
s’exécuter.

Le même programme qui traite les stations de


métro de Toulouse sur un Mac M2 Pro traite des
Mais le temps d’exécution dépend de la informations aérospatiales sur un PC des années
machine, du système d’exploitation, du 2000 (Windows XP)

langage et de la donnée… À VOUS DE JOUER :


Avez-vous une solution ?
LA COMPLEXITÉ DES ALGORITHMES
L'analyse de la complexité d'un algorithme consiste en l'étude formelle de la
quantité de ressources (par exemple de temps ou d'espace) nécessaire à
l'exécution de cet algorithme.
2 critères : temps d’exécution et espace mémoire
Le temps d’exécution est la durée
(en secondes, minutes, etc.)
nécessaire au programme pour
s’exécuter.

Le même programme qui traite les stations de


métro de Toulouse sur un Mac M2 Pro traite des
Mais le temps d’exécution dépend de la informations aérospatiales sur un PC des années
machine, du système d’exploitation, du 2000 (Windows XP)

langage et de la donnée… Raisonner en nombre


d’opérations élémentaires !
TROUVER LE CHEMIN LE PLUS COURT

Lille
350
225
Paris
400
Strasbourg
385

465 470
Nantes

300
Lyon
550

420
Bordeaux 320
Prince PETIT, élève ingénieur de Nice
245
320 200
CESI Toulouse, fait son alternance à Toulouse
Marseille 70
Strasbourg… Quel chemin doit-il 65
Toulon
emprunter pour y aller le plus
rapidement possible ?
L’ALGORITHME DE DIJKSTRA

Edsger Dijkstra (1930 - 2002) fut l’un des


pionniers de l’informatique

A inventé la solution au
problème de Prince PETIT

Anecdote : Dijkstra avait une écriture manuscrite très


lisible et a toujours refusé d'utiliser un traitement de texte,
malgré son domaine d'activité, préférant la lettre
manuscrite photocopiée.

Vous aimerez peut-être aussi