Transcript
Page 1: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Grafo teoriarako hastapenak

Josemari Sarasola Ledesma

2007ko maiatza

Page 2: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Contents

1 Zer den grafoa 3

2 Euler-en bideak eta zirkuituak 5

2.1 Euler-en teorema . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Grafo eulertarrei buruzko ariketak . . . . . . . . . . . . . . . . . 6

2.3 Postari txinatarraren ebazkizuna . . . . . . . . . . . . . . . . . . 9

2.3.1 Ariketak . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Hamilton-en bideak eta zirkuituak 11

3.1 Ariketak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 TSP edo saltzailearen ebazkizuna . . . . . . . . . . . . . . . . . . 12

3.2.1 TSP ebazkizunak . . . . . . . . . . . . . . . . . . . . . . . 13

4 Puntuen koloreztaketa 14

4.1 Koloreztaketarako algoritmo bat: largest first . . . . . . . . . . . 14

4.2 Aplikazioak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.3 Ariketak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 Marra koloreztaketa edo edge coloring: enparejamenduak 19

5.1 Ariketak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6 Enparejamendu egonkorren ebazkizuna 21

7 Enparejamendu kopuru handiena alde biko grafoetan 25

7.1 Edmonds-en algoritmoa taula moduan . . . . . . . . . . . . . . . 30

7.2 Ariketak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Page 3: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

1 Zer den grafoa

Grafoa puntu batzuren multzoa, puntuak lotzen dituzten marrekin batera, da.Adibidez:

Komunikazio- edo errepide-sareak, tarea bat burutzeko etapak, et cetera adier-azteko erabil daiteke. Egun Internet sarearen trafikoa modelizatzeko asko er-abiltzen da grafo teoria.

Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izandaitezkeela gogoratu behar da: marrek puntuak nola lotzen dituzten da kontuanhartzekoa. Ikusi adibide gisa berdinak diren bi grafo hauek:

Grafo bat lotura matrize baten bitartez ere defini daiteke:

3

Page 4: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

Puntu berean hasi eta bukatzen den marrari buklea deitzen zaio. Bi puntulotzen dituen marra bat baino gehiago badago, puntuen artean marra bikoitza,hirukoitza, ... dagoela esango dugu. Grafo sinplea marra bikoitzik eta buklerikez duena da.

Puntu bateko maila puntu horretan bat egiten duen marra kopurua da.Adibidez, aurreko grafoan:

m(A) = 3 ; m(B) = 4; ; m(C) = 2 ; m(D) = 3 ; m(E) = 2

Marra bakoitzak 2 unitatetan gehitzen du maila. Beraz:

2×marra kopurua = mailen batura

Eta korolario bezala, mailen batura beti bikoitia izan behar da.

Bestalde, maila bakoitiko puntu kopurua ezin da bakoitia izan, kasu horretanmailen batura bakoitia izango bailitzateke eta hori ez da posible. Esaterako:

m(A) = 3 ; m(B) = 5; ; m(C) = 1 ; m(D) = 4

aurreko mailak dituen grafo bat ez da posible, maila bakoitikoak 3 direlako.

Bidea hainbat marraren segida da. Bidea puntu berean hasi eta bukatzenbada, zirkuitua dela esango dugu.

Grafoa ponderatua izango da, bi puntuen arteko distantziak (edo kostuak, ...)azaltzen direnean.

4

Page 5: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

2 Euler-en bideak eta zirkuituak

Bide bat eulertarra 1 dela esango dugu, grafoaren marra guztiak behin bakarrikzeharkatzen direnean.

Bide eulertarra puntu berean hasi eta bukatzen bada, zirkuitu eulertarra delaesango dugu.

2.1 Euler-en teorema

Euler-en teoremari esker, modu sistematiko batez azter daiteke grafo bateanbide edo zirkuitu eulertarrik dagoen. Leonhard Euler (1707 1783) zientzi-lari suitzarrak Konigsberg-eko zubien ebazkizuna dela eta (aurrerago bisitatukoduguna) asmatutako teorema da.

Honela dio:

