Usmjereni grafovi i mreˇ ze

5.9 Usmjereni grafovi i mreˇ ze

5.9.1 Usmjereni graf U mnogim praktiˇcnim problemima nije dovoljno koristiti graf kao model,

nego bridovima treba dodati i orijentaciju. Na primjer, crtamo li plan grada vaˇzno je naznaˇciti da li je ulica jednosmjerna ili dvosmjerna. Ako je jedno- smjerna, treba znati u kojem je smjeru dopuˇsteno voziti. Tako smo doˇsli do pojma usmjerenog grafa.

Definicija 5.24 Usmjereni graf ili digraf (eng. directed graph, digraph) je par (V, A), pri ˇcemu je V neprazan skup vrhova grafa, a svaki element skupa A je uredeni par razliˇcitih elemenata iz V. Elementi od A zovu se lukovi (eng. arc).

Dakle, ako kod bilo kojeg grafa, svakom bridu dodamo orijentaciju, dobit ´cemo usmjereni graf. Obrat ove izjave ne vrijedi, tj. ne moˇze se svaki us- mjereni graf dobiti iz neusmjerenog. Kod usmjerenog grafa bridovi su pred- stavljeni kao uredeni parovi vrhova, dok su kod neusmjerenog grafa bridovi neuredeni parovi vrhova, tj. dvoˇclani skupovi. Pri crtanju, orijentaciju brida naznaˇcimo strelicom prema w, ako je sa (v, w) dan luk.

Nadalje, usmjereni graf moˇzemo shvatiti kao prikaz relacije R na ele- mentima istog skupa A (ρ

∈A 2 ). Sada je (v, w) luk u grafu R ako i samo ako je vRw. Neka svojstva relacija sada se vizualiziraju na grafu. Svojstvo

simetriˇcnosti na grafu moˇzemo provjeriti tako da uoˇcimo da za svaki luk (v, w) postoji njemu suprotno orijentirani luk (w, v) tj. da se lukovi uvijek javljaju u parovima. Refleksivnost se oˇcituje tako da svaki vrh ima petlju.

POGLAVLJE 5. TEORIJA GRAFOVA 227

U usmjerenom grafu na prirodan se naˇcin uvode definicije usmjerene ˇsetnje, usmjernog puta i usmjerenog ciklusa.

Definicija 5.25 Usmjerena ˇsetenja u usmjernom grafu D = (V, A) je niz vrhova v 1 v 2 ...v k sa svojstvom da je (v i ,v i +1 ) ∈ A, ∀1 ≤ i ≤ k − 1. Ako su svi vrhovi usmjerne ˇsetnje medusobno razliˇciti, tada je to usmjerni put. Kod usmjerenog ciklusa svi unutraˇsnji vrhovi usmjerene ˇsetnje su medusobno

razliˇciti i v 1 =v k .

5.9.2 Turnir Primjer usmjerenog grafa je graf koji nastaje kao prikaz turnira (engl. tour-

nament) gdje svaki igraˇc igra protiv svakog drugog. Uoˇcite da na taj naˇcin dobivamo jednostavni potpuni graf, koji pretvaramo u usmjereni graf. Luk (v, w) nastaje ako igraˇc v pobijedi igraˇca w, a luk (w, v) ukoliko w pobijedi igraˇca v. Svaki graf takvog oblika zove se turnir. U turniru se mogu javiti usmjereni ciklusi duljine ve´ce ili jednake 3, ali ne i ciklusi duljine manje od

3. Unatoˇc tome vrijedi sljede´ci teorem. Teorem 5.10 U svakom turniru postoji usmjereni put koji sadrˇzi sve vr-

hove grafa (usmjereni Hamiltonov put) . Dokaz. Ideja dokaza sastoji se u tome da se svaki usmjereni put, koji ne

