Aller au contenu principal

Théorie des graphes

Objectifs

  • Définir les termes de base de la théorie des graphes
    • Graphe
    • Sommet
    • Arête
    • Arc
    • Boucle
    • Voisinage
    • Degré
    • Poids
    • Chaîne/Chemin
    • Cycle/Circuit
  • Différencier graphe orienté et non orienté
  • Reconnaître les différents topologies de graphes
  • Modéliser un problème sous forme de graphe

Cours

Théorie des graphes

Graphes

Origine

https://upload.wikimedia.org/wikipedia/commons/5/5d/Konigsberg_bridges.png

https://commons.wikimedia.org/wiki/File:Konigsberg_bridges.png

  • Problème des sept ponts de Königsberg

  • Existe-t-il un chemin permettant de revenir à son point de départ en empruntant une seule fois chaque pont de la ville.

  • Leonhard Euler (1735) : Prouve l'impossibilité de la solution grâce à la théorie des graphes.

Origine

Définitions

Graphe

  • Un graphe comprend deux ensembles :

    • Ensemble de sommets

    • Ensemble d'arêtes/arcs reliant deux sommets

Arêtes / arcs

  • Arête

    • Graphe non orienté

    • L'arête ne possède pas de direction.

  • Arc

    • Graphe orienté

    • L'arc possède une direction (flèche).

Voisinage & Degré

  • Voisinage d'un sommet

    • Ensemble des sommets adjacents.

    • Graphes orientés : voisins entrants et sortants.

    • Exemple : Le voisinage de A est {A, B, C}.

  • Degré d'un sommet

    • Nombre d'arêtes/arc connectés au sommet.

    • Degré entrant et sortant pour les graphes orientés.

    • Exemple : Le degré de A est 4.

Boucle

Chaîne & Cycle

  • Chaîne

    • Liste de sommets reliés par des arêtes.

    • Chemin pour les graphes orientés.

    • Exemple : H → A → B

  • Cycle

    • Chaîne fermée (premier = dernier).

    • Circuit pour les graphes orientés.

    • Exemple : H → D → G → H

  • Longueur d'une chaîne/cycle

    • Nombre d'arêtes/arcs.

Poids

  • Poids d'une arête/arc

    • Valeur numérique associée à l'arête/arc.

    • Graphe pondéré si les arêtes/arcs possèdent des poids.

Utilisations

Calculer un itinéraire

https://www.mssqltips.com/wp-content/images-tips-8/8255_graph-theory-shortest-path-algorithms-1.webp

https://www.mssqltips.com/sqlservertip/8255/graph-theory-shortest-path-algorithms/

Graphe social

http://static.macg.co/img/2011/9/1316731172_mgpic_final.jpg

https://www.macg.co/news/voir/217362/facebook-devoile-un-nouveau-profil-et-un-nouveau-graphe-social

Chaîne de Markov

https://upload.wikimedia.org/wikipedia/commons/7/7a/Markov_Chain_weather_model_matrix_as_a_graph.png

https://commons.wikimedia.org/wiki/File:Markov_Chain_weather_model_matrix_as_a_graph.png

Topologie

https://upload.wikimedia.org/wikipedia/commons/5/53/Topologies_de_r%C3%A9seaux.png

https://commons.wikimedia.org/wiki/File:Topologies_de_r%C3%A9seaux.png

  1. homogène : régulier (distribué)

  2. hiérarchique : arbre

  3. cyclique : revient à lui-même

  4. centralisé ou polaire : étoile

  5. quelconque : autres

Exercice

https://upload.wikimedia.org/wikipedia/commons/2/28/6n-graph2.svg

https://commons.wikimedia.org/wiki/File:6n-graph2.svg

  • Graphe pondéré ?

    • Non

  • Graphe orienté ?

    • Non

Exercice

https://upload.wikimedia.org/wikipedia/commons/9/9a/Weighted_network.png

https://commons.wikimedia.org/wiki/File:Weighted_network.png

  • Combien de sommets ?

    • 10

  • Combien d'arcs ?

    • 0

  • Combien d'arêtes ?

    • 12

Exercice

https://www.bibmath.net/ressources/bde_images/lememe.png