• Grafo batean maila bakoitiko punturik ez badago, zirkuitu eulertar batizango da gutxienez (eta alderantziz).

• Grafo batean maila bakoitiko puntu bi badaude, zirkuitu eulertarrik ez daizango, baina bai bide eulertar bat gutxienez (eta alderantziz). Gainera,bide hau maila bakoitiko puntu batean hasi eta bestean bukatuko da.

• Grafo batean maila bakoitiko puntu lau edo gehiago badaude, ez da ezbide ez zirkuitu eulertarrik (eta alderantziz).

1Gazteleraz, euleriano.

5

Page 6: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

2.2 Grafo eulertarrei buruzko ariketak

I Grafo hauetan Euler-en bide edo zirkuituen existentzia azter ezazu. Baiezkoan,aurki ezazu.

II Parke natural batean ibilbide hauek proposatzen dira: Egin al daitezkeibilibide guztiak errepikapenik gabe eta abiapuntura itzuliz? Non jarribehar da horretarako bisitarientzat harrera-etxea?

6

Page 7: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

III Polizia batek errepide sare hau patruilatu behar du gauero: Egin al dezakepatruila errepiderik errepikatu gabe? Ahal izatekotan non hasi eta bukatubehar du bere lana? Errepikapenik gabeko ibilbidea egin daitekeen patru-ila laburrena al da?

IV EULER-en ebazkizuna: XVIII. mendean 7 zubik lotzen zituzten Eu-ropa iparraldeko Knigsberg hiriko auzoak. Hiritarrek zubirik errepikatugabe 7 zubietan zehar paseo bat egin ote zitekeen jakinmina zuten. Posi-ble al da? Ezezkoan, non eraiki behar da zubia paseoa adierazi bezala eginahal izateko?

7

Page 8: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

V Zubi hauetan zehar paseatu al daiteke zubirik errepikatu gabe?

8

Page 9: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

2.3 Postari txinatarraren ebazkizuna

Ingelesez ’Chinese Postman Problem’ edo ’Route Inspection Problem’ izenezezagutzen da.2.

Ebazkizunak grafo ponderatu bateko marra guztiak gutxienez behin zeharkatzeaeskatzen du baina distantzia edo kostu txikienez, hasierako puntura itzuli behardela.

Argi dago: grafoan Euler-en zirkuiturik badago, Euler-en zirkuitua bera dabilatzen dugun ibilbidea, bertan marra guztiak behin bakarrik zeharkatzen dire-lako (ez da posible distantzia txikienez marra guztiak gutxienez behin bakarrikzeharkatzea marra guztiak behin bakarrik zeharkatuz baino distantzia txiki-agoarekin).

Eta Euler-en zirkuiturik ez badago?

Euler-en zirkuiturik ez badago, marra guztietatik gutxienez behin igoratzeko,marrak errepikatu beharko dira. Jarraian, soluzio optimora hurbiltzen denihardunbide bat ikasiko dugu:

maila bakoitia duten puntuak enparejatu egiten dira, begi bistan gertutasunirizpide baten arabera. Puntu bikote bakoitzeko, beraien artean dagoen ibilbidetxikiena berriz ere marrazten da grafoan. Honela, puntu guztiek maila bikoitiaizango dute eta honela Euler-en zirkuitu bat sortu dugu. Euler-en zirkuitu hauizango da marra guztiak gutxienez behin zeharkatzen dituen ibilbide laburrena(postari txinatarraren ibilbidea, alegia). Ohartarazi behar da ihardunbide honekez duela beti soluzio optimoa emango, puntu bikoteen aukeraketa begi bistanegiten baita, baina optimoa ez den kasu horietan oso gertu ibiliko da optimotik.

2’Chinese Postman Problem’ izena Mei-Ko Kwan matematikari txinatarrak proposatu zue-lako 1962. urtean.

9

Page 10: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

2.3.1 Ariketak

Postari txinatarraren zirkuitu optimoak aurki itzazu:

10

Page 11: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

3 Hamilton-en bideak eta zirkuituak

