14
Exercices de Théorie des Graphes EFREI L3/L'3 Année 2008/2009 Travaux Dirigés de Théorie des Graphes Enoncés des exercices Rappels - Notion principales sur les graphes Graphe - arête - sommet Graphe orienté - arc - point d'entrée - point de sortie Chemin - Boucle - Circuit Graphe valué Matrice d'incidence - Matrice d'adjacence Exercice 1 - Conseil d'administration Le Conseil d'Administration de l'institut X est composé de 7 personnes : Mesdames D et P et Messieurs G, H, K, S et V. Chacune de ces personnes influence un certain nombre de ses collègues, conformément au tableau ci-dessous : M. ou Mme Influence D G, H, P, S, V G Personne H G K G, H, P, V P G, H S G, H, K, P, V V G, H, P Représentez, au moyen d'un graphe – en explicitaant les sommets et les arcs du graphe – les jeux d'influence (« sphère d'influence ») au sein du conseil. Exercice 2 - Bouteilles Claude dispose d'une bouteille contenant huit litres de vin. Il a dans sa cave une bouteille vide de cinq litres, et une autre tout aussi vide de trois litres. Il désisre partager le vin en deux parts de quatre litres chacune sans utiliser aucun autre moyen de mesure. Indiquez-lui la façon de procéder au moyen d'un graphe dans lequel chaque sommet possède une étiquette représentant la quantité de vin contenue dans les bouteilles de cinq et trois litres. Vous devez pour cela : Hervé BARBOT page 1

Travaux Dirigés - Enoncés des exercices - efreidoc.frefreidoc.fr/L3/Théorie des graphes/TD/2008-09/2008-09.TD.tds... · Exercices de Théorie des Graphes Exercice 15 -- Algorithme

Embed Size (px)

Citation preview

Exercices de Théorie des Graphes

EFREIL3/L'3Année 2008/2009

Travaux Dirigés de Théorie des Graphes

Enoncés des exercices

Rappels - Notion principales sur les graphes

Graphe - arête - sommetGraphe orienté - arc - point d'entrée - point de sortieChemin - Boucle - CircuitGraphe valuéMatrice d'incidence - Matrice d'adjacence

Exercice 1 - Conseil d'administration

Le Conseil d'Administration de l'institut X est composé de 7 personnes : Mesdames D et P etMessieurs G, H, K, S et V.Chacune de ces personnes influence un certain nombre de ses collègues, conformément autableau ci-dessous :

M. ou Mme Influence

D G, H, P, S, V

G Personne

H G

K G, H, P, V

P G, H

S G, H, K, P, V

V G, H, P

Représentez, au moyen d'un graphe – en explicitaant les sommets et les arcs du graphe – lesjeux d'influence (« sphère d'influence ») au sein du conseil.

Exercice 2 - Bouteilles

Claude dispose d'une bouteille contenant huit litres de vin.Il a dans sa cave une bouteille vide de cinq litres, et une autre tout aussi vide de trois litres.Il désisre partager le vin en deux parts de quatre litres chacune sans utiliser aucun autre moyende mesure.Indiquez-lui la façon de procéder au moyen d'un graphe dans lequel chaque sommet possèdeune étiquette représentant la quantité de vin contenue dans les bouteilles de cinq et trois litres.

Vous devez pour cela :

Hervé BARBOT page 1

Exercices de Théorie des Graphes

– définir le graphe que vous utilisez de façon formelle (sommets, arcs) ;– énoncer le problème à résoudre en terme de graphe et de problème que l'on résoud de

façon classique sur un graphe ;– tracer le graphe.

Exercice 3

On définit une relation R sur l'ensemble des 9 premiers entiers naturels non nuls comme suit :x R y ⇔ x est un diviseur de y

1. Représenter cette relation par un graphe orientés.2. Déterminer à partir du graphe l'ensemble des nombres pairs et l'ensemble des nombresimpairs.

Exercice 4

Soit le graphe G = ( X , U ) représenté par le graphique suivant :

1. Représenter la matrice d'adjacence associée, et d'incidence aux arcs du graphe G.2. Déduire à partir de la matrice associée le degré du sommet x2.3. Retrouver le résultat de la deuxième question à partir de la matrice d'incidence aux arcs.

Exercice 5

Etude des différentes représentations machinepossibles pour un graphe.

Vous prendrez comme exemple le graphe ci-contre.Remarque : les valeurs indiquées à côté des arcs sontles numéros des arcs.

Vous ferez d'abord l'exercice dans le cas de graphenon valué.Ensuite, vous apporterez les modificationsnécessaires à vos réponses dans le cadre de graphevalué.

Hervé BARBOT page 2

Exercices de Théorie des Graphes

Vous utiliserez un pseudo-code, ou C.

Dans un premier temps, pour chacune des représentations possibles :

1) Définissez les structures de données2) Représentez graphiquement le graphe ci-dessus selon ces structures de données3) Ecrivez les formules ou algorithmes permettant de satisfaire aux opérations de bases

