Exam 201004 Cor

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Corrig

Examen de Thorie des Graphes


EPITA ING1 2012 S2; A. D URET-L UTZ

Dure : 1 heure 30 1er avril 2010

Consignes
Cet examen se droule sans document et sans calculatrice. Vous pouvez toutefois vous servir dun cailleur condition de ne pas dranger vos voisins. Rpondez sur le sujet dans les cadres prvus cet effet. Il y a 6 pages dnonc. Rappelez votre nom en haut de chaque feuille au cas o elles se mlangeraient. Ne donnez pas trop de dtails. Lorsquon vous demande des algorithmes, on se moque des pointsvirgules de n de commande etc. crivez simplement et lisiblement. Des spcications claires et implmentables sont prfres du code C ou C++ verbeux. Le barme est indicatif et correspond une note sur 23.

Graphe Poisson (4 points)


b f c a 1. (0,5pt) Diamtre Rponse : 3 2. (0,5pt) Rayon Rponse : 2 3. (0,5pt) tat(s) du centre Rponse : {c, d, f } 4. (0,5pt) Maille Rponse : 3 d 5. (0,5pt) Nombre chromatique Rponse : 3 6. (0,5pt) Taille de la plus grande clique Rponse : 3 7. (1pt) Entourez le graphe complmentaire e . Prcisez les caractristiques de ce graphe :

On considre le graphe suivant :

Sans queue ni tte (6 points)

Ordralfabetix, poissonier avrilopisciophile 1 bien connu, possde six diffrents types de poissons : des Alphas, des Btas, des Certa, des Epsalas et des Fetas. Malheureusement certains poissons ne peuvent pas tre mis dans le mme aquarium, soit parce quils sattaqueraient, soit parce quils ont besoin de conditions (eau, temprature...) diffrentes. 2 Le tableau suivant rsume les incompatibilits entre ces types de poissons (dsigns par leurs initiales) : Le poisson A B C D E F Ne peut pas tre avec B, C A, C, E A, B, D, E C, F B, C, F D, E 1. (0.5 pts) Quel est le nombre minimum daquariums ncessaires pour faire vivre tous ces poissons ? Rponse : 3 (voir question suivante). 2. (1 pts) quel problme de thorie des graphes correspond la question prcdente ? (On ne vous demande pas de dessiner le graphe correspondant.) Rponse : On cherche le nombre de couleurs minimal (le nombre chromatique) du graphe reprsentant la relation dincompatibilit entre les poissons. La rponse pouvait aussi tre exprime avec le graphe complmentaire, cest--dire le graphe des compatibilits. Dans ce cas on cherche des cliques maximales. Dans tous les cas, il est faux dessayer de rapprocher ce problme des graphes dintervalles ( quoi correspondraient ces intervalles dans le problme ?). Le graphe construit nest mme pas cordal. 3. (1 pt) Ordralfabetix expdie son poisson aux 8 coins de lunivers (qui est cubique). Le Gnral Jack ONeill se charge des livraisons grce un systme de portails permettant de voyager rapidement entre deux points de lunivers. La carte des connexions entre ces portails est donne ainsi : g c 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 d h 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 ou sous forme de matrice dadjacence M = . 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 a e 0 0 1 0 1 0 0 1
1 0 0 1 0 1 1 0 f b Comme il est assez difcile de se reprsenter ce graphe en trois dimensions, ou de lire la matrice, ONeill aimerait une reprsentation planaire. Justiez, en utilisant soit un critre de planarit vu en cours, soit le thorme de Kuratowski, que ce graphe nest pas planaire. Rponse : Ce graphe possde 8 sommets et 14 artes. Comme il ne possde aucun triangle, il devrait vrier 14 = | E| 2|V | 4 = 12, ce qui nest pas le cas. Une autre dmonstration consiste dire que ce graphe ne peut tre planaire puisquil a a contient g d ou encore f d cest--dire une instance de K3,3 , qui ne peut

e c e h b h pas tre planaire daprs de thorme de Kuratowski.


1. Collectionneur de poissons davril (merci Julien). 2. Par exemple le Feta ne peut nager que dans lhuile.

Page 2