Puntu guztietatik behin bakarrik pasatzen den bideari Hamilton-en bidea deitukodogu. Bidea puntu berean hasi eta bukatzen bada, Hamilton-en zirkuitua izangoda. Adibidez,

Ohartarazi behar da Euler-en eta hamilton-en zirkuituen arteko aldea: Euler-en zirkuituetan marra guztiak behin zeharkatu behar dira (puntuak behin bainogehiagotan zeharka daitezke) eta Hamilton-en zirkuituetan puntu guztiak behinzeharkatu behar dira (marra bakoitzetik behin baino gehiagotan igaro daiteke).

Ez dago teorema edo metodo ziurrik, Hamilton-en bide edo zirkuituen exis-tentzia ziurtatzen duena.

Grafo ponderatu batean, Hamilton-en zirkuituak ez du zertan puntu guztiakigarotzen dituen laburrena zertan izanik. Ikus ezazu adibide batez:

a − b − c − a zirkuitu hamiltondarra da, baina ez da puntu guztiak bisitzatendituen laburrena: a− b− c− b− a bidea laburragoa da.

11

Page 12: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

3.1 Ariketak

Grafo hauetan guztietan Hamilton-en zirkuitua dago. Aurki ezazu:

3.2 TSP edo saltzailearen ebazkizuna

Ingelesez, Travelling Salesman Problem edo TSP izena ematen zaio ebazkizunhoni. Honetan datza: bisitatu beharreko hiri guztiak errepidez loturik daudela,distantziak (edo kostuak, denborak, ...) ezagunak izanik (grafoa ponderatua da,beraz), hiri guztiak (hau da, puntu guztiak) bisitatzen dituen ibilbide laburrenabilatu behar da, abiapuntua eta helmuga berdinak izanik.

Arestian frogatu dugunez, Hamilton-en zirkuituak (existitzekotan) ez duibilbide laburrena bermatzen, baina puntu guztiak behin bakarrik bisitatzendituenez, laburrena izateko aukera handiak dituela esan daiteke. Baina oroharzein prozedura erabiliko dugu TSP ibilbidea bilatzeko?

Algoritmo ezberdinak daude. Guk oso erraza den bat ikasiko dugu: gertuenarenmetodoa edo nearest neighbor method ikasiko dugu. Edozein puntutan hasita,gertueneko puntua bilatzen dugu, azkeneko honetatik bisitatu ez den puntugertuena bisitatzen da, ..., abiapuntura itzuli arte. Metodo honek ez du oro-har optimoa ematen, baina bi dimentsiotan esaterako , hau da, mapetan, opti-moarekiko %26ko gehiegizko luzera sortzen duela frogatu da.

12

Page 13: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

3.2.1 TSP ebazkizunak

Nearest neighbor metodoa erabiliz, TSP ibilbideak eman itzazu:

13

Page 14: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

4 Puntuen koloreztaketa

Ebazkizun anitzetan grafo bateko puntuak koloreztatu egiten dira, baina bald-intza hau ezarriz: ondoko puntuak kolore ezberdinekin margotuta izan behardira. Baldintza hau beteaz grafo bat koloreztatzeko behar den kolore kopurutxikienari zenbaki kromatikoa deitzen zaio. Adibidez, grafo honen zenbaki kro-matikoa 3 da, 3 kolore baino gutxiagorekin ezin baitira puntuak margotu, on-doko puntuak kolore ezberdinekin margotu behar badira:

Saia zaitez eta ziur aski baldintza bat betetzen duen beste koloreztaketabat izango duzu baina 3 kolore edo gehiago erabiliko dituzu. Beraz, grafoarenzenbaki kromatikoa 3 da.

4.1 Koloreztaketarako algoritmo bat: largest first

Algoritmoaren pausoak hauek dira:

I Puntu guztien maila kalkulatzen da.

II Maila handieneko puntua (anitz badaude, edozein hartzen da) koloretuegiten da.

III Koloretutako puntuaren ondokoak ez diren puntuak (betiere azken hauekere elkarren ondokoak ez badira) kolore berberaz koloretzen dira.

