Diskretna matematika s teorijom

grafova
Blaˇzenka Divjak Alen Lovrenˇci´c
Varaˇzdin, 2005.
Predgovor
Ova je knjiga nastala u ˇzelji da se kolegij Diskretne strukture s teorijom
grafova, koji autori predaju na poslijediplomskom studiju informacijskih
znanosti na Fakultetu organizacije i informatike Sveuˇciliˇsta u Zagrebu od
2002. godine, opermi prikladnom literaturom. Stoga je ova knjiga prilago-
dena studentima kojima je glavno podruˇcje izuˇcavanja informatika, i to ne
samo onima koji studiraju na Fakultetu organizacije i informatike.
Grada ove knjige birana je tako da daje skup matematiˇckih formalizama
koji imaju ˇsiroku primjenu u informatici i raˇcunalstvu. Stoga ova knjiga
moˇze biti od pomo´ci i inˇzenjerima koji se profesionalno bave raˇcunarstvom i
informatikom. Zbog toga autorima nije bio glavni cilj da uvijek, pod svaku
cijenu gradivo predoˇce u svoj matematiˇckoj strogosti i sa svim matematiˇckim
aspektima koji se mogu razmatrati. Odrˇzavˇsi dovoljno matematiˇcke egzak-
tnosti, autori su pokuˇsali gradivo izloˇziti tako da ga bude ˇsto lakˇse primijeniti
na konkretne probleme, koji se u informatici i raˇcunalstvu susre´cu.
Sadrˇzaj knjige
Prvo poglavlje ove knjige je naslovljeno Uvod, i predstavlja skup osnovnih
pojmova koje je nuˇzno definirati da bi sljede´ca poglavlja mogla biti korektno
predstavljena. Ona sadrˇzi opis metoda koje se koriste u matematici, modela
te op´cenite tehnike koje matematiˇcari koriste u dokazivanju. Uvodno je
poglavlje napisala Blaˇzenka Divjak.
Sljede´ce poglavlje predstavlja produˇzetak prvog, uvodnog poglavlja i
donosi opis matematiˇcke logike, a isto tako dva formalna dedukcijska susta-
va - F-sustav i rezolucijsku proceduru. F-sustav predstavlja formalizaciju
pravila dokazivanja opisanih u poglavlju 1.2. S druge strane, rezolucijska
procedura predstavlja deduktivni sustav, koji je posebno pogodan za dokazi-
vanje teorema pomo´cu raˇcunala. Poglavlje o matematiˇckoj logici napisao je
Alen Lovrenˇci´c.
U tre´cem poglavlju se uvode pojmovi koji pripadaju diskretnoj mate-
matici - relacije, funkcije, skupove, pojam rekurzivne jednadˇzbe, rjeˇsavanje
rekurzivnih jednadˇzbi, te na kraju, diskretnu teoriju vjerojatnosti. Ovo je
poglavlje napisala Blaˇzenka Divjak, osim dijelova o rekurzijama i diskretne
i
ii
teorije vjerojatnosti, koje je napisao Alen Lovrenˇci´c. Ovo je ujedno i poglav-
lje koje sadrˇzi raznolike sadrˇzaje - sve ono iz podruˇcja diskretne matematike
ˇsto se intenzivno koristi u informatici i raˇcunalstvu.
U ˇcetvrtom se poglavlju obraduje vrlo vaˇzan pojam, kako u matematici,
tako i u raˇcunalstvu i informatici - pojam algoritma. Poglavlje se sastoji
od tri dijela. U prvom se dijelu uvodi i objaˇsnjava pojam algoritma. Drugi
dio daje pregled teorije sloˇzenosti algoritama, dok je tre´ci dio primjeran i
daje algoritme iz jednog vrlo vaˇznog podruˇcja - podruˇcja pretraˇzivanja i
sortiranja niza elemenata. Ovo je poglavlje napisao Alen Lovrenˇci´c.
Peto poglavlje daje teoriju grafova, koja je iznimno vaˇzna i koriˇstena
matematiˇcka teorija u raˇcunarstvu i informatici, ali i u mnogim drugim
znanstvenim i struˇcnim granama. Poglavlje sadrˇzi niz vrlo vaˇznih proble-
ma, kako u informatici i raˇcunarstvu, tako i u drugim srodnim granama, od
problema pronalaˇzenja puteva, ˇsetnji i ciklusa te razapinju´cih stabala, pa
do protoka i rezova te bojenja vrhova i bridova grafa. Autor ovog poglavlja
je Blaˇzenka Divjak.
ˇ
Sesto poglavlje daje opis osnovnih algebarskih struktura. One su znaˇcaj-
ne u teoriji raˇcunalstva, optimizaciji, teoriji algoritama, teoriji inteligentnih
agenata itd. Algebarske strukture su matematiˇcki okvir u koji se, zbog
njihovih dobro definiranih svojstava uklapaju mnogi problemi, koji na taj
naˇcin dobijaju novi kut glediˇsta pa se tako ˇcesto dobijaju novi rezultati
vezani uz problem. Ovo je poglavlje napisala Blaˇzenka Divjak.
Posljednje poglavlje je zamiˇsljeno, na neki naˇcin, kao poanta cijele knjige.
Ono sadrˇzi matematiˇcki sadrˇzaj, koji je nastao tijekom godina iz pokuˇsaja
da se matematiˇcki opiˇse intuitivni pojam algoritma. Tako je nastala cijela
teorija automata i jezika, ˇcije su osnove opisane u ovom poglavlju. No, ovo
poglavlje ima joˇs jednu vaˇznost za ovu knjigu - ono na neki naˇcin opravdava
izbor sadrˇzaja cijele knjige, koriste´ci mnogo od prije opisanog sadrˇzaja. Ovo
zavrˇsno poglavlje napisao je Alen Lovrenˇci´c.
Kako koristiti knjigu
Ova knjiga sadrˇzi zaista razliˇcite matematiˇcke sadrˇzaje, koji se mogu zasebno
prouˇcavati. Pri tome ne ˇzelimo re´ci da su poglavlja u potpunosti nezavisna
i da se ni u jednom od njih ne koriste rezultati iz prethodnih poglavlja, no
ta veza nije toliko snaˇzna da bi zahtjevala slijedno prouˇcavanje sadrˇzaja.
ˇ
Stoviˇse, tre´ce poglavlje napisano je tako da se njegova podpoglavlja mogu
i sama izuˇcavati zasebno.
ˇ
Sto se tiˇce ostalih poglavlja, ona, uglavnom, za-
htjevaju slijedno prouˇcavanje.
Neki su dijelovi knjige napisani manjim slovima. To su dijelovi koji se
odnose na nadogradnje osnovnog materijala i na naprednije gradivo, koje se
moˇze izostaviti kod prvog ˇcitanja. Ti se dijelovi nikako ne mogu smatrati
nevaˇznima, ve´c onima koji zahtjevaju ve´ci angaˇzman i detaljnije poznavanje
PREDGOVOR iii
podruˇcja.
Pri izlaganju teksta su neki dijelovi izostavljeni i ostavljeni za samostalan
rad ˇcitatelja, bilo kao zadaci unutar teksta, bilo kao izostavljeni dokazi ili
problemi. U svakom sluˇcaju, izostavljeni dijelovi su paˇzljivo odabrani, tako
da bi ih ˇcitatelj tijekom ˇcitanja morao mo´ci bez ve´cih problema i priprema
samostalno izraditi. Autori preporuˇcuju da se zadaci unutar teksta, kao i
dokazi za koje je napomenuto da su ostavljeni za samostalan rad ˇcitatelju,
svakako tijekom ˇcitanja izrade, jer na taj naˇcin ˇcitatelj ve´c tijekom samog
ˇcitanja poˇcinje baratati pojmovima koje prouˇcava, ˇsto znatno pove´cava nji-
hovu razumljivost.
Na kraju svakog poglavlja nalaze se zadaci. Zadaci pokrivaju sadrˇzaj
poglavlja uz koje su vezani i svakako se preporuˇcuje da se zadani zadaci
rijeˇse. Oni ne sluˇze samo za ponavljanje gradiva poglavlja, ve´c djelomiˇcno i
nadograduju sadrˇzaj. Zadaci mogu ˇcitatelju pokazati koliko je zaista shvatio
ono ˇsto je proˇcitao, ali mu mogu i dodatno objasniti neke detalje koji iz
samog teksta nisu bili jasni.
Osim toga, svako je poglavlje opskrbljeno i problemima. Od ˇcitatelja
se ne oˇcekuje da izradi rjeˇsenje svakog problema u knjizi, jer su problemi
zamiˇsljeni kao studijski zadaci, koji zahtjevaju duˇzi rad detaljnije prouˇca-
vanje literature i dublje upoznavanje podruˇcja na koje se odnose. Svakako,
ovi problemi su pogodni za izradu seminarskih radova studenata koji sluˇsaju
kolegije koji pokrivaju podruˇcje opisano u ovoj knjizi, ali oni predstavljaju
i ideje za daljnji samostalan rad svim ˇcitateljima zainteresiranim za nado-
gradnju znanja iz danog podruˇcja.
Svako poglavlje ima i literaturu koja je koriˇstena pri izradi sadrˇzaja, ali
koja isto tako predstavlja smjernice za daljnji rad ˇcitateljima koji su posebno
zainteresirani za sadrˇzaj dotiˇcnog poglavlja.
Zahvale i pokude
Uobiˇcajeno je da se u predgovoru popiˇsu ljudi koji su autorima pomogli u
izdavanju knjige te da se pokude autori ˇsto je u knjizi ostalo joˇs pogreˇsaka
i ˇsto su neki sadrˇzaji moˇzda ostali nedovoljno pokriveni, pa ´cemo se i mi
drˇzati tog obiˇcaja.
No, uprkos naˇsem pristajanju na obiˇcaj, napravit ´cemo, matematiˇcki
reˇceno, inverziju, pa ´cemo na poˇcetku zahvaliti naˇsim obiteljima. Oni su
nas podupirali pri pisanju ove knjige, ˇcesto i ne znaju´ci toˇcno o ˇcemu se
radi, imaju´ci puno povjerenje u nas i ono ˇsto radimo, odriˇcu´ci se onoga ˇsto
im pripada - naˇse paˇznje.
Zahvaljujemo naˇsim recenzentima Mirku
ˇ
Cubrilu, Tihomiru Hunjaku
i Mariu Krni´cu (abecednim redom) koji su svojim sugestijama doprinijeli
poboljˇsanju ove knjige, ali koji su, isto tako, garantiraju´ci svojim imenima
kvalitetu ove knjige, omogu´cili da ona bude izdana. Knjiga je izdana uz
iv
potporu projekta TEMPUS ”Aspects of Information and Organization Sys-
tems: Curriculum Development” (CD-JEP-16086-2001), na kojem su oba
autora predano radila.
Zahvaljujujemo naˇsim izdavaˇcima: Fakultetu organizacije i informatike i
TIVA-i. Posebno zahvaljujemo Mireli Ostroˇski, na ˇcitenju teksta i na izradi
nekih zadataka, te Renati Horvatek, koja je napravila lekturu teksta.
Na kraju, sve pokude za pogreˇske koje su ”opstale” nakon svih isˇcitavanja
knjige, nedostatke teksta, nejasno´ce i bilo koje probleme na koje ´ce ˇcitatelj
nai´ci zadrˇzavamo iskljuˇcivo za sebe.
Svim ˇcitateljima ˇzelimo ugodan i plodonosan rad uz ovu knjigu.
B. Divjak,
A. Lovrenˇci´c
Varaˇzdin, 2005.
Sadrˇzaj
Predgovor i
1 Uvod 1
1.1 Matematiˇcke metode i modeli . . . . . . . . . . . . . . . . . . 1
1.1.1 Znanstvena metoda . . . . . . . . . . . . . . . . . . . 1
1.1.2 Matematiˇcki model . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Struktura matematike . . . . . . . . . . . . . . . . . . 3
1.2 Tehnike dokazivanja u matematici . . . . . . . . . . . . . . . 5
1.2.1 Sudovi i matematiˇcka logika kao okvir za matematiˇcke
tvrdnje . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Dokazivanje matematiˇckih tvrdnji . . . . . . . . . . . 7
1.2.3 Matematiˇcka indukcija i skup prirodnih brojeva . . . . 8
1.2.4 Princip dobrog uredaja u skupu N . . . . . . . . . . . 11
1.3 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Matematiˇcka logika 17
2.1 Raˇcun sudova . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.1 Sintaksa . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.2 Semantika . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Predikatni raˇcun . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.1 Sintaksa . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.2 Semantika . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.3 Formalni sustavi . . . . . . . . . . . . . . . . . . . . . 33
2.3 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3 Diskretna matematika 45
3.1 Skupovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.1.1 Zadavanje skupa . . . . . . . . . . . . . . . . . . . . . 46
3.1.2 Relacije medu skupovima . . . . . . . . . . . . . . . . 46
3.1.3 Partitivni skup . . . . . . . . . . . . . . . . . . . . . . 47
3.1.4 Operacije na skupovima . . . . . . . . . . . . . . . . . 47
3.1.5 Kartezijev produkt skupova . . . . . . . . . . . . . . . 48
v
vi SADR
ˇ
ZAJ
3.2 Binarne relacije . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2.1 Binarne relacije na diskretnim skupovima . . . . . . . 49
3.2.2 Obrat relacije, komplement relacije i dualna relacija . 51
3.3 Relacija ekvivalencije . . . . . . . . . . . . . . . . . . . . . . . 51
3.3.1 Definicija i svojstva relacija ekvivalencije . . . . . . . 51
3.3.2 Kongruencije . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.3 Aritmetika u Z
k
. . . . . . . . . . . . . . . . . . . . . 60
3.3.4 Joˇs neka svojstva binarnih relacija . . . . . . . . . . . 62
3.4 Uredajne binarne relacije . . . . . . . . . . . . . . . . . . . . 63
3.4.1 Relacija parcijalnog uredaja . . . . . . . . . . . . . . . 63
3.4.2 Relacija djeljivosti na skupu cijelih brojeva . . . . . . 67
3.5 Funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.5.1 Kompozicija funkcija . . . . . . . . . . . . . . . . . . . 70
3.5.2 Bijekcija. Inverzna funkcija . . . . . . . . . . . . . . . 71
3.5.3 Funkcije kao relacije . . . . . . . . . . . . . . . . . . . 71
3.5.4 Realne funkcije realne varijable . . . . . . . . . . . . . 72
3.6 Graf funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.6.1 Neka svojstva realnih funkcija realne varijable . . . . 73
3.6.2 Konaˇcni i beskonaˇcni skupovi . . . . . . . . . . . . . . 78
3.7 Rekurzivne relacije . . . . . . . . . . . . . . . . . . . . . . . . 79
3.7.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.7.2 Rjeˇsavanje rekurzija - karakteristiˇcna jednadˇzba . . . 82
3.7.3 Rjeˇsavanje rekurzivnih jednadˇzbi - funkcije izvodnice . 91
3.8 Diskretna teorija vjerojatnosti . . . . . . . . . . . . . . . . . . 93
3.8.1 Osnove kombinatorike . . . . . . . . . . . . . . . . . . 93
3.8.2 Osnovne definicije i teoremi diskretne teorije vjerojat-
nosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.8.3 Uvjetna vjerojatnost . . . . . . . . . . . . . . . . . . . 104
3.8.4 Sluˇcajne varijable . . . . . . . . . . . . . . . . . . . . . 107
3.9 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.10 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4 Algoritmi 125
4.1 Pojam algoritma . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.2 Sloˇzenost algoritama . . . . . . . . . . . . . . . . . . . . . . . 130
4.3 Pretraˇzivanje i sortiranje . . . . . . . . . . . . . . . . . . . . . 139
4.3.1 Pretraˇzivanje . . . . . . . . . . . . . . . . . . . . . . . 139
4.3.2 Sortiranje . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.3.3 Donja meda sloˇzenosti algoritama usporedivanja i sor-
tiranja temeljenih na usporedivanju . . . . . . . . . . 176
4.3.4 Sortiranje u vremenu O(n) . . . . . . . . . . . . . . . 179
4.4 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
4.5 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
SADR
ˇ
ZAJ vii
5 Teorija grafova 191
5.1 Definicija grafa i osnovna svojstva . . . . . . . . . . . . . . . 192
5.2 Izomorfizam grafova . . . . . . . . . . . . . . . . . . . . . . . 197
5.3 Regularni grafovi . . . . . . . . . . . . . . . . . . . . . . . . . 199
5.4
ˇ
Setnje i ciklusi u grafu . . . . . . . . . . . . . . . . . . . . . . 200
5.4.1 Eulerova staza . . . . . . . . . . . . . . . . . . . . . . 201
5.5 Matrica incidencije i matrica susjedstva . . . . . . . . . . . . 204
5.6 Hamiltonovi ciklusi . . . . . . . . . . . . . . . . . . . . . . . . 208
5.7 Teˇzinski grafovi. Algoritmi najkra´ceg puta . . . . . . . . . . . 209
5.7.1 Dijkstrin algoritam . . . . . . . . . . . . . . . . . . . . 210
5.7.2 Problem kineskog poˇstara . . . . . . . . . . . . . . . . 212
5.8 Stabla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
5.8.1 Osnovno o stablima . . . . . . . . . . . . . . . . . . . 215
5.8.2 Binarno stablo . . . . . . . . . . . . . . . . . . . . . . 217
5.8.3 Minimalno razapinju´ce stablo . . . . . . . . . . . . . . 222
5.8.4 Pretraˇzivanje stabla . . . . . . . . . . . . . . . . . . . 224
5.9 Usmjereni grafovi i mreˇze . . . . . . . . . . . . . . . . . . . . 226
5.9.1 Usmjereni graf . . . . . . . . . . . . . . . . . . . . . . 226
5.9.2 Turnir . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
5.9.3 Mreˇze i kritiˇcni putevi . . . . . . . . . . . . . . . . . . 228
5.9.4 Problem rasporeda . . . . . . . . . . . . . . . . . . . . 228
5.9.5 Protoci i rezovi . . . . . . . . . . . . . . . . . . . . . . 231
5.9.6 Max-flow min-cut teorem . . . . . . . . . . . . . . . . 233
5.10 Bojenje grafova . . . . . . . . . . . . . . . . . . . . . . . . . . 236
5.10.1 Problem ˇcetiri boje . . . . . . . . . . . . . . . . . . . . 236
5.10.2 Bojenje vrhova grafa . . . . . . . . . . . . . . . . . . . 237
5.10.3 Bojenje bridova grafa . . . . . . . . . . . . . . . . . . 240
5.11 Sparivanje u grafovima . . . . . . . . . . . . . . . . . . . . . . 242
5.12 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
5.13 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
6 Algebarske strukture 253
6.1 Definicija i primjeri algebarskih struktura . . . . . . . . . . . 254
6.2 Grupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6.2.1 Definicija grupe . . . . . . . . . . . . . . . . . . . . . . 255
6.2.2 Konaˇcne i cikliˇcke grupe . . . . . . . . . . . . . . . . . 257
6.2.3 Primjeri grupa . . . . . . . . . . . . . . . . . . . . . . 259
6.2.4 Podgrupe . . . . . . . . . . . . . . . . . . . . . . . . . 260
6.3 Izomorfizam grupa . . . . . . . . . . . . . . . . . . . . . . . . 263
6.4 Primjena grupa u kodiranju . . . . . . . . . . . . . . . . . . . 265
6.4.1 Teorija kodiranja kao grana matematike . . . . . . . . 265
6.4.2 Problemi prijenosa informacija . . . . . . . . . . . . . 267
6.4.3 Metrika na kodnim rijeˇcima . . . . . . . . . . . . . . . 267
6.4.4 Grupa koda . . . . . . . . . . . . . . . . . . . . . . . . 269
viii SADR
ˇ
ZAJ
6.4.5 Matrica izvodnica kodiraju´ce funkcije . . . . . . . . . 272
6.5 Prsteni i polja . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
6.5.1 Prsten . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
6.5.2 Primjeri prstena . . . . . . . . . . . . . . . . . . . . . 276
6.5.3 Polje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
6.5.4 Primjeri polja . . . . . . . . . . . . . . . . . . . . . . . 279
6.6 Vektorski prostor . . . . . . . . . . . . . . . . . . . . . . . . . 281
6.7 Primjeri vektorskog prostora . . . . . . . . . . . . . . . . . . 283
6.8 Algebarske strukture polinoma . . . . . . . . . . . . . . . . . 284
6.8.1 Prsten polinoma . . . . . . . . . . . . . . . . . . . . . 284
6.8.2 Vektorski prostor polinoma . . . . . . . . . . . . . . . 285
6.9 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
6.10 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
7 Matematiˇcka teorija raˇcunalstva 293
7.1 Jezici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
7.1.1 Regularni izrazi . . . . . . . . . . . . . . . . . . . . . . 295
7.1.2 Kontekstno slobodne gramatike . . . . . . . . . . . . . 298
7.2 Konaˇcni automati . . . . . . . . . . . . . . . . . . . . . . . . 299
7.3 Potisni automati . . . . . . . . . . . . . . . . . . . . . . . . . 307
7.4 Turingovi strojevi . . . . . . . . . . . . . . . . . . . . . . . . . 313
7.5 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
7.6 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Poglavlje 1
Uvod
Matematika je vrata, ali i kljuˇc
ulaznih vrata u znanost.
Roger Bacon
1.1 Matematiˇcke metode i modeli
U ovom uvodnom poglavlju iznijet ´cemo kratki uvod u znanstvenu metodu,
te njezine moderne inaˇcice. Nadalje, pokuˇsat ´cemo predstaviti vaˇznost ma-
tematike u znanstvenim problemima i svakodnevnom ˇzivotu i radu. Medu-
tim, da bismo pravilno koristili matematiˇcke metode, treba poznavati osnove
njezine strukture kao i metode dokazivanja hipoteza u matematici. Posebno
´cemo izdvojiti princip matematiˇcke indukcije kao metodu kojom dokazu-
jemo tvrdnje koje ovise o prirodnim brojevima, te koju ˇcesto koristimo kod
rekurzivnih definicija.
1.1.1 Znanstvena metoda
Znanost moˇzemo definirati kao metodiˇcki (sistematski) pristup prikupljanju
znanja. U znanosti se za istraˇzivanje sluˇzimo znanstvenom metodom. Znan-
stvena metoda se temelji na ˇcinjenicama, a ne na uvjerenjima, a u op´cem
smislu ukljuˇcuje nekoliko koraka. Koraci znanstvene metode su sljede´ci:
promatranje, postavljanje pitanja, postavljanje hipoteze, testiranje hipoteze,
eksperiment, analiza podataka i rezultata i zakljuˇcak. Hipoteza ne mora
uvijek biti toˇcna, ali treba biti mjerljiva. Naˇcin na koji se testira hipoteza
ovisi o podruˇcju znanosti u kojem se istraˇzuje.
Medutim, danas je znanost kompleksnija nego ikad, bavi se sve teˇzim i
teˇzim problemima koje nuˇzno treba rjeˇsavati multidisciplinarnim pristupom.
U tom procesu potrebno je pametno kombinirati individualne ekspertize i
kompetencije. Stoga je nuˇzan projektni pristup rjeˇsavanju problema i nji-
hovom istraˇzivanju. Prema tradicionalnoj znanstvenoj metodi koja apo-
1
2 1.1. MATEMATI
ˇ
CKE METODE I MODELI
strofira objektivnost, a eksperimente pojednostavljuje tako da bi se moglo
razmatrati samo jedno pitanje, problemi moderne znanosti ne mogu se
viˇse uspjeˇsno rjeˇsavati. Istovremeno, jaˇca uloga raˇcunalnog modeliranja i
simboliˇckih matematiˇckih eksperimenata, kao i uloga matematiˇckih i sta-
tistiˇckih metoda op´cenito. U tom svjetlu mnogi znanstvenici predlaˇzu da
treba mijenjati i klasiˇcnu znanstvenu metodu [7]. Prema [7], alternativni
izgled znanstvenog procesa ukljuˇcivao bi i razvoj novih metodologija koje
bi odgovarale postavljenom problemu, te razvoj teorija, koje bi objaˇsnjavale
rezultate. Nove tehnologije mogu iza´ci kao dodatni rezultat razvoja meto-
dologije i alata, kao i konaˇcni rezultat istraˇzivanja. Primjerice, Kopernik je
pri reviziji Ptolomejeve kozmologije, razvio matematiˇcku metodologiju koja
ga je dovela do rezultata, koji su oznaˇcili preokret, ne samo u astronomiji,
nego u ˇcovjekovu cjelokupnom poimanju svijeta.
Jednom kad se pojavi problem, zada´ca je znanosti da nade metodologiju
pomo´cu koje ´ce ga rijeˇsiti. Ali ne samo to. Znanstvenici trebaju razmotriti
teorijsko znaˇcenje i vaˇznost problema kojeg obraduju te mogu´cnosti primjene
njegovih direktnih i indirektnih rezultata.
1.1.2 Matematiˇcki model
Osnova za razumijevanje svijeta je promatranje. Promatranjem prikuplja-
mo informacije. Znanstvenik prikuplja informacije sistematski, u skladu sa
znanstvenom metodologijom. Pri tome se sluˇzi mjerenjem da bi kvantifi-
cirao podatke. Na temelju pojedinaˇcnih informacija rade se generalizacije,
najprije jednostavne, pa sve sloˇzenije. Konaˇcno, dolazimo do razumijevanja
materije na temelju principa. Op´cenito, princip je poop´cenje ili apstraktna
tvrdnja.
U procesu istraˇzivanja, ali i u svakodnevnom rjeˇsavanju problema, upo-
trebljavamo modele. Model je analogija s nekim objektom ili konceptom, ili
drugim interesantnim modelom, a koristi se kao objaˇsnjenje nekog procesa
ili predvidanje dogadaja. O modelu moˇzemo razmiˇsljati kao o ”imaginarnoj,
pojednostavljenoj verziji dijela svijeta kojeg promatramo.” ([5])
Iskustvo pokazuje da je matematika dobro sredstvo (jezik) za izraˇzavanje
principa. Matematiˇcki modeli su modeli bazirani na matematiˇcki postavlje-
nim principima. Dakle, oni predstavljaju matematiˇcku karakterizaciju ili
opis nekog fenomena ili procesa. Matematiˇcki model sadrˇzi sljede´ce bitne
komponente; pojavu ili proces iz realnog svijeta koji se ˇzeli modelirati, ap-
straktnu matematiˇcku strukturu i korespondenciju izmedu elemenata prve i
druge komponente.
Svrha matematiˇckog modela je:
• prezentacija informacija u lako prihvatljivom obliku,
• omogu´cavanje “lakog” raˇcunanja,
POGLAVLJE 1. UVOD 3
• olakˇsavanje istraˇzivanja i predvidanja.
Matematiˇcki modeli op´cenito sadrˇze tri razliˇcite vrste kvantitativnih
veliˇcina: izlazne varijable (output), ulazne varijable (input) i parametre
(konstante). Viˇse o matematiˇckom modeliranju moˇzete na´ci u [4].
Jedan od poznatih modela u fizici je model plina u kinetiˇckoj teoriji
plina. Molekule plina zamiˇsljamo kao vrlo male kuglice smjeˇstene u nekoj
kocki. Kuglice se gibaju konstantnom brzinom, nezavisno jedna od druge,
a njihove medusobne sudare, kao i sudare sa stjenkama kocke, smatramo
elastiˇcnima. Smjerove brzina molekula smatramo nasumiˇcnima, tj. njihova
rezultanta je nul-vektor. Na temelju ovog priliˇcno grubog modela, punog
pretpostavki, dobivene su formule koje dobro opisuju realnu situaciju.
Dakle, matematika je izuzetno korisna i to se moˇze dobro argumenti-
rati. Ali na matematiku se moˇze gledati i drugaˇcije. O matematici se
govori i kao o logiˇckoj igri ili o sredstvu za razvijanje logiˇckog i sistemat-
skog razmiˇsljanja. Nadalje, matematiku se ponekad opisuje kao znanost o
uzorcima (vidi [3]), jer matematiˇcari prouˇcavaju uzorke: numeriˇcke uzorke,
uzorke oblika, uzorke gibanja, uzorke ponaˇsanja, izborne uzorke, uzorke
sluˇcajnih dogadaja itd.
Matematiˇ cka
struktura
Proces u
realnom
svijetu
Slika 1.1
1.1.3 Struktura matematike
Povijesno gledaju´ci, matematiku je kao ”univerzalni jezik” prvi promatrao
Gottfried Leibniz u 17. stolje´cu. On je smatrao da se argumenti u mate-
matici, ali i svugdje drugdje, trebaju logiˇcki provjeravati. Nadalje, Gottlob
Frege je u drugoj polovici 19. stolje´ca nastavio sliˇcno razmiˇsljati i tvrdio da se
4 1.1. MATEMATI
ˇ
CKE METODE I MODELI
matematika treba izgraditi na predikatnoj logici. U posljednjem desetlje´cu
19. st. Guiseppe Peano je napravio aksiomatski okvir koji je ukljuˇcivao
logiku i teoriju skupova. Taj su rad poˇcetkom 20. st. nastavili Alfred
Whitehead i Bertrand Russell.
Ponovimo vaˇzne ˇcinjenice o matematiˇckim strukturama. Pojaˇsnjenja se
mogu na´ci u [4], (str.7-9).
Pojmovi u matematici se dijele na osnovne i izvedene pojmove. Osnovni
pojmovi se ne definiraju, a izvedeni se pojmovi definiraju pomo´cu osnovnih.
Definicija je sud pomo´cu kojeg se odreduje sadrˇzaj nekog pojma. Isti se
pojam moˇze definirati na viˇse ekvivalentnih naˇcina.
Osnovni matematiˇcki pojmovi su generalizacija objekata iz stvarnog svi-
jeta (npr. pravac je generalizacija zrake svjetlosti).
Prilikom formiranja tvrdnji koristimo se zakljuˇcivanjem. Zakljuˇcivanje
je naˇcin miˇsljenja kojim se viˇse sudova (premisa) dovodi u vezu i izvodi novi
sud (zakljuˇcak, rezultat). Razlikujemo induktiv-
no i deduktivno zakljuˇcivanje te zakljuˇcivanje po
analogiji. Matematiˇcki oblici zakljuˇcivanja su in-
duktivno i deduktivno zakljuˇcivanje.
Indukcija moˇze biti potpuna (matematiˇcka) i ne-
potpuna. Pri dokazivanju u matematici sluˇzimo
se potpunom ili matematiˇckom indukcijom. No i
u ostalim ljudskim djelatnostima, gdje se vaˇznost
pridaje ispravnom zakljuˇcivanju, ne smijemo se
sluˇziti nepotpunom indukcijom. O tome ´ce biti
viˇse govora u nastavku knjige.
Deduktivna metoda karakterizira viˇsi nivo razvoja
neke znanosti, jer ona podrazumijeva postojanje
Slika 1.2: Gottfried Wil-
helm von Leibniz
principa.
Euklid (365. p. K.) je bio prvi poznati znanstvenik u povijesti koji je sus-
tavno primijenio deduktivne metode, i to u geometriji. Geometrija je na
taj naˇcin aksiomatizirana (vidi: [9], [2]), tj. utemeljena na sustavu aksio-
ma, koji predstavljuju tvrdnje za koje postoji uvjerenje da su istinite. Tako
dobivenu geometriju nazivamo euklidskom geometrijom. Aritmetika je aksi-
omatizirana znatno kasnije, u drugoj polovici 19. st. (vidi: [10]).
Istaknimo bitne elemente matematiˇcke teorije deduktivnog pristupa. To
su:
1. nabrajanje osnovnih pojmova,
2. definiranje sloˇzenih pojmova,
3. postavljanje aksioma,
4. iskazivanje teorema,
5. dokazi teorema.
POGLAVLJE 1. UVOD 5
Aksiomi i teoremi (pouˇcci, stavci) izriˇcu ekvivalentne tvrdnje i iznose
zakljuˇcke o matematiˇckim pojmovima i njihovim medusobnim odnosima i
vezama.
Aksiomi su tvrdnje koje smatramo istinitima bez posebnog dokaza, dok
su teoremi tvrdnje koje logiˇcki izviru iz aksioma.
Svaki teorem treba izvesti (deducirati, dokazati) iz jednog ili viˇse aksioma
u konaˇcno mnogo koraka.
Dokaz je zakljuˇcivanje kojim se pokazuje da je neki teorem logiˇcka po-
sljedica nekih aksioma ili ve´c dokazanih teorema. Dokaz moˇze biti direktan
i indirektan.
1.2 Tehnike dokazivanja u matematici
1.2.1 Sudovi i matematiˇcka logika kao okvir za matematiˇcke
tvrdnje
U matematici, kao i drugim znanostima, susre´cemo tvrdnje koje izraˇzavaju
odredene znanstvene spoznaje. Tvrdnje u znanosti se trebaju dokazati. Po-
jedine znanstvene discipline raspolaˇzu skupom metoda kojima se tvrdnje
u tom podruˇcju dokazuju. Tehnike dokazivanja u druˇstvenim znanostima
bitno se razlikuju od onih u prirodnim znanostima, a posebno matematici.
Slika 1.3: Pierre de Fermat
U svakom je znanstvenom istraˇzivanju u po-
ˇcetku potrebna istraˇzivaˇcka intuicija, koja je ˇcesto
temeljena na ranijim spoznajama i iskustvu. Me-
dutim, nakon ˇsto su formulirane odredene znan-
stvene hipoteze, potrebno je egzaktno dokazati nji-
hovu toˇcnost. U tom smislu hipoteze trebaju biti
sudovi . Iz matematiˇcke logike poznato je da su su-
dovi tvrdnje za koje se jednoznaˇcno moˇze re´ci jesu
li istinite ili nisu. U povijesti znanosti poznato
je mnogo hipoteza koje joˇs nisu postale sudovi. U
matematici je poznata Goldbachova hipoteza, koja
tvrdi da je svaki paran broj, ve´ci od 2, mogu´ce
prikazati u obliku zbroja dvaju prostih brojeva (opisana u [4], 21). Done-
davno je i posljednji Fermatov teorem (prozvan i veliki Fermatov teorem)
bio samo matematiˇcka slutnja bez dokaza. Prisjetimo se jednostavne for-
mulacije posljednjeg Fermatovog teorema: Za svaki prirodni broj ve´ci od
2 jednadˇzba a
n
+ b
n
= c
n
nema cjelobrojnih rjeˇsenja, pri ˇcemu su a, b, c,
razliˇciti od nule. Preko 350 godina brojni su matematiˇcari, ali i amateri
zaljubljenici u matematiku, pokuˇsavali dokazati tu hipotezu. Na taj su
naˇcin razvijene mnoge teorije, dobivene ekvivalentne tvrdnje, i poploˇcen
put koji je vodio do konaˇcnog dokaza, kojeg su 1994. zavrˇsili Andrew Wiles
i Richard Taylor. Ipak dosta otvorenih problema u matematici i drugim
znanstvenim podruˇcjima ˇceka rjeˇsenja. Jedan od takvih problema je pozna-
6 1.2. TEHNIKE DOKAZIVANJA U MATEMATICI
ti problem rjeˇsivosti svakog algoritamski rjeˇsivog problema u polinomnom
vremenu, odnosno P = NP problem.
Medutim, da bi netko uspjeˇsno rjeˇsavao probleme u matematici, ali i s
razumijevanjem prihva´cao matematiˇcke teorije koje ´ce koristiti u drugim po-
druˇcjima istraˇzivanja i rada, nuˇzno je da se upozna s tehnikama dokazivanja
u matematici. Dokazivanje u matematici temelji se na matematiˇckoj logici.
Osnove matematiˇcke logike mogu se prona´ci primjerice u [4], ali i u drugom
poglavlju ove knjige.
Nabrojimo osnovne tipove tvrdnji koje susre´cemo u matematici. Tvrdnja
”20 je viˇsekratnik od 5” je jednostavni sud. Budu´ci da je 20 = 4 5 znamo
da je ovaj sud istinit.
Mnoge tvrdnje u matematici jesu sloˇzeni sudovi jer se sastoje od dva ili
viˇse sudova povezanih logiˇckim operacijama.
Osnovne operacije matematiˇcke logike su konjunkcija (veznik i), disjun-
kcija (veznik ili) i negacija. Ponovimo njihove vrijednosti istinitosti.
Sloˇzeni sud a∧b (a i b) je istinit ako i samo ako su oba suda a i b istinita.
Sloˇzeni sud a ∨ b (a ili b) je istinit ako je barem jedan od sudova a i b
istinit.
Negacija a suda a je istinita ako i samo ako je sud a laˇzan.
Mnoge matematiˇcke tvrdnje su implikacije, odnosno oblika ako-onda.
Sloˇzeni sud a ⇒b (ako a onda b; a implicira b) je laˇzan samo ako je sud
a istinit, sud b laˇzan. Primjer implikacije je sljede´ca tvrdnja.
Primjer 1.1 Ako je prirodan broj n djeljiv brojem 6, onda je n djeljiv i
brojem 3.
Uoˇcite da implikacija nije komutativna operacija tj. ako je istinita im-
plikacija a ⇒b, tada obratna implikacija b ⇒a nije nuˇzno istinita.
Zadatak 1.1 Izrecite obrat implikacije iz prethodnog primjera i utvrdite je
li to istinita tvrdnja.
Ako je istovremeno istinito a ⇒ b i b ⇒ a kaˇzemo da su tvrdnje a i b
ekvivalentne i piˇsemo a ⇔b. Evo primjera ekvivalencije.
Primjer 1.2 Prirodan broj n je paran ako i samo ako je n
2
paran.
Dakle, znak ⇔ obiˇcno ˇcitamo ”ako i samo ako” ili ”ekvivalentno”.
Pokazuje se da je istinita implikacija a ⇒ b ako i samo ako je istinit
obrat suprotne tvrdnje tzv. kontrapozicija. Dakle, tvrdnje a ⇒b i b ⇒a
su ekvivalentne . Ovu ˇcinjenicu koristimo kod indirektnog dokazivanja.
Istaknimo joˇs neke uobiˇcajene oblike matematiˇckih tvrdnji. Postoje
tvrdnje koje govore da neˇsto postoji, pa ih nazivamo tvrdnjama o egzisten-
ciji (postojanju). Takva je, na primjer, sljede´ca poznata tvrdnja iz linearne
algebre.
POGLAVLJE 1. UVOD 7
Primjer 1.3 Uvijek postoji rjeˇsenje homogenog sustava linearnih jedna-
dˇzbi.
U iskazivanju tvrdnji o postojanju koristimo se kvantifikatorom egzisten-
cije ∃, kojeg ˇcitamo ”za neki” ili ”postoji”.
Nasuprot tvrdnjama o egzistenciji nalaze se univerzalne tvrdnje, tj. tvrd-
nje koje se odnose na sve elemente odredenog skupa. Za njihovo izricanje
koristimo univerzalni kvantifikator ∀, kojeg ˇcitamo ”za svaki” ili ”za sve”.
Evo primjera univerzalne tvrdnje.
Primjer 1.4 Za svaki prirodan broj n, broj 3n − 1 je prosti broj. Ova
tvrdnja nije istinita. Istinita je, na primjer, tvrdnja: Za svaki prirodan broj
n, broj n(n + 1)(n + 2) je djeljiv sa 6.
Posebnu paˇznju treba obratiti na ˇcinjenicu kako se operacija negacije
odnosi prema kvatifikatorima. Negiramo li univerzalni kvantifikator umje-
sto njega moˇzemo pisati kvantifikator egzistencije i obrnuto, negacijom kvan-
tifikatora egzistencije dobijemo univerzalni kvantifikator. Objaˇsnjenje mo-
ˇzete na´ci u poglavlju ove knjige koje se bavi matematiˇckom logikom, ali i u
[4], str. 37.
1.2.2 Dokazivanje matematiˇckih tvrdnji
Dokaz predstavlja demonstraciju istinitosti zadane tvrdnje. U matematici
ˇcesto treba dokazivati teoreme, propozicije, leme i korolare koji su dani
u obliku implikacije A ⇒ B. Ovdje tvrdnju A nazivamo pretpostavka, a
tvrdnju B zakljuˇcak. Te su dvije tvrdnje u teoremima i drugim suvislim
matematiˇckim tvrdnjama medusobno povezane. Da bismo dokazali istini-
tost implikacije dovoljno je ispitati ne pojavljuje li se sluˇcaj da istinita pret-
postavka vodi do laˇznog zakljuˇcka. Tvrdnja je trivijalno istinita ako je
zakljuˇcak istinit.
Direktni dokaz implikacije se stoga provodi tako da se uzima da je pret-
postavka istinita i temeljem toga pokaˇze da tada i zakljuˇcak mora biti istinit.
Ponekad je jednostavnije koristiti dokaz po kontrapoziciji (indirektni do-
kaz), koji umjesto tvrdnje A ⇒B dokazuje tvrdnju B ⇒A.
Tvrdnje koje imaju jednake tablice istinitosti su ekvivalentne. Budu´ci
se ekvivalencija sastoji od dvije implikacije, kod dokazivanja ekvivalencije
provode se dokazi dviju implikacija i ukoliko su obje implikacije istinite,
zakljuˇcuje se da je ekvivalencija istinita. U ekvivalentnim tvrdnjama koris-
timo formulaciju”A ako i samo ako B”, koja oznaˇcava da ”A povlaˇci B” i
”B povlaˇci A”.
Primjer 1.5 Dokaˇzimo direktno tvrdnju iz Primjera 1.2.
Prvo dokazujemo implikaciju ”Ako je n paran prirodan broj tada je i n
2
paran.” Pretpostavka ”n je paran” znaˇci da se n moˇze zapisati kao n = 2k,
8 1.2. TEHNIKE DOKAZIVANJA U MATEMATICI
pri ˇcemu je k neki prirodan broj. Kvadriranjem te jednakosti dobivamo da
je n
2
= 4k
2
, ˇsto znaˇci da je n
2
paran broj.
Druga implikacija glasi: ”Ako je n
2
paran prirodan broj tada je i n
paran.”
Ova tvrdnja lagano se dokazuje obratom po kontrapoziciji. Kontrapozi-
cija glasi: ”Ako je n neparan tada je i n
2
neparan.” Dokaˇzite za vjeˇzbu tu
tvrdnju.
U nekim dokazima koristimo dokaz kontradikcijom kao varijaciju dokaza
po kontrapoziciji. Pretpostavimo naime da je negacija poˇcetne tvrdnje is-
tinita. Ta pretpostavka zatim vodi do tvrdnje koja je oˇcigledno laˇzna ili
je u suprotnosti (kontradikciji) s nekom pretpostavkom. Klasiˇcan primjer
dokaza kontradikcijom je dokaz da je

2 iracionalan broj.
Tvrdnje o egzistenciji nekog objekta dokazuju se tako da se pronade prim-
jer definiranog objekta. Primjer koji pokazuje da vrijedi tvrdnja o postoja-
nju rjeˇsenja homogenog sustava linearnih jednadˇzbi je tzv. trivijalno rjeˇsenje
(rjeˇsenje ˇcije su sve komponente rjeˇsenja jednake nuli). Traˇzenje primjera
egzistencije nije uvijek jednostavan posao jer postoje matematiˇcke slutnje
o postojanju odredenih objekata koje nikada nisu dokazane. Takva je na
primjer slutnja da postoje brojevi a, b, c, d takvi da je a
4
+b
4
+c
4
= d
4
.
Univerzalna tvrdnja se opovrgava tako da se nade protuprimjer, odnosno
primjer za koji tvrdnja ne vrijedi. Pronadimo protuprimjer za Primjer 1.4.
Za n = 3 broj 3n −1 je sloˇzeni broj.
Poneke tvrdnje se dokazuju provjeravanjem konaˇcnog broja sluˇcajeva
(Primjer: Postoji prosti broj izmedu 100 i 115).
1.2.3 Matematiˇcka indukcija i skup prirodnih brojeva
Matematiˇcka se teorija gradi tako da se prvo utvrdi skup aksioma koji
su op´ce prihva´ceni kao istiniti pa se pomo´cu njih dokazuju sloˇzenije tvrd-
nje. Cilj ovog poglavlja knjige je dati jedan jednostavni primjer izgradnje
matematiˇcke teorije.
Svima je poznato da su prirodni brojevi oni koje koristimo za prebro-
javanje u svakodnevnom ˇzivotu, da je najmanji prirodni broj 1. Ipak ove
tvrdnje nisu dovoljne za aksiomatsku definiciju prirodnih brojeva.
Tako u aritmetici postoje tzv. Peanovi aksimi, koji postuliraju posto-
janje prirodnih brojeva tj. skupa N. Evo tih aksioma.
Peanovi aksiomi:
1. 1 ∈ N. (Dakle, N nije prazan skup, ve´c sadrˇzi najmanje jedan element.)
2. Za svaki x ∈ N postoji prirodni broj x

kojeg zovemo sljedbenikom od
x.
3. x

,= 1. (1 nije niˇciji sljedbenik.)
POGLAVLJE 1. UVOD 9
4. x

= y

povlaˇci x = y. ( Razliˇciti prirodni brojevi imaju razliˇcite
sljedbenike.)
5. Aksiom indukcije. Neka je M ⊆ N sa sljede´cim svojstvima:
1) 1∈ M,
2) x ∈ M povlaˇci x

∈ M.
Tada je M = N.
Aksiom matematiˇcke indukcije, odnosno princip matematiˇcke indukci-
je vaˇzno je orude u matematiˇckom dokazivanju. Taj se princip ne smije
mijeˇsati s induktivnom metodom u znanosti. Induktivna metoda u znanosti
sluˇzi samo za izvodenje op´cih principa iz pojedinaˇcnih sluˇcajeva. Prin-
cip matematiˇcke indukcije sluˇzi za dokazivanje tvrdnji koje vrijede za sve
prirodne brojeve (osim moˇzda za konaˇcno mnogo njih). Tvrdnje koje se
dokazuju matematiˇckom indukcijom ovise o cijelom (prirodnom) broju n.
Prikladno je tvrdnju koju dokazujemo oznaˇciti sa P (n) .
Princip matematiˇcke indukcije provodi se u dva koraka:
1. Baza indukcije. Treba dokazati da tvrdnja vrijedi za n = 1, tj. da
vrijedi P (1) .
2. Korak indukcije. Pretpostavimo da tvrdnja vrijedi za n = k. Treba
dokazati da tvrdnja vrijedi za n = k+1. Odnosno, P (k) =⇒P (k + 1) .
Uvijek treba provjeriti oba koraka, jer u suprotnom moˇzemo pogrijeˇsiti
i ”dokazati” tvrdnju koja zapravo ne vrijedi (Eulerov primjer, Goldbachova
hipoteza).
Primjer 1.6 Za sve prirodne brojeve n vrijedi
n

i=1
i (i + 3) =
1
3
n(n + 1) (n + 5) .
Dokaz. Provjerimo prvo bazu indukcije tj. da tvrdnja vrijedi za n = 1.
Imamo 1 (1 + 3) =
1
3
1 (1 + 1) (1 + 5) , pa baza indukcije vrijedi.
Pretpostavimo sada da tvrdnja vrijedi za n = k, tj. da vrijedi

k
i=1
i (i + 3) =
1
3
k (k + 1) (k + 5) .
Upotrebom te pretpostavke treba dokazati da tvrdnja vrijedi za n =
k + 1, tj. da vrijedi

k+1
i=1
i (i + 3) =
1
3
(k + 1) (k + 2) (k + 6) .
Raspisivanjem znaka sumacije na lijevoj strani dobivamo

k
i=1
i (i + 3) + (k + 1) (k + 4) .
10 1.2. TEHNIKE DOKAZIVANJA U MATEMATICI
Iskoristimo pretpostavku za sumu na lijevoj strani i imamo
1
3
k (k + 1) (k + 5) + (k + 1) (k + 4) =
1
3
(k + 1) (k + 2) (k + 6) ,
ˇcime je tvrdnja dokazana.
U brojnim situacijama u matematici, ali ne samo u matematici, mogu´ce
je na temelju eksperimentiranja na pojedinaˇcnim primjerima do´ci do do-
bre slutnje, a nakon toga je dokazati upotrebom matematiˇcke indukcije.
Medutim, bez ovog drugog koraka, tj. bez matematiˇckog dokaza, ostajemo
samo na slutnji, dakle ne znamo da li ona vrijedi za sve sluˇcajeve ili ne.
Preporuˇcamo da viˇse o tome, kako slutnja moˇze postati teorem, proˇcitate u
[1], str. 35.
Istaknimo dvije od mogu´cih modifikacija principa matematiˇcke indukcije.
Postoje tvrdnje koje ukljuˇcuju prirodne brojeve, ali ne vrijede za sve njih,
nego vrijede za one koji su ve´ci od nekog prirodnog broja n
0
. Primjerice,
nejednakost n! > 2
n
je ispunjena za svaki n ≥ 4. Dokaz ove tvrdnje moˇze
se provesti pomo´cu matematiˇcke indukcije, samo ˇsto u bazi ispitujemo da
li tvrdnja vrijedi za n = 4. Op´cenito se svaka tvrdnja P (n) koja vrijedi za
n ≥ n
0
, moˇze podvesti pod princip matematiˇcke indukcije tako da se tvrdnja
modificira u tvrdnju P (n +n
0
−1) .
Zadatak 1.2 Dokaˇzite da vrijedi nejednakost n! > 2
n
, za svaki n ≥ 4.
Matematiˇcku indukciju upotrebljavamo i za rekurzivne definicije razli-
ˇcitih matematiˇckih objekata. Taj oblik matematiˇcke indukcije zovemo jaka
matematiˇcka indukcija, iako je ona ekvivalentna ”obiˇcnoj” matematiˇckoj
indukciji. Izrecimo je:
Neka je P tvrdnja koja ovisi o prirodnom broju n i vrijedi:
1. Tvrdnja P je istinita za neki prirodni broj n
0
.
2. Ako je k > n
0
prirodni broj i P je istinita za sve prirodne brojeve
x, n
0
≤ x ≤ k tada je P istinita i za k + 1.
Tada je P istinita za sve prirodne brojeve n ≥ n
0
.
Dakle, u jakom obliku matematiˇcke indukcije pretpostavljamo da je tvrd-
nja istinita za sve prirodne brojeve manje od promatranog prirodnog broja i
dokazujemo da je onda tvrdnja istinita za promatrani prirodni broj. Nadalje,
jaku matematiˇcku indukciju koristimo i kod rekurzivnih definicija, o ˇcemu
´ce biti govora u posebnom poglavlju ove knjige.
Vratimo se sada strukturi skupa prirodnih brojeva. Nabrojimo aksiome
koji opisuju operacije zbrajanja (oznaka: a+b) i mnoˇzenja prirodnih brojeva
(oznaka: a b ili ab), te odnos relacije < i prirodnih brojeva. Za prirodne
brojeve a, b, c vrijedi:
1. a +b ∈ N (zatvorenost)
POGLAVLJE 1. UVOD 11
2. a b ∈ N (zatvorenost)
3. a +b = b +a (komutativnost)
4. (a +b) +c = a + (b +c) (asocijativnost)
5. a b = b a (komutativnost)
6. (a b) c = a (b c) (asocijativnost)
7. Postoji element 1∈ N, takav da je n 1 = n.
8. Ako je m x = n x za neki x ∈ N, tada je m = n.
9. a (b +c) = (a b) + (a c)
10. Za dane prirodne brojeve x, y, z uvijek je istinita samo jedna od slje-
de´cih tvrdnji x < y, x = y, y < x.
Viˇse o relacijama i operacijama na razliˇcitim skupovima saznat ´cete u
nastavku ove knjige. U tom kontekstu bit ´ce jasnija i uloga gornjih aksioma
koji govore o dvije najvaˇznije operacije na skupu prirodnih brojeva.
1.2.4 Princip dobrog uredaja u skupu N
Na kraju spomenimo da za prirodne brojeve vrijedi tzv. princip dobrog
uredaja.
Tvrdnja 1.1 Svaki neprazni podskup skupa prirodnih brojeva ima naj-
manji element.
Dokaz. Ova se tvrdnja moˇze dokazati upotrebom principa matematiˇcke
indukcije po broju elemenata skupa ˇciji najmanji element traˇzimo. Jasno je
da vrijedi baza indukcije jer u skupu, koji se sastoji samo od jednog elementa,
taj je element ujedno i najmanji. Nadalje, pretpostavimo da tvrdnja vrijedi
za sve skupove od k elementa, tj. da postoji najmanji element u svakom
od tih skupova. U koraku indukcije promatramo skupove koji imaju k + 1
elemenata. Pretpostavimo da smo skupu B od k + 1 elemenata odstanili
jedan element a i tako dobili skup od k elementa za koji po pretpostavci in-
dukcije znamo da ima najmanji element b. Manji od brojeva a i b je najmanji
element skupa B.
Dakle, iz principa matematiˇcke indukcije slijedi princip dobrog uredaja.
Medutim, vrijedi i obrnuto, tj. upotrebom principa dobrog uredaja moˇzemo
dokazati da vrijedi princip matematiˇcke indukcije. Evo dokaza.
Pretpostavimo:
1. Tvrdnja P je istinita za prirodni broj n
0
.
12 1.3. ZADACI
2. Ako je k > n
0
prirodni broj i P je istinita prirodni broj k, tada je P
istinita i za k + 1.
Principom dobrog uredaja treba dokazati da je tada P istinita tvrdnja za
sve prirodne brojeve n ≥ n
0
. Pretpostavimo da P nije istinita za sve n ≥ n
0
(tj. postoje prirodni brojevi za koje dana tvrdnja ne vrijedi) i taj skup
oznaˇcimo sa A. Tada taj neprazni skup A prirodnih brojeva, po principu
dobrog uredaja, ima najmanji element a. Znamo po pretpostavci 1 da je
a ,= n
0
, pa je a −1 ≥ n
0
, odnosno k = a −1. Po pretpostavci 2, P je istinita
tvrdnja za k+1, odnosno za a, pa smo ovu tvrdnju dokazali kontradikcijom.
Dakle, zakljuˇcujemo da je poˇcetna pretpostavka pogreˇsna ˇsto znaˇci da je P
istinita tvrdnja za sve prirodne brojeve n ≥ n
0
.
Zakljuˇcujemo, princip dobrog uredaja i princip matematiˇcke indukcije
su ekvivalentne tvrdnje.
1.3 Zadaci
1. Dokaˇzite sljede´ce tvrdnje:
(a) Svaki od brojeva 111, 366, 723 i 1341 djeljiv s 3.
(b) Ako je a nemaran prirodan broj i ako je b paran prirodan broj,
onda je a −b neparan broj.
(c) Ako je a
2
neparan onda je i a neparan broj.
(d) Broj n je paran ako i samo ako je n
n
−2 n + 1 neparan.
(e) Ako 2 dijeli 5n onda je n paran broj.
2. Pokaˇzite da je sud a ⇒(p ⇒q) tautologija.
3. Pokaˇzite da je sud (a ∧ b) ∧ (a ∨ b) kontradikcija.
4. Pojednostavite sljede´ce izraze:
(a) (1 : 0 = ∧(1 < 10),
(b) (π < 8) ∧ (π < 6),
(c) (e < 4) ∧ (e
2
< 9)
5. Odredite istinitost sljede´cih tvrdnji:
(a) (π
2
> 2) ⇒(π > 1, 4),
(b) (e
2
≥ 0) ⇒(e < 0),
(c) (6 je cijeli broj⇒(6
2
≥ 1)),
(d) (kvadrat ima tri stranice) ⇒(trokut ima 4 stranice).
POGLAVLJE 1. UVOD 13
6. Neka su m, n ∈ N. Dokaˇzite da je mn neparan ako i samo ako su m i
n neparni.
7. Napiˇsite sljede´ce izjave pomo´cu kvantifikatora i standardnih oznaka za
skupove brojeva.
(a) Jednadˇzba x
2
+a = 0 ima realni korijen za svaki realni broj a.
(b) Svaki realni broj je racionalni broj.
(c) Postoji barem jedan iracionalan broj,
(d) Postoji najmanji prirodan broj.
Koje su od gornjih izjava istinite?
8. Napiˇsite negacije izjava iz prethodnog zadatka.
9. Koje su tvrdnje istinite? Univerzum razmatranja je zapisan u zagra-
dama.
(a) ∀x(x −1 ≤ x) (R).
(b) ∃x(x + 3 = 2x −1) (N).
(c) ∃!x(x
2
= 2) (R).
(d) ∀x∃!y(y = x
2
) (R).
(e) ∀x∃!y(y = x
2
) (N).
10. Dokaˇzite da je

3 iracionalan broj.
11. Dokaˇzite da ako je n ∈ N tada je barem jedan od brojeva n, n+2, n+4
djeljiv s 3.
12. Zadana je tvrdnja T.
T := ”Ako je n kvadrat parnog prirodnog broja tada je n
suma dva uzastopna neparna prirodna broja.”
(a) Pokaˇzite da je T istinita tvrdnja upotrebljavaju´ci konstrukciju
temeljenu na sljede´cim primjerima: 4
2
= 7+9, 6
2
= 17+19, 8
2
=
31 + 33, 10
2
= 49 + 51.
(b) Napiˇsite T.
(c) Napiˇsite kotrapozitivnu tvrdnju tvrdnji T. Je li ona istinita?
13. Upotrebom matematiˇcke indukcije dokaˇzite sljede´ce tvrdnje:
(a) n
3
−2n je djeljiv s 3.
(b) a
n
−b
n
je djeljiv s a −b za sve a, b ∈ Z i a −b ,= 0.
(c)
n

k=1
k(k + 1)(k + 2) =
1
4
n(n + 1)(n + 2)(n + 3).
14 1.3. ZADACI
(d) Za svaki x ∈ R, x ,= ±1 i n ≥ 1 vrijedi
n

k=1
(1 +x
2
k
) =
1−x
2
k+1
1−x
2
.
14. Pomo´cu matematiˇcke indukcije pokaˇzite da ako je a
1
= 1, a
2
= 5 i
a
n+1
= 5a
n
−6a
n−1
za n ≥ 2 tada je a
n
= 3
n
−2
n
za svaki n ∈ N.
15. Za svaki od sljede´cih skupova nadite najmanji i najve´ci element, uko-
liko oni postoje:
(a) A = ¦n ∈ N : n
2
≤ 52¦
(b) B = ¦n ∈ N : n
2
≤ 100n¦
(c) C = ¦n ∈ N : n je viˇsekratnik broja 4¦
(d) D = ¦n ∈ N : n je prost broj¦
16. Neka su S
1
i S
2
podskupovi skupa N. Nadalje, neka je m
1
, odnosno
m
2
najmanji element u S
1
, odnosno S
2
, te neka je M
1
, odnosno M
2
najve´ci element u S
1
, odnosno S
2
.
ˇ
Sto znamo o najmanjem, odnosno
najve´cem elementu skupova S
1
∪ S
2
i S
1
∩ S
2
?
Bibliografija
[1] Biggs, N. L.: Discrete Mathematics, Oxford University Press Inc., New
York, 2002.
[2] Dadi´c,
ˇ
Z.: Povijest ideja i metoda u matematici i fizici,
ˇ
Skolska knjiga,
Zagreb, 1992.
[3] Devlin, K.: Language of Mathematics, W. H. Freeman and Co., New
York, 2000
[4] Divjak, B.; Hunjak, T.: Matematika za informatiˇcare, TIVA-FOI,
Varaˇzdin, 2004.
[5] Gowers, T.: Mathematics, A Very short Introduction, Oxford Univer-
sity Press, Oxford, 2002.
[6] Hoffmann, L. D.; Bradley, G. L.: Finite mathematics with Calculus,
McGraw-Hill, Inc., New York, 1995.
[7] Keller, S.-McNulty; Wilson, A. G.; Wilson, G.: The Impact of Technol-
ogy on the Scientific Method, submitted to: Science Compass, LA-UR-
01-5739
[8] Kerzner, H.: Project Management, a Systems Approach to Planning,
Scheduling and Controlling, John Wiley and Sons Inc., New York, 2003.
[9] Mintakovi´c, S.: Neeuklidska geometrija Lobaˇcevskog,
ˇ
Skolska knjiga, Za-
greb, 1972.
[10]
ˇ
Siki´c, Z.: Kako je stvarana novovijekovna matematimka,
ˇ
Skolska knjiga,
Zagreb, 1989.
15
16 BIBLIOGRAFIJA
Poglavlje 2
Matematiˇcka logika
Pretpostavimo da je pronadena
kontradikcija u aksiomima teorije
skupova. Da li ozbiljno vjerujete da
bi se most mogao sruˇsiti?
Frank Ramsey
Logika je jedna od najstarijih, sustavno prouˇcavanih znanstvenih di-
sciplina. Ona predstavlja formalizaciju znanstvenog razmiˇsljanja i osigu-
rava njegovu valjanost. Njeni poˇceci seˇzu do Ari-
stotela i drugih grˇckih filozofa. Upravo se radovi
Aristotela u 4 st. p. K. smatraju temeljima logike
kao znanstvene discipline. On je napisao knjigu
o logici koju je nazvao Organon (Oργανoν), ˇsto
znaˇci orude. Dakle, ve´c je Aristotel gledao na
logiku kao na glavno orude znanstvenika, na alat
koji znanstveniku omogu´cuje njegov rad, odnosno
pronalaˇzenje znanstvenih spoznaja. Uz tu se knji-
gu veˇze prvo javljanje pojmova hipoteze, aksioma,
teorema i dokaza, kao osnovnih gradevnih eleme-
nata logike. Takoder, Aristotel uvodi tehnike in-
Slika 2.1: Aristotel
duktivnog i deduktivnog dokazivanja, te tzv. Aristotelove forme, koje pokri-
vaju sve elementarne logiˇcke izjave.
Matematiˇcka logika predstavlja formalizaciju logike te se posebno bavi
matematiˇckim razmiˇsljanjem i dokazivanjem. Poˇceci razvoja matematiˇcke
logike seˇzu u 18. st. do dublinskog biskupa Richarda Whatleya, koji se sma-
tra zaˇcetnikom matematiˇcke logike. Prve znaˇcajne rezultate u matematiˇckoj
logici objavili su u 19. stolje´cu George Boole, Augustus De Morgan i Ernst
Schr¨oder. Veliki interes za matematiˇcku logiku izazvao je 20-tih godina 20.
st. Bertrand Russel (1872-1970) objavljivanjem svojih poznatih paradoksa
regularnog svojstva, do kojih je dovelo egzistencijalistiˇcko, nekonstruktivno
17
18 2.1. RA
ˇ
CUN SUDOVA
definiranje kakvo se koristilo prije toga u matematici. Otkrivanje paradoksa
u mnogim matematiˇckim aksiomatikama dovelo je do revizije pojmova u
tim matematiˇckim disciplinama. Tako su revidirane matematiˇcke teorije
kao ˇsto su teorija skupova, algebra itd. U 20. st. vaˇznije su rezultate dali
Albert Thorlaf Skolem, Bertrand Russel, Alfred North Whitehead, a za in-
formatiˇcare su posebno interesantni rezultati koje je dao Alan Turing, koji
se intenzivno bavio definiranjem intuitivnog pojma algoritma, te dao jedan
od najpoznatijih logiˇckih modela algoritma - Turingov stroj. O tome ´cemo
viˇse govoriti u posljednjem poglavlju ove knjige.
2.1 Raˇcun sudova
Raˇcun sudova ili propozicijska logika je jednostavan logiˇcki jezik koji se
sastoji od sudova koji su povezani pomo´cu logiˇckih veznika , ∨, ∧, →, ↔.
2.1.1 Sintaksa
Definicija 2.1 (Jezik) Jezik L raˇcuna sudova sastoji se od:
1. najviˇse prebrojivog skupa
1
/ propozicijskih varijabli ili atoma A, B,
C, . . .,
2. veznika , ∨, ∧, →, ↔,
3. zagrada ¦, ¦, ], [, ), (.
Definicija 2.2 (Sud)
1. Svaka propozicijska varijabla je sud.
2. Ako je F sud, onda je i F sud.
3. Ako su F i G sudovi, onda je i (FΘG), Θ ∈ ¦∨, ∧, →, ↔¦ takoder sud.
4. Sudovi su samo oni izrazi koji se mogu dobiti konaˇcnim brojem uza-
stopnih primjena pravila 1-3.
Primjer 2.1 Neka su A, B, C propozicijske varijable. Tada su sljede´ci izrazi
sudovi:
• (A∨ (B ∧ C)),
• ((A →B) ↔(A∨ B)),
• (C ↔(A∧ B)).
1
Za skup kaˇzemo da je prebrojiv ako je konaˇcan ili bijektivan s N
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 19
Na kraju ovog podpoglavlja treba re´ci nekoliko rijeˇci o zagradama. Za-
grade se u logici smatraju pomo´cnim simbolima koji osiguravaju jednoznaˇc-
nost formula. U klasiˇcnom su naˇcinu zapisivanja formula zagrade nuˇzne,
jer bez njih sudovi ne bi bili jednoznaˇcni.
ˇ
Cak i ako se uvede prioritet
logiˇckih operatora, kao ˇsto to neki logiˇcari ˇcine, zagrade se ne mogu u pot-
punosti izbaciti. Postoje, s druge strane, notacije koje osiguravaju jedno-
znaˇcnost formula bez upotrijebe zagrada i bez definiranja prioriteta logiˇckih
veznika. Jedna je takva notacija postfiksna notacija ili obrnuta poljska no-
tacija. Naˇzalost, iako su takve notacije bolje sa stajaliˇsta jedinstvenosti
formula, one su neuobiˇcajene za ljude nenaviknute na njih, pa se rijetko ko-
riste. Ipak, u prethodnoj definiciji formule se zadaju tako da je svaki izraz
okruˇzen zagradama. No, sve te zagrade nisu potrebne. Postoje sluˇcajevi
kada zagrade ne doprinose jednoznaˇcnosti formule i kada se neke njene za-
grade izostave. U tom se sluˇcaju zagrade, koje ne doprinose jednoznaˇcnosti
suda, tj. zagrade koje nisu potrebne i bez kojih sud ostaje jednako jasan,
izostaviti. Tako se npr. uvijek izostavljaju zagrade koje okruˇzuju cijeli sud.
2.1.2 Semantika
U proˇslom smo poglavlju objasnili kako se tvore jeziˇcni konstrukti jezika
raˇcuna sudova. Ovdje ´cemo opisati njihovo znaˇcenje, odnosno semantiku.
Definicija 2.3 Neka je definirano proizvoljno preslikavanje i : / →¦⊥, ·¦.
Interpretacija je proˇsirenje preslikavanja i na skup svih sudova o definirano
na sljede´ci naˇcin:
Neka su F, G ∈ o sudovi. Tada vrijede sljede´ce tvrdnje:
• i(F) = · ako i samo ako je i(F) = ⊥,
• i(F ∨ G) = ⊥ ako i samo ako je i(F) = ⊥ i i(G) = ⊥,
• i(F ∧ G) = · ako i samo ako je i(F) = · i i(G) = ·,
• i(F →G) = ⊥ ako i samo ako je i(F) = · i i(G) = ⊥,
• i(F ↔G) = · ako i samo ako je i(F) = i(G).
Primjer 2.2 Neka je zadana interpretacija s i(A) = ⊥, i(B) = ⊥, i(C) = ⊥.
Treba izraˇcunati istinosnu vrijednost za sudove iz primjera 2.1.
• i(C) = ·, pa je i(B ∧ C) = ⊥, i na kraju i(A∨ (B ∧ C)) = ⊥
• i(A →B) = ·. Isti tako je i(A) = ·, pa je u i(A∨B) = ·. Dakle
i((A →B) ↔(A∨ B)) = ·.
• i(B) = ·, pa je i(A∧ B) = ⊥. Iz toga je i(C ↔(A∧ B)) = ·.
Sljede´ci vaˇzan pojam, koji treba definirati, jest pojam logiˇcke posljedice.
20 2.1. RA
ˇ
CUN SUDOVA
Definicija 2.4 Sud G je logiˇcka posljedica skupa sudova T = ¦F
1
, . . . , F
n
¦,
ˇsto se piˇse T [= G ili T ⇒ G ako za svaku interpretaciju za koju vrijedi
i(F
i
) = · za svaki F
i
∈ T vrijedi i i(G) = ·.
Primjer 2.3 Pokaˇzimo da je sud B logiˇcka posljedica skupa sudova ¦A →
B, A¦.
Pretpostavimo da vrijedi i(A → B) = · i i(A) = ·. Kada bi bilo
i(B) = ⊥, onda bi, zbog i(A → B) = ·, iz definicije 2.3 slijedilo da je
i(A) = ⊥, a to je u suprotnosti s pretpostavkom da je i(A) = ·.
Dakle, zakljuˇcujemo da je i(B) = ·.
Uz pojam logiˇcke posljedice usko je vezan joˇs jedan semantiˇcki pojam –
pojam logiˇcke ekvivalencije.
Definicija 2.5 Sudovi F i G su logiˇcki ekvivalentni , ˇsto zapisujemo F ≡ G
ili F ⇔G, ako za svaku interpretaciju i vrijedi da je i(F) = i(G).
Iz definicije pojma logiˇcke ekvivalencije proizlazi sljede´ca karakterizacija
logiˇcke ekvivalencije:
Propozicija 2.1 F ≡ G ako i samo ako vrijedi da je F [= G i G [= F.
Dokaz. Napravite sami za vjeˇzbu.
Nadalje, iz definicije 2.3 lako se vidi da su operacije ∨, ∧ i ↔komutativne.
Takoder se vidi da za ∨ i ∧ vrijedi svojstvo asocijativnosti. Nadalje, lagano
se vidi da vrijede svojstva distributivnosti veznika ∨ prema vezniku ∧ i
obrnuto, distributivnosti veznika ∧ prema vezniku ∨. Sve to i joˇs neke
ˇcinjenice koje slijede iz definicije 2.3 sadrˇzane su u sljede´coj propoziciji:
Propozicija 2.2 Za proizvoljne sudove F, G i H vrijedi
1. F ∨ F ≡ F (idempotentnost)
2. F ∧ F ≡ F (idempotentnost)
3. F ∨ G ≡ G∨ F (komutativnost)
4. F ∧ G ≡ G∧ F (komutativnost)
5. F ∨ (G∨ H) ≡ (F ∨ G) ∨ H (asocijativnost)
6. F ∧ (G∧ H) ≡ (F ∧ G) ∧ H (asocijativnost)
7. F ∨ (G∧ H) ≡ (F ∨ G) ∧ (F ∨ H) (distributivnost)
8. F ∧ (G∨ H) ≡ (F ∧ G) ∨ (F ∧ H) (distributivnost)
9. F ∨ F ≡ ·
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 21
10. F ∧ F ≡ ⊥
11. F ∨ · ≡ ·
12. F ∨ ⊥ ≡ F
13. F ∧ · ≡ F
14. F ∧ ⊥ ≡ ⊥
15. F ≡ F (dvostruka negacija)
16. (F ∨ G) ≡ F ∧ G (de Morganov zakon)
17. (F ∧ G) ≡ F ∨ G (de Morganov zakon)
18. F ∧ (G∨ H) ≡ (F ∧ G) ∨ (F ∧ H) (distributivnost)
19. F ∨ (G∧ H) ≡ (F ∨ G) ∧ (F ∨ H) (distributivnost)
20. F →G ≡ G∨ F
21. F ↔G ≡ (F ∧ G) ∨ (F ∧ G)
22. F ↔G ≡ (F ∨ G) ∧ (F ∨ G)
Dokaz. Napravite sami.
Definirali smo pojam logiˇcke posljedice, no koriste´ci samo tu definiciju,
ponekad nije lako odrediti je li neka formula logiˇcka posljedica nekog skupa
formula ili nije. Sre´com, postoje tzv. karakterizacije logiˇcke posljedice
koje nam omogu´cuju da problem logiˇcke posljedice svedemo na problem
tautologiˇcnosti, odnosno antitautologiˇcnosti logiˇcke formule, ˇsto predstavlja
problem koji je mnogo lakˇse rijeˇsiti. No, prije no ˇsto to izvedemo, treba
definirati joˇs nekoliko pojmova.
Sud F je tautologija ako je i(F) = · za svaku interpretaciju i. Ako je
sud F laˇzan u svakoj interpretaciji i, onda se on naziva antitautologija. Za
sud koji nije antitautologija, tj. za koji postoji bar jedna interpretacija i
takva da je i(F) = ·, kaˇze se da je ispunjiv. Za sud koji nije tautologija,
odnosno za koji postoji interpretacija i u kojoj je i(F) = ⊥ kaˇze se da je
otklonjiv ili da nije ispunjiv.
Teorem 2.1 (1. karakterizacija pojma logiˇcke posljedice)
Sud G je logiˇcka posljedica skupa sudova T = ¦F
1
, . . . , F
n
¦ ako i samo ako
je sud (F
1
∧ . . . ∧ F
n
) ∧ G antitautololgija.
Dokaz. Neka je T [= G. Ako u interpretaciji i ne vrijedi da je i(F
k
) = · za
neki F
k
∈ T, onda tvrdnja trivijalno vrijedi. Naime, u svakoj je interpretaciji
i koja ne zadovoljava gore napisani uvjet i(F
1
∧ . . . ∧ F
n
) = ⊥, pa je i
i((F
1
∧ . . . ∧ F
n
) ∧ G) = ⊥.
22 2.1. RA
ˇ
CUN SUDOVA
Pretpostavimo stoga da je i interpretacija takva da je i(F
k
) = · za svaki
F
k
∈ T. No, prema definiciji 2.4 onda mora biti i i(G) = ·. Ali, onda je
prema definiciji 2.3 i(G) = ⊥, pa je i i((F
1
∧ . . . ∧ F
n
) ∧ G) = ⊥.
Prema tome, u svakoj je interpretaciji i((F
1
∧ . . . ∧ F
n
) ∧ G) = ⊥,
odnosno (F
1
∧ . . . ∧ F
n
) ∧ G je antitautologija.
Obrnuto, neka je (F
1
∧ . . . ∧ F
n
) ∧ G antitautologija. Pretpostavimo
da je i interpretacija takva da je i(F
k
) = · za svaki F
k
∈ T. Ako takva
interpretacija ne postoji, onda je tvrdnja da je G logiˇcka posljedica od T
trivijalno ispunjena. Dakle, neka je i takva interpretacija. Tada je i(F
1

. . . ∧ F
n
) = ·. No, kako je (F
1
∧ . . . ∧ F
n
) ∧ G, antitautologija, onda,
prema definiciji 2.3 i(G) mora biti ⊥. No, onda je, opet prema definiciji
2.3 i(G) = ·. Kako to vrijedi za svaku interpretaciju za koju je i(F
k
) = ·
za svaki F
k
∈ T, zakljuˇcujemo da je G logiˇcka posljedica od T.
Teorem 2.2 (2. karakterizacija pojma logiˇcke posljedice) Sud G je
logiˇcka posljedica skupa sudova T = ¦F
1
, . . . , F
n
¦ ako i samo ako je sud
(F
1
∧ . . . ∧ F
n
) →G tautololgija.
Dokaz. Neka je T [= G. Ako je i interpretacija takva da ne vrijedi i(F
k
) =
· za svaki F
k
∈ T, onda za svaku intepretaciju i vrijedi i(F
1
∧. . . ∧F
n
) = ⊥,
pa onda, prema definiciji 2.3, vrijedi i((F
1
∧ . . . ∧ F
n
) →G) = ·.
Neka vrijedi i(F
k
) = · za svaki F
k
∈ T. Tada, zbog pretpostavke da je
G logiˇcka posljedica od T mora biti i(G) = ·. No, onda je, prema definiciji
2.3 i((F
1
∧ . . . ∧ F
n
) →G) = ·.
Dakle, u svakom sluˇcaju je i((F
1
∧. . . ∧F
n
) →G) = ·, pa je (F
1
∧. . . ∧
F
n
) →G tautologija.
Obrnuto, neka je (F
1
∧ . . . ∧ F
n
) → G tautologija. Ako ne postoji in-
tepretacija u kojoj je i(F
k
) = · za svaki F
k
∈ T, onda trivijalno slijedi da je
G logiˇcka posljedica od T. Neka je, stoga, i takva interpretacija. U njoj je,
prema definiciji 2.3 i(F
1
∧. . . ∧F
n
) = ·. Kako je sud (F
1
∧. . . ∧F
n
) →G) po
pretpostavci tautologija, onda prema definiciji 2.3 i(G) mora biti ·. Dakle,
G je logiˇcka posljedica od T.
Sliˇcno se moˇze postaviti i karakterizacija pojma logiˇcke ekvivalencije:
Teorem 2.3 (Karakterizacija pojma logiˇcke ekvivalencije)
Dva suda F i G su logiˇcki ekvivalentni ako i samo ako je sud F ↔ G
tautologija.
Dokaz. Izvedite sami.
Formalni sustavi
Semantiˇcki izvodi, poput izvoda u primjeru 2.3, mogu biti sloˇzeni i teˇski.
Stoga se uvode formalni sustavi za izvodenje, koji se sastoje od pravila
izvoda, koja iz sudova izvode njihove logiˇcke posljedice.
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 23
Ovdje ´cemo prikazati dva sustava: jedan koji se temelji na klasiˇcnom ma-
tematiˇckom izvodenju, i drugi koji je posebno pogodan za dedukciju pomo´cu
raˇcunala.
Prvi sustav, koji se naziva F-sustav, sastoji se od osam pravila izvoda -
po dva pravila za svaki veznik. Za svaki veznik se definira pravilo uvodenja
i eliminacije. Ovaj se sustav joˇs naziva i sustav prirodne dedukcije jer se
njegovi aksiomi temelje na standardnim logiˇckim pravilima zakljuˇcivanja.
Takoder, ovaj je sustav ponekad referiran kao Fitchov sustav, prema ame-
riˇckom logiˇcaru Frederichu Fitchu, koji je prvi formalizirao ovaj sustav,
povode´ci se za prirodnim pravilima dedukcije, koje matematiˇcari koriste
u svojoj praksi. Pravila izvoda se u F-sustavu mogu prikazati grafiˇcki.
Prva dva pravila se odnose na konjunkciju. Prvo od njih je pravilo
uvodenja konjunkcije (∧ Intro).
F
1

F
n
.
.
.
⇒ F
1
∧ . . . ∧ F
n
Drugo je pravilo eliminacije konjunkcije (∧ Elim)
F
1
∧ . . . ∧ F
n
.
.
.
⇒ F
i
Oba ova pravila su jasna i jednostavna.
Sljede´ca dva pravila bit ´ce pravila vezana uz disjunkciju. No, prije nego
ih iskaˇzemo, moramo uvesti pojam poddokaza. Poddokaz je segment unutar
dokaza, koji uz dodatne uvjete dokazuje odredenu tvrdnju. Treba joˇs jed-
nom naglasiti da se tvrdnje unutar poddokaza izvode uz dodatne uvjete, koji
op´cenito ne moraju vrijediti. Stoga tvrdnje koje su dokazane unutar pod-
dokaza takoder ne moraju vrijediti op´cenito. Zbog toga koriˇstenje tvrdnji
dokazanih u poddokazu izvan poddokaza nije dozvoljeno, osim ako to pravi-
lo izvoda izriˇcito ne nalaˇze. Jedno takvo pravilo koje omogu´cuje koriˇstenje
tvrdnje dokazane u poddokazu izvan samog poddokaza jest pravilo elimi-
nacije disjunkcije.
Uvodenje disjunkcije (∨ Intro)
F
i
.
.
.
⇒ F
1
∨ . . . ∨ F
n
Eliminacija negacije ( Elim)
24 2.1. RA
ˇ
CUN SUDOVA
F
1
∨ . . . ∨ F
n
F
1
.
.
.
S

F
n
.
.
.
S
⇒ S
Pravilo eliminacije disjunkcije zahtjeva dodatno objaˇsnjenje. Naime, kao
ˇsto je ve´c reˇceno, T sustav slijedi standardne matematiˇcke tehnike dokazi-
vanja. Neka pravila su samo koraci u direktnom dokazivanju. Takva su
pravila uvodenje i eliminacija konjunkcije te uvodenje disjunkcije. Druga
opet pravila predstavljaju strategije dokazivanja. Takvo je pravilo elimi-
nacija disjunkcije. Pravila koja predstavljaju strategije dokazivanja imaju
u matematici i druge nazive, koji su ve´c spomenuti u poglavlju 1.2, gdje se
ono zove dokaz podjelom na sluˇcajeve.
Sada ´cemo uvesti dva pravila koja se odnose na negaciju.
Uvodenje negacije ( Intro)
F
.
.
.
G∧ G
⇒ F
Eliminacija negacije ( Elim)
F
1
.
.
.
⇒ F
Elimincija negacije je joˇs jedno pravilo koje predstavlja jednostavan ko-
rak direktnog dokaza. S druge strane, uvodenje negacije je joˇs jedna, moˇzda
ˇcak i najˇceˇs´ce koriˇstena, strategija dokazivanja - dokazivanje obaranjem
suprotnog ili dokazivanje svodenjem na kontradikciju, ili pak na latinskom
reductio ab absurdum.
Na kraju, ostali su nam kondicional i bikondicional.
Uvodenje kondicionala (→ Intro)
F
.
.
.
G
⇒ F →G
Eliminacija kondicionala (→ Elim)
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 25
F →G
F
.
.
.
⇒ G
Uvodenje kondicionala je osnovna strategija dokazivanja sudova koji
imaju kauzalnu formu, tj. koje sadrˇze kondicional. S druge strane, elimi-
nacija kondicionala je samo korak u dokazivanju. Pravilo eliminacije kondi-
cionala ima, medutim, znaˇcajnu ulogu u mnogim logiˇckim sustavima, po-
sebno sustavima koji se koriste u klasiˇcnoj logici. Zato ima i posebno ime -
modus ponens, ˇsto u prijevodu znaˇci ”metoda potvrdivanja”.
Uvodenje bikondicionala (↔ Intro)
F
.
.
.
G
G
.
.
.
F
⇒ F ↔G
Eliminacija bikondicionala (↔ Elim)
F ↔G
F
.
.
.
⇒ G
Sliˇcno kao ˇsto je reˇceno za uvodenje kondicionala, uvodenje bikondi-
cionala je osnovna strategija dokazivanja reˇcenica koje sadrˇze bikondicional.
Definicija 2.6 Neka je T skup sudova i neka je G sud. Tada se niz sudova
G
1
, . . . , G
n
: G naziva izvod suda G iz skupa sudova T pomo´cu formalnog
sustava o ako za svaki i = 1, . . . , n vrijedi jedna od sljede´cih tvrdnji
• G
i
∈ T,
• postoje j
1
, . . . , j
k
≤ i takvi da je G
i
dobiveno primjenom nekog pravila
izvoda iz sustava o na sudove G
j
1
, . . . , G
j
k
.
Sud G je izvediv iz T pomo´cu sustava o ako postoji izvod suda G iz T
pomo´cu formalnog sustava o. To se oznaˇcava sa T ¬
S
G
Za izvodenje svakog formalnog sustava bitne su dvije stvari. Prva je da
je sustav korektan. To znaˇci da sve ˇsto se pomo´cu sustava moˇze izvesti jest
logiˇcka posljedica onoga iz ˇcega je izvedeno. Drugim rijeˇcima, da iz T ¬
S
G
slijedi T [= G. Druga stvar, koja je jednako bitna, jest potpunost sustava.
Tu se radi o tome da iz T [= G mora slijediti T ¬
S
G, odnosno da sustav
mora biti u stanju dokazati svaku logiˇcku posljedicu zadanih pretpostavki.
26 2.1. RA
ˇ
CUN SUDOVA
Teorem 2.4 Neka je T skup sudova i neka je G sud. Tada vrijedi:
• Ako je T ¬
F
G onda je T [= G.
• Ako je T [= G onda je T ¬
F
G.
Dakle, F sustav je korektan i potpun. Dokaz ovog teorema je priliˇcno
dugaˇcak, pa ´cemo ga preskoˇciti. U projektima vezanim uz ovo poglavlje
postoji i projekt dokazivanja ovog teorema.
Dajmo sada nekoliko primjera dokazivanja pomo´cu ovog sustava.
Primjer 2.4 Dokaˇzimo da iz A i A slijedi B.
1. A
2. A
3. B
4. A∧ A
5. B
6. B
(∧ Intro: 1,2)
( Intro: 3-4)
( Elim: 5)
Primjer 2.5 Dokaˇzimo pravilo modus tollens (metoda opovrgavanja), o-
dnosno da iz A →B i B slijedi A.
1. A →B
2. B
3. A
4. B
5. B ∧ B
6. A
(→ Elim: 1,3)
(∧ Intro: 4,1)
( Intro: 3-5)
Primjer 2.6 Dokaˇzimo joˇs pravilo distributivnosti disjunkcije prema ko-
njunkciji.
Za to su potrebna dva smjera dokaza, tj. treba iz F ∨ (G∧ H) dokazati
(F ∨ G) ∧ (F ∨ H) i obrnuto.
1. F ∨ (G∧ H)
2. F
4. F ∨ G
5. F ∨ H
6. (F ∨ G) ∧ (F ∨ H)
7. G∧ H
8. G
9. F ∨ G
10. H
11. F ∨ H
12. (F ∨ G) ∧ (F ∨ H)
13. (F ∨ G) ∧ (F ∨ H)
(∨ Intro: 2)
(∨ Intro: 2)
(∧ Intro: 4,5)
(∧ Elim: 7)
(∨ Intro: 8)
(∧ Elim: 7)
(∨ Intro: 10)
(∧ Intro: 9,11)
(∨ Intro: 1,2-6,7-12)
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 27
Drugi sustav za dokazivanje koji ´cemo ovdje obraditi, a koji je posebno
pogodan za automatsku dedukciju, naziva se rezolucijski postupak. On je
posebno pogodan za automatsku dedukciju jer se sastoji od jednog jedinog
pravila izvoda – pravila rezolucije.
F ∨ A
G∨ A
.
.
.
⇒ F ∨ G
Da bi se koristio rezolucijski izvod, prvo je potrebno pretpostavke zami-
jeniti ekvivalentnim sudovima u konjunktivnoj normalnoj formi.
Definicija 2.7 Neka je A atom. Tada se sudovi A i A nazivaju literali .
Pri tome je A pozitivni , a A negativni literal.
Neka su L
1
, . . . , L
k
literali. Tada se sud L
1
∨ . . . ∨ L
k
naziva disjunkt.
Neka su D
1
, . . . , D
n
disjunkti. Tada se za sud D
1
∧ . . . ∧ D
n
kaˇze da je
u konjunktivnoj normalnoj formi .
Teorem 2.5 Za svaki sud raˇcuna sudova postoji logiˇcki ekvivalentan sud u
konjunktivnoj normalnoj formi.
Umjesto dokaza ovdje ´cemo opisati kako se za zadanu formulu konstruira
ekvivalentan sud u konjunktivnoj normalnoj formi. U propoziciji 2.2 dane
su ekvivalencije ˇcijim se koriˇstenjem svaki sud raˇcuna sudova moˇze prevesti
u ekvivalentan sud u konjunktivnoj normalnoj formi. Uz opis koraka dat
´cemo i primjer kako se pojedini koraci konkretno provode.
Primjer 2.7 Kao primjer uzet ´cemo sud (A ↔B) ∧ (A →(B ∧ C)).
1. Prvo se pomo´cu posljednja tri pravila opisana u propoziciji 2.2 eli-
miniraju svi kondicionali i bikondicionali koji se pojavljuju u sudu i
zamijenjuju se konjunkcijama, disjunkcijama i negacijama.
(A ↔B)∨(A →(B∧C)) ≡ ((A∨B)∧(A∨B))∧(A∨(B∧C))
2. Nakon toga se koriste de Morganovi zakoni i pravilo dvostruke ne-
gacije kako bi se eliminirale negacije koje djeluju na sloˇzenim sudovima.
Naime, u konjunktivnoj normalnoj formi negacije djeluju samo na
atomima.
((A∨ B) ∧ (A∨ B)) ∨ (A∨ (B ∧ C))
≡ ((A∨ B) ∧ (A∨ B)) ∨ (A∧ (B ∧ C))
≡ ((A∨ B) ∧ (A∨ B)) ∨ (A∧ (B ∧ C))
≡ ((A∨ B) ∨ (A∨ B)) ∧ (A∧ (B ∨ C))
≡ ((A∨ B) ∨ (A∨ B)) ∧ (A∧ (B ∨ C))
28 2.1. RA
ˇ
CUN SUDOVA
3. Na kraju se primjenom pravila distributivnosti i asocijativnosti sud
prevodi u konjunktivnu normalnu formu.
((A∨ B) ∧ (A∨ B)) ∨ (A∧ (B ∨ C))
≡ ((A∨ B) ∨ (A∧ (B ∨ C))) ∧ ((A∨ B) ∨ (A∧ (B ∨ C)))
≡ (((A∨ B) ∨ A) ∧ ((A∨ B) ∨ (B ∨ C)))
∧(((A∨ B) ∨ A) ∧ ((A∨ B) ∨ (B ∨ C)))
≡ (A∨ B ∨ A) ∧ (A∨ B ∨ B ∨ C) ∧
(A∨ B ∨ A) ∧ (A∨ B ∨ B ∨ C)
Nakon ˇsto se prevede u konjunktivnu normalnu formu, sud se moˇze, pri-
mjenom pravila idempotencije, komutativnosti te pravila 9-14 iz propozicije
2.2 dodatno urediti.
Tako se, npr., u drugom disjunktu suda iz primjera nalazi fragment B∨
B, ˇsto se prema idempotenciji mijenja s B, a u ˇcetvrtom disjunktu se B∨
B prema pravilu 9 mijenja s ·, zbog ˇcega se cijeli ˇcetvrti disjunkt, prema
pravilu 11, mijenja s ·, a onda se, prema pravilu 13, moˇze u potpunosti
ukloniti iz suda. Takoder, primjenom pravila komutativnosti i idempotencije
prvi disjunkt se pretvara u A∨B, dok se primjenom pravila komutativnosti
te pravila 9 i 11 tre´ci disjunkt pretvara u ·, nakon ˇcega se zbog pravila 14
moˇze ukloniti iz suda.
Nakon toga ´ce formula izgledati ovako:
(A∨ B) ∧ (A∨ B ∨ C).
Sada, kad smo iznijeli naˇcin pretvaranja suda u konjunktivnu normalnu
formu, moˇzemo opisati postupak dokazivanja pomo´cu rezolucijskog pravi-
la. Prije nego ˇsto se krene u sam izvod, potrebno je urediti pretpostavke
i zakljuˇcak koji ˇzelimo dokazati. Kod rezolucijskog postupka nikada se za-
kljuˇcak ne dokazuje izravno, ve´c se uvijek obara njegova negacija. Stoga
je, prije svega, potrebno negirati zakljuˇcak koji ˇzelimo dokazati. Nakon
toga se sve pretpostavke i zakljuˇcak pretvaraju u konjunktivnu normalnu
formu. Time se dobija skup sudova u konjunktivnoj normalnoj formi, koji
se sastoji od pretpostavki i negacije zakljuˇcka. Lako je dokazati da vrijedi
¦A, B¦ ≡ ¦A ∧ B¦. Stoga se svaki sud u konjunktivnoj normalnoj formi u
skupu moˇze zamijeniti s jednim ili viˇse sudova, koji su po svom obliku di-
sjunkti. Na tako dobiven skup disjunkata se primijenjuje pravilo rezolucije,
u ˇzelji da se iz skupa izvede prazan disjunkt. Prazan disjunkt ili refutacija
oznaˇcava se s ⊥ i predstavlja antitautologiju. Dobije li se refutacija, negacija
je zakljuˇcka oborena, a zakljuˇcak je dokazan.
Da bi se ovaj postupak mogao koristiti potrebno je imati sljede´ci teorem:
Teorem 2.6 Rezolucijski postupak je potpun i korektan za raˇcun sudova.
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 29
Primjer 2.8 Dokaˇzimo rezolucijom da iz A i A slijedi B. Zakljuˇcak se
negira i dobije se B. Svi su sudovi ve´c u konjunktivnoj normalnoj formi,
pa moˇzemo krenuti na rezolucijski izvod:
1. A
2. A
3. B
4. ⊥ (Res: 1,2)
Primjer 2.9 Dokaˇzimo pravilo modus tollens, odnosno da iz A → B i B
slijedi A.
Negacija zakljuˇcka je A, odnosno A. Prvi se sud pretvara u A∨ B,
te imamo
1. A∨ B
2. B
3. A
4. A
5. ⊥
(Res: 1,2)
(Res: 3,4)
Detaljnim razmatranjem rezolucijskog postupka i njegovom implementa-
cijom na raˇcunalu do´ci ´ce se do dedukcijskog algoritma temeljenog na metodi
pretraˇzivanja s vra´canjem (backtracking). Problem je u tome ˇsto je taj algo-
ritam u najgorem sluˇcaju sloˇzenosti O(2
n
). Naˇzalost, poboljˇsanje sloˇzenosti
najgoreg sluˇcaja ovog algoritma nije mogu´ce. No, mogu´ce je poboljˇsati
njegovu prosjeˇcnu sloˇzenost. S tom su idejom smiˇsljena poboljˇsanja rezolu-
cijskog postupka nazvana semantiˇcka rezolucija, a posebno njen specijalni
sluˇcaj hiperrezolucija, te na kraju linearna rezolucija, koja se koristi u pro-
gramskom jeziku Prolog. Viˇse o tim rezolucijskim postupcima ˇcitatelj moˇze
na´ci u [3].
2.2 Predikatni raˇcun
Za opis nekih sloˇzenijih sustava nije dovoljan raˇcun sudova. Tako se npr,
nijedna matematiˇcka teorija ne moˇze opisati samo raˇcunom sudova. Za
to je potreban neˇsto sloˇzeniji logiˇcki jezik - raˇcun predikata. U ovom ´cemo
poglavlju uvesti taj sloˇzeniji i bogatiji logiˇcki jezik koji ´ce omogu´citi formalni
prikaz mnogih, ali joˇs uvijek ne svih matematiˇckih teorija.
2.2.1 Sintaksa
Definicija 2.8 Jezik raˇcuna predikata ima abecedu koja se sastoji od:
• najviˇse prebrojivog skupa T predikatnih simbola,
• najviˇse prebrojivog skupa T funkcijskih simbola,
• najviˇse prebrojivog skupa ( konstanti,
30 2.2. PREDIKATNI RA
ˇ
CUN
• najviˇse prebrojivog skupa 1 varijabli,
• logiˇckih veznika , ∨, ∧, →, ↔,
• kvantifikatora ∀, ∃,
• zagrada ), (, ], [, ¦, ¦,.
pri ˇcemu su skupovi ( i 1 disjunktni.
Svakom predikatnom simbolu p ∈ T, kao i svakom funkcijskom simbolu
f ∈ T pridruˇzena je jedinstvena kratnost ili arnost.
Definicija 2.9 (Term)
• Svaka konstanta je term.
• Svaka varijabla je term.
• Ako je f ∈ T n-arni funkcijski simbol i neka su t
1
, . . . , t
n
termi. Tada
je i f(t
1
, . . . , t
n
) term.
Definicija 2.10 Neka je p ∈ T n-arni predikatni simbol i neka su t
1
, . . . , t
n
termi. Tada je p(t
1
, . . . , t
n
) atomarna formula ili atom.
Definicija 2.11 (Formula)
• Atomi su formule.
• Ako je F formula, onda je i F formula.
• Ako su F i G formule i ako je Θ ∈ ¦∨, ∧, →, ↔¦, onda je FΘG formula.
• Ako je F formula, x ∈ 1 varijabla, a K ∈ ¦∀, ∃¦, onda je KxF formula.
Ako je F formula oblika KxG, pri ˇcemu je K ∈ ¦∀, ∃¦, a x ∈ 1 varijabla,
onda za svaki nastup varijable x u formuli G kaˇzemo da je vezan kvantifika-
torom Kx. Za istu stvar joˇs kaˇzemo da je svaka takva varijabla x u dosegu
kvantifikatora Kx.
Za varijablu koja nije u dosegu nijednog kvantifikatora kaˇzemo da je
slobodna.
Formula koja nema slobodnih varijabli zove se zatvorena formula ili
reˇcenica.
Primjer 2.10 Dajmo nekoliko primjera formula raˇcuna predikata:
• ∀x∃y(P(x, y) ∨ Q(y)) →∀x∀y(P(x, x) ↔Q(y)),
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 31
• ∃x(P(x) →∀yP(y)),
• P(c) ∨ ∀x(Q(x, f(x, s)) ∧ p(f(x, x))).
Ako je F formula onda ´cemo s F(x) oznaˇcavati ˇcinjenicu da u F nastupa
varijabla x.
2.2.2 Semantika
Definicija 2.12 Svako preslikavanje µ : 1 → ( naziva se ograniˇcenje vari-
jabli .
Semantiˇcka struktura predikatnog raˇcuna M je par M =< I, U >, pri
ˇcemu je I interpretacija, a U domena. Interpretacija I =< ϕ, ψ >, pri ˇcemu
je ϕ pridruˇzivanje koje svakom n-arnom funkcijskom simbolu pridruˇzuje
totalnu funkciju U
n
→ U, a svakoj konstanti pridruˇzuje nularnu funkciju.
Funkcija ψ svakom n-arnom predikatnom simbolu pridruˇzuje n-arnu relaciju
nad U.
Kada se ovako definira semantiˇcka struktura predikatnog raˇcuna, dom-
ena je u potpunosti odredena interpretacijom i moˇze se izostaviti.
Semantiˇcka struktura definira istinitost svakog pojedinog atoma.
Istinitost se definira na sljede´ci naˇcin:
Definicija 2.13 Neka je µ ograniˇcenje varijabli. Proˇsireno ograniˇcenje va-
rijabli je proˇsirenje preslikavanja µ na skup svih terma:
• µ(x) ∈ ( za x ∈ 1,
• µ(c) = c za c ∈ (,
• µ(f(t
1
, . . . , t
n
)) = ϕ(f)(µ(t
1
), . . . , µ(t
n
)).
Definicija 2.14 Neka je M semantiˇcka struktura i neka je µ proˇsireno ogra-
niˇcenje varijabli. Tada kaˇzemo da je:
• Ako je P(t
1
, . . . , t
n
) atomarna formula, onda je M [=
µ
A ako i samo
ako je (v(t
1
), . . . , v(t
n
)) ∈ ψ(P).
• M [=
µ
F ako i samo ako ne vrijedi M [=
µ
F.
• M [=
µ
F ∧ G ako i samo ako vrijedi M [=
µ
F i M [=
µ
G.
• M [=
µ
F ∨ G ako i samo ako vrijedi M [=
µ
F ili M [=
µ
G.
• M [=
µ
F → G ako i samo ako ne vrijedi M [=
µ
F ili pak vrijedi
M [=
µ
G.
• M [=
µ
F ↔G ako i samo ako vrijedi M [=
µ
F →G i M [=
µ
G →F.
32 2.2. PREDIKATNI RA
ˇ
CUN
• M [=
µ
∀xF(x) ako i samo ako za svako proˇsireno ograniˇcenje varijabli
ν koje se podudara s µ na svim varijablama osim moˇzda na x vrijedi
M [=
ν
F.
• M [=
µ
∃xF(x) ako i samo ako postoji proˇsireno ograniˇcenje varijabli
ν koje se podudara s µ na svim varijablama osim moˇzda na x za koje
vrijedi M [=
ν
F.
Definicija 2.15 Par (M, µ) je model za formulu F ako je M [=
µ
F.
Ako je F reˇcenica, onda njena istinitost ne´ce ovisiti o izboru proˇsirenog
ograniˇcenja varijabli, ve´c samo o izboru semantiˇcke strukture. Ako je reˇce-
nica F istinita u semantiˇckoj strukturi, onda to piˇsemo M [= F.
Formulu F, koja je istinita u svakoj mogu´coj semantiˇckoj strukturi
(M, µ), nazivamo tautologija i oznaˇcavamo s [= F. Formula koja nije istinita
ni u kojoj semantiˇckoj strukturi (M, µ) naziva se antitautologija. Za formulu
F koja nije antitatutologija, tj. za koju postoji semantiˇcka struktura (M, µ)
takva da je M [=
µ
F kaˇzemo da je ispunjiva. Sliˇcno, za reˇcenicu F koja
nije tautologija, tj. za koju postoji semantiˇcka struktura (M, µ) takva da je
M ,[=
µ
F kaˇzemo da je otklonjiva.
Definicija 2.16 Formula G je logiˇcka posljedica formule F, ˇsto oznaˇcavamo
s F [= Gako za svaku semantiˇcku strukturu M za koju vrijedi M [= F vrijedi
i M [= G.
Treba napomenuti da obje karakterizacije logiˇcke posljedice, kako su
izreˇcene za raˇcun sudova, vrijede i za raˇcun predikata.
Nadalje, uz standardno definiranu logiˇcku ekvivalenciju, u predikatnom
raˇcunu vrijedi i propozicija 2.2.
Ove dvije tvrdnje ne bi trebale ˇcuditi. Naime, pokazuje se da je segment
raˇcuna predikata - raˇcun predikata bez varijabli ekvivalentan raˇcunu sudova,
tj. sve ˇsto vrijedi u raˇcunu sudova vrijedi isto tako u raˇcunu predikata, ako
atomarne sudove zamijenimo atomarnim formulama raˇcuna sudova.
Medutim, u raˇcunu predikata postoje ekvivalencije koje nisu naslijedene
iz raˇcuna sudova, ve´c su ekvivalencije koje se javljaju samo u raˇcunu predi-
kata:
Propozicija 2.3 Za formule F i G raˇcuna predikata vrijede sljede´ca svo-
jstva:
1. ∀xF(x) ≡ ∃xF(x), (de Morganov zakon)
2. ∃xF(x) ≡ ∀xF(x), (de Morganov zakon)
3. ∀xF(x) ∧ ∀xG(x) ≡ ∀x(F(x) ∧ G(x)),
4. ∃xF(x) ∨ ∃xG(x) ≡ ∃x(F(x) ∨ G(x)),
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 33
5. Ako je G formula u kojoj se ne javlja varijabla x, K ∈ ¦∀, ∃¦ kvan-
tifikator, a Θ ∈ ¦∨, ∧¦, onda je KxF(x)ΘG ≡ Kx(F(x)ΘG).
6. Ako je F formula u kojoj se ne javlja vrijabla z, te ako je K ∈ ¦∀, ∃¦
kvantifikator, onda je KxF(x) ≡ KzF(z)
7. Ako se u formulama F i G ne javljaju varijable z
1
, z
2
, te ako su
K
1
, K
2
∈ ¦∀, ∃¦ kvantifikatori, a Θ ∈ ¦∨, ∧¦ onda vrijedi
K
1
xF(x)ΘK
x
yG(y) ≡ K
1
z
1
K
2
z
2
(F(z
1
)ΘG(z
2
)).
8. ∀x∀yF(x, y) ≡ ∀y∀xF(x, y).
9. ∃x∃yF(x, y) ≡ ∃y∃xF(x, y).
Dokaz. izvedite za vjeˇzbu.
2.2.3 Formalni sustavi
Sustav F se prirodno proˇsiruje s raˇcuna sudova na raˇcun predikata doda-
vanjem pravila za kvantifikatore:
Uvodenje univerzala (∀ Intro)
c
.
.
.
P(c)
⇒ ∀xP(x)
Pri tome je c konstanta koja se ne smije javljati nigdje osim u poddokazu
u kojem je uvedena.
Eliminacija univerzala (∀ Elim)
∀xP(x)
.
.
.
⇒ P(c)
Isto tako, imamo dva pravila izvoda za egzistencijal.
Uvodenje egzistencijala (∃ Intro)
P(c)
.
.
.
⇒ ∃xP(x)
Eliminacija egzistencijala (∃ Elim)
∃xP(x)
c
P(c)
.
.
.
Q
⇒ Q
34 2.2. PREDIKATNI RA
ˇ
CUN
Pri tome se konstanta c ne pojavljuje nigdje, osim u poddokazu u kojem
je uvedena.
Primjer 2.11 Dokaˇzimo da vrijede de Morganovi zakoni za kvantifikatore:
∀xP(x) ≡ ∃xP(x) te ∃xP(x) ≡ ∀xP(x).
Ova se ekvivalencija dokazuje preko dokaza ˇcetiri tvrdnje. Prvo ´cemo
dokazati da ∀xP(x) slijedi iz ∃xP(x).
1. ∃xP(x)
c
2. P(c)
3. ∀xP(x)
4. P(c)
5. P(c) ∧ P(c)
6. ∀xP(x)
7. ∀xP(x)
(∀ Elim: 3)
(∧ Intro:4,2)
( Intro: 3-5)
(∃ Elim: c -6)
Proglasimo tvrdnju koju smo upravo dokazali teoremom 1.
Dakle imamo:
Teorem 1:
∃xP(x)
.
.
.
⇒ ∀xP(x)
Sada imamo obrnuto:
1. ∀xP(x)
2. ∃xP(x)
3. ∀xP(x)
c
4. P(c)
5. P(c)
6. ∀xP(x)
7. ∀xP(x) ∧ ∀xP(x)
8. ∃xP(x)
9. ∃xP(x)
(Teorem 1: 2)
(∀ Elim: 3)
( Elim: 4)
(∀ Intro: c -5)
(∧ Intro: 6,1)
( Intro: 2-7)
( Elim: 8)
Dakle imamo:
Teorem 2:
∀xP(x)
.
.
.
⇒ ∃xP(x)
Dokazujemo drugi de Morganov zakon. Prvo dokazujemo da iz ∀xP(x)
slijedi ∃xP(x).
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 35
1. ∀xP(x)
2.
∃xP(x)
c
3. P(c)
4. P(c)
5. (Q∧ Q)
6. P(c) ∧ P(c)
7. (Q∧ Q)
8. Q∧ Q
9. Q∧ Q
10. ∃xP(x)
(∀ Elim: 1)
(∧ Intro: 3,4)
( Intro: 5-6)
( Elim: 7)
(∃ Elim: c -8)
( Intro: 2-9)
ˇsto daje sljede´ci teorem:
Teorem 3:
∀xP(x)
.
.
.
⇒ ∃xP(x)
I na kraju:
1. ∃xP(x)
2. ∀xP(x)
3. ∃xP(x)
c
4. P(c)
P(c)
6. ∃xP(x)
7. ∃xP(x) ∧ ∃xP(x)
8. ∃xP(x) ∧ ∃xP(x)
9. ∀xP(x)
10. ∀xP(x)
(Teorem 2: 2)
( Elim: 4)
(∃ Intro: 5)
(∧ Intro: 6,1)
(∃ Elim: 3, c -7)
( Intro: 2-8)
( Elim: 9)
Dakle,
Teorem 4:
∃xP(x)
.
.
.
⇒ ∀xP(x)
Time smo zavrˇsili razmatranje F sustava.
ˇ
Citatelj zainteresiran za de-
taljnije prouˇcavanje F sustava kao formalizacije matematiˇckog dokazivanja
upu´cuje se na [2].
***
Kao i za F sustav, i za rezolucijsku proceduru postoji proˇsirenje na raˇcun predikata.
Rezolucijska se procedura u raˇcunu predikata definira nad reˇcenicama. No, kao ˇsto ´cemo
vidjeti, u raˇcunu predikata se svaka reˇcenica ne moˇze pretvoriti u ekvivalentnu reˇcenicu
koja bi bila pogodna za rezolviranje.
Svaka se reˇcenica raˇcuna predikata moˇze, medutim, pretvoriti u ekvivalentnu reˇcenicu
u primitivnoj normalnoj formi.
36 2.2. PREDIKATNI RA
ˇ
CUN
Definicija 2.17 Za reˇcenicu raˇcuna predikata kaˇzemo da je u primitivnoj normalnoj
formi ako je ona oblika
K
1
x
1
. . . K
n
x
n
M(x
1
, . . . , x
n
).
Pri tome su K
1
, . . . , K
n
kvantifikatori, a M(x
1
, . . . , x
n
) je formula raˇcuna predikata
bez kvantifikatora. K
1
x
1
. . . K
n
x
n
se naziva prefiks, a M(x
1
, . . . , x
n
) se naziva matrica
reˇcenice u primitivnoj normalnoj formi.
Teorem 2.7 Svaka reˇcenica raˇcuna predikata ima ekvivalentnu reˇcenicu u primitivnoj
normalnoj formi.
Umjesto formalnog dokaza ove propozicije navest ´cemo algoritam pomo´cu kojeg ´ce se
reˇcenica raˇcuna predikata mo´ci pretvoriti u reˇcenicu u primitivnoj normalnoj formi.
Kao prvo, pomo´cu pravila iz propozicije 2.2 eliminiramo sve kondicionale i bikondi-
cionale. Nakon toga, pomo´cu ekvivalencija iz propozicije 2.3, te eventualno primjene
pravila dvostruke negacije (propozicija 2.2) sve kvantifikatore izvadimo u prefiks.
Primjer 2.12 Pretvorite formulu ∀x∃y(P(x, y) → Q(x)) ∧ ∃x∃y(Q(y) ∨ P(x, x)) u pri-
mitivnu normalnu formu.
∀x∃y(P(x, y) → Q(x)) ∧ ∃x∃y(Q(y) ∨ P(x, x)) ≡ (pr.2.2.20) ≡
≡ ∀x∃y(P(x, y) ∨ Q(x)) ∧ ∃x∃y(Q(y) ∨ P(x, x)) ≡ (pr.2.3.2) ≡
≡ ∀x∃y(P(x, y) ∨ Q(x)) ∧ ∀x∃y(Q(y) ∨ P(x, x)) ≡ (pr.2.3.2) ≡
≡ ∀x∃y(P(x, y) ∨ Q(x)) ∧ ∀x∀y(Q(y) ∨ P(x, x)) ≡ (pr.2.3.3) ≡
≡ ∀x(∃y(P(x, y) ∨ Q(x)) ∧ ∀y(Q(y) ∨ P(x, x))) ≡ (pr.2.3.7) ≡
≡ ∀x∃u∀v((P(x, u) ∨ Q(x)) ∧ (Q(v) ∨ P(x, x)))
Kako je matrica formule u primitivnoj normalnoj formi formula bez kvantifikatora,
jasno je da za svaku reˇcenicu u primitivnoj normalnoj formi moˇzemo prona´ci ekvivalentnu
reˇcenicu u primitivnoj normalnoj formi kojoj je matrica u konjunktivnoj normalnoj formi.
Tako ´ce, npr., reˇcenica iz primjera 2.12 biti ekvivalentna reˇcenici
∀x∃u∀v((P(x, u) ∨ Q(x)) ∧ Q(v) ∧ P(x, x)) (2.1)
ˇcija je matrica u konjunktivnoj normalnoj formi.
Primitivna normalna forma reˇcenice, pa ˇcak ni ako joj je matrica u konjunktivnoj
normalnoj formi, nije dovoljna da bi reˇcenica bila pogodna za rezoluciju. Problem stvaraju
egzistencijalni kvantifikatori. Naime, rezolucijski postupak u raˇcunu predikata zahtjeva da
reˇcenica bude u Skolemovoj normalnoj formi.
Definicija 2.18 Reˇcenica raˇcuna predikata je u Skolemovoj normalnoj formi ako je u
primitivnoj normalnoj formi, te ako njen prefiks ne sadrˇzi ni jedan egzistencijalni kvan-
tifikator.
Naˇzalost, ne postoji naˇcin kojim bi se iz reˇcenice izbacili egzistencijalni kvantifikatori,
a da ono ˇsto se dobije bude reˇcenica ekvivalentna polaznoj. To, medutim, za rezoluciju nije
niti potrebno. Sada, naime, dolazi do izraˇzaja naˇcin na koji se rezolucijom izvode dokazi.
Rezolucijom se dokazuje tako da se konjunkcija pretpostavki i negacije zakljuˇcka svodi na
refutaciju. Stoga nam sljede´ca propozicija daje dovoljan uvjet za izvodenje rezolucije.
Propozicija 2.4 Za svaku reˇcenicu raˇcuna predikata F postoji reˇcenica raˇcuna F

koja
je u Skolemovoj normalnoj formi i za koju vrijedi da je F kontradiktorna ako i samo ako
je F

kontradiktorna.
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 37
Umjesto dokaza opet ´cemo dati algoritam za dobivanje takve formule.
1. Pretvoriti reˇcenicu u primitivnu normalnu formu.
2.
ˇ
Citati prefiks reˇcenice redom s lijeva na desno, te svaki egzistencijalni kvantifikator
na koji se naide izbrisati iz prefiksa. Varijabla koju je vezao taj kvantifikator se iz
matrice eliminira na sljede´ci naˇcin:
(a) Ako je egzistencijalni kvantifikator bio prvi u prefiksu, onda izaberemo kon-
stantu koja se ne pojavljuje u formuli te svaki nastup varijable koju je izbaˇceni
kvantifikator vezao u matrici zamijenimo odabranom konstantom.
(b) Ako je egzistencijalni kvantifikator k-ti u prefiksu, onda izaberemo k-narni
funkcijski simbol koji se do tada nije pojavljivao u formuli te svaki nastup
varijable koju je izbaˇceni kvantifikator vezao u matrici zamijenimo funkcijom
s odabranim simbolom ˇciji su argumenti sve varijable koje se u prefiksu nalaze
ispred izbaˇcenog kvantifikatora.
Za reˇcenice koje imaju svojstvo navedeno u propoziciji 2.4 kaˇzemo da su ekvikon-
tradiktorne.
Primjer 2.13 Skolemizirajmo formulu 2.1.
Potrebno je izbaciti kvantifikator koji veˇze varijablu u, a svaku pojavu varijable u u
matrici zamijeniti funkcijom, recimo f(x). Tako dobijamo reˇcenicu
∀x∀v((P(x, f(x)) ∨ Q(x)) ∧ Q(v) ∧ P(x, x)). (2.2)
koja je ekvikontradiktorna formuli 2.1
Prije no ˇsto krenemo dalje, dat ´cemo joˇs jedan primjer skolemizacije reˇcenice.
Primjer 2.14 Skolemizirajmo formulu:
∀x∀yP(x, y) ∨ ∀x∃yQ(x, y)
Prvo ´cemo reˇcenicu prevesti u primitivnu normalnu formu
∀x∀yP(x, y) ∨ ∀x∃yQ(x, y) ≡ pr.2.3.1 ≡
≡ ∃x∀yP(x, y) ∨ ∀x∃yQ(x, y) ≡ pr.2.3.1 ≡
≡ ∃x∃yP(x, y) ∨ ∀x∃yQ(x, y) ≡ pr.2.3.7 ≡
≡ ∃u∀v(∃yP(u, y) ∨ ∃yQ(v, y)) ≡ pr.2.3.4 ≡
≡ ∃u∀v∃y(P(u, y) ∨ Q(v, y)).
Skolemiziramo sada dobivenu reˇcenicu u primitivnoj normalnoj formi:
Ponajprije izbacujemo kvantifikator koji veˇze varijablu u, a svaku pojavu te varijable
u matrici mijenjamo konstantom, recimo c:
∀v∃y(P(c, y) ∨ yQ(v, y))
Sada briˇsemo iz prefiksa kvantifikator koji veˇze varijablu y, a svaku pojavu varijable
y u matrici mijenjamo funkcijom, recimo f(v):
∀v(P(c, f(v)) ∨ yQ(v, f(v)))
I time smo zavrˇsili skolemizaciju zadane formule.
38 2.2. PREDIKATNI RA
ˇ
CUN
No, zbog postojanja varijabli termi koji grafiˇcki izgledaju razliˇcito mogu ponekad biti
instancirani u isti temeljni term, tj. term bez varijabli. Stoga nije dovoljno pri rezoluciji
gledati samo literale koji grafiˇcki izgledaju isto. Potrebno je uvesti postupak koji ´ce takve
terme svoditi na isti term. Taj se postupak naziva unifikacija.
Definicija 2.19 Neka su t
1
, . . . , t
n
termi raˇcuna predikata, a v
1
, . . . , v
n
varijable. Tada
se izraz |t
1
/v
1
, . . . , t
n
/v
n
¦ naziva valuacija.
Definicija 2.20 Neka je F formula raˇcuna predikata i neka je α = |t
1
/v
1
, . . . , t
n
/v
n
¦
valuacija. Tada se formula Fα koja se dobije zamjenom varijabli v
1
, . . . , v
n
termima
t
1
, . . . , t
n
naziva instanca formule F.
Definicija 2.21 Neka su α i β valuacije. Tada se njihova kompozicija α◦β, ili αβ definira
na sljede´ci naˇcin: Za svaku formulu F je F(αβ) = (Fα)β.
Definicija 2.22 Za valuaciju α kaˇzemo da je op´cenitija od valuacije β ako postoji valu-
acija γ takva da je β = αγ.
Definicija 2.23 Neka su F i G formule raˇcuna predikata. Valuacija α je unifikator
formula F i G ako vrijedi da je Fα grafiˇcki jednaka Gα.
Za unifikator formula F i G kaˇzemo da je najop´cenitiji ili maksimalan ako je op´cenitiji
od bilo kojeg drugog unifikatora formula F i G.
Maksimalan unifikator je posebno vaˇzan jer je on onaj unifikator koji najmanje mijenja
formule, a pri tome ih unificira. Za formule za koje postoji unifikator kaˇzemo da se mogu
unificirati. Stoga je vaˇzan sljede´ci teorem:
Teorem 2.8 Ako se formule F i G mogu unificirati, onda postoji maksimalni unifikator
od F i G.
Iako je mogu´ce izvesti algoritam koji djeluje na proizvoljnim formulama raˇcuna pre-
dikata, nama je za potrebe rezolucije dovoljno definirati unifikaciju nad atomima. Sljede´ci
algoritam pronalazi maksimalni unifikator atoma P
1
: P(t
1
, . . . , t
n
) i P
2
: P(s
1
, . . . , s
n
)
uvijek kada on postoji.
1. Stavljamo da je i = 0 i α
0
= ε = ∅ prazna valuacija. W
0
= |P
1
, P
2
¦.
2.
ˇ
Citamo redom s lijeva na desno atome P
1
α
i
i P
2
α
i
sve dok se u proˇcitanom ne javi
razlika.
3. Napravimo skup razlika R = |r
1
, r
2
¦ tako da je r
1
term koji je nastao ˇcitanjem
od primje´cene razlike pa sve dok proˇcitani izraz ne ˇcini regularan term raˇcuna
predikata. Sliˇcno se tvori i r2 iz atoma P
2
.
4. Ako je r
1
(r
2
) varijabla x a r
2
(r
1
) term t u kojem se ne pojavljuje varijabla x, tada
stavljamo α
i+1
= α
i
◦ |t/x¦ W
i+1
= |P
1
α
i+1
, P
2
α
i+1
¦. U suprotnom maksimalni
unifikator ne postoji i algoritam zavrˇsava.
5. Ako je W
i+1
jednoˇclan skup, onda je α
i+1
maksimalni unifikator, i algoritam
zavrˇsava.
6. i := i + 1 idemo na korak 2.
Teorem 2.9 Gore opisani algoritam radi korektno, tj. pronalazi maksimalni unifikator
atoma P
1
i P
2
uvijek kada on postoji.
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 39
Treba re´ci da se ovaj algoritam moˇze lagano proˇsiriti tako da radi s viˇse od dva atoma.
Tada ´ce skupovi W
i
, R
i
imati viˇse ˇclanova. Traˇzit ´ce se da u skupu razlika postoji varijabla
i term u kojem se ta varijabla ne pojavljuje, a cilj je, kao i kod sluˇcaja s dva atoma, dobiti
jednoˇclan skup W
k
. Nadalje, ovaj algoritam, u potpunosti nepromijenjen, moˇze se koristiti
i za unifikaciju bilo kojih drugih formula raˇcuna predikata. Pri tome treba napomenuti
da, bez obzira na kakvim se formulama ovaj postupak provede, on moˇze unificirati samo
razlike u termima. Ako se pojavi razlika u predikatnom simbolu, logiˇckom vezniku ili
kvantifikatoru, onda se unifikacija ne moˇze provesti.
Sada, kad smo definirali skolemizaciju i unifikaciju mogu´ce je definirati i rezoluciju za
raˇcun predikata.
Neka je zadan skup reˇcenica |F
1
, . . . , F
n
¦ koje predstavljaju pretpostavke iz kojih
ˇzelimo izvesti zakljuˇcak - reˇcenicu G. Prisjetimo se prve karakterizacije logiˇcke posljedice
(teorem 2.1). Ona kaˇze da je formula G logiˇcka posljedica skupa formula |F
1
, . . . , F
n
¦ ako
i samo ako je formula
F
1
∧ . . . ∧ F
n
∧ G (2.3)
antitautologija.
Jasno je da se za formulu 2.3 moˇze prona´ci ekvikontradiktorna formula u Skolemovoj
normalnoj formi. No, je li potrebno skolemizirati cijelu tu, veliku fromulu? Odgovor
je - nije. Ako pretpostavke i zakljuˇcak nemaju zajedniˇckih varijabli, dovoljno je da se
skolemizira posebno svaka pretpostavka i negacija zakljuˇcka. Naime, u tom se sluˇcaju,
zbog propozicije 2.3.5, Skolemove normalne forme pretpostavki i negacije zakljuˇcka mogu
povezati konjunkcijama, a nakon toga se svi veznici mogu izvu´ci na poˇcetak formule i
tako se dobije Skolemova normalna forma formule 2.3. Kako se radi o reˇcenicama u
kojima su svi nastupi svih varijabli vezani, a kako su sve varijable koje su vezane vezane
univerzalnim kvantifikatorima, kvantifikatore moˇzemo kod zapisa formule izostaviti. Na
taj ´cemo naˇcin dobiti formulu koja ne sadrˇzi kvantifikatore. Ovoj se formuli moˇze prona´ci
ekvivalentna formula u konjunktivnoj normalnoj formi na isti naˇcin kao ˇsto smo to radili za
formule raˇcuna sudova. Formulu u konjunktivnoj normalnoj formi moˇzemo, kao ˇsto je ve´c
reˇceno, gledati kao skup disjunkata, koji se mogu medusobno rezolvirati. Sam postupak
rezolucije moramo, medutim, malo proˇsiriti. Naime, kod raˇcuna sudova rezolviranjem su
se iz formula otklanjali atomarni sud i njegova negacija. Kod raˇcuna predikata otklanjati
se mogu i atomi koji nisu medusobno jednaki. Dovoljno je da se atom i negacija atoma
koje ˇzelimo otkloniti mogu medusobno unificirati.
Definicija 2.24 Neka su F
1
: P ∨ G
1
i F
2
: Q ∨ G
2
disjunkti, a P i Q su atomi koji
imaju maksimalni unifikator α. Tada je (G
1
∨ G
2
)α rezolventa formula F
1
i F
2
.
Sljede´ci teorem nam osigurava da je rezolucija dobro definiran formalni sustav:
Teorem 2.10 Postupak rezolucije za raˇcun predikata je korektan i potpun.
Primjer 2.15 Dokaˇzimo rezolucijom da iz formule ∀x∀y(P(x) → Q(x, y)) i iz ∃xP(x)
slijedi ∃x∀yQ(x, y).
Imamo sljede´ce tri formule:
1. ∀x
1
∀y
1
(P(x
1
) → Q(x
1
, y
1
)) ≡ ∀x
1
∀y
1
(P(x
1
) ∨ Q(x
1
, y
1
))
2. ∃x
2
P(x
2
), pa skolemizacijom prelazi u P(c)
3. ∃x
3
∀y
3
Q(x
3
, y
3
) ≡ ∀x
3
∃y
3
Q(x
3
, y
3
) ˇsto skolemizacijom prelazi
∀x
3
Q(x
3
, f(x
3
))
Dakle, imamo sljede´ci dokaz:
40 2.3. ZADACI
1. P(x
1
) ∨ Q(x
1
, y
1
)
2. P(c)
3. Q(x
3
, f(x
3
))
4. Q(c, y
1
)
5. P(x
3
)
6. ⊥
(Res: 1,2 |c/x
1
¦)
(Res: 1,3 |x
3
/x
1
, f(x
3
)/y
1
¦)
(Res: 3,4 |c/x
2
, f(x
3
)/y
1
¦)
Za raˇcun predikata, isto kao i za raˇcun sudova, koristi se semantiˇcka rezolucija, hiper-
rezolucija i linearna rezolucija. Ovi se pojmovi mogu prona´ci detaljno opisani u [3], ali i
u [6].
2.3 Zadaci
Koriˇstenjem definicije logiˇcke posljedice dokaˇzite da su sljede´ce tvrdnje tau-
tologije:
1. ¦A∨ B, A →B¦ [= B
2. ¦A∨ B ∨ C, A∧ B¦ [= C
3. ¦A →B, (A∨ B¦ [= C
Pronadite konjunktivnu i disjunktivnu normalnu formu sljede´cih formula
4. (A∨ B) ↔(C ∨ D)
5. (((A∨ B) ∧ C) ∨ D) ∧ E
6. (A∨ B) ∧ (C ∨ D)
7. ((A∨ B) →C)
8. Pomo´cu F sustava dokaˇzite tvrdnje iz propozicije 2.2
9. Pomo´cu rezolucije dokaˇzite tvrdnje iz propozicije 2.2
Bez upotrebe formalnih sustava dokaˇzite da su sljede´ce tvrdnje tautologije:
10. ∀x∀yP(x, y) →∃y∀xP(x, y)
11. ∃x∃y(P(x, y) →q(x)) ↔∀x∀yP(x, y) ∨ ∃xQ(x)
12. (∀x∃yP(x, y) ↔∃y∀xP(x, y))
13. ∀x∀yP(x, y) ↔∀y∀xP(x, y)
Pronadite Sk¨olemovu normalnu formu sljede´cih formula:
14. ∀x∃y(P(x, y) →Q(y)) ∧ ∀x∀y(P(x, x) ∨ Q(y))
15. ∃x(P(x, c) ↔∀y(P(f(x, y), y) ∧ Q(x)))
16. Upotrijebom F-sustava dokaˇzite tvrdnje propozicije 2.3
17. Pomo´cu rezolucijskog postupka dokaˇzite tvrdnje propozicije 2.3
POGLAVLJE 2. MATEMATI
ˇ
CKA LOGIKA 41
2.4 Projekti
1. Definirajte potpunu sintaksu raˇcuna sudova u postfiksnoj notaciji.
Nakon toga predefinirajte sve teoreme iz poglavlja, tako da svi zapisi
formula u njima budu u postfiksnoj notaciji.
2. Definirajte sintaksu raˇcuna predikata u postfiksnoj notaciji. Nakon
toga predefinirajte sve teoreme iz knjige, tako da svi zapisi formula u
njima budu u postfiksnoj notaciji.
3. Napravite raˇcunalni program koji ´ce prepoznavati je li zadani izraz
formula raˇcuna predikata.
4. Napravite program koji ´ce izraˇcunavati je li neki sud logiˇcka poslje-
dica zadanih sudova, koriˇstenjem rezolucijskog postupka. Nakon toga
prouˇcite hiperrezoluciju i napravite program koji ´ce raditi isto, ali
primjenom hiperrezolucije. Na kraju implementirajte i linearnu re-
zoluciju. Usporedite rad ova tri programa.
5. Dokaˇzite potpunost i korektnost F sustava.
42 2.4. PROJEKTI
Bibliografija
[1] Apt, K. R.: From Logic Programming to Prolog, Prentice Hall Int.,
London, England, 1997.
[2] Barwise, J.; Etchemendy, J.: The Language of First-Order Logic 3
rd
edition, CSLI, Stanford, 1992.
[3] Chang, C.-L.; Lee, C.-T.: Symbolic Logic and Mechanical Theorem
Proving, Accademic Press, New York, 1973.
[4]
ˇ
Cubrilo, M.: Matematiˇcka logika za ekspertne sisteme, Informator, Za-
greb, 1989.
[5] Deville, Y.: Logic Programming, Addison-Wesley, Workingham, Eng-
land, 1990.
[6] Doets, K.: From Logic to Logic Programming, MIT Press, Cambridge,
1994.
[7] Flach, P.: Simply Logical, John Wiley & Sons Chichester, England,
1994.
[8] Lloyd, J.W.: Foundations of Logic Programming, Springer-Verlag,
Berlin, 1984.
43
44 BIBLIOGRAFIJA
Poglavlje 3
Diskretna matematika
Razvoj matematike iˇsao je prema sve
ve´coj preciznosti i vodi do formaliza-
cije takvih razmjera da ´ce se svaki
teorem mo´ci dokazati samo pomo´cu
nekoliko mehaniˇckih pravila.
Kurt G¨odel
vs.
Trudim se izbje´ci duge numeriˇcke
raˇcune i slijedim Riemannov postulat
da dokazi trebaju biti dani kroz ideje,
a ne kroz voluminozne raˇcune.
David Hilbert
Diskretna matematika je grana matematike koja prouˇcava probleme
Slika 3.1: Georg Ferdinand
Ludwig Philipp Cantor
koji ukljuˇcuju konaˇcne i prebrojivo beskonaˇcne
skupove. Konkretno, diskretna se matematika pr-
venstveno povezuje sa skupom prirodnih i cijelih
brojeva, a ponekad i sa skupom racionalnih bro-
jeva. Kontinuiranim skupovima, posebno skupom
realnih brojeva, bavi se matematiˇcka analiza.
Na temeljima diskretne matematike gradi se raˇcu-
nalna geometrija i algebra, logika, teorija grafova
i kombinatorika. Upotrebom raˇcunalne geometrije
(computational geometry) grade se robotika, au-
tomatika, navigacija, menadˇzment, interaktivne
tehnike vizualizacije i sl. Bez diskretne matem-
atike nezamislivo je paralelno programiranje i al-
goritmi te strukture podataka i ekspertni sustavi.
Stoga ´cemo u ovom dijelu knjige posvetiti paˇznju
pojmovima koji nam pomaˇzu u prouˇcavanju problema diskretne matemati-
45
46 3.1. SKUPOVI
ke. To su prije svega skupovi, relacije i funkcije.
3.1 Skupovi
Cilj je ovog poglavlja ponavljanje osnovnih pojmova vezanih uz skupove
kako bismo mogli izloˇziti teme koje slijede u knjizi, a u znatnoj mjeri koriste
skupove.
Pojam skupa u matematiku uvodi Georg Cantor (1845-1918). Skup
pripada osnovnim matematiˇckim pojmovima, odnosno pojmovima koje ne
definiramo. O skupu razmiˇsljamo kao o kolekciji elemenata (ˇclanova), koje
zamiˇsljamo kao cjelinu. Izuzetak je prazan skup ∅, koji nema elemenata.
3.1.1 Zadavanje skupa
Postoje dva osnovna naˇcina na koje moˇzemo zadati skup:
1. nabrajanjem elemenata skupa, ili
2. definiranjem svojstava koja trebaju zadovoljavati elementi skupa.
Skup je zadan ako se zna od kojih se elemenata sastoji.
Pristup Fregea, da svako svojstvo definira neki skup, dovodio je do pa-
radoksa. Tako je Cantor primjetio 1897. da postoji paradoks skupa svih
skupova. Nadalje, Bertrand Russell je dao joˇs nekoliko zanimljivih paradok-
sa vezanih uz skupove.
Dakle, Fregeov princip, da svako svojstvo odreduje neki skup, ne vrijedi,
budu´ci da moˇze dovesti do paradoksa (tzv. paradoksi regularnog svojstva).
Potrebno je, utvrdio je Zermelo, ograniˇciti svojstvo, tako da se elementi
uzimaju iz nekog univerzalnog skupa U.
3.1.2 Relacije medu skupovima
Nabrojimo tri najvaˇznije relacije na skupovima. U svim definicijama velika
tiskana slova A, B oznaˇcavaju skupove.
Relacija sadrˇzavanja
A ⊆ B ⇔(∀x ∈ A ⇒x ∈ B).
Jednakost skupova
A = B ⇔(A ⊆ B ∧ B ⊆ A).
Pravi podskup
A ⊂ B ⇔(A ⊆ B ∧ A ,= B),
POGLAVLJE 3. DISKRETNA MATEMATIKA 47
tj.,
A ⊂ B ⇔(A ⊆ B ∧ (∃x ∈ B, x / ∈ A)).
Propozicija 3.1 Za svaki skup A, A ⊆ A i ∅ ⊆ A.
Za skupove brojeva vrijedi N ⊂ Z ⊂ Q ⊂ R ⊂ C.
Zadatak 3.1 Pokaˇzite da je A = B za A = ¦2k+5[k ∈ Z¦ i B = ¦2k+3[k ∈
Z¦.
3.1.3 Partitivni skup
Partitivni skup je skup svih podskupova zadanog skupa, tj.
P (A) = ¦X : X ⊆ A¦ .
Elementi partitivnog skupa su uvijek prazan skup i cijeli skup A. Ako
skup A ima n elemenata onda njegov partitivni skup ima 2
n
elemenata.
Primjer 3.1 P(¦a, b¦) = ¦∅, ¦a¦, ¦b¦, ¦a, b¦¦.
3.1.4 Operacije na skupovima
Nabrojimo osnovne operacije medu skupovima i njihova svojstva.
Unija
A∪ B = ¦x : x ∈ A∨ x ∈ B¦ .
Presjek
A∩ B = ¦x : x ∈ A∧ x ∈ B¦ .
Razlika
A¸ B = ¦x : x ∈ A∧ x / ∈ B¦ .
Komplement
C
A
B = ¦x : x ∈ A∧ x / ∈ B¦
= A¸ B
Ovdje je A univerzalni skup i A ⊆ B. Univerzalni komplement za A = U
i B ⊂ U
C(B) = U¸B
Zadatak 3.2 Neka je za n ∈ N D
n
= ¦x ∈ N[x dijeli n¦ skup djelitelja
prirodnog broja n. Izraˇcunajte:
1. D
0
, D
5
, D
6
, D
9
i D
12
.
2. D
5
∪ D
9
.
48 3.1. SKUPOVI
3. D
6
∩ D
9
,
D
12
¸D
9
.
Svojstva skupovskih operacija:
1. Zakon idempotencije
A∪ A = A, A∩ A = A,
A∪ ∅ = A, A∩ ∅ = ∅.
2. Komutativnost
A∪ B = B ∪ A,
A∩ B = B ∩ A.
3. Asocijativnost
A∪ (B ∪ C) = (A∪ B) ∪ C,
A∩ (B ∩ C) = (A∩ B) ∩ C.
4. Distributivnost
A∪ (B ∩ C) = (A∪ B) ∩ (A∪ C) ,
A∩ (B ∪ C) = (A∩ B) ∪ (A∩ C) .
5. De Morganovi zakoni
C (A∩ B) = C (A) ∪ C (B) ,
C (A∪ B) = C (A) ∩ C (B) .
6. Dvostruki komplement
C (C (A)) = A.
Nabrojena svojstva dokazuju se direktno ili pomo´cu tablice pripadnosti.
3.1.5 Kartezijev produkt skupova
Evo joˇs jednog naˇcina da od dva skupa dobijemo neki novi skup.
Definicija 3.1 Neka su A,B dva neprazna skupa. Kartezijev produkt (di-
rektni produkt) skupova A i B je skup
AB = ¦(a, b) : a ∈ A, b ∈ B¦ .
POGLAVLJE 3. DISKRETNA MATEMATIKA 49
Izraz (a, b) zovemo uredenim parom od a i b. Kod njega je vaˇzan poredak
elemenata u paru.
Kartezijev produkt A A zapisujemo kao A
2
i zovemo ga Kartezijevim
kvadratom.
Definicija 3.2 Neka su A
1
, A
2
, ..., A
n
neprazni skupovi. Kartezijev produkt
(direktni produkt) skupova A
1
, A
2
, ..., A
n
je skup
A
1
A
2
... A
n
= ¦(a
1
, a
2
, ..., a
n
) : a
i
∈ A
i
, i = 1, 2, ..., n¦ .
Izraz (a
1
, a
2
, ..., a
n
) zovemo uredenom n-torkom i kod nje je vaˇzan pore-
dak elemenata.
Zadatak 3.3 Ispiˇsite Kartezijev produkt A
1
A
2
A
3
ako je
A
1
= ¦Ivan, Maja, Sanja¦,
A
2
= ¦radnik, student, trgovac¦ i
A
3
= ¦bogat, siromaˇ san¦.
3.2 Binarne relacije
3.2.1 Binarne relacije na diskretnim skupovima
Neka su A, B neprazni skupovi. Svaki podskup ρ Kartezijevog produkta
AB zovemo binarnom relacijom na AB. Relacije moˇzemo promatrati na
kontinuiranim skupovima kao ˇsto je skup realnih brojeva, ali i na diskretnim
skupovima, na primjer na skupu cijelih brojeva. U informatiˇckoj primjeni
vaˇznije su relacije na diskretnim skupovima.
Pretpostavimo da konaˇcni skupovi A i B imaju m, odnosno n elemenata,
tj. k (A) = m, k (A) = n. Tada je broj binarnih relacija koje se mogu
definirati na AB jednak 2
nm
.
Relacije na konaˇcnim skupovima moˇzemo predstaviti na sljede´ce naˇcine:
1. Pomo´cu dijagrama koji prikazuje dva konaˇcna skupa A i B te strelice
koje prikazuju pridruˇzivanje elementa skupa A onima u skupu B. Na
taj su naˇcin opisani uredeni parovi ˇciji su elementi relaciji.
2. Pomo´cu matrice incidencije (reprezentacije), koja ima m redova i n
stupaca (ako je k (A) = m, k (A) = n), te jedinice na mjestima gdje
su elementi u relaciji i nule tamo gdje nisu.
3. Pomo´cu usmjerenog grafa, ako je relacija definirana na A
2
.
Posebno su vaˇzne relacije izmedu elemenata istog skupa, tj. relacije
na A A koje zovemo binarnim relacijama na A. U izuˇcavanju tih relacija
pomaˇze mogu´cnost njihovog grafiˇckog prikazivanja pomo´cu grafova. Pri tom
se koriste pojmovi: ˇcvor(vrh) grafa - to je svaki element skupa A, i luk -
50 3.2. BINARNE RELACIJE
svakom paru (a, b)A A pridruˇzen je jedan luk pri ˇcemu se prva kom-
ponenta para naziva izlaznim ˇcvorom grafa, a druga komponenta ulaznim
ˇcvorom. Graf relacije se obiˇcno nacrta tako da se njegovi vrhovi rasporede
otprilike kao vrhovi pravilnog mnogokuta, a zatim se lukovima poveˇzu ele-
menti koji su u relaciji. Grafovi imaju veliku vrijednost za vizualizaciju
relacija i njihovih svojstava. Brojne mogu´cnosti primjene grafova u mode-
liranju problema u razliˇcitim znanstvenim podruˇcjima i sasvim konkretnih
problema, potakle su razvoj posebne matematiˇcke discipline koja se zove
teorija grafova.
Definicija 3.3 Graf relacije ρ ⊆ A A je par (A, ρ) pri ˇcemu je A skup
ˇcvorova grafa, a ρ skup lukova.
Zadatak 3.4 Zadana je relacija ρ na skupu A = ¦a, b, c, d, e¦ sa
ρ = ¦(a, b) , (b, a) , (c, c) , (c, e) , (d, a) , (d, d) , (d, e) , (e, e)¦ .
Prikaˇzite zadanu relaciju na tri gore navedena naˇcina.
Binarne relacije definirane na podskupovima skupa realnih brojeva pri-
kazujemo grafiˇcki pomo´cu koordinatnog sustava u ravnini.
Primjer 3.2 Zadana je relacija ρ na skupu R sa ρ =
_
(x, y) : x = y
2
_
.
Prikaˇzimo zadanu relaciju pomo´cu grafa u koordinatnom sustavu.
1 2 3 4
-2
-1
1
2
0
x
y
Slika 3.2
POGLAVLJE 3. DISKRETNA MATEMATIKA 51
3.2.2 Obrat relacije, komplement relacije i dualna relacija
Zadanoj relaciji ρ ⊆ A
2
mogu se pridruˇziti joˇs neke relacije prema sljede´coj
definiciji:
Definicija 3.4 Neka je ρ ⊆ A
2
.
Obrat ¯ ρ relacije ρ : (a, b) ∈ ¯ ρ ⇔(b, a) ∈ ρ.
Komplement ρ
c
relacije ρ : (a, b) ∈ ρ
c
⇔(a, b) / ∈ ρ.
Dualna relacija ρ
d
relacije ρ : (a, b) ∈ ρ
d
⇔(b, a) / ∈ ρ.
Primjer 3.3 A = ¦a, b, c¦ , ρ = ¦(a, b), (a, c), (b, a), (b, b)¦ .
Odredite ρ
d
, ¯ ρ i ρ
c
.
Obrat relacije odreduje se tako da se u parovima koji pripadaju zadanoj
relaciji zamijene prva i druga komponenta, pa imamo
¯ ρ = ¦(a, b), (b, a), (b, b), (c, a)¦ .
Komplement relacije ρ
c
odredi se kao razlika AA¸ ρ ;
ρ
c
= ¦(a, a), (a, b), (b, c), (c, a), (c, b), (c, c)¦ .
Neˇsto teˇze je po definiciji formirati dualnu relaciju
ρ
d
= ¦(a, a), (a, c), (b, a), (b, c), (c, b), (c, c)¦ .
Zbog toga je korisna sljede´ca propozicija.
Propozicija 3.2 ρ
d
= ¯ ρ
c
= ρ
c
.
Dokaz. Dokaˇzimo prvo ρ
d
= ρ
c
(a, b)ρ
d
⇐⇒(b, a) / ∈ ρ ⇐⇒(b, a) ∈ ρ
c
⇔(a, b) ∈ ρ
c
.
Kompletirajte dokaz! Kojim se joˇs shemama moˇze dokazati ova tvrdnja?
3.3 Relacija ekvivalencije
3.3.1 Definicija i svojstva relacija ekvivalencije
Relacija ekvivalencije predstavlja oslabljeni oblik jednakosti brojeva. S dru-
ge strane, klasificiramo li ljude prema karakteristikama kao ˇsto su drˇzava u
kojoj stanuju, prema boji njihove kose ili pak prema njihovoj visini, definirat
´cemo relacije ekvivalencije. Pokazuje se da relacija ekvivalencije na nekom
skupu definira particiju tog skupa na neprazne, disjunktne podskupove ˇcija
unija daje ˇcitavi skup.
Definicija 3.5 Neka je ρ ⊆ A
2
. Relacija ρ je relacija ekvivalencije ako je:
52 3.3. RELACIJA EKVIVALENCIJE
1. refleksivna tj.
(∀x ∈ A) (x, x) ∈ ρ,
2. simetriˇcna tj.
(∀x, y, ∈ A) (x, y) ∈ ρ ⇒(y, x) ∈ ρ,
3. tranzitivna tj.
(∀x, y, z ∈ A) ((x, y) ∈ ρ ∧ (y, z) ∈ ρ) ⇒(x, z) ∈ ρ.
Primjeri relacija ekvivalencije, koje ste upoznali u srednjoˇskolskoj mate-
matici, su jednakost realnih brojeva, relacija paralelnosti na skupu svih pra-
vaca u ravnini ili prostoru, zatim sukladnost i sliˇcnost geometrijskih likova
(npr. trokuta) u ravnini.
To je razlog ˇsto o relaciji ekvivalencije razmiˇsljamo kao o oslabljenoj
jednakosti na elementima nekog skupa.
Zadatak 3.5 Za realne brojeve a, b razliˇcite od nule definiramo relaciju ρ
sa: aρb ⇔
a
b
∈ Q. Dokaˇzite da je ρ relacija ekvivalencije.
Svaki stanovnik Europe ima boraviˇste u nekoj od europskih drˇzava.
Kaˇzemo da su Europljani a i b u relaciji s ako su oni stanovnici iste drˇzave.
Ovako definirana relacija s predstavlja jednu relaciju ekvivalencije. Primi-
jetimo da jedan ˇcovjek moˇze (prema svojim sluˇzbenim dokumentima) biti
stanovnik samo jedne drˇzave, te da su svi stanovnici drˇzave X medusobno
u relaciji s.
Definicija 3.6 Neka je ρ relacija ekvivalencije na skupu A. Za a ∈ A klasa
ekvivalencije [a]
ρ
s obzirom na ρ je skup
[a]
ρ
= ¦x : xA ∧ xρa¦ . (3.1)
Primjer 3.4 Odredite (opiˇsite) klase ekvivalencije za relaciju s medu ele-
mentima skupa A = ¦ stanovnici Europe¦ danu sa
s =
_
(a, b) ∈ A
2
: a i b stanuju u istoj drˇzavi
_
.
Kako bismo izrekli vaˇzna svojstva relacije ekvivalencije uvest ´cemo vaˇzan
pojam particije skupa.
Definicija 3.7 Neka je A neprazan skup i neka su A
1
, A
2
, ...A
n
neprazni
disjunktni podskupovi od A. Ako je A = A
1
∪ A
2
∪ ... ∪ A
n
onda skup
F = ¦A
1
, A
2
, ...A
n
¦ zovemo particijom skupa A .
POGLAVLJE 3. DISKRETNA MATEMATIKA 53
Uoˇcimo da se familija skupova moˇze zapisati kao F = ¦A
i
: i ∈ I¦ , gdje
je I neki skup indeksa, te da je onda

i∈I
A
i
= A.
Primjerice za skup A = ¦1, 2, 3, 4, 5, 6, 7, 8¦ jedna je particija dana sa
A
1
= ¦1, 2, 3¦ , A
2
= ¦4, 6, 8¦ , A
3
= ¦5, 7¦ . Ta particija ima tri dijela.
Op´cenito se moˇze postaviti pitanje za konaˇcni skup od n elemenata, koliko
ima razliˇcitih particija od k dijelova. Taj broj se oznaˇcava sa S (n, k) i zove
Stirlingov broj (druge vrste). Op´cenito vrijedi S (n, 1) = 1, S (n, n) = 1, a
za 2 ≤ k ≤ n −1 imamo S (n, k) = S (n −1, k −1) +kS (n −1, k) .
Viˇse se o toj temi moˇze proˇcitati u [1].
Propozicija 3.3 Neka je ρ relacija ekvivalencije na A. Skup klasa ekviva-
lencije obzirom na ρ je particija skupa A (kvocijentni skup od A s obzirom
na ρ; oznaka A/ρ).
Dokaz. Pretpostavimo da je ρ relacija ekvivalencije na A. Treba doka-
zati da za klase ekvivalencije elemenata tog skupa s obzirom na tu relaciju
vrijede sljede´ce tvrdnje:
1. te klase su neprazne,
2. svaki element iz A nalazi se u nekoj od klasa,
3. klase su disjunktne.
Prva tvrdnja i druga tvrdnja oˇcito vrijede jer je zbog svojstva ekviva-
lencije svaki element u relaciji sam sa sobom. Da bismo dokazali tre´cu
tvrdnju pretpostavimo da su [a]
ρ
i [b]
ρ
dvije razliˇcite klase ekvivalencije.
Pokazat ´cemo metodom suprotnog da su u tom sluˇcaju one disjunktne.
Pretpostavimo dakle da postoji element x [a]
ρ
∩ [b]
ρ
. Zbog toga vrijedi
xρa i xρb. Budu´ci da je ρ relacija ekvivalencije, vrijedi implikacija aρx ∧
xρb =⇒aρb. To bi pak znaˇcilo da elementi a i b pripadaju istoj klasi. Zbog
tranzitivnosti relacije ρ u tom sluˇcaju bi i svi elementi koji su u relaciji s
jednim od ta dva elementa ujedno bili u relaciji i s drugim elementom, pa
njihove klase ekvivalencije ne bi mogle biti razliˇcite.
Vrijedi i obrat tj. sljede´ca propozicija.
Propozicija 3.4 Svaka particija skupa A prirodno definira jednu relaciju
ekvivalencije na A.
Dokaz. Stavimo: aρb ⇔(a, b) pripadaju istom ˇclanu dekompozicije.
Zakljuˇcujemo da svaka relacija ekvivalencije na danom skupu definira
jednu particiju skupa, ali i obrnuto, svaka particija skupa inducira jednu
relaciju ekvivalencije na tom skupu.
Primjer 3.5 Odredite kvocijentni skup relacije ρ iz primjera 3.4. Koliko
elemenata ima taj kvocijentni skup?
54 3.3. RELACIJA EKVIVALENCIJE
Zadatak 3.6 Koja od sljede´cih relacija predstavlja relaciju ekvivalencije
na skupu R
2
? Za relacije ekvivalencije nadite geometrijsku interpretaciju
elemenata kvocijentnog skupa.
1. (a, b) ρ (c, d) ⇔a + 2b = c + 2d
2. (a, b) ρ (c, d) ⇔ab = cd
3. (a, b) ρ (c, d) ⇔a
2
+b = c +d
2
4. (a, b)ρ(c, d) ⇔a
2
−b = c +d
2
3.3.2 Kongruencije
Modularna ekvivalencija ili kongruencija je primjer relacije ekvivalencije
koja se koristi u informatici (npr. u postupcima programiranja kontrole
odredenih raˇcunskih postupaka). Ta relacija prirodno inducira particiju
skupa cijelih brojeva Z. Na primjer, cijeli brojevi su ekvivalentni modulo 2,
ako je njihova razlika paran broj. Tako dobivamo particiju cijelih brojeva na
parne i neparne cijele brojeve. Op´cenito se moˇze promatrati ekvivalencija
modulo k, gdje je k bilo koji prirodan broj.
Definicija 3.8 Neka su a, b ∈ Z, k ∈ N. Tada je
a ≡ b (modk) ⇐⇒∃n ∈ Z, a −b = nk
(a ≡ b (modk) ˇcitamo ”a je ekvivalentno s b modulo k”) . Pri tom broj k
zovemo modulom ekvivalencije.
Propozicija 3.5 Modularna ekvivalencija je relacija ekvivalencije.
Dokaz. Treba pokazati da ta relacija ima svojstva refleksivnosti, simetri-
ˇcnosti i tranzitivnosti. Refleksivnost je oˇcita jer vrijedi ∀aZ =⇒a−a = 0k,
gdje je k ∈ N proizvoljan.
Dokaˇzimo simetriˇcnost: a ≡ b (modk) ⇐⇒ ∃n ∈ Z, a − b = nk =⇒
b −a = (−n)k ⇐⇒b ≡ a (modk) .
Dokaˇzimo tranzitivnost: neka je a ≡ b (modk) i b ≡ c (modk). Izlazi da
∃n, m ∈ Z takvi da vrijedi a − b = nk i b − c = mk. Zbroje li se ove dvije
jednakosti proizlazi a − c = (n + m)k, ˇsto je ekvivalentno s a ≡ c (modk) .
Primjer 3.6 Odredimo kvocijentni skup relacije modularne ekvivalencije.
Promatramo li modularnu ekvivalenciju modulo k inducirat ´cemo particiju
skupa Z u k klasa ekvivalencije. U svakoj su klasi ekvivalencije oni cijeli
brojevi koji pri dijeljenju sa k daju jednake ostatke.
POGLAVLJE 3. DISKRETNA MATEMATIKA 55
Uobiˇcajeno je klase ekvivalencije kod modularne ekvivalencije (kongru-
encije) zvati klasama kongruencije i oznaˇcavati sa ¯ a. Tako je kod kongru-
encije modulo 4,
¯
0 = ¦x ∈ Z : x ≡ 0 mod4¦ = ¦x ∈ Z : x = 4k, k ∈ Z¦ =
¦..., −4, 0, 4, 8, ...¦,
¯
1 = ¦x ∈ Z : x ≡ 1 mod4¦ = ¦x ∈ Z : x = 4k + 1, k ∈ Z¦ = ¦..., −3 , 1 , 5
, 9 , ...¦.
U ovom sluˇcaju se piˇse i
¯
0 = 4Z,
¯
1 = 4Z+1,
¯
2 = 4Z+2,
¯
3 = 4Z+3. Dakle,
postoje klase kongruencije koje korespondiraju svim mogu´cim ostacima pri
dijeljenju s k. Uoˇcimo da vrijedi
a ≡ b modn ⇔ ¯ a =
¯
b, n ∈ N.
Preko kongruencija moˇzemo sve cijele brojeve reducirati na njihove ostat-
ke modulo k. Taj postupak zovemo redukcija modulo k. Pri tome je za
svaki prirodni broj k > 1 i svaki cijeli broj a, a modk jednak ostatku r
pri dijeljenju broja a s k. Sada je 0 ≤ r ≤ n − 1. Spomenuta redukcija
omogu´cava nam lakˇse rjeˇsavanje jednadˇzbi koje sadrˇze kongruencije. Kao
rjeˇsenje jednadˇzbe nademo ostatak, a podrazumijevamo da su rjeˇsenja i
brojevi r modk.
Primjer 3.7 Rijeˇsimo jednadˇzbu 2x ≡ 1 mod4.
Uvrˇstavamo umjesto x sve ostatke pri dijeljenju s 4 pa imamo za:
x = 0, 0 ≡ 1 mod4
x = 1, 2 ≡ 1 mod4
x = 2, 4 ≡ 1 mod4
x = 3, 6 ≡ 1 mod4.
Dakle, gornja jednadˇzba nema rjeˇsenje.
Primjer 3.8 Rijeˇsimo jednadˇzbu 2x ≡ 2 mod4.
Uvrˇstavamo umjesto x sve ostatke pri dijeljenju s 4 pa imamo za:
x = 0, 0 ≡ 2 mod4
x = 1, 2 ≡ 2 mod4
x = 2, 4 ≡ 2 mod4
x = 3, 6 ≡ 2 mod4.
Ova jednadˇzba ima dva rjeˇsenja x = 1 i x = 3.
Izvedimo formule za zbrajanje i mnoˇzenje kongruencija modulo k. One
su sre´com prirodne.
Teorem 3.1 Za a ≡ b modk i c ≡ d modk vrijedi
a +c ≡ (b +d) modk,
ac ≡ (bd) modk.
56 3.3. RELACIJA EKVIVALENCIJE
Dokaz. Pretpostavke su da postoje cijeli brojevi n i m takvi da je
a −b = kn, c −d = km.
Oduzimanjem gornjih dviju jednakosti imamo
(a −c) −(b −d) = (n −m) k,
ˇsto je ekvivalentno tvrdnji a+c ≡ (b +d) modk. Nadalje, da bismo dokazali
formulu za mnoˇzenje kongruencija treba dokazati da je ac − bd djeljivo sa
k. Proˇsirimo izraz ac − bd sa ad i −ad pa raˇcunamo ac − ad + ad − bd =
a (c −d)+d (a −b) = akm+dkn = k (am−dn) . Zakljuˇcujemo da je ac−bd
djeljivo s k.
Pogreˇsno bi bilo zakljuˇciti da je formula za dijeljenje kongruencija pri-
rodna, kao ˇsto su formule za zbrajanje i mnoˇzenje kongruencija. Zapravo
kongruenciju moˇzemo dijeliti s brojem koji je relativno prost s modulom k.
Da kongruencije ne moˇzemo dijeliti s proizvoljnim cijelim brojem poka-
zuje sljede´ci primjer. Oˇcito vrijedi 90 ≡ 30 mod12, ali dijeljenjem s brojem 6
dobili bismo 15 ≡ 5 mod12, a to oˇcito nije istinito. S druge strane dijeljenjem
gornje kongruencije s 5 dobivamo da je 18 ≡ 6 mod12, ˇsto je istinito.
Uzmimo op´cenito da je ac ≡ bc modk i M (c, k) = 1. Znaˇci da postoji
cijeli broj n takav da je ac − bc = nk. Sada je c (a −b) = nk i znamo li da
su c i k relativno prosti, tada je a −b = km, gdje je m = n/c. Ukoliko c i k
nisu relativno prosti zakljuˇcak ne vrijedi. Vrijedi sljede´ca propozicija:
Propozicija 3.6 Ako je ac ≡ bc modk i M (c, k) = 1 tada vrijedi da je
a ≡ b modk.
Upotrebom prethodne propozicije moˇze se dokazati tzv. mali Fermatov
teorem.
Teorem 3.2 Neka je p prost broj, koji nije djelitelj od a. Tada vrijedi
a
p−1
≡ 1 modp.
Dokaz. Budu´ci da je M (p, a) = 1 po propoziciji 3.6 znamo da nikoja
dva cijela broja izmedu brojeva a, 2a, ..., (p −1) a nisu kongruentna modulo
p. Nadalje, nijedan od brojeva a, 2a, ..., (p −1) a nije kongruentan 0 modp.
Prema tome brojeve a, 2a, ..., (p −1) a moˇzemo reducirati modulo k na bro-
jeve 1, 2, ..., (p −1) . Sada je
a 2a ... (p −1) a ≡ 1 2 ... (p −1) modk,
pa dijeljenje sa (p −1)! daje traˇzenu jednakost. Primijetimo da smijemo
dijeliti jer su p i (p −1)! relativno prosti.
Posvetimo joˇs malo prostora rjeˇsavanju osnovnih tipova jednadˇzbi s kon-
gruencijama.
POGLAVLJE 3. DISKRETNA MATEMATIKA 57
Promotrimo, prvo, jednadˇzbu a + x ≡ b modk. Takva jednadˇzba uvijek
ima rjeˇsenje budu´ci da svaki cijeli broj a ima aditivni inverz modulo k. To
znaˇci da postoji broj a

takav da je a +a

≡ 0 modk. Vidimo da je u skladu
s redukcijom a

= −a ili a

= k −a.
Dakle, jednadˇzba a + x ≡ b modk se rjeˇsava tako da se aditivni inverz
od a doda s lijeve i desne strane kongruencije.
U drugu ruku, jednadˇzbe tipa ax ≡ b modk nemaju uvijek rjeˇsenje, kao
ˇsto se vidi na primjeru jednadˇzbe 2x ≡ 1 mod4. Razlog leˇzi u propoziciji
3.6, jer multiplikativni inverz od a postoji jedino ako su a i k relativno
prosti. Dakle, ako je M (a, k) = 1 tada postoji takav v da je va = 1 modk.
Budu´ci da je najve´ca zajedniˇcka mjera dvaju brojeva uvijek njihova linearna
kombinacija, postoji cijeli broj t takav da je va + tk = 1. Ova nam relacija
omogu´cava raˇcunanje multiplikativnog inverza od a.
Primjer 3.9 Rijeˇsimo jednadˇzbu 15x ≡ 23 mod119.
Nadimo multiplikativni inverz od 15 modulo 19. Imamo 119(−1) +
15(8) = 1, pa je inverz od 15 modulo 119 broj 8. Sada je x ≡ 238 mod119 =
184 mod119 = 65. Rjeˇsenje x = 65 je jedinstveno mod119, znaˇci da je svako
drugo rjeˇsenje kongruentno mod119 sa 65.
Zadatak 3.7 Rijeˇsite sljede´ce jednadˇzbe s kongruencijama:
1. 4x ≡ 2 mod6,
2. 5x ≡ 5 mod25,
3. x
2
≡ 4 mod13,
4. x
2
≡ 1 mod7.
Kongruencije se primjenjuju u ˇsirokom podruˇcju kodiranja proizvoda,
ali i u kriptografiji.
Slijede dvije primjene modularne ekvivalencije (kongruencije).
ISBN - International Standard Book Number
Od godine 1968. svakoj se knjizi pridruˇzuje ISBN koji sadrˇzi informaciju
o zemlji izdanja, izdavaˇcu i samoj knjizi. Te su informacije sadrˇzane u 9
znamenaka, a deseta znamenka sluˇzi za provjeru prvih 9 znamenaka.
Neka su znamenke u ISDN-u oznaˇcene sa
a
1
, a
2
, ..., a
10
,
gdje je prvih 9 znamenaka u rasponu od 0 do 9. Broj a
10
je izabran u
rasponu od 0 do 10 tako da je
a
1
+ 2a
2
+ 3a
3
+... + 10a
10
≡ 0 (mod11) .
58 3.3. RELACIJA EKVIVALENCIJE
Primjer 3.10 Neka je prvih 9 znamenki u ISBN-u 953-173-918. Izraˇcunaj-
mo desetu znamenku.
9+2 (5)+3 (3)+4 (1)+5 (7)+6 (3)+7 (9)+8 (1)+9 (8)+10a
10
≡ 0 (mod11)
0 mod11 ≡ 228 + 10a
10
11 28 = 308, pa je a
10
= 8
Dakle, ISBN glasi 953-173-918-8.
Uzmimo sada da je ISBN pogreˇsno zapisan npr. promijenimo 3. zna-
menku.
950-173-918-8
Provjerimo ga.
9+2 (5)+3 (0)+4 (1)+5 (7)+6 (3)+7 (9)+8 (1)+9 (8)+80 ≡ 0 (mod11)
305 ,= 0 (mod11) .
Moˇze se pokazati da na ovaj naˇcin uvijek detektiramo pogreˇsku, ukoliko
je ona u jednoj znamenci. Moˇze se, medutim dogoditi da se pogreˇske u dvije
znamenke anuliraju pa ih na ovaj naˇcin ne uoˇcavamo.
Zadatak 3.8 U prethodnom primjeru promijenite dvije znamenke tako da
test ne registrira pogreˇsku.
Zadatak 3.9 Provjerite na prethodnom primjeru da test reagira na zamje-
nu mjesta znamenaka.
Universal Product Code
Ve´cina proizvoda na trˇziˇstu nosi identifikacijski kod u obliku uzorka koji se
sastoji od tanjih i debljih crta (razlog za naziv bar code). Taj se kod zove
Universal Product Cod (UPC). UPC je 12-stero znamenkasti broj oblika
x-xxxxx-xxxxx-x, gdje svaki x predstavlja broj izmedu 0 i 9. Ponovno je
zadnja znamenka ona pomo´cu koje provjeravamo prethodnih 10. Nakon ˇsto
skener oˇcita pogreˇsno UPC, zadnja znamenka ukaˇze na pogreˇsku. Provjera
se radi po sljede´cem pravilu.
3(suma znamenaka na parnim mjestima) + (suma znamenaka na nepar-
nim mjestima) ≡ 0(mod10)
Teorem 3.3 (Kineski teorem o ostacima) Neka su m
1
, m
2
, . . . , m
r
po
parovima relativno prosti brojevi te neka su a
1
, a
2
, . . . , a
r
cijeli brojevi. Tada
sustav kongruencija
x ≡ a
1
(modm
1
)
x ≡ a
2
(modm
2
) (3.2)
.
.
.
x ≡ a
r
(modm
r
)
ima rjeˇsenja.
POGLAVLJE 3. DISKRETNA MATEMATIKA 59
Ako je x
0
jedno rjeˇsenje, onda su sva rjeˇsenja sustava 3.2 dana sa
x ≡ x
0
(modm
1
m
2
. . . m
r
).
Dokaz. Neka je m = m
1
m
2
. . . m
r
. Definiramo n
j
=
m
m
j
, j = 1, . . . , r.
Tada je (n
j
, m
j
) = 1. Da bismo pokazali da sustav 3.2 ima rjeˇsenja koristimo
sljede´ci teorem:
Teorem 3.4 Ako su a i m prirodni brojevi te b ∈ Z, kongruencija ax ≡
b(modm) ima rjeˇsenje ako i samo ako d = (a, m) dijeli b.
Ako je ovaj uvjet zadovoljen, onda gornja kongruencija ima d rjeˇsenja
modulo m.
Prema teoremu 3.4 za a
j
∈ Z i brojeve n
j
, m
j
takve da je (n
j
, m
j
) = 1
vrijedi da postoji x
j
∈ Z koji je rjeˇsenje kongruencije n
j
x
j
≡ a
j
(modm
j
),
j = 1, . . . , r.
Uzmimo sada da je x
0
= n
1
x
1
+ n
2
x
2
+ . . . + n
r
x
r
.
ˇ
Zelimo pokazati da
ako je x
0
jedno rjeˇsenje sustava 3.2 da su tada sva rjeˇsenja tog sustava dana
sa x ≡ x
0
(modm
1
m
2
. . . m
r
).
Za x
0
= n
1
x
1
+n
2
x
2
+. . . +n
r
x
r
vrijedi:
x
0
≡ n
j
x
j
≡ a
j
(modm
j
)
tj. x
0
je rjeˇsenje sustava 3.2.
Neka su sada x i y dva rjeˇsenja sustava 3.2. Tada vrijedi
x ≡ a
j
(modm
j
)
y ≡ a
j
(modm
j
), j = 1, . . . , r
(jer x i y moraju zadovoljavati svaku kongruenciju).
Oduzimanjem tih dviju kongruencija dobivamo:
x −y ≡ 0(modm
j
), j = 1, . . . , r
tj.
x ≡ y(modm
j
), j = 1, . . . , r
Kako su m
j
-ovi u parovima relativno prosti, vrijedi
x ≡ y(modm
1
m
2
. . . m
r
),
ˇcime je teorem dokazan.
60 3.3. RELACIJA EKVIVALENCIJE
Primjer 3.11 Rijeˇsite sustav kongruencija
x ≡ 1(mod5)
x ≡ 5(mod7)
x ≡ 4(mod11)
Rjeˇsenje:
m
1
= 5, m
2
= 7, m
3
= 11
(m
i
, m
j
) = 1, ∀i, j = 1, 2, 3
m = m
1
m
2
m
3
= 385
n
1
=
m
m
1
=
385
5
= 77
n
2
=
m
m
2
=
385
7
= 55
n
3
=
m
m
3
=
385
11
= 35
x = n
1
x
1
+n
2
x
2
+n
3
x
3
x = 77x
1
+ 55x
2
+ 35x
3
, pri ˇcemu x
1
, x
2
, x
3
zadovoljavaju
77x
1
≡ 1(mod5)
55x
1
≡ 5(mod7)
35x
1
≡ 4(mod11)
75x
1
+ 2x
1
≡ 1(mod5) ⇒2x
1
≡ 1(mod5) ⇒x
1
≡ 3(mod5)
49x
2
+ 6x
2
≡ 5(mod7) ⇒6x
2
≡ 5(mod7) ⇒x
2
≡ 2(mod7)
33x
3
+ 2x
3
≡ 4(mod11) ⇒2x
3
≡ 4(mod11) ⇒x
3
≡ 2(mod11)
x
0
= 77 3 + 55 2 + 35 2 = 411 ⇒
x ≡ 411(mod385)
x ≡ 26(mod385)
3.3.3 Aritmetika u Z
k
Budu´ci da je kongruencija modulo k relacija ekvivalencije, ona definira par-
ticiju skupa Z u neprazne disjunktne klase X
0
=
¯
0, X
1
=
¯
1, ..., X
k−1
= k −1.
Znamo da je
Z =
k−1
_
i=0
X
i
.
Definicija 3.9 Skup cijelih brojeva modulo k u oznaci Z
k
je skup svih klasa
ekvivalencije s obzirom na kongruenciju na Z.
POGLAVLJE 3. DISKRETNA MATEMATIKA 61
Dakle, Z
k
je kvocijentni skup od Z s obzirom na ≡ .
Aritmetiku u Z
k
uvodimo tako da klase zbrajamo i mnoˇzimo preko zbra-
janja i mnoˇzenja predstavnika pojedinih klasa.
Dakle zbrajanje ⊕ i mnoˇzenje ⊗ klasa definiramo na sljede´ci naˇcin:
[a]
k
⊕[b]
k
= [a +b]
k
,
[a]
k
⊗[b]
k
= [ab]
k
.
Iako se svaka klasa moˇze predstaviti preko beskonaˇcno mnogo pred-
stavnika, pokazuje se da je rezultat primjene ovih dviju operacija ne ovisi
o predstavnicima klasa. Klasu s ostacima 0 oznaˇcavamo ˇcesto s 0, a onu s
ostacima jednakim 1 s 1.
Teorem 3.5 Operacije zbrajanja ⊕ i mnoˇzenja ⊗, za a, b, c ∈ Z
k
, imaju
sljede´ca svojstva:
1. a ⊕b ∈ Z
k
,
2. a ⊕b = b ⊕a,
3. (a ⊕b) ⊕c = a ⊕(b ⊕c) ,
4. a ⊕0 = a.
5. a ⊗b ∈ Z
k
,
6. a ⊗b = b ⊗a,
7. (a ⊗b) ⊗c = a ⊗(b ⊗c) ,
8. a ⊗1 = a,
9. a ⊗(b ⊕c) = (a ⊗b) ⊕(a ⊕c),
10. Za svaki a ∈ Z
k
postoji jedinstveni element −a ∈ Z
k
takav da je a
⊕(−a) = 0.
Iz svojstva 10 slijedi da svaki element iz Z
k
ima aditivni inverz. Iz
prethodne toˇcke znamo da ´ce multiplikativni element postojati jedino ako
je k prost broj. Nabrojena svojstva ´ce osigurati da (Z
k
, ⊕, ⊗) ima strukturu
polja za sluˇcaj kad je k prost broj o ˇcemu ´ce biti viˇse govora u poglavlju o
algebarskim strukturama.
62 3.3. RELACIJA EKVIVALENCIJE
3.3.4 Joˇs neka svojstva binarnih relacija
Evo joˇs nekih svojstava binarnih relacija, koja su nam potrebna za definiciju
uredajnih relacija.
Definicija 3.10 Binarna relacija ρ ⊆ AA je:
1. irefleksivna ako vrijedi
(∀x ∈ A) (x, x) ∈ ρ
c
,
2. antisimetriˇcna ako vrijedi
(∀x, y, ∈ A) (x, y) ∈ ρ ∧ (y, x) ∈ ρ ⇒x = y,
3. asimetriˇcna ako vrijedi
(∀x, y, ∈ A) (x, y) ∈ ρ ⇒(y, x) ∈ ρ
c
,
4. kompletna ako vrijedi
(∀x, y ∈ A, x ,= y) (x, y) ∈ ρ ∨ (y, x) ∈ ρ,
5. strogo kompletna ako vrijedi
(∀x, y ∈ A) (x, y) ∈ ρ ∨ (y, x) ∈ ρ,
Zapiˇsimo joˇs algebarske karakterizacije svojstava binarnih relacija.
Zadan je skup A i ρ ⊆ A A. Paru (a, b) pridruˇzuje se kod c
ab
i vrijedi
c
ab
= 1 ⇔ (a, b)ρ, a c
ab
= 0 ⇔ (a, b) / ∈ ρ. Svojstva binarnih relacija mogu
se algebarski interpretirati pomo´cu kodova na sljede´ci naˇcin:
Svojstvo Algebarska reprezentacija
refleksivnost c
aa
= 1 ∀a ∈ A
irefleksivnost c
aa
= 0 ∀a ∈ A
simetrija c
ab
−c
ba
= 0 ∀a, b ∈ A
antisimetrija c
ab
+c
ba
≤ 1 ∀a, b ∈ A∧ a ,= b
asimetrija c
ab
+c
ba
≤ 1 ∀a, b ∈ A
kompletnost c
ab
+c
ba
≥ 1 ∀a, b ∈ A∧ a ,= b
stroga kompletnost c
ab
+c
ba
≥ 1 ∀a, b ∈ A
tranzitivnost c
ac
≥ c
ab
+c
bc
−1 ∀a, b, c ∈ A
Tablica 3.1
POGLAVLJE 3. DISKRETNA MATEMATIKA 63
3.4 Uredajne binarne relacije
Postoje relacije koje imaju po nekoliko od nabrojanih svojstava. Za pro-
blem uredivanja skupova posebno su vaˇzne sljede´ce relacije koje zajedniˇckim
imenom zovemo uredajne relacije:
1. relacija djelomiˇcnog (parcijalnog) uredaja: refleksivna, antisimetriˇcna,
tranzitivna;
2. relacija slabog uredaja: strogo kompletna, tranzitivna;
3. relacija kvazi-uredaja: refleksivna, tranzitivna.
4. relacija totalnog (linearnog) uredaja: antisimetriˇcna, strogo komplet-
na, tranzitivna.
3.4.1 Relacija parcijalnog uredaja
Relacija parcijalnog uredaja poop´cava relaciju ≤ na skupu realnih brojeva,
tako da preuzima tri njezina najvaˇznija svojstva. Prisjetimo se da za relaciju
≤ vrijedi svojstvo refleksivnosti jer je a ≤ a za svaki realni broj a. Nadalje,
ta je relacija antisimetriˇcna jer iz a ≤ b i b ≤ a slijedi a = b. Na kraju,
relacija je i tranzitivna jer oˇcigledno vrijedi da ako je a ≤ b i b ≤ c, tada je
a ≤ c. To je razlog ˇsto ovu relaciju ˇcesto oznaˇcavamo oznakom _ .
Definicija 3.11 Parcijalno uredeni skup je par (A, _) koji se sastoji od
skupa A i relacije _ parcijalnog uredaja na skupu A. Relacija parcijalnog
uredaja je refleksivna, antisimetriˇcna i tranzitivna.
Primjer 3.12 Poznati primjeri parcijalno uredenih skupova su
1. (R, ≤), tj. skup realnih brojeva uz relaciju ≤,
2. (P (A) , ⊆), tj. partitivni skup nekog skupa A uz relaciju podskupa
⊆,
3. (N, [), tj. skup prirodnih brojeva uz relaciju dijeljenja bez ostatka.
Primijetite da < nije relacija parcijalnog uredaja na skupovima brojeva
jer ne vrijedi svojstvo refleksivnosti.
Zadatak 3.10 Na skupu prirodnih brojeva N dana je relacija ρ takva da je
aρb ⇔a ≤ 3b. Da li je ρ relacija parcijalnog uredaja?
Za grafiˇcki prikaz relacija parcijalnog uredaja ˇcesto se upotrebljavaju
Hasseovi dijagrami. Hasseovi dijagrami prikazuju elemente skupa kao vrhove
grafa, koriste´ci svojstvo da ako je a ”manji” od b tj. a _ b, vrh a bit ´ce na
slici povezan sa b, ali smjeˇsten ispod njega. Hasseovi dijagrami imaju manje
lukova od usmjerenih grafova koji prikazuju relacije, poˇsto se ne crtaju svi
lukovi, zato jer su neki dani posredno kao kombinacija dvaju ili viˇse lukova.
Na primjer, ako je ¦1¦ ⊆ ¦1, 2¦, ¦1, 2¦ ⊆ ¦1, 2, 3¦ i ¦1¦ ⊆ ¦1, 2, 3¦, vrhovi
¦1¦, ¦1, 2¦, ¦1, 2, 3¦ se crtaju jedan iznad drugog, ali lukovi se crtaju samo
64 3.4. UREDAJNE BINARNE RELACIJE
izmedu ¦1¦ i ¦1, 2¦ te izmedu ¦1, 2¦ i ¦1, 2, 3¦, jer se zbog rasporeda na
razliˇcite visine i postoje´ca dva luka podrazumijeva luk izmedu ¦1¦ i ¦1, 2, 3¦.
Kad je skup parcijalno ureden ne znaˇci da svaka dva elementa skupa
moˇzemo usporedivati. Uzmimo da je A = ¦1, 2, 3¦ i relacija ⊆ dana na
P (A) . Podskupovi ¦1, 2¦ i ¦3¦ nisu usporedivi, tj. ¦1, 2¦ ,⊆ ¦3¦ i ¦3¦
,⊆ ¦1, 2¦.
Definicija 3.12 Parcijalni uredaj na skupu A je linearan ili totalni uredaj
ako vrijedi:
∀a, b ∈ A, a _ b ili b _ a.
(A, _) je linearno ureden skup.
Za linearno uredeni skup upotrebljavaju se nazivi totalno uredeni skup
i lanac.
Primjer 3.13 Parcijalno uredeni skup (R, ≤) je lineano uredeni skup, ali
op´cenito (P (A) , ⊆) nije linearno uredeni skup.
Definicija 3.13 Neka je (A, _) parcijalno ureden skup i B ⊆ A. Tada
1. b ∈ B je najve´ci element u B ako
∀b

∈ B ⇒b

_ b,
2. b ∈ B je najmanji element u B ako
∀b

∈ B ⇒b _ b

.
Primjer 3.14 (P (¦a, b¦) , ⊆) prikaˇzite pomo´cu grafa. Ispitajte postojanje
najve´ceg i najmanjeg elementa za razliˇcite podskupove ovog skupa.

{a}
{a,b}
{b}
Slika 3.3
POGLAVLJE 3. DISKRETNA MATEMATIKA 65
a) B = ¦¦a¦¦ , ¦a¦ je najve´ci i najmanji element,
b) B = ¦¦a¦ , ¦b¦¦ nema ni najve´ceg ni najmanjeg elementa,
c) B = ¦∅, ¦a¦¦
¦a¦ je najve´ci element, ∅ je najmanji element.
Zadatak 3.11 Parcijalno uredeni skup iz prethodnog primjera prikaˇzite
pomo´cu Hasseovog dijagrama.
Primjer 3.15 Nacrtajmo Hasseov dijagram za (P(a, b, c), ⊆).

{b} {a} {c}
{a,b}
{a,c} {b,c}
{a,b,c}
Slika 3.4
Zadatak 3.12 Za parcijalno uredeni skup iz prethodnog primjera nacrtajte
usmjereni graf.
Teorem 3.6 Neka je (A, _) parcijalno ureden skup i B ⊆ A. Ako u B
postoji najve´ci element, onda je on jedinstven.
Dokaz. Neka su a, b dva razliˇcita, najve´ca elementa.
a je najve´ci ⇒b _ a,
b je najve´ci ⇒a _ b.
Zbog antisimetriˇcnosti slijedi da je onda a = b.
Definicija 3.14 Binarna relacija ρ na A je relacija dobrog uredaja ako je
ρ linearni uredaj na A i ako svaki neprazni podskup od A ima najmanji
element.
66 3.4. UREDAJNE BINARNE RELACIJE
Primjer 3.16 (N, ≤) je relacija dobrog uredaja.
(Z, ≤) , (R, ≤) nisu relacije dobrog uredaja.
U parcijalno uredenom skupu se osim najve´ceg elementa moˇze definirati
i maksimalni element, koji ne mora biti jedinstven. Osnovno je kod definicije
maksimalnog elementa da ne postoji element koji je od njega ve´ci, ali on ne
mora biti od svih ve´ci. To se moˇze dogoditi zato jer u parcijalno uredenom
skupu ne moraju svi elementi biti usporedivi. Dakle, tko je god usporediv s
maksimalnim elementom, manji je od njega. S druge strane moˇze postojati
neki drugi maksimalni element koji nije usporediv s prvim.
Definicija 3.15 Neka je (A, _) parcijalno ureden skup i B ⊆ A. Tada
1. b ∈ B je maksimalni element u B ako b

∈ B i b

_ b ⇒b

= b,
2. b ∈ B je minimalni element u B ako b

∈ B i b _ b

⇒b

= b.
Za svaka dva elementa u parcijalno uredenom skupu moˇzemo definirati
najve´cu donju medu i najmanju gornju medu na sljede´ci naˇcin.
Definicija 3.16 Neka je (A, _) parcijalno ureden skup i a, b ∈ A. Tada je
d ∈ A najve´ca donja meda elemenata a, b, ako vrijedi da je
1. d _ a, d _ b,
2. ako postoji d

∈ A takav da je d

_ a, d

_ b, onda je d

_ d.
Definicija 3.17 Neka je (A, _) parcijalno ureden skup i a, b ∈ A. Tada je
g ∈ A najmanja gornja meda elemenata a, b, ako vrijedi da je
1. a _ g, b _ g,
2. ako postoji g

∈ A takav da je a _ g

, b _ g

, onda je g _ g

.
Uoˇcimo da je na skupu realnih brojeva uz relaciju ≤ najve´ca donja meda
dva broja manji od dva broja, a najmanja gornja meda jednaka je ve´cem
od brojeva. Na parcijalno uredenom skupu (P (A) , ⊆) najve´ca donja meda
elemenata X, Y je X ∩ Y, a najmanja gornja meda je X ∪ Y.
Definicija najve´ce donje i najmanje gornje mede moˇze se proˇsiriti na
nizove elemenata parcijalno uredenog skupa. Posebno, u skupovima brojeva
kao ˇsto su R, Q, Z, N mogu se promatrati beskonaˇcni nizovi brojeva i njihove
mede. Postavlja se pitanje postoji li strogo padaju´ci niz brojeva u svakom
od promatranih skupova brojeva. Oˇcito, u skupu prirodnih brojeva strogo
padaju´ci niz ne postoji. Nadalje, moˇzemo rjeˇsavati problem da li omedeni,
strogo padaju´ci niz racionalnih brojeva ima najve´cu donju medu koja je
racionalan broj. Odgovor nam je poznat iz matematiˇcke analize i negativan
POGLAVLJE 3. DISKRETNA MATEMATIKA 67
je. Medutim ograniˇceni, strogo padaju´ci niz realnih brojeva ima najve´cu
donju medu koja je realni broj. Ova je tvrdnja vrlo vaˇzna, pa se ˇcesto
uzima kao aksiom za gradnju skupa realnih brojeva. Taj aksiom zovemo
aksiomom potpunosti za skup realnih brojeva.
Definicija 3.18 Parcijalno uredeni skup (A, _) kod kojeg svaka dva ele-
menta imaju najve´cu donju medu i najmanju gornju medu zovemo mreˇza
(eng. lattice).
Parcijalno uredeni skupovi (R, ≤) i (P (A) , ⊆) su mreˇze.
Zadatak 3.13 Dokaˇzite da ako postoji najve´ca donja meda dvaju eleme-
nata u parcijalno uredenom skupu onda je ona jedinstvena.
Dokaˇzite da ako postoji najmanja gornja meda dvaju elemenata u par-
cijalno uredenom skupu onda je ona jedinstvena.
Zadatak 3.14 Pokaˇzite da je (P (A) , ⊆) (k (A) ≥ 2) parcijalno uredeni
skup koji ima najve´ci i najmanji element, ali skup nije linearno ureden.
3.4.2 Relacija djeljivosti na skupu cijelih brojeva
Neka su a i b dva cijela broja. Kaˇzemo da ako a dijeli b znaˇci da postoji
neki drugi cijeli broj q takav da je b = qa. U tom sluˇcaju upotrebljavamo
notaciju a [ b i kaˇzemo da je a divizor (ili djelitelj ili faktor), q kvocijent, te
da a dijeli b. Broj b je tada viˇsekratnik broja a. Ukoliko a ne dijeli b piˇsemo
a b.
Uvijek vrijedi 1 [ a, za svaki cijeli broj a i b [ 0, za svaki cijeli broj b ,= 0.
Primjer 3.17 Neka su a, b, c ∈ Z i a [ b, a [ c. Dokaˇzimo da tada a dijeli
linearnu kombinaciju brojeva b i c, tj. da vrijedi a [ (xb +yc) za sve cijele
brojeve x i y. Tvrdnju ´cemo dokazati. Iz pretpostavki tvrdnje slijedi da
postoje kvocijenti q i p takvi da je b = qa i c = pa. Za bilo koja dva cijela
broja x i y raˇcunamo: xb + yc = xqa + ypa = (xq +yp) a, ˇcime je tvrdnja
dokazana.
Propozicija 3.7 Uredeni skup (N, [) je parcijalno ureden skup.
Dokaz. Treba ispitati vrijede li tri svojstva relacije parcijalnog uredaja:
refleksivnost, antisimetriˇcnost i tranzitivnost.
Refleksivnost vrijedi jer za svaki prirodni broj n vrijedi n [ n.
Da bismo dokazali antisimetriˇcnost pretpostavimo da postoje dva prirod-
na broja n i m takva da vrijedi n [ m i m [ n. Slijedi da postoje kvocijenti
q i p takvi da je m = qn i n = pm. Uvrˇstavanjem n iz druge jednakosti u
prvu dobijamo m = pqm, pa slijedi da je pq = 1. U skupu prirodnih brojeva
mogu´ce je samo jedno rjeˇsenje i to p = q = 1. Iz toga slijedi m = n, pa je
antisimetriˇcnost relacije [ na skupu prirodnih brojeva dokazana. Primjetimo
68 3.4. UREDAJNE BINARNE RELACIJE
da u skupu cijelih brojeva nalazimo i rjeˇsenje p = q = −1, koje ´ce znaˇciti da
ne vrijedi antisimetriˇcnost relacije [ na skupu Z.
Dokaˇzimo sada tranzitivnost. Neka su n, m, s ∈ N takvi da vrijedi n [ m
i m [ s. Treba dokazati da n [ s. Iz pretpostavke slijedi da postoje kvocijenti
q i p takvi da je m = qn i s = pm. Iz toga slijedi da je s = pqn, ˇsto znaˇci da
n dijeli s.
Zapamtimo da (Z, [) nije parcijalno uredeni skup. Koja svojstva ne vri-
jede?
Znamo da je najve´ci zajedniˇcki djelitelj dva cijela broja razliˇcita od nule,
najve´ci cijeli broj koji dijeli oba zadana broja. Najve´ci zajedniˇcki djelitelj od
a i b, zovemo joˇs i mjera dva broja i oznaˇcavamo ga sa M (a, b) ili D(a, b) .
Pogledajmo prethodnu definiciju u kontekstu parcijalno uredenih sku-
pova. Ovdje to znaˇci da parcijalno uredenom skupu (N, [) interpretiramo
pojam najve´ceg zajedniˇckog djeljitelja kao najve´cu donju medu para bro-
jeva. To nam i garantira jedinstvenost najve´ceg zajedniˇckog djelitelja para
prirodnih brojeva.
Propozicija 3.8 Najve´ci zajedniˇcki djelitelj para prirodnih brojeva u par-
cijalno uredenom skupu (N, ≤) predstavlja najve´cu donju medu tih brojeva.
Korolar 3.1 Najve´ci zajedniˇcki djelitelj dvaju prirodnih brojeva je jedin-
stveni je prirodni broj.
Problem nalaˇzenja najve´ceg zajedniˇckog djelitelja obraden je u poglavlju
o algoritmima. Tamo je izloˇzen i Euklidov algoritam pomo´cu kojeg se efek-
tivno nalazi najve´ci zajedniˇcki djelitelj para cijelih brojeva razliˇcitih od nule.
On se temelji na teoremu o dijeljenju prirodnih brojeva, koji tvrdi da za
svaka dva prirodna broja a, b postoje prirodni brojevi q i r takvi da vrijedi
a = qb+r i 0 ≤ r < b. Iz toga izlazi da je M (a, b) = M (b, r) , pa tu ˇcinjenicu
ponavljamo uzastopno u Euklidovom algoritmu.
Za cijele brojeve a, b kaˇzemo da su relativno prosti ako im je M (a, b) = 1,
tj. 1 je jedini prirodni broj koji dijeli relativno proste brojeve.
Prosti brojevi imaju istaknutu ulogu. Ponovimo, prirodan broj p ≥ 2 ≥
je prost broj ako je djeljiv samo s brojem jedan i sa samim sobom. Prirodne
brojeve koji nisu prosti zovemo sloˇzenim brojevima. Posebno zanimljiv pro-
blem teorije brojeva je problem nalaˇzenja prostih brojeva. Za odredivanje
relativno malih prostih brojeva upotrebljava se tzv. Eratostenovo sito.
ˇ
Cinjenica da se svaki prirodan broj n > 1 moˇze na jedinstveni naˇcin
prikazati u obliku produkta prostih brojeva zove se fundamentalni teorem
aritmetike. Ovaj se teorem dokazuje jakim oblikom matematiˇcke indukcije.
Definira se i najmanji zajedniˇcki viˇsekratnik cijelih brojeva a i b razliˇcitih
od nule kao najmanji prirodni broj koji je viˇsekratnik brojeva a i b. Oznaka
za najmanji zajedniˇcki viˇsekratnik je V (a, b) .
POGLAVLJE 3. DISKRETNA MATEMATIKA 69
Propozicija 3.9 Najmanji zajedniˇcki viˇsekratnik dvaju prirodnih brojeva
u parcijalno uredenom skupu (N, ≤) predstavlja najmanju gornju medu tih
brojeva.
Korolar 3.2 Najmanji zajedniˇcki viˇsekratnik dvaju prirodnih brojeva je
jedinstven.
Znamo da za svaka dva prirodna broja postoje njihovi zajedniˇcki djelite-
lji, jedan od njih je uvijek broj 1, pa je skup zajedniˇckih djelitelja neprazan.
S druge strane taj je skup omeden odozgo sa zadanim prirodnim brojevima.
Znamo da svaki odozgo omedeni skup prirodnih brojeva ima najve´ci element,
pa to osigurava postojanje najve´ceg zajedniˇckog djelitelja. Nadalje, poznato
je da uvijek postoji barem jedan zajedniˇcki viˇsekratnik para n, m prirodnih
brojeva (broj nm) pa postoji i njihov najmanji zajedniˇcki viˇsekratnik. Pos-
tojanje najmanjeg zajedniˇckog viˇsekratnika je posljedica principa dobrog
uredaja za prirodne brojeve. Princip dobrog uredaja (eng. Well-Ordering
Principe) postulira da svaki neprazni podskup skupa prirodnih brojeva ima
najmanji element. Kao posljedicu ovih razmatranja imamo konstataciju da
svaki par prirodnih brojeva ima najmanji zajedniˇcki viˇsekratnik i najve´cu
zajedniˇcku mjeru pa parcijalno uredeni skup (N, [) ispunjava zahtjeve da
bude mreˇza.
Propozicija 3.10 Parcijalno uredeni skup (N, [) je mreˇza.
Zadatak 3.15 Pokaˇzite da za cijele brojeve a, b vrijedi
M (a, b) V (a, b) = [ab[ .
3.5 Funkcije
Pojam funkcije toliko je vaˇzan da se na razliˇcite naˇcine i u razliˇcitim ulogama
pojavljuje u svim granama matematike, ali i u drugim znanstvenim disci-
plinama i praktiˇcnim problemima.
Evo op´cenite definicije funkcije.
Definicija 3.19 Funkcija f je preslikavanje (pridruˇzivanje) elemenata iz-
medu dva skupa (domene i kodomene) i to takvo da svakom elementu pr-
vog skupa (domene) pridruˇzuje jedan i samo jedan element drugog skupa
(kodomene).
Funkcija se moˇze shvatiti i kao binarna relacija f na Kartezijevom pro-
duktu AB sa svojstvom da za svaki a ∈ A, postoji jedinstveni b ∈ B takav
da je (a, b) ∈ f. Dakle, svi uredeni parovi u relaciji koja je ujedno i funkcije
imaju medusobno razliˇcite prve komponente. Piˇsemo
˙
f : A → B, gdje A
predstavlja domenu, a B kodomenu funkcije f.
70 3.5. FUNKCIJE
Funkcije se mogu zadavati formulom, nabrajanjem uredenih parova, gra-
fiˇcki te pomo´cu svojstva. Nabrajanjem elemenata funkcija se moˇze za-
dati iskljuˇcivo u diskretnom sluˇcaju, a posebno kad radimo s konaˇcnim
skupovima. Pridruˇzivanje koje svakom gradaninu Hrvatske pridruˇzuje nje-
gov JMBG (jedinstveni matiˇcni broj gradana) je primjer funkcije koja se
moˇze zadati nabrajanjem elemenata. Pri tome je prvi ˇclan para gradanin
Hrvatske (opisan preko odredenih atributa), a drugi ˇclan para je 13-tero
znamenkasti prirodni broj.
Definicija 3.20 Funkcije f i g su jednake ako
1. imaju iste domene,
2. imaju iste kodomene,
3. Za svaki x ∈ D
f
= D
g
je f(x) = g(x).
Primjer 3.18 Neka su zadani skupovi A=¦ 1, 2, 3¦ i B=¦ 1, 2, 3, 4, 5, 6, 7,
8, 9¦ i funkcija f : A →B kao relacija f = ¦(1, 1) , (2, 4) , (3, 9)¦ . Tu funkciju
moˇzemo zadati i pomo´cu formule f (x) = x
2
uz obavezni dodatak da je
˙
f : A → B. Funkcija zadana istom formulom, ali s domenom i kodomenom
u skupu realnih brojeva bila bi predstavljena parabolom u koordinatnom
sustavu u ravnini.
Na razini pridruˇzivanja elemenata, funkciju f : A → B piˇsemo 1 →
1, 2 →4, 3 →9.
Kad se radi o funkciji f obiˇcno umjesto (a, b) ∈ f piˇsemo b = f (a) .
Odnosno, za svaki b ∈ B jednadˇzba b = f (x) ima rjeˇsenje x ∈ A.
3.5.1 Kompozicija funkcija
Neka su f : T
f
→ A, g : T
g
→ B funkcije. Ako je B ⊆ T
f
tada za ∀x ∈
T
f
moˇzemo definirati kompoziciju funkcija f i g, (f ◦ g) (x) = f (g (x)) .
Dakle, kompozicija se sastoji od dva preslikavanja: x g (x), pa onda
g (x) f (g (x)) .
Identiteta ili identiˇcno preslikavanje na skupu A je takvo preslikavanje
id : A →A za koje je
id (x) = x, ∀x ∈ A.
Za svaku funkciju F vrijedi
id ◦ f = f.
POGLAVLJE 3. DISKRETNA MATEMATIKA 71
3.5.2 Bijekcija. Inverzna funkcija
Definicija 3.21 Funkcija f : D → K je injekcija ako razliˇcite elemente iz
domene preslikava u razliˇcite elemente kodomene, tj. ako
∀x
1
, x
2
∈ D, x
1
,= x
2
=⇒f (x
1
) ,= f (x
2
) .
Funkcija f : D → K je surjekcija ako svaki element iz kodomene ima
svoju prasliku u domeni, tj. ako
∀y ∈ K, ∃x ∈ D takav da vrijedi f (x) = y.
Funkcija f : D →K je bijekcija ako je surjekcija i injekcija.
Teorem 3.7 Za funkciju f : D → K koja je bijekcija postoji inverzna
funkcija f
−1
: K →D za koju vrijedi
f ◦ f
−1
= id [
K
, f
−1
◦ f = id [
D
(3.3)
Zadatak 3.16 Ispitajte da li je funkcija f (a, b) = 3a + b, f : N N → N
surjekcija, injekcija, odnosno bijekcija.
3.5.3 Funkcije kao relacije
Definicija 3.22 Relacija f ⊆ AB je funkcija ako
(∀a ∈ A) (∃b ∈ B) tako da je (a, b) ∈ f
i ne postoje dva razliˇcita para s istom prvom komponentom.
Definicija 3.23 Funkcija f je konstantna funkcija ili konstanta ako
∃!b ∈ B takav da (∀a ∈ A) (a, b) ∈ f.
Zadatak 3.17 Napiˇsite definicije surjekcije, injekcije i bijekcije koriste´ci po-
jam funkcije kao relacije.
Definicija 3.24 Neka je f bijekcija. Inverzna funkcija f
−1
je obrat relacije
f
_
f
−1
=
¯
f
_
, tj.
f
−1
= ¦(b, a) : (a, b) ∈ f¦ .
Zadatak 3.18 Zadana je funkcija f : R →R dana sa f (x) = x[x[ . Ispitajte
je li zadana funkcija f bijekcija, te ukoliko jest, nadite njezinu inverznu
funkciju.
Zadatak 3.19 Pretpostavimo da je S skup svih oˇzenjenih ljudi i f : S →S
funkcija koja svakoj osobi iz S pridruˇzuje njezinog braˇcnog partnera. Je li
zadana funkcija bijekcija? Izraˇcunajte f ◦ f.
72 3.5. FUNKCIJE
Definicija 3.25 Permutacija je bijekcija na skupu A.
Ako je A konaˇcan skup, tada je funkcija p : A → A injekcija ako i samo
ako je p surjekcija. Svaka se permutacija konaˇcnog skupa moˇze prikazati
kao
p =
_
1 2 . . . n
p (1) p (2) . . . p (n)
_
.
Definicija 3.26 Svaki sluˇcaj kad u permutaciji vrijedi
i < j ⇒p (i) > p (j)
zovemo inverzijom u p.
Oznaˇcimo sa I (p) ukupan broj inverzija u p.
Definirajmo funkciju sign kao
sign : S
n
→¦−1, 1¦ , sign(p) = (−1)
I(p)
,
gdje je S
n
= ¦1, 2, . . . , n¦.
Ako je sign(p) = 1 kaˇzemo da je permutacija parna.
Ako je sign(p) = −1 kaˇzemo da je permutacija neparna.
Primjer 3.19 Odredite parnost permutacije
p =
_
1 2 3 4 5 6
3 4 2 5 1 6
_
.
3.5.4 Realne funkcije realne varijable
Definicija 3.27 Realna funkcija realne varijable je takva funkcija kod koje su i domena
i kodomena podskupovi skupa realnih brojeva, tj.
f : A → B, A, B ⊆ R.
Realnu funkciju zovemo algebarskom ako je argument x podvrgnut konaˇcnom broju
algebarskih operacija (zbrajanju, oduzimanju, mnoˇzenju konstantom, mnoˇzenju, dijelje-
nju, potenciranju racionalnim brojem).
Funkcije koje nisu algebarske zovemo transcedentnima.
Za algebarsku funkciju kaˇzemo da je racionalna ako se kao eksponent varijable javlja
samo cijeli broj.
Algebarske funkcije koje nisu racionalne zovemo iracionalnima.
Polinom n-tog stupnja (cijela racionalna funkcija) je funkcija oblika
f (x) = a
n
x
n
+ a
n−1
x
n−1
+ ... + a
2
x
2
+ a
1
x + a
0
,
gdje su a
0
, a
1
, a
2
, ..., a
n−1
, a
n
∈ R, n ∈ N, a
n
,= 0.
Racionalna funkcija (razlomljena racionalna funkcija) je kvocijent dvaju polinoma, tj.
funkcija oblika
f (x) =
P (x)
Q(x)
, (3.4)
gdje su P (x) , Q(x) polinomi i Q(x) ,= 0.
POGLAVLJE 3. DISKRETNA MATEMATIKA 73
Specijalni sluˇcaj racionalne funkcije je homografska funkcija, odnosno funkcija oblika
f (x) =
ax + b
cx + d
,
uz uvijet x ,= −
d
c
.
Od transcendentnih funkcija spomenimo:
• ekponencijalnu i logaritamsku, te
• trigonometrijske i ciklometrijske (arkus) funkcije.
Domena realnih funkcija realne varijable
Navedimo domene vaˇznijih realnih funkcija realne varijable.
• racionalna funkcija oblika 3.4 ima domenu
T
f
=|x ∈ R [ Q(x) ,= 0¦ .
• iracionalna funkcija oblika f (x) =
2k

g (x), k ∈ Z ioma domenu
T
f
=|x ∈ R [ g (x) ≥ 0¦ .
• logaritamskoj funkciji oblika f (x) = log
a
g (x) , (a > 0, a ,= 1) domena je
T
f
=|x ∈ R [ g (x) > 0¦ .
• ciklomerijske funkcije f (x) = arcsin(g (x)) i f (x) = arccos (g (x)) imaju domenu
T
f
=|x [ −1 ≤ g (x) ≤ 1¦ .
3.6 Graf funkcije
Graf Γ
f
funkcije y = f (x) je skup toˇcaka ravnine definiran sa
Γ
f
= |(x, f (x)) [ x ∈ T
f
¦ .
Graf implicitno zadane funkcije (jednadˇzbe) F (x, y) = 0 s varijablama x, y je skup
toˇcaka (x, y) ravnine, koje zadovoljavaju jednadˇzbu.
3.6.1 Neka svojstva realnih funkcija realne varijable
Slijede vaˇznija svojstva realnih funkcija realne varijable.
• Za broj x
0
∈ R kaˇzemo da je nultoˇcka funkcije
y = f (x) ako je f (x
0
) = 0.
• Za funkciju y = f (x) kaˇzemo da je ograniˇcena odozgo (odozdo) ako ∃M ∈ R
(∃m ∈ R), takav da je f (x) ≤ M (f (x) ≥ m), ∀x ∈ T
f
. Funkcija je ograniˇcena
(omedena) ako je ograniˇcena i odozdo i odozgo. Realni broj M zovemo gornjom
medom, a m donjom medom funkcije. Najmanji realan broj M, koji je gornja
meda funkcije, zovemo najmanjom gornjom medom, a najve´ci realan broj m, koji
je donja meda funkcije, zovemo najve´com donjom medom.
74 3.6. GRAF FUNKCIJE
• Za funkciju y = f (x) kaˇzemo da raste (pada) na intervalu I ⊆ T
f
ako za svaki
izbor
x
1
, x
2
∈ I, x
1
≤ x
2
vrijedi f (x
1
) ≤ f (x
2
) (f (x
1
) ≥ f (x
2
)).
Kaˇzemo da funkcija strogo raste (strogo pada) ako za svaki izbor
x
1
, x
2
∈ I, x
1
< x
2
vrijedi f (x
1
) < f (x
2
) (f (x
1
) > f (x
2
)).
Funkciju koja raste, odnosno pada, na cijelom podruˇcju definicije zovemo monoto-
nom.
• Za funkciju y = f (x) kaˇzemo da ima lokalni maksimum u toˇcki x
M
ako
∃O, O ⊆ T
f
, x
M
∈ O, takav da ∀x, x ∈ O, f (x) ≤ f (x
M
) .
Vrijednost f (x
M
) funkcije f u toˇcki x
M
zovemo maksimalnom vrijednoˇs´cu. Za
funkciju y = f (x) kaˇzemo da ima lokalni minimum u toˇcki x
m
ako
∃O, O ⊆ T
f
, x
m
∈ O takav da ∀x, x ∈ O, f (x) ≥ f (x
m
) .
Vrijednost f (x
m
) funkcije f u toˇcki x
m
zovemo minimalnom vrijednoˇs´cu.
Jednim imenom za lokalni maksimum i minimum kaˇzemo da su lokalni ekstremi
funkcije.
Za funkciju y = f (x) kaˇzemo da ima strogi lokalni maksimum u toˇcki x
M
ako
∃O, O ⊆ T
f
, x
M
∈ O takav da ∀x, x ∈ O, f (x) < f (x
M
) .
Analogno definiramo strogi lokalni minimum.
• Za funkciju y = f (x) kaˇzemo da je periodiˇcna ako
∃T ∈ R, T > 0 takav da vrijedi f (x + T) = f (x) , ∀x ∈ T
f
. (3.5)
Za T kaˇzemo da je period funkcije f. Najmanji realni broj T
0
, takav da vrijedi 3.5,
zovemo osnovnim periodom funkcije f.
• Za funkciju y = f (x) kaˇzemo da je parna ako vrijedi
f (−x) = f (x) , ∀x ∈ T
f
.
Za funkciju y = f (x) kaˇzemo da je neparna ako vrijedi
f (−x) = −f (x) , ∀x ∈ T
f
.
Graf parne funkcije je osno simetriˇcan s obzirom na os y, a graf neparne funkcije
je centralno simetriˇcan s obzirom na ishodiˇste.
Ve´cina funkcija nisu ni parne ni neparne.
Eksponencijalne funkcije
Eksponencijalna funkcija je oblika
f (x) = a
x
, a > 0, a ,= 1, f : R → ¸0, ∞)
Svojstva:
1. a
0
= 1, ∀a.
2. a
x
> 0, ∀x ∈ R.
3. Os x je horizontalna asimptota.
Sluˇcaj 3.1 0 < a < 1.
Funkcija pada na cijeloj domeni.
f (x) → 0 kad x → +∞.
POGLAVLJE 3. DISKRETNA MATEMATIKA 75
Primjer 3.20 f (x) =

1
2

x
-2 -1 1 2
2
3
4
1
x
y
0
Slika 3.5
Sluˇcaj 3.2 a > 1.
Funkcija raste na cijeloj domeni.
f (x) → 0 kad x → −∞.
Primjer 3.21 f (x) = 2
x
-2 -1 1 2
2
3
4
1
0
x
y
Slika 3.6
76 3.6. GRAF FUNKCIJE
Logaritamska funkcija
f (x) = log
a
x, f : ¸0, ∞) →R
Logaritamska funkcija s bazom a (a > 0, a ,= 1) inverzna je funkcija eksponencijalne
funkcije s bazom a.
Ponovimo osnovna svojstva logaritama. Za realne brojeve a, b i c, pri ˇcemu su a, b > 0,
a ,= 1 vrijedi:
Definicija 3.28
log
a
b = c ⇔ a
c
= b (3.6)
Svojstva:
1. log
a
1 = 0.
2. log
a
a = 1.
3. a
log
a
x
= x.
4. log
a
a
x
= x.
5. log
a
(xy) = log
a
x + log
a
y.
6. log
a
x
y
= log
a
x −log
a
y.
7. log
a
x
p
= p log
a
x, p ∈ R, p,=0.
8. log
a
x =
log
b
x
log
b
a
.
9. log
a
b =
1
log
b
a
.
Sluˇcaj 3.3 0 < a < 1.
Funkcija pada na cijeloj domeni.
f (x) → 0 kad x → +∞.
Primjer 3.22 f (x) = log1
2
x
-1 1 2 3 4
-2
-1
1
2
3
0
x
y
Slika 3.7
POGLAVLJE 3. DISKRETNA MATEMATIKA 77
Sluˇcaj 3.4 a > 1.
Funkcija raste na cijeloj domeni.
f (x) → 0 kad x → −∞.
Primjer 3.23 f (x) = log
2
x
-1 1 2 3 4
-3
-2
-1
1
2
3
0
x
y
Slika 3.8
log
e
x ≡ ln x, e ≈ 2.71... (3.7)
Cjelobrojne funkcije
Cjelobrojne funkcije imaju vaˇznu ulogu u informatici. To su realne funkcije realne vari-
jable, ˇcija je kodomena skup cijelih brojeva. Spomenimo funkciju ”najve´ce cijelo manje
od” (floor - pod) i ”najmanje cijelo ve´ce od” (ceiling - strop). Dakle, za cjelobrojne funkcije
f je kodomena skup cijelih brojeva.
Definicija 3.29 Za svaki realni broj x definiramo ]x_ kao najve´ci cijeli broj manji ili
jednak x.
Za svaki realni broj x definiramo ¸x¸ kao najmanji cijeli broj ve´ci ili jednak od x.
Vrijede sljede´ce nejednakosti medu tim funkcijama:
]x_ ≤ x ≤ ¸x¸ ,
x −1 ≤ ]x_ ≤ x,
x ≤ ¸x¸ ≤ x + 1.
78 3.6. GRAF FUNKCIJE
3.6.2 Konaˇcni i beskonaˇcni skupovi
Skupovi se mogu klasificirati s obzirom na broj elemenata. Medutim, da bi ta klasi-
fikacija imala smisla, tj. da bi nam omogu´cila particiju skupova s obzirom na broj ele-
menta, moramo na skupovima definirati relaciju ekvivalencije. U definiciji jednakobroj-
nosti skupova kljuˇcnu ulogu ima specijalna vrsta relacije - bijektivna funkcija.
Definicija 3.30 Skup A je ekvivalentan (ekvipotentan, bijektivan, jednakobrojan) skupu
B (oznaka: A

= B) ako postoji barem jedna bijekcija skupa A na skup B.
Propozicija 3.11 Relacija

= je relacija ekvivalencije.
Kardinalni broj je klasa ekvivalencije kojoj skup pripada s obzirom na relaciju

=, tj.
zajedniˇcko svojstvo svih ekvipotentnih skupova.
Definicija 3.31 Skup A je konaˇcan ako je prazan ili postoji bijekcija iz A u skup N
n
=
|1, 2, 3, ..., n¦ koji se sastoji od prvih n prirodnih brojeva. Ako A nije konaˇcan onda je
beskonaˇcan.
Ako je A konaˇcan, A ,= ∅ i bijektivan sa N
n
= |1, 2, 3, ..., n¦ , tada on ima n elemenata
i piˇsemo [A[ = n ili k (A) = n. Vrijedi [∅[ = 0.
Primjer 3.24 Skupovi N i R su beskonaˇcni zbog sljede´cih injekcija:
f (x) = 2x,
g (x) =

x + 1, x ≥ 0,
x, x < 0
.
Bijekcija f preslikava skup prirodnih brojeva na skup parnih prirodnih brojeva koji je
njegov podskup, dok bijekcija g preslikava skup realnih brojeva na njegov podskup R \
[0, 1) .
Iako su skupovi N i R beskonaˇcni oni ipak nemaju isti kardinalni broj.
Definicija 3.32 Skup A je prebrojivo beskonaˇcan ako i samo ako [A[ = [N[, a prebrojiv
ako i samo ako je konaˇcan ili prebrojivo beskonaˇcan. Beskonaˇcni skup koji nije prebrojiv
je neprebrojiv.
Oznaka kardinalnog broja skupa prirodnih brojeva je. [N[ = ℵ
0
(alef nula).
Pokazuje se da je [N[ = [Z[ = [Q[ = ℵ
0
.
Propozicija 3.12 Skup ¸0, 1) nije prebrojivo beskonaˇcan i piˇsemo [¸0, 1)[ = c (kontinu-
um).
Propozicija se dokazuje metodom kontradikcije, a dokaz se moˇze prouˇciti u [5], str.
92.
Vrijedi nadalje da je kontinuum ujedno i kardinalni broj skupa realnih brojeva tj.
[R[ = c.
Name´ce se pitanje postoji li kardinalni broj k takav da je ℵ
0
< k < c ? Ovu je hipotezu
postavio veliki njemaˇcki matematiˇcar Georg Cantor (1845-1918) i nazvao je hipoteza kon-
tinuuma.
Paul Cohen je 1966. godine razrijeˇsio hipotezu kontinuuma i za to dobio Fieldsovu
medalju, koja predstavlja najviˇse odlikovanje za matematiku. Odgovor glasi: uz standarni
skup aksioma teorije skupova ne moˇze se odgovoriti na to pitanje. Zato matematiˇcari ovu
hipotezu ponekad dodaju skupu osnovnih aksioma teorije skupova.
Detaljna razrada vaˇzne teme o kardinalnim brojevima moˇze se na´ci u [4] i posebno u
[12].
POGLAVLJE 3. DISKRETNA MATEMATIKA 79
3.7 Rekurzivne relacije
3.7.1 Uvod
Neka je dan niz brojeva a
1
, a
2
, . . . , a
n
, . . .. Najˇceˇs´ce se nizovi zadaju tako
da se eksplicitno zada formula za izraˇcunavanje op´ceg ˇclana niza. Tako su
zadani nizovi u primjeru 3.25.
Primjer 3.25 Nizovi zadani pomo´cu op´ceg ˇclana:
• a
n
= 2
n
• a
n
=
3
n
−1
2
No, ponekad je niz jednostavnije zapisati tako da se vrijednost n-tog
ˇclana niza zada preko prethodnih ˇclanova niza. Takav naˇcin zadavanja
ˇclanova niza naziva se rekurzivno zadavanje ˇclanova niza. Nizovi iz primjera
3.25 mogu se zadati rekurzivno i to je uˇcinjeno u primjeru 3.26.
Primjer 3.26 Nizovi zadani rekurzivno:
• a
k
= 2 a
k−1
, k ≥ 2, a
1
= 2
• a
k
= 3 a
k−1
+ 1, k ≥ 2, a
1
= 1
Aritmetiˇcki niz
Jedan od najpoznatijih rekurzivno zadanih nizova je aritmetiˇcki niz o kojem
govori definicija 3.33:
Definicija 3.33 Neka su a, d ∈ R te neka je d ,= 0. Aritmetiˇcki niz defini-
ramo rekurzivno kao
a
1
= a, a
n
= a
n−1
+d. (3.8)
Pri tome se d zove razlika ˇclanova aritmetiˇckog niza.
Primjer 3.27
• Niz koji se sastoji od prirodnih brojeva redom od najmanjeg prema
ve´cima zadaje se kao aritmetiˇcki niz na sljede´ci naˇcin: a
1
= 1, a
n
=
a
n−1
+ 1.
• Niz koji se sastoji od negativnih cijelih brojeva poredanih od najve´ceg
prema manjima se zadaje ovako: a
1
= −1, a
n
= a
n−1
−1.
80 3.7. REKURZIVNE RELACIJE
Pokuˇsajmo sada zadati op´ci ˇclan aritmetiˇckog niza eksplicitno.
Rekurzivna formula za aritmetiˇcki niz dana je s 3.8. Primijenimo li istu
formulu na n −1 ˇclan niza, dobit ´cemo
a
n
= (a
n−2
+d) +d = a
n
2
+ 2 d
Uzastopnim ponavljanjem primjene formule 3.8 dolazimo do formule
a
n
= (a
1
+
(n−1)×
¸ .. ¸
d +. . . +d) = a
1
+ (n −1) d
Time smo dobili eksplicitnu formulu za izraˇcunavanje op´ceg ˇclana arit-
metiˇckog niza.
Sljede´ca zanimljiva formula je ona koja daje sumu prvih n ˇclanova arit-
metiˇckog niza. Ta je formula dana u sljede´coj propoziciji:
Propozicija 3.13 Neka je sa S
n
oznaˇcena suma prvih n ˇclanova aritmeti-
ˇckog niza. Tada je S
n
dana sljede´com formulom:
S
n
= n a +
n (n −1)
2
d =
n
2
(a
1
+a
n
) (3.9)
Dokaz. Dokaz ide indukcijom po n. Napravite ga sami.
Geometrijski niz
Geometrijski niz je drugi vrlo vaˇzan niz koji se moˇze zadati rekurzivno.
Definicija 3.34 Neka su a, q realni brojevi te neka je q ,= 0, q ,= 1. Tada se
geometrijski niz definira kao
a
1
= a, a
n
= q a
n−1
. (3.10)
Primjer 3.28
• Niz svih potencija broja 2 poredanih od najmanje prema ve´cim: a
1
=
1, a
n
= 2 a
n−1
.
• Rekurzivna definicija geometrijskog niza koji poˇcinje brojem 2, a svaki
sljede´ci broj u nizu dva puta je manji od prethodnog: a
1
= 2, a
n
=
1
2
a
n−1
.
Sliˇcno kao kod aritmetiˇckog reda, izraˇcunat ´cemo eksplicitnu formulu za
izraˇcunavanje op´ceg ˇclana geometrijskog niza. Primijenimo li formulu 3.10
na (n − 1)-vi ˇclan niza i uvrstimo ono ˇsto smo dobili opet u formulu 3.10,
dobit ´cemo
POGLAVLJE 3. DISKRETNA MATEMATIKA 81
a
n
= (a
n−2
q) q = a
n−2
q q = a
n−2
q
2
Ponovimo li taj postupak n −1 puta, dobijamo
a
n
= a
1
(n−1)×
¸ .. ¸
q . . . q = a
1
q
n−1
Za geometrijski se niz, kao i za aritmetiˇcki, moˇze izvesti formula za sumu
prvih n ˇclanova.
Propozicija 3.14 Neka je sa S
n
oznaˇcena suma prvih n ˇclanova geometrij-
skog niza. Tada S
n
iznosi
S
n
= a
1 −q
n
1 −q
(3.11)
Dokaz. Indukcijom po n. Izvedite ga sami.
***
No, geometrijski je red konvergentan za q ∈< −1, 1 >. To znaˇci da, pustimo li da
broj ˇclanova geometrijskog niza raste prema beskonaˇcnosti, njihova ´ce se suma sve viˇse
pribliˇzavati nekom broju koji nije beskonaˇcan. Kojem ´ce se broju pribliˇzavati suma?
Teorem 3.8 Neka je s a
1
i a
n
= q a
n−1
zadan geometrijski niz i neka je q ∈ ¸−1, 1).
Tada je
lim
n→∞
S
n
=
a
1
1 −q
. (3.12)
Dokaz. Potrebno je izraˇcunati limes
lim
n→∞
S
n
= lim
n→∞
a
n

1 −q
n
1 −q
No, ako je q ∈ ¸−1, 1), onda je lim
n→∞
q
n
= 0, pa tvrdnja slijedi iz linearnosti limesa.
Fibonaccijev niz
U XIII. stolje´cu poznati matematiˇcar Leonardo Fibonacci iz Pise, bavio
se problemom pove´canja broja zeˇceva razmnoˇzavanjem. Problem je zadan
na sljede´ci naˇcin: svaki par zeˇceva starih barem dva mjeseca dobiju par
zeˇci´ca svaki mjesec, pri tome je uvijek jedan zeˇci´c muˇskog a jedan ˇzenskog
spola. Ako smo zapoˇceli uzgoj s jednim parom novorodenih zeˇci´ca, koliko
´cemo zeˇceva imati nakon n mjeseci? Fibonacci je dokuˇcio da se broj zeˇceva
pove´cava prema sljede´cem nizu: 1, 1, 2, 3, 5, 8, 13, 21, . . .. Odnosno prema
nizu koji se moˇze zadati rekurzivno kao
f
1
= 1, f
2
= 1, f
n
= f
n−1
+f
n−2
(3.13)
82 3.7. REKURZIVNE RELACIJE
To je joˇs jedan vrlo poznati primjer rekurzivno zadanog niza brojeva.
Naravno, i ovdje se postavlja problem pronalaˇzenja eksplicitne jednadˇzbe za
op´ci ˇclan. Rjeˇsenje tog problema nije, medutim tako oˇcito kao ˇsto je to bio
sluˇcaj u prethodna dva primjera, ve´c je za njegovo rjeˇsavanje potreban razvi-
jeniji matematiˇcki aparat. Stoga ´cemo se problemu eksplicitne formule op´ceg
ˇclana Fibonaccijevog niza vratiti kasnije, kada razvijemo tehnike rjeˇsavanja
rekurzivnih jednadˇzbi.
3.7.2 Rjeˇsavanje rekurzija - karakteristiˇcna jednadˇzba
Definicija 3.35 Neka su c
0
, . . . , c
k−1
konstante i neka je f(n) funkcija.
Tada se jednadˇzba
a
n
= c
k−1
a
n−1
+. . . c
1
a
n−k+1
+c
0
a
n−k
+f(n) (3.14)
naziva linearna nehomogena rekurzivna jednadˇzba k-tog reda s konstantim
koeficijentima, dok se jednadˇzba
a
n
= c
k−1
a
n−1
+. . . c
1
a
n−k+1
+c
0
a
n−k
(3.15)
zove linearna homogena rekurzivna jednadˇzba k-tog reda s konstantim koefi-
cijentima. Za jednadˇzbu 3.15 kaˇzemo da je pripadna homogena jednadˇzba
jednadˇzbe 3.14.
Definicija 3.36 Neka je dana linearna homogena rekurzivna jednadˇzba
3.15. Tada se jednadˇzba
x
k
−c
k
x
k
+. . . c
1
x +c
0
= 0 (3.16)
naziva karakteristiˇcna jednadˇzba linearne homogene rekurzivne jednadˇzbe
3.15
Teorem 3.9 Neka je zadana linearna homogena rekurzivna jednadˇzba 3.15.
Pretpostavimo da karakteristiˇcna jednadˇzba linearne homogene rekurzivne
jednadˇzbe 3.15 ima sve jednostruke i realne korijene x
1
, . . . , x
k
. Tada je op´ce
rjeˇsenje linearne homogene rekurzivne jednadˇzbe 3.15 oblika
a
n
= C
1
x
n
1
+. . . +C
k
x
n
k
.
Dokaz ovog teorema ne´cemo provoditi. Zainteresirani ˇcitatelj dokaz moˇze
na´ci u [12], str. 182.
Primjer 3.29 Izraˇcunajmo sada eksplicitnu formulu za op´ci ˇclan Fibonac-
cijevog niza. Podsjetimo se da rekurzivna formula za op´ci ˇclan Fibonacci-
jevog niza glasi:
f
n
= f
n−1
+f
n−2
, (3.17)
POGLAVLJE 3. DISKRETNA MATEMATIKA 83
uz poˇcetne uvjete
f
1
= f
2
= 1. (3.18)
Karakteristiˇcna jednadˇzba ove rekurzije je kvadratna jednadˇzba
x
2
−x −1 = 0.
Stoga su korijeni ove jednadˇzbe
x
1,2
=
1 ±

1 + 4
2
=
1 ±

5
2
,
pa op´ce rjeˇsenje rekurzije 3.17 glasi:
f
n
= C
1

_
1 +

5
2
_
n
+C
2

_
1 −

5
2
_
n
. (3.19)
Vrijednosti konstanti C
1
i C
2
dobivamo iz poˇcetnih uvjeta. Uvrstimo li
poˇcetne uvjete u jednadˇzbu 3.19 dobivamo sustav jednadˇzbi
f
1
= 1 = C
1

1 +

5
2
+C
2

1 −

5
2
,
f
2
= 1 = C
1

_
1 +

5
2
_
2
+C
2

_
1 −

5
2
_
2
.
(3.20)
Rijeˇsimo li ovaj sustav dobit ´cemo C
1
=
1

5
i C
2
= −
1

5
. Dakle, op´ci ˇclan
Fibonaccijevog niza iznosi
f
n
=
1

5

_
1 +

5
2
_
n

1

5

_
1 −

5
2
_
n
.
Opisali smo kako se izraˇcunava eksplicitna formula homogene linearne
rekurzivne jednadˇzbe s konstantnim koeficijentima u sluˇcaju da su svi kori-
jeni karakteristiˇcne jednadˇzbe razliˇciti i realni. Moˇze se, medutim dogoditi
da karakteristiˇcna jednadˇzba ima viˇsestruke korijene. Tada nam rjeˇsenje
daje sljede´ci teorem.
Teorem 3.10 Neka je dana linearna homogena rekurzivna jednadˇzba k-
tog reda s konstantnim koeficijentima 3.15, te neka njena karakteristiˇcna
jednadˇzba ima t-struki korijen x. Tada x tvori t pribrojnika op´ceg rjeˇsenja
rekurzije 3.15 C
1
x
n
, C
2
n x
n
, . . . , C
t
n
t−1
x
n
.
Ni ovaj teorem ne´cemo dokazivati. Njegov se dokaz takoder moˇze prona´ci
u [12], str. 186. Pogledajmo, rade, kako ovaj teorem funkcionira na konkret-
nom primjeru.
84 3.7. REKURZIVNE RELACIJE
Primjer 3.30 Izraˇcunajmo eksplicitnu formulu za rekurziju
a
n
= 5 a
n−1
−8 a
n−2
+ 4 a
n−3
,
uz poˇcetne uvjete a
1
= 0, a
2
= 2, a
3
= 2.
Karakteristiˇcna jednadˇzba ove rekurzije je
x
3
−5 x
2
+ 8 x −4 = 0.
Uoˇcimo da ovu jednadˇzbu moˇzemo faktorizirati na sljede´ci naˇcin:
(x −1) (x −2)
2
= 0.
Iz posljednje formule slijedi da jednadˇzba ima jednostruki korijen 1 i dvo-
struki korijen 2, pa je njeno op´ce rjeˇsenje oblika:
a
n
= C
1
1
n
+C
2
2
n
+C
3
n 2
n
, (3.21)
gdje cu c
1
, c
2
i c
3
proizvoljne konstante. Uvrstimo li poˇcetne uvjete u jed-
nadˇzbu 3.21 dobit ´cemo sljede´ci sustav:
a
1
= 0 = C
1
+ 2 C
2
+ 2 C
3
a
2
= 2 = C
1
+ 4 C
2
+ 8 C
3
a
3
= 2 = C
1
+ 8 C
2
+ 24 C
3
Rjeˇsavanjem ovog sustava dobijamo C
1
= −6, C
2
= 4, C
3
= −1, odnosno
eksplicitnu jednadˇzbu op´ceg ˇclana niza
a
n
= −6 + 4 2
n
−n 2
n
.
Tre´ci je sluˇcaj kada rekurzivna jednadˇzba ima konjugirano kompleks-
ne korijene. Kako govorimo o rekurzivnim jednadˇzbama s konstantnim re-
alnim koeficijentima, njihove su karakteristiˇcne jednadˇzbe se dobivaju iz-
jednaˇcavanjem polinoma realne varijable s realnim koeficijentima sa nulom.
Prema tome, ako karakteristiˇcna jednadˇzba ima kompleksan korijen, on
mora ˇciniti par korijena s njemu konjugiranim kompleksnim brojem (vidi
[7], str. 51.). Ovaj se sluˇcaj moˇze rjeˇsavati sliˇcno kao sluˇcaj s realnim ko-
rijenima. Medutim, imamo li korijene z
1,2
= a ± b i, tada ta dva korijena
daju u rjeˇsenju:
C
1
(a +b i)
n
+C
1
(a −b i)
n
.
Primijenimo li de Moivreovu formulu dobit ´cemo
C
1
[z
1
[
n
(cos nϕ
1
+i sinnϕ
1
) +C
2
[z
2
[
n
(cos nϕ
2
+i sinnϕ
2
), (3.22)
POGLAVLJE 3. DISKRETNA MATEMATIKA 85
pri ˇcemu je
cos ϕ =
a

a
2
+b
2
,
sinϕ =
b

a
2
+b
2
.
S druge strane, kako su z
1
i z
2
konjugirano kompleskni brojevi, njihova je
apsolutna vrijednost jednaka i iznosi

a
2
+b
2
.
Sliˇcno, ϕ
2
= −ϕ
1
, pa je cos nϕ
1
= cos nϕ
1
i sinnϕ
2
= −sinnϕ
2
.
Raspiˇsemo li formulu (3.22), uz gore navedene primjedbe pa uzmemo da je
z = z
1
, ϕ = ϕ
1
te da je K
1
= C
1
+C
2
i K
2
= C
1
−C
2
, dobit ´cemo
[z[
n
(K
1
cos nϕ +K
2
i sinnϕ).
Primjer 3.31 Nadimo eksplicitnu formulu za op´ci ˇclan niza definiranog
formulom a
n
= 2 a
n−1
−2 a
n−2
, uz poˇcetne uvjete a
1
= 2, a
2
= 2.
Karakteristiˇcna jednadˇzba ove rekurzije je
x
2
−2 x + 2 = 0
Njeni korijeni su x
1,2
= 1 ±i, pa imamo
[z[ =
_
1
2
+ 1
2
=

2
Nadalje,
cos ϕ =
1

1
2
+ 1
2
=

2
2
,
sinϕ =
1

1
2
+ 1
2
=

2
2
,
iz ˇcega slijedi da je
ϕ =
π
4
te da je
a
n
= (

2)
n

_
K
1
cos n
π
4
+K
2
i sinn
π
4
_
.
Uvrstimo li poˇcetne uvjete dobivamo sustav jednadˇzbi
2 =

2
_
K
1
cos
π
4
+K
2
i sin
π
4
_
,
2 =
_

2
_
2

_
K
1
cos 2
π
4
+K
2
i sin2
π
4
_
,
86 3.7. REKURZIVNE RELACIJE
odnosno
2 =

2
_
K
1


2
2
+K
2
i

2
2
_
,
2 = 2 (K
2
i) .
Iz druge jednadˇzbe izlazi da je K
2
= −i, a kada to uvrstimo u prvu jed-
nadˇzbu, dobijamo
2 =

2
_
K
1


2
2
+

2
2
_
,
iz ˇcega izlazi da je K
1
= 1.
Dakle, op´ce rjeˇsenje ove rekurzije je
a
n
= (

2)
n

_
cos n
Π
4
+ sinn
Π
4
_
.
Time smo opisali sve mogu´ce sluˇcajeve koji se javljaju kod rjeˇsavanja
linearnih homogenih rekurzivnih jednadˇzbi s konstantnim koeficijentima.
Sljede´ci problem koji se postavlja jest problem rjeˇsavanja nehomogenih li-
nearnih rekurzivnih jednadˇzbi.
Teorem 3.11 Neka je zadana linearna nehomogena rekurzivna jednadˇzba
k-tog reda s konstantnim koeficijentima 3.14. Neka je q op´ce rjeˇsenje pri-
padne linearne homogene rekurzije rekurzije 3.14 te neka je p bilo koje
rjeˇsenje nehomogene linearne rekurzije 3.14
1
. Tada je a
n
= q + p op´ce
rjeˇsenje jednadˇzbe 3.14.
Dokaz ovog teorema, kao i prethodna dva, moˇze se na´ci u [12], str. 188.
Postavlja se problem kako prona´ci partikularno rjeˇsenje? Za taj pro-
blem ne postoji neka standardna metoda no za neke je funkcije poznat oblik
partikularnog rjeˇsenja. Neke od tih funkcija dane su u sljede´coj tablici:
Funkcija f(n) Partikularno rjeˇsenje a
n
d A
dn A
1
n +A
2
dn
m
P
m
(n) (polinom m-tog stupnja)
a
n
A a
n
Tablica 3.2
1
Obiˇcno se takvo proizvoljno rjeˇsenje naziva partikularno rjeˇsenje
POGLAVLJE 3. DISKRETNA MATEMATIKA 87
Primjer 3.32 Potrebno je prona´ci rjeˇsenje rekurzivne jednadˇzbe
a
n
= 2a
n−1
+ 1,
uz uvjet da je a
1
= 1.
Pripadna homogena jednadˇzba ove rekurzije je a
n
= 2a
n−1
, a njena karak-
teristiˇcna jednadˇzba je
x −2 = 0.
Korijen ove jednadˇzbe je x
1
= 2 pa je op´ce rjeˇsenje pripadne homogene
rekurzivne jednadˇzbe
a
n
= C 2
n
.
Iz tablice proˇcitamo partikularno rjeˇsenje, te dobijamo da je op´ce rjeˇsenje
nehomogene rekurzivne jednadˇzbe
a
n
= C 2
n
+A.
Kako bismo pronaˇsli partikularno rjeˇsenje, stavljamo da je
a
n
= A.
Uvrstimo li originalnu jednadˇzbu za a
n
imamo
A = a
n
= 2a
n
−1 + 1 = 2A+ 1.
Iz posljednjega slijedi da je A = −1. Sada imamo
a
n
= C
1
2
n
−1.
Uvrstimo li poˇcetni uvjet, imat ´cemo
1 = C
1
2 −1.
iz ˇcega slijedi da je C
1
= 1, odnosno
a
n
= 2
n
−1.
Nehomogene rekurzije mogu se jednostavno izraˇcunavati i na drugi naˇcin,
bez upotrebe tablice partikularnih rjeˇsenja: svodenjem nehomogene rekurzi-
je na homogenu. Prikazat ´cemo kako se to radi na rekurzijama iz prethodna
dva zadatka.
Primjer 3.33 Rijeˇsimo ponovo rekurziju iz zadatka 3.32.
Jednadˇzbu za n-ti ˇclan primijenimo na (n−1)-vi ˇclan, te oduzmemo ˇsto
smo dobili od jednadˇzbe za n-ti ˇclan:
88 3.7. REKURZIVNE RELACIJE
a
n
= 2a
n−1
+ 1
a
n−1
= 2a
n−2
+ 1
a
n
−a
n−1
= 2a
n−1
−2a
n−2
.
Dakle, poˇcetnu rekurziju sveli smo na homogenu rekurziju
a
n
= 3a
n−1
−2a
n−2
.
Karakteristiˇcna jednadˇzba ove rekurzije je
x
2
−3x + 2 = 0.
Korijeni ove jednadˇzbe su x
1
= 1, x
2
= 2, pa je op´ce rjeˇsenje rekurzije oblika:
a
n
= C
1
1
n
+C
2
2
n
. (3.23)
Kako se prilikom homogenizacije pove´cao stupanj rekurzije, potrebno je
prona´ci joˇs jedan poˇcetni uvjet:
a
2
= 2a
1
+ 1 = 3.
Uvrstimo li sada oba poˇcetna uvjeta u dobiveno op´ce rjeˇsenje i dobijamo:
1 = C
1
+C
2
2,
3 = C
1
+C
2
4.
Odavde se vidi da je C
2
= −1, C
2
= 1. Uvrstimo li C
1
i C
2
u formulu
3.23, dobivamo
a
n
= 2
n
−1.
Primjer 3.34 Rijeˇsimo joˇs jednadˇzbu a
n
= 4 a
n−1
+n 2
n
uz poˇcetni uvjet
a
0
= 4.
Formulu za n-ti ˇclan ´cemo primijeniti na (n − 1)-vi ˇclan, te ´cemo tako
dobivenu formulu pomnoˇziti s dva i oduzeti od formule za n-ti ˇclan:
a
n
= 4a
n−1
+n 2
n+1
2a
n−1
= 8a
n−2
+ (n −1) 2
n+1
a
n
−2a
n−1
= 4a
n−1
−8a
n−2
+ 2
n+1
.
Dakle, dobili smo nelinearnu rekurziju:
a
n
= 6a
n−1
−8a
n−2
+ 2
n+1
.
Ponovimo istu stvar za dobivenu jednadˇzbu:
POGLAVLJE 3. DISKRETNA MATEMATIKA 89
a
n
= 6a
n−1
−8a
n−2
+ 2
n+1
2a
n−1
= 12a
n−2
−16a
n−3
+ 2
n+1
a
n
−2a
n−1
= 6a
n−1
−18a
n−2
+ 16a
n−3
.
Dobili smo homogenu rekurziju:
a
n
= 8a
n−1
−20a
n−2
+ 16a
n−3
.
Karakteristiˇcna jednadˇzba ove rekurzije je
x
3
−8x
2
+ 20x −16 = 0.
Korijeni ove jednadˇzbe su x
1,2
= 2, x
3
= 4. Dakle, op´ce rjeˇsenje ove rekurzije
ima oblik:
a
n
= C
1
2
n
+C
2
n 2
n
+C
3
4
n
.
Za rjeˇsavanje su nam potrebna tri poˇcetna uvjeta, pa trebamo izraˇcunati joˇs
a
1
i a
2
.
a
1
= 4 4 + 2 2 = 20,
a
2
= 4 20 + 2 2 2
2
= 96.
Uvrˇstavanjem poˇcetnih uvjeta u op´ce rjeˇsenje dobivamo sustav jednadˇzbi
4 = C
1
+C
3
20 = 2C
1
+ 2C
2
+ 4C
3
96 = 4C
1
+ 8C
2
+ 16C
3
Rjeˇsenja ovog sustava su C
1
= −4, C
2
= −2, C
3
= 8, pa op´ce rjeˇsenje
nehomogene rekurzije glasi:
a
n
= −4 2
n
+−2 n 2
n
+ 8 4
n
.
Prije no ˇsto krenemo na metodu rjeˇsavanja rekurzija na joˇs jedan naˇcin,
pomo´cu funkcija izvodnica, opisat ´cemo joˇs jedan oblik rekurzija koje nisu
linearne, ali se mogu izraˇcunati pomo´cu linearnih rekurzivnih jednadˇzbi.
Ove jednadˇzbe igraju bitnu ulogu u ocjenjivanju sloˇzenosti algoritama, jer se
vrlo ˇcesto javljaju pri ocjeni sloˇzenosti algoritama koji su izvedeni metodom
podijeli pa ovladaj . Stoga se ove rekurzije ˇcesto i nazivaju podijeli pa ovladaj
rekurzije. Ovdje se radi o rekurziji oblika:
a
n
= c a
n
k
+f(n). (3.24)
Rekurzije se ovog tipa mogu svesti na linearne rekurzije i rijeˇsiti pomo´cu
karakteristiˇcnog polinoma.
90 3.7. REKURZIVNE RELACIJE
Primjer 3.35 Rijeˇsimo rekurziju a
n
= a
n
2
+n uz poˇcetni uvjet a
1
= 0.
Upotrijebimo li supstituciju s
n
= a
2
n, dobijamo
s
n
= a
2
n = a2
n
2
+n = a
2
n−1 +n = s
n−1
+n,
ˇcime smo dobili linearnu nehomogenu rekurziju prvog reda. Oduzmimo jed-
nadˇzbu za ˇclan s
n−1
od jednadˇzbe za ˇclan s
n
s
n
= s
n−1
+n
s
n−1
= s
n−2
+n −1
s
n
−s
n−1
= s
n−1
−s
n−2
+ 1,
iz ˇcega slijedi da je
s
n
= 2s
n−1
−s
n−2
+ 1.
Oduzmemo li opet formulu za (n − 1)-vi ˇclan niza od formule za n-ti ˇclan,
imamo:
s
n
= 2s
n−1
−s
n−2
+ 1
s
n−1
= 2s
n−2
−s
n−3
+ 1
s
n
−s
n−1
= 2s
n−1
+ 3s
n−2
+s
n−3
.
Tako smo dobili linearnu homogenu rekurziju
s
n
= 3s
n−1
−3s
n−2
+s
n−3
.
Njena karakteristiˇcna jednadˇzba glasi:
x
3
−3x
2
+ 3x −1 = 0.
Karakteristiˇcna jednadˇzba ima trostruki korijen x
1,2,3
= 1, pa je op´ce rjeˇse-
nje oblika
s
n
= C
1
1
n
+C
2
n 1
n
+C
3
n
2
1
n
,
odnosno
s
n
= C
1
+C
2
n +C
3
n
2
.
potrebno je prona´ci tri poˇcetna uvjeta kako bismo mogli odrediti koeficijente
u op´cem rjeˇsenju:
s
0
= a
1
= 0,
s
1
= a
2
= a
1
+ 2 = 2,
s
2
= a
4
= a
2
+ 4 = 6.
POGLAVLJE 3. DISKRETNA MATEMATIKA 91
Uvrstimo li poˇcetne uvjete u op´ce rjeˇsenje, dobijamo
0 = C
1
,
2 = C
1
+C
2
+C
3
,
6 = C
1
+ 2C
2
+ 4C
3
.
Iz ovog sustava slijedi da je C
1
= 0, C
2
, C
3
= 1, tj. da je op´ce rjeˇsenje
izvedene rekurzivne jednadˇzbe
s
n
= n +n
2
.
Vratimo se sada zadanoj rekurziji. Sada imamo:
s
n
= a
2
n = n +n
2
,
odnosno,
a
n
= log
2
n + log
2
2
n.
3.7.3 Rjeˇsavanje rekurzivnih jednadˇzbi - funkcije izvodnice
Postoji joˇs jedna metoda, pomo´cu koje se mogu rjeˇsavati neke rekurzivne
jednadˇzbe. Radi se o metodi rjeˇsavanja rekurzivnih jednadˇzbi pomo´cu poli-
noma beskonaˇcnog stupnja tzv. funkcija izvodnica.
Neka je zadan niz a
0
, a
1
, a
2
, . . .. Tada se funkcija izvodnica ovog reda
definira kao:
f(x) = a
0
+a
1
x +a
2
x
2
+. . .
Pogledajmo neke primjere poznatih funkcija izvodnica.
Zadatak 3.20 Dokaˇzite da, za x ,= 1 vrijedi:
1
1 −x
= 1 +x +x
2
+. . . (3.25)
Jasno je da je
(1 −x)(1 +x +x
2
+. . .) = 1 +x −x +x
2
−x
2
+. . .
= 1 + 0x + 0x
2
+. . .
= 1. (3.26)
Podijelimo li lijevu i desnu stranu gornje jednadˇzbe s 1 − x dobit ´cemo
jednadˇzbu 3.25
92 3.7. REKURZIVNE RELACIJE
Zadatak 3.21 Dokaˇzite da za x ,= 1 vrijedi:
1
(1 −x)
2
= 1 + 2x + 3x
2
+. . . (3.27)
Deriviramo li lijevu i desnu stranu jednadˇzbe 3.25, dobit ´cemo
1
(1 −x)
2
= 1 + 2x + 3x
2
+. . . (3.28)
odnosno upravo jednadˇzbu 3.27.
Primjer 3.36 Rijeˇsimo sada rekurziju a
n
= 3a
n−1
, uz poˇcetni uvjet a
0
= 1.
Oduzmemo li sljede´ce dvije funkcije izvodnice:
f(x) = a
0
+ a
1
x+ a
2
x
2
+ . . . + a
n
x
n
+. . .
3xf(x) = 3a
0
x + 3a
1
x
2
+ . . . + 3a
n−1
x
n
+. . .
dobit ´cemo
f(x) −3xf(x) = a
0
+(a
1
−3a
0
)x+(a
2
−3a
1
)x
2
+. . . +(a
n
−3a
n−1
)x
n
+. . .
No, kako je a
n
= 3a
n
−1, vrijedi da je
f(x) −3xf(x) = a
0
.
Uvrstimo li poˇcetni uvjet, imamo
f(x)(1 −3x) = 1,
odnosno
f(x) =
1
1 −3x
.
Koriste´ci jednadˇzbu 3.25 dobivamo
f(x) = 1 + 3x + (3x)
2
+. . . + (3x)
n
+. . .
odnosno
f(x) = 1 + 3x + 3
2
x
2
+. . . + 3
n
x
n
+. . . ,
pa je rjeˇsenje
a
n
= 3
n
.
Zadatak 3.22 Rijeˇsite rekurziju a
n
= 2a
n−1
+a
n−2
uz poˇcetne uvjete a
0
=
3, a
1
= −2 (koristite jednakost 3.27).
POGLAVLJE 3. DISKRETNA MATEMATIKA 93
Primijetimo da se ovom metodom izravno mogu rjeˇsavati samo homo-
gene linearne rekurzije, dok se nehomogene rekurzije moraju rjeˇsavati na
iste naˇcine kako je to prikazano u prethodnom poglavlju. Nadalje, treba
napomenuti da se ovom metodom mogu rjeˇsavati samo one rekurzije za
koje, nakon oduzimanja, znamo razvoj u red.
3.8 Diskretna teorija vjerojatnosti
Slika 3.9: Andrey Kol-
mogorov
Teorija vjerojatnosti je novija matematiˇcka
grana, ˇciji poˇceci seˇzu u 17. st. Oni se veˇzu uz
kockarske igre te ˇzelju za izraˇcunavanjem vjero-
jatnosti dobitka na njima. Zasluˇznima za poˇcetke
teorije vjerojatnosti smatraju se B. Pascal i P. Fer-
mat. Njen brˇzi razvoj dogada se u 19. st., rezulta-
tima koje su iznijeli Bernoulli, De Moivre i Laplace,
te rezultatima Kolmogorova i Markova u 20. st.
Diskretna teorija vjerojatnosti je onaj dio teorije
vjerojatnosti koji se odnosi na izraˇcunavanje vjero-
jatnosti dogadaja na diskretnim, odnosno konaˇc-
nim i prebrojivim skupovima dogadaja. Ona se
koristi u raˇcunarstvu u mnogim podruˇcjima. Ovdje posebno istiˇcemo
koriˇstenje diskretne teorije vjerojatnosti kod takozvanih randomiziranih al-
goritama, te kod izraˇcunavanja prosjeˇcnog trajanja algoritma.
3.8.1 Osnove kombinatorike
Iako je kombinatorika zasebna matematiˇcka disciplina, u ovoj ´cemo je knji-
zi obraditi ukratko u sklopu diskretne teorije vjerojatnosti. Ona pred-
stavlja osnovu za izraˇcunavanje vjerojatnosti u konaˇcnim vjerojatnosnim
prostorima. Ovdje ´cemo opisati osnovne formule iz podruˇcja kombina-
torike, bez pretenzije da se te formule dokaˇzu ili da se potpuno matematiˇcki
fundiraju. Za ˇcitatelje koje zanima konzistentna razrada kombinatorike kao
matematiˇcke discipline, preporuˇcamo naslove [6], [12], te [11].
Permutacije
Prvi kombinatorni problem koji ´cemo ovdje prikazati jest problem per-
mutacija. Imamo skup od n razliˇcitih elemenata. Postavlja se pitanje, na
koliko razliˇcitih naˇcina se ti elementi mogu poredati u uredenu n-torku?
Drugim rijeˇcima, koliko razliˇcitih nizova od n elemenata, ili permutacija,
moˇzemo naˇciniti od tih n brojeva? Broj permutacija dan je sljede´com for-
mulom:
P(n) = n! = n (n −1) . . . 1. (3.29)
94 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
Primjer 3.37 Na koliko naˇcina moˇzemo poredati 5 raznobojnih kuglica u
niz?
Odgovor na ovo pitanje je:
P(5) = 5! = 120 (3.30)
Imamo li k razliˇcitih vrsta elemenata, i ako od i-te vrste imamo n
i
ko-
mada. Koliko ima razliˇcitih permutacija takvih elemenata?
Odgovor je
P
(n
1
,...,n
k
)
n
=
n!
n
1
! . . . n
k
!
.
Ovakve se permutacije nazivaju permutacije s ponavljanjem.
Primjer 3.38 Neka imamo 5 ˇzutih, 4 crvene i 3 plave kuglice. Ako istoboj-
ne kuglice medusobno ne razlikujemo, na koliko se naˇcina moˇze napraviti
niz od tih kuglica?
P
1
2
(5,4,3)
=
12!
5! 4! 3!
= 27720.
Varijacije
Drugi vaˇzan kombinatorni pojam koji ´cemo ovdje definirati jest pojam va-
rijacije. Postoje dvije vrste varijacija - varijacije bez i sa ponavljanjem.
Pitanje koje se postavlja je, na neki naˇcin, proˇsirenje pitanja koje smo
postavili kada smo govorili o permutacijama, samo ˇsto se sada niz ne tvori od
svih n elemenata, ve´c od k elemenata. Dakle, koliko razliˇcitih nizova duljine
k moˇzemo napraviti od n razliˇcitih elemenata, odnosno koliko postoji varija-
cija k-tog razreda od n elemenata bez ponavljanja? Odgovor je dan sljede´com
formulom:
V
(k)
n
=
n!
(n −k)!
. (3.31)
Primjer 3.39 Od 7 vojnika potrebno je izabrati 5 i poredati ih u vrstu. Na
koliko je to naˇcina mogu´ce uˇciniti?
V
(5)
7
=
7!
2!
= 2520
Pretpostavimo da se ne radi o skupu, ve´c o multiskupu, tj. da se odredeni
element moˇze izabrati viˇse puta. Pitanje, na koliko se naˇcina moˇze izabrati
k elemenata iz multiskupa, koji sadrˇzi n razliˇcitih elemenata, je pitanje va-
rijacija n elemenata k-tog razreda s ponavljanjem. Broj razliˇcitih varijacija
k-tog razreda od n elemenata s ponavljanjem je
V
(k)
n
= n
k
. (3.32)
POGLAVLJE 3. DISKRETNA MATEMATIKA 95
Primjer 3.40 Koliko ima troznamenkastih brojeva?
Izmedu 10 razliˇcitih znamenaka koliko ima nizova od 3 znamenke?
V
(3)
10
= 10
3
= 1000.
No, da bismo dobili samo troznamenkaste brojeve, od tog broja moramo
oduzeti sve one kojima je prva znamenka 0. Takvih ima
V
(2)
10
= 10
2
= 100.
Naime, njih ima onoliko na koliko naˇcina moˇzemo izabrati preostale dvije
znamenke.
Dakle ukupan broj troznamenkastih brojeva je
V
(3)
10
−V
(2)
10
= 1000 −100 = 900.
Kombinacije
Posljednji kombinatorni pojam, koji ´cemo definirati, je pojam kombinacija.
Pitanje koje se postavlja je pitanje izbora nekog podskupa danog skupa,
a ne niza elemenata. Dakle, ˇzelimo doznati na koliko naˇcina se moˇze iz
skupa od n elemenata izabrati podskup od k elemenata. Onda se govori o
kombinacijama k-tog razreda od n elemenata bez ponavljanja. Njihov broj
je
C
(k)
n
=
_
n
k
_
=
n!
k! (n −k)!
(3.33)
Primjer 3.41 Djeci je u ˇskoli za lektiru predloˇzeno 17 knjiga, ali oni moraju
proˇcitati samo 10. Koliko razliˇcitih izbora djeca mogu uˇciniti?
Djeca mogu uˇciniti
C
(10)
17
=
_
17
10
_
=
17 16 . . . 2 1
10 9 . . . 1 7 6 . . . 1
=
17 16 15 14 13 12 11
7 6 5 4 3 2 1
= 19448
naˇcina, ˇsto je iznenaduju´ce velik broj.
Posljednje ˇsto ´cemo opisati u ovom poglavlju, jesu kombinacije s ponavl-
janjem. Kombinacije s ponavljanjem jesu svi multiskupovi elemenata skupa
A. Ako imamo skup A koji sadrˇzi n elemenata, i od njih moramo naˇciniti
multiskup od k elemenata, onda govorimo o kombinacijama s ponavljanjem
96 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
k-tog razreda od n elemenata. Ukupni broj razliˇcitih kombinacija s ponav-
ljanjem k-tog razreda od n elemenata je
C
(k)
n
=
_
n +k −1
k
_
.
Primjer 3.42 Tvrtka mora kupiti 10 automobila. Ponuda se sastoji od
5 vrsti automobila. Na koliko razliˇcitih naˇcina tvrtka moˇze napraviti ovu
kupnju?
C
(10)
5
=
_
5 + 10 −1
10
_
=
_
14
10
_
=
14!
10! 4!
= 1001.
Sljede´ce ˇsto ˇzelimo uˇciniti, i ˇsto ´ce biti vrlo korisno, jest uvesti vezu
izmedu kombinacija i binomnih koeficijenata, te uvesti neke propozicije koje
´ce nam opisati odnose izmedu razliˇcitih binomnih koeficijenata.
Teorem 3.12 (Binomni pouˇcak)
(a +b)
n
=
n

i=0
_
n
i
_
a
i
b
n−i
.
Dokaz ovog teorema moˇze se na´ci u [12], str. 113.
Sada ´cemo samo navesti neke identitete s binomnim koeficijentima, bez
njihova dokazivanja:
_
n
i
_
=
_
n
n −i
_
, (simetrija)
_
n
i
_
=
n
i
_
n −1
i −1
_
, (apsorpcija)
_
n
i
_
=
_
n −1
i
_
+
_
n −1
i −1
_
, (Pascalova formula)
_
n
i
__
i
k
_
=
_
n
k
__
n −k
i −k
_
, (Trinomna revizija)
n

i=0
_
n
i
_
= 2
n
,
r

i=0
_
n +i
i
_
=
_
n +r + 1
r + 1
_
, (paralelna sumacija)
k

i=0
_
r +i
r
_
=
_
r +k + 1
r + 1
_
, (gornja sumacija)
POGLAVLJE 3. DISKRETNA MATEMATIKA 97
m

i=1
_
m
i
__
n
r +i
_
=
_
m+n
m+r
_
, (Vandermondeova konvolucija)
n

i=0
_
n
i
_
2
=
_
2n
n
_
,
m

i=1
_
m−i
r
__
n +i
s
_
=
_
m+n + 1
r +s + 1
_
. (Vandermondeova konv.)
Dokazi ovih identiteta mogu se prona´ci u [12].
3.8.2 Osnovne definicije i teoremi diskretne teorije vjerojat-
nosti
Osnovni pojam od kojeg se kre´ce u teoriji vjerojatnosti jest sluˇcajni pokus.
Sluˇcajni pokus je pokus ˇciji rezultati nisu jednoznaˇcno odredeni uvjetima
u kojima se izvodi. Primjer toga je pokus bacanja igra´ce kocke. Kod tog
pokusa postoji ˇsest mogu´cih ishoda iz sljede´ceg skupa: Ω = ¦1, 2, 3, 4, 5, 6¦.
Definicija 3.37 Skup Ω svih mogu´cih ishoda naziva se skup uzoraka ili
prostor elementarnih dogadaja. Svaki element skupa Ω naziva se elementarni
dogadaj. Svaki podskup skupa Ω naziva se dogadaj.
Dogadaj je svaki rezultat sluˇcajnog pokusa. Npr. imamo li sluˇcajni
pokus bacanja 5 igra´cih kocaka, onda se ”palo je pet ˇsestica” smatra doga-
dajem.
Jasno je da su ∅ ⊆ Ω i Ω ⊆ Ω takoder dogadaji. Prvi se naziva nemogu´c
dogadaj , a drugi siguran dogadaj .
Definicija 3.38 Dogadaji A i B se medusobno iskljuˇcuju ako vrijedi da je
A∩ B = ∅.
Definicija 3.39 Neka je Ω diskretan skup. Neka je definirano preslikavanje
P : Ω →[0, 1] sa svojstvima da je


A∈Ω
P(A) = 1,
• Neka je A∩ B = ∅. Tada je P(A∪ B) = P(A) +P(B).
Tada se par (Ω, P) naziva diskretni vjerojatnosni prostor.
Iz definicije diskretnog vjerojatnosnog prostora slijedi teorem koji daje
njegova osnovna svojstva:
Teorem 3.13 Neka je (Ω, P) diskretni vjerojatnosni prostor. Tada vrijede
sljede´ce tvrdnje:
1. P(∅) = 0
98 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
2. Ako su A
1
, . . . , A
n
⊆ Ω po parovima medusobno disjunktni dogadaji,
onda je P(
n

i=1
A
i
) =
n

i=1
P(A
i
).
3. Neka su A, B ⊆ Ω. Tada je P(A∪ B) = P(A) +P(B) −P(A∩ B).
4. Neka je A ∈ Ω. Tada je P(C(A)) = 1 −P(A).
5. Neka su A, B ∈ Ω. Tada je P(A¸B) = P(A) −P(A∩ B).
6. Neka su A, B ∈ Ω, A ⊆ B. Tada je P(A) ≤ P(B).
Dokaz.
1. Iz prvog svojstva vjerojatnosti iz definicije 3.39 slijedi da je P(Ω) = 1.
Naravno, skupovi Ω i ∅ su disjunktni, pa po drugom svojstvu vjero-
jatnosti iz definicije 3.39 vrijedi da je
P(Ω) +P(∅) = P(Ω ∪ ∅) = P(Ω) = 1.
Odatle slijedi da je
P(∅) = 1 −P(Ω) = 1 −1 = 0.
2. Ovaj se dokaz moˇze provesti indukcijom po n. Za n = 2 dokaz slijedi
izravno iz definicije 3.39.
Pretpostavimo da tvrdnja vrijedi za n ≤ k. Neka je n = k + 1. Kako
je A
k+1
∩ A
i
= ∅ za svaki i = 1, . . . , k, sigurno je (
k

i=1
A
i
) ∩ A
k+1
=
∅. Neka je A =
k

i=1
A
i
. Prema pretpostavci indukcije vrijedi da je
P(A) =
k

i=1
P(A
i
). Isto tako, prema pretpostavci indukcije vrijedi da
je P(A∪ A
k+1
) = P(A) +P(A
k+1
). Dakle,
P(
k+1
_
i=1
A
i
) = P(
k
_
i=1
A
i
∪ A
k+1
)
= P(A∪ A
k+1
) = P(A) +P(A
k+1
)
=
k

i=1
P(A
i
) +P(A
k+1
)
=
k+1

i=1
P(A
i
)
ˇsto je itrebalo dokazati.
POGLAVLJE 3. DISKRETNA MATEMATIKA 99
3. Neka je C = B¸A. Tada je A ∪ B = A∪ C i A ∩ C = ∅. Prema tome
vrijedi
P(A∪ B) = P(A∪ C) = P(A) +P(C) = P(A) +P(B¸A). (3.34)
S druge strane, (A∩B)∪(B¸A) = B, a isto tako je (A∩B)∪(B¸A) = ∅,
pa je
P(B) = P((A∩ B) ∪ (B¸A)) = P(A∩ B) +P(B¸A),
iz toga slijedi da je
P(B¸A) = P(B) −P(A∩ B). (3.35)
Uvrstimo li (3.35) u (3.34) dobit ´cemo
P(A∪ B) = P(A) +P(B) −P(A∩ B). (3.36)
4. Znamo da je A∪A
c
= Ω, a A∩A
c
= ∅. Iz prve jednakosti slijedi da je
P(A∪ A
c
) = P(Ω) = 1, (3.37)
a iz druge pak slijedi da je
P(A∪ A
c
) = P(A) +P(A
c
).
Iz posljednjeg imamo
P(A
c
) = P(A∪ A
c
) −P(A). (3.38)
U (3.38) uvrstimo (3.37) i dobit ´cemo
P(A
c
) = 1 −P(A).
5. Oˇcito je da vrijedi (A¸B) ∪ (A ∩ B) = A, a (A¸B) ∪ (A ∩ B) = ∅.
Dakle,
P(A) = P((A¸B) ∪ (A∩ B)) = P(A¸B) +P(A∩ B)
Iz ove formule slijedi da je
P(A¸B) = P(A) −P(A∩ B).
100 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
6. Imamo (B¸A) ∪ A = B, a (B¸A) ∩ A = ∅ pa slijedi:
P(B) = P((B¸A) ∪ A) = P(B¸A) +P(A).
No, kako je prema definiciji 3.39 P(B¸A) ≥ 0, slijedi da je P(B) ≥
P(A).
Propozicija 3.15 (Sylvestrova formula) Neka su A
i
, i = 1, . . . , n doga-
daji na vjerojatnosnom prostoru < Ω, P >. Tada je
P
_
n
_
i=1
A
i
_
=
n

i=1
P(A
i
) −

1≤i<j≤n
P(A
i
∩ A
j
)
+

1≤i<j<k≤n
P(A
i
∩ A
j
∩ A
k
) −. . .
+ (−1)
n+1
_
P
_
n

i=1
A
i
__
.
Dokaz. Indukcijom po n. Baza indukcije:
Za n = 1 tvrdnja je trivijalna.
Korak indukcije:
Pretpostavimo da tvrdnja vrijedi da n ≤ k. Neka je sada n = k + 1.
Neka su skupovi B i C
i
, i = 1, . . . , n definirani sa B =
n−1

i=1
A
i
, C
i
=
A
i
∩ A
n
.
Tada je, prema pretpostavci indukcije,
P
_
n
_
i=1
A
i
_
= P(B ∪ A
n
) = P(B) +P(A
n
) −P(B ∩ A
n
). (3.39)
Isto tako, prema pretpostavci indukcije vrijedi
P(B) =
n−1

i=1
P(A
i
) −

1≤i<j≤n−1
P(A
i
∩ A
j
) +. . . + (−1)
n
_
P
_
n−1

i=1
A
i
__
.
(3.40)
Nadalje, B ∩ A
n
=
n−1

i=1
C
i
, ˇsto, prema pretpostavci indukcije daje
POGLAVLJE 3. DISKRETNA MATEMATIKA 101
P(B ∩ A
n
) =
n−1

i=1
C
i

1<leqi<j≤n−1
P(C
i
∩ C
j
) +. . .
+(−1)
n
n−1

i=1
P
_
n−1

i=1
C
i
_
=
n−1

i=1
(A
i
∩ A
n
) (3.41)

1≤i<j≤n−1
P(A
i
∩ A
j
∩ A
n
) +. . .
+(−1)
n
P
_
n

i=1
A
i
_
Iz (3.39), (3.40) i (3.41) slijedi tvrdnja propozicije.
Primjer 3.43 Kolika je vjerojatnost da od baˇcenih pet jednakih igra´cih
kocaka padnu barem tri ˇsestice?
Koliko razliˇcitih rezultata tih pet kocaka mogu dati? Ovdje se ˇzeli dati
odgovor na pitanje: na koliko naˇcina se moˇze izabrati pet brojeva od 1-6,
ne nuˇzno razliˇcitih? Dakle, radi se o kombinacijama s ponavljanjem:
C
(5)
6
=
_
10
5
_
=
10 9 8 7 6
5 4 3 2 1
= 252.
Suprotan dogadaj od dogadaja da su pale barem tri ˇsestice jest da je
palo manje od 3 ˇsestice, tj. da su pale najviˇse dvije ˇsestice. Koliko je
mogu´cih rezultata s najviˇse dvije ˇsestice? Taj se dogadaj moˇze rastaviti na
tri disjunktna dogadaja:
• da nije pala nijedna ˇsestica,
• da je pala toˇcno jedna ˇsestica,
• da su pale dvije ˇsestice.
Broj rezultata bez ˇsestica je jednak broju mogu´cih izbora pet brojeva
izmedu brojeva 1-5, a to je
C
(5)
5
=
_
9
5
_
= 126
102 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
Koliko ima rezultata bacanja 5 igra´cih kockica s toˇcno jednom ˇsesticom?
To su svi oni dogadaji na kojima je na jednoj kockici pala ˇsestica, dok rezul-
tate ostalih kockica moˇzemo proizvoljno birati izmedu brojeva 1-5. Dakle,
imamo:
C
(5)
4
=
_
8
4
_
= 70.
Na kraju, imamo broj rezultata bacanja s toˇcno dvije ˇsestice. Sliˇcno gore
opisanome, njih ima
C
(5)
3
=
_
7
3
_
= 35.
Vjerojatnost da se ne pojavi nijedna ˇsestica je
P(B
0
) =
126
252
.
Vjerojatnost da se pojavi toˇcno jedna ˇsestica jest
P(B
1
) =
70
252
.
I na kraju, vjerojatnost da se pojave toˇcno dvije ˇsestice jest
P(B
2
) =
35
252
.
Konaˇcno, oznaˇcino li s B dogadaj da su pale najviˇse dvije ˇsestice, imamo
da je
P(B) = P(B
0
) +P(B
1
) +P(B
2
) =
231
252
.
Taj je dogadaj komplementaran naˇsem dogadaju A koji kaˇze da su pale
najviˇse 3 ˇsestice. Dakle, vrijedi
P(A) = 1 −P(B) =
1
12
.
Gornji raˇcun sadrˇzi neke od vaˇznih zakona koji vrijede za vjerojatnosti.
Isti se rezultat mogao dobiti i neposrednije. Dogadaj A se sastoji od tri
disjunktna poddogadaja:
• Palo je toˇcno 3 ˇsestice,
• Palo je toˇcno 4 ˇsestice i
• Palo je toˇcno 5 ˇsestica.
POGLAVLJE 3. DISKRETNA MATEMATIKA 103
Broj rezultata s 3 ˇsestice jest
C
(2)
5
=
_
6
2
_
= 15,
broj rezultata s 4 ˇsestice je
C
(1)
5
=
_
5
1
_
= 5,
a broj rezultata s 5 ˇsestica je, naravno, 1. Odnosno,
C
(0)
5
=
_
4
0
_
= 1.
Oznaˇcimo li s A
3
dogadaj kada su pale toˇcno 3 ˇsestice, s A
4
dogadaj da su
pale toˇcno 4 ˇsestice, a s A
5
dogadaj kada je svih pet kocaka palo na broj
ˇsest, imamo sljede´ce vjerojatnosti:
P(A
3
) =
15
252
,
P(A
4
) =
5
252
P(A
5
) =
1
252
.
Ukupno,
P(A) = P(A
3
) +P(A
4
) +P(A
5
) =
21
252
=
1
12
.
Primjer 3.44 Neka se bacaju ˇcetiri jednake igra´ce kockice. Koja je vjero-
jatnost da su baˇcena barem dva ista broja?
Izraˇcunajmo, sliˇcno prethodnom zadatku, koja je vjerojatnost da su pale
barem dvije ˇsestice.
Oznaˇcimo li s A
(6)
dogadaj koji kaˇze da je palo barem dvije ˇsestice,
prema razmatranjima iz prethodnog primjera, imat ´cemo:
P(A
(6)
) = P(A
(6)
2
) +P(A
(6)
3
) +P(A
(6)
4
)
=
C
(2)
5
C
(4)
6
+
C
(1)
5
C
(4)
6
+
C
(0)
5
C
(4)
6
=
_
6
2
_
_
9
4
_ +
_
5
1
_
_
9
4
_ +
_
0
_
_
9
4
_
=
15
126
+
5
126
+
1
126
=
21
126
=
1
6
.
104 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
Dakle, izraˇcunajmo kolika je vjerojatnost da se jave dva ista broja, bez
obzira na to koji to brojevi bili?
Ako s A
(i)
oznaˇcimo dogadaj da je na barem dvije kocke pao broj i,
sliˇcno kao za A
(6)
, vrijedi da je
P(A
(1)
) = P(A
(2)
) = P(A
(3)
) = P(A
(4)
) = P(A
(5)
) = P(A
(6)
) =
1
6
.
Medutim, moramo imati na umu da se dogadaji A
(i)
i A
(j)
medusobno
ne iskljuˇcuju. Naime, moˇze se dogoditi da pri bacanju ˇcetiri igra´ce kockice
istovremeno padnu i dvije ˇsestice i, recimo, dvije jedinice.
Neka imamo dogadaje A
(i)
i A
(j)
. Koja je vjerojatnost da su se ta dva
dogadaja dogodila istovremeno? Ta je vjerojatnost
P(A
(i,j)
) =
1
C
4
6
=
1
_
9
4
_ =
1
126
Dakle, imamo da je
P(A) =
n

i=1
P(A
(i)
) −

i=1,...,5,j=i+1,...,6
P(A
(i,j)
)
= 6
1
6

_
6
2
_

1
126
= 1 −
15
126
=
111
126
=
37
42
.
3.8.3 Uvjetna vjerojatnost
Sljede´ci vrlo vaˇzan i koristan pojam koji treba obraditi jest uvjetna vjerojat-
nost. U teoriji vjerojatnosti ˇcesto ˇzelimo znati kolika je vjerojatnost nekog
dogadaja B, ako se zna da se dogodio dogadaj A. Uvjetna se vjerojatnost
dogadaja B dogadajem A oznaˇcava P(B[A).
Definicija 3.40 Neka je (Ω, P) diskretni vjerojatnosni prostor, i neka su
A, B ⊆ Ω dogadaji, pri ˇcemu je P(A) > 0. Vjerojatnost dogadaja B uz uvjet
dogadaja A se definira kao:
P(B[A) =
P(A∩ B)
P(A)
.
Teorem 3.14 Neka je (Ω, P) diskretni vjerojatnosni prostor, A
1
. . . A
n
, A,
B ⊆ Ω dogadaji i neka je P(A) > 0. Tada je
1. P(∅[A) = 0,
2. P(B
C
[A) = 1 −P(B[A),
POGLAVLJE 3. DISKRETNA MATEMATIKA 105
3. P(A
1
∪ A
2
[A) = P(A
1
[A) +P(A
2
[A) −P(A
1
∩ A
2
[A).
Dokaz. Dokaz ovog teorema provedite sami.
Primjer 3.45 Dva stroja izraduju lonce. Prvi stroj izraduje 90% ispravnih
lonaca, a drugi 85%. Od 1000 lonaca, od kojih je 500 izradeno na jednom, a
500 na drugom stroju, izabran je jedan i on je ispravan. Koja je vjerojatnost
da je on proizveden na prvom stroju?
Kao prvo, treba vidjeti koja je vjerojatnost da je izabran ispravan proi-
zvod.
Prvi stroj izraduje
9
10
ispravnih proizvoda, a drugi
17
20
. Ukupan broj
ispravnih proizvoda je 500
9
10
+ 500
17
20
= 875. Dakle, ako kaˇzemo da
dogadaj A kaˇze da je izvuˇcen ispravan lonac onda je
P(A) =
875
1000
=
7
8
.
Neka je s B oznaˇcen dogadaj izvlaˇcenja lonca proizvedenog na prvom
stroju. Sada A ∩ B znaˇci da je izvuˇcen ispravan proizvod proizveden na
prvom stroju pa je
P(A∩ B) =
450
1000
=
9
20
.
Dakle, traˇzena vjerojatnost je
P(B[A) =
P(A∩ B)
P(A)
=
9
20
7
8
=
18
35
.
Definicija 3.41 Neka je (Ω, P) diskretni vjerojatnosni prostor. Kaˇzemo da
je sustav dogadaja A
i
⊆ Ω, i = 1, 2, . . . potpun, ako vrijedi da je A
i
,= ∅ za
svako i = 1, . . . , n, te da je A
i
∩A
j
= ∅ za svaka dva i, j = 1, . . . , n, i ,= j te
da je
n

i=1
A
i
= Ω.
Moˇze se re´ci da je potpun sustav dogadaja najviˇse prebrojiva particija
skupa elementarnih dogadaja Ω.
Gornj nam definicija omogu´cuje izvodenje potpune vjerojatnosti:
Teorem 3.15 (Formula potpune vjerojatnosti)
Neka je (A
i
, i = 1, 2 . . .) potpun sustav dogadaja te neka je A proizvoljan
dogadaj. Tada vrijedi
P(A) =

i=1,2,...
P(A
i
) P(A[A
i
).
106 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
Dokaz. Oˇcito je da vrijedi
P(A) = P(A∩ Ω) = P
_
_
A∩
_
i=1,2,...
A
i
_
_
= P
_
_
_
i=1,2,...
(A∩ A
i
)
_
_
Nadalje, za svaki A
i
, A
j
, i ,= j vrijedi da je A
i
∩ A
j
= ∅, pa je onda i
(A∩ A
i
) ∩ (A∩ A
j
) = ∅. Stoga je
P(A) =

i=1,2,...
P(A∩ A
i
).
No, kako je
P(A[A
i
) =
P(A∩ A
i
)
P(A
i
)
,
izlazi da je
P(A∩ A
i
) = P(A
i
) P(A[A
i
),
pa je
P(A) =

i=1,2,...
P(A
i
) P(A[A
i
),
ˇsto je i trebalo dokazati.
Teorem 3.16 (Bayesova formula) Neka je (A
i
, i = 1, 2, . . .) potpun su-
stav dogadaja, i neka je A proizvoljan dogadaj za koji vrijedi P(A) > 0.
Tada je
P(A
i
[A) =
P(A
i
) P(A[A
i
)

j=1,2,...
P(A
i
) P(A[A
i
)
.
Dokaz. Iz definicije uvjetne vjerojatnosti znamo da vrijedi
P(A
i
[A) =
P(A
i
∩ A)
P(A)
.
Jasno je da je
P(A
i
∩ A) = P(A∩ A
i
) = P(A
i
) P(A[A
i
).
Prema teoremu 3.15, vrijedi da je
P(A) =

j=1,2,...
P(A
j
) P(A[A
j
),
POGLAVLJE 3. DISKRETNA MATEMATIKA 107
odakle je
P(A
i
[A) =
P(A
i
) P(A[A
i
)

j=1,2,...
P(A
j
) P(A[A
j
)
.
3.8.4 Sluˇcajne varijable
Pojam sluˇcajne varijable veˇze se uz rezultate sluˇcajnog pokusa. Stoga se
sluˇcajne varijable najˇceˇs´ce koriste kada se radi s ponavljanjem pokusa.
Definicija 3.42 Sluˇcajna varijabla je svaka funkcija X : Ω →R.
Primjer 3.46 Promatramo li pokus bacanja simetriˇcnog novˇci´ca, moˇzemo
definirati sluˇcajnu varijablu na sljede´ci naˇcin:
X =
_
0 ako je pala glava
1 ako je palo pismo
.
Sada moˇzemo definirati vjerojatnost da, primjerice sluˇcajna varijabla
poprimi vrijednost 1. To zapravo znaˇci da je palo pismo prilikom bacanja
simetriˇcnog novˇci´ca, tj.
P(X = 1) = 0.5,
P(X = 0) = 0.5.
Sluˇcajna varijabla definirana u prethodnom primjeru je specijalni sluˇcaj
tzv. Bernoullijeve ili binomne sluˇcajne varijable. Binomna sluˇcajna va-
rijabla je sluˇcajna varijabla koja se definira nad Bernoullijevim pokusom,
tj. pokusom koji ima dva mogu´ca ishoda, od kojih jedan ima vjerojatnost
p ∈ [0, 1], a drugi q = 1 −p. Binomna se varijabla definira na sljede´ci naˇcin
X =
_
0 ako se dogodio prvi ishod
1 ako se dogodio drugi ishod
Jasno je da za binomnu sluˇcajnu varijablu vrijedi
P(X = 1) = p,
P(X = 0) = q = 1 −p.
Sada se vidi da je sluˇcajna varijabla, definirana u prethodnom primjeru,
binomna sluˇcajna varijabla s vjerojatnoˇs´cu p = 0, 5.
Sljede´ca istaknuta sluˇcajna varijabla je diskretna uniformna sluˇcajna
varijabla. To je varijabla koja opisuje pokus koji ima n mogu´cih ishoda,
od kojih su svi jednako vjerojatni. Varijabla se definira na sljede´ci naˇcin:
108 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
X = i ako se pojavio i-ti ishod., i ∈ ¦1, . . . , n¦
Jasno je da je
P(X = i) =
1
n
za svaki i = 1, . . . , n.
Primjer 3.47 Neka je dana serija od 1000 proizvoda, od kojih je 20 oˇste-
´cenih. Serija se kontrolira na sljede´ci naˇcin: kontrolor nasumce bira 10
proizvoda i provjerava ih. Serija se smatra korektnom ako u kontrolnom
uzorku nema viˇse od 20% neispravnih proizvoda. Kolika je vjerojatnost da
serija bude proglaˇsena korektnom?
Ovo se moˇze izraˇcunati direktno, ali mogu se koristiti i sluˇcajne varijable.
Definirajmo sluˇcajnu varijablu X na sljede´ci naˇcin:
X = k, k ∈ ¦0, . . . , 10¦,
ako se u sluˇcajnom uzorku nalazi k neispravnih proizvoda
Pitanje iz zadatka se sada moˇze zapisati na sljede´ci naˇcin:
P(X ≤ 2) =?
Pogledajmo kolika je vjerojatnost da je X = k. Od 1000 proizvoda 10
ih se moˇze izabrati na
_
1000
10
_
naˇcina. Na koliko naˇcina moˇzemo izabrati
10 elemenata tako da ih k bude neispravnih? Iz uzorka moramo izabrati k
neispravnih i 10 − k ispravnih proizvoda. Neispravni se mogu izabrati na
_
20
k
_
naˇcina, a 10 −k ispravnih se mogu izabrati na
_
980
10 −k
_
. Dakle,
imamo
P(X = k) =
_
20
k
_

_
980
10 −k
_
_
1000
10
_
POGLAVLJE 3. DISKRETNA MATEMATIKA 109
P(X = 0) =
_
20
0
_

_
980
10
_
_
1000
10
_ ≈ 0, 8163179
P(X = 1) =
_
20
1
_

_
980
9
_
_
1000
10
_ ≈ 0, 1679701
P(X = 2) =
_
20
2
_

_
980
8
_
_
1000
10
_ ≈ 0, 0147901
P(X = 3) =
_
20
3
_

_
980
7
_
_
1000
10
_ ≈ 0, 0007296
.
.
.
Iz toga slijedi da je
P(X ≤ 2) = 0, 8163179 + 0, 1679701 + 0, 0147901 ≈ 0, 9990781,
Dakle, gotovo je sigurno da ´ce serija biti proglaˇsena korektnom.
Sluˇcajna varijabla iz prethodnog primjera primjer je tzv. hipergeomet-
rijske sluˇcajne varijable Hipergeometrijska sluˇcajna varijabla definira se kao
sluˇcajna varijabla s m mogu´cih vrijednosti, pri ˇcemu je
P(X = k) =
_
r
k
_

_
n −r
m−k
_
_
n
m
_ .
Definicija 3.43 Neka je X sluˇcajna varijabla. Neka red

ω∈Ω
X(ω) P(¦ω¦)
apsolutno konvergira. Tada je matematiˇcko oˇcekivanje
EX =

ω∈Ω
X(ω) P(¦ω¦).
110 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
Vratimo se sada na binomnu sluˇcajnu varijablu. Neka je X
n
sluˇcajna
varijabla koja daje sluˇcajni broj uspjeha kada se Bernoullijev pokus ponovi
n puta. Zanima nas kakva se vrijednost varijable X
n
moˇze oˇcekivati? Ma-
tematiˇcko oˇcekivanje ove sluˇcajne varijable je
EX
n
=
n

i=1
i P(X
n
= i)
Kolika je vjerojatnost P(X
n
= i)? Lako se vidi da je P(X
n
= i) =
_
n
i
_
p
i
q
n−i
. Dakle,
EX
n
=
n

i=1
i
_
n
i
_
p
i
q
n−i
(3.42)
Definicija 3.44 Neka je X sluˇcajna varijabla nad diskretnim vjerojatnos-
nim prostorom (Ω, P). Tada se njoj na jednoznaˇcan naˇcin moˇze pridruˇziti
tablica
_
a
1
a
2
. . . a
n
. . .
p
1
p
2
. . . p
n
. . .
_
pri ˇcemu je a
i
∈ Ω, a p
i
= P(X = a
i
). Gornja se tablica naziva distribucija
sluˇcajne varijable X
Primjer 3.48 Bacamo li simetriˇcan novˇci´c 6 puta. Koliko se oˇcekuje da
´ce se puta pojaviti grb? Neka je X
6
sluˇcajna varijabla koja oznaˇcava broj
pojava grba u ˇsest bacanja novˇci´ca. Distribucija ove sluˇcajne varijable dana
je s
X
6
=
_
0 1 2 3 4 5 6
1
64
6
64
15
64
20
64
15
64
6
64
1
64
_
. (3.43)
Prema formuli (3.42) vrijedi da je
EX
6
=
6

i=0
i
_
6
i
_

_
1
2
_
6
= 3.
U prethodnom primjeru, u formuli (3.42) prikazana je distribucija slu-
ˇcajne varijable X. To je uobiˇcajen zapis distribucije diskretne sluˇcajne va-
rijable. Npr, distribucija uniformne sluˇcajne varijable se zapisuje kao
X =
_
1 . . . n
1
n
. . .
1
n
_
.
POGLAVLJE 3. DISKRETNA MATEMATIKA 111
Op´cenito, binomna sluˇcajna varijabla X
n
ima distribuciju
X =
_
_
0 1 . . . n
_
n
0
_
p
0
q
n
_
n
1
_
p
1
q
n−1
. . .
_
n
n
_
p
n
q
0
_
_
pa je njeno matematiˇcko oˇcekivanje dano s
EX
n
=
n

i=0
i
_
n
i
_
p
i
q
n−i
=
n

i=1
i
_
n
i
_
p
i
q
n−i
=
n

i=1
i
n
i
_
n −1
i −1
_
p
i
q
n−i
= np
n

i=1
_
n −1
i −1
_
p
i−1
q
n−i
= np
n−1

i=0
_
n −1
i
_
p
i
q
n−i
= np(p +q)
n−1
= np.
Teorem 3.17 Neka je sluˇcajna varijabla dana s
X =
_
a
1
a
2
. . .
p
1
p
2
. . .
_
.
Tada, ako matematiˇcko oˇcekivanje postoji, vrijedi
EX =

ω∈Ω
a
i
p
i
.
Dokaz. Neka red

ω∈Ω
X(ω) P(¦ω¦) apsolutno konvergira. Tada je
112 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
EX =

ω∈Ω
X(ω) P(¦ω¦)
=

a
i

ω ∈ Ω
X(ω) = a
i
X(ω) P(¦ω¦)
=

a
i
a
i
P(X = A
i
)
=

a
i
a
i
p
i
.
Navedimo neka svojstva matematiˇckog oˇcekivanja:
Teorem 3.18 Neka su X i Y sluˇcajne varijable, α, β ∈ R i neka je g : R →R
proizvoljna realna funkcija. Tada je:
1. Eg(X) =

a
i
g(a
i
)p
i
,
2. E(αX +βY ) = αEX +βEY ,
Dokaz.
1. Neka matematiˇcko oˇcekivanje od X postoji. Tada vrijedi
Eg(X) =

ω∈Ω
g(ω)P(¦ω¦)
=

a
i
g(a
i
)P(X = a
i
)
=

a
i
g(a
i
)p
i
.
2. Ako X i Y imaju dobro definirano matematiˇcko oˇcekivanje, onda je
E(αX +βY ) =

ω∈Ω
(αX +βY )(ω) P(¦ω¦)
=

ω∈Ω
(αX(ω) +βY (ω))
= α

ω∈Ω
X(ω)P(ω) +β

ω∈Ω
Y (ω)P(ω)
= αEX +βEY.
POGLAVLJE 3. DISKRETNA MATEMATIKA 113
Time je teorem dokazan.
Primjer 3.49 Zadana je diskretna uniformna sluˇcajna varijabla. Izraˇcu-
najmo njeno matematiˇcko oˇcekivanje.
EX =
n

i=0
i
1
n
=
n + 1
2
Primjer 3.50 Izraˇcunajmo matematiˇcko oˇcekivanje sluˇcajne varijable koja
ima hipergeometrijsku distribuciju.
Imamo
EX =
m

k=0
k
_
r
k
_

_
n −r
m−k
_
_
n
m
_
=
m

k=1
k
_
r
k
_

_
n −r
m−k
_
_
n
m
_
=
1
_
n
m
_
m

k=1
k
_
r
k
_

_
n −r
m−k
_
.
Prema pravilu apsorpcije slijedi da je
EX =
1
_
n
m
_
m

k=1
k
r
k

_
r −1
k −1
_

_
n −r
m−k
_
= r
1
_
n
m
_
m

k=1
_
r −1
k −1
_

_
n −r
m−k
_
= r
1
_
n
m
_
m

k=0
(−1)
_
r −1
k
_

_
n −r
m−k −1
_
.
No, kako vrijedi da je
l

k=0
_
a
k
_

_
b
l −k
_
=
_
a +b
l
_
,
114 3.8. DISKRETNA TEORIJA VJEROJATNOSTI
Izlazi da je
EX = r
1
_
n
m
_
_
n −1
m−1
_
= r
1
n
m
_
n −1
m−1
_
_
n −1
m−1
_
=
m
n
r.
No, matematiˇcko oˇcekivanje nam samo daje oˇcekivanu vrijednost sluˇcaj-
ne varijable. Druga vaˇzna informacija koja se moˇze izraˇcunati jest koliki
´ce biti rasap vrijednosti sluˇcajne varijable oko te oˇcekivane vrijednosti, tj.
koliko se moˇze oˇcekivati da ´ce se vrijednost u ve´cini sluˇcajeva udaljavati od
oˇcekivane vrijednosti?
Definicija 3.45 Neka je X sluˇcajna varijabla. Varijanca od X je V arX =
E[(X −EX)
2
].
Nadalje, standardna devijacija od X definira se kao σ
X
=

V arX.
Primjer 3.51 Izraˇcunajmo varijancu i standardnu devijaciju diskretne uni-
formne sluˇcajne varijable. Njena varijanca iznosi
V arX = E
_
_
X −
n + 1
2
_
2
_
=
n

i=1
_
i −
n + 1
2
_
2

1
n
=
1
n
_
n

i=1
i
2
−(n + 1)
n

i=1
i +
(n + 1)
2
4
n
_
=
n
2
−1
12
,
odnosno
σ
X
=

3

n
2
−1
6
.
Za kraj ovog poglavlja dat ´cemo joˇs jedan zanimljiv pojam - pojam
indikatorske sluˇcajne varijable.
Definicija 3.46 Neka je A dogadaj iz Ω. Tada se indikatorska sluˇcajna
varijabla dogadaja A definira kao
POGLAVLJE 3. DISKRETNA MATEMATIKA 115
I(A) =
_
1 ako se dogadaj A dogodio
0 ako se dogadaj A nije dogodio
.
Propozicija 3.16 Neka je A dogadaj u Ω. Tada je EI(A) = P(A).
Dokaz.
EI(A) = 1 P(A) + 0 P(A
C
) = P(A).
Primjer 3.52 Neka je X sluˇcajna varijabla koja oznaˇcava broj glava koje
su pale prilikom n bacanja simetriˇcnog novˇci´ca.
Neka je X
i
sluˇcajna varijabla koja oznaˇcuje uspjeh i-tog bacanja. Neka
je
Y
i
= I(X = i),
X =
n

i=0
Y
i
,
Tada je
EX = E
_
n

i=0
Y
i
_
=
n

i=0
EY
i
=
n
2
.
Ako gledamo op´cenitu binomnu varijablu, imat ´cemo:
EX
n
= E
_
n

i=0
Y
i
_
=
n

i=0
EY
i
= np.
Ovaj smo rezultat ve´c dobili i ranije, bez koriˇstenja indikatorksih vari-
jabli, no uz koriˇstenje indikatorskih varijabli, postupak dobivanja ovog rezul-
tata postao je znatno jednostavniji i kra´ci. Indikatorske varijable ne donose
niˇsta nova, no omogu´cuju da se neki pojmovi jednostavnije zapiˇsu te da se
postupak dobivanja nekih rezultata osjetno skrati.
3.9 Zadaci
1. Odredite skupove A i B takve da vrijedi A ⊆ B i P(A) = P(B).
2. Odredite presjek skupova P(∅), P(P(∅)) i P(P(P(∅))).
3. Zadan je skup A = ¦∅¦. Ispiˇsite P(P(A)).
4. Koji su od navedenih skupova medusobno jednaki: A = ¦a, b¦, B =
¦b, a¦ ∪ ∅, C = ¦a, b¦ ∪ ¦∅¦, D = ¦∅, a, b¦, E = ¦a, b, ∅¦ ∪ ¦a¦?
116 3.9. ZADACI
5. Zadana je relacija
ρ = ¦(a, b) ∈ S [ a je viˇsekratnik od b¦ ,
S = ¦1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12¦
(a) Ispiˇsite sve elemente zadane relacije.
(b) Koja svojstva ima zadana relacija (refleksivnost, simetriˇcnost, an-
tisimetriˇcnost, tranzitivnost)?
(c) Da li je ρ relacija ekvivalencije?
(d) Da li je ρ relacija parcijalnog uredaja?
6. Zadana je relacija (¦1, 2, 3, 4, 6¦, [¦) gdje a[b oznaˇcava da a dijeli b.
(a) Ispiˇsite sve elemente relacije.
(b) Provjerite da li je tom relacijom zadana relacija parcijalnog ure-
daja.
(c) Prikaˇzite relaciju pomo´cu skupa uredenih parova.
(d) Prikaˇzite relaciju pomo´cu usmjerenog grafa.
(e) Prikaˇzite relaciju pomo´cu Hasseovog dijagrama.
7. Zadan je skup toˇcaka u ravnini bez ishodiˇsta. Za a, b ∈ S definiramo
a ∼ b ako je a = b ili ako a i b leˇze na pravcu kroz ishodiˇste.
(a) Dokaˇzite da je ∼ relacija ekvivalencije.
(b) Nadite klase ekvivalencije zadane relacije.
8. Neka su R
1
i R
2
refleksivne i simetriˇcne relacije na A. Provjerite jesu
li tada i R
1
∩ R
2
i R
1
∪ R
2
refleksivne i simetriˇcne relacije na A?
9. (a) Moˇze li relacija istodobno biti relacija ekvivalencije i relacija par-
cijalnog uredaja?
(b) Da li je relacija okomitosti na skupu svih pravaca u ravnini rela-
cija ekvivalencije?
Obrazloˇzite svoje odgovore.
10. Neka je R relacija ekvivalencije na A, a S relacija ekvivalencije na
B. Definiramo ((a
2
, b
1
), (a
2
, b
2
)) ∈ T ako i samo ako je (a
1
, a
2
) ∈ R i
(b
1
, b
2
) ∈ S.
Dokaˇzite da je T relacija ekvivalencije na AB.
POGLAVLJE 3. DISKRETNA MATEMATIKA 117
11. Neka je A = Z
2
. Za a = (a
1
, a
2
) b = (b
1
, b
2
) iz A definiramo
a _ b ⇔a
1
+a
2
≤ b
1
+b
2
.
Pokaˇzite da je _ parcijalni uredaj na A. Da li je ovo totalni uredaj?
12. Napiˇsite sve mogu´ce relacije na skupu A = ¦1, 2¦.
13. Na skupu S = ¦a, b, c¦ napiˇsite jednu relaciju ekvivalencije i jednu
relaciju parcijalnog uredaja.
14. Rjeˇsite sustav:
x ≡ 2(mod7)
x ≡ 7(mod11)
x ≡ 5(mod13).
15. Rjeˇsite sustav:
x ≡ 3(mod10)
x ≡ 8(mod15)
x ≡ 5(mod84).
(Primijetite da 5,15, 84 nisu po parovima relativno prosti.)
16. Neka je A = ¦1, 2¦ i B = ¦a, b, c¦
(a) Ispiˇsite sve funkcije iz A u B te iz B u A.
(b) Nadite sve injekcije iz A u B.
(c) Nadite sve surjekcije iz A u B.
(d) Postoji li bijekcija izmedu ova dva skupa?
17. Ako je k(A) = m i k(B) = n, koliko ima razliˇcitih funkcija iz A u B?
18. Neka je ¸x| najve´ci cijeli broj manji od x. Definiramo funkciju f :
R →R formulom f(x) = x −¸x|.
(a) Ispitajte je li f injekcija.
(b) Ispitajte je li f surjekcija.
19. Nadite barem jednu bijekciju f :< 0, 1 >→ R koja osigurava da <
0, 1 > i R imaju jednak kardinalni broj.
118 3.9. ZADACI
20. Neka je
A = ¦a
1
, a
2
, a
3
, a
4
¦ i
ρ = ¦(a
1
, a
1
), (a
2
, a
1
), (a
2
, a
2
), (a
2
, a
3
), (a
2
, a
4
), (a
3
, a
3
), (a
3
, a
4
),
(a
4
, a
4
)¦.
(a) Odredite matricu susjedstva za ρ.
(b) Pokaˇzite sa je ρ relacija parcijalnog, ali ne i linearnog uredaja.
21. Pretpostavimo da je ρ tranzitivna relacija na A A. Je li obrat ρ od
ρ takoder tranzitivna relacija? Ako nije pronadite protuprimjer.
22. Na skupu A = ¦0, 1, 2, 3¦ je zadana relacija
(a) ρ
1
= ¦(i, j) : i +j = 3¦,
(b) ρ
2
= ¦(i, j) : i +j ≤ 4¦.
Ispitajte jesu li to relacije kvaziuredaja.
Jesu li to relacije parcijalnog uredaja?
Nacrtajte Hasseov dijagram tih relacija.
23. Dokaˇzite da ako je ρ relacija totalnog uredaja na A, tada je ρ ∪ ρ =
AA.
24. Dokaˇzite da ako je ρ relacija totalnog uredaja i M njena matrica sus-
jedstva onda je M +M

= I (jediniˇcna matrica).
25. Dokaˇzite da kod zbrajanja modulo 2 vrijedi (a +b)
2
= a
2
+b
2
.
26. Dokaˇzite sa otvoreni intervali < 1, 2 > i < 0, +∞ > imaju jednake
kardinalne brojeve.
27. Neka su f : A →B i g : B →C funkcije. Dokaˇzite
(a) Ako je f bijekcija, onda je i f
−1
bijekcija.
(b) Ako f raste onda i f
−1
raste.
(c) Ako su f i g bijekcije, onda je i f ◦ g bijekcija.
(d) Ako je g ◦ f bijekcija i f surjekcija, onda je i g bijekcija.
28. Nadite sve elemente iz Z
6
, Z
7
i Z
8
koji imaju inverze s obzirom na
mnoˇzenje.
29. Dokaˇzite pomo´cu matematiˇcke indukcije da skup koji se sastoji od n
elemenata ima 2
n
podskupova.
POGLAVLJE 3. DISKRETNA MATEMATIKA 119
30. Nadite kontraprimjer za jednakost
(A∪ B) ∩ C = A∪ (B ∩ C).
31. Neka je za svaki n ∈ N, A
n
= ¦n¦.
ˇ
Sto je

n∈N
, a ˇsto

n∈N
?
32. Koje su od sljede´cih funkcija bijekcije?
(a) f : R →R, f(x) = 3x −1
(b) f : R →R, f(x) = 2x
3
(c) f : R →R, f(x) = x
4
(d) f : R →R R, f(x) = (x, x)
(e) f : Z Z →Z, f(m, n) = m−n
(f) f : R
+
→R, f(x) = log x −2
33. Neka je S skup svih binarnih nizova, tj. beskonaˇcnih nizova koji se
sastoje od nula i jedinica. Pokaˇzite da je S neprebrojivo beskonaˇcan.
34. Pomo´cu metode karakteristiˇcne jednadˇzbe pronadite eksplicitni zapis
sljede´cih rekurzivnih jednadˇzbi:
(a) a
n
= 3 a
n−1
, a
0
= 1
(b) a
n
= 4 a
n−1
−a
n−2
−6 a
n−3
, a
0
= 0, a
1
= 1, a
2
= 17
(c) a
n
= 2 a
n−1
−a
n−2
, a
0
= 0, a
1
= 1
(d) a
n
= −a
n−1
−a
n−2
, a
0
= 0, a
1
= 1
(e) a
n
= a
n−1
+a
n−2
+ 2 + 4 n, a
0
= 0, a
1
= 1
(f) a
n
= 2 a
n−1
−3 a
n−2
+ 3, a
0
= 1, a
1
= 1
(g) a
n
= a
n
2
+ 2 n + 3, a
1
= 1
35. Pokuˇsajte rijeˇsiti prethodne zadatke pomo´cu funkcija izvodnica.
36. Bakterije se razvijaju prema shemi: svaka ˇzivi jedan sat i svakih pola
sata daje jednu novu bakteriju (dakle, svega dvije tijekom ˇzivota).
Koliko je potomstvo jedne bakterije nakon 48 sati?
37. Na vojnoj paradi sudjeluje 10 jedinica. Ako su jedinice poredane jedna
za drugom, na koliko naˇcina moˇzemo poredati jedinice na paradi?
38. U selu ima 10 mladi´ca i 8 djevojaka. Na koliko se naˇcina oni mogu
spojiti u parove, tako da svaka djevojka ima jednog momka?
39. Imamo po tri kuglice crvene, plave i ˇzute boje. Na koliko naˇcina ih
moˇzemo razvrstati u tri kutije tako da u svakoj kutiji budu toˇcno tri
kuglice?
120 3.9. ZADACI
40. Na koliko se razliˇcitih naˇcina ˇcovjek moˇze popeti uz n stepenica, ako
odjednom moˇze zakoraˇciti na jednu ili dvije stepenice? Dva uspinjanja
smatramo jednakim ako smo kroˇcili na toˇcno iste stepenice.
41. Komunikacijskim kanalom mogu se prenijeti poruke sastavljene od
triju simbola: a = , b = + i c = −. Dopustive su one poruke kod
kojih se na susjednim mjestima ne pojavljuje simbol a. Koliko ima
dopustivih poruka duljine n?
42. Na koliko n pravaca najviˇse dijelova dijeli kruˇznicu?
43. Od 8 ˇzena i 4 muˇskarca treba izabrati delegaciju. Na koliko se naˇcina
moˇze izabrati:
(a) Petero ljudi od kojih su barem dvije ˇzene?
(b)
ˇ
Sestero ljudi, po troje istog spola?
(c) Bilo koji broj ljudi, uz uvjet da mora biti jednak broj muˇskih i
ˇzenskih osoba?
44. U neprozirnoj vre´ci nalazi se devet obojenih kuglica: tri crvene, tri
ˇzute i tri plave. Izvlaˇcimo tri kuglice. Kolika je vjerojatnost da sve tri
izvuˇcene kuglice budu iste boje?
45. U koˇsari se nalazi 20 jabuka, 10 crvenih i 10 ˇzutih. Zna se da crvene
jabuke trule brˇze od ˇzutih i da je 20% crvenih jabuka trulo, a 10%
ˇzutih. Ako nasumce uzmemo 5 jabuka, i ako je od njih jedna trula,
kolika je vjerojatnost da trula jabuka bude ˇzuta?
46. Imamo 50 ˇzutih i 50 crvenih sijalica u istoj kutiji. 10% posto ˇzutih i
15% crvenih sijalica ne radi. Iz kutije izvlaˇcimo 10 sijalica i njih 3 ne
radi. Koja je vjerojatnost da su sve pokvarene sijalice crvene?
47. Lovac puca na glinene golubove. Na svakog goluba moˇze ispaliti dva
metka. Vjerojatnost pogotka svakim metkom jest 20%. Lovac puca na
10 golubova. Koliko se oˇcekuje da ´ce lovac pogoditi golubova? Kolika
je standardna devijacija matematiˇckog oˇcekivanja?
48. Ljut na dvorskog matematiˇcara car naredi da se donese n urni, n crnih
i n bijelih kuglica. Matematiˇcar mora rasporediti sve kuglice u urne
tako da u svakoj urni bude barem jedna kuglica. Dvorski ´ce krvnik
nasumce odabrati jednu od tih urni i sluˇcajno izvu´ci jednu kuglicu.
Ako izvuˇce bijelu, car ´ce pomilovati matematiˇcara, a ako izvuˇce crnu,
bit ´ce pogubljen. Kako matematiˇcar treba rasporediti kuglice da ima
najve´ce izglede da preˇzivi? Nadite optimalan raspored i vjerojatnost
pomilovanja. Za koji najmanji n matematiˇcar ima bar 90% izgleda da
preˇzivi?
POGLAVLJE 3. DISKRETNA MATEMATIKA 121
49. Meta se gada ˇcetiri puta uz vjerojatnost pogotka od 0,8. Neka je X
sluˇcajna varijabla ˇcija je vrijednost broj pogodaka u metu. Pronadite
(a) distribuciju za X,
(b) P(1 ≤ X ≤ 3).
50. Pokus se sastoji od bacanja nesimetriˇcnog novˇci´ca, na kojemu vjero-
jatnost da se pojavi glava iznosi p. Neka se pokus sastoji od n bacanja
novˇci´ca. Koriˇstenjem indikatorske varijable izraˇcunajte vjerojatnost
da se glava pojavila najmanje k puta.
3.10 Projekti
1. Promatrajte relacije na S S i njima pridruˇzene matrice susjedstva.
Relaciji ρ pridruˇzena je matrica M(ρ). Na matricama definiramo
Booleovu aritmetiku (zbrajanje i mnoˇzenje modulo 2). Pokaˇzite kako
se kompozicija relacija povezuje s operacijama na njima pripadnim ma-
tricama. Interpretirajte na isti naˇcin inverz relacije. U kakvoj su vezi
svojstva relacija (refleksivnost, tranzitivnost) te odnos M(ρ) i M
2
(ρ).
(Uputa: upotrijebite literaturu [3])
2. Upotrebom aritmetike modulo 3,7,12 i 100 moˇze se napraviti algoritam
za izraˇcunavanje dana u tjednu za bilo koji datum od 1900. do 2100.
godine. Objasnite taj algoritam.
122 3.10. PROJEKTI
Bibliografija
[1] Cormen, T. H.; Lieserson, C. E,; Rivest, R. L.; Stein, C.: Introduction
to Algorithms, 2
nd
edition, The MIT Press, Cambrige, 2001.
[2] Devlin, K.: Sets, Functions and Logic, Chapman & Hall/CRC, New
York, 2004.
[3] Dymaˇcek, W.M.; Sharp, H.: Introduction to Discrete Mathematics,
WBC/McGraw-Hill, International Editions, New York, 1998.
[4] Divjak, B.; Hunjak, T.: Matematika za informatiˇcare, TIVA-FOI,
Varaˇzdin, 2004.
[5] Goodaire, E.G.; Parmenter, M.M.: Discrete Mathematics with Graph
Theory , Prentice-Hall, Upper Side River, 1998.
[6] Lipschutz, S.; Schiller, J.J.: Finite Mathematics, 2
nd
ed., Schaumm’s
Outline Series, McGrow-Hill, New York, 1995.
[7] Pavkovi´c, B., Daki´c, B.: Polinomi,
ˇ
Skolska knjiga, Zagreb, 1987.
[8] Sarapa, N.: Teorija vjerojatnosti,
ˇ
Skolska knjiga, Zagreb, 1987.
[9] Shen, A.; Vereschchagin: Basic Set Theory, AMS, 2002.
[10]
ˇ
Siki´c, Z: Kako je stvarana novovijekovna matematimka,
ˇ
Skolska knjiga,
Zagreb, 1989.
[11] Tucker, A.: Applied Combinatorics, 3
rd
edition, John Wiley & Sons,
New York, 1995.
[12] Veljan, D.: Kombinatorika s teorijom grafova,
ˇ
Skolska knjiga, Zagreb,
1989.
[13] Whitesitt, J. E.: Boolen Algebra and Its Application, Dover Publica-
tions, Inc. New York, 1992.
[14] Wilf, H. S. (1994): Algorithms and Complexity, Internet edition,
ftp://ftp.cis.upenn.edu/pub/wilf/AlgComp.ps.Z
123
124 BIBLIOGRAFIJA
Poglavlje 4
Algoritmi
Moˇze se ˇciniti da smo dostigli granice
mogu´ceg u raˇcunalnoj tehnologiji.
Ipak, s takvim izjavama treba biti
oprezan, jer bi mogle zvuˇcati smijeˇsno
za pet godina.
John von Neumann (izrekao 1949.)
4.1 Pojam algoritma
Algoritam je striktno definirani postupak koji
daje rjeˇsenje nekog problema. Iako se pojam al-
goritma koristi intenzivno u posljednje vrijeme,
odnosno od pojave raˇcunala, on je nastao mnogo
ranije, prvenstveno u matematici. Prvi znaˇcajni
algoritam, koji se joˇs i danas koristi, nastao je
joˇs u 3. st. prije naˇse ere. Taj je algoritam poz-
nat kao Euklidov algoritam jer ga je prvi opisao
grˇcki matematiˇcar Euklid u svojoj knjizi ”Ele-
menti” (Στoιχεια). Sam naziv dolazi od imena
Iranskog matematiˇcara Abu Ja’far Mohammed ibn
Mˆ usˆa al-Khowˆarizmˆı koji je 825. godine napisao
knjigu pod nazivom ”Pravila restoracije i reduk-
cije”.
Slika 4.1: Donald Erwin
Knuth
D.E. Knuth (1938-) je dao pet svojstava koja algoritam mora zadovoljavati:
1. Konaˇcnost. Algoritam mora zavrˇsiti nakon izvrˇsenih konaˇcno mnogo
koraka. Takoder, algoritam mora biti opisan pomo´cu konaˇcnog broja
operacija, a i svaka operacija mora biti konaˇcne duljine.
2. Definitnost. Svaki korak algoritma mora sadrˇzavati nedvosmislene,
rigorozno definirane operacije.
125
126 4.1. POJAM ALGORITMA
3. Ulaz. Svaki algoritam mora imati 0 ili viˇse ulaza.
4. Izlaz. Svaki algoritam mora imati 1 ili viˇse izlaza.
5. Efektivnost. Algoritam mora biti efektivan, tj. mora biti takav da
se moˇze izvesti samo uz pomo´c olovke i papira u konaˇcno vrijeme.
Treba napomenuti da je algoritam intuitivni pojam te da ga ve´c go-
Slika 4.2: Alonzo Church
dinama matematiˇcari pokuˇsavaju striktno defini-
rati. Postoji ˇcitav niz razliˇcitih pokuˇsaja formali-
zacije pojma algoritma. Medutim, do danas nije
dokazano da li je ijedna od tih formalizacija ko-
rektna. Postoji tek tvrdnja, poznata kao Chur-
chova teza ili Churchova hipoteza koja kaˇze da su
λ-raˇcun, Turingov stroj, logika Hornovih klauzula
itd, dobro definirani modeli algoritma. Ova tvrd-
nja, medutim, nikada nije dokazana.
Bez obzira na to, moˇze se re´ci da je algoritam
postupak za rjeˇsavanje nekog masovnog problema.
Masovni problem je op´cenito pitanje na koje je
potrebno na´ci odgovor, a koje obiˇcno ima parametre koji kod zadavnja pro-
blema ostaju neodredeni. Upravo zbog toga ˇsto parametri masovnog pro-
blema ostaju neodredeni, za problem kaˇzemo da je masovan. Pri definiciji
masovnog problema potrebno je zadati:
1. generalni opis svih parametara,
2. ograniˇcenja koja rjeˇsenje masovnog problema mora zadovoljavati.
Specificiranjem svih parametara masovnog problema dobivamo instancu
problema.
Za algoritam kaˇzemo da rjeˇsava masovni problem ako daje rjeˇsenje za
svaku pojedinu instancu problema.
Kao primjer opiˇsimo jedan od najstarijih i najpoznatijih algoritama,
ve´c ranije spomenuti Euklidov algoritam za pronalaˇzenje najve´ce zajedniˇcke
mjere dvaju prirodnih brojeva.
Algoritam 4.1 (Euklidov algoritam)
ULAZ: Dva prirodna broja a i b.
IZLAZ: Najve´ca zajedniˇcka mjera M(a, b) brojeva a i b.
1. Ako je a < b zamijeni a i b.
2. r := a mod b.
3. a := b, b := r.
POGLAVLJE 4. ALGORITMI 127
4. Ako je r ,= 0 idi na 2.
5. Vrati a.
Postavlja se pitanje kako moˇzemo biti sigurni da je algoritam ispravan?
Potrebno je formalno dokazati da je ovaj algoritam korektan. To znaˇci da
treba dokazati da ´ce za svaka dva broja ovaj algoritam dati rjeˇsenje nakon
konaˇcnog broja koraka, a da ´ce dano rjeˇsenje zaista biti najve´ca zajedniˇcka
mjera tih dvaju brojeva.
Lema 4.1 Neka su a, b, r ∈ N. Ako je a = bq+r, onda je M(a, b) = M(b, r).
Dokaz. Napomenimo na poˇcetku da brojevi a i b moraju biti razliˇciti
od 0, jer u suprotnom njihova najve´ca zajedniˇcka mjera nije definirana.
M(b, r) mora biti djeljivo s b i s r po definiciji zajedniˇcke mjere. No onda
je M(b, r) djeljivo s bq+r = a. Dakle, M(b, r) je zajedniˇcka mjera brojeva a i
b. Op´cenito, kako je M(a, b) najve´ca zajedniˇcka mjera brojeva a i b, a M(b, r)
je takoder zajedniˇcka mjera tih brojeva, sigurno je M(a, b) ≥ M(b, r).
S druge strane, M(a, b) dijeli a i b, pa onda dijeli i a − qb = r. Dakle,
M(a, b) je zajedniˇcka mjera brojeva b i r. No kako je M(b, r) najve´ca mjera
tih dvaju brojeva, onda je M(a, b) ≤ M(b, r).
Zajedno izlazi da je M(a, b) = M(b, r) ˇsto je i trebalo dokazati.
Propozicija 4.1 Algoritam 4.1 ´ce uvijek zavrˇsiti, a kada zavrˇsi vratit ´ce
najve´cu zajedniˇcku mjeru brojeva s ulaza.
Dokaz. Prvo dokaˇzimo da algoritam zavrˇsava. Primijetimo da je ostatak
od dijeljenja uvijek manji od djelitelja. Stoga je r uvijek manji od b, tako
da se b uvijek smanjuje barem za 1. S druge strane, ostatak kod dijeljenja
uvijek je prirodan broj ili 0. Zbog ove dvije ˇcinjenice nakon najviˇse b koraka
r mora postati 0 i u tom trenutku algoritam ´ce stati.
Drugo ˇsto trebamo dokazati jest toˇcnost rjeˇsenja koje algoritam daje.
Ovaj dokaz ide indukcijom po broju prolaza kroz korake od 2 do 4.
Baza indukcije: ako je u prvom koraku r = 0, onda broj a djeljiv s b,
pa je njihova najve´ca zajedniˇcka mjera broj b, a to je upravo ono ˇsto ´ce
algoritam vratiti u ovom sluˇcaju.
Korak indukcije: pretpostavimo da tvrdnja vrijedi kada se do rjeˇsenja
dode u najviˇse k prolaza.
Pretpostavimo da je algoritam zavrˇsio u k + 1 prolazu. Prema lemi 4.1
M(a, b) = M(b, r), a = q b +r. (4.1)
No, prema pretpostavci indukcije, kako je mjera od b i r nadena u k
prolaza, vrijedi da je algoritam pronaˇsao mjeru brojeva b i r, a onda prema
tvrdnji 4.1 vrijedi da je nadeni broj ujedno i najve´ca zajedniˇcka mjera bro-
jeva a i b.
128 4.1. POJAM ALGORITMA
Primijetimo da svaka dva prirodna broja imaju jedinstvenu najve´cu za-
jedniˇcku mjeru.
Zadatak 4.1 Dokaˇzite postojanje i jedinstvenost najve´ce zajedniˇcke mjere
dvaju prirodnih brojeva.
Najve´ca zajedniˇcka mjera se, na isti naˇcin kao ˇsto je definirana za pri-
rodne brojeve, moˇze definirati i za polinome.
ˇ
Stoviˇse, tom sluˇcaju za njeno
pronalaˇzenje moˇzemo primijeniti algoritam analogan Euklidovom algoritmu
za brojeve. Viˇse o tome moˇze se na´ci u [8]
Sljede´ci algoritam, koji ´cemo ovdje obraditi jest Hornerov algoritam ili
Hornerova shema. To je algoritam koji izraˇcunava vrijednost polinoma u
zadanoj toˇcki. Prije negoli zapiˇsemo ovaj algoritam, dokazat ´cemo nje-
govu ispravnost. Nas Hornerov algoritam prvenstveno zanima s aspekta
izraˇcunavanja vrijednosti polinoma u zadanoj toˇcki, no sam Hornerov algo-
ritam ima i druge aspekte. Viˇse o tome moˇzete na´ci u [8].
Polinom n-tog stupnja je funkcija oblika
P
n
(x) = a
n
x
n
+a
n−1
x
n−1
+. . . +a
1
x +a
0
.
Izluˇcimo li iz prvih n pribrojnika gornjeg polinoma x, dobit ´cemo
P
n
(x) = (a
n
x
n−1
+a
n−1
x
n−2
+. . . +a
1
)x +a
0
.
Ponovimo li ovaj postupak na prvih n − 1 pribrojnika unutar zagrade,
imat ´cemo
P
n
(x) = ((a
n
x
n−2
+a
n−1
x
n−3
+. . . +a
2
)x +a
1
)x +a
0
.
Ponovimo li ovaj postupak joˇs n −3 puta konaˇcno dobivamo
P
n
(x) = ((. . . ((a
n
x +a
n−1
)x +a
n−2
) +. . . +a
2
)x +a
1
)x +a
0
.
Ovaj se oblik polinoma naziva Hornerova shema. Sljede´ci algoritam
izraˇcunava vrijednost polinoma P
n
(x) u toˇcki x koriste´ci posljednji oblik
polinoma.
Algoritam 4.2 (Hornerov algoritam)
ULAZ: Broj x ∈ R
IZLAZ: Vrijednost P(x) = a
n
x
n
+a
n−1
x
n−1
+. . . +a
1
x +a
0
1. i := n −1, p := a
n
.
2. p := p x +a
i
.
3. i := i −1.
POGLAVLJE 4. ALGORITMI 129
4. Ako je i ≥ 0 idi na 2.
5. Vrati p.
Postavlja se pitanje ˇcemu koristiti Hornerov algoritam kada se vrijed-
nost polinoma moˇze izraˇcunati i iz njegovog uobiˇcajenog oblika sljede´cim
algoritmom:
Algoritam 4.3
ULAZ: Broj x ∈ R
IZLAZ: Vrijednost P(x) = a
n
x
n
+a
n−1
x
n−1
+. . . +a
1
x +a
0
1. i := 0, p := 0
2. p := p +a
i
x
i
3. i := i + 1
4. Ako je i ≤ n idi na 2
5. Vrati p.
Korektnost ovog algoritma je oˇcita. Usporedimo sada ova dva algo-
ritma za pronalaˇzenje vrijednosti polinoma. Usporedivat ´cemo ih po broju
raˇcunskih operacija koje trebaju izvesti da bi izraˇcunali rjeˇsenje. Pri tome
ne´cemo uraˇcunavati raˇcunske operacije potrebne za pove´canje, odnosno sma-
njenje brojaˇca i. To i tako nije vaˇzno, jer prvi algoritam ima n smanjenja,
a drugi n + 1 pove´canje brojaˇca i, ˇsto je zanemariva razlika.
Algoritam 4.2 prolazi kroz korake od 2 do 4 toˇcno n puta. U svakom
prolazu on u koraku 2 napravi jedno zbrajanje i jedno mnoˇzenje. To ukupno
daje n zbrajanja i n mnoˇzenja.
Algoritam 4.3 pak prolazi n+1 puta kroz korake 2 do 4. U svakom pro-
lazu on u koraku 2 napravi jedno zbrajanje, jedno mnoˇzenje i jedno poten-
ciranje. Bez ve´ce pogreˇske, potenciranje se moˇze shvatiti kao niz uzastopnih
mnoˇzenja. Pri tome izraˇcunavanje x
0
i x
1
ne zahtjeva nijedno mnoˇzenje,
dok za i > 1 x
i
zahtjeva i − 1 mnoˇzenje. To ukupno daje
n−1

i=1
i =
(n−1)n
2
mnoˇzenja. Dakle, algoritam 4.3 zahtijeva n +1 zbrajanje i (n +1) +
(n−1)n
2
mnoˇzenja. Broj mnoˇzenja u ovom algoritmu raste kvadratno i ve´ci je od
broja mnoˇzenja u Hornerovu algoritmu za svaki n ∈ N.
Primijetimo da se u algoritmu 4.3 izraˇcunavaju sve ve´ce i ve´ce poten-
cije istog broja x. Jasno je da se svaka sljede´ca potencija moˇze izraˇcunati
mnoˇzenjem potencije dobivene u prethodnom koraku s x, tj. x
i
= x
i−1
x.
Ovakav ´ce pristup znatno smanjiti broj mnoˇzenja u algoritmu. Ugradiva-
njem ove ideje u algoritam 4.3 dobit ´cemo sljede´ci algoritam:
130 4.2. SLO
ˇ
ZENOST ALGORITAMA
Algoritam 4.4
ULAZ: Broj x ∈ R
IZLAZ: Vrijednost P(x) = a
n
x
n
+a
n−1
x
n−1
+. . . +a
1
x +a
0
1. i := 0, p := 0, y := 1.
2. p := p +a
i
y.
3. i := i + 1, y := y x.
4. Ako je i ≤ n idi na 2.
5. Vrati p.
Pogledajmo sada broj mnoˇzenja i zbrajanja u ovom algoritmu. I opet
broj prolaza kroz korake 2 do 4 bit ´ce n + 1. U svakom prolazu imamo
jedno zbrajanje u koraku 2. Isto tako imamo jedno mnoˇzenje u koraku 2,
ali i jedno mnoˇzenje u koraku 3. To daje ukupno n + 1 zbrajanja i 2n + 2
mnoˇzenja, ˇsto je daleko bolje nego kod algoritma 4.3, ali joˇs uvijek viˇse nego
dvostruko loˇsije nego kod algoritma 4.2.
Cilj ove analize jest prona´ci broj operacija koje algoritam mora izvesti
kako bi izraˇcunao rjeˇsenje. Smatrat ´cemo da je bolji onaj algoritam koji
izvodi manje operacija, jer ´ce on i brˇze zavrˇsiti. Stoga je Hornerov algoritam
superioran nad preostala dva, i to je razlog zbog ˇcega se on koristi.
Ova nas analiza uvodi u sljede´ce poglavlje koje ´ce se baviti sloˇzenoˇs´cu al-
goritama, tj. mjerom pomo´cu koje ´ce se mo´ci usporedivati razliˇciti algoritmi
koji rjeˇsavaju isti problem.
4.2 Sloˇzenost algoritama
U proˇslom smo poglavlju vidjeli da se za isti problem mogu dati razliˇciti
algoritmi. Ako su dana dva ili viˇse algoritma, koja rjeˇsavaju isti masovni
problem, prirodno se postavlja pitanje koji od njih izabrati i koristiti. Zbog
toga je potrebno odrediti mjeru kakvo´ce algoritma, kako bismo pri izboru
mogli izabrati onaj algoritam koji je bolji. U ovom ´cemo se poglavlju baviti
upravo mjerenjem kakvo´ce algoritama.
Kako mjeriti kakvo´cu pojedinog algoritma, odnosno ˇsto treba mjeriti
da bi se dobila kakvo´ca algoritma? Ono ˇsto se mjeri jest koliˇcina resursa
koje algoritam treba da bi rijeˇsio problem. Dvije mjere koje se najˇceˇs´ce
koriste za odredivanje kakvo´ce algoritma jesu vrijeme potrebno za izvrˇsenje
algoritma i prostor potreban za pohranjivanje ulaznih i izlaznih rezultata,
kao i medurezultata. Prva od ovih dviju mjera zove se vremenska sloˇzenost
algoritma, a druga se zove prostorna sloˇzenost algoritma. U ovom ´cemo
se poglavlju, medutim, baviti samo vremenskom sloˇzenoˇs´cu algoritama, jer
je ona mjera koja se najˇceˇs´ce koristi za ocjenjivanje kakvo´ce algoritama.
POGLAVLJE 4. ALGORITMI 131
Prostorna se sloˇzenost koristi mnogo rijede. Za to postoje razlozi u koje
sada ne´cemo ulaziti.
Prvi problem koji se javlja kod odredivanja vremenske sloˇzenosti algo-
ritma jest kako na´ci mjeru koja ne´ce ovisiti o brzini raˇcunala na kojem se
algoritam izvodi, ve´c samo o samom algoritmu. Vrijeme potrebno algoritmu
da izraˇcuna rjeˇsenje znatno ´ce ovisiti o brzini raˇcunala na kojem se algoritam
izvodi. Tako, uzmemo li vrijeme trajanja dvaju algoritama, takva ´ce mjera
vrijediti jedino ako se oba algoritma izvode na istom raˇcunalu. Medutim,
takva mjera ne bi op´cenito mnogo znaˇcila. Mjera koju ˇzelimo izvesti jest
takva da ona ne ovisi o raˇcunalu, ve´c samo o algoritmu. Na taj bismo naˇcin
dobili mjeru koja bi imala apsolutno znaˇcenje.
Stoga se vremenska sloˇzenost ne izraˇzava vremenom potrebnim da algo-
ritam izraˇcuna rezultat, ve´c brojem elementarnih operacija koje algoritam
mora izvesti da bi izraˇcunao rjeˇsenje. Brˇza raˇcunala izvode elementarne
operacije brˇze od sporijih. No, radi li se o raˇcunalima koja imaju procesore
iste arhitekture, koji se tek razlikuju u brzini internog sata, onda ´ce broj
operacija koje algoritam mora izvesti biti isti. Naravno, radi li se o razliˇcitim
procesorima, i broj ´ce se elementarnih operacija razlikovati. No, ove ´ce raz-
like biti neznatne: broj elementarnih operacija razlikovat ´ce se najviˇse za
neku multiplikativnu konstantu.
n
0
Duljina
ulaza
složenost
f
min
f
avg
f
max
Slika 4.3
Sljede´ci problem je ˇsto broj operacija koje izvodi algoritam nije fiksan,
ve´c ovisi o veliˇcini ulaza. Dakle, instance problema razliˇcitih dimenzija za-
132 4.2. SLO
ˇ
ZENOST ALGORITAMA
htjevat ´ce razliˇcit broj elementarnih operacija za obradu. Medutim, masovni
problem moˇze imati i razliˇcite instance iste duljine, ˇcija vremenska sloˇzenost
ne mora biti jednaka. Dakle, sloˇzenost algoritma nije funkcija veliˇcine ulaza
(vidi sliku 4.3.)
Stoga se ocjena sloˇzenosti vezuje uz odredenu instancu problema. Naj-
ˇceˇs´ce se koristi ocjena sloˇzenosti najgoreg sluˇcaja. Pri tome se ocjenjuje
sloˇzenost one instance problema odredene duljine za ˇciju obradu algoritam
treba najviˇse vremena. Druga mogu´cnost, koja nije tako znaˇcajna jest ocje-
na sloˇzenosti najboljeg sluˇcaja. Tre´ca, najbolja, ali i najsloˇzenija za izra-
ˇcunavanje, jest ocjena sloˇzenosti prosjeˇcnog sluˇcaja. Ova sloˇzenost nam
opisuje kako ´ce se u prosjeku algoritam ponaˇsati. Dok se prve dvije sloˇzenosti
vezuju za jednu instancu problema, u posljednjoj je potrebno u obzir uzeti
sve instance problema odredene duljine ulaza, te svakoj od njih pridruˇziti
vjerojatnost pojavljivanja. Odabirom jedne od ove tri mogu´ce sloˇzenosti,
dobijamo funkciju sloˇzenosti algoritma u ovisnosti o duljini ulaza.
No, sama sloˇzenost, bez obzira radi li se o maksimalnoj, minimalnoj ili
prosjeˇcnoj, moˇze biti funkcija koja nije analitiˇcka, a ako i jest analitiˇcka,
moˇze zahtjevati vrlo sloˇzenu formulu za prikaz. Podsjetimo se: analitiˇcka
je ona funkcija koja se moˇze prikazati formulom izgradenom pomo´cu arit-
metiˇckih operacija i transcedentnih funkcija. S druge strane, ˇzelimo aproksi-
mativno izraziti sloˇzenost, a ne toˇcno. Naime, toˇcan broj operacija je vrlo
teˇsko izraˇcunati, a i taj raˇcun ne bi dao neki znaˇcajan rezultat. Osim toga,
sama brzina rada algoritma, kao ˇsto smo ve´c rekli ovisit ´ce o raˇcunalu na
kojem se algoritam izvodi. Sve su to razlozi zbog kojih se toˇcan raˇcun
sloˇzenosti ne isplati. Ono ˇsto se isplati, i ˇsto ´ce znaˇcajno razlikovati al-
goritme, jest ˇcinjenica koliko brzo ´ce sloˇzenost algoritma rasti u ovisnosti
porasta veliˇcine ulaza. Zbog toga ´cemo funkciju sloˇzenosti aproksimirati
jednostavnijom funkcijom, koja ´ce dobro opisivati rast funkcije sloˇzenosti
pove´canjem nezavisne varijable (vidi sliku 4.3). Zato je prikladno uvesti
notaciju koja ´ce jednostavno opisivati brzinu rasta funkcije sloˇzenosti al-
goritma. Uvodi se asimptotska ocjena rasta funkcije. Najˇceˇs´ce, kada se
izraˇcunava sloˇzenost, aproksimacija se vrˇsi tako da aproksimativna funkcija
koja je jednostavnija od same funkcije sloˇzenosti, dobro asimptotski opisuje
rast funkcije sloˇzenost. No, dozvoljava se da za male n-ove ova aproksimacija
ne vrijedi (vidi sliku 4.3). Naime, pretpostavlja se da ´ce svi algoritmi, bez
obzira na njihovu sloˇzenost raditi zadovoljavaju´ce za male n-ove, a da ´ce ve´ci
problemi nastati kad veliˇcina ulaza poraste. Stoga se kod definicije asim-
ptotskih ocjena funkcija dozvoljava da ocjena ne ocjenjuje funkciju dobro za
n < n
0
. Na gornjem je grafu funkcija kojom se ocjenjuje sloˇzenost nacrtana
tako da omeduje odozgo sloˇzenost u najgorem sluˇcaju. To, medutim, nije
nuˇzno. Naime, ako je funkcija f(n) ocjena sloˇzenosti nekog algoritma, onda
´ce i funkcija f(n) + c takoder biti funkcija koja ocjenjuje sloˇzenost tog al-
goritma. Radi se o tome da nas ne zanima stvarni iznos funkcije sloˇzenosti,
ve´c samo koliko brzo ta funkcija raste. Ovime smo zavrˇsili opis ocjene kakvu
POGLAVLJE 4. ALGORITMI 133
ˇzelimo napraviti, pa nam samo joˇs preostaje da definiramo asimptotske ocje-
ne funkcija sloˇzenosti algoritama.
Definicija 4.1 Zadane su funkcije f, g : R →R.
1. Kaˇzemo da je f = O(g) ako postoji n
0
∈ N i c ∈ R
+
takvi da za svaki
n ≥ n
0
vrijedi [f(n)[ ≤ c [g(n)[. Druga oznaka: f(n) _ g(n).
2. Kaˇzemo da je f = Ω(g) ako postoji n
0
∈ N i c ∈ R
+
takvi da za svaki
n ≥ n
0
vrijedi [f(n)[ ≥ c [g(n)[. Druga oznaka: f(n) _ g(n).
3. Kaˇzemo da je f = o(g) ako postoji n
0
∈ N i c ∈ R
+
takvi da za svaki
n ≥ n
0
vrijedi [f(n)[ < c [g(n)[. Druga oznaka: f(n) ≺ g(n).
4. Kaˇzemo da je f = ω(g) ako postoji n
0
∈ N i c ∈ R
+
takvi da za svaki
n ≥ n
0
vrijedi [f(n)[ > c [g(n)[. Druga oznaka: f(n) ~ g(n).
5. Kaˇzemo da je f = Θ(g) ako postoji n
0
∈ N i c
1
, c
2
∈ R
+
takvi da za
svaki n ≥ n
0
vrijedi c
1
[g(n)[ ≤ [f(n)[ ≤ c
2
[g(n)[. Druga oznaka:
f(n) ∼ g(n).
Iako ova definicija vrijedi za realne funkcije realne varijable, funkcije
sloˇzenosti su uvijek funkcije sa N u N. Mi ´cemo, medutim, u ovom poglavlju
funkcije s kojima ´cemo raditi definirati neˇsto ˇsire, kao funkcije sa N u R.
Razlog tome je ˇsto se kod ocjene sloˇzenosti ˇcesto javljaju funkcije koje nisu
funkcije sa skupa prirodnih brojeva u skup prirodnih brojeva. lg n,

n i
sl. U biti, kada se jave ove funkcije, sloˇzenost je funkcija sa skupa prirod-
nih brojeva u skup prirodnih brojeva, ali se njihova brzina rasta ocjenjuje
analitiˇckom funkcijom kojoj kodomena nije skup N.
Definirane ocjene formaliziraju intuitivni pojam brzine rasta funkcije.
Tako moˇzemo kazati da ako vrijedi f(n) = O(g(n)) onda funkcija f ne raste
brˇze od g. Ako je pak f(n) = o(g(n)), onda kaˇzemo da funkcija f raste
sporije od g. Ako su O i o ocjene koje ocjenjuju funkciju ograniˇcavaju´ci je
odozgo, onda su Ω i ω ocjene koje to rade odozdo. Dakle, ako je f(n) =
Ω(g(n)), onda kaˇzemo da funkcija f ne raste sporije od g, a ako je f(n) =
ω(g(n)), onda kaˇzemo da funkcija f raste brˇze od g. Na kraju imamo ocjenu
Θ, koja u sebi objedinjuje ocjene O i Ω. Ako je f(n) = Θ(g(n)), onda
kaˇzemo da funkcije f i g rastu jednako brzo.
Iz definicije izravno slijede neki odnosi izmedu ovih notacija:
Korolar 4.1
• f(n) = Θ(g(n)) ako i samo ako je f(n) = O(g(n)) i f(n) = Ω(g(n)).
• Ako je f(n) = o(g(n)) onda je f(n) = O(g(n)). Obrat ne vrijedi.
134 4.2. SLO
ˇ
ZENOST ALGORITAMA
• Ako je f(n) = ω(g(n)) onda je f(n) = Ω(g(n)). Obrat ne vrijedi.
• f(n) = O(g(n)) ako i samo ako je g(n) = Ω(f(n)).
• f(n) = o(g(n)) ako i samo ako je g(n) = ω(f(n))
Dokaz. Dokaz izvedite sami.
Posljednje dvije toˇcke u prethodnom korolaru nazivaju se transpozitna
simetriˇcnost.
Propozicija 4.2 Neka je P(n) = a
0
+ a
1
n + . . . + a
m
n
m
polinom m-tog
stupnja. Onda je P(n) = Θ(n
m
).
Dokaz. Primjenom nejednakosti trokuta na [ P(n) [ imamo:
[P(n)[ = [a
0
+a
1
n +. . . +a
m
n
m
[
≤ [a
0
[ +[a
1
[n +. . . +[a
m
[n
m
≤ [a
0
[n
m
+[a
1
[n
m
+. . . +[a
m
[n
m
= ([a
0
[ +[a
1
[ +. . . +[a
m
[)n
m
= c n
m
Pokaˇzimo i obratno. Treba pokazati da je n
m
= O(P(n)). Napiˇsimo polinom
P(n) u sljede´cem obliku:
P(n) = n
m
(a
0

1
n
m
+a
1

1
n
m−1
+. . . +a
m
).
Za dovoljno veliki n ≥ n
0
vrijedi da je
a
i
n
m

|a
m
|
2m
, a isto tako je −
|a
m
|
2m

|a
m
|
2m
pa je
P(n) ≥ n
m
([a
m
[ −
[a
m
[
2m
−. . . −
[a
m
[
2m
)
= n
m
([a
m
[ −m
[a
m
[
2m
)
= n
m
([a
m
[ −
[a
m
[
2
)
= n
m

[a
m
[
2
.
Time je dokazano da vrijedi P(n) = Ω(n
m
), ˇsto zajedno s prije do-
kazanom tvrdnjom P(n) = O(n), a prema korolaru 4.1 daje tvrdnju ove
propozicije.
Iz prethodne propozicije proizlazi sljede´ci korolar:
Korolar 4.2 Za proizvoljni a ∈ R je a = Θ(1).
Sljede´ci teorem daje karakterizaciju asimptotskih notacija.
POGLAVLJE 4. ALGORITMI 135
Teorem 4.1
1. Ako je lim
n→∞
f(n)
g(n)
= 0, onda je f(n) = o(g(n))
2. Ako je lim
n→∞
f(n)
g(n)
= C, onda je f(n) = O(g(n))
3. Ako je lim
n→∞
g(n)
f(n)
= 0, onda je f(n) = ω(g(n))
4. Ako je lim
n→∞
g(n)
f(n)
= C, onda je f(n) = Ω(g(n))
5. Ako je lim
n→∞
g(n)
f(n)
= C, C ,= 0, onda je f(n) = Θ(g(n))
Dokaz. Sve tvrdnje se dokazuju sliˇcno. Dokazat ´cemo, na primjer, prvu
tvrdnju.
Neka je
lim
n→∞
f(n)
g(n)
= 0.
Onda je i
lim
n→∞
[f(n)[
[g(n)[
= 0.
Prema definiciji limesa to znaˇci da za svaki ε > 0 postoji n
0
∈ N takav da
vrijedi da je
¸
¸
¸
¸
f(n)
g(n)
¸
¸
¸
¸
< ε.
No, sada imamo
¸
¸
¸
¸
f(n)
g(n)
¸
¸
¸
¸
=
[f(n)[
[g(n)[
< ε.
Pomnoˇzimo li gornju jednadˇzbu s [g(x)[ > 0 dobit ´cemo
[f(n)[ < ε[g(n)[,
odakle slijedi da je f(n) = o(g(n)).
Ostale tvrdnje dokaˇzite sami.
Sada ´cemo dati joˇs neke odnose medu funkcijama koje se ˇcesto javljaju
kod analize sloˇzenosti algoritama.
Propozicija 4.3 Ako je a < b, onda je n
a
≺ n
b
.
136 4.2. SLO
ˇ
ZENOST ALGORITAMA
Dokaz. Vrijedi da je
lim
n→∞
n
a
n
b
= lim
n→∞
1
n
b−a
No, kako je b −a > 1, onda je
lim
n→∞
n
a
n
b
= lim
n→∞
1
n
b−a
= 0
Sada prema teoremu 4.1 slijedi da je n
a
≺ n
b
.
Sljede´ce propozicije se odnose na logaritme i njihove odnose s potenci-
jama.
Propozicija 4.4 Za svaka dva broja a, b ∈ N¸¦1¦ vrijedi da je log
a
n ∼
log
b
n.
Dokaz. Poznato je da za logaritme po razliˇcitim bazama a, b ∈ N¸¦1¦
vrijedi
log
a
n =
log
b
n
log
b
a
Stavimo li c =
1
log
b
a
, imamo log
a
n = c log
b
n, odnosno c log
b
n ≤
log
a
n ≤ c log
b
n ˇsto daje traˇzenu tvrdnju.
Ova propozicija nam govori da logaritmi po svim bazama asimptotski
jednako brzo rastu. Stoga se ˇcesto, pri ocjeni sloˇzenosti algoritma, baza
logaritma zanemaruje i piˇse se lg n, ˇsto znaˇci ”logaritam od n po proizvoljnoj
bazi”.
Propozicija 4.5 Neka je a ∈ N
0
. Tada vrijedi da je n
a
≺ n
a
lg
b
n ≺ n
a+1
Dokaz. Jasno je da vrijedi
lim
n→∞
n
a
lg
b
n
n
a+1
= lim
n→∞
lg
b
n
n
.
Primijenimo li L’Hospitalovo pravilo na posljednji limes dobit ´cemo
lim
n→∞
n
a
lg
b
n
n
a+1
= lim
n→∞
c b
1
n
lg
b−1
n
1
= lim
n→∞
c b lg
b−1
n
n
,
pri ˇcemu konstanta c ovisi o bazi logaritama.
Nakon b primjena L’Hospitalovog pravila dobija se
lim
n→∞
n
a
lg
b
n
n
a+1
= lim
n→∞
c
b
b!
n
= 0
Dakle,
POGLAVLJE 4. ALGORITMI 137
lim
n→∞
n
a
lg n
n
a+1
= lim
n→∞
c
1
n
= 0
odakle slijedi n
a
lg n ≺ n
a+1
.
Druga se tvrdnja pokazuje sliˇcno. Dokaz provedite sami.
Iz gornje propozicije izlazi sljede´ci korolar:
Korolar 4.3 lg n = o(n).
Uoˇcimo iz gornjeg korolara da logaritmi asimptotski rastu sporije od
linearne funkcije.
Na kraju ´cemo dati propoziciju, koja u ovaj kontekst stavlja eksponen-
cijalne funkcije.
Propozicija 4.6 Neka su a ∈ N i neka je b ∈ N¸¦1¦. Tada je n
a
≺ b
n
Dokaz. Primijenimo li na limes
lim
n→∞
b
n
n
a
a puta L’Hospitalovo pravilo, dobivamo
lim
n→∞
n
a
b
n
= lim
n→∞
a!
b
n
ln
a
b
= 0
Iz ˇcega, prema teoremu 4.1, slijedi tvrdnja propozicije.
Ova propozicija je vrlo vaˇzna i u svom iskazu daje jednu vrlo ˇcesto spo-
minjanu tvrdnju, kako u teoriji algoritama, tako i u drugim matematiˇckim
disciplinama: tvrdnju da eksponencijalna funkcija raste brˇze od bilo koje
polinomne funkcije.
Propozicija 4.7 Neka su a, b ∈ N¸¦1¦, pri ˇcemu je a < b. Tada je a
n
≺ b
n
.
Dokaz. Kako je 0 <
a
b
< 1, slijedi da je
lim
n→∞
a
n
b
n
= lim
n→∞
_
a
b
_
n
= 0
pa po teoremu 4.1 vrijedi a
n
= o(b
n
).
I na kraju, dolazi teorem koji opisuje joˇs neka vaˇzna svojstva uvedenih
asimptotskih ocjena funkcija
Teorem 4.2 Za opisane ocjene sloˇzenosti rasta funkcije vrijede sljede´ca
svojstva:
1. Tranzitivnost:
(a) Ako je f(n) = O(g(n)) i g(n) = O(h(n)) onda je i f(n) =
O(h(n)).
138 4.2. SLO
ˇ
ZENOST ALGORITAMA
(b) Ako je f(n) = o(g(n)) i g(n) = o(h(n)) onda je i f(n) = o(h(n)).
(c) Ako je f(n) = Ω(g(n)) i g(n) = Ω(h(n)) onda je i f(n) = Ω(h(n)).
(d) Ako je f(n) = ω(g(n)) i g(n) = ω(h(n)) onda je i f(n) = ω(h(n)).
(e) Ako je f(n) = Θ(g(n)) i g(n) = Θ(h(n)) onda je i f(n) =
Θ(h(n)).
2. Refleksivnost:
(a) f(n) = O(f(n))
(b) f(n) = Ω(f(n))
(c) f(n) = Θ(f(n))
3. Simetriˇcnost:
(a) Ako je f(n) = Θ(g(n)) onda je i g(n) = Θ(f(n)).
Dokaz. Dokaz izvedite sami.
Zadatak 4.2 Pokaˇzite da
1. je Θ relacija ekvivalencije na skupu funkcija fR →R.
2. su O i Ω relacije totalnog uredaja na skupu funkcija f : R →R.
Zadatak 4.3 Dokaˇzite sljede´ce tvrdnje:
1. max¦f(n), g(n)¦ = Θ(f(n) +g(n)).
2. Za a ∈ R, b ∈ R
+
vrijedi (n +a)
b
= Θ(n
b
).
Sada kad smo razvili aparat za ocjenjivanje sloˇzenosti algoritama, pri-
mijenimo taj aparat na Euklidov algoritam, koji je opisan u prethodnom
poglavlju.
Primjer 4.1 Izraˇcunajmo sloˇzenost Euklidovog algoritma u najgorem slu-
ˇcaju.
Za brojeve a i b izraˇcuna se ostatak od dijeljenja a mod b te se algoritam
ponavlja za brojeve b u a mod b sve dok ne bude b = 0. Jasno je da je a
mod b < b, ali da je a mod b ≥ 0.
Koraci od 2 do 4 Euklidovog algoritma ˇcine petlju. Ve´c smo ranije uoˇcili
da se ta petlja moˇze izvesti najviˇse b-puta. Pogledajmo ˇsto se dogada u
jednom koraku te petlje. Izraˇcunava se a mod b i upisuje u r. Vrijednost
varijable b se upisuje u a, a vrijednost varijable r u b. Na kraju se provjerava
je li b = 0, te ako nije, vra´ca se na korak 2. Sve to, ˇsto smo opisali moˇze
se izvesti u konstantnom vremenu c
1
. Posljednji se korak algoritma izvodi
toˇcno jednom, a njegova je sloˇzenost konstantna, recimo c
2
. Ako duljinu
ulaza definiramo kao duljinu manjeg od dvaju ulaznih brojeva, imat ´cemo:
POGLAVLJE 4. ALGORITMI 139
T
Euklid
max
(n) = q
c
n +c
2
,
odnosno
T
Euklid
max
(n) = Θ(n).
4.3 Pretraˇzivanje i sortiranje
Pretraˇzivanje i sortiranje nizova elemenata su medu najznaˇcajnijim postup-
cima u modernom raˇcunarstvu. Tim problemima posve´cene su mnoge knji-
ge. Postoji nekoliko razloga tome. Kao prvo, i pretraˇzivanje i sortiranje
su problemi toliko raˇsireni u raˇcunarstvu da gotovo da i nema raˇcunalnog
programa u primjeni koji u nekom svom dijelu ne sortira podatke ili ih ne
pretraˇzuje. Drugo, sortiranje je problem koji je dovoljno jednostavan i jasan
da se moˇze uzeti kao model za objaˇsnjavanje metoda izrade algoritama.
Nadalje, postoji ˇcitav niz detaljno razradenih algoritama sortiranja, koji se
koriste razliˇcitim metodama izrade algoritama. Ovaj je problem pogodan i
za objaˇsnjavanje raˇcunanja donje mede sloˇzenosti problema, jer mu se moˇze
odrediti netrivijalna donja meda.
4.3.1 Pretraˇzivanje
Problem pretraˇzivanja moˇze se zadati na sljede´ci naˇcin:
Problem 4.1
ULAZ: Niz brojeva A = a
1
, . . . , a
n
i broj x.
IZLAZ: DA ako je x ∈ A, NE ako x ,∈ A.
Slijedno pretraˇzivanje
Prvi algoritam pretraˇzivanja je ujedno i najjednostavniji oblik pretraˇzivanja
neuredene liste. Algoritam redom usporeduje elemente liste sa zadanom
vrijednoˇs´cu. Ako je neki od elemenata jednak traˇzenom, algoritam staje i
odgovara da je naˇsao traˇzenu vrijednost. U suprotnom, algoritam prolazi
kroz cijelu listu do kraja i odgovara da nije pronaˇsao zadanu vrijednost.
Algoritam 4.5
ULAZ: Zadana vrijednost x, lista a
1
, . . . , a
n
IZLAZ: Da ako vrijednost x postoji u listi, a ne u suprotnom.
1. i := 1.
2. ako je i > n onda odgovori ne i stani.
3. Ako je a
i
= x odgovori da i stani.
140 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
4. i := i + 1.
5. Idi na 2.
Jasno je da ´ce ovaj algoritam stati nakon najviˇse n prolaza kroz korake
od 2 do 5. Isto tako je oˇcito da ´ce algoritam vratiti da ako traˇzena vrijednost
postoji u listi, dok ´ce u suprotnom vratiti ne.
Pogledajmo sada sloˇzenost ovog algoritma. U najgorem sluˇcaju, kada
traˇzene vrijednosti nema u listi, ovaj algoritam ima n prolaza kroz korake
od 2 do 5, a u (n + 1)-vom prolazu stane u koraku 2. Svi koraci ovog
algoritma su konstantnog trajanja, odnosno za njih je potreban konstantan
broj procesorskih otkucaja. Dakle, sloˇzenost ovog algoritma moˇze se opisati
sljede´com formulom:
T
search
max
(n) = c
1
+n c
2
+c
3
.
Pri tome je c
1
vrijeme trajanja prvog koraka algoritma, c
2
ukupno vri-
jeme trajanja koraka 2 do 5, a c
3
vrijeme trajanja koraka 2. Dakle,
T
search
max
(n) = Θ(n).
Pogledajmo kako ovaj algoritam radi kada traˇzena vrijednost postoji u
listi. U tom sluˇcaju, za algoritam je najgore da vrijednost bude na posljed-
njem mjestu u listi. Tada se koraci 2 i 3 izvrˇsavaju n puta, a koraci 4 i 5
n −1 puta. U tom je sluˇcaju
T
search
max
(n) = c
1
+n c
2
+ (n −1) c
3
= c
1
−c
3
+n (c
2
+c
3
)
= Θ(n)
pri ˇcemu je c
1
trajanje prvog koraka, c
2
trajanje koraka 2 i 3 zajedno, a
c
3
trajanje koraka 4 i 5 zajedno.
Najbolji je sluˇcaj kada se element nalazi na prvom mjestu u listi. Tada
se koraci 1 do 3 izvrˇsavaju toˇcno jednom, a koraci 4 i 5 nijednom. Sloˇzenost
je u najboljem sluˇcaju
T
search
min
(n) = c
1
= Θ(1).
Pogledajmo joˇs i prosjeˇcni sluˇcaj kada se element nalazi u listi. Pret-
postavljamo da je vjerojatnost da se traˇzeni element nalazi na bilo kojem
mjestu u listi jednaka i iznosi
1
n
, odnosno, distribucija elemenata je uni-
formna. Ako se element nalazi na i-tom mjestu u listi 1 ≤ i ≤ n, onda se
korak 1 izvrˇsava jednom, koraci 2 i 3 i puta, a koraci 4 i 5 i −1 puta. Stoga
imamo:
POGLAVLJE 4. ALGORITMI 141
T
search
avg
(n) = c
1
+
n

i=1
1
n
[i c
2
+ (i −1) c
3
]
= c
1
+
1
n
[c
2
n

i=1
i +c
3
n−1

i=0
i]
= c
1
+
1
n
[c
2
n(n + 1)
2
+c
3
(n −1)n
2
]
= c
1
+
c
2
2
(n + 1) + +
c
3
2
(n −1)
= c
1
+
c
2
2

c
3
2
+ (
c
2
2
+
c
3
2
) n = Θ(n).
Ako je lista neuredena, bolje od ovog algoritma se ne moˇze. Ako su,
medutim, elementi u listi uredeni po veliˇcini, onda se moˇze prona´ci bolji
algoritam za odredivanje postojanja neke vrijednosti u listi.
Binarno pretraˇzivanje
Pretpostavimo da je zadana sortirana lista, tj. lista u kojoj su elementi
poredani od najmanjeg do najve´ceg.
Pretraˇzivanje koje se u tom sluˇcaju moˇze koristiti, naziva se binarno
pretraˇzivanje. Uredenost liste omogu´cuje da se ne pregledavaju svi elementi
liste, ve´c samo neki od njih. Prvo usporedujemo zadanu vrijednost s ele-
mentom koji se nalazi u sredini liste (ili otprilike u sredini, ako lista ima
paran broj elemenata). Ako je taj element jednak traˇzenoj vrijednosti, onda
zavrˇsavamo s pretraˇzivanjem. Ako nije tako, onda se gleda je li vrijednost
srednjeg elementa liste ve´ca ili manja od traˇzene. Ako je vrijednost ve´ca od
traˇzene, onda se traˇzeni element, ukoliko se nalazi u listi, mora nalaziti u
njenoj prvoj polovici. Ako je srednji element manji od traˇzenog, onda traˇzeni
element, ukoliko se nalazi u listi, mora biti u drugoj polovici liste. U drugom
se koraku uzima polovica liste u kojoj se moˇze nalaziti traˇzeni element i na
njoj se primjenjuje binarno pretraˇzivanje. Tako se lista smanjuje dok se ne
dode do jednoˇclane liste, u kojoj se izravno provjerava sadrˇzi li njen element
traˇzenu vrijednost ili ne. Formalno, algoritam izgleda ovako:
Algoritam 4.6 (Binarno pretraˇzivanje)
binsearch(f, l, x, a)
ULAZ: Kursor f na poˇcetak liste, kursor l na kraj liste i traˇzena vrijednost
x, lista a
1
, . . . , a
n
.
IZLAZ: Da ako vrijednost x postoji u listi, a ne u suprotnom.
1. p := ¸
f+l
2
|.
2. Ako je a
p
= x vrati da i stani.
142 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
3. Ako je a
p
> x i ako je p > f onda pozovi binsearch(f, p −1, x, a).
4. Ako je a
p
< x i ako je p < l onda pozovi binsearch(p + 1, l, x, a).
5. Vrati ne i stani.
Ovakvi algoritmi koji svode problem na jedan ili viˇse problema istog tipa,
ali manje dimenzije nazivaju se podijeli pa ovladaj (engl. divide and conquer)
algoritmi. Podijeli pa ovladaj je vrlo efikasna metoda, koja najˇceˇs´ce daje
vrlo efikasne algoritme.
Propozicija 4.8 Binarno pretraˇzivanje je korektan algoritam za pretraˇzi-
vanje sortirane liste.
Dokaz. Treba dokazati da ´ce algoritam uvijek stati, te da ´ce vratiti ispravan
odgovor.
Pretpostavimo da x nije u listi. Tada algoritam sigurno ne´ce stati u
koraku 2. No kod svakog novog poziva funkcije binsearch, njoj se smanji
parametar f ili joj se pove´ca parametar l. Tako da je nakon konaˇcno mnogo
prolaza sigurno l −f ≤ 1. No, kada se to dogodi, ne´ce biti zadovoljen uvjet
izvrˇsavanja ni koraka 3, ni koraka 4, pa ´ce se izvrˇsiti korak 5 i algoritam ´ce
stati s ispravnim odgovorom.
Pretpostavimo da se x nalazi u listi. Primijetimo da je kod svakog poziva
funkcije binsearch uvijek a
f
≤ x ≤ a
l
. Drugim rijeˇcima, element koji ima
vrijednost x je uvijek izmedu a
f
i a
l
. No, zbog pribliˇzavanja vrijednosti f i
l u svakom prolazu, na kraju ´ce postati a
p
= x i algoritam ´ce stati u koraku
2 i to s ispravnim odgovorom.
Odredimo sada sloˇzenost ovog algoritma.
Neka je n duljina liste koja se promatra. Ako je n = 1, onda ´ce se, sadrˇzi
li lista vrijednost x, izvrˇsiti samo koraci 1 i 2. Ne sadrˇzi li lista vrijednost
x, izvrˇsit ´ce se korak 1, provjerit ´ce se uvjeti koraka od 2 do 4 i na kraju
´ce se izvrˇsiti korak 5. Kako su sve operacije u svim koracima elementarne,
sloˇzenost je svakog koraka konstantna. Odavde zakljuˇcujemo da je
T
binsearch
max
(1) = T
binsearch
min
(1) = Θ(1).
No, onda je i
T
binsearch
avg
(1) = Θ(1).
Pretpostavimo sada najgori sluˇcaj za ve´ce n-ove. Najgore je za algoritam
kada se vrijednost x ne nalazi u listi. U tom sluˇcaju se izvrˇsava korak 1,
provjerava se uvjet koraka 2, te se izvrˇsava korak 3 ili 4. Primijetimo da
´ce sloˇzenost biti neˇsto manja ako se izvrˇsi korak 3, jer se onda provjerava
samo uvjet tog koraka, dok se u suprotnom provjerava uvjet koraka 3, ali i
koraka 4. No, ovdje se radi o dodatnom konstantnom vremenu, pa to ne´ce
POGLAVLJE 4. ALGORITMI 143
utjecati na ocjenu sloˇzenosti ovog algoritma. Dakle, moˇzemo zakljuˇciti da
je sloˇzenost binarnog pretraˇzivanja dana sa:
T
binsearch
max
(n) ≤ c
1
+T
binsearch
max

n
2
|)
Rekurzija koju trebamo rijeˇsiti glasi:
t
n
= t
n
2
+c
1
.
To je podijeli pa ovladaj rekurzija. Ona se rjeˇsava tako da se stavi supsti-
tucija a
n
= t
2
n.
Sada je
a
n
= t
2
n = t 2
n
2
+c
1
= t
2
n−1 +c
1
= a
n−1
+c
1
.
Izvrˇsi se homogenizacija
a
n
= a
n−1
+c
1
a
n−1
= a
n−2
+c
1
a
n
−a
n−1
= a
n−1
−a
n−2
,
ˇcime se dobiva homogena rekurzija
a
n
= 2a
n−1
−a
n−2
.
Karakteristiˇcna jednadˇzba posljednje rekurzije je
x
2
−2x + 1 = 0.
Ona ima dvostruki korijen x
1,2
= 1, pa je op´ce rjeˇsenje rekurzije dano sa
a
n
= C
1
1
n
+C
2
n 1
n
.,
odnosno,
t
2
n = C
1
+C
2
n.
Iz posljednjega slijedi da je
T
binsearch
max
(n) = t
n
= C
1
+C
2
log
2
n.
Drugim rijeˇcima,
T
binsearch
max
(n) = O(lg n).
Prosjeˇcnu ´cemo sloˇzenost izraˇcunavati samo za sluˇcaj kada se element
nalazi u listi. Jasno je da, ako se element ne nalazi u listi sloˇzenost iznosi
Θ(lg n).
144 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
Neka lista ima n elemenata. Bez smanjenja op´cenitosti moˇzemo pretpo-
staviti da je n = 2
k
−1. Ovo je vaˇzno samo zato da osiguramo da u svakom
koraku niz ima srednji element.
U prvom koraku algoritma pregledavamo srednji element. Ako je traˇzeni
element jednak srednjem, onda ´ce algoritam zavrˇsiti u jednom koraku. Slje-
de´ca dva elementa: onaj koji se nalazi na ˇcetvrtini liste i onaj koji se nalazi
na tri ˇcetvrtine liste, moˇzemo na´ci u dva koraka. Nadalje, imamo 4 elementa
koja nalazimo u tri koraka, itd. Dakle, imamo sluˇcajnu varijablu
X =
_
1 2 . . . k
1
n
2
n
. . .
2
k−1
n
_
.
T
binsearch
avg
(k) = EX c
1
= c
1
k

i=1
i
2
i−1
2
k
−1
=
c
1
2
k
−1
k

i=1
i 2
i−1
.
Pogledajmo na trenutak neˇsto op´cenitiju sumu niza:
R(x) =
k

i=1
i x
i−1
.
Formalno integriramo ovaj red i dobivamo:
_
R(x) =
k

i=1
x
i
=
x
k+1
−1
x −1
.
Sada to natrag formalno deriviramo i dobivamo
R(x) =
k x
k+1
−(k + 1) x
k
+ 1
(x −1)
2
. (4.2)
Uvrstimo li (4.2) u (4.2), dobit ´cemo:
T
binsearch
avg
(k) =
c
1
2
k
−1
k 2
k+1
−(k + 1) 2
k
+ 1
1
2
= c
1

(k −1) 2
k
+ 1
2
k
−1
(4.3)
= c
1
_
(k −1) +
k
2
k
−1
_
.
Iz (4.3) i definicije broja k slijedi da je
POGLAVLJE 4. ALGORITMI 145
T
binsearch
avg
(n) = c
1

_
lg(n −1) +
lg n
n −1
_
.
Konaˇcno,
T
binsearch
avg
(n) = Θ(lg n).
I na kraju, potrebno je izraˇcunati sloˇzenost binarnog pretraˇzivanja u
najboljem sluˇcaju. Najbolji je sluˇcaj kada se traˇzeni element nalazi toˇcno u
sredini liste. Tada se on pronalazi u toˇcno jednom koraku, pa je
T
binsearch
min
(n) = Θ(1).
4.3.2 Sortiranje
Preduvjet koji lista mora zadovoljiti da bi se na njoj moglo primijeniti
binarno pretraˇzivanje jest da lista bude sortirana. To nije jedini algori-
tam i jedina situacija koja zahtjeva sortiranu listu. Zapravo, sortiranje je
jedna od najˇceˇs´cih operacija koje raˇcunalo izvodi. Stoga nije ˇcudno da je
problemu sortiranja posve´cena posebna paˇznja u teoriji algoritama. Ovdje
´cemo opisati nekoliko razliˇcitih algoritama sortiranja i usporediti njihovu
sloˇzenost.
Sortiranje izborom
Prvi, vrlo jednostavan algoritam sortiranja je sortiranje izborom (engl. se-
lection sort) . Algoritam radi sljede´ce: u listi se pronalazi najmanji element i
on mijenja mjesto s prvim elementom u listi. Nakon toga, prvi ´ce sadrˇzavati
onu vrijednost koju ´ce sadrˇzavati u konaˇcnoj, sortiranoj listi, tj. najmanju
vrijednost u listi. Sada se isti postupak ponavlja za preostale elemente,
osim prvog. Drugim rijeˇcima, postupak se ponavlja za elemente od drugog
do posljednjeg. U svakom sljede´cem prolazu se dio liste koji treba obraditi
smanjuje za jedan element. Zbog toga, ako je lista dugaˇcka n elemenata,
onda ´ce, nakon n −1 prolaza, ovaj algoritam sortirati listu.
Primjer 4.2 Sortirajmo listu
7 3 5 1 8 4 2 9 6
Najmanji element je onaj s vrijednoˇs´cu 1.
7 3 5 1 8 4 2 9 6
Zamijenimo ga s prvim elementom
1 3 5 7 8 4 2 9 6
146 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
U ostatku element s najmanjom vrijednoˇs´cu je onaj s vrijednoˇs´cu 2.
1 3 5 7 8 4 2 9 6
1 2 5 7 8 4 3 9 6
1 2 5 7 8 4 3 9 6
1 2 3 7 8 4 5 9 6
1 2 3 7 8 4 5 9 6
1 2 3 4 8 7 5 9 6
1 2 3 4 8 7 5 9 6
1 2 3 4 5 7 8 9 6
1 2 3 4 5 7 8 9 6
1 2 3 4 5 6 8 9 7
1 2 3 4 5 6 8 9 7
1 2 3 4 5 6 7 9 8
1 2 3 4 5 6 7 9 8
1 2 3 4 5 6 7 8 9
Zapiˇsimo ovaj algoritam formalno:
Algoritam 4.7
ULAZ: Lista a
1
, . . . , a
n
IZLAZ: Sortirana lista koja se sastoji od istih elemenata kao i ulazna lista.
1. Za i := 1, . . . , n −1 radi korake 2-5.
2. min := i.
3. Za j := 2, . . . , n radi korak 4.
4. Ako je (a
j
< a
i
) min := j.
5. swap(a
i
, a
min
).
POGLAVLJE 4. ALGORITMI 147
Jasno je da se koraci 1, 2 i 5 ponavljaju toˇcno n − 1 puta, bez obzira
na instancu problema. Koraci 3 i 4 se u svakom prolazu ponavljaju razliˇcit
broj puta - u prvom prolazu n −1 puta, u drugom n −2 puta, itd. Jedina
je razlika medu razliˇcitim instancama problema u tome koliko ´ce se puta
izvesti pridruˇzivanje vrijednosti varijabli min u koraku 4. Najgori je sluˇcaj
kada je uvjet u koraku 4 uvijek ispunjen. Treba napomenuti da se ovdje
radi o hipotetiˇckom najgorem sluˇcaju te da on nije izvediv za liste ve´ce od
2 elementa, jer ne postoji takva instanca za koju bi uvjet u koraku 4 uvijek
bio ispunjen. Imamo
T
SelectionSort
max
(n) = c
1
n +
n−1

i=1
c
2
i
= c
1
n +c
2

n (n −1)
2
= (c
1

c
2
2
) n +
c
2
2
n
2
,
odnosno
T
SelectionSort
max
(n) = O(n
2
).
U najboljem se sluˇcaju, pridruˇzivanje u koraku 4 ne´ce izvrˇsiti nikad. Taj
sluˇcaj je realan sluˇcaj, kada je lista ve´c unaprijed sortirana. Tada je
T
SelectionSort
min
(n) = c
1
n +
n−1

i=1
c
2
i
= (c
1

c
2
2
) n +
c
2
2
n
2
,
odnosno
T
SelectionSort
min
(n) = O(n
2
).
Kako prosjeˇcna sloˇzenost mora biti izmedu najbolje i najgore, zakljuˇcujemo
da je
T
SelectionSort
avg
(n) = O(n
2
).
Jednostavno sortiranje zamjenom
Sortiranje zamjenom (engl. simple exchange sort) je joˇs jedan od osnovnih
algoritama sortiranja. Sortiranje se vrˇsi tako da se usporeduje prvi element
niza sa svakim iza njega. Kada se naide na element u listi koji je manji od
prvog, zamjenjuje mu se mjesto s prvim. Sada se nastavljaju usporedivati
148 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
preostali elementi s novim prvim elementom u listi. Nakon prvog prolaza
kroz listu, u prvom ´ce se elementu liste nalaziti najmanja vrijednost u listi.
Nakon toga, postupak se ponavlja za drugi element liste i tako redom. U
svakom koraku se jedna vrijednost postavlja u element liste na kojem ´ce
se nalaziti i u izlaznoj, sortiranoj listi, pa ´ce se algoritam zavrˇsiti nakon
(n −1)-og koraka.
Primjer 4.3 Opet sortirajmo istu listu:
7 3 5 1 8 4 2 9 6
Najprije prvi i drugi element mijenjaju mjesta.
3 7 5 1 8 4 2 9 6
Sada se pretraˇzuje dalje i dode se do ˇcetvrtog elementa, koji mijenja
mjesto s prvim:
1 7 5 3 8 4 2 9 6
Svi daljnji elementi su manji od prvog, pa u prvom prolazu viˇse nemamo
ˇsto mijenjati.
1 7 5 3 8 4 2 9 6
Sada se usporeduju elementi s drugim elementom liste. Odmah nalazimo
da je tre´ci element manji od drugog, pa im mijenjamo mjesta:
1 5 7 3 8 4 2 9 6
Daljnji koraci su:
1 3 7 5 8 4 2 9 6
1 2 7 5 8 4 3 9 6
1 2 5 7 8 4 3 9 6
1 2 4 7 8 5 3 9 6
1 2 3 7 8 5 4 9 6
1 2 3 5 8 7 4 9 6
1 2 3 4 8 7 5 9 6
POGLAVLJE 4. ALGORITMI 149
1 2 3 4 5 7 8 9 6
1 2 3 4 5 6 8 9 7
1 2 3 4 5 6 7 9 8
1 2 3 4 5 6 7 8 9
Formalno, ovaj algoritam moˇzemo opisati na sljede´ci naˇcin:
Algoritam 4.8
ULAZ: Lista a
1
, . . . , a
n
IZLAZ: Sortirana lista koja se sastoji od istih elemenata kao i ulazna lista.
1. Za i := 1, . . . , n −1 radi korake od 2 do 3.
2. Za j := i + 1, . . . , n radi korak 3.
3. Ako je a
i
> a
j
onda swap(a
i
, a
j
).
Ocijenimo sloˇzenost ovog algoritma. U svakom sluˇcaju, vanjska se petlja
izvodi toˇcno n−1 puta. Unutarnja se petlja u prvom prolazu izvodi toˇcno n−
1 puta, u drugom n−2 puta, u tre´cem n−3 puta itd. U svakom izvrˇsavanju
unutraˇsnje petlje izvede se provjera uvjeta, te ako je uvjet ispunjen, onda se
elementima zamijene mjesta. U najgorem sluˇcaju, kada je lista na poˇcetku
obrnuto sortirana, uvjet ´ce uvijek biti zadovoljen. Neka kontrola vanjske
petlje ima sloˇzenost c
1
, neka kontrola unutarnje petlje, zajedno s provjerom
uvjeta i zamjenom mjesta elementima ima sloˇzenost c
2
. Tada je, u najgorem
sluˇcaju, sloˇzenost jednaka:
T
ExchangeSort
max
= (n −1) c
1
+
i−1

i=1
i c
2
= (n −1) c
1
+c
2

i−1

i=1
i
= (n −1) c
1
+c
2

n (n + 1)
2
=
c
2
2
n
2
+ (c
1
+
c
2
2
) n −c
1
,
iz ˇcega slijedi da je
T
ExchangeSort
max
= Θ(n
2
). (4.4)
U najboljem sluˇcaju, kada je lista unaprijed sortirana, uvjet u koraku
3 se nikada ne ispunjava, pa nema ni jedne zamjene mjesta. Neka je sa c
3
150 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
oznaˇceno trajanje kontrole unutarnje petlje zajedno s provjerom uvjeta u
koraku 3. Tada je
T
ExchangeSort
max
= (n −1) c
1
+
i−1

i=1
i c
3
,
ˇsto sliˇcno gornjem raˇcunu daje
T
ExchangeSort
min
= Θ(n
2
). (4.5)
Kako su maksimalna i minimalna sloˇzenost ovog algoritma asimptotski
jednake, slijedi da je i
T
ExchangeSort
avg
= Θ(n
2
). (4.6)
Sortiranje umetanjem
Sortiranje umetanjem (engl. insertion sort) je joˇs jedan od osnovnih algo-
ritama sortiranja. Ovaj se algoritam temelji na ideji dijeljenja liste na dva
dijela: prvi koji je ve´c sortiran i drugi koji tek treba sortirati. Na poˇcetku
se u prvom dijelu nalazi samo prvi element liste. U svakom se sljede´cem
koraku uzima prvi element iz drugog dijela liste i ume´ce se na odgovaraju´ce
mjesto u prvom dijelu. U prvom se koraku uzima drugi element liste te se
usporeduje s prvim elementom. Ako je drugi element manji od prvoga, onda
prvi i drugi element mijenjaju mjesta. Nakon toga se uzima tre´ci element,
koji se usporeduje s drugim. Ako je manji, onda drugi element prelazi na
tre´ce mjesto, a promatrani se element usporeduje s prvim. Ako je ve´ci od
prvog, onda se ume´ce na drugo mjesto, a ako je manji, onda se prvi element
pomiˇce na drugo mjesto, a promatrani dolazi na prvo mjesto. Isti se pos-
tupak ponavlja za ˇcetvrti element liste i tako redom. Za svaki se element
promatra sortirani dio liste. Elementi sortiranog dijela liste usporeduju se
od zadnjeg prema prvome, s promatranim elementom, te se elementi ve´ci od
promatranog pomiˇcu za jedno mjesto dalje u listi. Kada se naide na element
manji od promatranog, onda se promatrani element stavlja iza njega s kojeg
je ve´c prije toga element pomaknut za jedno mjesto dalje. Tako se sortirani
dio liste pove´cava za jedan element i moˇze se prije´ci na sljede´ci element liste.
Kada se svi elementi liste obrade na ovaj naˇcin, cijela ´ce lista biti sortirana.
Primjer 4.4 Sortirajmo listu
7 3 5 1 8 4 2 9 6
U prvom koraku prva dva elementa mijenjaju mjesta i dobijamo:
3 7 5 1 8 4 2 9 6
POGLAVLJE 4. ALGORITMI 151
U sljede´cem koraku pretraˇzujemo prva dva elementa traˇze´ci onaj koji ima
ve´cu vrijednost od 5, a to je drugi element. Njega pomiˇcemo za jedno mjesto
dalje a na njegovo mjesto dolazi tre´ci element.
3 5 1 8 4 2 9 6
3 5 7 1 8 4 2 9 6
ˇ
Cetvrti element ima vrijednost 1 i on dolazi na poˇcetak liste, a svi se elementi
prije njega pomiˇcu za jedan element udesno:
1 5 7 8 4 2 9 6
1 3 7 8 4 2 9 6
1 3 5 8 4 2 9 6
1 3 5 7 8 4 2 9 6
Sljede´ci element ostaje na svom mjestu:
1 3 5 7 8 4 2 9 6
Prva dva elementa su manja od 4, pa ostaju gdje jesu, dok se ostali elementi
pomiˇcu za jedno mjesto udesno.
1 3 4 7 8 2 9 6
1 3 4 5 8 2 9 6
1 3 4 5 7 2 9 6
1 3 4 5 7 8 2 9 6
Sljede´ci element ide na drugo mjesto u listi.
1 2 4 5 7 8 9 6
1 2 3 5 7 8 9 6
1 2 3 4 7 8 9 6
1 2 3 4 5 8 9 6
1 2 3 4 5 7 9 6
152 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
1 2 3 4 5 7 8 9 6
Sljede´ci element ostaje na svom mjestu.
1 2 3 4 5 7 8 9 6
Posljednji element ide na ˇsesto mjesto u listi.
1 2 3 4 5 6 8 9
1 2 3 4 5 6 7 9
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
Algoritam 4.9
ULAZ: Lista a
1
, . . . , a
n
IZLAZ: Sortirana lista, koja se sastoji od istih elemenata kao i ulazna lista.
1. Izvrˇsi korake 2-4 za j := 2, . . . , n.
2. p := a
j
.
3. Izvrˇsi korak 4 za i := 1, . . . , j −1.
4. Ako je a
i
> a
j
onda swap(a
i
, a
j
).
Pogledajmo sloˇzenost ovog algoritma. U svakom sluˇcaju koraci 1 i 2
izvrˇsavaju se n − 1 puta, a svaki od njih ima konstantno trajanje. Broj
prolaza kroz korake 3 i 4 pove´cava se za svaki prolaz kroz korake 1 i 2.
Najgori je sluˇcaj obrnuto sortirana lista. Onda se izvrˇsava maksimalan broj
zamjena elemenata. U tom ´ce sluˇcaju uvjet iz 4 uvijek biti zadovoljen. U
tom sluˇcaju je sloˇzenost
T
inssort
max
(n) = c
1
n+
n−1

i=1
c
2
i = c
1
n+c
2

(n −1)n
2
= (c
1

c
2
2
) n+
c
2
2
n
2
.
Dakle,
T
inssort
max
(n) = Θ(n
2
).
Sliˇcno, ako je lista ve´c sortirana, onda ´ce svaki puta uvjet iz koraka 4
biti neistinit, pa se ne´ce izvrˇsiti nijedno mijenjanje mjesta. No, sve ostale
operacije ´ce se izvrˇsavati. Stoga ´ce biti
T
inssort
min
(n) = Θ(n
2
).
No, u tom je sluˇcaju i
T
inssort
avg
(n) = Θ(n
2
).
POGLAVLJE 4. ALGORITMI 153
Mjehuriˇcasto sortiranje
U mjehuriˇcastom sortiranju (engl. bubble sort) prolazi se redom po elemen-
tima liste i svaki se od njih usporeduje sa svojim sljedbenikom. Ako je neki
element ve´ci od sljedbenika, onda im se zamjenjuju mjesta. Nakon prvog
prolaza na kraj liste ”isplivat” ´ce najve´ca vrijednost. Nakon toga se isti
postupak ponavlja za prvih n −1 elemenata, pa ´ce nakon prolaza kroz listu
u predposljednji element do´ci druga najve´ca vrijednost. Tako ´ce nakon n−1
prolaza lista biti sortirana.
Primjer 4.5 Opet sortirajmo istu listu:
7 3 5 1 8 4 2 9 6
Prvo mjenjaju mjesta prvi i drugi element.
3 7 5 1 8 4 2 9 6
Nakon toga drugi i tre´ci,
3 5 7 1 8 4 2 9 6
pa tre´ci i ˇcetvrti.
3 5 1 7 8 4 2 9 6
ˇ
Cetvrti i peti element ne mijenjanju mjesta, ve´c mjesta mijenjaju peti i ˇsesti
element.
3 5 1 7 4 8 2 9 6
Nakon toga, mjesta mijenjaju ˇsesti i sedmi element:
3 5 1 7 4 2 8 9 6
Sedmi i osmi element ne mijenjaju mjesta, ve´c samo osmi i deveti.
3 5 1 7 4 2 8 6 9
Time je zavrˇsen prvi prolaz kroz listu i na posljednjem se mjestu nalazi
najve´ca vrijednost. Sada se postupak ponavlja za prvih n −1 elemenata.
Mijenjaju se drugi i tre´ci element,
3 1 5 7 4 2 8 6 9
pa ˇcetvrti i peti, a nakon toga peti i ˇsesti.
3 1 5 4 2 7 8 6 9
154 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
Na kraju ovog koraka mijenjaju se sedmi i osmi element
3 1 5 4 2 7 6 8 9
U sljede´cem se prolazu obraduje prvih sedam elemenata
Mijenja se prvi i drugi,
1 3 5 4 2 7 6 8 9
pa tre´ci i ˇcetvrti te ˇcetvrti i peti element.
1 3 4 2 5 7 6 8 9
Na kraju ovog koraka se mijenjaju ˇsesti i sedmi element.
1 3 4 2 5 6 7 8 9
U sljede´cem se prolazu mijenjaju samo tre´ci i ˇcetvrti element.
1 3 2 4 5 6 7 8 9
Sada se promatra prvih pet elemenata liste, no u ovom se prolazu mijenjaju
samo drugi i tre´ci element.
1 3 2 4 5 6 7 8 9
U sljede´cem se prolazu promatraju prva ˇcetiri elementa liste, no mijenjaju
se samo drugi i tre´ci.
1 2 3 4 5 6 7 8 9
Iako smo time dobili sortiranu listu, algoritam ´ce izvesti joˇs dva prolaza kroz
listu, za prva tri te za prva dva elementa liste.
Algoritam 4.10
ULAZ: Lista a
1
, . . . , a
n
IZLAZ: Sortirana lista, koja se sastoji od istih elemenata kao i ulazna lista.
1. Ponavljaj korake 2-3 za i = 1, . . . , n −1.
2. Ponavljaj korak 3 za j = 1, . . . , n −i.
3. Ako je a
j
> a
j+1
onda swap(a
j
, a
j+1
).
POGLAVLJE 4. ALGORITMI 155
Neka je a
k
najve´ci element u listi. Kada algoritam naide u prvom prolazu
na taj element, on ´ce biti ve´ci od svakog sljede´ceg elementa u listi, pa ´ce s
njime mijenjati mjesta. Na kraju prolaza, taj ´ce element biti na kraju liste.
U drugom ´ce se koraku na isti naˇcin na pretposljednjem mjestu na´ci drugi
najve´ci element i tako redom. To dokazuje da je ovaj algoritam korektan.
Ocijenimo sada njegovu sloˇzenost. Bez obzira kako izgleda instanca pro-
blema, korak 1 ´ce se ponavljati n − 1 puta. U prvom ´ce se prolazu koraci
2 i 3 ponavljati n − 1 puta, a u svakom ´ce sljede´cem prolazu njihov broj
ponavljanja biti za jedan manji. Najgori je sluˇcaj kada je uvjet iz koraka
3 uvijek ispunjen (kada je lista na poˇcetku obrnuto sortirana). U tom ´ce
se sluˇcaju svaki puta izvrˇsavati naredba swap. Najbolji je sluˇcaj kada ovaj
uvjet nije ispunjen ni jednom (kada je lista na poˇcetku ve´c bila sortirana).
Tada se naredba swap ne´ce izvrˇsiti ni jednom, no broj provjera uvjeta u tom
koraku ne´ce se promijeniti. Iz toga zakljuˇcujemo da ´ce najgori i najbolji
sluˇcaj za ovaj algoritam biti asimptotski jednaki.
T
bubsort
max
(n) = c
1
(n −1) +
n−1

j=1
j c
2
= c
2
(n −1) +c
2

(n −1) n
2
= −c
1
+ (c
1

c
2
2
) n +
c
2
2
n
2
= Θ(n
2
) (4.7)
Iz gornjeg razmatranja zakljuˇcujemo da je i
T
bubsort
min
(n) = T
bubsort
avg
(n) = Θ(n
2
).
Primijetili smo da je algoritam izveo svih osam koraka, iako je sortiranje
liste bilo gotovo ve´c nakon ˇsestog koraka. Poboljˇsanje ovog algoritma se
moˇze posti´ci ako se u njega ugradi provjera, koja ´ce provjeravati je li u
nekom prolazu napravljena zamjena, a ako to nije sluˇcaj, ono ´ce zaustavljati
algoritam.
Sortiranje spajanjem
Sortiranje spajanjem (engl. merge sort) je prvi algoritam koji ´cemo ovdje
opisati, a koji ima sloˇzenost manju od kvadratne. Vidjet ´cemoda je sloˇzenost
ovog algoritma jednaka O(nlg n). Algoritmi sortiranja s takvom sloˇzenoˇs-
´cu najˇceˇs´ce koriste metodu podijeli pa ovladaj (engl. divide and conquer).
Podijeli pa ovladaj je metoda kod koje se problem reducira na jedan ili viˇse
problema istog tipa, ali manjih dimenzija, a rjeˇsenje originalnog problema
dobija se kompozicijom rjeˇsenja reduciranih problema. Sortiranje spajanjem
156 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
koristi algoritam za spajanje dvije sortirane liste u jednu, isto tako, sortiranu
listu.
Algoritam 4.11 (Merge)
ULAZ: Dvije sortirane liste b
1
, . . . , b
k
i c
1
, . . . , c
l
IZLAZ: Sortirana lista a
1
, . . . , a
k+l
, koja se sastoji od elemenata ulaznih
listi.
1. i := 1, j := 1.
2. Ponavljaj korak 3 sve dok je i ≤ k i j ≤ l.
3. Ako je b
i
< c
j
onda a
i+j−1
:= b
i
, i := i+1 inaˇce a
i+j−1
:= c
j
, j := j+1.
4. Ponavljaj korak 5 sve dok je i ≤ k.
5. a
i+j−1
:= b
i
, i := i + 1.
6. Ponavljaj korak 7 sve dok je j ≤ l
7. a
i+j−1
:= c
j
, j := j + 1.
Priliˇcno je jasno da ovaj algoritam zaista spaja dvije sortirane liste u
sortiranu listu. Ocijenimo njegovu sloˇzenost. Neka su k i l duljine ulaznih
lista.
Korak 1 ´ce se izvrˇsiti jednom. Nadalje, za svaki element ulaznih listi,
izvrˇsit ´ce se jedan od blokova naredbi iz koraka 3 ili blok naredbi iz koraka
5 ili pak iz koraka 7. Pogledamo li paˇzljivije vidjet ´cemo da su svi ti blokovi
sliˇcni i da imaju istu, konstantnu sloˇzenost. Provjeravat ´ce se uvjet iz koraka
2 i 3 ili uvjet iz 4 ili pak 6. Sva se ta tri uvjeta mogu odozgo ograniˇciti nekom
konstantom, pa je sloˇzenost spajanja
T
merge
max
(k, l) ≤ c
1
+ (k +l) (c
2
+c
3
)
= O(k +l)
Na sliˇcan se naˇcin vidi da je
T
merge
min
(n) = O(k +l),
pa je i
T
merge
avg
(n) = O(k +l).
Algoritam sortiranja spajanjem dijeli ulaznu listu na dvije podjednako
duge podliste, sortira ih te ih algoritmom za spajanje spaja u jednu sortiranu
listu. Svaka se od podlista sortira na isti naˇcin. Tako se problem smanjuje
dok se ne dode do jednoˇclanih listi. Sortiranje jednoˇclane liste je trivijalno,
tj. svaka jednoˇclana lista je ve´c sortirana.
POGLAVLJE 4. ALGORITMI 157
Algoritam 4.12
ULAZ: Lista a
1
, . . . , a
n
IZLAZ: Sortirana lista, koja se sastoji od istih elemenata kao i ulazna lista.
1. Sortiraj listu a
1
, . . . , a
¸
n
2
|
.
2. Sortiraj listu a
¸
n
2
|+1
, . . . , a
n
.
3. Spoji a
1
, . . . , a
¸
n
2
|
i a
¸
n
2
|+1
, . . . , a
n
.
Algoritam ima sljede´cu sloˇzenost:
T
mersort
max
(n) ≤ 2 T
mersort
max
(
_
n
2
_
) +T
merge
max
(
_
n
2
_
,
_
n
2
_
)
≤ 2 T
mersort
max
(
_
n
2
_
) +d
1
n +d
2
.
Napiˇsemo li to kako je to uobiˇcajeno za rekurzije imat ´cemo:
t
n
= 2 t
n
2
+d
1
n +d
2
.
Uvodimo supstituciju s
n
= t
2
n i imamo:
s
n
= t
2
n = 2 t 2
n
2
+d
1
2
n
+d
2
= 2 t
2
n−1 +d
1
2
n
+d
2
= s
n−1
+d
1
n +d
2
Oduzmimo jednadˇzbu za (n −1)-vi ˇclan od jednadˇzbe za n-ti ˇclan:
s
n
= 2 s
n−1
+d
1
2
n
+d
2
s
n−1
= 2 s
n−2
+d
1
2
n−1
+d
2
s
n
−s
n−1
= 2 s
n−1
−2 s
n−2
+ 2
n−1
d
1
Iz toga slijedi
s
n
= 3 s
n−1
−2 s
n−2
+ 2 d
1
.
Nadalje, duzmimo formulu za (n −1)-vi ˇclan pomnoˇzenu s 2 od formule za
n-ti ˇclan.
s
n
= 3 s
n−1
−2 s
n−2
+ 2
n
d
1
2 s
n−1
= 6 s
n−2
−4 s
n−3
+ 2
n
d
1
s
n
−2 s
n−1
= 3 s
n−1
−8 s
n−2
+ 4 s
n−3
158 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
odnosno,
s
n
= 5 s
n−1
−8 s
n−1
+ 4 s
n−3
.
ˇ
Cime smo dobili homogeu rekurziju. Karakteristiˇcna jednadˇzba ove rekurzije
je
x
3
−5x
2
+ 8x −4 = 0.
Ova jednadˇzba ima dvostruki korijen x
1,2
= 2 i jednostruki korijen x
3
= 1.
Dakle op´ce rjeˇsenje ove jednadˇzbe je
s
n
= C
1
2
n
+C
2
n 2
n
+C
3
1
n
.
Konaˇcno, dobivamo da je
t
2
n = C
1
2
n
+C
2
n 2
n
+C
3
.
iz ˇcega slijedi da je
t
n
= C
1
n +C
2
nlg n +C
3
.
Drugim rijeˇcima,
T
Mergesort
max
= O(nlg n).
Ovaj algoritam nije osjetljiv na razliˇcitosti instanci. Kakva god bila instanca,
algoritam ´ce imati jednaku sloˇzenost. Stoga je
T
Mergesort
min
= T
Mergesort
avg
= O(nlg n).
Primije´cuje se jedan nedostatak sortiranja spajanjem naspram drugih dosa-
da opisanih algoritama sortiranja: sortiranje spajanjem za svoj rad treba do-
datno polje, odnosno dodatni memorijski prostor. Nijedan od dosad opisanih
algoritama, osim sortiranja spajanjem, nema taj nedostatak.
Sortiranje pomo´cu hrpe
Sortiranje pomo´cu hrpe (engl. heapsort) je vrlo interesantan algoritam. Za
razliku od svih dosad prikazanih algoritama, ovaj se algoritam temelji na
posebnom apstraktnom tipu podataka - hrpi.
Hrpa je puno binarno stablo, kako je to opisano u sljede´cem poglavlju,
sa svojstvom da vrh ima manju vrijednost od oba svoja djeteta. Hrpa se
puni redom, tako da su joj sve razine, osim posljednje, u potpunosti popu-
njene. Povrh toga, posljednja se razina puni s lijeva na desno. Zbog toga,
pri dodavanju i brisanju elemenata treba paziti da sva svojstva hrpe budu
zadovoljena.
Sada ´cemo opisati algoritme za dodavanje i brisanje elemenata u hrpi.
POGLAVLJE 4. ALGORITMI 159
Algoritam dodavanja elemenata u hrpu je sljede´ci: novi se element do-
daje na najljevije slobodno mjesto na posljednjoj razini stabla. Nakon toga
se usporeduje njegova vrijednost s vrijednoˇs´cu njegovog roditelja. Ako je
vrijednost novododanog elementa manja od vrijednosti njegovog roditelja,
onda im mijenjamo mjesto. Nakon toga provjeravamo novododani element,
koji je sada na pretposljednjoj razini s njegovim trenutnim roditeljem, itd.
Ovaj postupak ponavljamo sve dok novododani element ne dobije roditelja,
koji je manji od njega, ili dok ne postane korijen stabla.
Primjer 4.6 Stavit ´cemo listu koju smo i ranije koristili u hrpu.
3
7 5
1
7
3
7
1
3 5
7 8 4
1
3 4
7 8 5 2
1
3 2
7 8 5 4
9 6
160 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
1
3 2
6 8 5 4
9 7
Slika 4.4
Najefikasnija implementacija hrpe je ona pomo´cu polja. Stavimo li ko-
rijen u element polja s indeksom 1, te ako lijevo dijete ˇcvora upisanog u
element polja s indeksom n stavimo u element s indeksom 2 n, a desno
dijete u element s indeksom 2 n + 1, onda ´ce svaki element imati svoje
mjesto u polju. Takoder, zbog toga ˇsto je hrpa potpuno stablo, u kojem
se posljednja razina puni s lijeva na desno, elementi hrpe ´ce popunjavati
elemente polja redom.
Algoritam 4.13
ULAZ: Hrpa H : h
1
, . . . , h
n
i element x
IZLAZ: Hrpa H

koja se sastoji od elemenata stoga S i elementa x.
1. Stavi x u polje u element h[n + 1]. i := n + 1.
2. dok je i > 1 i dok je h[i] < h[
_
i
2
_
] radi korak 3.
3. swap(h[i], h[
_
i
2
_
]), i :=
_
i
2
_
.
Jasno je da ovakav algoritam dodavanja novih vrhova u hrpu odrˇzava
sva svojstva hrpe. Pogledajmo njegovu sloˇzenost. Neka je n broj elemenata
u hrpi. Jasno je da, poˇsto je potpuna, hrpa od n elemenata ima visinu 1 +
¸log
2
n|. Kako algoritam mijenja element s elementom prethodne razine, on
moˇze izvrˇsiti toˇcno ¸log
2
n| zamjena, odnosno koraci od 2 do 3 se ponavljaju
najviˇse ¸log
2
n| puta. Dakle sloˇzenost ovog algoritma je
T
InsHeap
max
(n) ≤ c
1
+c
2
¸log
2
n|
= O(lg n).
S druge strane, najbolji sluˇcaj je kada je dodani element odmah ve´ci od
svog roditelja. U tom sluˇcaju se korak 2 ponavlja jednom, a 3 ni jednom.
Stoga imamo
POGLAVLJE 4. ALGORITMI 161
T
InsHeap
min
(n) ≤ c
1
+c
2
= O(1).
Bez obzira na to gdje ´ce novododani element na kraju zavrˇsiti, algoritam
´ce se kroz stablo kretati istim putem. Stoga pretpostavimo da je jednako
vjerojatno da ´ce novododani element ostati na svakoj od razina stabla. Tada
ta vjerojatnost iznosi
1
log
2
n
, pa je sloˇzenost prosjeˇcnog sluˇcaja
T
InsHeap
avg
(n) = c
1
+
log
2
n

i=1
1
¸log
2
n|
i c
2
= c
1
+
1
¸log
2
n|

¸log
2
n| (¸log
2
n| + 1)
2
c
2
= c
1
+
c
2
2
(¸log
2
n| + 1) = O(lg n)
Jedno vaˇzno svojstvo hrpe jest to ˇsto se najmanji element hrpe uvijek
nalazi u njenom korijenu. Odatle proizlazi ideja sortiranja pomo´cu hrpe - iz
hrpe se izvadi korijen, stavi se na poˇcetak liste, a ostatak hrpe se ponovno
preuredi tako da zadovoljava sva svojstva hrpe.
Postupak praˇznjenja hrpe je sljede´ci. Iz hrpe se vrijednost korijena pre-
seli u izlaznu listu. Nakon toga se vrijednost najdesnijeg elementa na zadnjoj
razini hrpe preseli u korijen a posljednji se element hrpe obriˇse. Time je sta-
blo ostalo potpuno. Joˇs je potrebno osigurati uredaj u hrpi. Promatrana
vrijednost, koja naruˇsava uredaj u hrpi nalazi se u korijenu. Usporedimo tu
vrijednost s manjim od djece korijena te ako je promatrana vrijednost ve´ca,
zamjenimo im mjesta. I dalje se promatrana vrijednost, sada smjeˇstena na
drugoj razini stabla, usporeduje s manjim svojim djetetom. Ovaj se pos-
tupak ponavlja sve dok promatrana vrijednost ne bude manja od manjeg
djeteta (pa onda i od ve´ceg) ili dok se promatrana vrijednost ne nade u
ˇcvoru bez djece. Sljede´ci primjer pokazuje kako se prazni hrpa i kreira sor-
tirana lista.
Primjer 4.7 Ispraznimo hrpu iz prethodnog primjera i kreirajmo sortiranu
listu.
162 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
1
3 2
6 8 5 4
9 7
7
3 2
6 8 5 4
9
1
2
3 4
6 8 5 7
9
1
POGLAVLJE 4. ALGORITMI 163
9
3 4
6 8 5 7
1, 2
3
6 4
9 8 5 7
1, 2
7
6 4
9 8 5
1, 2, 3
4
6 5
9 8 7
7
6 5
9 8
1, 2, 3, 4
5
6 7
9 8
164 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
8
6 7
9
1, 2, 3, 4, 5
6
8 7
9
9
8 7
1, 2, 3, 4, 5, 6
7
8 9
9
8
1, 2, 3, 4, 5, 6, 7
8
9
9
1, 2, 3, 4, 5, 6, 7, 8
1, 2, 3, 4, 5, 6, 7, 8, 9
Slika 4.5
Algoritam 4.14
ULAZ: Hrpa H : h
1
, . . . , h
n
IZLAZ: Hrpa H

koja je dobijena iz hrpe H izbacivanjem vrijednosti koja
se nalazila u korijenu.
1. h[1] := h[n]. p := h[n]. Izbaci element h[n], i := 1
POGLAVLJE 4. ALGORITMI 165
2. Radi korake od 3 do 4 sve dok je 2 i ≤ n i (h[i] < h[2 i] ili je
h[i] < h[2 i]).
3. Ako je h[2 i] ≤ h[i i + 1], onda swap(h[i], h[2 i]).
4. Ako je h[2 i] > h[i i + 1]- onda swap(h[i], h[2 i + 1]).
5. Vrati p.
Ovaj algoritam mijenja promatrani element s onim na sljede´coj razini.
Stoga se koraci od 2 do 4 mogu ponoviti najviˇse ¸log
2
n| puta. Stoga je
njegova sloˇzenost:
T
DelHeap
max
(n) ≤ c
1
+c
2
¸log
2
n|
= O(lg n)
U najboljem ´ce sluˇcaju prebaˇceni element ostati korijen i ne´ce prolaziti
kroz stablo.
U tom je sluˇcaju sloˇzenost
T
DelHeap
min
(n) = c
1
+c
2
= Θ(1).
Nadalje, vrlo sliˇcno kao i kod punjenja zakljuˇcuje se da je
T
DelHeap
avg
(n) = O(lg n).
I na kraju, algoritam sortiranja pomo´cu hrpe ˇcita redom elemente liste
i stavlja ih u hrpu. Nakon ˇsto se svi elementi liste nadu u hrpi, poˇcinje
praˇznjenje hrpe. Kako se elementi izbacuju iz hrpe tako se redom upisuju
natrag u listu. Nakon ˇsto se hrpa isprazni, lista ´ce biti sortirana.
Algoritam 4.15
ULAZ: Lista a
1
, . . . , a
n
IZLAZ: Sortirana lista koja se sastoji od istih elemenata kao i ulazna lista.
1. Za i := 1, . . . , n radi korak 2.
2. InsHeap(a
i
).
3. Za i := 1, . . . , n radi korak 4.
4. a
i
:= DelHeap.
166 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
Jasno je da se u svakom sluˇcaju koraci od 1 do 2, te koraci od 3 do 4
izvode n puta, pri ˇcemu je n duljina ulazne liste. Sloˇzenost algoritama za
umetanje elemenata u hrpu i brisanje elemenata iz hrpe izraˇcunata je ranije,
pa imamo:
T
HeapSort
max
(n) = c
1
+
n

i=1
T
InsHeap
max
(i) +
n

i=1
T
DelHeap
max
(i)
≤ c
1
+
n

i=1
(d
1
+d
2
log
2
i) +
n

i=1
(e
1
+e
2
log
2
i)
≤ c
1
+n d
1
+nlg n d
2
+n e
1
+nlg n e
2
= c
1
+ (d
1
+d
2
) n + (e
1
+e
2
) nlg n
= O(nlg n).
Sliˇcno se dobija i da je
T
HeapSort
avg
(n) = O(nlg n).
I na kraju,
T
HeapSort
min
(n) = c
1
+
n

i=1
T
InsHeap
min
(i) +
n

i=1
T
DelHeap
min
(i)
≤ c
1
+
n

i=1
d
1
+
n

i=1
e
1
≤ c
1
+n d
1
+n e
1
= c
1
+ (d
1
+e
1
) n
= O(n).
Ovako izvedeno sortiranje pomo´cu hrpe ima istu manu koju smo spome-
nuli kod sortiranja spajanjem - potreban je dodatni memorijski prostor za
hrpu u kojoj mora biti mjesta za joˇs jednu kopiju svakog elementa ulazne
liste. Moˇze li se to izbje´ci? Za razliku od sortiranja spajanjem, sortiranje
pomo´cu hrpe se moˇze izvesti prirodno i bez dodatnog prostora. Polje u
kojem su smjeˇsteni elementi moˇze se koristiti ujedno i kao hrpa. Kako?
Kao prvo, potrebno je malo predefinirati hrpu. Hrpa kakvu smo do sada
rabili bila je tzv. min-hrpa, tj. hrpa u kojoj je oznaka roditelja manja
od oznaka njegove djece, tj. u kojoj se u korijenu nalazi najmanji element
hrpe. Max-hrpa se definira obrnuto. Oznaka roditelja u njoj mora biti ve´ca
od oznaka njegove djece. U takvoj hrpi u korijenu ´ce se nalaziti najve´ci
element u hrpi. Primjer ovakve hrpe za listu iz naˇseg prethodnog primjera
je
POGLAVLJE 4. ALGORITMI 167
9
8 5
7 3 4 2
1 6
Slika 4.6
Ovakva se hrpa moˇze izvesti u samom polju koje sadrˇzi ulazne podatke.
Kre´ce se od prvog elementa. Nakon toga se promatra drugi element polja
i na ve´c ranije opisani naˇcin, uz zamjenu usporedbe, prva se dva elementa
pretvore u hrpu. Nakon toga se promatra tre´ci element u polju i iz prva tri
elementa se, na ranije opisani naˇcin, stvori hrpa, itd. Tako se radi sve dok
svi elementi polja ne ˇcine hrpu. Nakon toga ´ce se u korijenu nalaziti najve´ci
element. Brisanje elemenata iz hrpe ide na isti naˇcin kao i ranije, samo ˇsto
se obrisani element ne stavlja u posebno polje, ve´c korijen mijenja mjesto s
posljednjim elementom u polju. Nakon toga je sigurno da je element, koji
je bio u korijenu, stavljen na svoje zavrˇsno mjesto u polju, tj. na posljednje
mjesto, pa se broj elemenata u hrpi smanjuje za 1, i hrpa se preureduje tako
da zadovoljava sva traˇzena svojstva. Ovaj je postupak isto tako ve´c opisan
ranije. Dakle, postupak je sljede´ci:
Algoritam 4.16
ULAZ: Lista a
1
, . . . , a
n
IZLAZ: Sortirana lista koja se sastoji od istih elemenata kao i ulazna lista.
1. Za i := 1, . . . , n radi korake 2-4.
2. j = i.
3. Sve dok je (i > 1) ∧ (a[i/2] < a[i]) radi korak 4.
4. swap(a[i], a[i/2]).
5. i := n.
6. Sve dok i > 1 radi korake 7-17.
7. swap(a[1], a[i]).
8. i := i −1.
168 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
9. j := 1.
10. Sve dok je (2 j + 1 ≤ i) ∧ (max(a[2j], a[2j + 1]) > a[j]) radi korake
11-16.
11. if a[2 j] > a[2 j + 1] radi korake 12-13.
12. swap(a[j], a[2 j]).
13. j := 2j.
14. Inaˇce radi korake 15-16.
15. swap(a[j], a[2 j + 1]).
16. j := 2 j + 1.
17. Ako je (2 j ≤ i) ∧ (a[2 j] > a[j]) onda swap([a[j], a[2 j]).
Sloˇzenost ovog algoritma ista je kao i sloˇzenost originalnog algoritma za
sortiranje pomo´cu hrpe. Naime, ovo je u biti isti algoritam kao i prethodni,
samo s manje koriˇstenog memorijskog prostora.
Quicksort algoritam
Sada ´cemo obraditi algoritam sortiranja koji danas predstavlja jedan od
vrhunaca algoritama za sortiranje. Promiˇsljanjem kako bi se mogao ubrzati
algoritam sortiranja spajanjem te izbje´ci potrebu za upotrebom pomo´cnog
polja, nastao je ovaj algoritam. Naime, kod algoritma sortiranja spajanjem,
sortiranje se vrˇsi u dvije faze: dijeljenje liste na manje podliste, te spajanje
podlista u sortiranu listu. Pokuˇsaji ubrzanja faze dijeljenja liste doveli su
do algoritma prirodnog sortiranja spajanjem (natural merge sort) ([6] str
161-163), dok je pokuˇsaj ubrzanja faze spajanja doveo do potpuno novog
algoritma sortiranja - quicksort algoritma. Quicksort algoritam, kao i algo-
ritam sortiranja spajanjem, temelji se na metodi podijeli pa ovladaj, no kod
njega je faza spajanja u potpunosti izbjegnuta.
Kao prvo, potrebno je istaknuti jedan element liste - tzv. pivot element.
Za pivot element se moˇze uzeti prvi element liste, srednji izmedu prva tri
ili ga se moˇze izraˇcunati na bilo koji drugi naˇcin. Jedino ˇsto je vaˇzno jest
da se pivot mora izraˇcunati u vremenu O(1). Nakon toga se elementi u listi
preslaguju tako da u prvom dijelu liste budu elementi koji su manji od pivota,
a u drugom dijelu liste elementi ve´ci od pivota. Nakon toga se algoritam
izvodi rekurzivno za prvi i drugi dio liste. Postupak se ponavlja sve dok
lista nema manje od dva elementa, a tada sortiranje postaje trivijalno.
Primijetimo da nakon ˇsto su elementi u podlistama sortirani nije po-
trebno nikakvo spajanje. Naime, zbog preuredenja polja, svi su elementi u
drugom dijelu liste ve´ci od svakog elementa iz prvog dijela liste.
POGLAVLJE 4. ALGORITMI 169
Prije negoli prikaˇzemo primjer sortiranja liste ovim algoritmom potrebno
je razrijeˇsiti neke tehniˇcke detalje izvedbe. Toˇcnije, potrebno je re´ci kako
´ce se vrˇsiti premjeˇstanje elemenata liste? Za to su potrebna dva kursora,
od kojih ´ce prvi biti iniciran na drugi element liste i rasti, a drugi ´ce biti
iniciran na posljednji element liste i padati. Neka je pivot prvi element
liste. Promatramo preostale elemente liste redom. Ako je promatrani ele-
ment (onaj na kojeg pokazuje prvi kursor) manji od pivota, prvi se kursor
pomiˇce za jedan element dalje. Ako je ve´ci od pivota, tada se prelazi na
pretraˇzivanje liste odzada. Pretraˇzuje se lista odzada sve dok se ne pronade
element manji od pivot elementa. Nadenim se elementima promijene mjesta
i nastavlja se traˇziti od prvog kursora. Pretraˇzivanje zavrˇsava kada prvi kur-
sor premaˇsi drugi. Zanimljivo je da ´ce u trenutku kada se prvi kursor nade
iza drugoga, drugi kursor pokazivati toˇcno na ono mjesto u listi na kojem ´ce
se nalaziti pivot kada ´ce lista biti sortirana. Kako se pivot element, prema
naˇsem algoritmu, sada nalazi na poˇcetku promatranog dijela liste, potrebno
je zamijeniti pivot element s onim elementom na koji pokazuje drugi kursor.
Nakon toga je potrebno odvojeno ponoviti postupak sortiranja za elemente
koji se nalaze do kursora i one koji se nalaze iza kursora. Kursor viˇse nije
potrebno obradivati jer se on, kao ˇsto smo ve´c rekli, nalazi na mjestu na
kojem ´ce se nalaziti i u sortiranoj listi.
Primjer 4.8 Sortirajmo opet istu listu quicksort algoritmom. Za pivot
element se uzima prvi element u listi.
7 3 5 1 8 4 2 9 6
Pivot element je element s vrijednoˇs´cu 7. Pretraˇzuje se lista od poˇcetka
i traˇzi se vrijednost ve´ca od pivota. Prva je takva vrijednost broj 8. Sa
straˇznje strane liste traga se za elementom s vrijednoˇs´cu manjom od pivota.
To je element s vrijednoˇs´cu 6.
7 3 5 1 8 4 2 9 6
Zamijenimo mjesta tim dvama elementima.
7 3 5 1 6 4 2 9 8
Traˇzimo dalje. Sljede´ci element s ve´com vrijednoˇs´cu od pivota je element
s vrijednoˇs´cu 9. S druge strane, sljede´ci element s vrijednoˇs´cu manjom od
pivota je element s vrijednoˇs´cu 2. U tom je trenutku drugi kursor preˇsao
ispred prvog i ovaj se dio algoritma zavrˇsava. Sada se lista dijeli na dva
dijela - od poˇcetka liste pa do drugog kursora, te od prvog kursora do kraja.
7 3 5 1 6 4 2 9 8
170 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
Kako je pivot najve´ci u prvom dijelu, on se stavlja na kraj prvog dijela, te
se postupak ponavlja za sve elemente do njega, dok se pivot element sigurno
nalazi na onom mjestu gdje ´ce se na´ci i u sortiranoj listi, pa njega ne treba
viˇse dirati. Sada se postupak ponavlja na prvom i na drugom dijelu.
2 3 5 1 6 4 7 9 8
Pogledajmo prvi dio. Pivot je broj 2. Promatrano sprijeda, prvi element
ve´ci od pivota je element s vrijednoˇs´cu 3. Straga, prvi element s vrijednoˇs´cu
manjom od pivota je onaj koji ima vrijednost 1. Mijenjamo im mjesta.
2 3 5 1 6 4 7 9 8
2 1 5 3 6 4 7 9 8
Daljnje pretraˇzivanje sprijeda ´ce se zaustaviti na sljede´cem elementu, s vri-
jednoˇs´cu 5. Pretraˇzivanje odostraga ´ce opet stati na broju 1, te ´ce u tom
trenutku opet prvi kursor prije´ci iza drugoga. Mijenjamo pivot sa zadnjim
elementom u prvom dijelu, tj., u ovom sluˇcaju, 2 i 1.
1 2 5 3 6 4 7 9 8
Sada promatramo posljednja dva elementa. Pivot je element s vrijednoˇs´cu
9. Traˇze´ci sprijeda element ve´ci od pivota, prije´ci ´cemo posljednji element
liste i u tom trenu prvi kursor ´ce prije´ci iza drugog. Pivot mijenja mjesto s
posljednjim u prvom dijelu, ˇcime dobivamo
1 2 5 3 6 4 7 8 9
Sada promatramo jedini preostali niz koji je preostao, koji je dulji od jednog
elementa. Pivot ´ce biti element s vrijednoˇs´cu 5. Pretraga sprijeda staje na
elementu s vrijednoˇs´cu 6, a straga na elementu s vrijednoˇs´cu 4.
1 2 5 3 6 4 7 8 9
Mijenjamo im mjesta.
1 2 5 3 4 6 7 8 9
Daljnja pretraga sprijeda ´ce zavrˇsiti na broju 6, a pretragom straga ´cemo
prije´ci ispred prvog kursora. Pivot mijenja mjesto s elementom s vrijednoˇs´cu
4.
1 2 4 3 5 6 7 8 9
POGLAVLJE 4. ALGORITMI 171
Preostao je joˇs jedan segment polja, koji ima viˇse od jednog elementa, i njega
takoder sortiramo. Pivot je element s vrijednoˇs´cu 4. Pretraga sprijeda ´ce
prije´ci posljednji element promatranog segmenta. Pivot mijenja mjesto s
elementom na kojeg pokazuje drugi kursor, ˇcime se dobije:
1 2 3 4 5 6 7 8 9
odnosno sortirana lista.
Algoritam 4.17
ULAZ: Lista a
1
, . . . , a
n
i kursori i i j na poˇcetak, odnosno na kraj dijela
polja koji sortiramo
IZLAZ: Sortirana lista koja se sastoji od istih elemenata kao i ulazna lista.
1. k := i + 1, l := j.
2. Sve dok je k <= l radi korake 3-5.
3. Dok je ((k <= l) ∧ (a
i
>= a
k
)) k := k + 1.
4. Dok je ((k <= l) ∧ (a
i
<= a
l
)) l := l −1.
5. Ako je k < l swap(a
k
, a
l
).
6. Ako je l > i swap(a
i
, a
l
).
7. Ako je l > i Quicksort(a, i, l −1).
8. Ako je k < j Quicksort(a, k, j).
Najgori sluˇcaj za ovaj algoritam je kada je lista ve´c unaprijed sortirana
ili ako je sortirana obrnutim redosljedom. U tim ´ce se sluˇcajevima, u svakom
prolazu lista dijeliti na podlistu od jednog elementa i podlistu koja sadrˇzi
sve elemente osim jednog. Korak 1 ima konstantnu sloˇzenost. Koraci od 2
do 5 imaju sloˇzenost c
2
+c
3
n. Sloˇzenost koraka 6 je konstantna. Stoga je
sloˇzenost Quicksorta u najgorem sluˇcaju
T
Quicksort
max
(n) = c
1
+c
2
+c
3
n +c
4
+T
Quicksort
max
(n −1)
= T
Quicksort
max
(n −1) +d
1
n +d
2
Standardni zapis ove rekurzije je
t
n
= t
n−1
+d
1
n +d
2
.
Oduzmemo li od jednadˇzbe za n-ti element niza jednadˇzbu za n−1-vi dobit
´cemo:
172 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
t
n
= t
n−1
+d
1
n +d
2
t
n−1
= t
n−2
+d
1
(n −1) +d
2
t
n
−t
n−1
= t
n−1
−t
n−2
+d
1
Drugim rijeˇcima, dobivamo rekurziju
t
n
= 2 t
n−1
−t
n−2
+d
1
.
Oduzmemo li od ove jednadˇzbe jednadˇzbu za (n−1)-vi element niza, imamo:
t
n
= 2 t
n−1
−t
n−2
+d
1
t
n−1
= 2 t
n−2
−t
n−3
+d
1
t
n
−t
n−1
= 2 t
n−1
−3 t
n−2
+t
n−3
tj, dobivamo homogenu rekurziju
t
n
= 3 t
n−1
−3 t
n−2
+t
n−3
.
Karakteristiˇcna jednadˇzba ove rekurzije je
x
3
−3x
2
+ 3x −1 = 0.
Ova jednadˇzba ima jedan trostruki korijen x
1,2,3
= 1. Dakle, op´ce rjeˇsenje
ove rekurzije je
t
n
= C
1
1
n
+C
2
n 1
n
+C
3
n
2
1
n
,
odnosno,
t
n
= C
1
+C
2
n +C
3
n
2
.
Dakle,
T
Quicksort
max
(n) = O(n
2
).
Najbolji mogu´ci sluˇcaj za ovaj algoritam je kada je svaki izabrani pivot
srednja vrijednost elemenata dijela liste koji se promatra. U tom se sluˇcaju
lista dijeli na dva podjednako dugaˇcka dijela. Sloˇzenost u tom sluˇcaju iznosi
T
Quicksort
min
(n) ≤ 2 T
Quicksort
max
(
_
n
2
_
) +d
1
n +d
2
.
Dakle, u standardnom obliku
t
n
≤ 2 t
n
2
+d
1
n +d
2
.
Uvedemo li supstituciju s
n
= t
2
n i onda imamo
POGLAVLJE 4. ALGORITMI 173
s
n
= t
2
n = 2 t 2
n
2
+d
1
2
n
+d
2
= 2 t
2
n−1 +d
1
2
n
+d
2
= 2 s
n−1
+d
1
2
n
+d
2
.
Oduzmemo li od formule za n-ti ˇclan niza formulu sa (n − 1)-vi ˇclan niza
imat ´cemo
s
n
= 2 s
n−1
+d
1
2
n
+d
2
s
n−1
= 2 s
n−2
+d
1
2
n−1
+d
2
s
n
−s
n−1
= 2 s
n−1
−2 s
n−2
+d
1
2
n−1
,
odnosno,
s
n
= 3 s
n−1
−2 s
n−2
+d
1
2
n−1
.
Od ove formule oduzmemo dvostruku formulu za (n −1)-vi ˇclan i dobijamo
homogenu rekurziju
s
n
= 3 s
n−1
−2 s
n−2
+d
1
2
n−1
2 s
n−1
= 6 s
n−2
−4 s
n−3
+d
1
2
n−1
s
n
−2 s
n−1
= 3 s
n−1
−8 s
n−2
+ 4 s
n−3
odnosno,
s
n
= 5 s
n−1
−8 s
n−2
+ 4 s
n−3
.
Karakteristiˇcna jednadˇzba ove formule je
x
3
−5x
2
+ 8x −4 = 0.
Ova jednadˇzba ima jednostruki korijen x
1
= 1 te dvostruki korijen x
2,3
= 2.
Dakle, op´ce rjeˇsenje ove jednadˇzbe je
s
n
= C
1
1
n
+C
2
2
n
+C
3
n 2
n
.
Konaˇcno,
t
2
n = C
1
+C
2
2
n
+C
3
n 2
n
.
Iz posljednje formule slijedi da je
t
n
= C
1
+C
2
n +C
3
n log
2
n.
Dakle, u najboljem je sluˇcaju
T
Quicksort
max
= O(n lg n).
174 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
Preostao nam je joˇs prosjeˇcan sluˇcaj. Pretpostavimo da je svaki raspored ele-
menata polja jednako vjerojatan. Da bismo pojednostavili raˇcun sloˇzenosti
prosjeˇcnog sluˇcaja, ne´cemo brojiti sve operacije koje algoritam radi, ve´c
samo operacije usporedivanja nad elementima polja. Lako se moˇze vidjeti
da frekvencija ostalih operacija ovisi upravo o broju usporedivanja. Pret-
postavljamo da su svi elementi u polju razliˇciti, te da je jednaka vjerojatnost
izbora svakog elementa polja za pivota.
Promotrimo segment polja a
m
, . . . , a
p
. Kako je jednako vjerojatno da ´ce
za pivot element biti uzet i-ti element po veliˇcini za svaki i = 1, . . . , p−m+1,
prolaz Quicksorta ´ce podijeliti polje na polja a
m
, . . . , a
m+i−2
i a
m+i
, . . . , a
p
s vjerojatnoˇs´cu
1
p−m+1
. Dakle, sloˇzenost u prosjeˇcnom sluˇcaju bit ´ce dana s
T
Quicksort
avg
(n) = n + 1 +
1
n
n

i=1
(T
Quicksort
avg
(i −1) +T
Quicksort
avg
(n −i))
Pri tome je n+1 broj usporedbi koje algoritam radi prije rekurzivnog poziva.
Dakle, imamo rekurziju
t
n
=
1
n
n

i=1
(t
i−1
+t
n−i
) +n + 1.
Pomnoˇzimo li ovu jednadˇzbu s n dobivamo
n t
n
=
n

i=1
(t
i−1
+t
n−i
) +n (n + 1),
odnosno
n t
n
= 2
n−1

i=0
t
i
+n (n + 1).
U prethodnoj formuli zamijenimo n s n − 1 te oduzmemo tako dobivenu
formulu od gornje formule:
n t
n
= 2
n−1

i=0
t
i
+n (n + 1)
(n −1) t
n−1
= 2
n−2

i=0
t
i
+n (n −1)
n t
n
−(n −1) t
n−1
= 2t
n−1
+n (n + 1) −n (n −1)
Iz toga slijedi da je
n t
n
= (n + 1) t
n−1
+ 2 n.
Podijelimo li jednadˇzbu s n(n + 1), dobit ´cemo
POGLAVLJE 4. ALGORITMI 175
t
n
n + 1
=
t
n−1
n
+
2
n + 1
. (4.8)
Primijenimo li ponovo formulu 4.8 za t
n−1
imat ´cemo
t
n
n + 1
=
t
n−2
n −1
+
2
n
+
2
n + 1
=
t
n−3
n −2
+
2
n −1
+
2
n
+
2
n + 1

=
t
1
2
+ 2
n+1

i=3
1
i
No, poznato je da je
n+1

i=3
1
i

n+1
_
2
1
x
dx = ln(n + 1) −ln2
iz ˇcega slijedi da je
T
Quicksort
avg
≤ 2 (n + 1)[ln(n + 2) −ln2]
tj.
t
n
= O(n lg n).
Treba napomenuti da je Quicksort, kao ˇsto i njegovo ime kaˇze, u praksi
brz za ve´cinu sluˇcajeva. No, pri tome treba imati na umu nekoliko stvari.
Prva je da Quicksort ima sloˇzenost najgoreg sluˇcaja O(n
2
), pa se moˇze desiti
da za neke instance Quicksort bude spor. Osim toga, izvedba Quicksorta
je sloˇzenija od izvedbe, npr., sortiranja umetanjem. Time se ˇzeli re´ci da su
konstante koje se javljaju u formuli vremenske sloˇzenosti Quicksorta, znatno
ve´ce od konstanti koje se javljaju u nekim drugim algoritmima sortiranja,
npr. u sortiranju umetanjem. To se ne vidi u krajnjoj asimptotskoj ocjeni
sloˇzenosti, ali ´ce to znatno utjecati na brzinu rada kod instanci manje duljine.
Stoga ´ce algoritam sortiranja umetanjem biti znatno brˇzi za male liste (do
otprilike 20 elemenata), dok ´ce Quicksort svoju nadmo´c pokazivati tek na
velikim listama (viˇse od 100000 elemenata).
Glavni nedostatak Quicksorta je, kao ˇsto je ve´c reˇceno, njegova sloˇzenost
u najgorem sluˇcaju. Ovaj je problem posebno izraˇzen jer se najgori sluˇcaj
postiˇze u potpuno sortiranom i obrnuto sortiranom polju. Drugim rijeˇcima,
algoritam ´ce imati tendenciju da loˇsije radi ako je na poˇcetku polje uredenije,
176 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
a vrlo ˇcesto ´ce upravo tako i biti. Naime, podaci su vrlo ˇcesto djelomiˇcno
sortirani. Drugim rijeˇcima, ˇcesto distribucija instanci problema sortiranja
nije uniformna. Kako bi se ovaj problem umanjio u stvarnoj izvedbi Quick-
sorta pivot se pokuˇsava na razne naˇcine ”pametnije” izabrati. Jedna je ideja
da se pivot izabere kao srednji po veliˇcini element od prva tri u listi ili pak
kao srednja vrijednost prva dva elementa. Druga, joˇs bolja ideja je random-
izacija algoritma, tj. pivot se izabire kao sluˇcajni element liste. To znatno
umanjuje mogu´cnost najgoreg sluˇcaja.
4.3.3 Donja meda sloˇzenosti algoritama usporedivanja i sor-
tiranja temeljenih na usporedivanju
Svi algoritmi opisani do sada u ovom poglavlju temelje se na usporedivanju
kao osnovnoj operaciji pomo´cu koje se izvrˇsava premjeˇstanje elemenata u
polju. Pri tome smo naˇsli dva algoritma koja imaju sloˇzenost O(nlg n) u
najgorem sluˇcaju, te jedan koji ima sloˇzenost O(n
2
) u najgorem, ali O(nlg n)
u prosjeˇcnom sluˇcaju. Postavlja se pitanje da li se moˇze bolje od toga? U
ovom poglavlju bavit ´cemo se ocjenom donje mede maksimalne sloˇzenosti
koju neki algoritam sortiranja moˇze imati.
Uvest ´cemo pojam stabla usporedivanja, koja ´ce nam pomo´ci prona´ci
donju medu sloˇzenosti naˇsih problema, koje smo ranije obradili, tj. pre-
traˇzivanja i sortiranja. Ova stabla ne´cemo definirati formalno, jer se njihova
definicija moˇze znatno razlikovati ovisno o problemu koji opisuju.
Stablo usporedivanja za problem pretraˇzivanja definira se na sljede´ci
naˇcin: svaki unutarnji vrh stabla predstavljat ´ce usporedbu elementa polja
s x, odnosno vrijednoˇs´cu koju traˇzimo. Lijevo podstablo ´ce predstavljati
daljnje mogu´cnosti pretraˇzivanja, ako je traˇzeni element manji od proma-
tranog elementa polja, a desno podstablo mogu´cnosti daljnjeg pretraˇzivanja
ako je traˇzeni element ve´ci od promatranog. Ako je x jednak promatra-
nom elementu polja, onda algoritam staje, pa nema podstabla za taj sluˇcaj.
Svaki list stabla ´ce predstavljati neuspjeh pretraˇzivanja.
Pogledajmo sada sluˇcaj kada je polje koje se promatra uzlazno sortirano.
Osim toga, pretpostavljamo da su elementi u polju medusobno razliˇciti. Za
taj sluˇcaj se mogu primijeniti razni algoritmi, od kojih smo dva obradili u
prvom dijelu ovog poglavlja. Radi se o slijednom i binarnom pretraˇzivanju.
Slijedno pretraˇzivanje se moˇze malo modificirati kada se radi o sorti-
ranom polju. Naime, prvo usporedujemo traˇzeni element s prvim elemen-
tom polja. Ako je traˇzeni element manji od prvog u polju, onda je on
sigurno manji i od ostalih elemenata polja, pa odmah moˇzemo stati. Za
svako usporedivanje koje napravimo moˇzemo dati sliˇcnu argumentaciju, pa
algoritam moˇze stati odmah ˇcim u polju naidemo na element koji je ve´ci
od traˇzenoga. Stoga slijedno pretraˇzivanje sortiranog polja moˇzemo opisati
sljede´cim stablom usporedivanja:
POGLAVLJE 4. ALGORITMI 177
x:A[1]
x:A[2]
F
F
.
.
.
x:A[n-1]
x:A[n]
F
F F
Slika 4.7
Vidi se da ovo stablo ima (n + 1) -vu razinu. Dakle, algoritam ´ce u
najviˇse n usporedivanja do´ci do rjeˇsenja. Kako svako usporedivanje odnosi
najmanje konstantno mnogo vremena, ovaj algoritam ´ce imati vremensku
sloˇzenost najgoreg sluˇcaja Ω(n).
S druge strane, binarno pretraˇzivanje sortiranog polja opisano je sljede-
´cim stablom pretraˇzivanja:
178 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
S
l
i
k
a
4
.
8
x
:
A
[
¸
n
/
2
|
]
x
:
A
[
¸
3
n
/
4
|
]
x
:
A
[
¸
n
/
4
|
]
. . .
. . .
x
:
A
[
1
]
.
.
.
x
:
A
[
¸
n
/
2
|
]
x
:
A
[
¸
n
/
2
|
+
1
]
.
.
.
x
:
A
[
n
]
F
F
F
F
F
F
F
F
POGLAVLJE 4. ALGORITMI 179
Jasno je da je visina ovog stabla ¸lg n| + 1. To znaˇci da ´ce binarno
pretraˇzivanje dati odgovor uz najviˇse ¸lg n| usporedivanja. Dakle, za svaki
mogu´ci x vremenska sloˇzenost binarnog pretraˇzivanja bit ´ce Ω(lg n). Sada
´cemo dokazati da je to asimptotski optimalno.
Teorem 4.3 Neka je A polje koje se sastoji od n razliˇcitih vrijednosti, sor-
tiranih uzlazno. Minimalna sloˇzenost algoritma za pretraˇzivanje tog polja
je Ω(lg n).
Dokaz. Svaki algoritam nad ovim poljem je definiran nekim stablom
usporedivanja.
Promatrat ´cemo sve listove stabla. Algoritam moˇze neuspjeˇsno zavrˇsiti
u bilo kojem elementu stabla. Stoga, svako stablo usporedivanja ovog pro-
blema ima toˇcno n listova. Stablo s n listova ima minimalno ¸lg n| razina.
Broj razina stabla definirat ´ce najve´ci broj koraka koji algoritam mora
izvesti da bi izvrˇsio pretraˇzivanje. Uz pretpostavku da se svaki korak moˇze
izvesti u konstantnom vremenu, zakljuˇcujemo da algoritam pretraˇzivanja u
najgorem sluˇcaju mora imati sloˇzenost Ω(lg n).
Ovaj teorem pokazuje da je binarno pretraˇzivanje asimptotski optimalno
pretraˇzivanje sortiranog polja.
Promotrimo sada problem sortiranja. I ovdje ´cemo, radi lakˇseg raˇcuna-
nja pretpostaviti da su svi elementi polja razliˇciti.
Teorem 4.4 Neka je zadano polje A koje sadrˇzi n razliˇcitih elemenata.
Svaki algoritam za sortiranje, temeljen na usporedivanju, ima u najgorem
sluˇcaju sloˇzenost Ω(nlg n).
Dokaz. Za problem sortiranja treba se definirati tzv. proˇsireno stablo
usporedivanja. Unutarnji ˇcvorovi ovog stabla predstavljaju usporedbe dvaju
elemenata polja. Listovi stabla sadrˇze krajnje rjeˇsenje, tj. permutaciju.
Jasno je da listovi moraju pokriti svaku permutaciju ulaznog polja, pa
ovo polje ima n! listova. Prema tome, ovo stablo ima ¸lg n!| razina. Prema
Stirlingovoj formuli slijedi da je
¸lg n!| = n lg n −
n
ln2
+O(1).
Odavde slijedi da algoritam sortiranja, temeljen na usporedivanju, mora
u najgorem sluˇcaju imati sloˇzenost Ω(nlnn).
4.3.4 Sortiranje u vremenu O(n)
Naslov ovog podpoglavlja na prvi je pogled u suprotnosti rezultatima pret-
hodnog potpoglavlja. Kako je mogu´ce napraviti algoritme koji rade ispod
izraˇcunate donje mede? Radi se o tome da smo u prethodnom poglavlju
dokazali da algoritmi sortiranja, koji se temelje na usporedivanju, imaju
180 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
sloˇzenost Ω(nlg n). To znaˇci da moˇzemo na´ci brˇzi algoritam, ali se on
ne moˇze temeljiti na usporedivanju kao osnovnoj operaciji. Je li mogu´ce
takvo ˇsto uraditi? Op´cenito nije, ali jest u nekim posebnim sluˇcajevima. U
ovom ´cemo poglavlju dati tri algoritma koji su, uz odredene uvjete, brˇzi od
O(nlg n).
Sortiranje prebrojavanjem
Sortiranje prebrojavanjem je jako jednostavna i efikasna metoda sortiranja,
uz uvjet da je skup S, iz kojeg se uzimaju vrijednosti elemenata, dovoljno
mali tako da se moˇze definirati polje veliˇcine [S[. Zbog jednostavnosti, uzet
´cemo da su elementi koje sortiramo cijeli brojevi iz segmenta [1, m].
Neka imamo polje A koje se sastoji od n cijelih brojeva iz segmenta
[1, m]. Generira se polje B duljine m, ˇciji se elementi iniciraju na vrijednost
0. Nakon toga se gledaju elementi polja A redom i ako je A[i] = k onda
se k-ti element polja B pove´cava za 1. Na kraju tog postupka polje B ´ce
sadrˇzavati frekvenciju svakog broja iz segmenta [1, m] u polju A. Nakon toga
je joˇs samo potrebno redom puniti polje A elementima ˇciji je broj zapisan u
polju B. Formalno, algoritam ´ce izgledati ovako:
Algoritam 4.18
ULAZ: Polje A od n elemenata, ˇcije su vrijednosti cijeli brojevi iz segmenta
[1, m].
IZLAZ: Sortirano polje koje se sastoji od elemenata iz polja A.
1. Za i = 1, . . . , m radi B[i] = 0.
2. Za i = 1 . . . , n radi B[A[i]] = B[A[i]] + 1
3. k = 1
4. Za i = 1, . . . , m radi korake 5-7
5. Za j = 1, . . . , B[i] radi korake 6-7
6. A[k] = i
7. k = k + 1
Petlja iz 1 se izvodi m puta, a operacije svakog koraka petlje se izvode
u konstantnom vremenu. Petlja iz 2 izvodi se n puta, a za svaki korak ove
petlje potrebno je konstantno vrijeme. Korak 3 je konstantnog trajanja.
Korake od 4 do 7 promatrat ´cemo zajedno. Vanjska se petlja izvodi m puta,
dok se unutarnja petlja ukupno izvodi onoliko puta koliko ima elemenata
polja A, dakle n puta. Stoga se i koraci 6 i 7 izvrˇsavaju n puta. Sloˇzenost
ovog algoritma je jednaka za sve ulaze iste duljine i iznosi:
POGLAVLJE 4. ALGORITMI 181
T
CountSearch
(n, m) = c
1
+c
2
m+c
3
n.
Odnosno,
T
CountSearch
(n, m) = Θ(m+n).
Fiksiramo li m, dobijamo da je
T
CountSearch
(n) = Θ(n).
Drugim rijeˇcima, ovaj algoritam´ce sortirati listu u vremenu koje linearno
raste s porastom broja elemenata u listi.
Radix sort
Ova metoda potjeˇce iz ranijih vremena raˇcunarstva i koristila se kod sorti-
ranja buˇsenih kartica.
Metoda se temelji na sortiranju vrijednosti liste prema pojedinim zna-
menkama, odnosno prema slovima na pojedinoj poziciji, ako se radi o sor-
tiranju alfanumeriˇckih podataka. Zbog jednostavnosti, mi ´cemo ovdje pret-
postaviti da se radi o sortiranju cjelobrojnih vrijednosti. U svakom se koraku
vrijednosti rasporeduju s obzirom na jednu svoju znamenku, u 10 pomo´cnih
polja. No, kako je izvesti? Prva je pomisao da se prvo rasporedivanje izvede
po vode´coj znamenci brojeva, pa nakon toga po drugoj, itd. Ovakav pristup
zahtjeva vrlo mnogo memorijskog prostora. Naime, u drugom prolazu za
to nam je ve´c potrebno 10
2
= 100 pomo´cnih polja, a u tre´cem 10
3
= 1000
itd. Ovo predstavlja velik utroˇsak memorije. Iako se taj utroˇsak moˇze sma-
njiti na dva polja duljine n, svejedno ostaje kˆod, koji je sloˇzen za izvedbu.
U ranije doba, kada su se rabile buˇsene kartice, ovakav algoritam ne bi bio
pogodan za sortiranje kartica. Koristi se ideja da se prvo rasporedivanje vrˇsi
po najmanje znaˇcajnoj znamenci (jedinici). Nakon toga se sve vrijednosti
opet upiˇsu u jedno polje, prvo one koje imaju najmanje znaˇcajnu znamenku
0, pa onda one koje imaju najmanje znaˇcajnu znamenku 1, itd. Tako do-
biveno polje se sortira po drugoj najmanje znaˇcajnoj znamenci, itd., sve
do najznaˇcajnije znamenke. Kada se vrijednosti po posljednji puta spoje u
jedno polje, to polje je sortirano. Formalno, ovaj algoritam je:
Algoritam 4.19
ULAZ: Polje A od n elemenata
IZLAZ: Sortirano polje koje se sastoji od elemenata iz polja A.
1. Za i := 0, . . . , n radi Index[i] = 0.
2. k := 0.
3. gotovo := T.
182 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
4. Za i := 1 . . . , n radi korake 5-8.
5. m := (A[i] ÷10
k
) mod 10.
6. Ako je A[i] ÷10
k
> 0 gotovo := F.
7. Index[m] := Index[m] + 1.
8. B[m, Index[m]] := A[i].
9. Ako je gotovo = T stani.
10. l := 1.
11. Za i := 0, . . . , 10 radi
12. Za j := 1, . . . , Index[i] radi korake 13-14.
13. l := l + 1.
14. A[l] := B[i, j].
15. gotovo := T.
16. k := k + 1.
17. Idi na 4.
Kao prvo, ovaj algoritam nije, kao ve´cina ranije opisanih, intuitivno
jasan. Iz njega nije potpuno jasno da on listu sortira ulazno. Stoga je
potrebno dokazati da je ovaj algoritam zaista korektan.
Teorem 4.5 (Korektnost) Radix sort algoritam sortira svako zadano po-
lje.
Dokaz. Indukcijom po broju znamenaka k, najve´ce vrijednosti u polju.
Baza indukcije: Neka k = 1. Ako su svi brojevi jednoznamenkasti, onda
´cemo ih u prvom prolazu podijeliti na 10 pomo´cnih polja. U prvom ´ce biti
sve nule, u drugom sve jedinice, itd. Kod spajanja ´ce nule do´ci na poˇcetak,
jedinice iza njih itd., pa ´ce polje biti sortirano.
Pretpostavimo da radix sort ispravno sortira brojeve do m znamenaka.
Neka je k = m + 1. Nakon m-tog spajanja brojevi ´ce biti sortirani is-
pravno po posljednjih m znamenaka. U (m + 1)-om razdijelimo brojeve u
10 pomo´cnih polja, tako da u prvom budu svi koji imaju vode´cu nulu, u
drugom svi koji imaju vode´cu jedinicu itd. Osim toga, kako su brojevi bili
sortirani po preostalih m znamenaka, u svakom ´ce pomo´cnom polju brojevi
biti sortirani. Kada spojimo pomo´cna polja tako da prvo stavimo brojeve
s vode´com nulom, pa one s vode´com jedinicom i tako redom, dobit ´cemo
sortirano polje.
POGLAVLJE 4. ALGORITMI 183
Pogledajmo sada sloˇzenost ovog algoritma.
Neka najve´ci broj u polju ima k znamenaka. Tada ´ce algoritam imati
k prolaza. U svakom prolazu vrijeme potrebno za podjelu vrijednosti po
promatranoj znamenci je O(n), i za spajanje takoder O(n). Dakle, imamo
T
RadixSort
(k, n) = k (O(n) +O(n)).
Odnosno,
T
RadixSort
(k, n) = O(k n).
Ako fiksiramo k, onda ´cemo imati
T
RadixSort
(n) = O(n).
Ovo vrijedi neovisno o distribuciji, odnosno instanci koju ovaj algoritam
sortira. No, valja re´ci da sloˇzenost ovog algoritma znaˇcajno ovisi o veliˇcini
brojeva koji se sortiraju.
Sortiranje pomo´cu pretinaca
Tre´ci algoritam sortiranja, sortiranje pomo´cu pretinaca (engl. bucket sort),
nije u najgorem sluˇcaju vremenske sloˇzenosti O(n), ve´c je, u odredenom
sluˇcaju prosjeˇcne sloˇzenosti O(n). Taj je sort poznat pod imenom bucket sort
i temelji se na pretpostavci da je distribucija elemenata u polju uniformna
na nekom segmentu [m, M].
Kao ˇsto je ve´c reˇceno, da bi ovaj algoritam radio dobro, elementi polja
moraju biti uniformno distribuirani izmedu minimalnog i maksimalnog ele-
menta u polju. Ako polje ima n elemenata, stvara se struktura koja ima n
pretinaca takvih da u svaki pretinac moˇzemo staviti od 0 do n elemenata.
Ovo se moˇze implementirati kao polje ili vezana lista, koja sadrˇzi pokazivaˇce
na n vezanih listi ili polja. Ova struktura je poznata kao otvorena hash-
tablica, pri ˇcemu je hash-funkcija, koja se ovdje koristi, vrlo jednostavna:
h(i) =
_
M −m
n
+m
_
U sluˇcaju normalne distribucije oˇcekuje se da ´ce u svakom pretincu hash-
tablice biti toˇcno jedan element. Ako ih je viˇse, onda se sortiraju nekom
od poznatih standardnih metoda sortiranja. Mi ´cemo koristiti metodu sor-
tiranja pomo´cu hrpe iz dva razloga: prvo zato jer ima sloˇzenost O(n lg n) u
najgorem sluˇcaju, pa ´ce i bucket sort naslijediti tu najgoru sloˇzenost i drugo,
jer se i tako nakon razmjeˇstanja elemenata u hash-tablicu, elemente iz poje-
dinih pretinaca treba proˇcitati i sortirati. Kako bismo odrˇzali ˇcisto´cu bucket
sort algoritma, ne ulaze´ci u detalje pomo´cne metode sortiranja, u algoritmu
´cemo kreirati pomo´cno polje i sortirati ga koriste´ci neku od ranije opisanih
metoda sortiranja. Kod prepisivanja elemenata odmah ´cemo ih prepisivati
184 4.3. PRETRA
ˇ
ZIVANJE I SORTIRANJE
u pomo´cnu hrpu. Na taj naˇcin pove´cavamo prostor koji ovaj algoritam za-
htjeva, jer koristimo pomo´cnu strukturu. Moglo bi se pro´ci i bez toga, ako
bi se sortiralo izravno u ulaznom polju. No, zato bismo trebali modificirati
neki od ranije opisanih algoritama sortiranja. Kada bismo implementirali
bucket sort za stvarno koriˇstenje, tada bismo to i uˇcinili, smanjuju´ci time
njegovu prostornu, ali i vremensku sloˇzenost. No, na ovoj razini, nama to
nije u interesu, jer bi to znatno zakompliciralo naˇse izlaganje, kao i algori-
tam koji bismo dobili, i odvelo nas nepotrebno od biti metode u detalje neke
druge metode sortiranja.
Stoga imamo sljede´ci algoritam:
Algoritam 4.20
ULAZ: Polje A od n elemenata
IZLAZ: Sortirano polje koje se sastoji od elemenata iz polja A.
1. Za i := 1, . . . , n radi korak 2.
2. Umetni(a[i], h(i)).
3. k := 0.
4. Za i := 1, . . . , n radi korake 5-12.
5. j := 1.
6. Sve dok nije Prazan(h(i)) radi korake 7-8.
7. b[j] := Brisi(h(i)).
8. j := j + 1.
9. Ako je j > 1 radi heapsort(b[1], . . . , b[j −1]).
10. za l := 1, . . . , j −1 radi korak 11.
11. a[l +k] := b[l].
12. k := k +j −1.
Izraˇcun sloˇzenosti za najbolji i najgori sluˇcaj vrlo je jednostavan. Najgori
je sluˇcaj kada je distribucija vrijednosti elemenata krajnje neuniformna, tj.
kada svi elementi osim jednog ulaze u prvi ili posljednji pretinac hash tablice.
U tom sluˇcaju imamo sljede´cu sloˇzenost:
T
BucketSort
max
(n) ≤ c
1
+n c
2
+T
HeapSort
max
(1) +T
max
HeapSort
(n −1). (4.9)
U c
2
ulazi vrijeme potrebno da se izvede jedan korak prve petlje algo-
ritma. Pri tome se pretpostavlja da se umetanje elemenata u hash-tablicu
izvodi u konstantnom vremenu.
POGLAVLJE 4. ALGORITMI 185
Petlja iz koraka 4 izvrˇsit ´ce se toˇcno n puta, za svaki pretinac hash-tablice
po jednom. Stoga ´ce se koraci 5 i 12, kao i provjera uvjeta iz koraka 9 izvrˇsiti
toˇcno n puta, pa ´cemo i njihovo vrijeme dodati u vrijednost konstante c
2
.
Petlja iz koraka 6 ´ce se ukupno, u svim koracima petlje iz koraka 4 izvrˇsiti
toˇcno n puta, za svaki element ulaznog polja po jednom. Stoga i sva vremena
potrebna za izvrˇsenje jednog njenog koraka, moˇzemo dodati u konstantu c
2
.
Sliˇcno je i s petljom iz koraka 10.
Preostalo je joˇs samo uvrstiti sloˇzenost koju donosi poziv funkcije heap-
sort. Najgore je, kao ˇsto smo ranije rekli, kada se svi elementi osim jednog
svrstavaju u jedan pretinac, a to je sluˇcaj koji je opisan u formuli 4.9. To
nas dovodi do formule 4.9. Uvrstimo li sloˇzenost sortiranja pomo´cu hrpe
imat ´cemo:
T
BucketSort
max
(n) ≤ c
1
+n c
2
+c
3
+c
4
+c
5
n +c
6
(n −1) lg(n −1).
Odnosno,
T
BucketSort
max
(n) = O(n lg n).
Minimalna sloˇzenost dobije se ako se pretpostavi u potpunosti uniformna
distribucija elemenata. Tada svaki element dolazi u svoj pretinac hash-
tablice, pa imamo:
T
BucketSort
min
(n) ≤ c
1
+n c
2
+n T
HeapSort
max
(1),
odnosno
T
BucketSort
min
(n) ≤ c
1
+n c
2
+n c
3
= Θ(n). (4.10)
Za prosjeˇcnu sloˇzenost treba pretpostaviti uniformnu distribuciju na
veliˇcinu svakog pojedinog elementa, tj. pretpostaviti da je jednako vjero-
jatno da ´ce svaki pojedini element u´ci u bilo koji pretinac hash-tablice.
T
BucketSort
avg
(n) = E
_
Θ(n) +
n

i=1
T
heapsort
avg
(N
i
)
_
,
pri ˇcemu je N
i
broj elemenata u i-tom pretincu hash tablice. Zbog linear-
nosti matematiˇckog oˇcekivanja imamo
T
BucketSort
avg
(n) = n +E
_
n

i=1
T
heapsort
avg
(N
i
)
_
= n +
n

i=1
E[T
heapsort
avg
(N
i
)]
= n +
n

i=1
T
heapsort
avg
(EN
i
).
186 4.4. ZADACI
Sada joˇs treba izraˇcunati koliko je oˇcekivanje varijable N
i
. Vjerojatnost da
j-ti element padne u i-ti pretinac jest
1
n
. Neka je s X
ij
oznaˇcena indikatorska
varijabla vjerojatnosti da je j-ti element u i-tom pretincu.
P(X
ij
= 1) =
1
n
.
Sada je
EN
i
=
n

j=1
P(X
ij
) = 1.
Drugim rijeˇcima, matematiˇcko oˇcekivanje svakog pretinca je da u njemu
bude jedan element. Iz toga slijedi da je
T
BucketSort
avg
(n) = T
BucketSort
min
(n) = Θ(n).
4.4 Zadaci
1. Izvedite algoritme iz poglavlja 4.1 na raˇcunalu u programskom jeziku
po ˇzelji.
2. Izvedite algoritme iz poglavlja 4.3 na raˇcunalu u programskom jeziku
po ˇzelji.
3. Napravite algoritam koji ´ce pozivati funkciju double fja(double x),
te za nju izraˇcunavati integral u zadanim granicama Rombergovim
algoritmom.
4. Eratostenovo sito je algoritam koji traˇzi prvih n prostih brojeva na
sljede´ci naˇcin: kreira se binarno polje veliˇcine n, u kojem se svi ele-
menti iniciraju na 1. Poˇcevˇsi od 2 pa do ¸

n|, radi se sljede´ce: ako
je i-ti element u polju 1, onda se elementi koji se nalaze na mjestima
k i u polju postavljaju na 0.
(a) Dokaˇzite da ´ce nakon izvrˇsavanja ovog algoritma i-ti element
polja biti 1 ako i samo ako je i prost broj.
(b) Izvedite algoritam koji ´ce pronalaziti prvih n prostih brojeva ko-
riste´ci Eratostenovo sito.
(c) Ocijenite sloˇzenost ovog algoritma.
(d) Napravite quicksort algoritam bez koriˇstenja rekurzije.
5. Napravite algoritam koji ´ce za zadani broj x izraˇcunavati n-ti korijen
zadanog broja metodom polovljenja. Algoritam treba odrediti poˇcetni
interval u kojem se nalazi n-ti korijen od zadanog broja te ga u svakom
koraku smanjiveti na pola uzimaju´ci samo onu polovicu u kojoj se
POGLAVLJE 4. ALGORITMI 187
nalazi n-ti korijen od x. Algoritam mora stati ako je interval koji
se promatra manji od nekog malog broja ε. Ocijenite sloˇzenost ovog
algoritma.
6. Napravite algoritam koji rjeˇsava sljede´ci problem:
Problem 4.2 (Partition)
ULAZ: Multiskup prirodnih brojeva A = ¦a
1
, . . . , a
n
¦.
IZLAZ: Potrebno je prona´ci particiju A
1
, A
2
multiskupa A tako da je

a
i
∈A
1
a
i
=

a
i
∈A
2
a
i
7. Neka su zadana dva niza znakova koji se sastoje od znakova A, C, G
i T (DNK!). Nizovi ne moraju biti iste duljine. Pronadite algoritam
koji traˇzi najdulji zajedniˇcki niz znakova, koji se pojavljuju tim re-
doslijedom u ulaznim nizovima, ali ne nuˇzno jedan za drugim. Npr.
za nizove ATCTTGA i CCACTTGGCA traˇzeni je niz ACTTGA.
Napravite algoritam koji ´ce traˇziti takav maksimalan niz. Algoritam
mora biti polinomne sloˇzenosti s duljinom nizova. (Za pomo´c vidi [2]).
4.5 Projekti
1. Napravite program koji ´ce sortirati datoteku. Za sortiranje u vanj-
skoj memoriji koristi se modificirano sortiranje spajanjem. Kako bi
sortiranje spajanjem radilo ˇsto bolje, prije poˇcetka sortiranja datoteku
prepiˇsite u drugu datoteku, ali tako da elementi prije prepisivanja pro-
laze kroz hrpu odredene dubine. Elementi se iz ulazne datoteke pune u
hrpu, a iz hrpe se prepisuju u izlaznu datoteku tek kada je hrpa puna
i u nju viˇse ne stane ni jedan element. Cijeli algoritam mora imati
sloˇzenost O(n lg n), pri ˇcemu je n broj ˇcitanja i pisanja podataka u
vanjskoj memoriji.
2. Implementirajte u ovoj glavi navedene algoritme sortiranja, te ih us-
poredite za razliˇcite veliˇcine ulaza. Empirijski odredite koji algoritam
je najbrˇzi za odredene veliˇcine ulaza, te napravite algoritam koji ´ce
ovisno o veliˇcini ulaza izabirati onaj algoritam koji ´ce biti najbrˇzi.
Imajte na umu da se algoritam, koji se koristi, moˇze mijenjati tijekom
rada, kada se ulaz dovoljno smanji!
3. Implementirajte randomizirani quicksort algoritam. Kod njega se pi-
vot element uzima kao sluˇcajni element polja koje se sortira. Napravite
vjerojatnosnu analizu oˇcekivane vrijednosti izabranog pivota, te s ob-
zirom na to, prosjeˇcnu sloˇzenost.
188 4.5. PROJEKTI
Bibliografija
[1] Atallah, M. J. (ed.): Algorithms and Theory of Complexity Handbook,
CRC Press, Boca Raton, 1999.
[2] Cormen, T. H.; Lieserson, C. E,; Rivest, R. L.; Stein, C.: Introduction
to Algorithms, 2
nd
edition, The MIT Press, Cambrige, 2001.
[3] Garey, M. R.; Johnson, D. S. : Computer and Intractability A guide
to the Theory of NP-Completeness, W. H. Freeman & Co., New York,
1979.
[4] Goodaire, E.G.; Parmenter, M.M.: Discrete Mathematics with Graph
Theory, Prentice-Hall, Upper Side River, 1998.
[5] Knuth, D. E. (1981):The Art of Computer Programming: Fundamental
Algorithms, 2
nd
edition, Addison-Welsey, Reading, Massachusets
[6] Knuth, D.E.: The Art of Computer Programming: Sorting and Search-
ing, Addison-Welsey, Reading, Massachusets, 1973.
[7] Leeuwen, J. van (ed.): Handbook of Theoretical Computer Science. Vol-
ume A: Algorithms and Complexity, MIT Press, Cambrige, 1990.
[8] Pavkovi´c, B., Daki´c, B.: Polinomi,
ˇ
Skolska knjiga, Zagreb, 1987.
[9] Sedgewick, R.: Algorithms in C++: Parts 1-4, Addison-Wesley,
Boston, 1998.
[10] Wilf, H. S.: Algorithms and Complexity, Internet edition, 1994.
ftp://ftp.cis.upenn.edu/pub/wilf/AlgComp.ps.Z
189
190 BIBLIOGRAFIJA
Poglavlje 5
Teorija grafova
S jednakom straˇs´cu traˇzio sam znanje.
ˇ
Zelio sam razumijeti srca ljudi.
ˇ
Zudio
sam znati zaˇsto zvijezde sjaje. I
pokuˇsao sam razumijeti pitagorejsku
mo´c po kojoj brojevi imaju mo´c nad
strujom (flux). Mali dio toga, ne
mnogo, ja sam i ostvario.
Bertrand Russell
Postoji cijeli niz praktiˇcnih problema, koji se mogu jednostavnije rijeˇsiti
upotrebom grafova. Grafovi ponekad prikazuju stvarne fiziˇcke mreˇze, kao
ˇsto su ceste, plinovodi i sliˇcno, ali i apstraktne objekte kao ˇsto su baze po-
dataka, tok raˇcunalnog programa, prikaz aktivnosti u projektu, itd. Grafovi
se primijenjuju i u znanstvenim i struˇcnim disciplinama u kojima ih ne
bi oˇcekivali. Spomenimo da se pomo´cu grafova prikazuju socijalni odnosi
i hijerarhija u organizaciji, hranidbeni lanci u bi-
ologiji, karte u kartografiji, zaduˇzenja zaposlenika
u poslovnoj organizaciji, ali i optimalna ˇsetnja
preko rijeˇcnih mostova. Podugaˇcki popis primjena
teorije grafova moˇze se na´ci u tablici [7], str. 527-
528.
Medutim dvije glavne aplikativne domene teorije
grafova su informatika u ˇsirem smislu i primi-
jenjena matematika, posebno kombinatorna opti-
mizacija.
Pristup teoriji grafova u literaturi varira od egzak-
tnog, koji se temelji na zaokruˇzenoj matematiˇckoj
Slika 5.1: Leonhard Euler
strukturi, do intuitivnog koji se uop´ce ne bavi matematiˇckom pozadinom,
ve´c samo primjenom na odredeni skup zanimljivih problema. Ovdje je iz-
abran srednji put, koji ´ce poˇstivati matematiˇcku utemeljenost teorije, ali se
191
192 5.1. DEFINICIJA GRAFA I OSNOVNA SVOJSTVA
ne´ce uvijek drˇzati strogog matematiˇckog formalizma kako bi ostavio prostora
za primjene grafova na probleme iz prakse.
5.1 Definicija grafa i osnovna svojstva
Veliki ˇsvicarski matematiˇcar Leonhard Euler (1707-1783) smatra se utemelji-
teljem teorije grafova. On je rijeˇsio do tada nerijeˇsen problem K¨onigsberˇskih
mostova. Evo prikaza tog problema.
Problem 5.1 (K¨onigsberˇski mostovi)
K¨onigsberg je u 18. stolje´cu bio grad u istoˇcnoj Prusiji (danas je to grad
Kalingrad u Rusiji) i kroz njega su prolazila dva rukavca rijeke Pregel (Slika
5.2), koja su okruˇzivala otoˇci´c Kneiphof. Na rijeci je bilo ukupno 7 mostova,
koji su povezivali 4 dijela grada odvojena rijekom. Problem glasi da li je
mogu´ce napraviti ˇsetnju gradom koja bi zapoˇcela na jednom dijelu grada,
obuhvatila svih sedam mostova toˇcno jedanput i zavrˇsila u poˇcetnoj toˇcki?
Slika 5.2
Euler je taj problem rijeˇsio tako da je prvo naˇcinio model, koji danas
nazivamo grafom. Dijelovi grada odvojeni vodom predstavljali su vrhove, a
mostovi bridove tog grafa. Problem se sada svodio na to da se poˇcevˇsi od
bio kojeg vrha prode kroz sve bridove toˇcno jedanput i vrati na poˇcetak.
Takvo se obilaˇzenje u teoriji grafova Euleru u ˇcast danas naziva Eulerova
staza.
POGLAVLJE 5. TEORIJA GRAFOVA 193
1 3
2
4
Slika 5.3
U naˇsim razmatranjima graf ´cemo promatrati kao matematiˇcku struk-
turu.
Teorija grafova je matematiˇcka disciplina koja prouˇcava zakonitosti na
grafovima. Definirajmo prvo graf matematiˇckom definicijom. Kod defini-
ranja novih pojmova u zagradama navest ´cemo engleske termine budu´ci da
je velik dio literature iz teorije grafova na engleskom jeziku, a hrvatski pri-
jevodi nisu standardizirani.
Definicija 5.1 Neusmjereni graf (eng. undirected graph) G je par (V, E),
pri ˇcemu je V skup vrhova (eng. vertices) grafa, a E ⊆ V V skup
neuredenih parova elemenata iz V , koji ˇcini skup bridova (eng. edges) grafa
G.
U ovoj ´cemo se knjizi baviti samo s konaˇcnim grafovima tj. grafovima
kod kojih je skup vrhova V neprazan konaˇcan skup i skup bridova E konaˇcan
skup. Dozvoljavamo da je skup bridova prazan skup i takav graf onda
zovemo nulgrafom (eng. null graph) ili praznim grfom. Dakle, nulgraf je
graf kod kojeg je skup bridova prazan skup. Neusmjereni graf ´cemo ˇcesto
jednostavno zvati grafom, a napomenut ´cemo posebno ako ´cemo raditi s
usmjerenim grafom.
Primjer 5.1 Neka je V = ¦1, 2, 3, 4¦ i E = ¦¦1, 2¦ , ¦1, 3¦ , ¦2, 3¦ , ¦3, 4¦¦.
Pripadni se graf moˇze prikazati na sljede´ci naˇcin. Sa slike je vidljivo da je
mogu´ce i drugaˇcije oznaˇcavanje bridova i da vrijedi 12 = a, 13 = d, 23 =
b, 34 = c.
194 5.1. DEFINICIJA GRAFA I OSNOVNA SVOJSTVA
1 3
2
4
a
b
c
d
Slika 5.4
Definicija 5.2 Za par vrhova u i v kaˇzemo da su susjedni (eng. adjacent)
ako postoji brid e, koji ih povezuje. Pri tome kaˇzemo da je brid e incidentan
(eng. incident) vrhovima u i v.
Primjer 5.2 Za vrhove 1 i 3 kaˇzemo da su susjedni , jer su povezani bridom.
Joˇs kaˇzemo i da su vrhovi 1 i 3 incidentni bridu d.
Bridovi e i f su susjedni ako imaju zajedniˇcki barem jedan vrh.
Definicija 5.3 Graf G je planaran (ravninski) graf ako se grafiˇcki moˇze
predoˇciti tako da se bridovi sijeku samo u vrhovima.
Brid koji je incidentan samo s jednim jedinim vrhom se zove petlja.
Graf G je konaˇcan ako su oba skupa V i E konaˇcni.
Graf je jednostavan ako nema petlje i ako ne postoje dva brida koji
spajaju isti par vrhova.
Ako drugaˇcije ne kaˇzemo, pod pojmom grafa podrazumijevat ´cemo je-
dnostavni graf, a kad govorimo o grafu koji moˇze sadrˇzavati petlje, govorit
´cemo o pseudografu.
Primjer 5.3 Na slici 5.5 prikazan je poznat Petersenov graf.
Primjetite da je ovdje problem kako nacrtati graf tako da se bridovi
sijeku samo u vrhovima. Petersenov graf je primjer grafa koji nije planaran.
Definicija 5.4 Jednostavni graf, u kojem je svaki par vrhova spojen jednim
bridom, zove se potpuni graf (eng. complete graph). Potluni graf s vrhova
oznaˇcavamo s K
n
.
POGLAVLJE 5. TEORIJA GRAFOVA 195
Slika 5.5
Primjer 5.4 Slijedi primjer potpunog grafa K
4
.
4 2
1
3
Slika 5.6
196 5.1. DEFINICIJA GRAFA I OSNOVNA SVOJSTVA
Definicija 5.5 Bipartitni graf (eng. bipartite graph) je graf za ˇciji skup
vrhova postoji particija V = ¦X, Y ¦ dva skupa X i Y , tako da svaki brid
ima jedan kraj u X, a drugi u Y .
Potpuni bipartitni graf (eng. complete bipartite graph) je bipartitni
graf kod kojeg je svaki vrh iz X spojen sa svakim vrhom u Y toˇcno jednim
bridom.
Iz prethodne definicije slijedi da je potpuni, odnosno potpuni bipartitni
graf u potpunosti odreden brojem svojih vrhova, odnosno brojem vrhova u
particiji skupa vrhova.
Primjer 5.5 Slijedi primjer potpunog bipartitnog grafa K
3,2
.
2
1
3
4
5
Slika 5.7
Zadatak 5.1 Nacrtajte grafove K
3
, K
5
, K
2,3
i K
3,3
.
Definicija 5.6 Stupanj (valencija) vrha v je broj d(v) bridova od G inci-
dentnih sa v.
Pri tome petlja u pseudografu doprinosi stupnju vrha kao dva brida, tj.
ako graf ima jednu petlju njegov stupanj podiˇzemo za 2.
Zadatak 5.2 Kolika je maksimalna valencija vrha mogu´ca u grafu s n
vrhova?
Teorem 5.1 Za jednostavni graf G = (V, E) vrijedi

v∈V
d(v) = 2,
gdje je broj bridova grafa G.
POGLAVLJE 5. TEORIJA GRAFOVA 197
Dokaz. U grafu bez petlji sumiranje stupnjeva grafa svodi se na prebro-
javanje bridova koji su incidentni svakom pojedinom vrhu. Pri tome svaki
brid brojimo dva puta, jer on spaja dva razliˇcita vrha.
Korolar 5.1 U svakom grafu broj vrhova neparnog stupnja je paran broj.
Dokaz. Primijetimo da je

v∈V
d(v) = 2
paran broj. Raspiˇsimo sumaciju

v∈V
d(v)
kao sumu po vrhovima parnog stupnja i vrhovima neparnog stupnja:

v∈V
d(v) =

v∈V
v je paran
d(v) +

v∈V
v je neparan
d(v).
Lijeva strana jednakosti i lijeva suma na desnoj strani su parni brojevi, pa
to mora biti i desna suma na desnoj strani. Kako su u

v∈V
v je neparan
d(v)
sumandi neparni brojevi, treba ih biti paran broj, kako bi suma bila paran
broj.
Prethodna se tvrdnja u literaturi moˇze na´ci pod nazivom Handshaking
lemma ili Lema o rukovanju. Razlog tom nazivu je to ˇsto se problem te
tvrdnje moˇze svesti na rjeˇsenje sljede´ceg problema: u danom skupu ljudi,
broj ljudi koji se rukuju s neparnim brojem drugih ljudi, je paran broj.
Zadatak 5.3 Provjerite prethodni korolar na ranije navedenim primjerima.
Zadatak 5.4 Nadite primjer grafa koji nije jednostavan, ima ˇcetiri vrha i
svi su vrhovi razliˇcitog stupnja.
5.2 Izomorfizam grafova
Definicija 5.7 Neka su G
1
i G
2
dva grafa i f funkcija ˇcija je domena skup
vrhova grafa G
1
, a kodomena skup vrhova grafa G
2
. Ako vrijedi
• f je bijekcija,
• f (v) je susjedan sa f (w) u G
2
ako i samo ako su v i w susjedni u G
1
,
198 5.2. IZOMORFIZAM GRAFOVA
onda za funkciju f kaˇzemo da je izomorfizam grafova G
1
i G
2
. Za grafove
G
1
i G
2
kaˇzemo da su izomorfni.
Dakle grafovi G
1
i G
2
su izomorfni ako postoji barem jedna bijekcija
izmedu njihovih vrhova sa svojstvom da ”ˇcuva” susjednost vrhova. Takve
grafove smatramo jednakima, jer se razlikuju samo u poloˇzaju vrhova.
Zadatak 5.5 Nacrtajte sve razliˇcite grafove s ˇcetiri vrha. Koliko ih ima?
Zadatak 5.6 Pokaˇzite da je izomorfizam grafova relacija ekvivalencije.
Iz ˇcinjenice da je izomorfizam grafova relacija ekvivalencije slijedi da
na skupu svih grafova postoji particija takva da su u pojedinom skupu te
particije samo oni grafovi koji su medusobno ekvivalentni, tj. izomorfni.
Sve grafove koji pripadaju pojedinom skupu iz particije moˇzemo identifici-
rati.Iako oni mogu reprezentirati razliˇcite objekte, sa apstraktnog stanoviˇsta
smatramo ih jednakima. Dakle, izomorfni grafovi imaju jednake osnovne
karakteristike, ˇsto kazuje sljede´ca propozicija.
Propozicija 5.1 Neka su G
1
i G
2
izomorfni grafovi. Tada G
1
i G
2
imaju
1. jednak broj vrhova,
2. jednak broj bridova,
3. jednake nizove stupnjeva vrhova,
Dokaz. Pretpostavka je da su G
1
i G
2
izomorfni grafovi, tj. da postoji
bijekcija f ˇcija je domena skup vrhova grafa G
1
, a kodomena skup vrhova
grafa G
2
. Znamo da ukoliko postoji bijekcija izmedu dva skupa oni su jed-
nakobrojni, pa vrijedi tvrdnja 1. Dokaˇzimo tvrdnju 3. Neka je v vrh u G
1
stupnja d i v
1
, v
2
, ..., v
d
vrhovi susjedni vrhu v. Sada, zbog drugog zahtjeva iz
definicije izomorfizma grafova, slijedi da je f (v) u grafu G
2
susjedan samo s
vrhovima f (v
1
) , f (v
2
) , ..., f (v
d
), pa je i stupanj vrha f (v) jednak d. Vrijedi
i obrat. Nadalje zbog Teorema 5.1 vrijedi tvrdnja 2.
Dokazati da su dva grafa izomorfna nije lagan zadatak, te je gornja
propozicija vrlo korisna budu´ci da ona za dva grafa kaˇze kad oni nisu izo-
morfni. Ipak, valja paziti ˇsto tvrdi propozicija: ako su dva grafa izomorfna,
tada oni imaju jednak broj vrhova, bridova, nizove stupnjeva, i joˇs neka
svojstva, koja ´cemo u nastavku prouˇcavati. No, ne vrijedi obratno. Naime,
ako dva grafa imaju jednak broj vrhova, bridova, nizove stupnjeva i broj
komponenata povezanosti to ne znaˇci da su oni izomorfni. Medutim, obrat
suprotne tvrdnje u propoziciji kaˇze da ako dva grafa imaju, na primjer,
razliˇciti broj vrhova, onda oni nisu izomorfni, itd.
Zadatak 5.7 Koji su od sljede´cih grafova izomorfni: K
3,4
, K
4,3
, K
7
, K
4
,
K
3,2
?
POGLAVLJE 5. TEORIJA GRAFOVA 199
Zadatak 5.8 Dokaˇzite da vrijedi K
m,n
· K
p,q
⇔¦m, n¦ = ¦p, q¦ .
5.3 Regularni grafovi
Primijetimo da u potpunom grafu svaki vrh ima isti stupanj. Prisjetimo
se Petersenovog grafa i uoˇcimo da svi vrhovi u tom grafu imaju jednake
stupnjeve. Koliki je taj stupnaj? Ispitajmo svojstva takvih grafova.
Definicija 5.8 Graf Gje regularan ako svi njegovi vrhovi imaju isti stupanj,
tj. d (v) = r, ∀v ∈ V (G). Za graf ˇciji su svi vrhovi stupnja r kaˇzemo da je
regularan reda r, r-regularan ili r-valentan.
Primjer 5.6 Kolika je suma stupnjeva svih vrhova kod r-regularnog grafa?
Iz definicije regularnog grafa slijedi da je

v∈V
d(v) =
n

i=1
r = nr.
Primjer 5.7 Koliko bridova ima r−regularan graf s n vrhova?
Iz Teorema 5.1 slijedi da je suma stupnjeva svih vrhova jednaka dvo-
strukom broju bridova, dakle 2ε. S druge strane, po prethodnom primjeru
je suma stupnjeva svih vrhova jednaka nr. Sada iz te jednakosti izlazi da u
tom grafu ima
nr
2
bridova.
Zadatak 5.9 Dokaˇzite sljede´ce tvrdnje o potpunim grafovima.
1. Potpuni graf K
n
je (n −1) −regularan.
2. Za potpuni graf K
n
suma svih stupnjeva je jednaka n(n −1) .
3. Za potpuni graf K
n
broj bridova je jednak
n(n−1)
2
.
4. K
4
je jedini potpuni 3-regularni (trovalentni) graf.
Primjer trovalentnog grafa je i poznati Petersenov graf .
Zadatak 5.10 Zadana je relacija ρ sa aρb ⇔a [ b na skupu
1. A = ¦1, 2, 3, 4, 5, 6¦ ,
2. B = ¦1, 2, 3, 5, 7¦ ,
3. C = ¦2, 5, 7, 9¦ .
(a) Ispiˇsite elemente relacije i prikaˇzite relaciju pomo´cu grafa.
(b) Da li je taj graf regularan? Kako to ovisi o skupu na kojem je
relacija [ zadana?
200 5.4.
ˇ
SETNJE I CIKLUSI U GRAFU
5.4
ˇ
Setnje i ciklusi u grafu
Mnogi stvarni problemi koje rjeˇsavamo uvodenjem modela grafova svode
se na nalaˇzenje putova unutar grafova (primjerice problem keningsberˇskih
mostova ili problem kineskog poˇstara). Stoga je znaˇcajno istraˇziti teorijske
preduvjete za postojanje takvih rjeˇsenja.
Definicija 5.9
ˇ
Setnja u grafu G je netrivijalni konaˇcan niz, ˇciji su ˇclanovi
naizmjenice vrhovi i bridovi. Vrhovi su na poˇcetku i kraju ˇsetnje. Vrhovi,
koji nisu na poˇcetku ili na kraju, zovu se unutarnji vrhovi. Duljina ˇsetnje
k je broj bridova u ˇsetnji. Ako su svi vrhovi u ˇsetnji medusobno razliˇciti,
ˇsetnju zovemo put.
Primjer 5.8 U grafu na slici prikazana je ˇsetnja 3d1a2, gdje je 3 poˇcetak
ˇsetnje i 2 kraj ˇsetnje. Duljina ˇsetnje je k=2. Istaknimo joˇs i ˇsetnju 3d1a2b3
koja sadrˇzi prethodnu ˇsetnju i koja nije put.
1 3
2
4
a
b
c
d
Slika 5.8
Definicija 5.10
ˇ
Setnja je zatvorena ako joj se podudaraju poˇcetak i kraj.
Definicija 5.11 Zatvorenu ˇsetnju kod koje su poˇcetak i unutraˇsnji vrhovi
razliˇciti, zovemo ciklus.
Ako ciklus ima r razliˇcitih bridova i r razliˇcitih vrhova, govorimo o cik-
lusu duljine r ili r−ciklusu.
Navedimo sada jedan vaˇzan teorem, koji daje karakterizaciju bipartitnog
grafa pomo´cu ciklusa.
Teorem 5.2 Graf G je bipartitan ako i samo ako G ne sadrˇzi cikluse ne-
parne duljine.
POGLAVLJE 5. TEORIJA GRAFOVA 201
Ovaj teorem ne´cemo dokazivati, a njegov se dokaz moˇze na´ci u [1], str.
190.
Ve´c smo spopmenuli da je pseudograf graf koji moˇze sadrˇzavati petlje i
viˇsestruke bridove.
Definicija 5.12 Pseudograf je povezan ako i samo ako postoji ˇsetnja izme-
du bilo koja dva njegova vrha.
Piˇsemo v
1
∼ v
2
ako postoji ˇsetnja u grafu koja povezuje vrhove v
1
i v
2
.
Zadatak 5.11 Pokaˇzite da je ∼ relacija ekvivalencije na skupu V svih
vrhova grafa G.
Budu´ci da je ∼ relacija ekvivalencije na skupu V svih vrhova grafa G, na
skupu V postoji particija tog skupa na disjunktne, neprazne podskupove -
klase. Svaki vrh pripada toˇcno jednoj klasi. Svi vrhovi koji pripadaju jednoj
klasi medusobno su povezani.
Definicija 5.13 Neka je G(V, E) graf s pripadaju´com particijom s obzirom
na relaciju ∼, danom s
V = V
1
∪ V
2
∪ ... ∪ V
r
.
Oznaˇcimo s E
i
(1 ≤ i ≤ r) podskup od E ˇciji bridovi imaju vrhove u V
i
.
Grafovi G
i
(V
i
, E
i
) se zovu komponente povezanosti od G. Ako graf ima
samo jednu komponentu povezanosti, onda je on povezan.
Navedimo joˇs jedno svojstvo koje imaju izomorfni grafovi.
Propozicija 5.2 Neka su G
1
i G
2
izomorfni grafovi. Tada G
1
i G
2
imaju
jedanak broj komponenata povezanosti.
Dokaz. Tvrdnju ´cemo dokazati metodom suprotnog. Uzmimo da graf
G
1
ima viˇse komponenata povezanosti od grafa G
2
. To znaˇci da postoje
vrhovi koji nisu susjedni u G
1
, a susjedni su u G
2
. Pretpostavimo da dva
vrha v
1
i v
2
nisu susjedni u grafu G
1
, ali su f (v
1
) i f (v
2
) susjedni u grafu
G
2
. To je u kontradikciji s drugim zahtjevom iz definicije izomorfizma.
5.4.1 Eulerova staza
Ova ´ce toˇcka produbiti i proˇsiriti problem keningsberˇskih mostova, iz kojeg
je izrasla teorija grafova.
Definicija 5.14 Staza je ˇsetnja u kojoj su svi bridovi razliˇciti.
Eulerova staza (eng. Euler trail) je staza koja prolazi svakim bridom od
G.
202 5.4.
ˇ
SETNJE I CIKLUSI U GRAFU
Problem keningsberˇskih mostova svodi se na pitanje postoji li Eulerova
staza na grafu? Budu´ci da je Euler prvi prouˇcavao taj problem, njemu u
ˇcast, te su posebne staze dobile ime. On je uvidio da ako su a i b dva razliˇcita
vrha, tada je nuˇzan uvjet za postojanje Eulerove staze, koja poˇcinje u a i
zavrˇsava u b, da vrhovi a i b imaju neparni stupanj, a da su ostali vrhovi
parnog stupnja. Ako je a = b tada svi vrhovi trebaju biti parnog stupnja.
Dakle, nuˇzan uvjet za postojanje Eulerove staze u grafu je da graf ima
najviˇse dva vrha neparnog stupnja. Pokazuje se da je to ujedno i dovoljan
uvjet. Euler je 1736. godine utvrdio da graf keningsberˇskih mostova nema
Eulerove staze.
Teorem 5.3 Povezani pseudograf ima Eulerovu stazu ako i samo ako ima
najviˇse dva vrha neparnog stupnja.
Dokaz teorema daje ujedno i algoritam za nalaˇzenje Eulerove ture u
grafu.
Eulerova tura (eng. Euler tour or Euler circuit) je zatvorena Eulerova
staza. Eulerova tura u pseudografu G je tura koja sadrˇzi svaki brid i svaki
vrh grafa. Graf je Eulerov ako dopuˇsta Eulerovu turu.
Teorem 5.4 (Eulerov teorem) Neprazni povezani graf je Eulerov ako i
samo ako su mu svi vrhovi parnog stupnja.
Dokaz. Ve´c je Euler dokazao da ako Eulerova tura postoji, onda u svaki
vrh u koji se ude mora biti mogu´ce i iza´ci ˇsto znaˇci da su stupnjevi bridova
parni brojevi. Pretpostavimo sada da je pseudograf povezan i svi su vrhovi
parnog stupnja i pokaˇzimo da je graf Eulerov. Neka je v vrh u grafu. Ako
vrh ima petlji, treba slijediti svaku petlju bez ponavljanja. Budu´ci da je
broj vrhova u grafu barem 2, postoji barem joˇs jedan vrh v
1
, pa poveˇzemo
v i v
1
. U v
1
prvo obidemo sve petlje, a onda se pomaknemo u sljede´ci vrh
v
2
(ako postoji). Kad god dodemo u novi vrh, prvo obidemo sve petlje, a
onda izademo iz vrha. Uvijek je mogu´ce iza´ci iz vrha u koji smo uˇsli, jer
je stupanj svakog vrha paran broj. Joˇs se moramo uvjeriti da se moˇzemo
vratiti u vrh v. Uzmimo da smo zaokruˇzili turu C
1
, tj. vratili smo se prvi
puta u v. Ako smo pri tome obiˇsli sve bridove, posao je zavrˇsen. Ako to nije
sluˇcaj, tj. tura C
1
nije Eulerova, izbacimo iz grafa sve bridove iz C
1
te one
vrhove iz C
1
, koji su izbacivanjem bridova ostali izolirani. Promatramo graf
G
1
= G¸ C
1
i ponavljamo postupak. Budu´ci da je G povezan onda G
1
i C
1
imaju barem jedan zajedniˇcki vrh u. Krenuvˇsi iz vrha u pronalazimo novu
turu C u G
1
i kombiniramo je s prethodnom turom, tako da krenemo iz v,
a kad dodemo do vrha u nastavimo dalje turom C dok se ne vratimo u u,
a tada nastavimo dalje u turi C
1
. Tako smo dobili turu C
2
, koja ima viˇse
ukljuˇcenih bridova od C
1
. Postupak nastavljamo dok ne iscrpimo sve vrhove
i bridove iz konaˇcnog grafa G.
POGLAVLJE 5. TEORIJA GRAFOVA 203
Euler je u prethodnom teoremu dokazao samo jedan smjer. Tvrdnju da
je pseudograf Eulerov ako su mu svi vrhovi parnog stupnja, dokazao je Carl
Hierholzer 1873. godine.
Korolar 5.2 Povezani graf ima Eulerovu stazu ako i samo ako ima najviˇse
dva vrha neparnog stupnja. Ako ima toˇcno dva vrha neparnog stupnja, onda
Eulerova staza mora poˇceti i zavrˇsiti u tim vrhovima.
Dokaz. Prema Eulerovom teoremu graf nema vrhova neparnog stupnja
ako i samo ako dopuˇsta Eulerovu turu. Dakle, pretpostavimo da graf G ima
vrhove neparnog stupnja.
Pretpostavimo da graf G = (V, E) ima Eulerovu stazu koja nije zatvo-
rena. Unutraˇsnji vrhovi staze su uvijek incidentni s dva brida, pa krajnji
vrhovi staze imaju neparne stupnjeve, a svi ostali vrhovi imaju parne stup-
njeve.
S druge strane, znamo da je broj vrhova neparnog stupnja paran broj.
Dakle,u grafu ne moˇze biti samo jedan vrh neparnog stupnja koji ima Eule-
rovu stazu.
Neka su sada v
i
i v
j
jedina dva vrha u G koji imaju neparan stupanj.
Promotrimo dva sluˇcaja.
Prvi sluˇcaj: vrhovi v
i
i v
j
nisu susjedni. Dodamo li njihovu spojnicu,
brid e
ij
, u skup svih bridova u grafu G, tada ´ce tako uve´cani graf imati sve
vrhove parnog stupnja i dopuˇstat ´ce Eulerovu turu. Brisanjem brida e
ij
iz
Eulerove ture dobit ´cemo Eulerovu stazu koja poˇcinje u v
i
i zavrˇsava u v
j
ili obrnuto.
Drugi sluˇcaj: vrhovi v
i
i v
j
jesu susjedni. Sada skupu vrhova od G
dodamo novi vrh v
n
, za koji vrijedi da ga brid e
ni
veˇze s vrhom v
i
, a brid
e
nj
s v
j
. Pri tome smo skup bridova E od G uve´cali za dva brida e
ni
i
e
nj
. Sada su u uve´canom grafu svi vrhovi parnog stupnja, pa graf dopuˇsta
zatvorenu Eulerovu stazu. Brisanjem vrha v
n
i bridova e
ni
i e
nj
iz G u G
ostaje Eulerova staza kojoj su vrhovi v
i
i v
j
krajnje toˇcke.
Naglasimo da Eulerov teorem i gornji korolar vrijede i u grafu koji sadrˇzi
viˇsestruke bridove, tzv. pseudografu.
Postoji algoritam za traˇzenje Eulerove staze u grafu. Algoritam je pro-
naˇsao Edouard Lucas (1842-1891), ali ga je posvetio M. Fleuryju, pa ga
zovemo Fleuryjev algoritam. Algoritam se temelji na brisanju onih bridova
iz grafa koji ne utjeˇcu na povezanost grafa (do kada je to mogu´ce).
Brid e
ij
je most (engl. bridge) u G ako njegovo brisanje daje podgraf od
G s viˇse komponenti povezanosti.
Algoritam 5.1 (Fleuryjev algoritam)
ULAZ: Povezani graf G = (V, E) ˇciji su svi bridovi parnog stupnja.
IZLAZ: Eulerova tura u G.
1. Izaberi bilo koji vrh v
0
∈ V . Stavi T
0
= (v
0
) i G
0
= G = (V, E).
204 5.5. MATRICA INCIDENCIJE I MATRICA SUSJEDSTVA
2. k := 0.
3. Neka je T
k
= (v
0
, . . . , v
k
). Iz G
k
treba izabrati brid koji je incidentan
s v
k
i to tako da biramo most ako i samo ako nemamo drugog izbora.
Oznaˇcimo drugi kraj izabranog brida s v
k+1
.
4. Graf G
k+1
se dobija iz G
k
brisanjem brida e
k,k+1
, tj. G
k+1
= (V, E
k+1
)
pri ˇcemu je E
k+1
= E
k
¸¦e
k,k+1
¦).
5. Ako G
k+1
nije nulgraf, stavi k := k + 1 i idi na korak 3. Ako je G
k+1
nullgraf, onda je T
k+1
Eulerova tura.
Zadatak 5.12 Pokaˇzite da je Fleuryjev algoritam korektan i pronadite mu
sloˇzenost.
Zadatak 5.13 Nadite uvjete pod kojima su potpuni grafovi i potpuni bi-
partitni grafovi Eulerovi.
5.5 Matrica incidencije i matrica susjedstva
Ovdje ´cemo pokazati kako se graf moˇze zapisati pomo´cu matrica. To je
mogu´ce uˇciniti na najmanje dva naˇcina: u prvom sluˇcaju opisujemo u ma-
trici jesu li vrhovi i bridovi incidentni (matrica incidencije), a u drugom jesu
li dva vrha spojena bridom (matrica susjedstva).
Definicija 5.15 Neka je G graf sa skupom vrhova ¦v
1
, v
2
, .., v
n
¦ . Za svaki
i i j , (1 ≤ i, j ≤ n) definiramo da je a
ij
jednak broju bridova koji povezuju
v
i
i v
j
. Matrica susjedstva od G je kvadratna matrica reda n dana sa
A = [a
ij
] .
Ako graf nema petlji ni viˇsestrukih bridova, onda su elementi matrice
susjedstva nule i jedinice.
Definicija 5.16 Neka je G graf sa skupom vrhova ¦v
1
, . . . , v
n
¦ i sa skupom
bridova ¦e
1
, . . . , e
m
¦. Za svaki i, j (1 ≤ i ≤ n i 1 ≤ j ≤ m) definiramo
b
ij
=
_
1 ako je v
i
incidentan s e
j
0 inaˇce
Matricu B = [b
ij
] zovemo matricom incidencije i ona jew tipa (n, m).
Primjer 5.9 Napiˇsimo matricu susjedstva za graf na slici.
POGLAVLJE 5. TEORIJA GRAFOVA 205
1 3
2
4
a
b
c
d
Slika 5.9
Matricu susjedstva formiramo na sljede´ci naˇcin:
1 2 3 4
1 0 0 1 1
2 0 0 1 0
3 1 0 0 1
4 1 0 1 0
Matrica susjedstva: A =
_
¸
¸
_
0 0 1 1
0 0 1 0
1 0 0 1
1 0 1 0
_
¸
¸
_
Matrica incidencije M:
a b c d
1 0 0 1 1
2 1 0 0 0
3 1 1 0 1
4 0 1 1 0
Nabrojimo neka svojstva matrice susjedstva.
Propozicija 5.3 Neka je G jednostavan graf s n vrhova. Vrijedi:
1. a
ii
= 0, tj. na dijagonali matrice susjedstva nalaze se nule,
2. a
ij
= a
ji
, tj. matrica susjedstva je simetriˇcna matrica.
3. Oznaˇcimo li s Deg(v) broj jedinica u i-tom redu, onda je taj broj
jednak broju jedinica u i−tom stupcu.
4. (i, j) mjesto u A
2
predstavlja broj ˇsetnji od i do j duljine 2.
206 5.5. MATRICA INCIDENCIJE I MATRICA SUSJEDSTVA
5. (i, j) mjesto u A
n
predstavlja broj ˇsetnji od i do j koje ukljuˇcuju n
bridova.
Dokaz. Neka je A = [a
ij
] matrica susjedstva grafa G koji ima n vrhova.
1. Budu´ci da je G jednostavan graf pa ne sadrˇzi petlje, na dijagonali su
uvijek nule.
2. Ako je v
1
susjedan vrhu v
2
tada je i vrh v
2
susjedan vrhu v
1
, pa je
matrica A simetriˇcna. Vrijedi i obrat. Dakle, simetriˇcne matrice, ˇciji
su elementi nule i jedinice, i imaju nule na glavnoj dijagonali, mogu
se smatrati matricama incidencije nekog jednostavnog grafa.
3. Svojstvo je posljedica ˇcinjenice da je matrica A simetriˇcna.
4. Svojstvo je posljedica definicije mnoˇzenja matrica. Naime, mjesto b
ij
u matrici
A
2
= [b
ij
]
dobijemo kao
b
ij
=
n

k=1
a
ik
a
kj
.
U sumi su samo oni produkti razliˇciti od nule kod kojih je a
ik
= 1
i a
kj
= 1, tj. samo oni kod kojih postoji ˇsetnja izmedu ta dva vrha
preko vrha v
k
. To su, dakle, ˇsetnje koje ukljuˇcuju vrhove v
i
, v
k
, v
j
, pa
su duljine 2.
5. Dokaz se provodi matematiˇckom indukcijom. Baza indukcije dokazana
je u prethodnoj toˇcki dokaza. Da bi proveli korak indukcije pret-
postavimo da (i, j) mjesto u A
n−1
predstavlja broj ˇsetnji od i do j
duljine n−1. Trebamo pokazati da (i, j) mjesto u A
n
predstavlja broj
ˇsetnji od i do j, koje ukljuˇcuju n bridova. Taj postupak je jednak
onome iz prethodne toˇcke dokaza.
Korolar 5.3 Postoji bijekcija izmedu skupa svih jednostavnih grafova i
simetriˇcnih matrica, ˇciji su elementi nule i jedinice i koje imaju nule na
glavnoj dijagonali.
Zadatak 5.14 Zadana je matrica
A =
_
¸
¸
_
0 1 1 1
1 0 1 0
1 1 1 0
1 0 0 0
_
¸
¸
_
.
POGLAVLJE 5. TEORIJA GRAFOVA 207
1. Moˇze li matrica A biti matrica susjedstva nekog jednostavnog grafa ili
pseudografa?
2. Nacrtajte jedan takav graf, odnosno pseudograf.
3. Koliko ima ˇsetnji duljine 2 izmedu vrhova v
1
i v
2
?
4. Koliko ima ˇsetnji duljine 3 izmedu vrhova v
1
i v
2
?
Teorem 5.5 Grafovi G
1
i G
2
su izomorfni ako i samo ako se njihovi vrhovi
mogu oznaˇciti tako da su im jednake matrice susjedstva.
Definicija 5.17 Matrica permutacija P je matrica ˇciji su redovi permuti-
rani redovi jediniˇcne matrice.
Teorem 5.6 Dva su grafa s pripadnim matricama susjedstva A i B izo-
morfna ako i samo ako je B = PAP
T
za neku matricu permutacija P.
Zadatak 5.15 Zadana je matrica susjedstva
A =
_
¸
¸
_
1 2 1 0
2 0 1 0
1 1 0 0
0 0 0 0
_
¸
¸
_
na grafu ˇciji su vrhovi dani sa V = ¦v
1
, v
2
, v
3
, v
4
¦ .
1. Ima li petlji u grafu? Da li je graf jednostavan?
2. Ima li izoliranih vrhova u grafu?
3. Izraˇcunajte stupnjeve svih vrhova.
4. Skicirajte graf.
5. Izraˇcunajte A
2
, te odredite broj bridova duljine 2 koji spajaju vrhove
v
i
i v
j
.
6. Izraˇcunajte A
3
, te odredite broj bridova duljine 3 koji spajaju vrhove
v
i
i v
j
.
Zadatak 5.16 Zadani su grafovi G i H. Graf G ima skup vrhova ¦1, 2, 3, 4¦ ,
a graf H skup vrhova ¦a, b, c, d¦ . Njihove matrice susjedstva su
A =
_
¸
¸
_
1 2 1 1
2 0 1 1
1 1 0 3
1 1 3 1
_
¸
¸
_
, B =
_
¸
¸
_
1 3 1 1
3 0 1 1
1 1 1 2
1 1 2 0
_
¸
¸
_
.
208 5.6. HAMILTONOVI CIKLUSI
1. Nacrtajte grafove G i H.
2.
ˇ
Sto primje´cujete?
3. Odredite preslikavanje vrhova koje vodi do izomorfizma.
4. Odredite preslikavanje bridova koje vodi do izomorfizma.
5. Postoji li matrica P takva da je B = PAP
T
?
6. Kako se formira matrica P?
5.6 Hamiltonovi ciklusi
U Eulerovoj turi putuje se svakim bridom grafa jedanput, da bi se na kraju
vratili odakle smo krenuli. Ovdje ´cemo prikazati komplementarni problem
tako da traˇzimo ciklus u grafu koji prolazi svim vrhovima samo jedanput.
Taj je problem 1956. godine posebno razmatrao poznati irski matematiˇcar
William R. Hamilton (1805-1865).
Definicija 5.18 Hamiltonov put na G je put koji sadrˇzi sve vrhove od G.
Hamiltonov ciklus (eng. Hamilton circuit, cycles) na G je ciklus koji
sadrˇzi sve vrhove od G.
Graf G je Hamiltonov ako sadrˇzi Hamiltonov ciklus.
Za razliku od Eulerovog grafa, joˇs je uvijek otvoreni problem karak-
terizacije Hamiltonovog grafa, tj. nalaˇzenja nuˇznog i dovoljnog uvjeta da
(netrivijalni) graf bude Hamiltonov. Oˇcito je da je jedan od nuˇznih uvjeta
da bi graf bio Hamiltonov, da je povezan. Postoji dosta parcijalnih razultata
koji doprinose mogu´cem rjeˇsenju najpoznatijeg problema iz teorije grafova.
Evo jednog od tih rezultata.
Propozicija 5.4 (Dirac, 1952) Ako je G povezan (jednostavni) graf u ko-
jem je broj vrhova n ve´ci od 3 (n ≥ 3) i stupanj svakog vrha d (v) ≥
n
2
tada
je G Hamiltonov graf.
Dokaz. Pretpostavimo da je put P : v
1
v
2
...v
r
najdulji put u G, tj. put
koji prolazi najve´cim brojem vrhova grafa. Svaka ˇsetnja u G, koja je dulja
od P, prolazi nekim izmedu gornjih r vrhova barem dva puta. Neka je u vrh
povezan sa v
1
, koji nije u P. Tada ˇsetnja uv
1
v
2
...v
r
ne prolazi nekim vrhom
iz P dva puta i dulja je od puta P, ˇsto je u kontradikciji s pretpostavkom,
pa je svaki vrh koji je povezan sa v
1
u P. Sliˇcnim naˇcinom pokazujemo da su
svi vrhovi susjedni vrhu v
r
takoder u P. Budu´ci da znamo da je d (v
1
) ≥
n
2
,
pa ako brojimo i vrh v
1
imamo r ≥
n
2
+ 1. Pretpostavili smo da je n ≥ 3 i
znamo da je r prirodan broj, pa slijedi r ≥ 3.
Sada tvrdimo da postoji par vrhova v
k
, v
k+1
u P takvih da je jedan od
njih, uzmimo da je to v
k
, povezan sa v
r
, a v
k+1
, povezan sa v
1
.
POGLAVLJE 5. TEORIJA GRAFOVA 209
Da bi dokazali tu tvrdnju pretpostavimo suprotno, tj. da svaki vrh u
P susjedan vrhu v
1
ima prethodnika koji nije susjedan vrhu v
r
. Znamo da
su svi vrhovi v
2
, ..., v
r
medusobno razliˇciti, pa postoji najmanje
n
2
vrha u G
koji nisu susjedni vrhu v
r
. Kad njima pribrojimo vrhove koji jesu susjedni
vrhu v
r
, tih je vrhova najmanje n. Dodamo li tome i vrh v
r
, u grafu bi imali
viˇse od n vrhova, ˇsto je kontradikcija.
Sada zakljuˇcujemo da put P sadrˇzi ciklus C : v
1
v
k+1
v
k+2
...v
r
v
k
v
k+1
...v
1
.
Preostaje nam dokazati da C sadrˇzi sve vrhove iz G. Znamo da C ima
najmanje
n
2
+ 1 vrhova pa postoji manje od
n
2
vrhova koji nisu u C. Vrh
u koji nije u C mora biti susjedan nekom vrhu v
p
u C. No, tada bi put P

kojem bi dodali i vrh u bio duˇzi od puta P, ˇsto dovodi do kontradikcije.
Uoˇcite da u prethodnoj propoziciji vrijedi samo jedan smjer. Znaˇci,
postoje Hamiltonovi grafovi za koje ne vrijedi da je d (v) ≥
n
2
.
Zadatak 5.17 Nadite primjer grafa za koji je d (v) ≥
n−1
2
, a da nije Ha-
miltonov, tj. da ne vrijedi Diracov teorem.
Zadatak 5.18 Pokaˇzite da su pojmovi Eulerov grafi Hamiltonov graf neza-
visni, tj. ako je graf Eulerov moˇze i ne mora biti Hamiltonov i obrnuto.
5.7 Teˇzinski grafovi. Algoritmi najkra´ceg puta
Cilj ove toˇcke je definirati i teorijski istraˇziti teˇzinske grafove, ali i povezati
dobivene rezultate s praktiˇcnim problemima i naznaˇciti njihove primjene.
Istaknimo na poˇcetku da je glavna domena primjene teˇzinskih grafova na
probleme optimizacije. U tu svrhu poˇcinjemo motiviraju´cim problemom
trgovaˇckog putnika.
Problem 5.2 (Problem trgovaˇckog putnika)
Trgovaˇcki putnik treba obi´ci odredene gradove i vratiti se na polaziˇste.
Ako je dano vrijeme putovanja izmedu gradova, kako treba putovati tako da
se svaki grad obide samo jedanput i da na putu provede ˇsto kra´ce vrijeme?
Da bismo rijeˇsili probleme sliˇcne problemu trgovaˇckog putnika, proma-
tramo grafove ˇciji su bridovi ”oteˇzani”, tj. bridovima su pridruˇzene teˇzine
koje mogu oznaˇcavati udaljenost u kilometrima, vrijeme provedeno na putu
u satima, cijenu goriva u kunama. itd. Zadatak je u takvim primjerima
prona´ci u potpunom teˇzinskom grafu, Hamiltonov ciklus najmanje teˇzine,
tzv. optimalni ciklus. Nije poznat efikasni algoritam (koji se izvrˇsava u poli-
nomnom vremenu) za rjeˇsavanje tog problema, tzv. NP-potpuni problem.
Medutim, neki drugi problemi, sliˇcni problemu trgovaˇckog putnika, ipak se
daju rijeˇsiti u polinomnom vremenu. Takav je i sljede´ci problem najkra´ceg
puta u ˇzeljezniˇckoj mreˇzi.
210 5.7. TE
ˇ
ZINSKI GRAFOVI. ALGORITMI NAJKRA
´
CEG PUTA
Problem 5.3 U danoj ˇzeljezniˇckoj mreˇzi kojom su povezani neki gradovi,
treba odrediti najkra´cu rutu izmedu dva zadana grada iz te mreˇze.
Definicija 5.19 Teˇzinski (weighted) graf je graf G ˇcijem je svakom bridu
e pridruˇzen nenegativni broj w(e), kojeg zovemo teˇzinom brida e.
Teˇzine bridova u problemu 5.3 predstavljaju duljine pruge izmedu dva
grada.
Teˇzina podgrafa grafa G je suma teˇzina svih bridova u grafu. Najkra´cim
putem izmedu dva vrha u teˇzinskom grafu smatramo put najmanje teˇzine.
5.7.1 Dijkstrin algoritam
Postoji dosta algoritama koji sluˇze za pronalaˇzenje najkra´ceg puta u teˇzin-
skom grafu, a najpoznatiji medu njima je Dijkstrin algoritam otkriven 1959.
Otkrio ga je nizozemac Edsger Dijkstra (1930 - 2002.), vode´ci informatiˇcar
danaˇsnjice, koji je izmislio veliki broj algoritama na grafovima. Dijkstrin
algoritam pronalazi najkra´ci put ili signalizira da on ne postoji.
On otkriva najkra´ci put iz odredenog vrha (koji je izabran da bude
poˇcetni vrh) do krajnjeg vrha, koji je cilj.
Uz ”osnovni” Dijkstrin algoritam postoji joˇs i takozvani poboljˇsani
Dijkstrin algoritam (engl. improved), koji takoder rjeˇsava problem najkra´ceg
puta u teˇzinskom grafu (vrhovi imaju znak beskonaˇcno (∞) kao trenutnu
oznaku u tijeku raˇcunanja).
Ideja algoritma je sljede´ca: oznaˇcavamo svaki vrh oznakom (label) naj-
kra´ceg puta od poˇcetne toˇcke (izvora) do tog vrha.
Privremena oznaka se mijenja kad god je naden kra´ci put od izvora do
tog vrha. Kad smo sigurni da nema kra´ceg puta, vrhu pridruˇzujemo trajnu
oznaku. Evo procedure algoritma:
Algoritam 5.2 (poboljˇsani Dijkstrin algoritam)
ULAZ: Graf G = (V, E) i dva vrha u, v ∈ V .
IZLAZ: Najkra´ci put od vrha u do vrha v
1. Oznaˇcite poˇcetni vrh (izvor) sa (-,0).
2. Promatrajte vrh X kojemu je posljednjem dodijeljena trajna oznaka
D (engl. permanent label). Promatraj sve susjedne vrhove od X,
kojima joˇs nije pridruˇzena trajna oznaka. Za takav vrh Y, privremena
vrijednost (oznaka) bit ´ce manja od dviju vrijednosti: D+(teˇzina luka
XY) i postoje´ce privremene oznake (ukoliko postoji).
3. Uoˇcite najmanju privremenu oznaku na grafu i uˇcini je trajnom (uo-
kvirite je).
POGLAVLJE 5. TEORIJA GRAFOVA 211
4. Ponavljajte korake 2 i 3 dok krajnja toˇcka (cilj) ne dobije trajnu oz-
naku.
5. Krenite unatrag po grafu i oznaˇcite put minimalne teˇzine, od cilja
(ponora) prema poˇcetku.
Zadatak 5.19 Broje´ci osnove operacije zbrajanja i usporedivanja u Dijk-
strinom algoritmu pokaˇzite da je sloˇzenost Dijkstrinog algoritma jednaka
f(n) =
2
3
n
2

5
2
n + 1.
Dakle, O(n
2
) je gornja meda.
Uz Dijkstrin algoritam, za traˇzenje najkra´ceg puta priliˇcno je popularan
i Floyd-Warshallov algoritam. U ve´cini odredenih aplikacija, ovaj je algo-
ritam brˇzi od Dijkstrinog algoritma. Jedna od prednosti ovog algoritma
je njegova sposobnost lakog prilagodavanja, ukoliko dode do promjene vri-
jednosti teˇzina bridova. Naime, tada je dovoljno promijeniti parametre u
matrici, koja sadrˇzi teˇzine bridova, a daljnji postupak ostaje isti.
Sloˇzenost Floyd-Warshallovog algoritama je O(n
3
), kao i sloˇzenost os-
novne verzije Dijkstrinog algoritma.
Zadatak 5.20 Upotrebom Dijkstrinog algoritma nadite najkra´ci put od A
do K na grafu na sljede´coj slici:
P
(-,0)
B
C
A
E
D
K
(P,3)
2
3
4
5
3
(P,2)
(P,4)
(P,8)
6
5
3
9
(A,7)
(B,8)
(E,12)
(A,13)
3
5
Slika 5.10
Vidimo da je najkra´ci put od P do K, put PAEK duljine 12.
212 5.7. TE
ˇ
ZINSKI GRAFOVI. ALGORITMI NAJKRA
´
CEG PUTA
5.7.2 Problem kineskog poˇstara
U ovoj toˇcki razmotrit ´cemo primjene traˇzenja Eulerove staze i ture u grafu
na rjeˇsavanje problema kineskog poˇstara.
Problem 5.4 (Problem kineskog poˇstara)
Poˇstar uzima poˇstu u poˇstanskom uredu, dijeli je i vra´ca se u ured. Kod
dijeljenja poˇste svakom ulicom treba pro´ci barem jednom. Naravno da pri
tome ˇzeli prije´ci ˇsto manju udaljenost.
Problem je dobio ime po tome ˇsto ga je 1962. godine op´cenito obra-
dio i prouˇcio kineski matematiˇcar Mei-ko Kwan. Prvo rjeˇsenje specijalnog
sluˇcaja tog problema dao je H. E. Dudeney 1917. godine. U ovom problemu
ulice predstavljaju bridove, a raskrˇs´ca vrhove grafa. Dakle, dan je teˇzinski
povezani graf i traˇzi se najkra´ca zatvorena ˇsetnja, koja pokriva sve bridove
barem jednom.
Ako je G Eulerov graf, svaka je tura na G optimalna, jer Eulerova tura
prijede svaki brid samo jednom.
U teˇzinskom je grafu teˇzina ture suma teˇzina svih bridova u turi.
Problem kineskog poˇstara sastoji se u pronalaˇzenju ture najmanje teˇzine
u povezanom teˇzinskom grafu s pozitivnim teˇzinama. Takvu turu zovemo
optimalna tura.
Problem je teˇzi ako graf nije Eulerov, tj. ako postoje vrhovi neparnog
stupnja. Kwan je predloˇzio da se rjeˇsenje dobije tako da se od originalnog
grafa prijede na pseudograf na kojem je Eulerova tura mogu´ca, udvostruˇca-
vanjem odredenih bridova originalnog grafa. Cilj je na´ci bridove koje treba
udvostruˇciti, ali tako da se dobije optimalna tura. Udvostruˇcene bridove
zapravo treba pro´ci dva puta u traˇzenoj Eulerovoj turi.
Spomenimo da postoji algoritam koji traˇzi optimalnu turu i koji se izvodi
u polinomnom vremenu.
Upotrijebimo Fleuryjev algoritam za pronalaˇzenje Eulerove ture u neu-
smjerenom grafu.
Evo algoritma koji koristi Kwanovu ideju da ”eulerizira” graf.
Algoritam 5.3
ULAZ: Graf G = (V, E).
IZLAZ: Pseudograf G

= (V, E

)
1. Nadimo sve vrhove neparnog stupnja u grafu G.
2. Za svaki par vrhova neparnog stupnja nadimo put minimalne teˇzine,
koji ih povezuje.
3. Uparimo sve takve parove na naˇcin da suma teˇzina puteva iz koraka 2
bude minimalna.
POGLAVLJE 5. TEORIJA GRAFOVA 213
4. U originalnom grafu, udvostruˇcimo puteve minimalne teˇzine nadene u
koraku 3, tako da sada dobiveni graf nema vrhova neparnog stupnja.
5. Nadimo turu koja spaja svaki brid novog (Eulerovog) pseudografa.
Algoritam podrazumijeva da originalni graf ima paran broj vrhova ne-
parnog reda. To je istina za svaki graf (

v∈V
d(v) = 2).
Ukoliko se radi o grafu s velikim brojem vrhova (primjer londonske
podzemne ˇzeljeznice), ovaj algoritam zahtjeva mnogo vremena.
Primjer 5.10 Nadite zatvorenu minimalnu turu koja sadrˇzi sve bridove
danog grafa.
A
D C
B
E 7
4
2
8
6
5
3
9
Slika 5.11
1. Neparni vrhovi: A, B, C i D
2. Minimalne teˇzine puteva koji spajaju pojedine vrhove: AB 8, BC 8,
AC 7, BD 7, AD 6, CD 5.
3. AB+CD 13; AC+BD 14; AD+BC 14
4. Ubacimo bridove AB i CD, koje ´ce optimalna Eulerova tura prelaziti
dva puta.
5. Eulerova tura minimalne teˇzine je na primjer ABAEBCECDEDA.
Teˇzina ture = duljina svih ulica + duljina ulica koje se ponavljaju =
44+13=57
214 5.8. STABLA
Pokazuje se da minimalna tura nikad ne prolazi bilo kojim bridom viˇse
od dva puta (algoritam najviˇse udvostruˇcuje brid).
Nekoliko godina nakon Kwanovog problema kineskog poˇstara u literaturi
se pojavio sliˇcan problem koji se tumaˇci na usmjernom grafu (bridovi imaju
naznaˇcene smjerove). Problem je nazvan problemom ˇcistaˇca ulica u New
Yorku, jer je opisivao situaciju s kojom se suoˇcavaju ˇcistaˇci ulica u New
Yorku, koje su uglavnom jednosmjerne.
Na kraju ponovimo uvjete pod kojima neusmjereni graf ima Eulerovu
turu ili stazu i istaknimo uvjete koji moraju zadovoljiti usmjereni graf da bi
imao Eulerovu turu i stazu.
Neusmjereni graf ima Eulerovu turu ako i samo ako je povezan i svaki
vrh je parnog stupnja.
Neusmjeren graf sadrˇzi Eulerovu stazu ako i samo ako je povezan i ako
su svi, osim dva vrha, parnog stupnja. Ta dva vrha su poˇcetak i kraj puta.
Usmjereni graf sadrˇzi Eulerovu turu ako i samo ako je povezan i svaki
vrh ima jednak broj ulaznih i izlaznih lukova.
Usmjereni graf sadrˇzi Eulerovu stazu ako i samo ako je povezan i svi,
osim dva vrha, imaju jednak broj ulaznih i izlaznih lukova. Nadalje, kod ta
dva vrha se broj ulaznih i izlaznih bridova razlikuje za jedan.
U usmjerenom grafu se za pronalaˇzenje Eulerove ture upotrebljava Ed-
monds-Johnsonov algoritam (1973) (vidi [9]).
Sluˇcaj usmjerenog grafa, primjene, kao i pseudokod algoritma moˇzete
na´ci u [9].
5.8 Stabla
Pojam stabla u 19 st. uveo je Arthur Cayley prouˇcavaju´ci posebne
klase grafova, koji prikazuju odredene kemijske spojeve (hidrokarbonate).
Ti su grafovi imali jedno vaˇzno svojstvo: nisu sadrˇzavali cikluse. Sta-
bla imaju primjenu u rjeˇsavanju problema kao ˇsto
je povezivanje udaljenih lokacija mreˇzom. Treba,
npr. povezati lokacije u razliˇcitim gradovima, a
koncesionar mreˇze (bilo da je rijeˇc telefonskim li-
nijama, ili o raˇcunalnoj mreˇzi) razliˇcito napla´cuje
veze izmedu pojedinih gradova. Takoder, stabla
se mogu primjeniti na problem kada je potrebno
neko podruˇcje pokriti telefonskom, elektriˇcnom ili
vodovodnom mreˇzom.
Joˇs jedna mogu´ca primjena je u izraˇcunavanju op-
timalnih ruta za povezivanje gradova avionskim
linijama. Neekonomiˇcno je da svaki grad, koji ima
aerodrom, bude povezan sa svakim drugim takvim
Slika 5.12: Arthur Cayley
gradom, a opet se ˇzeli da se avionskom vezom moˇze do´ci do svakog grada
POGLAVLJE 5. TEORIJA GRAFOVA 215
uz minimalni troˇsak.
Nadalje, stabla se primijenjuju i u fizikalnoj kemiji. Osim toga, mnoge in-
formacijske strukture u raˇcunarstvu se temelje na stablima. Direktoriji i
poddirektoriji koji sadrˇze podatke predstavljaju vrhove u stablu. Binarna
stabla omogu´cuju efikasno spremanje uredenih podatka i tako dopuˇstaju
brzo pretraˇzivanje.
Viˇse o primjenama stabala moˇzete prona´ci u [5].
5.8.1 Osnovno o stablima
Definicija 5.20 Stablo (eng. tree) je povezani graf T koji ne sadrˇzi niti
jedan ciklus.
Vrh se naziva listom (eng. leaf) stabla T = (V, E) ako ima samo jednog
susjeda.
ˇ
Suma (eng. forest) je graf (ne nuˇzno povezani) koji ne sadrˇzi niti jedan
ciklus.
Primjer 5.11 Evo nekoliko primjera stabala koja imaju n vrhova:
n=1 n=2 n=3 n=4 n=5
Slika 5.13
Nije teˇsko prona´ci sva mogu´ca stabla za male brojeve n. Pokuˇsajte!
Moˇze se re´ci da je ˇsuma disjunktna unija stabala, odnosno da su kom-
ponente povezanosti ˇsume stabla.
Primijetimo da stablo s najmanje dva vrha ima najmanje dva lista.
Propozicija 5.5 Ako je T = (V, E) stablo s najmanje dva vrha, tada vri-
jedi:
1. Za svaki par vrhova u, v postoji jedinstveni put u T od u do v.
2. Ako iz stabla T izbacimo bilo koji brid dobili smo dva stabla.
3. [E[ = [V [ −1.
Tvrdnje iz prethodne propozicije nisu medusobno nezavisne. Tako je
tre´ca tvrdnja posljedica prve dvije. Nadalje, prva se tvrdnja moˇze smatrati
alternativnom definicijom stabla. Vrijedi sljede´ci teorem.
Teorem 5.7 Za graf G, sljede´ce tvrdnje su ekvivalentne.
216 5.8. STABLA
1. G je stablo.
2. G nema ciklusa, a ima n vrhova i n −1 brid.
3. Izmedu svaka dva vrha od G postoji toˇcno jedan put.
4. G je povezani graf s n vrhova i ima n −1 brid.
Dokaz. Teorem se dokazuje po shemi 1 ⇒2, 2 ⇒3, 3 ⇒4, 4 ⇒1,
1 ⇒2
Pretpostavimo da je G stablo, tj. G je povezani graf bez ciklusa. Treba
dokazati da izmedu svaka dva vrha postoji toˇcno jedan put.
Pretpostavimo suprotno, tj. da izmedu vrhova u i v postoje dva razliˇcita
puta:
u = u
0
, u
1
, . . . , u
p
= v
u = v
0
, v
1
, . . . , v
q
= v
Neka je j najmanji indeks takav da je u
j
,= v
j
. Nadalje, kako je za oba
puta zavrˇsetak (vrh v), sigurno postoji najmanji indeks k (k > j), takav da
je u
k
= v
l
za neki l ≤ q. Medutim, time smo konstruirali ciklus u grafu G
koji poˇcinje u u
j−1
, nastavlja se po u-putu do u
k
= v
l
i vra´ca se po v-putu
u v
j−1
, a to je kontradikcija s pretpostavkom, pa zakljuˇcujemo da izmedu
svaka dva vrha u stablu postoji jedinstveni put.
Ostale dijelove dokaza napravite sami. Posluˇzite se referencom [2].
Put duljine n −1 najjednostavnije je stablo s n vrhova. Svaki put, osim
trivijalnog kad je n = 1, ima toˇcno dva vrha stupnja 1.
U nekim problemima postoji vrh v

u stablu kojeg ˇzelimo posebno is-
taknuti. Taj vrh zovemo korijenom (eng. root), a takvo stablo zovemo
stablo s korijenom ili korijensko stablo (eng. rooted tree) i oznaˇcavamo ga s
(T, v

). U stablu s korijenom, vrhovi se mogu smjestiti u nivoe (eng. level).
Op´cenito, nivo vrha se definira kao duljina puta od korijena do tog vrha.
Korijen se nalazi na nivou 0, njegovi susjedi na nivou 1. Za k ≥ 2 nivo k
sadrˇzi sve vrhove koji su susjedni vrhovima na nivou k − 1. List na nivou
k, u stablu s korijenom, nema susjeda na nivou k + 1. Visina (eng. height)
stabla s korijenom je maksimalna vrijednost od k na kojem postoji neki vrh
stabla. Za jedinstveni vrh v na nivou k −1 koji je susjedan vrhu u na nivou
k, kaˇzemo da je njegov roditelj ili prethodnik (eng. parent), a za vrh u
kaˇzemo da je dijete ili sljedbenik (eng. child) vrha v.
Zadatak 5.21 U stablu s korijenom (T, v

) definiramo sljede´ce relacije na
skupu svih vrhova V stabla T :
R = ¦(u, v) : duljine puteva od v

do u i od v

do v jednake¦ ,
P = ¦(u, v) : u = v ili u je prethodnik od v¦ .
POGLAVLJE 5. TEORIJA GRAFOVA 217
1. Pokaˇzite da je R relacija ekvivalencije, a P relacija parcijalnog uredaja.
2. Opiˇsite klase ekvivalencije od R na V.
5.8.2 Binarno stablo
Ako je m = 2 za stablo kaˇzemo da je binarno stablo. Ako imamo dodatni
uvjet da razlikujemo desno od lijevog podstabla, kao ˇsto je to iskazano u
definiciji 5.21, onda govorimo o uredenom binarnom stablu. Ovdje ´cemo
pod nazivom ”binarno stablo” podrazumijevati uredeno binarno stablo. Ako
svaki vrh roditelj u m− arnom stablu ima toˇcno m djece, tada kaˇzemo da
je stablo puno (eng. full).
Neka je T puno binarno stablo, visine ve´ce od 0, a v

je korijen tog
stabla. Brisanjem korijena dobivamo dva disjunktna binarna stabla, ˇciji su
korijeni dva vrha nivoa 1 iz T. Ta podstabla zovemo lijevo i desno podstablo
korijena v

.
Definicija 5.21 Binarno stablo je trojka skupova (L, K, D) , gdje su L i D
lijevo i desno binarno stablo, a K jednoˇclani skup u kojem je korijen stabla.
Vrhove koji nisu niti listovi niti korijen zovemo unutarnjim vrhovima
(eng. internal vertex) stabla ili vrhom odluke (eng. decision vertex). Izraz
vrh odluke dolazi iz teorije odluˇcivanja gdje se stabla upotrebljavaju kao
model za proces odluˇcivanja, koji se provodi na viˇse nivoa, a odluka donesena
na jednom nivou utjeˇce na mogu´cu odluku na nekom drugom nivou (mjestu).
U tom se kontekstu stablo zove stablo odluˇcivanja (eng. decision tree).
v*
list
korijen
unutarnji vrh
Slika 5.14
218 5.8. STABLA
Stabla s korijenom imaju primjenu u informatici, posebno u organizaciji
i reprezentaciji podataka, te prikazu algebarskih izraza. Za sortiranje po-
dataka vaˇzna su binarna stabla. Obiˇcno se sortiranje podataka radi na os-
novi abecednog ili numeriˇckog kriterija. Pri tome je relacija, koja odreduje
uredaj, relacija potpunog (totalnog) uredaja, tj. svaki par elemenata iz
skupa je usporediv. Sortiranje je mogu´ce napraviti razliˇcitim tehnikama
opisanima u poglavlju o algoritmima. Posebna tehnika je i sortiranje pomo´cu
stabla sortiranja (eng. tree sort). Stablo sortiranja posebna je vrsta bina-
rnog stabla kod kojeg je skup svih vrhova totalno uredeni skup.
Definicija 5.22 Stablo sortiranja (engl. sort tree) ili binarno stablo pre-
traˇzivanja (engl. binary search tree) je binarno stablo T takvo da je:
1. Skup vrhova V totalno ureden skup.
2. Za svaki v ∈ V, u
L
≤ v, za svaki vrh u
L
iz lijevog podstabla od v i
v ≤ u
D
, za svaki vrh u
D
iz desnog podstabla od v.
Za puno m-arno stablo kaˇzemo da je potpuno ako su mu svi listovi na
istom nivou.
Primjer 5.12
Potpuno ternarno stablo Puno ternarno stablo
Slika 5.15
Sortiranje pomo´cu stabla sortiranja odvija se u dva koraka. U prvom
koraku se iz dane nesortirane liste a
1
, a
2
, ..., a
n
konstruira stablo sortiranja
tako da su vrhovi stabla elementi dane liste, a korijen stabla je a
1
. U drugom
se koraku sortirana lista dobiva iz stabla sortiranja.
U prvoj fazi gradi se stablo sortiranja prema danoj listi tako da prvi
element predstavlja korijen. Drugi element ide desno od korijena, ako je
a
2
_ a
1
, odnosno a
2
ide lijevo od a
1
ako je a
2
_ a
1
. Element a
3
stavlja se u
desno, odnosno lijevo podstablo ako je a
3
_ a
1
, odnosno a
3
_ a
1
. Kad novi
element stigne u jedno podstablo on se smjeˇsta lijevo ili desno prema istom
kriteriju.
Algoritam 5.4
ULAZ: Niz elemenata iz skupa na kojem je uveden totalni uredaj.
IZLAZ: Stablo sortiranja T
n
za taj niz elemenata.
POGLAVLJE 5. TEORIJA GRAFOVA 219
1. Za k = 1, a
1
je korijen i T
1
je stablo sortiranja u kojem je a
1
jedini
vrh. Pove´camo k na k + 1.
2. Ako je k > n zavrˇsavamo postupak. U suprotnom usporedujemo a
k
s
korijenom.
(a) Ako je a
k
_ korijena, tada se postupak prebacuje na lijevo pod-
stablo. Ako je lijevo podstablo prazno, smjeˇstamo a
k
lijevo od
korijena i dobivamo sljede´ce stablo sortiranja T
k
i pove´cavamo k
na k + 1 te ponavljamo korak 2.
U suprotnom ponavljamo korak 2 na lijevom podstablu.
(b) U suprotnom nastavljamo u desnom podstablu.
Ako je desno podstablo prazno, smjeˇstamo a
k
desno od korijena
i dobivamo sljede´ce stablo sortiranja T
k
i pove´cavamo k na k +1
te ponavljamo korak 2.
U suprotnom ponavljamo korak 2 na desnom podstablu.
Sada je svaki element u lijevom stablu manji ili jednak od korijena i svaki
element u desnom stablu je ve´ci ili jednak korijenu. Dakle, svi se elementi
iz lijevog stabla trebaju ispisati prije korijena, a svi elementi desnog stabla
poslije korijena. Uoˇcimo da su i lijevo i desno podstablo stabla sortiranja,
pa se prvi element podstabla moˇze promatrati kao korijen.
Opiˇsimo postupak rekurzivnog sortiranja.
1. Obradujemo sve elemente lijevog podstabla.
2. Ispisujemo korijen.
3. Obradujemo sve elemente desnog podstabla.
Primjer 5.13 Sortirajmo brojeve liste 3,4,6,1,2,5 po veliˇcini.
Uzimamo broj 3 za korijen stabla. Broj 4 je ve´ci od 3, pa ga povezujemo
desno od korijena. Nadalje je 6 > 3 i 6 > 4, pa se broj 6 postavlja desno
od 3, ali i desno od 4. S druge strane, broj 1 < 3, pa ga stavljamo lijevo od
3. Slijedi broj 2 i 2 < 3, pa ide lijevo od 3, ali desno od 1 jer je 2 > 1. Na
kraju, broj 8 ide desno od 3, ali lijevo od 6 u binarnom stablu.
220 5.8. STABLA
3
1 4
2
5
6
Slika 5.16
Sada prelazimo na drugu fazu sortiranja. Poˇcinjemo s lijevim pod-
stablom i zapisujemo prvi korijen u lijevom podstablu, a to je 1. Poslije
njega ispisujemo 2, pa 3, ˇcime iscrpljujemo lijevo podstablo. Prelazimo na
desno podstablo.
Evo primjera kako binarna stabla koristimo za prikaz algebarskih izraza.
Primjer 5.14 Neka su na skupu S zadane dvije binarne operacije i ∗.
Izrazi kao ˇsto su (a b) ∗c i (a ∗ c) (b ∗ c), mogu se prikazati pomo´cu bina-
rnih stabala. Na sljede´coj slici dan je prikaz prvog izraza pomo´cu binarnog
stabla.
*

c
b a
Slika 5.17
POGLAVLJE 5. TEORIJA GRAFOVA 221
Drugi algebarski izraz prikaˇzite pomo´cu binarnog stabla za vjeˇzbu.
Binarna stabla u kojima se pohranjuju (zapisuju) algebarski izrazi sasto-
je se od jednog vrha koji je identifikator ili su opisana sljede´cim rekurzivnim
pravilima:
1. Operator koji se izraˇcunava pri raˇcunu nalazi se u korijenu.
2. Lijevo podstablo predstavlja lijevi operand.
3. Desno podstablo predstavlja desni operand.
Dakle, stablo algebarskih izraza je prirodna informacijska struktura za
pohranjivanje algebarskih izraza.
Poznato je da se informacije pohranjuju u raˇcunalo pomo´cu nizova nula
i jedinica. Svakom slovu, brojki i znaku pridruˇzen je drugaˇciji niz bitova.
Najpoznatije takvo kodiranje je poznato pod imenom ASCII kod. Binarni
kod pridruˇzuje simbolima njihove nizove bitova. Svaki niz bitova je kodna
rijeˇc. U nekim sluˇcajevima kodne rijeˇci mogu biti razliˇcite duljine. Pri tome
se kˆod ˇcitanja moˇze javiti ako je jedna rijeˇc dio neke druge rijeˇci. Da bi se to
izbjeglo, uvodi se tzv. prefiks kˆod. Prefiks kˆod je binarni kod sa svojstvom
da nijedna kodna rijeˇc nije poˇcetni dio neke druge rijeˇci.
Binarno se stablo moˇze upotrijebiti za konstrukciju prefiks kˆoda za dani
skup simbola. Pri tome se prvo nacrta proizvoljno binarno stablo ˇciji se
listovi mogu bijektivno preslikati na skup simbola, tj. listovi su oznaˇceni
simbolima. Nadalje, oznaˇcimo svaki brid koji ide prema lijevom djetetu
s 0, a onaj koji ide prema desnom djetetu s 1. Sada se svakom simbolu
moˇze pridruˇziti kodna rijeˇc, koja je jednaka nizu oznaka bridova na jedin-
stvenom putu (svojstvo stabla), koji povezuje korijen s listom oznaˇcenim
promatranim simbolom. Pokazuje se da dobivene kodne rijeˇci predstavljaju
prefiks kˆod.
Primjer 5.15 Evo prefiks koda ˇcijih 9 kodnih rijeˇci korespondira danom
binarnom stablu.
slovo a b c d e f g h i
kodna rijeˇc 0000 0001 001 010 0110 0111 10 110 111
Stablo koje opisuje ovaj kod dano je na slici 5.18.
Zadatak 5.22 Slova, koja se ˇceˇs´ce upotrebljavaju, mogu imati pridruˇzene
kra´ce kodne rijeˇci, tj. ˇceˇs´ce upotrebljavani simboli trebaju biti smjeˇsteni u
listove niˇzih nivoa. David Huffman konstruirao je prefiks kˆod koji vodi brigu
o efikasnosti kodiranja na gore opisani naˇcin. Viˇse o Huffmanovom prefiks
kˆodu moˇzete nauˇciti izradite li projekt 4.
Obrazloˇzite zaˇsto su stabla bipartitni grafovi?
222 5.8. STABLA
0 1
0 1 0 1
0 1 0 1 0 1
0 1 0 1
a b
c d
e f
g
e f
Slika 5.18
5.8.3 Minimalno razapinju´ce stablo
Promotrimo problem povezivanja gradova plinovodom, ako je za tu mreˇzu
dozvoljeno viˇse ruta. Ako je potrebno povezati viˇse gradova plinovodom,
to se povezivanje moˇze napraviti na viˇse razliˇcitih naˇcina koriste´ci samo
dozvoljene rute. Ovdje gradove moˇzemo promatrati kao vrhove grafa, a
dozvoljene rute su bridovi grafa. Neke od tih ruta su skuplje nego druge
jer su dulje, cijevi treba zakopati dublje ili iz nekog drugog razloga. Treba
stoga promatrati teˇzinski graf. Ovdje bi nam cilj bio prona´ci takvo stablo u
grafu, koje bi povezivalo sve gradove, ali da pri tome mreˇza ima najmanju
cijenu. Stablo koje bi imalo nabrojena svojstva zvali bismo minimalnim
razapinju´cim stablom.
Prije nego matematiˇcki definiramo razapinju´ce stablo uvedimo pojmove
podgrafa i nadgrafa.
Definicija 5.23 Graf H je podgraf od G(H ⊆ G) ako je V (H) ⊆ V (G),
E(H) ⊆ E(G) i funkcija incidencije od H je restrikcija funkcije incidencije
od G. Kaˇzemo da je G nadgraf od H.
Za podgraf H od G, za koji je V (H) = V (G), kaˇzemo da je razapinju´ci
podgraf od G.
Svaki povezani graf sadrˇzi barem jedan podgraf, koji je stablo, i povezuje
sve vrhove u grafu. Takvo se stablo zove razapinju´ce stablo. Graf moˇze imati
viˇse razapinjaju´cih stabala. Npr., potpuni graf s ˇcetiri vrha ima ˇsesnaest
razapinju´cih stabala. Pokuˇsajte ih prona´ci!
POGLAVLJE 5. TEORIJA GRAFOVA 223
Posljedica ˇcinjenice da je povezani graf G sa n vrhova stablo ako i samo
ako G ima n−1 brid, je da razapinju´ce stablo za graf od n vrhova ima uvijek
n −1 brid.
U problemu povezivanja gradova plinovodom vaˇzna je duljina tih ci-
jevi, pa svakom bridu pridruˇzujemo teˇzinsku funkciju w : E → N. Teˇzinska
funkcija moˇze predstavljati i cijenu izgradnje pojedinih plinovoda, koji po-
vezuju dane gradove.
Teˇzina stabla T = (V, E) je tada suma teˇzina njegovih bridova, tj.
w(T) =

e∈T
w(e) .
Postavlja se problem nalaˇzenja razapinju´ceg stabla minimalne teˇzine.
Takav problem zovemo problem nalaˇzenja minimalnog razapinju´ceg stabla
(eng. minimum spanning tree problem, MST problem).
Za danu funkciju w uvijek postoji rjeˇsenje MST problema, budu´ci da
za dani graf uvijek postoji konaˇcno mnogo razapinju´cih stabala. Naravno,
moˇze postojati viˇse razapinju´cih stabala koja su minimalna.
Jednostavan, ali i ˇcesto neefikasan naˇcin nalaˇzenja minimalnog razapinju-
´ceg stabla je ispisivanje svih stabala za dani graf i pronalaˇzenje minimalnog.
Za kompliciranije grafove ovo bi bilo vrlo neefikasno, a i trebao bi postojati
naˇcin da pronademo sva stabla.
Bolji naˇcin je da pronademo neko bitno svojstvo minimalnog razapinju-
´ceg stabla s kojim moˇzemo odrediti pripada li pojedini brid u njega i zatim
izgraditi stablo brid po brid.
Neki od uspjeˇsnih algoritama za rjeˇsavanje MST problema temelje se na
pohlepnom algoritmu.
Tri poznata algoritma za rjeˇsavanje problema minimalnog razapinju´ceg
stabla su Kruskalov, Primov i Boruvkin algoritam.
Prvi algoritam za rjeˇsenje MST problema razvio je ˇceˇski znanstvenik
Otakar Bor˚uvka 1926. godine, traˇze´ci efikasni naˇcin postavljanja elektriˇcne
mreˇze. Danas se najˇceˇs´ce upotrebljavaju Primov algoritam i Kruskalov al-
goritam. Oba algoritma pripadaju skupini pohlepnih algoritama i oba se
algoritma izvode u polinomijalnom vremenu.
Kruskalov algoritam (naden 1956. godine) je pogodan za rjeˇsavanje MST
problema za grafove s malim brojem vrhova i nije jednostavan za programi-
ranje. No, Kruskalov algoritam je najjednostavniji za razumijevanje i naj-
bolji za ruˇcno rjeˇsavanje problema.
Algoritam se temelji na sljede´coj lemi.
Lema 5.1 Neka je X podskup vrhova iz G i neka je brid e najmanji brid
koji spaja X s G−X. Tada je e dio minimalnog razapinju´ceg stabla.
Algoritam 5.5
ULAZ: Graf G = (V, E).
IZLAZ: Minimalno razapinju´ce stablo T grafa G.
224 5.8. STABLA
1. Izaberemo jedan vrh i stavimo ga u skup S
1
, dok sve druge vrhove
stavljamo u skup S
2
.
2. Izabiremo brid najmanje teˇzine koji povezuje neki vrh iz S
1
s nekim
vrhom iz S
2
.
3. Stavljamo brid u skup koji predstavlja rjeˇsenje, a vrh iz S
2
, koji su-
djeluje u vezi, premjeˇstamo iz S
2
u S
1
.
4. Ako je S
2
= ∅, onda smo gotovi, a inaˇce se vra´camo na korak 2.
Kruskalov algoritam se izvodi u O(mlog m) vremenu, gdje je m broj
bridova, a n broj vrhova u grafu.
Primov algoritam je 1930. godine otkrio matematiˇcar Vojtech Jarnik,
a nezavisno od njega razvio ga je informatiˇcar Robert Prim 1957. godine.
Medutim, primjenjivati se poˇcinje tek nakon ”ponovljenog Dijkstrinog ot-
kri´ca”, 1959. godine.
Umjesto da konstruira podgraf brid po brid, Primov algoritam konstru-
ira vrh po vrh.
Poˇcetni vrh se bira proizvoljno i on odmah postaje dio grafa. Primovo
stablo raste tako da mu se dodaje vrh za koji vrijedi da je njegova udaljenost
od nekog vrha iz Primovog stabla manja nego udaljenost nekog drugog vrha
od Primovog stabla. Postupak se iterativno nastavlja sve dok ne ostane niti
jedan slobodan vrh, odnosno dok svi vrhovi ne budu ukljuˇceni u graf.
Algoritam 5.6
ULAZ: Graf G = (V, E).
IZLAZ: Minimalno razapinju´ce stablo T grafa G.
1. Izaberimo proizvoljan poˇcetni vrh.
2. Nadimo njemu najbliˇzi vrh i taj vrh postaje dio grafa.
3. Nadimo grafu najbliˇzi slobodni vrh i taj vrh postaje dio grafa.
4. Iterativno ponavljamo korak 3, dok svi vrhovi ne budu ukljuˇceni u
graf.
Pokazuje se da je sloˇzenost Primovog algoritma reda O
_
n
2
_
.
Dokaze korektnosti oba algoritma moˇzete na´ci u [4].
5.8.4 Pretraˇzivanje stabla
Zadatak nam je prona´ci vrhove u grafu, poˇcevˇsi od nekog unaprijed odrede-
nog vrha (korijen v
0
). U tom procesu posje´cuju se svi vrhovi grafa prelaze´ci
bridovima grafa i pri tome i vrhovi i bridovi mogu biti obuhva´ceni viˇse nego
POGLAVLJE 5. TEORIJA GRAFOVA 225
jedanput. Dakle, konstruiramo podgraf koji sadrˇzi sve vrhove grafa, tj.
razapinju´ci podgraf.
Ovaj zadatak moˇzemo rijeˇsiti na temelju dvije razliˇcite osnovne strate-
gije, a obje vode do konstruiranja razapinju´ceg stabla u grafu. Prva, koja
prelazi na novi vrh, ˇcim je on dostupan, tzv. potraga prvo u dubinu (depth-
first search - DFS, pronaˇsao ga Tarjan 1972. godine) i druga, gdje se provje-
ravaju svi vrhovi na istoj razini (level) i tek se onda prelazi na sljede´ci nivo
tzv. potraga prvo u ˇsirinu (breadth-first search - BFS, pronaˇsao ga Dijkstra
1959. godine).
DFS se moˇze promatrati i kao specijalni sluˇcaj op´ce metode rasta stabla.
U DFS metodi poˇcinjemo u danom vrhu v
0
(baza indukcije) i traˇzeno
stablo T se za sada sastoji samo od tog vrha, tj. T = ¦v
0
¦ . U koraku
indukcije, uzmimo da je x novi vrh u stablu T. Ako je y susjedni vrh
od x u grafu G, koji ne pripada stablu T, ukljuˇcujemo ga u stablo. Sada
y postaje novi vrh i ponavljamo postupak pretraˇzivanja njegovih susjeda.
Ukoliko nema novih susjeda od y, vra´camo se natrag na vrh, od kojeg smo
doˇsli do y (u naˇsem sluˇcaju na vrh x) i traˇzimo njegove susjede, koji joˇs
nisu ukljuˇceni u stablo T. Kad se u tom postupku vratimo do korijena v
0
postupak je zavrˇsen i traˇzeno stablo T je konstruirano.
Problem MST pripada u probleme rastu´ceg stabla (eng. tree-growing
problem), dok se ovdje radi o stablu pretraˇzivanja (eng. search tree). Za
razliku od MST problema ovdje nismo pretpostavili da je graf G povezan,
stoga znamo da DFS metoda moˇze na´ci samo vrhove koji su povezani s v
0
.
Stoga vrijedi sljede´ci teorem:
Teorem 5.8 Neka je v vrh grafa G i T podskup bridova od G konstruiranih
pomo´cu DFS metode. Tada je T razapinju´ce stablo za komponentu grafa G
koja sadraˇzi vrh v.
(Dobar naˇcin za opisivanje DFS metode je taj da se radi lista vrhova.
Kada prvi put dodemo do nekog vrha stavimo ga na listu. Objaˇsnjenje liste
moˇzete na´ci u [1].)
Druga metoda, koja nam omogu´cuje rjeˇsavanje problema traˇzenja vrhova
u grafu je BFS metoda. Smisao ove metode je u provjeravanju svih vrhova
susjednih promatranom vrhu prije nego se pomaknemo dalje. Ona se kao i
DSF, moˇze promatrati i kao metoda traˇzenja razapinju´ceg stabla, ali i kao
metoda pretraˇzivanja.
U BFS metodi poˇcinjemo u danom vrhu v
0
(baza indukcije) i traˇzeno
stablo T se za sada sastoji samo od tog vrha, tj. T = ¦v
0
¦ . U koraku
indukcije, uzmimo da je x novi vrh u stablu T. Ako je y susjedni vrh od x u
grafu G, koji ne pripada stablu T, ukljuˇcujemo ga u stablo i to isto uˇcinimo
za sve vrhove susjedne vrhu v, koji joˇs nisu ukljuˇceni u T. Tek kada viˇse
nema novih vrhova susjednih vrhu x pomiˇcemo se na vrh y, koji je prvi
sljede´ci u postupku pojavljivanja u odnosu na x. Sada y postaje novi vrh i
226 5.9. USMJERENI GRAFOVI I MRE
ˇ
ZE
ponavljamo postupak pretraˇzivanja njegovih susjeda. Ukoliko nema novih
susjeda od y postupak je zavrˇsen i traˇzeno stablo T je konstruirano.
Vrijedi teorem sliˇcan onome kod DFS metode.
Teorem 5.9 Neka je v vrh grafa G, a T podskup bridova od Gkonstruiranih
pomo´cu BFS metode. Tada je T razapinju´ce stablo za komponentu grafa G
koja sadrˇzi vrh v.
Spomenuti algoritmi DFS i BFS temelj su mnogim algoritmima koji se
upotrebljavaju u raˇcunalstvu i operacijskim istraˇzivanjima. Pri tome je DFS
efikasniji kad treba na´ci samo neko od mogu´cih rjeˇsenja, a BFS je bolji kod
problema optimizacije (najmanje bridova u grafu i sl.), odnosno kada je
potrebno prona´ci rjeˇsenje na najmanjem nivou stabla.
Op´cenito moˇzemo promatrati problem traˇzenja najkra´ceg puta izmedu
vrhova v i w u teˇzinskom grafu. U osnovi rjeˇsenja je BFS algoritam. Viˇse o
toj temi moˇzete na´ci u [1], str. 206.
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
i v
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.
228 5.9. USMJERENI GRAFOVI I MRE
ˇ
ZE
a b c d e f
c a f b a a
d c c c b
e d d
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.
a
i
a
1
a
2
a
3
a
4
a
5
a
6
t
i
2 4 6 5 4 3
p
i
− a
1
a
1
a
3
a
2
a
5
p
i
a
4
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.
230 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.
v p q r s t z
V(v) 0 3 8 13 17 20
Tablica 5.2
p
q
r
s
t
z
a
1
2
a
2
4
a
3
6
a
5
5
a
5
4
a
6
3
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 ≤ 7 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.
a
i
a
1
a
2
a
3
a
4
a
5
a
6
a
7
t
i
1 3 5 4 6 2 3
p
i
− a
1
a
1
a
3
a
2
a
5
a
3
p
i
a
4
a
6
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
232 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) =

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

(u,y)∈E
f (u, y) .
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 ,= 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) 1 4 5 5 4 5 4 6
Tablica 5.4
POGLAVLJE 5. TEORIJA GRAFOVA 233
i
q
r
s
t
p
2
4
6 5
4
3
5
4
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
val (f) =

v∈V
f (i, v) .
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:
val (f) =

x∈S
y∈T
f (x, y) −

u∈T
v∈S
f (u, v) .
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:
234 5.9. USMJERENI GRAFOVI I MRE
ˇ
ZE
val (f) ≤

x∈S
y∈T
f (x, y) .
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:
val (f) ≤

x∈S
y∈T
c (x, y) .
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∈S
y∈T
c (x, y) .
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
val (f) =

x∈S
y∈T
f (x, y) −

u∈T
v∈S
f (u, v) =

x∈S
y∈T
c (x, y) = cap (S, T) .
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.
236 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.
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) ,= 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.
238 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
i s
2
, s
1
i s
4
, s
3
i s
5
, s
3
i s
6
, s
2
i s
6
, s
5
i s
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.
s
1
s
4
s
2
s
5
s
6
s
7
Slika 5.22
Jedan od mogu´cih rasporeda je sljede´ci:
1. termin 2. termin 3. termin
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
s
1
s
4
s
2
s
5
s
6
s
7
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:
240 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) ,= 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:
a b c d e f g
u 1 1 0 0 0 0 1
v 0 1 1 0 1 0 0
z 1 0 0 1 0 1 0
x 0 0 0 0 1 1 1
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
a b c d e f g
u v z x
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.
242 5.11. SPARIVANJE U GRAFOVIMA
5.11 Sparivanje u grafovima
Definicija 5.32 Sparivanje (eng. matching) u grafu G = (V, E) je podskup
M skupa bridova grafa, takav da ni jedan vrh nije incidentan s viˇse od dva
brida u M. Za vrh koji je incidentan nekom bridu u M kaˇzemo da je zasi´cen
(eng. saturated). Sparivanje je savrˇseno (eng. perfect matching) ako i samo
ako je svaki vrh zasi´cen.
Zakljuˇcujemo da je sparivanje savrˇseno ako je svaki vrh incidentan toˇcno
jednom vrhu iz sparivanja M. Medu vaˇzne probleme teorije grafova pripada
problem postoji li sparivanje s dovoljno mnogo bridova u danom grafu i
ukoliko postoji kako ga konstruirati.
Za sparivanje M

kaˇzemo da je maksimalno ako ne postoji sparivanje
M koje ima viˇse bridova od M

. Sparivanje koje je savrˇseno ujedno je i
maksimalno.
Primjenu sparivanja nalazimo na primjer kod dodjeljivanja posla rad-
nicima. Budu´ci da nijednom radniku ne mogu (u isto vrijeme) biti dodi-
jeljena dva raliˇcita posla ovo je problem sparivanja. Vrhovi u grafu pred-
stavljaju radnike i poslove, dok bridovi spajaju poslove i radnike za koje su
osposobljeni. Takav je graf bipartitan. Pretpostavimo da su u podskupu V
1
radnici, a u podskupu V
2
poslovi koje treba obaviti. Postavlja se pitanje,
postoji li sparivanje koje zasi´cuje sve vrhove iz V
1
? Oˇcigledno je da ukoliko
postoji viˇse radnika nego poslova, nije mogu´ce uposliti sve radnike. Pret-
postavimo stoga da je [V
1
[ ≤ [V
2
[ . Nadalje, ako imamo k radnika, a broj
poslova za koje su oni svi obuˇceni je manji od k, opet ne´cemo mo´ci zaposliti
sve radnike. Neka je X neki podskup skupa V
1
. Oznaˇcimo sada sa S (X)
skup svih vrhova iz V
2
koji su susjedni nekom od vrhova u X. Zakljuˇcujemo
da mora biti [X[ ≤ [S (X)[ za svaki X, ˇzelimo li da postoji rjeˇsenje problema.
Sljede´ci teorem tvrdi da je to ujedno i dovoljan uvjet.
Teorem 5.16 (P. Hall, 1935) Neka je G bipartitni graf, pri ˇcemu su V
1
i V
2
podskupovi biparticije. Postoji sparivanje koje zasi´cuje V
1
ako i samo ako
za svaki podskup X ⊆ V
1
,vrijedi da je [X[ ≤ [S (X)[ .
Zadatak 5.31 Neka je G bipartitni graf, pri ˇcemu su V
1
i V
2
podskupovi
biparticije, te svaki vrh ima isti stupanj jednak k. Pokaˇzite da postoji spari-
vanje koje zasi´cuje V
1
.
5.12 Zadaci
1. Odredite broj bridova u potpunom bipartitnom grafu K
m,n
.
2. Nadite sve medusobno razliˇcite (neizomorfne) regularne grafove stup-
nja 4, koji imaju 7 vrhova. Napiˇsite njihove matrice susjedstva.
POGLAVLJE 5. TEORIJA GRAFOVA 243
3. Ako sa δ oznaˇcimo najmanji stupanj vrha u grafu, a sa ∆ najve´ci
stupanj vrha u grafu, dokaˇzite da tada vrijedi
δ ≤

n
≤ ∆.
4. Imamo sljede´ce definicije
Definicija 5.33 Duljina ciklusa jednaka je broju vrhova koji sudjelu-
ju u ciklusu.
Definicija 5.34 Struk grafa je duljina najkra´ceg ciklusa u grafu.
Pokaˇzite da ako je G k-partitan graf struka 4, onda je broj vrhova tog
grafa ve´ci ili jednak 2k. Pokaˇzite da postoji toˇcno jedan takav graf s
toˇcno 2k vrhova.
5. Dokaˇzite da je graf G bipartitan ako i samo ako je svaki ciklus u njemu
parne duljine.
6. Nadite Hamiltonov ciklus u grafu kojeg odreduju vrhovi i bridovi
kocke.
7. U grafu na slici nadite:
(a) ˇsetnju duljine 7 izmedu vrhova b i d,
(b) put maksimalne duljine.
a
b c
d
Slika 5.25
244 5.12. ZADACI
8. U Petersenovom grafu nadite
(a) stazu duljine 5,
(b) put duljine 9,
(c) cikluse duljina 5,6,7 i 9.
9. Dokaˇzite ili opovrgnite sljede´ce tvrdnje:
(a) Svaki podgraf bipartitnog grafa je bipartitni graf.
(b) Relacija na skupu svih vrhova, takva da je a ∼ b ako i samo ako
postoji put od a do b, je relacija ekvivalencije.
(c) Sume svih elemenata po stupcima u matrici susjedstva u pot-
punom grafu su medusobno jednake.
10. Dokaˇzite da je jednostavan graf u kojemu vrijedi d(u) + d(v) ≥ n −1
za svaka dva vrha u, v ∈ V (G) povezan.
11. Za koji n ∈ N potpun graf K
n
ima stazu, a nema Eulerovu turu?
12. Dokaˇzite da Petersonov graf nije Hamiltonov.
13. Dokaˇzite da je Petersonov graf bez ijednog vrha Hamiltonov.
14. Dokaˇzite da potpuni graf K
n
ima najviˇse
_
n−1
2
_
razliˇcitih Hamiltonovih
ciklusa.
15. Izdvojite Hamiltonove grafove iz sljede´ceg popisa:
(a) potpuni graf K
n
,
(b) potpuni bipartitni graf K
m,n
,
(c) stablo s n vrhova.
Ima li medu gornjim grafovima Eulerovih grafova?
16. Upotrebom Dijkstrinog algoritma nadite najkra´ci put od A do K na
grafu na sljede´coj slici.
A K
2
3
4
5
6
6
3
4
5
2
4
4
7
5
4
6
5
3
POGLAVLJE 5. TEORIJA GRAFOVA 245
Slika 5.26
17. Cikliˇcki graf je graf ˇciji svi vrhovi i bridovi leˇze na istoj kruˇznici.
Nadite kromatski broj cikliˇckog grafa od 2n vrhova i cikliˇckog grafa
od 2n + 1 vrhova.
18. Pronadite kromatski broj sljede´cih grafova:
Slika 5.27
19. Odredite kromatski broj stabla.
20. Ako je F = (V, E) ˇsuma s e komponenti povezanosti, tada vrijedi
[E[ = [V [ −e. Dokaˇzite tu tvrdnju.
21. Nacrtajte stabla koja zadovoljavaju sljede´ca svojstva:
(a) Binarno stablo koje ima 12 vrhova i 4 nivoa.
(b) Ternarno stablo koje ima 10 vrhova i 4 nivoa.
246 5.12. ZADACI
22. Nadite razapinju´ce stablo grafa kocke.
23. Nadite sva razapinju´ca stabla potpunog grafa K
4
.
24. Neka je graf G definiran sljede´com matricom:
a b c d e f g h
b a b a b g c a
d c d b f g
h d g c h
e
Tablica 5.7
Skicirajte DFS stablo u G poˇcevˇsi od g. Je li G povezani graf?
25. Napiˇsite izraz koji je pohranjen u sljede´cem binarnom stablu:
/
* ◦
- + e f
a b c d
Slika 5.28
26. Neka je G 3-regularan graf sa ciklusom duljine 3 i brojem vrhova ve´cim
od 4. Koliki je kromatski broj grafa G?
POGLAVLJE 5. TEORIJA GRAFOVA 247
27. Neka je (d
1
, . . . , d
n
) niz stupnjeva vrhova nekog grafa. Dokaˇzite da je
n

i=1
d
i
paran broj.
28. Na slici je prikazana mreˇza na kojoj brojevi na lukovima predstavljaju
kapacitete lukova.
i
a
b
c
d
e
u
5
6
8
4
2
3
10
11
6
9
4
Slika 5.29
Protok f definiran je sljede´com tablicom:
(x, y) (i, a) (i, b) (i, c) (a, b) (a, d) (b, c)
f(x, y) 5 6 0 0 5 1
(b, d) (b, e) (c, e) (d, u) (e, u)
2 3 1 7 4
Slika 5.30
(a) Nadite vrijednost od f.
(b) Nadite rez kapaciteta 12.
(c)
ˇ
Sto zakljuˇcujete?
29. Primijenite Fleuryjev algoritam na graf na slici, poˇcevˇsi od vrha a.
248 5.13. PROJEKTI
a
Slika 5.31
30. Pokaˇzite da ako je graf G stablo s n vrhova, tada je suma stupnjeva
svih vrhova od G jednaka 2n −2.
31. Dokaˇzite da vrijedi: graf s n vrhova je bipartitan ako i samo ako se
njegovi vrhovi mogu oznaˇciti tako da mu je matrica susjedstva oblika
_
0
k
A
A

0
m
_
gdje je n = m+k.
5.13 Projekti
1. Povezani graf zovemo semieulerov graf ako postoji put u grafu koji
sadrˇzi sve bridove grafa. Povezani graf zovemo semihamiltonov graf
ako postoji put u grafu koji sadrˇzi sve vrhove grafa. Istraˇzite svojstva
takvih grafova i njihovu vezu s Eulerovim i Hamiltonovim grafom.
2. Opiˇsite primarne operacije na grafovima: brisanje vrhova ili bridova,
dodavanje vrhova ili bridova i njihova svojstva. Objasnite sekundarne
operacije na grafovima i izvedite njihova svojstva. Nadite primjene
gornjih operacija u informatici. (Uputa: posluˇzite se literaturom [5]).
3. Prouˇcite naˇcin primjene stabala u teoriji odluˇcivanja, te usporedite
terminologiju koja se upotrebljava u teoriji odluˇcivanja s onom iz
matematiˇcke teorije grafova.
POGLAVLJE 5. TEORIJA GRAFOVA 249
4. Upotrijebite binarna stabla za konstrukciju binarnih kodova. Opiˇsite
naˇcin konstrukcije prefiks koda pomo´cu binarnog stabla. Opiˇsite algo-
ritam za Huffmanov prefiks kod i Huffmanovo stablo.
5. Promatrajte planarne grafove, definirajte svojstva planarnih grafova,
te izvedite Eulerovu formulu za planarne grafove.
6. Za dva grafa kaˇzemo da su homeomorfni ako se prvi moˇze dobiti iz
drugog tako da se prvom dodaju i/ili izbriˇsu vrhovi stupnja 2. Nadite
primjere homeomorfnih grafova, te dokaˇzite teorem Kuratowskog koji
daje uvjete da bi graf bio planaran.
7. Opiˇsite veze bojenja bridova grafa i latinskih kvadrata.
8. Grafovi se mogu definirati na razliˇcitim plohama kao ˇsto su sfera ili
torus. Promatramo svojstva takvih grafova, koji se mogu nacrtati na
tim plohama, tako da im se bridovi sijeku samo u vrhovima. Napravite
nekoliko primjera takvih grafova i ispitajte da li za njih vrijedi Eulerova
formula kao i za planarne grafove.
9. Prouˇcite, objasnite i implementirajte Edmonds-Johnsonov algoritam
te odredite njegovu sloˇzenost (Uputa: posluˇzite se literaturom [9]).
250 5.13. PROJEKTI
Bibliografija
[1] Biggs, N. L., Discrete Mathematics, Oxford University Press Inc., New
York, 2002.
[2] Dymaˇcek, W.M.; Sharp, H.: Introduction to Discrete Mathematics,
WBC/McGraw-Hill, International Editions, 1998.
[3] Garnier, R.: Taylor, J.: Discrete Mathematics for New Technology, IOP
Publishing Ltd, London 1999.
[4] Goodaire, E. G.; Parmenter, M. M.: Discrete Mathematics with Graph
Theory, Prentice Hall, Upper Saddle River, 2002.
[5] Gross, J.; Yellen, J.: Graph Theory and its Applications, CRC Press,
London, 1999.
[6] Kerzner, H.: Project Management, a Systems Approach to Planning,
Scheduling and Controlling, John Wiley and Sons, Inc., 2003.
[7] Rosen, H. K.: Handbook of Discrete and Combinatorial Mathematics,
CRC Press, NY, 2000
[8] Skiena, S.: Implementing Discrete Mathematics, Combinatorics and
Graph Theory with Mathematica, Addison-Wesley, Reading, Masachus-
sets 1990.
[9] Thinbleby, H.: The directed Chinese Postman problem, UCLIC, Lon-
don, http://www.uclic.ucl.ac.uk/harold (27.1.2005.)
[10] Veljan, D.: Kombinatorna i diskretna matematika, Algoritam, Zagreb,
2001.
251
252 BIBLIOGRAFIJA
Poglavlje 6
Algebarske strukture
Zaˇsto su brojevi prekrasni? To je isto
kao da pitate zaˇsto je Beethovenova
Deveta simfonija prekrasna. Ako ne
vidite zaˇsto, nitko vam to ne moˇze
re´ci. Ja znam da su brojevi prekrasni.
Ako oni nisu, niˇsta nije.
Paul Erd¨os
Algebra je dio matematike koja izuˇcava algebarske operacije i struk-
ture. Ovdje ´cemo se baviti algebarskim strukturama koje su dijelovi ap-
straktne algebre i imaju znaˇcajnu primjenu u drugim podruˇcjima znanosti
i istraˇzivanja.
U matematici ˇcesto povezujemo i prouˇcavamo povezivanje elemenata po-
jedinih skupova. Pri tome, na skupovima defini-
ramo relacije i operacije kao ˇsto smo vidjeli na
primjerima u prethodnim poglavljima. Svojstva
operacija moˇzemo prouˇcavati i na apstraktnoj
razini tako da se uzdignemo iznad konkretnih
skupova i stvarnih operacija i baviti se apstrakt-
nom generalnom strukturom (grupom, poljem i
sl.). Pri tome odabiremo kljuˇcna svojstva po-
jedninih struktura i njihove posljedice. To nam
omogu´cava klasifikaciju algebarskih struktura u
odredene klase ˇciji ˇclanovi imaju mnoga vaˇzna za-
jedniˇcka svojstva.
Slika 6.1: Evarist Galois
Uoˇcavamo da je ovdje vaˇzan i skup i operacija koja se izvodi na skupu.
Najˇceˇs´ce ´cemo se baviti binarnim operacijama, koje povezuju dva elementa
i pridruˇzuju im neki tre´ci element.
Posebno znaˇcajne algebarske strukture su grupa i polje.
253
254 6.1. DEFINICIJA I PRIMJERI ALGEBARSKIH STRUKTURA
6.1 Definicija i primjeri algebarskih struktura
U svakoj algebarskoj strukturi imamo jedan ili viˇse skupova i jednu ili viˇse
operacija.
Algebarska operacija ◦ je svako preslikavanje ◦ : A
n
→ A pri ˇcemu je
A
n
Kartezijev produkt AA... A (n puta). Operacija tako pridruˇzuje
svakoj n-torki (a
1
, a
2
, ..., a
n
) ∈ A
n
jedan element skupa A.
Neprazan skup A, zajedno sa skupom operacija O i skupom relacija R
definiranim na tom skupu, zovemo algebarskom strukturom, a oznaˇcavamo
sa / = (A, O, R) . Skup A zovemo skupom nosiocem algebarske strukture,
a njegove elemente osnovnim elementima algebarske strukture. Viˇse o tome
proˇcitajte u [7].
Primjer 6.1 Primjeri algebarskih struktura:
Algebra propozicijske logike: (S, ∨, ∧, ) , gdje je S skup sudova, a ∨, ∧,
skupovi na S.
Algebra skupova: (P (A) , ∪, ∩) partitivni skup uz uniju i presjek na
partitivnom skupu.
Zadatak 6.1 Nadite primjere algebarskih struktura na skupovima brojeva.
Posebno mjesto medu algebarskim operacijama pripada binarnim opera-
cijama. Prisjetimo se da su osnovne operacije zbrajanja i mnoˇzenja realnih
brojeva binarne operacije. Slijedi op´cenita definicija binarne operacije.
Definicija 6.1 Binarna operacija ◦ na nepraznom skupu S je pravilo koje
svakom paru elemenata a, b ∈ S pridruˇzuje neki element z ∈ S. Pri tome
piˇsemo z = a ◦ b.
Uoˇcimo da se binarna operacija moˇze promatrati i kao funkcija koja
elementima Kartezijevog kvadrata S
2
(uredenim parovima) pridruˇzuje ele-
ment iz S. Dakle, binarna operacija na nepraznom skupu S je funkcija f :
S S →S.
Binarna operacija na konaˇcnom skupu S moˇze se prikazati pomo´cu Cay-
leyeve tablice, koja je objaˇsnjena u sljede´cem primjeru. Tablica je dobila ime
po engleskom matematiˇcaru Arthuru Cayleyu (1821-1895), koji je zasluˇzan
za uvodenje vaˇznih algebarskih struktura u matematiku, ali i za donoˇsenje
propisa koji su ˇzenama omogu´cili studiranje na sveuˇciliˇstu Cambridge.
Primjer 6.2 Zadan je skup S = ¦a, b, c¦ i binarna operacija ◦ na S pomo´cu
sljede´ce Cayleyeve tablice.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 255
◦ a b c
a a c b
b c b a
c b a c
tablica 6.1
Iz tablice slijedi da je a ◦ b = c, b ◦ a = c, c ◦ b = a itd.
6.2 Grupe
Algebarska struktura grupe motivirana je standardnim binarnim operaci-
jama zbrajanja i mnoˇzenja na skupovima brojeva. Svojstva tih operacija
nabrojena su u prvom dijelu ove knjige. Ovdje dolazi do izraˇzaja vaˇznost
skupa brojeva na kojem je operacija definirana. Ovisno o skupu operacija,
na skupu brojeva postoji struktura grupe ili ne postoji.
Teorije permutacija, dizajna, te latinskih kvadrata samo su neke za koje
je potrebno poznavati teoriju grupa, polja i prstenova.
6.2.1 Definicija grupe
Ponovimo da u svakoj algebarskoj strukturi poˇcinjemo od pojma skupa i
neke (binarne) operacije definirane na tom skupu. Nadalje, ta (binarna)
operacija treba zadovoljavati odredena svojstva da bismo doˇsli do odredene
algebarske strukture.
Neka je S skup na ˇcijim je elementima definirana binarna operaciju ◦.
Dakle, ◦ djeluje na dva elementa iz S. Ukoliko se kao rezultat djelovanja
operacije ◦ na elemente a, b ∈ S dobije opet neki element c ∈ S, tj. ako je
a ◦ b = c,
za binarnu operaciju ◦ kaˇzemo da je zatvorena na skupu S.
Primjer binarnih relacija su operacije zbrajanja + i mnoˇzenje . One su
zatvorene na skupovima N, Z, Q i R. Operacija − nije zatvorena na skupu
prirodnih brojeva N. Primijetite da za operacije + i vrijedi svojstvo aso-
cijativnosti. Op´cenito operacija ◦ je asocijativna na skupu S ako za sve
elemente a, b, c ∈ S vrijedi
(a ◦ b) ◦ c = a ◦ (b ◦ c) .
Nadalje, prisjetimo se da je broj 0 neutralni element za zbrajanje na skupu
Z, ali ne i na N (jer nula nije element skupa prirodnih brojeva), a broj 1 je
neutralni element za mnoˇzenje. U op´cem sluˇcaju kaˇzemo da je e neutralni
element (identiteta) za operaciju ◦ na skupu S, ako je e ∈ S i za svaki drugi
element a ∈ S vrijedi
a ◦ e = e ◦ a = a.
256 6.2. GRUPE
U skupu cijelih brojeva za svaki cijeli broj a postoji njemu suprotni broj −a
za koji vrijedi a+(−a) = 0. Promatramo li operaciju mnoˇzenja na skupu Z,
ona na tom skupu nema inverzni (suprotni) element, tj. za svaki cijeli broj
a ne postoji takav broj a

za koji je a a

= 1, jer je za a ,= 0 takav broj
a

=
1
a
. Medutim u skupu Q¸¦0¦ svaki broj ima multiplikativni inverz.
Dakle, operacija ◦ ima inverzni (suprotni) element na skupu S, ako za
element a ∈ S ¸ ¦e¦ postoji takav broj a

za koji je
a ◦ a

= a

◦ a = e.
Slijede dvije tvrdnje o jedinstvenosti neutralnog i inverznog elementa.
Propozicija 6.1 Neka je ◦ binarna operacija na skupu S. Ako neutralni
element postoji, onda je on jedinstven.
Dokaz. Pretpostavimo suprotno, tj. da postoje dva neutralna elementa
e i e

na S za operaciju ◦. Vrijedi:
e ◦ e

= e

◦ e = e
e

◦ e = e ◦ e

= e

.
Dakle, slijedi e = e

.
Propozicija 6.2 Neka je ◦ asocijativna binarna operacija na skupu S za
koju je e neutralni element. Ako za neki element postoji inverzni element
onda je on jedinstven.
Dokaz. Pretpostavimo suprotno, tj. da za x ∈ S postoje dva inverzna
elementa a i b na S za operaciju ◦. Vrijedi
x ◦ a = a ◦ x = e
x ◦ b = b ◦ x = e.
Sada je
a = a ◦ e
= a ◦ (x ◦ b)
= (a ◦ x) ◦ b
= e ◦ b
= b.
Operacije zbrajanja i mnoˇzenja su i komutativne jer se redosljed eleme-
nata na koje se operacija primjenjuje moˇze zamijeniti.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 257
Op´cenito, operacija ◦ je komutativna na S ako za sve elemente a, b ∈ S
vrijedi
a ◦ b = b ◦ a.
Svojstva koja smo nabrojali vaˇzna su i imaju znaˇcajne posljedice. Stoga
se u algebri definira posebna struktura koja posjeduje gornja svojstva, a zove
se grupa.
Definicija 6.2 Grupa je uredeni par (S, ◦) , gdje S predstavlja skup, a ◦
binarnu operaciju na elementima tog skupa. Operacija ima sljede´ca svojstva:
1. zatvorenost, tj. ako je a, b ∈ S, onda je a ◦ b ∈ S,
2. asocijativnost,
3. postojanje neutralnog elementa (identiteta),
4. svaki element od S ima inverzni element.
Ukoliko je (S, ◦) grupa za koju vrijedi komutativnost, kaˇzemo da je grupa
komutativna ili Abelova grupa.
Abelova grupa je dobila ime po norveˇskom matematiˇcaru Nielsu Abelu
(1802-1829) koji je u svom kratkom ˇzivotu dao znaˇcajne doprinose teoriji
jednadˇzbi i beskonaˇcnih redova.
Spomenimo joˇs dva pojma koji se upotrebljavaju u ovom kontekstu.
Polugrupa je struktura (S, ◦) takva da je operacija ◦ zatvorena i asoci-
jativna na S.
Monoid je polugrupa (S, ◦) takva da operacija ◦ ima neutralni element
na S.
6.2.2 Konaˇcne i cikliˇcke grupe
Ako je skup S konaˇcan, onda za kardinalni broj [S[ kaˇzemo da je red grupe
(eng. order) i da je grupa konaˇcnog reda ili konaˇcna. Za grupu gdje skup
ima beskonaˇcno mnogo elemenata kaˇzemo da ima beskonaˇcan red.
Evo teorema koji govori o vaˇznom svojstvu strukture koja je grupa, koji
ima znaˇcajan utjecaj na grupe konaˇcnog reda.
Teorem 6.1 Neka su a, b ∈ S i G = (S, ◦) grupa. Tada jednadˇzba a◦ x = b
ima jedinstveno rjeˇsenje u grupi G.
Dokaz. Pretpostavimo suprotno, tj. da jednadˇzba a ◦ x = b ima dva
razliˇcita rjeˇsenja x
1
, x
2
. Tada vrijedi a ◦ x
1
= b i a ◦ x
2
= b. Izjednaˇcimo
jednadˇzbe i dobivamo a ◦ x
1
= a ◦ x
2
. Proˇsirimo obje strane jednadˇzbe
s inverznim elementom a

od a slijeva i primijenimo zakon asocijativnosti.
Imamo (a

◦ a) ◦ x
1
= (a

◦ a) ◦ x
2
. Sada je e ◦ x
1
= e ◦ x
2
, a budu´ci da je e
identiteta, dobivamo x
1
= x
2
. To predstavlja kontradikciju s pretpostavkom,
pa zakljuˇcujemo da jednadˇzba a ◦ x = b ima jedinstveno rjeˇsenje.
Primijetimo kakav utjecaj ima prethodni teorem na izgled Cayleyeve
tablice grupe konaˇcnog reda. U sluˇcaju grupe, svaki se element u tablici
258 6.2. GRUPE
pojavljuje toˇcno jedanput u svakom redu, odnosno stupcu. Zapiˇsimo to u
obliku propozicije.
Propozicija 6.3 Neka je (S, ◦) konaˇcna grupa. Tada se u Cayleyevoj tablici
svaki element skupa S pojavljuje toˇcno jedanput u svakom retku, odnosno
stupcu.
Zadatak 6.2 Pokaˇzite kontraprimjerom da obrat ove tvrdnje ne vrijedi.
Za svaki element a grupe G moˇzemo definirati niz cjelobrojnih potencija
kao ˇsto slijedi:
a
1
= a, a
2
= a ◦ a, ..., a
n
= a ◦ a
n−1
, za n ≥ 2,
a
−1
= a

, a
−2
= a

◦ a

, ..., a
−n
= a
−1
◦ a
−(n−1)
, za n ≥ 2.
Stavljamo takoder a
0
= e.
ˇ
Cesto se umjesto a ◦ b piˇse jednostavno ab. Zbog
svojstva asocijativnosti oˇcito vrijedi a
m
a
n
= a
m+n
.
Ako je a element grupe i n najmanji prirodan broj, takav da je x
n
= e,
tada kaˇzemo da je n red elementa a u grupi G i piˇsemo [a[ = n. Ukoliko ne
postoji takav konaˇcan prirodan broj n, kaˇzemo da element a ima beskonaˇcan
red.
Teorem 6.2 Neka je a element reda n konaˇcne grupe G. Tada je a
m
= e
ako i samo ako je m viˇsekratnik od n.
Definicija 6.3 Za grupu G = (S, ◦) kaˇzemo da je cikliˇcka ako postoji ele-
ment a ∈ S takav da za svaki b ∈ S, b = a
n
za neki n ∈ Z. Za grupu G tada
kaˇzemo da je generirana elementom a i a zovemo generatorom grupe.
Zadatak 6.3 Pokaˇzite da je grupa (Z, +) cikliˇcka i da je broj 1 generator
grupe.
Primjer 6.3 Pokaˇzite da je grupa Z
7
, uz zbrajanje modulo 7 cikliˇcka i da
je klasa ekvivalencije [3] generator grupe.
Vrijedi da je:
1[3] = [3]
2[3] = [3] +
7
[3] = [6]
3[3] = [3] +
7
[6] = [2]
4[3] = [3] +
7
[2] = [5]
5[3] = [3] +
7
[5] = [1]
6[3] = [3] +
7
[1] = [4]
7[3] = [3] +
7
[4] = [0].
POGLAVLJE 6. ALGEBARSKE STRUKTURE 259
Zadatak 6.4 Pokaˇzite da su svi elementi grupe Z
7
, osim [0], uz zbrajanje
modulo 7 generatori grupe (Z
7
, +).
Rjeˇsenja prethodna dva zadataka moˇzete na´ci u [[3], str 340].
Zadatak 6.5 Neka je M skup matrica oblika
_
1 n
0 1
_
, n ∈ Z.
Pokaˇzite da je M, uz operaciju mnoˇzenja matrica, beskonaˇcna cikliˇcka grupa.
Zadatak 6.6 Dokaˇzite da cikliˇcka grupa sa samo jednim generatorom ne
moˇze imati viˇse od 2 elementa.
6.2.3 Primjeri grupa
Ovdje ´cemo upoznati vaˇznije primjere struktura, koje su grupe.
1. Najpoznatiji primjeri grupe su razliˇciti skupovi brojeva uz operacije
mnoˇzenja i zbrajanja.
Komutativne grupe su (Z, +), (Q, +), (Q¸ ¦0¦ , ), (R, +), (R¸ ¦0¦ , ) .
2. Neka je na skupu T definiran skup funkcija F = ¦f : T → T [ f
je bijekcija¦. Na elementima skupa F dana je operacija ◦ kompozicije
funkcija. Znamo da je operacija kompozicije zatvorena i asocijativna.
Nadalje, identiteta je funkcija e (x) = x, ∀x ∈ T. Budu´ci da su elementi
skupa F bijekcije, za svaku funkciju f ∈ F, postoji inverzna funkcija
f
−1
, takva da je f ◦ f
−1
= f
−1
◦ f = e. Zakljuˇcujemo da je (F, ◦)
grupa. Kompozicija funkcija nije komutativna operacija, pa grupa
nije Abelova.
3. Grupa permutacija (simetriˇcna grupa) je skup svih bijekcija na ko-
naˇcnom skupu S = ¦1, 2, 3, ..., n¦ uz operaciju kompozicije funkcija.
Prisjetimo se da permutacije moˇzemo zapisati pomo´cu matrice tipa
(2, n) . Primjerice permutacija p skupa od 5 elemenata zapiˇse se kao
p =
_
1 2 3 4 5
p (1) p (2) p (3) p (4) p (5)
_
.
Skup od n elemenata ima n! razliˇcitih permutacija. Stoga bi i Cayley-
jeva tablica imala n! redaka, odnosno stupaca. Iz tablice je vidljivo da
grupa nije komutativna.
Red grupe je n, a oznaka je S
n
. Grupu (S
n
, ◦) zovemo i simetriˇcnom
grupom reda n.
260 6.2. GRUPE
4. Skup matrica tipa (m, n), uz operaciju zbrajanja matrica, je komuta-
tivna grupa. Viˇse detalja o toj grupi moˇzete na´ci u [2].
5. Skup M
n
kvadratnih regularnih matrica reda n uz operaciju mnoˇzenja
matrica je grupa (nije komutativna). Uoˇcite da kao posljedicu teorema
6.1 vrijedi da svaka matriˇcna jednadˇzba AX = B, gdje su A, B ∈ M
n
,
ima jedinstveno rjeˇsenje, tj. postoji jedinstvena matrica C ∈ M
n
takva
da je AC = B.
Zadatak 6.7
1. Pokaˇzite da je skup matrica oblika
_
a b
0 1
_
, gdje su a, b ∈ Z
3
i a ,= 0,
uz operaciju mnoˇzenja matrica grupa.
2. Ispiˇsite sve matrice koje pripadaju gornjoj grupi.
Zadatak 6.8 Napiˇsite Cayleyjevu tablicu za grupu permutacija skupa koji
ima 3 elementa.
6.2.4 Podgrupe
U prethodnoj toˇcki smo utvrdili da su (Z, +) , (Q, +) , (R, +) grupe i pri tome
je Z ⊂ Q ⊂ R. Kaˇzemo da je grupa koja je sadrˇzana u drugim grupama
njezina podgrupa.
Definicija 6.4 Neka je (S, ◦) grupa, P ⊆ S i (P, ◦) takoder grupa. Kaˇzemo
da je (P, ◦) podgrupa grupe (S, ◦) . Piˇsemo (P, ◦) ≤ (S, ◦) .
Svaka grupa G koja ima barem dva elementa, ima barem dvije pod-
grupe. To je cijela grupa G, te (¦e¦ , ◦) gdje je e neutralni element u G.
Ove dvije podgrupe zovemo trivijalnim podgrupama. Ostale podgrupe dane
grupe zovemo pravim podgrupama. Pokazuje se da svaka beskonaˇcna grupa
ima pravih podgrupa, dok to ne mora biti sluˇcaj kod konaˇcnih grupa. Poz-
nato je da ako je red grupe prosti broj, onda ona nema pravih podgrupa.
Dokaz ove tvrdnje moˇzete na´ci u [6], str 22.
Slijede dva teorema koji daju test za podgrupe.
Teorem 6.3 Neka je (S, ◦) grupa i P neprazan podskup od S. Struktura
(P, ◦) je grupa ako i samo ako:
1. ab ∈ P za sve a, b ∈ P,
2. za sve a ∈ P slijedi da je a
−1
∈ P.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 261
Dokaz. Nuˇzan smjer je opet trivijalno ispunjen jer je neutralni element
jedinstven i svaki element ima jedinstveni inverzni element.
Pokaˇzimo dovoljan uvjet, tj. ako vrijede uvjeti 1. i 2. iz prethodnog
teorema, onda je struktura (P, ◦) podgrupa grupe (S, ◦) .
Treba pokazati da u (P, ◦) vrijedi asocijativnost, tj. da postoji neutralni
element u P. Operacija je zatvorena u P zbog uvjeta 1. Asocijativnost je
naslijedena iz grupe (S, ◦) . Inverzni element svakog elementa iz P je takoder
u P zbog uvjeta 2. Neka je a ∈ P, tada je a
−1
∈ P, pa iz uvjeta 2. dobivamo
aa
−1
= e ∈ P.
Uoˇcite da prvi uvjet u prethodnom teoremu traˇzi da operacija iz grupe
bude zatvorena u P, a drugi da svaki element iz P ima inverzni element, koji
se nalazi u P.
Ukoliko su ispunjena oba uvjeta tada je (P, ◦) podgrupa grupe (S, ◦).
Slijedi teorem koji daje joˇs jedan test za podgrupu.
Teorem 6.4 Neka je (S, ◦) grupa i P neprazan podskup od S. Struktura
(P, ◦) je podgrupa grupe (S, ◦) ako i samo ako je
ab
−1
∈ P za sve a, b ∈ P. (6.1)
Dokaz. Nuˇzan smjer je trivijalno ispunjen.
Pokaˇzimo dovoljan uvjet, tj. ako vrijedi uvjet 6.1 onda je struktura (P, ◦)
podgrupa grupe (S, ◦) . Asocijativnost je naslijedena iz S. Uzmimo element
a iz P. Iz uvjeta 6.1 slijedi da je aa
−1
= e ∈ P. Dakle P sadrˇzi neutralni
element. Uzmimo sada e, a ∈ P, pa iz 6.1 slijedi da je a
−1
∈ P, ˇsto znaˇci
da svi elementi iz P imaju inverzni element u P. Zatvorenost operacije ◦ u
P dokazujemo tako da promatramo dva elementa a, b ∈ P, a iz postojanja
inverznog elementa u P dobivamo b
−1
∈ P, pa je iz 6.1 a
_
b
−1
_
−1
= ab ∈ P.
Ako je P konaˇcan neprazan podskup od S dovoljno je ispitati samo prvi
uvjet iz teorema 6.3, tj. da je operacija zatvorena u P. O tome govori sljede´ca
propozicija, koja daje test za konaˇcne podgrupe.
Propozicija 6.4 Neka je (S, ◦) grupa i P neprazni konaˇcni podskup od
S. Ako je P zatvoren s obzirom na operaciju ◦, tada je struktura (P, ◦)
podgrupa grupe (S, ◦).
Dokaz ove propozicije moˇzete na´ci u [3], str. 351.
Zadatak 6.9 Pokaˇzite da su ¦[0] , [2], [4], [6]¦ , ¦[0] , [4]¦ podgrupe grupe (Z
8
,+), gdje je operacija u grupi zbrajanje modulo 8.
Zadatak 6.10 Pokaˇzite da je skup matrica oblika
_
1 a
0 1
_
, gdje su a ∈ Z ,
uz operaciju mnoˇzenja matrica grupa. Nadalje, ispiˇsite sve elemente gornjeg
262 6.2. GRUPE
skupa. Na kraju pokaˇzite da taj skup predstavlja podgrupu grupe regularnih
matrica drugog reda uz operaciju mnoˇzenja matrica.
U grupi G definiramo relaciju ∼ sa
a ∼ b ⇔a
−1
b ∈ P
gdje je P podgrupa od G. Tada je ∼ relacija ekvivalencije na G te postoji
particija skupa G u neprazne klase ekvivalencije. Te klase ekvivalencije su
oblika
bP = ¦a ∈ S[a = bx za neki x ∈ P¦
i zovemo ih lijevim koskupovima (engl. coset) od P s obzirom na element
b ∈ G.
Dakle, razliˇciti lijevi koskupovi ˇcine particiju od G. Ova ˇcinjenica ima
za posljedicu sljede´ci vaˇzan teorem, tzv. Lagrangeov teorem:
Teorem 6.5 Ako je G konaˇcna grupa reda n i P njena podgrupa reda m,
onda je m djelitelj od n.
Dokaz. Svi lijevi koskupovi imaju kardinalni broj jednak m, a budu´ci
da oni ˇcine particiju od G, jasno je da vrijedi m[n.
Do istog bismo rezultata doˇsli kad bismo umjesto lijevih koskupova
upotrebljavali desne koskupove.
Neka je sada a neki element grupe G = (S, ◦) . Postavlja se pitanje
koja je najmanja podgrupa od G koja sadrˇzi element a? Zbog svojstva
zatvorenosti, traˇzena podgrupa P treba sadrˇzavati sve pozitivne potencije
od a tj. elemente a
2
, a
3
, . . .. S druge strane, P treba sadrˇzavati sve njihove
inverzne elemente, tj. negativne potencije od a. Vrijedi sljede´ci teorem.
Teorem 6.6 Neka je G = (S, ◦) grupa i a ∈ S. Neka je nadalje H = ¦a
n
:
n ∈ Z¦. Struktura (H, ◦) je najmanja podgrupa od G koja sadrˇzi element a.
Zadatak 6.11 Detalje dokaza teorema napravite za vjeˇzbu.
Sukladno konstrukciji, grupu (H, ◦) zovemo cikliˇckom podgrupom od G
generiranom sa a.
U dva specijalna sluˇcaja cikliˇcke podgrupe generirane sa a su trivi-
jalne. Prvo, kada je podgrupa generirana neutralnim elementom ((¦e¦, ◦)).
I drugo, kada je G cikliˇcka grupa generirana elementom a onda je P = G.
Primjer 6.4 Promatramo grupu (Z
4
, +
4
) . Nadimo cikliˇcke podgrupe ge-
nerirane sa [2].
POGLAVLJE 6. ALGEBARSKE STRUKTURE 263
Imamo
0[2] = [0],
1[2] = [2],
2[2] = [2] + [2] = [0],
−1[2] = [2].
Dakle, traˇzena podgrupa je (¦[0], [2]¦, +
4
) .
Zadatak 6.12 Promatrajte grupu (Z
6
, +
6
) . Nadite cikliˇcke podgrupe ge-
nerirane sa [2], odnosno [3].
6.3 Izomorfizam grupa
Usporedivanjem pojedinih grupa, odnosno njihovih Cayleyevih tablica (za
konaˇcne grupe) moˇze se uoˇciti njihova suˇstinska jednakost. Znaˇci, ako bi
drugaˇcije oznaˇcili elemente jedne grupe dobili bismo drugu grupu. Za takve
grupe kaˇzemo da su izomorfne.
Definicija 6.5 Izomorfizam grupa (G, ) i (H, ◦) je bijekcija f : G → H
takva da vrijedi
f (g
1
g
2
) = f (g
1
) ◦ f (g
2
)
za sve g
1
, g
2
∈ G. Tada za grupe (G, ) i (H, ◦) kaˇzemo da su izomorfne i
piˇsemo (G, )

= (H, ◦) .
U prethodnoj definiciji izomorfizma traˇzili smo da je izomorfizam bijek-
cija, te da ˇcuva strukturu grupe.
Primjer 6.5 Izomorfne grupe su skup pozitivnih realnih brojeva uz opera-
ciju mnoˇzenja (R
+
, ) i grupa (R, +) . Izomorfizam tih grupa je, na primjer,
funkcija f (x) = lnx.
Znamo da je logaritamska funkcija bijekcija, pa da bi pokazali da je f
izomorfizam, trebamo provjeriti svojstvo 6.5. Dakle, treba biti f (x y) =
f (x) f (y) , za sve x, y ∈ R
+
. Uvrstimo li umjesto f zadanu logaritamsku
funkciju, imamo ln(xy) = lnx + lny. Dakle, vrijedi svojstvo zbog svojstva
logaritama, da je logaritam produkta jednak produktu logaritama.
Uoˇcimo da su obje grupe komutativne. Nadalje, neutralni element u
prvoj grupi je 1, a u drugoj 0, ali vrijedi f (1) = 0. Znaˇci neutralni se
element iz prve grupe preko izomorfizma preslikao u neutralni element iz
druge grupe.
Zadatak 6.13 Pokaˇzite da je funkcija f
−1
(x) = e
x
(inverz logaritamske
funkcije iz prethodnog zadatka) izomorfizam grupa (R, +) i (R
+
, ) .
264 6.3. IZOMORFIZAM GRUPA
Iz prethodnog primjera izlazi da je svaka logaritamska funkcija izomor-
fizam zadanim grupa, pa zakljuˇcujemo da izomorfizam, ako postoji, ne mora
biti jedinstven.
Dakle, da bismo pokazali da su dvije grupe izomorfne dovoljno je na´ci
jedan izomorfizam izmedu tih grupa. Problem je pokazati da dvije grupe
nisu izomorfne, jer ˇcinjenica da ne znamo na´ci izomorfizam ne povlaˇci nuˇzno
da on ne postoji. Stoga nam je vaˇzan sljede´ci teorem koji daje neka svoj-
stva izomorfnih grupa. Upotrebom ovog teorema moˇzemo uoˇciti svojstvo
koje jedna grupa ima, a druga nema, pa na temelju toga zakljuˇcujemo da
grupe nisu izomorfne. S druge strane, teorem nam daje neke informacije o
potencijalnom izomorfizmu izmedu grupa.
Teorem 6.7 Neka je f : G → H izomorfizam grupa (G, ) i (H, ◦) . Tada
vrijede sljede´ce tvrdnje:
1. Ako je (G, ) komutativna grupa, tada je i (H, ◦) komutativna grupa.
2. Ako je e neutralni element u (G, ), onda je f (e) neutralni element u
(H, ◦) .
3. Ako je a
−1
inverzni element od a u (G, ), onda je f
_
a
−1
_
inverzni
element od f (a) u (H, ◦) .
4. Inverzna funkcija f
−1
: H → G od f definira izomorfizam iz (H, ◦) u
(G, ) .
5. Ako je (G, ) cikliˇcka grupa, onda je i (H, ◦) cikliˇcka grupa.
6. Za a ∈ G vrijedi [a[ = [f (a)[ .
7. Ako je (G

, ) podrupa od G, onda je (H

= ¦f (a) : a ∈ G

¦ , ◦) pod-
grupa od (H, ◦) i te su dvije podgrupe izomorfne.
Govorimo da izomorfizam ˇcuva odredena svojstva grupe kao ˇsto su ko-
mutativnost, neutralni i inverzni element, zatim red elementa, podgrupe i
svojstvo cikliˇcnosti grupe.
S apstraktnog glediˇsta sve su izometriˇcne grupe medusobno jednake.
Tako, pojam izomorfizma predstavlja relaciju ekvivalencije, koja klasificira
sve grupe u klase medusobno izomorfnih grupa. Zbog toga ˇcesto pokazu-
jemo da je neka grupa izomorfna nekom standardnom predstavniku odredene
klase medusobno izomorfnih grupa. Prikladno je za standardne predstavnike
upotrebljavati cikliˇcke grupe.
Izmedu bilo koje dvije algebarske strukture (A, ◦) i (B, ) moˇzemo pro-
matrati preslikavanje f : A → B, kojeg zovemo morfizmom ukoliko vrijedi
svojstvo 6.5 iz definicije izomorfizma. Uoˇcite da se morfizam razlikuje od
izomorfizama u tome ˇsto morfizam ne mora biti bijekcija izmedu zadanih
skupova. Dakle, morfizam je op´cenitiji pojam od izomorfizma.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 265
Sljede´ci teorem govori o naˇcinu prenoˇsenja struktura grupe preko pres-
likavanja koje je morfizam.
Teorem 6.8 Neka je (A, ◦) grupa, (B, ) algebarska struktura i f : A →
f (A) ⊆ B morfizam. Tada je i (f (A) , ) grupa.
Zadatak 6.14 Dokaˇzite prethodni teorem.
Zadatak 6.15 Zadane su aditivna i multiplikativna grupa kongruencija
(Z
6
, +
6
) i (Z
7
¸ ¦[0]¦,
6
) .
1. Napravite Cayleyeve tablice za obje grupe.
2. Ispitajte da li su te grupe izomorfne, te ako jesu pronadite barem jedan
izomorfizam medu njima.
6.4 Primjena grupa u kodiranju
U ovom ´cemo poglavlju objasniti jednu od brojnih mogu´cih primjena dis-
kretne matematike, koju obraduje i ova knjiga, na podruˇcje informatike.
Jedan od zadataka informatike je komunikacija (prijenos) podataka s
jednog mjesta na drugo. Ponekad se taj prijenos izvrˇsava na malim udalje-
nostima, primjerice unutar memorije istog raˇcunala, a drugi puta se infor-
macije trebaju prenijeti na svemirsku letjelicu, milijune kilometara udaljenu
od Zemlje. Medutim, u svim sluˇcajevima cilj nam je da dobijemo informa-
ciju koju smo i poslali, tj. da ona nema pogreˇsaka. Poznato je da je to
zbog niza faktora, koji utjeˇcu na informaciju tijekom prijenosa, ˇcesto teˇsko
izvedivo.
Ovdje ´cemo prikazati kako se pogreˇska nastala u prijenosu moˇze detek-
tirati i ispraviti. Pri tome ´cemo koristiti popriliˇcan matematiˇcki aparat.
Nabrojimo samo naprednija znanja ovdje potrebna: grupe, metrika (udalje-
nost), kongruencija, algebra matrica, rjeˇsavanje homogenog sustava linear-
nih jednadˇzbi, itd.
6.4.1 Teorija kodiranja kao grana matematike
Op´cenito, ˇzelimo li toˇcno interpretirati signal, sluˇzimo se s barem tri znan-
stvena podruˇcja: elektriˇcnim inˇzenjerstvom, raˇcunarstvom i matematikom.
U matematici taj problem obraduje teorija kodiranja (eng. coding the-
ory). Dakle, teorija kodiranja je grana matematike koja se bavi slanjem
podataka kroz komunikacijski kanal, u kojem postoje smetnje koje utjeˇcu
na prijenos, te toˇcnom interpretacijom poslanih podataka. Za razliku od
kriptografije koja se trudi zadrˇzati informaciju u obliku teˇskom za ˇcitanje
266 6.4. PRIMJENA GRUPA U KODIRANJU
(neautoriziranim subjektima), teorija kodiranja nam pomaˇze da informaciju
ˇsto lakˇse proˇcitamo.
U ovoj smo knjizi ve´c govorili o kodiranju (Huffmanov kod), a ovdje
´cemo govoriti o detektiranju i ispravljanju pogreˇsaka.
Pretpostavljamo da se poruka ˇsalje u binarnom obliku (nizovi 0 i 1), te
se pogreˇske pri prijenosu javljaju nasumiˇcno, ali u predvidljivom opsegu.
Da bi kompenzirali te pogreˇske ˇsaljemo viˇse bitova od onih pomo´cu kojih je
zapisana originalna poruka.
Najjednostavnija metoda detekcije pogreˇsaka je upotreba paritetnog ko-
da (eng. parity code), koji ˇsalje jedan dodatni bit na svakih 7 bitova origi-
nalne poruke. Medutim, tom metodom mogu se samo uoˇciti neke pogreˇske,
ali nije ih mogu´ce ispraviti, pa poruku treba slati ponovno.
Joˇs jedna jednostavna metoda detekcije pogreˇsaka sastoji se u tome
da se svaki bit ponovi odredeni broj puta. Ta metoda, s druge strane,
bitno pove´cava troˇskove prijenosa poruke, jer se po toj shemi multipli-
Slika 6.2: Richard Wesley
Hamming
cira broj bitova. U svrhu rjeˇsavanja tog problema,
1948. godine je Claude Shannon, koji je radio za
Bell Laboratories, udario temelje teorije kodiranja,
dokazuju´ci da je mogu´ce kodirati poruku tako da
broj dodatnih bitova ostane relativno mali. Nje-
gov doprinos nije imao praktiˇcnih implikacija, ali
je zato 1950. godine njegov kolega iz Bell Labo-
ratories, Richard Hamming zapoˇceo prouˇcavanje
kodova koji dopuˇstaju ispravljanje pogreˇsaka. On
je pronaˇsao kod u kojem je informacija od 4 bita
bila dopunjena s tri dodatna bita, a kod je dozvo-
ljavao i detekciju i korekciju pogreˇsaka.
Istovremeno kad i spomenuta dva znanstvenika iz
SAD-a, na Cambridgeu je na teoriji kodiranja radio John Leech. On je
izumio sliˇcan kod rade´ci na apstraktnoj teoriji grupa. To je istraˇzivanje
ukljuˇcivalo i problem pakiranja na sferi, te 24-dimenzionalnu Leech mreˇzu,
pomo´cu koje su objaˇsnjene i klasificirane konaˇcne simetriˇcne grupe.
Vaˇznost teorije kodiranja ubrzo je uoˇcena te je naˇsla brojne primjene.
Primjerice, u razdoblju od 1969. do 1973. NASA Mariner bespilotne letjelice
istraˇzivale su Mars, Veneru, Merkur (viˇse informacija na [13]), a pri prijenosu
impresivnih slika i drugih informacija na Zemlju upotrebljavale su Reed–
Mullerov kod. Taj kod moˇze ispraviti 7 pogreˇsaka u 32 prenesena bita, a
sastoji se od 26 bitova poruke i samo 6 bitova korektivnog koda. U tom je
prijenosu 16000 bitova u sekundi sigurno stizalo na Zemlju.
Nadalje, teorija kodiranja je svoju primjenu naˇsla u razvoju tehnologije
CD-ova, na kojima se signal takoder kodira digitalno. Da bi se diskovi
zaˇstitili od oˇste´cenja kodira se pomo´cu koda koji ima mogu´cnost ispravljanja
pogreˇsaka.
U posljednjih nekoliko godina pronaden je i eksplicitni kod koji dostiˇze
POGLAVLJE 6. ALGEBARSKE STRUKTURE 267
granice predvidene u Shannonovom radu. Konstrukcija tog koda zahtjeva
tehnike iz vrlo ˇsirokog podruˇcja teorijske matematike: od linearne algebre,
teorije polja i algebarske geometrije, do algebarskih struktura.
Viˇse o teoriji kodiranja moˇzete na´ci u [9].
6.4.2 Problemi prijenosa informacija
Pretpostavimo da se svi podaci prikazuju kao nizovi nula i jedinica, tj. kao
rijeˇci abecede ¦0, 1¦ . Takve rijeˇci zovemo binarnim rijeˇcima, a njihove di-
jelove (nule i jedinice) bitovima. Nadalje, razumljive su sljede´ce pretpostavke
koje se odnose na nastanak pogreˇske kod prijenosa podataka. Prvo, pogreˇska
nastaje zato jer se 0 pretvori u 1, ili obrnuto, na jednom ili viˇse mjesta u
rijeˇci. Drugo, jednaka je vjerojatnost da se 0 pretvori u 1, kao i da se 1
pretvori u 0, (iako u praksi to ˇcesto nije tako, za teorijska razmatranja uzi-
ma se to kao pretpostavka). Pogreˇska na jednom bitu ne utjeˇce na nastanak
pogreˇske na nekom drugom bitu i jednaka je vjerojatnost nastanka pogreˇske
na bilo kojem bitu. Na kraju, ve´ca je vjerojatnost manjeg broja pogreˇsaka,
nego ve´ceg broja pogreˇsaka.
Neka sada prenosimo rijeˇci iz skupa svih rijeˇci duljine 4 i da se pri tome
rijeˇc 0011 greˇskom promijenila u 0010. Tu pogreˇsku ne bismo mogli detek-
tirati jer i ova deformirana rijeˇc postoji u skupu iz kojeg uzimamo rijeˇci.
Dakle, moˇzemo uoˇciti samo one pogreˇske na rijeˇcima kod kojih dobivena
pogreˇsna rijeˇc nije iz skupa oˇcekivanih rijeˇci. Pretpostavimo sada da rijeˇci
uzimamo iz skupa R = ¦0000, 0001, 0011, 0101, 0111, 1010, 1101, 1111¦. Rijeˇc
0011 je element skupa R dok 0010 nije, pa znamo da se radi o pogreˇsci,
iako ne znamo na kojem je bitu pogreˇska i da li je pogreˇska samo na jed-
nom bitu. S druge strane, prema pretpostavkama navedenim u prethod-
nom odjeljku, znamo da je najvjerojatnije nastala pogreˇska na jednom bitu,
pa je poslana rijeˇc najvjerojatnije 0011 ili 1010, ali ne znamo koja, jer su
rijeˇci skupa R previˇse sliˇcne jedna drugoj. Medutim, promatramo li skup
R

= ¦0000, 0001, 0011, 0101, 0111, 1101, 1111¦, gornju pogreˇsku moˇzemo de-
tektirati i ispraviti.
Cilj nam je vidjeti koje uvjete treba zadovoljavati skup rijeˇci da bi uvijek
bilo mogu´ce detektirati i ispraviti pogreˇsku na jednom ili n kodova.
6.4.3 Metrika na kodnim rijeˇcima
Da bi taj cilj postigli prvo moramo uvesti metriku na skupu svih binarnih
rijeˇci. Tu metriku, koja nam omogu´cuje mjerenje stupnja razliˇcitosti dviju
rijeˇci, zovemo Hammingovom udaljenoˇs´cu, prema Richardu Hammingu koji
je sredinom dvadesetog stolje´ca utemeljio teoriju detekcije i ispravljanja
pogreˇsaka u prijenosu podataka.
Ponovimo da svaka funkcija d : S S → R
+
∪ ¦0¦, koja predstavlja
metriku (udaljenost) na skupu S, u matematiˇckom smislu treba zadovolja-
268 6.4. PRIMJENA GRUPA U KODIRANJU
vati sljede´ce aksiome metrike ([7]). Za svaki izbor x, y, z ∈ S vrijedi:
1. d (x, y) ≥ 0 (pozitivna definitnost),
2. d (x, y) = 0 akko x = y (nedegeneriranost),
3. d (x, y) = d (y, x) (simetriˇcnost),
4. d (x, z) ≤ d (x, y) +d (y, z) (nejednakost trokuta).
Sljede´ca definicija uvodi metriku na skup R
n
svih binarnih rijeˇci duljine
n.
Definicija 6.6 Hammingova udaljenost d (x, y) dviju binarnih rijeˇci x, y
jednake duljine n, je broj bitova u kojima se x i y razlikuju.
Zadatak 6.16 Provjerite da li Hammingova udaljenost zadovoljava aksio-
me metrike?
Primijetimo da je za otkrivanje i ispravljanje pogreˇsaka vaˇzno da rijeˇci
iz skupa rijeˇci budu dosta ”razmaknute”, tj. da im je udaljenost ˇcim ve´ca.
Nadalje, prije slanja podataka, rijeˇcima se dodaje jedan ili viˇse bitova na
kraju rijeˇci i ti dodatni bitovi sluˇze korekciji pogreˇsaka. Stoga se oni i zovu
kontrolni bitovi (eng. check digits). Dakle, ako je informacija sadrˇzana u
rijeˇci duljine m, na nju se dodaje r kontrolnih bitova, pa rijeˇc koja se prenosi
ima duljinu n = m + r. Sada funkciju E : R
m
→ R
n
sa skupa svih rijeˇci
duljine m u skup svih rijeˇci duljine n nazivamo kodiraju´com funkcijom (eng.
encoding function), a rijeˇci iz R
n
zovemo kodnim rijeˇcima (eng. code-
word). Jasno je da je funkcija E injekcija. Definiramo i funkciju D : R
n

R
m
∪ ¦pogreˇ ske¦, koju nazivamo dekodiraju´com funkcijom (eng. decoding
function). Kad ne bi bilo pogreˇsaka, funkcije D i E bi bile medusobno in-
verzne. Skup kodnih rijeˇci je pravi podskup skupa svih binarnih rijeˇci duljine
n, pa postoje elementi iz R
n
koji ne predstavljaju kodne rijeˇci. Kod prijema
rijeˇci treba prona´ci najbliˇzu rijeˇc i s njom je identificirati. Ovo je dekodi-
ranje po principu ”najbliˇzeg susjeda”. Problem je ve´ci ako takav ”najbliˇzi
susjed” nije jedinstven.
Ponovimo, proces kodiranja i dekodiranja se sastoji od funkcija E :
R
m
→ R
n
i D : R
n
→ R
m
∪ ¦pogreˇ ske¦, a ˇcesto se zove i (m, n) blok
kod. Blok kod je sistematiˇcan (eng. systematic block code) ako je za dani
x ∈ R
m
, prvih m bitova jednako bitovima od x (u istom poretku). Ovdje
´cemo govoriti samo o sistematiˇcnim blok kodovima.
Najˇceˇs´ci oblik kodiranja je kodiranje pomo´cu kontrolnog koda koji se
sastoji od jednog bita i on je ili 0 ili 1, a bira se tako da ukupni broj jedinica
u kodnoj rijeˇci bude paran broj (eng. even parity check code). Dakle,
kodni blok je (m, m+ 1) . Kod ove vrste kodiranja otkiva se pogreˇska koja
je nastala u jednom bitu, ali se ne´ce znati koji je bit promijenjen.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 269
Traˇzimo takvo kodiranje kod kojeg ´ce se mo´ci otkriti k ili manje od k
pogreˇsaka i njega zovemo detektorom k pogreˇsaka (eng. k-error detecting),
kodiranje u kojem ´cemo mo´ci ispraviti k ili manje od k pogreˇsaka. Takvo
kodiranje zovemo korektorom k pogreˇsaka (eng. k-error correction). Dakle,
kodiranje opisano u prethodnom odjeljku, koje se temelji na parnom broju
jedinica, je detektor jedne pogreˇske i korektor 0 pogreˇsaka.
Ranije smo uoˇcili da mogu´cnost otkrivanja i ispravljanja pogreˇsaka ovisi
i o udaljenosti medu rijeˇcima. U tu svrhu definiramo minimalnu udaljenost
kodova kao minimum svih udaljenosti medu parovima kodova.
Slijede teoremi koji upotrebom pojma minimalne udaljenosti, daju uvje-
te da bi kod bio detektor k pogreˇsaka, odnosno korektor k pogreˇsaka.
Minimalna udaljenost koda definira se kao minimum udaljenosti izmedu
parova kodnih rijeˇci.
Teorem 6.9 Kod je detektor k pogreˇsaka ako i samo ako mu je minimalna
udaljenost koda najmanje k + 1.
Dokaz. Znamo da se pogreˇska u kodnoj rijeˇci moˇze uoˇciti samo ako zbog
pogreˇske nismo dobili neku drugu kodnu rijeˇc. Dakle, ako je promijenjeno k
bitova, ne smije postojati kodna rijeˇc koja se od poslane razlikuje u k bitova.
Drugim rijeˇcima, to znaˇci da minimalna udaljenost rijeˇci treba biti ve´ca od
k.
Teorem 6.10 Kod je korektor k pogreˇsaka ako i samo ako mu je minimalna
udaljenost najmanje 2k + 1.
Dokaz. Dokaz se provodi upotrebom svojstava metrike. Ovdje ´cemo
dokazati samo jedan smjer teorema, a drugi ostavljamo za vjeˇzbu.
Pretpostavimo da je kod korektor k pogreˇsaka, te ˇzelimo dokazati da je
tada minimalna udaljenost svakog para kodnih rijeˇci najmanje 2k + 1.
Dokaz provodimo metodom suprotnog. Pretpostavimo da postoji par
kodnih rijeˇci x, y ˇcija je udaljenost manja od 2k + 1. Piˇsemo d (x, y) ≤ 2k,
ali po prethodnom teoremu imamo d (x, y) ≥ k + 1, pa vrijedi
k + 1 ≤ d (x, y) ≤ 2k.
Pretpostavimo sada da je na rijeˇci x napravljeno k pogreˇsaka i da je
primljena rijeˇc x

, pa vrijedi d (x, x

) = k. Ako je svaka pogreˇsaka nastala
baˇs u znamenkama u kojima se x i y razlikuju, vrijedi da je d (x

, y) ≤ k, pa
je x

jednako udaljen od x i y, te ne moˇze biti dekodiran.
6.4.4 Grupa koda
Sada ´cemo formirati grupu na skupu svih kodnih rijeˇci. Da bi to mogli
uˇciniti definirajmo, prvo, operaciju zbrajanja kodnih rijeˇci na skupu R
n
svih
kodnih rijeˇci od n bitova. Dogovorno ´cemo kodne rijeˇci ponekad zapisivati
270 6.4. PRIMJENA GRUPA U KODIRANJU
kao uredene n-torke kako bismo jasno razdvojili pojedine bitove. Kad nema
opasnosti da se pomijeˇsaju bitovi, kodne rijeˇci ´cemo i dalje prikazivati kao
nizove (bez zareza izmedu bitova).
Definicija 6.7 Neka su x, y ∈ R
n
i x = (x
1
, x
2
, ..., x
n
) , y = (y
1
, y
2
, ..., y
n
) .
Zbroj kodnih rijeˇci x i y je kodna rijeˇc x ⊕y ∈ R
n
, definirana sa
x ⊕y = (x
1
+
2
y
1
, x
2
+
2
y
2
, ..., x
n
+
2
y
2
) .
Dakle, kodne se rijeˇci zbrajaju tako da se zbroje komponente kodnih
rijeˇci pomo´cu zbrajanja modulo 2. Zbrajanje modulo 2 nam osigurava da
´ce bitovi biti 0 ili 1.
Primjer 6.6 Zbrojimo kodne rijeˇci:
10011011 ⊕10001110 = 00010101.
Zadatak 6.17 Zbrojite sljede´ce kodne rijeˇci:
1. 11001 ⊗01011,
2. 010101 ⊕101010.
Zbog zbrajanja modulo 2, znamo da ´ce zbroj biti jedinica ako se na ko-
respodentnim mjestima bitovi razlikuju, a dobit ´cemo nulu ako su bitovi
koji se zbrajaju jednaki. Ovo svojstvo nam omogu´cava identifikaciju ra-
zliˇcitih bitova u kodnim rijeˇcima. Zbrojimo li jedinice u kodnoj rijeˇci, koja
predstavlja zbroj dviju kodnih rijeˇci, dobit ´cemo udaljenost tih kodnih rijeˇci.
Definicija 6.8 Teˇzina rijeˇci (eng. weight) x je broj w(x) , koji kazuje
koliko jedinica ima u toj rijeˇci, tj. za x = (x
1
, x
2
, ..., x
n
) teˇzina je
w(x) =
n

i=1
x
i
.
Propozicija 6.5 Udaljenost rijeˇci x, y ∈ R
n
je dana s:
d (x, y) = x ⊕y. (6.2)
Kod za koji je skup kodnih rijeˇci grupa s obzirom na zbrajanje kodnih
rijeˇci zovemo grupa kodova (eng. group code). Nadalje, kod koji je zatvoren
s obzirom na operaciju ⊕ zovemo linearni kod (vidi [1], str. 341). Ekviva-
lentno, kod je linearan ako i samo ako predstavlja podgrupu od R
n
. Dakle,
termini grupa kodova i linearni kod su sinonimi jer se radi o konaˇcnim gru-
pama. Prema Lagrangeovom teoremu, iz ˇcinjenice da kodne rijeˇci ˇcine grupu
C, koja je podgrupa od R
n
, slijedi da je red C grupe C djelitelj od 2
n
.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 271
Zadatak 6.18 Dokaˇzite da je (R
n
, ⊕) grupa.
Ako ste rijeˇsili prethodnu vjeˇzbu znate da je (R
n
, ⊕) grupa. Medutim,
znamo da su u tom skupu rijeˇci vrlo sliˇcne, pa nema smisla koristiti taj
skup kod identifikacije i ispravljanja pogreˇsaka. Potrebno je da minimalna
udaljenost kodnih rijeˇci bude ve´ca od 1. Prisjetimo se da bi u svrhu nalaˇzenja
minimalne udaljenosti unutar skupa trebalo izraˇcunati udaljenosti svih pa-
rova kodnih rijeˇci, ˇsto je u sluˇcaju skupa s ve´cim brojem elemenata dug
proces.
U svrhu skra´civanja tog postupka, uvedimo raˇcunanje udaljenosti pomo-
´cu zbrajanja kodnih rijeˇci kao ˇsto je dano u formuli 6.2. Nadalje, ukoliko je
skup kodova grupa, tada se minimalna udaljenost moˇze dobiti kao minimalna
teˇzina svih kodnih rijeˇci, koje se ne sastoje od samih nula. Kodnu rijeˇc koja
se sastoji od samih nula oznaˇcavamo s 0. To je sadrˇzaj sljede´ceg teorema.
Teorem 6.11 Minimalna udaljenost kodnih rijeˇci u grupi kodova je jednaka
minimalnoj teˇzini svih kodnih rijeˇci, koje se ne sastoje od samih nula.
Dokaz. Neka je m minimalna udaljenost kodnih rijeˇci u skupu S. To
znaˇci da postoje dvije kodne rijeˇci x i y takve da je
m = d (x, y) = w(x ⊕y) .
Zbog svojstva zatvorenosti u grupi znamo da je x⊕y ∈ S. Ako je n minimalna
teˇzina rijeˇci, koje se ne sastoje od samih nula, u grupi, tada vrijedi:
w(x ⊕y) ≥ n.
Dakle m ≥ n.
S druge strane, uoˇcimo da je 0 neutralni element u grupi, te da za svaki
x ∈ S vrijedi x ⊕x = 0. Imamo x ⊕0 = x za svaki x ∈ S, pa je
d (x, 0) = w(x ⊕0) = w(x) .
Uzmimo specijalno da je z rijeˇc minimalne teˇzine, tj. w(z) = n. Sada
imamo n = d (z, 0) ≥ m.
Dokazali samo da je i n ≥ m, tako da moˇzemo zakljuˇciti da je m = n.
Zadatak 6.19 Neka je C grupa kodova. Pokaˇzite da je podskup od C u
kojem su sve kodne rijeˇci parne teˇzine, grupa kodova. Nadalje, dokaˇzite da
ili sve kodne rijeˇci u C imaju parne teˇzine ili njih toˇcno polovica ima parne
teˇzine.
272 6.4. PRIMJENA GRUPA U KODIRANJU
6.4.5 Matrica izvodnica kodiraju´ce funkcije
Uvedimo sada reprezentaciju kodiraju´ce funkcije E : R
m
→ R
n
pomo´cu
matrice G tipa (m, n) , ˇciji su elementi nule i jedinice. Takvu matricu zovemo
matrica izvodnica (eng. generator matrix) za kod. Da bi kodirali rijeˇc od
m bitova, rijeˇc predstavimo kao uredenu m-torku (jednoreˇcanu matricu) i
mnoˇzimo je modulo 2 matricom izvodnicom. Naglasimo da su sve operacije
zbrajanja i mnoˇzenja, zbrajanje i mnoˇzenje modulo 2.
Za sistematiˇcne kodove vrijedi da je prvih m bitova u kodnoj rijeˇci jed-
nako rijeˇci koju smo kodirali, pa prvih m redaka i m stupaca matrice G ˇcini
jediniˇcnu matricu m-tog reda.
Primjer 6.7 Neka je matrica izvodnica dana s:
G =
_
¸
¸
_
1 0 0 0 1 0 1 0
0 1 0 0 0 1 1 0
0 0 1 0 1 1 0 1
0 0 0 1 0 0 0 1
_
¸
¸
_
.
Ona prikazuje kodiraju´cu funkciju E : R
4
→ R
8
. Dakle, rijeˇci 1000
pridruˇzena je kodna rijeˇc 10001010. Pitamo se, koja je kodna rijeˇc E (1101)
pridruˇzena rijeˇci 1101? Odgovor bismo dobili tako da pomnoˇzimo jed-
noreˇcanu matricu
_
1 1 0 1
¸
matricom G kao ˇsto slijedi
E (1101) =
_
1 1 0 1
¸
_
¸
¸
_
1 0 0 0 1 0 1 0
0 1 0 0 0 1 1 0
0 0 1 0 1 1 0 1
0 0 0 1 0 0 0 1
_
¸
¸
_
E (1101) =
_
1 1 0 1 1 1 0 1
¸
.
Uzmimo sada da kodiramo neku op´cenitu rijeˇc x = x
1
x
2
x
3
x
4
i pri tome
dobijemo kodnu rijeˇc u = u
1
u
2
...u
8
. Imamo
E (1101) =
_
x
1
x
2
x
3
x
4
¸
_
¸
¸
_
1 0 0 0 1 0 1 0
0 1 0 0 0 1 1 0
0 0 1 0 1 1 0 1
0 0 0 1 0 0 0 1
_
¸
¸
_
E (1101) =
_
x
1
x
2
x
3
x
4
x
1
+
2
x
3
x
2
+
2
x
3
x
1
+
2
x
2
x
3
+
2
x
4
¸
.
Sada je
u
1
= x
1
u
2
= x
2
u
3
= x
3
u
4
= x
4
u
5
= x
1
+
2
x
3
u
6
= x
2
+
2
x
3
u
7
= x
1
+
2
x
2
u
8
= x
3
+
2
x
4
,
POGLAVLJE 6. ALGEBARSKE STRUKTURE 273
ˇsto, uz uvaˇzavanje da je 0 +
2
0 = 0 i 1 +
2
1 = 0, vodi do homogenog sustava
linearnih jednadˇzbi
u
1
+
2
u
3
+u
5
= 0
u
2
+
2
u
3
+u
6
= 0
u
1
+
2
u
2
+
2
u
7
= 0
u
3
+
2
u
4
+
2
u
8
= 0.
Matrica tog homogenog sustava je
K =
_
¸
¸
_
1 0 1 0 1 0 0 0
0 1 1 0 0 1 0 0
1 1 0 0 0 0 1 0
0 0 1 1 0 0 0 1
_
¸
¸
_
i nju zovemo kontrolnom matricom (eng. parity check matrix), budu´ci da
za svaku pravilno prenesenu kodnu rijeˇc u mora vrijediti
Ku
T
= O, (6.3)
gdje je O nul matrica tipa (4, 1) .
Ispitajmo joˇs u kakvoj su medusobnoj ovisnosti matrice G i K. Uoˇcimo
da se G moˇze prikazati pomo´cu particije G = [I
m
A] , te da je tada pripadna
kontrolna matrica K =
_
A
T
I
m
¸
.
To je bit sljede´ceg teorema.
Teorem 6.12 Neka je kodiraju´ca funkcija E : R
m
→R
n
prikazana pomo´cu
matrice izvodnice Gtipa (m, n) i matrica izvodnica je takva da je G = [I
m
A] .
Tada vrijedi:
1. E (x) = xG, ∀x ∈ R
m
,
2. Ku
T
= O, ∀u ∈ R
n
, gdje je K =
_
A
T
I
m
¸
.
Dokaz. Dokaˇzimo sada da formula 6.3 vrijedi op´cenito za bilo koju
kodnu rijeˇc u.
Za u ∈ R
n
uvijek postoji rijeˇc x ∈ R
m
takva da je u = xG. Sada je
Ku
T
= K (xG)
T
= (sv. transp. produkta matrica (AB)
T
= B
T
A
T
)
= K
_
G
T
x
T
_
= (asocijativnost mnoˇzenja matrica) A(BC) = (AB)
=
_
KG
T
_
x
T
= (uzimamo particije od K i G)
=
_
A
T
I
m
¸
_
I
m
A
_
x
T
= (mnoˇzenje blokova u matricama)
=
_
A
T
+
2
A
¸
x
T
= O
(n−m,m)
x
T
= O
(n−m,1)
.
274 6.4. PRIMJENA GRUPA U KODIRANJU
Zadatak 6.20 Pokaˇzite da, u uvjetima prethodnog dokaza, vrijedi A
T
+
2
A = O
(n−m,m)
.
Zadatak 6.21 Neka je matrica izvodnica dana s
G =
_
_
1 0 0 0 1 0 1
0 1 0 0 0 1 1
0 0 1 1 1 0 0
_
_
.
Ona prikazuje kodiraju´cu funkciju E : R
3
→R
7
.
1. Nadite E (101) .
2. Nadite kontrolnu matricu K.
3. Provjerite da li je kodna rijeˇc 1011101 dobro prenesena?
Teorem 6.13 Neka je E : R
m
→ R
n
kodiraju´ca funkcija takva da je
E (x) = xG, gdje je G matrica izvodnica. Skup svih kodnih rijeˇci E (R
m
) je
grupa uz operaciju zbrajanja modulo 2.
Dokaz. Budu´ci je (R
m
, ⊕) grupa, prema teoremu 6.8 dovoljno je poka-
zati da je E morfizam, tj. da za sve x, y ∈ R
m
vrijedi
E (x ⊕y) = E (x) ⊕E (y) .
Raˇcunamo:
E (x ⊕y) = (x ⊕y) G = xG⊕yG
= E (x) ⊕E (y) .
Na kraju ove toˇcke pokazat ´cemo u kakvoj su vezi minimalna teˇzina
kodnih rijeˇci u grupi kodova i kontrolne matrice.
Uzmimo da je K kontrolna matrica tipa (r, n) , gdje je r = n − m, te
da su stupci matrice K oznaˇceni s K
1
, K
2
, ..., K
n
. Pretpostavimo da je u
k stupaca zbroj elemenata u pripadnim recima jednak nuli, te oznaˇcimo
te stupce sa K
i
1
, K
i
2
, ..., K
i
k
. Rijeˇc u, koja ima m bitova i jedinice na mjes-
tima i
1
, i
2
, ..., i
k
, a na ostalim mjestima nule zadovoljava matriˇcnu jednadˇzbu
Ku
T
= O i ona je kodna rijeˇc. Vrijedi i obrat, tj. ako kodna rijeˇc ima je-
dinice na mjestima i
1
, i
2
, ..., i
k
, a na ostalim mjestima nule, tada stupci pod
brojevima i
1
, i
2
, ..., i
k
imaju zbroj jednak nuli.
Dakle, zakljuˇcujemo da je minimalna teˇzina koda definiranog pomo´cu
matrice izvodnice G, jednaka minimalnom broju stupaca od K ˇcija je suma
jednaka nuli. Budu´ci da je kod definiran pomo´cu matrice izvodnice grupa
znaˇci da je minimalna teˇzina koda jednaka minimalnoj udaljenosti kodnih
rijeˇci, pa je vaˇzna kod pronalaˇzenja i ispravljanja pogreˇsaka kod kodova.
Postoji jedinstveni teorem koji govori o uvjetima koje mora zadovoljavati
matrica K da bi kod ispravljao barem jednu pogreˇsku.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 275
Teorem 6.14 Ako ne postoji stupac od K koji se sastoji od samih nula i
nijedna dva stupca nisu jednaka, onda kod definiran s K ispravlja barem
jednu pogreˇsku.
Dokaz. Dokaz napravite sami za vjeˇzbu.
Primjer 6.8 Vratimo se primjeru 6.7 u kojem je kodiraju´ca funkcija E :
R
4
→R
8
dana pomo´cu matrice izvodnice G. Kontrolna matrica je
K =
_
¸
¸
_
1 0 1 0 1 0 0 0
0 1 1 0 0 1 0 0
1 1 0 0 0 0 1 0
0 0 1 1 0 0 0 1
_
¸
¸
_
.
Nadimo minimalnu teˇzinu koda u ovom primjeru.
Budu´ci da nema stupaca u kojima su same nule, kao ni jednakih stupaca,
minimalna teˇzina je barem 3. Ispitajmo da li je mogu´ce zbrojiti modulo 2
bilo koja tri stupca tako da im suma bude jednoretˇcana nulmatrica. To
je mogu´ce posti´ci, na primjer, zbrajanjem prvog, petog i sedmog stupca.
Zakljuˇcujemo da je minimalna teˇzina u grupi kodova jednaka 3, pa je i mini-
malna udaljenost jednaka 3. Znaˇci da je op´cenito mogu´ce prona´ci pogreˇsku
u dva bita i ispraviti je u jednom bitu.
Zadatak 6.22 Neka je matrica izvodnica dana s
G =
_
_
1 0 0 1 1 0
0 1 0 1 0 1
0 0 1 0 1 1
_
_
.
Ona prikazuje kodiraju´cu funkciju E : R
3
→R
6
.
1. Nadite E (011) .
2. Nadite kontrolnu matricu K.
3. Provjerite da li je kodna rijeˇc 101011 dobro prenesena?
4. Nadite minimalnu teˇzinu ove grupe kodova.
6.5 Prsteni i polja
Na danom skupu mogu´ce je definirati viˇse razliˇcitih operacija. Pri tome
te operacije mogu, ali i ne moraju imati strukturu grupe. Tako se na
skupu realnih brojeva moˇze osim operacije zbrajanja, definirati i operacija
mnoˇzenja realnih brojeva. Izbacimo li nulu iz skupa realnih brojeva i ope-
racija mnoˇzenja ima svojstva grupe. S druge strane definiramo li mnoˇzenje
276 6.5. PRSTENI I POLJA
na skupu cijelih brojeva, tada (Z¸ ¦0¦ , ) nije grupa, jer ne postoji in-
verzni element za mnoˇzenje u skupu cijelih brojeva. Inverzni element cijelog
broja n bio bi
1
n
, a to op´cenito nije cijeli broj. Medutim (Z, ) ima svoj-
stvo zatvorenosti, asocijativnosti, a postoji i jedinica (neutralni element za
mnoˇzenje). Takvu strukturu op´cenito zovemo prsten.
6.5.1 Prsten
U ovoj toˇcki ´cemo navesti formalnu definiciju prstena, a u sljede´coj najpoz-
natije primjere prstena. Joˇs jedan vaˇzniji primjer prstena (prsten polinoma)
obradit ´cemo u posebnoj toˇcki na kraju ovog poglavlja.
Definicija 6.9 Neka je S neprazan skup na kojem su definirane dvije bina-
rne operacije ◦ i , koje zadovoljavaju sljede´ca svojstva:
1. (S, ◦) je komutativna grupa.
2. Operacija ima svojstvo zatvorenosti, asocijativnosti, a postoji i je-
dinica (neutralni element za operaciju ).
3. Vrijede svojstva distributivnosti, tj. za svaki a, b, c ∈ S vrijedi:
a (b ◦ c) = (a b) ◦ (a c) ,
(a ◦ b) c = (a c) ◦ (b c) .
Tada strukturu (S, ◦, ) nazivamo prstenom. Ako je operacija joˇs i ko-
mutativna govorimo o komutativnom prstenu.
ˇ
Cesto se umjesto a b piˇse ab, ali treba imati na umu da to moˇze
oznaˇcavati bilo kakvu operaciju na bilo kojem skupu. Nadalje, neutralni
element za operaciju ◦ ´cemo oznaˇcavati sa 0, a neutralni element od s 1.
6.5.2 Primjeri prstena
1. Struktura (Z, +, ) je prsten cijelih brojeva uz operacije standardnog
zbrajanja i mnoˇzenja.
2. Skup kvadratnih matrica drugog reda, ˇciji su elementi cijeli brojevi
uz operacije zbrajanja matrica i mnoˇzenja matrica je prsten. Primi-
jetite da operacija mnoˇzenja matrica nije komutativna, pa ovo nije
komutativni prsten.
3. Neka je Z
m
skup razliˇcitih klasa ekvivalencije s obzirom na relaciju
kongruencije modulo m na Z. Prisjetimo se da su elementi od Z
m
pod-
skupovi od Z. Na Z
m
su definirane operacije zbrajanja ⊕ i mnoˇzenja
⊗ na sljede´ci naˇcin:
[x]
m
⊕[y]
m
= [x +y]
m
, [x]
m
⊗[y]
m
= [xy]
m
.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 277
Pokazuje se da je (Z
m
, ⊕, ⊗) prsten.
Zadatak 6.23 Provjerite da gornje operacije imaju traˇzena svojstva.
U prstenu P pojedini elementi mogu imati multiplikativni inverz tj. in-
verz s obzirom na operaciju . Ako element x ima inverz y tada vrijedi
xy = 1 i yx = 1. Uobiˇcajena je oznaka x
−1
za inverz od x. Znamo da ukoliko
inverz postoji on je jedinstven.
Zadatak 6.24 Nadite sve cijele brojeve koji imaju multiplikativni inverz s
obzirom na standardnu operaciju mnoˇzenja.
Primjer 6.9 Nadite sve kvadratne matrice drugog reda, ˇciji su elementi
cijeli brojevi, koje imaju multiplikative inverze.
Neka je A =
_
a b
c d
_
kvadratna matrica i a, b, c, d ∈ Z. Inverz A
−1
od
A dobijemo kao rjeˇsenje matriˇcnih jednadˇzbi AA
−1
= A
−1
A = I, gdje je I
jediniˇcna matrica. Iz linearne algebre znamo da je
A
−1
=
1
ad −bc
_
d −b
−c a
_
i A
−1
postoji ako je ad−bc ,= 0. Nadalje, ovdje treba biti
a
ad−bc
,
b
ad−bc
,
c
ad−bc
,
d
ad−bc
∈ Z. Sljede´ca su rjeˇsenja mogu´ca: a = d = ±1 i b = c = 0, b = c = ±1
i a = d = 0. Dakle, sljede´ce matrice imaju multiplikativne inverze:
A
1
=
_
1 0
0 1
_
, A
2
=
_
1 0
0 −1
_
, A
3
=
_
−1 0
0 1
_
, A
4
=
_
−1 0
0 −1
_
B
1
=
_
0 1
1 0
_
, B
2
=
_
0 1
−1 0
_
, B
3
=
_
0 −1
1 0
_
, B
4
=
_
0 −1
−1 0
_
.
Zadatak 6.25 Popunite tablicu mnoˇzenja za matrice iz prethodnog prim-
jera.
A
1
A
2
A
3
A
4
B
1
B
2
B
3
B
4
A
1
A
2
A
3
A
4
B
1
B
2
B
3
B
4
Tablica 6.2
278 6.5. PRSTENI I POLJA
Primijetite da matrice iz prethodnog zadatka ˇcine grupu. Ovakav za-
kljuˇcak vrijedi i op´cenito.
Teorem 6.15 Skup svih multiplikativnih invertibilnih elemenata prstena P
ˇcini grupu s obzirom na mnoˇzenje u P.
Dokaz. Neka su x, y ∈ P, te x
−1
i y
−1
njihovi multiplikativni elementi.
Znamo da je mnoˇzenje zatvoreno u prstenu, te da vrijedi asocijativnost i da
postoji jedinica 1. Treba provjeriti da je operacija zatvorena na skupu svih
invertibilnih elemenata prstena. Vrijedi (xy)
_
y
−1
x
−1
_
= x
_
yy
−1
_
x
−1
=
xx
−1
= 1, pa je y
−1
x
−1
inverz od xy.
Zadatak 6.26 Pokaˇzite da je skup svih kvadratnih matrica reda n uz ope-
racije zbrajanja i mnoˇzenja matrica nekomutativni prsten.
6.5.3 Polje
Ako umjesto skupa cijelih brojeva promatramo skup realnih brojeva i na
njemu opet operacije standardnog zbrajanja i mnoˇzenja uoˇcavamo da svaki
realni broj, osim 0, ima multiplikativni inverz. Dakle, (R¸¦0¦, ) je grupa i
to komutativna. Sada strukturu (R, +, ) zovemo polje realnih brojeva. Polje
realnih brojeva najpoznatiji je primjer polja. Definirajmo polje u op´cenitom
sluˇcaju.
Dakle, polje je skup opremljen s dvije operacije, koje imaju odredena
algebarska svojstva, kao ˇsto je specificirano u sljede´coj definiciji.
Definicija 6.10 Neka je S neprazan skup na kojem su definirane dvije bi-
narne operacije ◦ i , koje zadovoljavaju sljede´ca svojstva:
1. (S, ◦) je komutativna grupa (nazivamo je aditivna grupa).
2. (S¸¦0¦, ) je komutativna grupa (nazivamo je multiplikativna grupa),
pri ˇcemu je 0 neutralni element aditivne grupe. Dakle, vrijede sljede´ca
svojstva:
(a) komutativnost u (S, ),
(b) asocijativnost u (S, ),
(c) postoji multiplikativni neutralni element,
(d) postoji multiplikativni inverz za sve elemente iz S, osim za 0.
3. Vrijede svojstva distributivnosti:
(a) a (b ◦ c) = (a b) ◦ (a c) ,
(b) (a ◦ b) c = (a c) ◦ (b c) , ∀a, b, c ∈ S.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 279
Tada je (S, ◦, ) polje.
Prisjetimo se da je skup cijelih brojeva Z bio prsten uz operacije stan-
dardnog zbrajanja i mnoˇzenja. Budu´ci da u Z brojevi nemaju multiplika-
tivne inverzne (u stvari, nijedan broj osim broja 1 nema multiplikativni
inverz u Z), (Z, +, ) nije polje.
Dogovorno se, zbog jednostavnijeg zapisa, ˇcesto puta prva operacija (iz
aditivne grupe) oznaˇcava sa +, a druga (iz multiplikativne grupe) sa .
Zadatak 6.27 Dokaˇzite da su sljede´ca dva svojstva posljedica aksioma 2.a.,
o postojanju multiplikativnog inverza:
1. Ako je a ,= 0 i a b = a c, onda je b = c. (skra´civanje)
2. Ako je a b = 0, onda je a = 0 ili b = 0. (nema djeljitelja nule)
Pokaˇzite da prethodna svojstva vrijede u (Z, +, ) .
Pokaˇzite da su prethodna svojstva medusobno ekvivalentna.
Ukoliko za neku algebarsku strukturu (S, ◦, ) vrijede svi aksiomi iz
definicije polja, osim aksioma 2.a., ali umjesto njega vrijede aksiomi iz
prethodnog zadatka, tada tu strukturu zovemo integralnom domenom. Ime
dolazi od ˇcinjenice da je skup cijelih (integers!) brojeva (Z, +, ) najpoznatiji
primjer integralne domene.
Zadatak 6.28 Da li je skup svih kvadratnih regularnih matrica reda n uz
operacije zbrajanja i mnoˇzenja matrica polje?
6.5.4 Primjeri polja
U ovoj ´cemo toˇcki nabrojiti neke primjere polja, a naglasak ´cemo staviti
na polja koja se upotrebljavaju u informatici. Od ˇcitatelja se oˇcekuje da
ispita da nabrojeni primjeri zadovoljavaju traˇzene aksiome. Op´cenito, u
informatici su od posebnog interesa tzv. konaˇcna polja, tj. polja koja sadrˇze
samo konaˇcan broj elementa.
1. Trivijalni primjer konaˇcnog polja je skup ¦0, 1¦, uz zbrajanje i mno-
ˇzenje.
2. U diskretnoj matematici je posebno vaˇzno polje (Z
p
, ⊕, ⊗) , gdje je
p prim broj, Z
p
= ¦0, 1, 2, ..., p − 1¦, ⊕, ⊗ su operacije zbrajanja i
mnoˇzenja modulo p . Da ne bi doˇslo do zabune o tome koliki je p
koriste se sljede´ce oznake za zbrajanje i mnoˇzenje: +
p
,
p
.
U svjetlu ovog primjera je prvi primjer specijalni sluˇcaj modularne
aritmetike za p = 2, odnosno radi se o Z
2
.
280 6.5. PRSTENI I POLJA
Ukoliko p nije prim broj, Z
p
nije polje. U sluˇcaju kad p nije prim broj
nije ispunjen aksiom 2.a. iz definicije polja.
Detalji se mogu proˇcitati u poglavlju o kongruencijama.
U sluˇcaju kada m nije prost broj, (Z
m
, ⊕, ⊗) komutativni prsten, ali
ne i integralna domena.
3. Neka je S
2
(Z
3
) skup kososimetriˇcnih kvadratnih matrica drugog reda.
Matrice su oblika
_
a b
−b a
_
, gdje su a, b ∈ Z. Uz standardno zbra-
janje i mnoˇzenje matrica S
2
(Z
3
) je polje.
4. Polinom n-tog stupnja je funkcija oblika:
f (x) = a
n
x
n
+a
n−1
x
n−1
+... +a
2
x
2
+a
1
x +a
0
, (6.4)
gdje su a
0
, a
1
, a
2
, ..., a
n−1
, a
n
∈ R, n ∈ N, a
n
,= 0. Oznaˇcimo skup
svih polinoma s koeficijentima u R sa R[x] . Na skupu svih polinoma
zadane su operacije zbrajanja i mnoˇzenja polinoma. Uz te operacije
skup svih polinoma je prsten s komutativnim mnoˇzenjem.
5. Nekomutativno polje je tijelo kvaterniona.
Kvaternione je u matematiku uveo W. R. Hamilton 1844. godine
(ˇclanak [5]). Po analogiji s kompleksnim brojevima, koji se prikazuju
kao suma realnog i imaginarnog dijela, kvaternioni se mogu zapisati
kao linearna kombinacija
a = a
1
+a
2
i +a
3
j +c
4
k,
gdje su a
1
, a
2
, a
3
, a
4
realni brojevi, te
i
2
= j
2
= k
2
= ijk = −1.
Viˇse o kvaternionima moˇzete proˇcitati u [11].
Kvaternioni se mogu zapisati u obliku uredenih ˇcetvorki, pa se njihova
suma, odnosno mnoˇzenje skalarom, definira kao standardna suma,
odnosno mnoˇzenje skalarom n-torki.
Zadatak 6.29 Neka je m cijeli broj, ve´ci od 1. Pokaˇzite da su sljede´ce
tvrdnje ekvivalentne:
1. m je prim broj.
2. Z
m
je integralna domena.
3. Z
m
je polje.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 281
6.6 Vektorski prostor
Osnovni koncept linearne algebre je algebarska struktura vektorskog pros-
tora. Promatra se skup vektora, s operacijama zbrajanja vektora i mnoˇzenja
vektora skalarom. Pri tome pod pojmom vektora ne podrazumijevamo samo
geometrijske vektore, nego sve one matematiˇcke objekte koji zadovoljavaju
aksiome vektorskog prostora.
Detaljni opis vektorskih, odnosno linearnih prostora moˇzete na´ci u [7].
Ovdje donosimo samo osnovne pojmove i primjere radi cjelovitosti u opisu
algebarskih struktura.
Najpoznatiji primjer prijelaza od polja na vektorski prostor nad poljem
je prijelaz od realnog pravca na trodimenzionalni vektorski prostor.
Ako je F polje i n prirodni broj, tada moˇzemo promatrati algebarsku
strukturu F
n
ˇciji su elementi n-torke elemenata iz F, tj.
F
n
= ¦(a
1
, a
2
, ..., a
n
) : a
i
∈ F¦ ,
i na njima dvije operacije: zbrajanje n-torki i mnoˇzenje n-torki skalarom
(elementom polja F).
Zbrajanje n-torki definiramo s:
(a
1
, a
2
, ..., a
n
) ⊕(b
1
, b
2
, ..., b
n
) = (a
1
+b
1
, a
2
+b
2
, ..., a
n
+b
n
) ,
a mnoˇzenje skalarom α s:
α ¸(a
1
, a
2
, ..., a
n
) = (α a
1
, α a
2
, ..., α a
n
) .
Sada je F
n
uz gornje operacije vektorski ili linearni prostor.
Napiˇsimo sada op´cenitu definiciju vektorskog prostora.
Definicija 6.11 Vektorski prostor (linearni prostor) 1 nad poljem F je
svaka ˇcetvorka (V, F, ⊕, ¸) takva da vrijede sljede´ci uvjeti:
1. Skup V = ¦x, y, z, ...¦ , ˇcije elemente zovemo vektori, a V je nosilac
vektorskog prostora 1,
2. Skup F = ¦α, β, γ, ...¦, ˇcije elemente zovemo skalari, a F je polje s
obzirom na operacije + i ,
3. Operacija ⊕ : V V →V zbrajanje vektora,
4. Operacija ¸ : F V →V mnoˇzenje vektora skalarom.
Pri tome trebaju biti zadovoljeni sljede´ci aksiomi vektorskog prostora:
V1: Skup V je komutativna grupa s obzirom na zbrajanje vektora.
V2: Za sve skalare α,β i vektore vrijedi x, y:
282 6.6. VEKTORSKI PROSTOR
1. α ¸(x ⊕y) = (α ¸x) ⊕(α ¸y),
2. (α +β) ¸x = (α ¸x) + (β ¸x),
3. α ¸(β ⊕x) = (αβ) ¸x,
4. 1 ¸x = x.
Konkretan primjer vektorskog prostora je realizacija ili model vektorskog
prostora. Primjer je vektorski prostor rjeˇsenja homogenog sustava.
Primjer 6.10 Promotrimo homogeni sustav:
2x −3y +z −t = 0
−x +y −5z + 2t = 0
3x −5y −3z = 0
2x −10t + 28z = 0
Budu´ci da je determinanta sustava jednaka nuli, prema poznatom Rou-
cheovom teoremu iz linearne algebre znamo da ovaj sustav ima i netrivijalna
rjeˇsenja (rjeˇsenja razliˇcita od (0, 0, 0, 0)). Dakle, sustav ima beskonaˇcno
mnogo rjeˇsenja. Rjeˇsavanjem sustava, primjerice Gaussovim postupkom
eliminacije, dobivamo da su rjeˇsenja oblika (5a +b, 3a, b, a + 3b) , gdje su
a, b ∈ R. Skup svih rjeˇsenja moˇzemo promatrati kao uredene ˇcetvorke ele-
menata danog oblika. Takve se uredene ˇcetvorke zbrajaju na standardni
naˇcin, po komponentama, te mnoˇze skalarom tako da se svaka komponenta
pomnoˇzi skalarom. Pokazuje se da rjeˇsenja ˇcine vektorski prostor. Budu´ci da
op´cenito n-torke uz nabrojene operacije ˇcine vektorski prostor, treba samo
provjeriti zatvorenost operacije zbrajanja, odnosno mnoˇzenja skalarom.
Neka su (5a
1
+b
1
, 3a
1
, b
1
, a
1
+ 3b
1
) i (5a
2
+b
2
, 3a
2
, b
2
, a
2
+ 3b
2
) dvije ˇce-
tvorke rjeˇsenja. Zbrajanjem dobivamo ˇcetvorku
_
5 (a
1
+a
2
) +b
1
+b
2
, 3 (a
1
+a
2
) , b
1
+b
2
, a
1
+a
2
+ 3 (b
1
+b
2
)
_
,
pa stavimo li a = a
1
+ a
2
, b = b
1
+ b
2
dobivamo oblik rjeˇsenja zadanog
sustava. Za vjeˇzbu provjerite da mnoˇzenjem ˇcetvorke rjeˇsenja skalarom,
opet dobijemo rjeˇsenje zadanog homogenog sustava!
Zadatak 6.30 Dokaˇzite da je operacija zbrajanja n-torki rjeˇsenja homoge-
nog sustava linearnih jednadˇzbi i op´cenito zatvorena operacija nad skupom
svih rjeˇsenja.
Najˇceˇs´ci primjeri polja nad kojima se definira vektorski prostor su polje
realnih brojeva R i polje kompleksnih brojeva C.
Radi jednostavnosti obiˇcno piˇsemo x + y umjesto x ⊕ y, te αx umjesto
α ¸x.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 283
6.7 Primjeri vektorskog prostora
Slijedi popis poznatijih primjera vektorskih prostora.
1. Svako polje F je vektorski prostor. Specijalno, polje realnih brojeva
je vektorski prostor.
2. Skup svih usmjernih duˇzina ravnine i prostora uz operacije zbrajanja
vektora i mnoˇzenja vektora skalarom je vektorski prostor. Ovaj vek-
torski prostor ”pravih vektora” ujedno je bio motivacija za uvodenje
apstraktnog pojma vektorskog prostora.
3. Skup svih polinoma s realnim ili kompleksnim koeficijentima je vek-
torski prostor. Viˇse podataka o tom primjeru na´ci ´cete u sljede´coj
toˇcki ove knjige.
4. Skup svih n-torki elemenata polja F je vektorski prostor nad F uz
sljede´ce operacije.
Zbrajanje n-torki:
(x
1
, x
2
, ...x
n
) ⊕(y
1
, y
2
, ...y
n
) = (x
1
+y
1
, x
2
+y
2
, ...x
n
+y
n
) .
Mnoˇzenje n-torki skalarom:
α ¸(x
1
, x
2
, ...x
n
) = (αx
1
, αx
2
, ...αx
n
) .
Provjerite da vrijede aksiomi vektorskog prostora.
5. Specijalno, R
n
skup svih n-torki realnih brojeva uz standardne opera-
cije zbrajanja n-torki, odnosno mnoˇzenja skalarom, je vektorski pros-
tor, kojeg zovemo realni n-dimenzionalni koordinatni prostor. Dokaz
potraˇzite u [7].
6. Skup M
nm
matrica tipa (n, m) je vektorski prostor uz operacije zbra-
janja matrica i mnoˇzenja matrica skalarom.
7. Skup svih polinoma u jednoj varijabli uz operacije zbrajanja polinoma
i mnoˇzenja polinoma skalarom.
8. Neka je X proizvoljan skup i V proizvoljan vektorski prostor nad F.
Prostor svih funkcija iz X u V je vektorski prostor nad F. Pri tome
je zbrajanje funkcija dano koordinatno tj. (f + g)(x) = f(x) + g(x),
za sve f : X → V, g : X → V, kao i mnoˇzenje skalarom, tj. (αf)(x) =
αf(x), za sve f : X →V, α ∈ F. Operacije na desnoj strani jednakosti
su operacije u V. Neutralni element je konstantna funkcija, koja sve
elemente ˇsalje u nulvektor iz V .
284 6.8. ALGEBARSKE STRUKTURE POLINOMA
6.8 Algebarske strukture polinoma
Polinomi predstavljaju vrlo vaˇznu klasu funkcija. Moˇzemo ih promatrati kao
funkcije realne, ali i kompleksne varijable. Klasiˇcni primjeri algoritama su
Hornerov i Euklidov algoritam, a oni se odnose na polinome. Spomenuli smo
ranije da se i u tzv. fundamentalnom teoremu algebre govori o egzistenciji
kompleksnih nultoˇcaka polinoma. Danas se ˇcesto spominje ˇcinjenica da je
naziv tog teorema pretenciozan, ali neosporna je njegova vaˇznost u razvoju
algebre.
Nadalje, polinomi su dobro opremljeni algebarskim operacijama, tako da
ih moˇzemo promatrati u kontekstu razliˇcitih algebarskih strukura. Ovdje
navodimo prsten polinoma i vektorski prostor polinoma.
6.8.1 Prsten polinoma
Polinom n-tog stupnja je funkcija oblika
f (x) = a
0
x
n
+a
1
x
n−1
+... +a
n−1
x +a
0
, a
0
,= 0. (6.5)
Ako su svi koeficijenti a
i
, i = 1, 2, ...n realni brojevi i x uzimamo iz skupa
realnih brojeva, govorimo o polinomima realne varijable s realnim koefici-
jentima ili kratko polinomima nad R. Skup svih polinoma jedne varijable
f : R →R nad poljem realnih brojeva oznaˇcavamo sa R[x] . Medutim, ako su
koeficijenti i varijable iz skupa kompleksnih brojeva, govorimo o polinomima
kompleksne varijable s kompleksnim koeficijentima, odnosno o polinomima
nad C. Skup svih polinoma f : C → C nad poljem kompleksnih brojeva
oznaˇcavamo s C[x].
U oba skupa mogu´ce je definirati zbrajanje i mnoˇzenje polinoma na naˇcin
kako definiramo zbrajanje i mnoˇzenje funkcija. Dakle, ako su f i g polinomi
definiramo zbrajanje formulom
(f +g) (x) = f (x) +g (x) .
Slijedi da se suma polinoma dobije zbrajanjem koeficijenata uz mono-
me jednakog stupnja. To drugim rijeˇcima znaˇci da stupanj sume ne prelazi
stupnjeve polinoma koje zbrajamo.
Polinome mnoˇzimo po formuli
(fg) (x) = f (x) g (x) ,
pa za stupanj umnoˇska vrijedi st (fg) = st (f) +st (g) .
Zadatak 6.31 Provjerite da vrijede sljede´ce tvrdnje:
1. (R[x] , +) i (C[x] , +) su komutativne grupe.
POGLAVLJE 6. ALGEBARSKE STRUKTURE 285
2. Mnoˇzenje polinoma je zatvorena operacija nad poljem R (odnosno C),
vrijedi asocijativnost i komutativnost. Postoji jedinica za mnoˇzenje
polinoma. Multiplikativni inverz postoji samo za polinome stupnja
nula.
3. Vrijede obje distributivnosti mnoˇzenja prema zbrajanju i zbrajanja
prema mnoˇzenju.
Teorem 6.16 Skup polinoma R[x] , odnosno C[x] je komutativni prsten
polinoma s jedinicom.
Primijetite da se polinom 6.5 jedne varijable, moˇze zapisati u obliku
uredene n-torke
(a
0
, a
1
, ..., a
n−1
, a
n
) , a
0
,= 0,
a i operacije na polinomima mogu se prevesti na jezik n-torki.
Polinome moˇzemo definirati i nad nekim drugim poljem F, te takoder
do´ci do strukture komutativnog prstena. Evo jednog primjera:
Primjer 6.11 Izraˇcunajmo zbroj i umnoˇzak polinoma
x
2
+ 4x + 5 i 4x
2
+x + 3,
definiranih nad poljem Z
7
.
Raˇcunamo:
_
x
2
+ 4x + 5
_
+
_
4x
2
+x + 3
_
= 5x
2
+ 5x + 1
_
x
2
+ 4x + 5
_ _
4x
2
+x + 3
_
= 4x
4
+ 3x
3
+ 6x
2
+ 3x + 1.
Na kraju, spomenimo joˇs jednu upotrebu polinoma. Za kod C kaˇzemo
da je cikliˇcki ako je on linearan i ako vrijedi:
a
0
a
1
. . . a
n−1
∈ C ⇒a
n−1
a
0
a
1
. . . a
n−2
∈ C.
Osnova algebarske manipulacije cikliˇckih kodova je korespondencija iz-
medu kljuˇcnih rijeˇci a
0
a
1
. . . a
n−1
iz R
n
i polinoma a(x) = a
0
+a
1
x +. . . +
a
n−1
x
n−1
i Z[x].
Viˇse o cikliˇckim kodovima i njihovu znaˇcenju, kao i povezanosti s poli-
nomima, moˇzete proˇcitati u [1].
6.8.2 Vektorski prostor polinoma
Promatramo skup svih polinoma u jednoj varijabli, iz polja C, odnosno R.
U prethodnoj toˇcki smo definirali operaciju zbrajanja polinoma i utvrdili
da polinomi zajedno s operacijom zbrajanja polinoma tvore komutativnu
grupu (aditivna grupa polinoma). Nadalje, definiramo operaciju mnoˇzenja
polinoma skalarom, tj. elementima iz polja C, odnosno R. Pri tome,
286 6.9. ZADACI
rezultiraju´ci polinom dobijemo tako da svaki koefcijent zadanog polinoma
pomnoˇzimo danim skalarom.
Skup T
n
svih polinoma stupnja manjeg ili jednakog n, s realnim ili kom-
pleksnim koeficijentima, je vektorski prostor, koji zovemo vektorski prostor
polinoma.
Viˇse o toj temi moˇzete na´ci u [7].
Primijetimo da skup svih polinoma stupnja n, nema strukturu vek-
torskog prostora, jer suma dva polinoma n-tog stupnja moˇze biti manjeg
stupnja od n. Na primjer,
_
2x
3
−x + 1
_
+
_
−2x
3
+ 3x
2
+ 2x −2
_
= 3x
2
+x −1.
Polinome moˇzemo definirati i nad nekim drugim poljem F, a ne samo
nad poljem realnih, odnosno kompleksnih brojeva i ponoviti konstrukciju
vektorskog prostora polinoma nad poljem F.
Dakle, o polinomima moˇzemo govoriti na mnogo razliˇcitih naˇcina. Poli-
nomi se obiˇcno uvode kao funkcije (jedne ili viˇse varijabli), da bi se u napred-
nijim stupnjevima o njima govorilo kao o vektorskim prostorima i prstenima.
Vidjeli smo takoder da ih se moˇze poistovjetiti s uredenim n-torkama.
6.9 Zadaci
1. Na partitivom skupu P (A) definirana je operacija unije ∪.
(a) Da li je ∪ binarna operacija na P (A)?
(b) Nadite neutralni element na P (A) .
(c) Koji elementi imaju inverz?
2. Neka je na partitivom skupu P (A) definirana operacija simetriˇcne
razlike
X ´Y = (X ¸ Y ) ∪ (Y ¸ X) .
(a) Da li je ´ binarna operacija na P (A)?
(b) Nadite neutralni element na P (A) .
(c) Koji elementi imaju inverz?
(d) Da li je ´ asocijativna operacija?
(e) Da li je ´ komutativna operacija?
3. Zadan je skup S koji ima 4 elementa.
(a) Koliko razliˇcitih binarnih operacija moˇzemo definirati na tom
skupu?
POGLAVLJE 6. ALGEBARSKE STRUKTURE 287
(b) Napiˇsite Cayleyevu tablicu za jednu takvu operaciju ako znamo
da je operacija komutativna i da ima neutralni element.
4. Popunite Cayleyeve tablice za zbrajanje i mnoˇzenje u Z
6
.
5. Napiˇsite Cayleyevu tablicu mnoˇzenja u skupu kompleksnih brojeva
¦1, −1, i, −i¦ . Da li je ta struktura grupa? Ako jest, da li je cikliˇcka?
6. Neka su a, b elementi konaˇcne grupe G. Pokaˇzite da elementi a i ba
−1
b
imaju isti red.
7. Promatrajte skup A
2
antisimetriˇcnih matrica drugog reda nad poljem
F. Pokaˇzite da vrijedi:
(a) A
2
je prsten s obzirom na standardne operacije s matricama.
(b) Mnoˇzenje u A
2
je komutativno.
(c) Ako je F = Z
3
, tada je A
2
polje nad F.
(d) Da li je A
2
polje nad Z
5
?
8. Analizirajte mogu´ce Cayleyeve tablice i dokaˇzite da vrijede sljede´ce
tvrdnje uz pretpostavku da su sve izomorfne grupe medusobno jed-
nake.
(a) Postoji samo jedna grupa reda 2.
(b) Postoji samo jedna grupa reda 3.
(c) Postoje samo dvije grupe reda 4.
9. Neka je M skup svih matrica oblika
_
a b
0 1
_
, gdje je a, b, c ∈ Z
7
i a ,= 0.
(a) Neka je matrica izvodnica kodiraju´ce funkcije E : R
3
→R
7
dana
s
G =
_
_
1 0 0 1 0 1 0
0 1 0 0 1 1 0
0 0 1 1 1 0 1
_
_
.
i. Izraˇcunajte E (110) .
ii. Nadite kontrolnu matricu, koja pripada matrici G.
(b) Pokaˇzite da je M grupa uz operaciju zbrajanja matrica.
(c) Nadite redove elemenata
_
1 1
0 1
_
i
_
3 0
0 1
_
.
288 6.10. PROJEKTI
10. Nadite minimalnu udaljenost u skupu kodova
¦10000, 01010, 00001¦ .
Koliko je pogreˇsaka mogu´ce detektirati, a koliko ispraviti u ovom
skupu?
11. Neka je matrica izvodnica Hammingovog koda dana sa
G =
_
¸
¸
_
1 0 0 0 0 1 1
0 1 0 0 1 0 1
0 0 1 0 1 1 0
0 0 0 1 1 1 1
_
¸
¸
_
.
Ona prikazuje kodiraju´cu funkciju E : R
4
→ R
7
. Dokaˇzite da vrijedi
sljede´ca tvrdnja: Ako je x ,= y tada se xG i yG razlikuju u najmanje
3 koordinate.
12. Neka je kodiraju´ca funkcija E : R
3
→R
9
dana s
E (x
1
x
2
x
3
) = x
1
x
2
x
3
x
1
x
2
x
3
x
1
x
2
x
3
.
Ona predstavlja tzv. blok kod ponavljaju´cih trojki.
(a) Nadite kontrolnu matricu K.
(b) Nadite minimalnu teˇzinu ove grupe kodova.
(c) Koliko greˇsaka ovaj kod moˇze otkriti, odnosno ispraviti?
13. Izraˇcunajte zbroj i umnoˇzak polinoma nad Z
5
[x] .
(a) x
2
+ 3x + 4 i 2x
2
+ 2x + 3
(b) x
4
+ 2x
3
+x
2
+ 2x + 1 i 2x
4
+ 3x
3
+ 4x
2
+ 3x + 2
14. Pokaˇzite da u Z
7
[x] vrijedi
(x + 1)
7
= x
7
+ 1.
6.10 Projekti
1. Promatramo jednakostraniˇcni trokut i skup svih transformacija koje
preslikavaju taj trokut u njega samog do na poredak vrhova. Taj skup
zovemo skup simetrija jednakostraniˇcnog trokuta. U simetrije ulaze i
rotacije, dakle sve izometrije trokuta. Pronadite sve takve simetrije
i pokaˇzite da one uz operaciju kompozicije preslikavanja ˇcine grupu.
Ovu strukturu zovemo diedralna 4-grupa. Napiˇsite Cayleyevu tablicu
POGLAVLJE 6. ALGEBARSKE STRUKTURE 289
za tu grupu. Da li je ta grupa komutativna? Sada promatramo pra-
vokutnik (koji nije kvadrat) i njegove simetrije. Pronadite 4 simetrije
pravokutnika i napiˇsite Cayleyevu tablicu za simetrije pravokutnika uz
operaciju kompozicije. Pokaˇzite da je ova struktura takoder grupa.
Ovu grupu zovemo Kleinova 4-grupa.
2. Opiˇsite nekoliko primjera kodova iz teorije kodiranja i usporedite ih.
Uzmite u obzir kod ponavljanja (eng. repetition cod), paritetni kod
(eng. parity code), Hammingov [7,4] binarni kod, kao i poboljˇsani
Hammingov kod, te op´ci Reed-Solomonov kod.
3. Opiˇsite kvaternione, njihova svojstva, operacije na njima, te reprezen-
taciju preko kvadratnih matrica drugog reda. Koje algebarske struk-
ture tvore kvaternioni. Koji brojevi predstavljaju proˇsirenje kvaterni-
ona? Opiˇsite primjene kvaterniona (npr. u geometriji).
4. Definirajte vektorski prostor nad poljem ¦0, 1¦ pridruˇzen grafu. Pro-
matrajte u grafu G = (V, E) skup W
E
(G) kao skup svih podskupova
od E i na njemu definirajte operaciju zbrajanja (eng. ring sum) i
mnoˇzenja skalarom. (Uputa: Upotrijebite referencu [4])
5. Geometrija u kojoj dva pravca imaju uvijek jednu toˇcku presjeka
zovemo projektivna geometrija. Prouˇcite konaˇcne verzije projektivne
geometrije, njihove odnose i primjenu u teoriji dizajna. Osnovne defini-
cije, teoreme i primjene napiˇsite u obliku eseja od 10 stranica.
6. Opiˇsite cikliˇcke kodove, njihovu klasifikaciju i svojstva. Objasnite nji-
hovu vezu s polinomima. (Uputa: Upotrijebite referencu [1])
290 6.10. PROJEKTI
Bibliografija
[1] Biggs, N. L.: Discrete Mathematics, Oxford University Press Inc., New
York, 2002.
[2] Divjak, B.; Hunjak, T.: Matematika za informatiˇcare,TIVA-FOI,
Varaˇzdin, 2004
[3] Garnier, R.; Taylor, J.: Discrete Mathematics for New Technology, IOP
Publishing Ltd, Bristol, 1999
[4] Gross, J.; Yellen, J.: Graph Theory and its Applications, CRC Press,
London, 1999.
[5] Hamilton, W. R.: On Quaternions, Proceedings of the Royal Irish Acad-
emy, Nov. 11, 1844,vol. 3 (1847), 1-16,
http://www.maths.tcd.ie/pub/HistMath/People/Hamilton/Quatern2
/Quatern2.html (22.2.2005)
[6] Horvati´c, K.: Linearna algebra, PMF-MO, Zagreb, 1990
[7] Lonˇcar, I.: Matematiˇcke metode, odabrana poglavlja - I. dio, FOI,
Varaˇzdin 1997.
[8] Toth, G.: Glimpses of Algebra and Geometry, Springer-Verlag, New
York, 1998
[9] Welsh, D.: Codes and cryptography, Oxford University Press, 1988
[10] Wikipedia, http://en.wikipedia.org/wiki/Polynomial (2.2.2005)
[11] Mathworld, http://mathworld.wolfram.com/Quaternion.html
(22.2.2005)
[12] Cut the knot, http://www.cut-the-knot.org/algebra.shtml (2.2.2005)
[13] Mariner Space Probes,
http://www.hq.nasa.gov/office/pao/History/mariner.html (21.2.2005)
291
292 BIBLIOGRAFIJA
Poglavlje 7
Matematiˇcka teorija
raˇcunalstva
Zadivljuju´ce je kako nam je potrebno
malo da bismo imali sve.
Christos Papadimitriou (o Turingovu
stroju)
Ve´c smo u poglavlju 4.1 govorili o algoritmu, kao o intuitivnom pojmu.
Takoder smo govorili o tome kako u matematici postoji teˇznja da se pojam
algoritma formalizira. To je dovelo do interesantnih matematiˇckih struk-
tura koje ´cemo opisati u ovom poglavlju. Iako nije dokazano da ijedna for-
malizacija dobro opisuje pojam algoritma, posto-
ji niz zanimljivih formalizacija, za koje se, prema
Church-Turingovoj tezi, vjeruje da dobro forma-
liziraju algoritam. Bez obzira na to, neke se od
ovih formalizacija koriste i za mnoge druge svrhe.
Tako se, npr, automati mogu gledati kao model
sustava u teoriji sustava, mogu opisivati strukturu
ekspertnog sustava i opisivati prijelaze iz stanja u
stanje i sl. Ovo ´ce se poglavlje temeljiti upravo na
automatima, ukljuˇcuju´ci i Turingove strojeve.
ˇ
Sto se tiˇce znaˇcaja ovog poglavlja za ovu knjigu,
ono je viˇsestruko. Kao prvo, ovo poglavlje, gledano
Slika 7.1: Alan Mathison
Turing
kao dio raˇcunalske znanosti, ˇcini vrlo vaˇzan teorijski kontekst opisa jezika,
algoritama, sustava itd. S druge strane, ovo poglavlje pokazuje vrlo vaˇzno
podruˇcje raˇcunalske znanosti gdje se koristi gotovo cijelo gradivo opisano
u ovoj knjizi. Jezici, automati, gramatike - sve su to vrlo interesantne
matematiˇcke strukture. Pri definiranju jezika i automata vrlo veliku ulogu
igraju relacije, funkcije i skupovi. Za prikaze automata standardno se koriste
usmjereni grafovi. Na kraju, sama se sloˇzenost, a posebno klase sloˇzenosti
293
294 7.1. JEZICI
algoritama definiraju na razini automata, a posebno Turingovih strojeva.
7.1 Jezici
Bit cijelog ovog poglavlja je u izradi automata, strojeva, gramatika vezanih
uz pojedine jezike. Stoga ´cemo na poˇcetku ovog poglavlja obraditi pojam
jezika, te gramatika pomo´cu kojih se opisuju jezici.
Definicija 7.1 Abeceda ili alfabet Σ je konaˇcan skup znakova.
Definicija 7.2 Rijeˇc iz alfabeta Σ je konaˇcan niz od 0 ili viˇse znakova iz
alfabeta Σ.
Rijeˇc s 0 znakova se oznaˇcava sa ε i zove se prazna rijeˇc.
Broj znakova u rijeˇci w naziva se duljina rijeˇci i oznaˇcava se [w[.
Neka je Σ abeceda. Onda se s Σ
n
, n ≥ 0 oznaˇcava skup svih rijeˇci
abecede Σ koje imaju duljinu n. Tada se skup svih rijeˇci nad abecedom Σ
oznaˇcava sa
Σ

=

n≥0
Σ
n
.
Sliˇcno se moˇze definirati i skup svih nepraznih rijeˇci nad abecedom Σ
kao
Σ
+
=

n≥1
Σ
n
.
Ponekad je rijeˇci dobro gledati kao diskretne funkcije. Svaka se rijeˇc
w ∈ Σ

moˇze definirati kao w : ¦1, . . . , [w[¦ → Σ, pri ˇcemu w(i) predstavlja
i-to slovo rijeˇci w.
Kaˇzemo da se znak σ pojavljuje u rijeˇci w ako postoji j ∈ ¦1, . . . , [w[¦
takav da je w(j) = σ.
Definicija 7.3 Neka je Σ abeceda i neka su v, w ∈ Σ

rijeˇci. Tada defini-
ramo konkatenaciju rijeˇci v i w kao rijeˇc z = vw za koju vrijedi da je
• z(i) = v(i) za i ∈ ¦1, . . . , [v[¦,
• z(j +[v[) = w(j) za j = ¦1, . . . , [w[¦.
Jasno je da za svaku rijeˇc w ∈ Σ

vrijedi wε = w. Isto je tako jasno da
je konkatenacija asocijativna operacija, tj. da vrijedi u(vw) = (uv)w = uvw
za proizvoljne rijeˇci u, v, w ∈ Σ

.
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 295
Definicija 7.4 Neka je Σ abeceda i v, w ∈ Σ

rijeˇci. Kaˇzemo da je rijeˇc v
podrijeˇc rijeˇci w ako postoje rijeˇci u, x ∈ Σ

takve da je w = uvx.
Ako je u = ε, tj. ako je w = vx, onda se rijeˇc x zove prefiks rijeˇci w.
Ako je x = ε, tj. ako je w = uv, onda se rijeˇc v naziva sufiks rijeˇci w.
Neka je dana rijeˇc w ∈ Σ

nad abecedom Σ. Tada se definira
• w
0
= ε,
• w
k
= w
k−1
w.
Sada moˇzemo prije´ci na prvu vaˇznu definiciju u ovom poglavlju – defini-
ciju jezika:
Definicija 7.5 (Jezik) Jezik L ⊆ Σ

nad abecedom Σ je svaki skup rijeˇci
iz Σ.
Primjer 7.1 Neka je dana abeceda Σ = ¦0, 1¦. Moˇzemo definirati jezik
koji se sastoji od binarnih brojeva, koji nemaju vode´cih nula kao:
L = ¦w : w = 1v, v ∈ Σ

¦.
Primjer 7.2 Definirajmo sada jezik nad abecedom Σ = ¦a, b¦ koji se sastoji
od rijeˇci koje poˇcinju s konaˇcnim brojem a-ova, iza ˇcega slijedi jednak broj
b-ova:
L = ¦w : w = a
n
b
n
¦.
Jednostavni se jezici mogu zadavati kao jezici u prethodna dva primjera,
odnosno kao skupovi. No, jezici ˇcesto imaju sloˇzeniju strukturu, koju bi bilo
priliˇcno nezgrapno opisivati na gornji naˇcin.
7.1.1 Regularni izrazi
Jedan od vaˇznijih naˇcina prikaza jezika jesu regularni izrazi. Regularni
izrazi, osim u teoriji raˇcunalstva, igraju vaˇznu ulogu i u stvarnim aplikaci-
jama na raˇcunalu. Regularni se izrazi koriste kod pretraˇzivanja sa specijal-
nim znakovima (wildcard), kako u tekstovima, tako i u stablima direktorija
operacijskog sustava. UNIX operacijski sustavi u potpunosti podrˇzavaju
regularne izraze kao naˇcin konciznog prikazivanja obrazaca za pretraˇzivanje
nizova znakova.
Definicija 7.6 Neka je Σ abeceda, onda su sljede´ci izrazi regularni izrazi
nad Σ:
• ∅ je regularni izraz.
296 7.1. JEZICI
• Ako je σ ∈ Σ, onda je σ regularni izraz.
• Ako su v i w regularni izrazi, onda je to i vw.
• Ako je w regularni izraz, onda je i (w)* regularan izraz.
• Ako su v i w regularni izrazi, onda je i (v)[(w) regularan izraz.
Time je dana sintaksa regularnih izraza. Prema tome sljede´ci izrazi su
regularni izrazi nad abecedom Σ = ¦a, b, c¦:
• (a) ∗ ((b)[(c))∗,
• ((a)[(b)[(c))∗,
• a(b) ∗ (a) ∗ b.
Neke od zagrada u regularnim izrazima se mogu izbaciti. Uvijek se
mogu izbaciti zagrade koje okruˇzuju izraz, koji se sastoji od samo jednog
znaka. Tako bismo regularne izraze iz prethodnog primjera mogli prikazati
na sljede´ci naˇcin:
• a ∗ (b[c)∗,
• (a[b[c)∗,
• ab ∗ a ∗ b,
Naravno, nas zanima i semantika regularnih izraza, i kako se i pojedini
jezici mogu reprezentirati pomo´cu regularnih izraza.
Znaˇcenje regularnog izraza je vrlo lagano objasniti. Regularni izrazi
zapravo predstavljaju obrasce za izgradnju rijeˇci jezika.
Specijalni znakovi regularnih izraza imaju jednostavna znaˇcenja. Znak
∗ predstavlja 0 ili viˇse ponavljanja izraza koji se nalazi ispred njega. To
znaˇci da se na mjestu gdje se u regularnom izrazu nalazi izraz (w)∗, u rijeˇci
jezika kojeg regularni izraz opisuje moˇze se na´ci podrijeˇc koju opisuje izraz
w ponovljena 0 ili viˇse puta. Znak [ predstavlja disjunkciju. Na mjestu gdje
se u regularnom izrazu nalazi izraz (v)[(w), u rijeˇci jezika koji regularni izraz
opisuje moˇze se na´ci ili podrijeˇc koja je definirana izrazom v ili podrijeˇc koja
je definirana izrazom w.
Primjer 7.3 Izvedimo neke rijeˇci koje se nalaze u jezicima opisanim regu-
larnim izrazima iz prethodnog primjera:
• Prvi izraz definira jezik koji se sastoji od rijeˇci koje na poˇcetku imaju
proizvoljan broj slova a, nakon ˇcega slijedi proizvoljna rijeˇc koja se
moˇze sastaviti od slova b i c. Dakle sljede´ce rijeˇci su u tom jeziku:
ε
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 297
b
aaaa
aaabcbbbcbcb
• Drugi izraz definira sve rijeˇci koje se mogu sastaviti od slova a, b i c.
• Ovaj izraz definira rijeˇci koje zapoˇcinju slovom a, nakon ˇcega ide
proizvoljan broj slova b, pa proizvoljan broj slova a i na kraju jedno
slovo b. Taj jezik sadrˇzi sljede´ce rijeˇci:
ab
abbbb
aaaaab
abbbbaab
Dakle, regularni izrazi predstavljaju generativne definicije jezika.
Primjer 7.4 Napiˇsimo regularni izraz koji ´ce opisivati jezik koji se sastoji
od rijeˇci nad abecedom Σ = ¦a, b, c¦. Rijeˇci su sastavljene tako da poˇcinju
s proizvoljnim brojem b-ova iza kojih slijedi proizvoljan broj c-ova. Ove su
rijeˇci povezane medusobno slovom a. Npr., sljede´ce su rijeˇci u tom jeziku:
bbbccacccababca
Regularan izraz koji opisuje taj jezik je
b ∗ c ∗ (ab ∗ c∗) ∗ .
Interesantan je jezik koji ovaj regularni izraz opisuje: to je jezik koji
se sastoji od svih mogu´cih rijeˇci sastavljenih od slova a, b i c. Zadatak za
ˇcitatelja je da to dokaˇze.
U regularnim se izrazima ˇcesto definira joˇs jedan znak: znak +. On se
definira na sljede´ci naˇcin:
w+ ≡ ww ∗ .
Drugim rijeˇcima, w+ predstavlja jedno ili viˇse ponavljanja rijeˇci w.
Nadalje, moˇzemo definirati potenciju rijeˇci kao:
w
n


¸ .. ¸
ww. . . w.
Sada moˇzemo napisati joˇs neke primjere regularnih izraza:
Primjer 7.5
1. a +b ∗ c+ ≡ aa ∗ b ∗ cc∗
298 7.1. JEZICI
2. (a +b) ∗ c ≡ (aa ∗ b) ∗ c
3. (a
3
b)+ ≡ aaab(aaab)∗
7.1.2 Kontekstno slobodne gramatike
Drugi formalizam kojim se mogu definirati jezici jesu kontekstno slobodne
gramatike ili samo gramatike. Kako ´cemo kasnije vidjeti, gramatikama se
moˇze definirati ˇsira klasa jezika negoli regularnim izrazima.
Definicija 7.7 Kontekstno slobodna gramatika ili samo gramatika jest ˇce-
tvorka G = ¸V, Σ, R, S) pri ˇcemu vrijedi da je:
• V abeceda,
• Σ ⊆ V skup terminala,
• R ⊆ (V ¸Σ) V

skup pravila,
• S poˇcetni simbol.
Primjer 7.6 Napravimo gramatiku koja ´ce definirati jezik nad abecedom
¦a, b¦ i sastoji se od rijeˇci koje imaju prvo i posljednje slovo a.
V = ¦a, b, S, A¦, Σ = ¦a, b¦, S je startni simbol, a R se definira na
sljede´ci naˇcin:
S →aA
A →aA
A →bA
A →a
Primjer 7.7 Napravimo gramatiku koja ´ce definirati jezik nad abecedom
Σ = ¦a, b¦ te koji se sastoji od rijeˇci koje u sebi imaju paran broj a-ova.
S →A
A →aB
A →bA
A →b
B →aA
B →bB
B →b
B →a
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 299
7.2 Konaˇcni automati
U ovom poglavlju obradit ´cemo konaˇcne automate koji predstavljaju joˇs
jedan naˇcin reprezentacije jezika. Konaˇcni automati su pojednostavljeni
modeli raˇcunala. Sastoje se od procesorske jedinice, koja moˇze obradivati
ulaze, koji se, recimo, nalaze na traci. Konaˇcni se automat moˇze prikazati
sljede´com slikom:
a b b a a a b
Slika 7.2
Pri tome se na traci nalaze simboli abecede konaˇcnog automata. Konaˇcni
automat ˇcita zapis na traci s lijeva na desno, od njegova poˇcetka do kraja.
Automat ne moˇze mijenjati zapis na traci, niti se moˇze vra´cati na ve´c
proˇcitan dio zapisa. Automat u sebi sadrˇzi program koji se sastoji od
konaˇcnog skupa stanja, od kojih je jedno poˇcetno i funkcije prijelaza iz stanja
u stanje. Kada se automat nalazi u zavrˇsnom stanju, ˇzaruljica ´ce zasvijetliti.
Kada automat proˇcita cijeli zapis, on stane. Ako je stao u zavrˇsnom stanju,
ˇzaruljica ´ce svijetliti, indiciraju´ci da je automat prepoznao rijeˇc na traci kao
rijeˇc jezika o kojem odluˇcuje. Ako automat stane u stanju koje nije zavrˇsno,
onda ˇzaruljica ne´ce svijetliti, i tako ´ce se znati da rijeˇc ne pripada jeziku
danog automata.
Konaˇcni automati imaju veliku ulogu u leksiˇckoj analizi kod prevodenja
programskih jezika, kod editora teksta, kod operacijskih sustava za evalu-
aciju regularnih izraza itd.
Konaˇcni se automat moˇze matematiˇcki definirati na sljede´ci naˇcin:
Definicija 7.8 Deterministiˇcki konaˇcni automat (DKA) ili samo konaˇcni
automat je petorka M = ¸Σ, K, S, F, δ), pri ˇcemu je:
• Σ konaˇcna abeceda automata,
• K konaˇcan skup stanja automata,
300 7.2. KONA
ˇ
CNI AUTOMATI
• S ∈ K poˇcetno stanje,
• F ⊆ K skup zavrˇsnih stanja automata,
• δ : K Σ →K funkcija prijelaza.
Neka je w : σ
1
. . . σ
n
∈ Σ

rijeˇc nad abecedom Σ. Tada konaˇcni automat
M nad abecedom Σ vrˇsi niz koraka na toj rijeˇci;
(q
0
, σ
1
σ
2
. . . σ
n
) ¬
M
(q
f(1)
, σ
2
. . . σ
n
) ¬
M
. . . ¬
M
(q
f(n)
, ε)),
odnosno
(q
0
, σ
1
σ
2
. . . σ
n
) ¬

M
(q
f(n)
, ε)).
Primjer 7.8 Napravimo sada konaˇcan automat za jezike iz primjera 7.5
1. Σ = ¦a, b, c¦
K = ¦q
0
, q
1
, q
2
, q
3
, q
4
¦
S = q
0
F = ¦q
3
¦
Funkciju δ definiramo sljede´com tablicom:
a b c
q
0
q
1
q
4
q
4
q
1
q
1
q
2
q
3
q
2
q
4
q
2
q
3
q
3
q
4
q
4
q
3
q
4
q
4
q
4
q
4
Tablica 7.1
Konaˇcni se automati najˇceˇs´ce prikazuju usmjerenim matematiˇckim
grafom, pa se ovaj automat moˇze prikazati sljede´cim grafom:
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 301
q
0
q
1
q
2
q
3
q
4
a
b,c
a
b
c
b
a
c
c
a,b
Slika 7.3
2. Σ = ¦a, b, c¦
K = ¦q
0
, q
1
, q
2
, q
3
, q
4
¦
S = q
0
F = ¦q
3
¦
Funkcija δ definira se tablicom
a b c
q
0
q
1
q
4
q
4
q
1
q
1
q
2
q
4
q
2
q
1
q
4
q
3
q
3
q
4
q
4
q
4
q
4
q
4
q
4
q
4
Tablica 7.2
odnosno, usmjerenim grafom prikazano
302 7.2. KONA
ˇ
CNI AUTOMATI
q
0
q
1
q3
a
q
2
a
b
a
c
q
4
b,c
a,b,c
c
b
a,b,c
Slika 7.4
3. Σ = ¦a, b¦
K = ¦q
0
, q
1
, q
2
, q
3
, q
4
, q
5
¦
S = q
0
F = ¦q
4
¦
Funkcija δ dana je sljede´com tablicom
a b
q
0
q
1
q
5
q
1
q
2
q
5
q
2
q
3
q
5
q
3
q
5
q
4
q
4
q
1
q
5
Table 7.3
Ovaj se konaˇcni automat moˇze prikazati sljede´cim grafom
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 303
q
0
q
1
q
2
q
3
q5
q
4
b b b
b a a a
a
b a
a,b
Slika 7.5
Definirajmo sada nedeterministiˇcki konaˇcni automat.
Definicija 7.9 Nedeterministiˇcki konaˇcni automat (NKA) je petorka M =
¸Σ, K, S, F, δ), pri ˇcemu je
• Σ konaˇcna abeceda automata,
• K konaˇcan skup stanja automata,
• S ∈ K poˇcetno stanje,
• F ⊆ K skup zavrˇsnih stanja automata,
• δ : K Σ K relacija prijelaza.
Razlika izmedu DKA i NKA je u tome ˇsto je kod DKA δ funkcija, dok
je kod NKA δ relacija. Drugim rijeˇcima, kod deterministiˇckog je konaˇcnog
automata, stanjem u kojem se automat nalazi i proˇcitanim znakom s trake,
jednoznaˇcno odredeno stanje u koje ´ce automat prije´ci, dok kod NKA nije
tako. Kod NKA za isto stanje i ulazni znak automat ponekad moˇze prije´ci
u razliˇcita stanja.
Ova relaksacija dovodi, medutim do raznih nedoumica. Kako tretirati
mogu´cnost izbora? Ho´ce li automat stanje izabrati nasumce, ne vode´ci
raˇcuna o rjeˇsenju ili ´ce on upravo izabrati onaj izbor koji ´ce dovesti do
rjeˇsenja. To su dvije vrste determinizma, od kojih se prvi naziva davolski
ili ”don’t care” nedeterminizam, a drugi andeoski ili ”don’t know” nede-
terminizam. Prvi je nedeterminizam vrlo lako izvesti, no on ne predstavlja
pravi nedeterminizam, koji bi dao ve´ce mogu´cnosti programu, ve´c pred-
stavlja randomizaciju algoritma. Druga je vrsta nedeterminizma ona koja
304 7.2. KONA
ˇ
CNI AUTOMATI
se podrazumijeva kada se govori o nedeterminizmu. Zaista, pretpostavlja se
da nedeterministiˇcki automat moˇze, bez ikakve provjere u svakom sluˇcaju
napraviti onaj izbor koji ´ce ga dovesti do toˇcnog rjeˇsenja i izbje´ci sve izbore
koji bi ga doveli do pogreˇsnog. Ovaj se nedeterminizam ˇcesto ilustrira i tako
da se kaˇze da se automat u trenutku nedeterministiˇckog izbora kopira u
onoliko kopija koliko je mogu´cnosti izbora, te da svaka kopija napravi jedan
od mogu´cih izbora, a ostatak se rijeˇci procesira na svima njima paralelno.
Jasno je da stvarni automati ne mogu imati mo´c kopiranja samog sebe, ali
isto tako je jasno da oni ne mogu imati ni mogu´cnost nedeterministiˇckog
izbora. Stoga je nedeterminizam u potpunosti teorijski koncept koji nije
mogu´ce praktiˇcno izvesti. No, on se svejedno koristi u teoriji raˇcunalstva jer
je vrlo bitan u klasifikaciji problema.
Primjer 7.9 Napravimo NKA koji odluˇcuje o jeziku nad abecedom Σ =
¦a, b¦, koji se sastoji od rijeˇci koje na poˇcetku imaju proizvoljan broj a-ova,
nakon ˇcega slijedi paran broj b-ova, iza ˇcega se nalazi toˇcno jedna pojava
slova a.
Konaˇcni automat, koji odluˇcuje o gore opisanom jeziku, dan je sljede´cim
grafom:
q
0
q
1
a
q
2
a
b
q
2
b
b
q
1
a
q
1
b
b
a,b
a,b
a,b
Slika 7.6
Sljede´ce ˇsto ´cemo definirati jest proˇsirenje konaˇcnog automata: deter-
ministiˇcki konaˇcni automat s ε prijelazima. On se definira na sljede´ci naˇcin:
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 305
Definicija 7.10 Nedeterministiˇcki konaˇcni automat s ε prijelazima (u oz-
naci εNKA) je petorka M = ¸Σ, K, S, F, δ), pri ˇcemu je
• Σ konaˇcna abeceda automata,
• K konaˇcan skup stanja automata,
• S ∈ K poˇcetno stanje,
• F ⊆ K skup zavrˇsnih stanja automata,
• δ : K (Σ ∪ ¦ε¦) K relacija prijelaza.
Dakle, razlika u definicijama NKA i εNKA je minimalna, u definiciji
funkcije δ, i to samo u tome ˇsto je dopuˇsteno da njen drugi argument,
osim slova abecede Σ bude i ε. Drugim rijeˇcima, osim standardnih prijelaza
dozvoljeni su i prijelazi iz stanja u stanje bez ˇcitanja trake. Ovakvo svojstvo
nema smisla definirati nad deterministiˇckim automatom jer bi kod DKA sva
stanja povezana ε prijelazima bila medusobno ekvivalentna, da bi se mogla
saˇzeti u jedno jedino stanje, ˇcime bi se trivijalno eliminirali svi ε prijelazi.
Prirodno se postavlja pitanje o kojoj klasi jezika mogu odluˇcivati konaˇcni
automati? Pokazuje se da vrijedi sljede´ci teorem:
Teorem 7.1 Za jezik L moˇze se napraviti deterministiˇcki konaˇcni automat
koji odluˇcuje o L ako i samo ako je L regularan jezik.
Dokaz ovog teorema ide preko uspostavljanja veza svih triju uvedenih
konaˇcnih automata. Dokazuje se sljede´ci niz ekvivalencija:
DKA ⇔NKA ⇔εDKA ⇔RL
Medutim, ovaj niz ekvivalencija ne´cemo dokazivati jer on prelazi okvire
ove knjige. Dokazi ovih ekvivalencija mogu se na´ci u [3].
No, postoji joˇs jedno zanimljivo pitanje. Postoje li jezici koji nisu regu-
larni? Drugim rijeˇcima, postoji li neki jezik koji nije u u ˇsrafiranom dijelu,
nego je u bijelom dijelu na sljede´coj slici?
L
RL
Slika 7.7
306 7.2. KONA
ˇ
CNI AUTOMATI
Na ovo vaˇzno pitanje odgovorit ´cemo konstruiranjem jezika koji nisu
regularni. U dokazivanju da neki jezik nije regularan znaˇcajnu ulogu ima
sljede´ci vrlo poznati teorem:
Teorem 7.2 (Lema o pumpanju) Neka je L regularan jezik. Tada pos-
toje nizovi znakova x, y, z ∈ Σ takvi da je y ,= ε i da je xy
n
z ∈ L za svaki
n ∈ N
0
.
Dokaz. Kako je L beskonaˇcan regularan jezik, za njega postoji DKA
koji o njemu odluˇcuje. Pretpostavimo da imamo DKA M s n stanja koji
odluˇcuje o jeziku L. No, kako je L beskonaˇcan, L mora sadrˇzavati nizove
znakova ˇcija je duljina ve´ca od n. Neka je w : σ
1
σ
2
. . . σ
n
∈ L i neka je
[w[ > n. Ako se rijeˇc w obradi konaˇcnim automatom M, on ´ce izvrˇsiti
sljede´ci niz pretvorbi:
(q
0
, w) ¬

M
(ε, q
f(|w|)
),
pri ˇcemu je q
f(|w|)
∈ F. Kako je [w[ > n, po Dirichletovom prin-
cipu, mora postojati stanje q
i
kroz koje je automat proˇsao barem dva puta
obraduju´ci rijeˇc w, tj. postoje 0 ≤ j < k ≤ [w[ takvi da je q
f(j)
= q
f(k)
. To
znaˇci da niz znakova σ
j
. . . σ
k
provodi automat iz stanja q
f(j)
u stanje q
f(j)
.
No, onda niz znakova σ
j
. . . σ
k
moˇze biti maknut iz rijeˇci w, a automat ´ce
joˇs uvijek zavrˇsiti u istom, zavrˇsnom stanju. Dakle, automat ´ce prepoznati
i rijeˇc xz.
S druge strane, dodamo li iza niza znakova σ
j
. . . σ
k
isti taj niz znakova
joˇs n−1 puta, nakon procesiranja svih n pojava podstringa σ
j
. . . σ
k
automat
´ce se joˇs uvijek nalaziti u stanju q
f(j)
, pa ´ce do kraja rijeˇci xy
n
z automat
zavrˇsiti u stanju q
f(|w|)
, koje je zavrˇsno, pa ´ce automat prepoznavati i rijeˇc
xy
n
z.
Sada ´cemo dati nekoliko primjera jezika koji nisu regularni.
Primjer 7.10 Neka je dan jezik L = ¦a
n
: n je prost broj¦. Dokaˇzimo da
jezik L nije regularan.
Neka je xyz ∈ L. Tada, prema lemi o pumpanju i rijeˇc xy
n
z ∈ L.
Neka je y : a
k
. Tada je xz : a
n−k
. No, tada je [xy
n−k
z[ = (n − k) +
(n −k) k = (n −k)(k +1), ˇsto oˇcito nije prost broj, a to se kosi s lemom o
pumpanju, pa zakljuˇcujemo da L nije regularan.
Primjer 7.11 Neka je dan jezik L = ¦a
n
b
n
: n ∈ N
0
¦. Dokaˇzimo da L nije
regularan.
Neka je xyz ∈ L. Imamo tri mogu´ca sluˇcaja:
1. Neka je y : a
k
. U tom sluˇcaju ´ce xy
n
z za n ,= 1 imati razliˇcit broj
a-ova i b-ova, pa ne´ce biti element od L.
2. Sluˇcaj kada je y : b
k
jednak je kao i prethodni sluˇcaj.
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 307
3. Neka je y : a
k
b
l
. No, tada ´ce za n > 1 rijeˇc xy
n
z imati pojavu slova b
kojoj slijedi pojava slova a, a to nije dozvoljeno u jeziku L.
Budu´ci da nije zadovoljena lema o pumpanju, jezik L nije regularan.
7.3 Potisni automati
Druga vaˇzna klasa automata jesu potisni automati ili stog automati. To su
automati koji imaju lokalnu memoriju organiziranu u stog. Sljede´ca slika
pokazuje potisni automat.
a b b a a a b
b
b
a
Slika 7.8
Kod potisnog automata funkcija prijelaza iz stanja u stanje ovisi o stanju
u kojiem se automat nalazi, o proˇcitanom znaku s trake, ali i o simbolu koji
se nalazi na vrhu stoga.
Definicija 7.11 Deterministiˇcki potisni automat s ε prijelazima je sed-
morka M = ¸K, Σ, Γ, S, ⊥, F, δ), pri ˇcemu je
• K konaˇcan skup stanja automata,
• Σ ulazna abeceda,
• Γ abeceda stoga,
• S ∈ Σ poˇcetno stanje,
• ⊥ ∈ Γ poˇcetni simbol stoga,
• F ⊆ K skup zavrˇsnih stanja,
308 7.3. POTISNI AUTOMATI
• δ : K (Σ ∪ ¦ε¦) Γ → K Γ

parcijalna funkcija prijelaza takva
da za svaki q ∈ K i Z ∈ Γ postoji δ(σ, q, Z), za svaki σ ∈ Σ ili pak
postoji δ(ε, q, Z), ali onda nije definirano δ(σ, q, Z) ni za jedan σ ∈ Σ.
Time je definiran deterministiˇcki potisni automat s ε prijelazima.
Definicija 7.12 Nedeterministiˇcki potisni automat ε prijelazima ili samo
potisni automat je sedmorka M = ¸K, Σ, Γ, S, ⊥, F, δ), pri ˇcemu je:
• K je konaˇcan skup stanja automata,
• Σ ulazna abeceda,
• Γ abeceda stoga,
• S ∈ Σ poˇcetno stanje,
• ⊥ ∈ Γ poˇcetni simbol stoga,
• F ⊆ K skup zavrˇsnih stanja,
• δ : KΣ∪¦ε¦) ΓKΓ

parcijalna relacija prijelaza takva da za
svaki q ∈ K i Z ∈ Γ postoji δ(σ, q, Z), za svaki σ ∈ Σ ili pak postoji
δ(ε, q, Z), ali onda nije definirano δ(σ, q, Z) ni za jedan σ ∈ Σ.
Primjer 7.12 Neka je dan jezik L = ¦a
n
b
n
¦. Potisni automat kojemu je
K = ¦q
0
, q
1
, q
2
¦, S = q
0
, F = ¦q
1
¦, Γ = ¦⊥, 0¦, Z
0
= ⊥, a relacija prijelaza
δ neka je zadana sljede´com tablicom:
a b ε
(q
0
, ⊥) (q
0
, 0) (q
2
, ⊥)
(q
0
, 0) (q
0
, 00) (q
1
, ε)
(q
1
, ⊥) (q
2
, ⊥) (q
2
, ⊥)
(q
1
, 0) (q
2
, 0) (q
1
, ε) (q
2
, 0)
Tablica 7.4
Onda taj PA odluˇcuje o jeziku L.
Ovaj primjer nam pokazuje jedan od naˇcina kako potisni automat moˇze
prepoznavati neki jezik. Ova vrsta prepoznavanja naziva se odluˇcivanje
zavrˇsnim stanjem. Kod ove vrste prepoznavanja rijeˇc je prihva´cena ako
je nakon ˇcitanja rijeˇci (i nakon izvrˇsenja ε prijelaza) automat zavrˇsio u
zavrˇsnom stanju. Postoji, medutim, joˇs jedna vrsta prepoznavanja jezika
koja se moˇze definirati za potisni automat - odluˇcivanje praznim stogom.
Kod ove vrste prepoznavanja nije vaˇzno u kojem je automat stanju stao, ve´c
je vaˇzno da je kod zaustavljanja stog automata prazan. Stoga se kod PA
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 309
koji prepoznaje praznim stogom standardno stavlja F = ∅. Sljede´ci primjer
daje deterministiˇcki automat koji prepoznaje jezik iz prethodnog primjera
praznim stogom.
Primjer 7.13 Zadan je jezik L = ¦a
n
b
n
¦. K = ¦q
0
, q
1
, q
2
¦, a S = q
0
.
F = ∅, te neka je Γ = ¦⊥, 0¦ i neka je Z
0
= ⊥. Sada imamo sljede´cu
definiciju:
a b ε
(q
0
, ⊥) (q
0
, 0) (q
2
, ⊥)
(q
0
, 0) (q
0
, 00) (q
1
, ε)
(q
1
, ⊥) (q
2
, ⊥) (q
2
, ⊥)
(q
1
, 0) (q
2
, 0) (q
1
, ε)
Tablica 7.5
Upravo opisano saˇzeto je u sljede´coj definiciji:
Definicija 7.13 Neka je L jezik. Kaˇzemo da potisni automat M
1
odluˇcuje
zavrˇsnim stanjem o jeziku L i piˇsemo L(M
1
), ako automat nakon procesi-
ranja svake rijeˇci iz jezika L staje u zavrˇsnom stanju.
Kaˇzemo da potisni automat M
2
odluˇcuje praznim stogom o jeziku L i
piˇsemo L(M
1
), ako je stog automata nakon procesiranja svake rijeˇci iz jezika
L prazan.
Sada imamo sljede´ci, vrlo zanimljiv teorem:
Teorem 7.3 Neka je L jezik. Za jezik L postoji deterministiˇcki potisni
automat M
1
takav da je L = L(M
1
) ako i samo ako postoji deterministiˇcki
potisni automat M
2
takav da je L = N(M
2
).
Dokaz. Neka je M
1
PA koji odluˇcuje o jeziku L zavrˇsnim stanjem.
ˇ
Zelimo napraviti PA M
2
koji odluˇcuje o jeziku L praznim stogom.
Pri tome moramo imati na umu dvije stvari. Naravno, osnovno je da taj
automat mora isprazniti stog u trenutku kada automat M
1
stane u zavrˇsnom
stanju. No, isto tako je vaˇzno da osiguramo da PA M
2
ne isprazni sluˇcajno
stog kada mi to ne ˇzelimo, tj. kada M
1
nije stao u zavrˇsnom stanju.
Kako bismo onemogu´cili ovo drugo, abecedu stoga PA M
2
proˇsirit ´cemo
jednim simbolom u odnosu na abecedu M
1
. Recimo da je to simbol ⊥
1
. Na
samom poˇcetku rada PA M
2
osigurat ´cemo da on zapiˇse na stog znak ⊥
2
,
ˇcime ´cemo kontrolirati da stog ne postane prazan, ve´c da se na njemu uvijek
nalazi simbol ⊥
1
.
Neka je M
1
= ¸K, Σ, Γ, q
0
, ⊥, F, δ) i neka je M
2
=
¸
K

, Σ

, Γ

, q

0
, ⊥, ∅, δ

_
.
Kako automat M
2
ne odluˇcuje zavrˇsnim stanjem, odmah moˇzemo definirati
310 7.3. POTISNI AUTOMATI
da je F

= ∅. Kako ova dva automata trebaju opisivati isti jezik, onda je
jasno da je Σ

= Σ. Rekli smo da je Γ

= Γ ∪ ¦⊥
1
¦.
Dodat ´cemo joˇs jedno stanje, recimo q

0
, koje ´ce biti poˇcetno, i koje ´ce se
ε prijelazom vezati za poˇcetno stanje automata M
1
, dodaju´ci tako simbol

1
na poˇcetku rada na stog. Dakle, K

= K ∪ ¦q

0
¦.
Na kraju, ostala nam je definicija relacije δ

. Kao prvo, u relaciji δ sve po-
jave simbola ⊥, bilo u tre´coj, bilo u petoj komponenti, mijenjamo simbolom

1
. Nakon toga u δ dodajemo petorku (q

0
, ε, ⊥, q
0
, ⊥
1
). Takoder, za svako
stanje q ∈ F, te za svaki simbol γ ∈ Γ definiramo da je (q, ε, γ, q, ε) ∈ δ

.
Isto tako, za svako q ∈ F definiramo da je (q, ε, ⊥
1
, q, ε) ∈ δ

, tako da zaista
dobijemo prazan stog, odnosno stog u kojem se nalazi samo simbol ⊥.
Obrnuto, neka je M
2
PA koji odluˇcuje o jeziku L praznim stogom.
Potrebno je kreirati PA M
1
koji ´ce odluˇcivati o jeziku L zavrˇsnim stanjem.
Neka je M
2
= ¸K, Σ, Γ, q
0
, ⊥, ∅, δ). Kreirajmo automat M
1
=< K

, Σ

,
Γ

, q

0
, ⊥, F

, δ

>. Konstruiranje ovog PA je joˇs jednostavnije. Naravno,
vrijedi Σ

= Σ, Γ

= Γ. Dodaje se novo stanje q

F
i stavlja se K

= K∪¦q

f
¦.
Takoder, za svako stanje q ∈ K definira se ε prijelaz (q, ε, ⊥, q

F
, ⊥). Na taj
naˇcin se svako praˇznjenje stoga registrira prilazom u stanje q

F
. Konstrukcija
automata M
1
zavrˇsava definiranjem skupa F

= ¦q

F
¦.
Time je teorem dokazan.
Iz definicija PA, ali i DPA moˇze se vidjeti nekoliko vaˇznih stvari vezanih
uz potisni automat. Potisni se automat standardno definira kao nedetermin-
istiˇcki automat u kojem su dozvoljeni ε prijelazi, dok se konaˇcni automat
standardno definira kao deterministiˇcki. Razlog tome je sljede´ci teorem.
Teorem 7.4 Neka je L jezik. Za jezik L postoji potisni automat M za koji
vrijedi L = N(M) ako i samo ako je L kontekstno slobodan jezik.
Ovaj teorem ne´cemo dokazivati, kao ˇsto nismo dokazivali ni teorem 7.1.
Dokazi oba ova teorema mogu se na´ci u [3] i u [5].
No, dokazat ´cemo teorem sliˇcan onome koji smo dokazivali za regularne
jezike u prethodnom poglavlju za kontekstno slobodne jezike:
Teorem 7.5 (Lema o pumpanju) Neka je L kontekstno slobodan jezik.
Tada postoji k ∈ N takav da za svaku rijeˇc w ∈ L, takvu da je [w[ ≥ k,
postoji zapis w : uvxyz, takav da je v ,= ε ili y ,= ε i takav da je za proizvoljan
n ∈ N
0
rijeˇc uv
n
xy
n
z ∈ L.
Prije nego ˇsto krenemo na dokazivanje ovog teorema treba definirati
stabla izvoda za rijeˇc w i gramatiku G. Stablo izvoda je stablo u kojem
je korijen oznaˇcen sa startnim simbolom S. Nadalje, ako primijenjujemo u
nekom trenutku pravilo A → α, α : σ
1
. . . σ
n
, tada se u stablu kao djeca
vrha A javljaju vrhovi σ
1
, . . . , σ
n
. Listovi stabla su terminalni simboli, dok
su unutarnji ˇcvorovi stabla izvoda oni simboli koji nisu terminalni.
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 311
Primjer 7.14 Dan je jezik L koji se sastoji od palindroma nad abecedom
Σ = ¦a, b, c¦. Palindromi su rijeˇci koje su jednake, ˇcitane sprijeda i straga.
Gramatika za ovaj jezik je:
S →ε
S →aSa
S →bSb
S →cSc
Pogledajmo sada rijeˇc abccba i njeno stablo izvoda:
S
a S a
b S b
c S c
e
Slika 7.9
Dokaz. Neka je jezik L opisan gramatikom G : ¸V, Σ, R, S). Ono ˇsto
treba dokazati jest da je svaki terminal ˇcija je duljina ve´ca ili jednaka k
izvodiv tako da je
S →

uAz →

uvAyz →

uvxyz.
ˇ
Sto se dogada kada je p najve´ci broj znakova na desnoj strani nekog
pravila iz gramatike G? Tada stablo koje ima m razina moˇze imati najviˇse
p
m
listova. Ova se tvrdnja moˇze dokazati indukcijom po m, no ovdje je
ne´cemo dokazivati. Zainteresirani ˇcitatelj moˇze sam izvesti ovaj jednostavan
dokaz.
Drugim rijeˇcima, ako stablo opisuje izvod rijeˇci koja ima viˇse od p
m
slova, onda u tom stablu mora postojati put od korijena do terminala ˇcija
je duljina ve´ca od m.
Stavimo sada da je m = [V ¸Σ[, odnosno, neka je m broj slova abecede
V koja nisu terminali. Neka je k = p
m
, te neka je dana rijeˇc w takva da
je [w[ > k. Neka je T stablo izvoda rijeˇci w. No, tada u stablu T postoji
bar jedan put od korijena do terminala duljine ve´ce od [V ¸Σ[, tj. put koji
prolazi kroz viˇse od [V ¸Σ[ + 1 ˇcvorova.
312 7.3. POTISNI AUTOMATI
No, kako abeceda ima samo [V ¸Σ[ neterminalnih slova, to na tom putu
moˇze biti najviˇse [V ¸Σ[ razliˇcitih unutarnjih ˇcvorova. Zbog toga na tom
putu moraju postojati dva ˇcvora koja imaju istu oznaku. Pri tome treba
napomenuti da nijedan od ta dva ˇcvora ne moˇze biti list, jer listovi i unutarnji
ˇcvorovi ne mogu imati iste oznake. Neka ti ˇcvorovi imaju oznaku A.
To znaˇci da u izvodu rijeˇci w postoji dio izvoda opisan sljede´com she-
mom:
S →

uAz →

uvAyz →

uvxyz,
pri ˇcemu barem jedna od rijeˇci v i y mora biti neprazna.
Dio izvoda koji zapoˇcinje i zavrˇsava u istom stanju A moˇzemo kontrahi-
rati tako da obriˇsemo sve od prve pojave simbola A do njegove druge pojave,
ˇcime ´cemo dobiti izvod
S →

uAz →

uxz,
dakle izvod rijeˇci uxz. Dakle, uxz ∈ L.
Isto tako, taj se dio izvoda moˇze ponoviti viˇse puta, ˇcime ´ce se dobiti
S →

n
¸ .. ¸
uAz →

uvAyz →

. . . →

uAz →

uv
n
Ay
n
z →

uv
n
xy
n
z
pa je i uv
n
xy
n
z ∈ L za svaki n ∈ N.
Korolar 7.1 Svaki je regularni jezik kontekstno slobodan. Obratno ne vri-
jedi.
Dokaz. Svaki se konaˇcni automat moˇze prikazati kao potisni automat
koji uop´ce ne koristi stog, pa se svaki jezik koji se moˇze prepoznavati pomo´cu
konaˇcnog automata moˇze prepoznavati pomo´cu potisnog automata.
U primjeru 7.10 pokazali smo da jezik L = ¦a
n
b
n
¦ nije regularan. No, u
primjeru 7.13 smo pokazali da taj jezik jest kontekstno slobodan. Time je
pokazano da kontekstno slobodni jezici nisu nuˇzno regularni.
Pitanje koje se postavlja jest, postoji li jezik koji nije kontekstno slobo-
dan? Odgovor na ovo pitanje dan je sljede´cim primjerom.
Primjer 7.15 Neka je zadan jezik L = ¦a
n
b
n
c
n
¦. Pokaˇzite da taj jezik nije
kontekstno slobodan.
Naravno, dokaz se provodi pomo´cu leme o pumpanju.
Neka je n >
k
3
. Tada se na rijeˇc w : a
n
b
n
c
n
moˇze primijeniti lema
o pumpanju. U tom sluˇcaju mora postojati zapis w : uvxyz takav da je
uv
i
xy
i
z ∈ L za svaki i ∈ N
0
.
Ako v ili y sadrˇzi razliˇcita slova, onda ´ce se u rijeˇci uv
i
xy
i
z za i > 1
imati pojavu slova b ispred slova a ili pak pojavu slova c ispred slova b, a to
ne moˇze biti.
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 313
Dakle, v i y mogu se sastojati samo od jednog simbola. No, u tom
sluˇcaju, u rijeˇci uv
i
xy
i
z za i > 1 pove´cat ´cemo broj pojava jednog ili dva
razliˇcita slova, dok ´ce broj pojava tre´ceg slova ostati isti, pa rijeˇc viˇse ne´ce
pripadati jeziku L.
Dakle, kako se ne moˇze ispoˇstovati lema o pumpanju, zakljuˇcuje se da L
nije kontekstno slobodan jezik.
Sljede´ca slika daje klasifikaciju jezika koju smo do sada obradili:
L
RL
CFL
Slika 7.10
U ovom smo se poglavlju uglavnom bavili nedeterministiˇckim potisnim
automatom, dok smo deterministiˇcki potisni automat tek spomenuli. Zaˇsto
deterministiˇcki potisni automat ima tako malu ulogu? Zato ˇsto je determi-
nistiˇcki potisni automat kao koncept preslab da bi opisao kontekstno slo-
bodne jezike, koji su ovdje interesantni.
Iz upravo reˇcenoga moˇze se zakljuˇciti da, za razliku od konaˇcnih au-
tomata, nedeterministiˇcki i deterministiˇcki potisni automati ne definiraju
istu klasu jezika. I zaista, postoje kontekstno slobodni jezici o kojima se ne
moˇze odluˇcivati pomo´cu deterministiˇckog potisnog automata. Klasa jezika
o kojoj se moˇze odluˇciti pomo´cu deterministiˇckog potisnog automata ˇsira je
od klase regularnih jezika, ali je uˇza od klase kontekstno slobodnih jezika. Ta
se klasa naziva klasom deterministiˇckih kontekstno slobodnih jezika. Drugim
rijeˇcima, imamo sljede´ce odnose medu klasama jezika:
RL ⊂ DCFL ⊂ CFL.
7.4 Turingovi strojevi
Kroz prethodna smo dva poglavlja tragali za automatom koji bi mogao
opisati bilo koji jezik. Uveli smo dvije vrste automata, no ni jedan od njih,
kao ˇsto smo pokazali, nije sveobuhvatan. U prvom smo poglavlju imali jedan
vrlo jednostavan automat, koji je traku ˇcitao sljedno i koji nije imao memo-
riju. Pokazali smo da taj koncept nije dovoljan da bi se njime mogli opisati
314 7.4. TURINGOVI STROJEVI
svi jezici. U drugom smo poglavlju automat proˇsirili dodavˇsi mu memo-
riju. Tako smo proˇsirili klasu jezika koje moˇzemo prepoznati automatom, no
pokazalo se da i time nismo definirali sveobuhvatni automat. U ovom ´cemo
poglavlju opisati automat koji prepoznaje joˇs ˇsiru klasu jezika – Turingov
stroj.
Turingov stroj je automat koji nema svoju zasebnu memoriju, ali moˇze
traku s koje ˇcita ulaz ujedno koristiti kao memoriju. Osim toga, Turingov
stroj traku ne mora ˇcitati samo jednosmjerno - od poˇcetka prema kraju, ve´c
su kod njega mogu´ci pomaci po traci u oba smjera, tako da Turingov stroj
moˇze isti simbol ˇcitati i viˇse puta.
Dakle, Turingov je stroj automat koji u svakom svom koraku moˇze
proˇcitati s trake znak, upisati na istu tu poziciju trake drugi znak, te po-
maknuti glavu za ˇcitanje na sljede´ci ili prethodni znak na traci. Ovaj koncept
razvio je engleski matematiˇcar Alan Turing (1912.-1954.).
Turingov se stroj formalno definira kao:
Definicija 7.14 Turingov stroj je petorka M = ¸K, Σ, S, F, δ), pri ˇcemu je:
• K konaˇcan skup stanja automata,
• Σ je abeceda, u kojoj imamo istakuti prazni (blank) simbol . ∈ Σ i
poˇcetni simbol ,
• S ∈ K poˇcetno stanje,
• F = ¦q
T
, q
F
¦ ⊆ S skup zavrˇsnih stanja, koji sadrˇzi stanja,
• δ : K¸¦q
F
, q
T
¦ Σ →K Σ ¦L, R¦ funkcija prijelaza.
U literaturi se mogu prona´ci vrlo razliˇcite definicije Turingovog stroja,
ˇsto moˇze itekako zbuniti manje vjeˇstog ˇcitatelja. Turingov stroj u literaturi
predstavlja kao ˇcetvorka, pa sve do sedmorke. Neki autori ne istiˇcu posebno
skup zavrˇsnih stanja, a neki da. U ovoj definiciji skup zavrˇsnih stanja bi se
isto tako mogao izostaviti i re´ci samo da skup stanja sadrˇzi stanja q
T
, q
F
i
q
h
. Neki autori razlikuju dvije abecede: jedna je abeceda jezika koji automat
prepoznaje, a druga je abeceda oboga´cena specijalnim simbolima i .. Neki
autori ne specificiraju, kao ˇsto smo mi napravili, posebno zavrˇsno stanje za
rijeˇc koju automat potvrduje (q
T
) i za onu koju odbacuje (q
F
) te posebno
zavrˇsno stanje (q
h
), koje sluˇzi u automatima koji ne rade odluˇcivanje, ve´c
izraˇcunavanje. U tom sluˇcaju, autori definiraju funkciju δ kao parcijalnu
funkciju, te sve prijelaze u stanje q
F
zamijenjuju nedefiniranim prijelazima.
Na kraju, postoje razlike i u tome kako se definiraju mogu´ci pokreti glave
za ˇcitanje. Dok neki autori zahtijevaju da se u svakom koraku glava za
ˇcitanje mora pomaknuti jedno polje lijevo ili desno, neki autori dozvoljavaju
da glava u nekim konfiguracijama ostane na mjestu. Drugim rijeˇcima, skup
simbola ¦L, R¦, koji definira pomicanje glave za ˇcitanje, moˇze se nadopuniti
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 315
do ¦L, N, R¦. Bez obzira na sve te razlike, svi autori, definiraju´ci Turingov
stroj, definiraju automat iste ekspresivnosti i istih osnovnih svojstava.
Primjer 7.16 Neka je Σ = ¦a, b¦, i neka je zadan jezik L = ¦a
n
b
n
¦ nad
Σ. Napravimo Turingov stroj koji prepoznaje ovaj jezik. On otkida jedan
a sprijeda, pa jedan b straga. Ako ostane viˇsak a-ova ili viˇsak b-ova, onda
rijeˇc nije dobra, a ako ostane prazna rijeˇc, onda je ulazna rijeˇc bila dobra.
a b .
q
0
(, R, q
0
) (, R, q
1
) q
F
(., L, q
T
)
q
1
(, L, q
F
) (a, R, q
1
) (b, R, q
1
) (., L, q
2
)
q
2
(, L, q
F
) (a, L, q
F
) (., L, q
3
) (., L, q
F
)
q
3
(, R, q
0
) (a, L, q
3
) (b, L, q
3
) (., L, q
F
)
Tablica 7.6
Primijetimo da tablicu kojom smo opisali Turingov stroj nismo ispunili
do kraja. To bi znaˇcilo da je funkcija δ parcijalna funkcija. No, ona se moˇze
upotpuniti tako da se sva nedefinirana stanja popune tako da Turingov stroj
upiˇse znak koji je proˇcitao, glavu premjesti u desno i prijede u stanje q
F
.
Primjer 7.17 Napravimo Turingov stroj koji ´ce prepoznavati jezik L =
¦a
n
b
n
c
n
¦.
Ideja je da se prvo provjeri ima li isti broj a-ova i c-ova, tako da se a-ovi
prepisuju c-ovima, a c-ovi se na kraju briˇsu. Ako se desi da ostane u rijeˇci
neki a, a da iza b-ova viˇse nema c-ova, onda rijeˇc nije dobra. Isto je ako iza
b-ova ostane neki c, ali u rijeˇci viˇse nema a-ova. Ako istovremeno ponestane
a-ova i c-ova iza b ova, onda ´ce nam preostati rijeˇc koja zapoˇcinje odredenim
brojem c-ova, iza ˇcega slijedi odreden broj b-ova. Njihovo se prebrojavanje
vrˇsi tako da se briˇse po jedan c s poˇcetka rijeˇci i jedan b s kraja. Ako taj
postupak zavrˇsi praznom rijeˇci, onda je ulazna rijeˇc bila dobra. Zavrˇsi li ovaj
postupak rijeˇcju koja se sastoji od odredenog broja c-ova ili od odredenog
broja b-ova, onda rijeˇc nije dobra.
a b c .
q
0
(, R, q
0
) (c, R, q
1
) (., L, q
T
)
q
1
(a, R, q
1
) (b, R, q
1
) (c, R, q
1
) (., L, q
2
)
q
2
(., L, q
3
)
q
3
(, R, q
4
) (a, L, q
3
) (b, L, q
3
) (c, L, q
3
)
q
4
(c, R, q
1
) (b, R, q
5
) (c, R, q
4
)
q
5
(b, R, q
5
) (c, R, q
5
) (., L, q
6
)
q
6
(, R, q
T
) (., L, q
7
)
q
7
(, R, q
8
) (b, L, q
7
) (c, L, q
7
)
q
8
(, R, q
5
) (., R, q
F
)
Tablica 7.7
316 7.4. TURINGOVI STROJEVI
No, kako Turingovi strojevi imaju, osim ˇcitanja, mogu´cnost pisanja na
traku, oni, za razliku od prije navedenih automata, imaju mogu´cnost zapisi-
vanja izlaznog rezultata na traku. Tako se Turingovi strojevi mogu koristiti
i za razliˇcita izraˇcunavanja.
Primjer 7.18 Neka su dva broja zapisana u unarnom zapisu, tj. broj n je
prikazan pomo´cu n nula. Ta dva broja na traci razdvojena su znakom +.
Potrebno je zbrojiti ta dva broja.
Rjeˇsenje je jednostavno: treba obrisati jednu nulu s kraja drugog broja,
a znak + treba zamijeniti nulom. Turingov stroj koji radi ovu operaciju
opisan je sljede´com tablicom.
0 + .
q
0
(, R, q
0
) (0, R, q
0
) (0, R, q
1
)
q
1
(0, R, q
1
) (., L, q
2
)
q
2
(., R, q
T
)
Tablica 7.8
Dajmo joˇs dva primjera:
Primjer 7.19 Napravimo sada Turingov stroj koji izokre´ce bilo koju rijeˇc
nad abecedom Σ = ¦a, b, c¦ naopako.
Automat radi na sljede´ci naˇcin. Na poˇcetku rijeˇci ´ce ostati praznina
ispred koje se prepisuje prvo slovo rijeˇci. Nakon toga se prepisuje drugo
slovo rijeˇci ispred prvoga, itd., sve do kraja rijeˇci. Kao pomo´cni simbol,
kojim ´cemo ispunjavati prostor izmedu kreirane rijeˇci i ostatka ulazne rijeˇci
koristit ´cemo simbol .
Stroj je dan sljede´com tablicom.
a b c .
q
0
(, R, q
0
) (, L, q
a
) (, L, q
b
) (, L, q
c
) (., R, q
h
)
q
a
(a, L, q

) (a, L, q
a
) (b, L, q
a
) (c, L, q
a
)
q
b
(b, L, q

) (a, L, q
b
) (b, L, q
b
) (c, L, q
b
)
q
c
(c, l, q

) (a, L, q
c
) (b, L, q
c
) (c, L, q
c
)
q

(, R, q
1
) (, R, q
1
) (, R, q
1
) (, R, q
1
)
q
1
(, R, q
0
) (a, R, q
1
) (b, R, q
1
) (c, R, q
1
)
Tablica 7.9
Primjer 7.20 Napravimo Turingov stroj koji ´ce ulazni niz znakova na traci
kopirati, tj. kao izlaz dati dva jednaka niza znakova odvojena razmakom.
Neka je abeceda ovog stroja binarna abeceda, tj. Σ = ¦0, 1, , .¦.
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 317
Stroj ´ce raditi tako da ´ce prvi znak ulaznog niza znakova brisati, i
prepisati ga dva puta. Pri tome ´ce se posljednja rijeˇc na traci trebati pomi-
cati jedno polje desno prije svakog upisivanja slova u drugu rijeˇc, kako bi se
dobilo mjesto za upis novog slova u drugu rijeˇc.
0 1 .
q
0
(, R, q
0
) (, R, q
01
) (, R, q
11
) (, R, q
T
)
q
01
(0, R, q
01
) (1, R, q
01
) (., R, q
02
)
q
02
(0, R, q
003
) (0, R, q
103
) (0, R, q
0
4)
q
003
(0, R, q
003
) (0, R, q
103
) (0, R, q
04
)
q
103
(1, R, q
003
) (1, R, q
103
) (1, R, q
04
)
q
04
(., R, q
005
) (., R, q
105
) (., R, q
04
)
q
05
(0, R, q
005
) (0, R, q
105
) (0, L, q
06
)
q
005
(0, R, q
005
) (0, R, q
105
) (0, L, q
06
)
q
105
(1, R, q
005
) (1, R, q
105
) (1, L, q
06
)
q
06
(0, L, q
06
) (1, L, q
06
) (., R, q
07
)
q
07
(0, L, q
008
) (1, L, q
108
)
q
008
(0, R, q
008
) (0, R, q
108
) (0, L, q
rew
)
q
108
(1, R, q
008
) (1, R, q
108
) (1, L, q
rew
)
q
11
(0, R, q
11
) (1, R, q
11
) (., R, q
12
)
q
12
(1, R, q
013
) (1, R, q
113
) (1, R, q
1
4)
q
013
(0, R, q
013
) (0, R, q
113
) (0, R, q
14
)
q
113
(1, R, q
013
) (1, R, q
113
) (1, R, q
14
)
q
14
(., R, q
015
) (., R, q
115
) (., R, q
14
)
q
15
(1, R, q
015
) (1, R, q
115
) (1, L, q
16
)
q
015
(0, R, q
015
) (0, R, q
115
) (0, L, q
16
)
q
115
(1, R, q
015
) (1, R, q
115
) (1, L, q
16
)
q
16
(0, L, q
16
) (1, L, q
16
) (., R, q
17
)
q
17
(0, L, q
018
) (1, L, q
118
)
q
018
(0, R, q
018
) (0, R, q
118
) (0, L, q
rew
)
q
118
(1, R, q
018
) (1, R, q
118
) (1, L, q
rew
)
q
rew
(, R, q
0
) (0, L, q
rew
) (1, L, q
rew
) (., L, q
rew
)
Tablica 7.10
Ovaj je Turingov stroj neˇsto sloˇzeniji pa ´cemo ga detaljnije opisati.
Stanje q
0
je poˇcetno stanje i ujedno nam sluˇzi za brisanje prvog slova iz
ulazne rijeˇci. Ovisno o tome je li prvo slovo bilo 0 ili 1, stroj odlazi u stanje
q
01
ili q
11
. Stanja q
01
do q
108
su stanja koja definiraju rad stroja u sluˇcaju da
je obrisani znak bio 0, dok stanja q
11
do q
118
na sliˇcan naˇcin definiraju rad
stroja u sluˇcaju da je obrisani znak 1. Dalje ´cemo opisati stanja q
01
do q
108
.
Stanje q
01
se ponavlja dok se ne proˇcita do kraja ostatak ulazne rijeˇci. Nakon
toga dolaze stanja q
02
do q
103
, koja dodaju na poˇcetak druge rijeˇci, odnosno
318 7.4. TURINGOVI STROJEVI
prve rijeˇci rezultata znak 0, dok preostale znakove te rijeˇci premjeˇstaju za
jedno polje trake dalje. Stanje q
02
izvrˇsava se jednom i dodaje 0 na poˇcetak
rijeˇci. S obzirom na to je li na mjestu gdje je upisana ta nula bio znak 0 ili
1 prelazi se u stanje q
003
, odnosno q
103
. Na kraju druge rijeˇci prelazi se u
stanje q
04
, ˇcime poˇcinje obrada tre´ce rijeˇci. U prvom prolazu tre´ca se rijeˇc
premjeˇsta za jedno mjesto desno na traci. Poˇcinje se stanjem q
04
, kojim se
premjeˇsta razmak izmedu druge i tre´ce rijeˇci, te se ponavljaju stanja q
005
i
q
105
dok se ne dode do kraja tre´ce rijeˇci. Tada stroj dode u stanje q
05
, te
nakon toga prelazi u stanje q
06
. Stanje q
06
sluˇzi za vra´canje na poˇcetak tre´ce
rijeˇci, a kada se dode do njenog poˇcetka, prelazi se u stanje q
07
. Stanja q
07
do q
108
dodaju znak 0 na poˇcetak tre´ce rijeˇci i premjeˇstaju ostale znakove
tre´ce rijeˇci za jedno mjesto na traci u desno. Ova stanja djeluju sliˇcno kao
ˇsto djeluju stanja q
02
do q
103
, premjeˇstaju´ci drugu rijeˇc. Nakon toga, prelazi
se u stanje q
rew
koje sluˇzi za prematanje trake na poˇcetak zapisa. Kada se
dode do poˇcetka zapisa, prelazi se natrag na stanje q
0
i postupak se ponavlja
za sljede´ci znak ulazne rijeˇci.
Sada se postavlja pitanje koju klasu jezika prepoznaju Turingovi stro-
jevi? Imamo sljede´ce definicije:
Definicija 7.15 Neka je dan jezik L za koji postoji Turingov stroj koji za
svaku rijeˇc w ∈ L staje u stanju q
T
, a za svaku rijeˇc x ,∈ L staje u stanju
q
F
. Tada kaˇzemo da je L rekurzivan jezik.
Za rekurzivne jezike kaˇzemo da su odluˇcivi .
Definicija 7.16 Neka je L jezik za koji postoji Turingov stroj koji za svaku
rijeˇc w ∈ L staje u stanju q
T
. Tada kaˇzemo da je jezik L rekurzivno prebrojiv.
Jasno je da je klasa rekurzivnih jezika (RCL) podklasa klase rekurzivno
prebrojivih jezika (RCEL), tj. da vrijedi sljede´ca slika:
L
RL
CFL
RCL
RCEL
Slika 7.11
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 319
No, postavlja se pitanje postoji li jezik koji je rekurzivno prebrojiv, a
koji nije rekurzivan ili je RCL = RCEL. Pokazat ´cemo da ove dvije klase
nisu jednake, tj, da postoje rekurzivno prebrojivi jezici koji nisu rekurzivni.
Krenimo u konstrukciju jezika koji je rekurzivno prebrojiv, a nije rekurzi-
van. Ponajprije, kreirajmo koncept koji se naziva univerzalni Turingov stroj.
Univerzalni Turingov stroj kao ulaz prima par (M, w), gdje je M opis
nekog Turingovog stroja, a w rijeˇc. On staje u stanju q
T
ako stroj M
primjenjen na rijeˇc w staje u stanju q
T
, a ako stroj M primijenjen na rijeˇc
w staje u stanju q
F
, onda staje u stanju q
F
. Drugim rijeˇcima, univerzalni
Turingov stroj odluˇcuje prihva´ca li dani Turingov stroj danu rijeˇc ili ne.
Postavlja se pitanje moˇze li se neki Turingov stroj M = ¸K, Σ, S, F, δ)
efikasno kodirati na traku tako da ga univerzalni Turingov stroj moˇze ko-
ristiti kao ulaz. Bez smanjenja op´cenitosti moˇzemo pretpostaviti da je
Σ = ¦0, 1, , .¦. Stavimo da je X
1
= 0, X
2
= 1, X
3
= , a X
4
= .. Nadalje,
preimenujmo stanja tako da stanja stroja budu q
1
, . . . , q
n
. Pri tome, neka
je S = q
1
te q
n−1
= q
F
i q
n
= q
T
. Nadalje, kodirajmo pomicanja trake tako
da je D
1
= L i D
2
= R. Na samu traku nije potrebno zapisivati niti skup
stanja, niti ulaznu abecedu, jer ´ce oboje biti implicitno zadano preko jedinog
ˇsto ´cemo zapisivati na traku: preko funkcije δ prijelaza. Za svaki prijelaz je
δ(Q
i
, X
j
) = (Q
k
, X
l
, D
m
)
Definirajmo sljede´ci kod:
0
i
10
j
10
k
10
l
10
m
.
Sada je jasno da se bilo koja druga abeceda, osim one koju smo uzeli
u razmatranje moˇze jednako lagano enkodirati na ovaj naˇcin. Neka su
c
1
, . . . , c
r
kodovi za sve prijelaze Turingovog stroja M dobiveni na gore
opisani naˇcin. Tada se cijeli Turingov stroj M kodira kao
111c
1
11c
2
11 . . . 11c
n
111.
Dokaˇzimo sada neka svojstva Turingovih strojeva koja ´ce nam trebati u
daljnjem razmatranju.
Prvo svojstvo koje ´cemo dokazati smo ve´c koristili na prethodnoj slici,
pretpostavivˇsi da je klasa RCL ⊆ RCEL. Taj je rezultat izravna posljedica
definicija 7.15 i 7.16.
Korolar 7.2 Neka je L rekurzivan jezik. Onda je L rekurzivno prebrojiv
jezik.
Lako se dokazuje sljede´ce svojstvo:
Propozicija 7.1 Neka je L rekurzivan jezik. Onda je i L
c
rekurzivan jezik.
320 7.4. TURINGOVI STROJEVI
Dokaz. Neka je L rekurzivan jezik. Tada postoji Turingov stroj M koji
odluˇcuje o jeziku L. Konstruirajmo Turingov stroj M

na sljede´ci naˇcin:
Turingov stroj M

je jednak Turingovom stroju M u svemu, osim u prijela-
zima koji prevode stroj u zavrˇsno stanje. Promjene su napravljene tako da
ako stroj M prelazi u stanje q
T
, onda stroj M

prelazi u stanje q
F
i obrnuto.
Jasno je da ´ce tako definirani Turingov stroj M

stati u stanju q
F
za svaku
rijeˇc w ∈ L te da ´ce stati u stanju q
T
za svaku rijeˇc w

,∈ L. Drugim rijeˇcima,
Turingov stroj M

odluˇcuje o jeziku L
c
.
Tvrdnja prethodne propozicije jest intuitivno vrlo jasna. No, isto je tako
jasno da klasa rekurzivno prebrojivih jezika ne mora biti zatvorena s obzirom
na komplement. Takoder, intuicija nam govori, ako je klasa rekurzivno
prebrojivih jezika zatvorena s obzirom na komplement, onda je RCEL=RCL.
Naime, vrijedi sljede´ci teorem:
Teorem 7.6 Neka je L jezik. L je rekurzivan ako i samo ako su L i L
c
rekurzivno prebrojivi.
Iskaz ovog teorema moˇze se prikazati sljede´com slikom:
RCEL coRCEL
RCL
Slika 7.12
Prije no ˇsto dokaˇzemo ovu tvrdnju, dokazat ´cemo sljede´cu propoziciju.
Propozicija 7.2 Neka su L
1
i L
2
rekurzivni (rekurzivno prebrojivi) jezici
nad istom abecedom Σ. Onda je i jezik L
1
∪ L
2
rekurzivan (rekurzivno
prebrojiv).
Dokaz.
Neka su jezici L
1
i L
2
rekurzivni. Neka su M
1
i M
2
Turingovi strojevi
koji odluˇcuju o jezicima L
1
i L
2
. Tada konstruiramo Turingov stroj M kako
slijedi.
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 321
Prvo je potrebno ulazni niz znakova na traci iskopirati u dvije kopije
kako je to napravljeno u primjeru 7.20. Dakle, M prvo mora simulirati rad
TS iz primjera 7.20.
Nakon toga M simulira rad TS M
1
na prvoj kopiji ulaznog niza znakova.
No, TS M
1
se za svaku rijeˇc nakon konaˇcno mnogo koraka zaustavlja u stanju
q
T
ili u stanju q
F
, pa ´ce tako i simulacija. Ako bi se stroj M
1
zaustavio u
stanju q
T
, onda i stroj M staje u stanju q
T
. Ako bi se TS M
1
zaustavio u
stanju q
F
, onda TS M nastavlja s radom, simuliraju´ci sada TS M
2
na drugoj
kopiji ulaznog niza znakova. M
2
takoder za svaku rijeˇc staje u konaˇcno
mnogo koraka u stanju q
T
ili pak u stanju q
F
. U svakom sluˇcaju TS M u
oba sluˇcaja staje i to u istom onom stanju u kojem staje TS M
2
.
Jasno je da ´ce TS M stati u stanju q
T
ako u tom stanju staje TS M
1
ili
pak M
2
, dok za rijeˇci za koje i M
1
i M
2
staju u stanju q
F
, i TS M staje u
stanju q
F
. Dakle, TS M odluˇcuje o jeziku L
1
∪ L
2
.
Ako su jezici L
1
i L
2
rekurzivno prebrojivi, onda se M konstruira malo
drugaˇcije. Naime, tada nije sigurno da ´ce M
1
ikada stati, pa ne moˇzemo
prvo simulirati M
1
, a nakon toga M
2
.
Kao i u prethodnom sluˇcaju, i u ovom sluˇcaju moramo ulazni niz znakova
udvostruˇciti na traci.
Sada ´cemo simulirati rad M
1
i M
2
paralelno, simuliraju´ci jedan korak TS
M
1
na prvoj kopiji ulaznog niza znakova, a nakon toga jedan korak TS M
2
na drugoj kopiji ulaznog niza znakova, nakon ˇcega se opet simulira korak TS
M
1
na prvoj kopiji ulaznog niza znakova itd. Jedini problem koji je kod toga
potrebno rijeˇsiti je kako zapamtiti gdje se nalazi glava za ˇcitanje pojedine
simulacije. To se moˇze izvesti na razliˇcite naˇcine. Najjednostavniji je da se
za svaki simbol σ ∈ Σ u abecedi TS M definira joˇs jedan znak σ

koji ´ce
imati znaˇcenje znaka σ, ali ´ce dodatno pokazivati da bi se glava simuliranog
TS nalazila u tom trenutku na njemu.
Ako bilo koji od Turingovih strojeva M
1
i M
2
prepoznaje rijeˇc koja se
obraduje, TS M ´ce u simulaciji do´ci do koraka u kojem neki od simuliranih
Turingovih strojeva staje u stanju q
T
. Tada i M staje u stanju q
T
.
Tako konstruirani TS M prepoznaje jezik L
1
∪ L
2
.
Sada moˇzemo prije´ci na dokaz teorema 7.6.
Dokaz teorema 7.6. Neka je jezik L rekurzivan. Tada je on, prema
korolaru 7.2, i rekurzivno prebrojiv.
No, ako je L rekurzivan onda je prema propoziciji 7.1 i jezik L
c
rekurzi-
van. U tom sluˇcaju je, prema korolaru 7.2 jezik L
c
rekurzivno prebrojiv.
Obrnuto, neka su jezici L
1
i L
2
rekurzivno prebrojivi. Tada postoje
Turingovi strojevi M
1
i M
2
koji prepoznaju rijeˇci jezika L i L
c
.
Bez smanjenja op´cenitosti moˇzemo pretpostaviti da su M
1
i M
2
kon-
struirani tako da u sluˇcaju da ne prepoznaju neku rijeˇc odlaze u beskonaˇcnu
petlju. Naime, ako neki od ovih Turingovih strojeva staje u stanju q
F
, ili
pak funkcija prijelaza nije definirana, moˇzemo ga prebaciti u novo stanje,
koje za bilo koji ulaz pomiˇce glavu u desno i vra´ca se u isto stanje.
322 7.4. TURINGOVI STROJEVI
Konstruirajmo TS M na sljede´ci naˇcin:
M prvo kopira ulazni niz znakova u dvije kopije kako je to opisano u
primjeru 7.20. Nakon toga, sliˇcno kao u drugom dijelu dokaza propozicije
7.2, simuliramo Turingove strojeve M
1
i M
2
paralelno, tako da prvo simuli-
ramo jedan korak TS M
1
na prvoj kopiji ulaznog niza znakova, pa onda
jedan korak TS M
2
na drugoj kopiji ulaznog niza znakova, itd. Kako za
svaku rijeˇc w ∈ Σ

vrijedi da je W ∈ L ili je we ∈ L
c
, to svaku rijeˇc w ∈ Σ

prepoznaje ili TS M
1
ili TS M
2
dakle, u konaˇcno mnogo koraka ili ´ce se M
1
ili M
2
na´ci u stanju q
T
. Ako se M
1
nade u stanju q
T
, onda i M prelazi u
stanje q
T
. Ako se pak M
2
nade u stanju q
T
, onda TS M prelazi u stanje q
F
.
Jasno je da TS M odluˇcuje o jeziku L, pa je L rekurzivan.
Konaˇcno, definirajmo problem koji je, kako ´ce se vidjeti, rekurzivno pre-
brojiv, ali nije rekurzivan.
Problem 7.1 (Problem zaustavljanja (HP)) Neka je dan TS M i ulaz-
ni niz znakova x. Ho´ce li se TS M zaustaviti za ulaz x?
Drugaˇcije definirano, neka je H jezik nad abecedom univerzalnog Tu-
ringovog stroja definiran na sljede´ci naˇcin: H = ¦(M, x) : [M(x) ,=¸¦.
Pri tome s M(x) =¸ oznaˇcavamo da TS M za ulaz x odlazi u beskonaˇcnu
petlju. Dakle, jezik H sadrˇzi sve rijeˇci za koje TS M ne odlazi u beskonaˇcnu
petlju.
Propozicija 7.3 H je rekurzivno prebrojiv.
Dokaz. TS koji prepoznaje ovaj jezik je malo promijenjen univerzalni TS.
Jedina promjena koju trebamo napraviti jest da uvijek kada on staje, prijede
u stanje q
T
.
HP ima joˇs jedno vrlo vaˇzno svojstvo: on je potpun problem za klasu
rekurzivno prebrojivih problema. To znaˇci da vrijedi sljede´ci teorem, koji
ne´cemo dokazivati:
Teorem 7.7 RCL = RCEL ako i samo ako je HP ∈ RCL.
No, odmah se ispostavlja sljede´ca tvrdnja.
Teorem 7.8 H nije rekurzivan.
Dokaz. Pretpostavimo da postoji TS M
H
koji odluˇcuje o jeziku H.
Modificirajmo M
H
tako da dobijemo TS M
D
. M
D
kao ulaz prima kodove
Turingovih strojeva i obraduje ih na sljede´ci naˇcin: za ulaz M, TS M
D
simulira rad TS M
H
za ulaz (M, M) sve do trenutka kada M
H
treba stati.
M
H
sigurno mora stati zbog pretpostavke da on odluˇcuje o jeziku H. Ako
M
H
staje u stanju q
T
, TS M
D
ulazi u stanje koje ´ce u beskonaˇcnoj petlji
pomicati glavu za ˇcitanje u desno. Ako M
H
staje u stanju q
F
, onda M
D
staje u stanju q
T
.
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 323
Sada se postavlja pitanje ˇsto je M
D
(M
D
)?
Ako je M
D
(M
D
) =¸, to, po definiciji TS M
D
znaˇci da M
H
prihva´ca
rijeˇc (M
D
, M
D
). Dakle, (M
D
, M
D
) ∈ H. No tada po definiciji od H vrijedi
da je (M
D
(M
D
) ,=¸.
Dakle, M
D
(M
D
) ,=¸. Tada, prema definiciji od M
D
TS M
H
odbacuje
rijeˇc (M
D
, M
D
). Dakle, (M
D
, M
D
) ,∈ H. No tada, prema definiciji od H
vrijedi da je M
D
(M
D
) =¸.
Dakle, ovakav TS M
D
ne moˇze postojati. No, ako je H rekurzivan, onda
je M
D
dobro definiran, pa se zakljuˇcuje da H ne moˇze biti rekurzivan.
Dajmo, za kraj ovog poglavlja, joˇs nekoliko jezika koji su rekurzivno
prebrojivi, a nisu rekurzivni.
Propozicija 7.4 Sljede´ci jezici nisu rekurzivni:
1. ¦M[M se zaustavlja za sve ulaze¦
2. ¦(M, x)[ postoji y takav da je M(x) = y¦.
3. ¦(M, x, y)[M(x) = y¦.
Dokaz. Izvedite da sami. Reducirajte te probleme na HP.
Interesantno je vidjeti ˇsto ´ce se dogoditi uvedemo li nedeterministiˇcki
Turingov stroj i kakva ´ce biti klasa jezika koju ´ce on prepoznavati s obzirom
na klasu jezika koju prepoznaje deterministiˇcki Turingov stroj.
Jasno je kako se definira nedeterministiˇcki Turingov stroj (NTS): tako
da se δ definira kao relacija prijelaza, a ne kao funkcija. No, pokazuje se da
se, ˇsto se tiˇce klase jezika o kojoj automat odluˇcuje, ne dobiva niˇsta nova.
Naime, vrijedi sljede´ci teorem.
Teorem 7.9 Neka za jezik L postoji nedeterministiˇcki Turingov stroj M
1
koji ga prihva´ca (koji o njemu odluˇcuje). Tada postoji deterministiˇcki
Turingov stroj koji prihva´ca jezik L (odluˇcuje o njemu).
Ovaj teorem se moˇze dokazati na razne naˇcine, no svi zahtjevaju uvode-
nje dodatnih automata preko kojih se uspostavlja ekvivalencija. Najlakˇse se
ekvivalencija uspostavlja preko deterministiˇckih Turingovih strojeva s viˇse
traka (VTTS). Tada se dokazuje da vrijedi TS ⇔ V TTS ⇔ NTS. No ovo
bi razmatranje znatno proˇsirilo ovo poglavlje, za ˇsto nema potrebe. Oni koji
su zainteresirani, ovaj dokaz, kao i svu potrebnu aparaturu koju treba uvesti
za dokaz mogu prona´ci u [3].
No, uvodenje nedeterministiˇckih Turingovih strojeva dovodi nas do druge
zanimljive stvari u teoriji algoritama. Oznaˇcimo li s P klasu svih proble-
ma koji su rjeˇsivi u polinomno mnogo koraka deterministiˇckog Turingovog
stroja s obzirom na veliˇcinu ulaza, a s NP klasu svih onih koji su rjeˇsivi u
polinomno mnogo koraka nedeterministiˇckog Turingova stroja s obzirom na
veliˇcinu ulaza. Prirodno se postavlja pitanje, koje je jedno od najpoznatijih
324 7.5. ZADACI
nerjeˇsenih problema danaˇsnje matematike: pitanje vrijedi li P = NP? Ovo
pitanje ve´c desetlje´cima pokuˇsava rijeˇsiti velik broj matematiˇcara. Jasno je
da je P ⊆ NP, no postoje klase problema za koje se lako dokazuje da se
nalaze u klasi NP, ali za koje ne postoji algoritam koji bi pokazao da su u
klasi P.
Ovdje se, zapravo, radi o definiciji vremenske sloˇzenosti algoritama na
Turingovom stroju. Nadalje, interesantno je, takoder, da vrijedi da ako je
Turingova sloˇzenost nekog problema (najmanja sloˇzenost koju moˇze posti´ci
TS rjeˇsavaju´ci taj problem) Θ(f(n)), onda ´ce algoritamska sloˇzenost tog
problema (u smislu raˇcunalnih programa, kako je definirano u poglavlju 4)
takoder Θ(f(n)).
Tijekom tog istraˇzivanja doˇslo se do nekih interesantnih rezultata, a
jednim od najznaˇcajnijih zavrˇsit ´cemo ovo poglavlje:
Taj se rezultat veˇze uz jedan istaknuti problem koji se zove problem
ispunjivosti propozicijske formule u konjunktivnoj normalnoj formi (SAT):
Problem 7.2 (SAT)
Neka je zadana formula raˇcuna sudova (sud) F u konjunktivnoj normalnoj
formi. Postoji li interpretacija i takva da je i(F) = 1?
Teorem 7.10 (Cook) P = NP ako i samo ako je SAT ∈ P.
Dokaz ovog teorema provodi se dokazivanjem da se svaki Turingov stroj
M i svaki ulaz w poveˇze s nekom formulom raˇcuna sudova u konjunktivnoj
normalnoj formi s najviˇse tri literala po konjunktu koja je ispunjiva ako i
samo ako M prihva´ca w. Takoder se pokazuje da se takva formula moˇze
prona´ci u polinomno mnogo koraka s obzirom na veliˇcinu ulaza (M, w).
Postoji li TS (algoritam) koji moˇze u polinomno mnogo koraka rijeˇsiti
problem SAT, on ´ce mo´ci zajedno s TS koji u polinomno mnogo koraka
generira formulu F, za svaki TS M i ulaz w odrediti prihva´ca li M ulaz w i
to u polinomnom vremenu. Detalje ovog dokaza moˇzete na´ci u [6].
7.5 Zadaci
1. Napravite deterministiˇcke konaˇcne automate koji prihva´caju sljede´ce
jezike nad abecedom ¦0, 1¦:
(a) Skup svih nizova znakova koji zapoˇcinju s 00 ili zavrˇsavaju s 11.
(b) Skup svih nizova znakova koji u sebi sadrˇze tri uzastopne jedinice.
(c) Skup svih nizova znakova koji imaju kao 10 znak broj 1.
2. Konstruirajte DKA koji je ekvivalentan sa sljede´cim NKA:
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 325
q
0
q
1
0,1
0
q
2
0,1
q
3
0
Slika 7.13
3. Konstruirajte DKA koji je ekvivalentan sa sljede´cim NKA:
q
0
q
1
0,1
q
2
0,1
q
3
0
1
1
1
0
Slika 7.14
4. Napravite DKA koji prepoznaje jezik opisan sljede´cim regularnim izra-
zom:
(a) (11[0) ∗ (00[1)∗
(b) 01[((10) ∗ [111) ∗ (ε[0[00]∗
(c) ((0[1)(0[1)) ∗ [((0[1)(0[1)(0[1))∗
5. Dokaˇzite sljede´ce tvrdnje.
(a) rs = st
(b) (rs)t = r(st)
326 7.5. ZADACI
(c) r[s = s[t
(d) (r[s)[t = r[(s[t)
(e) r(s[t) = rs[rt
(f) (r∗)∗ = r∗
(g) (r ∗ s∗)∗ = (r[s)∗
6. Koji su od sljede´cih jezika regularni?
(a) ¦0
2n
[n ≥ 1¦
(b) ¦0
m
1
n
0
m+n
[m ≥ 1, n ≥ 1¦
(c) ¦0
n
[n je prost broj¦
7. Pokaˇzite da jezik L = ¦0
i
1
j
[M(i, j) = 1¦ nije regularan.
8. Napravite kontekstno slobodnu gramatiku za jezik L = ¦x[x je palin-
drom¦.
9. Napravite kontekstno slobodnu gramatiku koja ´ce nad skupom Σ =
¦), (¦ prepoznavati izraze koji predstavljaju dobro uparivanje zagrada.
10. Jezik koji se sastoji od dobro definiranih regularnih izraza na d jezikom
Σ = ¦a, b, [, (, +, (, ), ε, ∅¦.
11. Napravite potisni automat za sljede´cu gramatiku:
S →aAA
A →aS
A →bS
A →a
12. Dokaˇzite da postoji nedeterministiˇcki potisni automat koji prepoznaje
jezik L = ¦0
n
1
n
[n ∈ N¦ ∪ ¦0
n
1
2n
[n ∈ N¦, ali i da ne postoji determi-
nistiˇcki potisni automat koji bi prepoznavao taj jezik.
13. Pokaˇzite da sljede´ci jezici nisu kontekstno slobodni:
(a) L = ¦a
i
b
j
c
k
[i < j < k¦,
(b) L = ¦a
i
b
j
[j = i
2
¦,
(c) ¦a
i
[i prost broj¦.
14. Napravite Turingove strojeve koji prepoznaju sljede´ce jezike:
(a) L = ¦0
n
1
n
0
n
[n ∈ N¦.
POGLAVLJE 7. MATEMATI
ˇ
CKA TEORIJA RA
ˇ
CUNALSTVA 327
(b) Jezik koji se sastoji od rijeˇci s jednakim brojem znakova 0 i 1.
15. Napravite Turingov stroj koji ´ce vrˇsiti sljede´ca izraˇcunavanja:
(a) n +m ako su n i m brojevi zapisani u binarnom zapisu.
(b) n m ako su n i m brojevi zapisani u binarnom zapisu.
(c) n
2
za n zapisan u binarnom zapisu.
(d) Dvostruki komplement broja u binarnom zapisu.
(e) n ∨ m ako su n i m brojevi zapisani u binarnom zapisu.
(f) n ∧ m ako su n i m brojevi zapisani u binarnom zapisu.
7.6 Projekti
1. Napravite raˇcunalni program koji ´ce kao ulaz uzimati datoteku u koju
je zapisana definicija Turingovog stroja i ulazni niz znakova. Program
treba simulirati rad Turingovog stroja i vratiti izlazni niz znakova i
stanje u kojem je stao.
2. Prouˇcite gramatike definitnih klauzula koje su dio programskog jezika
Prolog, usporedite ih s kontekstno slobodnim gramatikama. Odredite
koja se klasa jezika moˇze opisati gramatikama definitnih klauzula.
3. Prouˇcite nedeterministiˇcke Turingove strojeve i pokaˇzite da nedeter-
ministiˇcki Turingov stroj prepoznaje istu klasu jezika kao i determini-
stiˇcki Turingov stroj.
4. Prouˇcite Turingove strojeve s viˇse traka i nedeterministiˇcke Turingove
strojeve. Pokaˇzite da oni prepoznaju istu klasu jezika - klasu rekur-
zivno prebrojivih jezika. Takoder, pokaˇzite da oni odluˇcuju o klasi
rekurzivnih jezika. Drugim rijeˇcima, pokaˇzite da su oni ekvivalentni
Turingovim strojevima.
5. Dokaˇzite Cookov teorem.
328 7.6. PROJEKTI
Bibliografija
[1] Atallah, M. J. (ed.) (1999): Algorithms and Theory of Computation
Handbook, CRC Press
[2] Hemaspaandra, L. A., Ogihara, M. (2002): The Complexity Theory
Companion, Springer Verlag
[3] Hopcroft, J. E.; Ullman, J. D. (1979): Introduction to Automata The-
ory, Languages, and Computation, Addison-Welsey
[4] Leeuwen, J. van (ed.) (1990): Handbook of Theoretical Computer Sci-
ence. Volume B: Formal Models and Semantics, MIT Press
[5] Lewis, H. R.; Papadimitriou, C. H. (1981): Elements of the Theory of
Computation, Prentice-Hall International
[6] Papadimitriou, C. H. (1994): Computational Complexity, Addison-
Wesley
329
Predmetno kazalo
abeceda, 29, 294
aditivni inverz, 57
alfabet, 294
algoritam, 125
Dijkstrin, 210
Euklidov, 126
Fleuryjev, 212
Hornerov, 128
Kruskalov, 223
pretraˇzivanje
binarno, 141
slijedno, 139
Primov, 224
sortiranje
izborom, 145
mjehuriˇcasto, 153
pomo´cu hrpe, 158
pomo´cu pretinaca, 183
prebrojavanjem, 180
quicksort, 168
radix, 181
spajanjem, 155
umetanjem, 150
zamjenom, 147
antitautologija, 21, 32
aritmetiˇcki niz, 79
razlika, 79
atom, 30
atomarna formula, 30
bijekcija, 71
binarna operacija, 254
asocijativna, 255
komutativna, 257
neutralni element, 255
suprotni element, 256
zatvorena, 255
binarne rijeˇci, 267
binomni pouˇcak, 96
bitovi, 267
bojenje bridova, 240
bojenje vrhova, 237
broj klike, 239
Cayleyeva tablica, 254
Churchova hipoteza, 126
ciklus, 200
Hamiltonov, 208
ˇcvor, 49
digraf, 226
disjunkt, 27
diskretni vjerojatnosni prostor, 97
distribucija sluˇcajne varijable, 110
dogadaj
nemogu´c, 97
potpuni sustav, 105
siguran, 97
dokaz
direktni, 7
po kontrapoziciji, 7, 24
protuprimjer, 8
donja meda, 73
Duljina ciklusa, 243
duljina rijeˇci, 294
ekvivalencija, 7, 20
ekvivalentne tvrdnje, 12
F-sustav, 23
330
BIBLIOGRAFIJA 331
Fitchov sustav, 23
formula, 30
ekvikontradiktornost, 37
ispunjiva, 32
otklonjiva, 32
zatvorena, 30
fundamentalni teorem aritmetike,
68
funkcija, 69, 71
algebarska, 72
iracionalna, 72
racionalna, 72
bijekcija, 71
dekodiraju´ca, 268
graf, 73
homografska, 73
identiteta, 70
implicitno zadana, 73
injekcija, 71
inverzna, 71
kodiraju´ca, 268
kompozicija, 70
konstantna, 71
lokalni ekstremi, 74
monotona, 74
neparna, 72, 74
ograniˇcena, 73
ograniˇcena odozdo, 73
ograniˇcena odozgo, 73
padaju´ca, 74
parna, 72, 74
periodiˇcna, 74
racionalna, 72
rastu´ca, 74
realna realne varijable, 72
strogo padaju´ca, 74
strogo rastu´ca, 74
surjekcija, 71
transcedentna, 72
generator grupe, 258
geometrijski niz, 80
gornja meda, 73
graf, 193
bipartitan, 196
Hamiltonov, 208
izomorfizam, 198
jednostavan, 194
komponente povezanosti, 201
konaˇcan, 194
Petersenov, 199
planaran, 194
potpuni, 194
potpuni bipartitan, 196
povezan, 201
regularan, 199
skup bridova, 193
skup vrhova, 193
teˇzinski, 210
usmjereni, 226
gramatika
kontekstno slobodna, 298
grupa, 257
Abelova, 257
cikliˇcka, 258
dihedralna, 288
izomorfizam, 263
Kleinova 4-, 289
kodova, 270
komutativna, 257
morfizam, 264
permutacija, 259
red, 257
simetriˇcna, 259
Hammingova udaljenost, 267, 268
hrpa, 158
identiteta, 70
incidentan brid, 194
incidentni vrhovi bridu, 194
injekcija, 71
instanca, 38
instanca masovnog problema, 126
integralna domena, 279
interpretacija, 19
inverzija, 72
izomorfizam grafova, 198
332 BIBLIOGRAFIJA
izvod, 25
izvor, 232
jezik, 295
deterministiˇcki kontekstno
slobodan, 313
odluˇciv, 318
rekurivno prebrojiv, 318
rekurzivan, 318
kapacitet reza, 234
Kartezijev kvadrat, 49
Kartezijev produkt, 48, 49
klasa ekvivalencije, 52
klika, 239
kod
cikliˇcki, 285
linearni, 270
sistematiˇcan, 268
kodne rijeˇci, 268
kombinacija
bez ponavljanja, 95
ponavljanjem, 95
konaˇcni automat
deterministiˇcki, 299
nedeterministiˇcki, 303
nedeterministiˇcki s ε prijelaz-
ima, 305
konjunktivna normalna forma, 27
kontrapozicija, 6
kontrolna matrica, 273
kontrolni bit, 268
korijen, 216
kritiˇcni put, 229, 231
kromatski broj, 237, 240
kvaternioni, 289
lema o rukovanju, 197
list, 215
literal, 27
negativni, 27
pozitivni, 27
logiˇcka posljedica, 20
lokalni maksimum, 74
lokalni minimum, 74
luk, 49
maksimalna vrijednost, 74
masovni problem, 126
matematiˇcka indukcija, 9
jaka, 10
matematiˇcka struktura, 2
matematiˇcko oˇcekivanje, 109
matrica, 36
matrica incidencije, 204
matrica izvodnica, 272
matrica permutacija, 207
matrica susjedstva, 204
max-hrpa, 166
metrika, 268
min-hrpa, 166
minimalna udaljenost koda, 269
minimalna vrijednost, 74
model, 32
modus ponens, 25
modus tollens, 26, 29
monoid, 257
most, 203
mreˇza
usmjerena, 228
nadgraf, 222
najkra´ci put, 210
najmanja gornja meda, 66
najmanji zajedniˇcki viˇsekratnik,
68
najve´ca donja meda, 66
najve´ca zajedniˇcka mjera, 68
najve´ci zajedniˇcki djelitelj, 68
nulgraf, 193
nultoˇcka, 73
odluˇcivanje praznim stogom, 308,
309
odluˇcivanje zavrˇsnim stanjem,
308, 309
ograniˇcenje varijabli, 31
optimalni ciklus, 209
osnovni period, 74
BIBLIOGRAFIJA 333
partikularno rjeˇsenje, 86
period, 74
permutacija, 72, 93
s ponavljanjem, 94
petlja, 194
podgraf, 222
razapinju´ci, 222
podgrupa, 260
cikliˇcka, 262
trivijalna, 260
podrijeˇc, 295
polinom, 72
polje, 279
konaˇcno, 279
realnih brojeva, 278
polugrupa, 257
ponor, 232
potisni automat
deterministiˇcki, 307
nedeterministiˇcki, 308
prefiks, 36, 295
primitivna normalna forma, 36
princip dobrog uredaja, 69
problem rasporeda, 229
proces, 2
projektivna geometrija, 289
prost broj, 68
prostor elementarnih dogadaja, 97
protok, 232
proˇsireno ograniˇcenje varijabli, 31
prsten, 276
komutativan, 276
pseudograf, 194
put, 200
Hamiltonov, 208
red elementa grupe, 258
refutacija, 28
regularni izraz, 295
rekurzivna definicija, 10
rekurzivna jednadˇzba
karakteristiˇcna jednadˇzba, 82
linearna homogena, 82
linearna nehomogena, 82
podijeli pa ovladaj, 89
relacija
antisimetriˇcna, 62
asimetriˇcna, 62
binarna, 49
dualna, 51
ekvivalencije, 51
irefleksivna, 62
komplement, 51
kompletna, 62
obrat, 51
redukcija, 55
strogo kompletna, 62
uredaja, 63
-kvazi, 63
dobrog, 65
parcijalnog, 63
parijalnog, 63
slabog, 63
totalnog, 63
relativno prosti brojevi, 68
rez, 234
rezolucija, 27
hiper-, 29
linearna, 29
semantiˇcka, 29
rezolventa, 39
reˇcenica, 30
rijeˇc, 294
konkatenacija, 294
prazna, 294
Skolemova normalna forma, 36
skup
beskonaˇcan, 78
ekvivalentan, 77
kardinalni broj, 78
konaˇcan, 78
kvocijentni, 53
neprebrojiv, 78
parcijalno uredeni, 63
particija, 52
prebrojiv, 78
prebrojivo beskonaˇcan, 78
334 BIBLIOGRAFIJA
totalno uredeni, 64
univerzalni, 46
uzoraka, 97
sloˇzenost algoritma
najbolji sluˇcaj, 132
najgori sluˇcaj, 132
prosjeˇcni sluˇcaj, 132
prostorna, 130
vremenska, 130
sluˇcajna varijabla
binomna, 107
diskretna uniformna, 107
hipergeometrijska, 109
indikatorska, 114
sluˇcajni pokus, 97
sparivanje, 242
maksimalno, 242
savrˇseno, 242
stablo, 215
binarno, 217
binarno pretraˇzivanja, 218
izvoda, 310
korijensko, 216
potpuno, 218
razapinju´ce, 222
soritranja, 218
uredeno binarno, 217
standardna devijacija, 114
staza, 201
Eulerova, 201
Stirlingovi brojevi, 53
strogi lokalni maksimum, 74
strogi lokalni minimum, 74
struk, 243
struktura
semantiˇcka, 31
stupanj vrha, 196
sud, 5
ispunjiv, 21
izvediv, 25
otklonjiv, 21
sloˇzeni, 6
sufiks, 295
surjekcija, 71
susjedni bridovi, 194
susjedni vrhovi, 194
ˇsetnja, 200
ciklus, 200
usmjerena, 227
zatvorena, 200
ˇsuma, 215
tautologija, 21, 32
teorija kodiranja, 265
term
temeljni, 38
teˇzina rijeˇci, 270
teˇzina stabla, 223
tura
Eulerova, 202
Turingov stroj, 314
nedeterministiˇcki, 323
s viˇse traka, 323
univerzalni, 319
tvrdnja o egzistenciji, 7
unifikacija, 38
unifikator, 38
maksimalni, 38
univerzalna tvrdnja, 7
uredena n-torka, 49
uredeni par, 49
valuacija, 38
varijabla
slobodna, 30
u dosegu, 30
varijacija
bez ponavljanja, 94
s ponavljanjem, 94
varijanca, 114
vektorski prostor, 281
polinoma, 286
vjerojatnost
uvjetna, 104
vrijednost protoka, 233
zbroj kodnih rijeˇci, 270

Sign up to vote on this title
UsefulNot useful