sadrˇzi sve vrhove grafa, moˇze dopuniti joˇs jednim vrhom. Poˇcinjemo s usmje- renim putem (v 1 ,v 2 ), koji dopunjavamo vrhovima dok ne dobijemo do puta koji sadrˇzi sve vrhove grafa. Neka je x bilo koji vrh grafa koji nije sadrˇzan u putu (v 1 ,v 2 , ...v k ). Ukoliko je (x, v 1 ) luk vrh ´cemo staviti na poˇcetak puta. Ako to nije sluˇcaj tada je (v 1 , x) luk u grafu jer se radi o turniru. Neka je, nadalje, m najve´ci cijeli broj takav da su svi (v 1 , x) , (v 2 , x) , ..., (v m , x) lukovi u grafu. Ako je m < k tada su (v m , x) i (x, v m +1 ) lukovi, pa moˇzemo ubaciti vrh x u put izmedu vrhova v m iv m +1 . U suprotnom vrh x moˇzemo dodati na kraj puta.

Zadatak 5.23 Napiˇsite program za nalaˇzenje usmjerenog puta koriste´ci al- goritam opisan u prethodnom dokazu.

Postoji alternativna definicija koja kaˇze da je turnir na skupu V svih vrhova relacija za koju vrijede svojstva irefleksivnosti, antisimetriˇcnosti i kompletnosti. Poveˇzite ovu definiciju s matricom relacije.

Zadatak 5.24 Turnir je zadan pomo´cu sljede´ce tablice. Uredeni par (x, y) predstavlja luk, ako je y u stupcu definiranom sa x.

5.9. USMJERENI GRAFOVI I MRE ˇ ZE

f Tablica 5.1

1. Nadite usmjereni put od vrha a do vrha d.

2. Nadite usmjerene cikluse u grafu.

3. Nadite usmjereni put koji sadrˇzi sve vrhove u grafu. Vrijedi i sljede´ci teorem za turnire? Teorem 5.11 Na svakom turniru ima neparan broj Hamiltonovih putova.

Teorem je 1934. godine dokazao R´edei. Dokaz se moˇze prona´ci u [8], str. 175.

5.9.3 Mreˇ ze i kritiˇ cni putevi Pretpostavimo da usmjereni graf predstavlja ulice unutar grada i da prema

grafu znamo koje su od njih jednosmjerne, a koje ne. Podatak koji bi takoder bio vaˇzan za snalaˇzenje u gradu bila bi i duljina ulica izraˇzena u metrima (ili kilometrima). Tako bismo usmjereni graf dopunili teˇzinama lukova. Na taj smo naˇcin dobili usmjerenu mreˇzu.

Definicija 5.26 Usmjerena mreˇza (engl. directed network) je usmjereni graf ˇcije su teˇzine lukova cjelobrojne pozitivne vrijednosti.

Dakle, usmjerena mreˇza je usmjereni graf zajedno s teˇzinskom funkcijom w:A → N. Razlog za uzimanje iskljuˇcivo prirodnih brojeva za teˇzine lukova leˇzi u ˇcinjenici da tako izbjegavamo poteˇsko´ce u traˇzenju optimalnog rjeˇsenja za probleme na mreˇzama.

5.9.4 Problem rasporeda ˇ Siroko podruˇcje primjene usmjerenih teˇzinskih grafova je u poslovanju, gdje

se stalno traˇze nove i preciznije metode koje pomaˇzu u radu s mnoˇstvom kompleksnih podataka i zadanim rokovima, a cilj im je podizanje kompetitiv- nosti poduze´ca (vidi [6]). Tu pomaˇzu razliˇcite tehnike za izradu rasporeda, u koje pripadaju i tehnike mreˇza (networks). Poznate tehnike mreˇza su:

• Program Evaluation and Review Technique - PERT,

POGLAVLJE 5. TEORIJA GRAFOVA 229 • Metoda kritiˇcnog puta (Critical Path Method ) - CPM, odnosno Arraw

Diagram Method (ADM). Graf je pritom prikaz u kojem lukovi oznaˇcavaju poslove, koji se moraju

izvesti odredenim redom, a teˇzine lukova oznaˇcavaju vrijeme potrebno da se posao obavi. Problem se sastoji u nalaˇzenju takvoga redosljeda obavljanja poslova da svi poslovi budu izvrˇseni u najkra´cem mogu´cem vremenu. Takvi se problemi nazivaju i problemima rasporeda(eng. scheduling problems). Uzet ´cemo da su teˇzine bridova cjelobrojne vrijednosti. Znamo da ovakve usmjerene teˇzinske grafove zovemo i usmjerenim mreˇzama.