IV Koloretu gabekoetan, maila handienekoa hartzen da eta II. pausora itzultzengara.

V Puntu guztiak koloretu direnean bukatzen da algoritmoa.

14

Page 15: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

Adibide bat:

Aurreko grafoa koloreztatuta dago (eskubiko irudian, zenbakiak koloreak direla)eta gainera kolore kopuru txikienarekin. Bere zenbaki kromatikoa 4 da. Nolalortu dugu?

Lehenik eta behin, grafoaren puntu guztien maila ematen dugu.

Ondoren, maila handieneko puntua hartu (anitz badago, edozein aukeratzenda) eta koloretu egiten da (kasu honetan 1 zenbakiarekin). Puntu honen on-dokoak ez diren puntuak hartzen dira: I eta F. I-ri 1 zenbakiarekin izendatzendugu. F puntua I puntuaren ondokoa ez denez, 1 zenbakiarekin marka daitekebaita ere.

Markatu edo koloretu gabe gertzen diren puntuetan C da maila handienekoa.2 zenbakiarekin markatzen dugu. Oraindik koloretu edo markatu gabe eta C-renondokoak ez diren puntuak H, G eta E dira. G puntua 2 zenbakiarekin markadezagun. H eta E aurrekoaren ondokoak direnez, ezin ditugu 2 zenbakiarekinmarkatu.

Markatu gabeko puntuak A, E, H eta D dira. E puntua 3 zenbakiarekinmarkatzen dugu. A eta D puntuak E puntuaren ondokoak ez direnez, 3 zen-bakiarekin marka ditzakegu. Azkenik, H puntuarekin geratzen gara eta hau 4zenbakiarekin markatu beharko dugu.

15

Page 16: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

4 zenbaki edo kolore erabili direnez, grafoaren zenbaki kromatikoa 4 delaezartzen dugu. Esan behar da algoritmo honek hurbildu egiten duela grafoarenzenbaki kromatikoa (beti gehiegiz, bete betean asmatzen ez duenean). Algo-ritmo sinpleena hau da, baina badira beste batzuk emaitza hobeak (optimoragehiago hurbiltzen direnak) ematen dituztenak. Algoritmoak ez du kasu hone-tan asmatzen, grafoaren zenbaki kromatikoa 3 baita benetan:

4.2 Aplikazioak

Puntu koloreztaketaren ebazkizuna jatorrian mapa bateko lurraldeak kolorez-tatzeko behar den kolore kopuru minimoa ezartzeko sortu zen XIX. mendean.Ondoren, lau koloreen konjetura planteatu zen: edozein mapa koloretzeko, 4kolore behar dira gehienez. Planteatu eta mende bat iraun konjetura honekfrogapena ezagutu gabe. 1976. urtean frogatu eta teorema izatera pasa da.

Mapa bat koloreztatzeko, mapa grafo bihurtu behar da, lurraldeak puntubihurtuz eta berarekin muga egiten duten lurraldeekin lotuz. Grafoaren zenbakikromatikoa izango da mapa koloreztatzeko behar den kolore kopurua.

Aplikazio bitxi hau alde batera, aplikazio praktiko interesgarriak ditu en-presa munduan esleipen ebazkizunei buruz.

16

Page 17: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

4.3 Ariketak

I Euskalerriko lurraldeen mapa koloretzeko zenbat kolore behar dira?

II Azterketa egunak programatu nahi dira eta ikasleek egun batean azter-keta bat baino gehiago edukitzea ekidin nahi da. Hurrengo taulan, izarrezazaltzen dira gutxixnez ikasle amankomun bat duten irakasgaiak (1,2,3,..)Zenbat egun behar dira azterketak egiteko? Nola programatu behar di-tuzu:

. 1 2 3 4 5 6 71 * * * - * *2 * - - - *3 * - - -4 * * -5 * -6 *7

17

Page 18: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

III Lantoki batean egin beharreko tareak a, b, c, d, e, f, g eta h dira, guz-tiak egun baten buruan bukatu daitezkeenak. Hurrengo taulan arrazoiteknikoengatik egun berean batera burutu ezin daitezkeen tareak azaltzendira, izarrez markatuta. Zenbat egun behar ditugu tarea guztiak egiteko?Tareen programazioa ere eman ezazu.

