Bojenje grafova

5.10 Bojenje grafova

5.10.1 Problem ˇ cetiri boje Godine 1853. Francis Guthrie je pokuˇsao obojiti kartu engleskih pokrajina,

tako da pokrajine koje imaju zajedniˇcku granicu budu obojene razliˇcitom bojom i pri tome primijetio da su za to potrebne samo ˇcetiri boje. To je opaˇzanje prenio svom profesoru matematiˇcaru de Morganu, a njega je to potaknulo da postavi hipotezu ˇcetiri boje. Hipoteza kaˇze da se svaka geografska karta moˇze obojiti s najviˇse ˇcetiri boje tako da nijedna od dvije susjedne regije (drˇzave) nisu obojene istom bojom. Za regije kaˇzemo da su susjedne (eng. adjacent) ako imaju zajedniˇcku granicu, ali ne i ako imaju samo zajedniˇcku toˇcku. Vrlo brzo je utvrdeno da tri boje nisu dovoljne da se pravilno oboji karta, ali i da se s pet razliˇcitih boja moˇze obojiti svaka karta.

U rjeˇsavanju ovog problema angaˇzirao se veliki broj matematiˇcara kroz period od stotinjak godina. U nekoliko navrata objavljeno je da je hipoteza dokazana, ali su nakon toga bile otkrivene greˇske u postupku dokazivanja. Vaˇzne doprinose dokazu hipoteze dao je i hrvatski matematiˇcar Danilo Bla- nuˇsa sredinom 20. stolje´ca.

Medutim, dokaz hipoteze izveden je tek 1977. godine uz znaˇcajnu upo- trebu raˇcunala, a dokaz teorema o ˇcetiri boje napravili su Kenneth Appel

i Wolfgang Haken. Pomo´cu raˇcunala provjereno je 1936 mogu´cih sluˇcajeva (karata). Taj je dokaz, budu´ci da je bio prvi dokaz nekog poznatog teorema izveden pomo´cu raˇcunala, pokrenuo veliku raspravu u matematiˇckim kru- govima o pitanju treba li se takav ”raˇcunalni dokaz” smatrati ispravnim. Matematiˇcka je praksa da svaki dokaz ˇcovjek (matematiˇcar) treba biti u stanju verificirati korak po korak. To nije bio sluˇcaj s Appel-Hakenovim

POGLAVLJE 5. TEORIJA GRAFOVA 237

dokazom teorema o ˇcetiri boje. Dvadesetak godina kasnije (1996. godine) dodatnom razradom matematiˇcke teorije broj mogu´cnosti koje je trebalo provjeriti smanjen je na 633. To su uˇcinili Neil Robertson, Daniel Sanders, Paul Seymour i Robin Thomas i tako omogu´cili da se dokaz provede (uz dosta muke i vremena) i bez pomo´ci raˇcunala.

Teorem o ˇcetiri boje prirodno se moˇze formulirati u teoriji grafova. Regije na karti identificiraju se s vrhovima grafa. Svaka dva vrha su spojena bridom ako pripadne regije na karti imaju zajedniˇcku granicu.

Teorem 5.13 Vrhovi svakog ravninskog (planarnog) grafa mogu se obojiti s najviˇse ˇcetiri boje tako da ne postoje dva susjedna vrha obojena istom bojom.

5.10.2 Bojenje vrhova grafa Problemi bojenja karata, kao i problemi slaganja rasporeda ˇcesto se opisuju

u modelu bojenja vrhova grafa. Definicija 5.29 Bojenje vrhova grafa G = (V, E) je funkcija c : V → N sa

svojstvom da je c (x) 6= c (y) kada je {x, y} ∈ E. Kad govorimo o pridruˇzivanju prirodnih brojeva vrhovima ˇcesto mislimo

na pridruˇzivanje boja vrhovima grafa i obrnuto. To je razlog zaˇsto funkciju oznaˇcavamo sa c (eng. color).

Ponekad se u literaturi (npr. u [5] i [10]) moˇze prona´ci da je bojenje vrhova grafa zapravo bilo kakvo pridruˇzivanje boja vrhovima, dok se bo- jenje koje susjednim vrhovima pridruˇzuje razliˇcite boje zove pravilno bojenje vrhova grafa (eng. proper vertex coloring).