PERT je razvijen 1958. do 1959. godine u laboratorijama ameriˇcke ratne mornarice, kako bi pomogle u vremenu velikog zamaha tehnologije, budu´ci

da klasiˇcne tehnike rasporeda, kao ˇsto je Ganttov dijagram, nisu bile do- voljne. Vrlo brzo PERT se proˇsirio u sve grane privrede. U otprilike isto vrijeme javila se joˇs jedna sliˇcna metoda – Metoda kritiˇcnog puta (CPM).

Jedan od ciljeva konstrukcije PERT dijagrama je odredivanje koliko je vremena potrebno za zavrˇsetak nekog projekta (procesa). Klasiˇcni primjer mreˇze je mreˇza aktivnosti koje treba provesti da bi se uspjeˇsno zavrˇsio projekt. Takve mreˇze koristimo ve´c u fazi planiranja projekta. Vrhovi grafa predstavljaju dogadaje, a lukovi su aktivnosti koje treba provesti da bi se odredeni dogadaj ostvario. Teˇzine lukova oznaˇcavaju vrijeme potrebno za provodenje odredene aktivnosti. U fazi planiranja potrebno je odrediti koliko ´ce projekt trajati. Taj se problem svodi na pronalaˇzenje najduljeg puta koji sadrˇzi sve vrhove grafa. To je tzv. kritiˇcni put u grafu. S druge strane aktivnosti treba planirati tako da trajanje pro- jekta bude ˇsto kra´ce.

Zadatak 5.25 U projektu su zadane aktivnosti a 1 ,a 2 ,a 3 ,a 4 ,a 5 ,a 6 . Vre- mena (izraˇzena u tjednima) potrebna da se te aktivnosti obave su t i ,1 ≤

i ≤ 6 i ona su dana u sljede´coj tablici. U tablici su dani preduvjeti p i za pojedine aktivnosti. Uoˇcite da aktivnost moˇze imati viˇse od jedne aktivnosti koje joj nuˇzno prethode.

Slika 5.19

1. Prikaˇzite projekt u obliku usmjerene mreˇze.

2. Koliko je minimalno trajanje projekta?

3. Oznaˇcite najdulji put u tom grafu.

5.9. USMJERENI GRAFOVI I MRE ˇ ZE Mreˇza aktivnosti prikazana je na sljede´coj slici. Vrh p predstavlja poˇce-

tak, a z zavrˇsetak projekta. Sada se za svaki vrh raˇcuna V (v) kao najkra´ce vrijeme, raˇcunaju´ci od poˇcetka projekta, kad se taj dogadaj moˇze dogoditi.

Stavljamo da je V (p) = 0. Nadalje, V (q) = 3, V (r) = 2 + 6 = 8. Vrijednosti najkra´cih vremena dane su u sljede´coj tablici.

z V(v) 0 3 8 13 17 20

Tablica 5.2

Slika 5.20

Primijetite da to znaˇci da se za svaki vrh traˇzi najdulji put od poˇcetnog vrha do promatranog vrha, tako da bi se stigle obaviti sve aktivnosti koje promatranom dogadaju prethode. Vidimo da je najkra´ce trajanje projekta

20 tjedana. Primjenjena metoda analize mreˇze pripada metodama kritiˇcnog puta. Najdulji put u grafu je sada put pqrstz.

Prethodni je zadatak primjer problema traˇzenja najduljeg (kritiˇcnog) puta u grafu. Ponovimo sada metodu prikazanu u primjeru. Dakle, za poˇcetni vrh p vrijedi V (p) = 0, a za svaki drugi vrh u grafu vrijedi rekurzivna relacija

V (v) = max u {V (u) + w (u, v)} ,

gdje je u svaki vrh takav da uv predstavlja luk.

POGLAVLJE 5. TEORIJA GRAFOVA 231