. a b c d e f g h1 * * * * * * -2 * * - - * *3 * - * - -4 * * - *5 * - -6 * *78

IV Enpresa psicologo batek, azken aldi honetan izandako liskerrak direla eta,bulegoko langileen arteko bateraezintasunei buruzko txosten bat egin du.Laburbilduz: Anek ez du inorekin arazorik; Bellak ordea ezin ditu Ane,Bella, Carla eta Diana ikusi; Carlak ezin ditu Diana eta Enara ikusi;Dianak ezin ditu Bella, Carla eta Flora ikusi; Enarak ezin du Gertrudisikusi; Florak ezin du Ane eta Diana ikusi; Gertrudisek Flora bakarrik dugogoko. Zenbat bulego ezberdin osatu behar dira langile hauekin arazoriksor ez dadin? Pertsonak bana itzazu bulegoetan.

V Haur guarderia batean gurasoek ordu ezberdinak dituzte kontratatutahaurrak eramateko:Alberto 10.00-11-30Balduino 9.00-10.00Carlos 9.30-10.30Demetrio 11.00-12.00Esteban 11.30-12.30Froilan 12.00-13.00Gerardo 9.00-10.00Herminio 12.30-13.30Ignacio 11.00-12.00

Langile bakoitza haur bakar batekin izan daiteke aldi berean. Zenbatlangile kontratatu behar dira haur guztiak zaindu ahal izateko?

18

Page 19: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

5 Marra koloreztaketa edo edge coloring: enpare-jamenduak

Ebazkizun batzuetan puntuak ez, baizik eta marrak koloretu behar dira, on-doz ondokoak diren marrak kolore ezberdinekin margotuta izan behar direla.Marrak horrela margotzeko behar den kolore kopuru txikienari marra-zenbakikromatikoa, chromatic index, edo edge-coloring number deitzen zaio.

Ikus ezazu irudia:

Ezkerreko grafoaren marra zenbaki kromatikoa 7 da, 7 kolore baino gutxi-agorekin ezin baita koloreztaketa egin. Beste grafoen marra zenbaki kromatikoa4 da.

Grafo baten marra-zenbaki kromatikoa gutxienez ∆ da, ∆ izanik grafokomaila handiena (Skiena, 1990). Frogatu da baita ere marra-zenbaki kromatikoa,grafo orotan, gehienez ∆ + 1 dela (Vizing, 1964). Hau da, marra-zenbaki kro-matikoa ∆ edo ∆ + 1 da. Teorema hauek aurreko grafoetan betetzen direlaegiazta dezakezu.

Koloreztaketarako prozedura hau emango dugu (kontuan hartu ez duela betimarra-zenbaki kromatiko zehatza emango): edozein marra koloretu egiten da,ondoko marrak kolore ezberdinekin margotzen dira (loturik ez badaude, koloreberdinez margo daitezke), eta hauetatik abiatuta jarraitzen dugu onodko mar-rak margotzen, aurreko koloreak loturarik ez badago bakarrik erabil daitezkeela(horrela esanda, zaila ematen du, baina egia esan oso metodo intuitiboa da).

Aplikazioak enparejamendu edo matching ebazkizunetan aurkitzen ditugugehien bat. Horretarako, ariketak dituzu adibide. Enparejamendu ebazkizune-tan alde biko grafoak aurkituko ditugu askotan. Honelakoak dira:

19

Page 20: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

Hau da, alde biko grafoetan alde bateko puntuak bestaldekoekin bakarik lotuedo enparejatu daitezke, marrek egin daitezkeen enparejamenduak adieraztendituztela. Zer bilatzen da? Helburu ezberdinak izaten dira: emparejamenduakegonkorrak izatea, enparejamendu kopurua handiena izatea(maximum match-ing), ... Ondoko ariketetan programaketarekin lotutako ariketak ditugu.

5.1 Ariketak