4. (0.5 pt) Une fois par an, on demande ONeill de tester les portails en empruntant toutes les connexions possibles. Justiez que ce graphe ne possde pas de chemin eulrien, cest--dire quONeill ne peut pas visiter toutes les artes en nempruntant quune fois chacune. Rponse : Un graphe connexe possde un chemin eulrien si et seulement si le nombre de sommets de degr impair est 0 ou 2. Or ici il y a 4 sommets de degr impair : b, c, f et g. 5. (1.5 pts) Pour livrer le poisson plus vite, on demande Thomas Anderson (alias No) de modier la matrice pour installer de nouvelles connexions entre les portails. On souhaite maintenant relier tous les portails qui taient connects par un chemin de deux connexions. Par exemple il tait possible de passer de a g en chanant deux connexions, le nouveau graphe doit donc possder une arte entre a et g en plus de celles qui existaient auparavant. linverse, il nest pas possible de relier c f avec une ou deux connexions, le nouveau graphe ne devra donc pas possder darte entre c et f . Quelles oprations matricielles permettent de dnir la nouvelle matrice M partir de M ? Vous pouvez interprter les lments de M dans le semi-anneau des boolens (B, , , 0, 1) et utiliser les oprations matricielles qui en dcoulent. Note : on ne vous demande pas de calculer M , juste de donner une formule qui lie M M. Rponse : M2 reprsente tous les paires de sommets accessibles par deux artes. On a donc M = M + M2 . Dans cette formule, laddition et le produit matriciel utilisent et la place des addition et multiplications scalaires (sinon on verrait des 2 entre deux sommets qui peuvent tre connects soit par une arte, soit par deux artes). 6. (1.5 pts) Lanne suivante, on rappelle No pour lui faire nouveau effectuer la mme opration : ajouter des artes pour relier les sommets qui taient connects par deux artes dans le graphe associ la matrice M . No ralise alors que la matrice M nouvellement forme correspond un graphe complet. De faon gnrale, sur un graphe connexe de diamtre D, combien de fois faudrait-il itrer cette opration sur la matrice dadjacence pour obtenir un graphe complet ? Rponse : litration 1, on a reli tous les sommets une distance 2. litration 2, on a reli tous les sommets une distance 4. . . . litration k, on a reli tous les sommets une distance 2k . Si le diamtre du graphe est D, on obtiendra une graphe complet aprs la plus petite itration k telle que 2k D. Autrement dit, k = log2 D .

Un poisson nomm Warda (5 points)

Warda et ses 29 amis poissons habitent les deux lacs de gauche (15 poissons par lac) et souhaitent se rendre lanniversaire de Nmo dans le lac de droite. Les trois lacs sont relis par un rseau de canalisations sous haute pression (de sorte quon considre que tous les dplacements sont instantans) reprsent ci-dessous. Les valeurs indiques sur les artes reprsentent la capacit maximale de la canalisation en nombre de poissons. Les deux lacs de gauche ne peuvent contenir plus de 18 poissons chacun, et le lac de droite ne peut recevoir plus de 28 poissons. 3
3. Ce sont plus des aques que des lacs.

Page 3

18 15

8
12
18 15 5

8
7

4
15

28

15 15

1. (0.5pt) Les artes de ce graphe ne sont pas orientes car les poissons peuvent circuler dans les deux sens. Comment faut-il adapter les algorithmes du cours sur les ots, qui taient prsents sur des graphes orients ? Rponse : On considre simplement quune arte vaut deux arcs orients : un dans chaque sens, avec la mme capacit. 2. (1.5 pt) Comment transformer les contraintes des lacs (nombre de poissons initiaux, et les capacits maximales) de faon se ramener un problme de ot maximal dans un rseau de transport entre une source et un puits ? Rponse : Quand on a une contrainte de capacit sur un sommet, on peut dcouper ce sommet en deux, et relier les deux sommets obtenus par un arc qui prend la contrainte. Pour obtenir une seule source, on va crer une super-source qui sera connecte aux deux lacs de gauche, et on utilisera les capacits initiales de ces deux lacs au lieu de pour relier les super-sources aux lacs. Un schma valant souvent mieux quun long discours, on obtient :

10

20
5

10

3. (2 pt) Quelle est la valeur du ot maximal de ce rseau de transport ? (Ne droulez pas lalgorithme sur la copie, merci.) Rponse : 23 4. (1 pt) Donnez une coupe minimale correspondante. (Vous pouvez la dessiner sur le graphe de lnonc) Rponse : Cf. la gure.

Page 4

10
10

10

20
5

15
15

18

12 15

2
15

4
28 P

4 10
8

18

Poisson avec artes (8 points)