telles que :- nombre (/ liste) des successeurs (/ des prédécesseurs)- recherche du successeur pour lequel l'arc a la plus faible valeur- …

Dans un deuxième temps, discutez de l'efficacité de telle ou telle représentation pour effectuertelle ou telle opération

Exercice 6 - Détection de circuit - Algorithme de Rosalind-Marim ond

Si un graphe est sans circuit, alors il existe un sommet qui n'a pas d'antécédentetil existe un sommet qui n'a pas de successeur

1) Ecrire un algorithme permettant de détecter si un graphe contient ou non un circuit2) Dérouler l'algorithme sur l'exemple suivant :

1 2 3 4 5 6 7 8 9 10 11 12succ 5 4 7 8

127 1011

8 1112

12 1 310

10 12 11 5 7 5 12 ∅

Exercice 7 - Chemins élémentaires et hamiltoniens

Soit les dominos suivants :

BE TE SE ME VE CU LE SE TE LE RE MI1 2 3 4 5 6

Règles : 1. on commence par "BE-TE" et on joue de la gauche vers la droite uniquement2. deux dominos peuvent être mis côte-à-côte si la 2ième partie du 1er domino forme unmot avec la 1ère partie du 2nd dominoet bien évidemment un domino ne peut être utilisé qu'une seule fois…

1) Construire un graphe avec la règle 22) Donner toutes les configurations possibles du jeu avec les règles 1 + 2

Chemin élémentaire : ne contient pas 2 fois le même sommet3) Donner toutes les configurations totales (incluant tous les dominos)

Chemin hamiltonien : élémentaire et contient tous les sommets

Exercice 8 - Connexité d'un graphe

Soit x et y deux sommets d'un graphe,x et y ont une relation de connexité si et seulement si

il existe une chaîne entre x et y ou bien x = y

Hervé BARBOT page 3

Exercices de Théorie des Graphes

x et y ont une relation de forte connexité si et seulement siil existe un chemin de x à y et de y à x ou bien x = y

Un graphe est dit [fortement] connexe si tous ses nœuds ont deux à deux la relation de [forte]connexité.Une composante [fortement] connexe est un ensemble de nœud qui ont deux à deux la relationde [forte] connexité ; et tel qu'aucun nœud de cet ensemble à la relation de [forte] connexitéavec un élément en dehors de la composants.

1) Ecrire un algorithme qui permet de déterminer la composante fortement connexecontenant un sommet donné.

2) Ecrire un algorithme qui permet de trouver toutes les composantes fortement connexesd'un graphe.

Exercice 9 -- Passeur, chèvre, chou et loup

Une chèvre, un chou et un loup se trouvent sur la rive d'un fleuve ; un passeur souhaite lestransporter sur l'autre rive mais, sa barque étant trop petite, il ne peut transporter qu'un seuld'entre eux à la fois.Comment doit-il procéder afin de ne jamais laisser ensemble et sans surveillance le loup et lachèvre, ni la chèvre et le chou ?

Exercice 10 -- Allumettes