I Hautaketa prozesu batean ordubeteko elkarrizketak egin behar dira gaiezberdinei buruz. Hautagaiak a, b, c, d, e, f, g, eta h dira. Elkarrizketak 4gaiei buruzkoak dira eta gai bakoitzak bere arduraduna dauka. Hautagaibakoitzak egin beharreko elkarrizketa (izarrez) ondoko taulan azaltzen da:

. a b c d e f g h1 * - * - - - - -2 - * - * - - - *3 - - - * - * - -4 - - - - * - * *

Nola programatu behar dira elkarrizketak horretan emandako denboratxikiena izan dadin?

II Kooperatiba bateko baserritarrek hainbat makina daukate. Makinak egun-beterako eskatzen dituzte bere beharren arabera. A baserriak a makinaeskatu du bi egunetarako. B baserriak a eta b makinak eskatu ditu egunbanarako. C baserriak b makina bi egunetarako eta c makina egunbeter-ako eskatu du. D baserriak a, b eta d makinak eskatu ditu egun banarako.E baserriak c bi egunetarako eta d egunbeterako eskatu ditu. Zenbategunetarako egin behar da programaketa? Egun bakar baterako ezin dirabi makina edo gehiago erabili. Ez da bermatzen bi egunetako erreserbakondoz ondokoak izatea.

20

Page 21: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

6 Enparejamendu egonkorren ebazkizuna

Atal honetan, enparejamendu egonkorren ebazkizuna delakoari ekingo diogu.Ikus dezagun zertan datzan adibide batez.

Taula honetan A, B, C gizonezkoek eta a, b, c emakumezkoek beste sexukokideei buruz dituzten preferentziak azaltzen dira era ordenatuan:

Gizonezkoen preferentziak

A a b cB c a bC a c b

Emakumezkoen preferentziak

a B A Cb A C Bc A B C

Gizonezkoak eta emakumezkoak ezkondu behar ditugu, baina modu lojikobatean. Zer esan nahi du lojiko?

21

Page 22: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

Demagun enparejamendu hau egiten dugula:

A B Ca b c

Ohar gaitezen: a emakumezkoak nahiago du B bere senarra baino; Bgizonezkoak nahiago du a bere emaztea baino. Zer gertatuko da? Hobe ezpentsatzea, baina garbi dago planteatutako enparejamendua ez dela egonkorra.

Posible al da enparejamendu egonkor bat izatea? Areago, beti dagoenparejamendu egonkor bat, baldin eta preferentzia guztiak ezartzen badiraeta gizonezko eta emakumezko kopuru berdina badago (Gale-Shapley-enteorema, 1962).

Enparejamendu egonkorra aurkitzeko algoritmoa ere badago:

1. Proposamenak egiten dituen edozein sexu aukeratzen da: gizonakesaterako.

2. Gizonek bere lehen proposamena egiten dute.

3. Aukeratutako emakumezko bakoitzak proposamena egin dion gizongogokoenaren proposamena onartu eta beste gizonezko guztiei muzinegiten die.

4. Muzin egizdako gizonek bigarren proposamena egiten dute eta lehenengopausora itzultzen gara.

5. Prozesua gizon guztiak emakumezko ezberdinekin daudenean bukatzen da.Enparejamendu hau egonkorra da.

Prozesua abiatzeko orduan hauek ere kontutan hartu behar dira:

• Proposamenak egiten dituztenak emakumezkoak badira, emaitzaegonkorra izango da ere.

• Proposamenak egiten dituen sexuak lortzen du enparejamenduprobetxuzkoena.

• Preferentziak osotuak ez badira, algortimoa gara daiteke, baina ezin daorduan ziurtatu enparejmanedua egonkorra izango dela.

Ikusi izan da preferenziak zoriz gertatzen direnean, pertsona guztiak lehenengopreferentzietako bikotearekin enparejatzen direla, hau da, nahiko gustorageratzen direla. Pertsona guztiek edertasun edo preferentzia eredu antzekoadutenean (eta horrela izaten da errealitatean), asko gustoko bikoterik gabe

22

Page 23: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