Un graphe est hamiltonien sil possde un cycle qui passe par tous ses sommets exactement une fois. De faon gnrale, dterminer si un graphe est hamiltonien est un problme NP-complet. Il existe cependant des conditions sufsantes. Voici la plus gnrale connue ce jour : Thorme de Chvtal. Soit G = (V, E) un graphe de n sommets nots v1 , v2 , . . . , vn et ordonns par degrs croissants. Cest--dire que deg(v1 ) deg(v2 ) deg(vn ). Si pour tout k < n/2 on a deg(vk ) k = deg(vnk ) n k alors G est hamiltonien. 1. (2.5 pts) Donnez la complexit (en fonction de | E| et |V |) dun algorithme qui vrie si un graphe vrie la condition de Chvtal. Ncrivez pas lalgorithme en dtail, mais dcrivez ses principales tapes pour justier la complexit que vous annoncez. Vous supposerez que le graphe est reprsent sous forme de liste dadjacence. Rponse : (a) Parcourir le graphe pour compter le degr de chaque nud, et stocker chaque degr dans un tableau : (|V | + | E|) oprations. (Si un liste sait donner sa taille, la complexit tombe (|V |).) (b) Trier le tableau. Les degrs tant compris entre 0 et |V | on peut se permettre un tri par dnombrement en (|V |) oprations. (c) Parcourir le tableau pour vrier que deg(vk ) k = deg(vnk ) n k : O(|V |) oprations (on peut sarrter ds que la condition nest pas vrie). Lalgorithme tourne donc en (| E| + |V |). Une autre condition est base sur la notion de fermeture de graphe. partir dun graphe G0 = (V, E0 ) on construit une suite de graphes G1 , G2 , . . . , Gm tels que chaque Gi a t construit partir du prcdent en ajoutant une arte reliant deux sommets dont la somme des degrs soit au moins |V |. Formellement, si lon note degGi ( x ) le degr de x dans Gi , on cherche une arte (u, v) Ei absente de Gi et telle que degGi (u) + degGi (v) |V | puis on ajoute cette arte pour former Gi+1 en posant Ei+1 = E {(u, v), (v, u)}. On rpte cette construction tant que de telles artes existent, et on note Gm le dernier graphe obtenu. Gm = F ( G0 ) est la fermeture de G0 . (On peut montrer que cette fermeture est unique, quelque soit le choix de lordre dans lequel les artes sont ajoutes.) 2. (1 pt) Calculez la fermeture des deux graphes suivants (compltez directement les gures). Rponse :

3. (2.5 pt) Quelle est la complexit (en fonction de | E| et |V |), dun algorithme qui calcule la fermeture dun graphe G ? Vous supposerez nouveau recevoir (et rendre) la reprsentation du graphe sous forme de liste dajacence, et indiquerez les principales tapes de votre algorithme de faon pouvoir en justier le cot sans rentrer dans les dtails.

Page 5

Rponse : (a) Construire la matrice dajacence ainsi quun tableau de degrs de chaque nuds : (|V |2 ) (b) Parcourir la matrice la recherche dune case nulle de coordonnes (u, v) telle que deg[u] + deg[v] |V |, puis ajouter cet arc la matrice et mettre jour les degrs : O(|V |2 ). (c) Rpter le point prcdent tant que cela est possible, au plus O(|V |2 ) fois (d) Convertir la matrice sous forme de liste dadjacence : O(|V |2 ). Lalgorithme tourne donc en O(|V |4 ). Thorme de Bondy-Chvtal. Un graphe G est hamiltonien si et seulement si sa fermeture F ( G ) est un graphe hamiltonien. Comme un graphe complet est hamiltonien, on en dduit une autre condition sufsante pour quun graphe soit hamiltonien : il suft que sa fermeture soit un graphe complet. 4. (0.5 pt) Justiez le fait que ce nest quune condition sufsante en donnant un exemple de petit graphe hamiltonien dont la fermeture nest pas complte (pas plus de six sommets). Rponse : C5 ou C6 (les cycles de 5 ou 6 sommets) sont hamiltonien, mais comme tous leur sommets sont de degr 2 la fermeture ne les change pas. Plusieurs personnes ont donn le graphe poisson comme exemple. Cest une mauvaise rponse : certes la fermeture du graphe poisson nest pas complte, mais le graphe poisson nest pas hamiltonien ! 5. (1.5 pts) Quelle est la complexit dun algorithme qui vrie si un graphe est complet ? Supposez nouveau le graphe sous forme de liste dadjacence. Rponse : O(| E| + |V |) : Il faut compter les arcs sortants de chaque sommet : on sarrte ds que lun des degrs est diffrent de |V |.

FIN
Page 6

(Salut, et encore merci pour le poisson.)

Vous aimerez peut-être aussi