Sada ´cemo za svaki vrh v raˇcunati krajnje vrijeme K (v), kad taj dogadaj treba nastupiti, da bi projekt bio zavrˇsen u zadanom roku. Ovdje imamo rekurziju ”unatrag”. Ako je t vrijeme trajanja projekta tada za posljednji vrh z vrijedi K (z) = t, a za svaki drugi vrh v

K (v) = min x {K (u) − w (u, x)} ,

gdje je y svaki vrh takav da vx predstavlja luk. Sada definiramo (float time)

F (y, z) kao

F (y, z) = K (z) − V (y) − w (y, z) , ˇsto znaˇci da aktivnost yz moˇze poˇceti bilo kada u vremenu od V (y) do

V (y) + F (y, z), bez da to utjeˇce na zavrˇsetak projekta. Aktivnost za yz, koju je F (y, z) = 0, je kritiˇcna aktivnost za projekt. U svakoj mreˇzi projekta postoji barem jedan put koji se sastoji od kritiˇcnih aktivnosti i zove se kritiˇcni put.

Zadatak 5.26 Izraˇcunajte F (y, z) za svaku aktivnost iz prethodnog pri- mjera.

U projektu su zadane aktivnosti a 1 ,a 2 ,a 3 ,a 4 ,a 5 ,a 6 ,a 7 . Vremena (izra- ˇzena u mjesecima) potrebna da se te aktivnosti obave su t i ,1 ≤i≤7i ona su dana u sljede´coj tablici. U tablici su dani preduvjeti p i za pojedine aktivnosti. Uoˇcite da aktivnost moˇze imati viˇse od jedne aktivnosti koje joj nuˇzno prethode.

Tablica 5.3

1. Prikaˇzite projekt u obliku usmjerne mreˇze.

2. Koliko je minimalno trajanje projetka?

3. Nadite kritiˇcni put u tom grafu.

4. Izradite potpunu analizu projekta (funkcije F (y, z))

5.9.5 Protoci i rezovi Prototipom transportne mreˇze moˇzemo smatrati naftovod. Takva mreˇza

ima jedan izvor (eng. source) i jedan ponor (eng. sink). Svaki luk grafa ovdje predstavlja dio naftovoda ˇciji su vrhovi spojnice pojedinih cijevi. Ka- pacitet luka je maksimalni protok koji je mogu´ce ostvariti kroz promatranu

5.9. USMJERENI GRAFOVI I MRE ˇ ZE cijev. U transportne mreˇze spadaju i transportne rute pojedine robe, ali i

telefonske i elektriˇcne mreˇze. Nadalje, primjer transportne mreˇze je i Inter- net. Medutim, kod Interneta se javlja problem ˇsto je ta mreˇza prevelika da bi se u potpunosti definirala . Stoga se ovdje javlja neˇsto drugaˇciji problem minimizacije puta: problem minimizacije puta u grafu koji je djelomiˇcno poznat.

Dakle, u transportnim mreˇzama uvijek postoji vrh i kojeg zovemo izvor

i za kojeg vrijedi da su svi lukovi koji sadrˇze taj vrh usmjereni od tog vrha. Postoji i vrh p kojeg zovemo ponor i za kojeg vrijedi da su svi lukovi koji

ga sadrˇze usmjereni prema njemu. Definicija 5.27 Transportna mreˇza je usmjereni graf D = (V, A) , takav da

je na grafu zadana funkcija kapaciteta c : A → N, te postoji izvor i ponor u grafu.

Protok (eng. flow) mreˇze M je funkcija f : A → N gdje f (u, v) oznaˇcava koliˇcinu koja prolazi kroz luk (u, v) . Prirodno je pretpostaviti da koliˇcina koja ude u vrh u (osim za izvor i ponor) mora biti jednaka onoj koja izade. Taj zakon zovemo zakonom oˇcuvanja. Da bi taj zakon mogli zapisati for- mulom definiramo prvo ulazni i izlazni protok za svaki vrh kao ˇsto slijedi:

ulaz (u) =

f (x, u) , izlaz (u) =

f (u, y) .

(x,u)∈E

(u,y)∈E

Nadalje, vrijedi i zakon izvodljivosti (eng. feasibility) koji tvrdi da protok kroz dani luk ne moˇze biti ve´ci od njegovog kapaciteta. Vrijedi dakle:

1. ulaz (u) = izlaz (u) , u 6= i, p (zakon oˇcuvanja),

2. f (x, y) ≤ c (x, y) , (x, y) ∈ A (zakon izvodljivosti). Zadatak 5.27 Dana je transportna mreˇza sa slike 5.21

1. Za mreˇzu na slici izraˇcunajte za svaki vrh ulaz (u) i izlaz (u) .

2. Zadana je funkcija f na toj mreˇzi sa

i (i, q) (i, r) (q, r) (q, s) (r, s) (r, t) (s, t) (t, p)

f (x, y)

Tablica 5.4

POGLAVLJE 5. TEORIJA GRAFOVA 233

Slika 5.21

Provjerite zadovoljava li dana funkcija f zakone oˇcuvanja i izvodlji- vosti.

Zbog zakona oˇcuvanja, za bilo koji luk (s, t) vrijedi da je ukupni izlaz iz s jednak ukupnom ulazu u t. Dakle, izlaz (s) = ulaz (t) , za bilo koji protok kroz (s, t) . Tu zajedniˇcku vrijednost, koja mjeri ukupni protok kroz mreˇzu, zovemo vrijednost protoka.

Vrijednost protoka f na mreˇzi D definira se kao

5.9.6 Max-flow min-cut teorem Sada ´cemo odgovoriti na pitanje kolika je maksimalna vrijednost protoka za

danu mreˇzu. U tu svrhu odredimo prvo gornju medu vrijednosti protoka. Pretpostavimo da je na skupu svih vrhova V dana particija tog skupa na dva podskupa S i T. Prisjetimo se da to znaˇci da je S ∪ T = V i S ∩ T = ∅. Protok izmedu skupova S i T definiramo na sljede´ci naˇcin:

Prva suma mjeri ukupni protok od S prema T, a druga suma mjeri ukupni protok od T prema S. Budu´ci da je druga suma nenegativan broj, vrijedi:

5.9. USMJERENI GRAFOVI I MRE ˇ ZE

Zakon izvodljivosti f (x, y) ≤ c (x, y), koji vrijedi za svaki luk (x, y) , primi- jenimo na lukove ˇciji je poˇcetak u skupu S i zavrˇsetak u T, pa imamo:

Nadalje, za (S, T ) kaˇzemo da je rez (cut) koji odvaja i i p ako je skup {S, T } particija skupa svih vrhova V i vrijedi s ∈ S i t ∈ T. Sada definiramo

kapacitet reza sa

cap (S, T ) = X c (x, y) .

x y ∈S ∈T

Uzmimo specijalno da je s = i izvor mreˇze i t = p ponor mreˇze, f bilo koji protok od i do p, a (S, T ) bilo koji rez od i do p. Vrijedi:

val (f ) ≤ cap (S, T ) .

(5.1) Neka je sada f 0 maksimalni protok i (S 0 ,T 0 ) rez minimalnog mogu´ceg

kapaciteta, tada formula (5.1) tvrdi da je maksimalni protok manji ili jednak minimalnom rezu. To se obiˇcno piˇse kao max − flow ≤ min − cut. Taj je rezultat vaˇzan korak u dokazu teorema koji kaˇze da su te dvije vrijednosti zapravo jednake. To je tzv. max-flow min-cut teorem.

Promotrimo mreˇzu D i na njoj protok f. Cilj nam je proˇsiriti f do maksimalnog protoka. U tu svrhu u mreˇzi trebamo uoˇciti tzv. f -rastu´ce puteve (eng. f -augmenting path). Ti putevi nisu nuˇzno orijentirani i zapravo ih promatramo kao puteve u grafu zanemaruju´ci orijentaciju lukova.

Postoje dvije vrste f -rastu´cih puteva:

1. putevi u kojima se ne koristi puni kapacitet lukova,

2. putevi u kojima suprotni luk ( umjesto luka (a, b) promatramo (b, a)) nosi ”kontra-protok”.

Definicija 5.28 Neka je f protok na mreˇzi D = (V, A) . Put i = x 1 x 2 ..., x k = p zovemo f -rastu´cim putem, ako je

1. f (x i ,x i +1 ) < c (x i ,x i +1 ) i (x i ,x i +1 ) ∈ A ili

2. f (x i ,x i +1 ) > 0 za (x i ,x i +1 ) ∈A za sve 1 ≤ i ≤ k − 1.

POGLAVLJE 5. TEORIJA GRAFOVA 235

Na f -rastu´cim putevima moˇzemo pove´cati protok na lukovima do mak- simalnog kapaciteta ili postaviti kontra-protok na nulu. Pri tome moramo to raditi tako da ne prekrˇsimo zakon oˇcuvanja. Uzimamo, dakle, minimum za sve 1 ≤ i ≤ k − 1 sljede´cih veliˇcina

c (x i ,x i +1 ) − f (x i ,x i +1 ) ako je (x i ,x i +1 ) ∈ A,

f (x i ,x i +1 ) ako je (x i +1 ,x i ) ∈ A. Neka je taj minimum jednak a. Sada veliˇcinu a dodamo na lukovima i

oduzmemo od suprotnih lukova. Za tako dobiveni novi protok ˜ f vrijedi

val f ˜ = val (f ) + a.

Novi protok ima ve´cu vrijednost od poˇcetnog. Taj postupak nastavljamo dok ne dostignemo maksimum.

Za dokaz max-flow min-cut teorema posebnu vaˇznost imaju tzv. nepot- puni f -rastu´ci putevi. To su f -rastu´ci putevi koji ne sadrˇze ponor p. Pretpostavimo sada da je f maksimalni protok. Neka je S skup vrhova s za koje postoji nepotpuni f -rastu´ci put od i do s. Skup T je komplement od S u skupu V i on je oˇcito neprazan jer sadrˇzi vrh p, jer bi u suprotnom postojao f -rastu´ci put od i do p, pa protok f ne bi bio maksimalan. Dakle, {S, T } je rez koji razdvaja i i p.

Uzmimo sada da je (s, t) luk takav da je x ∈ S i y ∈ T. Slijedi da postoji nepotpuni f -rastu´ci put od i do s i ako je f (x, y) < c (x, y), tada ga moˇzemo proˇsiriti do t, suprotno pretpostavki da je y ∈ T. Stoga je f (x, y) = c (x, y) .

Nadalje, za dani luk (u, v), takav da je u ∈ T i v ∈ S, postoji nepotpuni

f -rastu´ci put od i do y i ako je f (u, v) > 0, tada ga moˇzemo proˇsiriti do u, ˇsto je u suprotnosti s pretpostavkom da je u ∈ T. Dakle, f (u, v) = 0. Sada je

Prema tome, dokazali smo sljede´ci teorem. Teorem 5.12 (max-flow min-cut teorem, L. Ford, D. Fulkerson, 1956). U

transportnoj mreˇzi je vrijednost maksimalnog protoka od s do t jednaka kapacitetu minimalnog reza koji razdvaja s i t.

Primjere o primjeni prethodnog teorema na´ci ´cete u [1]. Na dokazu prethodnog teorema temelji se i algoritam za pronalaˇzenje

maksimalnog protoka (Ford-Fulkerson-ov algoritam). U tom algoritmu se prvo metodom oznaˇcavanja provjeri da li postoji f -rastu´ci put. Ukoliko postoji, prelazi se na proˇsirenje f -rastu´ceg puta.

5.10. BOJENJE GRAFOVA

Algoritam 5.7 ULAZ: Transportna mreˇza G = (V, E). IZLAZ: Maksimalni protok transportne mreˇze G.

1. Poˇcinjemo s bilo kojim protokom, npr. protokom koji svakom luku pridruˇzuje nulu.

2. Upotrijebimo BSF (Breadth first search) algoritam za konstrukciju stabla nepotpunih f -rastu´cih puteva s korijenom u izvoru i.

3. Ako stablo dostiˇze ponor p, proˇsirimo f i vratimo se na korak 2. i uzmimo novi protok.

4. Ako stablo ne dostiˇze p, stavimo da je S skup svih vrhova koji ne dostiˇzu p i sa T komplement od S. Protok f je maksimalni protok i {S, T } je minimalni rez.