Département Informatique
M2201 - Graphes et langages
Examen de graphes
Durée : 2 heures
10 février 2014
Tous documents et calculatrices autorisés.
Vous répondrez aux trois exercices sur des copies séparées.
Exercice 1 : Points d’articulation d’un graphe
Définition 1 Un point d’articulation est un sommet d’un graphe non orienté qui, si on le retire du graphe,
augmente le nombre de composantes connexes. Si le graphe était connexe avant de retirer ce sommet, il
devient donc non connexe.
110
2
5
9
3
8
7
6
4
11
Figure 1 – Graphe 1
Q1: Quels sont les points d’articulation du graphe 1 ?
Définition 2 Une arête d’un graphe est un isthme si sa suppression augmente le nombre de composantes
connexes du graphe.
Q2: Quels sont les isthmes du graphe 1 ?
Q3: Rappelez la définition d’un cycle hamiltonien
Q4: Expliquez pourquoi un graphe hamiltonien (i.e. un graphe possédant un cycle hamiltonien) ne possède
pas de point d’articulation.
Q5: Donnez un exemple de graphe hamiltonien qui possède un ishme.
Q6: Le graphe de la figure 1 est-il hamiltonien ? Expliquez.
Q7: Effectuez le parcours en profondeur du graphe de la figure 1 en commençant par le sommet 1. L’algo-
rithme de parcours en profondeur vous est rappelé dans l’algorithme 1. Vous ferez attention à bien suivre
l’ordre de parcours des sommets de l’algorithme, et noterez en trait plein renforcé la relation de parenté dans
l’arbre du parcours
// initialisation de l’algorithme
pour i= 1, . . . , n faire
p(i)0;
n(i)← |N+(i)|;
p(i0)i0;
ii0;
// on continue tant qu’on n’est pas revenu sur i0en visitant tous ses successeurs
tant que n(i0)>0ou i6=i0faire
// on teste si tous les successeurs de iont été vus
si n(i)6= 0 alors
sélectionner parmi les successeurs de ile sommet jvenant en position n(i);
n(i)n(i)1;
si p(j) = 0 alors
p(j)i;
ij;
sinon
// on remonte d’un cran en revenant sur le sommet qui a permis d’atteindre i
// on dit qu’on ”ferme” le sommet i
ip(i)
Algorithme 1 : Parcours en profondeur dans un graphe
Exercice 2 : Ordonnancement
La mise en exploitation d’un nouveau gisement minier demande la réalisation d’un certain nombre de
tâches. Le tableau suivant représente ces différentes tâches avec leurs relations d’antériorité.
Tâche Description Durée (en jours) Tâches
antérieures
A Obtention d’un permis d’exploitation 120 -
B Établissement d’une piste de 6 km 180 A
C Transport et installation à pied d’œuvre de 2 sondeuses 3 B
D Création de bâtiments provisoires pour le bureau des plans, 30 B
le logement des ouvriers sondeurs
E Goudronnage de la piste 60 B
F Adduction d’eau 90 D
G Campagne de sondage 240 C,D
H Forage et équipement de trois puits 180 E,F,G
I Transport et installation au fond du matériel d’exploitation 30 J,H
J Construction de bureaux et logements, ouvriers et ingénieurs 240 E,F,G
K Traçage et aménagement du fond 360 J,H
L Construction d’une laverie 240 J,H
Q8: Déterminez les dates au plus tôt et les dates au plus tard de chaque tâche, ainsi que le temps minimum
de réalisation de l’ensemble.
Q9: Quelles sont les marges totales de tous les sommets ?
Q10: Donnez un chemin critique.
Exercice 3 : Flots
Un organisme d’aide sociale dispose de 100 appartements pour loger 100 familles. On a les données
suivantes :
Nombre de personnes de la famille 1 2 3 4 5 et plus
Nombre de familles 10 13 22 23 32
Nombre de pièces de l’appartement 1 2 3 4 5
Nombre d’appartements 8 18 20 40 14
On adopte d’autre part les critères de répartition suivants :
Une famille d’une personne peut être logée dans un appartement de 1 ou 2 pièces ;
Une famille de 2 personnes peut être logée dans un appartement de 1 ou 2 pièces ;
Une famille de 3 personnes peut être logée dans un appartement de 2, 3 ou 4 pièces ;
Une famille de 4 personnes peut être logée dans un appartement de 3, 4 ou 5 pièces ;
Une famille de 5 personnes ou plus peut être logée dans un appartement de 4 ou 5 pièces.
Nous voulons loger le plus grand nombre possible de familles en respectant ces critères de répartition.
Q11: Formulez le problème comme un problème de flot sur un réseau dont vous préciserez la construction.
Vous pouvez par exemple avoir un noeud initial qui correspond à toutes les familles à loger (la source),
puis un noeud pour chaque type de famille ; et de même pour les appartements... Quel serait le puit ? Quels
seraient alors les arcs entre ces nœuds ? Et quelles seraient les valeurs sur ces arcs ?
Q12: Dessinez le graphe correspondant au problème.
Une première proposition d’attribution avait conduit aux résultats suivants :
6 appartements d’une pièce attribués à des familles d’une personne,
4 appartements de 2 pièces attribués à des familles d’une personne,
13 appartements de 2 pièces attribués à des familles de 2 personnes,
1 appartement de 2 pièces attribués à une famille de 3 personnes,
20 appartements de 3 pièces attribués à des familles de 3 personnes,
1 appartement de 4 pièces attribué à une famille de 3 personnes,
23 appartements de 4 pièces attribués à des familles de 4 personnes,
16 appartements de 4 pièces attribués à des familles de 5 personnes ou plus,
14 appartements de 5 pièces attribués à des familles de 5 personnes ou plus.
Q13: Le flot correspondant à cette solution initial est-il complet ? Justifiez votre réponse.
Q14: Montrez en appliquant l’algorithme de Ford-Fulkerson à partir de cette solution initiale qu’il est possible
de faire mieux. Combien de familles pouvez-vous loger finalement ?
Vous préciserez pour chaque étape de l’algorithme la chaîne augmentante considérée et le flot résiduel.
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !