Professional Documents
Culture Documents
Grafovi I
Grafovi I
Uvod 3
Literatura 98
1
2 SADRŽAJ
Uvod
3
4 UVOD
i
B = {skup svih trouglova koji imaju sve jednake uglove}
opisuju jedan te isti skup, skup jednakostraničnih trouglova.
Opšti oblik predstavljanja skupa pomoću predikata je
A = {x|x ∈ P (x)},
jednaki.
Dva osnovna skupa su prazan skup i univerzalni skup, koje ćemo označiti
sa ∅ i U, respektivno.
Prazan skup je skup koji ne sadrži nijedan element. Ono što treba prvo
podvući je nemešanje praznog skupa A1 = ∅, i familije A2 = {∅}, koja sadrži
prazan skup kao svoj element. Važi |A1 | = 0 i |A2 | = 1. Šta više, prazan
skup je podskup svakog skupa, ∅ ⊆ A, ali ne postoji skup čiji je prazan skup
elemenat, ∅ ∈ A. Ako bi važilo ∅ ∈ A, A ne može biti skup, već familija.
Nije uvek lako, u konkretnim situacijama, pokazati da li je posmatrani
skup prazan. Ilustrovaćemo to konkretnim primerima.
Neka je
π = 3.14159265358979323846 . . .
prezentacija broja π pomoću beskonačnog decimalnog broja. On nije pe-
riodičan. Lako je uočiti da u ovom broju učestvuju sve cifre od 1 do 9.
Označimo sa A skup svih cifara koji se u datoj prezentaciji javljaju konačan
broj puta. Da li je A prazan skup? Koliko je nama poznato ova činjenica
nije dokazana.
Na osnovu iste prezentacije broja π, formiramo sledeći niz brojeva
i
B = {skup svih matematičara Srbije}
Postavlja se pitanje da li je svaka krava koja trenutno pase na Mesecu
matematičar iz Srbije? Odgovor je da. Naime, skup A je prazan skup,
te važi A ⊂ B.
8 UVOD
Razlog leži u prostoj činjenici što ništa ne može da učini sa samim sobom.
Ako, na primer, označimo sa A skup svih vojnika koji ne briju sami sebe, on
istovremeno i pripada i ne pripada ovom skupu.
Sledeći paradoks koji takod̄e pripada Raselu, ukazuje na to šta se može
dogoditi ako se pomešaju pojmovi skup i familija.
Neka je Y skup svih skupova koji ne sadrže samog sebe kao ele-
ment,
Y = {X|X ∈ X|}
Postavlja se pitanje da li sam skup Y pripada ovom skupu, tj. da
li ne sadrži samog sebe kao element.
(a, b1 ) ∈ ρ ∧ (a, b2 ) ∈ ρ ⇒ b1 = b2 .
f
f: A→B ili A−
→ B.
b = f (a1 ) ∧ b = f (a2 ) ⇒ a1 = a2 .
surjektivna.
A B
a1 b1
r ={(a1,b1), (a2,b2 ), (a2,b1), (a4,b3)}
a4
r
A B
a1 b1
f = {( a1,b1 ), (a2,b1 ), (a4,b3 )}
a4
f
A B
a1 b1
f = {( a1,b1 ), (a2,b3 ), (a3,b2 )}
b4
f
UVOD 11
A B
a1 b1
f = {( a1,b1 ), (a2,b2 ), (a3,b2 ), (a4 , b3 }
a4
f
A B
a1 b1
f = {( a1,b1 ), (a2,b2 ), (a3,b3 )}
13
14 1. OSNOVNI POJMOVI I DEFINICIJE GRAFA
Postoje mišljenja da je ovaj problem izmislio sam Ojler, što nije tako važno,
ali ga je on rešio. Odgovor je ne, ali ono što je najbitnije je način na koji je
Ojler došao do ovog odgovora. On je uveo novi matematički pojam GRAF i
razradio matematički aparat za rad sa grafovima. Svoje rešenje je saopštio u
Sankt Petersburškoj Akademiji nauka 26. avgusta 1735. godine. Ovaj dan je
datum rod̄enja dve nove matematičke discipline Teorije grafova i Topologije.
Napomenimo, da su grafovi i rad sa njima oduševili Ojlera, te im je posvetio
znav̧ajan deo svog naučnog rada. I dan danas fundamentalni rezultati u
Teoriji grafova su plod njegovog rada.
U razvoju teorije grafova značajnu ulogu imalo je rešavanje drugih logičko
-rekreativnih zadataka. Pomenućemo neke od njih.
c b
3 x3 x2 11 10
2
l l l
a b a b a b a a a
l={a,b} l={a,b} l={a,b} l={a,a} l={a,a}
a) E = {{a, a}, {a, b}, {a, c}, {a, c}, {a, c}, {b, c}};
b) E = {(a, a), (a, b), (a, c), (c, a), (c, a), (c, b)};
c) E = {(a, a), (a, b), (a, c), (c, a), (c, a), (c, b)}.
1.3. DEFINICIJE GRAFA 17
a a a
c b c b c b
a) b) c)
c b
a) E = {{a, b}, {a, c}, {a, c}, {a, c}, {b, c}}
b) E = {(a, b), (a, c), (c, a), (c, a), (c, b)}
c) E = {(a, b), (a, c), (c, a), (c, a), (c, b)}.
a a a
c b c b c b
a) b) c)
18 1. OSNOVNI POJMOVI I DEFINICIJE GRAFA
a a a
c b c b c b
a) b) c)
U obe ove definicije za ured̄eni par G = (V, ρ), tj. G = (V, f ), rekli
smo da je orijentisani graf sa petljama. To smo učinili jer neznamo osobine
binarne relacije ρ, tj. preslikavanja f , koje direktno utiču na karakter struk-
ture. Tako, na primer, ako je binarna relacija ρ, ρ ∈ V 2 , antirefleksivna i
simetrična, ured̄eni par G = (V, ρ) je graf. Ako je binarna relacija ρ antire-
fleksivna i nije simetrična, tada je ured̄eni par G = (V, ρ) orijentisani graf.
Ako je binarna relacija ρ antirefleksivna i asimetrična, ured̄eni par G = (V, ρ)
je usmereni graf.
a) b) c) d)
Na osnovu slike pod a) moglo bi se doći u zabludu da dati graf nije planaran,
što je demantovano slikom pod b). Na osnovu slike pod b) teško bi se moglo
zaključiti da dati graf može u ravni da ograniči tri jednake figure, što se lepo
vidi na slici pod c). Da bi se planarni graf iskoristio u proizvodnji štampanih
20 1. OSNOVNI POJMOVI I DEFINICIJE GRAFA
ploča, njegove grane moraju da se seku pod uglom od 90o ili 180o stepeni.
To se teško može uočiti nja osnovu načina prikazivanja pod a), b) i c). Na
osnovu slike pod d) vidimo da su ispunjeni svi traženi zahtevi.
Primer 1.5 Ako dati graf nije planaran, kažemo da je on dobro prikazan
ako je prikazan tako da ima minimalno mogući presek grana van čvorova. Na
sledećoj slici prikazan je jedan te isti graf, poznat pod nazivom kompletan
bipartitni graf, K33 . Na silci pod b) on je dobro prikazan.
1 2 3 1
6 5
4
x 2
4 5 6 3
a) b)
6 6 6
8 8 8
4 7 4 7 4 7
9 2 9 2 9 2
10 => 10 + 10
3 3 3
2
z (x) = { y| y ∈ V i {x, y} ∈ E} .
21
22 2. STEPENI ČVOROVA. PUTEVI. MATRICE. IZOMORFIZAM
n − 1 ≥ d1 ≥ d2 ≥ ... ≥ dn ≥ 0.
x5 Þ
x4 x3 x4 x3
Uklanjanje čvora X1 iz grafa
Napomenim da se grana uklanja iz grafa tako što se samo ona ukloni, pri
čemu se incidentni čvorovi ne diraju.
Za odnos broja grana i broja čvorova, tj. njihovih stepena, u datom grafu
G = (V, E) važi sledeći rezultat:
Posledica 2.2. Ako je dati graf G = (V, E) r−regularan, tada važi jednakost
r·n
m= . (2.2)
2
Ako je dati graf G = (V, E) kompletan tada važi jednakost
n(n − 1)
m= . (2.3)
2
Važno je uočiti u jednakosti (2.2), da zbog činjenice da parametar m mora
biti prirodan broj, bar jedan od parametara r ili n mora biti deljiv sa 2, tj.
biti paran. To znači da za proizvoljne parametre r i n ne mora da postoji
r−regularan graf.
Na sledećoj slici prikazani su 2-regularni grafovi za n = 3, 4, 5 i 6.
a) (7, 5, 4, 4, 3, 3, 2),
b) (5, 4, 4, 4, 3, 3, 2),
c) (6, 4, 4, 4, 2, 1, 1),
d) (5, 4, 4, 3, 2, 2, 2).
Rešenje
x1 x2 x3 x4 x5 x6 x7
D=
( 6, 4, 4, 4, 2, 1, 1 )
formiramo niz
x2 x3 x4 x5 x6 x7
D1 = .
( 3, 3, 3, 1, 0, 0 )
niz D2
x3 x4 x5 x6 x7
D2 = .
( 2, 2, 0, 0, 0 )
Na osnovu niza D2 , koji je pravilan, formiramo niz D3
x4 x5 x6 x7
D3 = .
( 1, −1, 0, 0 )
Ovaj niz sadrži negativan broj, te nije grafički. Samim tim, ni polazni
niz D nije grafički, te odgovarajući graf ne postoji.
x1 x2 x3 x4 x5 x6 x7
D=
( 5, 4, 4, 3, 2, 2, 2 )
x2 x3 x4 x5 x6 x7
D1 = .
( 3, 3, 2, 1, 1, 2 )
x2 x3 x4 x7 x5 x6
D̄1 = .
( 3, 3, 2, 2, 1 1 )
x3 x4 x7 x5 x6
D2 = .
( 2, 1, 1, 1 1 )
x4 x7 x5 x6
D3 = .
( 0, 0, 1, 1 )
2.1. STEPENI ČVOROVA 27
x5 x6 x4 x7
D̄3 = .
( 1, 1, 0, 0 )
Na osnovu ovog niza formiramo niz D4
x6 x4 x7
D4 =
( 0, 0, 0 )
x3
x2 x3
x2 x3 x1
28 2. STEPENI ČVOROVA. PUTEVI. MATRICE. IZOMORFIZAM
a) (2, 2) = 22 ,
b) (2, 2, 2, 3, 4, 5, 5, 5, 7, 7) = 32 13 14 35 27 ,
c) (2, 2, 2, 3, 5, 5, 5, 7, 7, 7) = 32 13 35 37 .
x1 x2 x3 x4 x5 x6 x7
D= .
( 6, 5, , 3, 3, 2, 2, 1 )
Koristeći Teoremu 2.1, tj. Algoritam 2.1, formiramo nove grafovske nizove
udaljavanjem odgovarajućih čvorova. Tako, redom, dobijamo nizove
x2 x3 x4 x5 x6 x7 x3 x4 x5 x6 x7
D1 = , D2 = .
( 4, , 2, 2, 1, 1, 0 ) ( 1, 1, 0, 0, 0 )
x6 x7
2.1. STEPENI ČVOROVA 29
x2 x6 x7
x1
x2 x6 x7
postoji most koji povezuje odgovarajuća ostrva. Ako bi takav graf posto-
jao, tada bi on sadržao neparan broj čvorova (9), neparnog stepena, što je
nemoguće. To znači da bar jedna grana ne pripada grafu, tj. ne povezuje
dva čvora u grafu. Samim tim odgovarajući most vodi ka obali.
n
d(xj ) = bij .
i=1
n
n
d(xi ) = aij = aji .
j=1 j=1
x1 x2 x3 x4 x5
⎡ ⎤
0 1 0 0 0 x1
⎢ ⎥
⎢ 1 0 1 1 0 ⎥
⎢ ⎥ x2
⎢ ⎥
A = ⎢ 0 1 0 0 0 ⎥ x3
⎢ ⎥
⎢ 0 1 0 0 0 ⎥
⎣ ⎦ x4
0 0 0 0 0 x5
Rešenje
Dati graf G = (V, E) ima 5 čvorova, |V | = 5, šest grana, |E| = 6,
i i odgovara mu grafovski niz D = (3, 3, 2, 2, 2). Možemo uvesti da je
V = {x1 , x2 , x3 , x4 , x5 } i E = {l1 , l2 , l3 , l4 , l5 , l6 }, i to je gotovo sve što možemo
zaključiti o datom grafu. Da bismo odredili tražene matrice, koje odgo-
varaju datom grafu, moramo normirati (označiti) njegove čvorove i grane.
Kako čvorove možemo označiti na 5!, a grane na 6! različitih načina, to
graf možemo označiti na 5! · 6! različitih načina. Postavlja se pitanje koji
izabrati. Odgovor je: bilo koji. To ćemo ilustrovati na konkretnom primeru.
Obeležimo graf G na dva proizvoljna načina, kao što je prikazano na sledećoj
slici. Jedan označima sa G1 a drugi sa G2
x1 l1 x2 l2 x3 x5 l1 x1 l3 x2
l5 l4 l4 l5
l3 l2
l6
l6
x5 x4 x4 x3
G1 G2
i
⎡ ⎤ ⎡ ⎤
⎡ ⎤ 1 0 0 0 1 0 1 1 1 0 0
0 1 0 1 1 ⎢ ⎥ ⎢ 1 ⎥
⎢ 1 0 1 1 0 ⎥ ⎢ 0 0 1 0
⎥ 1 ⎢ 0 0 0 0
⎥ 1
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ 1 1 0 0 0 ⎥ ⎢ 1 0 0 1 1 1 ⎥
A2 = ⎢ 0 1 0 0 1 ⎥ , B2 = ⎢ ⎥ , C2 = ⎢ ⎥
⎢ ⎥ ⎢ 1 0 0 1 0 ⎥ ⎢ 1 0 1 0 1 0 ⎥
⎣ 1 1 0 0 0 ⎦ ⎢ ⎥ ⎢ ⎥
⎣ 0 1 0 1 0 ⎦ ⎣ 0 0 1 1 0 1 ⎦
1 0 1 0 0
0 1 1 0 0 0 1 1 0 1 1
lako je pokazati da je
A2 = P1 A1 P2 .
36 2. STEPENI ČVOROVA. PUTEVI. MATRICE. IZOMORFIZAM
Rešenje
Kako je matrica A reda 5 × 5, odgovarajući graf ima n = 5 čvorova.
Neka je V = {x1 , x2 , x3 , x4 , x5 } skup odgovarajućih čvorova. Bez smanjenja
opštosti, na osnovu matrice A, važi
d(x1 ) = 3, d(x2 ) = 4, d(x3 ) = 2, d(x4 ) = 2, d(x5 ) = 1.
2.2. MATRICE. DELOVI GRAFA 37
x2 x1 x3 x4 x5
D= .
(4 3 2 2 1)
x1 x3 x4 x5
D1 = .
(2 1 1 0)
x3 x4 x5
x3 x4 x5
l2 l3
l5 l6
l4
x3 x4 x5
Nakon ovakvog obeležavanja dobijenog grafa, njemu odgovaraju matrica in-
cidentnosti, B, i matrica susedstva po granama, C, definisane sa
⎡ ⎤ ⎡ ⎤
1 1 0 0 0 0 1 1 1 1 1
⎢ ⎥ ⎢ ⎥
⎢ 1 0 1 0 0 ⎥ ⎢ 1 0 1 1 0 0 ⎥
⎢ ⎥ ⎢ ⎥
⎢
⎢ 1 0 0 1 0 ⎥
⎥
⎢
⎢ 1 1 0 0 1 0 ⎥
⎥
B=⎢ ⎥ i C=⎢ ⎥
⎢
⎢ 0 1 1 0 0 ⎥
⎥
⎢
⎢ 1 1 0 0 1 1 ⎥
⎥
⎢ ⎥ ⎢ ⎥
⎣ 0 1 0 1 0 ⎦ ⎣ 1 0 1 1 0 1 ⎦
0 1 0 0 1 1 0 0 1 1 0
x3 x4 x1 x2
D = 3 3 2 2 ,
te u nastavku možemo iskoristiti prethodni zadatak. Formiramo grafovski
niz D1
x4 x1 x2
D1 = 2 1 1 ,
kome odgovara podgraf prikazan na sledećoj slici
x4
x1 x2
x1 x2
Grane ovog grafa obeležićemo koristeći matricu B
x4 l4 x3
l3
l5 l2
l1
x1 x2
40 2. STEPENI ČVOROVA. PUTEVI. MATRICE. IZOMORFIZAM
A = BT · B − D i C = B · B T − 2I 5
Rešenje
U prethodnim primerima smo pokazali da matrica susedstva i matrica in-
cidentnosti, do izomorfizma, jedinstveno odred̄uju odgovarajući graf. Prove-
rimo da li je to slučaj i sa matricom susedstva po granama. Na osnovu
2.2. MATRICE. DELOVI GRAFA 41
matrice
l1 l 2 l 3 l 4 l 5
⎡ ⎤
0 1 1 0 0 l1
⎢ ⎥
⎢ 1 0 1 1 0 ⎥ l2
⎢ ⎥
⎢ ⎥
C = ⎢ 1 1 0 1 1 ⎥ l3
⎢ ⎥
⎢ 0 1 1 0 1 ⎥l
⎣ ⎦ 4
0 0 1 1 0 l5
C = B · B T − 2I5
l5 = {x3 , x4 }
l3 l4 x6
x3 l5 x4
a)
G1 G2 G3 G4
b)
G1 G2
1
2 5
5 2
3
4 4 3
pri čemu xi ∈ V ili li = {xi , xi+1 } ∈ E, naziva put u grafu (multigrafu,
pseudografu) G koji povezuje čvorove x1 i xp . Ako je u pitanju graf, ili nema
zabune, grane u označavanju puta se izostavljaju
l1 l2 l1 l2
x1 x2 x3
x1 x2 x3
l3 l4
x1 l1 x2 l3 x3 x1 l1 x2 l2 x3
x1 x2 x3
Put koji prolazi med̄usobno različitim granama naziva se prost put ili lanac.
Put koji prolazi med̄usobno različitim čvorovima naziva se elementarni
put ili prost lanac. Svaki elementarni put je i prost put, ali obrnuto ne mora
da važi.
5 4
1 2 1-2-3-4-5-3-2-6
3 složen put
4
1-2-3-4-2-5
Ako je x1 = xp put je zatvoren (kružni). Zatvoren prost put naziva se ciklus.
Zatvoren elementarni put naziva se prost ciklus. Graf koji ne sadrži ni jedan
ciklus naziva se aciklični.
Vratimo se sad na trenutak pojmu izomorfizma dva grafa. Često je
pogodno prilikom provere da li su dva data grafa G1 = (V1 , E1 ) i G2 =
(V2 , E2 ) izomorfna otkriti da oni nisu izomorfni. U tom cilju redom se ispituje
da li nije zadovoljen neki od sledećih potrebnih uslova egzistencije izomor-
fizma ϕ.
44 2. STEPENI ČVOROVA. PUTEVI. MATRICE. IZOMORFIZAM
1. |V1 | = |V2 | ,
2. |E1 | = |E2 | ,
G1 G2 G1 G2 G1 G2
a) b) c)
G1 G2 G1 G2
d) e)
e) Grafovi G1 i G2 imaju isti broj čvorova i grana, isti grafovski niz, i isti
broj ciklusa istih dužina. Kako graf G1 sadrži podgraf G prikazan na
sledećoj slici, koji ne postoji u grafu G2 , ovi grafovi nisu izomorfni.
Rešenje
Označimo sa x1 = 2, x2 = 3, x3 = 4, x4 = 5 i x5 = 6 čvorove datog grafa.
U sledećoj tablici oznakom + označili smo parove čvorova koji su susedni, na
osnovu uslova da su odgovarajući brojevi uzajamno prosti
46 2. STEPENI ČVOROVA. PUTEVI. MATRICE. IZOMORFIZAM
x1 = 2 x2 = 3 x3 = 4 x4 = 5 x5 = 6
x1 = 2 + +
x2 = 3 + + +
x3 = 4 + +
x4 = 5 + + + +
x5 = 6 +
G
x4 x5
Matrice A2 i A3 su
⎡ ⎤ ⎡ ⎤
2 1 2 1 1 2 5 2 6 1
⎢ ⎥ ⎢ ⎥
⎢ 1 3 1 2 1 ⎥ ⎢ 5 4 5 6 2 ⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
A2 = ⎢ 2 1 2 1 1 ⎥ i A3 = ⎢ 2 5 2 6 1 ⎥
⎢ ⎥ ⎢ ⎥
⎢ 1 2 1 4 0 ⎥ ⎢ 6 6 6 4 4 ⎥
⎣ ⎦ ⎣ ⎦
1 1 1 0 1 1 2 1 4 0
2.2. MATRICE. DELOVI GRAFA 47
x1 x4
x3
x2 x4 x2 x4 x1 x2 x3 x5
x4 x4 x4 x4 x4 x4
Traženi putevi su
x2 − x1 − x2 − x4 x2 − x3 − x2 − x4 x2 − x4 − x1 − x4
x2 − x4 − x2 − x4 x2 − x4 − x3 − x4 x2 − x4 − x5 − x4
x1 x2 x5
x3
x2 x4 x1 x3 x4 x2 x4 x4
x4 x4 x4 x4
Traženi ciklusi su
x4 − x1 − x2 − x4 i x4 − x2 − x3 − x4 .
48 2. STEPENI ČVOROVA. PUTEVI. MATRICE. IZOMORFIZAM
3
Multigraf (graf) je poluojlerov ako u njemu postoji prost put, koji se naziva
Ojlerovim, koji sadrži sve njegove grane. Ako je ovaj prost put zatvoren, tj.
ciklus, naziva se Ojlerovim ciklusom, a multigraf (graf) Ojlerovim.
Dva Ojlerova ciklusa (puta) u multigrafu (grafu) su različita ako im je
različit raspored grana.
Teorema 3.1. Povezani multigraf (graf ) je Ojlerov ako i samo ako je stepen
svakog njegovog čvora paran broj.
Teorema 3.2. Povezan multigraf (graf ) je poluojlerov ako i samo ako sadrži
samo dva čvora neparnog stepena.
49
50 3. OJLEROVI I HAMILTONOVI GRAFOVI
2. Ako je put
ωi := x1 − l2 − x2 − ... − li − xi , i > 1,
Pre nego što definišemo dva problema koja su usko vezana za Ojlerove i
Hamiltonove grafove, moramo uvesti pojam težinskog grafa.
Pored oznaka (labela) čvorovima i granama datog grafa možemo dodelji-
vati i odred̄ene, najčešće numeričke, vrednosti, tj. težine. Takvi grafovi su
težinski. Težine su uglavnom, pozitivni realni brojevi, mada mogu biti i
negativni. Mogu da definišu različite veličine: dužine, težine, propusnost,
kapacitet, otpornost,... Razmotrimo graf kod koga su granama dodeljene
težine.
Neka u grafu (multigrafu) G = (V, E), V = {x1 , x2 , . . . , xn } svakom paru
čvorova {xi , xj } pridružimo težine ωij , pri čemu je to neki realan broj ako
{xi , xj } ∈ E, a u protivnom je +∞. Kvadratna matrica T = (tij ), reda n×n,
definisana sa
ωij i = j
tij =
0, i = j
put obilaska bude minimalno moguć, tj. da na ovaj put utroši minimalno
vreme.
Kako ne postoji teorema koja sadrži potrebne i dovoljne uslove da neki
graf bude Hamiltonov, ne postoji egzaktni algoritam za nalaženje Hamiltonovog
ciklusa (puta) u multigrafu. (grafu). Samim tim, ne postoji egzaktni algori-
tam za rešavanje problema trgovačkog putnika. S druge strane, na problem
trgovačkog putnika svodi se ogroman broj problema iz raznih oblasti nauke,
tehnike i drugih ljudskih delatnosti. Primera radi, pomenimo putne mreže
(drumski, železnički, vodeni i vazdušni saobraćaj), telefoniju, umrežavanje
računara, video nadzor, raspored važnih resursa u gradovima i oblastima
(hitna pomoć, vatrogasna služba, trafo stanice, toplane, vodovod, kanal-
izacija, policijske ispostave), i još mnogo toga. Zbog toga imamo pojavu
velikog broja približnih, heurističkih i drugih algoritama, za rešavanje ovog
problema. Oni u principu daju kao rezultat suboptimalna rešenja. Navešćemo
jedan algoritam, poznat pod nazivom Algoritam najbližeg suseda, koji spada
u pohlepne (greedy) algoritme.
Neka je dat težinski graf G = (V, E) , V = {v1 , v2 , ... , vn }, E = {l1 , l2 , ...,
lm }, koji zadovoljava neki od dovoljnih uslova da je ovaj graf Hamiltonov.
Primer 3.1. Na sledećoj slici skicirana je reka Pregel, pri čemu su njene
obale označene slovima C i D, dva ostrva na njoj sa A i B, kao i odgovarajući
mostovi.Na narednoj slici
C D
Ovaj multigraf ima četiri čvora neparnog stepena, d(B) = d(C) = d(D) = 3
i d(A) = 5. Na osnovu Teoreme 3.1 on nije Ojlerov, te ne sadrži Ojlerov
ciklus. Samim tim odgovor na postavljeno pitanje je negativan. Nije teško
primetiti da u ovom multigrafu ne postoji ni Ojlerov put, na osnovu Teoreme
3.2, tj. on nije ni poluojlerov. Samim tim, ne možemo započeti šetnju preko
mostova ka nekoj obali ili ostrvu, preći sve mostove samo jednom i završiti
šetnju na nekom drugom ostrvu ili obali.
Puštanjem mašti na volju, može da se formira veliki broj zadataka sličnih
problemu keningzberških mostova, a čije se rešavanje svodi na ispitivanje da
li je odgovarajući graf (multigraf) Ojlerov ili nije. Navešćemo nekoliko takvih
primera.
ostrva 2 i 3?
obala
1
2
3 4 5 6
obala
Rešenje
Datom zadatku odgovara graf prikazan na sledećoj slici. On je poluo-
jlerov, ali nije Ojlerov, te zadatak nema rešenje.
A
1 2
3 4 5 6
· · · ·
· ·
· ·
· · · · ·
· ·
·
a) b) c)
Primer 3.5 Galeriju slika čine lavirinti hodnika, sa donje slike, na čijim
su zidovima izložene slike. Da li posetilac može šetnjom da razgleda slike sa
svih zidova, a da pored svakog zida prod̄e samo jednom?
Rešenje
Datom lavirintu, tj. galeriji slika, možemo pridružiti multigraf prikazan
na donjoj slici pod a), kod koga su čvorovi mesta mogućih račvanja, u galeriji,
a grane zidovi hodnika. Ovaj multigraf sadrži sve čvorove, parnih stepena, te
na osnovu Ojlerove teoreme, postoji Ojlerov ciklus. To znači da se razgledanje
slika može obaviti na željeni način. Primer takvog načina razgledavanja slika
prikazan je na slici pod b).
· · ·
· ·
· · ·
· · ·
a) b)
56 3. OJLEROVI I HAMILTONOVI GRAFOVI
4 5
1
7
3
Rešenje
Dati multigraf je Ojlerov jer je svaki čvor parnog stepena. U prvom koraku
Flerijevog algoritma ravnopravno se možemo opredeliti za bilo koji čvor.
Izaberimo, na primer čvor 3. Za formiranje niza čvorova i grana možemo
ravnopravno čvoru 3 pridodati ili granu {1, 3} ili {3, 4}. Izaberimo granu
{3, 4},
ω2 := 3, {3, 4} , 4.
Čvor 4 je incidentan sa granom {2, 4} i dvema granama {4, 5}. Granu {2, 4}
ne možemo izabrati jer je ona most u podgrafu G2 = (V, E2 ) , datog multi-
grafa, definisanog skupovima V = {1, 2, 3, 4, 5, 6, 7} i E2 = {{1, 2}, {1, 3},
{2, 4}, {4, 5}, {4, 5}, {5, 6}, {5, 7}, {6, 7}}. Zbog toga nizu ω2 moramo pri-
družiti granu {4, 5} i čvor 5.
ω3 := 3, {3, 4} , 4, {4, 5} , 5.
Čvor 5 je incidentan sa granama {4, 5}, {5, 6} i {5, 7}. Grana {4, 5} ne
dolazi u obzir jer je most u podgrafu G3 = (V, E3 ) , definisanog skupovima
V i E = {{1, 2}, {1, 3}, {4, 5}, {5, 6}, {5, 7}, {6, 7}}. Zbog toga nizu ω3
možemo pridružiti ili granu {5, 6} ili {5, 7}. Izaberimo, na primer, granu
{5, 6}. Formirali smo novi niz
Primer 3.7 Poštar mora da raznese poštu po svim kućama svog reona,
koje su razmeštene duž ulica čija je šema prikazana na sledećoj slici. Na ovoj
šemi su naznačene dužine ovih ulica. Raskrsnice su označene brojevima od
1 do 7, a pošta slovom P. Naći najkraći put koji mora da prod̄e poštar ako
svoju šetnju započinje i završava u pošti.
260
2
1· 100
· 100
·P
140 140 120 140
3· ·4
100
240
140 120
·5 140 · 100
·
6 7
Rešenje
Šema data na prethodnoj slici predstavlja graf, pri čemu su raskrsnice
i pošta čvorovi, a ulice izmed̄u njih grane. Ako bi on bio Ojlerov postojao
bi jedinstveni, pa samim tim i minimalni, put koji bi polazio i završavao se
u čvoru P. S obzirom da u grafu postoji 4 čvora, a to su čvorovi 2, 3, 4 i
6, neparnog stepena, ovaj graf nije Ojlerov. Da bi postao Ojlerov multigraf,
moramo dodati nove grane, vodeći računa o minimalnosti njihovih dužina. U
tom cilju čvor 4 spojimo, redom, sa čvorovima 2, 3 i 6, sa po jednom granom,
istih dužina sa već postojećim. Dobijeni multigraf, slika 3.1 a), je Ojlerov te
ima (Ojlerov) ciklus. On je dužine 2148, i označen je, na slici 3.1 b).
58 3. OJLEROVI I HAMILTONOVI GRAFOVI
260
2 2
1· 100
· 100
·P 1· · ·P
140 140 120 120 140
3· ·4 3· ·
100
240 4
100
140 100 100
·5 140 · 108 · ·5 · ·
6 7 6 7
a) b)
Slika 3.1:
P →2→4→2→1→P →4→3→
→ 1 → 4 → 3 → 5 → 6 → 4 → 6 → 7 → P.
· · ·
·
· · ·
Rešenje
Označimo čvorove slovima a, b, c, d, e, f, g, kao što je urad̄eno na sledećoj
slici
a b c
f d
e
b f 2
c e 3
g
d e g d 4
e f b c 5
d
g f b 6
c c
d g 7
Otkrili smo dva Hamiltonova puta koja polaze iz čvora a. Redom zamenimo
slova brojevima od 1 do 7.
1 5 6 1 6 5
4 7
2 3 7 2 3 4
a g c 2
f e d 3
e f d e 4
g d a c g f 5
c a 6
A 5 B
8 7
6 10
D 3 C
Rešenje
Primer 3.10 Naći Hamiltonov ciklus kojim skakač obid̄e sva polja na
šahovskoj tabli, dimenzije 8 × 8, pri čemu svako polje obid̄e samo jedanput,
osim početnog.
Rešenje
Na sledećoj šahovskoj tabli Hamiltonov ciklus, koji je otkrio Ojler 1759
godine, označen je brojevima 1, 2, 3, ... , 64.
61
56 41 58 35 50 39 60 33
47 44 55 40 59 34 51 38
42 57 46 49 36 53 32 61
45 48 43 54 31 62 37 52
20 5 30 63 22 11 16 13
29 64 21 4 17 14 25 10
6 19 2 27 8 23 12 15
1 28 7 18 3 26 9 24
Primer 3.11 Naći Hamiltonov ciklus kojim skakač obid̄e sva polja na šahovskoj
tabli, dimenzija 4 × 4, pri čemu svako polje obid̄e samo jedanput, osim
početnog.
63
64 4. KOMPLEMENT. GRAF GRANA. BIPARTITNI GRAF
1 l1
l1
l3 2 l5 l2
5
l5 l2
4 l4
3 l4 l3
L(G) L(G)
Rešenje
Na sledećoj slici prikazani su grafovi C5 i njegov komplement C̄5 .
1 1
· ·
5· ·2 5· ·2
· · · ·
4 3 4 3
C5 C5
Rešenje
Fizičkim preklapanjem
grafova G = (V, E) , |V | = n i njegovog komple-
menta Ḡ = V, Ē , po čvorovima koji su isto označeni, dobijamo komple-
n
tan graf, Ĝ = V, Ê . Ovaj graf ima Ê = grana. Kako je graf
2
G = (V, E) samokomplementirajući, tj. graf G je izomorfan grafu Ḡ, važi
1
jednakost |E| = Ē = 2 Ê , te je |E| = n(n−1)
4
. Dobili smo da je n = 4k ili
n = 4k + 1, k ∈ N, što je i trebalo dokazati.
Primer 4.6 Naći primer 3-regularnog grafa koji ima 6 čvorova, a čiji je
komplement 2-regularan graf.
Rešenje
Traženi graf G = (V, E) definisan je skupovima V = {1, 2, 3, 4, 5, 6} i
E = {{1, 4}, {1, 5}, {1, 6}, {2, 4}, {2, 5}, {2, 6}, {3, 4}, {3, 5}, {3, 6}}, a
njegov komplement Ḡ = V, Ē , skupom Ē = {{1, 2}, {1, 3}, {2, 3}, {4, 5},
{4, 6}, {5, 6}}. Oni su prikazani na sledećoj slici.
1 2 3 1 2 4
· · · · · ·
· · · · · ·
4 5 6 3 5 6
G G
Rešenje
Po samoj definiciji grafa grana važi jednakost |V | = m. Neka je xi , i =
1, 2, ... , n, proizvoljni čvor grafa G. On je incidentan sa d(xi ) grana u ovom
grafu.
Naosnovu njih, kada postanu čvorovi u grafu L (G) , formira se tačno
d (xi )
susednih grana u ovom grafu. Ukupan broj grana u grafu L (G)
2
je
n
d (x ) n
d(xi )(d(xi ) − 1)
|E |
i
= = =
i=1 2 i=1
2
1 2 1 1 2
n n n
= d (xi )− d(xi ) = d (xi ) − m.
2 i=1 2 i=1 2 i=1
68 4. KOMPLEMENT. GRAF GRANA. BIPARTITNI GRAF
Svakom grafu koji ima bar jednu granu možemo pridružiti graf grana.
Interesantno je da obrnuto ne mora da važi. To ćemo ilustrovati sledećim
primerom.
Rešenje
Razmotrimo slučaj grafa G1 . Označimo njegove čvorove na sledeći način
· l2
· l1
· ·
l3 l4
l4 ∩ l1 = ∅, l4 ∩ l3 = ∅ l4 ∩ l2 = ∅,
Rešenje
Na sledećoj slici prikazani su grafovi G i L (G) .
1 2 3 l1 l2 1 2 3 4 l1 l2 l3
· · · · · · · · · · · ·
l1 l2 l1 l2 l3
G L(G ) G L(G )
a) b)
1 2 3 4 5 l1 l2 l3 l4
· · · · · · · · ·
l1 l2 l3 l4
G L(G )
c)
ako je
a) |E| = 143; b) |E| = 137; c) |E| = 105; d) |E| = 105 i |V1 | = 17.
Rešenje
a) Kako je 143 = |V1 | ·|V2 | , |V1 | > 1 i |V2 | > 1, jedino celobrojno pozitivno
rešenje ove jednačine je |V1 | = 11 i |V2 | = 13, te je ukupan broj čvorova
u grafu |V | = |V1 | + |V2 | = 24.
b) Kako jednačina 137 = |V1 |·|V2 | nema rešenja u skupu prirodnih brojeva,
pod uslovima |V1 | > 1 i |V2 | > 1, zadatak nema rešenja.
c) Jednačina |V1 | · |V2 | = 105, pod uslovom |V1 | > 1 i |V2 | > 1, ima tri
rešenja u skupu prirodnih brojeva. To su parovi: |V1 | = 15 i |V2 | =
7, |V1 | = 3 i |V2 | = 35, |V1 | = 5 i |V2 | = 21. To znači da postoje
tri bipartitna grafa koji imaju, |V1 | + |V2 | = 22, |V1 | + |V2 | = 38 i
|V1 | + |V2 | = 26, čvorova respektivno.
Rešenje
Zadatku odgovara bipartitan graf G = (V1 ∪ V2 , E) , pri čemu čvorovi
particije V1 odgovaraju igračima ”plave,” a particije V2 igračima ”crvene”
ekipe. Kako je |V1 | = |V2 | = n, ukupan broj grana u ovom grafu je |E| =
n2 . Označimo sa x broj grana koje odgovaraju pobedama ”crvenog” tima.
Tada je broj grana koje odgovaraju pobedama ”plavog” tima 4x. Na osnovu
jednačine
x + 4x = n2
zaključujemo da je x = n = 5, tj. svaka ekipa je imala po 5 igrača.
Primer 4.16 Crvena, plava, bela i zelena olovka nalaze se u četiri kutije,
koje su, takod̄e, crvene, plave, bele ili zelene boje. Boja svake olovke se
razlikuje od boje kutije u kojoj se nalazi. Poznato je da se zelena olovka
nalazi u plavoj kutiji, a da se crvena olovka sigurno ne nalazi u kutiji bele
boje. Odrediti za svaku olovku boju kutije u kojoj se nalazi.
Rešenje
Datom zadatku pridružimo bipartitan graf G = (V1 ∪ V2 , E), pri čemu
je V1 = {c, p, b, z} skup čvorova koji odgovara olovkama, i V2 = {c, p, b, z}
skup čvorova koji odgovaraju kutijama. Oznake čvorova odgovaraju bojama
olovaka, tj. kutijama. Isprekidanim linijama povežemo čvorove skupova V1 i
V2 , ako se odgovarajuća olovka ne nalazi u nekoj kutiji, na osnovu uslova iz
zadatka, a punom ako se u njoj nalazi, što je prikazano na sledećoj slici
c· ·c
p· ·p
b· ·b
z· ·z
Primer 4.18 Deset radnika treba rasporediti u dve radne brigade, pri
čemu zbog osetljivosti posla koga moraju da obave mora u svakoj od njih
72 4. KOMPLEMENT. GRAF GRANA. BIPARTITNI GRAF
Rešenje
Binarnoj matrici A, kao matrici susedstva, pridružimo graf G = (V, E) ,
V = {1, 2, ... , 10}, pri čemu su dva čvora i i j susedna ako i samo ako je
aij = 1. Graf G je prikazan na sledećoj slici. Zadatak ima rešenje ako graf
G možemo da predstavimo u obliku bipartitnog grafa G = (V1 ∪ V2 , E) , pri
čemu je |V1 | = |V2 | = 5.
2 5 8
· · ·
3 7
1· · · ·9
· · ·
4 6 10
čvorovi 2, 3, 4, 8 i 10.
1 5 6 7 9 V1
· · · · ·
· · · · ·
2 3 4 8 10 V2
74 4. KOMPLEMENT. GRAF GRANA. BIPARTITNI GRAF
5
Algoritmi za nalaženje
najkraćih puteva u grafu
Flojd-Varšalov algoritam
Neka je G = (V, E) težinski orijentisani (neorijentisani) graf, pri čemu je
skup čvorova V = {1, 2, . . . , n}. Svakoj grani (i, j), (i, j) ∈ E ({i, j}, {i, j} ∈
(0)
E) pridružuje se težina dij . Težinska matrica D (0) = (dij ), reda n × n, ovog
grafa, definisana je sa
⎧
⎪
⎪ ako (i, j) ∈ E,
⎨ dij ,
(0)
dij = 0, ako je i = j,
⎪
⎪
⎩ +∞, u ostalim slučajevima
75
76 5. ALGORITMI ZA NALAŽENJE NAJKRAĆIH PUTEVA U GRAFU
for j := 1 ton do
(k) (k−1) (k−1) (k−1)
dij := min dij , dik + dkj .
U slučaju da je graf G = (V, E) neorijentisan broj izračunavanja u ovom
algoritmu može značajno da se redukuje. Naime, zbog simetričnosti matrica
D (k) , izračunavanja po j obavljaju se samo za slučajeve i + 1 ≤ j ≤ n.
Takod̄e, u ovom slučaju ovaj algoritam može da se koristi za nalaženje matrice
rastojanja.
Dati algoritam odred̄uje dužine najkraćih puteva izmed̄u čvorova, ali ne i
same puteve, koji ne moraju biti jedinstveni. Med̄utim, analizom koraka za
nalaženje ovih dužina mogu da se rekonstruišu i sami putevi.
x1 2 x2
5
3
1 2 x3
2 2
x5 1 x4
(5)
Težinska matrica D (5) = (dij ), koja nam definiše dužine najkraćih puteva
izmed̄u bilo koja dva čvora, je
⎡ ⎤
0 2 4 2 1
⎢ ⎥
⎢ 2 0 4 2 2 ⎥
⎢ ⎥
⎢ ⎥
D (5) =⎢ 4 4 0 2 3 ⎥.
⎢ ⎥
⎢ 2 2 2 0 1 ⎥
⎣ ⎦
1 2 3 1 0
1 1
x4
Kako je
(2) (1) (1) (2) (1) (1)
d13 > d12 + d23 važi d13 = d12 + d23 = 3 + 5 = 8,
(1) (1) (1) (2) (1)
d14 < d12 + d24 važi d14 = d14 = +∞,
(1) (1) (1) (2) (1)
d15 > d12 + d25 važi d15 = d15 = 4,
(1) (1) (1) (2) (1)
d31 < d32 + d21 važi d31 = d31 = 2,
(1) (1) (1) (2) (1)
d34 < d32 + d24 važi d34 = d34 = +∞,
(1) (1) (1) (2) (1)
d35 > d32 + d25 važi d35 = d35 = 6,
(1) (1) (1) (2) (1) (1)
d41 > d42 + d21 važi d41 = d42 + d21 = 2 + 1 = 3,
(1) (1) (1) (2) (1)
d43 < d42 + d23 važi d43 = d43 = 1,
(1) (1) (1) (2) (1)
d45 < d42 + d25 važi d45 = d45 = 1,
(1) (1) (1) (2) (1)
d51 > d52 + d21 važi d51 = d51 = 7,
(1) (1) (1) (2) (1) (1)
d53 > d52 + d23 važi d53 = d52 + d23 = 10 + 5 = 15,
82 5. ALGORITMI ZA NALAŽENJE NAJKRAĆIH PUTEVA U GRAFU
(2)
Težinska matrica D (2) = (dij ), je
⎡ ⎤
0 3 8 +∞ 4
⎢ ⎥
⎢ 1 0 5 +∞ 5 ⎥
⎢ ⎥
⎢ ⎥
D (2) = ⎢ 2 5 0 +∞ 6 ⎥ .
⎢ ⎥
⎢ 3 2 1 0 1 ⎥
⎣ ⎦
7 10 15 1 0
Kako je
(2) (2) (2) (3) (2)
d12 < d13 + d32 važi d12 = d12 = 3,
(3)
Težinska matrica D (3) = (dij ) je
⎡ ⎤
0 3 8 +∞ 4
⎢ ⎥
⎢ 1 0 5 +∞ 5 ⎥
⎢ ⎥
⎢ ⎥
D (3) = ⎢ 2 5 0 +∞ 6 ⎥ .
⎢ ⎥
⎢ 3 2 1 ⎥
⎣ 0 1 ⎦
7 10 15 1 0
Kako je
(3) (3) (3) (4) (3)
d12 < d24 + d42 važi d12 = d12 = 3,
(3) (3) (3) (4) (3)
d13 < d14 + d43 važi d13 = d13 = 8,
(3) (3) (3) (4) (3)
d15 < d14 + d45 važi d15 = d15 = 4,
(3) (3) (3) (4) (3)
d21 < d24 + d41 važi d21 = d21 = 1,
(3) (3) (3) (4) (3)
d23 < d24 + d43 važi d23 = d23 = 5,
(3) (3) (3) (4) (3)
d25 < d24 + d45 važi d25 = d25 = 5,
(3) (3) (3) (4) (3)
d31 < d34 + d41 važi d31 = d31 = 2,
(3) (3) (3) (4) (3)
d32 < d34 + d42 važi d32 = d32 = 5,
(3) (3) (3) (4) (3)
d35 < d34 + d45 važi d35 = d35 = 6,
(3) (3) (3) (4) (3) (3)
d51 < d54 + d41 važi d51 = d54 + d41 = 1 + 3 = 4,
(3) (3) (3) (4) (3) (3)
d52 > d54 + d42 važi d52 = d54 + d42 = 1 + 2 = 3,
(3) (3) (3) (4) (3) (3)
d53 < d54 + d43 važi d53 = d54 + d43 = 1 + 1 = 2.
(4)
Težinska matrica D (4) = (dij ) je
⎡ ⎤
0 3 8 +∞ 4
⎢ ⎥
⎢ 1 0 5 +∞ 5 ⎥
⎢ ⎥
⎢ ⎥
D (4) = ⎢ 2 5 0 +∞ 6 ⎥ .
⎢ ⎥
⎢ 3 2 1 0 1 ⎥
⎣ ⎦
4 3 2 1 0
84 5. ALGORITMI ZA NALAŽENJE NAJKRAĆIH PUTEVA U GRAFU
Kako je
(4) (4) (4) (5) (4)
d12 < d15 + d52 važi d12 = d12 = 3,
(4) (4) (4) (5) (4) (4)
d13 > d15 + d53 važi d13 = d15 + d53 = 4 + 2 = 6,
(4) (4) (4) (5) (4) (4)
d14 < d15 + d54 važi d14 = d15 + d54 = 4 + 1 = 5,
(4) (4) (4) (5) (4)
d21 < d25 + d51 važi d21 = d21 = 1,
(4) (4) (4) (5) (4)
d23 < d25 + d53 važi d23 = d23 = 5,
(4) (4) (4) (5) (4) (4)
d24 > d25 + d54 važi d24 = d25 + d54 = 5 + 1 = 6,
(4) (4) (4) (5) (4)
d31 < d35 + d51 važi d31 = d31 = 2,
(4) (4) (4) (5) (4)
d32 < d35 + d52 važi d32 = d32 = 5,
(4) (4) (4) (5) (4) (4)
d34 < d35 + d54 važi d34 = d35 + d54 = 6 + 1 = 7,
(4) (4) (4) (5) (4)
d41 < d45 + d51 važi d41 = d41 = 3,
(4) (4) (4) (5) (4)
d42 < d45 + d52 važi d42 = d42 = 2,
(4) (4) (4) (5) (4)
d43 < d45 + d53 važi d43 = d43 = 1.
(5)
Težinska matrica D (5) = (dij ) koja nam odred̄uje dužine najkraćih puteva
izmed̄u bilo koja dva čvora je
⎡ ⎤
0 3 6 5 4
⎢ ⎥
⎢ 1 0 5 6 5 ⎥
⎢ ⎥
⎢ ⎥
D (5) = ⎢ 2 5 0 7 6 ⎥.
⎢ ⎥
⎢ 3 2 1 0 1 ⎥
⎣ ⎦
4 3 2 1 0
Na osnovu jednakosti
(5) (4) (3) (3) (2) (2) (1) (1) (0) (0)
d53 = d53 = d54 + d43 = d54 + d43 = d54 + d43 = d54 + d43
85
x5 → x4 → x3 .
x1 x1 2 x2
7 6 5
3
x2 1 x6 1 2 x3
5 2
8 4 2 2
x3 x5
1 x4 7 x5 1 x4
a) b)
x1 3 x2 x1 4 x2 7 x3
4 3 7 8
x6
4 1 x8 7
3 4 12 4 6
1 8 x7 5
x4 3 x5 2 x3 9
c) x6 11 x5 10 x4
d)
2
x1 x2 3 x3 x1
1 2 3
10 6
4 4 3 4
5 x5 7 x2
4
x6 3 x5 5 x4 3 2
7
x4 1 x3
e) f)
Dijkstrin algoritam
Može da se koristi za nalaženje:
- najkraćeg puta izmed̄u dva zadata čvora,
Svakom čvoru se pridružuje ured̄eni par (d, p), a sam par se označava punim
ili praznim kružićem, • ili ◦. Parametar d označava dužinu puta od izvora do
posmatranog čvora, a p oznaku predhodnog čvora, preko koga je ova dužina
ostvarena. Ako je ovaj par dodeljen čvoru označenom punim kružićem ovi
parametri su nepromenljivi, konačni, tj. pronad̄en je željeni najkraći put. U
drugom slučaju oni su promenljive. Algoritam se završava, kada sve oznake,
koje se još nazivaju labelama, postaju stalne.
Opisaćemo ovaj algoritam za slučaj nalaženja najkraćeg puta u težinskom
grafu G = (V, E) od fiksnog čvora s (izvora) do drugog čvora t (odredišta).
Opisuje se pomoću sledećih koraka.
Korak 2. (Promena labela). Ako čvor t ima stalnu labelu, preći na korak 3.
U protivnom pronaći čvor x, x ∈ V, koji ima privremenu labelu sa
najmanjom oznakom dužine puta d. Čvoru x dodeliti stalnu labelu.
Pronaći sve najbliže susede čvora x koji imaju privremene labele. Za
svaki takav čvor y, ispitati da li je d(y) > d(x) + ω(x, y), gde su d(x) i
d(y) dužine puteva od izvora s do čvorova x i y, respektivno, a ω(x, y)
dužina puta izmed̄u njih.
Naravno, ovaj algoritam se veoma lako može podesiti za rešavanje i druga dva,
napred navedena problema. Takod̄e, ovaj algoritam, kao i algoritam Flojd-
Varšala, lako se mogu prilagoditi za nalaženje najdužih, kritičnih, puteva u
datom težinskom grafu.
Primer 5.4 Koristeći Dijkstrin algoritam naći dužinu najkraćeg puta izmed̄u
87
B 7 C
2 2 3
E 3
2 F
A D
1 2
6 2
G 4 H
Rešenje
Korak 1. Čvoru A dodelimo labelu (0, ∗), a svim ostalim labele (+∞, ∗).
B(+¥, *) C(+¥, *)
A(0, *) E(+¥, *)
F(+¥, *) D(+¥, *)
G (+¥, *) H(+¥,*)
B(2, A) C(+¥, *)
A(0, *) E(+¥, *)
F(+¥, *) D(+¥, *)
G (6, A) H(+¥,*)
B(2, A) C(9, B)
A(0, *) E(4, B)
F(+¥, *) D(+¥, *)
G (6, A) H(+¥,*)
B(2, A) C(9, B)
A(0, *) E(4, B)
F(6, E) D(+¥, *)
G (5, E) H(+¥,*)
B(2, A) C(9, B)
A(0, *) E(4, B)
F(6, E) D(+¥, *)
G (5, E) H(9, G )
A(0, *) E(4, B)
F(6, E) D(+¥, *)
G (5, E) H(8, E)
A(0, *) E(4, B)
F(6, E) D(10, H)
G (5, E) H(8, E)
A(0, *) E(4, B)
F(6, E) D(10, H)
G (5, E) H(8, E)
Korak 3. Kako su sve labele u grafu postale trajne, najkraće rastojanje od čvora
A do čvora D je 10. Sam put je prikazan na sledećoj slici
B(2, A)
2 2
E(4, B) 2 F(6, E)
D(10, H)
A(0, *)
2 2
H(8, E)
90 5. ALGORITMI ZA NALAŽENJE NAJKRAĆIH PUTEVA U GRAFU
Primer 5.5 Koristeći Dijkstrin algoritam naći dužinu najkraćeg puta izmed̄u
čvo-rova A i D u usmerenom težinskom grafu prikazanom na sledećoj slici
B 4 C 2 D
2
A 3 1 1
5
F 4 E
Rešenje
Primena Dijkstrinog algoritma, po koracima, prikazana je na sledećoj slici
B(+¥, *) C(+¥, *) D(+¥, *) B(2, A) C(+¥, *) D(+¥, *)
A(0, *) A(0, *)
A(0, *) A(0, *)
A(0, *) A(0, *)
2
A
91
2 2 7 4 3
2
1 3 F
F G H B 4 5
4 1 4
4 3 1 1
E 5 D E 2 D 3 B
a) b)
3 1 1 5 3 2
4 1
4 I 4 F C
F C
5 7
5 7 4
E 3 D
E 2 D
a) b)
Primer 5.8 Naći najkraća rastojanja izmed̄u svakog para čvorova u težinskim
grafovima prikazanim na sledećoj slici
2
A 1 B 4 C A 4 B C
3 2 2
4 1 2 4
3 3
E 3 D E D
a) b)
92 5. ALGORITMI ZA NALAŽENJE NAJKRAĆIH PUTEVA U GRAFU
6
6.1 Test 1
6.1 Da li je moguće 77 telefona povezati u mrežu pomoću nezavisnih veza,
tako da svaki od njih bude direktno povezan sa 15 drugih telefona?
93
94 6. TESTOVI I ZADACI ZA REKREACIJU
· · · ·
5 4 0 5
G1 G2
6.5 Koliko ima čvorova Ojlerov graf koji je kompletan i ima 171 grana?
1 5
3
2 4
6.2 Test 2
6.7 Da li je moguće 77 telefona umrežiti pomoću nezavisnih veza tako da
svaki od prvih 20 bude povezano sa po 5 telefona, svaki od narednih
37 bude povezano sa po 7 telefona, i svaki od preostalih 20 sa po 9
telefona?
·
· ·
· ·
G1 G2
20 30
P· · ·3 ·7
10 50
70 6
30 20
·5 40
·4
8 12 13
11 14
7 13 12
9 11
6.3. ZADACI ZA REKREACIJU 97
x6 x7 x8 x9 x10
x6 x7 x8
x9 x11
x13 x14 x15 x16 x17 x17 x18 x19 x20 x21
a) ω1 : x1 − x2 − x3 − x4 − x5 , ω2 : x1 − x6 − x9 − x12 − x17 ,
ω3 : x3 − x7 − x9 − x11 − x15 , ω4 : x5 − x8 − x9 − x10 − x13 ,
ω5 : x13 − x14 − x15 − x16 − x17
u grafu pod a) budu dužine 65,
a)
ω1 : A − B − C, ω2 : A − D − G, ω3 : B − D − F,
ω4 : C − D − E, ω5 : E − F − G
ω1 : A − B − C, ω2 : A − K − E,
ω3 : C − H − G, ω4 : E − F − G,
ω1 : A − B − C, ω2 : A − K − E,
ω3 : B − D − F, ω4 : C − H − G,
99
100 LITERATURA
[44] A. A. Zikov, Osnove teorije grafova, Nauka, Moskva, 1987. (Na ruskom).