Deux joueurs disposent de 2 ou plusieurs tas d'allumettes. A tour de rôle, chaque joueur peutenlever un certain nombre d'allumettes de l'un des tas. Le joueur qui retire la dernière allumetteperd la partie.

4) Modéliser ce jeu à l'aide d'un graphe dans le cas où on dispose au départ de 2 tas de 3allumettes chacun, et où un joueur peut enlever une ou deux allumettes à chaque fois.

5) Que doit jouer le premier joueur pour gagner la partie à coup sûr ?

Exercice 11 -- Echiquier

Essayez d'exprimer en termes de graphes les problèmes suivants :

1) Peut-on placer huit dames sur un échiquier sans qu'aucune d'elles ne puisse en prendreune autre ?

2) Un cavalier peut-il se déplacer sur un échiquier en passant sur chacune des cases une foiset une seule ?

3) Combien doit-on placer de dames sur un échiquier 5x5 afin de contrôler toutes les cases ?

Exercice 13 -- Quadrillage

Est-il possible de tracer une courbe, sans lever le crayon, qui coupe chacun des 16 segmentsde la figure ci-dessus ?

Hervé BARBOT page 4

Exercices de Théorie des Graphes

Exercice 15 -- Algorithme de parcours dans un arb re

On souhaite représenter un "dictionnaire" sous la forme d'un arbre.1) Dessiner l'arbre permettant de contenir les mots ABAT, ABIME, ACTE, ACTUEL.2) Ajouter le mot SOUTE.3) Ajouter le mot SORT.4) Ajouter le mot SOU.5) Expliquez comment, à l'aide d'un tel arbre, il est possible de déterminer si un mot donné

appartient ou non au dictionnaire.6) Ecrire l'algorithme d'une fonction qui détermine si un "mot" appartient ou non à un

"dictionnaire" ("mot" et "dictionnaire" sont les paramètres de cette fonction).

Exercice 16 - Mise en oeuvre d'un arbre

1) Décrivez des représentations possibles d'un arbre.2) Dessinez la représentation mémoire de l'arbre obtenu à la question 4 de l'exercice précédent.

Exercice 17 -- Permutations autour d'une table ro nde

1. Un groupe de 9 élèves se réunit chaque jour autour d'une table ronde. Combien de jourspeuvent-ils se réunir si l'on souhaite que personne n'ait 2 fois le même voisin ?

2. Même question pour 10 élèves, 11 élèves, n élèves.3. 9 élèves, mais avec 2 tables, l'une à 4 places et l'autre de 5 places.

Exercice 19 -- Plan de table et incompatibilités

Un groupe de 8 personnes se retrouve pour dîner. Le graphe ci-contre représente les "incompatibilitésd'humeur" (ex. A ne s'entend pas avec B).

Comment déterminer un plan de table pour que lasoirée se passe bien ?

Exercice 20 - Coloration de carte

On veut colorier chaque région administrativefrançaise (métropole + Corse) de telle sorteque deux régions voisines ne soient pas de lamême couleur.

- Représenter le problèmesous la forme d'un graphe.

- Décrivez et déroulezl'algorithme permettant derésoudre ce problème.

Hervé BARBOT page 5

_ - ' - _ - t -

\) _,_, __ L,_i:- { __

- t - - --- -t- ----

! - -

i - . . - r |

: - . - - .- -

- ]--l-----

,--J -1-t --,.--__1--:L_f_.-_ J : j_ :_ l ::-_:+:__.j**_1. -_::. i -:, | _-- l,_- - -

t -

t - -

! - - - .- - i : l -_ l : :_*-+--ir:j:*_3 -l_ l_

=-lT. 11\s:- I9$)S,,t j =-i-ti I r ' r r l _ r _ l - _ + _ _>+$dÈi*): q-:-i--J-

- l - { I - = i ; - - r ' - - r- - - - : . . . - / I . - \ : . . . : - - . , - .

---stH:lc-Ls $:. . i-----. t ----

- l l l t _-, j- :--1=-- _ -r-:*.-l .__J*,_--

_-aI_lï_1_-.,1

----1:_,

=

IIIIt-,

i

il