grafs - fonaments i algorismes

224
j ,1 , Grafs: ··.fonaments l algorismes , ~ , , " \ M A N U AL' S Matematiques Josep M. Basart i Muñoz ' Universitat Autonoma de Barcelona 1111111111111~le~j\lf¡illllrl¡~II~lij~11111111111111 ' ' 1501090877 L , •• Universitat Autónoma de Barcelona, -, " Servei de Publicacions , 3a edició

Upload: davidg

Post on 30-Jun-2015

860 views

Category:

Documents


21 download

DESCRIPTION

Grafs - Fonamets i algorismes

TRANSCRIPT

Page 1: Grafs - Fonaments i Algorismes

j ,1 ,

Grafs:··.fonamentslalgorismes

, ~ ,

,

" \

M A N U AL' SMatematiques

Josep M. Basart i Muñoz '

Universitat Autonoma de Barcelona

1111111111111~le~j\lf¡illllrl¡~II~lij~11111111111111 ' '1501090877

L,

•• Universitat Autónoma de Barcelona, -," Servei de Publicacions

, 3a edició

Page 2: Grafs - Fonaments i Algorismes

GRAFS:FONAMENTS 1ALGORISMES

Manuals de la Universitat Autónoma de Barcelona13

Page 3: Grafs - Fonaments i Algorismes

Josep M. Basart iMuñozProfessor del Departament d'Informaticade la Universitat Autónoma de Barcelona

GRAFS:FONAMENTS 1 ALGORISMES

Publicacionsde la Universitat Autónoma de Barcelona

Bellaterra, 1998

Page 4: Grafs - Fonaments i Algorismes

Aquest lIibre s'ha publicat amb la col-laboració delDepartament d'Ensenyament i Recerca i del Departament

de Cultura de la Generalitat de Catalunya.

DADES CATALOGRÁFIQUES RECOMANADES PEL SERVEI DEBIBLIOTEQUES DE LA UNIVERSITAT AUTÓNOMA DE BARCELONA

BASART iMUÑOZ, Josep M.

Grafs: Fonaments i algorismes. - (Manuals de la Universitat Autónoma de Bar-celona; 13)

ISBN 84-490-1420-4

L UNIVERSITAT AUTÓNOMA DE BARCELONA (Bellaterra)TI. Col-leccióI. Grafs, Teoría deIs519.17

Primera edició: 1994Segona edició: dessembre de 1998

Tercera edició: gener de 2003

Edició i irnpressió:Universitat Autónoma de Barcelona

Servei de Publicacions08193 Bellaterra (Barcelona)

Tel : 93 581 10 22. Fax: 93 581 32 [email protected]

ISBN 84-490- 1420-4Diposit legal: B. 44.025-1998

Impres a Espanya. Printed in Spain

NO ES LEGAL

Aquesta publicació no pot ser reprodiúda. ni totalmcnt i parcialment, ni enregistrada en,o transmesa per, un sistema de recuperació d'infonnació, en cap forma ni per cap mitjá,

sia fotornecánic, fotoquímic. elecrrónic, per fotocopia o per qualsevol alrre, sense el per-mís previ deis cditors.

Page 5: Grafs - Fonaments i Algorismes

8

Centaure

{3

(

Constel-lació austral situada al nord de la Creu i a l'estde la Vela. Té 270 estels visibles a ull nu, dos deIs qualssón de primera magnitud: a del Centaure (sistema binariacompanyat d'un tercer element anomenat Proxima delCentaure, el qual és l'estel més proper al Sol -uns 4,36anys de llum-) i (3 del Centaure (Agena).

Page 6: Grafs - Fonaments i Algorismes
Page 7: Grafs - Fonaments i Algorismes

1 Introducció i fonaments1.1 Definicions basiques .1.2 Tipus de grafs. . . . .1.3 Accessibilitat i condensació1.4 Recorregut d'un graf ....1.5 Emmagatzematge dels grafs1.6 Comportament d'un algorisme1.7 Classes de problemesComentaris bibliográficaExercicis .

15151721242627303434

Continguts

Proemi 11

2 Planaritat2.1 Resultats basics .2.2 Grafs plans externs . . . . . . . .2.3 Caracteritzacions de la planaritat2.4 Test de planaritatComentaris bibliográficaExercicis .

37374042475051

3 Recobriments i coloració3.1 Independencia i dominació .3.2 Cobertura i partició d'un conjunt3.3 Coloració dels vertexs . . . .3.4 El polinomi cromatic .....3.5 Obtenció aproximada de 'Y( G)3.6 Obtenció exacta de 'Y( G) .3.7 Coloració de les arestes .Comentaris bibliograficsExercicis .

53535659666869717475

7

Page 8: Grafs - Fonaments i Algorismes

8 Continguts

4 Aparellarnents4.1 Aparellament rnaxim . . . . . . . . .4.2 Obtenció d'un aparellament maxim .4.3 Aparellament de cost major . . . . .4.4 Obtenció d'un aparellament de cost majar4.5 Aparellament perfecte .4.6 Aparellament perfecte optim a KN,N

4.7 Problemes relacionatsComentaris bibliograficsExercicis .

5 Arbres i brancatges5.1 Caracteritzacions dels arbres5.2 Arbres generadors5.3 Arbre de cost mínim5.4 Arbres de Steiner .5.5 BrancatgesComentaris bibliograficsExercicis .

6 Carnins i connectivitat6.1 Camí de cost mínim6.2 k-esim camÍ de cost mínim .6.3 Altres camins optirns . . . .6.4 Circuits i talls. . . . . . . .6.5 Lligam entre circuits i talls6.6 Connectivitat ...Comentaris bibliograficsExercicis .

7 Xarxes de transport7.1 Flux máxim en una xarxa .....7.2 Metode del flux-máxim tall-mÍnim7.3 Metode gravitaeional .7.4 Variacions pel problema del flux maxim7.5 Problemes relaeionats .7.6 Minimització del eost per a un flux fixat7.7 Xarxes d'ares amb guanyComentaris bibliograficsExercieis .

77778084869193959798

101101103105107110117118

119119125128133134136141141

143143146150156159160163166167

Page 9: Grafs - Fonaments i Algorismes

Continguts 9

8 Camins i circuits eulerians8.1 Caracterització dels camins i dels circuits8.2 Obtenció d'un circuit euleriá8.3 Circuit euleria mixt ... ..8.4 Les sequencies de De Bruijn .8.5 El problema del carter xines .Comentaris bibliográficaExercicis .

169169170172174175180180

9 Camins i circuits hamiltonians9.1 Teoremes d'exístencia ....9.2 Obtenció de camins hamiltonians9.3 El problema del viatjantComentaris bibliográficaExercicis .

183183188191199199

Apendíx: fonaments de programació lineal 203

Bibliografia

Índex

213

219

Page 10: Grafs - Fonaments i Algorismes
Page 11: Grafs - Fonaments i Algorismes

Proemi

Els primers treballs que d'una manera o altra van influir en la formació d'unaposterior teoria de grafs s'han de situar alllarg dels segles XVIII i XIX. De fet,pero, caldria atorgar a Leonhard Euler (1707-1783) l'honor d'ésser el precursord'aquests estudis, si res més no, pel que va escriure l'any 1736 sobre un problemaque li havia estat proposat, relatiu a un recorregut particular a través delsponts de la ciutat de Kónigsberg. La seva solució va donar la caracteritzaciódels camins i circuits que ara anomenem eulerians:

"1. A més d'aquella part de la geometria que s'ocupa de les quantitats,la qual sempre ha generat un interés preferent, hi ha una altra part ~encaraprácticament desconeguda= que ja fou esmentada per Leibniz amb el nomde geometria de posició. Aquesta part de la geometria estudia tot allo quepot ésser determinat únicament per la posició, així com les propietats de laposició; en aquest camp hom no hauria de preocupar-se de quantitats ni decom obtenir-les. No obstant aixo, els tipus de problemes que pertanyen aaquesta geometria de posició i els metodes usats per resoldre'ls encara no sónsuficientment definits. Així dones, quan darrerement se'm va plantejar unproblema que semblava básicament geometric, pero que no demanava l'obtencióde quantitats ni admetia una solució basada en el calcul de quantitats, emvaig adonar que pertanyia a la geometria de posició, sobretot perque nomésla posició es podia usar per resoldre'l, mentre que el cálcul es mostrava inútil.Així, he decidit exposar ací, com a mostra de la geometria de posició, el metodeque he deduit per a resoldre problemes d'aquesta mena."(-Solutio Problematis ad Geometriam Situs Pertinentis", Butlletí de l'Académia deCiéncies de Sto Peiersburq 8, p. 128-140, (1736), 1741.)

Establert l'inici, no es pot descriure fácilment l'evolució histórica d'aquestadisciplina, donat que, en els primers treballs fets, aquests pioners volien resoldreproblemes específics, vistos com a independents de qualsevol altre; no els podienpensar com a problemes particulars sobre un graf, simplement perque aquestconcepte encara no existía tal com l'entenem avui. Aixo no hauria pas de

11

Page 12: Grafs - Fonaments i Algorismes

12 Proemi

sorprendre; recordem només que aquest és un tret característic en la formaciói en l'evolució inicial de practicament totes les disciplines científiques.

Entre els que podríem anomenar clássics (anteriors al segle XX), trobem A.Cayley (1821-1895), W. R. Hamilton (1805-1865), A. B. Kempe (1849-1922)i G. Kirchhoff (1824-1887). Cayley va contribuir al desenvolupament del con-cepte d'arbre generador en un graf simetric mentre cercava l'enumeració deIsisorners de CnH2n+2. Hamilton va iniciar l'estudi deIs camins i circuits hamil-tonians, a partir del desenvolupament d'un joc de taula que ell mateix haviadissenyat. Kempe va ser deIs primers en estudiar el problema de pintar unmapa de manera óptima, amb la qual cosa inicia la recerca sobre la coloraciódeIs grafs plans. Finalment, Kirchhoff va desenvolupar l'estudi general deIscircuits i deIs talls fonamentals mentre s'interessava per diverses propietats deles xarxes electriques, a partir de les lleis d'Ohm.

Ja en el segle XX, Theorie der endlichen und unendlichen Graphen (Teoriade grafs finits i infinits) de D. Konig -publicada a Leipzig el 1936- recolliapracticament tot el que s'havia fet d'enca deIs primers treballs d'Euler, peroés sobretot a partir de la Segona Guerra Mundial que augmenta rapidamentel nombre de teórics dedicats als grafs, i el nombre de branques diferents dinsde la teoria de grafs. Seria molt difícil de donar una relació de les principalscontribucions, tot i aixo, caldria esmentar els treballs de C. Berge, J. Edmonds,P. Erdos, F. Harary, G. Kuratowski, 1. Lovász, W. T. Tutte i H. Whitney entremolts altres.

Actualment, la teoria de grafs és considerada com una part de la combi-natoria, pero amb un interés especial, donat el creixement continuat del seuambit d'aplicacions; de fet, proporciona un model maternátic senzill i potent,valid per a qualsevol sistema que presenti una relació binaria entre els elements.Aquest interés practic dels grafs es va desenvolupar parallelament als avencostecnologics en el hardware de les darreres generacions d'ordinadors. Les novesarquitectures van permetre augmentar exponencialment la capacitat de calculde les máquinas i, en conseqüencia, un bon nombre de problemes que noméshavien tingut interés teoric, van comencar a ésser tractables computacional-mento

L'objectiu d'aquest text és doble. Per una part, presentar i desenvolupar unconjunt de metodes i de tecniques d'optimització basades en els grafs, les qualss'espera que puguin ésser d'utilitat al lector en l'analisi i en la resolució d'unampli espectre de problemes científico-tecnics. La conveniencia d'optimitzar,determinar la millor solució entre un conjunt de solucions valides, és evidenten la major part dels projectes i dels processos, i es fa imprescindible quan hiintervenen factors com ara el temps invertit, el cost económic, la seguretat o lacompetitivitat. No es pretén, pero, donar simplement un compendi de receptesper a cada tipus de situació; per aixo, juntament amb els metodes, es presentauna formalització rigorosa de les propietats de cadascun deIs plantejaments

Page 13: Grafs - Fonaments i Algorismes

Proemi 13

considerats. D'aquesta manera, s'espera arribar a un major coneixement de lescaracterístiques, amb el proposit de facilitar-ne la comprensió i l'aplicació.

Ambdós, el contingut i el tractament dels temes, són pensats fonamental-ment per als estudiants d'Informática, tot i que bona part del material pot serusat en qualsevol altra enginyeria o a Matemátiques en assignatures amb con-tinguts d'optimització, de cornbinatoria o de matemática discreta. El bagatgeprevi per a seguir el text sense dificultat és lleuger i es redueix a la notació usadaper als conjunts, els elements basics d'algebra i calcul, les tecniques fonarnen-tals de demostració de teoremes (inducció, contradicció ... ), i la familiaritat ambalgun llenguatge de programació estructurada tipus PASCAL. Al final de cadacapítol hi ha uns quants exercicis a manera de test de comprensió de la materia,i -tal com ha de ser- es recomana fervorosament a l'estudiant que tracti deresoldre'ls per tal de consolidar els coneixements adquirits.

Finalment, voldria deixar constancia del meu agraiment als estudiants quehe tingut al llarg dels anys en l'assignatura de Grafs i Oombinotoria. Moltsovint, les seves preguntes i els seus dubtes m'han obligat a clarificar o a revisarle meves explicacions. El resultat ha estat, sense dubte, una millora notableen el contingut i en la redacció final d'aquest texto Joan Vinyeta ha tingut lagentilesa de llegir amb atenció el manuscrit i de mostrar-me'n algunes errades;naturalment, totes les que encara hi romanguin són només responsabilitat meya.

Un reconeixement a part mereix en Jaume Pujol, professor del Departamentd'Inforrnática de la UAB, que sempre ha tingut temps i paciencia per a aclarir-me dubtes i resoldre'm dificultats amb el sistema d'edició Iffi.TEXamb el qual'ha elaborat aquest trebal!.

J. M. B.Bellaterra, gener de 1993

Page 14: Grafs - Fonaments i Algorismes
Page 15: Grafs - Fonaments i Algorismes

apítol 1

troducció i fonaments

.1 Definicions básiques

-_ grnf G(V, A) esta format per un conjunt de punts V = {VI, V2"', Vk"'} i perconjunt de línies A = {al, a2 ... , aq ... }, de manera que cada línia uneix dos

,- punts. Si les línies estan orientades s'anomenen ares i el graf, dirigit; si noestan s'anomenen aresies i el graf, simétric. Els punts s'anomenen sempreexs. Sempre que convingui per a simplificar la notació, s'usaran lletres

ubindexar tant per a identificar els vertexs com les arestes (els arcs).- - conjunts V i A seran sempre finits i, en conseqüencia, els grafs resultants

': arnés, mentre no establim el contrari, considerarem que IVI = ti i que_ =m .

.ETI:~IPLEla fig. 1.1 es representa el graf simetric G(V, A) format per

- V = {VI, V2, V3, V4, V5, V6}- A = {(VI, V2), (VI, V3), (VI, V5), (VI, V6), (V2, V3), (V2, V4), (V2, V5),'(V3, V4),(V4,V5),(V4,V6), (V5,V6)}

En un graf dirigit G els sueeessors d'un vertex Vi vénen donats pel conjuntT L'i) de tots els vertexs als quals es pot arribar des de Vi usant un are, Igual-

ent podem definir r-1(Vi) com el conjunt dels anteeessors de Vi, En general,(Vi) = I'(T'(I'( ... I'( Vi) , . .) . Si G és simetric, no té sentit diferenciar vertexs

\. .J

nantecessors i vertexs successors; usarem només r(Vi), i direm que dos vertexssén adjaeents (o veins) si existeix una aresta que els uneix.Ln llar; és una aresta (un arc) que comenca i que acaba en un mateix vertex, Un

15

Page 16: Grafs - Fonaments i Algorismes

16 1. Introducció i fonaments

G(V,A)

fig. 1.1

camí és qualsevol seqíiencia ordenada d'arestes (ares) on el vertex final d'unaaresta és l'inicial de la següent. La distancia d( Vi, Vj) entre dos vertexs Vi, Vj

és el nombre d'arestes (arcs) que conté el camí més curt que enllaca Vi ambVj. Un camí és simple si no repeteix arestes (arcs), i elemental si no repeteixvertexs. Un circuit és un carní tancat que comenca i que acaba en un mateixvertex,

Teorema 1.1 Sigui G(V, A) un gmf simétric. Tot camí P de G entre dosuértexs u i V conté un camí elemental P* entre u i v.

DEMOSTRAcró. Sigui P = (u = Xl,X2 ... ,Xk = v) la seqúencia de vertexs delcamí entre u i v dins de G. Si cap vertex no es troba repetit a P, aleshoresP* = P és un camí elemental entre u i v. Cas contrari, hi haura dos elementsXi i Xj de P (i < j) tals que z, i Xj representen un mateix vertex, Si elselements Xi, Xi+l ... , Xj-l s'eliminen de P, s'obté un camí P' de u a v que témenys vertexs que P. Si P' no té vertexs repetits prenem P* = P' com elcamí elemental cercat, cas contrari, repetim el procés anterior sobre P' fins queobtinguem un camí elemental de u a v.o

En un graf G dirigit el gmu exterior (interior) de cada Vi ve donat pelIr(Vi)1 (Ir-1(Vi)I)· S'anomena gmu la suma dels dos, i si el graf és simctrices parla simplement del grau de cada vertex. EIs dos valors extrems per alsgraus dels vertexs d'un graf G simetric tenen un interés especial; així, definiml::.(G) = maxviEv{grau(vi)} i 6(G) = minViEv{grau(vi)}' Un graf simetric ésk-regular si tots els vertexs tenen el mateix grau k. És fácil veure:

Teorema 1.2 Si G(V, A) és dirigit:

n n

l:Ir(Vi) I+ l:Ir-1(Vi)1 = 21AIi=l i=l

Page 17: Grafs - Fonaments i Algorismes

1.20 Tipus de grafs

mentre que si és simétric:

n

L If(Vi)1 = 21AIi=l

Com a conseqiiencia de la relació precedent podem establir el:

CoroHari 1.3 En tot gmf el nombre de uértexs de gmu senar és sempre parell.

Un subgmfGs(Vs, As) d'un graf simetric G(V, A) és un graftal que Vs S;; V= -;Vi E Vs =} fS(Vi) = f(Vi) n Vs. Si G és dirigit es pot donar una definicióanáloga, Donada una propietat p aplicable a un graf G, definim un subgmfmaximal (minimal) de G respecte a p, que denotem Cs, com un subgraf deG que verifica p de manera que no hi cap altre Gs -subgraf de G- ambf- e Vs(Vs e l1s) que també verifiqui p.

1.2 Tipus de grafs

El graf subjacent d'un graf dirigit G(V, A) és el graf que s'obté si es prescindeixde lorientació deis seus ares.

G p(Vp, Ap) s'anomena un gmf parcial de G(V, A) si Ap S;; A i Vp S;; V. Un-nultigmf és un graf on hi poden haver arestes (ares) repetides (repetits).Un graf sense llacos és completsi té el majar nombre possible d'arestes (ares). Elgraf simetric i complet de t vertexs es representa per K¿ El gmf complementanG(V. A) corresponent a un graf G(V, A) és el graf format per totes les arestesque li manquen a G per a ésser completo

Un graf simetric es diu connex si entre cada parella de vertexs existeixalrnenys un camí que els uneix. Cada subgraf maximal connex en un grafsimetric G s'anomena un component de G. Un pont a G és tota aresta aj talque G(V, A - {aj}) té més components que G. Una articulació a G és un vertexlO¡ tal que G(V - {vd, A - Ai) té més components que G, essent Ai S;; A elconjunt d'arestes que tenen Vi com un vertex terminal. En la fig. 1.2 a és unpont i v una articulació. Un conjunt U de vertexs (o arestes) d'un graf G(V, A)'anomena un separador per a G si G - U té més components que G.

Un tall, en un graf connex i simetric G(V, A) és tot conjunt minimaldarestes Al e A tal que G(V, A - Al) resulta disconnex.

Teorema 1.4 Tot gmf G(V, A) siméiric amb !VI ::::2 conté, pel cap baix, doscériexs que no són articulacions.

DEMOSTRACIÓ. Suposem el contrari, és a dir, que hi ha un graf G connex ambdos o més vertexs que conté, com a molt, un ver ex que no és una articulació.

17

Page 18: Grafs - Fonaments i Algorismes

18 1. Introducció i fonaments

• f> > f>v

a

•G G - {v} G - {a}

fig. 1.2

Siguin Vi i Vj dos vertexs de G tals que d(Vi, Vj) = maxVp,vqEI/{d(vp, vq)}. Coma mínim, un dels dos vertexs Vi, Vj és una articulació; sigui aquest Vj. SiguiVk un vertex del component G - {Vj} que no conté Vi. Donat que tot camí deVi a Vk dins de G conté Vj -per ésser aquest una articulació- obtenim qued(Vi,vd > d(Vi,Vj) la qual cosa és impossible.D

Teor erna 1.5 Una aresta ai d 'un graf simétric G és un pont {::} a; no es trobaen cap circuit de G.

DEMOSTRAcró. (:::}) Considerem G connex, sigui a; = (Vi, Vj) una aresta deG que es troba en algun circuit e de G, i sigui n VI, V2 dos vertexs diferentsde G. Si ai no es troba en cap camí elemental P de VI a V2, aleshores, P éstambé un camí de VI a V2 dins de G - {c,}. D'altra banda, si a; es troba enun camí elemental Q de VI a V2, aleshores, substituint a; pel camí de Vi a Vjque hi ha a e i que no conté iu, obtenim un camí de VI a V2 dins de G - {ad.Pel teorema 1.1 tenim un camí elemental de VI a V2 dins de G - {ad i, enconseqíiencia, a: no és un pont.

({:::) Sigui a; = (Vi, Vj) una aresta de G que no es troba en cap circuit deG, i considerem que a; no és un ponto Aixo vol dir que G - {ad és connex i,per tant, que hi ha un camí P de Vi a Vj dins de G - {ad. Pero P juntamentamb ai produeix un circuit a G que conté ai, la qual cosa és una contradicció.Per tant, ai és un pont.D

Si definim el graf trivial com el graf que té un únic vertex i cap aresta,aleshores, G(V, A) connex i simetric sera t-connex (t 2: 1) si tot conjunt W ~ V,tal que G - W o bé dóna un graf disconnex o bé dóna el graf trivial, verificaque IWI 2: t. Així, per exemple, si G és 2-connex no pot tenir cap articulació,i el graf de la fig. 1.3 és 3-connex.

Un graf dirigit es diu parcialment connex si entre cada parella de vertexsVi, Vj hi ha camí de Vi a Vj o bé a l'inrevés. Un graf dirigit es diu jortamentconnex si entre cada parella de vertexs hi ha camí en els dos sentits.

Representem rnitjancant G 11 aj la contracció de G a través de aj obtingudaquan s'elimina l'aresta aj = (Vi, Vk) de G i es transforma Vi i Vk en un vertex

Page 19: Grafs - Fonaments i Algorismes

1.2. Tipus de grafs 19

fig. 1.3

Vq que tingui totes les adj acencies de Vi i Vk. Un graf simetric G ({VI, V2}, A)'anomena bipartit si el seu conjunt de vertexs es pot partir en dos subconjunts

disjunts VI i V2 de manera que cada (Vi, Vj) verifica que Vi E VI i que Vj E V2·

'anomena bipartit complet, i es representa per KIV11,1V21' si existe ix una arestaentre tota parella (Vi,Vj) on Vi E VI,Vj E V2·

Teorema 1.6 Un graf G és bipartit {o} tots els seus circuits prenen un nombreparell d 'arestes.

DEMOSTRAcró. (:::}) Si G és bipartit tots els seus vertexs es poden distribuirentre les dues classes VI i V2 de manera que cada aresta té un vertex a VI il'altre a V2. D'aquesta manera, cada circuit que comenci en un vertex Vi E VIhaurá d'usar un nombre parell d'arestes per a tornar a Vi.

(~) Sigui VI E V i sigui VI el conjunt de tots els vertexs que estan adistancia parella de VI, on VI inclou VI -que es troba a distancia O d'ellmateix-, i V2 = V - VI.

Considerem que hi ha una aresta (Vi, Vj) tal que Vi i Vj són vertexs de VI,aleshores, el camí més curt de VI a Vi es pot enllacar amb el camí més curt deVI a Vj mitjancant l'aresta (Vi, Vj)' El resultat seria un circuit amb un nombresenar d'arestes, la qual cosa no és possible. (S'usa un raonament analeg siVi E V2 i Vj E V2.)O

fig. 1.4

Un arbre siméiric és un graf simetric i connex sense circuits, així, en totarbre existe ix un únic camí entre cada parella de vertexs. Sigui T( G) un arbre

Page 20: Grafs - Fonaments i Algorismes

20 1. Introducció i fonaments

obtingut com a graf parcial d'un graf G, si T( G) conté tots els vertexs de G,aleshores, tota aresta aj E G tal que aj ti- T(G) s'anomena una carda de T(G).Un arbre dirigit és un graf dirigit G sense circuits on grau inter'ior(v;) = 1 pera tot Vi tret d'un vertex VI anomenat arrel que té grau interior( vd = O. Desde l'arrel -i només des de l'arrel- es pot accedir a tots els vertexs de G. Enla fig. 1.5 GI és un arbre sirnetric i G2 és un arbre dirigit d'arrel VI.

fig. 1.5

Dos grafs Gl, G2 són isomorfs si existe ix una correspondencia biunÍvocaentre els vertexs que preserva les adjacencies, Un graf G2 s'anomena unasubdivisió d'un altre Gl si G2 s'obté a partir de GI mitjancant el procés repetitde substituir una aresta aj de GI per un camí on els únics vertexs comuns ambG 1 són els vertexs terminals de aj, els quals són els vertexs terminals del camÍ.Es diu també que Gl i G2 són homeomorfs. En la fig. 1.6 G: i G2 són isomorfs,mentre que GI i G3 són homeomorfs.

VI

fig. 1.6

Page 21: Grafs - Fonaments i Algorismes

·3. Accessibilitat i condensació 21

1.3 Accessibilitat i condensaciónat un graf G la seva matriu ii'adjacéncia A = (aij) és quadrada, d'ordre ti

• ,-e donada per:si :J(Vi, Vj)cas contrari

Observem que si a~~) és un element de A2 aleshores aquest representa elmbre de camins de dues arestes (dos ares) que hi ha de Vi a Vj. Aixó és així,nat que:

n

(2) _ ""'aij - L aik akjk=l

on el producte val 1 només si els dos termes valen 1 alhora. Igualment podríemcalcular A 3, on:

n(3) _ ""' (2)aij - L aik akj

k=l

i obtenir el nombre de camins de tres arestes entre cada parella de vertexs,etc. Així, per inducció, podríem veure que Ak = Ak-l A per k = 2,3 ... , essentAl = A. En general, la matriu Ak avalua el nombre de camins de k arestes queconté el graf.

Hi ha una alternativa a la representació matricial d'un graf G sense llacos.La matriu d'incidéncia B = (bij) d'un graf G(V, A) conté n files i m columnesi ve donada per:

1-1

O

si Vi és el vertex inicial de ajsi Vi és el vertex final de ajsi aj no afecta Vi

Si el graf és simetric és habitual canviar tots els -1 per l.La matriu dadjacencia, pel fet de ser quadrada i binaria, permet op-

erar algebricament de manera molt senzilla i rápida, En canvi, la matriud'incidencia no presenta aquest avantatge, i és per aixo que no sol resultartan útil.

Donat un graf G, la matriu d'accés R = (rij) és quadrada, d'ordre ti i vedonada per:

si Vj és accessible des de Vicas contrari

En general, la z-esima fila de R es forma amb els elements del conjunt següent:

Page 22: Grafs - Fonaments i Algorismes

---------------------------------------------.

22 1. Introducció i fonaments

on p = IVI- 1.Una altra possibilitat per a obtenir R és calcular AP amb p = n - 1 fent

previament que A tingui aii = 1 Vi i usant la suma OR (O + O = O, 0+ 1 =1,1 + 0= 1,1 + 1 = 1). Els 1 en la diagonal principal serveixen per a mantenirels camins detectats en cada producte precedent.

És convenient de considerar també la matriu d 'accés Q = (qij), la qual ésquadrada d'ordre n i ve donada per:

si Vi és accessible des de Vj

cas contrari

Aquesta no és res més que la transposada de R, i es pot definir de formaanáloga Q(Vi) usant ara r-1(Vi) en lloc de r(Vi). Considerar conjuntament lesdues matrius ens sera molt útil tot seguit.

Un component fort d'un graf G dirigit consisteix en un subgraf maximal deG fortament connex. Notem que, pel fet de ser maximal, cada Vi apareixera ennomés un dels components forts. Per a trobar els components forts de G n'hiha prou amb cercar les files (o columnes) de R ® Q -el producte de matriuselement a element- que coincideixen i fer-ne grups; tots els vertexs de cadagrup es trobaran en el mateix component fort.

El graf condensat G* (V*, A *) del graf dirigit G(V, A) té com a V* els com-ponents forts de G on:

Notem que el graf condensat no conté mai cap circuit perque, si n'hi hagués,els vertexs ja no serien tots components forts. Podríem dir que G* el que faés extreme (condensar) les relacions d'accessibilitat dels vertexs de G reduint,alhora, el seu nombre de vertexs i ares.

Sigui G(V, A) dirigit: una base B de G és tot conjunt minimal de vertexs desdel qual es pot accedir a tots els vertexs de G. Queda dar que si dos vertexs estroben en una certa base aleshores no poden formar part del mateix componentfort. D'altra banda, si el graf G considerat no té circuits, aleshores les sevesbases seran la unió dels vertexs que tenen grau interior nul. Aquests fets ensempenyen a considerar el graf G* a l'hora de trobar les bases de G.

Una contrabase É de G és tot conjunt minimal de vertexs al qual es potaccedir des de qualsevol vertex de G. Analogament al que deiern per les bases,tenim ara que si el graf G no conté circuits aleshores les contrabases vindrandonades per la unió dels vertexs que tenen grau exterior nul. Així dones, seratambé útil usar el graf condensat associat.

La base de poder de G és el conjunt minimal de vertexs Bp des del qual espot accedir a tot els vertexs de G i al qual no s'hi pot arribar des de cap vertex

Page 23: Grafs - Fonaments i Algorismes

1.3. Accessibilitat i condensació 23

fora de Bp. De la definició es despren que Bp s'haura de formar a partir de launió de les bases de G.

EXEMPLEEl graf G de la fig. 1.7 té A(G) per matriu d'adjacencia (on hem collocat 1 enota la diagonal):

V2

V5 j G

V3

fig. 1.7

( ~

O O O

~ )1 1 O

A(G) = O 1 11 O 1O O O

Es verifica que A4 = R és:

( ; O O O

I )1 1 11 1 11 1 1O O O

i que R0 Q és:

(! O O O

~ )1 1 11 1 11 1 1O O O

Així dones, G té:- com a components forts: {vd, {V2,V3,V4} i {V5}- com a bases: {V2}, {V3} i {V4}- com a contrabases: únicament {VI}i, per tant:- com a base de poder: {V2, V3, V4}

Page 24: Grafs - Fonaments i Algorismes

24 1. Introducció i fonaments

El graf condensat G* es representa en la fig. 1.8.

fig. 1.8

1.4 Recorregut d'un graf

Per tal d'examinar l'estructura d'un graf, o bé, per a resoldre-hi algun pro-blema, molt sovint cal fer-ne un recorregut de forma sistemática. Consideraremací les dues estrategies més comunes.

La primera dóna preferencia a l'exploració en paral-lel de totes les alternati-ves possibles des del vertex en que ens trobem; és la recerca per amplada prio-ritaria (breadth first search en angles, (BFS)). L'altra opció dóna preferencia al'obertura d'una única via d'exploració a partir del vertex actual; és la recercaper [ondiiria prioritaria (depth first search en angles, (DFS)). Veurem ara dosprocediments que permeten realitzar les dues formes de recorregut per a cadacomponent d'un graf simetric.

BFS

1. Etiqueteu VI amb un O.

2. i > O.

3. Cerqueu tots els oértexs no etiquetats adjacents -pel cap baix- a unuériex etiquetat j. Si no n'hi ha cap, hem acabat.

4. Etiqueteu tots els uériexs trobats en el pas anterior amb j + 1.

5. j := j + 1 i torneu a 3.

DFS

1. Inicialment totes les connexions aresta-vériex són no etiquetades.v:= VI·

2. Si a V totes les connexions són etiquetades, aneu a 4.

Page 25: Grafs - Fonaments i Algorismes

.4. Recorregut d 'un graf 25

3. Escolliu una connexió no etiquetada, etiqueteu-la amb un O i useu l'arestaper arribar a l'altre extrem Vi·

Si Vi té alguna connexió etiquetada, etiqueteu la connexió d' entrada a Vi

amb un O i tornen enrere cap a v. Torneu a 2.Si no, etiqueteu la connexió d'entrada a Vi amb un 1; V := Vi i torneu a2.

4. Si no hi ha cap connexió etiquetada amb un 1, hem acabat.Si no, useu la connexió etiquetada amb un 1 per anar cap a l'altre extremVi·

V := Vi i torneu a 2.

EXEMPLEDos recorreguts, per amplada prioritaria i fondaria prioritaria, en el graf G dela fig. 1.9 podrien ser:BFS(G) = {VI,V2, V3, V4, V5, V6, V7, vs}DFS(G) = {VI,V2,V3,V4,V7,V6,V5,VS}

VI

V2

V3

V5V6 V7

Vs

fig. 1.9

Considerant la simplicitat del BFS, aquest algorisme no requereix més comen-taris. Pel que fa al DFS, es pot comprovar -per seguiment del procés- que lesúniques etiquetes usades són O i 1, i que cap etiqueta no és mai esborrada ni can-viada. Veurem ara que cada aresta és recorreguda exactament dues vegades,una en cada sentit. Diguem finalment, com a curiositat, que aquesta versiódel DFS -amb tornada al vertex inicial del recorregut- fou proposada perTrémaux (segle XIX) com un metode per a assegurar la sortida d'un laberinto

Teorema 1.7 L'algorisme DFS no permet mai que una aresta sigui recor-reguda dues vegades en el mateix sentit.

Page 26: Grafs - Fonaments i Algorismes

26 1. Introducció i fonaments

DEMOSTRAcró. Efectivament, quan usem una connexió tenim que:- o bé esta essent marcada amb un O i, per tant, no tornara a ésser usada enel mateix sentit- o bé esta ja marcada amb un 1

Sigui a = (Vi, Vj) la primera aresta usada dues vegades en el mateix sentit;sigui aquest de Vi a Vj. Sabem que la connexió de a a Vi estará etiquetada ambun 1. Haurem sortit de Vi grau( Vi) + 1 vegades, una a través de cada connexióO i dues a través de a. Per tant, haurem entrat a Vi grau( Vi) + 1 vegades, iaixó vol dir que alguna aresta b = (Vk, Vi) s'haurá usat dues vegades per entrara Vi abans que a sigui usada per segon cop. 1 aixo contradiu l'elecció feta del'aresta a.

Així dones, l'algorisme sempre acaba, i ho fa a VI donat que aquest és l'únicvertex que no té una connexió etiquetada 1.D

Teorema 1.8 Aplicat l'algorisme DFS, totes les arestes que incideixen en cadauértex han estat recorregudes en els dos sentits.

DEMOSTRAcró. Efectivament, considerem primer el vertex inicial VI. És darque verifica l'enunciat si s'usa el teorema 1.7 i el fet que l'algorisme comencai acaba a VI. Considerem ara que S és el conjunt de vertexs que verifiquen elteorema, S -¡. V. Jaque G és connex, hi haurá arestes connectant S a V - Si totes aquestes arestes hauran estat travessades una vegada en cada sentit.Sigui a = (Vi, Vj) la primera aresta usada des de Vi E S cap a Vj E V-S.Sabem que la connexió de a a Vj estará marcada amb un 1, i donat que aquestaconnexió ha estat marcada, totes les altres a Vj ho estaran també amb un O.Per tant, cada aresta incident a Vj ha estat recorreguda cap a fora. Ara bé,la recerca no ha comencat ni ha acabat a Vj; en conseqüencia, Vj haurá estatassolit tantes vegades com arestes incidents tingui, i aixo no és possible porqueVj rt. S.o

1.5 Emmagatzematge deIs grafs

Per tal de poder treballar amb grafs en un ordinador, ens cal representar-losusant alguna de les estructures d'informació disponibles. Hi ha dues aproxi-macions fonamentals en funció de si es pren una estructura fixa o bé una dedinámica,

(1) Usant la matriu dadjacenciaSi el graf és simetric, la matriu A també ho és i, per tant, en tenim prou deconsiderar els elements que es traben en un dels costats de la diagonal principal.En la matriu A, el nombre de 1en la fila z-esima ens dóna el grau(vi), si tenimen compte que un 1 en la diagonal s'haura de comptar dues vegades perque ésun Hag.

Page 27: Grafs - Fonaments i Algorismes

_6. Comportament d'un algorisme 27

i el graf és dirigit, la matriu A ja no és simétrica; ara, en la z-esimatenim el grau exterior(vi), mentre que en la z-esima columna hi tenim el

au interíor( Vi)'

i el graf és "poc dens" (sparse, en angles}, i aixo es dóna quan IAI «n2,

ores, la representació en forma de matriu deixa de ser eficient perque lajor part deIs elements de A són O.

2) Usant una llista dadjacencia- tracta de tenir, per a cada vertex Vi del graf, una llista encadenada mit-

- 9illt apuntadors en la qual hi haurá, si G és dirigit, tots els vertexs successorst'¡: mentre que si és simetric, tots els vertexs adjacents a Vi. Aixo comporta

, la necessitat d'una taula amb l'adreca del comencament de la llista percada vertex (vegeu la fig. 1.10).

D aquesta manera podem representar tot el graf amb més flexibilitat, i ambrantatge que només es reserva l'espai de memoria necessari per a emma-

= - emar les arestes i els vertexs existents en el graf. L'estalvi pot ser molt_portant en el cas de grafs poc densos.

Vl Vl.,A., V2

v,~v,

V3

V4

V5

fig. 1.10

1.6 Comportament d'un algorisme

llarg dels diversos problemes sobre grafs que estudiarem, usarem sovintorismes. És per aixo que convé establir alguns resultats generals que ens

etin valorar els meto des desenvolupats.L'objectiu fonamental en l'análisi d'un algorisme és poder preveure'n el

mportament, basicament pel que fa referencia al temps total d'execució. La_ :isió que se'n faci haura d'ésser sempre aproximada, ja que no tots els

, etres i detalls poden ser considerats; tot i així, tenir-ne una aproximació

Page 28: Grafs - Fonaments i Algorismes

28 1. Introducció i fonaments

sempre sera profitós. Aixo es fa evident si tenim present que poder disposard'una bona aproximació ens permetra comparar diferents algorismes.

La complexitat d'un algorisme vindra donada pel nombre de passos quecal fer per a passar de les dades inicials al resultat final. Per a avaluar lacomplexitat d'un algorisme, és habitual de considerar negligibles -en el totald'operacions- els factors constants i de limitar-se a considerar-ne el desen-volupament quan N ~ 00, essent N el volum de dades d'entrada. Tot i aixó,haurem sempre de tenir present que si les constants són prou grans poden dis-torsionar forca l'aproximació. Així, per exemple, si l'algorisme A té un tempsd'execució proporcional a 125N2.8, mentre que l'algorisme B el té proporcionala 2N3 + 20, aleshores, A sera més eficient que B només per a valors molt gransde N, tot i que, en general, sempre és millar tenir un factor del tipus N2.8 queno pas un del tipus N3.

Per a diferents dades d'entrada els algorismes poden tenir diferents compar-taments. L'única distinció que farem sobre les dades sera la mida N, i és sobreN que s'ha d'avaluar el temps d'execució de l'algorisme. Pero, fins i tot pera una mateixa mida N, hi pot haver diferencies notables en el comportament.Així, es plantegen les tres opcions següents:

a) considerar el cas més favorable

b) considerar la mitjana de tots els casos possibles

e) considerar el cas més desfavorable

La primera opció no resulta útil; es sol donar per a conjunts de dadestrivials. La segona pot resultar molt difícil de calcular i ésser poc significativasi inclou molts conjunts de dades que són poc probables en la practica. Ladarrera opció és la més arnpliament acceptada.

Diem que una funció g(N) és O(f(N)), per a una altra f(N), si existeixenconstants a i b tals que VN 2': b =} g(N) :::;a f(N).

En cada algorisme s'ha de determinar quina operació fonamental es rea-litza per a poder avaluar-ne la complexitat expressada com el nombre totald'aquestes operacions en relació al volum de les dades d'entrada. En un algo-risme d'ordenació dels elements d'un vector, per exemple, l'operació fonamentala realitzar sera la comparació entre dues posicions del vector. Així, el productehabitual d'una matriu A d'ordre (mx n) per una matriu B d'ordre (nxq) diremque es realitza mitjancant un algorisme de complexitat O(mnq) pel que fa alnombre de multiplicacions.

Page 29: Grafs - Fonaments i Algorismes

1.6. Comportament d'un algorisme 29

Observacions- L'expressió O(T(N)) es solllegir com de l'ordre de T(N).- Habitualment, 0(1) denota una constant i O(logn) no especifica la base enla qual s'avalua ellogaritme, donat que el canvi de base només afecta el valordel logaritme de forma constant (log¿ x = 11

0gbX ).

ogb a- Per la seva definició, O dóna sempre una fita superior; així, si f(N) ésO(s(N)) i g(N) és O(r(N)), aleshores:

f(N) + g(N) :::}O(s(N) + r(N))

f(N) g(N) :::}O(s(N) r(N))

pero no és cert, en general, que:

f(N) - g(N) :::}O(s(N) - r(N))

f(N) :::}O (S(N))g(N) r(N)

En la taula següent es presenta com creixen diferents tipus de funcions f(N)per a diferents valors de N. El contrast sembla suficientment illustratiu deles dificultats que presenta l'aplicació d'algorismes que tenen una complexitatO(f(N)) quan f(N) no és un polinomi. (Quan el número és massa gran,s'indica en la taula el nombre de dígits que el formen.)

I f(N) \ N ~ 10 50 100 300 1.000

Nlog2N 33 282 665 2.469 9.966N 100 2.500 10.000 90.000 1.000.000N 1.000 125.000 1.000.000 27.000.000 10 dígits2 1.024 16 dígits 31 dígits 91 dígits 302 dígitsN! 7 dígits 65 dígits 161 dígits 623 dígits inimaginable

N 11 dígits 85 dígits 201 dígits 744 dígits inimaginable

eA efectes de poder fer comparacions, el nombre de microsegons que han passat desdel Big Bang s'ha calculat que és un número de 24 dígits.)

Page 30: Grafs - Fonaments i Algorismes

30 1. Introducció i fonaments

1.7 Classes de problemes

Un problema d'optimització combinaiorica es pot definir com un conjunt decasos e on cada cas és una parella (F, e), essent F el conjunt de les solucionsfactibles pel problema i e una funció de cost e : F ------tR. L'objectiu és trobarel cas k E e que minimitza -o maximitza->- c(F). Aquesta definició del tipusde problemes que considerarem és suficientment bona donat que, d'una bandasimplificara l'estudi, i d'una altra, la majoria de problemes es poden plantejaren termes d'un problema d'optimització cornbinatorica.

Sigui d'ara endavant X un problema d'optimització combinatorica, Hi hatres versions diferents en el plantejament de X:

a) versió d' optimització, que cerca la (una) solució óptima

b) versió d' avaluació, que cerca el cost de la solució óptima

c) versió de reconeixement, que, donat un cas i un enter t, es planteja respondre§i o no a la pregunta "Existeix una solució factible f E F tal que c(f) ::; t(c(f) 2': t)?"

Es pot veure fácilment que el grau de dificultat de les tres versions és, perordre creixent: reconeixement ------t avaluació ------t optimització. Ens centraremen la versió de reconeixement ja que, d'aquesta manera, tot resultat "negatiu"que obtinguem ací podrá ésser aplicat directament a les altres dues versions.

EXEMPLEDonat un graf simetric i connex G:1. Determinar el major subgraf maximal complet de G (optimització).2. Determinar el nombre de vertexs del subgraf maximal major que hi ha a G(avaluació) .3. Determinar si G conté un subgraf maximal complet amb més de t vertexs(reconeixement) .

Per a poder formalitzar els resultats sobre complexitat, calia un modelsimple de máquina computacional sobre la qual fossin executables tota menad'algorismes. Es coneixen diversos models d'aquesta mena, pero, donat ques'ha demostrat que tots són equivalents no cal discutir quin s'ha d'usar. Toti aixo, el més popular correspon a les máquines de Turing. Una máquina deTuring (MT) esta formada per una unitat de control que es pot trobar en unnombre finit d'estats E, i per una unitat d'emmagatzematge, en forma de cintade lectura/escriptura. La cinta conté una seqüencia de celles, i en cadascunahi ha un símbol d'un alfabet finit A. La unitat de control permet moure la

Page 31: Grafs - Fonaments i Algorismes

1.7. Classes de problemes 31

cinta cap a l'esquerra o cap a la dreta cella a cella. Finalment, hi ha una taulaT en la qual s'indica com canvia d'estat la unitat de control, que escriu en lacinta i cap a on es mou la cinta. La taula es pot veure com un conjunt deeorrespondencies:

T : E x A ~ E x A x {quieta, dreta, esquerra}

A partir de la informació col-locada en les (n) primeres cel-les, la MT operaque arriba a un estat de parada final; el resultat del procediment queda

escrit en la cinta. Segons si l'estat final esta definit com d'acceptació o no, esdiu que la MT accepta o no les dades d'entrada. El conjunt de totes les dadesque són acceptades forma el llenguatge reconegut per la MT.

Si totes les correspondencies són aplicacions, la MT s'anomena determi-nista (MTD), cas contrari s'anomena no determinista (MTND). Una propietatimportant de les MTND és que cadascuna pot ser considerada com una gen-eralització d'una MTD en la qual es permet el processament en parallel dediverses alternatives. Així, quan es troben k transicions en la taula, equival aldesdoblament de la MTND en k maquines deterministes que processen cadaalternativa independentment.

La complexitat temporal d'una MTD en funció de la longitud ti de l'entrada,ve donada pel nombre maxim de passos que pot arribar a fer per a qualsevolentrada de longitud n. Si tenim una MTND, la complexitat temporal en funcióde la longitud n de l'entrada ve donada pel nombre maxim de passos que potarribar a fer per a qualsevol entrada de longitud n, essent el temps que cal pera reconeixer una entrada el nombre de passos de l'alternativa més curta queacaba acceptant-la.

Pot considerar-se també la complexitat espacial d'una MTD. Aquesta vedonada per la distancia máxima -en nombre de cel-les=- que pot arribar arecórrer la unitat de control a partir de la cel-la inicial. De forma análogadefiniríem la complexitat espacial per a una MTND.

Usant el concepte de MT, classificarem els problemes en funció de la sevacomplexitat temporal de la manera següent:

• X pertany a la classe de problemes P (polynomial) si el conjunt de casosde X que tenen resposta sí és precisament el llenguatge acceptat per unaMTD que té complexitat temporal polinomial respecte a la longitud deles dades d'entrada.

• X pertany a la classe de problemes NP (nondeterministic polynomial) si elconjunt de casos de X que tenen resposta sí és precisament elllenguatgeacceptat per una MTND que té complexitat temporal polinomial respectea la longitud de les dades d'entrada.

Page 32: Grafs - Fonaments i Algorismes

32 1. Introducció i fonaments

Es dedueix directament que P ~ N P. La ja famosa controversia "És P =N P?" encara no ha estat resolta, tot i que l'opinió general és que P i= N P.

Una altra manera de diferenciar les famílies P i NP és usant el concepte deeertifieat, un comprovant que demostra que s'ha trobat la solució al problema.Direm que un problema X és NP si X rt. P i per a cada solució de X -respostasí al problema de decisió- existeix un certificat que pot ésser validat en tempspolinomial.

EXEMPLEConsiderem el problema de decidir si n és o no un número primer. És conegut(Pratt (1975)) que es tracta d'un problema NP donat que en problemes sobreteoria de números la mida N de les dades no és el propi número n; sinó elnombre de dígits que calen per a representar-lo, el qual és O(logn).

Així, per exemple, l'anomenat test de Lucas (n és primer si, i només si,hi ha un natural a tal que an-1 := 1 mod n i per a cada divisor primer p den-1 es verifica que a(n-l)/p ;j. 1mod n) caracteritza els números primers, i potésser usat com a certificat. D'altra banda, qualsevol divisor de n serveix coma certificat quan n no és primer. D'aquesta manera, el problema es troba en laclasse NPn eo-NP, essent eo(mplementary)-NP tots aquells problemes NP queadmeten un certificat a la resposta negativa.

Direm que X es pot transformar polinomialment en un altre problema dereconeixement y si donada una entrada A podem construir-ne una altra B, entemps polinomial respecte a A, tal que A té resposta sí a X <=? B té respostasía y.

Un subconjunt de problemes NP particularment interessant pot ser estudiata partir de la transformació polinomial entre problemes:

• X pertany a la classe de problemes NP-C (NP-Complete) si, essent NP,tots els altres problemes a NP s'hi poden transformar polinomialment.

Si eliminem el requeriment que X sigui NP aleshores es diu que pertany ala classe dels NP-hard.

Notem que la definició donada implica que si es sap resoldre eficientment undels NP-C, aleshores, queden automaticament resolts tots els NP. De la mateixamanera, si un qualsevol es demostra que és definitivament no tractable, tots elsaltres NP també ho seran. Grácies al fet que la propietat de transformació po-linomial entre problemes és transitiva, es facilita molt la feina de demostrar queun problema es troba dins de NP-G. Així, X és un NP-C si un dels problemesNP-C s'hi pot transformar polinomialment.

El primer problema NP-C fou establert en Cook (1971) i, posteriorment,Karp (1972) en va comencar a ampliar la llista amb dues dotzenes més; avui

Page 33: Grafs - Fonaments i Algorismes

1_ _ Classes de problemes 33

- ja se'n coneixen més d'un miler. Es tracta del problema de la validaciód'expressions booleanes (conegut com satisfiability (SAT)). Sigui W una ex-p ió booleana en forma normal conjuntiva, és a dir, una expressió del tipusTT- = (A+B+e). (A+B+e)· (A+B+e), on A,B i e són variables {O, 1}, i- -" i « .» indiquen la suma i el producte booleans habituals. Cada agrupacióe variables sumades s'anomena una cláusula de l'expressió.

Amb aquesta formulació es demana determinar una assignació de valors a_-1.. a B i a e de manera que W valgui 1, és a dir, de forma tal que es "satisfacin"totes les clausules de W. Una solució per a la W precedent és A = 1, B = 1 ie = O o l. El resultat demostrat per Cook és:

Teorema 1.9 SAT és NP-C.

La demostració es basa en el fet que tota MT i les operacions d'aquestapoden descriure en termes d'una expressió booleana. Així, l'acceptació de

_-entrada es fa equivalent a satisfer l'expressió lógica corresponent. D'aquestamanera SAT és equivalent a tot problema NP ja que tots poden ésser resoltsnsant una MTND.

Com a conseqiiencia, els primers problemes incorporats a la llista dels NP-Csobtingueren mitjancant la transformació al problema SAT. 0, en particular,al 3-SAT, en el qual tenim només tres variables en cada cláusula, i que també, un NP-G.

EXEMPLE'egem ara com es realitza el procés de demostració que un problema és NP-

e usant el SAT. Sigui X el problema d'optimització següent: donat G(V, A)simetric i k E N, determinar si G conté una colla e tal que lel 2: k. Volemveure que X és un element de NP-C.

X és clarament un element de NP donat que té certificat validable en tempspolinomial; aquest podria ser simplement una llista dels vertexs de e. Trans-formarem ara polinomialment el problema SAT en X.igui E = El .E2 .... Em una expressió booleana en forma normal conjuntiva, iigui E; = (A + B·· . + W). Associarem un grup de p vertexs a les variables de'-v---'

p

E¡ (i = 1,2 ... , m). Volem ara formar un graf G interconnectant aquests vertexsde manera que G tingui una colla e amb lel 2: k si, i només si, es pot satisferE. Prenem k = m i connectem els vertexs precedents en la forma següent:- dos vertexs dins d'un mateix grup no estaran connectats mai- dos vertexs dintre de grups diferents estaran connectats sempre, tret del casen que un és una variable V i l'altre és V

Veurem que G té una colla e tal que lel 2: m <=? E es pot satisfer. otemprimer que, per construcció, lel ::;m 'ti E.

Page 34: Grafs - Fonaments i Algorismes

34 1. Introducció i fonaments

(~) Considerem que E es pot satisfer. Aleshores, hi ha una assignació devalors tal que cada cláusula conté, com a mínim, una variable amb valor 1.Escollim el vertex corresponent a aquesta variable per a la colla (si n'hi hamés d'una en prenem una qualsevol). El resultat és clarament una colla ja quedos vertexs de grups diferents no estaran connectats únicament si són variablesmútuament complementaries.

(=}) G té una colla tal que lel ?: m. e ha de tenir exactament un vertexde cada grup; assignem valor 1 a les variables corresponents. Les variables queno hagin rebut assignació portaran un valor arbitrari (O o 1). Donat que totsels vertexs de la colla estan mútuament connectats, l'assignació de valors ésconsistent per a E i la satis fa.

Comentaris bfb'liogr-aflcs

D'entre els textos dedicats a les propietats dels grafs i a l'estudi dels pararnetresd'aquests, prescindint d'algorismes i d'aplicacions, cal destacar Behzad, Char-trand i Lesniak-Foster (1979), Beineke i Wilson (1978, 1983, 1988), Harary(1969) i Tutte (1984). D'altra banda, entre les obres orientades cap a l'ús delsgrafs com a eina en la resolució de problemes d'optimització, es poden esmentarChristofides (1975), Gibbons (1985), McHugh (1990) i Minieka (1978). Com-binant les dues perspectives precedents, són d'especial interés Berge (1991),Bondy i Murty (1976) i Even (1979).

Altres llibres de carácter més general pero amb molts exemples d'aplicaciódeIs grafs són Bender i Williamson (1991), Bogart (1990), Roberts (1984) iTucker (1980).

Per a un estudi general dels algorismes i de la teoria de la complexitat, sónmolt recomanables Harel (1987) i Manber (1989). Per a entrar més a fons enaquestes qüestions i, especialment, en els problemes NP-C es poden consultarel classic Garey i Johnson (1979) i els més recents Mehlhorn (1984) i Moret iShapiro (1991).

Exercicis

1. Sigui G un graf amb n vertexs i m arestes tal que tots els vertexs tenengrau k o k + 1. Demostreu que si G té nk vertexs de grau k i nk+l vertexs degrau k + 1, aleshores nk = (k + l)n - 2m.

2. És cert que tot graf G(V, A) sense llacos amb IVI > 1 conté dos vertexs quetenen el mateix grau?

Page 35: Grafs - Fonaments i Algorismes

1.70 Classes de problemes 35

3. Demostreu que si tots els vertexs d'un graf simetric G tenen grau parellaleshores G no conté cap ponto

4. Proveu que un vertex Vi es troba alhora en una base Bien una contrabaseB d'un graf G {:? el component fort que conté Vi es correspon amb un vertexaillat del graf condensat G* o

5. Doneu un exemple d'un graf connex que tingui una articulació pero que notingui cap ponto

6. Sigui G un graf connex, Considereu que podeu donar orientació a les arestesde G de manera que el graf dirigit resultant és fortament connex. Demostreuque G no té cap ponto

7. Sigui k el nombre d'arestes que hi ha en cada camí elemental de longitudmáxima dins d'un graf simetric i connex G, i siguin Cl i C2 dos camins ele-mentals de longitud k; demostreu que tenen algun vertex comú.És cert que tots els camins elementals de longitud k tindran sempre un mateixvertex comú? Demostreu-ho o doneu-ne un contraexemple.

8. Demostreu que si G simetric té k components, aleshores, el nombre maximd'arestes que pot tenir és:

1-(n-k)(n-k+l)2

9. Sigui G(V, A) amb:

IAI> 1V124

Demostreu que no pot ésser bipartit.

10. Avalueu la complexitat del BFS i del DFS.

11. Donat un graf simetric G(V, A) desenvolupeu un algorisme polinornial perdecidir si G és connex, Avalueu-ne la complexitat.

12. Sigui G un graf simetric i connex. Desenvolupeu un algorisme polinornialper determinar si G és bipartit. Avalueu-ne la complexitat.

Page 36: Grafs - Fonaments i Algorismes
Page 37: Grafs - Fonaments i Algorismes

Capítol2

Planaritat

2.1 Resultats basics

Considerem tres companyies de serveis, diguem Aigua, Gas i Electricitat, i tresedificis situats en llocs indeterminats pels voltants de les tres plantes submi-nistradores. Si suposem que tots els conductes es troben al mateix nivell, éspossible de servir els tres fiuids als tres edificis sense que hi hagi cruílles entreels diversos conductes?

Un graf sirnetric s'anomena pla si pot ésser representat sobre un pla senseque hi hagi cap intersecció entre les arestes. Quan dibuixem un graf pla, lesarestes divideixen el pla que serveix de base en un conjunt de regions R. Laregió que no queda limitada s'anomena regió exterior. Un bloc de G és unsubgraf maximal 2-connex; notem que, en estudiar la planaritat d'un graf, n'hiha prou de considerar els seus blocs.

Teorema 2.1 En tot graf pla i connex G(V, A) amb IRI regions es verifica que:

IVI - IAI + IRI = 2

DEMOSTRACIÓ. Només cal aplicar inducció sobre IAI tenint en compte els di-ferents casos possibles.D

El teorema 2.1 és conegut també amb el nom de fórmula d'Euler per alspoliedres. Notem que un graf pla pot representar un poliedre si considerem queles regions del graf són les cares del poliedre i que vertexs i arestes mantenen elmateix significat en els dos casos. Si en un poliedre -o en el graf equivalent-

37

Page 38: Grafs - Fonaments i Algorismes

38 2. Planaritat

vt representa el nombre de vertexs de grau t, i H¿ representa el nombre de careslimitades per t arestes, tenim que:

Un poliedre és regular si tots els vertexs tenen el mateix grau i totes les caresvénen limitades pel mateix nombre d'arestes; així, en tot poliedre regular, tenimque IVI = Vk per a una certa k i IRI = Rh per a una certa h. EIs poliedres re-gulars s'anomenen també solids plaionics i, des de l'epoca de la Grecia classica,es coneix que només n'hi ha cinc: el tetraedre, el cub, l'octaedre, el dodecaedrei l'icosaedre (vegeu la fig. 2.1). Donat que, a tot poliedre, li podem associar ungraf pla connex usant el mateix conjunt de vertexs i d'arestes, prendrem quegrau(vi) ?: 3 VVi E V.

Teorema 2.2 Existeixen exactament cinc poliedres regulars.

DEMOSTRAcró. Sigui P un poliedre regular i Gel graf associat d'aquest. Sabemque IVI - IAI + IRI = 2, per tant:

-8 = 41AI - 41V1 - 41RI = 21AI + 21AI - 41V1 - 41RI =

tetraedre

dodecaedre

21AI = ~tvt = ~tRtt2"3 t2"3

cub octaedre

icosaedre

fig. 2.1

Page 39: Grafs - Fonaments i Algorismes

2.1. Resultats básios 39

L in; + L Hit - 4 L vt - 4 L Rt =t2':3 t2':3 t2':3 t2':3

L(t - 4)Rt + L(t - 4)Vtt2':3 t2':3

Donat que P és regular, podem trobar h 2: 3 i k 2: 3 tals que IRI RhfVl = Vk· Així dones:

-8 = (h - 4)Rh + (k - 4)Vk

A més, 3 ::; h::; 5, 3 ::; k ::; 5 i hRh = kVk = 21AI.D'aquesta manera hi ha nou casos diferents a estudiar:

1. (h = 3, k = 3) Aleshores -8 = -R3 - V3 i 3R3 = 3V3per tant, R3 = V3 = 4 i P és el tetraedre.

2. (h = 3, k = 4) Aleshores -8 = -R3 i 3R3 = 4V4

per tant, R3 = 8, V4 = 6 i P és l'octaedre.

3. (h = 3, k = 5) Aleshores -8 = -R3 + V5 i 3R3 = 5V5per tant, R3 = 20, V5 = 12 i P és l'icosaedre.

4. (h = 4, k = 3) Aleshores -8 = - V3 i 4R4 = 3V3per tant, R4 = 6, V3 = 8 i P és el cubo

5. (h = 4, k = 4) No és possible perque -8 i= O.

6. (h = 4, k = 5) Tampoc no és possible perque V5 seria negatiu.

7. (h = 5, k = 3) Aleshores -8 = R5 - V3 i 5R5 = 3V3per tant, R5 = 12, V3 = 20 i P és el dodecaedre.

8. (h = 5, k = 4) No és possible perque R5 seria negatiu.

9. (h = 5, k = 5) Tampoc no és possible perque dóna -8 = R5 + V5.D

Considere m ara algunes conseqiiencies del teorema 2.1.CoroHari 2.3 Si G(V, A) és un graf pla, connex i sense llacos on IVI > 3,aleshores:

31VI - 6 2: IAIDEMOSTRAcró. El nombre d'arestes en un graf sense llacos i IRI regions ésmaxim quan cada regió ve limitada per exactament 3 arestes. A més, cadascunad'aquestes tres arestes limita amb dues regions. Així 21AI = 31RI. Substituintaixo en el teorema 2.1 tenim que:

3fVI - 31AI + 31RI = 6 ::} 31VI - IAI = 6 ::} IAI = 3fVI - 6

com que hem pres el valor máxim per a IAI hem obtingut l'enunciat.O

Page 40: Grafs - Fonaments i Algorismes

40 2. Planaritat

Corol-lari 2.4 En tot gmf G(V, A) pla, bipartit i connex on IAI 2: 3 es verificaque:

IAI ::; 21V1- 4

DEMOSTRAcró. Sabem que cada regió de G vindrá limitada, pel cap baix, per4 arestes; per tant, usant el teorema 2.1 i el fet que 41RI = 21AI, tenim que:

41V1 - 41AI + 41RI = 8 ==} 21AI = 41V1 - 8 ==} IAI = 21V1 - 4

així dones, en el cas general IAI ::; 21V1 - 4.0

Corol.lari 2.5 Donat G pla amb n 2: 3 uérieis, siqu: ni el nombre de oértexsque tenen gmu i, per i = 1,2 ... , .6.(G). Aleshores:

DEMOSTRAcró. Sabem que n = ~ ni i que 2m = ~ ini per i = 1,2 ... , .6.(G).Donat que -pel corol-lari 2.3- 6n 2: 2m + 12, tenim que 6 ~ ni 2: ~ ini + 12.1 desenvolupant l'expressió se n'obté el resultat.O

Corol.larí 2.6 En tot gmf pla hi ha -pel cap baix- un uértex de gmu inferiora 6.

DEMOSTRAcró. És conseqiiencia del corollari 2.5.0

És un exercici ben senzill comprovar que tant K5 com K3,3 són grafs noplans. El primer no verifica el corol-l ari 2.3, mentre que el segon falla en elcorollari 2.4. Aquests dos grafs no plans són especialment importants perqueens permetran caracteritzar els grafs plans. El lector ja haura descobert que laresposta al problema inicial de subministrament de fiuids és no.

Finalment, un resultat que relaciona un graf pla amb el seu complementari:

Teorema 2.7 Si IVI 2: 9 ==} G(V, A) pla té G no pla.

DEMOSTRAcró. Tot i no ésser gens elegant, només ha estat demostrat percomprovació exhaustiva.O

2.2 Grafs plans externs

Un graf pla s'anomena extern si pot ésser representat de manera que tots elsseus vertexs es trobin en una mateixa regió; normalment es pren que aquestaregió sigui l'exterior (vegeu la fig. 2.2).

Page 41: Grafs - Fonaments i Algorismes

2.2. Grafs plans externs 41

fig. 2.2

Teorema 2.8 Si e (V, A) té IVI = ni IAI = m, sigui el(VI,AI) el graf amb}~'I= ti + 1 i IAII = m + n obtingut quan afegim a e un nou uértex v adjacenta tots els uériexs de e. Aleshores, G és pla extem {::}el és pla.

DEMOSTRACIÓ. (=» Si e és pla extern, tots els seus vertexs poden ésser repre-sentats en el contorn de la regió exterior. Un nou vertex afegit a aquesta regiópot ésser enllacat a cada vertex de e de manera que el resultat és un graf pla,és a dir, el és pla.

(~) Considerem que tenim una representació plana de el. Si e' té ti + 1vertexs, hi ha un vertex v de grau n: Si eliminem les arestes que incideixensobre v obtenim un graf pla isomorf a eu{v} en el qual cada vertex de eu{v}es troba en el contorn d'una regió. Per tant, e és pla extern.O

Un graf extern e s'anomena nuucim si el fet d'afegir-li una nova aresta faque e deixi de ser externo

Teorema 2.9 Sigui e(V, A) extem mcxim amb n > 3 uértexs situats en laregió exterior => e té n - 2 regions interiors.

DEMOSTRACIÓ. El resultat és clarament cert quan ti = 3. Suposem-lo certfins n = k i considerem que e té ti = k + 1 vertexs i r regions interiors. Noeo ta veure que e ha detenir un vertex v de grau 2 en la regió exterior, siara formem el graf e - {v} el nombre de regions interiors disminueix d'una, demanera que r - 1 = k - 2. Per tant, r = k - 1 = ti - 2 és el nombre de regionsinteriors de e.oCorol-larl 2.10 Tot graf e pla exierti i maxim. amb n uériexs té:

• 2n - 3 arestes

• pel cap baix, 3 uértexs de grau no superior a 3

• pel cap baix, 2 uériexs de grau 2

Page 42: Grafs - Fonaments i Algorismes

42 2. Planaritat

Analogament al que havíem establert en la secció precedent:

Teorema 2.11 Si V ;:::7 ~ G(V, A) pla eziern té el seu G no pla externo

DEMOSTRAcró. N'hi ha prou de comprovar que els únics 4 grafs plans externsmaxims que existeixen amb n = 7 tenen el complementari no pla extern.D

2.3 Caracteritzacions de la planaritat

Les dues més conegudes són les fetes per Kuratowski en base als grafs no plansK5 i K3,3 i per Whitney a través del concepte de dualitat. Considerem-lescadascuna en detall.

Per al teorema de Kuratowski ens calen tres resultats previs.

Lema 2.12 Si G(V, A) és un graf 3-connex amb IVI > 4 ~ G conté una a E Atal que G 11 a és 3-connex.

DEMOSTRAcró. Suposem que l'enunciat no és cert. Així, no hi ha cap arestaa = (x, y) tal que G 11 a és 3-connex. Donat que G 11 a no té cap articulació,haura de tenir un separador format per dos vertexs, un deis quals haurá de serel vertex resultant de la fusió de x i y. Per tant, G té un separador {x,y,z}.Suposem que a i z s'escullen de manera que el component H de G - {x, y, z}és el més gran possible. Sigui H' un altre component de G - {x, y, z} i siguia' = (z, u) on u E H'. Ja que G 11 a' no és 3-connex, G té un separador de laforma {z,u,v} (vegeu fig. 2.3). Així, o bé v E H' o bé v = x o bé v = y. Siv E H' aleshores G - {z, u, v} té un component que inclou tots els vertexs de Ha més de x i y, i aixó contradiu la maximalitat de H. Per tant, v = x o v = y.Considerem que v = x; en aquest cas, el subgraf H +y de G format pels vertexsde H i pel vertex y ha de ser connex; cas contrari, {z, x} seria un separador deG. Per tant, H + Y es troba en un mateix component de G - {z, u, v}, la qualcosa novament contradiu la maximalitat de H.D

Lema 2.13 Donat G(V, A) sigui a E A. Si G 11 a conté una subdivisió de K5o de K3,3 ~ G també conté una subdivisió de K5 o de K3,3.

DEMOSTRAcró. Sigui a = (x, y) i sigui z el vertex resultant de la fusió de x i y.Sigui S la subdivisió de K5 o de K3,3 que es troba a G 11 a. Cada aresta (z, v)de G 11 a en pot tenir dues a G: la (x, v) i la (y, v). En prenem una qualsevolper a cada aresta incident a z i construim un subgraf E de G format per lesarestes de S juntament amb a. Si grau(z) = 2 en S, aleshores, E, i per tantG, contenen una subdivisió de K5 o de K3,3. Així dones, podem considerarque grau(z) ;:::3. A rnés, si x o y tenen grau 2 en E, aleshores, igualment

L ._

Page 43: Grafs - Fonaments i Algorismes

...

2.3. Caracteritzacions de la planaritat 43

H'

~-=I'~ X -E-+---

Hy <E-+---

fig. 2.3

E i G contenen una subdivisió de K5 o de K3,3' Per tant, S ha de ser unasubdivisió de K5 i tant x com y han de tenir grau 3 en E. En aquest cas, potcomprovar-se que E, i per tant G, contenen una subdivisió de K3,3'O

Lema 2.14 Si G pla i 2-connex és una subdivisió d'un gmf 3-connex =? larepresentació plana és única.

DEMOSTRACIÓ. Suposem que la representació plana G de G no és única. Aixo':""01 dir que G té una regió formada per les arestes d'un circuit C tal que C nodefineix una regió en una altra representació plana O' de G. És clar que G tédo C-components H i H', un a l'interior de C a O' i l'altre, al seu exterior.Considerem que C és el contorn de la regió exterior de O, i siguin Vl, V2···, Vk

vertexs de C que es troben en H i en aquest ordre. Considerem que elsértexs de C que es traben en H' estan en el camí que enllaca Vl i V2 sense

contenir cap altre Vi. Aleshores, {Vl, V2} és un separador pel qual els dos grafsGl i G2 resultants d'aquest separador no són camins. Per tant, G no és unasubdivisió d'un graf 3-connex.O

Ara ja estem en condicions d'establir la caracterització anunciada.

Teorema 2.15 G(V, A) és pla {=} no conté cap subdivisió de K5 ni de K3,3.

DEMOSTRACIÓ. La necessitat de la condició ja l'hem vista; la suficiencia la.eurem per inducció sobre n. És a dir, demostrarem que si G no conté capsubdivisió de K5 ni de K3,3, aleshores, és pla.

L'enunciat és cert si n ::;5 donat que K5 - {a} és pla per a qualsevol arestaE K5' Considerem dones que n ;:::6 i suposem que l'enunciat es compleix per

grafs amb !VI < n.

a.•••••••••••••••••••••••• --------------------------------------------- -- ~

Page 44: Grafs - Fonaments i Algorismes

44 2. Planaritat

En distingirem dos casos:G no és 3-connex. Donat que un graf és pla si i només si cadascun dels blocs

ho és, podem considerar que G és 2-connex. Així dones, G té un separador{x, y}. Siguin GI i G2 els dos grafs que resulten si usem {x, y}. Evidentment,tant GI com G2 tenen menys vertexs que G i no tenen cap subdivisió de K5ni de K3,3. En conseqüencia, per la hipotesi d'inducció, GI i G2 són plans.Arnés, admeten una representació plana tal que l'aresta (x, y) es traba en laregió exterior. Aquestes dues representacions planes es poden enllacar a x i yper a obtenir una representació plana per a G.

G és 3-connex. El lema 2.12 assegura que G té una aresta a = (x, y) talque G 11 a és 3-connex. Sigui z el vertex resultant de la fusió de x i y. Usantel lema 2.13 G 11 a no té cap subdivisió de K5 ni de K3,3 i, per tant, per lahipótesi d'inducció, G 11 a és pla. Considerem el graf pla G 11 a i el subgraf plaG 11 a - {z}. Donat que G 11 a és 3-connex, pellema 2.14, la representacióplana de G 11 a és única. Sigui R la regió de G 11 a - {z} que contenia z isigui C el circuit que forma el contorn de R. Tots els vertexs adjacents a x o y,tret d'aquests, han d'estar en C. Siguin VI, V2 ... , Vk els veins de x en el mateixordre en que apareixen en C i sigui P; el camí de C que enllaca Vi i Vi+1 i queno conté cap altre Vj j -1- i, i + 1 essent Vk+1 = VI (vegeu la fig. 2.4).

fig. 2.4

Si tots els veíns de y, tret de x, es traben en un dels camins, aleshores, unarepresentació plana de G es pot obtenir directament de G 11 a i, per tant, G éspla. Així dones, no tots els vems de y, tret de x, es troben en un deIs camins.Per tant, y té tres o més veins incloent-hi x. Es poden presentar tres casos:a) y té tres o més veins de {VI,V2 ... ,vd.b) y té un veí u E P; - {Vi,Vi+d per alguna i, més un veí v r/:-Pi,e) y té dos veíns Vi i Vj tals que j -1- i+ 1 i i -1- j + 1.

Si considerem el subgraf de G format pels vertexs de C juntament amb xi y, aleshores, en el cas a, aquest conté una subdivisió de K5, mentre que enels casos b i e, conté una subdivisió de K3,3. Per tant, tenim en cada cas unacontradicció. D

Page 45: Grafs - Fonaments i Algorismes

_.3. Caracteritzacions de la planaritat 45

El teorema precedent és poc practic a l'hora de decidir si un graf G(V, A) éspla Efectivament, el procediment exhaustiu demana estudiar tots els subcon-junt de 5 vertexs que hi ha a V, per a veure si en cap hi ha 10 camins disjuntsde vertexs -un entre cada parella de vertexs->, i totes les agrupacions de 3 i3 vertexs, per a veure si en cap hi ha els 9 camins disjunts de vertexs neces-saris, Aixo dóna un nombre massa gran de casos a considerar. Per al primereas, tindríem ('~I)subconjunts i, per al segon, ~ (,';1) ('V~~3) agrupacions, i

aquesta darrera expressió ja és O(1V16).

La caracterització que donarem a continuació tampoc no resulta practicaper a fer tests de planaritat; per aixo, veurem finalment un algorisme específicduna complexitat menor.

Sigui G una representació plana qualsevol d'un graf pla G. Definim, perconstrucció, el dual qeométric G' de G:

• Cada regió de G té associat un vertex a G'.

• Per a cada ai E G hi ha una a~ E G'.

• Si a, separa la regió Rj de la Rk a G, aleshores a~enllaca els dos vertexsde G' associats a Rj i Rk.Si a, incideix sobre un vertex de gran 1, aleshores no separa dues regionsde G. En aquest cas, a~ és un llac sobre el vertex de G' corresponent ala regió de G on es troba tu.

En la fig. 2.5 es mostra un graf i el dual geometric d'aquest

G G'

fig. 2.5

Observacions- Si G' és el dual de G :::}G és el dual de G'.- G' també és pla.- Diferents representacions planes G per a G donen diferents duals geometricsG', i no sempre són isomorfs.

Page 46: Grafs - Fonaments i Algorismes

46 2. Planaritat

Deixarem ara la definició geornetrica de graf dual i passarem a una decombinatorica, independent de si G és pla o no. Veurem tot seguit que si G éspla les dues definicions coincideixen.

Siguin G 1 i G2 dos grafs per als quals tenim definida una correspondenciaentre les arestes. Si e representa el conjunt d'arestes que formen un circuitqualsevol a Gl i el és el conjunt corresponent a G2, aleshores, direm que G2

és un dual de Gl {::} el forma un tall a G2.

Teorema 2.16 Tot gmf G pla té dual [combituitoric).

DEMOSTRAcró. Podem formar sempre per a G el dual geometric GI correspo-nent. Tot circuit elemental e de e separa el pla en dues regions, per tant, elsvertexs de GI estan distribuits en dos subconjunts no buits. Si eliminem lesarestes el de GI separarem GI en dos components, així dones, el és un tall peraGI.

De la mateixa manera, tot tall el de GI defineix un conjunt d'arestes e a e.Veurem ara que, si e no és un circuit elemental, segur que el no pot ésser untall. Sabem que només un vertex de GI es troba en cada regió de e. Fixat unvertex de e, considerem totes les arestes que hi són incidents; cadascuna separadues regions de e amb un vertex de e en cada regió. Els vertexs terminalsde les arestes corresponents a GI estan determinats i formen el contorn d'unaregió de GI

. Per tant, cada vertex de e es troba en una regió de GI. Si e no

forma un circuit a e segur que hi ha -pel cap baix- dues arestes de e ambvertexs terminals no connectats a altres vertexs de e. Pero si el és un tall,aleshores aquests vertexs terminals de e han d'estar en la mateixa regió de GI

I aixo és una contradicció perque cada regió de GI conté un únic vertex de e.oCorol-lari 2.17 Sí GI és un dual de e =? e és un dual de GI

.

En el que segueix, tota referencia a la dualitat s'entendra sempre en el sentitcornbinatoric.

Teorema 2.18 G té dual {::}és pla.

DEMOSTRAcró. Ja sabem que tot graf pla té dual, només cal dones demostrarque tot graf no pla no té dual. És dar que G només tindra dual si cada subgrafde G en té. A més, si G té dual, qualsevol altre graf homeomorf a G també entindra. Donat que -pel teorema de Kuratowski- tot graf no pla conté unasubdivisió de K5 i/o de K3,3 ens queda tan sols per veure que cap d'aquestsdos grafs no té dual.

Suposem que K5 té un dual K~. Notem que K5 esta format per deu arestes,que no té cap circuit de longitud 2 ni cap tall format per dues arestes; de fet,tots els talls prenen quatre o sis arestes. Aquests fets impliquen que K~ té deu

Page 47: Grafs - Fonaments i Algorismes

2.4. Test de planaritat 47

arestes, que no té cap vertex de grau inferior a 3 ni cap circuit de longitud2. inó que té circuits de longitud 4 i 6 únicament. Aquestes conclusions sónmútuament incompatibles; per tant, K5 no pot tenir dual.

Suposem que K3,3 té un dual K~,3' Notem que K3,3 no té cap tall formatper dues arestes i, per tant, K~,3 no té circuits de longitud 2. K3,3 té circuits delongitud 4 i 6 únicament i, per tant, K~,3 no té cap tall amb menys de quatrearestes. Podem concloure dones que el grau de cada vertex de K~,3 és més grano igual que 4. Aixo vol dir que K~ 3 conté, com a mínim, cinc vertexs de grau,superior o igual a 4, la qual cosa implica l'existencia de deu arestes. Pero K~,3ha de tenir el mateix nombre d'arestes que K3,3, que són nou; aquesta és lacontradicció que cercávem.D

2.4 Test de planaritat

Els millors algorismes coneguts per a decidir si G(V, A) és pla o no -com araHopcroft i Tarjan (1974) o Lempel, Even i Cederbaum (1967)- realitzen unnombre de pass os O(IVI). Són algorismes complexos que usen unes estructuresde dades forca sofisticades; en conseqiiencia, fer-ne una descripció completa re-sulta llarg i laboriós. En lloc d'aixo, presentarem ací l'algorisme de Demoucronet al., el qual, tot i ésser menys eficient, manté una complexitat polinomial iresulta molt més senzill.

El procediment tracta d'estendre una representació plana R d'un graf par-cial S del graf inicial G(V, A) fins a obtenir una representació plana 6 per a G.Caldra, per aixo, que es verifiquin en tot moment les dues condicions següents:

• En tota extensió plana de R, cada component de G - R ha d'estar dinsd'una única regió de k Si no fos així, qualsevol camí en el componentque connecti dos vertexs situats en regions diferents hauria de travessaruna aresta de R.

• Si K és un subconjunt de vertexs de R i considerem les arestes que en-llacen un component de G - R a K, aleshores, cal que tots els vertexsde K es trobin en el contorn d'una única regió de k Si no fos així, elcomponent considerat hauria de travessar el contorn d'alguna regió de k

Veurem tot seguit que per a aconseguir l'extensió plana 6 per a G a partir deR n'hi ha prou de respectar aquestes dues condicions. Cal, abans, introduiruna mica més de terminologia; siguin 6, R i S com fins ara. Una part p de Grelativa a R és:- una aresta (Vi,Vj) E G - R tal que Vi i Vj E Robé:

-

Page 48: Grafs - Fonaments i Algorismes

48 2. Planaritat

- un component de G - R juntament amb les arestes (que en direm lliures)que enllacen el component als vertexs de R

Un uériex de contacte d'una part p de G relativa a R és tot Vi E R quepertany a una aresta lliure de p. Una part p de G relativa a R és represeniableen una regió R de R si hi ha una extensió plana de R per a formar G on p estraba en R.

Així, ara tenim la condició necessaria següent per tal que p sigui repre-sentable en una certa regió R: si p és una part de G relativa a R, aleshores pés representable en una regió R de R únicament si cada vertex de contacte dep es traba en el contorn de R.

Donat que aquesta condició no és suficient, direm que p és potencialmentrepreseniable en R si p verifica la condició respecte a R.

El metode cornenca amb una representació plana R per a un circuit de G,i tracta d'estendre-la fins arribar a obtenir G o a la conclusió que G no és pla.Formada la representació plana inicial R, prenem la resta de G i la dividim enparts de G relatives a R, per veure on és potencialment representable cadas-cuna. Així, per a cada part p, tenim en quines regions de R p és potencialmentrepresentable. Podem, per tant, estendre R escollint una part p, una regió R onp és representable i un camí e a través de p. El pracés s'atura si abans d'arribara G tenim que una part p no és potencialment representable en cap regió de G.En aquest cas, R no es podrá estendre fins a formar una representació plana Gper a G.

EXEMPLEConsiderem el graf de Petersen representat en la fig. 2.6.

VI

fig. 2.6

Prenem com a R el circuit VI, V2, V3, V4, V5, VI. Queda només una part p deG relativa a R, formada per la resta de vertexs i d'arestes de G. Representemp en la fig. 2.7.

Page 49: Grafs - Fonaments i Algorismes

2.4. Test de planaritat 49

V8

fig. 2.7

EIs vertexs de contacte són VI, V2, V3, V4 i V5' Qualsevol camí a través de pque enllaci dos d'aquests vertexs de contacte serveix com a camí e, esmentatabans en la descri pció del procediment. Si prenem el camí e = (V2, V7, VlQ, V5)

i actualitzem R com a R U e, la única part p de G relativa a R té com avertexs de contacte VI, V3, V4, V7 i VlQ; es comprova directament que cap de lestres regions de R no conté íntegrament aquest conjunt de vertexs. Així dones,el graf de Petersen no és pla,

Passem ja a la descripció de l'algorisme.

Demolieron et al.

Sigui pla una variable booleana que prendrá valor cert o falso

1. Construiu la representació plana R d 'un circuit de G; pla: =cert.

2. P:= {parts p de G relatives a R}.Per a cada p E P formeu F(p) := {regions de R on p és representable}.Si F(p) = 0 per a p, aleshores pla := falsoSi no:

Si per a p, F(p) té una única regió, aleshores, sigui f aquesta.Si no, sigui puna part qualsevol i f una regió de F(p).Formeu -dins de f- un camí C qualsevol entre dos uériexs decontacte de p usant només arestes de p.R:=RUC.

3. Si R =1=G i pla = cert torneu a 2Si no, acabeu.

Page 50: Grafs - Fonaments i Algorismes

50 2. Planaritat

Ens queda per comprovar que l'algorisme de Demoucron et al. és correcte,és a dir, que, si G és pla, aleshores, R es pot estendre sempre fins a obteniruna representació plana per a G i que, si G no és pla, el meto de ho detectaconvenientment.

Teorema 2.19 L'algorisme de Demoucron et al. funciona correctament.

DEMOSTRAcró. Ho podem veure per inducció seguint l'ordre imposat per laseqüencia repetitiva del pas 2 del metode.

La representació R inicial correspon a un circuit i, per tant, es podrá esten-dre fins a formar G, si ~s que G és pla. Sabem que si i! es pot estendre, cadapart p de G relativa a R ha de tenir alguna regió f de R on p és representable.Considerarem els dos casos segons si aquesta regió f és única o no.

Si f és única per a p aleshores p s'ha de trobar dins de f en qualsevol extensióplana de k Per tant, podem tracar el camí e a través de f i l'extensió resultantde R continua essent valida per a arribar fins aG.

Si per a cada part p de G relativa a R hi ha dues o més regions on p ésrepresentable, veurem que l'elecció d'una regió o altra no és significativa. Siguif una de les regions on p és representable, hem de demostrar que hi ha unaextensió de R fins a G per a la qual p es troba en t Sigui Rl una extensióde R fins a G on p es troba en una regió f' fe f. Aleshores, els vertexs decontacte de p han de trobar-se tant en el contorn de f com en el de i', aixovol dir, que hauran d'estar en la frontera Q compartida per f i 1'. Consideremara totes les parts de G relatives a R que tenen sobre Q tots els ~eus vertexsde contacte. Algunes d'aquestes parts es trobaran dins de f a R, i d'altreses trobaran dins de l' a Rl' Formem una nova representació plana R2 de Gintercanviant aquestes parts a través de Q. És a dir, desplace m aquelles partssituades dins de f a Rl de manera que passin a f' dins de R2, i, recíprocament,aquelles parts situades dins de f' a Rl són desplacades de manera que es trobindins de f a R2. Aleshores, R2 és una representació plana per a G en la qualp esta dins de f. Per tant, podem representar p dins de f i R continua essentvalida.

D'altra banda, si G no és pla, l'algorisme ho detecta quan troba una part pno representable en cap regió.D

Comentaris bfbliogr'afícs

EIs resultats de la secció 2.1 són de carácter general. La presentació dels grafsplans externs és feta segons Harary (1969), el qual en dóna més informació.La caracterització dels grafs plans usant K5 i K3,3 aparegué originalment enKuratowski (1930) i era basicament topologica, l'adaptació presentada prové deNishizeki i Chiba (1988). La caracterització usant la dualitat fou desenvolupadaen Whitney (1933a, 1933b) i se n'ha donat ací la versió feta en Gibbons (1985).

Page 51: Grafs - Fonaments i Algorismes

2.4. Test de planaritat 51

El test de planaritat presentat aparegué en Demoucron, Malgrange i Per-tuiset (1964) i se n'ha adoptat la versió simplificada feta en McHugh (1990).

Exercicis1. Demostreu que tot graf G(V, A) amb IAI < 9 o IVI < 5 és pla.

2. Demostreu que en tot graf G(V, A) on IVI > 10 es verifica que G o G és nopla. Pot ser que no siguin plans els dos alhora?

3. Demostreu que no hi ha cap graf pla que tingui 5 regions, de manera quecada dues regions sigui n adjacents.

4. Demostreu que tot graf pla amb IVI 2': 4 té, pel cap baix, 4 vertexs de grauno superior a 5.

5. Podem aconseguir que K6 esdevingui pla eliminant-ne dues de les arestes?1 si en podem eliminar tres?

6. Apliqueu l'algorisme de Demoucron a K5 i a K3,3 per provar que no sónplans.

7. Sigui G(V, A) pla amb conjunt de regions R. Si tots els vertexs de G tenen elmateix grau 9 i totes les regions queden limitades pel mateix nombre d'arestesa, essent a i 9 superiors o iguals a 3, demostreu que G verifica:

IAI 9IVI 2

IRI 9IVI a

IVI- 4a-a(2-g)+2g

8. Comproveu que el graf dual del cub és l'octaedre, que el graf dual deldodecaedre és l'icosaedre i que el tetraedre és autodual.

Page 52: Grafs - Fonaments i Algorismes
Page 53: Grafs - Fonaments i Algorismes

Capítol3

Recobriments i coloració

3.1 Independencia i dominació

Donat un graf simetric G(V, A) a vegades interessa determinar el nombre'elements -o els mateixos elements- d'un conjunt W ~ V tal que els mem-res verifiquin una determinada relació d'adjacencia, Així, per exemple:

enin és el més gran subconjunt maximal W ~ V tal que el subgraf associatG"n- és complet? O bé, quin és el més gran subconjunt maximal W ~ V tal

e el subgraf Gw corresponent no conté cap aresta? Igualment, quin és el, petit subconjunt minimal W ~ V tal que tot vertex de V o es troba a Wés adjacent a -com a mínim- un vertex de W?

En un graf simetric G(V, A) un conjunt independent de oértexs W ~ V ésque no conté cap parella de vertexs adjacents a G. Dit d'una altra manera,

+erífíca que W n f(W) = 0. De la definició es veu que cada vertex per siteix ja és un conjunt independent; així dones, els conjunts independents

, interessants són els maximals (els que no estan inclosos en cap altre).igui Q la família de tots els conjunts independents de G,

a(G) = max IWIWEQ

I'anornena nombre d'imdependéncia de G.

En un graf simetric G(V, A) tot subgraf complet s'anomena una colla (clique,~ angles) de G. Com en el cas anterior, les colles més importants són les

. als. D'alguna manera el concepte de colla és l'oposat al de conjuntependent, de fet, és immediat veure que, en tot graf G, tota colla maximalcorrespon amb un conjunt independent maximal a G.

53

Page 54: Grafs - Fonaments i Algorismes

54 3. Recobriments i coloració

Sigui Q la família de totes les colles de G,

d(G) = max IWIWEQ

se l'anomena densitat de G.Notem que a partir de a( G) i de d( G) podem fer-nos una idea de l'espessor

o densitat de G.

Veurem ara un algorisme (Bron i Kerbosch) basat en la tecnica del back-tracking que permet determinar tots els conjunts independents maximals queconté un graf G(V, A).

Donat que es tracta d'un problema NP-C, no es pot pretendre res gairemillor que un algorisme basat en l'enumeració -a priori+de tots els sub-conjunts de vertexs que es poden formar. Tot i aixo, el metode resulta forcaeficient perque descarta rapidament els conjunts de vertexs que, tot i poderésser independents, ja no poden ésser maximals.

Bron i Kerbosch

1. 10 := 0; Vo- := 0; Vo+ := V; k := O.

2. Preneii vik E Vk+ i actualitzeu:h+l := t;U {vidVk+1 := Vk- - r(Vik)Vk~l := V/ - r(Vik) - {vidk:= k + 1

3. Si 3vj E Vk- tal que r(Vj) n Vk+ = 0 aneu a 5.

4· Si Vk+ = Vk- = 0 escriviu t, i aneu a 5.Si no, iortieú a 2.

5. k:= k - l.h := h+l - {Vik}Vk- := Vk- U {Vik}Vk+ := V/ - {vidSi k = O i Vo+ = 0 acabeu.Si k = O i Vo+ =F 0 torneu a 2.Torneu a 3.

Comentaris a l'algorisme- En el pas k del metode, h conté sempre un conjunt independent; es provade formar h+l augmentant d'un el nombre de vertexs que hi ha a h.- Vk representa el conjunt de vertexs que no es troben a Ik tals que qualsevol

Page 55: Grafs - Fonaments i Algorismes

3.1. Independencia i dominació 55

afegit a h formaria un h+l independent. Es desglossa en Vk- que conté elsvert.exs ja usats per a incrementar h, i Vk+ que conté els vertexs no usats encara.D'ací es despren que h sera un conjunt maximal independent e» Vk- = vt = 0.- Vik representa el vertex Vi en l'etapa k.- Finalment, notem que en el pas 3 es fa el test de backirack. Efectivament,si :3Vj E Vk- tal que I'( Vj) n vt = 0 aleshores podem tornar enrere ja que elvertex Vj mai no sera eliminat de V; per p > k en el pas 2 de l'algorisme.

L'exemple detallat que es presenta a continuació hauria de servir per aclarificar el procediment seguit.

EXEMPLESigui G el graf de la fig. 3.1

En la taula següent apareix, pas a pas, el contingut dels conjunts h,Vk+,Vk-

i de la variable k (s'indica només el subíndex de cada vertex, i, en negreta, elsconjunts independents que són maximals).

v:-k v:+k0 0 1,2,3,4,5 O1 0 4,5 1

1,4 0 5 21,4,5 0 0 31,4 5 0 21 4 5 10 1 2,3,4,5 O2 0 5 1

2,5 0 0 22 5 0 10 1,2 3,4,5 O3 0 0 10 1,2,3 4,5 O4 1 5 10 1,2,3,4 5 O5 1,2,4 0 10 1,2,3,4,5 0 O

En un graf simetric G(V, A) un conjunt dominant de uériexs W ~ V ésal que W U r(W) = V. De la definició tenim que V és sempre un conjunt

dominant; en general, interessaran els conjunts dominants minimals (els queno n'inclouen cap altre).

Page 56: Grafs - Fonaments i Algorismes

56 3. Recobriments i coloració

fig. 3.1

Sigui P la família dels conjunts dominants de G,

(3(G) = min IWIWEP

se l'anomena nombre de dominació de G.

Teorema 3.1 a(G) ::::(3(G) en tot graf G simétric.

DEMOSTRAcró. Només cal veure, a partir de les definicions, que tot conjunt in-dependent maximal és també un conjunt dominant. D'altra banda, tot conjuntindependent que també sigui dominant ha d'ésser maximal per forca.D

3.2 Cobertura i partició d'un conjunt

Acabem de veure com trobar els conjunts independents maximals en un graf, i,per la relació de complementarietat enunciada, les colles corresponents. Trae-tarem ara l'obtenció de conjunts dominants minimals en un graf, veient-ho comun cas particular d'un problema més general sobre els elements d'un conjunto

Podem obten ir un conjunt dominant W en un graf G(V, A) considerant lamatriu d'adjacencia A( G) amb 1 en la diagonal principal. Aleshores, trobarW equival a escollir el mínim nombre de columnes (files) de A de manera quecada fila (columna) tingui un 1, pel cap baix, en una de les columnes (files)escollides. Notem que el W resultant contindra (3(G) vertexs.

El problema de trobar el nombre mínim de columnes que "cobreixen" totesles files es coneix amb el nom de problema de cobertura o recobriment. Engeneral, la matriu binaria que cal considerar no té perque ser quadrada, i, amés, cadascuna de les columnes pot portar un cost associat de manera queinteressi determinar el subconjunt de columnes que recobreixi totes les filesamb un cost total mínimo Un cas particular interessant en la cobertura és elproblema de partició, en el qual es demana que cadascuna de les files quedicoberta exactament per una de les columnes.

Page 57: Grafs - Fonaments i Algorismes

3.2. Cobertura i partició d'un conjunt 57

Sigui R = {Ri, R2... , RM} el conjunt de les M files que cal cobrir usant elconjunt de N columnes S = {Si, S2..., SN} on la columna Sj té un cost ej.

Abans de passar a veure un metode per a obtenir cobertures i particions, potresultar un estalvi important de temps mirar de reduir la mida de la matriu quecal considerar. Per exemple, en el cas de cobertura, es poden efectuar facilmentels quatre controls següents:

1. Si existeix una R¿ tot-zeros aleshores el problema no té solució.

2. Si la fila R; té un únic 1, diguem en la columna Sj, aleshores hem deprendre Sj com a integrant de la solució, i podem esborrar R; i totes lesaltres files cobertes per Sj.

3. Si els 1 de R; són un subconjunt dels 1 de Rj, aleshores podem eliminarRj donat que tota solució que cobreixi R; també cobrirá Rj.

4. Finalment, si les files cobertes per una certa columna Sj de cost ej podenser cobertes per la unió Z d'altres columnes amb un cost total cz ::;ej,aleshores podem eliminar Sj de la matriu.

El rnetode que veurem tot seguit és consequencia dels treballs de Garfinkel,_ emhauser i Pierce per a resoldre el problema de partició i segueix també unaestrategia basada en el baektraeking.

Comenca el procés construint una taula de M blocs de columnes, un blocper a cada fila, de manera que el k-esim bloc conté aquelles columnes de Sque cobreixen R¿ i que no cobreixen cap de les files precedents Ri,R2 ... ,Rk-i'Així dones, cada columna apareix en un, i només un, deIs blocs, mentre que potpassar que algun deIs blocs no contingui cap columna. Les columnes dintre decada bloc s'ordenaran de forma ascendent en funció del cost i seran novamentetiquetades de manera que Sj sigui efectivament la j-esima columna de la novataula.

Durant l'execució de l'algorisme els blocs seran coberts seqüencialment, demanera que el bloc k no sera considerat fins que no s'hagi cobert cadascun deIsk - 1 blocs precedents.

En cada moment de la recerca tindrem una solució óptima provisional C*de cost Z*. C i z representaran, respectivament, la solució actual i el cost, i P,el conjunt de files cobertes per les columnes de C.

Page 58: Grafs - Fonaments i Algorismes

58 3. Recobriments i coloració

Garfinkel et al.

1. Munteu els blocs de la taula; e := 0; C" := 0; F := 0; z := o; z* := oo.

2. Cerqueu i marqueu, si existeix, la primera columna del bloc p, on:

p:= min {i}Ri~F

3. A partir de la columna marcada en el bloc p, examineu les Sj(p) per ordrecreixent de j.Si 3Sj(p) tal que Sj(p) n F = 0 i z + Cj(p) < z" aneu a 5.Si no, si ja s'ha examinat tot el bloc P o es troba una Sj(p) tal que z +Cj(p) ;::::z" aneu a 4.

4. Si e = 0 jinalitzeu (liem examinat totes les columnes del bloc 1).Si no traieu la darrera Sk(l) afegida a e, P := 1 i marqueu, si existeix,Sk+l(l).z := z - ck(l); F := F - {Sk(l)} i torneu a 3.

5. e:= e u Sj(p); F := F U {Sj(p)}; z := z + Cj(p).Si F = R, aleshores, C" := e; z" := Z i torneu a 4.Si no, torneu a 2.

EXEMPLEEn la matriu binária que ve a continuació -on els blocs de columnes ja hanestat ordenats segons demana l'algorisme-, la solució per al problema de par-tició ve donada per les columnes de C" = {S2, S6, S7} amb cost total z* = 14.

1 1 O O O O101 100100 100O 101 1 OO O O 101

cost 6 7 8 9 9 2 5

La resolució del problema de cobertura s'obté a partir de dues modificacionsen l'esquema precedent, una en l'algorisme i l'altra en l'arranjament de lescolumnes de la taula que cal considerar.

Efectivament, l'única part de l'algorisme anterior que és particular de lapartició es traba en la primera condició del pas 3, ("Si 3Si(p) tal que Sj(p) n

Page 59: Grafs - Fonaments i Algorismes

3.3. CoIoració dels ver-texs 59

F = 0 ... "), la qual exigeix que la nova columna no cobreixi cap de les filesja cobertes anteriorment. N'hi ha prou d'eliminar aquesta primera condició ireescriure 3 com "Si :lSj (p) tal que z + ej (p) < z* aneu a 5" per a poder-loaplicar al problema de cobertura.

En el cas del problema de cobertura s'entén que l'operació F := F - {Sk (l)}del pas 4 de l'algorisme, treu de F únicament les files que Sk(l) cobreix i queno havien estat anteriorment cobertes per cap altra columna que formi part de..a olució actual.

A més d'aixo, haurem també de modificar previament la taula de blocsinicial. Així, si la columna Sj cobreix les files Rk, R¡ ..., Rq on k < l··· < q,

eshores, no n'hi haurá prou amb incloure únicament Sj en el bloc k, sinó queura de formar part també dels blocs l. ..,q ja que ara no demanem que en leslumnes de la so lució hi hagi només un 1en cada fila.

3.3 CoIoració deIs vert.exs

Tn graf G(V, A) simetric i sense llacos s'anomena r-colorable si se'n podenpintar els vertexs usant r colors de manera que no hi hagi mai dos vertexsadjacents que portin el mateix color. El menor valor de r pel qual G és r-colorable s'anomena nombre cromaiic de G i es representa per 1'(G). Així,_ oldre el problema de la coloració deis vertexs de G significa trobar 1'(G),sigui a partir de l'estudi del graf o bé comptant quants colors s'han usat en unacoloració óptima,

EXEMPLEÉs fácil de comprovar que la coloració del graf G de la fig. 3.2 és óptima, i que,per tant, 1'(G) = !{el,c2,c3,e4}! = 4.

G

fig. 3.2

Page 60: Grafs - Fonaments i Algorismes

60 3. Recobriments i coloració

El valor maxim i el mínim que assoleix ')'(G) -tret dels grafs trivials en que')'(G) = 1- es produeixen, respectivament, en el cas d'un graf complet i en elcas d'un graf bipartit. En el primer cas és evident que ')'(G) = n, ja que cadavertex és adjacent a tots els altres; en el segon, es tracta d'una altra versió delteorema 1.6.

Teorema 3.2 G és 2-colorable {:} no conté cap circuit de cardinalitat senar.

DEMOSTRACIÓ.La part (=?) és de comprovació immediata.Per a veure'n l'altra implicació, considerem que G no conté cap circuit de

cardinalitat senar i n'obtindrem una 2-coloració dels vertexs,Prenem un vertex inicial v* qualsevol i el pintem de color el. Pintem,

després, amb el color e2 tots els vertexs adjacents a v*. Per a cadascun deIsvertexs de color e2 pintem tots els adjacents -no pintats- amb el color el ... , iaixí successivament fins que tenim tots els vertexs pintats usant només els doscolors el i C2.

Hem de veure ara que la coloració és correcta, és a dir, donats dos vertexsadjacents qualssevol Vi i Vj, cal que tinguin assignats colors diferents. Siguid( u, v) la distancia de u a v en G. Aleshores, és dar que, usant el metcdeseguit per fer la coloració, el vertex v rep el color e2 només si d( v* , v) és senar,i color Cl només si d( v* ,v) és parell.

Si Vi i Vj són vertexs adjacents de G que han estat pintats de color C2 voldir que hi ha un camí de distancia senar de v* a Vi i un altre de distanciasenar de v* a "i- Pero aixo, juntament amb l'aresta (Vi, Vj) forma un circuitde cardinalitat senar, el qual contradiu la suposició inicial.

Si Vi i Vj han rebut el color el, s'argumenta analogarnent.D

La coloració dels grafs plans és un cas particular a destacar, donat que pera ells també se'n coneix el nombre crornatic. Historicament, el problema fouplantejat el 1852 per l'estudiant de matematiques F. Guthrie a A. De Morgan-un dels seus professors en el University College de Londres- en els termessegüents: donat un mapa polític qualsevol, en el qual es delimita la frontera delsdiferents estats, quants colors s'han de menester per tal de pintar-los tots demanera que no hi hagi dos estats vems -amb frontera comuna- pintats ambel mateix color? És dar que el mapa es converteix en un graf pla si s'assignaun vertex a cada estat, i es crea una aresta entre dos vertexs si els dos estatscorresponents tenen frontera comuna. .

De fet, resultava que tots els mapes considerats podien ésser pintats usantquatre colors; el problema era demostrar-ho. El 1879 Kempe va publicar unademostració -erronia- de la possibilitat de pintar tot mapa usant quatrecolors; tot i aixo, el seu meto de resultaria molt útil un segle més tardo El 1890Heawood va corregir l'error de Kempe de manera que el procediment noméspodia provar que cinc colors eren sempre suficients. Realment pero, Heawood

Page 61: Grafs - Fonaments i Algorismes

3.3. Coloració dels ver-t.exs 61

és més conegut per un resultat més general: sigui En l'esfera amb n nansesafegides, el seu teorema de coloració dels mapes diu que tot mapa sobre En potésser colorat usant un total de colors no superior a:

1l2(7 + vI + 48n)J n = 1,2 ...

Notem que en aquest resultat s'exclou explícitament el cas n = O corres-ponent a l'esfera. No deixa de ser curiós que Heawood donés també una de-mostració erronia de la seva fórmula, la qual no va poder ser satisfactoriamentdemostrada fins molts anys després (Ringel i Youngs (1969)). D'altra banda,podria semblar que el cas n = O no havia de ser més difícil que els altres, encanvi, van haver de passar encara vuit anys més.

Finalment, el 1977 Haken i Appel en una llarga i controvertida demostracióvia ordinador van establir que en tot graf G pla ,( G) ::; 4.

El procediment usat per a provar que cinc colors són suficients si el mapaes troba en un pla -o damunt Eo-, tot i no ésser valid per a veure que ambquatre colors n'hi ha prou, resulta forca senzill i elegant, correspon a la primerademostració del:

Teorema 3.3 Tot graf G pla verifica que ,(G) ::;5.

DEMOSTRAcró. (1) Ho veurem per inducció sobre el nombre de vertexs n.Tot graf pla amb n ::;5 és clarament 5-colorable. Prenem com a hipotesi

d'inducció que tots els grafs plans amb n vertexs són 5-colorables. Sigui G ungraf pla amb n + 1 vertexs, sabem que G contindra, pel cap baix, un vertex Vi

tal que grau( Vi) ::; 5. Per la hipotesi d'inducció, el graf G - {vd és 5-colorable.Considerem una coloració dels vertexs de G - {Vi} amb els colors Cl, C2, C3, C4

i C5. Es presenten dues possibilitats:1. grau( Vi) < 5. Aleshores, hi haura al menys un color Cj, 1 ::; j ::; 5, que

no haurem usat en pintar els vertexs adjacents a Vi. Pintem Vi amb el color Cj

i ja hem acabat,2. grau( Vi) = 5. Fem ací, si cal, una permutació en el nom dels vertexs

i en l'assignació dels colors de manera que tinguem al voltant de Vi els seus 5vertexs adjacents situats de forma circular i consecutiva on el vertex Vj rep elcolor Cj, j = 1,2 ... ,5 (vegeu la fig. 3.3).

Sigui ara G13 el subgraf de G - {Vi} obtingut en considerar tots els vertexspintats amb color Cl o C3. Si Vl i V3 es troben en diferents components de G13podem intercanviar els colors del component que conté Vl, i pintar després Vi

de color Cl.

D'altra banda, si Vl i V3 estan en el mateix component, existirá un camí entrel'un i l'altre en el qual cada vertex estar a pintat de color Cl o C3. Aquest camí,juntament amb el camí Vl ---> Vi ---> V3 produeix un circuit que necessáriament

Page 62: Grafs - Fonaments i Algorismes

62 3. Recobriments i coloració

fig. 3.3

tanca o V2, o V5 i V4. En qualsevol cas, no hi haura cap carní de V2 a V4 queestigui només pintat amb els colors C2 i C4' Per tant, si G24 és el subgraf deG - {vd obtingut en considerar els vertexs pintats amb C2 o C4 tenim que V2 iV4 pertanyen a components diferents de G24.

En conseqiiencia, intercanviant els colors del component de G24 que contéV2(V4), ens queda el color C2(C4) per a pintar el vertex Vi·O

DEMOSTRAcró. (2) Igualment per inducció sobre ti,

Anem directament al cas en que graU(Vi) = 5, i siguin Vl,V2,V3,V4,V5 elsvertexs adjacents sense que calgui ara col-locar-los en cap ordre especial. Notots els Vj j = 1...,5 estaran enllacats entre si mitjancant una aresta, perque, siaixo passés, G contindria el graf K5 i, per tant, no podria ésser pla. Consideremque Vl i V2 són no adjacents. Eliminem de G les arestes (Vi, V3), (Vi, V4) i (Vi, V5)

i fem la contracció de les arestes (Vi, Vl) i (Vi, V2). Aixo fondrá Vi, Vl i V2 en unúnic vertex; sigui y aquest. Tenim ara un graf GI amb dos vertexs menys queG, i, per la hipotesí d'inducció, podem pintar GI usant -com a molt- els 5colors, Un cop obtinguda la coloració de GI

, passem a pintar G de la formasegüent: pintem tots els vertexs de G amb el mateix color que havien rebut aGI

, tret de Vi, Vl i V2. Així, Vl i V2 reben el mateix color que y, mentre que Vi

rep un color diferent del que s'ha assignat a qualsevol dels altres Vj j = 1...,5.Aixo és possible fer-ho perque disposem de 5 colors. Com que Vl i V2 no erenadjacents hem obtingut una coloració per aG.O

Aquesta segona demostració, dóna un algorisme que, en temps polinomial,permet pintar qualsevol graf pla usant com a molt cinc colors. Aixo és impor-tant perque no es coneix cap algorisme eficient per a fer una coloració óptima,és a dir, una 4-coloració de G. Es pot comprovar facilment que la complexitatdel metode sera O(n2), si tenim en compte que en cada pas el graf Gk té dosvertexs menys que el graf precedent Gk-1, i que el nombre de passos per a for-mar el graf següent Gk(Vk,Ak) sera O(¡Vkl). Val a dir que hi ha refinamentsper al procediment que permeten disminuir aquesta fita.

Page 63: Grafs - Fonaments i Algorismes

3.3. Coioració deis ver texs 63

Finalment, esmentem que si un graf e pla té menys de quatre circuits deongitud 3, aleshores, pot ésser pintat usant com a molt 3 colors (Grünbaum1963)). Aquest resultat és prou afinat donat que, per exemple, K4 té exacta-

ment quatre circuits de longitud 3, i ja calen quatre colors per a pintar-lo.

Tret dels dos valors extrems vistos per a ,(e), i del cas dels grafs plans,no hi ha cap fórmula pel cas general. Aixo sí, es coneixen forca fites -tantinferiors com superiors- pel valor que pren ,( e) en funció d'altres pararnetresde e.

Vegem-ne algunes de les més usuals.

Fites inferiors per a ,(e)

• Donat que hem de menester d( e) colors per a pintar els vertexs de la collamés gran de e, tindrem que:

,(e) ~ d(e)

De fet, aquesta fita és forca dolenta, i en la practica s'ha comprovat que ladiferencia ,( e) - d( e) es pot fer tan gran com es vulgui. Així, per exemple, elgraf e de la fig. 3.4 -anomenat graf de Grotzsch- no conté cap colla formadaper tres vertexs i, en canvi, ,(e) = 4.

fig. 3.4

• Si notem que a( e) ens dóna el nombre rnáxim de vertexs que poden ésserpintats usant un mateix color, aleshores:

Page 64: Grafs - Fonaments i Algorismes

64 3. Recobriments i coloració

Teorema 3.4 En tot graf G(V, A) sense llacos:

DEMOSTRACIÓ. Prenem ')'(G) = ti siguin VI, V2 ... , Vi els subconjunts de vertexsde G pintats, respectivament, arnb els colors CI,C2 ... ,Ct. Així dones, la matriud'adjacencia A( G) es pot expressar com a:

oSiguin ara: ni = IViI, No el nombre de O en A(G) i NI el nombre de 1 en

A(G). Tenim que NI = 2m mentre que:

(nI + n2" . + nt)2No 2: ni + n~ ... + n; 2: t

El total d'elements de la matriu és:

per tant, (n2 - 2m)t 2: n2. 1 d'ací, l'enunciat.D

Fites superiors per a ')'(G)

• Per inducció sobre ti es comprova que ')'(G) :::;6.(G) + l.

La fita anterior ve ajustada pel resultat següent degut a Brooks:

Teorema 3.5 G(V, A) no complet i connex amb 6.(G) 2: 3 té ')'(G) :::;6.(G).

DEMOSTRACIÓ. Ho veurem per inducció sobre n. Considerem-ho cert fins an-l.

Podem fixar, sense perdre generalitat, que G és regular i que cada vertexté grau 6.. Si traiem un vertex v qualsevol, el graf resultant és -per hipotesid'inducció- 6.( G)-colorable. A més, cal que tots els vertexs adjacents a vtirtguin assignat un color diferent, perque, si no fos així, podríem pintar v senseproblema amb un dels colors disponibles.

Siguin els veíns de veIs vertexs VI, V2 ... , v6, amb colors respectius CI, C2 .. ·, C6,.

Cal que cada parella Vi, Vj E I'(u) es trobi en el rnateix component de Gij

Page 65: Grafs - Fonaments i Algorismes

3.3. CoIoració deIs ver rexs 65

(definit com en el teorema 3.3), sinó, usant un argument similar al del teoremaesmentat aconseguiríem alliberar un color per a pintar v.

Sigui GL el component Gij que conté Vi, veurem primer que cada vertexdins de G~j' tret de Vi i Vj, ha de tenir grau 2.

Comencant per Vi a Glj seguim un camí sense repetir arestes. Suposem quearribem a un vertex u tal que grau(u) > 2 a G~j' Aleshores, hi ha d'haver uncolor absent a I'( u) dins G, el qual no és ni ei ni ej. Podem usar aquest colorabsent per a pintar u, i així, aconseguim que Vi i "i es trobin en componentsdiferents de Gij. Per tant, Vi podrá ésser pintat de color ej i V disposara delcolor c.,

Observem ara que dos camins Gij i G{j es creuaran només a Vj. Efecti-vament, si ho fessin en un altre vertex u, hi hauria 4 vertexs adjacents a uque usarien en total només 2 colors; aixo significa que -tret de <r; als seusveíns els mancaria almenys un color. 1 aquest color es podria assignar a u pera separar Vi de Vj en dos corrwonents a Gij.

Escollim ara, suposant que es pot, dos vertexs Vi,Vj E I'(u) que no siguinadjacents. Sigui u el vertex adjacent a Vi pintat de color ej. Podem intercanviarels colors a G~k k ~ j sense afectar la coloració de G. Pero aixo porta a unacontradicció perque aleshores u seria un vertex intersecció dels camins Gij i

G{j'Per tant, no podem escollir dos vertexs no adjacents i veins de v. Aixo

implica que V i els seus veíns formen el graf KL'..+l, i, aquest cas, ha estatexplícitament exclos en l'enunciat.D

Relacionant ,,( G) amb el nombre cromátic del seu graf complementari tenim

Teorema 3.6 En tot graf G sense llacos:

DEMOSTRACIÓ. L'enunciat és clarament cert per a n = 1 i n = 2. Sigui donesG un graf sense llacos amb n > 2, i sigui Gv el graf G - {v} on V E G.És clar que:

,,(G) ::;,,(Gv) + 1

,,(G) ::; ry(Gv) + 1

Considerarem els dos casos possibles, segons es verifiqui o no la igualtat enles dues inequacions precedents:1. Si es verifica la igualtat en les dues inequacions, aleshores:

grauc(V) :::::ry(Gv)

grauc(v) :::::,,(Cv)

Page 66: Grafs - Fonaments i Algorismes

66 3. Recobriments i coloració

Així, sumant:

i d'ací:')'(G)+')'(G):::: (n-l)+2=n+l

2. Si no es verifica la igualtat en alguna, aleshores, usant la hipótesi d'inducció:

Corollari 3.7 En tot graf G sense llacos:

DEMOSTRAcró. Usant el teorema 3.6 i el fet que .J(;7j ::::a!b:

3.4 El polinomi crornat ic

Considerem que els vertexs del graf G estan numerats de manera que duescoloracions seran considerades diferents si, almenys, un dels vertexs hi té assig-nat colors diferents.

Sigui f (G, t) el nombre de z-coloracions diferents de G. Es dedueix directa-ment que:

- f(G,t) = O si t < ')'(G)- el mínim t tal que f(G, t) > O és t = ')'(G)

EXEMPLEQuant val f (K 3, t)? Fixat Vl -per simetria, tots els vertexs són iguals-disposem de t colors per a pintar-lo; ens queden després t - 1 colors per a V2,

i, finalment, t - 2 colors per a V3. Així dones, f(K3, t) = t(t - l)(t - 2).

Es pot generalitzar facilment aquest resultat de manera que:

f(Kn, t) = t(t - l)(t - 2) ... (t - (n - 1))

Tot seguit, usarem aquest fet per tal de formalitzar un meto de que permettrobar f(G, t) per a qualsevol G.

Page 67: Grafs - Fonaments i Algorismes

4. El polinomi crornát ic 67

Ieorema 3.8 Donat G(V, A) sigui a E A, aleshores:

f(G, t) = f(G - {a}, t) - f(G 11 a, t)

IOSTRACIÓ. N'hi ha prou d'adonar-se que les coloracions de G - {a} podenfetes de dues maneres diferents:

- assignant als vertexs de l'aresta a colors diferents; aixo es correspon amb el~ mbre de coloracions de G- assignant als vertexs de l'aresta a el mateix color; aixo es correspon amb el

mbre de coloracions de G 11 aD

CoroHari 3.9 f(G, t) és un polinomi en t.

Aquest darrer teorema ens dóna un procediment recursiu per a trobarG, t), donat que ens mostra que si G és un graf qualsevol amb IVI = ri i

_-1= m, aleshores, existeixen GI(VI,AI) amb IAII = m -1 i G2(V2,A2) amb\21 = n-l tals que f(G, t) = f(GI, t) - f(G2, t). Així, podrem aplicar repeti-

dament la descomposició a cadascuna de les dues parts GI i G2 fins a obtenirgrafs complets -deis quals ja sabem quant val f(G, t).

Establirem ara algunes de les propietats basiques d'aquests polinomis.

Teorema 3.10 f(G,t) és un polinomi de grau n.

DEMOSTRACIÓ. Per a cada natural k, sigui P(G, k) el total de particions deisvertexs de G en exactament k subconjunts no buits, de manera que cap arestade G no uneixi dos vertexs del mateix subconjunt. Dins d'un conjunt de tcolors, tenim t(t - l)(t - 2)··· (t - k + 1) maneres d'assignar un color diferenta cadascun deis subconjunts, i cadascuna d'aquestes assignacions dóna unacoloració per a G. Es pot veure que:

f(G, t) = l.::: t(t - l)(t - 2)··· (t - k + l)P(G, k)k

és un polinomi de grau n.D

Teorema 3.11 Sigui G(V, A) amb k components, en el polinomi f(G,t):

• tj té coeficient (-1)n-j aj;

• aj és no nul {::> k :::;j :::;n;

• an = 1 i an-l = m;

• aj és positiu per k :::;j :::;n.

Page 68: Grafs - Fonaments i Algorismes

68 3. Recobriments i coloració

DEMOSTRAcró. Es pot veure per inducció sobre el nombre d'arestes m de G,usant el teorema 3.8 i el fet que tant f( G - {aj}, t) com f( G 11 aj, t) tenen unaaresta menys que G, essent aj qualsevol aresta de G.O

Corol-larí 3.12 Per a tot graf G, f (G, t) és un polinomi monic on els coefi-cients tenen els signes alternats.

Com a aplicació d'aquestes propietats podem caracteritzar tot arbre G enfunció del polinomi cromatic f (G, t).

Teorema 3.13 Un graf G és un arbre {=} f(G, t) = t(t _1)n-i.

DEMOSTRAcró. (=?) Per inducció sobre n.El resultat és cert per a n = 1 in = 2. Considerem que el polinomi cromatic

de tots els arbres de n - 1 vertexs és de la forma t(t - 1)n-2. Sigui Vj tal quegrau( Vj) = 1 (una fulla de l'arbre G) i sigui (Vi, Vj) l'aresta de G que incideixsobre Vj. Per la hipotesi d'inducció l'arbre G' = G - {Vj} té polinomi cromaticf( G', t) = t(t-1)n-2; ara bé, el vertex Vj pot ser pintat de t-1 formes diferents.Així dones, f(G,t) = t(t _1)n-2(t -1) = t(t _l)n-i.

(-{=) Usant el binomi de Newton podem veure que el coeficient de ti a f( G, t)és 1, i, per tant, usant les propietats del polinomi crornatic deduím que G ésconnex perque té un únic component. A més, el coeficient de tn-i és -(n - 1),per tant, sabem que G tindrá n - 1 arestes i n vertexs, Aixo implica que G had'ésser necessáriament un arbre.O

Un problema encara obert és determinar quins polinomis són polinomiscrornátics d'un cert graf. Així, per exemple, P(t) = t4 - 3t3 + 3t2 podria ser elpolinomi cromátic d'un graf que tingués n = 4, m = 3 idos components. Aquestgraf només pot ser G = K 3 U {v*} on v* és un vertex addicional aíllat; pero siara calculem el polinomi cromatic de G obtenim f (G, t) = t2 (t - 1) (t - 2)t4 - 3t3 + 2t2 que no coincideix amb P(t).

3.5 Obtenció aproximada de ,,(G)El problema de trobar ,( G) -com també per a determinar a( G) o j3(G)- ésNP-C, la qual cosa imposa, en la practica, la necessitat de poder calcular -entemps polinomial- una aproximació al valor real de ¡. Malauradament, aquestencara és un tema d'estudi i els resultats actuals no semblen gaire satisfactoris.No obstant aixo, presentem, tot seguit, dos d'aquests metodes aproximats.Caldra tenir present que, en certs casos, poden donar una aproximació forcadolenta, és a dir, un valor molt superior al valor exacte de ¡.

(1) El primer consisteix a realitzar la coloració basant-se en l'ordenacióprevia dels vertexs de forma descendent en funció del grau.

Page 69: Grafs - Fonaments i Algorismes

3.6. Obtenció exacta de ,(G) 69

Es pinta VI -el vertex de grau més gran- amb el color CI, i es busca en laa de vertexs seqüencialment cap avall, per tal de pintar amb aquest color

zo els vertexs no pintats que no són adjacents a VI i no ho són a un altrevertex pintat ja amb el color CI. A continuació, es torna a comencar pel cap de.a llista fins a trobar el primer vertex Vk no pintat, i es pinta amb color C2 totvertex que aparegui en la llista sense pintar, que no sigui adjacent a Vk i no hosigui a cap altre vertex pintat amb el color C2 ... , i així successivament fins queot els vertexs han estat pintats.

En el procés descrit considerem que si dos vertexs Vi, Vj tenen el mateix graues col-locaran en la llista de forma aleatória, El que es pot fer és col-locar-losen funció del segon grau, és a dir, calculant [r2 (Vi) [ i [r2 (Vj) [ i situant primeren la llista el vertex que dóna un valor major. Si encara hi ha empat es potconsiderar el tercer grau, etc.

(2) Formem els colors i els vertexs ordenats, respectivament, CI,C2,C3""

L'l V2 ... , Vn. Aquest procediment processa els vertexs per ordre de número assig-nant el color CI a VI. A continuació, es pinta amb el primer color possible acada vertex Vj j = 2,3 ... , n. Així, quan Vj rep el color Ck vol dir que cap deIscolors CI, C2 ... , Ck-l s'ha pogut usar perque ja havia estat assignat a algun altrevertex adjacent a Vj.

Observem que en aquest rnetode pot resultar fonamentall'ordre en el qual'escullen els vertexs del graf. Així, si prenem el graf bipartit G( {X, U}, A)

on X = {XI,X2""Xn!2} i U = {UI,U2 ... ,Un!2} on hi ha una aresta (Xi,Uj) pera tot i i- j aleshores s'usaran només dos colors si es consideren primer totsels vertexs d'una classe abans de passar a pintar tots els vertexs de I'altra; encanvi, si es va prenent alternativament un vertex de cada classe en la partició,caldran ~ colors per a completar la coloració.

3.6 Obtenció exacta de f'( G)Vía descomposició del problema

Notem, que després de la coloració d'un graf, cada conjunt de vertexs pintatamb un mateix color forma un conjunt independent, per tant, cada coloraciópot ser vista com una partició del conjunt de vertexs de G. Aquesta particióes pot obtenir a partir dels conjunts independents maximals de G si, usant unprocediment de cobertura, seleccionem el nombre mínim de conjunts indepen-dents que cobreixen tots els vertexs. El procés seria el següent: determinar elst conjunts independents maximals GI, G2 ... , Gt de G(V, A) i formar la matriuM = (mij) de [VI files i t columnes on:

---

Page 70: Grafs - Fonaments i Algorismes

70 3. Recobriments i coloració

{1 si Vi E C·

mij = O cas cont:ari

Si associem un cost 1 a cada columna de M aleshores la coloració es trobarácercant el nombre mínim de columnes de M que cobreixen totes les seves files.Cada columna de la solució correspondra a un color, el qual sera usat per atots els vertexs del conjunt independent corresponent.

Notem també que pot succeir que un mateix vertex es trobi en més d'unacolumna de la solució, aixo voldra dir que hi ha diverses possibilitats de colo-ració óptima segons amb quin color pintem el vertex en qüestió.

EXEMPLESigui G el graf de la fig. 3.5.

fig. 3.5

EIs conjunts independents maximals de G són (abreujant el nom dels vertexs):Cl = {1,3,7,9}, C2 = {1,4,7}, C3 = {2,6,8}, C4 = {3,6,7,9}, C5 ={4,5,8}, C6={4,6,7,8} iC7={5,9}.Per tant, podem formar el problema de cobertura següent:

Cl C2 C3 C4 C5 C6 C7VI 1 1 O O O O OV2 O O 1 O O O OV3 1 O O 1 O O OV4 O 1 O O 1 1 OV5 O O O O 1 O 1V6 O O 1 1 O 1 OV7 1 1 O 1 O 1 OVs O O 1 O 1 1 OVg 1 O O 1 O O 1

cost 1 1 1 1 1 1 1

Page 71: Grafs - Fonaments i Algorismes

3.7. Coloració de les arestes 71

on una solució ve donada per les columnes 1, 3 i 5. Així dones, ,( G) = 3 i espot fer l'assignació de colors següent:

_-otem que Vs pot rebre també, alternativament, el color C2·

ia backtracking

Comenca el procés numerant els vertexs de forma arbitraria VI,V2 ... ,Vn ietiquetant els colors CI, C2... Es determina una coloració inicial de la formasegüent:- VI porta el color CI

- pintem tots els altres vertexs de manera que cada vertex Vi, i 2,3 ... ,nportara el color d'índex més baix entre els possibles

Suposem que hem hagut de menester q colors. Aleshores, si existeix unacoloració que usa q - 1 colors haurem de repintar tots els vertexs que usen elcolor cq amb un altre color Cj on j < q. Sigui Vi' el primer vertex en l'ordenacióque pren el color cq; aquest vertex podrá ser repintat amb un altre color méspetit que cq si, al menys, un deis vertexs adjacents és també repintat. Per tant,des de Vi* farem backtracking de la forma següent: dels vertexs VI···, Vi*-l queón adjacents a Vi' prenem el de subíndex més alt, sigui aquest Vr que usa

el color ci: Repintem u; amb el color més baix possible c~ on c~ ;:: Ck + 1 iconsiderem les dues situacions possibles:a) c~ < cq. Anem repintant seqüencialment tots els vertexs Vr+I ... ,Vn mirantde no usar el color cq. Si aixó resulta possible haurem obtingut una coloraciómillor que la d'abans ja que usem menys de q colors. Cas contrari, si trobemun vertex que ha de menester el color cq farem backtracking des d'aquest vertexb) c~ = cq. En aquest cas fem backtracking des de Vr

L'algorisme acaba quan el backtracking arriba a VI. Cal destacar que aquestdarrer meto de resulta forca eficient malgrat la simplicitat.

3.7 Coloració de les arestes

Fins ara hem tractat el problema de la coloració dels vertexs de G; aquest és elcas que presenta més aplicacions i, per tant, el més estudiat. No obstant aixo,també es pot considerar el problema de la coloració de les arestes de G. Enaquest cas voldrem assignar un color a cadascuna de manera que:

Page 72: Grafs - Fonaments i Algorismes

72 3. Recobriments i coloració

- no hi hagi cap parella d'arestes amb un vertex comú que rebin el mateixcolor- el nombre total de colors usats sigui el mínim possible

Sigui la(e) el nombre cromatic per a les arestes de e, definit analogamenta I(e). Donat que cada aresta que afecti un determinat vertex v ha de dur uncolor diferent, podem establir directament que:

la(e) 2:: ll(e)

Veurem ara els dos tipus particulars de grafs pels quals coneixem exacta-ment quin és el valor que pren la (e).

Teorema 3.14 Si e(V, A) és un graf bipartit =} la(e) = ll(e)

DEMOSTRACIÓ.Per inducció sobre IAI.És cert per al cas IAI = 1. Considerem que tenim una coloració feta amb

II colors per a totes les arestes, tret d'una, i sigui (Vi, Vj) l'aresta encara nopintada. Com que disposem de II colors, vol dir que hi ha, almenys, un colorno present a Vi i un color no present a Vj. Si es tracta del mateix color el podemfer servir per a pintar (Vi,Vj) i hem acabat. Cas contrari, sigui Cl el color quemanca a Vi i C2 el color que manca a "i Naturalment, C2 es troba a Vi i Cl estroba a Vj.

Sigui ei2 el graf parcial de e que conté les arestes pintades Cl o C2,el qualinclourá el vertex Vi. Sabem que Vi i Vj no es troben en la mateixa part del graf(recordem que e és bipartit) perque són adjacents, per tant, tot camí de Vi a Vj

dins de ei2 ha d'acabar amb una aresta pintada de color C2.Pero hem dit queC2 no es troba a Vj, així dones, podem intercanviar els colors del component deei2 que conté Vi i ens queda lliure el color C2 per a pintar l'aresta (Vi, Vj).D

Teorema 3.15 Si e (V,A) és te; =} la(e) = { ~~g~+ 1si n és senarsi n és parell

DEMOSTRACIÓ. Gas de n senarConstruirem K¿ com un polígon regular de n costats, on les altres arestes queno són costats es representaran com a segments interiors al polígon (així, perexemple, en el cas de n = 5 tindrem un pentagon amb una estrella de 5 puntesa l'interior). Pintem els costats usant un color diferent per a cadascun, mentreque cada atesta interior es pinta amb el mateix color que ha rebut el costat queli és paral-lel (veure la fig. 3.6).

La coloració resultant és correcta i usa II+ 1 = n colors. D'altra banda, siK¿ tingués una ll-coloració d'arestes, aleshores, donat que e té n(n2-l) arestes,

Page 73: Grafs - Fonaments i Algorismes

3. . Coloració de les arestes 73

5

fig. 3.6

hi hauria, pel cap baix, ~ arestes amb el mateix color. Pero aixó no és possibleperque -per construcció del polígon- no hi ha més de n2l arestes disjuntesde vertexs.

Gas de n parellPodem veure G com si fos un graf complet G' amb un nombre senar de vertexsmés un altre vertex enllacat a tots els vertexs de G'. Si G' fos pintat comabans, ens quedaria un color lliure per a cada vertex, i, per construcció de lacoloració, aquest color seria diferent per a cadascun dels vertexs. Així dones,les arestes que queden a G sense pintar poden rebre respectivament els colorslliures.D

Finalment, el resultat següent -degut a Vizing- recull els dos precedents,i redueix al mínim la incertesa sobre el valor de 'Ya(G).

Teorema 3.16 En tot graf G sense llacos ,0.(G) ::::;'Ya(G) ::::;,0.(G) + 1.

DEMOSTRACIÓ. Només ens cal veure que 'Ya(G) ::::;,0.(G) + 1, i ho farem perinducció sobre IAI.

L'enunciat és clarament cert quan IAI = 1. Suposem que hem fet unacoloració de totes les arestes menys una, usant com a molt ,0. (G) + 1 colors.Sigui (va, vi) l' aresta que queda per pintar.

Al menys un dels colors no ha estat usat a Va, i al menys un no ha estatusat a Vl; si es tracta del mateix color, el podem usar per a pintar l'aresta ihem acabat. Cas contrari, sigui Ca el color que manca a Va -i que es troba aVl- i Cl el color que manca a Vl -i que es troba a Va.

Formem dues seqúencies: una d'arestes (va, vd, (va, V2) ... , (va, Vi) i una decolors Cl, C2 ... .c, de manera que Ci no es troba a Vi pero ha estat usat per apintar (vo, Vi+l).

Considerem que en un moment donat tenim formades les seqüencies fins aVi i Ci respectivament. Hi ha, com a molt, una aresta (va,v) de color c.. Si V

existeix i V r:J. {va, Vl···, Vi} fem que Vi+l = V i sigui Ci+l un color que manqui aVi+l; cas contrari parem.

Page 74: Grafs - Fonaments i Algorismes

74 3. Recobrirnents i coloració

Cadascuna de les dues sequencies tindra, com a molt, 6.( G) elements.Considerem que quan parem tenim les seqüencies (Vo, vd, (vo, V2) ... , (vo, Vj) iel, e2 ... ,ej.

Hi ha dues raons possibles per haver aturat el procés:1. No hi havia cap aresta (vo, v) de color ej. Aleshores podem formar la

coloració següent: pintem (vo, Vi) de color e; per a i < j; així (vo, Vj) pot rebreara el color ej donat que ej no es troba a Vo ni a Vj.

2. Hi ha un k < j tal que (VO,Vk) porta ja el color ej. Aleshores podemformar la coloració següent: pintem (vo, Vi) de color e; per a i < k i deixem(VO,Vk) sense pintar; així ej queda fora de Vk.

Cada component de GOj és, o bé un camí, o bé un circuit, donat que cadavertex té, com a molt, una aresta de color ea i una de color ej. Així, eo i/oej manquen a va, Vk i Vj, i aixo implica que no poden trobar-se els tres en elmateix component de GOj. Per tant, una de dues:

a) Vo no es troba a G~j -acÍ podem formar una coloració si intercanviemels colors eo i ej dins de G~j i usem el color lliure eo per a pintar l'aresta (vo, Vk)

b) Vo no es troba a G6j -aCÍ podem obtenir la coloració següent: (vo, Vi)amb color e; per k:::; i < i, i deixem, de moment, (vo,Vj) sense pintar. Notemque ni eo ni ej no són afectats dins de GOj. Si ara intercanviem eo i ej dins deG6j ens queda eo fora de Vj, i, per tant, podem pintar (vo,Vj) amb el color eoO

Notem que la demostraeió del teorema de Vizing permet construir un al-gorisme polinomial que dóna una coloració de les arestes de tot graf G usant6.( G) + 1 colors. Cal remarcar també que, donat G, el problema de determinarsi 'Ya(G) = 6.(G) o bé si 'Ya(G) = 6.(G) + 1 és un problema NP-G.

Comentaris blbflográflcs

L'algorisme pels conjunts independents maximals fou presentat en Bron i Ker-bosch (1973). El corresponent al problema de partició és una conclusió deistreballs independents de Garfinkel i Nemhauser (1969) i de Pierce (1968).El treball de Kempe sobre la coloració de mapes aparegué en Kempe (1879) ifou corregit en Heawood (1890), aquest darrer estudi dóna també el teoremade coloració deis mapes sobre En. Finalment, el teorema de 4-coloració deismapes plans queda establert en Appel i Haken (1977a, 1977b, 1977c), i se'n faun estudi detallat en Beineke i Wilson (1978). Per a una visió més general delproblema convé adrecar-se a Biggs, Lloyd i Wilson (1976) o a Ore (1967).

Tant Behzad, Chartrand i Lesniak-Foster (1979) com Berge (1991) presen-ten un estudi detallat deis diversos parametres deis grafs dirigits i simetrics, enparticular, es presenten diverses fites per al nombre cromatic deis vertexs i peral de les arestes. Els teoremes 3.5 i 3.16 apareixen, respectivament, en Brooks(1941) i en Vizing (1964).

Page 75: Grafs - Fonaments i Algorismes

..

3.7. Coloració de les arestes 75

Exercicis

1. Un quadrat llatí és una matriu quadrada L d'ordre n que conté en cadaposició un natural k E {1, 2... , n}. Cadascun d'aquests valors apareix una ve-gada, i només una, en cada fila i en cada columna de L (veure l'apartat 4.7).Comenteu el procediment següent per a obtenir L.

Formeu el graf bipartit complet GI = GW1 !'W21 que té n vertexs en cadapart V1, V2, numerats 1,2 ... ,n. Pinteu les arestes de GI usant el nombre mínimde colors del conjunt {el,e2 ...}. Obtinguda la coloració, associeu el número decolor de cada aresta a la columna corresponent de L i el número de vertex enla part V1 de GI a la fila corresponent de L. Aleshores, Lij rep el número delvertex al qual s'arriba a V2 seguint l'aresta pintada de color ej que surt delvertex Vi E V1·

2. En un torneig d'escacs hi ha 2N participants. Cada jugador disputa cada diauna partida i cal que, al final, tots els jugadors hagin jugat entre ells (sistemalliga). Es tracta d'organitzar els aparellaments diaris de manera que es puguicelebrar el torneig en 2N - 1 dies.

3. Doneu la vostra opinió sobre l'algorisme següent per tal de trobar unaaproximació S d'un conjunt independent tal que a(G) = ISI.S :=0.Per a j := 1fins a n feusi Vj no és adjacent a cap Vk E S, aleshores, S:= S U {Vj}.

4. Determineu f(K3,6, t).

5. Si Zn és el circuit de longitud n, demostreu que:

6. Sigui R¿ el graf obtingut a partir de Zn-l afegint-li un vertex centraladjacent als altres n - 1vertexs. Usant el problema precedent, demostreu que:

7. Descriviu un algorisme que -en temps polinomial- permeti colorejar lesarestes de qualsevol graf simetric G(V, A) usant com a molt 6. + 1 colors.

8. Donat un graf G, useu el problema de cobertura per determinar el (un)conjunt independent maximal S de G tal que ISI = a(G).

9. Es tracta de col-locar vuit reines en un tauler d'escacs de manera que capno n'amenaci cap de les altres seto (Hi ha 92 maneres diferents de fer-ho.)

Page 76: Grafs - Fonaments i Algorismes

76 3. Recobriments i coloració

10. Considerem que la subrutina d'un cert programa consta de N passosseqüencials PI, P2 ... ,PN i que usa un total de K variables VI, V2, ... , VK.

Durant l'execució de la subrutina cadascuna de les variables haura d'ésser em-magatzemada en un registre -per tal de salvar-no el contingut- durant unsquants d'aquests passos. Es demana descriure un algorisme que permeti deter-minar el nombre mínim de registres R que calen per a poder dur a terme aquestprocés, així com obtenir una distribució de les K variables en els R registresusats. A continuació apliqueu el vostre meto de al cas on N = 10 i K = 6 ambVI salvada en els passos 1,2,3,4 i 5; V2 salvada en els passos 2,3 i 4; % salvadaen els passos 1,4,6,7 i 8; V4 salvada en els passos 2,5,9 i 10; % salvada en elspassos 8 i 10, i V6 en els passos 7,8 i 9.

11. Considereu totes les assignatures de segon cicle en uns estudis superiors.Suposeu que, per a cadascuna, s'ha d'escollir un dia per a fer l'examen final, ique es disposa d'una relació de tots els estudiants que hi estan matriculats.

Es demana de fer una distribució dels examens que prengui el nombre mínimde dies, de manera que cap estudiant estigui matriculat en dues assignaturesque tenen assignat el mateix dia d'examen.

Page 77: Grafs - Fonaments i Algorismes

Capíto14

A parellaments

-1.1 A parellament maxim

-n aparellament M (matching, en angles) en un graf G(V, A) simetric ve donatper tot subconjunt d'arestes de A en el qual no n'hi ha dues que tinguin un+ertex comú. En aquest capítol veurem tres casos particulars d'aparellaments,

quals cobreixen un tipus molt freqüent de problemes d'optimització.

Direm que un aparellament M en un graf G és nuixim si IMI 2: INI per a totaltre aparellament N de G. Donat un cert aparellament M en un graf G(V, A)

dem considerar els conceptes següents: un vertex Vi s'anomena lliure si notroba en cap de les arestes de M, cas contrari se'l sol anomenar saiurat; un

camí és alternant si esta format per arestes que, alternativament, es troben a_I i a A - M; un camí és incremental -en relació a M-si és alternant i téen els dos extrems sengles vertexs lliures.

El resultat següent caracteritza els aparellaments maxims:

Teorema 4.1 G(V, A) conté un camí incremental respecte a un aparellamentJI {:}M no és un aparelloment mñxim:

DE:yfOSTRACIÓ. (:::}) És immediat a partir de les definicions.( {:=) Considerem que lVI no és un aparellament rnaxim, hem de veure que

. ha un M -camí incrementa.l (camí incremental respecte a M).Sigui M' un aparellament maxim, per tant, IM'I > IMI, i sigui G'(V, M EB

_1') el graf que conté les arestes que hi ha a M o a M' pero no en els dosalhora, És fácil de veure que:

- tot vertex de G' afecta, com a molt, una aresta de M' i una de M

77

Page 78: Grafs - Fonaments i Algorismes

78 4. Aparellaments

- GI té més arestes de MI que de M

Tenim dones, que cada cornponent de GI és o bé un vertex aíllat o bé uncamí alternant. A més, almenys un dels components ha de tenir més arestesde MI que de M; tal component és un M-camí incremental.O

Naturalment, aquest resultat suggereix una manera de trobar un aparella-ment maxim. A partir d'un aparellament inicial M qualsevol, l'anem estenentamb una aresta més en cada M-camí incremental que es detecti. El procéses repeteix fins que ja no es troba cap altre M -camí incremental; en aquestmoment M sera un aparellament maxim.

El problema és, si de cas, disposar d'una forma sistemática de determinarels camins incrementals; més endavant desenvoluparem un meto de per a fer-ho.

Els aparellaments també són anomenats conjunts independents d'arestes,per analogia amb els conjunts independents de vertexs considerats en el capítolprecedent. També considerarem els conjunts dominants d'arestes o cobertures,on cadascuna és tal que cada Vi E V es troba -pel cap baix- en una deles arestes. En els problemes d'optimització sobre arestes apareix sovint lanecessitat de trobar un conjunt independent maxim d'arestes M* sobre G talque IM* I ~ IMI per a tot altre aparellament M; o bé un eonjunt dominantmínim d'arestes E* tal que IE* I ::; IEI per tot altre eonjunt dominant E.

Tal com veurem en els dos propers resultats, els dos eoneeptes es trobendirectament relaeionats.

Teorema 4.2 Donat un conjunt dominant mínim d'arestes E* en un grafG(V, A), si eliminem totes les arestes, tret d'una, de cada oértex v que tégrau( v) > 1 respecte a E*, el resultat sera un conjunt independent ttuuiitti

d'arestes M" per a G.

DEMOSTRACIÓ. És clar que M* és un aparellament per a G, per tant, nomésqueda per veure que és maxim.

Si no ho fos, existiria un eamí incremental P des d'un eert vertex lliure Vi

fins un altre vertex lliure Vj. Pero si Vi i Vj són lliures vol dir que hem eliminat,almenys, una aresta (Vi, V) amb V -1 Vj de Vi, i, almenys, una aresta (Vj, v) ambV-Ividevj.

Siguin al i a2, respeetivament, les dues arestes eliminades.Fixem IPI = 2t + 1 (t ~ 1) i eonsiderem que a E*: eliminem tota ak E P

tal que ak E M*, traiem també al i a2, i afegim tota ak E P tal que ak rt M*.El resultat El continua essent un conjunt dominant d'arestes per a G, pero, encanvi, IEII = IE* I - (t + 2) + (t + 1) < IE* l. Contradiceió; així dones, M* had'ésser maxim.D

Page 79: Grafs - Fonaments i Algorismes

4.1. Aparellament maxim 79

Teorema 4.3 Donat un conjunt independent maxim. d'arestes M* en un grafG(V, A), si afegim a cada uértex v, lliure respecte a M*, qualsevol aresta deA - M* incident sobre v, el resultat sera un conjunt dominant mínim d.'arestesper aG.

DEMOSTRACIÓ. Es pot obtenir per analogia amb la precedent.D

Considerem ara el cas d'un graf bipartit G( {V1, V2}, A), quines condicions'han de donar per tal que G tingui un aparellament que saturi tots els vertexs

de V1? Aixo és el que ara analitzarem.Sigui U = {vi,Vj, ... ,vd <;;; V d'un graf G(V,A) definim el conjunt de

uccessors de U com N(U) = {f(Vi)} U {f(vj)} U ... U {f(vt)}. El conjunt U'anomena no dejicient si IN(W)I ;:::IWI vw <;;; U. La caracterització següent

fou enunciada per Hall.

Teorema 4.4 Sigui un graf bipartit G( {V1, V2}, A), existeix un aparellamentque satura tots els uértexs de V1 {o} V1 és no dejicient.

DEMOSTRACIÓ (=?-) És cert directament.(~) Suposem el contrari, és a dir, que essent V1 no deficient no pot formar

un aparellament que saturi tots els seus vertexs,Sigui M un aparellament maxim a Gj hi haura un vertex Vi E V1 que sera

lliure respecte a M. Sigui S el conjunt de tots els vertexs de G que estanconnectats a Vi a través d'un camí alternant. Com que M és maxim ja sabemque Vi sera l'únic vertex lliure de S. Siguin W1 = S n V1 i W2 = S n V2.

Usant la definició de S i el fet que cap vertex de S - {vd no és lliurerespecte a M, tenim que W1 - {vd és un conjunt de vertexs que formen partde l'aparellament M. Per tant, IW21 = IW11 - 1 i W2 <;;; N(Wd. A més,\:IVj E N(W1) el graf G conté un camí alternant de Vi a Vj de manera queN(W1) <;;; W2· Així dones, N(Wd = W2 i IN(Wdl = IW21 = IW11- 1< IW11·I aixo contradiu el fet que V1 és no deficient.D

Finalment, el resultat següent degut a Konig ens sera útil més endavant.

Donat G(V, A) sigui F la familia de tots els conjunts K <;;; V tals que totaaj E A es troba en -pel cap baix- un dels vertexs de K, i sigui K*(G) elmembre de F tal que:

IK*I = min{IKI}KEF

(4.1)

En aquestes condicions:

Teorema 4.5 Donat G( {X, Y}, A) bipartit, sigui M* un aparellament mcxinien G i sigui K* com en 4.1 =?- IM*I = IK*I.

Page 80: Grafs - Fonaments i Algorismes

80 4. Aparellaments

DEMOSTRACIÓ. És senzill veure que IM*I ~ IK*I. Per a veure que s'assoleixla igualtat aplicarem inducció sobre IAI. Si el grau rnaxim deIs vertexs de Gés .6.(G) = 1 el resultat és clarament cert. Considerem dones un vertex x E Gtal que grau(x) ::::2, i siguin dues de les arestes al = (x, v) i a2 = (x, w). SiK*(G - {ad) = K*(G) o K*(G - {a2}) = K*(G) aleshores l'enunciat és certper la hipotesi d'inducció. Per tant, considerem que hi ha dos conjunts E i Fde K* (G) - 1 vertexs que cobreixen totes les arestes de G - {al} i G - {a2}respectivament. Cal que x rf- E, x rf- F, v E F - E i w E E - F, cas contrari, obé E o bé F cobririen totes les arestes de G.

Considerem que x E X, aleshores:

I((E nF) nX) U ((E U F) nY)I ::::K*(G)

I((E UF U {x} ) n X) U ((En F) n Y) I ::::K* (G)

ja que els dos conjunts de l'esquerra cobreixen totes les arestes de G. Sumantles dues expressions obtenim IEnFI + IEUFI + 1 ::::2K*(G); per tant, obtenimque IEI + IFI ::::2K*(G) - 1 i aixó no és possible.D

4.2 Obtenció d'un aparellament máxim

Considerarem ací l'algorisme desenvolupat per Edmonds, el qual -basant-seen el teorema 4.1- procedeix a exhaurir tots els camins incrementals que hiha a G respecte a un aparellament M.

En relació a un aparellament M un arbre alternant és un arbre amb lescaracterístiques següents:- té un vertex lliure anomenat arrel- tots els camins que comencen a l'arrel són alternants- tots els camins que comencen a l'arrel i són maximals tenen un nombreparell d' arestesTot el procediment es basa en la construcció d'arbres altemants. En ells, unvertex podrá ésser etiquetat interior o exterior; es comenca etiquetant l'arrelcom exterior, i, a partir d'aquesta, tots els altres vertexs en cada camí de l'arbres'etiqueten alternativament interior i exterior. Així, tot camí incremental ma-ximal en un arbre alternant, acabara en un vertex etiquetat exterior. En lafig. 4.1 es representa un arbre alternant respecte un aparellament les arestesdel qual apareixen amb línia doble. Les etiquetes exterior i interior dels vertexses representen, respectivament, amb una e i amb una i.

Un arbre incremental és un arbre alternant tal que existeix una aresta(Vi, Vj) en la qual Vi és un vertex de l'arbre etiquetat exterior i Vj és un vertexlliure que no es troba en l'arbre. El camí que va des de l'arrel fins a Vj passant

Page 81: Grafs - Fonaments i Algorismes

4.2. Obtenció d'un aparellament máxirn 81

per Vi és incremental, i, per tant, pot ésser usat per a incrementar en un elnombre d'arestes de M.

===~ .====~

e• i•

e e

arrele

===.e

e=====.

fig. 4.1

Una flor en un arbre alternant és un camí incremental que comenca i acabaen un vertex etiquetat exterior. Per a formar el circuit s'usa una aresta de Gque no es troba en l'arbre, així dones, el nombre d'arestes d'una flor és sempresenar.

e• flor

e i e e• .=e/

arrel 1atesta

~

de G

e

fig. 4.2

En la fig. 4.2 es representa una flor respecte un arbre alternant per a uncert aparellament marcat amb línia doble.

En l'algorisme les flors són comprimides per a simplificar el graf, en cadacompressió, tots els vertexs de la flor es converteixen en un únic pseudo-vertexel qual s'etiqueta com exterior. La unió de pseudo-vertexs pot formar una novaflor que pot ésser posteriorment comprimida ... La flor final, que no esta inclosaen cap altra, s'anomena flor externa.

Les flors ens seran molt útils, per la flexibilitat que presenten, a l'hora deformar en el seu interior un aparellament maxim, aixo és el que formalitzem enla:

Page 82: Grafs - Fonaments i Algorismes

82 4. Aparellaments

Proposició 4.6 Si F és una fior formada pels uériexs Vp e V i v* E Vp =}

en el subgraf generat per Vp hi ha un aparellament nuuxim. que deixa lliure v* .

Un arbre hotiqarés és un arbre alternant T que no es pot estendre més. Jano es pot formar cap camí incremental en ell donat que tota aresta (Vi, Vj)

on Vi E G - T, Vj E T es troba amb que Vj esta. etiquetat interior en l'arbre.Cada arbre hong ares ens indicara. un subgraf de G en el qual l'aparellamentactual que hi tenim format en l'arbre alternant, restara. invariable sigui quinsigui l'aparellament maxim de G. Així dones, podem oblidar-nos del subgrafgenerat per l'arbre hongares i cercar l'aparellament per a la resta de G.

Aquesta propietat l'establim en la:

Proposició 4.7 Sigui H un arbre hotiqarés en un graf G(V, A) i Go el sub-graf de G que s'obté quan eliminem els uértezs de H. Aleshores, si M(H)és l'aparellament a H i M*(Go) és un aparellament nuucim a Go, el conjuntd'arestes M(H) U M*(Go) és un aparellament maxirri aG.

A continuació passem a descriure'n detalladament el procés.

Edmonds

1. Preneu un aparellament M inicial (NI = 0 serveix).

2. Si G conté al menys dos uérteis lliures, escolliu-ne un com a arrel del'arbre, marqueu-lo com a exterior i aneu a 3.Si no, aneu a 8.

3. Escolliu un uertex exterior Vo de l'arbre.Per a tota aresta (Vo, Vi) del graf:- si Vi és un uértex lliure, aneu a 4- si Vi és un oertex interior aneu a 7- S2 Vi no esta en l'arbre pero no' és lliure aneu a 5

4. Hi ha un camí incremental des de l'arrel fins a Vi. Formeu l'aparellamentmillorat, descarteu l'arbre actual i les etiquetes dels uértexs i torneu a 2.

5. Afegiu l'aresta (VO,Vi) a l'arbre alternant i marqueu Vi com a interior.Trobeu l'aresta (Vi, Vk) E Mactual i afegiu-la a l'arbre marcant Vk comexterior.Si existeix una cresta entre Vk i un altre uértex exterior de l'arbre, aneua 6.Si no, torneu a 3.

6. Identifiqueu i comprimiu la fior.Marqueu el pseudo-uériex resultant com a exterior i torneu a 3.

Page 83: Grafs - Fonaments i Algorismes

4.2. Obtenció d'un aparellament máxim 83

7. Torneu a 3 sempre que es pugui.Traieu -i guardeu- tots els uértexs de l'arbre i totes les arestes de Gque hi incideixen.Torneu a 2 essent ara G el graf resultant;

8. Refeu G recuperant cada arbre hotiqarés eliminat i expandint totes lesfiors per ordre invers de formació. En cada expansió, determine u unaparellament que deixa com a lliure en la fior el uériex v* apropiat.Acabat el procés d'expansió de [iors, l'aparellament obtingut sera nuuiim,

Tal com hem vist, el meto de d'Edmonds es basa en la determinació decamins incrementals; per tant, la complexitat vindra dominada pel cost d'a-questes operacions. Hi haurá -com a molt- O(IVI) camins incrementals, i pera determinar cadascun d'aquests camins s'hauran d'examinar O(IVI) vertexslliures. La construcció de l'arbre associat a cadascun d'aquests vertexs lliuresno demana més de IAI passos. En conseqúencia, podem assegurar que la com-plexitat del metode no és superior a IVI2IAI.

Val a dir que amb un estudi una mica més acurat, s'arriba a la conclusióque aquesta complexitat és realment O(IVIIAI).EXEMPLEConsiderem el graf G de la fig. 4.3, on amb línia doble es marquen les arestesd 'un aparellament inicial M = {(V1 , V2), (V3, V5), (V6, V8)}.

G

fig. 4.3

En la fig. 4.4 hi apareix l'arbre alternant d'arrel V4, on les etiquetes devertex interior i de vertex exterior es representen amb una i i amb una erespectivament. Aquest arbre, juntament amb l'aresta (V2, V5) forma una flor,etiquetada h.

En la fig. 4.5 hi apareix un nou arbre alternant d'arrel h, el qual es con-verteix en la fior 12 si hi afegim l'aresta (V8, V5) (notem que V5 és un vertexexterior comprimit dins de h).

En la fig. 4.6 s'ha format un arbre incremental d'arrel 12 si considere m queV7 va enllacat a v8 E 12.

Page 84: Grafs - Fonaments i Algorismes

84 4. Aparellaments

En la fig. 4.7 s'ha expandit la flor 12, i en la fig. 4.8 s'ha expandit la flor h-acabant ací el procés amb l'aparellament máxim per a G marcat amb líniadoble.

he

V5 e

fig. 4.4

he h V6 Vse i e

fig. 4.5

12 V7

e

fig. 4.6

4.3 Aparellament de cost major

Per a tot graf simetric G(V, A) podem definir una [unciá de cost:

e: A ---> R+ai ---> c(ai)

Aquest nombre s'anomena generalment cost o pes de l'aresta i pot dependre dela distancia o del temps que hi ha entre els vertexs usant un certa métrica, delcost economic que comporta una determinada operació, etc.

Page 85: Grafs - Fonaments i Algorismes

4.3. Aparellament de cost major 85

h V6 Vs V7e e

fig. 4.7

V2 VI V4 V3

V7=======VS-------V6=======V5

fig. 4.8

Un aparellament M direm que és de cost majar, respecte a un graf G, simaximitza la suma dels costos de les arestes que el formen, és a dir, si per atot aparellament M' de G es verifica que:

L c(ai) ~ L c(aj)aiEM ajEM'

Donat un aparellament M, un M -camí uicremenial de cost és un camíalternant P en el qual la suma dels costos de les arestes de P que no es trobena M supera la suma dels costos de les arestes que hi són; més formalment:

L c(ai) > L c(ai)a;f/:M aiEM

Teorema 4.8 Existeix un M -camí incremental de cost per a G ? M no ésun aparellament de cost tnajor.

DEMOSTRAcró. (=?) S'obté directament si intercanviem les arestes del M-camíque es troben a l'aparellament amb les que no hi són.

(~) Considerem que M no és de cost major, veurem que G conté un M-camíincremental de costo

Sigui M' un aparellament de cost major, aleshores:

c(M') = L c(ai) > c(M) = L c(aj)aiEM' ajEM

considerem ara G' (V, JVf EB M') com en el teorema 4.1. Dins de G' cada vertexés extrem de, com a molt, una aresta de NI i una altra de M'. Així dones,cada component de G' és un camí alternant d'arestes de M i de M'. Donat

Page 86: Grafs - Fonaments i Algorismes

86 4. Aparellaments

que c(M') > c(M) hi haura al menys un component en que la suma dels costosde les arestes de M' sera superior a la suma dels costos de les arestes de M.Tal component sera un M-camí incremental de cost.D

4.4 Obtenció d'un aparellament de cost major

El rnetode que veurem a continuació és degut a Edmonds i Johnson, i esbasa en l'algorisme per a determinar un aparellament maxim desenvolupaten l'apartat 4.2.

Donat un M-camí incremental de cost, direm que és:- fort si conté més arestes fora de M que no pas a M- neutre si conté tantes arestes fora de M com a M- feble si conté menys arestes fora de M que no pas a M

Per a seguir l'algorisme ens cal primer plantejar-lo en termes d'un problemade programació lineal, formular-ne el dual i usar-ne algunes de les propietatsbasiques (vegeu l'apendix).

Sigui c(i,j) el cost de l'aresta (Vi,Vj). En el plantejament del problematindrem que la variable x(i,j) prendrá valor 1 si l'aresta (Vi, Vj) E NI i valor Oen cas contrario Així, el problema de trabar l'aparellament de cost major potser formulat com a:

max ¿ x(i,j) c(i,j)

on:¿x(i,j) +x(j,i):::; 1 Ic/Vi E V

j

¿ x(i,j):::; r-« Ic/m = 1,2 ... ,z(vi,vj)ER".

x(i,j) ::::O Ic/(Vi, Vj)

essent Wm tot conjunt de 2rm+1 vertexs de G(V, A) -suposem que n'hi ha z-i Rm el subgraf induit per Wm. És immediat adonar-se que cap aparellamentM no pot cantenir més de rm arestes de Rm.

Per a formular-ne el problema dual associat siguin Yj la variable dual asso-ciada a la restricció pel vertex Vj en el problema primal, i Zm, la variable dualassociada a la restricció pel subgraf Rm en el problema primal.

Així, el problema dual corresponent vindra donat per:

min ¿Yj + ¿rmZmj m

Page 87: Grafs - Fonaments i Algorismes

4.4. Obtenció d'un aparellament de cost majar 87

on:uc+ui+ ~ zm2:c(i,j) 'ti(Vi,Vj)

m t.q. (vi,vj)ER",

Yj 2: O 'tiVj

Zm 2: O 'ti m = 1, 2 ... , Z

En aquesta parella primal-dual les condicions de complementarietat ensdiuen que:

x(i,j) > O =} Yi + Yj + ~ Zm = c(i,j) 'ti(Vi, Vj) (4.2)m t.q. (vi,vj)ER",

Yi > O =} ~x(i,j) + xU,i) = 1 'tiVi E Vj

(4.3)

Zm > O=} (4.4)x(i,j) = Fm. 'ti m = 1,2 ... , Z

L'algorisme comenca amb M = 0, és a dir x(i,j) = O 'ti(Vi,Vj), assignantvalors factibles a les variables duals Yi i Zm tals que es verifiquin les condicionsde complementarietat 4.2 i 4.4. En cada iteració del rnetode, M o les variablesduals -o els dos alhora- varien de forma que les restriccions del primal idel dual es continuen verificant, així com les condicions 4.2 i 4.4. Pero a més,'aconsegueix que, pel cap baix, una de les variables duals Yi passi a satisfer

la condició 4.3. Quan totes les variables duals verifiquin 4.3, pel teorema decomplementarietat (forma simétrica}, tindrem que l'aparellament M resultantera de cost major.

La condició 4.3 demana que si la variable dual Yi > O aleshores Vi ha deformar part de M; per tant, els únics vertexs que no compliran la condició 4.3seran els vertexs lliures que tinguin variable dual associada positiva.

Quan l'algorisme té un vertex lliure Vt amb Yt > O construeix un arbrealternant on Vt és el vertex arrel. Ja hem vist en l'apartat 4.2 que el pracésd'ampliació de l'arbre s'atura a) quan esdevé alternant, b) quan es forma unafior o e) quan es troba un arbre hongares.

En el cas a el M-camí incremental format és fort. Intercanviarem el paperde les arestes que es traben a M amb les que no hi són, tenim que Vt ja no éslliure, i el nou aparellament té un cost superior a l'anterior. Ara Vt ja satisfala condició 4.3. En el cas b es comprimeix la fior resultant per a formar unpseudo-vertex i l'algorisme continua. Finalment, en el cas e es modifica el valorde les variables duals assegurant que es mantinguin les restriccions del primal,del dual i les condicions de complementarietat 4.2 i 4.4, de manera que espugui afegir una nova aresta a l'arbre alternant. Per acabar, tots els pseudo-vertexs s'hauran d'expandir novament, és per aixó que l'algorisme genera unaseqüencia de grafs Go, Gl ... fins al resultat final.

Page 88: Grafs - Fonaments i Algorismes

88 4. Aparellarnents

Edmonds i Johnson

1. Inicialització.M¿ :=0.Zm := O (m = 1, 2 ... , z).Assigneu un valor arbitrari a les variables duals Yi tal que Yi +Yj ?: c( i, j)V(Vi, Vj).k:= O.GdVk, Ak) := G(V, A).

2. Consideració d 'un uériex lliure.Sigui Vt E Gk un uériex lliure amb Yt > O.Si tal Vt no existeix aneu a 6.Si no, sigui Al el conjunt de les arestes (Vi, Vj) E G k tals que:

Yi+Yj+ L zm=c(i,j)(Vi,Vj )ERm

Formeu un arbre alternant d'arrel Vt que usi només arestes de Al.Si es detecta un camí incremental, aneu a 3.Si es detecta una flor, aneu a 4.Si es detecta un arbre hong ares, aneu a 5.

3. Camí incremental.Intercanvieu a M¿ el paper de les aresies del camí irobat; ara Vt ja no éslliure.Torneu a 2.

4. Flor.k := k + 1.Sigui C¿ la fior, comprimiu-la per a formar el pseudo-uériex Vk·Sigui Gk(Vk, Ak) el nou graf [ormai.Sigui M¿ l'aparellament a Gk que té totes les arestes de Mk-I que estraben a Gk (tots els uértexs inclosos a Vk estaran etiquetats com a Vk).Torneu a 2 per estendre l'arbre alternant d'arrel Vt dins de Gk.

5. Arbre honqarés.Siguin:- dI := min{Yi + Yj - c(i,j) V(Vi, Vj)}on Vi E Va és un uértex exterior i Vj E Va esta sense etiquetar- d2:= ~min{Yi +Yj - c(i,j) V(Vi,Vj)}on Vi i Vj són oértexs exieriors de Va i no es traben dins d 'un mateixpseudo-uértex- d3 := ~min{zm}

Page 89: Grafs - Fonaments i Algorismes

4.4. Obtenció d'un aparellament de cost major 89

on S 'avaluen tots els conjunts Wm que s 'han comprimit en un pseudo-uértex Vk etiquetat interior- d4 := min{ydon s 'avaluen tots els Vi E Vo etiquetats exterior»- d:= min{dl,d2,d3,d4}

Modifiqueu el valor de les variables duals de la forma següent:- Restar d unitats a les Yi corresponenis a uériexs exteriors.- Sumar d unitats a les Yi corresponenis a oértexs interiors.- Sumar 2d unitats a les Zm corresponenis a pseudo-oertexs exieriors ac..- Restar 2d unitats a les Zm correspotietits a pseudo-uertexs inieriors ac..

Si d = dI l'oresia (Vi, Vj) que va determinar VI s'incorpora a A'.Tornen a 2 i continueu estenent l'arbre alternant d'arrel Vt.

Si d = d2 I'aresta (Vi,Vj) que va determinar d2 s'iucorpora a A'.Aquesta cresta crea ara una flor dins de l'arbre aliertuitii.Torneu a 2 i continueu estenent l'arbre d'arrel Vt.

Si d = d3 alguna variable dual z; = 0, expandiu el pseudo-uértez que licorrespon:k := k + 1 i sigui Gk(Vk, Ak) el graf resultant.Sigui Mk l'aparellament que conté totes les arestes de Mk~1 juntamentamb les ri asestes lliures de Wi (el uériex que queda a Wi és enllacat aMi; donat que tots els pseudo-uértexs interiors de Gk~1 estan enllacats aMk~r).Torneú a 2 i continueu estenent l'arbre alternomt d'arrel Vt.

Si d = d4 alguna variable dual Yi = 0, el camí en l'arbre altemant que vade l'arrel Vt fins a Vi és un Mk-camí incremenial de cost neuire.Jntercanvieu a M¿ el poper de les arestes del camí trobai.El uériex ue queda ara enllacat a l'aparellament i Vi queda lliure, tal comha de ser ja que Yi = O.Torneu a 2.

6. Expansió dels pseudo-uériexs.Expandiu cada pseudo-uertex en ordre inuers al que ha estat comprimit i[ormeu un aparellameni de cost major en el circuii de cardinalitat senarque resulta.

Page 90: Grafs - Fonaments i Algorismes

90 4. Aparellaments

L'aparellament final és un de eost major per a Ga = G.Pareu.

Teorema 4.9 L'olqorisme d'Edmonds i Johnson funciona correctosneni.

DEMOSTRAcró. En cada instant del procediment tenim un aparellament, ini-cialment un aparellament sense cap aresta; per tant, només hem veure que eldarrer format és efectivament un aparellament de cost major. En funció delplantejament de programació lineal realitzat, aixó és equivalent a veure que elvalor final de les variables del problema dual, Yi VVi E V i zm (m = 1,2 ... , z),donen una solució factible per al dual, i que verifiquen les relacions de comple-mentarietat 4.2, 4.3 i 4.4.

En el pas 1 del metode el valor inicial per a les variables duals és sempre nonegatiu, i, en el pas 5 el valor de dI, d2, d3, d« i d assegura que cap no passaraa prendre un valor negatiu. En conseqiiencia, durant tot el procés les variablesduals es mantenen no negatives.

Per a comprovar que les restriccions del dual es verifiquen tenim que:- inicialment es verifiquen-l'aresta (Vi, Vj) ha de trobar-se:

a) en un pseudo-vertexb) en Al i fora dels pseudo-vertexse) fora de Al i fora dels pseudo-vertexs

Si es dóna el cas:- a, un canvi en la variable dual no afecta la part esquerra de la restricciója que tant Yi com Yj augmenten en d unitats, mentre que la Zm relativa alpseudo-vertex que conté (Vi, Vj) disminueix en 2d unitats- b, un canvi incrementa el valor de la variable dual del vertex interior idisminueix el valor de la variable dual del vertex exterior, així, la part esquerracontinua com estava- e, tenim que:

Yi+Yj+ L zm>c(i,j)m t.q. (vi,vj)ER",

(4.5)

Ara bé, si Vi i Vj estan sense etiqueta, o bé en tenen i són diferents, aleshores.el canvi preserva la desigualtat de 4.5; si un esta etiquetat interior i l'altreesta sense etiqueta o si els dos estan etiquetats interiors, aleshores, el camiincrementa la part esquerra de la constricció del dual. Si un esta etiquetaexterior i l'altre esta sense etiqueta, aleshores, usant dI, el valor de la variabledual no invertirá la desigualtat de 4.5. Si els dos vertexs són exteriors, aleshorusant d2, el canvi en la variable dual no invertirá tampoc la desigualtat de 4.5.Així dones, en tots els canvis per a les variables duals les restriccions del duales continuen satisfent.

Page 91: Grafs - Fonaments i Algorismes

4.5. Aparellament perfecte 91

Passem ara a les tres condicions de complementarietat primal-dual.Respecte a 4.2 distingirem dos casos referents al comencament del pas 6 del

metode:a) l'aresta (Vi,Vj) de l'aparellament no esta en un pseudo-vertexb) l'aresta (Vi,Vj) de l'aparellament esta en un pseudo-vertex.En el cas:a, (Vi, Vj) E Al i la condició 4.2 es verificab, després de fer el canvi dual, la restricció del dual es converteix en una igualtat;per tant, la condició 4.2 es verifica després dels canvis

Pel que fa a la condició 4.3, segur que és satisfeta per a tots els vertexs quanl'algorisme acaba; si no fos així, el pas 2 s'hauria repetit per a cada Vj que nola verifiqués.

Finalment, per comprovar que la condició 4.4 també es verifica, notem queZm esdevé positiva només si es comprimeixen els vertexs de Wm per a formarun pseudo-vertex. En el pas 6 cada pseudo-vertex és expandit i es formal'aparellament de cost major en el circuit resultant. Per tant, la condició 4.4es verifica. O

4.5 Aparellament perfecte

Un aparellament M en un graf G és perfecte si cadascun dels vertexs de Gestasaturat en M. Notem que:a) no tot graf G conté un aparellament perfecteb) una condició necessaria, pero no suficient, d'existencia d'aparellament per-fecte, és que IVI sigui parelle) i G conté un aparellament perfecte M aquest podrá ésser format si es dis-posa d'un algorisme que trobi els aparellaments maxims per a G

El resultat següent (Tutte (1947)) caracteritza els aparellaments perfectes entot graf G:

Definició previa. Sigui VI e V en un graf G(V, A) aleshores, <I>(G - VI)representa el nombre de components del graf G - VI que tenen un nombre senarde vertexs. Aquests s'anomenen els components senars de G - VI.

Teorema 4.10 G(V,A) té aparellament perfecte {:} <I>(G- VI):::; IVIIWICV.

DEMOSTRACIÓ. És senzill demostrar que la condició és necessaria, i, no tant,que és suficient. En ací veurem només la primera parto

e=}) Considerem que G té un aparellament perfecte M. Sigui G¡ I'z-esimcomponent senar de G - VI on i = 1,2 ... , t i VI e V.

Page 92: Grafs - Fonaments i Algorismes

92 4. Aparellaments

Donat que G, conté un nombre senar de vertexs, algun v E G¡ ha d'estaraparellat -a través d'una aresta de M- a algun vertex Vi E V'. Així, ja que{Vl,V2 ... ,vd <;;; V' tenim que <I>(G - V') = t = l{vl,v2 ... ,vdl S; IV,!-O

Imposant alguna restricció a G, es poden construir algorismes específics pera l'obtenció d'aparellaments perfectes. Així el:

Teorema 4.11 Si G(V,A) té IVI = 2t i grau(vi) :::::t 'e/Vi E V ::::}G té unaparellament perfecte.

DEMosTRACrÓ. El metode que ara veurem construeix un aparellament perfecteM a partir de les condicions del teorema; així, per tant, quedara demostrat.O

1. M:=0.

2. Determineu una parella de uériexs lliures Vi, Vj tals que (Vi, Vj) E A.M:= M U {(Vi, Vj)}.

3. Si existeix una parella de uértexs lliures a G units per una aresta torneua 2.Si no, aneu a 4.

4. Si IMI = t hem acabat.Si no, aneu a 5.

5. Trobeu una parella de uériexs lliures Vi, Vj a G -pels quals ja no existirá(Vi,Vj) EA.Trobeu una aresta (Vk,V¡) E M tal que (Vi,Vk) E G i (Vj,V¡) E G.M:= M - {(Vk,V¡)}; M:= M U {(Vi,Vk)} U {(Vj,V¡)}.Torneu a 4.

Comentaris al métode- És important adonar-se que, en cada instant del pracés, M és realment unaparellament i que el procés s'atura només quan IMI = t, la qual cosa implicaque és perfecte.- El pas fonamental del pracés és el 5, i caldria provar que sempre existeixenels vertexs Vk i V¡ que es requereixen. Vegem-ho:

Considerem que Vi i Vj són lliures i no units per una aresta de G. Tenim a Mmenys de t arestes, diguem que en tenim r. Si el pas 5 no es pot realitzar, vol dirque 'e/(Vk,V¡) E M, com a molt, dues de les arestes (Vi,Vk)(Vi,V¡)(Vj,Vk)(Vj,V¡)es traben a G. Així dones, el nombre d'arestes des de Vi o des de Vj capa arestes (Vk, VI) de M és, com a molt, 2r. Cada aresta de Vi o de Vj vacap a algun vertex de M; per tant, grau(vi) + grau(vj) S; 2r. Tenim quegrau( Vi) + grau( Vj) < 2t ja que r < t, i aixo no pot ésser porque contradiu lasuposició inicial del teorema 4.11.

Page 93: Grafs - Fonaments i Algorismes

4.6. Aparellament perfecte ópt im a KN,N 93

4.6 Aparellament perfecte ópt.im a KN,N

Igual que passava en el cas dels aparellaments perfectes, si el graf G és bipartites simplifica l'obtenció de l'aparellament desitjat.

Sigui ara G(V, A) = KN,N bipartit i complet amb cost en cada aresta.Resoldrem l'anomenat problema de l'assignació de feines en el qual hi ha Nfeines a repartir entre N persones de manera que cada persona rebi una feina,i cada feina sigui assignada a una persona. Es considera que el temps que hade menester la persona Pi per a fer la feina fj és de Cij unitats i, j = 1,2 ... ,N.Aleshores, es demana fer la distribució que minimitza el temps total necessariper a dur a terme totes les feines.

Sigui A una matriu, una línia de A és qualsevol de les files o columnes.En una matriu A que conté zeros, un conjunt de a s'anomena independent sino en coincideixen dos en una mateixa línia. Ens interessen els conjunts de aindependents i rnáxims dins de A, donat que verifiquen el resultat següent:

Teorema 4.12 Si A és una matriu que conté zeros, un conjunt independentméaim de a en A té el mateix nombre d'elements que un conjunt mínim delínies que cobreixi tots els a de A.

DEMOSTRAcró. No és més que un altre enunciat del teorema 4.5. Efectivament,les files i columnes de la matriu corresponen als vertexs dels dos conjunts dela partició, i cada entrada a correspon a una aresta que une ix els dos vertexsassociats a la fila i columna afectades.D

EXEMPLEEn la matriu:

un conjunt independent maxim de zeros de 3 elements és el format pels zerosde les posicions (2,1) (3,3) i (4,2), i es poden cobrir tots els a de la matriuusant la segona fila i la segona i tercera columna.

El plantejament del problema pot ser formalitzat usant la notació següent:donada la matriu quadrada e = (Cij) d'ordre N, on tenim a Cij el costd'assignar a la z-esima persona la j-esima feina, volem trobar els Xij E {a, 1}i,j = 1,2 ... ,N tals que minimitzen:

L CijXijí,j

(4.6)

Page 94: Grafs - Fonaments i Algorismes

94 4. Aparellaments

i que verifiquen:N N

LXij = LXij = 1i=l j=l

(4.7)

Notern, que si reste m una constant Pk a totes les posicions de la k-esima filade e passem a obtenir una matriu e' en la qual -usant les relacions 4.7-:

LC;jXij =LCijXij - Pk LXkj =LCijXij - Pk (4.8)i,j i,j j i,j

Així dones, l'aparellament que minimitzi l'expressió 4.6 també minimitzarála 4.8. El mateix passa si restem (o sumem) una constant qt a totes les posicionsde la z-esima columna; de fet, podem realitzar el procés en diverses files icolumnes alhora. Usarem ara aquesta propietat per a obtenir una simplificaciódeis elements de la matriu e.

Sigui Pi el més petit deis elements de la i-esima fila de e, restem el valorPi a cadascuna de les files i = 1,2 ... ,N i obtenim una altra matriu e'. Siguiqj el més petit deis elements de la j-esima columna de e', restem el valor qj acadascuna de les columnes de e' j = 1,2 ... , N. Anomenem matriu reduúia dee la matriu e resultant de les dues operacions. Ja hem demostrat que podemusar e per a resoldre el problema sobre e. Notem, de passada, que la matriureduída conté sempre valors no negatius i, pel cap baix, N zeros.

Solucionar el problema de l'assignació vol dir trobar la millor elecció d'unelement de cada fila i un de cada columna de e, de forma que, si l'element dela posició (i,j) forma part de la solució, aleshores, es verifiqui que Xij = 1, itinguem Xij = O, en cas contrario Considerem que podem realitzar la seleccióde les N posicions -una per fila i columna- de manera que hi hagi un O encada posició (i, j) seleccionada. Aleshores tenim que:

LCijXij = Oi,j

donat que sempre es compleix que:

LCij Xij 2: Oi,j

Així dones, el que acabem de proposar és precisament l'equivalent a deter-minar un conjunt independent de N zeros. Pel teorema 4.12, aixo és el mateixque veure si per a cobrir totes les posicions a O de la matriu e hem d'usar unmínim de N línies.

Vist així, l'algorisme que cal seguir haura d'anar modificant successivamentla matriu recluida e fins que n'aparegui una que contingui N zeros indepen-dents. En cada modificació s'usara el conjunt mínim de línies que cobreixentots els Oper a determinar l'element més petit que no queda cobert, sigui aquest

Page 95: Grafs - Fonaments i Algorismes

4.7. Problemes relacionats 95

C¡*k*. A continuació, reste m C.*k* de tots els elements no coberts, i sumem Ci*k*

a tots els elements coberts dues vegades. Aixo resulta equivalent a restar Ci*k*

a les files no cobertes totalment i sumar-lo a les columnes cobertes totalment.

EXEMPLEi a la matriu:

(~ ~ ~ ~)1 O 4 52 3 O O

la qual té 3 zeros independents -i es poden cobrir tots usant la segona columnai la primera i darrera fila-li restem 1 a les posicions (2,1)(2,3)(2,4)(3,1)(3,3)i (3,4), i sumem 1 a les posicions (1,2) i (4,2) obtenim la matriu:

(~ ~ ~ ~)O O 3 42 4 O O

en la qual la cobertura de tots els zeros exigeix 4 línies (totes les files, tret dela segona, i la segona columna).

La solució podria ésser: X13 = X22 = X31 = X44 = 1 i els altres Xij = O.

4.7 Problemes relacionats

Veurem, per acabar, dues aplicacions combinatoriques dels aparellaments.

EIs sistemes de representants diferents

Considerem que F = {SI, S2·'" Sp} és una família de conjunts, on pot donar-seel cas que Si = Sj amb i i- j. Anomenarem T = (al, a2 ... , ap), on a, E Si,i = 1, 2... ,p un sistema de representants per a F. Si exigim que ai i- aj quani i- j, aleshores, tindrem un sistema de representants diferents (SRD) per a F.

EXEMPLESigui F= {Sl,S2,S3,S4,S5}, on:

SI = {a,b,e}S2 = {b, e, d}S3 = {e,d,e}S4 = {d,e}S5 = {a,b,e}

aleshores, T = (a, b,e, d, e) és un SRD per a F.

Page 96: Grafs - Fonaments i Algorismes

96 4. Aparellarnents

El problema de trobar un SRD per a F es pot fer equivalent al problemade determinar un aparellament en un graf bipartit.

Efectivament, sigui X la col-lecció de conjunts Si E F, i sigui Y la col-leccióde tots els elements que hi ha en la Ui Si. Considerem el graf bipartit G(V, A)on els vertexs de V estan en les classes X i Y, de manera que hi ha una aresta(Vi, Vj) {=;> Vj E Y és un element que es troba al conjunt representat per Vi EX.Aleshores, un aparellament que saturi tots els vertes de X donara un SRD pera:F.

EXEMPLESi prenem la família F = {SI, S2, S3, S4, S5, S6}, on:

SI={a,b}S2 = {b,e}S3 = {a, b, e}S4 = {b,e,d}S5={a,e}S6 = {e, d}

aleshores, a partir de W = {SI,S2,S3,S5} tenim que N(W) = {a,b,e}, és adir, ¡W¡ > ¡N(W)¡ i, pel teorema 4.4, sabem que no existirá aparellament quesaturi tots els vertexs de X. En conseqiiencia, no hi ha SRD per a F.

EIs quadrats llatins

Un reetangle llatí és una matriu de r files i s columnes que té per elements elsnombres naturals 1,2 ... , non cada fila i cada columna conté, com a molt unavegada, cadascun dels n nombres. Quan r = n = s, diem que tenim un quadratllatí.

Notem, que un quadrat llatí es pot obtenir formant un rectangle llatí iniciald'una única fila i n columnes, i ampliant-lo, fila a fila, fins que n'hi hagi n. Pera dur a terme aquesta idea usarem un SRD.

Sigui Si el conjunt dels nombres que encara no han aparegut en la z-esimacolumna del rectangle llatí. La propera fila es pot obtenir escollint un SRDper a la família F = {SI.'" Si"" Sn} seguint el procediment vist en l'aplicacióanterior.

EXEMPLEDonat el rectangle llatí:

123456436512

per a obtenir la tercera fila, formem els conjunts:

Page 97: Grafs - Fonaments i Algorismes

4.7. Problemes relacionats 97

SI = {2, 3, 5, 6}S2 = {1,4,5,6}S3 = {1,2,4,5}S4 = {1,2,3,6}S5 = {2,3,4,6}S6 = {1,3,4,5}

i. d'ací, un SRD ve donat per (2,1,4,3,6,5).

I aturalment, la pregunta ara és: aixó, es podrá fer sempre? La resposta vedonada pel:

Teorema 4.13 Tot rectangle llatí r x n, on r < n es pot ampliar per a formarun rectangle llatí d'ordre (r + l)xn.

DEMOSTRACIÓ.Sigui Si definit com en l'exemple anterior. Volem veure que lafamília dels Si té un SRD. Prenem k dels conjunts en aquesta família; siguinaquests Sil, Si2"" Sik. Pel teorema 4.4, sabem que n 'hi ha prou de veure quelV = {Sid U {Si2} ... U {Sid té IWI 2: k.

Cada Sij té n-r elements; per tant, W té k(n-r) elements, si comptem lesrepeticions. Cada número 1,2 ... , ti apareix una vegada en cada fila, i, per tant,r vegades en el rectangle llatí. Així, cada número 1,2 ... , ti es troba en ti - rdels conjunts SI, S2"" Sn, en conseqüencia, cada número a W es troba en, coma molt, n - r dels conjunts Sil, Si2"" Sik. Per tant, hi ha d'haver, almenys, knúmeros diferents a W.D

Comentaris blbllográflcs

EIs teoremes de Hall i de Koníg aparegueren, respectivament, en Hall (1935)i en Kónig (1931). L'algorisme per a l'obtenció d'un aparellament rnaxim foudonat en Edmonds (1965), mentre que el que dóna un aparellament de costmajor es troba en Edmonds i Johnson (1970). La presentació feta ací d'aquestdarrer segueix el desenvolupament de Minieka (1978).La caracterització dels aparellaments perfectes fou donada en Tutte (1947).L'anomenat méiode honqarés per a la resolució del problema de l'assignació defeines fou desenvolupat en Kuhn (1955).El lector interessat en la teoria sobre aparellaments hauria de consultar Lovászi Plummer (1986).

Page 98: Grafs - Fonaments i Algorismes

--98 4. Aparellaments

Exercicis

1. Un exercit multinacional té un cos de tancs especialitzats. Cada tancha de menester dos soldats i cal que tots dos coneguin una mateixa llenguaper a poder-se entendre. Cadascun dels tripulants disponibles parla una omés llengües. Es demana maximitzar el nombre de tripulacions que es podenformar.

2. Un agent teatral rep ofertes de feina -fetes per empresaris=- per a algunsdels actors que representa. Cada empresari vol contractar un actor i pagaraun sou variable segons quin sigui l'actor que li ofereixi l'agent. Si l'agent repun percentatge fix dels ingressos dels actors, com s'ho pot organitzar per amaximitzar els seus guanys?

3. Una tasca complicada T pot ésser dividida en ti tasques elementals ti i =1,2 ... ,n on cadascuna ha de menester una unitat de temps per a poder ésserrealitzada. En cada moment disposem de prou recursos (processadors) per afer dues tasques simultaniament i tenim una ordenació parcial" < " per a lestasques, de manera que ti < tj indica que ti s'ha d'acabar abans de comencartj.

Es demana determinar el nombre mínim d'unitats de temps que calen pera realitzar les n tasques.

4. Demostreu que si G({VI, V2},A) és un graf bipartit regular amb IAI > 1,aleshores, G té un aparellament que satura tots els vertexs de VI'

5. Quants aparellaments perfectes hi pot haver en un arbre? Per que?

6. Considereu un graf bipartit G( {VI, V2}, A) on t 2': 1 és el grau maxim delsseus vertexs, i sigui X =f. 0 el subconjunt de VI que conté tots els vertexs quetenen grau t. Hi ha un aparellament a G que saturi tots els vertexs de X?

7. En una empresa de confecció i distribució de pizzes a domicili es disposade ti xicots i es serveixen pizzes a ti districtes de la ciutat. Si cada motoristaes pot encarregar de la distribució en k districtes, i, per a cada districte hiha k motoristes que el poden servir, esta garantida l'assignació d'un districtediferent a cadascun dels motoristes?

8. Considereu un tauler d'escacs en el qual eliminem una casella blanca i unade negra. Demostreu que podem cobrir-lo tot usant 31 peces rectangulars dela mida de dues caselles, on la meitat superior és de color blanc i la inferior decolor negre.

Page 99: Grafs - Fonaments i Algorismes

4.7. Problemes relacionats 99

9. Considereu un país P on es permet la poligamia a les dones. Sigui V ungrup de nois i W un grup de noies de P, suposeu que cadascuna de les noiesvol casar-se amb més d'un dels nois de V que li fan el peso Determineu unacondició necessaria i suficient per tal que el problema tingui solució.

10. Sigui M un aparellament en un graf G(V, A) i sigui e un camí alternantamb conjunt d'arestes Al ~ A que comenca i acaba en vertexs lliures. Sigui-'11 = M n Al. Es demana que demostreu que:

(M - MI) U (Al - MI) = (M - Al) U (Al - M)

, un aparellament per a G que conté una aresta més que M.

Page 100: Grafs - Fonaments i Algorismes
Page 101: Grafs - Fonaments i Algorismes

Capítol 5

Arbres • brancatges1

5.1 Caracteritzacions deIs arbres

bem ja que un arbre simetric és un graf simetric i connex sense circuits, elssultats següents caracteritzen els arbres simetrics des de diversos punts de

a.

Teorema 5.1 Un graf G és un arbre {:} no conté circuits i n = rn + 1.

-,,-,IOSTRAcró. (=?) Si G és un arbre, per definició no conté circuits. Veurem,inducció sobre n, que ti = rn + 1.Per a n = 1, el resultat es verifica clarament. Suposem que la relació es- ca en tot arbre de n :::> 1 vertexs, i sigui G' (V', A') un arbre de n+ 1 vertexs.- v un vertex de grau 1 de G', aleshores, el graf G" (V", A") = G' - {v} és

arbre de n vertexs i, per tant, n = IA"I + 1. Donat que G' té una aresta- i un vertex més que G", tenim que !V'I = n + 1 = IA"I + 1 + 1 = IA'I + 1.{=) Sigui G un graf sense circuits amb n = rn + 1. Per a veure que G és un_ ens cal només verificar que és connex. Siguin GI, G2 ... , Gk els (k :::> 1)

ponents de G, i establim que C, té V; vertexs i Ai arestes. Com que capo conté circuits, tenim que V; = Ai + 1; per tant:

k k

n - 1 = rn = LAi = 2)V; - 1) = n-ki=l i=l

implica k = 1 i, en conseqiiencia, G és connex.D

Un graf G és un arbre {:} és connex i n = rn + 1.

101

Page 102: Grafs - Fonaments i Algorismes

102 5. Arbres i brancatges

DEMOSTRACIÓ. (=}) Sigui G un arbre, per definició sera connex i pel teo-rema 5.1 n = m + l.

({=) Sigui G un graf connex amb ti = m + 1, hem de veure que no contécircuits. Si G conté un circuit e i a és una aresta de e, aleshores G - {a} ésun graf connex amb n vertexs i ti - 2 arestes, la qual cosa és impossible. AixÍdones, G no conté circuits i, en conseqíiencia, és un arbre.D

Teorema 5.3 Un graf G és un arbre {? G conté un únic camí entre cadaparella de uériexs diferents.

DEMOSTRACIÓ. (=}) Si G és un arbre certament hi haura com a mínirn uncamí entre cada dos vertexs diferents. Si Vi i Vj estan enllacats per dos caminsdiferents, es produeix un circuit, i aixo contradiu la definició d'arbre.

({=) Sigui G un graf en el qual cada parella de vertexs Vi, Vj esta enllacadaper un únic camí. Aixo significa que G és connex. Si G tingués algun circuite que inclogués dos vertexs Vi i Vj, aleshores, hi hauria -pel cap baix- doscamins enllacant Vi amb "i- Aixo contradiu el que havíem suposat; per tant,G no conté circuits i, en conseqiiencia, és un arbre.D

Un cop vistos els resultats precedents per als arbres (simetrics), comprovarles propietats següents dels arbres dirigits és un exercici senzill.

Proposició 5.4 Si G(V, A) és un graf dirigit, les següents afirmacions sónequivalents:

• G és un arbre dirigit.

• G té una arrel des de la qual hi ha un camí dirigit únic per a cadascundeis altres oértexs.

• G té una arrel VI tal que grau interior( vi) = O i grau interior( Vj) = 1V'j =1= 1 Vj E V.

• G té una arrel VI i eliminar qualsevol are implica que VI deixa de serarrel.

• G té el graf subjacent connex i un oértex VI tal que grau interior(vd = Oi grau interior( Vj) = 1 V'j =1= 1 Vj E V.

Definim la matriu de graus-entrant D = (dij) d'un multigraf dirigit G(V, A)com la matriu quadrada d'ordre ri, on:

d _ { grau interior(vi)'J - +k:

si i = jcas contrari

essent k el nombre d'arcs (Vi,Vj) que hi ha a G.

El següent resultat fou abtingut per Tutte:

Page 103: Grafs - Fonaments i Algorismes

Arbres generadors 103

eorema 5.5 Un graf e(V, A) sense llacos és un arbre diriqit d'arrel u; {o?

{O si i = Td.¡¡=

1 cas contrariel menor que resulta d'esborrar de D la r-ésima fila i columna té determituint

al

L [OSTRACIÓ. (=}) Suposem que e(V, A) és un arbre dirigit amb arrel Vr, jaID que -per definició- e ha de verificar a.i numerem de nou els vertexs de e de manera que VT = VI i que l'arc

i. Vj) impliqui que i < i, podem considerar que la nova matriu de graus-ant DI = (d~j) és producte d'una permutació de les files i columnes de D,

ixí:

d~1 = Od~i = 1 (i = 2,3 ... ,n)d~j = O (i > .j)

cal tenir present que tota permutació en les files i columnes d'una matriunserva el valor absolut del determinant).

i esborrem ara la primera fila i columna de DI obtenim un menor que téeterminant igual a 1.<=) Tenim que D verifica a i b. Considerem que e no és un arbre dirigit; en

aquest cas, sabem que el graf subjacent conté un circuit elemental C. El vertex'r no pot formar part de C donat que aixo implicaria que:

- o bé qraii interiori vT) > O- o bé per a algun altre vertex Vi i= Vr qrau. inteTioT(Vi) > 1i. en qualsevol cas, aixó contradiu a. Per tant, el circuit ha d'ésser de la formal"I --+ V2 --+ ... --+ Vi --+ VI, essent 1 el nombre de vertexs que hi ha a C.abem, a més, que cap altre are no pot afectar cap vertex de C.

Així dones, cada columna de D corresponent a un dels vertexs de C haurade tenir un 1 -sobre la diagonal principal- i un -1, i valor O en totes lesaltres posicions. A més, cada fila d'aquesta submatriu és o bé una fila de O obé conté un 1 i un -1. La suma d'aquestes columnes dóna com a resultat unacolumna de O, i, per tant, el determinant del menor val O. Aixó contradiu b, i,en conseqiiencia, e ha d'ésser un arbre dirigit.D

5.2 Arbres generadors

Donat un graf e(V, A) tot graf parcial de e que sigui un arbre i contingui totsels vertexs de V s'anomena un arbre qenerador (spanning tree, en angles) dee. Veurem ara quants arbres generadors diferents hi ha en un graf dirigit e, iusarem el resultat per a calcular quants n'hi ha a Kn.

Page 104: Grafs - Fonaments i Algorismes

104 5. Arbres i brancatges

Teorema 5.6 El nombre d'arbres qeneradors diriqits amb arrel Vr d'un gmfdirigit G sense llacos, ve donat pel menor- de la seva matriu D(G), obtingut uncop eliminades la r-ésima fila i columna.

DEMosTRAcró. És conseqiiencia del teorema 5.5.0

EXEMPLEEl graf G de la fig. 5.1 té la matriu de graus-entrant:

D = ( -~-1

i el nombre d'arbres dirigits d'arrel V2 és 5 que s'obté de:

I-~ -13 1=5

fig. 5.1

Per lligar el teorema 5.6 amb el teorema 5.5, observem que el valor 5obtingut es pot trobar també desglossant la matriu D en un conjunt de matriusDI, D2···, de manera que a D i en cada Di el vertex V2 sigui arrel i en cadacolumna -tret de la segona- hi hagi finalment un 1i un -1 per a representarcadascun dels ares de G. Aleshores, tenim que el nombre d'arbres a D d'arrelV2 (que és precisament det(D) traient la segona fila i columna) es pot obteniravaluant Lidet(Di), havent eliminat en cada Di la segona fila i columna.

És a dir:

2 O -1 -1 O 1 1 O -1-1 1 -2 -1 1 -2 + O 1 -2-1 O 3 O O 3 -1 O 3

1 O -1 1 O O 1 O O-1 1 O + -1 1 -1 + -1 1 -1 +

O O 1 O O 1 O O 1

Page 105: Grafs - Fonaments i Algorismes

5.3. Arbre de cost mínim 105

1 O -1 1 O O 1 O OO 1 O + O 1 -1 + O 1 -1

-1 O 1 -1 O 1 -1 O 11 -1

1+ 1 ~ ~ 1+ 1 ~ ~ 1+ 11 -1

1+11 O

1+ 11 O

1=O 1 -1 1 -1 1 -1 11+1+1+0+1+1=5

Si G (V, A) és un multigraf simetric, en definim la matriu de graus D = (dij)com la matriu quadrada d'ordre n, on:

si i = Jcas contrari

ent k el nombre d' arestes (Vi, Vj) que hi ha aG.

En el cas particular de G = K¿ tenim el següent resultat degut a Cayley:

Teorema 5.7 Si K¿ té els uériexs numerats =} genera nn-2 arbres diferente.

DEMOSTRAcró. En aquest cas, no té sentit parlar de quin vertex és l'arrel delarbre. Prenent com a arrel VI, el total d'arbres que es poden generar a G espot obtenir per analogia amb el cas anterior. Així, la matriu D per a K¿ téd;i = n - 1i dij = -1 Vi ic j. Si realitzem ara el següent procés:1. Treure de D la primera fila i columna.2. Restar la primera columna a totes les altres.3. Sumar a la primera fila totes les altres.obtindrem una matriu triangular inferior, on el determinant val precisamentnn-2.o

EXEMPLEEls 16 grafs de la fig. 5.2 són els 44-2 arbres generadors de K4'

5.3 Arbre de cost mínim

Sigui G(V,A) simetric amb un cost no negatiu c(ak) -o C(Vi,Vj)- associata cada aresta ak = (Vi, Vj) E A; en aquest apartat tractarem el problema dedeterminar en G un arbre generador simetric de cost total mínimo Aquest arbretambé s'anomena opiim.

Els dos algorismes que veurem tot seguit (Kruskal i Prim) es basen en lapropietat següent:

Page 106: Grafs - Fonaments i Algorismes

106 5. Arbres i brancatges

fig. 5.2

Teorema 5.8 Donat G(V, A) simétric i connex, sigui U e V i a.¿ = (Vi, Vj)una aresta de cost mínim entre aquelles que tenen Vi E U i Vj E V - U.Aleshores, existeix un arbre generador de cost mínim a G que conté am.

DEMOSTRAcró. Sigui T un arbre generador de cost mínim a G. Si am E T, hemacabat; cas contrari, afegim am a T. Haurem format un circuit que contindraam i, pel cap baix, una altra aresta aj = (vr, Vs) on vr E U i Vs E V-U. Donatque c(am) ::;c(aj), podem eliminar aj de l'arbre i el graf resultant continuaraessent connex i sense circuits. I aixo és un arbre de cost mínirn per a G.D

Kruskal

1. Comenceu amb un graf Ga(Va = V, Aa = 0).k:= O.

2. Ordeneu les aresies de G de forma creixent en funció del costo

3. Comencaiit pel cap de la llista ordenada, preneu la primera cresta a* nousada i que no forma circuit a G k.

k:= k + l.e, := Gk-1 U {a*}.

4. Si k < ti - 1 torneu a 3.Si no, acabeu.

Notem que el pas que porta més feina és l'ordenació de les arestes en el pas 2.la qual es pot realitzar amb un nombre d'operacions elementals (comparacions)

Page 107: Grafs - Fonaments i Algorismes

5.4. Arbres de Steiner 107

O(mlogm). Pero, per a afirmar que la complexitat del metode és O(mlogm),cal assegurar-se que la comprovació de "no creació de circuit" que es fa en elpas 3 usa un total d'operacions no superior a m log m. Afortunadament, nocosta gaire d'organitzar algun pracediment que ho realitzi amb hit.

En el meto de de Kruskal, l'arbre final s'ha obtingut a partir de diversoscomponents que s'anaven unint per, al final, forrnar-ne un de sol. En el metodede Prim que donem a continuació, l'arbre va creixent estenent un únic com-ponent a través de l'addició de la millor (menys costosa) aresta possible cadavegada.

iguin:- Q = {vertexs que ja es troben a l'arbre que anem farmant}- E = {arestes que ja es traben a l'arbre que anem farmant}- e = {arestes candidates a entrar en l'arbre en el praper pas}

Durant el pracediment, cal que el graf G sigui complet; així, si els vertexs Vi iVi no estan units per cap aresta considerarem que existe ix l'aresta (Vi, Vi) ambun cost c(Vi, vi) = oo.

Prim

2. Sigui (v¡, v;) aquella (Vi, Vj) E e de cost menor on Vi E Q.

3. Q:= Q U {vj}; E:= EU {(V¡, v;)}; c:= e - {(v¡,v;)}.

4· \lvs t/:. Q substituiu (Vr,Vs) E e per (v;,vs) si c(v;,vs) < c(vr,vs)'

5. Si e = 0 acabeu.Si no, torneu a 2.

Pel que fa a la complexitat del metode, notem que els pass os 1, 3 i 5 sónnegligibles, mentre que el pas 2 i el 4 realitzen, cadascun, n-k comparacions(k = 1,2 ... ,n - 1). Així, el total és O(n2) comparacions.

Com a conclusió, podem establir que és millar usar l'algorisme de Prim siel graf és forca dens, donat que la seva complexitat no depen de IAI.

5.4 Arbres de Steiner

El concepte d'arbre generador de cost mimm (optim) en un graf G(V, A)simetric i connex, amb un cost en cada aresta, fou generalitzat de la man-era següent en Hakimi (1971): sigui Z <;;; V, l'arbre optirn per a Z és aquell

Page 108: Grafs - Fonaments i Algorismes

108 5. Arbres i brancatges

que, usant un subconjunt de les arestes de A, enllaca tots els vertexs de Z -i,si cal, altres de V- Z- amb un cost total mínimo Així els arbres óptima vistosen l'apartat 5.3 corresponen al cas particular en que Z = V. El cas IZI = 2correspon a determinar el camí de cost total mínirn que uneix els dos vertexsde Z, i sera tractat en el proper capítol.

Tret d'aquests dos casos particulars que es poden resoldre en temps polino-mial, el cas general 2 < IZI < n esdevé un problema NP-hard, fins i tot, si elgraf considerat és pla. Vist aixo, s'imposa la recerca de solucions aproximadesque siguin rapides de calcular, i el més acurades possible.

Quan 2 < IZI < n, l'arbre optim per als vertexs de Z se l'anomena arbrede Steiner per a Z. Aquest cognom afegit al cas general dels arbres optimsés en record del matematic J. Steiner, el qual va realitzar -durant el segleXIX- diversos treballs sobre geometria. En particular, estava interessat enel problema següent: donat un conjunt de N punts P = {Pl,P2 ... ,PN} a R2,

interconnectar-los mitjancant segments, de manera que la longitud total delssegments usats sigui mínima.

Notem que aquest problema no és equivalent al de trobar l'arbre optimper a P usant un graf G(V, A), on IVI = IZI = N i A que sigui el conjuntdels -com a molt- N(~-l) segments que uneixen cada parella de punts, ambc(v;, Vj) = distancia (p;,Pj). Aixo és així perque sobre el pla -a diferenciadels grafs-, res no impedeix que es puguin usar altres punts, no inclosos a P,que serveixin de nodes d'enllac entre diversos segments. Segons on es trobinaquests nodes, podrien arribar a reduir la longitud de l'arbre óptim; de fet, jaes coneix que aixó és precisament el que passa en el cas general.

EXEMPLEEn la fig. 5.3 es representa la solució per a tres punts situats en els vertexs d'untriangle equilater. Observem que s'ha creat un node central que serveix per aenllacar els tres segments formant angles de 2; rad.

Pl

P3 P2

fig. 5.3

Tornant al cas dels grafs, l'algorisme que veurem a continuació (Sullivan)és un dels més senzills i efectius que es coneixen actualment. De fet, verifica

Page 109: Grafs - Fonaments i Algorismes

5.4. Arbres de Steiner 109

que si es és el cost de l'aproximació donada per l'algorisme, ea és el cost deI'arbre de Steiner optim, i p = IZI, aleshores:

es 2p - 2-<--ea - p

Abans pero d'aplicar qualsevol algorisme al problema representat pel nos-ITe graf, és recomanable de considerar les possibles eliminacions de vertexs idarestes que es poden efectuar per tal de reduir el volum de dades a tractar.A continuació se'n presenten cinc de les més senzilles, pero no per aixó menysefectives.

Sigui c(eij) el cost del camí e que uneix Vi i Vj tal que:

L c(aj):; L c(aj)ajEC ajEC'

per a tot altre camí el i= e que une ix Vi i "i-

Anomenarem z-vertex tot Vi E Z i s-vertex, a tot Vj E V - Z.1. Si G conté un s-vertex Vi amb graU(Vi) = 1, aleshores, Vi i l'única aresta

pot eliminar de G.2. Si G conté un s-vertex Vj amb grau( Vj) = 2, aleshores, les dues arestes,

a.; = (Vi,Vj) i ak = (Vk,Vj), poden ésser substituides per una única arestat'i.Vk) de cost c(ai)+c(ak)' També s'eliminara Vj de G. Si ja existia previament

una aresta (Vi, Vk), aleshores, s'elimina -de les dues-la que té cost més gran.3. Si G conté una aresta a; = (Vi,Vj) i resulta que c(ai) > c(eij), podem

eliminar a; de G.4. Si G conté un z-vertex Vi amb graU(Vi) = 1, aleshores, l'aresta (Vi, Vj)

formara part necessariament de la solució. Per tant, Vi pot ésser eliminat i Vjpassara a ésser considerat un z-vertex -si és que no ho era.

5. Siguin Vi i Vj dos z-vertexs adjacents de G, i Vk un altre z-vertex de G.i es verifica que C(Vi,Vj) :2: C(eik) i C(Vi,Vj) :2: c(ejk), aleshores, (Vi,Vj) pot

, el' eliminada de G.

Sullivan

1. Donat G(V, A) [ormeu el gmf complet GI(VI,AI), on VIaresta (Vi,Vj) té cost C(Vi,Vj) = c(eij)·

2. Obtingueu l'arbre de cost mínim TI per a GI.

Z i cada

3. Sigui G2 el gmf obtingut de substituir cada aresia aj de TI per les arestescorresponents al camí que representa aj a G.

Page 110: Grafs - Fonaments i Algorismes

no 5. Arbres i brancatges

4. Obtingueu l'arbre de cost mínim T2 per a G2.

T2 és l'aproximació cercada.

Veurem, en el proper capítol, que calcular el camí de cost mínim entre dosvertexs fixats pot fer-se en un nombre d'operacions O(n2). Donat que el pas1 del meto de ha de determinar n("2-1) camins, tenim que la complexitat delpas 1 és O(n4). El pas 3 és irrellevant, mentre que el 2 i el 4 impliquen usarl'algorisme de Kruskal o Prim; així dones, el nombre total d'operacions delprocediment ve governat pel pas 1 i queda O(n4).

EXEMPLEDonat el graf G de la fig. 5.4 amb els costos indicats en les arestes, siguiZ = {a, d, e} el conjunt de vertexs que cal unir.

a10 7

2bc

G 1 33

e d7

3 4f

fig. 5.4

En la fig. 5.5 es representen Gl i TI·

e, a

~e-d6

d

fig. 5.5

Finalment, en la fig. 5.6 es representen G2 i la solució T2 de cost 13.

5.5 Brancatges

Reprendrem ara el problema analitzat en l'apartat 5.3, pero considerant ara elcas d'un graf dirigit.

Page 111: Grafs - Fonaments i Algorismes

-5.5. Brancatges 111

a a

7 72

b 2be e

1 3 1 33

e d e d

G2 T2

fig. 5.6

Un base és tota agrupació d'un o més grafs dirigits on cadascun té el grafsubjacent connex i sense circuits (fig. 5.7).

<:V,~ V'~~V6

V2 V3 ~

V7V4

fig. 5.7

Un brancatge és tot bosc on cada graf és un arbre dirigit. Donat G(V, A)dirigit amb costos en els ares, ens interessa -de moment- determinar el (un)brancatge de cost total nuucim: Notem que un brancatge de cost rnaxim noté perque ésser un arbre generador dirigit. El graf de la fig. 5.8 té un bran-eatge de cost maxim de valor 18 format pels ares (V3, V2), (V4, V3) i (VI, V2); encanvi, l'arbre generador dirigit de cost maxim té valor 9 i esta format pels ares(Vl, V2), (V2, V4) i (V4, V3).

VI 6• V2

10 1

V3 • V42

fig. 5.8

Page 112: Grafs - Fonaments i Algorismes

112 5. Arbres i brancatges

Si el que interessa és determinar un brancatge de cost total mínim, n'hi haprou de multiplicar per -1 el cost de eadascun dels ares i cercar el brancatgede cost total maxim. De fet, pero, el que ens havíem proposat era de trobararbres generadors optims. Afortunadament, aixo no és cap problema si sabemcom trobar brancatges optirns. Efectivament, si cal formar un arbre generador-diriqi; de cost miixim, ho aconseguirem sumant una constant k > O al cost detots els ares del graf. A mesura que k ereix, és dar que el braneatge de costrnáxim anirá prenent més ares del graf. D'aquesta manera, per a una k prougran el braneatge de eost maxim es convertirá en un arbre generador dirigit decost maxim, si és que aquest existeix.

Si el que es busca és un arbre generador dir-igit de cost rnínirn s'aplicara elprocés precedent, multiplicant previarnent per -1 tots els ares del graf.

Desenvoluparem ara l'algorisme d'Edmonds per a determinar un brancatgede cost maxim.

Durant el procediment es manten en aetualitzats dos conjunts: un de vertexsno examinats, i un altre d'ares eandidats a formar el braneatge de eost máxim.Els vertexs s'examinen seguint un ordre qualsevol i els ares eandidats formen,en tot mornent, un braneatge. Inieialment, els dos conjunts són buits.

Examinar un vertex Vj vol dir prendre l'arc de eost més gran d'entre tots elsque arriben a Vj. Si afegir aquest are al eonjunt d'arcs que formen un braneatgemanté encara un brancatge, l'arc és afegit al eonjunt. Cas contrari, aquest areconstituirá un eircuit amb alguns dels ares del eonjunt que forma el braneatgeactual. En aquest eas, es forma un nou graf mitjancant la "cornpressió" enun únic vertex de tots els vertexs del eircuit, deixant alhora tots els arcs quearribaven al cireuit o que en sortien. (En el graf G de la fig. 5.9 es eomprimeixel eireuit Vl,V5,V4,Vl i el resultat és el nou graf GI

.)

V'~j V2

G GI j )V3 V4 V3 •

V/fig. 5.9

A continuació, els costos dels arcs que afecten el circuit comprimit són con-venientment modificats. Tant el eonjunt de vertexs com el d'arcs s'actualitzend'acord amb el graf resultant de la compressió.

Page 113: Grafs - Fonaments i Algorismes

5.5. Brancatges 113

El procés es repeteix amb un nou vertex i s'acaba quan tots han estatexaminats. El graf final s"'expandeix" seqüencialment en l'ordre invers en ques'ha comprimit cada circuit i, per a cada circuit, tots els ares, tret d'un, escol-loquen en el conjunt d'arcs candidats. L'elecció es fa de manera que esmantingui sempre un brancatge en el conjunt actual d'arcs candidats. Quan,finalment, s'ha arribat a recuperar el graf inicial, el conjunt d'arcs candidatsforma un brancatge de cost maxim,

Sigui Ga el graf considerat inicialment, i siguin GI, G2 ... els grafs obtingutssuccessivament a partir de Ga· Parall elament, siguin Va, VI ... els conjuntsde vertexs no examinats i Aa,AI'" els conjunts d'arcs candidats a formar elbrancatge de cost maxim. Inicialment tots aquests conjunts són buits.

Edmonds

1. (Inicialment i := O.)Si tots els uértexs de G, es traben en Vi aneu a 3.Si no, escolliu un v E G¡ tal que v ti- Vi.

Vi := Vi U {v}.Escolliu 1'are a de cost més gran que arriba a v

Si tal are no exisieix torneu a l.Si no, Ai := Ai U {a}.

Si els ares de Ai encara formen 'un brancatge, torneu a l.

2. Segur que a forma un circuii C¡ amb alguns deis ares de Ai'Comprimiu tots els uértexs i ares de C, en un nou uériex Vi i sigui Gi+lel qra] resuliani.Els costos deis aTCS en Gi+l es manten en igual que en Gi tret deis aresque arriben a Vi en Gi+ l. A cada are (x, y) de Gi que es transforma en(x, Vi) en Gi+l assigneu-li un nou cost:

c(x, Vi) := c(x, y) + c(w, z) - c(t, y) (5.1)

essent (w, z) l'arc de cost mínim en Gi, i (t, y) l'únic are de Gi que arribaay.Col:loqueu en Vi+l tots els uértexs de Gi+l que es trobeti en Vi.Ooiloqueu en Ai+l tots els aTCSde Gi+l que es troben en Ai'i := i+ l. Torneu a l.

3. Si i = O acabeu, els ares en Aa formen la solució.Si no, considereu els dos casos possibles:

Page 114: Grafs - Fonaments i Algorismes

-114 5. Arbres i brancatges

a) Vi-l és l'arrel d'un arbre en el braneatge Ai.Considereu els ares en Ai juntament amb els ares en Ci-l'

Aquests ares formen un únie eireuit en Gi-l, aquest és Ci-l'

Elimineu d'aquest grup d'ares el que es traba en Ci-1 i té eleost menor. El resultat és un braneatge per a Gi-l.

Colloqueú en Ai-l els ares d'aquest braneatge.

b) Vi-l no és l' arrel de cap arbre en el braneatge Ai'Existeix un únie are (x, vi-d en Ai que arriba a Vi-l.

Sigui (x, y) l'are en Gi-l que correspon a (x, vi-d on Y és undels uértexs de Ci-l que es va comprimir per formar' Vi-l.

Considereu els ares en Ai juntament amb els ares en Ci-l.

Aquests ares formen un únie eireuit en Gi-l aquest és Ci-l, ieontenen dos ares orientats cap a y: l'are (x, y) i un altre deleireuit Ci-l' Elimineu el darrer d'aquest grup d'ares. Els aresrestonis formen un braneatge per a Gi-l.

Colloqueu en Ai-l els ares d'aquest braneatge.

4. i := i - 1. Torneu a 3.

L'algorisme d'Edmonds és forca efieient. De fet, el pas que porta més feinaés el de la formaeió dels diferents grafs Gl, G2 ... Per a formar eadaseun d'aquestsgrafs haurem de menester O(IAI) passos, i aixó s'haura de fer IVI vegades, eoma molt. Així dones, podem dir que 111 complexitat temporal és O(IVIIAI)·

EXEMPLESigui Ga el graf de la fig. 5.10.

Ga

fig. 5.10

La taula següent detalla els diversos passos en l'aplieació de l'algorismed'Edmonds per a determinar un braneatge maxim (els vertexs han estat exam-inats per ordre alfabetic).

Page 115: Grafs - Fonaments i Algorismes

5.5. Brancatges 115

v Vo Ao- 0 0a {a} {(e, a)}b {a,b} {(e,a),(a,b)}e {a, b, e} {(e,a), (a,b), (b,e)}v VI Al- 0 0d {d} {(vo, d)}e {d, e} {(vo, d)}Vo {d,e,vo} {( vo, d), (e, vo)}v Vo Ao- {a,b,e} {(e,a),(a,b), (b,e), (a,d)}

El brancatge maxim ve donat pel darrer conjunt Ao i té cost 16.En la fig. 5.11 es representa el graf Gl generador a partir de Go durant

I'execució de l'algorisme.

5+3-6=2d ~. e------------ ..-----------1

4+3-7=0 2+3-3=2

fig. 5.11

Observaeió_ otem que durant l'execució de l'algorisme si, en Gl, en lloc de (e, a) prenemI'arc (e, b), obtenim un brancatge de cost maxim alternatiu format pels arcs(e, b), (b, e), (e, a) i (a, d).

Teorema 5.9 L'algorisrne d'Edrnonds funciona correciameni.

DEMOSTRACIÓ. Sigui Gk un graf qualsevol dels produits durant l'execució del'algorisme i sigui Ak el brancatge que s'obté per a Gk al final del pas 3.Comencarern veient que si Ak és un brancatge de cost maxim per a Gk, ales-hores, Ak-l és també un brancatge de cost rnáxim per a Gk-l. Ens calenalgunes definicions previes.

Sigui GI el graf parcial format per tots els ares de Gk-l que no estan orien-tats cap a algun dels vertexs del circuit Ck-l. Sigui Gil el graf parcial formatper tots els ares de Gk-l que no es troben en GI

. Sigui A~_l el conjunt d'aresen Ak-l que es troben en GI i A%_l' el eonjunt d'arcs en Ak-l que es trobenen Gil.

Page 116: Grafs - Fonaments i Algorismes

116 5. Arbres i brancatges

Si el braneatge Ak-1 no és de eost maxim per a Gk-1 vol dir que hi ha unaltre braneatge B de eost total major. Sigui B' el eonjunt d'ares de B que estraben en G' i sigui B" el eonjunt d'ares de B que es traben en Gil Per tant,una de dues:- o bé B' té un eost superior al de A~_l- o bé B" té un eost superior al de A%_lAssumirem ara dues hipótesis per a poder continuar:

1. A~_l és un braneatge de eost maxim per a G',2. A%_l té el mateix eost que B".És fácil de veure que, si podem pravar aquestes dues hipótesis, Ak-1 sera

un braneatge de eost maxim per a Gk-1. D'aquesta manera, podem anar en-rere fins al darrer braneatge Aa produít per l'algorisme i establir que -si leshipótesis són eertes- aquest sera un braneatge de eost maxim per a Ga.

Demostració de la hipotesi 1. Considerem que el eireuit Ck-1 conté q vertexs;aixo implica que en G' hi ha un are de cost positiu orientat cap a cadascund'aquests vertexs. En conseqiiencia, cap brancatge de cost rnaxim per a G' nopot estar format per més de q ares. A més, cap brancatge de cost maxim enG' no pot tenir un cost superior al cost del circuit Ck-1. D'altra banda, pelcap baix, un dels ares del circuit Ck-1 ha d'estar fora de qualsevol brancatgeper a G'; per tant, com a mínim un d'aquests q vertexs del eireuit -diguem elvertex y- ha de verificar que:- o bé no té cap are del braneatge que li arribi- o bé li arriba un are (x, y) on x rt Ck-1

Per a cada z E Ck-1 podem formar un braneatge B; en G' en la forma següent:1. Prendre tots els ares del eireuit Ck-1 tret de l'arc que arriba a z.2. Afegir-hi l'are de eost més gran (x, z) essent x rt Ck-1.

De tots aquests braneatges eseollim el que té eost major; sigui aquest B;. Siobservem la relaeió 5.1 tenim que B; és preeisament el braneatge A~_l formatper l'algorisme.

Sigui ara H! qualsevol brancatge en G' construít de manera diferent als Bz.Així, si a W li manca només un dels ares del eireuit Ck-l vol dir que no potésser un brancatge de eost maxim per a G'. Si dos o més ares de Ck-1 no estanen W, aleshores, per a cadaseun tenim que:- o bé ha estat substituit per un de eost més petit orientat cap el mateixvertex- o bé no ha estat substituít per cap altre

En qualsevol dels dos casos el resultat és una disminució en el eost total delbraneatge; per tant, W no pot ésser de eost máxim per a G'. Així dones, A~_lés el braneatge de eost maxim per a G' i res no impedeix que considere m queA~_l = B'.

Page 117: Grafs - Fonaments i Algorismes

5.5. Brancatges 117

Demostmció de la hipotesi 2. Distingirem els dos casos possibles:

1. Ak conté un are (x, vk-d·2. Ak no conté cap are orientar cap a Vk-l.

Cas 1.:Tenim, per hipotesi, que Ak és un brancatge de cost maxim per a Gk i queconté un are (x, Vk-l). Usant la hipotesi 1, B' = A~_l i, per tant, B' contéun are (x, y) on x E Ck-1 i y E Ck-1· Donat que B és un brancatge en Gk-1,

tenim que B" no pot contenir un camí des d'un vertex en Ck-1 fins a x. Pertant, B" ha de ser un brancatge de cost maxim per a G" i no contenir cap carnídes d'un vertex de Ck-1 fins a x.

Cada are en Gil es correspon arnb un are en G k del mateix cost i cadabrancatge en G" es correspon amb un altre -del mateix cost- en G k. Aixídones, si A%_l no és de cost maxim en G" i no conté cap camí des d'un vertexen Ck-l fins a x, aleshores, Ak no és un brancatge de cost máxirn en Gk i contélarc (x, Vk-l), la qual cosa és impossible. En conscqiiencia, A%_l ha de tenirel mateix cost que B".

Cas 2.:Donat que cap are en Ak no esta orientat cap a Vk-l, tenim que tot are enAk correspon a un are en A%_l. A més, si A%_l no fos un brancatge de costmaxim en Gil, aleshores, Ak no seria un brancatge de cost maxim en Gk, laqual cosa és una contradicció. Així dones, A%_l ha de ser de cost maxim pera Gil i tenir el mateix cost que B". O

Comentaris bibliográíícs

El rnetode per a obtenir tots els arbres dirigits amb una arrel fixada fou descriten Tutte (1948). El teorema de Cayley aparegué en Cayley (1889).

EIs dos meto des vistos per a obtenir l'arbre de cost mínim en un graf simetricforen descrits en Kruskal (1956) i en Prim (1957). Un recull extensiu dels dar-rers metodes pel problema de Steiner -amb més de 300 referencies-> es trobaen Hwang i Richards (1992). Hi ha forca meto des exactes per a aquest prob-lema; així, per exemple, Beasley (1984) o Dreyfus i Wagner (1972). L'algorismeaproximat de Sullivan es va desenvolupar en Sullivan (1982). Per a un estudimés complet de les diferents variants del problema de Steiner cal consultar elllibre de Hwang et al. (1992).

Finalment, en Edmonds (1968), es desenvolupá l'algorisme per a determinarun brancatge optim.

Page 118: Grafs - Fonaments i Algorismes

118 5. Arbres i brancatges

Exercicis

1. Un arbre optirn T és únic {::}qualsevol aresta aj tJ- T té cost més gran quequalsevol altra aresta del circuit creat si afegim aj a T.Demostreu- ho.

2. Considereu el següent algorisme per trobar un arbre de cost mínim T en ungraf G:

1. T:= 0.

2. Sigui G' (V', A') el subgraf de G que conté les arestes de T.(Inicialment V' := V i A' := 0.)

3. Per a cada component k; de G' trobeu l'aresta a" de cost mínim de G queuneix un ueriex de ki a un altre uertex d 'un alire component kj de G'.Si a* no existeix hem acabat i G és disconnex.Si no, afegiu cada a* a T.

4. Si ITI = n - 1 hem acabat i T és el resultat.Si no, torneu a 2.

Doneu la vostra opinió sobre el metode.

3. Sigui G(V, A) simetric amb cost en cada aresta. Si c(aj) =f: c(ak) quan j =f: k,és possible que G tingui més d'un arbre de cost mínim? Per que?

4. Demostreu que tot arbre que té més d'un vertex conté, pel cap baix, dosvertexs de grau l.

5. Demostreu que la molécula CnH2n+10H és un arbre per a tot valor naturalde n. (Recordeu que la valencia del carboni és 4; la de l'oxigen, 2, i la de1'hidrogen, 1.)

6. Demostreu que si gi (i = 1,2 ... ,n) és una sequencia de nombres naturalstal que la suma val 2n - 2, aleshores, existeix un arbre tal que grau (Vi) = giVi = 1,2 ... ,n.

Page 119: Grafs - Fonaments i Algorismes

Capítol6

Camins i connectivitat

6.1 Carní de cost mínim

Tractarem ara el problema de determinar el (un) camí de cost total mÍnim-ooptim-« Gst que uneix dos vertexs fixats s (vertex inicial) i t (vertex final) en unzraf G amb costos en les arestes (ares). Sigui c(Gst) el cost de Gst' En general,c(Gij) denotara el cost del camí óptim de Vi a Vj. Els diferents algorismes quees presenten corresponen a diverses possibilitats respecte a aquests costos i a. G és simetric o dirigit.

Sigui '>-(Vi) l'etiqueta associada al vertex Vi durant l'execució de cadascundels algorismes; inicialment, tots els vertexs estan sense etiqueta i, al final,>.(t) = c(Gst)'

G(V, A) simetric i amb cost idi;ntic en totes les arestes

Moore

1. .>-(s) := O; i := O.

2. Trobeu tots els uértexs no etiquetats adjacents -pel cap baix- a un uértexv* on .>-(v*) = i.Si no n'hi ha cap, acabeu.

3. Etiqueteu tot oértex Vj trobat en el pas 2 amb .>-( Vj) := i + lo

4. Si t ja ha rebut etiqueta, acabeu.

5. i:= i + loTorneu a 2.

119

Page 120: Grafs - Fonaments i Algorismes

120 6. Camins i connectivitat

És dar que aquest algorisme simplement adopta l'esquema del BFS.Si representem el graf G usant una estructura de llistes encadenades, aleshores,la complexitat és O(m).

G(V, A) dirigit i amb costos no negatius en els arcs

Dijkstra

1. A(s) := O; A(Vj) := 00 'i/Vj -¡. s.

2. T:= V.

3. Sigui Vk E T tal que A( Vk) és mínima.

4. Si Vk = t, acabeu.

5. 'i/ai = (Vk, vq), si vq E Ti A(Vq) > A(Vk) +c(ai) '* A(Vq) := A(Vk) +c(ai)'

6. T:= T - {vd. Torneu a 3.

Verificarem ara que l'algorisme obté el que s'espera.

Lema 6.1 En l'olqorisme de Dijkstra, si A(vj) -¡. 00, hi ha sempre un camí des aVj de costA(vj).

DEMOSTRAcró. Sigui Vi el vertex que ha donat a Vj l'etiqueta actual, A( Vj) =A(Vi) + C(Vi,Vj). Després d'aquesta assignació, el vertex Vi és eliminat de T i,per tant, l'etiqueta ja no varia. Tot seguit considerem el vertex que ha donat aVi l'etiqueta definitiva, i així successivament. Al final, tenim un camí elementalde s a Vj de cost A(Vj).D

Lema 6.2 En l 'algorisme de Dijkstra, sempre que s 'escull un Vi E T -en elpas 3- es verifica que A(Vi) = c(Csi).

DEMOSTRAcró. Per inducció, seguint l'ordre en que els vertexs surten de T.El vertex s és el primer i, efectivament, A( s) = c(Css) = O. Considerem que

l'enunciat és cert per a tots els vertexs que surten de T abans que Vi.

a) Si A( Vi) = 00, sigui vp el primer vertex tal que A( vp) = 00 quan és seleccionat.És dar que 'i/Vj E T, en aquest moment, A(Vj) = 00, i 'i/Vj E V -T A(vj) -¡. oo.Per tant, no hi ha cap arc amb vertex inicial en T i vertex final en V-T. Aixóvol dir que no hi ha cap camí de s a Vi

Page 121: Grafs - Fonaments i Algorismes

...,

.1. Camí de cost mínim 121

i A(Vi) =1= 00 aleshores, pellema 6.1, A(Vi) és el cost d'algun camí de s a Vi;_ r tant, A(Vi) 2: c(Csi). Vegem que no és possible que A(Vi) > c(Csi). Sigui:

camí de cost mínim de s a Vi.Aixo vol dir que V k = 0,1..., i :

k

c(Csk) = ¿c(aj)j=l

Siaui vq el vertex de més a la dreta en aquest camí que abandona T abans de'•. Per la hipotesi d'inducció:

q

A(Vq) = c(CSq) = ¿c(aj)j=l

i Vq+1 =1= Vi vol dir que A(Vq+l) ::::A(Vq) + c(aq+d després que vq ha deixatT. Donat que les etiquetes només poden decréixer quan canvien, en el momentque A(Vq+l) és escollida encara verifica la desigualtat. Tenim dones que:

. c(Csi) < A(Vi), el vertex Vi no hauria d'haver estat escollit. Si vq+l = Vi, pelmateix raonament, s'obté que A( Vi) ::::c(Csi). O

Teorema 6.3 L 'algorisme de Díjkstra funciona correctament.

DEMOSTRACIÓ.És conseqiiencia immediata del lema 6.2 prenent Vi = t.D

Observacions- Si hi ha costos negatius pot ser que s'arribi a t sense haver detectat un camíde cost més petit al trobat. Aixó és així, perque l'algorisme suposa -implíci-tament- que tots els costos són no negatius quan assumeix que tornar a unvertex ja estudiat anteriorment incrementara sempre el cost aconseguit.- Si tenim un graf simetric podem desdoblar cada aresta en dos ares, de sentitsoposats, i l'algorisme és igualment aplicable.

Per avaluar-ne la complexitat notem que el pas que porta més feina ésclarament el 3 que ha de determinar l'etiqueta mínima entre els vertexs de T,i aixo implica realitzar ITI - 1 comparacions. Inicialment, tenim ITI = n i ITIva disminuint d'una unitat cada vegada que tornem al pas 3. Com a molt,

Page 122: Grafs - Fonaments i Algorismes

122 6. Camins i connectivitat

repetirem el procés fins a ti vegades; per tant, el nombre final de comparacionssera O(n2).

G(V, A) dirigit i costos no restringits, pero sense circuits de cost negatiu

Determinarem el cost de tots els camins optims des de s fins a tot altre Vi E V.

Ford

1. Á(s) := O; Á(Vj) := 00 't:/Vj=1 s.

2. Mentre hi hagi un a; = (Vk,Vq) on Á(vq) > Á(Vk) + c(ai) feu Á(vq) .-

Á(Vk) + c(ai).

Lema 6.4 En l'algorisme de Ford, si Á(Vj) =1 00, hi ha sempre un camí de sa Vj de cost Á(Vj).

DEMOSTRAcró. El procediment és similar al seguit abans per a l'algorisme deDijkstra.

Sigui Vi el vertex que dóna a Vj l'etiqueta actual, Á( Vj), i sigui Á' (Vj) elvalor de l'etiqueta per a Vj abans de rebre'n l'actual; per tant, Á( Vj) = X (Vj) +C(Vi,Vj). Repetim el procés enrere des de Vi usant X(Vi) fins que arribem altravegada a S.O

Lema 6.5 En 1 'algorisme de Ford, si el graf no conté cap circuit de cost negatiui Á( Vj) =1 00, hi ha sempre un camí elemental de s a Vj de cost Á( Vj).

DEMOSTRAcró. Conseqiiencia del lema 6.4 ja que, si no hi ha circuits de costnegatiu, el camí format en la prova del lema 6.4 sera sempre elemental. O

Teorema 6.6 Si G(V, A) no conté cap circuit de cost negatiu, l'algorisme deFord obté Á(Vi) = c(Csi) 't:/ViE V.

DEMOSTRACrÓ. Pellema 6.5 Á(Vi) ~ c(Csi)' Si Á(Vi) > c(Csi) sigui:

el camí optirn de s a Vi. És clar que 't:/ k = 0,1..., i:

k

c(Csk) = L c(aj)j=l

Page 123: Grafs - Fonaments i Algorismes

_1, Carní de cost mínirn 123

ízui vq el primer vertex en aquest camí tal que A(Vq) > c(Gsq). Donat quet,'q-l) = c(Gsq-l), l'arc (Vq-l, vq) es pot usar per a disminuir A(Vi). En

re eqiiencia, I'algorisme no hauria d'haver acabat.D

ervacióL'algonsme no es pot aplicar a un graf G(V, A) simetric -tal com era possible

I'algorisme de Dijkstra- perque en substituir-ne les arestes de cost negatiupareixeria un circuit de cost negatiu, i, en aquest cas, I'algorisme podria quedar

uejat actualitzant indefinidament les etiquetes deis vertexs del circuito

Passem a considerar la complexitat del procés.

Abans d'aplicar l'algorisme, numerem els ares com al, a2 ... , am i executempas 2 analitzant al, després a2 ... i realitzant els etiquetatges deis vertexsrresponents. Després de la primera passada, en fem les posteriors fins quees produeixi cap millora en les etiquetes.

i el graf G no conté circuits de cost negatiu, el procés sera finito A més,, un camí optim de s a testa format per k ares, aleshores, en la k-esima

da, l'etiqueta de t segur que n'és ja l'etiqueta final. Aixo és així, perque,~ cada pas, almenys un vertex rep I'etiqueta óptima -que ja li queda com a

~ itiva-> i la rep d'un vertex que ja té l'etiqueta óptima. D'aquesta manera,nombre total de passos sera O(IVIIAI).

És important adonar-se que tant l'algorisme de Dijkstra com el de Ford. nen el cost de cada camí optim que calculen, pero no expliciten quins ares

en el camí. Aixo es pot resoldre facilment, ja que el (un) camí optim es- "refer" des del vertex final t fins al vertex inicial s analitzant les etiquetes~ vertexs,Efectivament, si ens trobem en el vertex "i» aleshores, formara part del'optim obtingut, l'arc ak = (Vi,Vj) que verifiqui A(Vj) = A(Vi) + c(ak)'

_ ' , dones, comencem amb Vj = t i determine m el Vi que hi correspon dinsr-l(Vj); a partir d'aquest, repetim la comprovació per tots els vertexs de

~-I(Vi)'" fins arribar a s.

G l-, A) dirigit, amb costos no restringits en els arcs

=- metode següent (Floyd) determina c(Gij) per a cada parella vi, Vj de V',j = 1,2 ... ,n).

nvé ara redefinir les etiquetes A que cal usar. En aquest cas, els vertexsetiquetats per parelles. Així:

Si(Vi,Vj) E Acas contrari

Page 124: Grafs - Fonaments i Algorismes

124 6. Camins i connectivitat

d'aquesta manera assumim que hi ha are entre cada parella de vertexs diferentsi que hi ha carní de cost nul des de cada vertex cap a si mateix.

En general, >'iJ representara c( Gij) usant alllarg del camí Gij qualsevol deIsvertexs VI, V2 ... , Vm pero cap Vt on t > m.

A partir de les etiquetes inicials >'?j' el procediment va considerant tots elsvertexs per ordre creixent, un a un, comparant en el pas m si el cost de cadacamí Gij obtingut fins al moment és més económic que si s'inclou el nou vertexVm· Així, en cada pas m = 1,2 ... , n, el meto de necessita tan soIs les etiquetesdel pas m - 1, de manera que totes les precedents ja no cal guardar-les.

Floyd

1. m:= 1.

2. Per a tota parella Vi, Vj tal que 1 :S i, j :S n, calculeu:

fig. 6.1

\m . {\ m-I \m-I \m-I}"'ij = mm "'ij , "'im + "'mj

3. Si m = ti, hem acabai.Si no, m := m + 1 i torneu a 2.

EXEMPLESigui G el graf dirigit de la fig. 6.1.

En la taula següent indiquem, en les columnes, les diferents etapes del procési, en les files, el cost del camí actual més curt entre cada parella de vertexs,

Page 125: Grafs - Fonaments i Algorismes

6.2. k-esim camí de cost mínim 125

),U ),1 ),:¿ AS ),4

11 O O O O O12 4 4 4 4 413 3 3 3 3 O14 2 2 1 1 121 -1 -1 -1 -1 -222 O O O O O23 3 2 2 2 -424 -3 -3 -3 -3 -331 4 4 4 4 432 00 8 8 8 833 O O O O O34 5 5 5 5 541 1 1 1 1 142 00 5 5 5 543 -1 -1 -1 -1 -144 O O O O O

És immediat de veure que la complexitat del meto de és O(n3). Efectiva-ment, el pas clau és el 2, el qual es realitza ti vegades í , en cadascuna, tenimn2 sumes, n2 comparacions i n2 moviments.

D'aquesta manera, quan es vol determinar un camí óptim entre cada pa-rella de vertexs del graf, resulta més eficient usar l'algorisme de Floyd que nopas aplicar l'algorisme de Dijkstra n2 vegades -una per a cada parella+- ol'algorisme de Ford n vegades -una a partir de cada vertex.

Pel que fa als costos dels ares, així com en l'algorisme de Ford calia -pera assegurar l'acabament del procés- que no existissin circuits de cost negatiu,en el meto de de Floyd no són problema perque es poden detectar facilment.Només cal comprovar, en cada pas, que no hi hagi cap etiqueta Aii < O, donatque aixo implicaria un camí tancat de cost negatiu Vi ----; ... ----; Vi.

6.2 k-esim camí de cost rnínim

A vegades, no n'hi ha prou de coneixer el camí optim entre dos vertexs, sinóque també cal saber quin és el segon camí millor, el tercer..., el k-esim. Enla practica, convé disposar de més d'una alternativa a l'optim per si la rutadonada pel camí de cost mínim no és disponible o no interessa.

Page 126: Grafs - Fonaments i Algorismes

126 6. Camins i connectivitat

El metode que veurem és una generalització de l'algorisme de Floyd; pertant, estem en el cas d'un graf G(V, A) dirigit, amb els vertexs enumeratsd'l a ti, costos no restringits a prendre valors positius i absencia de circuitsde cost negatiu. Les dues operacions fonamentals que requeria l'algorisme deFloyd eren la suma i la comparació entre dos nombres. En la generalització,aquestes operacions es faran sobre un vector de k nombres diferents (Cl, C2"" Ck)

representant costos -d'arcs o camins- de manera que Cl < C2 < ... < Ck (aefectes de funcionament del metode permetrem que el valor 00 pugui repetir-se).

Sigui Rk el conjunt de tots els k-vectors amb aquesta propietat. ConsideremA = (al, a2 ... , ak) E Rk i B = (bl, b2 ... , bk) E Rk: la minimització generalitzadade A i B es defineix com a:

A. B = min{ai, b.; i = 1,2 ... , k}k

on mins ] z} representa els k números més petits diferents en z. La suma gene-ralitzada de A i B es defineix com a:

A EB B = min{ai + bj; i,j = 1,2 ... , k}k

EXEMPLESi A = (2,5,7,9) i B = (3,5,6,11) tindrem:A. B = min4{2, 5, 7, 9, 3, 5, 6, 11} = (2,3,5,6) iA EB B = min, {2 + 3, 2 + 5, 2 + 6, 2 + 11, 5 + 3, 5 + 5, 5 + 6, 5 + 11..., 9 + 11} =(5,7,8,10)

Igualment hem d'estendre la definició que tenim de .Xi], així:

A~j = (A~jl,A~j2 ... ,A~jk) E Rk

representara els costos dels k ares de cost menor de Vi a Vj. Si diversos arestenen el mateix cost, aquest es representara una única vegada a A?j' Si en elvector queden components per omplir, s'usara el valor oo. Finalment, quani = j es considera que hi ha un llac de cost nul sobre Vi.

En general, Aij = (Aijl' Aij2"" Aijk) E Rk representara els costos dels kcamins de cost mínim de Vi a Vj sense passar a través de cap vertex d'índexsuperior a m.

Com a darrera definició previa, usarern Aj, =(Aiil.Aii2 ...• Aiik ) E Rk perrepresentar els costos de k circuits simples de cost mínim sobre Vi, inc1oent-hiel circuit de cost nul. La convolució A~ de Aii es define ix com els costos dels kcamins diferents de cost mínim de Vi a Vi que es poden obtenir mitjancant lacombinació dels circuits representats pels components de Aii' Usant la notaciópreviament establerta:

k vegades

Page 127: Grafs - Fonaments i Algorismes

6.2. k-esim camí de cost mínim 127

L'algorisme de Floyd generalitzat ve donat per l'algorisme de Floyd jaconegut tenint en compte que:~ usarem la generalització de la minimització i la de la suma~ pot ser que ara un carní de cost mínim contingui algun circuitAixí dones, modificarem el pas 2 del rnetode de Floyd, de manera que aracalcularem ~per aquest ordre+- per a m, i,j = 1,2 ... ,n

(6.1)

\m \m-l \m \-l . ..j.Aim = Aim E9 Amm v ~ r m (6.2)

\m \m \m-l \-I . ..j.Ami = Amm E9 Ami V Z -r- m (6.3)

\ m \ m \ m \ m-l vr : ...j.Aij = Aim E9 Amj • Aij V ~,J r m (6.4)

EXEMPLEConsiderem el graf de la figura 6.2 i prenem k = 3. En la taula que ve acontinuació es detalla el cálcul deIs costos dels 3 millors camins per a cadaparella de vertexs.

fig. 6.2

Page 128: Grafs - Fonaments i Algorismes

128 6. Camins i connectivitat

11 0,00,00 0,00,00 0,00,00 0,00,00 0,6,712 00,00,00 00,00,00 00,00,00 00,00,00 0,1,213 00,00,00 00,00,00 00,00,00 00,00,00 -1,0,114 -2,00,00 -2,00,00 -2,00,00 -2,00,00 -2,0,121 6,00,00 6,00,00 6,00,00 2,3,4 2,3,422 0,00,00 0,00,00 0,00,00 0,1,2 0,1,223 -1,00,00 -1,00,00 -1,00,00 -1,0,1 -1,0,124 00,00,00 4,00,00 4,00,00 0,1,2 0,1,231 3,00,00 3,00,00 3,8,00 3,4,5 3,4,532 2,00,00 2,00,00 2,00,00 2,3,4 2,3,433 0,00,00 0,00,00 0,1,00 0,1,2 0,1,234 00,00,00 1,00,00 1,6,00 1,2,3 1,2,341 9,00,00 9,00,00 8,9,00 4,5,6 4,5,642 2,00,00 2,00,00 2,00,00 2,3,4 2,3,443 5,00,00 5,00,00 1,5,00 1,2,3 1,2,344 0,00,00 0,7,00 0,6,7 0),2 0,1,2

Complexitat de l'algorismeRespecte a la taula usada per a representar els resultats per a cada valor

de m = 0,1,2 ...,n ens cal calcular les columnes ,\1,,\2 ...,,\n. Cada columnarequereix els calculs següents: l'equació 6.1 una vegada, la qual cosa implica ksumes generalitzades; les equacions 6.2 i 6.3 es calculen n - 1 vegades i aixóimplica 2n-2 sumes generalitzades; l'equació 6.4 es calcula (n-1)2 vegades, demanera que es realitzen (n - 1)2 sumes generalitzades i (n - 1)2 comparacionsgeneralitzades.

En total, dones, cadascuna de les n columnes de la taula demana n2 + k-1sumes generalitzades i (n - 1)2 minimitzacions generalitzades. Aixo dóna untotal de O(n3) sumes i minimitzacions generalitzades.

6.3 Altres camins ópt ims

Veurem ara el plantejament i la resolució d'uns quants problemes que estanrelacionats -d'una manera o altra- amb la determinació d'un camí optim enun graf G.

Page 129: Grafs - Fonaments i Algorismes

6.3. Altres carnins ópt ims 129

(1) Grafs CPM

Les sigles corresponen a critical path method o métode del camí crítico Esrefereix sempre a un graf G dirigit, sense circuits, i amb cost no negatiu en elsares.

Aquest tipus particular de graf apareix sovint en la representació de pro-jectes complexos, que poden ésser dividits en diversos subprojectes indepen-dents. L'acabament d'alguns deis subprojectes sera condició previa a l'inicid'altres i, tots ells, tindran un temps de realització estimat. Així, en un caspractic, cada vertex Vi podria ser un subprojecte i determinat, l'arc (Vi,Vj)

indicaria que el Vi s'ha d'acabar abans de cornencar el Vj i el cost C(Vi,Vj)

representaria el nombre mínim d'unitats de temps que passaran des que hacomencat Vi fins que pot comencar Vj.

El que es tracta de determinar és el nombre mínim d'unitats de temps quecalen per a dur a terme tot el projecte; i aixo equival a trobar el camí de costtotal moaim que va des de l'inici fins a la fi del projecte.

El metode que presentem més avall, tot i ésser diferent, segueix la ideabásica d'etiquetatge de l'algorisme de Dijkstra. Tal com veurem, aprofita el fetque G no conté circuits.

Considerem que tots els vertexs estan numerats d'l a n, de manera quel'arc (Vi,Vj) sempre verifica que j > i.

CPM

1. A(vd := O; j := 2.

2.

3. j := j + 1.Si j < ti tornen a 2.Si no, A(vn) és el cost cercai.

El camí e de s = VI a t = Vn que fa que Vn rebi l'etiqueta A(Vn) és elque s'anomena crític i indica que qualsevol subprojecte de e que es retardien k unitats sobre el que té previst incidirá autornáticament augmentant enk unitats el temps total necessari per a l'acabament del projecte. En canvi,els subprojectes no inclosos a e poden tenir diversos retards sense arribar aalterar el temps total obtingut.

Page 130: Grafs - Fonaments i Algorismes

130 6. Camins i connectivitat

La complexitat del meto de es determina directament del fet que el pasfonamental, el 2, es realitza n -1 vegades. La j-esima vegada (j = 2,3 ... ,n),el vertex Vj té un maxim de j - 1 antecessors, i, per tant, trobar el vertex quedóna el cost major implicara fer j - 2 comparacions. Així dones, la suma dónauna expressió O(n2).

(2) El camí més fiable

Considerem ara el cas en que el cost associat a cada arc d'un graf dirigit G(V, A)representa la probabilitat que l'arc estigui "disponible" per a ésser usat. Així,tindrem que V(Vi, Vj) E A O < C(Vi, Vj) = Pij :=::: l.

Si establim que la disponibilitat de cada arc és totalment independent de ladels altres, aleshores, la probabilitat que un cert camí C pugui ésser recorregutsense que falli cap arc, vindra donada per:

p(C) = II Pij(vi,vj)EC

Per a resoldre el problema de trobar quin és el eamí més fiable de s a t, trans-formarem el plantejament per tal d'obtenir-ne un altre que ja sabem resoldre.Així, si canviem els costos de G de manera que ara e*(Vi, Vj) = -loga Pij,tindrem que en tot camí C:

log¿ p(C) = L log , Pij = - L e*(Vi, Vj) (6.5)(vi,vj)EC (vi,vj)EC

En conseqiiencia, usant que ellogaritme és una funció estrictament creixent,el camí menys costó s Cst de s a t usant els nous costos e" (Vi, Vj) coincidir a ambel camí més fiable Cst de s a t usant les probabilitats Pij. A més, considerant 6.5,tenim que la probabilitat del camí solució sera:

(3) El camí de capacitat rnaxirna

Sigui G(V, A) un graf dirigit on cada (Vi, Vj) té associat una eapaeitat qij ~ O.Aquesta capacitat qij indica el "transit" maxirn que pot tolerar l'arc (Vi, Vj),essent aquest transit-el nombre de kg d'una mercaderia que es poden enviar,el nombre de cotxes que poden circular alhora per una determinada ruta, elcabdal de fluid per unitat de temps que pot transportar una canonada, etc.Interessa determinar quin és el camí de s a t que té una eapaeitat méxima Q,és a dir, quin és el transit maxim que pot anar de s a t respectant la capacitatde tots els ares pels quals s'encamina.

Page 131: Grafs - Fonaments i Algorismes

6.3. Altres camins ópt ims 131

Definició previaEn un graf dirigit G(V, A) un tall dirigit que separa Vi de Vj és un conjuntK ~ A tal que el graf G (V, A - K) no conté cap camí que vagi de Vi a Vj.

El rnetode que veurem a continuació, es basa en la següent:

Proposició 6.7 En tot G(V, A) es verifica que la capacitat del camí de capac-itat moaimo de 8 a tés:

Q = min{ max {qij}}KES (v¡,vj)EK

essent S la famüia de tots els talls dirigits que separen 8 de t.

DEMOSTRAcró. Es tracta només de comprovar que Q no pot ésser ni més granni més petita que el valor que estableix l'enunciat.D

Obtenció de la capacitat máxima

1. Considereu el tal! dirigit K1 = {aj = (8, V - {s}) EA}, que separa 8 det, i determineu Ql = maxaj EK1 {qij}.p:= 1.

2. Construi"u el graf parcial G'(V, A') on A' = {(Vi, Vj) tal que % 2: Qp}.

3. Obtingueu, a G', el conjunt R' (s) dels uériexs accessibles des de 8.

4. Si tE R'(8) =? Q = Qp i qualsevol camí de 8 a t dintre de G' és solució.Acabeu.

5. p:= p + 1.Formeu el tall Kp = {ajtorneu a 2.

(R'(8), V - R'(8))}, determineu-ne la Qp

otem que, per construcció, si K¡ i Ki+l són dos talls consecutius formatsen el procediment, aleshores Qi+l < Qi. Així, quan puguem arribar de 8 a t-dins de G'- segur que la capacitat del camí és la més gran possible.

ObservacióSi el graf G(V, A) considerat no conté circuits, el procés de determinar el camíde capacitat máxima es pot simplificar molt si s'usa una estrategia similar a lautilizada en els grafs CP M.

Aprofitant que no hi ha circuits podrem indexar els vertexs d'l a n demanera que (Vi,Vj) =? i < j. Fet aixó, assignarem una etiqueta >'(Vi) a cadaVi E V, el vertex inicial VI = s dura l'etiqueta >.(8) = (X) i, per als altres:

Page 132: Grafs - Fonaments i Algorismes

132 6. Carnins i connectivitat

És fácil de comprovar que, d'aquesta manera, A(Vn = t) contindra la capacitatmáxima cercada, mentre que el camí es pot formar resseguint les etiquetesenrere des de t fins arribar a s.

(4) El camí de capacitat máxima esperada

Considerarem ara un darrer cas que combina els dos anteriors. Sigui G(V, A)un graf dirigit on cada (Vi, Vj) té associat una probabilitat de disponibilitat Pijtal com a (2), i una capacitat máxima qij tal com a (3).

Si la capacitat esperada d'un cert camí P la definim com a:

e(P) = II Pij· min {Qij}(vi,vj)EP(vi,vj)EP

aleshores, el que volem és determinar el camí P que va de s a t i que maximitzae(P).

El meto de es basa en l'eliminació progressiva d'arcs que no poden formarpart del camí P desitjat. Comencem cercant el camí P més fiable entre s i tsegons hem vist a (2). Sigui Q(P) la capacitat máxima de P, és a dir:

Q(P) = ·min {qij}(vi,vj)EP

Sigui Ao = {(Vi,Vj) E A tal que Qij ::; Q(P)}, aleshores, el graf parcialGI (V, Al = A - Ao) verificara una de dues:- o bé conté P- o bé P = P

Efectivament, és dar que el camí P ha de tenir p(p) ::; p(P). Per tant, sie(P) ha de superar e(P), aleshores, necessariament Q(p) > Q(P). Així dones,tots els ares del conjunt Ao poden ésser oblidats, i el camí P queda dins de GI

.

Vist aixo, es pot ara repetir el procés i cercar el camí més probable P' a GI.

Es verificara que Q(PI) > Q(P) i p(PI) ::; p(P). Si es verifica que e(pl) > e(P),

aleshores, guardem P' com a millor solució provisional; cas contrari, guardemP. Formem igualment el conjunt Al = {(Vi, Vj) E Al tal que qij ::; Q (PI)},construim el graf parcial Gil (V, A" = Al - Al) i procedim com abans.

El procés es repeteix fins que, en el pas k:- o bé el graf parcial e» desconnecta s de t- o bé p(Pk) . Q(P*) < e(Pmillor-provisiona¡), on P* representa el camí de s

Page 133: Grafs - Fonaments i Algorismes

6.4. Circuits i talls 133

a t de capacitat máxima a G, en aquest cas, és dar que no es pot obtenir capaltra solució millor

Tant si es dóna la primera situació com la segona, la solució guardada finsel moment (Prnillor-provisional) és l'optima.

6.4 Circuits i tallsConsiderem un multigraf simetric G(V, A) que tingui k components, definim:el nombre cociclomatic de G, com a p(G) = n-k, i el nombre ciclomoiic de G,com a {L(G) = m - p(G) = m-n + k.

Notem que p( G) dóna el nombre d'arestes que hi ha en la unió de k arbresgeneradors corresponents als k components de G. Així, si G és connex, tenimk = 1 i p(G) = n - 1 tal com ja sabem. Igualment, podem interpretar {L(G)com el nombre de circuits que es poden formar en un arbre generador qualsevolde G si li afegim una corda.

Donat un arbre generador T d'un graf simetric G, els {L(G) circuits quees poden formar afegint una corda a T s'anomenen els circuits fonamentalsde G (respecte a T). Usarem <I> per identificar el conjunt dels {L(G) circuitsfonamentals <I>l¡ <I>2·.·, <I>¡t(G) relatius a T.

Cada circuit e de G -sigui fonamental o no- sera representat per unvector binari de m posicions de manera que en la z-esima posició hi haura:

si a¿ E ecas contrari

Representarem per EBla suma de circuits modul 2 posició a posició, usant lafunció OR-exdusiva. Així, p.e., (0011010110) EB(0111010011) = (0100000101).Amb aquesta notació podem establir el següent:

Teorema 6.8 Donat G(V, A) sigui T qualsevol arbre generador de G :::} totcircuit e de G es pot expressar com a combinació d'alguns deis circuits fona-mentals de G, és a dir, e = <I>j EB <I>k··· EB <I>t.

DEMOSTRACIÓ. Podem considerar -sense perdua de generalitat- que les iprimeres arestes al, a2 ... , ai són cordes, i que les m - i restants ai+l ..., arn sónarestes de l'arbre T.

Sigui e un circuit qualsevol que conté algunes arestes de T i, exactament,les k :::;i primeres cordes, és a dir, e = (al = 1, a2 = 1..., ak = 1, ak+l =O, ak+2 = O ... , a; = O ... ). Sigui <I>kl'únic circuit fonamental que conté la cardaak (1 :::;k :::;i).

Page 134: Grafs - Fonaments i Algorismes

1134 6. Carnins i connectivitat

y = (Yij) d'ordre (p( G) x m) la matriu dels talls fonamentals

{1 si a· E K

de G respecte a un arbre T(G) on Yij = O J t t .cas con ran

Definim e' = 'Í>1EB 'Í>2··· EB 'Í>k; veurem que e i e' són el mateix circuitoSuposem que no és així, és a dir, e EB e' =j:. (O ... , O ... , O). Per a tota parella decircuits el, e2 es verifica que el EB e2 és o bé un altre circuit, o bé dos circuitsdisjunts d'arestes. Aixo també és valid per a e EB e'. Pero e i e' contenencadascú les cordes al, a2 ... , ak de T, i cap altra; així, e EB e' només contindraarestes de T. Per tant, no podrá formar cap circuit, i aixo és contrari al queacabem de dir. En conseqiiencia e' = e.

Notem que, a més, no es pot obtenir cap circuit fonamental com a combi-nació d'altres fonamentals, donat que cada carda es traba en un únic circuitfonamental. O

Donat un arbre T generador d'un graf simetric G, els p(G) talls que con-tenen una, i només una, aresta de T s'anomenen els talls fonamentals de G(respecte a T). Representarem per K el conjunt dels p( G) talls fonamentalsK1, K2 •.. , Kp(G).

Usarem per als talls la mateixa notació vectorial associada als circuits finsara i prendrem també la suma de talls a través de l'operació EB. D'aquestamanera, es pot establir el següent resultat -analeg al teorema 6.8-:

Teorema 6.9 Donat G(V, A) sigui T qualsevol arbre generador de G :::} tottall F de G es pot expressar com a combinació d'alguns dels talls fonamentalsde G, és a dir, F = Kj EB K¿ ... EB K¿

DEMOSTRAcró. Es pracedeix de forma similar a l'esquema usat en el teo-rema 6.8.0

6.5 Lligam entre circuits i talls

Veurem en aquest apartat que els circuits fonamentals i els talls fonamentalsestan fortament relacionats, a diferencia del que es podria pensar si tan solsse 'n té en compte la definició.

Primer de tot usarem una representació matricial de 'Í> i de K per poderoperar més cómodament. Així, siguin:

Z = (Zij) d'ordre (¡..t(G) x m) la matriu dels circuits fonamentals

{1 si a· E 'Í>.

de G respecte a un arbre T(G) on Zij = O J t t .cas con ran

Page 135: Grafs - Fonaments i Algorismes

6.5. Lligam entre circuits i talls 135

Si ara numerem de nou totes les arestes, de manera que les cordes rebinels índexs des d'l fins a f.L(G) i les arestes de l'arbre des de f.L(G) + 1 fins a m,podem desglossar les dues matrius com a:

Z = (IJ.l(G)IZd

essent Ir la matriu identitat d'ordre r.

Aixó és possible donat que cada corda es troba en un únic circuit fonamental,i cada aresta de l'arbre es troba en un únic tall fonamental.

EXEMPLESigui G el graf dirigit de la fig. 6.3. (Les arestes van numerades d'l a 13, íles que formen l'arbre T = {a6,a7, ... ,a13} es representen amb línia senzilla,mentre que les cordes al ...,a5 apareixen amb línia doble).

1 2 V3Vi V2

7 9 111

4 3

fig. 6.3

Aleshores, podem formar les dues matrius:

z~o O O O O O O 1 1 O O O

1)1 O O O O O O 1 1 1 OO 1 O O O O O O O O 1O O 1 O 1 1 1 O 1 O OO O O 1 1 1 1 O O O O

O O O 1 1 1 O O O O O O OO O O 1 1 O 1 O O O O O O1 O O 1 1 O O 1 O O O O O

y= 1 1 O O O O O O 1 O O O OO 1 O 1 O O O O O 1 O O OO 1 O O O O O O O O 1 O OO O 1 O O O O O O O O 1 OO O 1 1 O O O O O O O O 1

Page 136: Grafs - Fonaments i Algorismes

136 6. Camins i connectivitat

La relació fonamental entre circuits i talls és conseqüencia del següent:

Teorema 6.10 Z i y són ortogonals, és a dir, Z . yt = (O).

DEMOSTRAcró. Només cal recordar que usem la suma modul 2 i que cadacircuit afectat per un tall té sempre un nombre parell d'arestes en comú ambel tall.O

Així, podem establir que:

CoroHari 6.11 Zl = yrDEMOSTRAcró. Efectivament, usant el teorema 6.10 podem escriure:

t I (y1t) t )Z . y = (11"Zd Ip = Yl + Zl = (O

per tant, yt = -Zl = Zl donat que -1 == l(mod 2).0

La conclusió és que coneguts tots els circuits (talls) fonamentals de O, po-dem determinar-ne directament tots els circuits i tots els talls.

6.6 ConnectivitatEstudiarem ara en quina mesura estan connectats els grafs simetrics. Fins ara,hem definit -i usat- el concepte de graf t-connex en relació als vertexs; apartir d'ara distingirem la connectivitat referida als vertexs de la connectivitatreferida a les arestes. Així, direm que O connex i simetric té:- connectivitat K,(O) si el nombre mínim de vertexs que s'han d'eliminar de Oper a obtenir un graf disconnex o el graf trivial és K,( O)- connectivitat d'arestes K,a(O) si el nombre mínim d'arestes que s'han d'eli-minar de O per a obtenir un graf disconnex o el graf trivial és K,a(O)En tot graf O els dos tipus de connectivitat estan relacionats entre si i amb elparametre 6(0) segons el:

Teorema 6.12 P er a cada graf O, K,( O) ::; K,a(O) ::; 6 (O) .<,

DEMosTRACró. Sigui Vi E V tal que grau(vi) = 6(0). Si eliminem de O les6(0) arestes que incideixen sobre Vi, en el graf 01 resultant Vi és un vertexaíllat, de manera que 01 és disconnex. Per tant, K,a(O) ::; 6(0).

Page 137: Grafs - Fonaments i Algorismes

6.6. Connectivitat 137

D'altra banda, si Ka(G) = O vol dir que G és disconnex o trivial i, per tant,/\'(G) = O. Si Ka(G) = 1, tenim que G és connex i conté un pont; per tant, o béG és K2 o bé G és connex i conté alguna articulació. Podem, dones, prendreque Ka\(G) 2 2.

Sabem que hi ha un conjunt de Ka(G) arestes en G tals que si s'eliminen elgraf resultant és disconnex. Si traiem únicament K,a(G) - 1 d'aquest conjunt,el graf resultant és encara connex i conté un pont (Vi, Vj). Per a cadascuna deles n¿ (G) - 1 arestes prenem un vertex que hi sigui incident, diferent de Vi i deVj. Si l'eliminació d'aquests vertexs produeix un graf G' disconnex, aleshores,K( G) < K,a(G). Si, en canvi, G' és connex, aleshores: o bé G' és K 2 o bé contéuna articulació. En qualsevol dels dos casos, hi haura un vertex en G' tal que, si'elimina, dóna un graf disconnex o trivial. 1 aixo implica que K,(G) ::; K,a(G).O

A més, la connectivitat d'arestes esta caracteritzada de forma bastant sen-zilla, així:

Teorema 6.13 Tot graf G(V -::f. 0, A) no trivial té Ka = t {:} no hi ha capWc V tal que el nombre d'arestes que enllacen W amb V - W és inferior a t.

DEMOSTRAcró. (=?) Sigui G(V, A) amb K,a(G) = t. Si existís W e V tal quej < t arestes enllacessin W amb V - W, aleshores, l'eliminació d'aquestes jarestes deixaria el graf resultant disconnex. 1 aixo és una contradicció.

(<=) Suposem ara que no hi ha cap W e V pel qual el nombre d'arestesque enllacen W amb V - W és més petit que t, pero que Ka(G) -::f. t. Donat queG no és trivial, tenim que hi haura r arestes O ::; r < t tals que, si s'eliminende G, el graf resultant G' és disconnex. Sigui G~ un component de Gl amb V{vertexs. Pel fet que el nombre d'arestes que enllacen V{ amb V - V{ és, com amolt r i r < t, obtenim una contradicció.O

En tot graf connex, tant la connectivitat (de vertexs) com la connectivitatd'arestes es poden estudiar considerant per a cada parella de vertexs Vi, "i elnombre de camins disjunts de vertexs o d'arestes que hi ha entre l'un i l'altre(i quan diem disjunts de vertexs no considerem, naturalment, ni Vi ni Vj com apart del camí). Així, per exemple, en un graf 2-connex, com ara el format perun circuit, hi ha dos camins disjunts de vertexs entre cada parella de vertexs delcircuit, segons es prengui el camí en sentit horari o el camí en sentit antihorari.La caracterització de la connectivitat en funció del nombre d'aquests caminsés conseqiiencia del teorema 6.14 degut a Menger.

ObservacióEn el que segueix, quan diem que un conjunt de vertexs (o arestes) W separados vertexs donats u i V en un graf G, significa que W és un separador de Gque deixa u i V en components diferents. En el graf de la fig. 6.4 el conjunt devertexs W = {Xl, X2, X3} és un separador de u i v.

Page 138: Grafs - Fonaments i Algorismes

138 6. Carniris i connectivitat

u v

fig. 6.4

Teorema 6.14 Siguin Vi iVj dos uériexs no adjacents d 'un graf G :::} el nombrettuucim de camins disjunts de uériexs entre Vi i Vj coincideix amb el nombremínim de oértexs que separen Vi de "i-

DEMOSTRAcró. Si Vi i Vj es troben en components diferents del graf el resultatés cert, prendrem dones que el graf considerat és connex.Si el nombre mínim de vertexs que separen dos vertexs no adjacents Vi i Vj

és q ;:::1, aleshores, és immediat que el nombre rnaxim de camins disjunts devertexs entre Vi i Vj dins de G no pot superar q. Aixo implica que l'enunciat éscert si q = 1 i, en conseqíiencia, podem considerar que q ;:::2. Representaremper Sq (Vi, Vj) la propietat que no menys de q ;:::1 vertexs separen dos vertexsno adjacents Vi, Vj.

Si suposem que el teorema no és cert, vol dir que podem trabar el p méspetit pel qual existeix una família de grafs (), amb dos vertexs no adjacents Vi iVj, tal que cada G E () verifica Sp (Vi, Vj); pero, en canvi, no hi ha els p caminsdisjunts de vertexs entre Vi i Vj. D'entre aquesta família () sigui F un dels que téel menor nombre de vertexs, i sigui H el graf parcial de F que verifica Sp(Vi, Vj)

pero que deixa de verificar-he si en traiem una aresta qualsevol. Determinemara tres prapietats que H verificara.(1) Per a tota aresta a = (VI,V2) de H el graf H - {a} no verifica Sp(Vi,Vj)'

Aixo implica que en H - {a} hi ha un conjunt U(a) de menys de p vertexsque separa Vi i Vj. Donat que VI i V2 són adjacents en H, com a mínim und'ells, diguem VI, no és ni Vi ni "i- A més, cal que IU(a)1 = p - 1 ja quesi IU(a)1 < p - 1, donat que U(a) U {vd separa Vi i Vj en H, el graf H noverificaria Sp( Vi, Vj). Per tant, existeix un conjunt de p vertexs que separa Vi iVj en H, ja sigui U(a) U {vd o U(a) U {V2}.

(2) Sigui A(H) el conjunt d'arestes de H. Per a tot vertex w de H, Vj =1 w =1 Vi,

no pot donar-se que (Vi, w) i (Vj, w) es trobin alhora en A(H), ja que si fos així,H - {w } verificaria Sp-I (Vi, Vj) de manera que H - {w } contindria un conjunt dep - 1 camins disjunts de vertexs entre Vi i "i Pero, en aquest cas, H contindriap camins disjunts de vertexs entre Vi i Vj, la qual cosa no és possible.

Page 139: Grafs - Fonaments i Algorismes

6.6. Connectivitat 139

(3) Si W = {Wl,W2""Wp} és qualsevol conjunt de p vertexs que separa Vi i Vj

en H, aleshores, o bé (Vi, Wk) E A(H) Vk = 1, 2 ... ,p o bé (Vj, Wk) E A(H) Vk =1,2 ... ,p. (Es deixa com a exercici.)

Sigui ara e el camí més curt de Vi a Vj en H. Usant (2) sabem que lalongitud de e és més gran o igual que 3; per tant, podem representar e coma Vi,Ul,U2 ... ,Vj on Ul =f. Vj =f. U2· Si anomenem a = (Ul,U2), aleshores, usant(1), U(a) U {ud és un conjunt de p vertexs que separa Vi de Vj. Donat que(Vi, ud E A(H), usant (2) i (3) tenim que Vi és adjacent a cada vertex de U(a)._ o obstant aixo, U (a) U {U2} és també un conjunt de p vertexs que separa Vi

de "i Ja que U(a) =f. 0 tenim -usant (2) i (3)- que (Vi, U2) E A(H). Peroaixo contradiu el fet que e és el camí més curt de Vi a Vj. O

Ara ja podem donar la caracterització de la connectivitat:

Teorema 6.15 Un graf G no trivial té K,(G) = t {:? per a cada parella deuériexs Vi, Vj hi ha, pel cap baix, t camins disjunts de oértezs que uneixen Vi

amb Vj.

DEMOSTRACIÓ. (::::})Sigui G(V, A) amb K,(G) = ti sigui m < t el nombremaxim de camins disjunts de vertexs entre Vi i Vj. Si (Vi, Vj) ~ A aleshores, pelteorema 6.14, K,(G) :S m < t, la qual cosa contradiu la hipotesi.

Si (Vi,Vj) E A, aleshores, el nombre máxim de camins disjunts de vertexsentre Vi i Vj en G-{(Vi, Vj)} és m-1 < t-1; així dones, K,(G-{(Vi, Vj)}) < t-l.Aixo vol dir que hi ha un conjunt de vertexs W amb IWI < t - 1 tal queG - {(Vi,Vj)} - W és un graf disconnex. En conseqíiencia, G - (W U {vd)o G - (W U {Vj}) és disconnex -o els dos alhora-, la qual cosa implica queK,(G) < t. 1 aixo és una contradicció.

({=) Suposem ara que G és un graf no trivial amb K,( G) =f. ti que cada parellade vertexs diferents estan connectats, pel cap baix, per t camins disjunts devertexs. Tenim que K,( G) < t; sigui W un conjunt de K,( G) vertexs de G tal queG - W és disconnex, i siguin Vi i Vj dos vertexs que es troben en componentsdiferents de G - W. D'una banda Vi i Vj no poden ésser adjacents, pero, per lahipótesi inicial, tenim pel cap baix, t camins disjunts de vertexs entre Vi i Vj.

D'altra banda, pel teorema 6.14, Vi i Vj no poden estar separats per menys det vertexs, i aixo dóna una contradicció.D

Els teoremes 6.14 i 6.15 tenen els seus equivalents per a la connectivitatd'arestes, així:

Teorema 6.16 Siguin Vi i Vj dos uértexs diferents d'un graf G ::::} el nombrettuizim de camins disjunts d'arestes entre Vi i Vj coincideix amb el nombremínim d 'asestes que separen Vi de Vj.

Page 140: Grafs - Fonaments i Algorismes

140 6. Camins i connectivitat

DEMOSTRAcró. Considerarem el cas més general en que G és un multigraf. SiVi i Vj es troben en components diferents del multigraf, aleshores el resultat ésclarament cert. Prendrem, per tant, un multigraf G connex.

Donats dos vertexs diferents Vi i Vj d'un multigraf connex G, representaremper Sq(Vi,Vj) la propietat que no menys de q arestes separen Vi i "s- Si en G,el nombre mínim d'arestes que separen Vi i Vj és q, aleshores, el nombre máximde camins disjunts d'arestes entre Vi i Vj no pot superar q. Per tant, si elteorema no és cert, implica que hi ha un p pel qual es pot formar una famíliade multigrafs 9 en la qual cada graf G E 9 conté vertexs Vi i Vj pels qualses verifica Sp(Vi,Vj) i, en canvi, no hi ha cap conjunt de p camins disjuntsd'arestes entre Vi i Vj. D'entre tots els G E 9 sigui F un deIs que té el menornombre d'arestes. És clar que, per a cada aresta a E F el multigraf F - {a}no verifica Sp(Vi,Vj). Aixo implica que en F - {a} hi ha un conjunt de p - 1arestes que separa Vi i Vj. Per tant, el nombre rnínim d'arestes que separa Vi iVj és p.

Si en F, cada camí de Vi a Vj té longitud 1 o 2, aleshores, donat que elnombre mínim d'arestes de F que separen Vi i Vj és p, cal que hi hagi p caminsdisjunts d'arestes de Vi a Vj en F. Pero aixo contradiu l'elecció de F; per tant,F ha de tenir -com a mínim- un carní e de Vi a Vj de longitud no inferior a3. Sigui al una aresta de e no incident ni a Vi ni a "s- Tenim que al pertanya un conjunt de p arestes de F que separa Vi de Vj, sigui {al,a2 ... ,ap} aquestconjunto Dividim ara cadascuna de les p arestes d'aquest conjunt, de maneraque si ak = (Uk, vd (k = l...,p) aleshores canviem ak per un nou vertex Wk iafegim al resultat les 2p arestes (Uk,Wk) i (Wk,Vk)' Fusionem ara tots els Wk iproduím un nou vertex W que tingui com a adjacencies les que hi havia en laUWk. Si anomenem H el multigraf resultant, resulta que W és una articulacióde H, i que cada camí de Vi a Vj en H conté W.

Siguin H¡ el submultigraf de H determinat per a tots els camins de Vi a W

en H i Hj el submultigraf determinat per a tots els camins de Vj a W en H.

Tant H, com H, tenen menys arestes que F. A més, el nombre mínim d'arestesque separen Vi i W en H¡ és p, i el nombre mínim d'arestes que separen Vj i W

en Hj és p. Per tant, el multigraf H, verifica Sp(Vi, w) i el multigraf H¡ verificaSp( Vj, w). Aixó vol dir que H¡ conté un conjunt de p camins disjunts d'arestesde Vi a w, i Hj un conjunt de p camins disjunts d'arestes de Vj a W. Per a cadak = 1, 2 ... ,p podem concatenar un camí de Vi a W amb un altre de W a Vj pera produir un camí de Vi a Vj en H que conté les dues arestes (Uk,W) i (W,Vk)'

Aquests p camins de Vi a Vj en H són disjunts d'arestes. Ara podem desfer elprocés anterior de divisió de les arestes ak de F i de fusió del vertexs Wk, pera obtenir un conjunt de p camins disjunts d'arestes de Vi a Vj en F. Pero aixoevidentment, produeix una contradicció.D

Usant el teorema precedent i, per analogia amb el teorema 6.15, tenim unaaltra caracterització de la connectivitat d'arestes:

Page 141: Grafs - Fonaments i Algorismes

6.6. Connectivitat 141

Teorema 6.17 Un graf G no trivial té Ka(G) = t <=> per a cada parella deuértexs Vi, Vj hi ha, pel cap baix, t camins disjunts d'arestes que uneixen Vi

amb vs-

Comentaris bibliográficaEls algorismes de camí de cost mínim es troben, originalment, en Dijkstra(1959), Ford (1946) i Floyd (1962). Una alternativa al meto de generalitzat deFloyd, és l'anomenat double sweep (Shier (1976)) que determina els k millorscamins des d'un vertex a tots els altres, en lloc de fer-ho entre cada parella devertexs,

El teorema 6.14 aparegué en Menger (1927) pero la demostració feta ésmés senzilla que l'original i es troba en Dirac (1966). La caracterització delteorema 6.15 fou establerta en Whitney (1932).

Exercicis

1. Una pagesa té una garrafa de 8 litres plena de vi, i disposa només de duesgarrafes buides de 3 i 5 litres respectivament. Quin nombre mínim de passosha de fer per a repartir el vi en dues parts iguals?

2. Si tots els ares d'un graf dirigit tenen cost diferent, és cert que el camí decost mínim entre dos vertexs qualssevol és necessariament únic?

3. Un llop, un xai i un broquil es troben al marge esquerre d'un riu, i el barquerdel riu els vol passar al marge dret d'un en un. Elllop i el xai no poden quedarsols per raons evidents, i el mateix passa amb el xai i el broquil. Com s'had'organitzar el trasllat?

4. Demostreu que quan volem determinar el camí de cost mínim de s a t enun graf, no resulta eficient considerar-ne tots els camins possibles.

5. Demostreu que que si G(V, A) té connectivitat de vertexs K es verifica que

6. Formuleu un algorisme per detectar el circuit de cost mínim en un grafdirigit amb costos no negatius en els ares.

7. Modifiquen l'algorisme de Floyd de manera que permeti obten ir -a mésdels costos- quins són els n2 camins optims.

Page 142: Grafs - Fonaments i Algorismes

142 6. Camins i connectivitat

8. Sigui G(V, A) dirigit amb costos no negatius en els ares. Si s'afegeix unnou are a G, com es pot usar la informació subministrada per l'execució del'algorisme de Dijkstra, per tal de trobar el nou camí optim sense haver d'aplicaraltra vegada l'algorisme? La mateixa qüestió, si es canvia el cost d'un dels aresde G.

9. Una multinacional de productes farrnaceutics vol desenvolupar un tracta-ment nou per a certes afeccions. Donada la gran competencia que hi ha enel sector, cal que el producte estigui en el mercat en un termini maxim de 12mesos. El desenvolupament del producte consta de quatre fases i cadascuna espot fer a un ritme lent, normal o rapid. En la taula que ve a continuació esdóna -en aquest ordre- el temps necessari en mesos i el cost en milers de $per a cadascuna de les fases i per a cadascun dels ritmes:

Experimentació3/62/81/12

Registre del producte6/14/12/3

Recerca5/54/72/10

LentNormalRapid

En termes económica, quina és la planificació óptima per a l'empresa si no potgastar més de 30.000$?

10. Un procés de manufactura comenca amb un troc de fusta en bruto Lafusta ha d'ésser tallada, polida, foradada i pintada. Tallar s'ha de fer abans deforadar i, polir, abans de pintar. Considereu que els requeriments de temps pera cada operació són els següents: tallardemana una unitat; polir, també una;pintar, quatre, si la fusta no és tallada i, dues, si ja ho és; foradar demana tresunitats, si la fusta no és polida, cinc, si és polida pero no pintada, i set, si jaés pintada. Quin ordre de realització del procés cal seguir per a minimitzar eltemps total?

Lo

Page 143: Grafs - Fonaments i Algorismes

apítol 7

arxes de transport

.1 Flux maxirn en una xarxa

.na xarxa de transport (o simplement una xarxa) sera un model per a simularestructura en la qual hi ha un cert flux que es transmet -a través d'una

x d'enllac;os- des d'un centre de producció s fins a un centre de destinacióant per diversos nusos de recepció i de redistribució, on cada enllac que

rriba o que surt d'un nus té una capacitat máxima de flux.El problema basic consisteix a determinar el valor del flux maxirn que esfer arribar a t a partir de s, a través de la xarxa, així com la distribuciódiferents enllacos. (Notem que aquest plantejament amplia el que havíemen el capítol 6 per al problema del camí de capacitat maxirna.)

Representarem les xarxes mitjancant un graf dirigit G(V, A) sense llacos,b una capacitat gij > O associada a cada are (Vi, Vj). G tindra VI = S com a

vertex inicial i Vn = t com a vertex final.

F : A ---+ R+ U {O}aij ---+ Fij

'anomena un flux compatible de valor ~ per a G si:

si Vi = ssi Vi = tsi s i= Vi i= t

143

Page 144: Grafs - Fonaments i Algorismes

144 7. Xarxes de transport

Aquesta definició, ens ve a dir que el vertex s produeix tot el flux ques'envia, que el vertex t acull tot el que s'ha enviat i que tots els altres vertexsalliberen tot el flux que reben i només aquest. Quan un are (Vi,Vj) verificaFij = qij direm que esta saturat. Direm que un tall dirigit K esta saturat sitots els arcs que el formen estan saturats.

Mentre no se n'indiqui el contrari, assumim que tot flux considerat és com-patible.

fig. 7.1

Si definim la capacitat d 'un tall dirigit K com a:

Q(K) = L qij(vi,vj)EK

i Kmin representa el tall que separa s de t que minimitza Q(K), aleshores, elresultat fonamental per a les xarxes de flux fou donat per Ford i Fulkerson(1956) i es coneix amb el nom de teorema del [iua-maaim. tall-mínim.

Teorema 7.1 En tota xarxa G, el valor del flux méxim. de s a t coincideixamb la capacitat del tall de capacitat mínima que separa s de t.

DEMOSTRACIÓ. És fácil de veure que el flux maxim Fmax de s a t no potsuperar Q(Kmin) donat que tots els camins que van de s a t usaran, pel capbaix, un dels ares del tall Kmin. Es tracta dones de veure que hi ha un flux enla xarxa que iguala Q(Kmin).

Sigui F = {Fij} un flux de valor ~ assignat a la xarxa. Construirn recur-sivament un tall dirigit K amb una part dels vertexs a VI i l'altra a V" (VI U V" = V) de la manera següent:1. Comencem amb VI = {s}.2. Si Vi E VI i Fij < qij o Fji > O aleshores VI := VI U {Vj}.3. Repetim el pas 2 mentre es pugui.

Page 145: Grafs - Fonaments i Algorismes

.1. Flux máxim en una xarxa l-!5

Quan acaba el procés hi ha dues possibilitats: t E V' i t ~ V'. Considerem-per separat:

a) t E V'Aixo vol dir que existeix una cadena d'arcs H des de s fins a t en la qual:- V(Vi,Vj) usat "endavant" (seguint-ne l'orientació) tenim que Fij < qij- V(Vk, VI) usat "enrere" (oposant-ne l'orientació) tenim que Fkl > OAnomenarem H cadena d'augment.

Siguin ara:- ó¡ = min{{qij - Fij} V(Vi,Vj) endavant a H, oo]- Ób= min{{H¡} V(Vk, VI) enrere a H, oo]- Ó = min{ó¡,ób}

i el valor de 8 és sumat al flux de tots els ares endavant de H i restat al fluxde tots els arcs enrere de H, el resultat sera un nou flux F' de valor e = ~+ 8unitats. Aixo es fa evident, si observem que l'addició de 8 unitats de flux alsares endavant no en violara mai la capacitat, i que la substracció de Ó unitatsde flux als ares enrere no en deixara mai negatiu el flux.

Usant ara el flux F' tornaríem a aplicar 1,2 i 3 per a formar un nou tall enla xarxa.

b) t ~ V' (t E V")Anomenem (V' ---> V") la família dels ares (Vi,Vj) on Vi E V' i Vj E V", i(V" ---> V') la família dels arcs (Vk, v¡) on vk E V" i u¡ E V'. En aquestmoment tenim un tall que separa s de t, així, pel procediment seguit en laformació dels talls:- V(Vi, Vj) E (V' ---> V") es verifica que Fij = qij- V(vk, VI) E (V" ---> V') es verifica que Fkl = Oper tant:

L Fij = L qij(vi,vj)E(V' -> VII) (Vi,Vj )E(V'-> VII)

és a dir, el valor del flux obtingut a t, el qual és:

L Fij - L Fkl(Vi,Vj )E(V' -> V") (vk,v¡)E(V"-> V')

coincideix amb la capacitat del tall obtingut que separa s de t.

Donat que en el cas a -si considerem qij natural- el flux és augmentatconstantment almenys una unitat, tindrem que el flux rnaxim sera obtingutdesprés d'un nombre finit de passos quan es produeixi el cas b.O

Page 146: Grafs - Fonaments i Algorismes

146 7. Xarxes de transport

7.2 Met.ode del flux-rnaxim tall-mÍnimL'algorisme donat a continuació per a determinar el Fmax en una xarxa G(V, A)es basa en la demostració del teorema 7.1 i fou proposat pels mateixos autors.

Inicialment, s'assigna un flux a G, que pot ser simplement Fij = O V(Vi, Vj),i es va incrementant sisternáticament en cada cadena d'augment que es trobade s a t. EIs vertexs són etiquetats per a indicar a través de quin are, i dequant, s'incrementa el flux. Quan ja no es troba cap altra cadena d'augmentvol dir que el flux actual és Fmax'

Durant el procés cada vertex es troba en un dels tres estats següents:a) etiquetat i explorat, si porta etiqueta i tots els vertexs adjacents (ante-

cessors i successors) han estat processatsb) etiquetat i no explorat, si, de moment, tan sols porta etiquetae) no etiquetat, (inicialment tots els vertexs ho estan)L'etiqueta de cada Vi es divideix en dues parts i és de la forma (+Vj, 8(Vi))

o bé (-Vj,8(Vi)) on:

• +Vj indica que el flux en l'arc (Vj, Vi) es pot incrementar 8(Vi) unitats

• -Vj indica que el flux en l'are (Vi,Vj) pot ésser disminuít en 8(Vi) unitats-la intenció, en retirar flux d'un are que en tenia, és desviar-lo fent-loanar per un altre are

Ford i Fulkerson

1. Etiqueteu s amb (+s,8(s):= (0). Ara s es troba etiquetat i no explorat.

2. Escolliu un Vi no explorat i etiquetat (±Vk, 8(Vi)).A tot Vj E I'(Vi) sense etiqueta i que verifiqui Fij < qij assigneu-lil'etiqueta (+vi,8(vj)) on 8(vj):= min{8(vi),qij - Fij}'A tot Vj E r-1(Vi) sense etiqueta i que verifiqui Fji > O assigneu-lil 'etiqueta ( -Vi, 8(Vj)) on 8(Vj) := min {8(Vi), Fjd.Marqueu Vi com a explorat.

3. Repetiu el pas 2 fins que:~ o bé t queda etiquetat, cas en que es va a 4~ o bé t no es troba etiquetat pero no es poden assignar més etiquetes;en aquest cas s 'acaba i el flux actual és Fmax

4. x:= t.

5. Si l'etiqueta per al uériex x és (+vz, 8(x)), aleshores, Fzx := Fzx + 8(t).Si l'etiqueta per al uériex x és (-vz,ó(x)), aleshores, Fxz := Fxz - ó(t).

6. Si Vz = s esborreu totes les etiquetes i torneu a 1 usant el nou fluxobtingut.

Page 147: Grafs - Fonaments i Algorismes

7.2. Met.ode del fíux-máxim tall-mÍnim 147

Si no, x := Vz i torneu a 5.

EXEMPLEigui G la xarxa representada en la fig. 7.2 on volem determinar el flux máxim

que es pot enviar de VI = S a V9 = t. El procés ve representat en la taulaque acompanya la fig. 7.2, on s'indica en cada etapa (columna) l'etiqueta delsvertexs afectats per la cadena d'augment i el flux actual en cada are.

s +s,oo +s,oo +s,oo +s,oo +s,oo +s,ooV2 +s,12 +s,8 +s,8 +s,8 +s,3 +s,3V3 +s,18 +s,18 +s,9 +s,5 +s,5 +v2,3V4 +v2,9 -v5,4 +v2,5V5 +v4,9 +v3,18 +v3,9 +v4,5 +v3,5 +v3,2V6 +v4,9 +v7,9 +v4,4 +v4,5V7 +v5,9 +v5,18 +v5,9 +v5,5 +v5,2Vs +v5,4 +v7,5 +v7,2t +vs,4 +v6,9 +v6,4 +v6,5 +vs,5 +vs,2

(s,2) O 4 4 4 9 9 11(s,3) O O 9 13 13 18 18(2,3) O O O O O O 2(2,4) O 4 4 4 9 9 9(3,5) O O 9 13 13 18 20(4,5) O 4 4 O O O O(4,6) O O O 4 9 9 9(5,2) O O O O O O O(5,7) O O 9 9 9 14 16(5,8) O 4 4 4 4 4 4(6, t) O O 9 13 18 18 18(7,6) O O 9 9 9 9 9(7,8) O O O O O 5 7(8, t) O 4 4 4 4 9 11

Tenim en la solució, que arriben a t 29 unitats de flux; un tall dirigit isaturat K que separa s de t i verifica Q(K) = 29 ve donat pels quatre ares(V2, V4), (V5, vs), (V7, V6) i (V7, vs). Un altre tall que compleix les mateixes con-dicions és el format per (V2, V4) i (V3, V5).

El metode de Ford i Fulkerson pot presentar dos problemes importants. Elprimer és que no convergeixi cap a la solució si les capacitats qij són valorsirracionals, tot i que aquest no és un cas habitual en la practica.

El segon problema és que l'algorisme pot resultar molt ineficient; aixo ésdegut a la forma arbitraria en que s'escullen les cadenes d'augment. Aquesta

Page 148: Grafs - Fonaments i Algorismes

148 7. Xarxes de transport

16

V7

25 17

4V8

9115

• Vg

20

fig. 7.2

situació queda il-lustrada en la xarxa de la fig. 7.3, on tenim capacitats assig-nades als ares i on M » l.

fig. 7.3

Si comencem amb Fij = O en tots els ares i anem prenent alternativamentles cadenes d' augment (s --> V3 --> V2 --> t) i (s --> V2 f- V3 --> t), en cadapas el flux que arriba a t augrnentara d'una unitat. Per tant, s'obtindra unFmax de 2M unitats de flux després de 2M passos i no després de dos passostal com passaria si s'haguessin escollit inicialment les cadenes (s --> V2 --> t) i(s --> V3 --> t).

Aixo ens indica que el nombre de passos del meto de, no depen només de Vi de A, sinó també de les qij assignades. Convé dones determinar un procedi-ment que permeti aplicar l'algorisme de Ford i Fulkerson amb un nombre totald'operacions polinomial i independent de les capacitats qij'

A tota xarxa G(V, A) hi podem associar el gmf residual G~(VI-',AI-') cor-responent, el qual depen de F, on:-VI-'=V- Al-' = Ai U A~ on:

- Ai = {(v;, vj) tal que Fij < qij} amb q'0 = qij - Fij- A~ = {(vj,vn tal que Fij > O} amb qji = Fij

Page 149: Grafs - Fonaments i Algorismes

7.2. Met.ode del flux-maxím t.all-rnínirn 149

En la fig. 7.4 es representa un graf G amb parametres Fij / qij en cada (Vi, Vj)i el graf residual G'; corresponent amb capacitat qt en cada (Vi,Vj) .

G •10/1/ \2/6/ 8/9\

fig. 7.4

D'aquesta manera, el procés descrit per l'algorisme precedent a l'hora derealitzar l'etiquetatge dels vertexs es redueix a determinar en G'; el conjuntR( s) de tots els vertexs accessibles des de s. Si t E R( s), un carní e de s a tsera trobat a G';, i una cadena d'augment de s a t vindra donada pel camí e,considerant que els ares endavant de la cadena seran els ares de e que estana Ai, i que els arcs enrere de la cadena seran els arcs de e que estan a A~.D'altra banda, obtinguda una cadena d'augment en el graf residual, la méspetita de les capacitats qt dels ares de la cadena dóna l'increment 8 de fluxque arribara a t si s'usa aquesta cadena.

Si anomenem cadena d'augment mínima tot camí de s a t de longitud d(s, t)en el graf residual, Edmonds i Karp (1972) van demostrar que si en l'algorismede Ford i Fulkerson cada cadena d'augment és mínima, aleshores, Fmax es potobtenir després d'un nombre de passos que ja no depen de les capacitats delgraf, sinó només de IAI i IVI. Explicitem-ne els resultats.

Lema 7.2 a) Després d'usar la cadena d'augment mínima entre s i t dins delgmf residual, d(s, Vi) \j Vi E V en el nou gmf residual és no inferior a d(s, Vi) enel gmf residual precedeni. A més, b) si una cadena d 'augment mínima e saturaalgun are ak =} la propera cadena d'augment mínima que conté ak tindri: unalongitud, pel cap baix, dues unitats superior a e.DEMOSTRAcró. a) Donat G(V, A) siguin F el flux actual, G'; el graf residualassociat i e una cadena d'augment mínima respecte a F. A través del recor-regut BFS en G'; assignem una etiqueta a cada vertex vk E V de valor d(s, Vk).Un camí mínim des de s cap a un altre vertex passa -seguint un arc- d'unvertex a un altre que té una etiqueta una unitat més gran; en particular, aixóés cert per a e.

Page 150: Grafs - Fonaments i Algorismes

150 7. Xarxes de transport

Un cop usada C per a augmentar F s'haura saturat, pel cap baix, un arc deC, i sabem que cada arc saturat desapareix del graf residual. A més, els aresenrere es poden afegir només si un arc endavant que no portava flux en F passaa portar-neo El resultat de l'addició d'arcs enrere i la supressió d'arcs endavantés precisament el nou graf residual. Donat que camins més curts només espoden crear mitjancant l'addició d'arcs endavant, cada camí més curt des de scap a cada altre vertex de la xarxa no pot mai disminuir en longitud.

b) Amb un raonament similar, avaluant les distancies enrere a partir de t, espot veure que les successives cadenes d'augment mínimes mai no disminueixenla longitud des d'un vertex fins a t. Sigui ara ak = (Vi, Vj) un are saturat deC. La longitud d'aquesta cadena és d(s,vj) + d(Vi,t) - 1. Donat que l'arcak s'elimina del graf residual després de l'increment de flux i que l'arc enrerecorresponent (Vj,Vi) hi és afegit -si és que no hi era-, la cadena d'augmentsegüent que faci servir aquest arc ho fara de Vj cap a Vi. La longitud d'aquestacadena sera d(s, Vj) + d(Vi, t) + 1. Donat que les distancies actuals no sóninferiors a les precedents, obtenim el resultat enunciat.O

Teorema 7.3 A partir d 'un flux inicial nul es pot obtenir el flux mcxim desprésde la utilització de, com a molt, IA~vl cadenes d'augment mínimes.

DEMOSTRACIÓ.Siguin Cl, C2 ... , C¡ les successives cadenes d'augment mínimesque es van establint. Considerem que l'arc (vp,vq) queda saturat en l'i-esimaugment de flux. Aixo vol dir que quan els vertexs vp i vq tornen a apareixeren una cadena Cj ho fan en forma d'arc (vq, vp). Pellema precedent, sabemque Cj té una longitud superior a Ci, pel cap baix, en dues unitats. Per tant,el mateix are pot ésser saturat com a molt I~I vegades.

L'enunciat es deriva immediatament si apliquem aquest resultat indepen-dentment a cadascun deis IAI ares i usem el fet que cada cadena d'augment hade saturar, pel cap baix, un deis arcs.O

Així dones, donat que cada cadena d'augment mínima es determina ambun nombre d'operacions O(IAI) -usant la recerca BFS- tenim que el totald'operacions del meto de sera O(IAI21V1). En la practica, aquesta fita rares ve-gades s'assolira ja que, sirnultániament, cada cadena d'augment mínima hauriade saturar un únic are, i cada are hauria de ser saturat I~I vegades, la qualcosa no és gaire probable.

7.3 Metode gravitacional

Considerarem ara una estrategia totalment diferent de la del meto de de Fordi Fulkerson per determinar el flux maxim en una xarxa. L'avantatge d'aquestnou rnetode és que resultara forca més eficient que el que acabem de veure.

Page 151: Grafs - Fonaments i Algorismes

.3. Meto de gravitacional 151

El nom de metode gravitacional ve del fet que el procediment es basa endistribuir els vertexs de la xarxa en nivells. El vertex inicial o font s es trabaen el nivell més alt i, per sota d'aquest hi ha tots els altres vertexs de la xarxa,amb el vertex final o pica t en el nivell més baix. A continuació, s'introdueixen s un flux tal que saturi tots els arcs que en surten. Aquest flux va baixantpels diferents ares de la xarxa fins arribar a t. Si apareix excés de flux en unvertex v, aleshores, v és elevat a un nivell superior, per tal de distribuir l'excésde flux. Si, tot i així, no es pot aconseguir la distribució, caldra retornar l'excésde flux cap a s. Així dones, la xarxa no assoleix un flux compatible fins quelalgorisme acaba, moment en que el flux resultant és compatible i maxim.

Anomenarem pre-fiux tota assignació de flux:

F: A ---+ R+ U {a}aij ---+ Fij

tal que verifica Fij :::; qij V( Vi, Vj) E A. Ara ja no exigim que el flux totalque entra en cada vertex Vi -f=. s -f=. t sigui igual al flux total que surt de Vi;

anomenarem:

Tots els ares tindran pre-flux inicial nul, tret dels arcs de la forma (s, Vi)

els quals tindran pre-flux inicial Fsi = qsi' Considerarem el graf residual G~associat al pre-flux F del graf G de la mateixa manera en que ho havíem feten el cas d'un flux compatible i, alllarg de tot el procediment, ens limitarem atreballar amb el graf residual corresponent a cada pre-flux obtingut per a G.

Formularem un sistema d'etiquetatge dels vertexs del graf residual, queindiqui l'alcada dels diferents vertexs respecte al vertex final t. És aquestaalcada dels vertexs la que determinara si baixa o no flux del vertex inicial d'unarc cap al vertex final. A més, en l'etiquetatge de cada Vi hi haura informacióque ens doni, en cada cas:- una fita inferior de d(Vi, t) si es pot enviar cap a t l'excés de flux que hi haen Vi

- una fita inferior de d( Vi, s) si Vi ja no pot enviar cap a t l'excés de flux; enaquest cas, convindra retornar-lo a s

Direm que un etiquetatge D : V ---+ {a, 1..., 21V1 - l} dels vertexs de G~és correcte si:- D(s) = IVI, D(t) = a- D(Vi) :::;D(vj) + 1 V(Vi, Vj) E AIL

Page 152: Grafs - Fonaments i Algorismes

152 7. Xarxes de transport

Lema 7.4 Sigui un graf residual G'; amb un etiquetatge correcte. Si hi hacamí de v a t dins de G';, aleshores, D(v) és una fita inferior de la longituddel més curt d'aquests camins. Igualment, si hi ha camí de vas dins de G';,aleshores, D(v) -IVI és una fita inferior de la longitud del més curt d'aquestscamins.

DEMOSTRAcró. Sigui v = va, Vi ... , V¡ = t el camí més curt de v a t, sabem queD(Vi) ::; D(Vi+i) + 1 \fa ::; i < l. Si notem que, a més, D(t) = O, aleshores,D(vo) valdrá, com a molt l. Si en el graf residual hi ha un camí de vas i unde v a t, tindrem que D(v) -IVI sera negatiu -donat que el camí més curt dev a t tindra una longitud inferior a IVI-; per tant, D( v) - IVIés claramentuna fita inferior de la longitud del camí més curt de vas. Cas que no hi hagicamí de v a t, un raonament similar dóna l'altra part de l'enunciat.D

El metode gravitacional es basa en dues operacions elementals sobre elsfluxos i les etiquetes del graf residual. Aquestes dues operacions només seranaplicables a vertexs que tinguin un excés de flux (rebin més flux del que allibe-ren), tals vertexs els anomenarem actius.

Operació Empénuer. Destinada a enviar tot el flux d'excés que es puguicap avall des d'un vertex actiu. Si Vi és el vertex actiu, (Vi, Vj) E AfL i D( Vi) =D(Vj) + 1, aleshores:

w:= min{e(vi),q¡j}e(vi) := e(vi) - wFij:= Fij +w si (Vi,Vj) E AiFji:= Fji -w si (Vi,Vj) E A~e(vj) := e(vj) +w

Operació Reetiquetar. Destinada a tot vertex que no es troba més amunt quecap dels seus vertexs successors en el graf residual. La funció és elevar aquestvertex al nivell més alt possible, tot respectant la correcció de l'etiquetatge.Així, si Vi és un vertex actiu tal que D(Vi) < D(vj) + 1 \f(Vi, Vj) E AfL, alesho-res, D(Vi) := min(Vi,Vj)EA" {D(Vj) + 1}.

Donat que aquestes dues operacions depenen de la correcció de l'etiquetatgeusat, cal comprovar que les assignacions fetes deixin com a correcte el nouetiquetatge.

Lema 7.5 Donat un pre-flux i un etiquetatge correcie, dur a terme les opera-cions Empénuer i Reetiquetar manté sempre un pre-flux i un etiquetatge cor-rectes.

DEMOSTRAcró. De moment deixem de banda la demostració que l'etiqueta decada vertex no supera 21V1-1 . Veurem només que els etiquetatges verificaran

Page 153: Grafs - Fonaments i Algorismes

7.3. Meto de gravitacional 153

les altres dues condicions donades en la definició d'etiquetatge correcte. Mésendavant (lema 7.8) tornarem a la condició sobre la fita.

El flux només es modifica en l'operació Empenyer, i aquesta manté un pre-flux donat que usa l'increment w = min {e( Vi), q~}. L'operació Empénuer,ja sigui saturant un arc, o bé enviant flux a través d'algun are no usat, potalterar el graf residual. Si treballem amb l'arc (Vi,Vj) pot passar que aquestdesaparegui del graf o que apareixi en el grafl'arc (Vj, Vi). L'eliminació d'un areno pot afectar la correcció de l'etiquetatge, mentre que l'addició de l'arc (Vj, Vi)tampoc no perjudica l'etiquetatge, donat que només podem realitzar l'operacióEmpétujer si D(Vi) = D(vj) + 1, de manera que tenim D(vj) = D(Vi) - 1 <D(Vi) + 1.D

Així dones, el lema 7.5 ens permet aplicar qualsevol de les dues operacions-si es verifiquen les condicions donades en la definició de cadascuna- man-tenint alhora un etiquetatge correcte. Com a conseqiiencia, queden ja definitsels passos a seguir en el procediment.

Metode gravitacional

1. Assigneu un pre-flux inicial que saturi tots els uériexs successors de s ique valgui zero en tots els altres ares.Determineii un etiquetatge correcie inicial.

2. Consiruiu el graJ residual corresponeni al pre-flux actual.

3. Si es poden Jer les operacions Empétujer i Reetiquetar, [eu-les i torneu a2.Si no, acabeu.

Ens queden ara quatre qüestions pendents respecte al meto de gravitacional:

1. El flux final obtingut és maxim?

2. Podem, sempre que calgui, retornar flux cap a s?

3. El procediment acaba en un nombre finit de passos?

4. Quin és -com a molt- el total d'operacions realitzades?

Donem-hi ara una resposta satisfactoria a cadascuna en l'ordre en que hanestat formulades.

Teorema 7.6 El flux obtingut en el méiode gravitacional és nuucim.

Page 154: Grafs - Fonaments i Algorismes

154 7. Xarxes de transport

DEMOSTRAcró. L'algorisme només acaba quan cap de les dues operacions noés aplicable a cap vertex del graf. Donat que les dues operacions s'apliquen avertexs actius, quan l'algorisme s'atura vol dir que cap vertex no té excés deflux, i aixo és el mateix que dir que el pre-flux s'ha convertit finalment en unflux compatible. D'altra banda, pel fet que en el graf residual final -construltusant un flux compatible- el vertex t ja no és accessible des de s, vol dir queno hi ha cap cadena d'augment respecte a aquest flux final. Pel teorema 7.1tenim que aquest flux final és efectivament maxim.D

Lema 7.7 En el méiode gravitacional, sempre hi ha un camí des de cada uériexactiu Vi cap a s.

DEMOSTRAcró. Sigui Vi un vertex amb excés de flux i siguin R( Vi) el conjuntde vertexs accessibles des de Vi dins de Gj" i R(Vi) = V - R(Vi). Suposem ques ti. R(Vi), aleshores:

2:: e(vj)=vjER(Vi)

2:: Fkj = 2:: Fkj+ 2:: Fkj =vkEV,vjER(Vi) vkER(v¡),vjER(Vi) vkER(v¡),vjER(v,)

Ara, per definició de R( Vi), tenim que Fkj :s: O 'c/ (Vk, Vj), on vk E R( Vi) Vj ER(Vi). Si aixo no fos així, tindríem que (Vj,Vk) es trobaria en el graf residual;per tant, Vk seria accessible des de Vi, la qual cosa vol dir que vk E R( Vi) i aixoés una contradicció. Així dones:

2:: e(vj):S: OvjER(Vi)

la qual cosa implica -donat que s ti. R( Vi)- que tots els termes de la sumahan de valer O, en particular també e(vi) = O, la qual cosa és una contradicció.Així, s E R(Vi).O

Lema 7.8 L 'etiqueta de cada uériex no supera 2IVI-1 alllarg de tot el méiodegravitacional.

DEMOSTRAcró. Ho veurem per inducció, tenint en compte que -per definicióde l'operació Reetiquetar- l'etiqueta de cada vertex mai no disminueix. L'eti-quetatge inicial ja es fa de manera que es verifiqui l'enunciat. Donat que nomésels vertexs actius poden rebre una nova etiqueta, només hem de comprovar queles etiquetes dels vertexs actius no superen mai 2IVI-1. Pellema 7.7 sabem quesempre hi ha camí des d'un vertex actiu fins al vertex inicial s. D'altra banda,el lema 7.4 implica que, un cop fet el reetiquetatge, l'etiqueta no superara elvalor 2IVI- 1.0

Page 155: Grafs - Fonaments i Algorismes

7.3. Metode gravitacional 155

Lema 7.9 En el méiode gravitacional, a tot are de la xarxa s 'apliquen, com amolt, 21V1 - 1 operacions Empénuer que el saturin.

DEMOSTRACIÓ. Suposem que l'operació Empénuer satura l'arc (Vi,Vj). Lapropera vegada que es realitzi aquesta operació sobre aquest are -tant si essatura com si no- haura de ser en sentit oposat, és a dir, en l'arc (Vj, Vi). Aixídones, l'etiqueta de Vi o de Vj s'haura d'haver incrementat, pel cap baix, de duesunitats. En conseqiiencia, max{D(vi), D(vj)} s'haura d'haver incrementat, pelcap baix, d'una unitat. Donat que, inicialment, max{ D( Vi), D( Vj)} 2': 1 ique max{D(vi),D(vj)} ~ 21V1 - 1 es verifica quan es produeix la darreraoperació Bmpemier, es dedueix directament que el nombre maxim d'operacionssaturadores Empétujer entre Vi i Vj esta fitat per a 21V1 - 1.0

Lema 7.10 En el métode gravitacional, es realitzen com a molt 41V121AI ope-racions Empenyer que no saturui.

DEMOSTRAcrÓ. Definim la funció de potencial P com a la suma, per a tots elsvertexs actius, de les etiquetes. Estudiarem ara l'efecte sobre P d'una operacióEmpétujer no saturadora de Vi a "i Aquesta operació no saturadora trauratot l'excés de flux de Vi, de manera que aquest vertex deixará d'ésser actiu;en conseqíiencia, fins i tot si Vj no era actiu abans de realitzar l'operació, Phaurá d'haver disminuít, donat que teníem D(vj) < D(Vi). D'altra banda, unaoperació saturadora Empérnjer pot:- incrementar P si Vj no era actiu abans de l'operació- deixar P tal com estava si els dos vertexs es mantenen actius- disminuir P si l'operació elimina tot l'excés de flux en Vi

Per tant, usant el lema 7.8 i el 7.9, la contribució positiva a P feta per opera-cions saturadores Empenyerno superara (21V1-1)2IAI. L'operació Reetiquetarsempre incrementa P, pero l'increment degut a tots els reetiquetatges no potsobrepassar (21V1-1)(1V1- 2) - Po. La suma de tots aquests valors represental'increment de P durant l'execució de l'algorisme i no pot excedir 41V12IAI-Po.Donat que el potencial final és nul, hi haura, com a molt, 41V121AI operacionsno saturadores Empéiiuer.C)

Finalment, com a conclusió deIs resultats precedents:

Teorema 7.11 El méiode gravitacional funciona correciameni i té una com-plexitat O(1V12IAI).

Cal deixar constancia que, mitjancant un ordre apropiat en la realització deles operacions Empétujer i Reetiqueiar i unes estructures de dades convenients,es pot reduir la complexitat del metode, En particular, es pot arribar facilmenta un valor O(1V13).

Page 156: Grafs - Fonaments i Algorismes

156 7. Xarxes de transport

7.4 Variacions pel problema del flux maxim

Veurem ara, per ordre de dificultat, tres possibles generalitzacions del problemabasic de trobar Fmax' En totes, no caldrá desenvolupar cap nou algorisme, sinóque, després de la transfonnació de la xarxa, el meto de de Ford i Fulkerson ensperrnetrá arribar a la solució demanada.

Xarxa amb diversos vertexs inicials i diversos vertexs finals

Suposem que G conté un eonjunt 1 de N; vertexs inieials (productors deflux) i un conjunt E de N¡ vertexs finals (receptors de flux) i que interessadeterminar el flux maxim que es pot rebre considerant simultaniarnent tots elsNs i tots els N¿

Una forma senzilla de fer-ho és crear un nou vertex inicial Vs i un nouvertex final VT que siguin, respectivament, el vertex inicial i final de la xarxa,amb un are (vs, Vd'V'Vi E 1 amb qSi = 00 i amb un un are (Vj, VT )lfvj E E ambqjT = oo. Així, només caldra trobar el flux maxirn que va de Vs a VT.

Si algun Vi E 1 té una capacitat de produceió de flux limitada a l, unitats,n'hi hauria prou d'assignar una capacitat qSi = li a l'arc (VS, Vi). De formaanáloga, si algun Vj E E té una capacitat de recepció limitada a lj unitats deflux, assignarem una eapaeitat qjT = lj a l'are (vj,T).

Xarxa amb capaeitat en els ares i en els vertexs

Sigui G(V, A) un graf que tingui capacitat Qij en cada (Vi, Vj) E A i capaeitatWj en cada Vj E V. En aquest cas, per tal que un flux F = {Fij} siguicompatible, exigim que respecti les capacitats en els ares i en els vertexs. Perals ares, ja hem vist que implica i, per als vertexs, caldra que:

L Fij::; Wj IfvjviEr-1(vj)

Volem determinar el flux compatible Fmax per a G de Vs a Vt. Aixó es potaconseguir si podem transformar G en un altre G' equivalent que no tinguieapaeitats assignades als vertexs.

El procés de eonstrueció de G' es pot fer vertex a vertex, Si considerem elvertex Vj E V, aleshores:- Vj es divideix en dos vertexs -: i v;- cada (Vi, Vj) es transforma en (Vi, Vj) i manté la eapacitat qij

- cada (Vj, Vi) es transforma en (v;,vn i manté la eapacitat qji

- s'afegeix un nou are (vj,v~n amb eapaeitat Wj

D'aquesta manera G' té capacitats únieament en els ares. A més, és fácilde veure que G i G' són equivalents i que es pot obtenir el Fmax entre s i t enG si optimitzem el flux que va de v; a vi: en G'.

Page 157: Grafs - Fonaments i Algorismes

7.4. Variacions pel problema del flux maxim 157

Xarxa amb capacitats maxima i mínima en els arcs

Considerem que G(V, A) té dues capacitats assignades a cada are (Vi, Vj),una máxima qij i una mínima bij 2:: O. D'aquesta manera, tot flux compatibleF = {Fij} ha de verificar que:

Notem que el problema basic resolt a 7.2 es redueix al cas particular en quebij = o V(Vi, Vj).

El primer que cal remarcar, és que no tota xarxa amb capacitat fitadasuperiorment i inferiorment en cada are té per que permetre un flux compatibleF. No costa gaire de trobar exemples en els quals no hi ha cap flux compatible.Així dones, la primera qüestió és respondre la pregunta "Existeix F?" La segonaqüestió sera maximitzar F si la resposta a la pregunta ha estat afirmativa.

Cal, d'entrada, transformar G en un altre G'(V', A') equivalent que nocontingui capacitats mínimes associades o, el que és el mateix, que tingui bij = OV(Vi, Vj). Construcció de G':

1. V' = V U {s', t'}.2. VVj E V formeu:

• (s', Vj) tal que q~'j = ¿ViEr-l(Vj) bij i b~'j = O

• (Vj, t') tal que qjt' = ¿ViEr(Vj) bji i bjt' = O

3. Tots els (Vi, Vj) E A es mantenen i passen a tenir q~j = qij - bij i b~j = O.4. Afegiu dos nous ares (s,t) i (t,s) amb q~t = q~s = 00 i b~t = b~s= O.

Ara, s' i t' seran, respectivament, els vertexs inicial i final de G', el qualconté tan sois capacitats maximes, Per tant, podem aplicar el meto de basic demaximització del flux a G'. El resultat següent ens dóna una condició necessariaper a I'existencia d'un flux compatible F.

Teorema 7.12 Sigui F' el flux ttuuiim a G'. Si F' satura tots els arcs quesurten de s' =} G té un flux compatible.

DEMOSTRACIÓ. Comencem remarcant que si un flux satura tots els ares quesurten de s' també saturara tots els que arriben a t' i recíprocament. Aixo ésaixí perque -per construcció de G'- la suma de les capacitats deis ares quesurten de s' iguala la suma de les capacitats deis ares que arriben a t',

Hem de veure que, a partir d'un flux rnaxim F' = {FI) a G' que satura totsels ares que surten de s', podem formar un flux F = {Fij} compatible a G. És

Page 158: Grafs - Fonaments i Algorismes

158 7. Xarxes de transport

a dir, un flux F per a G tal que a) respecta les capacitats maximes i mínimesi b) es manté invariable quan passa per cada vertex. Fem-ho per parts.

1. A partir de F' = {F!j} construirn Fij = F!j + bij per a cada (Vi, Vj) de G.Donat que O:::;F!j :::;q~j = qij - bij, tenim que O:::;Fij - bij :::;% - bij, i, pertant, bij < Fij < qij·

2. Sigui ara Vj E V - {s, t} i siguin a = (s', Vj) T

ineorporats a Vj en el proeés de construcció de G'.(Vj, t') els dos ares

És clar que:

, L F!j +F; = L Fji +F;viEr-1(vj) viEr(vj)

i hem trobat que:

F; = q~ = L bijviEr-1(vj)

F; = q~ = L bjiviEr(vj)

Per tant, usant que Fij = F!j + bij tenim:

L Fij = L FjiviEr-1(vj) viEr(vj)

i aixo indica que es conserva el flux en el vertex vj.D

NotaS¡. canviem el sentit de la implicaeió en el teorema 7.12, el resultat continuaessent eert, és a dir, la condició és també suficient.

Ara ja podem passar a maximitzar el flux compatible obtingut. El procéses descriu a eontinuaeió.

1. Consiruiu e' a partir de e i determinen si existeix un flux truuiim F' quesaturi tots els ares que surten de s',

2. Si existeix, assigneu als ares de G el flux Fij = F!j + bij.Si no, el problema no té solució.

3. Maximitzeu F a G uia l'algorisme de Ford i Fulkerson, usant F com aflux inicial.

Page 159: Grafs - Fonaments i Algorismes

.5. Problemes relacionats 159

Observacions al procediment- Cal tenir en compte que quan maximitzem el flux en el pas 3, els etiquetatgesenrere hauran d'ésser modificats. Efectivament, si existeix l'arc (Vi,Vj) on Vj

esta etiquetat i Vi no ho esta, i Fij > bij etiquetarem Vi com a:

(-V' min{8(v·) F-b})J' J' 'J 'J

- El flux maxim sera igual a la capacitat del tall dirigit (VI --7 V") que separade t i que té capacitat mínima, menys el flux que circuli -obligatoriament-

pels ares que tenen el vertex inicial a V" i el vertex final a VI. Formalment:

Frnax = L qij - L bij(vi,vj)E(V'--->V") (vi,vj)E(V"--->V')

Notem que, en les dues observacions, els resultats es redueixen als obtingutsen el problema basíc si prenem bij = O\/(Vi, Vj).

7.5 Problemes relacionats

Veurem ara l'aplicació de les xarxes de transport a la resolució de dos problemessobre grafs, els quals no tenen -en principi- cap relació amb l'optimitzacióde fluxos. La solució passa, en cada cas, per associar una xarxa de transport acadascun dels grafs.

Aparellament maxím en un graf bipartit

Sigui G( {X, Y}, A) un graf simetric bipartit; volem determinar un aparella-ment maxim M a G. Per a obtenir-lo transformarem G en un altre GI(VI, Al)dirigit amb capacitats identiques en els seus ares idos vertexs addicionals s i tque seran l'inicial i el final respectivament. El graf GI ve donat per:

VI=VU{s,t}Al = {A~ U A~ U A3} amb capacitat qij = 1 \/(Vi, Vj) E Al on:

• A~ = {(s, Vi) tal que Vi E X}

• A~ = {(Vj, t) tal que Vj E Y}

• A3 = {(Vi, Vj) E A}

En aquestes condicions tenim que:

Teorema 7.13 Si M és un aparellament rtuucim a G({X,Y},A) i Frnax elvalor del flux maaim a GI

, aleshores, IMI = Frnax'

Page 160: Grafs - Fonaments i Algorismes

160 7. Xarxes de transport

DEMOSTRAcró. Per a cada aresta (Vi,Vj) de M usem el camí s ---> Vi ---> Vj ---> t

per enviar una unitat de flux de s a t. És dar que tots aquests camins sóndisjunts, per tant, [M[ ::; Fmax.

Tots els camins que connecten s a t a G' són de la forma s ---> Vi ---> Vj ---> t.Si un d'aquests camins és usat per enviar una unitat de flux a t implica que-si es respecten les capacitats- cap altre are de la forma (Vi, Vk) o de la forma(Vk, Vj) no podrá portar flux. Així, el conjunt d'arcs (Vi, Vj) pels quals Fij = 1forma un aparellament a G. En conseqiiencia, [NI[ ?: Fmax.D

Construcció d'un graf amb els graus fixats

Volem construir, si existeix, un graf dirigit G' -amb el graf subjacent nonecessariament connex- on cada vertex VI, V2··., Vn tingui un grau interior iun grau exterior fixats.

Per a aixo formarem una xarxa de transport G(V, A) en la qual:

v = {S,t,vI,V2 ... ,Vn,WI,W2""Wn}A = Al U A2 U A3 on:

• Al = {(s, Vi) i = 1,2 , n} amb qsi = grau exterior(vi)

• A2 = {(Wi, t) i = 1,2 , n} amb qit = grau interior(vi)

• A3 = {(Vi, Wj) Vi =J j} amb % = 1

Tot seguit, usant les capacitats assignades, es maximitza el flux de s a tdins de G. Fet aixo, no costa gaire de comprovar que si el flux Fmax resultantsatura tots els ares que surten de s i tots els que arriben a t, aleshores, el grafcercat G' (V', A') existeix i pot ser obtingut així:

- eliminem s i t de G-[V'I = n, on V' = {VIWI,V2W2 .. "VnWn}- (ViWi,VjWj) E A' si a G l'arc (Vi,Wj) ha rebut Fij = 1

7.6 Minimització del cost per a un flux fixatConsiderem ara que G(V, A) porta associat en cada are (Vi, Vj), a més de lacapacitat máxima qij, un cost Cij > O per cada unitat de flux que transporta.El problema que resoldrem és el següent:fixat un valor de flux ~ ::; Fmax, determinar per quins ares s'ha de distribuir-a partir de s- per tal de fer-lo arribar a t minimitzant el cost total.

Veurem dues alternatives (Klein, i Busacker-Gowen) basades en estrategiestotalment diferents, tot i que totes dues s'apliquen usant el graf residual Gj

Page 161: Grafs - Fonaments i Algorismes

7.6. Minimització del cost per a un flux fixat 161

associat a un flux F sobre el graf G. En aquest cas, cal definir com es passadels costos Cij de G als costos c'ij del graf residual:

1 S· (1-' 1-') E Al-' d 1-' -. 1 Vi 'Vj l' pren rem Cu - Cijo

2. Si (v1, vf) E A~, prendrem cji = -Cij·

La primera alternativa es basa en la:

Proposició 7.14 F = {Fij} és un flux de cost mínim per a G <=? Gje no contécap circuit de cost total negatiu.

Klein

1. Useu el métode bñsic per a trobar un flux F de valor ~.

2. Construiu Gj.,.

3. Examineu si existeix a Gje algun circuit <I>de cost negatiu.Si existeix, aneu a 4.Si no, F és la solució. Acabeu.

4. Calculeu:8 = min {qf.}

(v;,vr)E<P J

- V(vf,v1) E <I>amb Cü < O Fji:= Fji - 8 a G- V(vf, v1) E <I>amb cij > O Fij := Fij + 8 a G

5. Torneu a 2 usant el nou flux F obtingut.

Comentaris a l'algorisme- En qualsevol instant del procés, cal que un total de ~ unitats de flux surtinde s i que arribin a t. El flux en determinats ares només es modifica en el pas4; vegem ara que, cada vegada que es realitza aquest pas, el flux total es mantécompatible i de valor constant (

Efectivament, trobat un circuit <I>,el valor 8 que s'afegeix als ares de Al¡' ies treu dels ares A~ de <I>és tal que:

- no sobrepassa la capacitat de cap are de Al¡'- no deixa negatiu el flux de cap are de A~

Aixó és degut a la forma en que q'ij es defineix a GI-'.D'altra banda, l'addició o substracció de 8 unitats de flux en tots els ares

de <I>,l'únic que fa és desviar flux dins del circuit, pero sense augmentar nidisminuir el flux total existent en la xarxa.

Page 162: Grafs - Fonaments i Algorismes

-162 7. Xarxes de transport

- Sigui c( <I?) la suma dels costos dels arcs de <I? En cada desviació de fluxsobre <I? realitzada en el pas 4 s'aconsegueix disminuir el cost total del flux en/5 . c( <I?) unitats de costo Aixó és immediat si considere m les tres possibilitatsper al valor de:

a) c( <I?) > O; implica que tota desviació de flux des d'arcs de A~ cap a arcs deAi incrementara el cost total del flux en /5 . c( <I?) unitatsb) c( <I?) = O. Implica que tota desviació deixara el cost total invariablee) c(<I?) < O. Implica que tota desviació disminuirá el cost total del flux enexactament /5 . c( <I?) unitats

Passem ara a considerar la segona alternativa.

Donat G(V, A), si A' e A i k és una constant, direm que k o (A') associa aG un flux F = {Fij} de valor:a) Fij = k si (Vi, Vj) E A'b) Fij = O si (Vi,Vj) f/. A'

El procediment es basa en la:

Proposició 7.15 Si F = {Fij} és un flux de eost mínim de valor f per a G,i P* és el camí de eost mínim de s a t dins G'; =;. F + (1 o (P*)) és un flux deeost mínim de valor f + 1 per aG.

Així, l'algorisme comenca amb un flux inicial nul en tots els ares, determinael camí de cost mínim P{ de s a t, i envia -a través seu- tot el flux que espugui fins a saturar-lo. Posteriorment, el flux s'incrementa a través del camísegüent de cost mínim P'; que quedi en el nou graf residual, etc. El procéss'acaba quan el valor del flux és de f = ~ unitats.

Busacker i Gowen

1. Comeneeu amb un flux F = {Fij} nul en tots els ares.

2. Consiruiu G';.

3. Determineu P* a G';.

4. Caleuleu:

5. Si F + (/5 o (P*)) < ~=;. F := F + (/5 o (P*)) i torneu a 2.Si F + (/5 o (P*)) = ~ =;. pareu, el flux actual és la solució.Si F + (/5 o (P*)) = h > ~ =;. pareu, F + ((/5h + O o (P*)) és la so lució.

Page 163: Grafs - Fonaments i Algorismes

.•

7.7. Xarxes d'arcs amb guany 163

7.7 Xarxes d'ares amb guany

Moltes vegades, en la utilització de xarxes per a representar situacions reals,no es pot assumir que tot el flux que entra en cada are coincideix amb el que enurt. Per exemple, si es tracta d'un fluid hi poden haver perdues per filtració,

per evaporació, etc.Considerarem ara que tenim un graf dirigit G(V, A) on cada are (Vi, Vj) té

una capacitat máxima qij > O i un factor de guany gij > O.

Definicions présnesEn tota assignació de flux a G, tot (Vi, Vj) tindra un flux d'entrada Fij i un fluxde sortida Ftj de manera que F¿ ::; qij i Ftj = F¿ . gij' ( otem que el factorde guany pot donar una perdua efectiva de flux si gij < 1.)

Direm que F = (Fi, PO) és un flux d'entrada-sortida compatible si es verificaque:

si Vi = S

si Vi = taltrament

on:I, = L P;j i ft = L FJt

VjEr(s) VjEr-l(t)

_Ientre no establim el contrari, assumirem que tot flux d'entrada-sortida assig-nat és sempre compatible.

Un flux P = (pi, PO) és moaim. si Jt ~ ft per a tot altre flux F = (Fi, FO)..n flux F = (Fi, FO) és opiim. si, per a tot altre flux F = iF", PO), es verifica

que: _ _- i I,= ts =} ft ::; tt- si ft = ft =} i, ~i,

L'objectiu d'aquest apartat és arribar a determinar un flux F de s a t quesizui alhora maxim i optim,

Una seqiiencia d'arcs consecutius des d'un vertex Vl fins a un altre V¡s'anomena una cadena d'augment de Vl a V¡ si es pot enviar flux a través

. Tal com teníem en el problema basic del flux maxim, una cadena sera'augment mentre:

- tots els ares usats endavant tinguin un flux assignat inferior a la capacitat- tots els ares usats enrere tinguin un flux no nul

igui S = Vl, V2 ... , V¡ una cadena d'augment, en definim el guany com a:

Page 164: Grafs - Fonaments i Algorismes

164 7. Xarxes de transport

1g(S) = rr g(a)· rr - (7.1)

aj ED(S) J aj EJ(S) g( aj)

on D(S) = {(Vi,Vj) E S usats endavant} i 1(S) = {(Vi,Vj) E S usats enrere}.

La capacitat incremental q(S) de la cadena S és el flux maxim d'entrada aVI que pot ésser enviat a V¡ a través de S. Així, si prenem a VI 8 unitats deflux, aleshores, el flux que arribara a vp per l'arc ap-I = (Vp-I'Vp) a través dela sub cadena Sp = VI,V2""Vp-l,Vp valdrá:

Si ap-I E D(S) prenem vp E r(Vp-I), així ap-I estará saturat quan8(ap_2) = q(ap-l) - Fi(ap_d, mentre que si ap-I E 1(S) prenem vp Er-I(vp_d, així ap-I reduira el seu flux a O quan 8(ap_2) = FO(ap_d =Fi(ap_l) . g(ap-d·

Per tant, la capacitat incremental de S sera:

{ {q(a.)-Fi(a)} {FO(a)}}q(S) = min min J J min J

ajED(S) g(Sj-d 'ajEJ(S) g(Sj-d

EXEMPLEConsiderem la cadena d'augment S = VI, V2, V3, V4, V5 representada en la fig. 7.5.Damunt de cada arc (Vi,Vj) s'indica el flux d'entrada FZj i el flux de sortidaFIj actuals; a sota, apareixen qij i gij' Calcularem el guany i la capacitatincremental de la cadena.

1 6 1811 M2 3 2 4VI • V2 • V3 • V4 • V5

110/3 3/0.5 6/4

I 5/2/\

fig. 7.5

1g(S) = 3 . 0.51- ·2 = 34

Page 165: Grafs - Fonaments i Algorismes

7.7. Xarxes d'arcs amb guany 165

{ {la - 6 5- 2} {1 12}} 1q(S) = min min --1-' T ,min 3' (3 = 3

Un ciele d'augment és una cadena d'augment que té el mateix vertex alcomencament i al final. Així dones, podrem parlar també del guany i de lacapacitat d'un ciele d'augment. Un ciele d'augment 1> s'anomena actiu respectea un vertex v si:

a) g(1)) > 1b) q(1)) i- Oc) ::Jvl E 1> tal que es pot formar una cadena d'augment de Vi a v

El resultat següent determina una estrategia que permet trobar el fluxmaxim i optim F per aG.

Proposició 7.16 Un flux compatible F és maaim i optim si existeix un tallsaiurai (VI ---7 V") que separa s de t, i no hi ha cap ciele actiu respecte a t quetingui tots els seus uériexs a VI.

Flux máxim i ópt.irn

1. Preneu un flux inicial F de valor Fij = O V( Vi, Vj).

2. Deiermineu un cicle actiu 1> respecte a t.

3. Sigui v E 1> el primer oertex de la cadena d'augment S de s a t.A partir de v feu circular {j unitats de flux a través de 1>. El flux guanyaten arribar a v es transmei cap a t a través de S.Determinen (j de manera que juntament amb el flux actual F, s' obtinguiq(1)) = O o bé q(S) = O.

4. Actualitzeu F.Menire quedin cicles actius, iorneú a 2.

5. Trobeu la cadena d'augment SI de s a t que maximitza g(SI), i useu-laper a enviar flux cap a t fins a acotisequir q(SI) = O.

6. Actualitzeu F.Si queda alguna cadena d'augment de s a t, iorneú a 5.Si no, F és la solució.

Una qüestió important, respecte al metode precedent, és disposar d'unamanera sistemática de trobar els cieles actius 1> a G. Una de les possibilitats éstransformar el problema en un altre que ja sabem resoldre; per a aixo, caldrápreviament passar de G(V, A) a un altre G* (V*, A *).

Page 166: Grafs - Fonaments i Algorismes

-

3. Si O < Fi(ak) < q(ak) =* a¡;l. E A* amb cost c*(a¡;l)

capacitat q*(a¡;l) = Fi(ad' g(ak)-log_l-

g(akl

166 7. Xarxes de transport

Si usem la notació ak = (Vi, Vj) i a¡;l = (Vj, Vi), aleshores, G* es construeixsegons el pracediment següent:

1. V* = V.

2. Si O :s: Fi(ak) < q(ak) =* ak E A* amb cost c*(ak) = -logg(ak) i capacitatq*(ak) = q(ak) - Fi(ak).

No és difícil de veure que a tot cicle <l?de G que tingui g( <l?)> 1 corresponun circuit de cost negatiu a G*. Efectivament, prenent logaritmes en 7.1 tenim:

1logg(<l?) = L logg(ak) + L log -(-) =

9 akakED(1)) ak"lEI(1))

- ( L c*(ak) + L c*(a¡;l)) =-nakED(1)) ak"lEI(1))

Ara, si g(<l?) > 1, tindrem logg(<l?) > O, la qual implica que n < O; d'altrabanda, si g(<l?) :s: 1, tindrem logg(<l?) :s: O la qual implica que n 2': O.

Resumint, dones, per a determinar els cicles actius, n'hi ha prou de construirG* i de cercar -usant els costos cij- el camí de cost total mínim de cada vertexfins a t, la qual cosa permetra detectar els circuits <l?de cost negatiu.

Notem, per acabar, que les capacitats qij ens permetran trabar fácilment elvalor de flux Ó que anulla la capacitat incremental del cicle actiu -o bé de lacadena d'augment. Efectivament, si C- representa un circuit de cost negatiudetectat a G*, es verifica que:

s: . {q* (aj) }u= Ifl l Il --ajEC- g(Sj)

on S¡ representa el guany acumulat fins a arribar a aj.

Comentaris bibfiogr-áfics

El text de referencia obligada en l'estudi de les xarxes de transport és Ford iFulkerson (1962), el qual va posar les bases per a l'estudi de diversos problemesde flux. Tant el teorema del flux-rnaxim tall-mínim, com el metode que se'n

Page 167: Grafs - Fonaments i Algorismes

7.7. Xarxes d'arcs amb guany 167

deriva, com l'algorisme per a xarxes amb capacitats maximes mínimes espresenten en aquesta obra.

El meto de gravitacional fou desenvolupat en Goldberg i Tarjan (1986); lapresentació que se n'ha fet es basa en Moret i Shapiro (1991).

Les proposicions 7.14 i 7.15 -i els meto des que les segueixen- es vanpresentar, respectivament, en Klein (1967) i en Busacker i Gowen (1961). Laproposició 7.16, i altres resultats relacionats, es troben en Frank i Frisch (1971).En Goldberg, Tardos i Tarjan (1989) es dóna un recull dels darrers resultatssobre xarxes de flux.

Exercicis

1. Un divendres a la tarda s'envien diversos missatgers des de Salses ambdestinació Guardamar. Donat que els caps de setmana hi ha molt de tránsit,volem que cadascun vagi per una ruta exclusiva (no compartida en cap tram percap altre missatger). Si es disposa d'un mapa amb tota la xarxa de carreteresentre l'origen i la destinació, com es pot esbrinar el nombre maxim de missatgersque es poden enviar?

2. En el mapa que ve a continuació es representa la xarxa de vies rapides queenllacen la capital Cl amb la C2. Donat que hi ha molt transit entre aquestesdues ciutats, s'ha decidit colbcar controls en la xarxa, de manera que tot vehicleque surti de Cl hagi de passar -com a mínim- un control abans d'arribar aC2. EIs números en les vies indiquen el cost d'establir un control en cadascuna.Es demana quina ha d'ésser la distribució dels controls que minimitza el costtotal.

20---'0

3. Es vol determinar el nombre maxim dautomobils que es poden transportaren quatre dies de Glasgow a Southampton usant trens de la British Rail. Con-sidereu que es disposa d'un mapa amb la xarxa ferroviaria que uneix les duesciutats, on per a cada enllac (ei,ej) entre dues estacions coneixeu el nombred'automobils nij que es poden transportar diariament en els trens que van de eia ej i el nombre de dies dij que cada tren necessita per anar de e; a ej. Afegim

Page 168: Grafs - Fonaments i Algorismes

168 7. Xarxes de transport

que -si cal- els autos poden quedar dipositats temporalment en qualsevolestació de la xarxa.

4. El maitre d'un hotel coneix, d'antuvi, les necessitats de tovallons per alspropers k dies. Així, diguem que li calen aj tovallons pel dia j = 1,2 ... , k. Pera cadascun dels dies se li presenten dues alternatives: comprar tovallons nouso usar-ne de vells que han estat rentats. Els tovallons es poden rentar usantel servei rapid, el qual demana q dies o amb el servei normal, que requereix sdies. El cost d'un tovalló nou és de p $, el cost de rentar-lo rapid és de r $, i elcost de rentar-lo normal és de n $. Si comenca sense tovallons, com pot cobrirles necessitats dels k dies amb un cost total mínim?

5. Suposem que en una gran ciutat, tots els carrers són bidireccionals i quecadascun té una capacitat máxima de vehicles. Es demana establir un esquemade treball que permeti determinar com s'han de situar els senyals de direccióprohibida en els carrers -per a transformar-los en carrers de direcció única-de manera que es maximitzi el flux de tránsit des d'una de les entrades a laciutat fins a una de les seves sortides.

6. Donats dos conjunts de números naturals {al,a2 ... ,a171}

existeix una matriu binaria P d'ordre mxn que contingui a;fila i bj 1 en la j-esima columna?

{b1,b2 .•. ,bn},

1 en la z-esima

7. Sigui G(V, A) una xarxa amb capacitat mínima en cadascun dels ares. Esdemana un algorisme que determini el flux mínim que es rebra en el vertexfinal t a partir del vertex inicial s.

Page 169: Grafs - Fonaments i Algorismes

Capítol8

Camins i circuits eulerians

8.1 Caracterttzació deIs camins i deIs circuits

Sigui G(V, A) un multigraf simetric i connex (dirigit i amb el graf subjacentconnex), un circuit euieriá és aquell que passa per cada aresta (are) una vegadai només una. Dit d'altra manera, un circuit euleria és un circuit simple queusa totes les arestes (arcs). De forma análoga es pot definir un camí euleriáper a un graf simetric o dirigit. A vegades, s'anomena euleriá al graf que contécircuit euleriá,

Fou l'eminent L. Euler qui -el segle XVIII- va estudiar aquesta menade circuits quan es proposava resoldre el problema de realitzar un recorregutcomplet pels ponts de Ki::inigsberg, la ciutat on vivia. A més de demostrar quetal recorregut no era possible, va caracteritzar els grafs eulerians.

Teorema 8.1 G(V, A) multigmj simetric i connex té circuii (camí) euleria {=}

el nombre de »értexs de gmu senar a G és O (2).

DEMOSTRACIÓ.La veurem per al cas del circuit; en el cas del camí és potobtenir de forma similar si tenim en compte que els dos vertexs de grau senarseran els vertexs inicial i final del camí.

(=?) Qualsevol circuit euleria ha de prendre una aresta per a entrar i unaper a sortir, en cadascuna de les visites que es faci a un vertex, Per tant, si Gés euleria cal que tots els seus vertexs tinguin grau parell.

(~) Comencem a formar un camí simple des de qualsevol vertex inicial vfins que el camí torna a v i hem format un circuit simple ea. Si ea ha usattotes les arestes, hem acabat; cas contrari, hi haura algun Vi E ea que és vertexterminal de dues o més arestes no usades a eo. Eliminem de G les arestes deeo i tracem un altre circuit simple el a partir de Vi tal com abans.

169

Page 170: Grafs - Fonaments i Algorismes

170 8. Carnins i circuits eulerians

Si el circuit Co UCl conté tot A, hem acabat; si no, cerquem un Vj de Co ode Cl que tingui dues o més arestes no usades, i repetim el procés. Finalment,obtindrem el circuit euleria com a unió de k circuits Co, Cl ...,Ck~l simples idisjunts d'arestes.D

CoroHari 8.2 G(V, A) sunétric i connex té circuit euleria {o} es pot establiruna particiá de A en forma de circuiis disjunts d' aresies.

Una forma alternativa de veure en quines condicions hi ha camí euleria enun graf G simetric i connex s'obté com a corollari del resultat següent:

Teorema 8.3 Si G(V, A) és simétru: i connex amb 2k uériexs de gmu senas:=} es pot formar una particiá de A en k camins disjunts d'arestes.

DEMOSTRAcró. Siguin VI, V2... , Vk i Wl, W2"" Wk els 2k vertexs de grau senar deG. Formem un graf GI afegint k vertexs més Ul,U2 ... ,Uk a G, juntament ambles arestes (Vi,Ui) i (Ui,Wi) i = 1,2 ... ,k. Com que tots els vertexs de GI tenengrau parell, es verifica -pel teorema 8.1- que GI té circuit euleria. Donat quecada vertex u; té grau 2 a GI

, si eliminem tots aquests k vertexs del circuiteuleria de GI quedaran k camins disjunts d'arestes, els quals contindran totesles arestes de G.O

Si G és dirigit, el resultat equivalent al teorema 8.1 ve donat en el:

Teorema 8.4 Un multigmf G(V, A) dirigit i amb el gmf subjacent connex técircuii (camí) euleria {o}

a) en el cas de circuit, grau interior(vi) = qrau exterior(vi) \lVi E Vb) en el cas de camí de s a t:

- grau interior( Vi) = grau exterior( Vi) \lt =J Vi =J s- grau interior(t) = grau exterior(t) + 1- grau interior(s) = grau exterior(s) - 1

8.2 Obtenció d'un circuit euler iáUn cop comprovat que un graf G té circuit euleria, determinar-lo és senzill usantalgun procediment basat directament en la demostració del teorema 8.1. Unaalternativa possible és l'anomenada regla de Fleury. Consisteix a comencar perun vertex arbitrari W i a anar construint un camí simple alhora que esborremles arestes per les quals passem. L'única previsió que cal fer és que no s'hade passar mai per una aresta tal que, un cop eliminada, deixi el graf resultantdisconnex.

En el procediment que segueix, siguin:

Page 171: Grafs - Fonaments i Algorismes

8.2. Obtenció d'un circuit euler iá 171

- u" el vertex actual

- Al = {arestes ja recorregudes}

- L. una llista que conté els vertexs ordenats en la mateixa seqüenciaen que han estat recorreguts

- A( Vi) la llista de vertexs adjacents al vertex Vi dins del grafG-AI

- w el primer vertex visitat en el recorregut

Fleury

1. L:= wv*:= wAI:= 0

2. Mentre IA(w)1 > O feu el següent:

Si IA(v*)1 > 1 cerqueu un V E A(v*) tal que (v*,v) no sigui unpont de G - AlSi no, sigui V el uertex de A(v*)A(v*) := A(v*) - {v}A(v) := A(v) - {v*}Al := Al U {(v* ,v)}v* := vAfegiu v* al final de L.

3. L és el resultat.

La complexitat de l'algorisme és O(m2). Efectivament, el bucle Mentre ...es realitza IAI vegades, una per a cada aresta considerada. Dintre del bucles'ha de trobar una aresta (v*, v) que no sigui pont a G - Al, i aixo es potfer mitjancant O (1A - Al!) passos cercant si hi ha camí de Vi a Vj en el grafG - (Al U {(Vi,Vj)}).

Queda per veure que en la instrucció Si del pas 2 sempre és possible detrobar el vertex v E A(v*) adequat. Si aixo és possible, podem afirmar que elmeto de obtindra finalment un circuit euleria,

Teorema 8.5 L 'algorisme de Fleury funciona correctament.

DEMOSTRAcró. Tret del vertex inicial w, quan arribem al vertex v* tenim queIA(v*)1 > O i que IA(v*)1 és senar perque grau(v*) és parell. Si IA(v*)1 = 1,el vertex següent és únic; cas contrari, veurem que -com a molt- una arestaincident a v* pot ésser un ponto

Page 172: Grafs - Fonaments i Algorismes

172 8. Camins i circuits eulerians

Comencem remarcant que qualsevol component del graf G - Al enllacat av* rnitjancant un pont ha de tenir un vertex de grau senar a G - Al. Suposemque no és així, Aixó implica que la suma deIs graus deIs vertexs del componentés un número parell. En canvi, la suma d'aquests graus és senar perque cadaaresta del component contribueix dues vegades a la suma, tret del ponto

Tenim precisament dos vertexs de grau senar a G - Al, que són w i v*. Aixídones, hi pot haver -com a molt- un pont de G - Al adjacent a v*(~ w).Suposem ara que v* = w. Si IA(w)1 > O, tal com demana la condició del bucle,aleshores, cap aresta incident a v* no és un pont de G - Al. Aixó és així perquequan el circuit euleriá torna a w, cada vertex de G - Al és de grau parell. Pero,tal com hem dit, si un pont enllacés un component de G - Al a w, aleshores,aquest component tindria -pel cap baix+- un vertex de grau senar.

Així dones, sempre es pot escollir el vertex v següent.D

8.3 Circuit euler'ia mixtConsiderem ara el cas més general en que el graf G pot contenir alhora ares iarestes, tal tipus de graf sera anomenat mixto Si pensem que G representa laxarxa de carrers d'una ciutat, els ares podrien correspondre als carrers d'un solsentit (obligat) de circulació i les arestes, als carrers de doble sentit.

Un graf mixt és balancejat si en cada vertex es verifica que el nombre d'arcsque en surten coincideix amb el nombre d'arcs que hi arriben. El grau d'unvertex d'un graf mixt vindrá donat per la suma del nombre d'arestes i d'arcsque I'afecten. Finalment, un graf mixt és parell si cadascun deIs vertexs té grauparell.

Considerem primer el cas particular d'un graf mixt balancejat que riomésconté ares, aixo és el mateix que dir, un graf dirigit on el grau interior de cadavertex coincideix amb el grau exterior. Una arborescéticia d'un graf dirigit G ésun graf parcial T (amb el graf subjacent connex) on tot vertex té grau exterior1, tret d'un vertex anomenat arrel. Direm que una arborescencia és tiuuiurui siconté tots els vertexs de G.

Veurem ara que, a partir d'una arborescencia máxima, es pot determinarimmediatament un circuit euleriá per a G. Una arborescencia máxima es potobtenir a partir d'una arborescencia inicial T qualsevol, afegint seqüencialmenta T ares que tinguin el vertex inicial a G - Ti el vertex final a T. Obtingudauna arborescencia máxima, per a cada vertex Vi -tret de l'arrel- numeremels ares que surten de Vi de forma arbitraria, amb I'única condició que I'arcde I'arborescencia sigui el darrer numerat. Per a l'arrel, qualsevol ordenaciódeIs ares és igualment apropiada. D'aquesta manera, el circuit euleria s'obté a

Page 173: Grafs - Fonaments i Algorismes

.3. Circuit euler íá mixt 173

partir de l'arrel prenent en cada vertex -segons la numeració precedent- elprimer are no usat encara.

Passem ara al cas més general d'un graf mixt balancejat parell on hi haarestes (fig. 8.1). El procediment que veurem a continuació es basa a assignarsentit de recorregut a algunes de les arestes sense que el graf deixi de verificaren cap moment les condicions d'existencia de circuit euleria. Direm que unaaresta ha estat orientada quan ha rebut un sentit de recorregut. Un vertexera nou mentre no hagi estat tractat durant el procediment; inicialment tots

els vertexs són nous.Un pas fonamental de l'algorisme consisteix a estendre una arborescencia

T a partir d'un vertex Vj E T, usant un are (Vi, Vj) on Vi és un vertex nou.Aquest vertex Vi passa a formar part de T i deixa de ser un vertex nou; diremque és un vertex usai. L'arborescencia s'estendra ara a partir de Vi. L'altrepas fonamental de l'algorisme consisteix a explorar un vertex Vj; aixo significaconsiderar totes les arestes (Vi, Vj) que afecten a Vj per veure si, en alguna, Vi

és un vertex nou. Si és així, l'aresta (Vi, Vj) rep l'orientació "de" Vi "a" Vj,

entra a formar part de l'arborescencia, i Vi passa a ésser el vertex actual.

fig. 8.1

Circuit euler ia mixt

1. Considereu nous tots els oértexs.Escolliu un uértex inicial v* qualseuol; v := v*.

2. Si v és nou etiqueten-lo com a usat i esteneu l'orborescéncia a partir deV.

Si v = v* i i'arborescencia és truucima; acabeu.Si no, aneu a 3.

3. Si V és un uériex usat, exploreu-lo.Si en l'exploració es troba un uértex nou Vj, V := Vj i torneu a 2.Si no, V esdevé explorat, aneu a 4.

Page 174: Grafs - Fonaments i Algorismes

174 8. Camins i circuits eulerians

4. Quan v ha estat explo rat, sigui (Vi, Vj) una aresta tal que Vj = v.Assigneu a (Vi,Vj) el sentit de Vi a Vj; V:= Vi.Si V = v* i l'arborescéncia és maxima, acabeu.Si no, torneu a 3.

Notem que l'algorisme acaba quan ja no queden vertexs nous i V = v*, aixoassegura que l'arborescencia sera máxima, Igualment, el graf resultant continuaessent balancejat, donat que sortim de V i tornem a v, i durant el recorregutassignem a cada vertex Vk una aresta d'entrada i una de sortida. Finalment,el nombre d'arestes que no han rebut orientació és manté com un valor parell(o nul) en cada vertex, Així dones, podem obtenir un circuit euleria seguint elprocés següent: havent entrat en un vertex v, es surt de V prenent qualsevolaresta no usada previarnent; si ja no en queda cap, es surt pel primer are (oaresta orientada) que no s'hagi usat encara.

8.4 Les seqüencies de De BruijnSigui ¿; = {O, 1..., o - 1} un alfabet de o símbols. Podem formar fins a a"paraules diferents de longitud ti sobre ¿;.

Una seqiiéncia de De Bruijti és una paraula aOal ... aL-l sobre ¿; tal quetota paraula w E ¿; de longitud n es pot expressar mitjancant un únic i com aw = aiai+l ... aHn-l on els subíndexs es consideren módul L. És clar que laseqüencia haura de verificar L = a":

Un cas particularment interessant es presenta quan a = 2 i ¿; = {O, 1}.

EXEMPLELa seqüencia 01110100 és una seqüencia de De Bruijn per a a = 2 in = 3 sobrel'alfabet ¿; = {O, 1}. Efectivament, si anem desplacant circularment el primersímbol de la seqúencia es van formant les 23 = 8 paraules 011 ---7 111 ---7

110 ---7 101 ---7 010 ---7 100 ---7 000 ---7 001.

Associarem ara, a tota seqíiencia de De Bruijn, un graf dirigit Ga,n(V, A)on:- V és el conjunt de les (/n-l paraules de longitud n - 1 sobre ¿;- A és el conjunt de les a" paraules de longitud n sobre ¿;- l'arc b1b2... bn comenca en el vertex b1b2... bn-1 i acaba en el vertex b2b3... bn

EXEMPLEEl graf G2,3(V, A) sobre ¿; = {O,1} es representa en la fig. 8.2

Page 175: Grafs - Fonaments i Algorismes

8.5. El problema del carter xines 175

0000

~~~10. 01<. 010 /110~ /011

11

Q111

fig. 8.2

Aquests grafs associats a les seqüencies s'anomenen diagmmes de De Bruijn-o diagrames d'estat dels registres de desplacament. És fácil veure que -perconstrucció dels diagrames de De Bruijn- si determinem un circuit euleria aGa,n, aleshores obtindrem una seqiiencia de De Bruijn prenent, consecutiva-ment, el primer símbol de cada arc del circuito

El que caldria ara veure és que tot graf Ga,n conté un circuit euleria.

Teorema 8.6 Per a tots els natumls (J ~ 2 i n ~ 2, Ga,n té un circuit euleriádirigit.

DEMOSTRAcró. És dar que el graf subjacent és connex; per tant, hi hauracircuit euleriá si grau interior( Vi) = grau exterior (Vi) VVi E V.

El vertex b1bz ... bn-1 és assolit pels ares de la forma c b1bz ... bn_1 on c prendra(J valors diferents. Alhora, el vertex b1b2 ... bn-1 és el vertex de sortida delsares b1b2 ... bn-1 c per a (J valors diferents de c. Per tant, grau interior(vi) =

grau exteriortv.¡ = (J VVi E V.O

8.5 El problema del carter xinesImaginem el cas d'un carter que ha de realitzar la seva feina en un determinatbloc de carrers. Una qüestió que es pot plantejar abans de cornencar a repartirel correu és, quina ruta hauria de seguir per a poder recórrer tots els carrers-passant, pel cap baix, una vegada per cadascun- de manera que la distanciatotal recorreguda sigui mínima. Aquest és l'anomenat problema del carter xinés(Chinesse postman problem (CPP) , en angles). El perque del carácter orientald'aquest carter es troba en el fet que el primer en considerar el problema fouel xines Guan Meigu (Kwan Mei-ko en la transcripció xinesa antiga).

Page 176: Grafs - Fonaments i Algorismes

176 8. Camins i circuits eulerians

En termes de grafs, el plantejament fet pel carter és el següent: donatun multigraf G(V, A) (simetric o dirigit) amb cost Cij > O associat a cada(Vi, Vj) E A, es demana trobar un circuit -no necessariarnent simple- quepassi per cada aresta o are, i minimitzi el seu cost total. Evidentment, si elgraf G conté un circuit euleria, aquest sera la solució pel problema; per tant,ens centrarem en els grafs que no són eulerians.

Considerarem per separat el cas simetric i el cas dirigit.

G(V, A) simetric

La idea central del procediment és aconseguir que G(V, A) passi a tenircircuit euleria mitjancant la duplicació d'algunes de les arestes. Naturalment,la duplicació d'arestes parta com a objectiu que grau(vi) sigui parell '<1Vi E V,i haura de fer-se de manera que el cost addicional afegit sigui el mínim possible.

Si eij representa el camí de cost mínim de Vi a Vj a G, i c(eij) el cost, ales-hores, el metode que donem a continuació formalitza el procediment apuntatabans.

Edmonds

1. DonatG(V,A), feu unapartició de V = {Vl,V2""Vn} en dos conjunts:Vp := {Vi E V tal que grau (Vi) és parell}Vs := {Vi E V tal que graU(Vi) és senar}s := IVsl.

2. Obtingueu c(eij) '<IViE Vs, vs E Vs vi =f. vs

3. Formeu el graf complet K, sobre Vs amb un cost associat Cij = cEeij) acada (Vi,Vj).

4. Determineu un aparellament perfecte opiim M* en Ks'

5. Dupliqueu a G les arestes dels camins eij corresponents als costos de lesarestes de M*.

6. El multigraf resultant té un circuit euleria; aquest és la solució.

ObservacióUn algorisme per a trobar un aparellament perfecte optim en K, es pot deduirdirectament de l'algorisme per a determinar un aparellament de cost majar.Efectivament, n'hi ha prou de substituir en K; cada cost Cij per W - Cij,essent W una constant que supera el cost de cadascuna de les arestes de Ks' Acontinuació, es determina un aparellament de cost major en el graf resultant.

Page 177: Grafs - Fonaments i Algorismes

8.5. El problema del carter xiries 177

EXEMPLEigui G el graf de la fig. 8.3 amb costos assignats en les arestes.

Vs2

VI6

V2

1

1

25 46

V7 V3---V4

~IgV6---V5

4

fig. 8.3

En aquest cas tenim Vs = {Vl,V2,V5,V6}; per tant, K; conté aquests 4vertexs i les 12 arestes corresponents. Per a determinar el cost de cadascunaen K; es troba el camí optim que uneix cadascuna de les sis parelles de vertexsen G. Així obtenim: C(C2I) = C(C12) = 5, C(C5I) = C(C15) = 12, c(C6d =C(C16) = 8, C(C52) = C(C25) = 7, C(C62) = C(C26) = 3 i C(C65) = C(C56) = 4.

En Ks, l'aparellament perfecte M* de cost mínim té un cost de 9 unitats ive donat per les parelles de vertexs (VI V2) i (V5 V6). En G, C12 = VI - V7 - V2,

mentre que C56 = V5 - V6. Per tant, un cop afegides a G aquestes tres arestesobtenim un multigraf que ja és euleria.

G(V, A) dirigit

La primera observació que cal fer en el cas dirigit és que, a diferencia del cassimetric, no tot graf G tindrá circuit euleria, encara que en dupliquem algunsdels ares. No costa gaire de construir exemples que ho evidencien. Així dones,el primer que cal fer és establir en quin es condicions un graf dirigit G tindráuna solució per al problema del carter xines.

Teorema 8.7 G(V, A) dirigit té solució al problema del carter xinés {=} G ésjortament connex.

DEMOSTRAcró. (=?) És clar que, si G té solució per al problema del carter,aleshores, ha d'ésser fortament connex. Simplement, per a cada parella devertexs Vi,Vj, una part del circuit donara un camí de Vi a Vj i l'altra part eldonara de vi a Vi.

(.;=) Construim un circuit euleria, A partir d'un vertex qualsevol VI el cir-cuit es formara progressivament eixamplant un circuit anterior -no euleria->fins que el circuit actual passi per tots els ares.

Page 178: Grafs - Fonaments i Algorismes

178 8. Camins i circuits eulerians

Considerem que en un cert moment tenim el circuit VI ----> Vi ----> Vj ---->

'" ----> Vk ----> VI i que l'arc (vp, vq) no ha estat travessat. Com que G ésfortament connex hi ha un camí PIp de VI a vp i un carní Pq1 de vq a VI. Podemincloure (vp, vq) en el proper circuit si prenem la sequencia PIp (vp, vq) PqI. Elprocés es repeteix fins haver inclos tots els ares al circuit.O

Passem ara a construir un procediment per a resoldre el problema del carter,quan ja sabem que es verifica el teorema 8.7.

Ens interessa obtenir a partir de G un graf euleria Gil tal que el circuiteuleriá a Gil es correspongui amb la solució del problema del carter a G. Elprocediment per a formar Gil es basara, per analogia amb el cas simetric, en larepetició d'arcs. La duplicació s'haurá de fer, en aquest cas, unint -mitjan<;antun camí Pij- un Vi a un altre Vj tals que grau interior (Vi) =f. grau exterior( Vi)i grau interior(vj) =f. grau exterior(vj).

Si definim \Iv E V: g( v) = grau interior (v) - grau exterior( v), aleshores,si volem duplicar un camí Pij de Vi a Vj caldra que g( Vi) > O i g( Vj) < O. Defet, caldrá afegir a Gil g( Vi) camins que comencin a Vi i -g( Vj) camins queacabin a Vj.

Veurem com obtenir Gil a partir de la resolució d'una xarxa de transportGI formada, en base a G, segons el procediment següent. Els vertexs de GI sónels que hi ha en G. Tot vertex Vi tal que g( Vi) > O sera un vertex inicial de laxarxa GI

, i tot vertex Vj tal que g( Vj) < O sera un vertex final de la xarxa. Elsares de GI són els que hi ha en G; mantenen el cost i passen a tenir capacitatinfinita. Cada camí Pij de Vi a Vj representara una unitat de flux que s'enviade Vi a Vj, i que tindra com a cost la suma dels costos dels ares que formenpart de Pij. D'aquesta manera, per a cada Vi tal que g( Vi) > O voldrem enviarg( Vi) unitats de flux des d'ell, i per cada Vj tal que g( Vj) < O voldrem que liarribin -g( Vj) unitats de flux.

El flux resultant s'ha de transmetre amb un cost total mínimo

Tal com vam veure en el capitel 7, la xarxa es podrá reduir al cas d'unúnic vertex inicial us i un únic vertex final VT, per tal de poder aplicar-lidirectament els metodes vistos fins ara. Efectivament, podem fer-ho creant:un arc (vs, Vi) per a cada Vi amb g( Vi) > O, el qual tindra capacitat qs« = g( Vi)i cost CSi = O, i un are (Vj, VT) per a cada Vj amb g( Vj) < O, el qual tindracapacitat qjT = -g(Vj) i cost CjT = O.

Així dones, a partir de la distribució del flux maxim de cost mínim a GI

-el qual saturara tots els ares que surten de Vs i tots els que arriben a VT-coneixerem els ares que cal duplicar i quantes vegades, per a obtenir el grafeuleria Gil.

Page 179: Grafs - Fonaments i Algorismes

8.5. El problema del carter xínes 179

EXEMPLEigui G el graf dirigit de la fig. 8.4 amb costos assignats en els ares.

fig. 8.4

Si avaluem g(Vi) VVi E V obtenim la taula següent:

Per tant, tenim com a vertexs inicials V5 i V6, i, com a vertexs finals, VI iV3. Haurem, dones, d'afegir els dos vertexs artificials Vs i VT amb els ares(VS,V5), (VS,V6), (Vl,VT) i (V3,VT), amb capaeitats qS5 = QS6 = Q1T = Q3T = 1i costos CS5 = CS6 = CIT = C3T = O. Tots els ares de G queden amb el cost quetenien i eapacitat infinita.

D'aquesta manera tenim formada la xarxa GI, en la qual maximitzem el

flux minimitzant-ne el costo Fet aixo, s'obté el valor de flux següent en eadaarc de GI

:

Aixo implica que els ares que cal repetir són (V5,V6) i (V3,Vl) una vegada, i(V6,V4) i (V4,V3) dues vegades. Aquesta duplieació d'ares suposará un incre-ment de (1 x 8) + (1 x 7) + (2 x 5) + (2 x 6) = 37 unitats de cost per a poderresoldre el problema del carter.

Page 180: Grafs - Fonaments i Algorismes

1 o 11 1

OO1 1O 1

1O11

o1O11

180 8. Camins i circuits eulerians

Comentaris bibliográfics

Les anomenades seqüencies de De Bruijn foren estudiades en De Bruijn (1946).El problema del carter xines fou presentat en Guan (1962a, 1962b). Edmondsi Johnson (1973) és un recull extensiu +-molt recomanable- sobre els diversostipus de problemes eulerians, incloent-hi el cas dels grafs mixtos. En el mateixsentit es poden consultar Fleischner (1990, 1991).

Exercicis

1. En els escacs, és possible de determinar un recorregut per a un cavall talque realitzi damunt del tauler (8x8) tots els moviments possibles una vegada?

2. Considereu que un grup de 6 corredors han de fer unes quantes curses un-contra-un en cadascuna. La matriu que ve a continuació indica amb un 1 enla posició (i, j) que el corredor i ha de competir amb el i. cas contrari hi haun O. A efectes de rendiment, convé que cada corredor pugui efectuar duescurses consecutives, pero mai tres. Es demana si és possible de dissenyar unaseqüencia de curses en la qual cada corredor en cada cursa (tret de la darrera)també corre en la següent, pero no en la tercera. Si és possible de fer-ho,descriviu el procediment i doneu-ne la seqiiencia; si no ho és, expliqueu-ne elperque.

1O 11 11 OO 1 1

3. Considereu un tambor magnetic que té 16 sectors diferents. Per a saberen cada moment en quina posició es troba, es coll oquen 4 terminals sensorsperpendicularment damunt de 4 sectors consecutius. Cada sensor s 'activa quanté a davant un sector fet d'un material conductor. Es demana com s'ha de ferla distribució de material conductor i no conductor damunt dels sectors, demanera que, a partir de la informació dels sensors, es pugui coneixer la posiciórelativa del tambor.

4. Quan un plotter dibuixa un esquema electric o un mapa d'enllacos ferroviaris,perd temps mentre va d'un element a un altre de l'esquema "volant" per sobredel paper amb el retolador alcat. Es demana que proposeu un procediment quepermeti minimitzar aquests temps morts.

Page 181: Grafs - Fonaments i Algorismes

.5. El problema del carter xiries 181

5. Sigui G(V, A) simetric i no euleriá. Demostreu que en la solució al problemadel carter xines cap aresta no sera recorreguda mai més de dues vegades. Podemafirmar el mateix si G és dirigit?

6. Sigui G(V, A) dirigit; estudieu les dues implicacions següents i decidiu si són·aI.ideso no:

a i G té circuit euleriá =? G és fortament connex.Si G és fortament connex =? G té circuit euleria.

Page 182: Grafs - Fonaments i Algorismes
Page 183: Grafs - Fonaments i Algorismes

Capítol9

Camins i circuitshamiltonians

9.1 Teoremes d'existencia

Sigui G(V, A) un graf simetric i connex (dirigit i amb el graf subjacent connex),un circuit hamiltonúi és aquell que passa per cada vertex una vegada i nomésuna. Dit d'altra manera, un circuit harniltonia és un circuit elemental quetravessa tots els vertexs. De forma análoga es pot definir un camí hamiiioniaper a un graf simetric o dirigit. A vegades s'anomena harniltoniá al graf queconté circuit hamiltonia.

El nom d'aquests circuits és degut a W. R. Hamilton, matematic i astronomescocés. Segons sembla, el 1857 va presentar un petit joc de taula en forma dedodecaedre on cadascun dels 20 vertexs representava una ciutat. Es demanavafer un recorregut de manera que calia visitar totes les ciutats una vegada, iacabar allá on s'havia sortit. Tot i que Hamilton va fer famós el problema,fou el matemátic angles T.P. Kirkman el primer en deixar constancia escrita-l'any 1855- del problema de la determinació d'aquesta mena de circuitsdamunt d'un poliedre.

Així corn, en el capítol precedent, la determinació de l'existencia -o no-i l'obtenció de circuits eulerians, eren problemes fácilment resolubles, en el casdels circuits hamiltonians el panorama és completament diferent. Esbrinar, enel cas general, si un graf G(V, A) té un circuit harniltonia és un problema NP-G.A més, no disposem de cap condició que sigui alhora necessaria i suficient pera garantir-ne I'existencia. Així dones, els resultats que veurem a continuacióseran necessariament parcials i els algorismes exactes seran viables mentre [VI

183

Page 184: Grafs - Fonaments i Algorismes

184 9. Camins i circuits hamiltonians

es mantingui dintre d'uns certs límits. En canvi, els algorismes aproximatsprendran més protagonisme.

Comencem amb una condició necessaria d'existencia aplicable als grafsplans.

Teorema 9.1 Sigui G un graJ pla que conté un circuit luimilionui H i siguinRj i Rj, respectivament, el nombre de regions de G que queden dins i Jara deH i vénen delimitades per j arestes. Es verifica que:

¿(j - 2)(Rj - Rj) = Oj>2

DEMOSTRAcró. Si m' és el nombre d'arestes que es troben a l'interior de H,aleshores, el nombre total de regions dins de H és Ej Rj = m' +1 donat que Hés un circuit harniltoniá. Tenim dones que cadascuna d'aquestes arestes limitaamb dues regions interiors de H, i que cada aresta de H limita amb una regióinterior de H, per tant, Ej jRj = Zm' + n. (Recordem que IHI = n.)

Combinant les dues expressions obtenim que Ej (j - 2)Rj = n - 2. 1 de lamateixa manera s'obté que Ej(j - 2)Rj = n - 2. Restant-les, s'aconsegueixl'enunciat.D

En la practica, aquest resultat s'usa per a arribar a demostrar que un certgraf pla no conté circuit hamiltoniá, mitjancant la comprovació que no és pos-sible de verificar la relació que el teorema imposa.

EXEMPLESigui G(V, A) el graf pla de la fig. 9.l.Observem que G conté únicament 3 regions limitades per 4 arestes i 6 regionslimitades per 6 arestes. Per tant, tenim que R4 + R~ = 3; R6 + R~ = 6.

L'enunciat demana que 2(R4 - R~) + 4(R6 - R~) = O. Veurem que aixo noés possible considerant el ter me (R6 - R~).a) Si R6 = R~ =}. R4 = R~, i aixo no és possible perque tant R¿ com R~ sónnaturals. .b) Si R6 -1- R~ =} IR6 - R~I :::: 2, i, per tant, 41R6 - R~I :::: 8. Pero, d'altrabanda tenim que 21R4- R~I :::::6. 1 és evident que no es poden verificar les duesrestriccions alhora, i que la suma dels dos termes sigui O. Així dones, G no técircuit hamiltonia.

El 1880 Tait va formular la conjectura que tot graf pla 3-connex i S-regulartenia circuit harniltonia, No va ser fins molts anys més tard (Tutte (1946)) quees va donar un contraexemple (vegeu la fig. 9.2) que desfeia la conjectura. Elmateix Tutte, va provar en canvi (Tutte (1956)) que sí que era harniltonia totgraf pla 4-connex.

Page 185: Grafs - Fonaments i Algorismes

9.1. Teoremes d'existimcia 185

6 6

4 6

fig. 9.1

fig. 9.2

Page 186: Grafs - Fonaments i Algorismes

186 9. Camins i circuits hamiltonians

Una condició necessaria d'existencia de circuit hamiltonia, forca senzilla deverificar, i que resulta bastant útil, ve donada pel:

Teorema 9.2 Si G(V, A) siméiric és hamiltonúl ~ VV' e V (V' -=J 0) esverifica que C(G - V') :::;¡V'I. Essent C(G - V') el nombre de components delgrafG - V'.

DEMOSTRACIÓ.Si H és un circuit hamiltonia de G tenim que VV'C(H - V') :::;¡V'I. Pero H - V' és un graf parcial de de G - V'; per tant, C(G - V') :::;C(H - V').o

A continuació presentem algunes de les condicions suficients més usual sd'existencia de camí o circuit hamiltonia, tant per a grafs simetrics com dirigits.La primera no requereix gaire comentario

Teorema 9.3 Tot graf G simétric i complet té circuii hamiltotiui.

Teorema 9.4 Si G(V, A) és connex i simétric amb ¡VI = n > 2 i grau(vi) ;:: ~V Vi E V ~ té circuit hamiiionu):

DEMOSTRACIÓ.Suposem que es verifiquen les condicions i que G no conté cir-cuit hamiltonia. Sabem que G no pot ésser complet (si ho fos, pel teorema 9.3ja hauríem acabat) per tant, podem afegir-hi arestes -sense trencar les con di-cions imposades per l'enunciat- fins que l'addició d'una nova aresta impliquila creació d'un circuit hamiltoniá.

En aquest moment, G té camí hamiltonia. Sigui aquest (VI, V2.·., Vn) on VI

i Vn sabem que són no adjacents. Definim dos conjunts de vertexs:- V' = {Vi tal que (vI,Vi+d E A}- V" = {Vi tal que (Vi,Vn) E A}Aleshores, ¡V' n V"I = O; si no fos així V' i V" tindrien un vertex comú Vi i Gtindria el circuit hamiltonia (VI, V2···, Vi, Vn, Vn-I"" Vi+I, vd·

A més ¡V'uV"1 < nja que Vn rJ.V' ni a V". Per tant, grau(vd+grau(vn) =¡V'I + ¡V"I = ¡V' U V"I + ¡V' n V"I < n de manera que grau(vd o grau(vn) ésinferior a ~, la qual cosa contradiu la suposició de l'enunciat.O

El resultat següent generalitza el teorema 9.4:

Teorema 9.5 Sigui G(V, A) siméiric amb ¡VI ;:: 3 en el qual per a tota parellade uérieis no adjacents Vi, Vj es verifica que grau( Vi) + grau( Vj) ;:: ¡VI ~ G ésluimiitoniñ.

DEMOSTRACIÓ.Ho veurem per contradicció.Sigui G(V, A) el graf no harniltonia que maximitza IAI amb ¡VI = n i que

verifica les condicions de l'enunciat. Siguin Vi i Vj dos vertexs de G no adjacent .

Page 187: Grafs - Fonaments i Algorismes

.1. Teoremes dexistóncia 187

_ eshores, GU{( vi, Vj)} ha de ser hamiltonia, i, per tant, hi ha d'haver un camíhamiltoniá C en G de Vi a Vj. Podem considerar que el camí és de la formar» = (Vi = VI,V2""Vn = Vj). Si vi és adjacent a Vk, aleshores Vj no pot ésseradjacent a Vk-I. Cas contrari, la seqiiencia (VI,V2 ... ,Vk-I,Vj,Vn-I ... ,Vk,VI)- ria un circuit harniltonia. Per tant, per a cada vertex de G adjacent a Vi hi haun vertex en G no adjacent a Vj. Aixo vol dir que grau( Vj) ::; IV1-1- grau( Vi),la qual cosa contradiu la suposició inicial.D

Passem ara als grafs dirigits.

Teorema 9.6 G dirigit i amb el graj subjacent complet té camí Iuuniltotiiá.

DEMOSTRAcró. Sigui P = (VI,V2 ... ,Vk) un carní dirigit a G(V,A). Suposemque hi ha un V E V tal que V ti:. P. Tenim que VI::; i ::;n:- (V,Vi) ti:. A=? (Vi, V) E A- (Vi, V) ti:. A=? (V,Vi) E A

Usarem ara aquesta propietat per a construir un nou camí de k + 1 vertexsa partir de P, el qual contindrá v.

Si (v, VI) E A =? tenim el camí (v, VI, V2···, Vk)si no (VI, V) E A, aleshores:

Si (V,V2) E A=? tenim el camí (VI,V,V2""Vk)

si no (V2, v) E A, aleshores:

Si (V,V3) E A=? tenim el camí (VI,V2,V,V3""Vk)

Si (v, Vk) E A=? tenim el camí (VI, V2 ... , Vk-I, V, Vk)

si no (Vk, v) E A, aleshores tenim el camí (VI, V2 ... , Vk, v).D

Finalment:

Teorema 9.7 G dirigit, jortament connex i amb el graj subjacent complet técircuit hamiltonia.

DEMOSTRAcró. Si G(V, A) és fortament connex ha d'existir, pel cap baix, uncircuit elemental. Sigui C = (VI, V2 ... , Vk, VI) el circuit de longitud máxima aG. Suposem que C no inclou un cert vertex V; vegem primer que o bé existeix(V, Vi) VVi E C o bé existe ix (Vi, V) VVi E C.

Com que C és maximal, tenim que Vi (mcdul k):- (V, Vi) E A=? (Vi-I,V) ti:. A- (Vi, V) E A=?( V, Vi+ d ti:. Acas contrari, podríem construir un circuit més llarg que C.Ara, ja que el graf subjacent de G és complet:

Page 188: Grafs - Fonaments i Algorismes

188 9. Camins i circuits hamiltonians

- (Vi-I,V) rt A=? (V,Vi-I) E A- (v, vi+d rt A=? (Vi+I, v) E APer tant, Vi = 1,2 ... , k:- (V,Vi) E A=? (V,Vi-I) E A- (Vi, V) E A=?( Vi+ 1, V) E A

Així dones, podem fer una partició dels vertexs que no estan a G en duesclasses:- VI = {Vi tal que 3(Vi,Vj) VVj E G}- V" = {Vi tal que 3(Vj, Vi) VVj E G}

Com que hem dit que G no és harniltonia, tenim que VI U V" =1 0. Amés, com que G és fortament connex, es verifica que VI =1 0 i V" =1 0, ihi ha un are (v", Vi) de V" a VI. Per tant, podrem formar el circuit GI =

(VI,V2 ... ,Vk,V",vl,vd on IG/I > IGI. 1 aixo contradiu l'elecció inicial de G.O

Un concepte útil per a detectar i obtenir circuits hamiltonians és el de factoren un graf. Un k-factor (k> O) en un graf G(V, A) és un subgraf k-regular deG obtingut mitjancant l'eliminació d'arestes de G. Tot circuit hamiltoniá ésclararnent un 2-factor, pero el recíproc no és cert, hi ha 2-factors que no sóncircuits hamiltonians.

Veurem un pracediment que permet determinar si un graf dirigit conté un2-factor, i, si és així, trabar-lo.

A partir de G(V, A) dirigit, construím el graf bipartit GI( {V, VI}, Al) on:V = {VI, V2 ... , Vn} i VI = {V~, vb ... , V~}, arnb un are (Vi, vj) E Al {o} (Vi, Vj) E A.

A continuació es determina a GI un aparellament máxim M, aleshores:

Teorema 9.8 G conté un 2-factor {o} M és perfecte.

DEMOSTRACIÓ. (-{=) Si GI té un aparellament perfecte M, aleshores, G contéun 2-factor format per les arestes (Vi, Vj) tals que (Vi, vj) E M.

(=?) Si (Vi,Vj) és un are del 2-factor, aleshores, (Vi,Vj) és una aresta d'unaparellament a GI

• No costa gaire d'adonar-se que aquest aparellament had'ésser perfecte.O

9.2 Obtenció de camins hamiltoniansVeurem ara un parell de metodes exactes per a obtenir camins hamiltonians enun graf G(V, A) dirigit, quan ja sabem que existeixen.

El primer meto de és un pracediment algebraic de multiplicació de matriusque genera tots els camins elementals de longitud k que hi ha a G a partir de

Page 189: Grafs - Fonaments i Algorismes

9.2. Obtenció de camins hamiltonians 189

la seva matriu d'adjacencia A(G). Així, prenent k = n-1, podem obtenir totsels camins hamiltonians de G.

Cal abans definir la multiplicació llatina ® de dues matrius E i D quecontenen en cada posició, o bé un O, o bé una o més seqíiencies de vertexs.L'operació E ® D es realitza segons les regles següents:- O multiplicat per qualsevol seqüencía dóna O com a resultat- el producte de dues sequencies dóna com a resultat la concatenació d'aques-es

- la suma de dues seqüencies dóna com a resultat les dues seqüencies perseparat- qualsevol seqiiencia -resultant d'un producte de seqüencies-> que contéalgun vertex repetit passa a valer O

EXEMPLE

(1,5,6,8) . (2,3,9) = (1,5,6,8,2,3,9)

(1,5,6,8) + (2,3,9) = { (~2~3~9~)}(1,2,6,8) . (4,6,10) = (O)

Metode de les multiplicacions llatines

1. Formeu la matriu cuadrada MI = (mU d'ordre non:

si (Vi,Vj) E Acas contrari

2. Formeu la matriu N eliminant de MI el primer índex de cada posiciódiferent de O.k:= 2.

3. Mentre k < n feu el següent:

Mk:= Mk-I ®Nk := k + 1

4. Mn-I és la solució.

Page 190: Grafs - Fonaments i Algorismes

190 9. Camins i circuits hamiltonians

El segon metode (Roberts i Flores) es basa en el backtmcking i dóna coma resultat un únic camí -o circuit, si es vol- hamiltonia. Té, per tant,l'avantatge d'haver de menester molt menys espai de memoria que el procedi-ment de les multiplicacions llatines.

Cal formar una taula P = (Pij)de k files in columnes. P esta indexada pelsvertexs en les columnes i sota cada vertex v hi ha el conjunt T'( v). Aixo dónacom a resultat una taula no regular que té k = maxViEv{grau exterior(vi)}files. El camí (circuit) harniltoniá es forma progressivament en una llista orde-nada S, a partir del recorregut de P.

Roberts i Flores

Escollim un vertex inicial VI. Usant la taula P, el primer vertex Vi de lacolumna corresponent a VI s'afegeix a S. A continuació, el primer vertex "pos-sible" (no usat anteriorment) Vj de la columna corresponent a Vi s'incorpora aS. Tot seguit, es fa el mateix amb el primer vertex possible Vk de la columnade Vj ...i així successivament.

Suposem que en un dels passos del procés tenim S = {VI, Vi,Vj ...,Vr-I ,Vr};

hi ha dues maneres de bloquejar el procés d'incorporació d'un nou vertex a S:a) no hi ha cap vertex possible en la columna de Vrb) el camí representat per S conté n - 1 ares, i, per tant, és harniltonia

Si es dóna el cas b i volem circuit harniltonia -i no camí- comprovarem siexisteix l'arc (vr,vd. Si és així hem acabat, si no, haurem de fer backtrack. Sies dóna el cas a haurem de fer backtrack directament.

El backtmcking haurá de treure de S el darrer vertex afegit Vr i substituir-lopel primer vertex possible a continuació de u; en la columna de Vr-I. Si talvertex no existeix, farem backtrack des de Vr-I ... Finalment, el procés acabarasi tornant enrere s'arriba novament a VI i no hi ha vertexs possibles per acontinuar el procés.

EXEMPLESigui G el graf dirigit de la fig. 9.3.

Volem determinar -si existeix- un circuit hamiltonia a G. La taula P devertexs és:

VI V2 V3 V4 V5 V6

V2 V3 VI V3 V3 V1- V5 V4 V6 V4 V2- - - - - V3

Page 191: Grafs - Fonaments i Algorismes

9.3. El problema del viatjant 191

fig. 9.3

En la taula que ve a continuació s'indica el contingut de la llista ordenadaS cada vegada que en varia un dels elements.

crr::::o 3 4 5 6 7 c::::o~I V1V2V3 V1V2V3V4 V1V2V3V4V6 V1V2V3V4 V1V2V3 ~

11 12V1V2V5V3V4 V1V2V5V3V4V6

9.3 El problema del viatjantPassem ara a estudiar el problema del viatjant (traveling salesman problem(TSP), en angles), un dels més populars de tots els que s'han plantejat sobregrafs. Podem dir que el TSP és als circuits hamiltonians, el que el CPP era alseulerians, amb la diferencia que el TSP és NP-hard.

Ara dones, en termes de grafs, el plantejament és el següent: donat un grafsimetric (dirigit) G(V, A) amb cost Cij > O associat a cada aresta (are) (Vi, Vj),es demana trobar un circuit -o un camí- elemental que passi una vegada percada vertex i que en minimitzi el cost total. En l'anomenat TSP generalitzat(TSPg) es demana que el circuit passi com a mínim una vegada per cadascundeIs vertexs. Ens centrarem en el TSP no generalitzat, cal tenir present que lasolució óptima pel TSPg no té per que ésser un circuit hamiltonia, aixo és aixíperque el recorregut pel TSPg pot passar més d'un cop per algun deIs vertexs,

EXEMPLEEn el graf de la figura 9.4 el circuit hamiltonia de cost mínim és únic i té cost1+ 10 +4 = 15. En canvi, la solució óptima pel TSPg té cost 1+3 +2 +4 = 10.

Page 192: Grafs - Fonaments i Algorismes

192 9. Camins i circuits hamiltonians

fig. 9.4

Direm que un graf G(V, A) verifica la desigualtat triangular en els costos deles arestes si Cik ::; Cij + Cjk t/Vi, Vj, Vk E V. Aquesta restricció és natural si esconsidera, per exemple, que els costos assignats a les arestes són la distanciaeuclidiana entre els vertexs.

Si fem que G(V, A) compleixi la desigualtat triangular, podem establir larelació següent entre la solució del TSP i la del TSPg.

Teorema 9.9 Si G(V, A) és complet i verifica la desigualtat triangular ~ lasolució optima per al TSPg coincideix amb un circuit hamilionia de cost mínimo

DEMOSTRAcró. Considerem que la solució pel TSPg no és un circuit hamil-tonia. Sigui e una solució óptima per al TSPg, e sera un circuito Donat quee no és hamiltonia algun vertex Vj apareixera dues o més vegades en e. Con-siderem que la primera vegada que es visita Vj dins de e s'hi arriba des d'unvertex Vi i es surt cap a un vertex Vk. Modifiquem e de manera que passemdirectament de Vi a Vk. El circuit resultant e' tindrá un cost no superior alde e. Prenent ara e' repetim aquest procés per a formar e"... Acabaremobtenint un circuit optim que sera necessariament hamiltonia.D

D'ara endavant ens centrarem en el cas G = Kn' Aquesta restricció no fapas perdre generalitat al problema, i és, possiblement, la situació més freqüenten la practica. De totes maneres, si en un graf G(V, A) resulta que (Vi, Vj) í An'hi ha prou de considerar que Cij = oo. Per tal de tenir present el tipusde problema que tractem, notem que a K¿ hi haura !f camins hamiltoniansdiferents i (n~l)! circuits hamiltonians diferents.

Distingirem dos casos: recerca d 'un camí harniltonia de cost mínim i recercad'un circuit harniltonia de cost mínim.

Camí harnilt.onia opt im "

El metode següent esta basat en la recerca dintre d'un arbre de possibilitats,per a trobar el (un) camí hamiltonia de cost mínim. El procediment usa unapropietat dels camins hamiltonians que establim en el:

Page 193: Grafs - Fonaments i Algorismes

9.3. El problema del viatjant 193

Teorema 9.10 Donat G(V, A) simétric, sigui T(G) un arbre generador per aG tal que VVi E V grau( Vi) ~ 2 =? T( G) és un camí tuunilionia per aG.

DEMOSTRACIÓ.Ja que T(G) és un arbre, no pot existir cap vertex que tinguigrau O; per tant, tots han de tenir grau 1 o 2. Sigui q = I{Vi tal que grau( Vi) =1}1 in - q = I{Vi tal que grau(vi) = 2}1. Sabem que el total d'arestes m delgraf es pot expressar com a m = ~¿v;EV grau(Vi), i, en el cas de T(G), aixovol dir que m = n - 1 = ~(q + 2(n - q)) = n - ~; per tant, q = 2.

Així dones, tindrem a T( G) dos vertexs de grau 1 i n - 2 vertexs de grau2; i aixo descriu un camí hamiltonia per aG.O

Desenvoluparem ara l'algorisme a partir d'un exemple. Sigui G = K6 ambmatriu de costos en les arestes:

O 3 5 4 3 83 O 2 6 1 9

e= 5 2 O 5 7 24 6 5 O 6 43 1 7 6 O 38 9 2 4 3 O

Si apliquem l'algorisme de Kruskal (veure el capítol 5), trobarem que l'arbrede cost mínim és el graf TI de la fig. 9.5 amb un cost total C(TI) = 12.

VI---V2 ---V3

TI I I

fig. 9.5

Ara bé, TI no és un camí harniltonia perque V2 té grau 3, aixó vol dir quealguna de les tres arestes que afecten V2 s'hauria de treure de l'arbre i substituir-la per una altra aresta. Dividirem el problema inicial en tres subproblemes,considerant en cadascun que elimine m una de les arestes de V2. L'eliminacióde l'aresta (2,j) (o, si es vol, de (j, 2)) pot aconseguir-se fent que en la matriue hi tinguem C2j = Cj2 = oo.

Es pot comprovar que els grafs T2, T3 i T4 de la fig. 9.6 són, respectivament,els arbres de cost mínim obtinguts assignant a e, C21= CI2 = 00, C23 = C32= 00

i C25= C52 = oo.El cost d'aquests arbres és c(T2) = 12, C(T3) = 13 i C(T4) = 14. Ara bé,

tant T2 com T3 són camins hamiltonians, mentre que T4 no ho és donat el grau

Page 194: Grafs - Fonaments i Algorismes

194 9. Camins i circuits hamiltonians

fig. 9.6

que presenta el vertex VI. Així dones, disposem d'un camí hamiltonia de cost12 i un de cost 13. En aquest moment, queda dar que no cal dividir l'arbre T4 idesenvolupar els nous subproblemes, donat que tot nou arbre que surti a partird'aquest tindra necessariament un cost no inferior a 14 unitats. Així dones, lasolució óptima és el camí hamiltoniá donat per T2.

Un avantatge important d'aquest meto de és que no cal arribar fins a trobar-ne la solució óptima; podem aturar-nos en un camí hamiltoniá que tingui uncost prou satisfactori per a les necessitats del problema que volem resoldre.

En la practica, convé molt sovint fixar el vertex origen (diguem VI) i elfinal (sigui aquest V2) del camí hamiltonia que cal formar. Així, ja no interessael camí hamiltonia optim absolut, sinó l'optirn d'entre tots els que comenceni acaben en els vertexs que ens hem fixat. Aquesta variant del problema potresoldre's usant el meto de precedent, després de modificar previament e apartir del:

Teorema 9.11 Siguin e = (eij) la mairiú de costos de G, cij l'element majorde e i k > (n - 1) . eij una eonstant =} el eamí hamiltotuá optun d'extrems VI

i V2 pot trobar-se usant el méiode preeedent si es pren eom a matriu de costose' = «j) on:- ejI = e~j = elj + k VVI =1= Vj =1= V2- ej2 = e;j = e2j + k VVI =1= Vj =1= V2- <j = eij + 2k si Vi = VI i Vj = V2, o Vi = V2 i Vj = VI- e~j = eij V VI =1= Vi =1= V2 i VI =1= Vj =1- V2

DEIVIOSTRACIÓ. Cada camí hamiltonia es troba en un dels grups següents:a) cap dels vertexs terminals és VI ni V2b) un dels vertexs terminals és VI o V2e) els dos vertexs terminals són VI i V2

Page 195: Grafs - Fonaments i Algorismes

9.3. El problema del viatjant 195

En relació als tres grups anteriors, el cost d'un camí harniltoniá usant G'uperara el cost del mateix camí usant G, en un valor igual a 4k si el camí es

troba en el grup a, a 3k si és del grup b, i a 2k si és del grup c.Donat que k supera el cost de qualsevol camí elemental a G, -usant G'-

el cost del camí hamiltonia de cost major dins del grup c sera inferior al costdel camí hamiltonia de cost menor dins del grup b i el camí hamiltonia de costmajor del grup b sera inferior al cost del camí hamiltonia de cost menor delgrup a.

Així dones, el metode precedent donara com a resultat el camí de cost menordins del grup c. 1 aixó és precisament el que volíem.D

Circuit hamiltoniá ópt im

Sigui G(V, A) complet i que verifica la desigualtat triangular en les arestes.En aquest apartat desenvoluparem dos algorismes aproximats que ens donaran,en cada cas, una bona aproximació H del circuit hamiltonia optim Ho per alTSP.

Metode basat en l'arbre de cost mínim

1. Determineu un arbre generador de cost mínim T(G) per aG.

2. Realitzeu a T(G) un recorregut usant el DFS.

3. Assigneu al k-ésim Vi visitat i no etiquetat una etiqueta A(Vi) := k.Formeu sobre T( G) el circuit iuimiltoniá H que s 'obié resseguint les eti-quetes A(v).

EXEMPLESigui G = K6 amb matriu de costos:

O 2 3 4 1 12 O 1 3 2 3

G= 3 1 O 4 3 44 3 4 O 4 31 2 3 4 O 21 3 4 3 2 O

Determinem -usant l'algorisme de Kruskal- que l'arbre de cost mínim és elgraf T(G) de la fig. 9.7 i que té cost c(T(G)) = 8.

Si comencem per VI, el recorregut DFS de l'arbre T(G) dóna la seqiiencia devertexs (VI, V2, V3, V2, V4, V2, VI, v5 , VI, V6, vd. Per tant, l' assignació d' etiquetesés: A(vd = 1, A(V2) = 2, A(V3) = 3, A(V4) = 4, A(V5) = 5, i A(V6) = 6 .

Page 196: Grafs - Fonaments i Algorismes

196 9. Camins i circuits hamiltonians

fig. 9.7

Aixo representa el circuit H = (VI, V2, V3, V4, V5, V6, VI) que té un cost de c(H) =14 unitats. Aquesta circuit hamiltonia és el que prenem com a aproximació Hde Ha.

Teorema 9.12 Sigui G(V, A) siméiric, complet i que verifica la desigualtattriangular. Si s 'usa el métode precedent:

c(H) < 2c(Ha)

DEMOSTRACIÓ. Sabem que c(T( G)) < c(Ha) ja que, a partir d'un circuit hamil-toniá, sempre podem obtenir un arbre traient, al circuit, qualsevol de les arestes.El recorregut sobre T( G) seguint les etiquetes .\( v) tindrá un cost 2c(T( G)) i,per tant, 2c(T(G)) < 2c(Ho).

El circuit H generat segueix aquest recorregut, tret del cas que suprimimun tram de més d'una aresta per una de sola per tal d'estalviar la repetició devertexs, Pero com que G verifica la desigualtat triangular, tals supressions van afavor nostre; en qualsevol cas -amb supressions o sense- c(H) :::;2c(T(G)) <2c(Ha)·D

Metode basat en l'aparellament perfecte optim

Aquest metode es basa en un esquema identic al de l'anterior; pero, en canvi,obté una reducció important -un 25%- en l'error al prendre l'aproximació Hde la solució óptima Ha.

1. Determinen un arbre generador de cost mínim T( G) per a G.

2. Vs = {Vi que tenen grau senar a T( G)}.Obtingueu l'aparellament perfecte de cost mínim M* dins del graf completK; determinat pels uertexs de Vs i totes les arestes que els enllacen.

3. Sigui G' el graf euleriá obtingut quan afegim (o dupliquem) a T( G) lesarestes de M*.

Page 197: Grafs - Fonaments i Algorismes

9.3. El problema del viatjant 197

4. Construui un circuit euleriá C a G' i etiqueteu cada Vi E V no etiquetatamb una etiqueta A(Vi) segons l'ordre en que es visita cada uériex en elrecorregut de C.

5. Preneu com a resultat H el circuit luimilioniá que s' obté de l' ordre donatper les etiquetes.

EXEMPLEPodem considerar el mateix graf K6 de l'exemple precedent. L'arbre per aG era T(G) = {(Vl,V2),(Vl,V5),(Vl,V6),(V2,V3),(V2,V4)}, on tots els vertexsapareixen amb grau senar, així Vs = V.NI* = {(Vl,V5), (V2,V3), (V4,V6)} és l'aparellament perfecte de cost mínim enK; i té cost 5. Així dones, en el graf G' obtingut a partir de T( G) i M*,tenim el circuit euleria C = (Vl,V5,Vl,V6,V4,V2,V3,V2,vd; l'ordre d'apariciódels vertexs de V ve donat per les etiquetes A; així: A( vi) = 1, A( V5) =2, A(V6) = 3, A(V4) = 4, A(V2) = 5 i A(V3) = 6. El circuit hamiltonia resultantH = (vl,v5,v6,v4,v2,v3,vd té cost c(H) = 13.

Teorema 9.13 Sigui G(V, A) siméiric, complet i que verifica la desigualtattriangular. Si s 'usa el méiode precedent:

c(H) 3--<-c(Ho) 2

DEMOSTRACIÓ. Usant la desigualtat triangular tenim que c(H) :s; c(C). Sianomenem W = c(T(G)) i W1 = c(M*), aleshores, tenim que c(C) = W + W1.

Igual que en el metode precedent, W < c(Ho); per tant, només ens cal veureque W1 < ~c(Ho).

Donat un circuit hamiltonia de cost Ho, podem construir un circuit decost no major que passi tan sols a través dels vertexs de Vs; aixo és possi-ble gracies a la desigualtat triangular. Donat que Vs conté un nombre parellde vertexs, podem prendre dos aparellaments d'aquest circuit alternant-ne lesarestes. Considerem ara, dels dos aparellaments, el que té cost mínimo Aquesttindra un cost no inferior a W1 i, alhora, no superior a la meitat del cost delcircuit creat a Vs. Per tant, obtenim el que volíem.D

No sempre és senzill de calcular quin és l'error maxim que comet un algo-risme aproximat, i el cas dels circuits hamiltonians no n'és pas una excepció.És per aixo, que per a valorar l'error maxim que cometem en l' aproximació ,resulta molt útil de tenir una fita inferior del cost del circuit hamiltonia decost mínimo Efectivament, aquest error comes sera sempre inferior o igual a ladiferencia entre el cost del circuit obtingut i el valor de la fita inferior. Veuremara un procediment forca senzill que permet calcular una tal fita.

Page 198: Grafs - Fonaments i Algorismes

198 9. Camins i circuits hamiltonians

Donat G(V, A) dirigit, sigui F la família dels subconjunts d'arcs de A queverifiquen que cada vertex de V rep un arc d'entrada i un de sortida. Tenimque cada circuit hamiltonia és un element de F; per tant, el cost més petit delselements de F sera una fita inferior pel cost del circuit hamiltonia optim en G.Anomenarem f aquesta fita cercada.

Per obtenir-la, seguirem un procediment que usa una xarxa de flux, creadaa partir de G, amb capacitat i cost per unitat de flux en cada are. Aquestprocés té dues parts:

1. Formeu una xarxa GI(VI, Al) on:

- 'Vv E V afegiu un vI E VI i un V2 E VI- 'V (v, w) E A afegiu un are (VI, W2) E Al amb capacitat 1 cost igual al

cost de (v,w) (anomenarem centrals aquests arcs)- afegiu un vertex inicial s i un vertex final t- afegiu un are (s, vi) 'VVI E VI amb capacitat 1 i cost O- afegiu un are (V2, t) 'Vv2 E VI amb capacitat 1 i cost O

2. Envieu el flux máxim de s a t dins GI amb el mínim cost possible. Preneuf com el cost d'aquest flux obtingut.

Teorema 9.14 f és una fita inferior pel cost del circuit hamiltonirl optim.

DEMOSTRACIÓ.Cada are central en GI es correspon amb un are de G. Con-siderem els ares centrals que acaben portant una unitat de flux; sigui W elconjunt d'arcs corresponent en G. Tenim que aquests ares de W contenen totsels vertexs de G i formen circuits disjunts. Efectivament, si no fos així, algunv E V no tindria are d'arribada dins de W o no tindria arc de sortida en W.En el primer cas voldria dir que no entra flux en V2; en el segon, voldria dirque no surt flux de VI. Sigui com sigui, tindríem en t menys de IVI unitats deflux, i aixo no és possible perque cada element de F correspon a un flux de GI

de IVI unitats.Donat que tan sols els ares centrals tenen cost no nul, el cost total del flux

correspon al cost total de l'element de F corresponent. Així, com que el fluxtotal té el cost minimitzat, l'element de F corresponent al flux mínim sera elde cost més petit.D

EXEMPLEConsiderem el graf de la figura 9.8.

En la figura 9.9 hi ha la xarxa GI associada indicant el cost de cada are; lacapacitat val 1 en cadascun d'ells. El flux maxim de cost mínim és de 4 unitatsamb cost 11 i resulta dels ares (Xl, Y2), (WI, V2), (VI, W2) i (YI, X2). Així la fitaés f = 11, mentre que l'únic circuit hamiltonia (v --> y --> X --> W --> v) té cost13.

Page 199: Grafs - Fonaments i Algorismes

9.3. El problema del viatjant 199

fig. 9.8

s

fig. 9.9

Comentaris btblíogr áfícs

El teorema 9.1 relatiu als grafs plans aparegué en Grinberg (1968). Per acondicions d'existencia de camins i circuits hamiltonians és de gran utilitatBerge (1991).

Diverses tecniques per a atacar el problema del viatjant són descrites enHeld i Karp (1970, 1971) i Garfinkel i Nemhauser (1972). Lawler et al. (1985)presenta un estudi monografic sobre aquest problema.

Exercicis

1. Formuleu en termes de grafs: en el joc dels escacs, és possible per a uncavall de recórrer les 64 caselles del tauler passant una vegada, i només una,per cadascuna?

2. Un complex industrial té diverses modalitats d'operació per a realitzar di-versos tipus de feines. El cost de passar de la modalitat i a la modalitat jes representara per Tij, i en general Tij i= Tj i. El gerent del complex, en ferla planificació setmanal, s'adona que en la install ació, només cal operar una

Page 200: Grafs - Fonaments i Algorismes

200 9. Camins i circuits hamiltonians

vegada en cadascuna de les N modalitats possibles. També veu que minimit-zar els temps morts en els canvis de modalitat equival a determinar un camíharniltonia de cost mínim en un graf dirigit G en que els vertexs són els Nmodes operacionals i on els ares són els temps Tij' Per tal de trobar una bonaaproximació al camí óptim es proposa dur a terme l'estrategia següent:1. Elimineu de G, per a cada parella Vi, Vj, l'arc (Vi, Vj) si Tij > Tj'i i l'arc(Vj, Vi), si Tji > Tij' Segons el gerent, el graf resultant G' continua tenint camíhamiltonia.2. Determineu els j components forts de G', Ordeneu-los el, e2 ... , C, de ma-nera que existeixi are de cada vertex de es a cada vertex de et sempre ques > t. Aquests seran tots els ares del graf condensat de G' -diu ello3. Una bona aproximació al camí optim s'obté fent la unió del camí harniltoniade ej amb el de ej-l i d'aquest amb el de ej-2 ... fins a arribar a el. Sesuposa que si G' té diversos components, el calcul total sera més rapid que nosi es fa directament sobre tot G -continua afirmant.

Que en dieu, de tot aixo?

3. Sigui G(V, A) un graf dirigit on VVi =1= Vj tenim que (Vi, Vj) E A o bé(Vj, Vi) E A, pero no tots dos alhora. Aquests grafs s'anomenen, a vegades, untorneig. Sabem que en tot torneig hi ha camí harniltonia, Direm que G dirigités transitiu si donats qualssevol (Vi,Vj), (Vj,Vk) E A =? (Vi,Vk) EA.Es demana demostrar que:a) si G(V, A) és un torneig:

G té un únic camí hamiltonia {? G és transitiuG és transitiu {? G no conté circuits dirigits

b) tot graf dirigit sense circuits dirigits té un vertex amb grau interior nul

4. Considereu un graf dirigit G. Volem enumerar-ne els vertexs de la forma1,2,3 ... ,n de manera que tot (Vi,Vj) E G verifiqui que i < j. (Aixo s'anomenaobtenir una ordenació dels vertexs de G,) Es demana demostrar que tot G di-rigit conté una ordenació dels vertexs {? no conté cap circuit dirigit. (Indicació:utilitzeu l'exercici anterior.)

5. Un codi de Gray és un codi binari en el qual cada número des d'l finsa N = 2k es codifica usant k bits, amb la propietat que si dos números sónconsecutius, aleshores, les respectives codificacions difereixen d'un únic bit.Usant els camins hamiltonians, descriviu un procediment per a generar codisde Gray.

6. Determineu si el graf de la figura 9.10 és hamiltonia, Si ho és, assenyaleu elcircuit hamiltonia; si no ho és, demostreu-ho usant algun criteri general.

lo.

Page 201: Grafs - Fonaments i Algorismes

9.3. El problema del viatjant 201

fig. 9.10

7. Considereu que un servei de publicacions ha rebut N llibres per imprimir i,a continuació, enquadernar. Siguin, respectivament, Pi i e; el temps necessariper a imprimir i per a enquadernar l'z-esim llibre. Suposeu que es verifica quedonats dos llibres qualssevol li i lj es compleix sempre que Pi < ej o bé quePj < e.. Considereu que es disposa d'una máquina per a la impressió i d'unaaltra per a l'enquadernació. Es demana de formar una seqüencia d'impressiódels N llibres, tal que la máquina d'enquadernar estigui treballant de formaininterrompuda des del moment que s'ha acabat d'imprimir el primer llibre finsque s'ha acabat d'enquadernar-ne el darrer.

8. Sigui Go(Vo, Ao) un graf sirnetric i connex; definim la clausura de Go comel graf Gq que s'obté de Go quan hi hem afegit q arestes. G¿ (k = 1..., q)s'obté de Gk-1 mitjancant la incorporació d'una aresta entre dos vertexs noadjacents tals que la suma dels graus sigui no inferior a ¡Vol. Demostreu queGo és hamiltonia {:} la clausura ho és.

9. Demostreu que el graf G de la fig. 2.6 no conté circuit hamiltonia, pero queG - Vi sí que en té VVi E V.

10. En quins grafs un circuit euleria és també hamiltonia?

Page 202: Grafs - Fonaments i Algorismes
Page 203: Grafs - Fonaments i Algorismes

Apórrdix

Fonaments deprogramació lineal

Molts dels problemes estudiats en els capítols precedents poden plantejar-se entermes d'un problema de programació lineal (PL); és per aixo, que fem ací unaintroducció a les característiques fonamentals de la PL i del símplex, el rnetodede resolució més popular per a aquests plantejaments.

El lector interessat en les demostracions dels resultats pot consultar Luen-berger (1984) o Murty (1983); ambdós, a més, contenen una bibliografia forcaextensa.

1. Formulació d'un problema de PL

Considerem l'anomenat problema de la dieta optima: Es disposa d'un conjuntde t aliments diferents amb una quantitat il-limitada de cadascun, i fixem unconjunt de k elements nutritius (vitamines, minerals ... ). Sigui Pij (i = 1,2 ... , t;j = 1,2 ... , k) el nombre d'unitats de l'element nutritiu j que conté cada racióde l'aliment i. Es considera alhora, que cada ració de l'aliment i costa Ci pts.i que calen diáriament "i unitats del j-esim element nutritiu per a tenir unadieta equilibrada. Es demana quantes racions de cada aliment caldria prendrediariament per a satisfer les necessitats nutritives minimitzant-ne la despesaeconómica,

Si associem a la variable Xi les racions diáries de l'aliment i = 1,2 ... , t queresulten en la solució d'aquest problema, podem comprovar directament queaquesta solució ve donada pel sistema d'inequacions següent:

PllXI +P2IX2 + PtlXt 2': rl

P12Xl + P22X2 + Pt2Xt 2': r2

PIkXI + P2kx2 ... + PtkXt 2': rk

on Xi 2': Oi = 1,2 ... , t i es minimitza la funció:t

Z(X)=¿CiXii=1

203

Page 204: Grafs - Fonaments i Algorismes

204 Apendíx

En general, donat un problema de PL, anomenem funció objectiu la funcióz(x) a optimitzar (minimitzar o maximitzar) -on x és el vector de variables delproblema- i restriccions al sistema d'equacions i/o inequacions que resultendel plantejament.

2. Forma estfmdard del problema

Abans de procedir a resoldre un problema de PL cal passar-lo a un formatque permeti procedir de manera sistemática, Direm que el problema esta en laforma estamdard si esta expressat com a:

Ax=bx:20

minz(x) = ex

essent A una matriu de m files i ri columnes, x un vector columna de ti coar-denades, b un vector columna de m coordenades no negatives i e un vectar filade n coordenades. On totes les coordenades són elements de R.

Sempre és possible de passar un problema a la forma estándard. Així:

- Les restriccions de la forma:n

L aijXj < bij=l

es transformen afegint una nova variable xn+ 1 :2 O de la forma:

n

L aijXj + Xn+1 = b,j=l

Si el cas és:n

L aijXj :2 bij=l

la variable afegida haura de canviar el signe, d'aquesta manera:

n

L aijXj - Xn+l = b,j=l

Aquesta variable addicionall'anomenem indeterminada (slack, en angles).

- Les variables lliures -no restringid es a prendre valors positius o nuls- estransformen descomposant-les en dues de restringides arreu allá on apareixen.D'aquesta manera Xi lliure es pot substituir per xt - xi on xt :2 O i Xi :2 o.

Page 205: Grafs - Fonaments i Algorismes

Apendíx 205

- Si en comptes de minimitzar z(x) cal maximitzar-la, podem usar que:

maxz(x) = - min -z(x)

- Finalment, si algun b; < O, multiplicarem per -1 la z-esima equació i passaraa ser positiu.

3. Resultats fonamentals

Sigui el sistema d'equacions:Ax=b

on A és una matriu d'ordre m x n, x un n-vector columna i b un m-vectarcolumna. Si rang(A) = m aleshores podem prendre m columnes linealmentindependents, considerem que aquestes són les m primeres. La submatriu Bformada per aquestes m columnes és no singular i, per tant, permet resoldre elsistema:

BXE =bon XE representa les m primeres coordenades de X. Així, x = (XE, O) és unasolució per al sistema.

Les variables de XE s'anomenen biisiques i XE una solució bosica del sistema(respecte a la base B). Si alguna de les variables basiques pren valor O diremque tenim una solució básica degenerada. Veurem, tot seguit, que les solucionsbasiques ens interessen especialment; per tant, per a assegurar que el sistemad'equacions té sempre una solució d'aquest tipus imposarem a A dues condi-cions:

a) n > mb) que les m fijes siguin linealment independents

Tot x que verifiqui el sistema inicial i, a més, la restricció x ~ O s'anomenauna solució factible i, si és básica, l'anomenarem solució factible básica (SFB).Finalment, si afegim la funció que cal minimitzar z(x) = ex tota SFB queassoleixi el mínim per a z(x) és una SFB optima (SFBO).

Ara, ja estem en condicions d'establir el:

Teorema fonamental de la PL

Donat un problema en la forma estaruiard, si A té rang m, es verifica que:- si existeix una solució factible =? existeix una SFB- si existeix una solució factible opiima =? existeix una SFBO

D'aquesta manera el nombre de solucions que cal estudiar per a trobarI'optirn es redueix a considerar les, com a molt, (~) formes de seleccionar les

Page 206: Grafs - Fonaments i Algorismes

206 Apendix

m columnes de A linealment independents. Pero considerar les SFB té un altrepunt a favor, i és que sabem on buscar-les dins de la regió que conté totes lessolucions factibles. Per a veure-ho, ens calen pero un parell de conceptes més.

Un conjunt K s'anomena convex si, donats dos punts qualssevol Xl i X2 deK, tot punt del segment que uneix Xl a X2 és també un element de K. Unpunt X d'un conjunt convex K s'anomena un extrem de K si no existeixen dospunts diferents Xl i X2 de K tals que X = a Xl + (1 - a) X2 on O< a < 1.

Així, les quatre cantonades d'un quadrat són extrems del quadrat, mentreque, en un cercle, ho són tots els punts de la circumferencia,

Teorema deIs punts extrems

Siguin A una matriu d'ordre mxn de rang m, b un m-vector i K la regióconvexa formada per tots els n-vectors que verifiquen el sistema:

Ax=bX;:: O (*)

aleshores, X és un punt extrem de K {::}X és una SFB del sistema (*).

4. El metode del símplex

Aquesta és la forma classica de resoldre els problemes de PLj es tracta d'un pro-cediment iteratiu forca eficient, que aprofita els dos resultats que hem apuntaten la secció precedent.

Direm que tenim el problema de PL en la forma carumica si es pot reescriure-a partir de la forma estándard+- de la manera següent:

1 O O al,m+l al,m+2 al,n blO 1 O a2,m+l a2,m+2 a2,n b2

O O 1 am,m+l am,m+2 am,n bmO O O Cm+l Cm+2 cn -Zo

(la barra damunt dels coeficients indica que ja no són els que hi havia en laforma estandard, sinó els obtinguts d'acord amb la transformació canónicarealitzada. )

Suposem, per ara, que si inicialment el sistema no esta en forma canónicaés possible d'arribar-hi a través de dues operacions elementals: la suma de duesfiles i el producte d'una constant per tots els elements d'una fila. Així dones,en general, els coeficients de la taula precedent seran diferents dels coeficientsque hi havia en el sistema quan estava en la forma estandard.

A partir de la forma canónica tenim una SFB donada per:

Page 207: Grafs - Fonaments i Algorismes

Apendix 207

Xi = bi per a i = 1,2 ... ,mXj = O per a j = m + 1, m + 2... ,n

A més, usant les dues operacions elementals esmentades abans, podem pas-sar facilment d'una SFB1 a una altra SFB2. Efectivament, si xp és la variablebásica que cal canviar per la variable no básica xq, aij són els coeficients deA en la solució inicial, i a~j són els nous coeficients de A per a la nova base(i = 1,2 ... ,m; j = 1,2 ... ,n) aleshores:

I apja-=- i=pPl apq

Notem que en la forma canónica incloem els coeficients de cost de les varia-bles, els quals sempre s'han de mantenir a O per a les variables basiques; aixídones, tenim una taula de m + 1 files i ti + 1 columnes.Quan inicialment hem de canonitzar el sistema comencem amb:

n

~CiXi=Z(X)i=l

i després de fer-ho ens queda:n

~ e; Xi = Z(X) - Zoi=m+l

on el terme -Zo és el resultat de restar els múltiples adequats de les m primeresfiles de la taula canónica a la darrera per tal d'obtenir coeficient nul en el costde les variables basiques i el signe ve donat pel fet que b, ;::-OVi. Aixi dones,com que el factor:

n

~ CiXii=m+l

no afecta el cost de z(x) -per tractar-se de variables no basiques- tenimfinalment que z(x), per a cada taula canónica, ve donat pel Zo obtingut en ladarrera transformació de la taula.

EXEMPLEA partir de la taula canónica:

1 3 O 4 1 O O 42 1 O O O 1 O 3O 1 4 1 O O 1 3

-2 -4 -1 -1 O O O O

Page 208: Grafs - Fonaments i Algorismes

208 Aperid ix

que té variables basiques Xi (i = 5,6,7) i z(x) = O podem passar a la novataula canónica:

1/35/3

-1/3

1OO

O 4/3O -4/34 -1/3

1/3-1/3-1/3

O1O

OO1

4/35/35/3

-2/3 O -1 13/3 4/3 O O 16/3

que té per variables básiques Xj (j = 2,6,7) i z(x) = 16/3.

La idea central del metode és de tenir en cada instant el sistema en formacanónica i passar d'una SFB Xi a una altra SFB Xi+l de manera que Z(Xi) 2:z(xi+d. Així, quan passem d'una solució Xi a una altra Xi+l podrem trobar-nosen tres situacions diferents:

1. Hem assolit l'optim.Aixo s'aconsegueix quan en la solució actual ej 2: OV j = 1,2...,n. Vegem-

ho: la SFB actual fa que z(:i) = Zo, i si trobem que z(x) 2: Zo per a tota altraSFB X, aleshores, tenim que la SFB actual és l'optima. En aquest moment:

n

~ ejxj - z(x) = -Zoj=m+l

és a dir:n

z(x) = Zo + ~ ejxjj=m+l

Donat que Xj 2: O V j en tota so lució factible, i que en aquest moment ej 2: OV j = 1,2 ...,n, tenim que tota altra SFB diferent de l'actual tindra un cost mésgran o igual que Zo.

2. La funció z(x) no esta fitada inferiorment.Aquest cas es detecta quan hi ha una s tal que es < Oi ais :::;OVi = 1,2 ...,m.

Efectivament, incrementem el valor de la variable no básica Xs des del valor Oactual fins a un valor A > O. Així tindrem Xs = A; Xi = bi - ais Vi = 1,2 ...,mi z(x) = Zo + esA.

Donat que tenim ais :::;O les m variables basiques es mantindran no ne-gatives per a tot A. D'altra banda, el valor per a z(:i) decreix a mesura queA augmenta perque es < O. En conseqüencia, podem mantenir una soluciófactible amb un cost tan baix com vulguem prenent el A convenient.

Page 209: Grafs - Fonaments i Algorismes

Aperrdix 209

3. Millorem la SFB anterior.Aixo sera possible si prenem, per entrar a la base, una variable Xs tal que

es < O. Aquesta condició es despren directament del fet que si Xs entra prenentun valor A, aleshores, z(x) = Zo + esA, i, per tant, cal que es sigui negatiu.La qüestió ara és determinar quina sera la variable básica substituida per xs,

i aixo vindra donat pel fet que A pot creixer mentre no converteixi en negatiualgun dels bi i = 1,2 ... ,m. Tenim que el nou valor per a Xi sera Xi = bi - ais

'Vi = 1,2 ... ,m; així:- si ais :::::O, no hi ha perill que Xi passi a ser negativa- si ais > O, aleshores, caldra que A :::::j:-, de manera que el valor maxim pera A ve donat per: e s

ie = min{~ on ais > O}ais

La variable x; que dóna aquest mínim és la substituida per Xs; a continuaciós'actualitza la taula canónica en funció de Xs i es busca una SFB millor.

5. Dualitat

Donat un problema de PL en la forma primal:

min exAX? bx?O

en definim el problema dual (en forma simetrica) com a:

max ybyA? ey?O

essent y el vector de les variables del problema dual.

Si el problema esta en la forma estandard, sempre el podem passar a laforma primal. Així, si tenim:

min exAx= bx?O

el podem reescriure com a:

min exAx> b

-Ax? -bx?O

Page 210: Grafs - Fonaments i Algorismes

210 Aperidlx

que és equivalent, i que ja té la forma primal. El dual associat (ara, en formaasimetrica) és com abans, amb la diferencia que les variables de iJ són lliures.

D'aquesta manera, el dual del problema de la dieta seria:

PllYl +P12Y2 + PlkYk :S Cl

P21Yl +P22Y2 + P2kYk :S C2

PtlYl + Pt2Y2 ... + PtkYk :S Ct

on Yi 2: Oi = 1,2 ... , k i es maximitza la funció:

k

z(iJ) = 2:: r, Yii=l

En el cas general, les regles per a formar el dual d'un problema de PL sónles següents:

• Totes les variables han d'estar restringid es a prendre valors no negatius.

• Si el problema és de minimització (maximització) totes les desigualtatshan de ser de la forma 2: (:S).

• Hi haura una variable dual associada a cada restricció del primal:- si la restricció és una desigualtat la variable dual associada sera nonegativa- si la restricció és una igualtat la variable dual associada sera unavariable lliure

• Hi haura una restricció associada a cada variable del primal:- si la variable és no negativa la restricció sera una desigualtat- si la variable és lliure la restricció sera una igualtat

• Si el primal és de minimització (maximització) el dual sera de maximit-zació (minimització).

• EIs termes independents del primal són els coeficients de la funció objec-tiu en el dual, i els coeficients de la funció objectiu en el primal són elstermes independents del dual.

Amb aquestes regles s'assegura que el dual del dual és equivalent al primal.Finalment, la importancia de la dualitat en PL ve donada pel:

Page 211: Grafs - Fonaments i Algorismes

Apendíx 211

Teorema fort de dualitat

En tota parella de problemes de PL primat-dual:- si un té solució factible optima, aleshores, l'altre també en té i els ualors deles dues funcions objectiu coincideixen- si un té la funció objectiu no fitada, l 'alire no té solució factible

Si a¿ representa la z-esima columna de la matriu A i aj, la j-esima fila,resulta també forca útil la propietat de complementarietat entre els valors deles variables per a la parella primal-dual:

Teorema de complementarietat (forma asimetrica)

Siguin dues solucions factibles x i y per als problemes primal i dual, respecii-vament, en la forma osimétrica. Aleshores, x i y són opiimes {o? Vi:- x¡ > O =? yai = Ci

- yai < Ci =? Xi = O

Teorema de complementarietat (forma simétrica)

Siguin dues solucions factibles x i y per als problemes primal i dual, respecii-vament, en la forma simétrica. Aleshores, x i y són optimes {o? Vi, j :- Xi > O =? yai = e,- yai < e; =? Xi = O- v¡> O =? ajx= bj- aj x > bj =? Yj = O

Page 212: Grafs - Fonaments i Algorismes

p

Page 213: Grafs - Fonaments i Algorismes

Bibliografia

APPEL, K. & HAKEN, W. (1977a), "The solution of the four-colour problem",Seientifie American 27, p. 108-12l.

APPEL, K. & HAKEN, W. (1977b), "Every planar graph is four-colourable(1)", Illinois Journ. Maths. 21, p. 429-490.

APPEL, K. & HAKE , W. (1977c), "Every planar graph is four-colourable(Il)", Illinois Journ. Maths. 21, p. 491-567.

BEASLEY, J. E. (1984), "An algorithm for the Steiner problem in graphs",Networks 14, p. 147-159.

BEHZAD, M., CHARTRA D, G. & LESN1AK-FOSTER, L. (1979), Graphsand Digraphs, Wadsworth, Belmont.

BElNEKE, L. W. & WlLSON, R. J. (eds.) (1978), Seleeted Topies in GraphTheory (1), Academic Press.

BE1NEKE,1. W. & WlLSO ,R. J. (eds.) (1983), Seleeted Topies in GraphTheory (II), Academic Press.

BElNEKE, L. W. & WlLSON, R. J. (eds.) (1988), Seleeted Topies in GraphTheory (III) , Academic Press.

BENDER, E. A. & WlLLIAMSON, S. G. (1991), Foundations o/ Applied Com-binatories, Addison-Wesley.

BERGE, C. (1991), Graphs, North-Holland.

BIGGS, N. L., LLOYD, E. K. & WlLSON, R. J. (1976), Graph Theory 1736-1936, Clarendon Press.

BOGART, K. P. (1990), Introduetory Combinatories, Harcourt Brace Jovano-vich, lnc ..

BONDY, J. A. & MURTY, U. S. R. (1976), Graph Theory with Applieations,The Macmillan Press.

213

Page 214: Grafs - Fonaments i Algorismes

214 Bibliografia

BRON, C. & KERBOSCH, J. (1973), "Finding all cliques of an undirectedgraph", Comm. 01 ACM 16, p. 575.

BROOKS, R. L. (1941), "On eolouring the nodes of a network", Proc. Cam-bridge Phil. Soco 37, p. 194-197.

BUSACKER, R. G. & GOWEN, P. J. (1961), "A proeedure for determininga family of minimal-eost network flow patterns", Operations Research Office,Teehnieal paper 15.

CAYLEY, A. (1889), "A theorem on trees", Quart. Journ. Math. 23, p. 376-378.

CHRISTOFIDES, N. (1975), Graph Theory, an Algorithmic Approach, Aca-demie Press.

COOK, S. A. (1971), "The eomplexity of theorem proving proeedures", ThirdAnnual ACM Symposium on Theory 01 Computing, p. 151-158.

DE BRUIJN, N. G. (1946), "A eombinatorial problem", Ned. Akad. Wet. 49,p. 758-764.

DEMOUCRON, G., MALGRANGE, Y. & PERTUISET, R. (1964), "Graphesplanaires: reeonnaissanee et eonstruetion de représentations planaires topolo-giques", Rev. Francaise Recherche Opérationnelle 8, p. 33-47.

DIJKSTRA, E. W. (1959), "A note on two problems in eonneetion with graphs",Numerische Mathematik 1, p. 269-27l.

DIRAC, G. A. (1966), "Short proof of Menger's graph theorem", Mathematika13, p. 42-44.

DREYFUS, S. E. & WAGNER, R. A. (1972), "The Steiner problem in graphs",Networks 1, p. 195-207.

EDMONDS, J. (1965), "Paths, trees and flowers", Can. Journ. Math. 17, p.449-467.

EDMONDS, J. (1968), "Optimum branehings" dins Mathematics 01 the Deci-sion Sciences, Lectures in Applied Mathematics vol. 2, p. 346-361, Dantzig,G. & Veinott, A. (eds.).

EDMONDS, J. & JOHNSON, E. L. (1970), "Matching: A well solved class ofinteger linear programs" dins Combinatorial Structures and Their Applications,p. 89-92, Gordon & Breaeh.

EDMONDS, J. & JOHNSON, E. L. (1973), "Matehing, Euler tours and theChinese postman", Math. Prog. 5, p. 88-124.

EDMONDS, J. & KARP, R. M. (1972), "Theoretical improvements in algorith-mie effieieney for network flow problems", Journ. ACM 19, p. 248-264.

Page 215: Grafs - Fonaments i Algorismes

Bibliografia

ELlAS, P., FElNSTElN, A. & SHANNON, C. E. (1956), "A note on the max-imum flow through a network", IRE Trans. Inform. Theory, lT-2 p. 117-119.

EVEN, S. (1979), Graph Algorithms, Pitman Publishing Ltd ..

FLElSCHNER, H. (1990), Eulerian Graphs and Related Topies, Annals of Dis-crete Mathematics 45, vol. 1, North-Holland.

FLElSCHNER, H. (1991), Eulerian Graphs and Related Topies, Annals of Dis-crete Mathematics 50, vol. 2, North-Holland.

FLOYD, R. W. (1962), "Algorithm 97-Shortest path", Comm. ACM 5, p. 345.

FORD, L. R. (1946), "Network flow theory", Rand Corporation Report P-923.

FORD, L. R. & FULKERSON, D. R. (1956), "Maximal flow through a net-work", Canadian Journ. Math. 8, p. 399-404.

FORD, L. R. & FULKERSON, D. R. (1962), Flows in Networks, PrincetonUniversity Press.

FRANK, H. & FRISCH, 1. T. (1971), Communieation, Transmission and Trans-portation Networks, Addison- Wes1ey.

GAREY, M. R. & JOHNSON, D. S. (1979), Computers and Intraetability. AGuide to the Theory of NP-Completeness, W.H. Freeman.

GARFlNKEL, R. S. & NEMHAUSER, G. L. (1969), "The set partitioning prob-1em: set covering with equality constraints", Opero Res. 17, p. 848.

GARFlNKEL, R. S. & NEMHAUSER, G. L. (1972), Integer Programming,John Wiley lnc ..

GIBBONS, A. (1985), Algorithmie Graph Theory, Carnbridge University Press.

GOLDBERG, A. V., TARDOS, E. & TARJAN, R. E. (1989), "Network flowalgorithms", Teeh. Rep. CS-TR-216-89, Princeton University.

GOLDBERG, A. V. & TARJAN, R. E. (1986), "A new approach to the maxi-mum-flow prob1em", Proe. 18th. ACM Sympos. Theory Comp. STOC-86, p.136-146 (posteriorment publicat en Journ. ACM 35, p. 921-940 (1988)).

GRlNBERG, E. J. (1968), "Plane homogeneous graphs of degree three withouthamiltonian circuits", Latvian Math. Yearbook 4, p. 51-58.

GRNBAUM, B. (1963), "Gri::itzsche's theorem on 3-colorings", Miehigan Math.Journ. 10, p. 303-310.

GUAN, M. (1962a), "Graphic programming using odd and even points", Chi-nese Math. 1, p. 273-277.

215

Page 216: Grafs - Fonaments i Algorismes

216 Bibliografia

GUAN, M. (1962b), "Improvernent on graphic programming", Chinese Math.1, p. 278-287.

HAKIMI, S. L. (1971), "Steiner's problem in graphs and its implications", Nei-uiorks 1, p. 113-133.

HALL, P. (1935), "On representatives of subsets", Journ. London Math. Soco10, p. 26-30.

HARARY, F. (1969), Gmph Theory, Addison-Wesley.

HAREL, D. (1987), Algorithmics: the Spirit 01 Computing, Addison-Wesley,

HEAWOOD, P. J. (1890), "Map-colour theorem", Ouart. Pure Appl. Math.24, p. 332-338.

HELD, M. & KARP, R. (1970), "The traveling-salesman problem and minimumspanning trees", ORSA 18, p. 1138-1162.

HELD, M. & KARP, R. (1971), "The traveling-salesman problem and minimumspanning trees (part II)", Math. Progmmming 1, p. 6-25.

HOPCROFT, J. & TARJAN, R. E. (1974), "Efficient planarity testing", Journ.ACM 21, p. 549-568.

HWANG, F. K. & RICHARDS, D. S. (1992), "Steiner tree problems", Neiuiorks22, p. 55-89.

HWANG, F. K., RICHARDS, D. S. & WINTER, P. (1992), The Steiner treeproblem, Annals of Discrete Mathematics 53, North-Holland.

KARP, R. M. (1972), "Reducibilities among combinatorial problems" dins Com-plexity 01 Computer Computations, Miller, R. E. & Thatcher, J. W. (eds.) p.85-103, Plenum Press.

KEMPE, A. B. (1879), "On the geographical problem of the four colours",Amer. Journ. Math. 2, p. 193-200.

KLEIN, M. (1967), "A primal method for minimal cost flows with applicationsto the assignment and transportation problems", Man. Sci. 14, p. 205-220.

KNIG, D. (1931), "Graphen und Matrizen", Mat. Fiz. Lapok. 38, p. 116-119.

KRUSKAL, J. B. (1956), "On the shortest spanning subtree of a graph and thetraveling salesman problem", Proc. Amer. Math. Soco 7, p. 48-50.

KUHN, H. W. (1955), "The Hungarian method for the assignment problem",Naval Res. Logist. Quart. 2, p. 83-97.

KURATOWSKI, G. (1930), "Sur le problerne des courbes gauches en topologie",Fund. Math. 15, p. 271-283.

Page 217: Grafs - Fonaments i Algorismes

Bibliografia 217

LAWLER, E. L., LENSTRA, J. K., RINNOY KAN, A. H. G. & SHMOYS,D. B. (eds.) (1985), The Travelling Salesman Problem: A Guided Tour ofCombinatorial Optimization, John Wiley & Sons.

LEMPEL, A., EVEN, S. & CEDERBAUM, I. (1967), "An algorithm for pla-narity testing of graphs", Theory of Graphs, 1nternational Symposium, Roma1966, P. Rosenstiehl ed., Gordon and Breach, p. 215-232.

LOVÁSZ, L. & PLUMMER, M. D. (1986), Matching Theory, Annals of Dis-crete Mathematics 29, North-Holland.

LUENBERGER, D. G. (1984), Linear and Nonlinear Programming, Addison-Wesley.

MANBER, U. (1989), 1ntroduction to Algorithms, Addison-Wesley.

McHUGH, J. A. (1990), Algorithmic Graph Theory, Prentice-Hall.

MEHLHORN, K. (1984), Graphs Algorithms and NP-Completeness, EATCS2, Springer- Verlag.

MENGER, K. (1927), "Zur allgemeinen kurventheorie", Fund. Math. 10, p.95-115.

MINIEKA, E. (1978), Optimization Algorithms for Networks and Graphs, Mar-cel Dekker.

MORET, B. M. E. & SHAPIRO, H. D. (1991), Algorithms from P to NP (1),The BenjaminjCummings Publishing Company.

MURTY, K. G. (1983), Linear Programming, John Wiley & Sons.

NISHIZEKI, T. & CHIBA, N. (1988), Planar Graphs: Theory and Algorithms,Annals of Discrete Mathematics 32, North-Holland.

ORE, T. (1967), The Four-Colour Problem, Academic Press.

PIERCE, J. F. (1968), "Application of combinatorial programming to a class ofall-zero-one integer programming problems", Man. Sci. 15, p. 19l.

PRATT, V. (1975),"Every prime has a succinct certificate", SIAM l. Comp.4, p. 214-220.

PRIM, R. C. (1957), "Shortest connection networks and some generalizations",Bell Syst. Tech. Journ. 36, p. 1389-140l.

RINGEL, G. & YOU GS, J. W. T. (1969), "Solution of the Heawood Map-coloring problem", Journ. Combo Theory 7, p. 342-363.

ROBERTS, F. S. (1984), Applied Combinatorics, Prentice-Hall.

Page 218: Grafs - Fonaments i Algorismes

218 Bibliografia

SHIER, D. R. (1976), "Iterative methods for determining the k-shortest pathsin a network", Networks 6, p. 205-230.

SULLIVAN, G. F. (1982), "Approxímation algorithms for Steiner tree prob-lems", Tech. Rep. 249, Dep. of Comp. Sci., Yale University.

TUCKER, A. (1980), Applied Combinatorics, John Wiley & Sons.

TUTTE, W. T. (1946), "On hamiltonian circuits", Journ. London Math. Soco2, p. 98-10l.

TUTTE, W. T. (1947), "The factorizations of linear graphs", Journ. LondonMath. Soco 22, p. 107-11l.

TUTTE, W. T. (1948), "The dissection of equilateral triangles into equilateraltriangles", Froc. Cambridge Fhil. Soco 44, p. 463-482.

TUTTE, W. T. (1956), "A theorem on planar graphs", Trans. Amer. Math.Soco 82, p. 99-116.

TUTTE, W. T. (1984), Graph Theory, Enciclopdia of Mathematics and itsApplications 21, Cambridge University Press.

VIZING, V. Z. (1964), "On an estimate of the chromatic class of a p-graph",Diskret. Analiz. 3, p. 25-30.

WHITNEY, H. (1932), "Congruent graphs and the connectivity of graphs",Amer. Journ. Math. 54, p. 150-168.

WHITNEY, H. (1933a), "Planar graphs", Fund. Maths. 21, p. 73-84.

WHITNEY, H. (1933b), "2-isomorphic graphs", Amer. Journ. Maths. 55, p.245-254.

Page 219: Grafs - Fonaments i Algorismes

,Index de nomsi de mater ies

amplada prioritaria, 24aparellament, 77

de cost major, 85maxim, 77perfecte, 91

Appel,61arborescencia, 172arbre

alternant, 80caracterització, 101de Steiner, 108dirigit, 20generador, 103hong ares, 82incremental, 80óptim, 105simetric, 19

are, 15capacitat d'un, 130, 143capacitat mínima d'un, 157capacitat máxima d'un, 157endavant, 145enrere, 145saturat, 144

aresta, 15lliure,48orientada, 173

arrel, 20articulació, 17

base, 22de poder, 22

BFS, 24

bloc, 37bosc, 111brancatge, 111Bron, 54Brooks,64Busacker, 160

cadena d'augment, 145, 163capacitat incremental d'una, 164guany d'una, 163mínima, 149

camí, 16alternant, 77crític, 129de capacitat máxima, 130de capacitat máxima esperada,

132elemental, 16euleria, 169hamiltonia, 183incremental, 77més fiable, 130optirn, 119simple, 16

Cayley, 105Cederbaum, 47certificat, 32ciele d'augment, 165circuit, 16

euleria, 169fonamental, 133hamiltonia, 183

colla, 53

219

Page 220: Grafs - Fonaments i Algorismes

220 Índex de noms i de mat.ér ies

coloraciód'arestes, 71d'un mapa, 60de vertexs, 59

complexitat, 28espacial, 31temporal, 31

component, 17fort, 22senar, 91

condicions de complementarietat, 87conjunt

convex, 206dominant d'arestes, 78dominant de vertexs, 55independent d'arestes, 78independent de vertexs, 53independent de zeros, 93no deficient, 79

connectivitat, 136contrabase, 22contracció, 18convolució, 126carda, 20cost, 84CPM, 129CPP, 175, 191cub,38

De Bruijn, 174diagrama de, 175seqiiencia de, 174

De Morgan, 60Demoucron, 47densitat, 54desigualtat triangular, 192DFS, 24Dijkstra, 120distancia, 16dodecaedre, 38

Edmonds, 80, 112, 149, 176Euler, 37, 169

Even,47extrem, 206

factor, 188factor de guany, 163Fleury, 170flor, 81

externa, 81Flores, 190Floyd, 123, 126flux, 143

compatible, 143d'entrada, 163dentrada-sortida compatible, 163de sortida, 163maxim, 143, 163óptim, 163

fondaria prioritaria, 24Ford, 122, 144Fulkerson, 144funció objectiu, 204

Garfinkel, 57Gowen, 160Grünbaum, 63graf, 15

bipartit, 19bipartit complet, 19complementari, 17complet,17condensat, 22connex, 17de Grotzsch, 63de Petersen, 48dens, 27dirigit, 15dual,46dual geometric, 45euleria, 169fortament connex, 18hamiltoniá, 183homeomorf, 20isomorf,20

Page 221: Grafs - Fonaments i Algorismes

Índex de noms i de mat.ér ies 221

k-regular, 16mixt, 172mixt balancejat, 172mixt parell, 172parcial, 17parcialment connex, 18pla,37pla extern, 40r-colorable, 59residual, 148simetric, 15subjacent, 17t-connex, 18transitiu, 200trivial, 18

grau, 16exterior, 16interior, 16

Gray,200Guan Meigu, 175Guthrie,60

Lempel, 47línia, 93llac, 15llista d'adjacencia, 27Luenberger, 203

Haken,61Hakimi,108Hall, 79Hamilton, 183Heawood,60Hopcroft, 47

máquina de Turing, 30determinista, 31llenguatge reconegut, 31no determinista, 31

matriud'accés Q, 22d'accés R, 21d'adjacencia, 21, 26d'incidencia, 21de graus, 105de graus entrant, 102dels circuits fonamentals, 134dels talls fonamentals, 135reduIda,94

Menger, 137minimització generalitzada, 126Moore,119MT,30MTD,31MTND,31multigraf, 17multiplicació llatina, 189Murty,203

icosaedre, 38

Johnson,90Nemhauser, 57

ewton, 68nombre

ciclornatic, 133cociclornatic, 133cromatic, 59, 72d'independencia, 53de dominació, 56

Karp, 149Kempe,60Kerbosch, 54Kirkman, 183Klein, 160Konig,79Konigsberg, 169Kruskal, 105, 195Kuratowski, 42Kwan Mei-ko, 175

octaedre, 38

part relativa, 47potencialment representable, 48

Page 222: Grafs - Fonaments i Algorismes

222 Índex de noms i de mat.ér ies

representable, 48Pierce, 57PL,203poliedre, 37

regular, 38polinomi cromatic, 68pont, 17Pratt, 32pre-flux, 151Prim,105problema

ea-NP,32d'assignació de feines, 93d'optimització, 30de cobertura, 56de partició, 56del carter xines, 175del viatjant, 191dual, 86, 209forma canónica d'un, 206forma estandard d'un, 204NP,31NP-C,32NP-hard,32P,31primal, 209transformació polinomial d'un,

32pseudo-vertex, 81

quadrat llatí, 75; 96

rectangle llatí, 96regió,37

exterior, 37restricció, 204Ringel, 61Roberts, 190

símplex, 203SAT,33separador, 17, 138SFB,205

SFBO, 205sistema de representants, 95solució

básica, 205factible, 205

SRD,95Steiner, 108subdivisió, 20subgraf, 17

maximal,17minimal,17

Sullivan, 108suma generalitzada, 126s-vertex, 109

tall, 17dirigit, 131fonamental, 134

Tarjan,47t-coloració, 66teorema

de complementarietat, 87, 211del flux-máxim tall-mínim, 144dels punts extrems, 206fonamental de la PL, 205fort de dualitat, 211

test de Lucas, 32tetraedre, 38torneig, 200Trémaux,25TSP, 191TSPg, 191Tutte, 91, 102

variable, 204básica, 205indeterminada, 204

versiód'avaluació, 30d'optimització, 30de reconeixement, 30

vertex, 15actiu, 152

Page 223: Grafs - Fonaments i Algorismes

Índex de noms i de matórtes 223

adjacent, 15antecessor, 15capacitat d'un, 156de contacte, 48etiquetatge correcte d'un, 151lliure, 77saturat, 77successor, 15veí, 15

Vizing, 73

Whitney,42

xarxa, 143

Youngs, 61

z-vertex, 109

Page 224: Grafs - Fonaments i Algorismes

Aquest tractament permet que pugui adaptar-se alsinteressos diversos que caracteritzen les carrerescientífiques, tecniques o socials.

M A N u A L sMatematiques

L'autorJosep M. Basart és professor titular de l'Area de Cienciade la Computació i d'lntelliqencia Artificial al Departamentd'Inforrnática de la Universitat Autónoma de Barcelona.

L'obraEs basa en els vuit anys dexperiencia docent alDepartament d'Inforrnática de la Universitat Autónoma

. de Barcelqna. Els continquts corresponen a un cursd'introduccióala teoría de qrafs i són desenvolupats demanera ;que perrneten extreure'n tant un estudide I'estructura deis qrafs com una presentació de Ilursaplicacions principals.

ISBN 84-490-1420-4

•• Universitat Autónoma de Barcelona" Servei de Publicacions . 9

'1