Théorie des graphes et optimisation dans les graphes Table des ...

download Théorie des graphes et optimisation dans les graphes Table des ...

of 53

  • date post

    05-Jan-2017
  • Category

    Documents

  • view

    228
  • download

    7

Embed Size (px)

Transcript of Théorie des graphes et optimisation dans les graphes Table des ...

  • Thorie des graphes et optimisation dans les graphes

    Christine Solnon

    Table des matires

    1 Motivations 3

    2 Dfinitions 4

    3 Reprsentation des graphes 8

    3.1 Reprsentation par matrice dadjacence . . . . . . . . . . . . . . . . . . . . . . 8

    3.2 Reprsentation par listes dadjacence . . . . . . . . . . . . . . . . . . . . . . . . 8

    4 Cheminements et connexits 10

    4.1 Notions de chemin, chaine, cycle et circuit . . . . . . . . . . . . . . . . . . . . . 10

    4.2 Fermeture transitive dun graphe . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    4.3 Notions de connexit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    4.4 Notion de graphe eulrien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    4.5 Notion de graphe hamiltonien . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    5 Arbres et arborescences 17

    6 Graphes planaires 20

    7 Coloriage de graphes, cliques et stables 23

    8 Parcours de graphes 25

    8.1 Arborescence couvrante associe un parcours . . . . . . . . . . . . . . . . . . 26

    8.2 Parcours en largeur (Breadth First Search = BFS) . . . . . . . . . . . . . . . . . 26

    8.3 Applications du parcours en largeur . . . . . . . . . . . . . . . . . . . . . . . . 27

    8.4 Parcours en profondeur (Depth First Search = DFS) . . . . . . . . . . . . . . . . 28

    8.5 Applications du parcours en profondeur . . . . . . . . . . . . . . . . . . . . . . 29

    1

  • 9 Plus courts chemins 31

    9.1 Dfinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    9.2 Algorithme de Dijkstra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    9.3 Algorithme de Bellman-Ford . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    9.4 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    10 Arbres couvrants minimaux (ACM) 39

    11 Rseaux de transport 42

    12 Planification de projet par les rseaux 47

    12.1 Cot et dure dune tche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    12.2 Contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    12.3 Modlisation des contraintes de prcdence par un graphe . . . . . . . . . . . . . 48

    12.4 Dure minimale dexcution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    12.5 Date au plus tard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    12.6 Marge totale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    12.7 Chemins et tches critiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    13 Pour en savoir plus 52

    2

  • 1 Motivations

    Pour rsoudre de nombreux problmes concrets, on est amen tracer sur le papier des petitsdessins qui reprsentent (partiellement) le problme rsoudre. Bien souvent, ces petits dessins secomposent de points et de lignes continues reliant deux deux certains de ces points. On appelleraces petits dessins des graphes, les points des sommets et les lignes des arcs ou artes, selon quela relation binaire sous-jacente est oriente ou non.

    Quelques exemples de modlisation par des graphes

    Rseaux routiers : Le rseau routier dun pays peut tre reprsent par un graphe dont les som-mets sont les villes. Si lon considre que toutes les routes sont double sens, on utilisera un graphenon orient et on reliera par une arte tout couple de sommets correspondant deux villes reliespar une route (si lon considre en revanche que certaines routes sont sens unique, on utilisera ungraphe orient). Ces artes pourront tre values par la longueur des routes correspondantes. Etantdonn un tel graphe, on pourra sintresser, par exemple, la rsolution des problmes suivants :- Quel est le plus court chemin, en nombre de kilomtres, passant par un certain nombre de villesdonnes ?- Quel est le chemin traversant le moins de villes pour aller dune ville une autre ?- Est-il possible de passer par toutes les villes sans passer deux fois par une mme route ?

    Processus tapes : Certains problmes peuvent tre spcifis par un tat initial, un tat final,un certain nombre dtats intermdiaires et des rgles de transition prcisant comment on peutpasser dun tat lautre. Rsoudre le problme consiste alors trouver une suite de transitionspermettant de passer de ltat initial ltat final. Beaucoup de jeux et autres casse-tte peuventtre modliss ainsi. Considrons, par exemple, le problme du chou, de la brebis et du loup :

    Un brave homme se trouve au bord dune rivire quil souhaite traverser, en compa-gnie dun loup, dune brebis et dun chou. Malheureusement, il ne dispose que dunepetite barque, ne pouvant porter en plus de lui-mme quun seul de ses compagnons(le loup ou la brebis ou le chou). Bien sr, la brebis refuse de rester seule avec le loup,tandis que le chou refuse de rester seul avec la brebis. Comment peut-il sy prendrepour traverser la rivire avec ses trois compagnons et continuer son chemin ?

    Ltat initial est ltat o tout le monde est sur la rive gauche de la rivire, tandis que ltat finalest ltat o tout le monde est sur la rive droite de la rivire. La rgle de transition est la suivante :si lhomme est sur une rive avec certains de ses compagnons, alors il peut passer sur lautre rive,soit seul, soit accompagn par un seul de ses compagnons se trouvant sur la mme rive que lui,sous rserve quil ne laisse pas le loup seul avec la brebis, ou la brebis seule avec le chou. Onpeut modliser ce problme par un graphe non orient, dont les sommets reprsentent les tatspossibles, et les artes le fait quon peut passer dun tat lautre par une transition. On obtientalors le graphe non orient suivant :

    3

  • H

    CB

    L

    L

    B

    C

    H

    L

    C

    H

    B

    L

    C

    H

    B

    L

    H

    C

    B

    L

    H

    B

    C

    B

    L

    H

    C

    B

    H

    L

    C

    H

    B

    C

    L

    C

    B

    L

    H

    L

    B H

    C

    C

    H

    L

    B

    C

    H B

    L

    HB

    L

    C

    H

    L

    B

    C

    Etat initial Etat final

    o le loup est reprsent par la lettre L, le chou par C, la brebis par B et lhomme par H, et o untat est reprsent par un cercle coup en deux demi-cercles reprsentant les rives gauche et droitede la rivire.

    Etant donn un tel graphe, on pourra chercher un chemin allant de ltat initial ltat final.

    Automates finis : Un automate fini permet de reconnatre un langage rgulier et peut tre repr-sent par un graphe orient et tiquet. Par exemple, lautomate fini reconnaissant le langage desmots de la forme anbm (les mots composs dune suite de a suivie dune suite de b) peut trereprsent par le graphe suivant

    1 32ba

    a b

    Ce graphe possde 3 sommets et 4 arcs, chaque arc tant tiquet par un symbole (a ou b). Etantdonn un tel graphe, on peut sintresser, par exemple, la rsolution des problmes suivants :- Existe-t-il un chemin allant du sommet initial (1) au sommet final (3) ?- Quel est le plus court chemin entre deux sommets donns ?- Existe-t-il des sommets inutiles, par lesquels aucun chemin allant du sommet initial un sommetfinal ne peut passer ?

    2 Dfinitions

    De faon plus formelle, un graphe est dfini par un couple G = (S,A) tel que- S est un ensemble fini de sommets,- A est un ensemble de couples de sommets (si, sj) S2.

    Un graphe peut tre orient ou non : Dans un graphe orient, les couples (si, sj) A sont orients, cest dire que (si, sj) est un

    couple ordonn, o si est le sommet initial, et sj le sommet terminal. Un couple (si, sj) estappel un arc, et est reprsent graphiquement par si sj .Par exemple,

    4

  • 1

    2

    3

    4

    5

    6

    reprsente le graphe orient G = (S,A) avec S = {1, 2, 3, 4, 5, 6} etA = {(1, 2), (2, 4), (2, 5), (4, 1), (4, 4), (4, 5), (5, 4), (6, 3)}.

    Dans un graphe non orient, les couples (si, sj) A ne sont pas orients, cest dire que(si, sj) est quivalent (sj , si). Une paire (si, sj) est appele une arte, et est reprsentegraphiquement par sisj .Par exemple,

    2 4

    5

    3

    61

    reprsente le graphe non orient G = (S,A) avec S = {1, 2, 3, 4, 5, 6} etA = {(1, 2), (1, 5), (5, 2), (3, 6)}.

    Terminologie

    Lordre dun graphe est le nombre de ses sommets. Une boucle est un arc ou une arte reliant un sommet lui-mme. Un graphe non-orient est dit simple sil ne comporte pas de boucle, et sil ne comporte jamais

    plus dune arte entre deux sommets. Un graphe non orient qui nest pas simple est un multi-graphe. Dans le cas dun multi-graphe, A nest plus un ensemble mais un multi-ensembledartes. On se restreindra gnralement dans la suite aux graphes simples.

    Un graphe orient est un p-graphe sil comporte au plus p arcs entre deux sommets. Le plussouvent, on tudiera des 1-graphes.

    Un graphe partiel dun graphe orient ou non est le graphe obtenu en supprimant certains arcsou artes.

    Un sous-graphe dun graphe orient ou non est le graphe obtenu en supprimant certains som-mets et tous les arcs ou artes incidents aux sommets supprims.

    Un graphe orient est dit lmentaire sil ne contient pas de boucle. Un graphe orient est dit complet sil comporte un arc (si, sj) et un arc (sj , si) pour tout

    couple de sommets diffrents si, sj S2. De mme, un graphe non-orient est dit complet silcomporte une arte (si, sj) pour toute paire de sommets diffrents si, sj S2.

    Notion dadjacence entre sommets : Dans un graphe non orient, un sommet si est dit adjacent un autre sommet sj sil existe une

    arte entre si et sj . Lensemble des sommets adjacents un sommet si est dfini par :

    adj(si) = {sj/(si, sj) A ou (sj , si) A}

    Dans