Kromatski broj χ (G) grafa G je najmanji cijeli broj k takav da postoji bojenje vrhova grafa G gdje je upotrebljeno toˇcno k boja. Pitamo se kako odrediti kromatski broj danog grafa. Ukoliko graf ima relativno mali broj vrhova metodom pokuˇsaja i pogreˇsaka moˇze se odrediti kromatski broj grafa. Medutim ako je broj vrhova grafa velik trebali bismo na´ci dobar algoritam koji bi rjeˇsavao op´cenito taj problem. Za sada nije poznat algoritam koji bi pronalazio kromatski broj grafa u polinomnom vremenu. Ovaj problem pripada klasi NP-potpunih problema (eng. NP- complete) u kojoj se nalazi i problem trgovaˇckog putnika.

Jedna od primjena kromatskog broja grafa je problem slaganja ras- poreda. Na primjer, slaganje rasporeda velikog broja ispita na fakultetu (ili ˇcak na ˇcitavom sveuˇciliˇstu). Trebaju se izbje´ci konflikti da ni profesor ni student ne budu na rasporedu u isto vrijeme na dva razliˇcita ispita. Ovdje ´cemo pokazati sliˇcan problem slaganja rasporeda na konferenciji.

5.10. BOJENJE GRAFOVA

Primjer 5.16 Na kongresu informatiˇcara prezentira se 6 sekcija: s 1 ,s 2 , ..., s 6 . Zbog interesa sluˇsatelja, paralelno se ne smiju izvoditi sljede´ce sekcije: s 1 is 2 ,s 1 is 4 ,s 3 is 5 ,s 3 is 6 ,s 2 is 6 ,s 5 is 6 . Kako treba napraviti raspored izvodenja sekcija tako da se kongres odrˇzi u najkra´cem vremenu i da je interes sluˇsatelja poˇstivan? Pretpostavljamo da sve sekcije traju jednako dugo.

Prikaˇzimo problem pomo´cu grafa tako da sekcije predstavljaju vrhove grafa, pri ˇcemu su dva vrha povezana bridom ukoliko se ne smiju izvoditi paralelno.

Slika 5.22

Jedan od mogu´cih rasporeda je sljede´ci:

s 1 ,s 5 s 2 ,s 3 ,s 4 s 6 Tablica 5.5

Vidi se da nije mogu´ce sve sekcije smjestiti u manje od tri termina, jer postoji trokut s 3 s 5 s 6 u grafu ˇsto znaˇci da nijedan od ta tri vrha ne smije biti u istom terminu s preostala dva. Dakle, kromatski broj ovog grafa je 3. Vrhovi se prema tome mogu obojiti s 3 boje.

POGLAVLJE 5. TEORIJA GRAFOVA 239

Slika 5.23

Bojenje vrhova grafa moˇzemo shva´cati i kao particiju skupa svih vrhova takvu da su u svakom skupu particije samo oni vrhovi koji nemaju zajedniˇcki brid. Dakle, svaki skup particije sadrˇzi samo vrhove iste boje, pa se ˇcesto naziva i klasa boje (eng. color class).

Definicija 5.30 Klika (eng. clique) u grafu G je maksimalni podskup skupa vrhova u grafu koji su medusobno susjedni. Broj klike (eng. clique number) ω (G) je broj elemenata (vrhova) najve´ce klike u grafu.

U gornjem primjeru klike bi bili skupovi {s 1 ,s 2 } , {s 1 ,s 4 } , {s 2 ,s 6 },

{s 3 ,s 5 ,s 6 } , te je ω (G) = 3. Oˇcito je da vrijedi sljede´ca tvrdnja. Propozicija 5.6 U svakom grafu G vrijedi χ (G) ≥ ω (G) . Op´cenito rjeˇsenje problema traˇzenja kromatskog broja ne postoji. Od-

nosno ne postoji algoritam koji bi dani problem rijeˇsio u polinomnom vre- menu. Postoji, medutim, jednostavna metoda bojenja vrhova grafa, koja je upotrebljiva ukoliko broj vrhova nije prevelik. Najprije se graf pokuˇsa obojiti s jednom, pa sa dvije boje, tako da se za vrh uvijek pokuˇsa uzeti svaka boja kojom nije obojen ni jedan od njegovih susjeda. Ako se na taj naˇcin ne uspiju obojiti svi vrhovi grafa, pove´ca se broj boja, te se postu- pak ponavlja iz poˇcetka. Ovaj algoritam temelji se na metodi pretraˇzivanja s vra´canjem (backtracking). On ´ce sigurno prona´ci bojenje vrhova grafa minimalnim brojem boja, no problem je ˇsto se ovaj algoritam izvrˇsava u eksponencijalnom vremenu s obzirom na broj vrhova grafa.