geratzen direla (ederrenak ederrenekin geratzen direlako). Horregatik esan ohida edertasunak atsekabea dakarrela.

Ikus dezagun adibide bat, algoritmoa nola garatzen den ikasteko:

A, B, C, d gizonezkoek eta a, b, c, d emakumezkoek elkarrekiko dituztenpreferentziak azaltzen dira:

Gizonezkoen preferentziak

Preferentziak 1 2 3 4A a b c dB a b d cC a c d bD a c d b

Emakumezkoen preferentziak

Preferentziak 1 2 3 4a A B C Db A B D Cc B A C Dd B A D C

Ikus dezagun zein den enparejamendu egonkorra gizonezkoek proposatzenbadute (eta ondorioz emakumeak erabaki):

A a a aB 6 a b bC 6 a c cD 6 a 6 c d

Lehenengo aukeraketan, gizonezkoek emakume berdina, a, aukeratu dute etahonek muzin egiten die guztiei hauen artean gogokoena duen Ari ezik. Beraz,A ezik beste guztiek bigarren proposamen bat egiten dute eta cemakumezkoak bi proposamen jaso dituenez, bietatik gogokoena hartzen du(Crena) eta horrela Dk hirugarren proposamena egiten du. Une horretan,gizonezko guztiek emakumezko ezberdinak dituztela, emakumezkoa egonkorradela ondoriozta daiteke.

23

Page 24: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

Egin ezazu enparejamendu egonkorra emakumezkoak badira proposamenakegiten dituztenak:

abcd

Azkenik, ebazkizun bat proposatzen dizut.

Langileen egokitasun ordena egin beharreko lan ezberdinetarako matrizehonetan azaltzen da (langileak letra txikietan eta lanak letra handietan):

A a b c d e fB f c b a d eC a e d f c bD b d e f c aE c a e f f dF c d a e b f

Langileen preferentziak matrize honetan azaltzen dira:

a C B A E F Db E A C B D Fc C D B A E Fd B E C D A Fe A C B D F Ef B F D E C A

Lanak ahalik eta era egokienean burutu nahi badira, nolakoa izan behar dalanen esleipen egonkorra?

24

Page 25: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

7 Enparejamendu kopuru handiena alde bikografoetan

Ebazkizun honi maximum cardinality problem deritzo ingelesez. Adibidez,grafo honetan urdinez azaltzen diren 5 enparejamendu baino gehiago ezin diraegin (beste era batera egin daitezke, baino gehiago ez)

25

Page 26: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

Ebazkizun hau alde biko grafoetarako bakarrik aztertuko dugu, ondokoabezalako grafoetarako alegia:

Adibide gisa, grafo honek alde batean neskak eta bestaldean mutilak adierazditzake. Marrek osa daitezkeen bikoteak adierazten dituzte. Zein da osadaitekeen bikote kopuru maximoa?

Kopuru hau kalkulatzeko, Edmonds-en algoritmo ederra erabiliko dugu (etazoragarria, alde bikoak ez diren grafoetarako). Horretarako adibide batgaratuko dugu. Har dezagun ondoko matrizeak adierazten duen grafoa:

A B C D E1 12 13 1 14 1 1 1 15 1 16 1 1 1 1 1

Algoritmoa abiarazteko edozein enparejamendu hartzen dugu, betiere eginahal badaiteke. Adibidez, taula honetan marren arteko batekoek adieraztendutena:

26

Page 27: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

A B C D E1 12 13 1 1*4 1 1 1 1*5 1 16 1 1 1* 1 1

Orain, grafoa eta enparejamendua grafikatu egiten ditugu:

27

Page 28: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

Mutiletatik hasita, enparejamendu-ez enparejamendu bideak aurkitzen ditugu,betiere bidean zehar aurretik azaldu diren neskak azaldu behar ez direla. Bidehauei txandakazko bideak deritze (alternating path) Ea:

