Grafs i complexitat - dEIC
Grafs i complexitat - dEIC
Grafs i complexitat - dEIC
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Grafs</strong> i <strong>complexitat</strong><br />
Exercicis<br />
Curs 2009/10<br />
Enginyeria en Informàtica<br />
Escola d’Enginyeria, UAB
1 Introducció i fonaments<br />
1. Sigui G un graf amb n vèrtexs i m arestes tal que tots els vèrtexs tenen grau k o k + 1.<br />
Demostreu que si G té n k vèrtexs de grau k i n k+1 vèrtexs de grau k + 1, aleshores<br />
n k = (k + 1)n − 2m.<br />
2. És cert que tot graf G(V, A) sense llaços amb |V | > 1 conté, pel cap baix, dos vèrtexs que<br />
tenen el mateix grau? Per què?<br />
3. Reunits en una conferència d’alt nivell, els presidents dels estats A, B, C, D, E, F, G i H intenten<br />
decidir quin d’ells s’encarregarà d’organitzar la propera reunió, de vital importància<br />
per aprovar els estatuts d’un projecte comú de gran transcendència. Es vol que l’organitzador<br />
estigui amb bona sintonia amb el major nombre de presidents d’aquests estats i, per<br />
aquest motiu, decideixen escollir com a organitzador el president que s’hagi reunit de manera<br />
no oficial més vegades amb altres presidents en el darrer any. Comença el recompte i A<br />
diu que s’ha reunit amb 6 dels presents, B, C, D i E afirmen que s’han reunit amb 5, F amb 2,<br />
i G i H amb 1. Quan tot sembla indicar que l’organitzador serà A, el president B afirma que<br />
algun dels presents no ha dit la veritat i, per tant, s’hauria de repetir el recompte especificant<br />
les trobades que ha fet cadascú. En aquest moment, el president A abandona la reunió visiblement<br />
molest i acusa el president B de dubtar de la seva honorabilitat i conspirar contra la<br />
integritat del seu país. Un cop ha abandonat la sala, B assegura a la resta del presents que<br />
pot demostrar que algun dels presidents no deia la veritat i, per a confirmar-ho, els demana<br />
que diguin si van reunir-se amb A. Efectivament, només ell, G i H s’havien reunit amb A<br />
el darrer any i, per tant, aquest no havia fet sis reunions, sinó tres. Els altres presidents,<br />
sorpresos per la capacitat de B, decideixen que aquest organitzi la reunió. El president B<br />
accepta l’encàrrec amb un lleu somriure interior.<br />
(a) Podia B demostrar realment que algun dels presents no deia la veritat?<br />
(b) Creus que B és honest quan accepta organitzar la reunió?<br />
4. Determineu si existeix un graf que tingui un vèrtex de grau 5, un de grau 4, un de grau 1,<br />
dos vèrtexs de grau 3 i tres de grau 2.<br />
5. Un pont és una aresta tal que, si s’elimina, el graf passa a tenir més components. Demostreu<br />
que si tots els vèrtexs d’un graf simètric G tenen grau parell aleshores G no conté cap pont.<br />
6. Els següents dos grafs són isomorfs entre ells perquè existeix una correspondència bijectiva<br />
entre els vèrtexs que preserva les adjacències.<br />
2
x 1 x 2<br />
1<br />
5 6<br />
x 3 x 4<br />
4<br />
x 5 x 6<br />
3<br />
G 1 G 2<br />
2<br />
Digueu quina és aquesta correspondència bijectiva i doneu un tercer graf que sigui també<br />
isomorf als dos anteriors.<br />
7. Entre les seqüències de nombres que es mostren a continuació hi ha les seqüències de graus<br />
dels vèrtexs corresponents als grafs simètrics G 1 , G 2 , G 3 i G 4 . Sabent que no tenen llaços,<br />
que G 1 no pot ser connex, que G 2 és complet i que G 3 és un arbre, assigneu a cada graf la<br />
seva seqüència.<br />
s 1 = 2, 3, 3, 3, 4, 4, 4, 5 s 2 = 1, 1, 1, 1, 2, 2, 2, 2 s 3 = 1, 2, 2, 3, 4, 5, 5, 3<br />
s 4 = 1, 1, 1, 1, 2, 2, 2, 4 s 5 = 7, 7, 7, 7, 7, 7, 7, 7 s 6 = 3, 3, 3, 3, 4, 4, 4, 8<br />
8. Un bosc és un graf simètric no connex on cada component és un arbre. Si G(V, A) és un<br />
bosc amb 26 vèrtexs i 21 arestes, quants components té?<br />
9. Demostreu que tot arbre que té més d’un vèrtex conté, pel cap baix, dos vèrtexs de grau 1.<br />
10. Demostreu que la molècula C n H 2n+1 OH és un arbre per a tot valor natural de n. (Recordeu<br />
que la valència d’un àtom és el nombre d’àtoms amb qui es pot enllaçar i que la valència del<br />
carboni és 4, la de l’oxigen 2 i la de l’hidrogen 1.)<br />
11. Hi ha cap graf pla i connex amb tots els vèrtexs de grau 4 i totes les regions delimitades per<br />
4 arestes?<br />
12. Demostreu que tot graf G(V, A) amb |A| < 9 o |V | < 5 és pla.<br />
13. Demostreu que no hi ha cap graf pla que tingui 5 regions de manera que cada dues regions<br />
siguin adjacents.<br />
14. Podem aconseguir que K 6 esdevingui pla eliminant dues de les seves arestes? I si en podem<br />
eliminar tres?<br />
15. Sigui G(V, A) pla on la regió més petita està formada per k ≥ 3 arestes. Demostreu que<br />
|A| ≤<br />
k(|V | − 2)<br />
k − 2<br />
16. Sigui G un graf pla, connex, amb 16 arestes i tal que el grau de cada vèrtex no és inferior a<br />
4. Quantes regions tindrà una representació plana de G?<br />
3
17. Donat el següent graf no dirigit,<br />
4<br />
7<br />
2 3<br />
5<br />
1<br />
6<br />
doneu la representació mitjançant matriu d’adjacència i mitjançant llistes d’adjacència.<br />
18. Indiqueu com es pot calcular el grau d’un vèrtex a partir de la matriu d’adjacències i a partir<br />
de la llista d’adjacències. Indiqueu, també, el nombre d’operacions elementals que caldria<br />
fer.<br />
19. Com pot detectar un programa els grafs complets i els seus complementaris a partir de la<br />
matriu d’adjacències?<br />
20. Completeu la taula següent, indicant per a cada entrada, quin tipus de representació seria<br />
més adequada (matriu d’adjacències o llista d’adjacències) i el nombre d’operacions elementals<br />
que caldria fer per a cada un dels problemes proposats, en un graf d’ordre n, mida<br />
m i on g i indica el grau del vèrtex i.<br />
Problema Representació Operacions<br />
Comprovar si el vèrtex i és adjacent al vèrtex j<br />
Calcular el grau del vèrtex i<br />
Afegir una aresta entre el vèrtex i i el vèrtex j<br />
Comprovar si el graf és nul (no té arestes)<br />
Eliminar l’aresta entre el vèrtex i i el vèrtex j<br />
Calcular el nombre d’arestes del graf<br />
Comprovar si el graf és regular<br />
4
2 Connectivitat, arbres i camins<br />
1. Dibuixeu un graf de sis vèrtexs en el qual siguin diferents tres arbres generadors: el de cost<br />
mínim, el de camins de distància mínima des de v 1 i el de camins de cost mínim des de v 1 .<br />
2. Dibuixeu els arbres amb seqüència de Prüfer:<br />
(a) 1,2,3,4,5,6<br />
(b) 1,1,1,1,1,1,1<br />
(c) 6,6,6,6,6,6,6<br />
(d) 2,2,2,2,2,4,4,4,4<br />
(e) 3,4,5,2,2,3,4,5,11<br />
3. Trobeu les seqüències de Prüfer dels següents arbres:<br />
2<br />
3<br />
4<br />
2 6<br />
6<br />
G 1<br />
1<br />
5<br />
7<br />
8<br />
7 1<br />
G 2<br />
5 3<br />
8<br />
4<br />
4. Donat un graf simètric G(V, A) dissenyeu un algorisme polinomial per a decidir si G és<br />
connex que recorri els vèrtexs per amplada prioritària. Avalueu-ne la <strong>complexitat</strong>.<br />
5. Sigui G un graf simètric i connex. Dissenyeu un algorisme polinomial per a determinar si<br />
G és bipartit. Avalueu-ne la <strong>complexitat</strong>.<br />
6. Sigui G un graf simètric. Dissenyeu un algorisme polinomial per a determinar quants components<br />
té G. Avalueu-ne la <strong>complexitat</strong>.<br />
7. Donat un graf simètric G(V, A) dissenyeu un algorisme per a determinar si G és connex que<br />
recorri els vèrtexs per fondària prioritària. Avalueu-ne la <strong>complexitat</strong>.<br />
8. Una pagesa té una garrafa de 8 litres plena de vi, i disposa només de dues garrafes buides de<br />
3 i 5 litres respectivament. Per a mesurar de manera exacta una quantitat, l’única possibilitat<br />
que té és abocar el contingut d’una garrafa cap a una altra fins que la primera es buida<br />
completament o la segona s’omple del tot.<br />
Plantegeu en termes de grafs (és a dir, descriviu quin és el graf i quin problema de grafs<br />
es vol resoldre) els problemes següents, indicant la solució, el mètode que s’utilitza per a<br />
trobar-la i l’ordre en què s’exploren els vèrtexs.<br />
5
(a) Es vol determinar si és possible repartir el vi en dues parts iguals.<br />
(b) Es vol trobar el mínim nombre de passos que cal fer per a repartir el vi en dues parts<br />
iguals.<br />
(c) L’esforç que cal fer per aixecar una garrafa és proporcional a la quantitat de vi que<br />
conté. Es vol determinar la manera de repartir el vi en dues parts iguals de manera que<br />
l’esforç total per a aconseguir-ho sigui el menor possible.<br />
9. Un llop, un xai i un bròquil es troben al marge esquerre d’un riu, i el barquer del riu els vol<br />
passar al marge dret d’un en un. El llop i el xai no poden quedar sols per raons evidents,<br />
i el mateix passa amb el xai i el bròquil. Com es pot organitzar el trasllat? Plantegeu el<br />
problema en termes de grafs.<br />
10. Un procés de manufactura d’una joia comença amb un tros de plata en brut. Aquesta plata<br />
s’ha de tallar, polir, foradar i marcar convenientment. Convé tallar-la abans de fer-li els<br />
forats i polir-la abans de marcar-la. Suposem que per a cada joia tallar-la demana una unitat<br />
de temps; polir-la també; marcar-la requereix dues unitats de temps si la peça no ha estat<br />
tallada, i quatre si ho ha estat. Finalment, fer els forats comporta tres unitats de temps si<br />
la peça no està polida, cinc unitats si ja ho està però no marcada, i set unitats si ja està<br />
marcada.<br />
Usant un esquema de treball basat en els grafs, es demana trobar la seqüència correcta<br />
d’activitats que permet realitzar el procés en el mínim temps possible.<br />
11. Una empresa suïssa d’aviació va ampliar l’estiu passat el seu negoci, obrint vols diaris entre<br />
6 ciutats. Aquesta taula dóna les distàncies entre aquestes 6 ciutats:<br />
Berlín Dublín Helsinki Ginebra Praga Palerm<br />
Berlín − 1530 1430 1139 348 2533<br />
Dublín 1530 − 2665 1570 1819 3440<br />
Helsinki 1430 2665 − 2381 1739 4007<br />
Ginebra 1139 1570 2381 − 948 1990<br />
Praga 348 1819 1739 948 − 2294<br />
Palerm 2533 3440 4007 1990 2294 −<br />
(a) Per motius meteorològics, avui els vols de les següents línies no s’enlairaran, ni en<br />
un sentit ni en l’altre: Praga/Dublín, Praga/Ginebra, Palerm/Helsinki, Palerm/Ginebra,<br />
Berlín/Dublín i Berlín/Helsinki. Utilitza algun dels algorismes que coneixes per trobar<br />
la manera d’anar de Dublín a Praga recorrent la mínima distància possible.<br />
(b) L’empresa entra en crisi i ha de tancar algunes línies. Determina quines línies tancaries<br />
si es vol mantenir la possibilitat de volar des de qualsevol ciutat a qualsevol altra fent<br />
que la distància total de les línies que es mantenen sigui la menor possible.<br />
12. Set computadors estan interconnectats per una xarxa de baixa velocitat. La taula següent<br />
dóna els temps (en milisegons) que tarden els missatges a recórrer cada segment de la xarxa:<br />
6
Segment (A,B) (A,C) (A,D) (B,C) (C,D) (B,E) (B,F) (D,F) (E,F) (E,G) (F,G)<br />
Temps 5 4 4 3 2 4 2 3 2 3 4<br />
L’administrador de la xarxa, situat en el punt C, ha d’enviar diàriament missatges a tots els<br />
ordinadors. Indicant el tipus d’arbre generador que es vol trobar, el mètode utilitzat per a<br />
obtenir-lo i els passos seguits, determineu la subxarxa per la que caldria enviar el missatge<br />
si:<br />
(a) Es vol minimitzar el temps total que es necessita per a enviar el missatge per la xarxa.<br />
(b) El missatge és urgent i, per tant, es vol fer arribar el més ràpidament possible a tots els<br />
ordinadors.<br />
7
13. La taula següent recull la distància (en milles) entre diverses ciutats de l’estat d’Indiana<br />
(USA):<br />
Bloomington Evansville Fort Wayne Gary Indianapolis South Bend<br />
Evansville 119 −− −− −− −− −−<br />
Fort Wayne 174 290 −− −− −− −−<br />
Gary 198 277 132 −− −− −−<br />
Indianapolis 52 168 121 153 −− −−<br />
South Bend 198 303 79 58 140 −−<br />
Terre Haute 58 113 201 164 71 196<br />
Es vol construir un sistema de carreteres que comuniqui aquestes set ciutats. Suposant que<br />
el cost de construcció d’una milla de carretera està fixat, determineu quines carreteres s’han<br />
de construir perquè el cost total de la construcció sigui mínim. La solució és única o hi ha<br />
més d’una configuració de carreteres amb cost total mínim? Justifiqueu la resposta.<br />
14. Un viatjant treballa en un petit grup de 7 illes de l’arxipèlag malai. Cada dia s’hauria de<br />
desplaçar a totes les illes diverses vegades. El bitllet per anar d’una illa a una altra és vàlid<br />
per a tot el dia. Aquesta taula mostra el valor del bitllet entre les illes que estan comunicades<br />
directament:<br />
Illes Kabia Kabaena Butung Tuk. Muna Alor Atauro<br />
Kabia 11 5 5<br />
Kabaena 7<br />
Butung 4 5 8<br />
Tukangbesi 6 10 6<br />
Muna 13 5<br />
Alor<br />
Atauro<br />
Quina és la forma més econòmica en què pot viatjar per totes les illes? A quan puja la<br />
despesa en transport? Quin arbre generador heu fet servir?<br />
15. Utilitzant el mètode de Floyd trobeu el camí de cost mínim entre cada parell de vèrtexs en<br />
el graf dirigit representat per la matriu de costos<br />
⎛<br />
C(G) = ⎜<br />
⎝<br />
0 5 1 5<br />
∞ 0 ∞ 4<br />
∞ 3 0 1<br />
3 1 ∞ 0<br />
⎞<br />
⎟<br />
⎠<br />
8
3 Circuits eulerians i circuits hamiltonians<br />
1. En els escacs, estudieu si és possible determinar un recorregut tancat (circuit) per a un<br />
cavall, tal que realitzi damunt del tauler (8 x 8) tots els moviments possibles una vegada (es<br />
considera que saltar d’una casella i a una altra j és el mateix moviment que fer-ho de la j a<br />
la i).<br />
2. Formuleu en termes de grafs: en el joc dels escacs, es vol saber si és possible per a un cavall<br />
recórrer les 64 caselles del tauler passant una vegada, i només una, per cadascuna d’elles.<br />
Si el tauler fos n x n amb n senar, seria possible el recorregut? Per què?<br />
3. Quantes vegades (com a mínim) s’ha d’aixecar el llapis del paper per dibuixar la figura sense<br />
repetir cap línia? Justifiqueu la resposta en termes de grafs.<br />
4. Determineu un camí eulerià pel graf següent:<br />
1 2<br />
4<br />
3<br />
7<br />
5<br />
6<br />
8<br />
9<br />
5. Caracteritzeu els grafs següents per tal que tinguin circuit eulerià, és a dir, que siguin eulerians.<br />
(a) El graf T n corresponent a un arbre de n vèrtexs.<br />
(b) El graf complet K n .<br />
(c) El graf Z n corresponent al circuit de n vèrtexs.<br />
9
(d) El graf bipartit complet K x,y .<br />
(e) El multigraf G(V, A) amb |V | = 7 i seqüència de graus dels vèrtexs S 7 = (2, 4, 4, 4, 4, 6, 8).<br />
6. Caracteritzeu els grafs del problema anterior per tal que tinguin camí eulerià.<br />
7. Doneu, en cada apartat, un exemple de graf connex que verifiqui:<br />
(a) És eulerià i hamiltonià.<br />
(b) És eulerià i no hamiltonià.<br />
(c) No és eulerià i sí que és hamiltonià.<br />
(d) No és ni eulerià ni hamiltonià.<br />
10
8. Resoleu, mitjantçant el mètode d’Edmonds el problema del carter xinès per al graf següent.<br />
3<br />
v 1<br />
✓ ✓✓❙ ❍<br />
❍<br />
❍<br />
4 ❙ 1 ❍1<br />
❍<br />
✓<br />
❙ ❍<br />
v 5 2 v 3 v 5<br />
❙<br />
✓<br />
1 ❙<br />
✓<br />
❙ ✓✟ ✓ ✟✟✟✟✟✟❍<br />
4<br />
1<br />
v 4<br />
9. Sigui G(V, A) simètric i no eulerià. Demostreu que en la solució al problema del carter<br />
xinès cap aresta no serà recorreguda mai més de dues vegades. Podem afirmar el mateix si<br />
G és dirigit?<br />
10. En el joc del dòmino:<br />
(a) És possible obtenir una seqüència circular que contingui totes les fitxes?<br />
(b) El mateix que abans, si prescindim de totes les fitxes que contenen 6 punts en un dels<br />
costats.<br />
(c) El mateix que en (a) si el joc conté totes les fitxes que es poden formar usant 0 punts,<br />
1 punt, . . ., N punts.<br />
(d) En el dòmino tradicional, si eliminem la fitxa 1 2 i la 3 4 , és possible obtenir una<br />
seqüència (circular o no) que contingui totes les altres fitxes?<br />
11. Considereu un tambor magnètic que té 16 sectors diferents. Per a saber en cada moment<br />
en quina posició es troba, es col . loquen 4 terminals sensors perpendicularment damunt de<br />
4 sectors consecutius. Cada sensor s’activa quan té a davant un sector fet d’un material<br />
conductor.<br />
Com es podria fer la distribució de material conductor i no conductor damunt dels sectors<br />
de manera que, a partir de la informació dels sensors, es pugui conèixer la posició relativa<br />
del tambor?<br />
12. Considereu que un servei de publicacions ha rebut N llibres per a imprimir i, a continuació,<br />
enquadernar. Siguin respectivament p i i e i el temps necessari per a imprimir i enquadernar<br />
l’i-èsim llibre. Suposeu que es verifica que donats dos llibres qualssevol l i i l j es compleix<br />
sempre que p i < e j o bé que p j < e i . Considereu que es disposa d’una màquina per a<br />
la impressió i una altra per a l’enquadernació. Formeu una seqüència d’impressió dels N<br />
llibres on la màquina d’enquadernar estigui treballant, de forma continuada, des del moment<br />
que s’ha acabat d’imprimir el primer llibre fins que s’ha acabat d’enquadernar el darrer.<br />
13. Reunits a l’estació de Plaça Catalunya, els inspectors del metro de Barcelona volen fer un<br />
recorregut que visiti totes les estacions i torni a l’estació d’origen.<br />
11
(a) Proposeu un mètode per a determinar el recorregut més ràpid possible.<br />
(b) Proposeu un mètode per a determinar un recorregut que, tot i que potser no és òptim,<br />
no superi en un 50% el temps del circuit òptim.<br />
(c) Quin dels dos mètodes anteriors creus que haurien d’utilitzar els inspectors?<br />
14. En el següent graf simètric, determina un circuit que passi, com a mínim, un cop per cada<br />
vèrtex, de manera que el cost d’aquest circuit no sigui superior al 50% del cost del circuit de<br />
cost mínim. Indiqueu els passos seguits i el cost total. És la solució un circuit hamiltonià?<br />
v 1 v 2 v 3 v 4 v 5 v 6<br />
v 1 − 15 30 10 − 65<br />
v 2 − 50 30 − −<br />
v 3 − 35 − −<br />
v 4 − 40 60<br />
v 5 − 50<br />
v 6<br />
−<br />
15. Determineu si el graf següent és hamiltonià. Si ho és, assenyaleu el circuit hamiltonià, si no<br />
ho és, demostreu-ho usant algun criteri general.<br />
16. Demostreu que el graf següent no té circuit hamiltonià<br />
12
4 Coloració<br />
1. Un dels problemes típics de coloració consisteix en col . locar vuit reines en un tauler d’escacs<br />
de manera que cap d’elles no n’amenaci cap altra. (Hi ha 92 maneres diferents de fer-ho.)<br />
Plantegeu el problema en termes de grafs.<br />
2. Es volen assignar freqüències de ràdio a set emissores diferents. Cal tenir en compte que<br />
si dues emissores estan a una distància inferior a 100 quilòmetres, hauran de disposar de<br />
freqüències diferents per tal que no hi hagi interferències. La taula següent indica a quines<br />
distàncies estan situades les emissores. Quantes freqüències caldran per tal de poder fer<br />
l’assignació? Resoleu el problema mitjançant la cerca dels conjunts independents maximals<br />
(Bron i Kerbosch).<br />
A — 79 175 220 60 30 50<br />
B 79 — 85 175 50 160 115<br />
C 175 85 — 90 200 220 75<br />
D 220 175 90 — 210 220 35<br />
E 60 50 200 210 — 65 130<br />
F 30 160 220 220 65 — 155<br />
G 50 115 75 35 130 155 —<br />
3. Considereu totes les assignatures de segon cicle en uns estudis superiors. Suposeu que, per<br />
a cadascuna, s’ha d’escollir un dia per a fer l’examen final, i que es disposa d’una relació de<br />
tots els estudiants que hi són matriculats.<br />
Plantegeu en termes de grafs el problema si volem fer una distribució dels exàmens que<br />
prengui el nombre mínim de dies, de manera que cap estudiant no estigui matriculat de dues<br />
assignatures que tenen assignat el mateix dia.<br />
4. Coloreu de manera òptima els següents grafs. Justifiqueu que la coloració és òptima i que,<br />
per tant, no podríeu haver colorat el graf amb menys colors.<br />
G 1<br />
G 2<br />
G 3<br />
5. Determineu f(K 2,5 , t) tot considerant les propietats del graf.<br />
13
6. Sigui Z n el circuit de longitud n ≥ 3. Comproveu que f(Z n , 3) = 2 n +2(−1) n i demostreu,<br />
per inducció sobre n, que<br />
f(Z n , t) = (t − 1) n + (−1) n (t − 1)<br />
7. Sigui G el graf simètric format per dos grafs H i K que tenen en comú una única aresta<br />
(v i , v j ) i els dos vèrtexs v i , v j . Siguin f(G, t), f(H, t) i f(K, t), respectivament, els polinomis<br />
cromàtics per a G, H i K. Deduïu una expressió per a f(G, t) en funció de f(H, t) i<br />
f(K, t).<br />
8. Demostreu que en tot graf G(V, A) amb |A| ≥ 1 la suma dels coeficients del polinomi<br />
cromàtic val sempre zero.<br />
9. Per pintar el mapa comarcal de Catalunya, els infants de l’Escola Bressola disposaven només<br />
de quatre colors. Tot i això, en Joan va poder pintar totes les comarques a excepció del<br />
Gironès. Aquesta delimita amb el Baix Empordà, La Selva, el Pla de l’Estany i la Garrotxa,<br />
pintades de color blau, verd, groc i roig, respectivament. Partint de la coloració actual,<br />
proposa un mètode que permeti en Joan pintar el Gironès i, amb això, aconseguir pintar el<br />
mapa comarcal de Catalunya amb 4 colors.<br />
10. Demostreu que tot graf pla pot ésser pintat usant 6 colors, sense fer cap referència al teorema<br />
dels 4 colors ni al teorema dels 5 colors.<br />
14