Navedimo dva teorema koji se dokazuju pomo´cu pohlepnog algoritma. Teorem 5.14 Neka je G graf u kojem je maksimalni stupanj jednak k. Tada

vrijedi:

5.10. BOJENJE GRAFOVA

1. χ (G) ≤ k + 1,

2. ako je G povezan graf i nije regularan tada je χ (G) ≤ k. Prisjetimo se da je graf bipartitan ako i samo ako ne sadrˇzi cikluse

neparne duljine. Zadatak 5.28 Nadite kromatski broj potpunog grafa K n . Zadatak 5.29 Dokaˇzite da za bipartitni graf G vrijedi χ (G) = 2, koriste´ci

teorem 5.14.

5.10.3 Bojenje bridova grafa Postoje problemi u kojima je prirodnije uzeti model bojenja bridova grafa,

umjesto bojenja vrhova grafa. Takav je primjer ploˇce sa strujnim krugovima, gdje ˇzice koje se medu- sobno spajaju trebaju biti obojene razliˇcitim bojama kako bismo ih mogli razlikovati.

Definicija 5.31 Bojenje bridova grafa G = (V, E) je funkcija c : E → N sa svojstvom da je c (e) 6= c (f) kada su bridovi e i f incidentni.

Kromatski broj χ ′ (G) bojenja bridova grafa G je najmanji cijeli broj k, takav da postoji bojenje bridova grafa G gdje je upotrebljeno toˇcno k boja. Nadalje, promotrimo sljede´ci problem.

Primjer 5.17 Zelimo izraditi raspored posjeta pacijenata P = ˇ {u, v, z, x} koji se trebaju pregledati kod specijalista S = {a, b, c, d, e, f, g}. Pri tome pacijent treba posjetiti odredenog specijalistu kako je dano u tablici susjed- nosti:

Tablica 5.6

Napravimo raspored posjeta pacijenata pojedinom specijalistu ako zna- mo da svaki pregled traje pola sata i poˇcinje se s radom u 8:00. Nacrtajmo prvo bipartitni graf ˇciji se skup vrhova sastoji od P i S i ˇciji su bridovi dani matricom susjednosti.

POGLAVLJE 5. TEORIJA GRAFOVA 241

Slika 5.24

Uparivanje pacijenata i specijalista radi se u obliku rasporeda. Sada svaka boja brida predstavlja odredeno mjesto u rasporedu. Tako se upotre- bom bojenja bridova bipartitnog grafa dobiva izvediv raspored. Iz gornjeg grafa moˇze se izvesti raspored za svakog lijeˇcnika i za svakog pacijenta. Vidimo da su potrebna ˇcetiri termina po lijeˇcniku.

Navedimo jedan oˇcigledan rezultat koji vrijedi za bojenje bridova grafa Propozicija 5.7 Za bipartitni graf G vrijedi χ ′ (G) = δ max (G) . Dokaz. Dokaz se provodi matematiˇckom indukcijom po broju bridova

grafa G. Neka je skup vrhova bipartitnog grafa dan kao unija X ∪Y. Uzmimo graf samo s jednim bridom tj. jedan brid spaja vrhove iz X i Y. Sada je oˇcito da se graf moˇze obojiti samo jednom bojom.

Pretpostavimo da teorem vrijedi za bipartitni graf s n bridova. Treba dokazati da tvrdnja vrijedi za graf G s n + 1 bridova tj. da vrijedi χ ′ (G) = δ max (G) = k. Odstranimo li jedan brid iz G dobit ´cemo graf s n bridova za koji je χ ′ (G ′ )=δ max (G ′ ) jednak k ili k − 1.

Propozicija 5.8 Za graf G u kojem je k medusobno incidentnih bridova vrijedi χ ′ (G) ≥ k.

Propozicija 5.9 Za graf G vrijedi χ ′ (G) ≥δ max (G) . Teorem 5.15 (Vizing; Gupta) Za jednostavni graf G postoji bojenje vr-

hova grafa tako da se pri tome koristi maksimalno δ max (G) + 1 boja. Zadatak 5.30 Pomo´cu matematiˇcke indukcije pokaˇzite da za potpuni graf

P n vrijedi

1. χ ′ (G) = n − 1 ako je n paran broj,

2. χ ′ (G) = n ako je n neparan broj.

5.11. SPARIVANJE U GRAFOVIMA