https://www.bibmath.net/ressources/index.php?action=affiche&quoi=bde/graphes/graphes_pratiques&type=fexo

  • Lesquels représentent le même graphe ?

    • Les deux premiers

F pour passer en plein écran ou O pour afficher la vue d'ensemble.
Versions sans animation, plein écran, imprimable.

Exercices

Terminologie

Compléter le tableau avec les définitions des termes suivants :

  • Arc
  • Arête
  • Boucle
  • Chaîne
  • Chemin
  • Circuit
  • Cycle
  • Degré
  • Graphe
  • Longueur
  • Poids
  • Sommet
  • Voisinage
Graphe non orientéGraphe orientéDescription
SommetSommetReprésente un objet ou une entité.
ArêteArcRelie deux sommets.
...
Solution
Graphe non orientéGraphe orientéDescription
SommetSommetReprésente un objet ou une entité.
ArêteArcRelie deux sommets.
BoucleBoucleRelie un sommet à lui-même.
VoisinageVoisinageEnsemble des sommets adjacents.
DegréDegréNombre d'arêtes/arc connectées.
PoidsPoidsValeur associée à une arête/arc.
ChaîneCheminSuite de sommets reliés par des arêtes/arcs.
CycleCircuitChaîne/chemin qui commence et finit au même sommet.
LongueurLongueurNombre d'arêtes/arcs dans une chaîne/chemin.

Caractéristiques d'un graphe

graphviz

Donner les caractéristiques du graphe ci-dessus :

  1. Graphe orienté ou non orienté ?
  2. Graphe pondéré ou non pondéré ?
  3. Nombre de sommets ?
  4. Nombre d'arêtes ?
  5. A une boucle ?
  6. A un cycle ?
  7. Quel est le degré du sommet b ?
  8. Quel est le voisinage du sommet c ?
  9. Quelle est la longueur de la chaîne acd ?
  10. Quel est le poids de la chaîne acd ?
  11. Quel est le chemin le plus court (chaîne de poids minimal) entre a et d ?
Solution
  1. Graphe non orienté
  2. Graphe pondéré
  3. 4 sommets
  4. 5 arêtes
  5. Pas de boucle
  6. Cycle, par exemple abca
  7. 3
  8. a, b et d
  9. 2
  10. 7
  11. abd

Modélisation chemin de fer

Pour se rendre à Zürich depuis Lausanne, les trains suivants sont disponibles :

  • Direct :
    • Lausanne → Zürich
  • Correspondance avec un changement :
    • Lausanne → Berne → Zürich
    • Lausanne → Bâle → Zürich
  • Correspondance avec deux changements :
    • Lausanne → Berne → Olten → Zürich
    • Lausanne → Bâle → Olten → Zürich

Modéliser ces différents trajets sous forme de graphe orienté.

Solution

graphviz

Topologies de graphes

Pour chaque graphe, indiquer quelles sont leurs topologies parmi :

  • Homogène
  • Hiérarchique
  • Cyclique
  • Centralisé
  • Quelconque

graphviz

Solution
  • Homogène
  • Cyclique

graphviz

Solution
  • Hiérarchique

graphviz

Solution
  • Hiérarchique
  • Centralisé

Modélisation musée

Voici le plan du musée archéologique d'Olympie :

Modéliser ce plan sous forme de graphe.
Que représente chaque sommet et chaque arête ?

Solution

graphviz

Modélisation interactions sociales

Modéliser les interactions entre les personnes suivantes sous forme de graphe :

  • Anna est amie avec Bob, Céline et Emile
  • Céline est amie avec Bob et François
  • Guillaume est ami avec Hector, François et Anna
  1. Serait-ce plutôt un graphe orienté ou non orienté ? Pourquoi ?
  2. Que représente chaque sommet et chaque arête ?
  3. Que pourrait signifier une pondération du graphe ?
Solution

graphviz

  1. Non orienté, car l'amitié est réciproque.
  2. Chaque sommet représente une personne et chaque arête représente une amitié.
  3. Le poids d'une arête pourrait représenter la proximité entre deux personnes (nombre de centres d'intérêts en commun par exemple).

Références