Ikustazu, adibidez: 1− C − 6 bidea txandakazkoa da: 6-tik aurrera enparejatugabeko A−B − E −D neskengana heltzen gara, baina D neska aurretikazaldu denez bidean, ez dugu jarri behar. Berdin gertatzen da, behetik 3anbukatzen den bidean: Cra ezin dugu luzatu, aurretik C-tik pasa garelako ia.

Beste ohar bat: bidea hasita, enparejatu gabeko bikote bat ezin badaurrutirago luzatu, enparejatu egiten da eta algortimoa berriz ere abiarazten da.

Hurrengo pausoa: suertatu zaigun sare honetan 1 mutila eta A neska libredaude, enparejatu gabe:

28

Page 29: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

Bide honi augmentig path edo bide gehikorra deitzen zaio. Enparejatutaazaltzen direnak desenparejatu eta enparejatu gabe daudenak enparejatuegingo ditugu (6C kendu eta 1C6A jarri). Eta honela enparejamendu kopurua1 gehitzen da.

Matrizean enparejamendu berriak ezartzen ditugu (eta zaharra kendu noski):

A B C D E1 1 *2 13 1 1*4 1 1 1 1*5 1 16 1* 1 1 1 1

Orain, beste behin gara dezagun algoritmoa. Txandazkako bideak aurkituz:

Ez gara iristen libre dagoen neska batengana. Algoritmoa hemen bukatzen daeta azken enparejamendua izango da kopuru maximoa duena: 1C-3D-4E-6A.

29

Page 30: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

7.1 Edmonds-en algoritmoa taula moduan

The algorithm as described here uses the matrix form of a bipartite graph.Translating the matching from a matrix to a graph is straightforward.

There are two phases to this algorithm: labeling and flipping.

Labeling

We begin with a matrix with rows and columns containing 0s,1 s, and 1∗s,where a 1∗indicates in edge in the matching and a 1 indicates an edge not inthe matching. Number the columns 1 . . . C and number the rows 1 . . . R.

Start by labeling each column that contains no 1∗s with the symbol s .

Now we scan the columns. Scan each column i that has been labelled but notscanned. Find each 1 in column i that is in an unlabelled row; label this row i. Mark column i as scanned.

Next, we scan the rows. Scan each row j that has been labelled but notscanned. Find the first 1∗ in row j . Label the column in which it appears j,and mark row j as scanned. If there is no 1∗ in row j, proceed to the flippingphase.

Otherwise, go back to column scanning. Continue scanning and labelling untilit is not possible to label or scan more rows or columns; at that point, the setof 1∗s is a maximal matching.

Flipping

We enter the flip phase when we scan some row j that contains no 1∗. Thisrow must have some label c, and in column c , row j of the matrix, there mustbe a 1; change this to a 1∗ .

Now consider column c ; it has some label r. If r is s , clear all the labels andmark all rows and columns unscanned, and begin the labeling phase again.Otherwise, change the 1∗ at column c , row r to a 1 .

Move on to row r and scan this row.

Notes

The algorithm must begin with some matching; we may begin with the emptyset (or a single edge), since that is always a matching. However, each iterationthrough the process increases the size of the matching by exactly one.Therefore, we can make a simple optimization by starting with a largermatching. A nave greedy algorithm can quickly choose a valid matching thatis usually close to the size of the maximal matching; we may initalize ourmatrix with that matching to give the procedure a head start.

30

Page 31: Grafo teoriarako hastapenak · abiltzen da grafo teoria. Grafo bat marrazteko orduan, itxura ezberdineko bi grafo berdinak izan daitezkeela gogoratu behar da: marrek puntuak nola

Estatistika I Josemari Sarasola Ledesma

7.2 Ariketak

Enparejamendu kopuru handiena bila ezazu Edmonds-en algoritmoarenbitartez prozedura grafikoa erabiliz (1∗ ikurrak hasierako enparejamendu batadierazten du):

A B C D E1 1* 1 0 0 02 0 1 0 1 03 0 0 1* 0 14 1 0 0 1* 05 1 0 0 0 1

A B C D E1 1* 1 0 0 02 0 0 0 1 03 0 0 1* 0 04 1 0 0 1* 05 1 0 0 0 16 0 1 1 0 0

31


Top Related