344
Diskretna matematika s teorijom grafova Blaˇ zenka Divjak Alen Lovrenˇ ci´ c Varaˇ zdin, 2005.

Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Embed Size (px)

Citation preview

Page 1: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Diskretna matematika s teorijomgrafova

Blazenka Divjak Alen Lovrencic

Varazdin, 2005.

Page 2: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova
Page 3: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Predgovor

Ova je knjiga nastala u zelji da se kolegij Diskretne strukture s teorijomgrafova, koji autori predaju na poslijediplomskom studiju informacijskihznanosti na Fakultetu organizacije i informatike Sveucilista u Zagrebu od2002. godine, opermi prikladnom literaturom. Stoga je ova knjiga prilago-dena studentima kojima je glavno podrucje izucavanja informatika, i to nesamo onima koji studiraju na Fakultetu organizacije i informatike.

Grada ove knjige birana je tako da daje skup matematickih formalizamakoji imaju siroku primjenu u informatici i racunalstvu. Stoga ova knjigamoze biti od pomoci i inzenjerima koji se profesionalno bave racunarstvom iinformatikom. Zbog toga autorima nije bio glavni cilj da uvijek, pod svakucijenu gradivo predoce u svoj matematickoj strogosti i sa svim matematickimaspektima koji se mogu razmatrati. Odrzavsi dovoljno matematicke egzak-tnosti, autori su pokusali gradivo izloziti tako da ga bude sto lakse primijenitina konkretne probleme, koji se u informatici i racunalstvu susrecu.

Sadrzaj knjige

Prvo poglavlje ove knjige je naslovljeno Uvod, i predstavlja skup osnovnihpojmova koje je nuzno definirati da bi sljedeca poglavlja mogla biti korektnopredstavljena. Ona sadrzi opis metoda koje se koriste u matematici, modelate opcenite tehnike koje matematicari koriste u dokazivanju. Uvodno jepoglavlje napisala Blazenka Divjak.

Sljedece poglavlje predstavlja produzetak prvog, uvodnog poglavlja idonosi opis matematicke logike, a isto tako dva formalna dedukcijska susta-va - F-sustav i rezolucijsku proceduru. F-sustav predstavlja formalizacijupravila dokazivanja opisanih u poglavlju 1.2. S druge strane, rezolucijskaprocedura predstavlja deduktivni sustav, koji je posebno pogodan za dokazi-vanje teorema pomocu racunala. Poglavlje o matematickoj logici napisao jeAlen Lovrencic.

U trecem poglavlju se uvode pojmovi koji pripadaju diskretnoj mate-matici - relacije, funkcije, skupove, pojam rekurzivne jednadzbe, rjesavanjerekurzivnih jednadzbi, te na kraju, diskretnu teoriju vjerojatnosti. Ovo jepoglavlje napisala Blazenka Divjak, osim dijelova o rekurzijama i diskretne

i

Page 4: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

ii

teorije vjerojatnosti, koje je napisao Alen Lovrencic. Ovo je ujedno i poglav-lje koje sadrzi raznolike sadrzaje - sve ono iz podrucja diskretne matematikesto se intenzivno koristi u informatici i racunalstvu.

U cetvrtom se poglavlju obraduje vrlo vazan pojam, kako u matematici,tako i u racunalstvu i informatici - pojam algoritma. Poglavlje se sastojiod tri dijela. U prvom se dijelu uvodi i objasnjava pojam algoritma. Drugidio daje pregled teorije slozenosti algoritama, dok je treci dio primjeran idaje algoritme iz jednog vrlo vaznog podrucja - podrucja pretrazivanja isortiranja niza elemenata. Ovo je poglavlje napisao Alen Lovrencic.

Peto poglavlje daje teoriju grafova, koja je iznimno vazna i koristenamatematicka teorija u racunarstvu i informatici, ali i u mnogim drugimznanstvenim i strucnim granama. Poglavlje sadrzi niz vrlo vaznih proble-ma, kako u informatici i racunarstvu, tako i u drugim srodnim granama, odproblema pronalazenja puteva, setnji i ciklusa te razapinjucih stabala, pado protoka i rezova te bojenja vrhova i bridova grafa. Autor ovog poglavljaje Blazenka Divjak.

Sesto poglavlje daje opis osnovnih algebarskih struktura. One su znacaj-ne u teoriji racunalstva, optimizaciji, teoriji algoritama, teoriji inteligentnihagenata itd. Algebarske strukture su matematicki okvir u koji se, zbognjihovih dobro definiranih svojstava uklapaju mnogi problemi, koji na tajnacin dobijaju novi kut gledista pa se tako cesto dobijaju novi rezultativezani uz problem. Ovo je poglavlje napisala Blazenka Divjak.

Posljednje poglavlje je zamisljeno, na neki nacin, kao poanta cijele knjige.Ono sadrzi matematicki sadrzaj, koji je nastao tijekom godina iz pokusajada se matematicki opise intuitivni pojam algoritma. Tako je nastala cijelateorija automata i jezika, cije su osnove opisane u ovom poglavlju. No, ovopoglavlje ima jos jednu vaznost za ovu knjigu - ono na neki nacin opravdavaizbor sadrzaja cijele knjige, koristeci mnogo od prije opisanog sadrzaja. Ovozavrsno poglavlje napisao je Alen Lovrencic.

Kako koristiti knjigu

Ova knjiga sadrzi zaista razlicite matematicke sadrzaje, koji se mogu zasebnoproucavati. Pri tome ne zelimo reci da su poglavlja u potpunosti nezavisnai da se ni u jednom od njih ne koriste rezultati iz prethodnih poglavlja, nota veza nije toliko snazna da bi zahtjevala slijedno proucavanje sadrzaja.

Stovise, trece poglavlje napisano je tako da se njegova podpoglavlja mogui sama izucavati zasebno. Sto se tice ostalih poglavlja, ona, uglavnom, za-htjevaju slijedno proucavanje.

Neki su dijelovi knjige napisani manjim slovima. To su dijelovi koji seodnose na nadogradnje osnovnog materijala i na naprednije gradivo, koje semoze izostaviti kod prvog citanja. Ti se dijelovi nikako ne mogu smatratinevaznima, vec onima koji zahtjevaju veci angazman i detaljnije poznavanje

Page 5: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

PREDGOVOR iii

podrucja.Pri izlaganju teksta su neki dijelovi izostavljeni i ostavljeni za samostalan

rad citatelja, bilo kao zadaci unutar teksta, bilo kao izostavljeni dokazi iliproblemi. U svakom slucaju, izostavljeni dijelovi su pazljivo odabrani, takoda bi ih citatelj tijekom citanja morao moci bez vecih problema i pripremasamostalno izraditi. Autori preporucuju da se zadaci unutar teksta, kao idokazi za koje je napomenuto da su ostavljeni za samostalan rad citatelju,svakako tijekom citanja izrade, jer na taj nacin citatelj vec tijekom samogcitanja pocinje baratati pojmovima koje proucava, sto znatno povecava nji-hovu razumljivost.

Na kraju svakog poglavlja nalaze se zadaci. Zadaci pokrivaju sadrzajpoglavlja uz koje su vezani i svakako se preporucuje da se zadani zadacirijese. Oni ne sluze samo za ponavljanje gradiva poglavlja, vec djelomicno inadograduju sadrzaj. Zadaci mogu citatelju pokazati koliko je zaista shvatioono sto je procitao, ali mu mogu i dodatno objasniti neke detalje koji izsamog teksta nisu bili jasni.

Osim toga, svako je poglavlje opskrbljeno i problemima. Od citateljase ne ocekuje da izradi rjesenje svakog problema u knjizi, jer su problemizamisljeni kao studijski zadaci, koji zahtjevaju duzi rad detaljnije prouca-vanje literature i dublje upoznavanje podrucja na koje se odnose. Svakako,ovi problemi su pogodni za izradu seminarskih radova studenata koji slusajukolegije koji pokrivaju podrucje opisano u ovoj knjizi, ali oni predstavljajui ideje za daljnji samostalan rad svim citateljima zainteresiranim za nado-gradnju znanja iz danog podrucja.

Svako poglavlje ima i literaturu koja je koristena pri izradi sadrzaja, alikoja isto tako predstavlja smjernice za daljnji rad citateljima koji su posebnozainteresirani za sadrzaj doticnog poglavlja.

Zahvale i pokude

Uobicajeno je da se u predgovoru popisu ljudi koji su autorima pomogli uizdavanju knjige te da se pokude autori sto je u knjizi ostalo jos pogresakai sto su neki sadrzaji mozda ostali nedovoljno pokriveni, pa cemo se i midrzati tog obicaja.

No, uprkos nasem pristajanju na obicaj, napravit cemo, matematickireceno, inverziju, pa cemo na pocetku zahvaliti nasim obiteljima. Oni sunas podupirali pri pisanju ove knjige, cesto i ne znajuci tocno o cemu seradi, imajuci puno povjerenje u nas i ono sto radimo, odricuci se onoga stoim pripada - nase paznje.

Zahvaljujemo nasim recenzentima Mirku Cubrilu, Tihomiru Hunjakui Mariu Krnicu (abecednim redom) koji su svojim sugestijama doprinijelipoboljsanju ove knjige, ali koji su, isto tako, garantirajuci svojim imenimakvalitetu ove knjige, omogucili da ona bude izdana. Knjiga je izdana uz

Page 6: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

iv

potporu projekta TEMPUS ”Aspects of Information and Organization Sys-tems: Curriculum Development” (CD-JEP-16086-2001), na kojem su obaautora predano radila.

Zahvaljujujemo nasim izdavacima: Fakultetu organizacije i informatike iTIVA-i. Posebno zahvaljujemo Mireli Ostroski, na citenju teksta i na izradinekih zadataka, te Renati Horvatek, koja je napravila lekturu teksta.

Na kraju, sve pokude za pogreske koje su ”opstale” nakon svih iscitavanjaknjige, nedostatke teksta, nejasnoce i bilo koje probleme na koje ce citateljnaici zadrzavamo iskljucivo za sebe.

Svim citateljima zelimo ugodan i plodonosan rad uz ovu knjigu.

B. Divjak,A. LovrencicVarazdin, 2005.

Page 7: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Sadrzaj

Predgovor i

1 Uvod 11.1 Matematicke metode i modeli . . . . . . . . . . . . . . . . . . 1

1.1.1 Znanstvena metoda . . . . . . . . . . . . . . . . . . . 11.1.2 Matematicki model . . . . . . . . . . . . . . . . . . . . 21.1.3 Struktura matematike . . . . . . . . . . . . . . . . . . 3

1.2 Tehnike dokazivanja u matematici . . . . . . . . . . . . . . . 51.2.1 Sudovi i matematicka logika kao okvir za matematicke

tvrdnje . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.2 Dokazivanje matematickih tvrdnji . . . . . . . . . . . 71.2.3 Matematicka indukcija i skup prirodnih brojeva . . . . 81.2.4 Princip dobrog uredaja u skupu N . . . . . . . . . . . 11

1.3 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 Matematicka logika 172.1 Racun sudova . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.1.1 Sintaksa . . . . . . . . . . . . . . . . . . . . . . . . . . 182.1.2 Semantika . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2 Predikatni racun . . . . . . . . . . . . . . . . . . . . . . . . . 292.2.1 Sintaksa . . . . . . . . . . . . . . . . . . . . . . . . . . 292.2.2 Semantika . . . . . . . . . . . . . . . . . . . . . . . . . 312.2.3 Formalni sustavi . . . . . . . . . . . . . . . . . . . . . 33

2.3 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.4 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3 Diskretna matematika 453.1 Skupovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.1.1 Zadavanje skupa . . . . . . . . . . . . . . . . . . . . . 463.1.2 Relacije medu skupovima . . . . . . . . . . . . . . . . 463.1.3 Partitivni skup . . . . . . . . . . . . . . . . . . . . . . 473.1.4 Operacije na skupovima . . . . . . . . . . . . . . . . . 473.1.5 Kartezijev produkt skupova . . . . . . . . . . . . . . . 48

v

Page 8: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

vi SADRZAJ

3.2 Binarne relacije . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2.1 Binarne relacije na diskretnim skupovima . . . . . . . 493.2.2 Obrat relacije, komplement relacije i dualna relacija . 51

3.3 Relacija ekvivalencije . . . . . . . . . . . . . . . . . . . . . . . 513.3.1 Definicija i svojstva relacija ekvivalencije . . . . . . . 513.3.2 Kongruencije . . . . . . . . . . . . . . . . . . . . . . . 543.3.3 Aritmetika u Zk . . . . . . . . . . . . . . . . . . . . . 603.3.4 Jos neka svojstva binarnih relacija . . . . . . . . . . . 62

3.4 Uredajne binarne relacije . . . . . . . . . . . . . . . . . . . . 633.4.1 Relacija parcijalnog uredaja . . . . . . . . . . . . . . . 633.4.2 Relacija djeljivosti na skupu cijelih brojeva . . . . . . 67

3.5 Funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.5.1 Kompozicija funkcija . . . . . . . . . . . . . . . . . . . 703.5.2 Bijekcija. Inverzna funkcija . . . . . . . . . . . . . . . 713.5.3 Funkcije kao relacije . . . . . . . . . . . . . . . . . . . 713.5.4 Realne funkcije realne varijable . . . . . . . . . . . . . 72

3.6 Graf funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . 733.6.1 Neka svojstva realnih funkcija realne varijable . . . . 733.6.2 Konacni i beskonacni skupovi . . . . . . . . . . . . . . 78

3.7 Rekurzivne relacije . . . . . . . . . . . . . . . . . . . . . . . . 793.7.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.7.2 Rjesavanje rekurzija - karakteristicna jednadzba . . . 823.7.3 Rjesavanje rekurzivnih jednadzbi - funkcije izvodnice . 91

3.8 Diskretna teorija vjerojatnosti . . . . . . . . . . . . . . . . . . 933.8.1 Osnove kombinatorike . . . . . . . . . . . . . . . . . . 933.8.2 Osnovne definicije i teoremi diskretne teorije vjerojat-

nosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973.8.3 Uvjetna vjerojatnost . . . . . . . . . . . . . . . . . . . 1043.8.4 Slucajne varijable . . . . . . . . . . . . . . . . . . . . . 107

3.9 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153.10 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

4 Algoritmi 1254.1 Pojam algoritma . . . . . . . . . . . . . . . . . . . . . . . . . 1254.2 Slozenost algoritama . . . . . . . . . . . . . . . . . . . . . . . 1304.3 Pretrazivanje i sortiranje . . . . . . . . . . . . . . . . . . . . . 139

4.3.1 Pretrazivanje . . . . . . . . . . . . . . . . . . . . . . . 1394.3.2 Sortiranje . . . . . . . . . . . . . . . . . . . . . . . . . 1454.3.3 Donja meda slozenosti algoritama usporedivanja i sor-

tiranja temeljenih na usporedivanju . . . . . . . . . . 1764.3.4 Sortiranje u vremenu O(n) . . . . . . . . . . . . . . . 179

4.4 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1864.5 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Page 9: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

SADRZAJ vii

5 Teorija grafova 1915.1 Definicija grafa i osnovna svojstva . . . . . . . . . . . . . . . 1925.2 Izomorfizam grafova . . . . . . . . . . . . . . . . . . . . . . . 1975.3 Regularni grafovi . . . . . . . . . . . . . . . . . . . . . . . . . 1995.4 Setnje i ciklusi u grafu . . . . . . . . . . . . . . . . . . . . . . 200

5.4.1 Eulerova staza . . . . . . . . . . . . . . . . . . . . . . 2015.5 Matrica incidencije i matrica susjedstva . . . . . . . . . . . . 2045.6 Hamiltonovi ciklusi . . . . . . . . . . . . . . . . . . . . . . . . 2085.7 Tezinski grafovi. Algoritmi najkraceg puta . . . . . . . . . . . 209

5.7.1 Dijkstrin algoritam . . . . . . . . . . . . . . . . . . . . 2105.7.2 Problem kineskog postara . . . . . . . . . . . . . . . . 212

5.8 Stabla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2145.8.1 Osnovno o stablima . . . . . . . . . . . . . . . . . . . 2155.8.2 Binarno stablo . . . . . . . . . . . . . . . . . . . . . . 2175.8.3 Minimalno razapinjuce stablo . . . . . . . . . . . . . . 2225.8.4 Pretrazivanje stabla . . . . . . . . . . . . . . . . . . . 224

5.9 Usmjereni grafovi i mreze . . . . . . . . . . . . . . . . . . . . 2265.9.1 Usmjereni graf . . . . . . . . . . . . . . . . . . . . . . 2265.9.2 Turnir . . . . . . . . . . . . . . . . . . . . . . . . . . . 2275.9.3 Mreze i kriticni putevi . . . . . . . . . . . . . . . . . . 2285.9.4 Problem rasporeda . . . . . . . . . . . . . . . . . . . . 2285.9.5 Protoci i rezovi . . . . . . . . . . . . . . . . . . . . . . 2315.9.6 Max-flow min-cut teorem . . . . . . . . . . . . . . . . 233

5.10 Bojenje grafova . . . . . . . . . . . . . . . . . . . . . . . . . . 2365.10.1 Problem cetiri boje . . . . . . . . . . . . . . . . . . . . 2365.10.2 Bojenje vrhova grafa . . . . . . . . . . . . . . . . . . . 2375.10.3 Bojenje bridova grafa . . . . . . . . . . . . . . . . . . 240

5.11 Sparivanje u grafovima . . . . . . . . . . . . . . . . . . . . . . 2425.12 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2425.13 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

6 Algebarske strukture 2536.1 Definicija i primjeri algebarskih struktura . . . . . . . . . . . 2546.2 Grupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

6.2.1 Definicija grupe . . . . . . . . . . . . . . . . . . . . . . 2556.2.2 Konacne i ciklicke grupe . . . . . . . . . . . . . . . . . 2576.2.3 Primjeri grupa . . . . . . . . . . . . . . . . . . . . . . 2596.2.4 Podgrupe . . . . . . . . . . . . . . . . . . . . . . . . . 260

6.3 Izomorfizam grupa . . . . . . . . . . . . . . . . . . . . . . . . 2636.4 Primjena grupa u kodiranju . . . . . . . . . . . . . . . . . . . 265

6.4.1 Teorija kodiranja kao grana matematike . . . . . . . . 2656.4.2 Problemi prijenosa informacija . . . . . . . . . . . . . 2676.4.3 Metrika na kodnim rijecima . . . . . . . . . . . . . . . 2676.4.4 Grupa koda . . . . . . . . . . . . . . . . . . . . . . . . 269

Page 10: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

viii SADRZAJ

6.4.5 Matrica izvodnica kodirajuce funkcije . . . . . . . . . 2726.5 Prsteni i polja . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

6.5.1 Prsten . . . . . . . . . . . . . . . . . . . . . . . . . . . 2766.5.2 Primjeri prstena . . . . . . . . . . . . . . . . . . . . . 2766.5.3 Polje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2786.5.4 Primjeri polja . . . . . . . . . . . . . . . . . . . . . . . 279

6.6 Vektorski prostor . . . . . . . . . . . . . . . . . . . . . . . . . 2816.7 Primjeri vektorskog prostora . . . . . . . . . . . . . . . . . . 2836.8 Algebarske strukture polinoma . . . . . . . . . . . . . . . . . 284

6.8.1 Prsten polinoma . . . . . . . . . . . . . . . . . . . . . 2846.8.2 Vektorski prostor polinoma . . . . . . . . . . . . . . . 285

6.9 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2866.10 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

7 Matematicka teorija racunalstva 2937.1 Jezici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

7.1.1 Regularni izrazi . . . . . . . . . . . . . . . . . . . . . . 2957.1.2 Kontekstno slobodne gramatike . . . . . . . . . . . . . 298

7.2 Konacni automati . . . . . . . . . . . . . . . . . . . . . . . . 2997.3 Potisni automati . . . . . . . . . . . . . . . . . . . . . . . . . 3077.4 Turingovi strojevi . . . . . . . . . . . . . . . . . . . . . . . . . 3137.5 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3247.6 Projekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

Page 11: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Poglavlje 1

Uvod

Matematika je vrata, ali i kljuculaznih vrata u znanost.

Roger Bacon

1.1 Matematicke metode i modeli

U ovom uvodnom poglavlju iznijet cemo kratki uvod u znanstvenu metodu,te njezine moderne inacice. Nadalje, pokusat cemo predstaviti vaznost ma-tematike u znanstvenim problemima i svakodnevnom zivotu i radu. Medu-tim, da bismo pravilno koristili matematicke metode, treba poznavati osnovenjezine strukture kao i metode dokazivanja hipoteza u matematici. Posebnocemo izdvojiti princip matematicke indukcije kao metodu kojom dokazu-jemo tvrdnje koje ovise o prirodnim brojevima, te koju cesto koristimo kodrekurzivnih definicija.

1.1.1 Znanstvena metoda

Znanost mozemo definirati kao metodicki (sistematski) pristup prikupljanjuznanja. U znanosti se za istrazivanje sluzimo znanstvenom metodom. Znan-stvena metoda se temelji na cinjenicama, a ne na uvjerenjima, a u opcemsmislu ukljucuje nekoliko koraka. Koraci znanstvene metode su sljedeci:promatranje, postavljanje pitanja, postavljanje hipoteze, testiranje hipoteze,eksperiment, analiza podataka i rezultata i zakljucak. Hipoteza ne morauvijek biti tocna, ali treba biti mjerljiva. Nacin na koji se testira hipotezaovisi o podrucju znanosti u kojem se istrazuje.

Medutim, danas je znanost kompleksnija nego ikad, bavi se sve tezim itezim problemima koje nuzno treba rjesavati multidisciplinarnim pristupom.U tom procesu potrebno je pametno kombinirati individualne ekspertize ikompetencije. Stoga je nuzan projektni pristup rjesavanju problema i nji-hovom istrazivanju. Prema tradicionalnoj znanstvenoj metodi koja apo-

1

Page 12: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

2 1.1. MATEMATICKE METODE I MODELI

strofira objektivnost, a eksperimente pojednostavljuje tako da bi se moglorazmatrati samo jedno pitanje, problemi moderne znanosti ne mogu sevise uspjesno rjesavati. Istovremeno, jaca uloga racunalnog modeliranja isimbolickih matematickih eksperimenata, kao i uloga matematickih i sta-tistickih metoda opcenito. U tom svjetlu mnogi znanstvenici predlazu datreba mijenjati i klasicnu znanstvenu metodu [7]. Prema [7], alternativniizgled znanstvenog procesa ukljucivao bi i razvoj novih metodologija kojebi odgovarale postavljenom problemu, te razvoj teorija, koje bi objasnjavalerezultate. Nove tehnologije mogu izaci kao dodatni rezultat razvoja meto-dologije i alata, kao i konacni rezultat istrazivanja. Primjerice, Kopernik jepri reviziji Ptolomejeve kozmologije, razvio matematicku metodologiju kojaga je dovela do rezultata, koji su oznacili preokret, ne samo u astronomiji,nego u covjekovu cjelokupnom poimanju svijeta.

Jednom kad se pojavi problem, zadaca je znanosti da nade metodologijupomocu koje ce ga rijesiti. Ali ne samo to. Znanstvenici trebaju razmotrititeorijsko znacenje i vaznost problema kojeg obraduju te mogucnosti primjenenjegovih direktnih i indirektnih rezultata.

1.1.2 Matematicki model

Osnova za razumijevanje svijeta je promatranje. Promatranjem prikuplja-mo informacije. Znanstvenik prikuplja informacije sistematski, u skladu saznanstvenom metodologijom. Pri tome se sluzi mjerenjem da bi kvantifi-cirao podatke. Na temelju pojedinacnih informacija rade se generalizacije,najprije jednostavne, pa sve slozenije. Konacno, dolazimo do razumijevanjamaterije na temelju principa. Opcenito, princip je poopcenje ili apstraktnatvrdnja.

U procesu istrazivanja, ali i u svakodnevnom rjesavanju problema, upo-trebljavamo modele. Model je analogija s nekim objektom ili konceptom, ilidrugim interesantnim modelom, a koristi se kao objasnjenje nekog procesaili predvidanje dogadaja. O modelu mozemo razmisljati kao o ”imaginarnoj,pojednostavljenoj verziji dijela svijeta kojeg promatramo.” ([5])

Iskustvo pokazuje da je matematika dobro sredstvo (jezik) za izrazavanjeprincipa. Matematicki modeli su modeli bazirani na matematicki postavlje-nim principima. Dakle, oni predstavljaju matematicku karakterizaciju iliopis nekog fenomena ili procesa. Matematicki model sadrzi sljedece bitnekomponente; pojavu ili proces iz realnog svijeta koji se zeli modelirati, ap-straktnu matematicku strukturu i korespondenciju izmedu elemenata prve idruge komponente.

Svrha matematickog modela je:

• prezentacija informacija u lako prihvatljivom obliku,

• omogucavanje “lakog” racunanja,

Page 13: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 1. UVOD 3

• olaksavanje istrazivanja i predvidanja.

Matematicki modeli opcenito sadrze tri razlicite vrste kvantitativnihvelicina: izlazne varijable (output), ulazne varijable (input) i parametre(konstante). Vise o matematickom modeliranju mozete naci u [4].

Jedan od poznatih modela u fizici je model plina u kinetickoj teorijiplina. Molekule plina zamisljamo kao vrlo male kuglice smjestene u nekojkocki. Kuglice se gibaju konstantnom brzinom, nezavisno jedna od druge,a njihove medusobne sudare, kao i sudare sa stjenkama kocke, smatramoelasticnima. Smjerove brzina molekula smatramo nasumicnima, tj. njihovarezultanta je nul-vektor. Na temelju ovog prilicno grubog modela, punogpretpostavki, dobivene su formule koje dobro opisuju realnu situaciju.

Dakle, matematika je izuzetno korisna i to se moze dobro argumenti-rati. Ali na matematiku se moze gledati i drugacije. O matematici segovori i kao o logickoj igri ili o sredstvu za razvijanje logickog i sistemat-skog razmisljanja. Nadalje, matematiku se ponekad opisuje kao znanost ouzorcima (vidi [3]), jer matematicari proucavaju uzorke: numericke uzorke,uzorke oblika, uzorke gibanja, uzorke ponasanja, izborne uzorke, uzorkeslucajnih dogadaja itd.

Matematickastruktura

Proces urealnomsvijetu

Slika 1.1

1.1.3 Struktura matematike

Povijesno gledajuci, matematiku je kao ”univerzalni jezik” prvi promatraoGottfried Leibniz u 17. stoljecu. On je smatrao da se argumenti u mate-matici, ali i svugdje drugdje, trebaju logicki provjeravati. Nadalje, GottlobFrege je u drugoj polovici 19. stoljeca nastavio slicno razmisljati i tvrdio da se

Page 14: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

4 1.1. MATEMATICKE METODE I MODELI

matematika treba izgraditi na predikatnoj logici. U posljednjem desetljecu19. st. Guiseppe Peano je napravio aksiomatski okvir koji je ukljucivaologiku i teoriju skupova. Taj su rad pocetkom 20. st. nastavili AlfredWhitehead i Bertrand Russell.

Ponovimo vazne cinjenice o matematickim strukturama. Pojasnjenja semogu naci u [4], (str.7-9).

Pojmovi u matematici se dijele na osnovne i izvedene pojmove. Osnovnipojmovi se ne definiraju, a izvedeni se pojmovi definiraju pomocu osnovnih.Definicija je sud pomocu kojeg se odreduje sadrzaj nekog pojma. Isti sepojam moze definirati na vise ekvivalentnih nacina.

Osnovni matematicki pojmovi su generalizacija objekata iz stvarnog svi-jeta (npr. pravac je generalizacija zrake svjetlosti).

Prilikom formiranja tvrdnji koristimo se zakljucivanjem. Zakljucivanjeje nacin misljenja kojim se vise sudova (premisa) dovodi u vezu i izvodi novisud (zakljucak, rezultat). Razlikujemo induktiv-no i deduktivno zakljucivanje te zakljucivanje poanalogiji. Matematicki oblici zakljucivanja su in-duktivno i deduktivno zakljucivanje.Indukcija moze biti potpuna (matematicka) i ne-potpuna. Pri dokazivanju u matematici sluzimose potpunom ili matematickom indukcijom. No iu ostalim ljudskim djelatnostima, gdje se vaznostpridaje ispravnom zakljucivanju, ne smijemo sesluziti nepotpunom indukcijom. O tome ce bitivise govora u nastavku knjige.Deduktivna metoda karakterizira visi nivo razvojaneke 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 nataj nacin aksiomatizirana (vidi: [9], [2]), tj. utemeljena na sustavu aksio-ma, koji predstavljuju tvrdnje za koje postoji uvjerenje da su istinite. Takodobivenu geometriju nazivamo euklidskom geometrijom. Aritmetika je aksi-omatizirana znatno kasnije, u drugoj polovici 19. st. (vidi: [10]).

Istaknimo bitne elemente matematicke teorije deduktivnog pristupa. Tosu:

1. nabrajanje osnovnih pojmova,

2. definiranje slozenih pojmova,

3. postavljanje aksioma,

4. iskazivanje teorema,

5. dokazi teorema.

Page 15: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 1. UVOD 5

Aksiomi i teoremi (poucci, stavci) izricu ekvivalentne tvrdnje i iznosezakljucke o matematickim pojmovima i njihovim medusobnim odnosima ivezama.

Aksiomi su tvrdnje koje smatramo istinitima bez posebnog dokaza, doksu teoremi tvrdnje koje logicki izviru iz aksioma.

Svaki teorem treba izvesti (deducirati, dokazati) iz jednog ili vise aksiomau konacno mnogo koraka.

Dokaz je zakljucivanje kojim se pokazuje da je neki teorem logicka po-sljedica nekih aksioma ili vec dokazanih teorema. Dokaz moze biti direktani indirektan.

1.2 Tehnike dokazivanja u matematici

1.2.1 Sudovi i matematicka logika kao okvir za matematicketvrdnje

U matematici, kao i drugim znanostima, susrecemo tvrdnje koje izrazavajuodredene znanstvene spoznaje. Tvrdnje u znanosti se trebaju dokazati. Po-jedine znanstvene discipline raspolazu skupom metoda kojima se tvrdnjeu tom podrucju dokazuju. Tehnike dokazivanja u drustvenim znanostimabitno se razlikuju od onih u prirodnim znanostima, a posebno matematici.

Slika 1.3: Pierre de Fermat

U svakom je znanstvenom istrazivanju u po-cetku potrebna istrazivacka intuicija, koja je cestotemeljena na ranijim spoznajama i iskustvu. Me-dutim, nakon sto su formulirane odredene znan-stvene hipoteze, potrebno je egzaktno dokazati nji-hovu tocnost. U tom smislu hipoteze trebaju bitisudovi . Iz matematicke logike poznato je da su su-dovi tvrdnje za koje se jednoznacno moze reci jesuli istinite ili nisu. U povijesti znanosti poznatoje mnogo hipoteza koje jos nisu postale sudovi. Umatematici je poznata Goldbachova hipoteza, kojatvrdi da je svaki paran broj, veci od 2, moguce

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 matematicka slutnja bez dokaza. Prisjetimo se jednostavne for-mulacije posljednjeg Fermatovog teorema: Za svaki prirodni broj veci od2 jednadzba an + bn = cn nema cjelobrojnih rjesenja, pri cemu su a, b, c,razliciti od nule. Preko 350 godina brojni su matematicari, ali i amaterizaljubljenici u matematiku, pokusavali dokazati tu hipotezu. Na taj sunacin razvijene mnoge teorije, dobivene ekvivalentne tvrdnje, i poplocenput koji je vodio do konacnog dokaza, kojeg su 1994. zavrsili Andrew Wilesi Richard Taylor. Ipak dosta otvorenih problema u matematici i drugimznanstvenim podrucjima ceka rjesenja. Jedan od takvih problema je pozna-

Page 16: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

6 1.2. TEHNIKE DOKAZIVANJA U MATEMATICI

ti problem rjesivosti svakog algoritamski rjesivog problema u polinomnomvremenu, odnosno P = NP problem.

Medutim, da bi netko uspjesno rjesavao probleme u matematici, ali i srazumijevanjem prihvacao matematicke teorije koje ce koristiti u drugim po-drucjima istrazivanja i rada, nuzno je da se upozna s tehnikama dokazivanjau matematici. Dokazivanje u matematici temelji se na matematickoj logici.Osnove matematicke logike mogu se pronaci primjerice u [4], ali i u drugompoglavlju ove knjige.

Nabrojimo osnovne tipove tvrdnji koje susrecemo u matematici. Tvrdnja”20 je visekratnik od 5” je jednostavni sud. Buduci da je 20 = 4× 5 znamoda je ovaj sud istinit.

Mnoge tvrdnje u matematici jesu slozeni sudovi jer se sastoje od dva ilivise sudova povezanih logickim operacijama.

Osnovne operacije matematicke logike su konjunkcija (veznik i), disjun-kcija (veznik ili) i negacija. Ponovimo njihove vrijednosti istinitosti.

Slozeni sud a∧b (a i b) je istinit ako i samo ako su oba suda a i b istinita.Slozeni 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 lazan.Mnoge matematicke tvrdnje su implikacije, odnosno oblika ako-onda.Slozeni sud a ⇒ b (ako a onda b; a implicira b) je lazan samo ako je sud

a istinit, sud b lazan. Primjer implikacije je sljedeca tvrdnja.

Primjer 1.1 Ako je prirodan broj n djeljiv brojem 6, onda je n djeljiv ibrojem 3.

Uocite da implikacija nije komutativna operacija tj. ako je istinita im-plikacija a ⇒ b, tada obratna implikacija b ⇒ a nije nuzno istinita.

Zadatak 1.1 Izrecite obrat implikacije iz prethodnog primjera i utvrdite jeli to istinita tvrdnja.

Ako je istovremeno istinito a ⇒ b i b ⇒ a kazemo da su tvrdnje a i bekvivalentne i pisemo a ⇔ b. Evo primjera ekvivalencije.

Primjer 1.2 Prirodan broj n je paran ako i samo ako je n2 paran.

Dakle, znak ⇔ obicno 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 ⇒ ¬asu ekvivalentne . Ovu cinjenicu koristimo kod indirektnog dokazivanja.

Istaknimo jos neke uobicajene oblike matematickih tvrdnji. Postojetvrdnje koje govore da nesto postoji, pa ih nazivamo tvrdnjama o egzisten-ciji (postojanju). Takva je, na primjer, sljedeca poznata tvrdnja iz linearnealgebre.

Page 17: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 1. UVOD 7

Primjer 1.3 Uvijek postoji rjesenje homogenog sustava linearnih jedna-dzbi.

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 izricanjekoristimo 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. Ovatvrdnja nije istinita. Istinita je, na primjer, tvrdnja: Za svaki prirodan brojn, broj n(n + 1)(n + 2) je djeljiv sa 6.

Posebnu paznju treba obratiti na cinjenicu kako se operacija negacijeodnosi prema kvatifikatorima. Negiramo li univerzalni kvantifikator umje-sto njega mozemo pisati kvantifikator egzistencije i obrnuto, negacijom kvan-tifikatora egzistencije dobijemo univerzalni kvantifikator. Objasnjenje mo-zete naci u poglavlju ove knjige koje se bavi matematickom logikom, ali i u[4], str. 37.

1.2.2 Dokazivanje matematickih tvrdnji

Dokaz predstavlja demonstraciju istinitosti zadane tvrdnje. U matematicicesto treba dokazivati teoreme, propozicije, leme i korolare koji su daniu obliku implikacije A ⇒ B. Ovdje tvrdnju A nazivamo pretpostavka, atvrdnju B zakljucak. Te su dvije tvrdnje u teoremima i drugim suvislimmatematickim tvrdnjama medusobno povezane. Da bismo dokazali istini-tost implikacije dovoljno je ispitati ne pojavljuje li se slucaj da istinita pret-postavka vodi do laznog zakljucka. Tvrdnja je trivijalno istinita ako jezakljucak istinit.

Direktni dokaz implikacije se stoga provodi tako da se uzima da je pret-postavka istinita i temeljem toga pokaze da tada i zakljucak 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. Buducise ekvivalencija sastoji od dvije implikacije, kod dokazivanja ekvivalencijeprovode se dokazi dviju implikacija i ukoliko su obje implikacije istinite,zakljucuje se da je ekvivalencija istinita. U ekvivalentnim tvrdnjama koris-timo formulaciju”A ako i samo ako B”, koja oznacava da ”A povlaci B” i”B povlaci A”.

Primjer 1.5 Dokazimo direktno tvrdnju iz Primjera 1.2.Prvo dokazujemo implikaciju ”Ako je n paran prirodan broj tada je i n2

paran.” Pretpostavka ”n je paran” znaci da se n moze zapisati kao n = 2k,

Page 18: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

8 1.2. TEHNIKE DOKAZIVANJA U MATEMATICI

pri cemu je k neki prirodan broj. Kvadriranjem te jednakosti dobivamo daje n2 = 4k2, sto znaci da je n2 paran broj.

Druga implikacija glasi: ”Ako je n2 paran prirodan broj tada je i nparan.”

Ova tvrdnja lagano se dokazuje obratom po kontrapoziciji. Kontrapozi-cija glasi: ”Ako je n neparan tada je i n2 neparan.” Dokazite za vjezbu tutvrdnju.

U nekim dokazima koristimo dokaz kontradikcijom kao varijaciju dokazapo kontrapoziciji. Pretpostavimo naime da je negacija pocetne tvrdnje is-tinita. Ta pretpostavka zatim vodi do tvrdnje koja je ocigledno lazna ilije u suprotnosti (kontradikciji) s nekom pretpostavkom. Klasican primjerdokaza 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 rjesenja homogenog sustava linearnih jednadzbi je tzv. trivijalno rjesenje(rjesenje cije su sve komponente rjesenja jednake nuli). Trazenje primjeraegzistencije nije uvijek jednostavan posao jer postoje matematicke slutnjeo postojanju odredenih objekata koje nikada nisu dokazane. Takva je naprimjer slutnja da postoje brojevi a, b, c, d takvi da je a4 + b4 + c4 = d4.

Univerzalna tvrdnja se opovrgava tako da se nade protuprimjer , odnosnoprimjer za koji tvrdnja ne vrijedi. Pronadimo protuprimjer za Primjer 1.4.Za n = 3 broj 3n− 1 je slozeni broj.

Poneke tvrdnje se dokazuju provjeravanjem konacnog broja slucajeva(Primjer: Postoji prosti broj izmedu 100 i 115).

1.2.3 Matematicka indukcija i skup prirodnih brojeva

Matematicka se teorija gradi tako da se prvo utvrdi skup aksioma kojisu opce prihvaceni kao istiniti pa se pomocu njih dokazuju slozenije tvrd-nje. Cilj ovog poglavlja knjige je dati jedan jednostavni primjer izgradnjematematicke teorije.

Svima je poznato da su prirodni brojevi oni koje koristimo za prebro-javanje u svakodnevnom zivotu, da je najmanji prirodni broj 1. Ipak ovetvrdnje 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, vec sadrzi najmanje jedan element.)

2. Za svaki x ∈ N postoji prirodni broj x′ kojeg zovemo sljedbenikom odx.

3. x′ 6= 1. (1 nije niciji sljedbenik.)

Page 19: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 1. UVOD 9

4. x′ = y′ povlaci x = y. ( Razliciti prirodni brojevi imaju razlicitesljedbenike.)

5. Aksiom indukcije. Neka je M ⊆ N sa sljedecim svojstvima:

1) 1∈ M,

2) x ∈ M povlaci x′ ∈ M.

Tada je M = N.

Aksiom matematicke indukcije, odnosno princip matematicke indukci-je vazno je orude u matematickom dokazivanju. Taj se princip ne smijemijesati s induktivnom metodom u znanosti. Induktivna metoda u znanostisluzi samo za izvodenje opcih principa iz pojedinacnih slucajeva. Prin-cip matematicke indukcije sluzi za dokazivanje tvrdnji koje vrijede za sveprirodne brojeve (osim mozda za konacno mnogo njih). Tvrdnje koje sedokazuju matematickom indukcijom ovise o cijelom (prirodnom) broju n.

Prikladno je tvrdnju koju dokazujemo oznaciti sa P (n) .Princip matematicke indukcije provodi se u dva koraka:

1. Baza indukcije. Treba dokazati da tvrdnja vrijedi za n = 1, tj. davrijedi P (1) .

2. Korak indukcije. Pretpostavimo da tvrdnja vrijedi za n = k. Trebadokazati da tvrdnja vrijedi za n = k+1. Odnosno, P (k) =⇒ P (k + 1) .

Uvijek treba provjeriti oba koraka, jer u suprotnom mozemo pogrijesitii ”dokazati” tvrdnju koja zapravo ne vrijedi (Eulerov primjer, Goldbachovahipoteza).

Primjer 1.6 Za sve prirodne brojeve n vrijedi

n∑

i=1

i (i + 3) =13n (n + 1) (n + 5) .

Dokaz. Provjerimo prvo bazu indukcije tj. da tvrdnja vrijedi za n = 1.Imamo 1 (1 + 3) = 1

31 (1 + 1) (1 + 5) , pa baza indukcije vrijedi.Pretpostavimo sada da tvrdnja vrijedi za n = k, tj. da vrijedi∑k

i=1i (i + 3) = 1

3k (k + 1) (k + 5) .

Upotrebom te pretpostavke treba dokazati da tvrdnja vrijedi za n =k + 1, tj. da vrijedi∑k+1

i=1i (i + 3) = 1

3 (k + 1) (k + 2) (k + 6) .

Raspisivanjem znaka sumacije na lijevoj strani dobivamo∑k

i=1i (i + 3) + (k + 1) (k + 4) .

Page 20: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

10 1.2. TEHNIKE DOKAZIVANJA U MATEMATICI

Iskoristimo pretpostavku za sumu na lijevoj strani i imamo13k (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, moguce

je na temelju eksperimentiranja na pojedinacnim primjerima doci do do-bre slutnje, a nakon toga je dokazati upotrebom matematicke indukcije.Medutim, bez ovog drugog koraka, tj. bez matematickog dokaza, ostajemosamo na slutnji, dakle ne znamo da li ona vrijedi za sve slucajeve ili ne.Preporucamo da vise o tome, kako slutnja moze postati teorem, procitate u[1], str. 35.

Istaknimo dvije od mogucih modifikacija principa matematicke indukcije.Postoje tvrdnje koje ukljucuju prirodne brojeve, ali ne vrijede za sve njih,

nego vrijede za one koji su veci od nekog prirodnog broja n0. Primjerice,nejednakost n! > 2n je ispunjena za svaki n ≥ 4. Dokaz ove tvrdnje mozese provesti pomocu matematicke indukcije, samo sto u bazi ispitujemo dali tvrdnja vrijedi za n = 4. Opcenito se svaka tvrdnja P (n) koja vrijedi zan ≥ n0, moze podvesti pod princip matematicke indukcije tako da se tvrdnjamodificira u tvrdnju P (n + n0 − 1) .

Zadatak 1.2 Dokazite da vrijedi nejednakost n! > 2n, za svaki n ≥ 4.

Matematicku indukciju upotrebljavamo i za rekurzivne definicije razli-citih matematickih objekata. Taj oblik matematicke indukcije zovemo jakamatematicka indukcija, iako je ona ekvivalentna ”obicnoj” matematickojindukciji. Izrecimo je:

Neka je P tvrdnja koja ovisi o prirodnom broju n i vrijedi:

1. Tvrdnja P je istinita za neki prirodni broj n0.

2. Ako je k > n0 prirodni broj i P je istinita za sve prirodne brojevex, n0 ≤ x ≤ k tada je P istinita i za k + 1.

Tada je P istinita za sve prirodne brojeve n ≥ n0.

Dakle, u jakom obliku matematicke indukcije pretpostavljamo da je tvrd-nja istinita za sve prirodne brojeve manje od promatranog prirodnog broja idokazujemo da je onda tvrdnja istinita za promatrani prirodni broj. Nadalje,jaku matematicku indukciju koristimo i kod rekurzivnih definicija, o cemuce biti govora u posebnom poglavlju ove knjige.

Vratimo se sada strukturi skupa prirodnih brojeva. Nabrojimo aksiomekoji opisuju operacije zbrajanja (oznaka: a+b) i mnozenja prirodnih brojeva(oznaka: a · b ili ab), te odnos relacije < i prirodnih brojeva. Za prirodnebrojeve a, b, c vrijedi:

1. a + b ∈ N (zatvorenost)

Page 21: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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-decih tvrdnji x < y, x = y, y < x.

Vise o relacijama i operacijama na razlicitim skupovima saznat cete unastavku ove knjige. U tom kontekstu bit ce jasnija i uloga gornjih aksiomakoji govore o dvije najvaznije operacije na skupu prirodnih brojeva.

1.2.4 Princip dobrog uredaja u skupu N

Na kraju spomenimo da za prirodne brojeve vrijedi tzv. princip dobroguredaja.

Tvrdnja 1.1 Svaki neprazni podskup skupa prirodnih brojeva ima naj-manji element.

Dokaz. Ova se tvrdnja moze dokazati upotrebom principa matematickeindukcije po broju elemenata skupa ciji najmanji element trazimo. Jasno jeda vrijedi baza indukcije jer u skupu, koji se sastoji samo od jednog elementa,taj je element ujedno i najmanji. Nadalje, pretpostavimo da tvrdnja vrijediza sve skupove od k elementa, tj. da postoji najmanji element u svakomod tih skupova. U koraku indukcije promatramo skupove koji imaju k + 1elemenata. Pretpostavimo da smo skupu B od k + 1 elemenata odstanilijedan 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 najmanjielement skupa B.

Dakle, iz principa matematicke indukcije slijedi princip dobrog uredaja.Medutim, vrijedi i obrnuto, tj. upotrebom principa dobrog uredaja mozemodokazati da vrijedi princip matematicke indukcije. Evo dokaza.

Pretpostavimo:

1. Tvrdnja P je istinita za prirodni broj n0.

Page 22: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

12 1.3. ZADACI

2. Ako je k > n0 prirodni broj i P je istinita prirodni broj k, tada je Pistinita i za k + 1.

Principom dobrog uredaja treba dokazati da je tada P istinita tvrdnja zasve prirodne brojeve n ≥ n0. Pretpostavimo da P nije istinita za sve n ≥ n0

(tj. postoje prirodni brojevi za koje dana tvrdnja ne vrijedi) i taj skupoznacimo sa A. Tada taj neprazni skup A prirodnih brojeva, po principudobrog uredaja, ima najmanji element a. Znamo po pretpostavci 1 da jea 6= n0, pa je a− 1 ≥ n0, odnosno k = a− 1. Po pretpostavci 2, P je istinitatvrdnja za k+1, odnosno za a, pa smo ovu tvrdnju dokazali kontradikcijom.Dakle, zakljucujemo da je pocetna pretpostavka pogresna sto znaci da je Pistinita tvrdnja za sve prirodne brojeve n ≥ n0.

Zakljucujemo, princip dobrog uredaja i princip matematicke indukcijesu ekvivalentne tvrdnje.

1.3 Zadaci

1. Dokazite sljedece 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 a2 neparan onda je i a neparan broj.

(d) Broj n je paran ako i samo ako je nn − 2 · n + 1 neparan.

(e) Ako 2 dijeli 5n onda je n paran broj.

2. Pokazite da je sud a ⇒ (p ⇒ q) tautologija.

3. Pokazite da je sud (a ∧ b) ∧ (¬a ∨ ¬b) kontradikcija.

4. Pojednostavite sljedece izraze:

(a) (1 : 0 = ∧(1 < 10),

(b) (π < 8) ∧ (π < 6),

(c) (e < 4) ∧ (e2 < 9)

5. Odredite istinitost sljedecih tvrdnji:

(a) (π2 > 2) ⇒ (π > 1, 4),

(b) (e2 ≥ 0) ⇒ (e < 0),

(c) ¬(6 je cijeli broj⇒ (62 ≥ 1)),

(d) ¬(kvadrat ima tri stranice) ⇒ (trokut ima 4 stranice).

Page 23: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 1. UVOD 13

6. Neka su m,n ∈ N. Dokazite da je mn neparan ako i samo ako su m in neparni.

7. Napisite sljedece izjave pomocu kvantifikatora i standardnih oznaka zaskupove brojeva.

(a) Jednadzba x2 + 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. Napisite 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(x2 = 2) (R).

(d) ∀x∃!y(y = x2) (R).

(e) ∀x∃!y(y = x2) (N).

10. Dokazite da je√

3 iracionalan broj.

11. Dokazite da ako je n ∈ N tada je barem jedan od brojeva n, n+2, n+4djeljiv s 3.

12. Zadana je tvrdnja T .

T := ”Ako je n kvadrat parnog prirodnog broja tada je nsuma dva uzastopna neparna prirodna broja.”

(a) Pokazite da je T istinita tvrdnja upotrebljavajuci konstrukcijutemeljenu na sljedecim primjerima: 42 = 7+9, 62 = 17+19, 82 =31 + 33, 102 = 49 + 51.

(b) Napisite ¬T .

(c) Napisite kotrapozitivnu tvrdnju tvrdnji T . Je li ona istinita?

13. Upotrebom matematicke indukcije dokazite sljedece tvrdnje:

(a) n3 − 2n je djeljiv s 3.

(b) an − bn je djeljiv s a− b za sve a, b ∈ Z i a− b 6= 0.

(c)n∑

k=1

k(k + 1)(k + 2) = 14n(n + 1)(n + 2)(n + 3).

Page 24: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

14 1.3. ZADACI

(d) Za svaki x ∈ R, x 6= ±1 i n ≥ 1 vrijedin∏

k=1

(1 + x2k) = 1−x2k+1

1−x2 .

14. Pomocu matematicke indukcije pokazite da ako je a1 = 1, a2 = 5 ian+1 = 5an − 6an−1 za n ≥ 2 tada je an = 3n − 2n za svaki n ∈ N.

15. Za svaki od sljedecih skupova nadite najmanji i najveci element, uko-liko oni postoje:

(a) A = n ∈ N : n2 ≤ 52(b) B = n ∈ N : n2 ≤ 100n(c) C = n ∈ N : n je visekratnik broja 4(d) D = n ∈ N : n je prost broj

16. Neka su S1 i S2 podskupovi skupa N. Nadalje, neka je m1, odnosnom2 najmanji element u S1, odnosno S2, te neka je M1, odnosno M2

najveci element u S1, odnosno S2. Sto znamo o najmanjem, odnosnonajvecem elementu skupova S1 ∪ S2 i S1 ∩ S2?

Page 25: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Bibliografija

[1] Biggs, N. L.: Discrete Mathematics, Oxford University Press Inc., NewYork, 2002.

[2] Dadic, Z.: Povijest ideja i metoda u matematici i fizici, Skolska knjiga,Zagreb, 1992.

[3] Devlin, K.: Language of Mathematics, W. H. Freeman and Co., NewYork, 2000

[4] Divjak, B.; Hunjak, T.: Matematika za informaticare, TIVA-FOI,Varazdin, 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] Mintakovic, S.: Neeuklidska geometrija Lobacevskog,Skolska knjiga, Za-greb, 1972.

[10] Sikic, Z.: Kako je stvarana novovijekovna matematimka, Skolska knjiga,Zagreb, 1989.

15

Page 26: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

16 BIBLIOGRAFIJA

Page 27: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Poglavlje 2

Matematicka logika

Pretpostavimo da je pronadenakontradikcija u aksiomima teorijeskupova. Da li ozbiljno vjerujete dabi se most mogao srusiti?

Frank Ramsey

Logika je jedna od najstarijih, sustavno proucavanih znanstvenih di-sciplina. Ona predstavlja formalizaciju znanstvenog razmisljanja i osigu-rava njegovu valjanost. Njeni poceci sezu do Ari-stotela i drugih grckih filozofa. Upravo se radoviAristotela u 4 st. p. K. smatraju temeljima logikekao znanstvene discipline. On je napisao knjiguo logici koju je nazvao Organon (Oργανoν), stoznaci orude. Dakle, vec je Aristotel gledao nalogiku kao na glavno orude znanstvenika, na alatkoji znanstveniku omogucuje njegov rad, odnosnopronalazenje znanstvenih spoznaja. Uz tu se knji-gu veze 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 logicke izjave.

Matematicka logika predstavlja formalizaciju logike te se posebno bavimatematickim razmisljanjem i dokazivanjem. Poceci razvoja matematickelogike sezu u 18. st. do dublinskog biskupa Richarda Whatleya, koji se sma-tra zacetnikom matematicke logike. Prve znacajne rezultate u matematickojlogici objavili su u 19. stoljecu George Boole, Augustus De Morgan i ErnstSchroder. Veliki interes za matematicku logiku izazvao je 20-tih godina 20.st. Bertrand Russel (1872-1970) objavljivanjem svojih poznatih paradoksaregularnog svojstva, do kojih je dovelo egzistencijalisticko, nekonstruktivno

17

Page 28: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

18 2.1. RACUN SUDOVA

definiranje kakvo se koristilo prije toga u matematici. Otkrivanje paradoksau mnogim matematickim aksiomatikama dovelo je do revizije pojmova utim matematickim disciplinama. Tako su revidirane matematicke teorijekao sto su teorija skupova, algebra itd. U 20. st. vaznije su rezultate daliAlbert Thorlaf Skolem, Bertrand Russel, Alfred North Whitehead, a za in-formaticare su posebno interesantni rezultati koje je dao Alan Turing, kojise intenzivno bavio definiranjem intuitivnog pojma algoritma, te dao jedanod najpoznatijih logickih modela algoritma - Turingov stroj. O tome cemovise govoriti u posljednjem poglavlju ove knjige.

2.1 Racun sudova

Racun sudova ili propozicijska logika je jednostavan logicki jezik koji sesastoji od sudova koji su povezani pomocu logickih veznika ¬,∨,∧,→,↔.

2.1.1 Sintaksa

Definicija 2.1 (Jezik) Jezik L racuna sudova sastoji se od:

1. najvise prebrojivog skupa1 A 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 konacnim brojem uza-stopnih primjena pravila 1-3.

Primjer 2.1 Neka su A,B, C propozicijske varijable. Tada su sljedeci izrazisudovi:

• (A ∨ (B ∧ ¬C)),

• ((A → B) ↔ (¬A ∨B)),

• (C ↔ (A ∧ ¬B)).1Za skup kazemo da je prebrojiv ako je konacan ili bijektivan s N

Page 29: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA LOGIKA 19

Na kraju ovog podpoglavlja treba reci nekoliko rijeci o zagradama. Za-grade se u logici smatraju pomocnim simbolima koji osiguravaju jednoznac-nost formula. U klasicnom su nacinu zapisivanja formula zagrade nuzne,jer bez njih sudovi ne bi bili jednoznacni. Cak i ako se uvede prioritetlogickih operatora, kao sto to neki logicari cine, zagrade se ne mogu u pot-punosti izbaciti. Postoje, s druge strane, notacije koje osiguravaju jedno-znacnost formula bez upotrijebe zagrada i bez definiranja prioriteta logickihveznika. Jedna je takva notacija postfiksna notacija ili obrnuta poljska no-tacija. Nazalost, iako su takve notacije bolje sa stajalista jedinstvenostiformula, one su neuobicajene za ljude nenaviknute na njih, pa se rijetko ko-riste. Ipak, u prethodnoj definiciji formule se zadaju tako da je svaki izrazokruzen zagradama. No, sve te zagrade nisu potrebne. Postoje slucajevikada zagrade ne doprinose jednoznacnosti formule i kada se neke njene za-grade izostave. U tom se slucaju zagrade, koje ne doprinose jednoznacnostisuda, tj. zagrade koje nisu potrebne i bez kojih sud ostaje jednako jasan,izostaviti. Tako se npr. uvijek izostavljaju zagrade koje okruzuju cijeli sud.

2.1.2 Semantika

U proslom smo poglavlju objasnili kako se tvore jezicni konstrukti jezikaracuna sudova. Ovdje cemo opisati njihovo znacenje, odnosno semantiku.

Definicija 2.3 Neka je definirano proizvoljno preslikavanje i : A → ⊥,>.Interpretacija je prosirenje preslikavanja i na skup svih sudova S definiranona sljedeci nacin:

Neka su F,G ∈ S sudovi. Tada vrijede sljedece 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 izracunati 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)) = >.

Sljedeci vazan pojam, koji treba definirati, jest pojam logicke posljedice.

Page 30: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

20 2.1. RACUN SUDOVA

Definicija 2.4 Sud G je logicka posljedica skupa sudova F = F1, . . . , Fn,sto se pise F |= G ili F ⇒ G ako za svaku interpretaciju za koju vrijedii(Fi) = > za svaki Fi ∈ F vrijedi i i(G) = >.

Primjer 2.3 Pokazimo da je sud B logicka posljedica skupa sudova A →B,A.

Pretpostavimo da vrijedi i(A → B) = > i i(A) = >. Kada bi biloi(B) = ⊥, onda bi, zbog i(A → B) = >, iz definicije 2.3 slijedilo da jei(A) = ⊥, a to je u suprotnosti s pretpostavkom da je i(A) = >.

Dakle, zakljucujemo da je i(B) = >.

Uz pojam logicke posljedice usko je vezan jos jedan semanticki pojam –pojam logicke ekvivalencije.

Definicija 2.5 Sudovi F i G su logicki ekvivalentni , sto zapisujemo F ≡ Gili F ⇔ G, ako za svaku interpretaciju i vrijedi da je i(F ) = i(G).

Iz definicije pojma logicke ekvivalencije proizlazi sljedeca karakterizacijalogicke ekvivalencije:

Propozicija 2.1 F ≡ G ako i samo ako vrijedi da je F |= G i G |= F .

Dokaz. Napravite sami za vjezbu.Nadalje, iz definicije 2.3 lako se vidi da su operacije ∨,∧ i↔ komutativne.

Takoder se vidi da za ∨ i ∧ vrijedi svojstvo asocijativnosti. Nadalje, laganose vidi da vrijede svojstva distributivnosti veznika ∨ prema vezniku ∧ iobrnuto, distributivnosti veznika ∧ prema vezniku ∨. Sve to i jos nekecinjenice koje slijede iz definicije 2.3 sadrzane su u sljedecoj 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 ≡ >

Page 31: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA 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 logicke posljedice, no koristeci samo tu definiciju,

ponekad nije lako odrediti je li neka formula logicka posljedica nekog skupaformula ili nije. Srecom, postoje tzv. karakterizacije logicke posljedicekoje nam omogucuju da problem logicke posljedice svedemo na problemtautologicnosti, odnosno antitautologicnosti logicke formule, sto predstavljaproblem koji je mnogo lakse rijesiti. No, prije no sto to izvedemo, trebadefinirati jos nekoliko pojmova.

Sud F je tautologija ako je i(F ) = > za svaku interpretaciju i. Ako jesud F lazan u svakoj interpretaciji i, onda se on naziva antitautologija. Zasud koji nije antitautologija, tj. za koji postoji bar jedna interpretacija itakva da je i(F ) = >, kaze se da je ispunjiv . Za sud koji nije tautologija,odnosno za koji postoji interpretacija i u kojoj je i(F ) = ⊥ kaze se da jeotklonjiv ili da nije ispunjiv.

Teorem 2.1 (1. karakterizacija pojma logicke posljedice)Sud G je logicka posljedica skupa sudova F = F1, . . . , Fn ako i samo akoje sud (F1 ∧ . . . ∧ Fn) ∧ ¬G antitautololgija.

Dokaz. Neka je F |= G. Ako u interpretaciji i ne vrijedi da je i(Fk) = > zaneki Fk ∈ F , onda tvrdnja trivijalno vrijedi. Naime, u svakoj je interpretacijii koja ne zadovoljava gore napisani uvjet i(F1 ∧ . . . ∧ Fn) = ⊥, pa je ii((F1 ∧ . . . ∧ Fn) ∧ ¬G) = ⊥.

Page 32: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

22 2.1. RACUN SUDOVA

Pretpostavimo stoga da je i interpretacija takva da je i(Fk) = > za svakiFk ∈ F . No, prema definiciji 2.4 onda mora biti i i(G) = >. Ali, onda jeprema definiciji 2.3 i(¬G) = ⊥, pa je i i((F1 ∧ . . . ∧ Fn) ∧ ¬G) = ⊥.

Prema tome, u svakoj je interpretaciji i((F1 ∧ . . . ∧ Fn) ∧ ¬G) = ⊥,odnosno (F1 ∧ . . . ∧ Fn) ∧ ¬G je antitautologija.

Obrnuto, neka je (F1 ∧ . . . ∧ Fn) ∧ ¬G antitautologija. Pretpostavimoda je i interpretacija takva da je i(Fk) = > za svaki Fk ∈ F . Ako takvainterpretacija ne postoji, onda je tvrdnja da je G logicka posljedica od Ftrivijalno ispunjena. Dakle, neka je i takva interpretacija. Tada je i(F1 ∧. . . ∧ Fn) = >. No, kako je (F1 ∧ . . . ∧ Fn) ∧ ¬G, antitautologija, onda,prema definiciji 2.3 i(¬G) mora biti ⊥. No, onda je, opet prema definiciji2.3 i(G) = >. Kako to vrijedi za svaku interpretaciju za koju je i(Fk) = >za svaki Fk ∈ F , zakljucujemo da je G logicka posljedica od F .

Teorem 2.2 (2. karakterizacija pojma logicke posljedice) Sud G jelogicka posljedica skupa sudova F = F1, . . . , Fn ako i samo ako je sud(F1 ∧ . . . ∧ Fn) → G tautololgija.

Dokaz. Neka je F |= G. Ako je i interpretacija takva da ne vrijedi i(Fk) => za svaki Fk ∈ F , onda za svaku intepretaciju i vrijedi i(F1∧ . . .∧Fn) = ⊥,pa onda, prema definiciji 2.3, vrijedi i((F1 ∧ . . . ∧ Fn) → G) = >.

Neka vrijedi i(Fk) = > za svaki Fk ∈ F . Tada, zbog pretpostavke da jeG logicka posljedica od F mora biti i(G) = >. No, onda je, prema definiciji2.3 i((F1 ∧ . . . ∧ Fn) → G) = >.

Dakle, u svakom slucaju je i((F1 ∧ . . .∧Fn) → G) = >, pa je (F1 ∧ . . .∧Fn) → G tautologija.

Obrnuto, neka je (F1 ∧ . . . ∧ Fn) → G tautologija. Ako ne postoji in-tepretacija u kojoj je i(Fk) = > za svaki Fk ∈ F , onda trivijalno slijedi da jeG logicka posljedica od F . Neka je, stoga, i takva interpretacija. U njoj je,prema definiciji 2.3 i(F1∧ . . .∧Fn) = >. Kako je sud (F1∧ . . .∧Fn) → G) popretpostavci tautologija, onda prema definiciji 2.3 i(G) mora biti >. Dakle,G je logicka posljedica od F .

Slicno se moze postaviti i karakterizacija pojma logicke ekvivalencije:

Teorem 2.3 (Karakterizacija pojma logicke ekvivalencije)Dva suda F i G su logicki ekvivalentni ako i samo ako je sud F ↔ Gtautologija.

Dokaz. Izvedite sami.

Formalni sustavi

Semanticki izvodi, poput izvoda u primjeru 2.3, mogu biti slozeni i teski.Stoga se uvode formalni sustavi za izvodenje, koji se sastoje od pravilaizvoda, koja iz sudova izvode njihove logicke posljedice.

Page 33: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA LOGIKA 23

Ovdje cemo prikazati dva sustava: jedan koji se temelji na klasicnom ma-tematickom izvodenju, i drugi koji je posebno pogodan za dedukciju pomocuracunala.

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 uvodenjai eliminacije. Ovaj se sustav jos naziva i sustav prirodne dedukcije jer senjegovi aksiomi temelje na standardnim logickim pravilima zakljucivanja.Takoder, ovaj je sustav ponekad referiran kao Fitchov sustav , prema ame-rickom logicaru Frederichu Fitchu, koji je prvi formalizirao ovaj sustav,povodeci se za prirodnim pravilima dedukcije, koje matematicari koristeu svojoj praksi. Pravila izvoda se u F-sustavu mogu prikazati graficki.

Prva dva pravila se odnose na konjunkciju. Prvo od njih je pravilouvodenja konjunkcije (∧ Intro).

F1

⇓Fn...

⇒ F1 ∧ . . . ∧ Fn

Drugo je pravilo eliminacije konjunkcije (∧ Elim)

F1 ∧ . . . ∧ Fn...

⇒ Fi

Oba ova pravila su jasna i jednostavna.

Sljedeca dva pravila bit ce pravila vezana uz disjunkciju. No, prije negoih iskazemo, moramo uvesti pojam poddokaza. Poddokaz je segment unutardokaza, koji uz dodatne uvjete dokazuje odredenu tvrdnju. Treba jos jed-nom naglasiti da se tvrdnje unutar poddokaza izvode uz dodatne uvjete, kojiopcenito ne moraju vrijediti. Stoga tvrdnje koje su dokazane unutar pod-dokaza takoder ne moraju vrijediti opcenito. Zbog toga koristenje tvrdnjidokazanih u poddokazu izvan poddokaza nije dozvoljeno, osim ako to pravi-lo izvoda izricito ne nalaze. Jedno takvo pravilo koje omogucuje koristenjetvrdnje dokazane u poddokazu izvan samog poddokaza jest pravilo elimi-nacije disjunkcije.

Uvodenje disjunkcije (∨ Intro)

Fi...

⇒ F1 ∨ . . . ∨ Fn

Eliminacija negacije (¬ Elim)

Page 34: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

24 2.1. RACUN SUDOVA

F1 ∨ . . . ∨ Fn

F1...S

⇓Fn...S

⇒ S

Pravilo eliminacije disjunkcije zahtjeva dodatno objasnjenje. Naime, kaosto je vec receno, F sustav slijedi standardne matematicke tehnike dokazi-vanja. Neka pravila su samo koraci u direktnom dokazivanju. Takva supravila uvodenje i eliminacija konjunkcije te uvodenje disjunkcije. Drugaopet pravila predstavljaju strategije dokazivanja. Takvo je pravilo elimi-nacija disjunkcije. Pravila koja predstavljaju strategije dokazivanja imajuu matematici i druge nazive, koji su vec spomenuti u poglavlju 1.2, gdje seono zove dokaz podjelom na slucajeve.

Sada cemo uvesti dva pravila koja se odnose na negaciju.Uvodenje negacije (¬ Intro)

F...G ∧ ¬G

⇒ ¬F

Eliminacija negacije (¬ Elim)¬¬F1...

⇒ F

Elimincija negacije je jos jedno pravilo koje predstavlja jednostavan ko-rak direktnog dokaza. S druge strane, uvodenje negacije je jos jedna, mozdacak i najcesce koristena, strategija dokazivanja - dokazivanje obaranjemsuprotnog ili dokazivanje svodenjem na kontradikciju, ili pak na latinskomreductio ab absurdum.

Na kraju, ostali su nam kondicional i bikondicional.Uvodenje kondicionala (→ Intro)

F...G

⇒ F → G

Eliminacija kondicionala (→ Elim)

Page 35: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA LOGIKA 25

F → GF...

⇒ GUvodenje kondicionala je osnovna strategija dokazivanja sudova koji

imaju kauzalnu formu, tj. koje sadrze kondicional. S druge strane, elimi-nacija kondicionala je samo korak u dokazivanju. Pravilo eliminacije kondi-cionala ima, medutim, znacajnu ulogu u mnogim logickim sustavima, po-sebno sustavima koji se koriste u klasicnoj logici. Zato ima i posebno ime -modus ponens, sto u prijevodu znaci ”metoda potvrdivanja”.

Uvodenje bikondicionala (↔ Intro)F...GG...F

⇒ F ↔ GEliminacija bikondicionala (↔ Elim)

F ↔ GF...

⇒ GSlicno kao sto je receno za uvodenje kondicionala, uvodenje bikondi-

cionala je osnovna strategija dokazivanja recenica koje sadrze bikondicional.

Definicija 2.6 Neka je F skup sudova i neka je G sud. Tada se niz sudovaG1, . . . , Gn : G naziva izvod suda G iz skupa sudova F pomocu formalnogsustava S ako za svaki i = 1, . . . , n vrijedi jedna od sljedecih tvrdnji

• Gi ∈ F ,

• postoje j1, . . . , jk ≤ i takvi da je Gi dobiveno primjenom nekog pravilaizvoda iz sustava S na sudove Gj1 , . . . , Gjk

.

Sud G je izvediv iz F pomocu sustava S ako postoji izvod suda G iz Fpomocu formalnog sustava S. To se oznacava sa F `S G

Za izvodenje svakog formalnog sustava bitne su dvije stvari. Prva je daje sustav korektan. To znaci da sve sto se pomocu sustava moze izvesti jestlogicka posljedica onoga iz cega je izvedeno. Drugim rijecima, da iz F `S Gslijedi F |= G. Druga stvar, koja je jednako bitna, jest potpunost sustava.Tu se radi o tome da iz F |= G mora slijediti F `S G, odnosno da sustavmora biti u stanju dokazati svaku logicku posljedicu zadanih pretpostavki.

Page 36: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

26 2.1. RACUN SUDOVA

Teorem 2.4 Neka je F skup sudova i neka je G sud. Tada vrijedi:

• Ako je F `F G onda je F |= G.

• Ako je F |= G onda je F `F G.

Dakle, F sustav je korektan i potpun. Dokaz ovog teorema je prilicnodugacak, pa cemo ga preskociti. U projektima vezanim uz ovo poglavljepostoji i projekt dokazivanja ovog teorema.

Dajmo sada nekoliko primjera dokazivanja pomocu ovog sustava.

Primjer 2.4 Dokazimo da iz A i ¬A slijedi B.1. A2. ¬A

3. ¬B4. A ∧ ¬A

5. ¬¬B6. B

(∧ Intro: 1,2)(¬ Intro: 3-4)(¬ Elim: 5)

Primjer 2.5 Dokazimo pravilo modus tollens (metoda opovrgavanja), o-dnosno da iz A → B i ¬B slijedi ¬A.

1. A → B2. ¬B

3. A4. B5. B ∧ ¬B

6. ¬A

(→ Elim: 1,3)(∧ Intro: 4,1)(¬ Intro: 3-5)

Primjer 2.6 Dokazimo jos 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. F4. F ∨G5. F ∨H6. (F ∨G) ∧ (F ∨H)

7. G ∧H8. G9. F ∨G10. H11. F ∨H12. (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)

Page 37: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA LOGIKA 27

Drugi sustav za dokazivanje koji cemo ovdje obraditi, a koji je posebnopogodan za automatsku dedukciju, naziva se rezolucijski postupak. On jeposebno pogodan za automatsku dedukciju jer se sastoji od jednog jedinogpravila izvoda – pravila rezolucije.

F ∨AG ∨ ¬A...

⇒ F ∨GDa 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 L1, . . . , Lk literali. Tada se sud L1 ∨ . . . ∨ Lk naziva disjunkt .Neka su D1, . . . , Dn disjunkti. Tada se za sud D1 ∧ . . . ∧Dn kaze da je

u konjunktivnoj normalnoj formi .

Teorem 2.5 Za svaki sud racuna sudova postoji logicki ekvivalentan sud ukonjunktivnoj normalnoj formi.

Umjesto dokaza ovdje cemo opisati kako se za zadanu formulu konstruiraekvivalentan sud u konjunktivnoj normalnoj formi. U propoziciji 2.2 danesu ekvivalencije cijim se koristenjem svaki sud racuna sudova moze prevestiu ekvivalentan sud u konjunktivnoj normalnoj formi. Uz opis koraka datcemo i primjer kako se pojedini koraci konkretno provode.

Primjer 2.7 Kao primjer uzet cemo sud (A ↔ B) ∧ ¬(A → (B ∧ ¬C)).

1. Prvo se pomocu posljednja tri pravila opisana u propoziciji 2.2 eli-miniraju svi kondicionali i bikondicionali koji se pojavljuju u sudu izamijenjuju 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 slozenim sudovima.Naime, u konjunktivnoj normalnoj formi negacije djeluju samo naatomima.

((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))

Page 38: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

28 2.1. RACUN SUDOVA

3. Na kraju se primjenom pravila distributivnosti i asocijativnosti sudprevodi 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 moze, pri-mjenom pravila idempotencije, komutativnosti te pravila 9-14 iz propozicije2.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, premapravilu 11, mijenja s >, a onda se, prema pravilu 13, moze u potpunostiukloniti iz suda. Takoder, primjenom pravila komutativnosti i idempotencijeprvi disjunkt se pretvara u A∨B, dok se primjenom pravila komutativnostite pravila 9 i 11 treci disjunkt pretvara u >, nakon cega se zbog pravila 14moze ukloniti iz suda.

Nakon toga ce formula izgledati ovako:

(A ∨ ¬B) ∧ (A ∨ ¬B ∨ C).

Sada, kad smo iznijeli nacin pretvaranja suda u konjunktivnu normalnuformu, mozemo opisati postupak dokazivanja pomocu rezolucijskog pravi-la. Prije nego sto se krene u sam izvod, potrebno je urediti pretpostavkei zakljucak koji zelimo dokazati. Kod rezolucijskog postupka nikada se za-kljucak ne dokazuje izravno, vec se uvijek obara njegova negacija. Stogaje, prije svega, potrebno negirati zakljucak koji zelimo dokazati. Nakontoga se sve pretpostavke i zakljucak pretvaraju u konjunktivnu normalnuformu. Time se dobija skup sudova u konjunktivnoj normalnoj formi, kojise sastoji od pretpostavki i negacije zakljucka. Lako je dokazati da vrijediA,B ≡ A ∧ B. Stoga se svaki sud u konjunktivnoj normalnoj formi uskupu moze zamijeniti s jednim ili vise 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 refutacijaoznacava se s ⊥ i predstavlja antitautologiju. Dobije li se refutacija, negacijaje zakljucka oborena, a zakljucak je dokazan.

Da bi se ovaj postupak mogao koristiti potrebno je imati sljedeci teorem:

Teorem 2.6 Rezolucijski postupak je potpun i korektan za racun sudova.

Page 39: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA LOGIKA 29

Primjer 2.8 Dokazimo rezolucijom da iz A i ¬A slijedi B. Zakljucak senegira i dobije se ¬B. Svi su sudovi vec u konjunktivnoj normalnoj formi,pa mozemo krenuti na rezolucijski izvod:

1. A2. ¬A3. ¬B4. ⊥ (Res: 1,2)

Primjer 2.9 Dokazimo pravilo modus tollens, odnosno da iz A → B i ¬Bslijedi ¬A.

Negacija zakljucka je ¬¬A, odnosno A. Prvi se sud pretvara u ¬A ∨B,te imamo

1. ¬A ∨B2. ¬B3. A4. ¬A5. ⊥

(Res: 1,2)(Res: 3,4)

Detaljnim razmatranjem rezolucijskog postupka i njegovom implementa-cijom na racunalu doci ce se do dedukcijskog algoritma temeljenog na metodipretrazivanja s vracanjem (backtracking). Problem je u tome sto je taj algo-ritam u najgorem slucaju slozenosti O(2n). Nazalost, poboljsanje slozenostinajgoreg slucaja ovog algoritma nije moguce. No, moguce je poboljsatinjegovu prosjecnu slozenost. S tom su idejom smisljena poboljsanja rezolu-cijskog postupka nazvana semanticka rezolucija, a posebno njen specijalnislucaj hiperrezolucija, te na kraju linearna rezolucija, koja se koristi u pro-gramskom jeziku Prolog. Vise o tim rezolucijskim postupcima citatelj mozenaci u [3].

2.2 Predikatni racun

Za opis nekih slozenijih sustava nije dovoljan racun sudova. Tako se npr,nijedna matematicka teorija ne moze opisati samo racunom sudova. Zato je potreban nesto slozeniji logicki jezik - racun predikata. U ovom cemopoglavlju uvesti taj slozeniji i bogatiji logicki jezik koji ce omoguciti formalniprikaz mnogih, ali jos uvijek ne svih matematickih teorija.

2.2.1 Sintaksa

Definicija 2.8 Jezik racuna predikata ima abecedu koja se sastoji od:

• najvise prebrojivog skupa P predikatnih simbola,

• najvise prebrojivog skupa F funkcijskih simbola,

• najvise prebrojivog skupa C konstanti,

Page 40: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

30 2.2. PREDIKATNI RACUN

• najvise prebrojivog skupa V varijabli,

• logickih veznika ¬,∨,∧,→,↔,

• kvantifikatora ∀,∃,• zagrada ), (, ], [, , ,.

pri cemu su skupovi C i V disjunktni.

Svakom predikatnom simbolu p ∈ P, kao i svakom funkcijskom simboluf ∈ F pridruzena je jedinstvena kratnost ili arnost.

Definicija 2.9 (Term)

• Svaka konstanta je term.

• Svaka varijabla je term.

• Ako je f ∈ F n-arni funkcijski simbol i neka su t1, . . . , tn termi. Tadaje i f(t1, . . . , tn) term.

Definicija 2.10 Neka je p ∈ P n-arni predikatni simbol i neka su t1, . . . , tntermi. Tada je p(t1, . . . , tn) 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 ∈ V varijabla, a K ∈ ∀, ∃, onda je KxF formula.

Ako je F formula oblika KxG, pri cemu je K ∈ ∀, ∃, a x ∈ V varijabla,onda za svaki nastup varijable x u formuli G kazemo da je vezan kvantifika-torom Kx. Za istu stvar jos kazemo da je svaka takva varijabla x u dosegukvantifikatora Kx.

Za varijablu koja nije u dosegu nijednog kvantifikatora kazemo da jeslobodna.

Formula koja nema slobodnih varijabli zove se zatvorena formula ilirecenica.

Primjer 2.10 Dajmo nekoliko primjera formula racuna predikata:

• ∀x∃y(P (x, y) ∨ ¬Q(y)) → ∀x∀y(P (x, x) ↔ Q(y)),

Page 41: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA 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) oznacavati cinjenicu da u F nastupavarijabla x.

2.2.2 Semantika

Definicija 2.12 Svako preslikavanje µ : V → C naziva se ogranicenje vari-jabli .

Semanticka struktura predikatnog racuna M je par M =< I, U >, pricemu je I interpretacija, a U domena. Interpretacija I =< ϕ, ψ >, pri cemuje ϕ pridruzivanje koje svakom n-arnom funkcijskom simbolu pridruzujetotalnu funkciju Un → U , a svakoj konstanti pridruzuje nularnu funkciju.Funkcija ψ svakom n-arnom predikatnom simbolu pridruzuje n-arnu relacijunad U .

Kada se ovako definira semanticka struktura predikatnog racuna, dom-ena je u potpunosti odredena interpretacijom i moze se izostaviti.

Semanticka struktura definira istinitost svakog pojedinog atoma.Istinitost se definira na sljedeci nacin:

Definicija 2.13 Neka je µ ogranicenje varijabli. Prosireno ogranicenje va-rijabli je prosirenje preslikavanja µ na skup svih terma:

• µ(x) ∈ C za x ∈ V,

• µ(c) = c za c ∈ C,• µ(f(t1, . . . , tn)) = ϕ(f)(µ(t1), . . . , µ(tn)).

Definicija 2.14 Neka je M semanticka struktura i neka je µ prosireno ogra-nicenje varijabli. Tada kazemo da je:

• Ako je P (t1, . . . , tn) atomarna formula, onda je M |=µ A ako i samoako je (v(t1), . . . , v(tn)) ∈ ψ(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 vrijediM |=µ G.

• M |=µ F ↔ G ako i samo ako vrijedi M |=µ F → G i M |=µ G → F .

Page 42: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

32 2.2. PREDIKATNI RACUN

• M |=µ ∀xF (x) ako i samo ako za svako prosireno ogranicenje varijabliν koje se podudara s µ na svim varijablama osim mozda na x vrijediM |=ν F .

• M |=µ ∃xF (x) ako i samo ako postoji prosireno ogranicenje varijabliν koje se podudara s µ na svim varijablama osim mozda na x za kojevrijedi M |=ν F .

Definicija 2.15 Par (M, µ) je model za formulu F ako je M |=µ F .

Ako je F recenica, onda njena istinitost nece ovisiti o izboru prosirenogogranicenja varijabli, vec samo o izboru semanticke strukture. Ako je rece-nica F istinita u semantickoj strukturi, onda to pisemo M |= F .

Formulu F , koja je istinita u svakoj mogucoj semantickoj strukturi(M, µ), nazivamo tautologija i oznacavamo s |= F . Formula koja nije istinitani u kojoj semantickoj strukturi (M,µ) naziva se antitautologija. Za formuluF koja nije antitatutologija, tj. za koju postoji semanticka struktura (M, µ)takva da je M |=µ F kazemo da je ispunjiva. Slicno, za recenicu F kojanije tautologija, tj. za koju postoji semanticka struktura (M, µ) takva da jeM 6|=µ F kazemo da je otklonjiva.

Definicija 2.16 Formula G je logicka posljedica formule F , sto oznacavamos F |= G ako za svaku semanticku strukturu M za koju vrijedi M |= F vrijedii M |= G.

Treba napomenuti da obje karakterizacije logicke posljedice, kako suizrecene za racun sudova, vrijede i za racun predikata.

Nadalje, uz standardno definiranu logicku ekvivalenciju, u predikatnomracunu vrijedi i propozicija 2.2.

Ove dvije tvrdnje ne bi trebale cuditi. Naime, pokazuje se da je segmentracuna predikata - racun predikata bez varijabli ekvivalentan racunu sudova,tj. sve sto vrijedi u racunu sudova vrijedi isto tako u racunu predikata, akoatomarne sudove zamijenimo atomarnim formulama racuna sudova.

Medutim, u racunu predikata postoje ekvivalencije koje nisu naslijedeneiz racuna sudova, vec su ekvivalencije koje se javljaju samo u racunu predi-kata:

Propozicija 2.3 Za formule F i G racuna predikata vrijede sljedeca svo-jstva:

1. ¬∀xF (x) ≡ ∃x¬F (x), (de Morganov zakon)

2. ¬∃xF (x) ≡ ∀x¬F (x), (de Morganov zakon)

3. ∀xF (x) ∧ ∀xG(x) ≡ ∀x(F (x) ∧G(x)),

4. ∃xF (x) ∨ ∃xG(x) ≡ ∃x(F (x) ∨G(x)),

Page 43: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA 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 z1, z2, te ako suK1,K2 ∈ ∀, ∃ kvantifikatori, a Θ ∈ ∨,∧ onda vrijedi

K1xF (x)ΘKxyG(y) ≡ K1z1K2z2(F (z1)ΘG(z2)).

8. ∀x∀yF (x, y) ≡ ∀y∀xF (x, y).

9. ∃x∃yF (x, y) ≡ ∃y∃xF (x, y).

Dokaz. izvedite za vjezbu.

2.2.3 Formalni sustavi

Sustav F se prirodno prosiruje s racuna sudova na racun 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

Page 44: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

34 2.2. PREDIKATNI RACUN

Pri tome se konstanta c ne pojavljuje nigdje, osim u poddokazu u kojemje uvedena.

Primjer 2.11 Dokazimo da vrijede de Morganovi zakoni za kvantifikatore:¬∀xP (x) ≡ ∃x¬P (x) te ¬∃xP (x) ≡ ∀x¬P (x).

Ova se ekvivalencija dokazuje preko dokaza cetiri tvrdnje. Prvo cemodokazati da ¬∀xP (x) slijedi iz ∃x¬P (x).

1. ∃x¬P (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:∃x¬P (x)...

⇒ ¬∀xP (x)Sada imamo obrnuto:

1. ¬∀xP (x)2. ¬∃x¬P (x)3. ∀x¬¬P (x)

c

4. ¬¬P (c)5. P (c)

6. ∀xP (x)7. ∀xP (x) ∧ ¬∀xP (x)

8. ¬¬∃x¬P (x)9. ∃x¬P (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)...

⇒ ∃x¬P (x)

Dokazujemo drugi de Morganov zakon. Prvo dokazujemo da iz ∀x¬P (x)slijedi ¬∃xP (x).

Page 45: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA LOGIKA 35

1. ∀x¬P (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 ∧ ¬Q10. ¬∃xP (x)

(∀ Elim: 1)

(∧ Intro: 3,4)(¬ Intro: 5-6)(¬ Elim: 7)(∃ Elim: c -8)(¬ Intro: 2-9)

sto daje sljedeci teorem:Teorem 3:

∀x¬P (x)...

⇒ ¬∃xP (x)I na kraju:

1. ¬∃xP (x)2. ¬∀x¬P (x)3. ∃x¬¬P (x)

c

4. ¬¬P (c)P (c)6. ∃xP (x)7. ∃xP (x) ∧ ¬∃xP (x)

8. ∃xP (x) ∧ ¬∃xP (x)9. ¬¬∀x¬P (x)10. ∀x¬P (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)...

⇒ ∀x¬P (x)

Time smo zavrsili razmatranje F sustava. Citatelj zainteresiran za de-taljnije proucavanje F sustava kao formalizacije matematickog dokazivanjaupucuje se na [2].

***

Kao i za F sustav, i za rezolucijsku proceduru postoji prosirenje na racun predikata.Rezolucijska se procedura u racunu predikata definira nad recenicama. No, kao sto cemovidjeti, u racunu predikata se svaka recenica ne moze pretvoriti u ekvivalentnu recenicukoja bi bila pogodna za rezolviranje.

Svaka se recenica racuna predikata moze, medutim, pretvoriti u ekvivalentnu recenicuu primitivnoj normalnoj formi.

Page 46: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

36 2.2. PREDIKATNI RACUN

Definicija 2.17 Za recenicu racuna predikata kazemo da je u primitivnoj normalnojformi ako je ona oblika

K1x1 . . . KnxnM(x1, . . . , xn).

Pri tome su K1, . . . , Kn kvantifikatori, a M(x1, . . . , xn) je formula racuna predikatabez kvantifikatora. K1x1 . . . Knxn se naziva prefiks, a M(x1, . . . , xn) se naziva matricarecenice u primitivnoj normalnoj formi.

Teorem 2.7 Svaka recenica racuna predikata ima ekvivalentnu recenicu u primitivnojnormalnoj formi.

Umjesto formalnog dokaza ove propozicije navest cemo algoritam pomocu kojeg ce serecenica racuna predikata moci pretvoriti u recenicu u primitivnoj normalnoj formi.

Kao prvo, pomocu pravila iz propozicije 2.2 eliminiramo sve kondicionale i bikondi-cionale. Nakon toga, pomocu ekvivalencija iz propozicije 2.3, te eventualno primjenepravila 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 recenicu u primitivnoj normalnoj formi mozemo pronaci ekvivalentnurecenicu u primitivnoj normalnoj formi kojoj je matrica u konjunktivnoj normalnoj formi.Tako ce, npr., recenica iz primjera 2.12 biti ekvivalentna recenici

∀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 recenice, pa cak ni ako joj je matrica u konjunktivnoj

normalnoj formi, nije dovoljna da bi recenica bila pogodna za rezoluciju. Problem stvarajuegzistencijalni kvantifikatori. Naime, rezolucijski postupak u racunu predikata zahtjeva darecenica bude u Skolemovoj normalnoj formi.

Definicija 2.18 Recenica racuna predikata je u Skolemovoj normalnoj formi ako je uprimitivnoj normalnoj formi, te ako njen prefiks ne sadrzi ni jedan egzistencijalni kvan-tifikator.

Nazalost, ne postoji nacin kojim bi se iz recenice izbacili egzistencijalni kvantifikatori,a da ono sto se dobije bude recenica ekvivalentna polaznoj. To, medutim, za rezoluciju nijeniti potrebno. Sada, naime, dolazi do izrazaja nacin na koji se rezolucijom izvode dokazi.Rezolucijom se dokazuje tako da se konjunkcija pretpostavki i negacije zakljucka svodi narefutaciju. Stoga nam sljedeca propozicija daje dovoljan uvjet za izvodenje rezolucije.

Propozicija 2.4 Za svaku recenicu racuna predikata F postoji recenica racuna F ′ kojaje u Skolemovoj normalnoj formi i za koju vrijedi da je F kontradiktorna ako i samo akoje F ′ kontradiktorna.

Page 47: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA LOGIKA 37

Umjesto dokaza opet cemo dati algoritam za dobivanje takve formule.

1. Pretvoriti recenicu u primitivnu normalnu formu.

2. Citati prefiks recenice redom s lijeva na desno, te svaki egzistencijalni kvantifikatorna koji se naide izbrisati iz prefiksa. Varijabla koju je vezao taj kvantifikator se izmatrice eliminira na sljedeci nacin:

(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 izbacenikvantifikator vezao u matrici zamijenimo odabranom konstantom.

(b) Ako je egzistencijalni kvantifikator k-ti u prefiksu, onda izaberemo k-narnifunkcijski simbol koji se do tada nije pojavljivao u formuli te svaki nastupvarijable koju je izbaceni kvantifikator vezao u matrici zamijenimo funkcijoms odabranim simbolom ciji su argumenti sve varijable koje se u prefiksu nalazeispred izbacenog kvantifikatora.

Za recenice koje imaju svojstvo navedeno u propoziciji 2.4 kazemo da su ekvikon-tradiktorne.

Primjer 2.13 Skolemizirajmo formulu 2.1.

Potrebno je izbaciti kvantifikator koji veze varijablu u, a svaku pojavu varijable u umatrici zamijeniti funkcijom, recimo f(x). Tako dobijamo recenicu

∀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 jos jedan primjer skolemizacije recenice.

Primjer 2.14 Skolemizirajmo formulu:

¬∀x∀yP (x, y) ∨ ∀x∃yQ(x, y)

Prvo cemo recenicu 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∃y¬P (x, y) ∨ ∀x∃yQ(x, y) ≡ pr.2.3.7 ≡≡ ∃u∀v(∃y¬P (u, y) ∨ ∃yQ(v, y)) ≡ pr.2.3.4 ≡≡ ∃u∀v∃y(¬P (u, y) ∨Q(v, y)).

Skolemiziramo sada dobivenu recenicu u primitivnoj normalnoj formi:

Ponajprije izbacujemo kvantifikator koji veze varijablu u, a svaku pojavu te varijableu matrici mijenjamo konstantom, recimo c:

∀v∃y(¬P (c, y) ∨ yQ(v, y))

Sada brisemo iz prefiksa kvantifikator koji veze varijablu y, a svaku pojavu varijabley u matrici mijenjamo funkcijom, recimo f(v):

∀v(¬P (c, f(v)) ∨ yQ(v, f(v)))

I time smo zavrsili skolemizaciju zadane formule.

Page 48: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

38 2.2. PREDIKATNI RACUN

No, zbog postojanja varijabli termi koji graficki izgledaju razlicito mogu ponekad bitiinstancirani u isti temeljni term, tj. term bez varijabli. Stoga nije dovoljno pri rezolucijigledati samo literale koji graficki izgledaju isto. Potrebno je uvesti postupak koji ce takveterme svoditi na isti term. Taj se postupak naziva unifikacija.

Definicija 2.19 Neka su t1, . . . , tn termi racuna predikata, a v1, . . . , vn varijable. Tadase izraz t1/v1, . . . , tn/vn naziva valuacija.

Definicija 2.20 Neka je F formula racuna predikata i neka je α = t1/v1, . . . , tn/vnvaluacija. Tada se formula Fα koja se dobije zamjenom varijabli v1, . . . , vn termimat1, . . . , tn naziva instanca formule F .

Definicija 2.21 Neka su α i β valuacije. Tada se njihova kompozicija αβ, ili αβ definirana sljedeci nacin: Za svaku formulu F je F (αβ) = (Fα)β.

Definicija 2.22 Za valuaciju α kazemo da je opcenitija od valuacije β ako postoji valu-acija γ takva da je β = αγ.

Definicija 2.23 Neka su F i G formule racuna predikata. Valuacija α je unifikatorformula F i G ako vrijedi da je Fα graficki jednaka Gα.

Za unifikator formula F i G kazemo da je najopcenitiji ili maksimalan ako je opcenitijiod bilo kojeg drugog unifikatora formula F i G.

Maksimalan unifikator je posebno vazan jer je on onaj unifikator koji najmanje mijenjaformule, a pri tome ih unificira. Za formule za koje postoji unifikator kazemo da se moguunificirati. Stoga je vazan sljedeci teorem:

Teorem 2.8 Ako se formule F i G mogu unificirati, onda postoji maksimalni unifikatorod F i G.

Iako je moguce izvesti algoritam koji djeluje na proizvoljnim formulama racuna pre-dikata, nama je za potrebe rezolucije dovoljno definirati unifikaciju nad atomima. Sljedecialgoritam pronalazi maksimalni unifikator atoma P1 : P (t1, . . . , tn) i P2 : P (s1, . . . , sn)uvijek kada on postoji.

1. Stavljamo da je i = 0 i α0 = ε = ∅ prazna valuacija. W0 = P1, P2.2. Citamo redom s lijeva na desno atome P1αi i P2αi sve dok se u procitanom ne javi

razlika.

3. Napravimo skup razlika R = r1, r2 tako da je r1 term koji je nastao citanjemod primjecene razlike pa sve dok procitani izraz ne cini regularan term racunapredikata. Slicno se tvori i r2 iz atoma P2.

4. Ako je r1 (r2) varijabla x a r2 (r1) term t u kojem se ne pojavljuje varijabla x, tadastavljamo αi+1 = αi t/x Wi+1 = P1αi+1, P2αi+1. U suprotnom maksimalniunifikator ne postoji i algoritam zavrsava.

5. Ako je Wi+1 jednoclan skup, onda je αi+1 maksimalni unifikator, i algoritamzavrsava.

6. i := i + 1 idemo na korak 2.

Teorem 2.9 Gore opisani algoritam radi korektno, tj. pronalazi maksimalni unifikatoratoma P1 i P2 uvijek kada on postoji.

Page 49: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA LOGIKA 39

Treba reci da se ovaj algoritam moze lagano prosiriti tako da radi s vise od dva atoma.Tada ce skupovi Wi, Ri imati vise clanova. Trazit ce se da u skupu razlika postoji varijablai term u kojem se ta varijabla ne pojavljuje, a cilj je, kao i kod slucaja s dva atoma, dobitijednoclan skup Wk. Nadalje, ovaj algoritam, u potpunosti nepromijenjen, moze se koristitii za unifikaciju bilo kojih drugih formula racuna predikata. Pri tome treba napomenutida, bez obzira na kakvim se formulama ovaj postupak provede, on moze unificirati samorazlike u termima. Ako se pojavi razlika u predikatnom simbolu, logickom vezniku ilikvantifikatoru, onda se unifikacija ne moze provesti.

Sada, kad smo definirali skolemizaciju i unifikaciju moguce je definirati i rezoluciju zaracun predikata.

Neka je zadan skup recenica F1, . . . , Fn koje predstavljaju pretpostavke iz kojihzelimo izvesti zakljucak - recenicu G. Prisjetimo se prve karakterizacije logicke posljedice(teorem 2.1). Ona kaze da je formula G logicka posljedica skupa formula F1, . . . , Fn akoi samo ako je formula

F1 ∧ . . . ∧ Fn ∧ ¬G (2.3)

antitautologija.

Jasno je da se za formulu 2.3 moze pronaci ekvikontradiktorna formula u Skolemovojnormalnoj formi. No, je li potrebno skolemizirati cijelu tu, veliku fromulu? Odgovorje - nije. Ako pretpostavke i zakljucak nemaju zajednickih varijabli, dovoljno je da seskolemizira posebno svaka pretpostavka i negacija zakljucka. Naime, u tom se slucaju,zbog propozicije 2.3.5, Skolemove normalne forme pretpostavki i negacije zakljucka mogupovezati konjunkcijama, a nakon toga se svi veznici mogu izvuci na pocetak formule itako se dobije Skolemova normalna forma formule 2.3. Kako se radi o recenicama ukojima su svi nastupi svih varijabli vezani, a kako su sve varijable koje su vezane vezaneuniverzalnim kvantifikatorima, kvantifikatore mozemo kod zapisa formule izostaviti. Nataj cemo nacin dobiti formulu koja ne sadrzi kvantifikatore. Ovoj se formuli moze pronaciekvivalentna formula u konjunktivnoj normalnoj formi na isti nacin kao sto smo to radili zaformule racuna sudova. Formulu u konjunktivnoj normalnoj formi mozemo, kao sto je vecreceno, gledati kao skup disjunkata, koji se mogu medusobno rezolvirati. Sam postupakrezolucije moramo, medutim, malo prosiriti. Naime, kod racuna sudova rezolviranjem suse iz formula otklanjali atomarni sud i njegova negacija. Kod racuna predikata otklanjatise mogu i atomi koji nisu medusobno jednaki. Dovoljno je da se atom i negacija atomakoje zelimo otkloniti mogu medusobno unificirati.

Definicija 2.24 Neka su F1 : P ∨ G1 i F2 : ¬Q ∨ G2 disjunkti, a P i Q su atomi kojiimaju maksimalni unifikator α. Tada je (G1 ∨G2)α rezolventa formula F1 i F2.

Sljedeci teorem nam osigurava da je rezolucija dobro definiran formalni sustav:

Teorem 2.10 Postupak rezolucije za racun predikata je korektan i potpun.

Primjer 2.15 Dokazimo rezolucijom da iz formule ∀x∀y(P (x) → Q(x, y)) i iz ∃xP (x)slijedi ∃x∀yQ(x, y).

Imamo sljedece tri formule:

1. ∀x1∀y1(P (x1) → Q(x1, y1)) ≡ ∀x1∀y1(¬P (x1) ∨Q(x1, y1))

2. ∃x2P (x2), pa skolemizacijom prelazi u P (c)

3. ¬∃x3∀y3Q(x3, y3) ≡ ∀x3∃y3¬Q(x3, y3) sto skolemizacijom prelazi∀x3¬Q(x3, f(x3))

Dakle, imamo sljedeci dokaz:

Page 50: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

40 2.3. ZADACI

1. ¬P (x1) ∨Q(x1, y1)2. P (c)3. ¬Q(x3, f(x3))4. Q(c, y1)5. ¬P (x3)6. ⊥

(Res: 1,2 c/x1)(Res: 1,3 x3/x1, f(x3)/y1)(Res: 3,4 c/x2, f(x3)/y1)

Za racun predikata, isto kao i za racun sudova, koristi se semanticka rezolucija, hiper-

rezolucija i linearna rezolucija. Ovi se pojmovi mogu pronaci detaljno opisani u [3], ali i

u [6].

2.3 Zadaci

Koristenjem definicije logicke posljedice dokazite da su sljedece 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 sljedecih formula

4. (A ∨B) ↔ (C ∨D)

5. (((¬A ∨B) ∧ ¬C) ∨D) ∧ ¬E

6. (¬A ∨B) ∧ (C ∨ ¬D)

7. ¬((A ∨B) → C)

8. Pomocu F sustava dokazite tvrdnje iz propozicije 2.2

9. Pomocu rezolucije dokazite tvrdnje iz propozicije 2.2

Bez upotrebe formalnih sustava dokazite da su sljedece 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 Skolemovu normalnu formu sljedecih 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 dokazite tvrdnje propozicije 2.3

17. Pomocu rezolucijskog postupka dokazite tvrdnje propozicije 2.3

Page 51: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 2. MATEMATICKA LOGIKA 41

2.4 Projekti

1. Definirajte potpunu sintaksu racuna sudova u postfiksnoj notaciji.Nakon toga predefinirajte sve teoreme iz poglavlja, tako da svi zapisiformula u njima budu u postfiksnoj notaciji.

2. Definirajte sintaksu racuna predikata u postfiksnoj notaciji. Nakontoga predefinirajte sve teoreme iz knjige, tako da svi zapisi formula unjima budu u postfiksnoj notaciji.

3. Napravite racunalni program koji ce prepoznavati je li zadani izrazformula racuna predikata.

4. Napravite program koji ce izracunavati je li neki sud logicka poslje-dica zadanih sudova, koristenjem rezolucijskog postupka. Nakon togaproucite hiperrezoluciju i napravite program koji ce raditi isto, aliprimjenom hiperrezolucije. Na kraju implementirajte i linearnu re-zoluciju. Usporedite rad ova tri programa.

5. Dokazite potpunost i korektnost F sustava.

Page 52: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

42 2.4. PROJEKTI

Page 53: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 3rd

edition, CSLI, Stanford, 1992.

[3] Chang, C.-L.; Lee, C.-T.: Symbolic Logic and Mechanical TheoremProving, Accademic Press, New York, 1973.

[4] Cubrilo, M.: Matematicka 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

Page 54: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

44 BIBLIOGRAFIJA

Page 55: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Poglavlje 3

Diskretna matematika

Razvoj matematike isao je prema svevecoj preciznosti i vodi do formaliza-cije takvih razmjera da ce se svakiteorem moci dokazati samo pomocunekoliko mehanickih pravila.

Kurt Godelvs.Trudim se izbjeci duge numerickeracune i slijedim Riemannov postulatda dokazi trebaju biti dani kroz ideje,a ne kroz voluminozne racune.

David Hilbert

Diskretna matematika je grana matematike koja proucava probleme

Slika 3.1: Georg FerdinandLudwig Philipp Cantor

koji ukljucuju konacne i prebrojivo beskonacneskupove. Konkretno, diskretna se matematika pr-venstveno povezuje sa skupom prirodnih i cijelihbrojeva, a ponekad i sa skupom racionalnih bro-jeva. Kontinuiranim skupovima, posebno skupomrealnih brojeva, bavi se matematicka analiza.Na temeljima diskretne matematike gradi se racu-nalna geometrija i algebra, logika, teorija grafovai kombinatorika. Upotrebom racunalne geometrije(computational geometry) grade se robotika, au-tomatika, navigacija, menadzment, interaktivnetehnike 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 paznju

pojmovima koji nam pomazu u proucavanju problema diskretne matemati-

45

Page 56: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 skupovekako bismo mogli izloziti teme koje slijede u knjizi, a u znatnoj mjeri koristeskupove.

Pojam skupa u matematiku uvodi Georg Cantor (1845-1918). Skuppripada osnovnim matematickim pojmovima, odnosno pojmovima koje nedefiniramo. O skupu razmisljamo kao o kolekciji elemenata (clanova), kojezamisljamo kao cjelinu. Izuzetak je prazan skup ∅, koji nema elemenata.

3.1.1 Zadavanje skupa

Postoje dva osnovna nacina na koje mozemo 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 svihskupova. Nadalje, Bertrand Russell je dao jos nekoliko zanimljivih paradok-sa vezanih uz skupove.

Dakle, Fregeov princip, da svako svojstvo odreduje neki skup, ne vrijedi,buduci da moze dovesti do paradoksa (tzv. paradoksi regularnog svojstva).Potrebno je, utvrdio je Zermelo, ograniciti svojstvo, tako da se elementiuzimaju iz nekog univerzalnog skupa U .

3.1.2 Relacije medu skupovima

Nabrojimo tri najvaznije relacije na skupovima. U svim definicijama velikatiskana slova A,B oznacavaju skupove.

Relacija sadrzavanja

A ⊆ B ⇔ (∀x ∈ A ⇒ x ∈ B).

Jednakost skupova

A = B ⇔ (A ⊆ B ∧B ⊆ A).

Pravi podskup

A ⊂ B ⇔ (A ⊆ B ∧A 6= B),

Page 57: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 Pokazite 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. Akoskup A ima n elemenata onda njegov partitivni skup ima 2n 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 .

PresjekA ∩B = x : x ∈ A ∧ x ∈ B .

RazlikaA \B = x : x ∈ A ∧ x /∈ B .

Komplement

CAB = x : x ∈ A ∧ x /∈ B= A \B

Ovdje je A univerzalni skup i A ⊆ B. Univerzalni komplement za A = Ui B ⊂ U

C(B) = U\B

Zadatak 3.2 Neka je za n ∈ N Dn = x ∈ N|x dijeli n skup djeliteljaprirodnog broja n. Izracunajte:

1. D0, D5, D6, D9 i D12.

2. D5 ∪D9.

Page 58: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

48 3.1. SKUPOVI

3. D6 ∩D9,

D12\D9.

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 pomocu tablice pripadnosti.

3.1.5 Kartezijev produkt skupova

Evo jos jednog nacina 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

A×B = (a, b) : a ∈ A, b ∈ B .

Page 59: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 49

Izraz (a, b) zovemo uredenim parom od a i b. Kod njega je vazan poredakelemenata u paru.

Kartezijev produkt A × A zapisujemo kao A2 i zovemo ga Kartezijevimkvadratom.

Definicija 3.2 Neka su A1, A2, ..., An neprazni skupovi. Kartezijev produkt(direktni produkt) skupova A1, A2, ..., An je skup

A1 ×A2 × ...×An = (a1, a2, ..., an) : ai ∈ Ai, i = 1, 2, ..., n .

Izraz (a1, a2, ..., an) zovemo uredenom n-torkom i kod nje je vazan pore-dak elemenata.

Zadatak 3.3 Ispisite Kartezijev produkt A1 ×A2 ×A3 ako jeA1 = Ivan,Maja, Sanja,A2 = radnik, student, trgovac iA3 = bogat, siromasan.

3.2 Binarne relacije

3.2.1 Binarne relacije na diskretnim skupovima

Neka su A,B neprazni skupovi. Svaki podskup ρ Kartezijevog produktaA×B zovemo binarnom relacijom na A×B. Relacije mozemo promatrati nakontinuiranim skupovima kao sto je skup realnih brojeva, ali i na diskretnimskupovima, na primjer na skupu cijelih brojeva. U informatickoj primjenivaznije su relacije na diskretnim skupovima.

Pretpostavimo da konacni skupovi A i B imaju m, odnosno n elemenata,tj. k (A) = m, k (A) = n. Tada je broj binarnih relacija koje se mogudefinirati na A×B jednak 2nm.

Relacije na konacnim skupovima mozemo predstaviti na sljedece nacine:

1. Pomocu dijagrama koji prikazuje dva konacna skupa A i B te strelicekoje prikazuju pridruzivanje elementa skupa A onima u skupu B. Nataj su nacin opisani uredeni parovi ciji su elementi relaciji.

2. Pomocu matrice incidencije (reprezentacije), koja ima m redova i nstupaca (ako je k (A) = m, k (A) = n), te jedinice na mjestima gdjesu elementi u relaciji i nule tamo gdje nisu.

3. Pomocu usmjerenog grafa, ako je relacija definirana na A2.

Posebno su vazne relacije izmedu elemenata istog skupa, tj. relacijena A × A koje zovemo binarnim relacijama na A. U izucavanju tih relacijapomaze mogucnost njihovog grafickog prikazivanja pomocu grafova. Pri tomse koriste pojmovi: cvor(vrh) grafa - to je svaki element skupa A, i luk -

Page 60: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

50 3.2. BINARNE RELACIJE

svakom paru (a, b)εA × A pridruzen je jedan luk pri cemu se prva kom-ponenta para naziva izlaznim cvorom grafa, a druga komponenta ulaznimcvorom. Graf relacije se obicno nacrta tako da se njegovi vrhovi rasporedeotprilike kao vrhovi pravilnog mnogokuta, a zatim se lukovima povezu ele-menti koji su u relaciji. Grafovi imaju veliku vrijednost za vizualizacijurelacija i njihovih svojstava. Brojne mogucnosti primjene grafova u mode-liranju problema u razlicitim znanstvenim podrucjima i sasvim konkretnihproblema, potakle su razvoj posebne matematicke discipline koja se zoveteorija grafova.

Definicija 3.3 Graf relacije ρ ⊆ A × A je par (A, ρ) pri cemu je A skupcvorova 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) .

Prikazite zadanu relaciju na tri gore navedena nacina.

Binarne relacije definirane na podskupovima skupa realnih brojeva pri-kazujemo graficki pomocu koordinatnog sustava u ravnini.

Primjer 3.2 Zadana je relacija ρ na skupu R sa ρ =(x, y) : x = y2

.

Prikazimo zadanu relaciju pomocu grafa u koordinatnom sustavu.

1 2 3 4

-2

-1

1

2

0 x

y

Slika 3.2

Page 61: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 51

3.2.2 Obrat relacije, komplement relacije i dualna relacija

Zadanoj relaciji ρ ⊆ A2 mogu se pridruziti jos neke relacije prema sljedecojdefiniciji:

Definicija 3.4 Neka je ρ ⊆ A2.

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 zadanojrelaciji zamijene prva i druga komponenta, pa imamo

ρ = (a, b), (b, a), (b, b), (c, a) .

Komplement relacije ρc odredi se kao razlika A×A \ ρ ;

ρc = (a, a), (a, b), (b, c), (c, a), (c, b), (c, c) .

Nesto teze je po definiciji formirati dualnu relaciju

ρd = (a, a), (a, c), (b, a), (b, c), (c, b), (c, c) .

Zbog toga je korisna sljedeca propozicija.

Propozicija 3.2 ρd = ρc = ρc.

Dokaz. Dokazimo prvo ρd = ρc

(a, b)ερd ⇐⇒ (b, a) /∈ ρ ⇐⇒ (b, a) ∈ ρc ⇔ (a, b) ∈ ρc.

Kompletirajte dokaz! Kojim se jos shemama moze 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 drzava ukojoj stanuju, prema boji njihove kose ili pak prema njihovoj visini, definiratcemo relacije ekvivalencije. Pokazuje se da relacija ekvivalencije na nekomskupu definira particiju tog skupa na neprazne, disjunktne podskupove cijaunija daje citavi skup.

Definicija 3.5 Neka je ρ ⊆ A2. Relacija ρ je relacija ekvivalencije ako je:

Page 62: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

52 3.3. RELACIJA EKVIVALENCIJE

1. refleksivna tj.(∀x ∈ A) (x, x) ∈ ρ,

2. simetricna 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 srednjoskolskoj mate-matici, su jednakost realnih brojeva, relacija paralelnosti na skupu svih pra-vaca u ravnini ili prostoru, zatim sukladnost i slicnost geometrijskih likova(npr. trokuta) u ravnini.

To je razlog sto o relaciji ekvivalencije razmisljamo kao o oslabljenojjednakosti na elementima nekog skupa.

Zadatak 3.5 Za realne brojeve a, b razlicite od nule definiramo relaciju ρsa: aρb ⇔ a

b ∈ Q. Dokazite da je ρ relacija ekvivalencije.

Svaki stanovnik Europe ima boraviste u nekoj od europskih drzava.Kazemo da su Europljani a i b u relaciji s ako su oni stanovnici iste drzave.Ovako definirana relacija s predstavlja jednu relaciju ekvivalencije. Primi-jetimo da jedan covjek moze (prema svojim sluzbenim dokumentima) bitistanovnik samo jedne drzave, te da su svi stanovnici drzave X medusobnou relaciji s.

Definicija 3.6 Neka je ρ relacija ekvivalencije na skupu A. Za a ∈ A klasaekvivalencije [a]ρ s obzirom na ρ je skup

[a]ρ = x : xεA ∧ xρa . (3.1)

Primjer 3.4 Odredite (opisite) klase ekvivalencije za relaciju s medu ele-mentima skupa A = stanovnici Europe danu sa

s =(a, b) ∈ A2 : a i b stanuju u istoj drzavi

.

Kako bismo izrekli vazna svojstva relacije ekvivalencije uvest cemo vazanpojam particije skupa.

Definicija 3.7 Neka je A neprazan skup i neka su A1, A2, ...An nepraznidisjunktni podskupovi od A. Ako je A = A1 ∪ A2 ∪ ... ∪ An onda skupF = A1, A2, ...An zovemo particijom skupa A .

Page 63: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 53

Uocimo da se familija skupova moze zapisati kao F = Ai : i ∈ I , gdjeje I neki skup indeksa, te da je onda

⋃i∈I

Ai = A.

Primjerice za skup A = 1, 2, 3, 4, 5, 6, 7, 8 jedna je particija dana saA1 = 1, 2, 3 , A2 = 4, 6, 8 , A3 = 5, 7 . Ta particija ima tri dijela.Opcenito se moze postaviti pitanje za konacni skup od n elemenata, kolikoima razlicitih particija od k dijelova. Taj broj se oznacava sa S (n, k) i zoveStirlingov broj (druge vrste). Opcenito vrijedi S (n, 1) = 1, S (n, n) = 1, aza 2 ≤ k ≤ n− 1 imamo S (n, k) = S (n− 1, k − 1) + kS (n− 1, k) .

Vise se o toj temi moze procitati 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 obziromna ρ; oznaka A/ρ).

Dokaz. Pretpostavimo da je ρ relacija ekvivalencije na A. Treba doka-zati da za klase ekvivalencije elemenata tog skupa s obzirom na tu relacijuvrijede sljedece 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 ocito vrijede jer je zbog svojstva ekviva-lencije svaki element u relaciji sam sa sobom. Da bismo dokazali trecutvrdnju pretpostavimo da su [a]ρ i [b]ρ dvije razlicite klase ekvivalencije.Pokazat cemo metodom suprotnog da su u tom slucaju one disjunktne.Pretpostavimo dakle da postoji element xε [a]ρ ∩ [b]ρ . Zbog toga vrijedixρa i xρb. Buduci da je ρ relacija ekvivalencije, vrijedi implikacija aρx ∧xρb =⇒ aρb. To bi pak znacilo da elementi a i b pripadaju istoj klasi. Zbogtranzitivnosti relacije ρ u tom slucaju bi i svi elementi koji su u relaciji sjednim od ta dva elementa ujedno bili u relaciji i s drugim elementom, panjihove klase ekvivalencije ne bi mogle biti razlicite.

Vrijedi i obrat tj. sljedeca propozicija.

Propozicija 3.4 Svaka particija skupa A prirodno definira jednu relacijuekvivalencije na A.

Dokaz. Stavimo: aρb ⇔ (a, b) pripadaju istom clanu dekompozicije.Zakljucujemo da svaka relacija ekvivalencije na danom skupu definira

jednu particiju skupa, ali i obrnuto, svaka particija skupa inducira jednurelaciju ekvivalencije na tom skupu.

Primjer 3.5 Odredite kvocijentni skup relacije ρ iz primjera 3.4. Kolikoelemenata ima taj kvocijentni skup?

Page 64: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

54 3.3. RELACIJA EKVIVALENCIJE

Zadatak 3.6 Koja od sljedecih relacija predstavlja relaciju ekvivalencijena skupu R2? Za relacije ekvivalencije nadite geometrijsku interpretacijuelemenata kvocijentnog skupa.

1. (a, b) ρ (c, d) ⇔ a + 2b = c + 2d

2. (a, b) ρ (c, d) ⇔ ab = cd

3. (a, b) ρ (c, d) ⇔ a2 + b = c + d2

4. (a, b)ρ(c, d) ⇔ a2 − b = c + d2

3.3.2 Kongruencije

Modularna ekvivalencija ili kongruencija je primjer relacije ekvivalencijekoja se koristi u informatici (npr. u postupcima programiranja kontroleodredenih racunskih postupaka). Ta relacija prirodno inducira particijuskupa cijelih brojeva Z. Na primjer, cijeli brojevi su ekvivalentni modulo 2,ako je njihova razlika paran broj. Tako dobivamo particiju cijelih brojeva naparne i neparne cijele brojeve. Opcenito se moze promatrati ekvivalencijamodulo k, gdje je k bilo koji prirodan broj.

Definicija 3.8 Neka su a, b ∈ Z, k ∈ N. Tada je

a ≡ b (mod k) ⇐⇒ ∃n ∈ Z, a− b = nk

(a ≡ b (mod k) citamo ”a je ekvivalentno s b modulo k”) . Pri tom broj kzovemo 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 ocita jer vrijedi ∀aεZ =⇒ a−a = 0·k,gdje je k ∈ N proizvoljan.

Dokazimo simetricnost: a ≡ b (mod k) ⇐⇒ ∃n ∈ Z, a − b = nk =⇒b− a = (−n)k ⇐⇒ b ≡ a (mod k) .

Dokazimo tranzitivnost: neka je a ≡ b (mod k) i b ≡ c (mod k). Izlazi da∃n,m ∈ Z takvi da vrijedi a − b = nk i b − c = mk. Zbroje li se ove dvijejednakosti proizlazi a − c = (n + m)k, sto je ekvivalentno s a ≡ c (mod k) .

Primjer 3.6 Odredimo kvocijentni skup relacije modularne ekvivalencije.Promatramo li modularnu ekvivalenciju modulo k inducirat cemo particijuskupa Z u k klasa ekvivalencije. U svakoj su klasi ekvivalencije oni cijelibrojevi koji pri dijeljenju sa k daju jednake ostatke.

Page 65: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 55

Uobicajeno je klase ekvivalencije kod modularne ekvivalencije (kongru-encije) zvati klasama kongruencije i oznacavati sa a. Tako je kod kongru-encije modulo 4, 0 = x ∈ Z : x ≡ 0mod 4 = x ∈ Z : x = 4k, k ∈ Z =...,−4, 0, 4, 8, ...,

1 = x ∈ Z : x ≡ 1mod 4 = x ∈ Z : x = 4k + 1, k ∈ Z = ...,−3 , 1 , 5, 9 , ....

U ovom slucaju se pise i 0 = 4Z, 1 = 4Z+1, 2 = 4Z+2, 3 = 4Z+3. Dakle,postoje klase kongruencije koje korespondiraju svim mogucim ostacima pridijeljenju s k. Uocimo da vrijedi

a ≡ b mod n ⇔ a = b, n ∈ N.

Preko kongruencija mozemo sve cijele brojeve reducirati na njihove ostat-ke modulo k. Taj postupak zovemo redukcija modulo k. Pri tome je zasvaki prirodni broj k > 1 i svaki cijeli broj a, amod k jednak ostatku rpri dijeljenju broja a s k. Sada je 0 ≤ r ≤ n − 1. Spomenuta redukcijaomogucava nam lakse rjesavanje jednadzbi koje sadrze kongruencije. Kaorjesenje jednadzbe nademo ostatak, a podrazumijevamo da su rjesenja ibrojevi r mod k.

Primjer 3.7 Rijesimo jednadzbu 2x ≡ 1mod 4.Uvrstavamo umjesto x sve ostatke pri dijeljenju s 4 pa imamo za:x = 0, 0 ≡ 1mod 4x = 1, 2 ≡ 1mod 4x = 2, 4 ≡ 1mod 4x = 3, 6 ≡ 1mod 4.Dakle, gornja jednadzba nema rjesenje.

Primjer 3.8 Rijesimo jednadzbu 2x ≡ 2mod 4.Uvrstavamo umjesto x sve ostatke pri dijeljenju s 4 pa imamo za:x = 0, 0 ≡ 2mod 4x = 1, 2 ≡ 2mod 4x = 2, 4 ≡ 2mod 4x = 3, 6 ≡ 2mod 4.Ova jednadzba ima dva rjesenja x = 1 i x = 3.

Izvedimo formule za zbrajanje i mnozenje kongruencija modulo k. Onesu srecom prirodne.

Teorem 3.1 Za a ≡ b mod k i c ≡ dmod k vrijedi

a + c ≡ (b + d)mod k,

ac ≡ (bd)mod k.

Page 66: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

56 3.3. RELACIJA EKVIVALENCIJE

Dokaz. Pretpostavke su da postoje cijeli brojevi n i m takvi da jea− 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)mod k. Nadalje, da bismo dokazaliformulu za mnozenje kongruencija treba dokazati da je ac − bd djeljivo sak. Prosirimo izraz ac − bd sa ad i −ad pa racunamo ac − ad + ad − bd =a (c− d)+d (a− b) = akm+dkn = k (am− dn) . Zakljucujemo da je ac−bddjeljivo s k.

Pogresno bi bilo zakljuciti da je formula za dijeljenje kongruencija pri-rodna, kao sto su formule za zbrajanje i mnozenje kongruencija. Zapravokongruenciju mozemo dijeliti s brojem koji je relativno prost s modulom k.

Da kongruencije ne mozemo dijeliti s proizvoljnim cijelim brojem poka-zuje sljedeci primjer. Ocito vrijedi 90 ≡ 30mod 12, ali dijeljenjem s brojem 6dobili bismo 15 ≡ 5mod 12, a to ocito nije istinito. S druge strane dijeljenjemgornje kongruencije s 5 dobivamo da je 18 ≡ 6mod 12, sto je istinito.

Uzmimo opcenito da je ac ≡ bcmod k i M (c, k) = 1. Znaci da postojicijeli broj n takav da je ac − bc = nk. Sada je c (a− b) = nk i znamo li dasu c i k relativno prosti, tada je a− b = km, gdje je m = n/c. Ukoliko c i knisu relativno prosti zakljucak ne vrijedi. Vrijedi sljedeca propozicija:

Propozicija 3.6 Ako je ac ≡ bcmod k i M (c, k) = 1 tada vrijedi da jea ≡ bmod k.

Upotrebom prethodne propozicije moze se dokazati tzv. mali Fermatovteorem.

Teorem 3.2 Neka je p prost broj, koji nije djelitelj od a. Tada vrijedi

ap−1 ≡ 1 mod p.

Dokaz. Buduci da je M (p, a) = 1 po propoziciji 3.6 znamo da nikojadva cijela broja izmedu brojeva a, 2a, ..., (p− 1) a nisu kongruentna modulop. Nadalje, nijedan od brojeva a, 2a, ..., (p− 1) a nije kongruentan 0 mod p.Prema tome brojeve a, 2a, ..., (p− 1) a mozemo reducirati modulo k na bro-jeve 1, 2, ..., (p− 1) . Sada je

a · 2a · ... · (p− 1) a ≡ 1 · 2 · ... · (p− 1) mod k,

pa dijeljenje sa (p− 1)! daje trazenu jednakost. Primijetimo da smijemodijeliti jer su p i (p− 1)! relativno prosti.

Posvetimo jos malo prostora rjesavanju osnovnih tipova jednadzbi s kon-gruencijama.

Page 67: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 57

Promotrimo, prvo, jednadzbu a + x ≡ b mod k. Takva jednadzba uvijekima rjesenje buduci da svaki cijeli broj a ima aditivni inverz modulo k. Toznaci da postoji broj a′ takav da je a + a′ ≡ 0mod k. Vidimo da je u skladus redukcijom a′ = −a ili a′ = k − a.

Dakle, jednadzba a + x ≡ b mod k se rjesava tako da se aditivni inverzod a doda s lijeve i desne strane kongruencije.

U drugu ruku, jednadzbe tipa ax ≡ b mod k nemaju uvijek rjesenje, kaosto se vidi na primjeru jednadzbe 2x ≡ 1mod 4. Razlog lezi u propoziciji3.6, jer multiplikativni inverz od a postoji jedino ako su a i k relativnoprosti. Dakle, ako je M (a, k) = 1 tada postoji takav v da je va = 1 mod k.Buduci da je najveca zajednicka mjera dvaju brojeva uvijek njihova linearnakombinacija, postoji cijeli broj t takav da je va + tk = 1. Ova nam relacijaomogucava racunanje multiplikativnog inverza od a.

Primjer 3.9 Rijesimo jednadzbu 15x ≡ 23mod 119.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 ≡ 23·8mod 119 =184mod 119 = 65. Rjesenje x = 65 je jedinstveno mod 119, znaci da je svakodrugo rjesenje kongruentno mod 119 sa 65.

Zadatak 3.7 Rijesite sljedece jednadzbe s kongruencijama:

1. 4x ≡ 2 mod 6,

2. 5x ≡ 5 mod 25,

3. x2 ≡ 4mod 13,

4. x2 ≡ 1mod 7.

Kongruencije se primjenjuju u sirokom podrucju kodiranja proizvoda,ali i u kriptografiji.

Slijede dvije primjene modularne ekvivalencije (kongruencije).

ISBN - International Standard Book Number

Od godine 1968. svakoj se knjizi pridruzuje ISBN koji sadrzi informacijuo zemlji izdanja, izdavacu i samoj knjizi. Te su informacije sadrzane u 9znamenaka, a deseta znamenka sluzi za provjeru prvih 9 znamenaka.

Neka su znamenke u ISDN-u oznacene sa

a1, a2, ..., a10,

gdje je prvih 9 znamenaka u rasponu od 0 do 9. Broj a10 je izabran urasponu od 0 do 10 tako da je

a1 + 2a2 + 3a3 + ... + 10a10 ≡ 0 (mod 11) .

Page 68: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

58 3.3. RELACIJA EKVIVALENCIJE

Primjer 3.10 Neka je prvih 9 znamenki u ISBN-u 953-173-918. Izracunaj-mo desetu znamenku.

9+2 (5)+3 (3)+4 (1)+5 (7)+6 (3)+7 (9)+8 (1)+9 (8)+10a10 ≡ 0 (mod 11)0mod 11 ≡ 228 + 10a10

11 · 28 = 308, pa je a10 = 8Dakle, ISBN glasi 953-173-918-8.Uzmimo sada da je ISBN pogresno zapisan npr. promijenimo 3. zna-

menku.950-173-918-8Provjerimo ga.9+2 (5)+3 (0)+4 (1)+5 (7)+6 (3)+7 (9)+8 (1)+9 (8)+80 ≡ 0 (mod 11)305 6= 0 (mod 11) .

Moze se pokazati da na ovaj nacin uvijek detektiramo pogresku, ukolikoje ona u jednoj znamenci. Moze se, medutim dogoditi da se pogreske u dvijeznamenke anuliraju pa ih na ovaj nacin ne uocavamo.

Zadatak 3.8 U prethodnom primjeru promijenite dvije znamenke tako datest ne registrira pogresku.

Zadatak 3.9 Provjerite na prethodnom primjeru da test reagira na zamje-nu mjesta znamenaka.

Universal Product Code

Vecina proizvoda na trzistu nosi identifikacijski kod u obliku uzorka koji sesastoji od tanjih i debljih crta (razlog za naziv bar code). Taj se kod zoveUniversal Product Cod (UPC). UPC je 12-stero znamenkasti broj oblikax-xxxxx-xxxxx-x, gdje svaki x predstavlja broj izmedu 0 i 9. Ponovno jezadnja znamenka ona pomocu koje provjeravamo prethodnih 10. Nakon stoskener ocita pogresno UPC, zadnja znamenka ukaze na pogresku. Provjerase radi po sljedecem pravilu.

3(suma znamenaka na parnim mjestima) + (suma znamenaka na nepar-nim mjestima) ≡ 0(mod10)

Teorem 3.3 (Kineski teorem o ostacima) Neka su m1,m2, . . . ,mr poparovima relativno prosti brojevi te neka su a1, a2, . . . , ar cijeli brojevi. Tadasustav kongruencija

x ≡ a1(modm1)x ≡ a2(modm2) (3.2)

...x ≡ ar(modmr)

ima rjesenja.

Page 69: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 59

Ako je x0 jedno rjesenje, onda su sva rjesenja sustava 3.2 dana sa

x ≡ x0(modm1 ·m2 · . . . ·mr).

Dokaz. Neka je m = m1 ·m2 · . . . ·mr. Definiramo nj = mmj

, j = 1, . . . , r.Tada je (nj ,mj) = 1. Da bismo pokazali da sustav 3.2 ima rjesenja koristimosljedeci teorem:

Teorem 3.4 Ako su a i m prirodni brojevi te b ∈ Z, kongruencija ax ≡b(modm) ima rjesenje ako i samo ako d = (a,m) dijeli b.

Ako je ovaj uvjet zadovoljen, onda gornja kongruencija ima d rjesenjamodulo m.

Prema teoremu 3.4 za aj ∈ Z i brojeve nj ,mj takve da je (nj ,mj) = 1vrijedi da postoji xj ∈ Z koji je rjesenje kongruencije njxj ≡ aj(modmj),j = 1, . . . , r.

Uzmimo sada da je x0 = n1x1 + n2x2 + . . . + nrxr. Zelimo pokazati daako je x0 jedno rjesenje sustava 3.2 da su tada sva rjesenja tog sustava danasa x ≡ x0(modm1 ·m2 · . . . ·mr).

Za x0 = n1x1 + n2x2 + . . . + nrxr vrijedi:

x0 ≡ njxj ≡ aj(modmj)

tj. x0 je rjesenje sustava 3.2.Neka su sada x i y dva rjesenja sustava 3.2. Tada vrijedi

x ≡ aj(modmj)y ≡ aj(modmj), j = 1, . . . , r

(jer x i y moraju zadovoljavati svaku kongruenciju).Oduzimanjem tih dviju kongruencija dobivamo:

x− y ≡ 0(modmj), j = 1, . . . , r

tj.

x ≡ y(modmj), j = 1, . . . , r

Kako su mj-ovi u parovima relativno prosti, vrijedi

x ≡ y(modm1 ·m2 · . . . ·mr),

cime je teorem dokazan.

Page 70: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

60 3.3. RELACIJA EKVIVALENCIJE

Primjer 3.11 Rijesite sustav kongruencija

x ≡ 1(mod 5)x ≡ 5(mod 7)x ≡ 4(mod 11)

Rjesenje:m1 = 5,m2 = 7,m3 = 11(mi,mj) = 1,∀i, j = 1, 2, 3m = m1 ·m2 ·m3 = 385n1 = m

m1= 385

5 = 77n2 = m

m2= 385

7 = 55n3 = m

m3= 385

11 = 35

x = n1x1 + n2x2 + n3x3

x = 77x1 + 55x2 + 35x3, pri cemu x1, x2, x3 zadovoljavaju

77x1 ≡ 1(mod 5)55x1 ≡ 5(mod 7)35x1 ≡ 4(mod 11)

75x1 + 2x1 ≡ 1(mod 5) ⇒ 2x1 ≡ 1(mod 5) ⇒ x1 ≡ 3(mod 5)49x2 + 6x2 ≡ 5(mod 7) ⇒ 6x2 ≡ 5(mod 7) ⇒ x2 ≡ 2(mod 7)33x3 + 2x3 ≡ 4(mod 11) ⇒ 2x3 ≡ 4(mod 11) ⇒ x3 ≡ 2(mod 11)

x0 = 77 · 3 + 55 · 2 + 35 · 2 = 411 ⇒x ≡ 411(mod 385)x ≡ 26(mod 385)

3.3.3 Aritmetika u Zk

Buduci da je kongruencija modulo k relacija ekvivalencije, ona definira par-ticiju skupa Z u neprazne disjunktne klase X0 = 0, X1 = 1, ..., Xk−1 = k − 1.Znamo da je

Z =k−1⋃

i=0

Xi.

Definicija 3.9 Skup cijelih brojeva modulo k u oznaci Zk je skup svih klasaekvivalencije s obzirom na kongruenciju na Z.

Page 71: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 61

Dakle, Zk je kvocijentni skup od Z s obzirom na ≡ .

Aritmetiku u Zk uvodimo tako da klase zbrajamo i mnozimo preko zbra-janja i mnozenja predstavnika pojedinih klasa.

Dakle zbrajanje ⊕ i mnozenje ⊗ klasa definiramo na sljedeci nacin:

[a]k ⊕ [b]k = [a + b]k ,

[a]k ⊗ [b]k = [ab]k .

Iako se svaka klasa moze predstaviti preko beskonacno mnogo pred-stavnika, pokazuje se da je rezultat primjene ovih dviju operacija ne ovisio predstavnicima klasa. Klasu s ostacima 0 oznacavamo cesto s 0, a onu sostacima jednakim 1 s 1.

Teorem 3.5 Operacije zbrajanja ⊕ i mnozenja ⊗, za a, b, c ∈ Zk, imajusljedeca svojstva:

1. a ⊕b ∈ Zk,

2. a ⊕b = b ⊕a,

3. (a⊕ b)⊕ c = a⊕ (b⊕ c) ,

4. a⊕ 0 = a.

5. a ⊗b ∈ Zk,

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 ∈ Zk postoji jedinstveni element −a ∈ Zk takav da je a⊕(−a) = 0.

Iz svojstva 10 slijedi da svaki element iz Zk ima aditivni inverz. Izprethodne tocke znamo da ce multiplikativni element postojati jedino akoje k prost broj. Nabrojena svojstva ce osigurati da (Zk,⊕,⊗) ima strukturupolja za slucaj kad je k prost broj o cemu ce biti vise govora u poglavlju oalgebarskim strukturama.

Page 72: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

62 3.3. RELACIJA EKVIVALENCIJE

3.3.4 Jos neka svojstva binarnih relacija

Evo jos nekih svojstava binarnih relacija, koja su nam potrebna za definicijuuredajnih relacija.

Definicija 3.10 Binarna relacija ρ ⊆ A×A je:

1. irefleksivna ako vrijedi

(∀x ∈ A) (x, x) ∈ ρc,

2. antisimetricna ako vrijedi

(∀x, y,∈ A) (x, y) ∈ ρ ∧ (y, x) ∈ ρ ⇒ x = y,

3. asimetricna ako vrijedi

(∀x, y,∈ A) (x, y) ∈ ρ ⇒ (y, x) ∈ ρc,

4. kompletna ako vrijedi

(∀x, y ∈ A, x 6= y) (x, y) ∈ ρ ∨ (y, x) ∈ ρ,

5. strogo kompletna ako vrijedi

(∀x, y ∈ A) (x, y) ∈ ρ ∨ (y, x) ∈ ρ,

Zapisimo jos algebarske karakterizacije svojstava binarnih relacija.Zadan je skup A i ρ ⊆ A× A. Paru (a, b) pridruzuje se kod cab i vrijedi

cab = 1 ⇔ (a, b)ερ, a cab = 0 ⇔ (a, b) /∈ ρ. Svojstva binarnih relacija moguse algebarski interpretirati pomocu kodova na sljedeci nacin:

Svojstvo Algebarska reprezentacijarefleksivnost caa = 1 ∀a ∈ Airefleksivnost caa = 0 ∀a ∈ Asimetrija cab − cba = 0 ∀a, b ∈ Aantisimetrija cab + cba ≤ 1 ∀a, b ∈ A ∧ a 6= basimetrija cab + cba ≤ 1 ∀a, b ∈ Akompletnost cab + cba ≥ 1 ∀a, b ∈ A ∧ a 6= bstroga kompletnost cab + cba ≥ 1 ∀a, b ∈ Atranzitivnost cac ≥ cab + cbc − 1 ∀a, b, c ∈ A

Tablica 3.1

Page 73: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 vazne sljedece relacije koje zajednickimimenom zovemo uredajne relacije:

1. relacija djelomicnog (parcijalnog) uredaja: refleksivna, antisimetricna,tranzitivna;

2. relacija slabog uredaja: strogo kompletna, tranzitivna;3. relacija kvazi-uredaja: refleksivna, tranzitivna.4. relacija totalnog (linearnog) uredaja: antisimetricna, strogo komplet-

na, tranzitivna.

3.4.1 Relacija parcijalnog uredaja

Relacija parcijalnog uredaja poopcava relaciju ≤ na skupu realnih brojeva,tako da preuzima tri njezina najvaznija svojstva. Prisjetimo se da za relaciju≤ vrijedi svojstvo refleksivnosti jer je a ≤ a za svaki realni broj a. Nadalje,ta je relacija antisimetricna jer iz a ≤ b i b ≤ a slijedi a = b. Na kraju,relacija je i tranzitivna jer ocigledno vrijedi da ako je a ≤ b i b ≤ c, tada jea ≤ c. To je razlog sto ovu relaciju cesto oznacavamo oznakom ¹ .

Definicija 3.11 Parcijalno uredeni skup je par (A,¹) koji se sastoji odskupa A i relacije ¹ parcijalnog uredaja na skupu A. Relacija parcijalnoguredaja je refleksivna, antisimetricna i tranzitivna.

Primjer 3.12 Poznati primjeri parcijalno uredenih skupova su1. (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 brojevajer ne vrijedi svojstvo refleksivnosti.

Zadatak 3.10 Na skupu prirodnih brojeva N dana je relacija ρ takva da jeaρb ⇔ a ≤ 3b. Da li je ρ relacija parcijalnog uredaja?

Za graficki prikaz relacija parcijalnog uredaja cesto se upotrebljavajuHasseovi dijagrami. Hasseovi dijagrami prikazuju elemente skupa kao vrhovegrafa, koristeci svojstvo da ako je a ”manji” od b tj. a ¹ b, vrh a bit ce naslici povezan sa b, ali smjesten ispod njega. Hasseovi dijagrami imaju manjelukova od usmjerenih grafova koji prikazuju relacije, posto se ne crtaju svilukovi, zato jer su neki dani posredno kao kombinacija dvaju ili vise lukova.Na primjer, ako je 1 ⊆ 1, 2, 1, 2 ⊆ 1, 2, 3 i 1 ⊆ 1, 2, 3, vrhovi1, 1, 2, 1, 2, 3 se crtaju jedan iznad drugog, ali lukovi se crtaju samo

Page 74: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

64 3.4. UREDAJNE BINARNE RELACIJE

izmedu 1 i 1, 2 te izmedu 1, 2 i 1, 2, 3, jer se zbog rasporeda narazlicite visine i postojeca dva luka podrazumijeva luk izmedu 1 i 1, 2, 3.

Kad je skup parcijalno ureden ne znaci da svaka dva elementa skupamozemo usporedivati. Uzmimo da je A = 1, 2, 3 i relacija ⊆ dana naP (A) . Podskupovi 1, 2 i 3 nisu usporedivi, tj. 1, 2 6⊆ 3 i 36⊆ 1, 2.

Definicija 3.12 Parcijalni uredaj na skupu A je linearan ili totalni uredajako vrijedi:

∀a, b ∈ A, a ¹ b ili b ¹ a.

(A,¹) je linearno ureden skup.

Za linearno uredeni skup upotrebljavaju se nazivi totalno uredeni skupi lanac.

Primjer 3.13 Parcijalno uredeni skup (R,≤) je lineano uredeni skup, aliopcenito (P (A) ,⊆) nije linearno uredeni skup.

Definicija 3.13 Neka je (A,¹) parcijalno ureden skup i B ⊆ A. Tada

1. b ∈ B je najveci 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) ,⊆) prikazite pomocu grafa. Ispitajte postojanjenajveceg i najmanjeg elementa za razlicite podskupove ovog skupa.

a

a,b

b

Slika 3.3

Page 75: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 65

a) B = a , a je najveci i najmanji element,b) B = a , b nema ni najveceg ni najmanjeg elementa,c) B = ∅, a

a je najveci element, ∅ je najmanji element.

Zadatak 3.11 Parcijalno uredeni skup iz prethodnog primjera prikazitepomocu Hasseovog dijagrama.

Primjer 3.15 Nacrtajmo Hasseov dijagram za (P (a, b, c),⊆).

ba c

a,b a,c b,c

a,b,c

Slika 3.4

Zadatak 3.12 Za parcijalno uredeni skup iz prethodnog primjera nacrtajteusmjereni graf.

Teorem 3.6 Neka je (A,¹) parcijalno ureden skup i B ⊆ A. Ako u Bpostoji najveci element, onda je on jedinstven.

Dokaz. Neka su a, b dva razlicita, najveca elementa.a je najveci ⇒ b ¹ a,b je najveci ⇒ a ¹ b.Zbog antisimetricnosti 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 najmanjielement.

Page 76: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 najveceg elementa moze definiratii maksimalni element, koji ne mora biti jedinstven. Osnovno je kod definicijemaksimalnog elementa da ne postoji element koji je od njega veci, ali on nemora biti od svih veci. To se moze dogoditi zato jer u parcijalno uredenomskupu ne moraju svi elementi biti usporedivi. Dakle, tko je god usporediv smaksimalnim elementom, manji je od njega. S druge strane moze postojatineki 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 mozemo definiratinajvecu donju medu i najmanju gornju medu na sljedeci nacin.

Definicija 3.16 Neka je (A,¹) parcijalno ureden skup i a, b ∈ A. Tada jed ∈ A najveca 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 jeg ∈ 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′.

Uocimo da je na skupu realnih brojeva uz relaciju ≤ najveca donja medadva broja manji od dva broja, a najmanja gornja meda jednaka je vecemod brojeva. Na parcijalno uredenom skupu (P (A) ,⊆) najveca donja medaelemenata X, Y je X ∩ Y, a najmanja gornja meda je X ∪ Y.

Definicija najvece donje i najmanje gornje mede moze se prosiriti nanizove elemenata parcijalno uredenog skupa. Posebno, u skupovima brojevakao sto su R, Q, Z, N mogu se promatrati beskonacni nizovi brojeva i njihovemede. Postavlja se pitanje postoji li strogo padajuci niz brojeva u svakomod promatranih skupova brojeva. Ocito, u skupu prirodnih brojeva strogopadajuci niz ne postoji. Nadalje, mozemo rjesavati problem da li omedeni,strogo padajuci niz racionalnih brojeva ima najvecu donju medu koja jeracionalan broj. Odgovor nam je poznat iz matematicke analize i negativan

Page 77: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 67

je. Medutim ograniceni, strogo padajuci niz realnih brojeva ima najvecudonju medu koja je realni broj. Ova je tvrdnja vrlo vazna, pa se cestouzima kao aksiom za gradnju skupa realnih brojeva. Taj aksiom zovemoaksiomom potpunosti za skup realnih brojeva.

Definicija 3.18 Parcijalno uredeni skup (A,¹) kod kojeg svaka dva ele-menta imaju najvecu donju medu i najmanju gornju medu zovemo mreza(eng. lattice).

Parcijalno uredeni skupovi (R,≤) i (P (A) ,⊆) su mreze.

Zadatak 3.13 Dokazite da ako postoji najveca donja meda dvaju eleme-nata u parcijalno uredenom skupu onda je ona jedinstvena.

Dokazite da ako postoji najmanja gornja meda dvaju elemenata u par-cijalno uredenom skupu onda je ona jedinstvena.

Zadatak 3.14 Pokazite da je (P (A) ,⊆) (k (A) ≥ 2) parcijalno uredeniskup koji ima najveci 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. Kazemo da ako a dijeli b znaci da postojineki drugi cijeli broj q takav da je b = qa. U tom slucaju upotrebljavamonotaciju a | b i kazemo da je a divizor (ili djelitelj ili faktor), q kvocijent, teda a dijeli b. Broj b je tada visekratnik broja a. Ukoliko a ne dijeli b pisemoa - b.

Uvijek vrijedi 1 | a, za svaki cijeli broj a i b | 0, za svaki cijeli broj b 6= 0.

Primjer 3.17 Neka su a, b, c ∈ Z i a | b, a | c. Dokazimo da tada a dijelilinearnu kombinaciju brojeva b i c, tj. da vrijedi a | (xb + yc) za sve cijelebrojeve x i y. Tvrdnju cemo dokazati. Iz pretpostavki tvrdnje slijedi dapostoje kvocijenti q i p takvi da je b = qa i c = pa. Za bilo koja dva cijelabroja x i y racunamo: xb + yc = xqa + ypa = (xq + yp) a, cime je tvrdnjadokazana.

Propozicija 3.7 Uredeni skup (N, |) je parcijalno ureden skup.

Dokaz. Treba ispitati vrijede li tri svojstva relacije parcijalnog uredaja:refleksivnost, antisimetricnost i tranzitivnost.

Refleksivnost vrijedi jer za svaki prirodni broj n vrijedi n | n.Da bismo dokazali antisimetricnost pretpostavimo da postoje dva prirod-

na broja n i m takva da vrijedi n | m i m | n. Slijedi da postoje kvocijentiq i p takvi da je m = qn i n = pm. Uvrstavanjem n iz druge jednakosti uprvu dobijamo m = pqm, pa slijedi da je pq = 1. U skupu prirodnih brojevamoguce je samo jedno rjesenje i to p = q = 1. Iz toga slijedi m = n, pa jeantisimetricnost relacije | na skupu prirodnih brojeva dokazana. Primjetimo

Page 78: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

68 3.4. UREDAJNE BINARNE RELACIJE

da u skupu cijelih brojeva nalazimo i rjesenje p = q = −1, koje ce znaciti dane vrijedi antisimetricnost relacije | na skupu Z.

Dokazimo sada tranzitivnost. Neka su n,m, s ∈ N takvi da vrijedi n | mi m | s. Treba dokazati da n | s. Iz pretpostavke slijedi da postoje kvocijentiq i p takvi da je m = qn i s = pm. Iz toga slijedi da je s = pqn, sto znaci dan dijeli s.

Zapamtimo da (Z, |) nije parcijalno uredeni skup. Koja svojstva ne vri-jede?

Znamo da je najveci zajednicki djelitelj dva cijela broja razlicita od nule,najveci cijeli broj koji dijeli oba zadana broja. Najveci zajednicki djelitelj oda i b, zovemo jos i mjera dva broja i oznacavamo ga sa M (a, b) ili D (a, b) .

Pogledajmo prethodnu definiciju u kontekstu parcijalno uredenih sku-pova. Ovdje to znaci da parcijalno uredenom skupu (N, |) interpretiramopojam najveceg zajednickog djeljitelja kao najvecu donju medu para bro-jeva. To nam i garantira jedinstvenost najveceg zajednickog djelitelja paraprirodnih brojeva.

Propozicija 3.8 Najveci zajednicki djelitelj para prirodnih brojeva u par-cijalno uredenom skupu (N,≤) predstavlja najvecu donju medu tih brojeva.

Korolar 3.1 Najveci zajednicki djelitelj dvaju prirodnih brojeva je jedin-stveni je prirodni broj.

Problem nalazenja najveceg zajednickog djelitelja obraden je u poglavljuo algoritmima. Tamo je izlozen i Euklidov algoritam pomocu kojeg se efek-tivno nalazi najveci zajednicki djelitelj para cijelih brojeva razlicitih od nule.On se temelji na teoremu o dijeljenju prirodnih brojeva, koji tvrdi da zasvaka dva prirodna broja a, b postoje prirodni brojevi q i r takvi da vrijedia = qb+r i 0 ≤ r < b. Iz toga izlazi da je M (a, b) = M (b, r) , pa tu cinjenicuponavljamo uzastopno u Euklidovom algoritmu.

Za cijele brojeve a, b kazemo 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. Prirodnebrojeve koji nisu prosti zovemo slozenim brojevima. Posebno zanimljiv pro-blem teorije brojeva je problem nalazenja prostih brojeva. Za odredivanjerelativno malih prostih brojeva upotrebljava se tzv. Eratostenovo sito.

Cinjenica da se svaki prirodan broj n > 1 moze na jedinstveni nacinprikazati u obliku produkta prostih brojeva zove se fundamentalni teoremaritmetike. Ovaj se teorem dokazuje jakim oblikom matematicke indukcije.

Definira se i najmanji zajednicki visekratnik cijelih brojeva a i b razlicitihod nule kao najmanji prirodni broj koji je visekratnik brojeva a i b. Oznakaza najmanji zajednicki visekratnik je V (a, b) .

Page 79: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 69

Propozicija 3.9 Najmanji zajednicki visekratnik dvaju prirodnih brojevau parcijalno uredenom skupu (N,≤) predstavlja najmanju gornju medu tihbrojeva.

Korolar 3.2 Najmanji zajednicki visekratnik dvaju prirodnih brojeva jejedinstven.

Znamo da za svaka dva prirodna broja postoje njihovi zajednicki djelite-lji, jedan od njih je uvijek broj 1, pa je skup zajednickih djelitelja neprazan.S druge strane taj je skup omeden odozgo sa zadanim prirodnim brojevima.Znamo da svaki odozgo omedeni skup prirodnih brojeva ima najveci element,pa to osigurava postojanje najveceg zajednickog djelitelja. Nadalje, poznatoje da uvijek postoji barem jedan zajednicki visekratnik para n,m prirodnihbrojeva (broj nm) pa postoji i njihov najmanji zajednicki visekratnik. Pos-tojanje najmanjeg zajednickog visekratnika je posljedica principa dobroguredaja za prirodne brojeve. Princip dobrog uredaja (eng. Well-OrderingPrincipe) postulira da svaki neprazni podskup skupa prirodnih brojeva imanajmanji element. Kao posljedicu ovih razmatranja imamo konstataciju dasvaki par prirodnih brojeva ima najmanji zajednicki visekratnik i najvecuzajednicku mjeru pa parcijalno uredeni skup (N, |) ispunjava zahtjeve dabude mreza.

Propozicija 3.10 Parcijalno uredeni skup (N, |) je mreza.

Zadatak 3.15 Pokazite da za cijele brojeve a, b vrijedi

M (a, b)V (a, b) = |ab| .

3.5 Funkcije

Pojam funkcije toliko je vazan da se na razlicite nacine i u razlicitim ulogamapojavljuje u svim granama matematike, ali i u drugim znanstvenim disci-plinama i prakticnim problemima.

Evo opcenite definicije funkcije.

Definicija 3.19 Funkcija f je preslikavanje (pridruzivanje) elemenata iz-medu dva skupa (domene i kodomene) i to takvo da svakom elementu pr-vog skupa (domene) pridruzuje jedan i samo jedan element drugog skupa(kodomene).

Funkcija se moze shvatiti i kao binarna relacija f na Kartezijevom pro-duktu A×B sa svojstvom da za svaki a ∈ A, postoji jedinstveni b ∈ B takavda je (a, b) ∈ f. Dakle, svi uredeni parovi u relaciji koja je ujedno i funkcijeimaju medusobno razlicite prve komponente. Pisemo f : A → B, gdje Apredstavlja domenu, a B kodomenu funkcije f.

Page 80: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

70 3.5. FUNKCIJE

Funkcije se mogu zadavati formulom, nabrajanjem uredenih parova, gra-ficki te pomocu svojstva. Nabrajanjem elemenata funkcija se moze za-dati iskljucivo u diskretnom slucaju, a posebno kad radimo s konacnimskupovima. Pridruzivanje koje svakom gradaninu Hrvatske pridruzuje nje-gov JMBG (jedinstveni maticni broj gradana) je primjer funkcije koja semoze zadati nabrajanjem elemenata. Pri tome je prvi clan para gradaninHrvatske (opisan preko odredenih atributa), a drugi clan para je 13-teroznamenkasti prirodni broj.

Definicija 3.20 Funkcije f i g su jednake ako

1. imaju iste domene,

2. imaju iste kodomene,

3. Za svaki x ∈ Df = Dg 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 funkcijumozemo zadati i pomocu formule f (x) = x2 uz obavezni dodatak da jef : A → B. Funkcija zadana istom formulom, ali s domenom i kodomenomu skupu realnih brojeva bila bi predstavljena parabolom u koordinatnomsustavu u ravnini.

Na razini pridruzivanja elemenata, funkciju f : A → B pisemo 1 7→1, 2 7→ 4, 3 7→ 9.

Kad se radi o funkciji f obicno umjesto (a, b) ∈ f pisemo b = f (a) .Odnosno, za svaki b ∈ B jednadzba b = f (x) ima rjesenje x ∈ A.

3.5.1 Kompozicija funkcija

Neka su f : Df → A, g : Dg → B funkcije. Ako je B ⊆ Df tada za ∀x ∈Df mozemo definirati kompoziciju funkcija f i g, (f g) (x) = f (g (x)) .Dakle, kompozicija se sastoji od dva preslikavanja: x ½ g (x), pa ondag (x) ½ f (g (x)) .

Identiteta ili identicno preslikavanje na skupu A je takvo preslikavanjeid : A → A za koje je

id (x) = x,∀x ∈ A.

Za svaku funkciju F vrijedi

id f = f.

Page 81: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 71

3.5.2 Bijekcija. Inverzna funkcija

Definicija 3.21 Funkcija f : D → K je injekcija ako razlicite elemente izdomene preslikava u razlicite elemente kodomene, tj. ako

∀x1, x2 ∈ D, x1 6= x2 =⇒ f (x1) 6= f (x2) .

Funkcija f : D → K je surjekcija ako svaki element iz kodomene imasvoju 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 inverznafunkcija 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 → Nsurjekcija, injekcija, odnosno bijekcija.

3.5.3 Funkcije kao relacije

Definicija 3.22 Relacija f ⊆ A×B je funkcija ako

(∀a ∈ A) (∃b ∈ B) tako da je (a, b) ∈ f

i ne postoje dva razlicita 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 Napisite definicije surjekcije, injekcije i bijekcije koristeci po-jam funkcije kao relacije.

Definicija 3.24 Neka je f bijekcija. Inverzna funkcija f−1 je obrat relacijef

(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| . Ispitajteje li zadana funkcija f bijekcija, te ukoliko jest, nadite njezinu inverznufunkciju.

Zadatak 3.19 Pretpostavimo da je S skup svih ozenjenih ljudi i f : S → Sfunkcija koja svakoj osobi iz S pridruzuje njezinog bracnog partnera. Je lizadana funkcija bijekcija? Izracunajte f f.

Page 82: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

72 3.5. FUNKCIJE

Definicija 3.25 Permutacija je bijekcija na skupu A.

Ako je A konacan skup, tada je funkcija p : A → A injekcija ako i samoako je p surjekcija. Svaka se permutacija konacnog skupa moze prikazatikao

p =(

1 2 . . . np (1) p (2) . . . p (n)

).

Definicija 3.26 Svaki slucaj kad u permutaciji vrijedi

i < j ⇒ p (i) > p (j)

zovemo inverzijom u p.

Oznacimo sa I (p) ukupan broj inverzija u p.Definirajmo funkciju sign kao

sign : Sn → −1, 1 , sign (p) = (−1)I(p) ,

gdje je Sn = 1, 2, . . . , n.Ako je sign (p) = 1 kazemo da je permutacija parna.Ako je sign (p) = −1 kazemo da je permutacija neparna.

Primjer 3.19 Odredite parnost permutacije

p =(

1 2 3 4 5 63 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 domenai kodomena podskupovi skupa realnih brojeva, tj.

f : A → B, A, B ⊆ R.

Realnu funkciju zovemo algebarskom ako je argument x podvrgnut konacnom brojualgebarskih operacija (zbrajanju, oduzimanju, mnozenju konstantom, mnozenju, dijelje-nju, potenciranju racionalnim brojem).

Funkcije koje nisu algebarske zovemo transcedentnima.Za algebarsku funkciju kazemo 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) = anxn + an−1xn−1 + ... + a2x

2 + a1x + a0,

gdje su a0, a1, a2, ..., an−1, an ∈ R, n ∈ N, an 6= 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) 6= 0.

Page 83: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 73

Specijalni slucaj racionalne funkcije je homografska funkcija, odnosno funkcija oblika

f (x) =ax + b

cx + d,

uz uvijet x 6= − dc.

Od transcendentnih funkcija spomenimo:

• ekponencijalnu i logaritamsku, te

• trigonometrijske i ciklometrijske (arkus) funkcije.

Domena realnih funkcija realne varijable

Navedimo domene vaznijih realnih funkcija realne varijable.

• racionalna funkcija oblika 3.4 ima domenu

Df= x ∈ R | Q (x) 6= 0 .

• iracionalna funkcija oblika f (x) = 2kp

g (x), k ∈ Z ioma domenu

Df= x ∈ R | g (x) ≥ 0 .

• logaritamskoj funkciji oblika f (x) = loga g (x) , (a > 0, a 6= 1) domena je

Df= x ∈ R | g (x) > 0 .

• ciklomerijske funkcije f (x) = arcsin (g (x)) i f (x) = arccos (g (x)) imaju domenu

Df= x | −1 ≤ g (x) ≤ 1 .

3.6 Graf funkcije

Graf Γf funkcije y = f (x) je skup tocaka ravnine definiran sa

Γf = (x, f (x)) | x ∈ Df .

Graf implicitno zadane funkcije (jednadzbe) F (x, y) = 0 s varijablama x, y je skuptocaka (x, y) ravnine, koje zadovoljavaju jednadzbu.

3.6.1 Neka svojstva realnih funkcija realne varijable

Slijede vaznija svojstva realnih funkcija realne varijable.

• Za broj x0 ∈ R kazemo da je nultocka funkcije

y = f (x) ako je f (x0) = 0.

• Za funkciju y = f (x) kazemo da je ogranicena odozgo (odozdo) ako ∃M ∈ R(∃m ∈ R), takav da je f (x) ≤ M (f (x) ≥ m), ∀x ∈ Df . Funkcija je ogranicena(omedena) ako je ogranicena i odozdo i odozgo. Realni broj M zovemo gornjommedom, a m donjom medom funkcije. Najmanji realan broj M , koji je gornjameda funkcije, zovemo najmanjom gornjom medom, a najveci realan broj m, kojije donja meda funkcije, zovemo najvecom donjom medom.

Page 84: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

74 3.6. GRAF FUNKCIJE

• Za funkciju y = f (x) kazemo da raste (pada) na intervalu I ⊆ Df ako za svakiizbor

x1, x2 ∈ I, x1 ≤ x2 vrijedi f (x1) ≤ f (x2) (f (x1) ≥ f (x2)).

Kazemo da funkcija strogo raste (strogo pada) ako za svaki izbor

x1, x2 ∈ I, x1 < x2 vrijedi f (x1) < f (x2) (f (x1) > f (x2)).

Funkciju koja raste, odnosno pada, na cijelom podrucju definicije zovemo monoto-nom.

• Za funkciju y = f (x) kazemo da ima lokalni maksimum u tocki xM ako

∃O, O ⊆ Df , xM ∈ O, takav da ∀x, x ∈ O, f (x) ≤ f (xM ) .

Vrijednost f (xM ) funkcije f u tocki xM zovemo maksimalnom vrijednoscu. Zafunkciju y = f (x) kazemo da ima lokalni minimum u tocki xm ako

∃O, O ⊆ Df , xm ∈ O takav da ∀x, x ∈ O, f (x) ≥ f (xm) .

Vrijednost f (xm) funkcije f u tocki xm zovemo minimalnom vrijednoscu.

Jednim imenom za lokalni maksimum i minimum kazemo da su lokalni ekstremifunkcije.

Za funkciju y = f (x) kazemo da ima strogi lokalni maksimum u tocki xM ako

∃O, O ⊆ Df , xM ∈ O takav da ∀x, x ∈ O, f (x) < f (xM ) .

Analogno definiramo strogi lokalni minimum.

• Za funkciju y = f (x) kazemo da je periodicna ako

∃T ∈ R, T > 0 takav da vrijedi f (x + T ) = f (x) , ∀x ∈ Df . (3.5)

Za T kazemo da je period funkcije f. Najmanji realni broj T0, takav da vrijedi 3.5,zovemo osnovnim periodom funkcije f.

• Za funkciju y = f (x) kazemo da je parna ako vrijedi

f (−x) = f (x) , ∀x ∈ Df .

Za funkciju y = f (x) kazemo da je neparna ako vrijedi

f (−x) = −f (x) , ∀x ∈ Df .

Graf parne funkcije je osno simetrican s obzirom na os y, a graf neparne funkcijeje centralno simetrican s obzirom na ishodiste.

Vecina funkcija nisu ni parne ni neparne.

Eksponencijalne funkcije

Eksponencijalna funkcija je oblikaf (x) = ax, a > 0, a 6= 1, f : R→ 〈0,∞〉Svojstva:

1. a0 = 1,∀a.

2. ax > 0, ∀x ∈ R.

3. Os x je horizontalna asimptota.

Slucaj 3.1 0 < a < 1.Funkcija pada na cijeloj domeni.f (x) → 0 kad x → +∞.

Page 85: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 75

Primjer 3.20 f (x) =

12

x

-2 -1 1 2

2

3

4

1

x

y

0

Slika 3.5

Slucaj 3.2 a > 1.Funkcija raste na cijeloj domeni.f (x) → 0 kad x → −∞.

Primjer 3.21 f (x) = 2x

-2 -1 1 2

2

3

4

1

0 x

y

Slika 3.6

Page 86: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

76 3.6. GRAF FUNKCIJE

Logaritamska funkcija

f (x) = loga x, f : 〈0,∞〉 → RLogaritamska funkcija s bazom a (a > 0, a 6= 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 6= 1 vrijedi:

Definicija 3.28loga b = c ⇔ ac = b (3.6)

Svojstva:

1. loga 1 = 0.

2. loga a = 1.

3. aloga x = x.

4. loga ax = x.

5. loga (xy) = loga x + loga y.

6. logaxy

= loga x− loga y.

7. loga xp = p loga x, p ∈ R, p 6=0.

8. loga x = logb x

logb a.

9. loga b = 1logb a

.

Slucaj 3.3 0 < a < 1.Funkcija pada na cijeloj domeni.f (x) → 0 kad x → +∞.

Primjer 3.22 f (x) = log 12

x

-1 1 2 3 4

-2

-1

1

2

3

0 x

y

Slika 3.7

Page 87: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 77

Slucaj 3.4 a > 1.

Funkcija raste na cijeloj domeni.

f (x) → 0 kad x → −∞.

Primjer 3.23 f (x) = log2 x

-1 1 2 3 4

-3

-2

-1

1

2

3

0 x

y

Slika 3.8

loge x ≡ ln x, e ≈ 2.71... (3.7)

Cjelobrojne funkcije

Cjelobrojne funkcije imaju vaznu ulogu u informatici. To su realne funkcije realne vari-jable, cija je kodomena skup cijelih brojeva. Spomenimo funkciju ”najvece cijelo manjeod” (floor - pod) i ”najmanje cijelo vece od” (ceiling - strop). Dakle, za cjelobrojne funkcijef je kodomena skup cijelih brojeva.

Definicija 3.29 Za svaki realni broj x definiramo bxc kao najveci cijeli broj manji ilijednak x.

Za svaki realni broj x definiramo dxe kao najmanji cijeli broj veci ili jednak od x.

Vrijede sljedece nejednakosti medu tim funkcijama:

bxc ≤ x ≤ dxe ,

x− 1 ≤ bxc ≤ x,

x ≤ dxe ≤ x + 1.

Page 88: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

78 3.6. GRAF FUNKCIJE

3.6.2 Konacni i beskonacni skupovi

Skupovi se mogu klasificirati s obzirom na broj elemenata. Medutim, da bi ta klasi-fikacija imala smisla, tj. da bi nam omogucila particiju skupova s obzirom na broj ele-menta, moramo na skupovima definirati relaciju ekvivalencije. U definiciji jednakobroj-nosti skupova kljucnu ulogu ima specijalna vrsta relacije - bijektivna funkcija.

Definicija 3.30 Skup A je ekvivalentan (ekvipotentan, bijektivan, jednakobrojan) skupuB (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.zajednicko svojstvo svih ekvipotentnih skupova.

Definicija 3.31 Skup A je konacan ako je prazan ili postoji bijekcija iz A u skup Nn =1, 2, 3, ..., n koji se sastoji od prvih n prirodnih brojeva. Ako A nije konacan onda jebeskonacan.

Ako je A konacan, A 6= ∅ i bijektivan sa Nn = 1, 2, 3, ..., n , tada on ima n elemenatai pisemo |A| = n ili k (A) = n. Vrijedi |∅| = 0.

Primjer 3.24 Skupovi N i R su beskonacni zbog sljedecih 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 jenjegov podskup, dok bijekcija g preslikava skup realnih brojeva na njegov podskup R \[0, 1〉 .

Iako su skupovi N i R beskonacni oni ipak nemaju isti kardinalni broj.

Definicija 3.32 Skup A je prebrojivo beskonacan ako i samo ako |A| = |N|, a prebrojivako i samo ako je konacan ili prebrojivo beskonacan. Beskonacni skup koji nije prebrojivje 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 beskonacan i pisemo |〈0, 1〉| = c (kontinu-um).

Propozicija se dokazuje metodom kontradikcije, a dokaz se moze prouciti u [5], str.92.

Vrijedi nadalje da je kontinuum ujedno i kardinalni broj skupa realnih brojeva tj.|R| = c.

Namece se pitanje postoji li kardinalni broj k takav da je ℵ0 < k < c ? Ovu je hipotezupostavio veliki njemacki matematicar Georg Cantor (1845-1918) i nazvao je hipoteza kon-tinuuma.

Paul Cohen je 1966. godine razrijesio hipotezu kontinuuma i za to dobio Fieldsovumedalju, koja predstavlja najvise odlikovanje za matematiku. Odgovor glasi: uz standarniskup aksioma teorije skupova ne moze se odgovoriti na to pitanje. Zato matematicari ovuhipotezu ponekad dodaju skupu osnovnih aksioma teorije skupova.

Detaljna razrada vazne teme o kardinalnim brojevima moze se naci u [4] i posebno u

[12].

Page 89: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 79

3.7 Rekurzivne relacije

3.7.1 Uvod

Neka je dan niz brojeva a1, a2, . . . , an, . . .. Najcesce se nizovi zadaju takoda se eksplicitno zada formula za izracunavanje opceg clana niza. Tako suzadani nizovi u primjeru 3.25.

Primjer 3.25 Nizovi zadani pomocu opceg clana:

• an = 2n

• an = 3n−12

No, ponekad je niz jednostavnije zapisati tako da se vrijednost n-togclana niza zada preko prethodnih clanova niza. Takav nacin zadavanjaclanova niza naziva se rekurzivno zadavanje clanova niza. Nizovi iz primjera3.25 mogu se zadati rekurzivno i to je ucinjeno u primjeru 3.26.

Primjer 3.26 Nizovi zadani rekurzivno:

• ak = 2 · ak−1, k ≥ 2, a1 = 2

• ak = 3 · ak−1 + 1, k ≥ 2, a1 = 1

Aritmeticki niz

Jedan od najpoznatijih rekurzivno zadanih nizova je aritmeticki niz o kojemgovori definicija 3.33:

Definicija 3.33 Neka su a, d ∈ R te neka je d 6= 0. Aritmeticki niz defini-ramo rekurzivno kao

a1 = a, an = an−1 + d. (3.8)

Pri tome se d zove razlika clanova aritmetickog niza.

Primjer 3.27

• Niz koji se sastoji od prirodnih brojeva redom od najmanjeg premavecima zadaje se kao aritmeticki niz na sljedeci nacin: a1 = 1, an =an−1 + 1.

• Niz koji se sastoji od negativnih cijelih brojeva poredanih od najvecegprema manjima se zadaje ovako: a1 = −1, an = an−1 − 1.

Page 90: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

80 3.7. REKURZIVNE RELACIJE

Pokusajmo sada zadati opci clan aritmetickog niza eksplicitno.Rekurzivna formula za aritmeticki niz dana je s 3.8. Primijenimo li istu

formulu na n− 1 clan niza, dobit cemo

an = (an−2 + d) + d = an2 + 2 · dUzastopnim ponavljanjem primjene formule 3.8 dolazimo do formule

an = (a1 +

(n−1)×︷ ︸︸ ︷d + . . . + d) = a1 + (n− 1) · d

Time smo dobili eksplicitnu formulu za izracunavanje opceg clana arit-metickog niza.

Sljedeca zanimljiva formula je ona koja daje sumu prvih n clanova arit-metickog niza. Ta je formula dana u sljedecoj propoziciji:

Propozicija 3.13 Neka je sa Sn oznacena suma prvih n clanova aritmeti-ckog niza. Tada je Sn dana sljedecom formulom:

Sn = n · a +n · (n− 1)

2· d =

n

2(a1 + an) (3.9)

Dokaz. Dokaz ide indukcijom po n. Napravite ga sami.

Geometrijski niz

Geometrijski niz je drugi vrlo vazan niz koji se moze zadati rekurzivno.

Definicija 3.34 Neka su a, q realni brojevi te neka je q 6= 0, q 6= 1. Tada segeometrijski niz definira kao

a1 = a, an = q · an−1. (3.10)

Primjer 3.28

• Niz svih potencija broja 2 poredanih od najmanje prema vecim: a1 =1, an = 2 · an−1.

• Rekurzivna definicija geometrijskog niza koji pocinje brojem 2, a svakisljedeci broj u nizu dva puta je manji od prethodnog: a1 = 2, an =12 · an−1.

Slicno kao kod aritmetickog reda, izracunat cemo eksplicitnu formulu zaizracunavanje opceg clana geometrijskog niza. Primijenimo li formulu 3.10na (n − 1)-vi clan niza i uvrstimo ono sto smo dobili opet u formulu 3.10,dobit cemo

Page 91: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 81

an = (an−2 · q) · q = an−2 · q · q = an−2 · q2

Ponovimo li taj postupak n− 1 puta, dobijamo

an = a1

(n−1)×︷ ︸︸ ︷·q . . . · q = a1 · qn−1

Za geometrijski se niz, kao i za aritmeticki, moze izvesti formula za sumuprvih n clanova.

Propozicija 3.14 Neka je sa Sn oznacena suma prvih n clanova geometrij-skog niza. Tada Sn iznosi

Sn = a · 1− qn

1− q(3.11)

Dokaz. Indukcijom po n. Izvedite ga sami.

***

No, geometrijski je red konvergentan za q ∈< −1, 1 >. To znaci da, pustimo li dabroj clanova geometrijskog niza raste prema beskonacnosti, njihova ce se suma sve visepriblizavati nekom broju koji nije beskonacan. Kojem ce se broju priblizavati suma?

Teorem 3.8 Neka je s a1 i an = q · an−1 zadan geometrijski niz i neka je q ∈ 〈−1, 1〉.Tada je

limn→∞

Sn =a1

1− q. (3.12)

Dokaz. Potrebno je izracunati limes

limn→∞

Sn = limn→∞

an · 1− qn

1− q

No, ako je q ∈ 〈−1, 1〉, onda je limn→∞

qn = 0, pa tvrdnja slijedi iz linearnosti limesa.

Fibonaccijev niz

U XIII. stoljecu poznati matematicar Leonardo Fibonacci iz Pise, baviose problemom povecanja broja zeceva razmnozavanjem. Problem je zadanna sljedeci nacin: svaki par zeceva starih barem dva mjeseca dobiju parzecica svaki mjesec, pri tome je uvijek jedan zecic muskog a jedan zenskogspola. Ako smo zapoceli uzgoj s jednim parom novorodenih zecica, kolikocemo zeceva imati nakon n mjeseci? Fibonacci je dokucio da se broj zecevapovecava prema sljedecem nizu: 1, 1, 2, 3, 5, 8, 13, 21, . . .. Odnosno premanizu koji se moze zadati rekurzivno kao

f1 = 1, f2 = 1, fn = fn−1 + fn−2 (3.13)

Page 92: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

82 3.7. REKURZIVNE RELACIJE

To je jos jedan vrlo poznati primjer rekurzivno zadanog niza brojeva.Naravno, i ovdje se postavlja problem pronalazenja eksplicitne jednadzbe zaopci clan. Rjesenje tog problema nije, medutim tako ocito kao sto je to bioslucaj u prethodna dva primjera, vec je za njegovo rjesavanje potreban razvi-jeniji matematicki aparat. Stoga cemo se problemu eksplicitne formule opcegclana Fibonaccijevog niza vratiti kasnije, kada razvijemo tehnike rjesavanjarekurzivnih jednadzbi.

3.7.2 Rjesavanje rekurzija - karakteristicna jednadzba

Definicija 3.35 Neka su c0, . . . , ck−1 konstante i neka je f(n) funkcija.Tada se jednadzba

an = ck−1 · an−1 + . . . c1 · an−k+1 + c0 · an−k + f(n) (3.14)

naziva linearna nehomogena rekurzivna jednadzba k-tog reda s konstantimkoeficijentima, dok se jednadzba

an = ck−1 · an−1 + . . . c1 · an−k+1 + c0 · an−k (3.15)

zove linearna homogena rekurzivna jednadzba k-tog reda s konstantim koefi-cijentima. Za jednadzbu 3.15 kazemo da je pripadna homogena jednadzbajednadzbe 3.14.

Definicija 3.36 Neka je dana linearna homogena rekurzivna jednadzba3.15. Tada se jednadzba

xk − ck · xk + . . . c1 · x + c0 = 0 (3.16)

naziva karakteristicna jednadzba linearne homogene rekurzivne jednadzbe3.15

Teorem 3.9 Neka je zadana linearna homogena rekurzivna jednadzba 3.15.Pretpostavimo da karakteristicna jednadzba linearne homogene rekurzivnejednadzbe 3.15 ima sve jednostruke i realne korijene x1, . . . , xk. Tada je opcerjesenje linearne homogene rekurzivne jednadzbe 3.15 oblika

an = C1 · xn1 + . . . + Ck · xn

k .

Dokaz ovog teorema necemo provoditi. Zainteresirani citatelj dokaz mozenaci u [12], str. 182.

Primjer 3.29 Izracunajmo sada eksplicitnu formulu za opci clan Fibonac-cijevog niza. Podsjetimo se da rekurzivna formula za opci clan Fibonacci-jevog niza glasi:

fn = fn−1 + fn−2, (3.17)

Page 93: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 83

uz pocetne uvjete

f1 = f2 = 1. (3.18)

Karakteristicna jednadzba ove rekurzije je kvadratna jednadzba

x2 − x− 1 = 0.

Stoga su korijeni ove jednadzbe

x1,2 =1±√1 + 4

2=

1±√52

,

pa opce rjesenje rekurzije 3.17 glasi:

fn = C1 ·[

1 +√

52

]n

+ C2 ·[

1−√52

]n

. (3.19)

Vrijednosti konstanti C1 i C2 dobivamo iz pocetnih uvjeta. Uvrstimo lipocetne uvjete u jednadzbu 3.19 dobivamo sustav jednadzbi

f1 = 1 = C1 · 1 +√

52

+ C2 · 1−√52

,

f2 = 1 = C1 ·[

1 +√

52

]2

+ C2 ·[

1−√52

]2

.

(3.20)

Rijesimo li ovaj sustav dobit cemo C1 = 1√5

i C2 = − 1√5. Dakle, opci clan

Fibonaccijevog niza iznosi

fn =1√5·[

1 +√

52

]n

− 1√5·[

1−√52

]n

.

Opisali smo kako se izracunava eksplicitna formula homogene linearnerekurzivne jednadzbe s konstantnim koeficijentima u slucaju da su svi kori-jeni karakteristicne jednadzbe razliciti i realni. Moze se, medutim dogoditida karakteristicna jednadzba ima visestruke korijene. Tada nam rjesenjedaje sljedeci teorem.

Teorem 3.10 Neka je dana linearna homogena rekurzivna jednadzba k-tog reda s konstantnim koeficijentima 3.15, te neka njena karakteristicnajednadzba ima t-struki korijen x. Tada x tvori t pribrojnika opceg rjesenjarekurzije 3.15 C1 · xn, C2 · n · xn, . . . , Ct · nt−1 · xn.

Ni ovaj teorem necemo dokazivati. Njegov se dokaz takoder moze pronaciu [12], str. 186. Pogledajmo, rade, kako ovaj teorem funkcionira na konkret-nom primjeru.

Page 94: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

84 3.7. REKURZIVNE RELACIJE

Primjer 3.30 Izracunajmo eksplicitnu formulu za rekurziju

an = 5 · an−1 − 8 · an−2 + 4 · an−3,

uz pocetne uvjete a1 = 0, a2 = 2, a3 = 2.Karakteristicna jednadzba ove rekurzije je

x3 − 5 · x2 + 8 · x− 4 = 0.

Uocimo da ovu jednadzbu mozemo faktorizirati na sljedeci nacin:

(x− 1) · (x− 2)2 = 0.

Iz posljednje formule slijedi da jednadzba ima jednostruki korijen 1 i dvo-struki korijen 2, pa je njeno opce rjesenje oblika:

an = C1 · 1n + C2 · 2n + C3 · n · 2n, (3.21)

gdje cu c1, c2 i c3 proizvoljne konstante. Uvrstimo li pocetne uvjete u jed-nadzbu 3.21 dobit cemo sljedeci sustav:

a1 = 0 = C1 + 2 · C2 + 2 · C3

a2 = 2 = C1 + 4 · C2 + 8 · C3

a3 = 2 = C1 + 8 · C2 + 24 · C3

Rjesavanjem ovog sustava dobijamo C1 = −6, C2 = 4, C3 = −1, odnosnoeksplicitnu jednadzbu opceg clana niza

an = −6 + 4 · 2n − n · 2n.

Treci je slucaj kada rekurzivna jednadzba ima konjugirano kompleks-ne korijene. Kako govorimo o rekurzivnim jednadzbama s konstantnim re-alnim koeficijentima, njihove su karakteristicne jednadzbe se dobivaju iz-jednacavanjem polinoma realne varijable s realnim koeficijentima sa nulom.Prema tome, ako karakteristicna jednadzba ima kompleksan korijen, onmora ciniti par korijena s njemu konjugiranim kompleksnim brojem (vidi[7], str. 51.). Ovaj se slucaj moze rjesavati slicno kao slucaj s realnim ko-rijenima. Medutim, imamo li korijene z1,2 = a ± b · i, tada ta dva korijenadaju u rjesenju:

C1 · (a + b · i)n + C1 · (a− b · i)n.

Primijenimo li de Moivreovu formulu dobit cemo

C1 · |z1|n(cos nϕ1 + i sinnϕ1) + C2 · |z2|n(cosnϕ2 + i sinnϕ2), (3.22)

Page 95: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 85

pri cemu je

cosϕ =a√

a2 + b2,

sinϕ =b√

a2 + b2.

S druge strane, kako su z1 i z2 konjugirano kompleskni brojevi, njihova jeapsolutna vrijednost jednaka i iznosi

√a2 + b2.

Slicno, ϕ2 = −ϕ1, pa je cosnϕ1 = cosnϕ1 i sin nϕ2 = − sinnϕ2.Raspisemo li formulu (3.22), uz gore navedene primjedbe pa uzmemo da jez = z1, ϕ = ϕ1 te da je K1 = C1 + C2 i K2 = C1 − C2, dobit cemo

|z|n(K1 · cosnϕ + K2 · i sinnϕ).

Primjer 3.31 Nadimo eksplicitnu formulu za opci clan niza definiranogformulom an = 2 · an−1 − 2 · an−2, uz pocetne uvjete a1 = 2, a2 = 2.

Karakteristicna jednadzba ove rekurzije je

x2 − 2 · x + 2 = 0

Njeni korijeni su x1,2 = 1± i, pa imamo

|z| =√

12 + 12 =√

2

Nadalje,

cosϕ =1√

12 + 12=√

22

,

sinϕ =1√

12 + 12=√

22

,

iz cega slijedi da je

ϕ =π

4te da je

an = (√

2)n ·(K1 · cosn

π

4+ K2 · i · sinn

π

4

).

Uvrstimo li pocetne uvjete dobivamo sustav jednadzbi

2 =√

2 ·(K1 · cos

π

4+ K2 · i · sin π

4

),

2 =(√

2)2·(K1 · cos 2

π

4+ K2 · i · sin 2

π

4

),

Page 96: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

86 3.7. REKURZIVNE RELACIJE

odnosno

2 =√

2 ·(

K1 ·√

22

+ K2 · i ·√

22

),

2 = 2 · (K2 · i) .

Iz druge jednadzbe izlazi da je K2 = −i, a kada to uvrstimo u prvu jed-nadzbu, dobijamo

2 =√

2 ·(

K1 ·√

22

+√

22

),

iz cega izlazi da je K1 = 1.Dakle, opce rjesenje ove rekurzije je

an = (√

2)n ·(

cosnΠ4

+ sin nΠ4

).

Time smo opisali sve moguce slucajeve koji se javljaju kod rjesavanjalinearnih homogenih rekurzivnih jednadzbi s konstantnim koeficijentima.Sljedeci problem koji se postavlja jest problem rjesavanja nehomogenih li-nearnih rekurzivnih jednadzbi.

Teorem 3.11 Neka je zadana linearna nehomogena rekurzivna jednadzbak-tog reda s konstantnim koeficijentima 3.14. Neka je q opce rjesenje pri-padne linearne homogene rekurzije rekurzije 3.14 te neka je p bilo kojerjesenje nehomogene linearne rekurzije 3.141. Tada je an = q + p opcerjesenje jednadzbe 3.14.

Dokaz ovog teorema, kao i prethodna dva, moze se naci u [12], str. 188.Postavlja se problem kako pronaci partikularno rjesenje? Za taj pro-

blem ne postoji neka standardna metoda no za neke je funkcije poznat oblikpartikularnog rjesenja. Neke od tih funkcija dane su u sljedecoj tablici:

Funkcija f(n) Partikularno rjesenje an

d Adn A1n + A2

dnm Pm(n) (polinom m-tog stupnja)an A · an

Tablica 3.2

1Obicno se takvo proizvoljno rjesenje naziva partikularno rjesenje

Page 97: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 87

Primjer 3.32 Potrebno je pronaci rjesenje rekurzivne jednadzbe

an = 2an−1 + 1,

uz uvjet da je a1 = 1.Pripadna homogena jednadzba ove rekurzije je an = 2an−1, a njena karak-teristicna jednadzba je

x− 2 = 0.

Korijen ove jednadzbe je x1 = 2 pa je opce rjesenje pripadne homogenerekurzivne jednadzbe

an = C · 2n.

Iz tablice procitamo partikularno rjesenje, te dobijamo da je opce rjesenjenehomogene rekurzivne jednadzbe

an = C · 2n + A.

Kako bismo pronasli partikularno rjesenje, stavljamo da je

an = A.

Uvrstimo li originalnu jednadzbu za an imamo

A = an = 2an − 1 + 1 = 2A + 1.

Iz posljednjega slijedi da je A = −1. Sada imamo

an = C1 · 2n − 1.

Uvrstimo li pocetni uvjet, imat cemo

1 = C1 · 2− 1.

iz cega slijedi da je C1 = 1, odnosno

an = 2n − 1.

Nehomogene rekurzije mogu se jednostavno izracunavati i na drugi nacin,bez upotrebe tablice partikularnih rjesenja: svodenjem nehomogene rekurzi-je na homogenu. Prikazat cemo kako se to radi na rekurzijama iz prethodnadva zadatka.

Primjer 3.33 Rijesimo ponovo rekurziju iz zadatka 3.32.Jednadzbu za n-ti clan primijenimo na (n− 1)-vi clan, te oduzmemo sto

smo dobili od jednadzbe za n-ti clan:

Page 98: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

88 3.7. REKURZIVNE RELACIJE

an = 2an−1 + 1an−1 = 2an−2 + 1

an − an−1 = 2an−1 − 2an−2.

Dakle, pocetnu rekurziju sveli smo na homogenu rekurziju

an = 3an−1 − 2an−2.

Karakteristicna jednadzba ove rekurzije je

x2 − 3x + 2 = 0.

Korijeni ove jednadzbe su x1 = 1, x2 = 2, pa je opce rjesenje rekurzije oblika:

an = C1 · 1n + C2 · 2n. (3.23)

Kako se prilikom homogenizacije povecao stupanj rekurzije, potrebno jepronaci jos jedan pocetni uvjet:

a2 = 2a1 + 1 = 3.

Uvrstimo li sada oba pocetna uvjeta u dobiveno opce rjesenje i dobijamo:

1 = C1 + C2 · 2,

3 = C1 + C2 · 4.

Odavde se vidi da je C2 = −1, C2 = 1. Uvrstimo li C1 i C2 u formulu3.23, dobivamo

an = 2n − 1.

Primjer 3.34 Rijesimo jos jednadzbu an = 4 ·an−1 +n ·2n uz pocetni uvjeta0 = 4.

Formulu za n-ti clan cemo primijeniti na (n − 1)-vi clan, te cemo takodobivenu formulu pomnoziti s dva i oduzeti od formule za n-ti clan:

an = 4an−1 + n · 2n+1

2an−1 = 8an−2 + (n− 1) · 2n+1

an − 2an−1 = 4an−1 − 8an−2 + 2n+1.

Dakle, dobili smo nelinearnu rekurziju:

an = 6an−1 − 8an−2 + 2n+1.

Ponovimo istu stvar za dobivenu jednadzbu:

Page 99: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 89

an = 6an−1 − 8an−2 + 2n+1

2an−1 = 12an−2 − 16an−3 + 2n+1

an − 2an−1 = 6an−1 − 18an−2 + 16an−3.

Dobili smo homogenu rekurziju:

an = 8an−1 − 20an−2 + 16an−3.

Karakteristicna jednadzba ove rekurzije je

x3 − 8x2 + 20x− 16 = 0.

Korijeni ove jednadzbe su x1,2 = 2, x3 = 4. Dakle, opce rjesenje ove rekurzijeima oblik:

an = C1 · 2n + C2 · n · 2n + C3 · 4n.

Za rjesavanje su nam potrebna tri pocetna uvjeta, pa trebamo izracunati josa1 i a2.

a1 = 4 · 4 + 2 · 2 = 20,a2 = 4 · 20 + 2 · 2 · 22 = 96.

Uvrstavanjem pocetnih uvjeta u opce rjesenje dobivamo sustav jednadzbi

4 = C1 + C3

20 = 2C1 + 2C2 + 4C3

96 = 4C1 + 8C2 + 16C3

Rjesenja ovog sustava su C1 = −4, C2 = −2, C3 = 8, pa opce rjesenjenehomogene rekurzije glasi:

an = −4 · 2n +−2 · n · 2n + 8 · 4n.

Prije no sto krenemo na metodu rjesavanja rekurzija na jos jedan nacin,pomocu funkcija izvodnica, opisat cemo jos jedan oblik rekurzija koje nisulinearne, ali se mogu izracunati pomocu linearnih rekurzivnih jednadzbi.Ove jednadzbe igraju bitnu ulogu u ocjenjivanju slozenosti algoritama, jer sevrlo cesto javljaju pri ocjeni slozenosti algoritama koji su izvedeni metodompodijeli pa ovladaj . Stoga se ove rekurzije cesto i nazivaju podijeli pa ovladajrekurzije. Ovdje se radi o rekurziji oblika:

an = c · ank

+ f(n). (3.24)

Rekurzije se ovog tipa mogu svesti na linearne rekurzije i rijesiti pomocukarakteristicnog polinoma.

Page 100: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

90 3.7. REKURZIVNE RELACIJE

Primjer 3.35 Rijesimo rekurziju an = an2

+ n uz pocetni uvjet a1 = 0.Upotrijebimo li supstituciju sn = a2n , dobijamo

sn = a2n = a 2n

2+ n = a2n−1 + n = sn−1 + n,

cime smo dobili linearnu nehomogenu rekurziju prvog reda. Oduzmimo jed-nadzbu za clan sn−1 od jednadzbe za clan sn

sn = sn−1 + nsn−1 = sn−2 + n− 1

sn − sn−1 = sn−1 − sn−2 + 1,

iz cega slijedi da je

sn = 2sn−1 − sn−2 + 1.

Oduzmemo li opet formulu za (n − 1)-vi clan niza od formule za n-ti clan,imamo:

sn = 2sn−1 − sn−2 + 1sn−1 = 2sn−2 − sn−3 + 1

sn − sn−1 = 2sn−1 + 3sn−2 + sn−3.

Tako smo dobili linearnu homogenu rekurziju

sn = 3sn−1 − 3sn−2 + sn−3.

Njena karakteristicna jednadzba glasi:

x3 − 3x2 + 3x− 1 = 0.

Karakteristicna jednadzba ima trostruki korijen x1,2,3 = 1, pa je opce rjese-nje oblika

sn = C1 · 1n + C2 · n · 1n + C3 · n2 · 1n,

odnosno

sn = C1 + C2 · n + C3 · n2.

potrebno je pronaci tri pocetna uvjeta kako bismo mogli odrediti koeficijenteu opcem rjesenju:

s0 = a1 = 0,

s1 = a2 = a1 + 2 = 2,s2 = a4 = a2 + 4 = 6.

Page 101: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 91

Uvrstimo li pocetne uvjete u opce rjesenje, dobijamo

0 = C1,

2 = C1 + C2 + C3,

6 = C1 + 2C2 + 4C3.

Iz ovog sustava slijedi da je C1 = 0, C2, C3 = 1, tj. da je opce rjesenjeizvedene rekurzivne jednadzbe

sn = n + n2.

Vratimo se sada zadanoj rekurziji. Sada imamo:

sn = a2n = n + n2,

odnosno,

an = log2 n + log22 n.

3.7.3 Rjesavanje rekurzivnih jednadzbi - funkcije izvodnice

Postoji jos jedna metoda, pomocu koje se mogu rjesavati neke rekurzivnejednadzbe. Radi se o metodi rjesavanja rekurzivnih jednadzbi pomocu poli-noma beskonacnog stupnja tzv. funkcija izvodnica.

Neka je zadan niz a0, a1, a2, . . .. Tada se funkcija izvodnica ovog redadefinira kao:

f(x) = a0 + a1x + a2x2 + . . .

Pogledajmo neke primjere poznatih funkcija izvodnica.

Zadatak 3.20 Dokazite da, za x 6= 1 vrijedi:

11− x

= 1 + x + x2 + . . . (3.25)

Jasno je da je

(1− x)(1 + x + x2 + . . .) = 1 + x− x + x2 − x2 + . . .

= 1 + 0x + 0x2 + . . .

= 1. (3.26)

Podijelimo li lijevu i desnu stranu gornje jednadzbe s 1 − x dobit cemojednadzbu 3.25

Page 102: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

92 3.7. REKURZIVNE RELACIJE

Zadatak 3.21 Dokazite da za x 6= 1 vrijedi:

1(1− x)2

= 1 + 2x + 3x2 + . . . (3.27)

Deriviramo li lijevu i desnu stranu jednadzbe 3.25, dobit cemo

1(1− x)2

= 1 + 2x + 3x2 + . . . (3.28)

odnosno upravo jednadzbu 3.27.

Primjer 3.36 Rijesimo sada rekurziju an = 3an−1, uz pocetni uvjet a0 = 1.Oduzmemo li sljedece dvije funkcije izvodnice:

f(x) = a0 + a1x+ a2x2+ . . . + anxn + . . .

3xf(x) = 3a0x + 3a1x2+ . . . + 3an−1x

n + . . .

dobit cemo

f(x)− 3xf(x) = a0 +(a1− 3a0)x+(a2− 3a1)x2 + . . .+(an− 3an−1)xn + . . .

No, kako je an = 3an − 1, vrijedi da je

f(x)− 3xf(x) = a0.

Uvrstimo li pocetni uvjet, imamo

f(x)(1− 3x) = 1,

odnosno

f(x) =1

1− 3x.

Koristeci jednadzbu 3.25 dobivamo

f(x) = 1 + 3x + (3x)2 + . . . + (3x)n + . . .

odnosno

f(x) = 1 + 3x + 32x2 + . . . + 3nxn + . . . ,

pa je rjesenje

an = 3n.

Zadatak 3.22 Rijesite rekurziju an = 2an−1 +an−2 uz pocetne uvjete a0 =3, a1 = −2 (koristite jednakost 3.27).

Page 103: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 93

Primijetimo da se ovom metodom izravno mogu rjesavati samo homo-gene linearne rekurzije, dok se nehomogene rekurzije moraju rjesavati naiste nacine kako je to prikazano u prethodnom poglavlju. Nadalje, trebanapomenuti da se ovom metodom mogu rjesavati samo one rekurzije zakoje, nakon oduzimanja, znamo razvoj u red.

3.8 Diskretna teorija vjerojatnosti

Slika 3.9: Andrey Kol-mogorov

Teorija vjerojatnosti je novija matematickagrana, ciji poceci sezu u 17. st. Oni se vezu uzkockarske igre te zelju za izracunavanjem vjero-jatnosti dobitka na njima. Zasluznima za pocetketeorije vjerojatnosti smatraju se B. Pascal i P. Fer-mat. Njen brzi 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 teorijevjerojatnosti koji se odnosi na izracunavanje vjero-jatnosti dogadaja na diskretnim, odnosno konac-nim i prebrojivim skupovima dogadaja. Ona se

koristi u racunarstvu u mnogim podrucjima. Ovdje posebno isticemokoristenje diskretne teorije vjerojatnosti kod takozvanih randomiziranih al-goritama, te kod izracunavanja prosjecnog trajanja algoritma.

3.8.1 Osnove kombinatorike

Iako je kombinatorika zasebna matematicka disciplina, u ovoj cemo je knji-zi obraditi ukratko u sklopu diskretne teorije vjerojatnosti. Ona pred-stavlja osnovu za izracunavanje vjerojatnosti u konacnim vjerojatnosnimprostorima. Ovdje cemo opisati osnovne formule iz podrucja kombina-torike, bez pretenzije da se te formule dokazu ili da se potpuno matematickifundiraju. Za citatelje koje zanima konzistentna razrada kombinatorike kaomatematicke discipline, preporucamo naslove [6], [12], te [11].

Permutacije

Prvi kombinatorni problem koji cemo ovdje prikazati jest problem per-mutacija. Imamo skup od n razlicitih elemenata. Postavlja se pitanje, nakoliko razlicitih nacina se ti elementi mogu poredati u uredenu n-torku?Drugim rijecima, koliko razlicitih nizova od n elemenata, ili permutacija,mozemo naciniti od tih n brojeva? Broj permutacija dan je sljedecom for-mulom:

P (n) = n! = n · (n− 1) · . . . · 1. (3.29)

Page 104: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

94 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

Primjer 3.37 Na koliko nacina mozemo poredati 5 raznobojnih kuglica uniz?

Odgovor na ovo pitanje je:

P (5) = 5! = 120 (3.30)

Imamo li k razlicitih vrsta elemenata, i ako od i-te vrste imamo ni ko-mada. Koliko ima razlicitih permutacija takvih elemenata?

Odgovor je

P(n1,...,nk)n =

n!n1! · . . . · nk!

.

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 nacina moze napravitiniz od tih kuglica?

P 12(5,4,3) =12!

5! · 4! · 3!= 27720.

Varijacije

Drugi vazan 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 nacin, prosirenje pitanja koje smopostavili kada smo govorili o permutacijama, samo sto se sada niz ne tvori odsvih n elemenata, vec od k elemenata. Dakle, koliko razlicitih nizova duljinek mozemo napraviti od n razlicitih elemenata, odnosno koliko postoji varija-cija k-tog razreda od n elemenata bez ponavljanja? Odgovor je dan sljedecomformulom:

V (k)n =

n!(n− k)!

. (3.31)

Primjer 3.39 Od 7 vojnika potrebno je izabrati 5 i poredati ih u vrstu. Nakoliko je to nacina moguce uciniti?

V(5)7 =

7!2!

= 2520

Pretpostavimo da se ne radi o skupu, vec o multiskupu, tj. da se odredenielement moze izabrati vise puta. Pitanje, na koliko se nacina moze izabratik elemenata iz multiskupa, koji sadrzi n razlicitih elemenata, je pitanje va-rijacija n elemenata k-tog razreda s ponavljanjem. Broj razlicitih varijacijak-tog razreda od n elemenata s ponavljanjem je

V(k)n = nk. (3.32)

Page 105: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 95

Primjer 3.40 Koliko ima troznamenkastih brojeva?Izmedu 10 razlicitih znamenaka koliko ima nizova od 3 znamenke?

V(3)10 = 103 = 1000.

No, da bismo dobili samo troznamenkaste brojeve, od tog broja moramooduzeti sve one kojima je prva znamenka 0. Takvih ima

V(2)10 = 102 = 100.

Naime, njih ima onoliko na koliko nacina mozemo izabrati preostale dvijeznamenke.

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 nacina se moze izskupa od n elemenata izabrati podskup od k elemenata. Onda se govori okombinacijama k-tog razreda od n elemenata bez ponavljanja. Njihov brojje

C(k)n =

(nk

)=

n!k! · (n− k)!

(3.33)

Primjer 3.41 Djeci je u skoli za lektiru predlozeno 17 knjiga, ali oni morajuprocitati samo 10. Koliko razlicitih izbora djeca mogu uciniti?

Djeca mogu uciniti

C(10)17 =

(1710

)

=17 · 16 · . . . · 2 · 1

10 · 9 · . . . · 1 · 7 · 6 · . . . · 1=

17 · 16 · 15 · 14 · 13 · 12 · 117 · 6 · 5 · 4 · 3 · 2 · 1

= 19448

nacina, sto je iznenadujuce velik broj.

Posljednje sto cemo opisati u ovom poglavlju, jesu kombinacije s ponavl-janjem. Kombinacije s ponavljanjem jesu svi multiskupovi elemenata skupaA. Ako imamo skup A koji sadrzi n elemenata, i od njih moramo nacinitimultiskup od k elemenata, onda govorimo o kombinacijama s ponavljanjem

Page 106: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

96 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

k-tog razreda od n elemenata. Ukupni broj razlicitih 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 od5 vrsti automobila. Na koliko razlicitih nacina tvrtka moze napraviti ovukupnju?

C(10)5 =

(5 + 10− 1

10

)

=(

1410

)

=14!

10! · 4!= 1001.

Sljedece sto zelimo uciniti, i sto ce biti vrlo korisno, jest uvesti vezuizmedu kombinacija i binomnih koeficijenata, te uvesti neke propozicije kojece nam opisati odnose izmedu razlicitih binomnih koeficijenata.

Teorem 3.12 (Binomni poucak)

(a + b)n =n∑

i=0

(ni

)aibn−i.

Dokaz ovog teorema moze se naci u [12], str. 113.Sada cemo samo navesti neke identitete s binomnim koeficijentima, bez

njihova dokazivanja:(ni

)=

(n

n− i

), (simetrija)

(ni

)=

n

i

(n− 1i− 1

), (apsorpcija)

(ni

)=

(n− 1

i

)+

(n− 1i− 1

), (Pascalova formula)

(ni

)(ik

)=

(nk

)(n− ki− k

), (Trinomna revizija)

n∑i=0

(ni

)= 2n,

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)

Page 107: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 97

m∑i=1

(mi

) (n

r + i

)=

(m + nm + r

), (Vandermondeova konvolucija)

n∑i=0

(ni

)2

=(

2nn

),

m∑i=1

(m− i

r

)(n + i

s

)=

(m + n + 1r + s + 1

). (Vandermondeova konv.)

Dokazi ovih identiteta mogu se pronaci u [12].

3.8.2 Osnovne definicije i teoremi diskretne teorije vjerojat-nosti

Osnovni pojam od kojeg se krece u teoriji vjerojatnosti jest slucajni pokus.Slucajni pokus je pokus ciji rezultati nisu jednoznacno odredeni uvjetimau kojima se izvodi. Primjer toga je pokus bacanja igrace kocke. Kod togpokusa postoji sest mogucih ishoda iz sljedeceg skupa: Ω = 1, 2, 3, 4, 5, 6.

Definicija 3.37 Skup Ω svih mogucih ishoda naziva se skup uzoraka iliprostor elementarnih dogadaja. Svaki element skupa Ω naziva se elementarnidogadaj. Svaki podskup skupa Ω naziva se dogadaj.

Dogadaj je svaki rezultat slucajnog pokusa. Npr. imamo li slucajnipokus bacanja 5 igracih kocaka, onda se ”palo je pet sestica” smatra doga-dajem.

Jasno je da su ∅ ⊆ Ω i Ω ⊆ Ω takoder dogadaji. Prvi se naziva nemogucdogadaj , a drugi siguran dogadaj .

Definicija 3.38 Dogadaji A i B se medusobno iskljucuju ako vrijedi da je

A ∩B = ∅.

Definicija 3.39 Neka je Ω diskretan skup. Neka je definirano preslikavanjeP : Ω → [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 dajenjegova osnovna svojstva:

Teorem 3.13 Neka je (Ω, P ) diskretni vjerojatnosni prostor. Tada vrijedesljedece tvrdnje:

1. P (∅) = 0

Page 108: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

98 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

2. Ako su A1, . . . , An ⊆ Ω po parovima medusobno disjunktni dogadaji,

onda je P (n⋃

i=1Ai) =

n∑i=1

P (Ai).

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 moze provesti indukcijom po n. Za n = 2 dokaz slijediizravno iz definicije 3.39.

Pretpostavimo da tvrdnja vrijedi za n ≤ k. Neka je n = k + 1. Kako

je Ak+1 ∩ Ai = ∅ za svaki i = 1, . . . , k, sigurno je (k⋃

i=1Ai) ∩ Ak+1 =

∅. Neka je A =k⋃

i=1Ai. Prema pretpostavci indukcije vrijedi da je

P (A) =k∑

i=1P (Ai). Isto tako, prema pretpostavci indukcije vrijedi da

je P (A ∪Ak+1) = P (A) + P (Ak+1). Dakle,

P (k+1⋃

i=1

Ai) = P (k⋃

i=1

Ai ∪Ak+1)

= P (A ∪Ak+1) = P (A) + P (Ak+1)

=k∑

i=1

P (Ai) + P (Ak+1)

=k+1∑

i=1

P (Ai)

sto je itrebalo dokazati.

Page 109: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 99

3. Neka je C = B\A. Tada je A ∪B = A ∪ C i A ∩ C = ∅. Prema tomevrijedi

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∪Ac = Ω, a A∩Ac = ∅. Iz prve jednakosti slijedi da je

P (A ∪Ac) = P (Ω) = 1, (3.37)

a iz druge pak slijedi da je

P (A ∪Ac) = P (A) + P (Ac).

Iz posljednjeg imamo

P (Ac) = P (A ∪Ac)− P (A). (3.38)

U (3.38) uvrstimo (3.37) i dobit cemo

P (Ac) = 1− P (A).

5. Ocito 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).

Page 110: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 Ai, i = 1, . . . , n doga-daji na vjerojatnosnom prostoru < Ω, P >. Tada je

P

(n⋃

i=1

Ai

)=

n∑

i=1

P (Ai)−∑

1≤i<j≤n

P (Ai ∩Aj)

+∑

1≤i<j<k≤n

P (Ai ∩Aj ∩Ak)− . . .

+ (−1)n+1

(P

(n⋂

i=1

Ai

)).

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 Ci, i = 1, . . . , n definirani sa B =n−1⋃i=1

Ai, Ci =

Ai ∩An.Tada je, prema pretpostavci indukcije,

P

(n⋃

i=1

Ai

)= P (B ∪An) = P (B) + P (An)− P (B ∩An). (3.39)

Isto tako, prema pretpostavci indukcije vrijedi

P (B) =n−1∑

i=1

P (Ai)−∑

1≤i<j≤n−1

P (Ai ∩Aj) + . . . + (−1)n

(P

(n−1⋂

i=1

Ai

)).

(3.40)

Nadalje, B ∩An =n−1⋃i=1

Ci, sto, prema pretpostavci indukcije daje

Page 111: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 101

P (B ∩An) =n−1∑

i=1

Ci −∑

1<leqi<j≤n−1

P (Ci ∩ Cj) + . . .

+(−1)nn−1∑

i=1

P

(n−1⋂

i=1

Ci

)

=n−1∑

i=1

(Ai ∩An) (3.41)

−∑

1≤i<j≤n−1

P (Ai ∩Aj ∩An) + . . .

+(−1)nP

(n⋂

i=1

Ai

)

Iz (3.39), (3.40) i (3.41) slijedi tvrdnja propozicije.

Primjer 3.43 Kolika je vjerojatnost da od bacenih pet jednakih igracihkocaka padnu barem tri sestice?

Koliko razlicitih rezultata tih pet kocaka mogu dati? Ovdje se zeli datiodgovor na pitanje: na koliko nacina se moze izabrati pet brojeva od 1-6,ne nuzno razlicitih? Dakle, radi se o kombinacijama s ponavljanjem:

C(5)6 =

(105

)

=10 · 9 · 8 · 7 · 65 · 4 · 3 · 2 · 1

= 252.

Suprotan dogadaj od dogadaja da su pale barem tri sestice jest da jepalo manje od 3 sestice, tj. da su pale najvise dvije sestice. Koliko jemogucih rezultata s najvise dvije sestice? Taj se dogadaj moze rastaviti natri disjunktna dogadaja:

• da nije pala nijedna sestica,

• da je pala tocno jedna sestica,

• da su pale dvije sestice.

Broj rezultata bez sestica je jednak broju mogucih izbora pet brojevaizmedu brojeva 1-5, a to je

C(5)5 =

(95

)= 126

Page 112: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

102 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

Koliko ima rezultata bacanja 5 igracih kockica s tocno jednom sesticom?To su svi oni dogadaji na kojima je na jednoj kockici pala sestica, dok rezul-tate ostalih kockica mozemo proizvoljno birati izmedu brojeva 1-5. Dakle,imamo:

C(5)4 =

(84

)= 70.

Na kraju, imamo broj rezultata bacanja s tocno dvije sestice. Slicno goreopisanome, njih ima

C(5)3 =

(73

)= 35.

Vjerojatnost da se ne pojavi nijedna sestica je

P (B0) =126252

.

Vjerojatnost da se pojavi tocno jedna sestica jest

P (B1) =70252

.

I na kraju, vjerojatnost da se pojave tocno dvije sestice jest

P (B2) =35252

.

Konacno, oznacino li s B dogadaj da su pale najvise dvije sestice, imamoda je

P (B) = P (B0) + P (B1) + P (B2) =231252

.

Taj je dogadaj komplementaran nasem dogadaju A koji kaze da su palenajvise 3 sestice. Dakle, vrijedi

P (A) = 1− P (B) =112

.

Gornji racun sadrzi neke od vaznih zakona koji vrijede za vjerojatnosti.Isti se rezultat mogao dobiti i neposrednije. Dogadaj A se sastoji od tridisjunktna poddogadaja:

• Palo je tocno 3 sestice,

• Palo je tocno 4 sestice i

• Palo je tocno 5 sestica.

Page 113: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 103

Broj rezultata s 3 sestice jest

C(2)5 =

(62

)= 15,

broj rezultata s 4 sestice je

C(1)5 =

(51

)= 5,

a broj rezultata s 5 sestica je, naravno, 1. Odnosno,

C(0)5 =

(40

)= 1.

Oznacimo li s A3 dogadaj kada su pale tocno 3 sestice, s A4 dogadaj da supale tocno 4 sestice, a s A5 dogadaj kada je svih pet kocaka palo na brojsest, imamo sljedece vjerojatnosti:

P (A3) =15252

,

P (A4) =5

252

P (A5) =1

252.

Ukupno,

P (A) = P (A3) + P (A4) + P (A5) =21252

=112

.

Primjer 3.44 Neka se bacaju cetiri jednake igrace kockice. Koja je vjero-jatnost da su bacena barem dva ista broja?

Izracunajmo, slicno prethodnom zadatku, koja je vjerojatnost da su palebarem dvije sestice.

Oznacimo li s A(6) dogadaj koji kaze 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

=

(62

)

(94

) +

(51

)

(94

) +

(0

)

(94

)

=15126

+5

126+

1126

=21126

=16.

Page 114: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

104 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

Dakle, izracunajmo kolika je vjerojatnost da se jave dva ista broja, bezobzira na to koji to brojevi bili?

Ako s A(i) oznacimo dogadaj da je na barem dvije kocke pao broj i,slicno 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)) =16.

Medutim, moramo imati na umu da se dogadaji A(i) i A(j) medusobnone iskljucuju. Naime, moze se dogoditi da pri bacanju cetiri igrace kockiceistovremeno padnu i dvije sestice i, recimo, dvije jedinice.

Neka imamo dogadaje A(i) i A(j). Koja je vjerojatnost da su se ta dvadogadaja dogodila istovremeno? Ta je vjerojatnost

P (A(i,j)) =1

C46

=1(94

) =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 · 16−

(62

)· 1126

= 1− 15126

=111126

=3742

.

3.8.3 Uvjetna vjerojatnost

Sljedeci vrlo vazan i koristan pojam koji treba obraditi jest uvjetna vjerojat-nost. U teoriji vjerojatnosti cesto zelimo znati kolika je vjerojatnost nekogdogadaja B, ako se zna da se dogodio dogadaj A. Uvjetna se vjerojatnostdogadaja B dogadajem A oznacava P (B|A).

Definicija 3.40 Neka je (Ω, P ) diskretni vjerojatnosni prostor, i neka suA,B ⊆ Ω dogadaji, pri cemu je P (A) > 0. Vjerojatnost dogadaja B uz uvjetdogadaja A se definira kao:

P (B|A) =P (A ∩B)

P (A).

Teorem 3.14 Neka je (Ω, P ) diskretni vjerojatnosni prostor, A1 . . . An, A,B ⊆ Ω dogadaji i neka je P (A) > 0. Tada je

1. P (∅|A) = 0,

2. P (BC |A) = 1− P (B|A),

Page 115: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 105

3. P (A1 ∪A2|A) = P (A1|A) + P (A2|A)− P (A1 ∩A2|A).

Dokaz. Dokaz ovog teorema provedite sami.

Primjer 3.45 Dva stroja izraduju lonce. Prvi stroj izraduje 90% ispravnihlonaca, a drugi 85%. Od 1000 lonaca, od kojih je 500 izradeno na jednom, a500 na drugom stroju, izabran je jedan i on je ispravan. Koja je vjerojatnostda je on proizveden na prvom stroju?

Kao prvo, treba vidjeti koja je vjerojatnost da je izabran ispravan proi-zvod.

Prvi stroj izraduje 910 ispravnih proizvoda, a drugi 17

20 . Ukupan brojispravnih proizvoda je 500 · 9

10 + 500 · 1720 = 875. Dakle, ako kazemo da

dogadaj A kaze da je izvucen ispravan lonac onda je

P (A) =8751000

=78.

Neka je s B oznacen dogadaj izvlacenja lonca proizvedenog na prvomstroju. Sada A ∩ B znaci da je izvucen ispravan proizvod proizveden naprvom stroju pa je

P (A ∩B) =4501000

=920

.

Dakle, trazena vjerojatnost je

P (B|A) =P (A ∩B)

P (A)=

92078

=1835

.

Definicija 3.41 Neka je (Ω, P ) diskretni vjerojatnosni prostor. Kazemo daje sustav dogadaja Ai ⊆ Ω, i = 1, 2, . . . potpun, ako vrijedi da je Ai 6= ∅ zasvako i = 1, . . . , n, te da je Ai ∩Aj = ∅ za svaka dva i, j = 1, . . . , n, i 6= j te

da jen⋃

i=1Ai = Ω.

Moze se reci da je potpun sustav dogadaja najvise prebrojiva particijaskupa elementarnih dogadaja Ω.

Gornj nam definicija omogucuje izvodenje potpune vjerojatnosti:

Teorem 3.15 (Formula potpune vjerojatnosti)Neka je (Ai, i = 1, 2 . . .) potpun sustav dogadaja te neka je A proizvoljandogadaj. Tada vrijedi

P (A) =∑

i=1,2,...

P (Ai) · P (A|Ai).

Page 116: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

106 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

Dokaz. Ocito je da vrijedi

P (A) = P (A ∩ Ω) = P

A ∩

i=1,2,...

Ai

= P

i=1,2,...

(A ∩Ai)

Nadalje, za svaki Ai, Aj , i 6= j vrijedi da je Ai ∩ Aj = ∅, pa je onda i(A ∩Ai) ∩ (A ∩Aj) = ∅. Stoga je

P (A) =∑

i=1,2,...

P (A ∩Ai).

No, kako je

P (A|Ai) =P (A ∩Ai)

P (Ai),

izlazi da je

P (A ∩Ai) = P (Ai) · P (A|Ai),

pa je

P (A) =∑

i=1,2,...

P (Ai) · P (A|Ai),

sto je i trebalo dokazati.

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

P (Ai|A) =P (Ai) · P (A|Ai)∑

j=1,2,...P (Ai) · P (A|Ai)

.

Dokaz. Iz definicije uvjetne vjerojatnosti znamo da vrijedi

P (Ai|A) =P (Ai ∩A)

P (A).

Jasno je da je

P (Ai ∩A) = P (A ∩Ai) = P (Ai) · P (A|Ai).

Prema teoremu 3.15, vrijedi da je

P (A) =∑

j=1,2,...

P (Aj) · P (A|Aj),

Page 117: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 107

odakle je

P (Ai|A) =P (Ai) · P (A|Ai)∑

j=1,2,...P (Aj) · P (A|Aj)

.

3.8.4 Slucajne varijable

Pojam slucajne varijable veze se uz rezultate slucajnog pokusa. Stoga seslucajne varijable najcesce koriste kada se radi s ponavljanjem pokusa.

Definicija 3.42 Slucajna varijabla je svaka funkcija X : Ω → R.

Primjer 3.46 Promatramo li pokus bacanja simetricnog novcica, mozemodefinirati slucajnu varijablu na sljedeci nacin:

X =

0 ako je pala glava1 ako je palo pismo

.

Sada mozemo definirati vjerojatnost da, primjerice slucajna varijablapoprimi vrijednost 1. To zapravo znaci da je palo pismo prilikom bacanjasimetricnog novcica, tj.

P (X = 1) = 0.5,

P (X = 0) = 0.5.

Slucajna varijabla definirana u prethodnom primjeru je specijalni slucajtzv. Bernoullijeve ili binomne slucajne varijable. Binomna slucajna va-rijabla je slucajna varijabla koja se definira nad Bernoullijevim pokusom,tj. pokusom koji ima dva moguca ishoda, od kojih jedan ima vjerojatnostp ∈ [0, 1], a drugi q = 1− p. Binomna se varijabla definira na sljedeci nacin

X =

0 ako se dogodio prvi ishod1 ako se dogodio drugi ishod

Jasno je da za binomnu slucajnu varijablu vrijedi

P (X = 1) = p,

P (X = 0) = q = 1− p.

Sada se vidi da je slucajna varijabla, definirana u prethodnom primjeru,binomna slucajna varijabla s vjerojatnoscu p = 0, 5.

Sljedeca istaknuta slucajna varijabla je diskretna uniformna slucajnavarijabla. To je varijabla koja opisuje pokus koji ima n mogucih ishoda,od kojih su svi jednako vjerojatni. Varijabla se definira na sljedeci nacin:

Page 118: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

108 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

X = i ako se pojavio i-ti ishod., i ∈ 1, . . . , n

Jasno je da je

P (X = i) =1n

za svaki i = 1, . . . , n.

Primjer 3.47 Neka je dana serija od 1000 proizvoda, od kojih je 20 oste-cenih. Serija se kontrolira na sljedeci nacin: kontrolor nasumce bira 10proizvoda i provjerava ih. Serija se smatra korektnom ako u kontrolnomuzorku nema vise od 20% neispravnih proizvoda. Kolika je vjerojatnost daserija bude proglasena korektnom?

Ovo se moze izracunati direktno, ali mogu se koristiti i slucajne varijable.

Definirajmo slucajnu varijablu X na sljedeci nacin:

X = k, k ∈ 0, . . . , 10,

ako se u slucajnom uzorku nalazi k neispravnih proizvoda

Pitanje iz zadatka se sada moze zapisati na sljedeci nacin:

P (X ≤ 2) =?

Pogledajmo kolika je vjerojatnost da je X = k. Od 1000 proizvoda 10

ih se moze izabrati na(

100010

)nacina. Na koliko nacina mozemo izabrati

10 elemenata tako da ih k bude neispravnih? Iz uzorka moramo izabrati kneispravnih i 10 − k ispravnih proizvoda. Neispravni se mogu izabrati na(

20k

)nacina, a 10− k ispravnih se mogu izabrati na

(980

10− k

). Dakle,

imamo

P (X = k) =

(20k

)·(

98010− k

)

(100010

)

Page 119: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 109

P (X = 0) =

(200

)·(

98010

)

(100010

) ≈ 0, 8163179

P (X = 1) =

(201

)·(

9809

)

(100010

) ≈ 0, 1679701

P (X = 2) =

(202

)·(

9808

)

(100010

) ≈ 0, 0147901

P (X = 3) =

(203

)·(

9807

)

(100010

) ≈ 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 proglasena korektnom.

Slucajna varijabla iz prethodnog primjera primjer je tzv. hipergeomet-rijske slucajne varijable Hipergeometrijska slucajna varijabla definira se kaoslucajna varijabla s m mogucih vrijednosti, pri cemu je

P (X = k) =

(rk

)·(

n− rm− k

)

(nm

) .

Definicija 3.43 Neka je X slucajna varijabla. Neka red∑

ω∈Ω

X(ω) ·P (ω)apsolutno konvergira. Tada je matematicko ocekivanje

EX =∑

ω∈Ω

X(ω) · P (ω).

Page 120: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

110 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

Vratimo se sada na binomnu slucajnu varijablu. Neka je Xn slucajnavarijabla koja daje slucajni broj uspjeha kada se Bernoullijev pokus ponovin puta. Zanima nas kakva se vrijednost varijable Xn moze ocekivati? Ma-tematicko ocekivanje ove slucajne varijable je

EXn =n∑

i=1

i · P (Xn = i)

Kolika je vjerojatnost P (Xn = i)? Lako se vidi da je P (Xn = i) =(ni

)pi · qn−i. Dakle,

EXn =n∑

i=1

i ·(

ni

)piqn−i (3.42)

Definicija 3.44 Neka je X slucajna varijabla nad diskretnim vjerojatnos-nim prostorom (Ω, P ). Tada se njoj na jednoznacan nacin moze pridruzititablica

(a1 a2 . . . an . . .p1 p2 . . . pn . . .

)

pri cemu je ai ∈ Ω, a pi = P (X = ai). Gornja se tablica naziva distribucijaslucajne varijable X

Primjer 3.48 Bacamo li simetrican novcic 6 puta. Koliko se ocekuje dace se puta pojaviti grb? Neka je X6 slucajna varijabla koja oznacava brojpojava grba u sest bacanja novcica. Distribucija ove slucajne varijable danaje s

X6 =(

0 1 2 3 4 5 6164

664

1564

2064

1564

664

164

). (3.43)

Prema formuli (3.42) vrijedi da je

EX6 =6∑

i=0

i ·(

6i

)·(

12

)6

= 3.

U prethodnom primjeru, u formuli (3.42) prikazana je distribucija slu-cajne varijable X. To je uobicajen zapis distribucije diskretne slucajne va-rijable. Npr, distribucija uniformne slucajne varijable se zapisuje kao

X =(

1 . . . n1n . . . 1

n

).

Page 121: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 111

Opcenito, binomna slucajna varijabla Xn ima distribuciju

X =

0 1 . . . n(n0

)· p0qn

(n1

)· p1qn−1 . . .

(nn

)· pnq0

pa je njeno matematicko ocekivanje dano s

EXn =n∑

i=0

i ·(

ni

)piqn−i

=n∑

i=1

i ·(

ni

)piqn−i

=n∑

i=1

i · n

i

(n− 1i− 1

)piqn−i

= npn∑

i=1

(n− 1i− 1

)pi−1qn−i

= npn−1∑

i=0

(n− 1

i

)piqn−i

= np(p + q)n−1

= np.

Teorem 3.17 Neka je slucajna varijabla dana s

X =(

a1 a2 . . .p1 p2 . . .

).

Tada, ako matematicko ocekivanje postoji, vrijedi

EX =∑

ω∈Ω

ai · pi.

Dokaz. Neka red∑

ω∈Ω

X(ω) · P (ω) apsolutno konvergira. Tada je

Page 122: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

112 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

EX =∑

ω∈Ω

X(ω) · P (ω)

=∑ai

ω ∈ ΩX(ω) = ai

X(ω) · P (ω)

=∑ai

ai · P (X = Ai)

=∑ai

ai · pi.

Navedimo neka svojstva matematickog ocekivanja:

Teorem 3.18 Neka su X i Y slucajne varijable, α, β ∈ R i neka je g : R→ Rproizvoljna realna funkcija. Tada je:

1. Eg(X) =∑ai

g(ai)pi,

2. E(αX + βY ) = αEX + βEY ,

Dokaz.

1. Neka matematicko ocekivanje od X postoji. Tada vrijedi

Eg(X) =∑

ω∈Ω

g(ω)P (ω)

=∑ai

g(ai)P (X = ai)

=∑ai

g(ai)pi.

2. Ako X i Y imaju dobro definirano matematicko ocekivanje, onda je

E(αX + βY ) =∑

ω∈Ω

(αX + βY )(ω) · P (ω)

=∑

ω∈Ω

(αX(ω) + βY (ω))

= α∑

ω∈Ω

X(ω)P (ω) + β∑

ω∈Ω

Y (ω)P (ω)

= αEX + βEY.

Page 123: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 113

Time je teorem dokazan.

Primjer 3.49 Zadana je diskretna uniformna slucajna varijabla. Izracu-najmo njeno matematicko ocekivanje.

EX =n∑

i=0

i · 1n

=n + 1

2

Primjer 3.50 Izracunajmo matematicko ocekivanje slucajne varijable kojaima hipergeometrijsku distribuciju.

Imamo

EX =m∑

k=0

k ·

(rk

)·(

n− rm− k

)

(nm

)

=m∑

k=1

k ·

(rk

)·(

n− rm− k

)

(nm

)

=1(nm

)m∑

k=1

k ·(

rk

)·(

n− rm− k

).

Prema pravilu apsorpcije slijedi da je

EX =1(nm

)m∑

k=1

k · r

k·(

r − 1k − 1

)·(

n− rm− k

)

= r · 1(nm

)m∑

k=1

(r − 1k − 1

)·(

n− rm− k

)

= r · 1(nm

)m∑

k=0

(−1)(

r − 1k

)·(

n− rm− k − 1

).

No, kako vrijedi da je

l∑

k=0

(ak

)·(

bl − k

)=

(a + b

l

),

Page 124: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

114 3.8. DISKRETNA TEORIJA VJEROJATNOSTI

Izlazi da je

EX = r · 1(nm

)(

n− 1m− 1

)

= r · 1

nm

(n− 1m− 1

)(

n− 1m− 1

)

=m

n· r.

No, matematicko ocekivanje nam samo daje ocekivanu vrijednost slucaj-ne varijable. Druga vazna informacija koja se moze izracunati jest kolikice biti rasap vrijednosti slucajne varijable oko te ocekivane vrijednosti, tj.koliko se moze ocekivati da ce se vrijednost u vecini slucajeva udaljavati odocekivane vrijednosti?

Definicija 3.45 Neka je X slucajna 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 Izracunajmo varijancu i standardnu devijaciju diskretne uni-formne slucajne varijable. Njena varijanca iznosi

V arX = E

[(X − n + 1

2

)2]

=n∑

i=1

(i− n + 1

2

)2

· 1n

=1n

[n∑

i=1

i2 − (n + 1) ·n∑

i=1

i +(n + 1)2

4· n

]

=n2 − 1

12,

odnosno

σX =√

3 · √n2 − 16

.

Za kraj ovog poglavlja dat cemo jos jedan zanimljiv pojam - pojamindikatorske slucajne varijable.

Definicija 3.46 Neka je A dogadaj iz Ω. Tada se indikatorska slucajnavarijabla dogadaja A definira kao

Page 125: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 115

I(A) =

1 ako se dogadaj A dogodio0 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 (AC) = P (A).

Primjer 3.52 Neka je X slucajna varijabla koja oznacava broj glava kojesu pale prilikom n bacanja simetricnog novcica.

Neka je Xi slucajna varijabla koja oznacuje uspjeh i-tog bacanja. Nekaje

Yi = I(X = i),

X =n∑

i=0

Yi,

Tada je

EX = E

[n∑

i=0

Yi

]=

n∑

i=0

EYi =n

2.

Ako gledamo opcenitu binomnu varijablu, imat cemo:

EXn = E

[n∑

i=0

Yi

]=

n∑

i=0

EYi = np.

Ovaj smo rezultat vec dobili i ranije, bez koristenja indikatorksih vari-jabli, no uz koristenje indikatorskih varijabli, postupak dobivanja ovog rezul-tata postao je znatno jednostavniji i kraci. Indikatorske varijable ne donosenista nova, no omogucuju da se neki pojmovi jednostavnije zapisu te da sepostupak 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 = ∅. Ispisite 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?

Page 126: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

116 3.9. ZADACI

5. Zadana je relacija

ρ = (a, b) ∈ S | a je visekratnik od b ,

S = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

(a) Ispisite sve elemente zadane relacije.

(b) Koja svojstva ima zadana relacija (refleksivnost, simetricnost, an-tisimetricnost, 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 oznacava da a dijeli b.

(a) Ispisite sve elemente relacije.

(b) Provjerite da li je tom relacijom zadana relacija parcijalnog ure-daja.

(c) Prikazite relaciju pomocu skupa uredenih parova.

(d) Prikazite relaciju pomocu usmjerenog grafa.

(e) Prikazite relaciju pomocu Hasseovog dijagrama.

7. Zadan je skup tocaka u ravnini bez ishodista. Za a, b ∈ S definiramoa ∼ b ako je a = b ili ako a i b leze na pravcu kroz ishodiste.

(a) Dokazite da je ∼ relacija ekvivalencije.

(b) Nadite klase ekvivalencije zadane relacije.

8. Neka su R1 i R2 refleksivne i simetricne relacije na A. Provjerite jesuli tada i R1 ∩R2 i R1 ∪R2 refleksivne i simetricne relacije na A?

9. (a) Moze 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?

Obrazlozite svoje odgovore.

10. Neka je R relacija ekvivalencije na A, a S relacija ekvivalencije naB. Definiramo ((a2, b1), (a2, b2)) ∈ T ako i samo ako je (a1, a2) ∈ R i(b1, b2) ∈ S.

Dokazite da je T relacija ekvivalencije na A×B.

Page 127: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 117

11. Neka je A = Z2. Za a = (a1, a2) b = (b1, b2) iz A definiramo

a ¹ b ⇔ a1 + a2 ≤ b1 + b2.

Pokazite da je ¹ parcijalni uredaj na A. Da li je ovo totalni uredaj?

12. Napisite sve moguce relacije na skupu A = 1, 2.13. Na skupu S = a, b, c napisite jednu relaciju ekvivalencije i jednu

relaciju parcijalnog uredaja.

14. Rjesite sustav:

x ≡ 2(mod 7)x ≡ 7(mod 11)x ≡ 5(mod 13).

15. Rjesite sustav:

x ≡ 3(mod 10)x ≡ 8(mod 15)x ≡ 5(mod 84).

(Primijetite da 5,15, 84 nisu po parovima relativno prosti.)

16. Neka je A = 1, 2 i B = a, b, c(a) Ispisite 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 razlicitih funkcija iz A u B?

18. Neka je bxc najveci cijeli broj manji od x. Definiramo funkciju f :R→ R formulom f(x) = x− bxc.(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.

Page 128: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

118 3.9. ZADACI

20. Neka je

A = a1, a2, a3, a4 iρ = (a1, a1), (a2, a1), (a2, a2), (a2, a3), (a2, a4), (a3, a3), (a3, a4),

(a4, a4).

(a) Odredite matricu susjedstva za ρ.

(b) Pokazite 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. Dokazite da ako je ρ relacija totalnog uredaja na A, tada je ρ ∪ ρ =A×A.

24. Dokazite da ako je ρ relacija totalnog uredaja i M njena matrica sus-jedstva onda je M + M> = I (jedinicna matrica).

25. Dokazite da kod zbrajanja modulo 2 vrijedi (a + b)2 = a2 + b2.

26. Dokazite sa otvoreni intervali < 1, 2 > i < 0, +∞ > imaju jednakekardinalne brojeve.

27. Neka su f : A → B i g : B → C funkcije. Dokazite

(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 Z6, Z7 i Z8 koji imaju inverze s obzirom namnozenje.

29. Dokazite pomocu matematicke indukcije da skup koji se sastoji od nelemenata ima 2n podskupova.

Page 129: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 119

30. Nadite kontraprimjer za jednakost

(A ∪B) ∩ C = A ∪ (B ∩ C).

31. Neka je za svaki n ∈ N, An = n. Sto je⋃

n∈N, a sto

⋂n∈N

?

32. Koje su od sljedecih funkcija bijekcije?

(a) f : R→ R, f(x) = 3x− 1

(b) f : R→ R, f(x) = 2x3

(c) f : R→ R, f(x) = x4

(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. beskonacnih nizova koji sesastoje od nula i jedinica. Pokazite da je S neprebrojivo beskonacan.

34. Pomocu metode karakteristicne jednadzbe pronadite eksplicitni zapissljedecih rekurzivnih jednadzbi:

(a) an = 3 · an−1, a0 = 1

(b) an = 4 · an−1 − an−2 − 6 · an−3, a0 = 0, a1 = 1, a2 = 17

(c) an = 2 · an−1 − an−2, a0 = 0, a1 = 1

(d) an = −an−1 − an−2, a0 = 0, a1 = 1

(e) an = an−1 + an−2 + 2 + 4 · n, a0 = 0, a1 = 1

(f) an = 2 · an−1 − 3 · an−2 + 3, a0 = 1, a1 = 1

(g) an = an2

+ 2 · n + 3, a1 = 1

35. Pokusajte rijesiti prethodne zadatke pomocu funkcija izvodnica.

36. Bakterije se razvijaju prema shemi: svaka zivi jedan sat i svakih polasata 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 jednaza drugom, na koliko nacina mozemo poredati jedinice na paradi?

38. U selu ima 10 mladica i 8 djevojaka. Na koliko se nacina oni moguspojiti u parove, tako da svaka djevojka ima jednog momka?

39. Imamo po tri kuglice crvene, plave i zute boje. Na koliko nacina ihmozemo razvrstati u tri kutije tako da u svakoj kutiji budu tocno trikuglice?

Page 130: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

120 3.9. ZADACI

40. Na koliko se razlicitih nacina covjek moze popeti uz n stepenica, akoodjednom moze zakoraciti na jednu ili dvije stepenice? Dva uspinjanjasmatramo jednakim ako smo krocili na tocno iste stepenice.

41. Komunikacijskim kanalom mogu se prenijeti poruke sastavljene odtriju simbola: a = ·, b = + i c = −. Dopustive su one poruke kodkojih se na susjednim mjestima ne pojavljuje simbol a. Koliko imadopustivih poruka duljine n?

42. Na koliko n pravaca najvise dijelova dijeli kruznicu?

43. Od 8 zena i 4 muskarca treba izabrati delegaciju. Na koliko se nacinamoze 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 muskih izenskih osoba?

44. U neprozirnoj vreci nalazi se devet obojenih kuglica: tri crvene, trizute i tri plave. Izvlacimo tri kuglice. Kolika je vjerojatnost da sve triizvucene kuglice budu iste boje?

45. U kosari se nalazi 20 jabuka, 10 crvenih i 10 zutih. Zna se da crvenejabuke trule brze 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 i15% crvenih sijalica ne radi. Iz kutije izvlacimo 10 sijalica i njih 3 neradi. Koja je vjerojatnost da su sve pokvarene sijalice crvene?

47. Lovac puca na glinene golubove. Na svakog goluba moze ispaliti dvametka. Vjerojatnost pogotka svakim metkom jest 20%. Lovac puca na10 golubova. Koliko se ocekuje da ce lovac pogoditi golubova? Kolikaje standardna devijacija matematickog ocekivanja?

48. Ljut na dvorskog matematicara car naredi da se donese n urni, n crnihi n bijelih kuglica. Matematicar mora rasporediti sve kuglice u urnetako da u svakoj urni bude barem jedna kuglica. Dvorski ce krvniknasumce odabrati jednu od tih urni i slucajno izvuci jednu kuglicu.Ako izvuce bijelu, car ce pomilovati matematicara, a ako izvuce crnu,bit ce pogubljen. Kako matematicar treba rasporediti kuglice da imanajvece izglede da prezivi? Nadite optimalan raspored i vjerojatnostpomilovanja. Za koji najmanji n matematicar ima bar 90% izgleda daprezivi?

Page 131: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 3. DISKRETNA MATEMATIKA 121

49. Meta se gada cetiri puta uz vjerojatnost pogotka od 0,8. Neka je Xslucajna varijabla cija je vrijednost broj pogodaka u metu. Pronadite

(a) distribuciju za X,

(b) P (1 ≤ X ≤ 3).

50. Pokus se sastoji od bacanja nesimetricnog novcica, na kojemu vjero-jatnost da se pojavi glava iznosi p. Neka se pokus sastoji od n bacanjanovcica. Koristenjem indikatorske varijable izracunajte vjerojatnostda se glava pojavila najmanje k puta.

3.10 Projekti

1. Promatrajte relacije na S × S i njima pridruzene matrice susjedstva.Relaciji ρ pridruzena je matrica M(ρ). Na matricama definiramoBooleovu aritmetiku (zbrajanje i mnozenje modulo 2). Pokazite kakose kompozicija relacija povezuje s operacijama na njima pripadnim ma-tricama. Interpretirajte na isti nacin inverz relacije. U kakvoj su vezisvojstva relacija (refleksivnost, tranzitivnost) te odnos M(ρ) i M2(ρ).(Uputa: upotrijebite literaturu [3])

2. Upotrebom aritmetike modulo 3,7,12 i 100 moze se napraviti algoritamza izracunavanje dana u tjednu za bilo koji datum od 1900. do 2100.godine. Objasnite taj algoritam.

Page 132: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

122 3.10. PROJEKTI

Page 133: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Bibliografija

[1] Cormen, T. H.; Lieserson, C. E,; Rivest, R. L.; Stein, C.: Introductionto Algorithms, 2nd edition, The MIT Press, Cambrige, 2001.

[2] Devlin, K.: Sets, Functions and Logic, Chapman & Hall/CRC, NewYork, 2004.

[3] Dymacek, W.M.; Sharp, H.: Introduction to Discrete Mathematics,WBC/McGraw-Hill, International Editions, New York, 1998.

[4] Divjak, B.; Hunjak, T.: Matematika za informaticare, TIVA-FOI,Varazdin, 2004.

[5] Goodaire, E.G.; Parmenter, M.M.: Discrete Mathematics with GraphTheory , Prentice-Hall, Upper Side River, 1998.

[6] Lipschutz, S.; Schiller, J.J.: Finite Mathematics, 2nd ed., Schaumm’sOutline Series, McGrow-Hill, New York, 1995.

[7] Pavkovic, B., Dakic, 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] Sikic, Z: Kako je stvarana novovijekovna matematimka, Skolska knjiga,Zagreb, 1989.

[11] Tucker, A.: Applied Combinatorics, 3rd 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

Page 134: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

124 BIBLIOGRAFIJA

Page 135: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Poglavlje 4

Algoritmi

Moze se ciniti da smo dostigli granicemoguceg u racunalnoj tehnologiji.Ipak, s takvim izjavama treba bitioprezan, jer bi mogle zvucati smijesnoza pet godina.

John von Neumann (izrekao 1949.)

4.1 Pojam algoritma

Algoritam je striktno definirani postupak kojidaje rjesenje nekog problema. Iako se pojam al-goritma koristi intenzivno u posljednje vrijeme,odnosno od pojave racunala, on je nastao mnogoranije, prvenstveno u matematici. Prvi znacajnialgoritam, koji se jos i danas koristi, nastao jejos u 3. st. prije nase ere. Taj je algoritam poz-nat kao Euklidov algoritam jer ga je prvi opisaogrcki matematicar Euklid u svojoj knjizi ”Ele-menti” (Στoιχεια). Sam naziv dolazi od imenaIranskog matematicara Abu Ja’far Mohammed ibnMusa al-Khowarizmı koji je 825. godine napisaoknjigu pod nazivom ”Pravila restoracije i reduk-cije”.

Slika 4.1: Donald ErwinKnuth

D.E. Knuth (1938-) je dao pet svojstava koja algoritam mora zadovoljavati:1. Konacnost. Algoritam mora zavrsiti nakon izvrsenih konacno mnogo

koraka. Takoder, algoritam mora biti opisan pomocu konacnog brojaoperacija, a i svaka operacija mora biti konacne duljine.

2. Definitnost. Svaki korak algoritma mora sadrzavati nedvosmislene,rigorozno definirane operacije.

125

Page 136: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

126 4.1. POJAM ALGORITMA

3. Ulaz. Svaki algoritam mora imati 0 ili vise ulaza.

4. Izlaz. Svaki algoritam mora imati 1 ili vise izlaza.

5. Efektivnost. Algoritam mora biti efektivan, tj. mora biti takav dase moze izvesti samo uz pomoc olovke i papira u konacno vrijeme.

Treba napomenuti da je algoritam intuitivni pojam te da ga vec go-

Slika 4.2: Alonzo Church

dinama matematicari pokusavaju striktno defini-rati. Postoji citav niz razlicitih pokusaja formali-zacije pojma algoritma. Medutim, do danas nijedokazano da li je ijedna od tih formalizacija ko-rektna. Postoji tek tvrdnja, poznata kao Chur-chova teza ili Churchova hipoteza koja kaze da suλ-racun, Turingov stroj, logika Hornovih klauzulaitd, dobro definirani modeli algoritma. Ova tvrd-nja, medutim, nikada nije dokazana.Bez obzira na to, moze se reci da je algoritampostupak za rjesavanje nekog masovnog problema.Masovni problem je opcenito pitanje na koje je

potrebno naci odgovor, a koje obicno ima parametre koji kod zadavnja pro-blema ostaju neodredeni. Upravo zbog toga sto parametri masovnog pro-blema ostaju neodredeni, za problem kazemo da je masovan. Pri definicijimasovnog problema potrebno je zadati:

1. generalni opis svih parametara,

2. ogranicenja koja rjesenje masovnog problema mora zadovoljavati.

Specificiranjem svih parametara masovnog problema dobivamo instancuproblema.

Za algoritam kazemo da rjesava masovni problem ako daje rjesenje zasvaku pojedinu instancu problema.

Kao primjer opisimo jedan od najstarijih i najpoznatijih algoritama,vec ranije spomenuti Euklidov algoritam za pronalazenje najvece zajednickemjere dvaju prirodnih brojeva.

Algoritam 4.1 (Euklidov algoritam)ULAZ: Dva prirodna broja a i b.IZLAZ: Najveca zajednicka 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.

Page 137: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 127

4. Ako je r 6= 0 idi na 2.

5. Vrati a.

Postavlja se pitanje kako mozemo biti sigurni da je algoritam ispravan?Potrebno je formalno dokazati da je ovaj algoritam korektan. To znaci datreba dokazati da ce za svaka dva broja ovaj algoritam dati rjesenje nakonkonacnog broja koraka, a da ce dano rjesenje zaista biti najveca zajednickamjera tih dvaju brojeva.

Lema 4.1 Neka su a, b, r ∈ N. Ako je a = b·q+r, onda je M(a, b) = M(b, r).

Dokaz. Napomenimo na pocetku da brojevi a i b moraju biti razlicitiod 0, jer u suprotnom njihova najveca zajednicka mjera nije definirana.

M(b, r) mora biti djeljivo s b i s r po definiciji zajednicke mjere. No ondaje M(b, r) djeljivo s bq+r = a. Dakle, M(b, r) je zajednicka mjera brojeva a ib. Opcenito, kako je M(a, b) najveca zajednicka mjera brojeva a i b, a M(b, r)je takoder zajednicka 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 zajednicka mjera brojeva b i r. No kako je M(b, r) najveca mjeratih 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 zavrsiti, a kada zavrsi vratit cenajvecu zajednicku mjeru brojeva s ulaza.

Dokaz. Prvo dokazimo da algoritam zavrsava. Primijetimo da je ostatakod dijeljenja uvijek manji od djelitelja. Stoga je r uvijek manji od b, takoda se b uvijek smanjuje barem za 1. S druge strane, ostatak kod dijeljenjauvijek je prirodan broj ili 0. Zbog ove dvije cinjenice nakon najvise b korakar mora postati 0 i u tom trenutku algoritam ce stati.

Drugo sto trebamo dokazati jest tocnost rjesenja 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 najveca zajednicka mjera broj b, a to je upravo ono sto cealgoritam vratiti u ovom slucaju.

Korak indukcije: pretpostavimo da tvrdnja vrijedi kada se do rjesenjadode u najvise k prolaza.

Pretpostavimo da je algoritam zavrsio 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 kprolaza, vrijedi da je algoritam pronasao mjeru brojeva b i r, a onda prematvrdnji 4.1 vrijedi da je nadeni broj ujedno i najveca zajednicka mjera bro-jeva a i b.

Page 138: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

128 4.1. POJAM ALGORITMA

Primijetimo da svaka dva prirodna broja imaju jedinstvenu najvecu za-jednicku mjeru.

Zadatak 4.1 Dokazite postojanje i jedinstvenost najvece zajednicke mjeredvaju prirodnih brojeva.

Najveca zajednicka mjera se, na isti nacin kao sto je definirana za pri-rodne brojeve, moze definirati i za polinome. Stovise, tom slucaju za njenopronalazenje mozemo primijeniti algoritam analogan Euklidovom algoritmuza brojeve. Vise o tome moze se naci u [8]

Sljedeci algoritam, koji cemo ovdje obraditi jest Hornerov algoritam iliHornerova shema. To je algoritam koji izracunava vrijednost polinoma uzadanoj tocki. Prije negoli zapisemo ovaj algoritam, dokazat cemo nje-govu ispravnost. Nas Hornerov algoritam prvenstveno zanima s aspektaizracunavanja vrijednosti polinoma u zadanoj tocki, no sam Hornerov algo-ritam ima i druge aspekte. Vise o tome mozete naci u [8].

Polinom n-tog stupnja je funkcija oblika

Pn(x) = anxn + an−1xn−1 + . . . + a1x + a0.

Izlucimo li iz prvih n pribrojnika gornjeg polinoma x, dobit cemo

Pn(x) = (anxn−1 + an−1xn−2 + . . . + a1)x + a0.

Ponovimo li ovaj postupak na prvih n − 1 pribrojnika unutar zagrade,imat cemo

Pn(x) = ((anxn−2 + an−1xn−3 + . . . + a2)x + a1)x + a0.

Ponovimo li ovaj postupak jos n− 3 puta konacno dobivamo

Pn(x) = ((. . . ((anx + an−1)x + an−2) + . . . + a2)x + a1)x + a0.

Ovaj se oblik polinoma naziva Hornerova shema. Sljedeci algoritamizracunava vrijednost polinoma Pn(x) u tocki x koristeci posljednji oblikpolinoma.

Algoritam 4.2 (Hornerov algoritam)ULAZ: Broj x ∈ RIZLAZ: Vrijednost P (x) = anxn + an−1x

n−1 + . . . + a1x + a0

1. i := n− 1, p := an.

2. p := p · x + ai.

3. i := i− 1.

Page 139: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 moze izracunati i iz njegovog uobicajenog oblika sljedecimalgoritmom:

Algoritam 4.3ULAZ: Broj x ∈ RIZLAZ: Vrijednost P (x) = anxn + an−1x

n−1 + . . . + a1x + a0

1. i := 0, p := 0

2. p := p + ai · xi

3. i := i + 1

4. Ako je i ≤ n idi na 2

5. Vrati p.

Korektnost ovog algoritma je ocita. Usporedimo sada ova dva algo-ritma za pronalazenje vrijednosti polinoma. Usporedivat cemo ih po brojuracunskih operacija koje trebaju izvesti da bi izracunali rjesenje. Pri tomenecemo uracunavati racunske operacije potrebne za povecanje, odnosno sma-njenje brojaca i. To i tako nije vazno, jer prvi algoritam ima n smanjenja,a drugi n + 1 povecanje brojaca i, sto je zanemariva razlika.

Algoritam 4.2 prolazi kroz korake od 2 do 4 tocno n puta. U svakomprolazu on u koraku 2 napravi jedno zbrajanje i jedno mnozenje. To ukupnodaje n zbrajanja i n mnozenja.

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 mnozenje i jedno poten-ciranje. Bez vece pogreske, potenciranje se moze shvatiti kao niz uzastopnihmnozenja. Pri tome izracunavanje x0 i x1 ne zahtjeva nijedno mnozenje,

dok za i > 1 xi zahtjeva i − 1 mnozenje. To ukupno dajen−1∑i=1

i = (n−1)n2

mnozenja. Dakle, algoritam 4.3 zahtijeva n + 1 zbrajanje i (n + 1) + (n−1)n2

mnozenja. Broj mnozenja u ovom algoritmu raste kvadratno i veci je odbroja mnozenja u Hornerovu algoritmu za svaki n ∈ N.

Primijetimo da se u algoritmu 4.3 izracunavaju sve vece i vece poten-cije istog broja x. Jasno je da se svaka sljedeca potencija moze izracunatimnozenjem potencije dobivene u prethodnom koraku s x, tj. xi = xi−1 · x.Ovakav ce pristup znatno smanjiti broj mnozenja u algoritmu. Ugradiva-njem ove ideje u algoritam 4.3 dobit cemo sljedeci algoritam:

Page 140: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

130 4.2. SLOZENOST ALGORITAMA

Algoritam 4.4ULAZ: Broj x ∈ RIZLAZ: Vrijednost P (x) = anxn + an−1x

n−1 + . . . + a1x + a0

1. i := 0, p := 0, y := 1.

2. p := p + ai · y.

3. i := i + 1, y := y · x.

4. Ako je i ≤ n idi na 2.

5. Vrati p.

Pogledajmo sada broj mnozenja i zbrajanja u ovom algoritmu. I opetbroj prolaza kroz korake 2 do 4 bit ce n + 1. U svakom prolazu imamojedno zbrajanje u koraku 2. Isto tako imamo jedno mnozenje u koraku 2,ali i jedno mnozenje u koraku 3. To daje ukupno n + 1 zbrajanja i 2n + 2mnozenja, sto je daleko bolje nego kod algoritma 4.3, ali jos uvijek vise negodvostruko losije nego kod algoritma 4.2.

Cilj ove analize jest pronaci broj operacija koje algoritam mora izvestikako bi izracunao rjesenje. Smatrat cemo da je bolji onaj algoritam kojiizvodi manje operacija, jer ce on i brze zavrsiti. Stoga je Hornerov algoritamsuperioran nad preostala dva, i to je razlog zbog cega se on koristi.

Ova nas analiza uvodi u sljedece poglavlje koje ce se baviti slozenoscu al-goritama, tj. mjerom pomocu koje ce se moci usporedivati razliciti algoritmikoji rjesavaju isti problem.

4.2 Slozenost algoritama

U proslom smo poglavlju vidjeli da se za isti problem mogu dati razlicitialgoritmi. Ako su dana dva ili vise algoritma, koja rjesavaju isti masovniproblem, prirodno se postavlja pitanje koji od njih izabrati i koristiti. Zbogtoga je potrebno odrediti mjeru kakvoce algoritma, kako bismo pri izborumogli izabrati onaj algoritam koji je bolji. U ovom cemo se poglavlju bavitiupravo mjerenjem kakvoce algoritama.

Kako mjeriti kakvocu pojedinog algoritma, odnosno sto treba mjeritida bi se dobila kakvoca algoritma? Ono sto se mjeri jest kolicina resursakoje algoritam treba da bi rijesio problem. Dvije mjere koje se najcescekoriste za odredivanje kakvoce algoritma jesu vrijeme potrebno za izvrsenjealgoritma i prostor potreban za pohranjivanje ulaznih i izlaznih rezultata,kao i medurezultata. Prva od ovih dviju mjera zove se vremenska slozenostalgoritma, a druga se zove prostorna slozenost algoritma. U ovom cemose poglavlju, medutim, baviti samo vremenskom slozenoscu algoritama, jerje ona mjera koja se najcesce koristi za ocjenjivanje kakvoce algoritama.

Page 141: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 131

Prostorna se slozenost koristi mnogo rijede. Za to postoje razlozi u kojesada necemo ulaziti.

Prvi problem koji se javlja kod odredivanja vremenske slozenosti algo-ritma jest kako naci mjeru koja nece ovisiti o brzini racunala na kojem sealgoritam izvodi, vec samo o samom algoritmu. Vrijeme potrebno algoritmuda izracuna rjesenje znatno ce ovisiti o brzini racunala na kojem se algoritamizvodi. Tako, uzmemo li vrijeme trajanja dvaju algoritama, takva ce mjeravrijediti jedino ako se oba algoritma izvode na istom racunalu. Medutim,takva mjera ne bi opcenito mnogo znacila. Mjera koju zelimo izvesti jesttakva da ona ne ovisi o racunalu, vec samo o algoritmu. Na taj bismo nacindobili mjeru koja bi imala apsolutno znacenje.

Stoga se vremenska slozenost ne izrazava vremenom potrebnim da algo-ritam izracuna rezultat, vec brojem elementarnih operacija koje algoritammora izvesti da bi izracunao rjesenje. Brza racunala izvode elementarneoperacije brze od sporijih. No, radi li se o racunalima koja imaju procesoreiste arhitekture, koji se tek razlikuju u brzini internog sata, onda ce brojoperacija koje algoritam mora izvesti biti isti. Naravno, radi li se o razlicitimprocesorima, i broj ce se elementarnih operacija razlikovati. No, ove ce raz-like biti neznatne: broj elementarnih operacija razlikovat ce se najvise zaneku multiplikativnu konstantu.

n0 Duljinaulaza

složenost

fmin

favg

fmax

Slika 4.3

Sljedeci problem je sto broj operacija koje izvodi algoritam nije fiksan,vec ovisi o velicini ulaza. Dakle, instance problema razlicitih dimenzija za-

Page 142: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

132 4.2. SLOZENOST ALGORITAMA

htjevat ce razlicit broj elementarnih operacija za obradu. Medutim, masovniproblem moze imati i razlicite instance iste duljine, cija vremenska slozenostne mora biti jednaka. Dakle, slozenost algoritma nije funkcija velicine ulaza(vidi sliku 4.3.)

Stoga se ocjena slozenosti vezuje uz odredenu instancu problema. Naj-cesce se koristi ocjena slozenosti najgoreg slucaja. Pri tome se ocjenjujeslozenost one instance problema odredene duljine za ciju obradu algoritamtreba najvise vremena. Druga mogucnost, koja nije tako znacajna jest ocje-na slozenosti najboljeg slucaja. Treca, najbolja, ali i najslozenija za izra-cunavanje, jest ocjena slozenosti prosjecnog slucaja. Ova slozenost namopisuje kako ce se u prosjeku algoritam ponasati. Dok se prve dvije slozenostivezuju za jednu instancu problema, u posljednjoj je potrebno u obzir uzetisve instance problema odredene duljine ulaza, te svakoj od njih pridruzitivjerojatnost pojavljivanja. Odabirom jedne od ove tri moguce slozenosti,dobijamo funkciju slozenosti algoritma u ovisnosti o duljini ulaza.

No, sama slozenost, bez obzira radi li se o maksimalnoj, minimalnoj iliprosjecnoj, moze biti funkcija koja nije analiticka, a ako i jest analiticka,moze zahtjevati vrlo slozenu formulu za prikaz. Podsjetimo se: analitickaje ona funkcija koja se moze prikazati formulom izgradenom pomocu arit-metickih operacija i transcedentnih funkcija. S druge strane, zelimo aproksi-mativno izraziti slozenost, a ne tocno. Naime, tocan broj operacija je vrlotesko izracunati, a i taj racun ne bi dao neki znacajan rezultat. Osim toga,sama brzina rada algoritma, kao sto smo vec rekli ovisit ce o racunalu nakojem se algoritam izvodi. Sve su to razlozi zbog kojih se tocan racunslozenosti ne isplati. Ono sto se isplati, i sto ce znacajno razlikovati al-goritme, jest cinjenica koliko brzo ce slozenost algoritma rasti u ovisnostiporasta velicine ulaza. Zbog toga cemo funkciju slozenosti aproksimiratijednostavnijom funkcijom, koja ce dobro opisivati rast funkcije slozenostipovecanjem nezavisne varijable (vidi sliku 4.3). Zato je prikladno uvestinotaciju koja ce jednostavno opisivati brzinu rasta funkcije slozenosti al-goritma. Uvodi se asimptotska ocjena rasta funkcije. Najcesce, kada seizracunava slozenost, aproksimacija se vrsi tako da aproksimativna funkcijakoja je jednostavnija od same funkcije slozenosti, dobro asimptotski opisujerast funkcije slozenost. No, dozvoljava se da za male n-ove ova aproksimacijane vrijedi (vidi sliku 4.3). Naime, pretpostavlja se da ce svi algoritmi, bezobzira na njihovu slozenost raditi zadovoljavajuce za male n-ove, a da ce veciproblemi nastati kad velicina ulaza poraste. Stoga se kod definicije asim-ptotskih ocjena funkcija dozvoljava da ocjena ne ocjenjuje funkciju dobro zan < n0. Na gornjem je grafu funkcija kojom se ocjenjuje slozenost nacrtanatako da omeduje odozgo slozenost u najgorem slucaju. To, medutim, nijenuzno. Naime, ako je funkcija f(n) ocjena slozenosti nekog algoritma, ondace i funkcija f(n) + c takoder biti funkcija koja ocjenjuje slozenost tog al-goritma. Radi se o tome da nas ne zanima stvarni iznos funkcije slozenosti,vec samo koliko brzo ta funkcija raste. Ovime smo zavrsili opis ocjene kakvu

Page 143: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 133

zelimo napraviti, pa nam samo jos preostaje da definiramo asimptotske ocje-ne funkcija slozenosti algoritama.

Definicija 4.1 Zadane su funkcije f, g : R→ R.

1. Kazemo da je f = O(g) ako postoji n0 ∈ N i c ∈ R+ takvi da za svakin ≥ n0 vrijedi |f(n)| ≤ c · |g(n)|. Druga oznaka: f(n) ¹ g(n).

2. Kazemo da je f = Ω(g) ako postoji n0 ∈ N i c ∈ R+ takvi da za svakin ≥ n0 vrijedi |f(n)| ≥ c · |g(n)|. Druga oznaka: f(n) º g(n).

3. Kazemo da je f = o(g) ako postoji n0 ∈ N i c ∈ R+ takvi da za svakin ≥ n0 vrijedi |f(n)| < c · |g(n)|. Druga oznaka: f(n) ≺ g(n).

4. Kazemo da je f = ω(g) ako postoji n0 ∈ N i c ∈ R+ takvi da za svakin ≥ n0 vrijedi |f(n)| > c · |g(n)|. Druga oznaka: f(n) Â g(n).

5. Kazemo da je f = Θ(g) ako postoji n0 ∈ N i c1, c2 ∈ R+ takvi da zasvaki n ≥ n0 vrijedi c1 · |g(n)| ≤ |f(n)| ≤ c2 · |g(n)|. Druga oznaka:f(n) ∼ g(n).

Iako ova definicija vrijedi za realne funkcije realne varijable, funkcijeslozenosti su uvijek funkcije sa N u N. Mi cemo, medutim, u ovom poglavljufunkcije s kojima cemo raditi definirati nesto sire, kao funkcije sa N u R.Razlog tome je sto se kod ocjene slozenosti cesto javljaju funkcije koje nisufunkcije sa skupa prirodnih brojeva u skup prirodnih brojeva. lg n,

√n i

sl. U biti, kada se jave ove funkcije, slozenost je funkcija sa skupa prirod-nih brojeva u skup prirodnih brojeva, ali se njihova brzina rasta ocjenjujeanalitickom funkcijom kojoj kodomena nije skup N.

Definirane ocjene formaliziraju intuitivni pojam brzine rasta funkcije.Tako mozemo kazati da ako vrijedi f(n) = O(g(n)) onda funkcija f ne rastebrze od g. Ako je pak f(n) = o(g(n)), onda kazemo da funkcija f rastesporije od g. Ako su O i o ocjene koje ocjenjuju funkciju ogranicavajuci jeodozgo, onda su Ω i ω ocjene koje to rade odozdo. Dakle, ako je f(n) =Ω(g(n)), onda kazemo da funkcija f ne raste sporije od g, a ako je f(n) =ω(g(n)), onda kazemo da funkcija f raste brze od g. Na kraju imamo ocjenuΘ, koja u sebi objedinjuje ocjene O i Ω. Ako je f(n) = Θ(g(n)), ondakazemo 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.

Page 144: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

134 4.2. SLOZENOST 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 tocke u prethodnom korolaru nazivaju se transpozitna

simetricnost.

Propozicija 4.2 Neka je P (n) = a0 + a1n + . . . + amnm polinom m-togstupnja. Onda je P (n) = Θ(nm).

Dokaz. Primjenom nejednakosti trokuta na | P (n) | imamo:

|P (n)| = |a0 + a1n + . . . + amnm|≤ |a0|+ |a1|n + . . . + |am|nm

≤ |a0|nm + |a1|nm + . . . + |am|nm

= (|a0|+ |a1|+ . . . + |am|)nm = c · nm

Pokazimo i obratno. Treba pokazati da je nm = O(P (n)). Napisimo polinomP (n) u sljedecem obliku:

P (n) = nm(a0 · 1nm

+ a1 · 1nm−1

+ . . . + am).

Za dovoljno veliki n ≥ n0 vrijedi da je ainm ≤ |am|

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

|am|2m pa je

P (n) ≥ nm(|am| − |am|2m

− . . .− |am|2m

)

= nm(|am| −m · |am|2m

)

= nm(|am| − |am|2

)

= nm · |am|2

.

Time je dokazano da vrijedi P (n) = Ω(nm), sto zajedno s prije do-kazanom tvrdnjom P (n) = O(n), a prema korolaru 4.1 daje tvrdnju ovepropozicije.

Iz prethodne propozicije proizlazi sljedeci korolar:

Korolar 4.2 Za proizvoljni a ∈ R je a = Θ(1).

Sljedeci teorem daje karakterizaciju asimptotskih notacija.

Page 145: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 135

Teorem 4.1

1. Ako je limn→∞

f(n)g(n) = 0, onda je f(n) = o(g(n))

2. Ako je limn→∞

f(n)g(n) = C, onda je f(n) = O(g(n))

3. Ako je limn→∞

g(n)f(n) = 0, onda je f(n) = ω(g(n))

4. Ako je limn→∞

g(n)f(n) = C, onda je f(n) = Ω(g(n))

5. Ako je limn→∞

g(n)f(n) = C, C 6= 0, onda je f(n) = Θ(g(n))

Dokaz. Sve tvrdnje se dokazuju slicno. Dokazat cemo, na primjer, prvutvrdnju.

Neka je

limn→∞

f(n)g(n)

= 0.

Onda je i

limn→∞

|f(n)||g(n)| = 0.

Prema definiciji limesa to znaci da za svaki ε > 0 postoji n0 ∈ N takav davrijedi da je

∣∣∣∣f(n)g(n)

∣∣∣∣ < ε.

No, sada imamo∣∣∣∣f(n)g(n)

∣∣∣∣ =|f(n)||g(n)| < ε.

Pomnozimo li gornju jednadzbu s |g(x)| > 0 dobit cemo

|f(n)| < ε|g(n)|,odakle slijedi da je f(n) = o(g(n)).

Ostale tvrdnje dokazite sami.Sada cemo dati jos neke odnose medu funkcijama koje se cesto javljaju

kod analize slozenosti algoritama.

Propozicija 4.3 Ako je a < b, onda je na ≺ nb.

Page 146: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

136 4.2. SLOZENOST ALGORITAMA

Dokaz. Vrijedi da je

limn→∞

na

nb= lim

n→∞1

nb−a

No, kako je b− a > 1, onda je

limn→∞

na

nb= lim

n→∞1

nb−a= 0

Sada prema teoremu 4.1 slijedi da je na ≺ nb.Sljedece 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 loga n ∼logb n.

Dokaz. Poznato je da za logaritme po razlicitim bazama a, b ∈ N\1vrijedi

loga n =logb n

logb a

Stavimo li c = 1logba

, imamo loga n = c · logb n, odnosno c · logb n ≤loga n ≤ c · logb n sto daje trazenu tvrdnju.

Ova propozicija nam govori da logaritmi po svim bazama asimptotskijednako brzo rastu. Stoga se cesto, pri ocjeni slozenosti algoritma, bazalogaritma zanemaruje i pise se lg n, sto znaci ”logaritam od n po proizvoljnojbazi”.

Propozicija 4.5 Neka je a ∈ N0. Tada vrijedi da je na ≺ na · lgb n ≺ na+1

Dokaz. Jasno je da vrijedi

limn→∞

na · lgb n

na+1= lim

n→∞lgb n

n.

Primijenimo li L’Hospitalovo pravilo na posljednji limes dobit cemo

limn→∞

na · lgb n

na+1= lim

n→∞c · b · 1

n · lgb−1 n

1

= limn→∞

c · b · lgb−1 n

n,

pri cemu konstanta c ovisi o bazi logaritama.Nakon b primjena L’Hospitalovog pravila dobija se

limn→∞

na · lgb n

na+1= lim

n→∞cb · b!

n= 0

Dakle,

Page 147: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 137

limn→∞

na · lg n

na+1= lim

n→∞ c · 1n

= 0

odakle slijedi na · lg n ≺ na+1.Druga se tvrdnja pokazuje slicno. Dokaz provedite sami.Iz gornje propozicije izlazi sljedeci korolar:

Korolar 4.3 lg n = o(n).

Uocimo iz gornjeg korolara da logaritmi asimptotski rastu sporije odlinearne 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 na ≺ bn

Dokaz. Primijenimo li na limes

limn→∞

bn

na

a puta L’Hospitalovo pravilo, dobivamo

limn→∞

na

bn= lim

n→∞a!

bn · lna b= 0

Iz cega, prema teoremu 4.1, slijedi tvrdnja propozicije.Ova propozicija je vrlo vazna i u svom iskazu daje jednu vrlo cesto spo-

minjanu tvrdnju, kako u teoriji algoritama, tako i u drugim matematickimdisciplinama: tvrdnju da eksponencijalna funkcija raste brze od bilo kojepolinomne funkcije.

Propozicija 4.7 Neka su a, b ∈ N\1, pri cemu je a < b. Tada je an ≺ bn.

Dokaz. Kako je 0 < ab < 1, slijedi da je

limn→∞

an

bn= lim

n→∞

(a

b

)n= 0

pa po teoremu 4.1 vrijedi an = o(bn).I na kraju, dolazi teorem koji opisuje jos neka vazna svojstva uvedenih

asimptotskih ocjena funkcija

Teorem 4.2 Za opisane ocjene slozenosti rasta funkcije vrijede sljedecasvojstva:

1. Tranzitivnost:

(a) Ako je f(n) = O(g(n)) i g(n) = O(h(n)) onda je i f(n) =O(h(n)).

Page 148: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

138 4.2. SLOZENOST 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. Simetricnost:

(a) Ako je f(n) = Θ(g(n)) onda je i g(n) = Θ(f(n)).

Dokaz. Dokaz izvedite sami.

Zadatak 4.2 Pokazite 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 Dokazite sljedece tvrdnje:

1. maxf(n), g(n) = Θ(f(n) + g(n)).

2. Za a ∈ R, b ∈ R+ vrijedi (n + a)b = Θ(nb).

Sada kad smo razvili aparat za ocjenjivanje slozenosti algoritama, pri-mijenimo taj aparat na Euklidov algoritam, koji je opisan u prethodnompoglavlju.

Primjer 4.1 Izracunajmo slozenost Euklidovog algoritma u najgorem slu-caju.

Za brojeve a i b izracuna se ostatak od dijeljenja a mod b te se algoritamponavlja za brojeve b u a mod b sve dok ne bude b = 0. Jasno je da je amod b < b, ali da je a mod b ≥ 0.

Koraci od 2 do 4 Euklidovog algoritma cine petlju. Vec smo ranije uocilida se ta petlja moze izvesti najvise b-puta. Pogledajmo sto se dogada ujednom koraku te petlje. Izracunava se a mod b i upisuje u r. Vrijednostvarijable b se upisuje u a, a vrijednost varijable r u b. Na kraju se provjeravaje li b = 0, te ako nije, vraca se na korak 2. Sve to, sto smo opisali mozese izvesti u konstantnom vremenu c1. Posljednji se korak algoritma izvoditocno jednom, a njegova je slozenost konstantna, recimo c2. Ako duljinuulaza definiramo kao duljinu manjeg od dvaju ulaznih brojeva, imat cemo:

Page 149: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 139

TEuklidmax (n) = qc · n + c2,

odnosno

TEuklidmax (n) = Θ(n).

4.3 Pretrazivanje i sortiranje

Pretrazivanje i sortiranje nizova elemenata su medu najznacajnijim postup-cima u modernom racunarstvu. Tim problemima posvecene su mnoge knji-ge. Postoji nekoliko razloga tome. Kao prvo, i pretrazivanje i sortiranjesu problemi toliko rasireni u racunarstvu da gotovo da i nema racunalnogprograma u primjeni koji u nekom svom dijelu ne sortira podatke ili ih nepretrazuje. Drugo, sortiranje je problem koji je dovoljno jednostavan i jasanda se moze uzeti kao model za objasnjavanje metoda izrade algoritama.Nadalje, postoji citav niz detaljno razradenih algoritama sortiranja, koji sekoriste razlicitim metodama izrade algoritama. Ovaj je problem pogodan iza objasnjavanje racunanja donje mede slozenosti problema, jer mu se mozeodrediti netrivijalna donja meda.

4.3.1 Pretrazivanje

Problem pretrazivanja moze se zadati na sljedeci nacin:

Problem 4.1ULAZ: Niz brojeva A = a1, . . . , an i broj x.IZLAZ: DA ako je x ∈ A, NE ako x 6∈ A.

Slijedno pretrazivanje

Prvi algoritam pretrazivanja je ujedno i najjednostavniji oblik pretrazivanjaneuredene liste. Algoritam redom usporeduje elemente liste sa zadanomvrijednoscu. Ako je neki od elemenata jednak trazenom, algoritam staje iodgovara da je nasao trazenu vrijednost. U suprotnom, algoritam prolazikroz cijelu listu do kraja i odgovara da nije pronasao zadanu vrijednost.

Algoritam 4.5ULAZ: Zadana vrijednost x, lista a1, . . . , an

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 ai = x odgovori da i stani.

Page 150: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

140 4.3. PRETRAZIVANJE I SORTIRANJE

4. i := i + 1.

5. Idi na 2.

Jasno je da ce ovaj algoritam stati nakon najvise n prolaza kroz korakeod 2 do 5. Isto tako je ocito da ce algoritam vratiti da ako trazena vrijednostpostoji u listi, dok ce u suprotnom vratiti ne.

Pogledajmo sada slozenost ovog algoritma. U najgorem slucaju, kadatrazene vrijednosti nema u listi, ovaj algoritam ima n prolaza kroz korakeod 2 do 5, a u (n + 1)-vom prolazu stane u koraku 2. Svi koraci ovogalgoritma su konstantnog trajanja, odnosno za njih je potreban konstantanbroj procesorskih otkucaja. Dakle, slozenost ovog algoritma moze se opisatisljedecom formulom:

T searchmax (n) = c1 + n · c2 + c3.

Pri tome je c1 vrijeme trajanja prvog koraka algoritma, c2 ukupno vri-jeme trajanja koraka 2 do 5, a c3 vrijeme trajanja koraka 2. Dakle,

T searchmax (n) = Θ(n).

Pogledajmo kako ovaj algoritam radi kada trazena vrijednost postoji ulisti. U tom slucaju, za algoritam je najgore da vrijednost bude na posljed-njem mjestu u listi. Tada se koraci 2 i 3 izvrsavaju n puta, a koraci 4 i 5n− 1 puta. U tom je slucaju

T searchmax (n) = c1 + n · c2 + (n− 1) · c3

= c1 − c3 + n · (c2 + c3)= Θ(n)

pri cemu je c1 trajanje prvog koraka, c2 trajanje koraka 2 i 3 zajedno, ac3 trajanje koraka 4 i 5 zajedno.

Najbolji je slucaj kada se element nalazi na prvom mjestu u listi. Tadase koraci 1 do 3 izvrsavaju tocno jednom, a koraci 4 i 5 nijednom. Slozenostje u najboljem slucaju

T searchmin (n) = c1 = Θ(1).

Pogledajmo jos i prosjecni slucaj kada se element nalazi u listi. Pret-postavljamo da je vjerojatnost da se trazeni element nalazi na bilo kojemmjestu 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 sekorak 1 izvrsava jednom, koraci 2 i 3 i puta, a koraci 4 i 5 i− 1 puta. Stogaimamo:

Page 151: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 141

T searchavg (n) = c1 +

n∑

i=1

1n· [i · c2 + (i− 1) · c3]

= c1 +1n

[c2

n∑

i=1

i + c3

n−1∑

i=0

i]

= c1 +1n

[c2n(n + 1)

2+ c3

(n− 1)n2

]

= c1 +c2

2· (n + 1) + +

c3

2· (n− 1)

= c1 +c2

2− c3

2+ (

c2

2+

c3

2) · n = Θ(n).

Ako je lista neuredena, bolje od ovog algoritma se ne moze. Ako su,medutim, elementi u listi uredeni po velicini, onda se moze pronaci boljialgoritam za odredivanje postojanja neke vrijednosti u listi.

Binarno pretrazivanje

Pretpostavimo da je zadana sortirana lista, tj. lista u kojoj su elementiporedani od najmanjeg do najveceg.

Pretrazivanje koje se u tom slucaju moze koristiti, naziva se binarnopretrazivanje. Uredenost liste omogucuje da se ne pregledavaju svi elementiliste, vec samo neki od njih. Prvo usporedujemo zadanu vrijednost s ele-mentom koji se nalazi u sredini liste (ili otprilike u sredini, ako lista imaparan broj elemenata). Ako je taj element jednak trazenoj vrijednosti, ondazavrsavamo s pretrazivanjem. Ako nije tako, onda se gleda je li vrijednostsrednjeg elementa liste veca ili manja od trazene. Ako je vrijednost veca odtrazene, onda se trazeni element, ukoliko se nalazi u listi, mora nalaziti unjenoj prvoj polovici. Ako je srednji element manji od trazenog, onda trazenielement, ukoliko se nalazi u listi, mora biti u drugoj polovici liste. U drugomse koraku uzima polovica liste u kojoj se moze nalaziti trazeni element i nanjoj se primjenjuje binarno pretrazivanje. Tako se lista smanjuje dok se nedode do jednoclane liste, u kojoj se izravno provjerava sadrzi li njen elementtrazenu vrijednost ili ne. Formalno, algoritam izgleda ovako:

Algoritam 4.6 (Binarno pretrazivanje)binsearch(f, l, x, a)ULAZ: Kursor f na pocetak liste, kursor l na kraj liste i trazena vrijednostx, lista a1, . . . , an.IZLAZ: Da ako vrijednost x postoji u listi, a ne u suprotnom.

1. p := bf+l2 c.

2. Ako je ap = x vrati da i stani.

Page 152: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

142 4.3. PRETRAZIVANJE I SORTIRANJE

3. Ako je ap > x i ako je p > f onda pozovi binsearch(f, p− 1, x, a).

4. Ako je ap < 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 vise problema istog tipa,ali manje dimenzije nazivaju se podijeli pa ovladaj (engl. divide and conquer)algoritmi. Podijeli pa ovladaj je vrlo efikasna metoda, koja najcesce dajevrlo efikasne algoritme.

Propozicija 4.8 Binarno pretrazivanje je korektan algoritam za pretrazi-vanje sortirane liste.

Dokaz. Treba dokazati da ce algoritam uvijek stati, te da ce vratiti ispravanodgovor.

Pretpostavimo da x nije u listi. Tada algoritam sigurno nece stati ukoraku 2. No kod svakog novog poziva funkcije binsearch, njoj se smanjiparametar f ili joj se poveca parametar l. Tako da je nakon konacno mnogoprolaza sigurno l− f ≤ 1. No, kada se to dogodi, nece biti zadovoljen uvjetizvrsavanja ni koraka 3, ni koraka 4, pa ce se izvrsiti korak 5 i algoritam cestati s ispravnim odgovorom.

Pretpostavimo da se x nalazi u listi. Primijetimo da je kod svakog pozivafunkcije binsearch uvijek af ≤ x ≤ al. Drugim rijecima, element koji imavrijednost x je uvijek izmedu af i al. No, zbog priblizavanja vrijednosti f il u svakom prolazu, na kraju ce postati ap = x i algoritam ce stati u koraku2 i to s ispravnim odgovorom.

Odredimo sada slozenost ovog algoritma.Neka je n duljina liste koja se promatra. Ako je n = 1, onda ce se, sadrzi

li lista vrijednost x, izvrsiti samo koraci 1 i 2. Ne sadrzi li lista vrijednostx, izvrsit ce se korak 1, provjerit ce se uvjeti koraka od 2 do 4 i na krajuce se izvrsiti korak 5. Kako su sve operacije u svim koracima elementarne,slozenost je svakog koraka konstantna. Odavde zakljucujemo da je

T binsearchmax (1) = T binsearch

min (1) = Θ(1).

No, onda je i

T binsearchavg (1) = Θ(1).

Pretpostavimo sada najgori slucaj za vece n-ove. Najgore je za algoritamkada se vrijednost x ne nalazi u listi. U tom slucaju se izvrsava korak 1,provjerava se uvjet koraka 2, te se izvrsava korak 3 ili 4. Primijetimo dace slozenost biti nesto manja ako se izvrsi korak 3, jer se onda provjeravasamo uvjet tog koraka, dok se u suprotnom provjerava uvjet koraka 3, ali ikoraka 4. No, ovdje se radi o dodatnom konstantnom vremenu, pa to nece

Page 153: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 143

utjecati na ocjenu slozenosti ovog algoritma. Dakle, mozemo zakljuciti daje slozenost binarnog pretrazivanja dana sa:

T binsearchmax (n) ≤ c1 + T binsearch

max (bn2c)

Rekurzija koju trebamo rijesiti glasi:

tn = tn2

+ c1.

To je podijeli pa ovladaj rekurzija. Ona se rjesava tako da se stavi supsti-tucija an = t2n .

Sada je

an = t2n = t 2n

2+ c1 = t2n−1 + c1 = an−1 + c1.

Izvrsi se homogenizacija

an = an−1 + c1

an−1 = an−2 + c1

an − an−1 = an−1 − an−2,

cime se dobiva homogena rekurzija

an = 2an−1 − an−2.

Karakteristicna jednadzba posljednje rekurzije je

x2 − 2x + 1 = 0.

Ona ima dvostruki korijen x1,2 = 1, pa je opce rjesenje rekurzije dano sa

an = C1 · 1n + C2 · n · 1n.,

odnosno,

t2n = C1 + C2 · n.

Iz posljednjega slijedi da je

T binsearchmax (n) = tn = C1 + C2 · log2 n.

Drugim rijecima,

T binsearchmax (n) = O(lg n).

Prosjecnu cemo slozenost izracunavati samo za slucaj kada se elementnalazi u listi. Jasno je da, ako se element ne nalazi u listi slozenost iznosiΘ(lg n).

Page 154: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

144 4.3. PRETRAZIVANJE I SORTIRANJE

Neka lista ima n elemenata. Bez smanjenja opcenitosti mozemo pretpo-staviti da je n = 2k − 1. Ovo je vazno samo zato da osiguramo da u svakomkoraku niz ima srednji element.

U prvom koraku algoritma pregledavamo srednji element. Ako je trazenielement jednak srednjem, onda ce algoritam zavrsiti u jednom koraku. Slje-deca dva elementa: onaj koji se nalazi na cetvrtini liste i onaj koji se nalazina tri cetvrtine liste, mozemo naci u dva koraka. Nadalje, imamo 4 elementakoja nalazimo u tri koraka, itd. Dakle, imamo slucajnu varijablu

X =(

1 2 . . . k1n

2n . . . 2k−1

n

).

T binsearchavg (k) = EX · c1 = c1

k∑

i=1

i · 2i−1

2k − 1

=c1

2k − 1

k∑

i=1

i · 2i−1.

Pogledajmo na trenutak nesto opcenitiju sumu niza:

R(x) =k∑

i=1

i · xi−1.

Formalno integriramo ovaj red i dobivamo:

∫R(x) =

k∑

i=1

xi =xk+1 − 1

x− 1.

Sada to natrag formalno deriviramo i dobivamo

R(x) =k · xk+1 − (k + 1) · xk + 1

(x− 1)2. (4.2)

Uvrstimo li (4.2) u (4.2), dobit cemo:

T binsearchavg (k) =

c1

2k − 1k · 2k+1 − (k + 1) · 2k + 1

12

= c1 · (k − 1) · 2k + 12k − 1

(4.3)

= c1

[(k − 1) +

k

2k − 1

].

Iz (4.3) i definicije broja k slijedi da je

Page 155: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 145

T binsearchavg (n) = c1 ·

[lg(n− 1) +

lg n

n− 1

].

Konacno,

T binsearchavg (n) = Θ(lg n).

I na kraju, potrebno je izracunati slozenost binarnog pretrazivanja unajboljem slucaju. Najbolji je slucaj kada se trazeni element nalazi tocno usredini liste. Tada se on pronalazi u tocno jednom koraku, pa je

T binsearchmin (n) = Θ(1).

4.3.2 Sortiranje

Preduvjet koji lista mora zadovoljiti da bi se na njoj moglo primijenitibinarno pretrazivanje jest da lista bude sortirana. To nije jedini algori-tam i jedina situacija koja zahtjeva sortiranu listu. Zapravo, sortiranje jejedna od najcescih operacija koje racunalo izvodi. Stoga nije cudno da jeproblemu sortiranja posvecena posebna paznja u teoriji algoritama. Ovdjecemo opisati nekoliko razlicitih algoritama sortiranja i usporediti njihovuslozenost.

Sortiranje izborom

Prvi, vrlo jednostavan algoritam sortiranja je sortiranje izborom (engl. se-lection sort) . Algoritam radi sljedece: u listi se pronalazi najmanji element ion mijenja mjesto s prvim elementom u listi. Nakon toga, prvi ce sadrzavationu vrijednost koju ce sadrzavati u konacnoj, sortiranoj listi, tj. najmanjuvrijednost u listi. Sada se isti postupak ponavlja za preostale elemente,osim prvog. Drugim rijecima, postupak se ponavlja za elemente od drugogdo posljednjeg. U svakom sljedecem prolazu se dio liste koji treba obraditismanjuje za jedan element. Zbog toga, ako je lista dugacka 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 vrijednoscu 1.

7 3 5 1 8 4 2 9 6

Zamijenimo ga s prvim elementom

1 3 5 7 8 4 2 9 6

Page 156: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

146 4.3. PRETRAZIVANJE I SORTIRANJE

U ostatku element s najmanjom vrijednoscu je onaj s vrijednoscu 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

Zapisimo ovaj algoritam formalno:

Algoritam 4.7ULAZ: Lista a1, . . . , an

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 (aj < ai) min := j.

5. swap(ai, amin).

Page 157: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 147

Jasno je da se koraci 1, 2 i 5 ponavljaju tocno n − 1 puta, bez obzirana instancu problema. Koraci 3 i 4 se u svakom prolazu ponavljaju razlicitbroj puta - u prvom prolazu n− 1 puta, u drugom n− 2 puta, itd. Jedinaje razlika medu razlicitim instancama problema u tome koliko ce se putaizvesti pridruzivanje vrijednosti varijabli min u koraku 4. Najgori je slucajkada je uvjet u koraku 4 uvijek ispunjen. Treba napomenuti da se ovdjeradi o hipotetickom najgorem slucaju te da on nije izvediv za liste vece od2 elementa, jer ne postoji takva instanca za koju bi uvjet u koraku 4 uvijekbio ispunjen. Imamo

TSelectionSortmax (n) = c1 · n +

n−1∑

i=1

c2 · i

= c1 · n + c2 · n · (n− 1)2

= (c1 − c2

2) · n +

c2

2· n2,

odnosno

TSelectionSortmax (n) = O(n2).

U najboljem se slucaju, pridruzivanje u koraku 4 nece izvrsiti nikad. Tajslucaj je realan slucaj, kada je lista vec unaprijed sortirana. Tada je

TSelectionSortmin (n) = c1 · n +

n−1∑

i=1

c2 · i

= (c1 − c2

2) · n +

c2

2· n2,

odnosno

TSelectionSortmin (n) = O(n2).

Kako prosjecna slozenost mora biti izmedu najbolje i najgore, zakljucujemoda je

TSelectionSortavg (n) = O(n2).

Jednostavno sortiranje zamjenom

Sortiranje zamjenom (engl. simple exchange sort) je jos jedan od osnovnihalgoritama sortiranja. Sortiranje se vrsi tako da se usporeduje prvi elementniza sa svakim iza njega. Kada se naide na element u listi koji je manji odprvog, zamjenjuje mu se mjesto s prvim. Sada se nastavljaju usporedivati

Page 158: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

148 4.3. PRETRAZIVANJE I SORTIRANJE

preostali elementi s novim prvim elementom u listi. Nakon prvog prolazakroz listu, u prvom ce se elementu liste nalaziti najmanja vrijednost u listi.Nakon toga, postupak se ponavlja za drugi element liste i tako redom. Usvakom koraku se jedna vrijednost postavlja u element liste na kojem cese nalaziti i u izlaznoj, sortiranoj listi, pa ce se algoritam zavrsiti 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 pretrazuje dalje i dode se do cetvrtog elementa, koji mijenjamjesto s prvim:

1 7 5 3 8 4 2 9 6

Svi daljnji elementi su manji od prvog, pa u prvom prolazu vise nemamosto mijenjati.

1 7 5 3 8 4 2 9 6

Sada se usporeduju elementi s drugim elementom liste. Odmah nalazimoda je treci 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

Page 159: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 mozemo opisati na sljedeci nacin:

Algoritam 4.8ULAZ: Lista a1, . . . , an

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 ai > aj onda swap(ai, aj).

Ocijenimo slozenost ovog algoritma. U svakom slucaju, vanjska se petljaizvodi tocno n−1 puta. Unutarnja se petlja u prvom prolazu izvodi tocno n−1 puta, u drugom n−2 puta, u trecem n−3 puta itd. U svakom izvrsavanjuunutrasnje petlje izvede se provjera uvjeta, te ako je uvjet ispunjen, onda seelementima zamijene mjesta. U najgorem slucaju, kada je lista na pocetkuobrnuto sortirana, uvjet ce uvijek biti zadovoljen. Neka kontrola vanjskepetlje ima slozenost c1, neka kontrola unutarnje petlje, zajedno s provjeromuvjeta i zamjenom mjesta elementima ima slozenost c2. Tada je, u najgoremslucaju, slozenost jednaka:

TExchangeSortmax = (n− 1) · c1 +

i−1∑

i=1

i · c2

= (n− 1) · c1 + c2 ·i−1∑

i=1

i

= (n− 1) · c1 + c2 · n · (n + 1)2

=c2

2· n2 + (c1 +

c2

2) · n− c1,

iz cega slijedi da je

TExchangeSortmax = Θ(n2). (4.4)

U najboljem slucaju, kada je lista unaprijed sortirana, uvjet u koraku3 se nikada ne ispunjava, pa nema ni jedne zamjene mjesta. Neka je sa c3

Page 160: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

150 4.3. PRETRAZIVANJE I SORTIRANJE

oznaceno trajanje kontrole unutarnje petlje zajedno s provjerom uvjeta ukoraku 3. Tada je

TExchangeSortmax = (n− 1) · c1 +

i−1∑

i=1

i · c3,

sto slicno gornjem racunu daje

TExchangeSortmin = Θ(n2). (4.5)

Kako su maksimalna i minimalna slozenost ovog algoritma asimptotskijednake, slijedi da je i

TExchangeSortavg = Θ(n2). (4.6)

Sortiranje umetanjem

Sortiranje umetanjem (engl. insertion sort) je jos jedan od osnovnih algo-ritama sortiranja. Ovaj se algoritam temelji na ideji dijeljenja liste na dvadijela: prvi koji je vec sortiran i drugi koji tek treba sortirati. Na pocetkuse u prvom dijelu nalazi samo prvi element liste. U svakom se sljedecemkoraku uzima prvi element iz drugog dijela liste i umece se na odgovarajucemjesto u prvom dijelu. U prvom se koraku uzima drugi element liste te seusporeduje s prvim elementom. Ako je drugi element manji od prvoga, ondaprvi i drugi element mijenjaju mjesta. Nakon toga se uzima treci element,koji se usporeduje s drugim. Ako je manji, onda drugi element prelazi natrece mjesto, a promatrani se element usporeduje s prvim. Ako je veci odprvog, onda se umece na drugo mjesto, a ako je manji, onda se prvi elementpomice na drugo mjesto, a promatrani dolazi na prvo mjesto. Isti se pos-tupak ponavlja za cetvrti element liste i tako redom. Za svaki se elementpromatra sortirani dio liste. Elementi sortiranog dijela liste usporeduju seod zadnjeg prema prvome, s promatranim elementom, te se elementi veci odpromatranog pomicu za jedno mjesto dalje u listi. Kada se naide na elementmanji od promatranog, onda se promatrani element stavlja iza njega s kojegje vec prije toga element pomaknut za jedno mjesto dalje. Tako se sortiranidio liste povecava za jedan element i moze se prijeci na sljedeci element liste.Kada se svi elementi liste obrade na ovaj nacin, 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

Page 161: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 151

U sljedecem koraku pretrazujemo prva dva elementa trazeci onaj koji imavecu vrijednost od 5, a to je drugi element. Njega pomicemo za jedno mjestodalje a na njegovo mjesto dolazi treci 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 pocetak liste, a svi se elementiprije njega pomicu 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

Sljedeci 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 elementipomicu 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

Sljedeci 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

Page 162: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

152 4.3. PRETRAZIVANJE I SORTIRANJE

1 2 3 4 5 7 8 9 6

Sljedeci 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.9ULAZ: Lista a1, . . . , an

IZLAZ: Sortirana lista, koja se sastoji od istih elemenata kao i ulazna lista.

1. Izvrsi korake 2-4 za j := 2, . . . , n.

2. p := aj .

3. Izvrsi korak 4 za i := 1, . . . , j − 1.

4. Ako je ai > aj onda swap(ai, aj).

Pogledajmo slozenost ovog algoritma. U svakom slucaju koraci 1 i 2izvrsavaju se n − 1 puta, a svaki od njih ima konstantno trajanje. Brojprolaza kroz korake 3 i 4 povecava se za svaki prolaz kroz korake 1 i 2.Najgori je slucaj obrnuto sortirana lista. Onda se izvrsava maksimalan brojzamjena elemenata. U tom ce slucaju uvjet iz 4 uvijek biti zadovoljen. Utom slucaju je slozenost

T inssortmax (n) = c1 ·n+

n−1∑

i=1

c2 · i = c1 ·n+ c2 · (n− 1)n2

= (c1− c2

2) ·n+

c2

2·n2.

Dakle,

T inssortmax (n) = Θ(n2).

Slicno, ako je lista vec sortirana, onda ce svaki puta uvjet iz koraka 4biti neistinit, pa se nece izvrsiti nijedno mijenjanje mjesta. No, sve ostaleoperacije ce se izvrsavati. Stoga ce biti

T inssortmin (n) = Θ(n2).

No, u tom je slucaju i

T inssortavg (n) = Θ(n2).

Page 163: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 153

Mjehuricasto sortiranje

U mjehuricastom sortiranju (engl. bubble sort) prolazi se redom po elemen-tima liste i svaki se od njih usporeduje sa svojim sljedbenikom. Ako je nekielement veci od sljedbenika, onda im se zamjenjuju mjesta. Nakon prvogprolaza na kraj liste ”isplivat” ce najveca vrijednost. Nakon toga se istipostupak ponavlja za prvih n− 1 elemenata, pa ce nakon prolaza kroz listuu predposljednji element doci druga najveca vrijednost. Tako ce nakon n−1prolaza 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 treci,

3 5 7 1 8 4 2 9 6

pa treci i cetvrti.

3 5 1 7 8 4 2 9 6

Cetvrti i peti element ne mijenjanju mjesta, vec mjesta mijenjaju peti i sestielement.

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, vec samo osmi i deveti.

3 5 1 7 4 2 8 6 9

Time je zavrsen prvi prolaz kroz listu i na posljednjem se mjestu nalazinajveca vrijednost. Sada se postupak ponavlja za prvih n− 1 elemenata.

Mijenjaju se drugi i treci 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

Page 164: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

154 4.3. PRETRAZIVANJE I SORTIRANJE

Na kraju ovog koraka mijenjaju se sedmi i osmi element

3 1 5 4 2 7 6 8 9

U sljedecem se prolazu obraduje prvih sedam elemenataMijenja se prvi i drugi,

1 3 5 4 2 7 6 8 9

pa treci 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 sljedecem se prolazu mijenjaju samo treci i cetvrti element.

1 3 2 4 5 6 7 8 9

Sada se promatra prvih pet elemenata liste, no u ovom se prolazu mijenjajusamo drugi i treci element.

1 3 2 4 5 6 7 8 9

U sljedecem se prolazu promatraju prva cetiri elementa liste, no mijenjajuse samo drugi i treci.

1 2 3 4 5 6 7 8 9

Iako smo time dobili sortiranu listu, algoritam ce izvesti jos dva prolaza krozlistu, za prva tri te za prva dva elementa liste.

Algoritam 4.10ULAZ: Lista a1, . . . , an

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 aj > aj+1 onda swap(aj , aj+1).

Page 165: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 155

Neka je ak najveci element u listi. Kada algoritam naide u prvom prolazuna taj element, on ce biti veci od svakog sljedeceg elementa u listi, pa ce snjime mijenjati mjesta. Na kraju prolaza, taj ce element biti na kraju liste.U drugom ce se koraku na isti nacin na pretposljednjem mjestu naci druginajveci element i tako redom. To dokazuje da je ovaj algoritam korektan.

Ocijenimo sada njegovu slozenost. Bez obzira kako izgleda instanca pro-blema, korak 1 ce se ponavljati n − 1 puta. U prvom ce se prolazu koraci2 i 3 ponavljati n − 1 puta, a u svakom ce sljedecem prolazu njihov brojponavljanja biti za jedan manji. Najgori je slucaj kada je uvjet iz koraka3 uvijek ispunjen (kada je lista na pocetku obrnuto sortirana). U tom cese slucaju svaki puta izvrsavati naredba swap. Najbolji je slucaj kada ovajuvjet nije ispunjen ni jednom (kada je lista na pocetku vec bila sortirana).Tada se naredba swap nece izvrsiti ni jednom, no broj provjera uvjeta u tomkoraku nece se promijeniti. Iz toga zakljucujemo da ce najgori i najboljislucaj za ovaj algoritam biti asimptotski jednaki.

T bubsortmax (n) = c1 · (n− 1) +

n−1∑

j=1

j · c2

= c2 · (n− 1) + c2 · (n− 1) · n2

= −c1 + (c1 − c2

2) · n +

c2

2· n2

= Θ(n2) (4.7)

Iz gornjeg razmatranja zakljucujemo da je i

T bubsortmin (n) = T bubsort

avg (n) = Θ(n2).

Primijetili smo da je algoritam izveo svih osam koraka, iako je sortiranjeliste bilo gotovo vec nakon sestog koraka. Poboljsanje ovog algoritma semoze postici ako se u njega ugradi provjera, koja ce provjeravati je li unekom prolazu napravljena zamjena, a ako to nije slucaj, ono ce zaustavljatialgoritam.

Sortiranje spajanjem

Sortiranje spajanjem (engl. merge sort) je prvi algoritam koji cemo ovdjeopisati, a koji ima slozenost manju od kvadratne. Vidjet cemoda je slozenostovog algoritma jednaka O(n lg n). Algoritmi sortiranja s takvom slozenos-cu najcesce koriste metodu podijeli pa ovladaj (engl. divide and conquer).Podijeli pa ovladaj je metoda kod koje se problem reducira na jedan ili viseproblema istog tipa, ali manjih dimenzija, a rjesenje originalnog problemadobija se kompozicijom rjesenja reduciranih problema. Sortiranje spajanjem

Page 166: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

156 4.3. PRETRAZIVANJE I SORTIRANJE

koristi algoritam za spajanje dvije sortirane liste u jednu, isto tako, sortiranulistu.

Algoritam 4.11 (Merge)ULAZ: Dvije sortirane liste b1, . . . , bk i c1, . . . , cl

IZLAZ: Sortirana lista a1, . . . , ak+l, koja se sastoji od elemenata ulaznihlisti.

1. i := 1, j := 1.

2. Ponavljaj korak 3 sve dok je i ≤ k i j ≤ l.

3. Ako je bi < cj onda ai+j−1 := bi, i := i+1 inace ai+j−1 := cj , j := j+1.

4. Ponavljaj korak 5 sve dok je i ≤ k.

5. ai+j−1 := bi, i := i + 1.

6. Ponavljaj korak 7 sve dok je j ≤ l

7. ai+j−1 := cj , j := j + 1.

Prilicno je jasno da ovaj algoritam zaista spaja dvije sortirane liste usortiranu listu. Ocijenimo njegovu slozenost. Neka su k i l duljine ulaznihlista.

Korak 1 ce se izvrsiti jednom. Nadalje, za svaki element ulaznih listi,izvrsit ce se jedan od blokova naredbi iz koraka 3 ili blok naredbi iz koraka5 ili pak iz koraka 7. Pogledamo li pazljivije vidjet cemo da su svi ti blokovislicni i da imaju istu, konstantnu slozenost. Provjeravat ce se uvjet iz koraka2 i 3 ili uvjet iz 4 ili pak 6. Sva se ta tri uvjeta mogu odozgo ograniciti nekomkonstantom, pa je slozenost spajanja

Tmergemax (k, l) ≤ c1 + (k + l) · (c2 + c3)

= O(k + l)

Na slican se nacin vidi da je

Tmergemin (n) = O(k + l),

pa je i

Tmergeavg (n) = O(k + l).

Algoritam sortiranja spajanjem dijeli ulaznu listu na dvije podjednakoduge podliste, sortira ih te ih algoritmom za spajanje spaja u jednu sortiranulistu. Svaka se od podlista sortira na isti nacin. Tako se problem smanjujedok se ne dode do jednoclanih listi. Sortiranje jednoclane liste je trivijalno,tj. svaka jednoclana lista je vec sortirana.

Page 167: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 157

Algoritam 4.12ULAZ: Lista a1, . . . , an

IZLAZ: Sortirana lista, koja se sastoji od istih elemenata kao i ulazna lista.

1. Sortiraj listu a1, . . . , abn2 c.

2. Sortiraj listu abn2 c+1, . . . , an.

3. Spoji a1, . . . , abn2 c i abn

2 c+1, . . . , an.

Algoritam ima sljedecu slozenost:

Tmersortmax (n) ≤ 2 · Tmersort

max (⌈n

2

⌉) + Tmerge

max (⌈n

2

⌉,⌊n

2

⌋)

≤ 2 · Tmersortmax (

⌈n

2

⌉) + d1 · n + d2.

Napisemo li to kako je to uobicajeno za rekurzije imat cemo:

tn = 2 · tn2

+ d1 · n + d2.

Uvodimo supstituciju sn = t2n i imamo:

sn = t2n = 2 · t 2n

2+ d1 · 2n + d2

= 2 · t2n−1 + d1 · 2n + d2

= sn−1 + d1 · n + d2

Oduzmimo jednadzbu za (n− 1)-vi clan od jednadzbe za n-ti clan:

sn = 2 · sn−1 + d1 · 2n + d2

sn−1 = 2 · sn−2 + d1 · 2n−1 + d2

sn − sn−1 = 2 · sn−1 − 2 · sn−2 + 2n−1 · d1

Iz toga slijedi

sn = 3 · sn−1 − 2 · sn−2 + 2 · d1.

Nadalje, duzmimo formulu za (n− 1)-vi clan pomnozenu s 2 od formule zan-ti clan.

sn = 3 · sn−1 − 2 · sn−2 + 2n · d1

2 · sn−1 = 6 · sn−2 − 4 · sn−3 + 2n · d1

sn − 2 · sn−1 = 3 · sn−1 − 8 · sn−2 + 4 · sn−3

Page 168: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

158 4.3. PRETRAZIVANJE I SORTIRANJE

odnosno,

sn = 5 · sn−1 − 8 · sn−1 + 4 · sn−3.

Cime smo dobili homogeu rekurziju. Karakteristicna jednadzba ove rekurzijeje

x3 − 5x2 + 8x− 4 = 0.

Ova jednadzba ima dvostruki korijen x1,2 = 2 i jednostruki korijen x3 = 1.Dakle opce rjesenje ove jednadzbe je

sn = C1 · 2n + C2 · n · 2n + C3 · 1n.

Konacno, dobivamo da je

t2n = C1 · 2n + C2 · n · 2n + C3.

iz cega slijedi da je

tn = C1 · n + C2 · ·n lg n + C3.

Drugim rijecima,

TMergesortmax = O(n lg n).

Ovaj algoritam nije osjetljiv na razlicitosti instanci. Kakva god bila instanca,algoritam ce imati jednaku slozenost. Stoga je

TMergesortmin = TMergesort

avg = O(n lg n).

Primijecuje 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 opisanihalgoritama, osim sortiranja spajanjem, nema taj nedostatak.

Sortiranje pomocu hrpe

Sortiranje pomocu hrpe (engl. heapsort) je vrlo interesantan algoritam. Zarazliku od svih dosad prikazanih algoritama, ovaj se algoritam temelji naposebnom apstraktnom tipu podataka - hrpi.

Hrpa je puno binarno stablo, kako je to opisano u sljedecem poglavlju,sa svojstvom da vrh ima manju vrijednost od oba svoja djeteta. Hrpa sepuni 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 buduzadovoljena.

Sada cemo opisati algoritme za dodavanje i brisanje elemenata u hrpi.

Page 169: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 159

Algoritam dodavanja elemenata u hrpu je sljedeci: novi se element do-daje na najljevije slobodno mjesto na posljednjoj razini stabla. Nakon togase usporeduje njegova vrijednost s vrijednoscu njegovog roditelja. Ako jevrijednost 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

Page 170: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

160 4.3. PRETRAZIVANJE I SORTIRANJE

1

3 2

6 8 5 4

9 7

Slika 4.4

Najefikasnija implementacija hrpe je ona pomocu polja. Stavimo li ko-rijen u element polja s indeksom 1, te ako lijevo dijete cvora upisanog uelement polja s indeksom n stavimo u element s indeksom 2 · n, a desnodijete u element s indeksom 2 · n + 1, onda ce svaki element imati svojemjesto u polju. Takoder, zbog toga sto je hrpa potpuno stablo, u kojemse posljednja razina puni s lijeva na desno, elementi hrpe ce popunjavatielemente polja redom.

Algoritam 4.13ULAZ: Hrpa H : h1, . . . , hn i element xIZLAZ: 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[⌊

i2

⌋] radi korak 3.

3. swap(h[i], h[⌊

i2

⌋]), i :=

⌊i2

⌋.

Jasno je da ovakav algoritam dodavanja novih vrhova u hrpu odrzavasva svojstva hrpe. Pogledajmo njegovu slozenost. Neka je n broj elemenatau hrpi. Jasno je da, posto je potpuna, hrpa od n elemenata ima visinu 1 +blog2 nc. Kako algoritam mijenja element s elementom prethodne razine, onmoze izvrsiti tocno blog2 nc zamjena, odnosno koraci od 2 do 3 se ponavljajunajvise blog2 nc puta. Dakle slozenost ovog algoritma je

T InsHeapmax (n) ≤ c1 + c2 · blog2 nc

= O(lg n).

S druge strane, najbolji slucaj je kada je dodani element odmah veci odsvog roditelja. U tom slucaju se korak 2 ponavlja jednom, a 3 ni jednom.Stoga imamo

Page 171: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 161

T InsHeapmin (n) ≤ c1 + c2

= O(1).

Bez obzira na to gdje ce novododani element na kraju zavrsiti, algoritamce se kroz stablo kretati istim putem. Stoga pretpostavimo da je jednakovjerojatno da ce novododani element ostati na svakoj od razina stabla. Tadata vjerojatnost iznosi 1

blog2 nc , pa je slozenost prosjecnog slucaja

T InsHeapavg (n) = c1 +

blog2 nc∑

i=1

1blog2 nc · i · c2

= c1 +1

blog2 nc ·blog2 nc · (blog2 nc+ 1)

2· c2

= c1 +c2

2· (blog2 nc+ 1) = O(lg n)

Jedno vazno svojstvo hrpe jest to sto se najmanji element hrpe uvijeknalazi u njenom korijenu. Odatle proizlazi ideja sortiranja pomocu hrpe - izhrpe se izvadi korijen, stavi se na pocetak liste, a ostatak hrpe se ponovnopreuredi tako da zadovoljava sva svojstva hrpe.

Postupak praznjenja hrpe je sljedeci. Iz hrpe se vrijednost korijena pre-seli u izlaznu listu. Nakon toga se vrijednost najdesnijeg elementa na zadnjojrazini hrpe preseli u korijen a posljednji se element hrpe obrise. Time je sta-blo ostalo potpuno. Jos je potrebno osigurati uredaj u hrpi. Promatranavrijednost, koja narusava uredaj u hrpi nalazi se u korijenu. Usporedimo tuvrijednost s manjim od djece korijena te ako je promatrana vrijednost veca,zamjenimo im mjesta. I dalje se promatrana vrijednost, sada smjestena nadrugoj razini stabla, usporeduje s manjim svojim djetetom. Ovaj se pos-tupak ponavlja sve dok promatrana vrijednost ne bude manja od manjegdjeteta (pa onda i od veceg) ili dok se promatrana vrijednost ne nade ucvoru bez djece. Sljedeci primjer pokazuje kako se prazni hrpa i kreira sor-tirana lista.

Primjer 4.7 Ispraznimo hrpu iz prethodnog primjera i kreirajmo sortiranulistu.

Page 172: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

162 4.3. PRETRAZIVANJE 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

Page 173: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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

Page 174: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

164 4.3. PRETRAZIVANJE 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.14ULAZ: Hrpa H : h1, . . . , hn

IZLAZ: Hrpa H ′ koja je dobijena iz hrpe H izbacivanjem vrijednosti kojase nalazila u korijenu.

1. h[1] := h[n]. p := h[n]. Izbaci element h[n], i := 1

Page 175: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 165

2. Radi korake od 3 do 4 sve dok je 2 · i ≤ n i (h[i] < h[2 · i] ili jeh[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 sljedecoj razini.Stoga se koraci od 2 do 4 mogu ponoviti najvise blog2 nc puta. Stoga jenjegova slozenost:

TDelHeapmax (n) ≤ c1 + c2 · blog2 nc

= O(lg n)

U najboljem ce slucaju prebaceni element ostati korijen i nece prolazitikroz stablo.

U tom je slucaju slozenost

TDelHeapmin (n) = c1 + c2

= Θ(1).

Nadalje, vrlo slicno kao i kod punjenja zakljucuje se da je

TDelHeapavg (n) = O(lg n).

I na kraju, algoritam sortiranja pomocu hrpe cita redom elemente listei stavlja ih u hrpu. Nakon sto se svi elementi liste nadu u hrpi, pocinjepraznjenje hrpe. Kako se elementi izbacuju iz hrpe tako se redom upisujunatrag u listu. Nakon sto se hrpa isprazni, lista ce biti sortirana.

Algoritam 4.15ULAZ: Lista a1, . . . , an

IZLAZ: Sortirana lista koja se sastoji od istih elemenata kao i ulazna lista.

1. Za i := 1, . . . , n radi korak 2.

2. InsHeap(ai).

3. Za i := 1, . . . , n radi korak 4.

4. ai := DelHeap.

Page 176: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

166 4.3. PRETRAZIVANJE I SORTIRANJE

Jasno je da se u svakom slucaju koraci od 1 do 2, te koraci od 3 do 4izvode n puta, pri cemu je n duljina ulazne liste. Slozenost algoritama zaumetanje elemenata u hrpu i brisanje elemenata iz hrpe izracunata je ranije,pa imamo:

THeapSortmax (n) = c1 +

n∑

i=1

T InsHeapmax (i) +

n∑

i=1

TDelHeapmax (i)

≤ c1 +n∑

i=1

(d1 + d2 · log2 i) +n∑

i=1

(e1 + e2 · log2 i)

≤ c1 + n · d1 + n lg n · d2 + n · e1 + n lg n · e2

= c1 + (d1 + d2) · n + (e1 + e2) · n lg n

= O(n lg n).

Slicno se dobija i da je

THeapSortavg (n) = O(n lg n).

I na kraju,

THeapSortmin (n) = c1 +

n∑

i=1

T InsHeapmin (i) +

n∑

i=1

TDelHeapmin (i)

≤ c1 +n∑

i=1

d1 +n∑

i=1

e1

≤ c1 + n · d1 + n · e1

= c1 + (d1 + e1) · n= O(n).

Ovako izvedeno sortiranje pomocu hrpe ima istu manu koju smo spome-nuli kod sortiranja spajanjem - potreban je dodatni memorijski prostor zahrpu u kojoj mora biti mjesta za jos jednu kopiju svakog elementa ulazneliste. Moze li se to izbjeci? Za razliku od sortiranja spajanjem, sortiranjepomocu hrpe se moze izvesti prirodno i bez dodatnog prostora. Polje ukojem su smjesteni elementi moze se koristiti ujedno i kao hrpa. Kako?

Kao prvo, potrebno je malo predefinirati hrpu. Hrpa kakvu smo do sadarabili bila je tzv. min-hrpa, tj. hrpa u kojoj je oznaka roditelja manjaod oznaka njegove djece, tj. u kojoj se u korijenu nalazi najmanji elementhrpe. Max-hrpa se definira obrnuto. Oznaka roditelja u njoj mora biti vecaod oznaka njegove djece. U takvoj hrpi u korijenu ce se nalaziti najvecielement u hrpi. Primjer ovakve hrpe za listu iz naseg prethodnog primjeraje

Page 177: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 167

9

8 5

7 3 4 2

1 6

Slika 4.6

Ovakva se hrpa moze izvesti u samom polju koje sadrzi ulazne podatke.Krece se od prvog elementa. Nakon toga se promatra drugi element poljai na vec ranije opisani nacin, uz zamjenu usporedbe, prva se dva elementapretvore u hrpu. Nakon toga se promatra treci element u polju i iz prva trielementa se, na ranije opisani nacin, stvori hrpa, itd. Tako se radi sve doksvi elementi polja ne cine hrpu. Nakon toga ce se u korijenu nalaziti najvecielement. Brisanje elemenata iz hrpe ide na isti nacin kao i ranije, samo stose obrisani element ne stavlja u posebno polje, vec korijen mijenja mjesto sposljednjim elementom u polju. Nakon toga je sigurno da je element, kojije bio u korijenu, stavljen na svoje zavrsno mjesto u polju, tj. na posljednjemjesto, pa se broj elemenata u hrpi smanjuje za 1, i hrpa se preureduje takoda zadovoljava sva trazena svojstva. Ovaj je postupak isto tako vec opisanranije. Dakle, postupak je sljedeci:

Algoritam 4.16ULAZ: Lista a1, . . . , an

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.

Page 178: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

168 4.3. PRETRAZIVANJE I SORTIRANJE

9. j := 1.

10. Sve dok je (2 · j + 1 ≤ i) ∧ (max(a[2j], a[2j + 1]) > a[j]) radi korake11-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. Inace 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]).

Slozenost ovog algoritma ista je kao i slozenost originalnog algoritma zasortiranje pomocu hrpe. Naime, ovo je u biti isti algoritam kao i prethodni,samo s manje koristenog memorijskog prostora.

Quicksort algoritam

Sada cemo obraditi algoritam sortiranja koji danas predstavlja jedan odvrhunaca algoritama za sortiranje. Promisljanjem kako bi se mogao ubrzatialgoritam sortiranja spajanjem te izbjeci potrebu za upotrebom pomocnogpolja, nastao je ovaj algoritam. Naime, kod algoritma sortiranja spajanjem,sortiranje se vrsi u dvije faze: dijeljenje liste na manje podliste, te spajanjepodlista u sortiranu listu. Pokusaji ubrzanja faze dijeljenja liste doveli sudo algoritma prirodnog sortiranja spajanjem (natural merge sort) ([6] str161-163), dok je pokusaj ubrzanja faze spajanja doveo do potpuno novogalgoritma sortiranja - quicksort algoritma. Quicksort algoritam, kao i algo-ritam sortiranja spajanjem, temelji se na metodi podijeli pa ovladaj, no kodnjega je faza spajanja u potpunosti izbjegnuta.

Kao prvo, potrebno je istaknuti jedan element liste - tzv. pivot element.Za pivot element se moze uzeti prvi element liste, srednji izmedu prva triili ga se moze izracunati na bilo koji drugi nacin. Jedino sto je vazno jestda se pivot mora izracunati u vremenu O(1). Nakon toga se elementi u listipreslaguju tako da u prvom dijelu liste budu elementi koji su manji od pivota,a u drugom dijelu liste elementi veci od pivota. Nakon toga se algoritamizvodi rekurzivno za prvi i drugi dio liste. Postupak se ponavlja sve doklista 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 udrugom dijelu liste veci od svakog elementa iz prvog dijela liste.

Page 179: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 169

Prije negoli prikazemo primjer sortiranja liste ovim algoritmom potrebnoje razrijesiti neke tehnicke detalje izvedbe. Tocnije, potrebno je reci kakoce se vrsiti premjestanje elemenata liste? Za to su potrebna dva kursora,od kojih ce prvi biti iniciran na drugi element liste i rasti, a drugi ce bitiiniciran na posljednji element liste i padati. Neka je pivot prvi elementliste. Promatramo preostale elemente liste redom. Ako je promatrani ele-ment (onaj na kojeg pokazuje prvi kursor) manji od pivota, prvi se kursorpomice za jedan element dalje. Ako je veci od pivota, tada se prelazi napretrazivanje liste odzada. Pretrazuje se lista odzada sve dok se ne pronadeelement manji od pivot elementa. Nadenim se elementima promijene mjestai nastavlja se traziti od prvog kursora. Pretrazivanje zavrsava kada prvi kur-sor premasi drugi. Zanimljivo je da ce u trenutku kada se prvi kursor nadeiza drugoga, drugi kursor pokazivati tocno na ono mjesto u listi na kojem cese nalaziti pivot kada ce lista biti sortirana. Kako se pivot element, premanasem algoritmu, sada nalazi na pocetku promatranog dijela liste, potrebnoje zamijeniti pivot element s onim elementom na koji pokazuje drugi kursor.Nakon toga je potrebno odvojeno ponoviti postupak sortiranja za elementekoji se nalaze do kursora i one koji se nalaze iza kursora. Kursor vise nijepotrebno obradivati jer se on, kao sto smo vec rekli, nalazi na mjestu nakojem ce se nalaziti i u sortiranoj listi.

Primjer 4.8 Sortirajmo opet istu listu quicksort algoritmom. Za pivotelement se uzima prvi element u listi.

7 3 5 1 8 4 2 9 6

Pivot element je element s vrijednoscu 7. Pretrazuje se lista od pocetkai trazi se vrijednost veca od pivota. Prva je takva vrijednost broj 8. Sastraznje strane liste traga se za elementom s vrijednoscu manjom od pivota.To je element s vrijednoscu 6.

7 3 5 1 8 4 2 9 6

Zamijenimo mjesta tim dvama elementima.

7 3 5 1 6 4 2 9 8

Trazimo dalje. Sljedeci element s vecom vrijednoscu od pivota je elements vrijednoscu 9. S druge strane, sljedeci element s vrijednoscu manjom odpivota je element s vrijednoscu 2. U tom je trenutku drugi kursor presaoispred prvog i ovaj se dio algoritma zavrsava. Sada se lista dijeli na dvadijela - od pocetka liste pa do drugog kursora, te od prvog kursora do kraja.

7 3 5 1 6 4 2 9 8

Page 180: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

170 4.3. PRETRAZIVANJE I SORTIRANJE

Kako je pivot najveci u prvom dijelu, on se stavlja na kraj prvog dijela, tese postupak ponavlja za sve elemente do njega, dok se pivot element sigurnonalazi na onom mjestu gdje ce se naci i u sortiranoj listi, pa njega ne trebavise 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 elementveci od pivota je element s vrijednoscu 3. Straga, prvi element s vrijednoscumanjom 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 pretrazivanje sprijeda ce se zaustaviti na sljedecem elementu, s vri-jednoscu 5. Pretrazivanje odostraga ce opet stati na broju 1, te ce u tomtrenutku opet prvi kursor prijeci iza drugoga. Mijenjamo pivot sa zadnjimelementom u prvom dijelu, tj., u ovom slucaju, 2 i 1.

1 2 5 3 6 4 7 9 8

Sada promatramo posljednja dva elementa. Pivot je element s vrijednoscu9. Trazeci sprijeda element veci od pivota, prijeci cemo posljednji elementliste i u tom trenu prvi kursor ce prijeci iza drugog. Pivot mijenja mjesto sposljednjim 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 jednogelementa. Pivot ce biti element s vrijednoscu 5. Pretraga sprijeda staje naelementu s vrijednoscu 6, a straga na elementu s vrijednoscu 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 zavrsiti na broju 6, a pretragom straga cemoprijeci ispred prvog kursora. Pivot mijenja mjesto s elementom s vrijednoscu4.

1 2 4 3 5 6 7 8 9

Page 181: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 171

Preostao je jos jedan segment polja, koji ima vise od jednog elementa, i njegatakoder sortiramo. Pivot je element s vrijednoscu 4. Pretraga sprijeda ceprijeci posljednji element promatranog segmenta. Pivot mijenja mjesto selementom na kojeg pokazuje drugi kursor, cime se dobije:

1 2 3 4 5 6 7 8 9

odnosno sortirana lista.

Algoritam 4.17ULAZ: Lista a1, . . . , an i kursori i i j na pocetak, odnosno na kraj dijelapolja koji sortiramoIZLAZ: 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) ∧ (ai >= ak)) k := k + 1.

4. Dok je ((k <= l) ∧ (ai <= al)) l := l − 1.

5. Ako je k < l swap(ak, al).

6. Ako je l > i swap(ai, al).

7. Ako je l > i Quicksort(a, i, l − 1).

8. Ako je k < j Quicksort(a, k, j).

Najgori slucaj za ovaj algoritam je kada je lista vec unaprijed sortiranaili ako je sortirana obrnutim redosljedom. U tim ce se slucajevima, u svakomprolazu lista dijeliti na podlistu od jednog elementa i podlistu koja sadrzisve elemente osim jednog. Korak 1 ima konstantnu slozenost. Koraci od 2do 5 imaju slozenost c2 + c3 · n. Slozenost koraka 6 je konstantna. Stoga jeslozenost Quicksorta u najgorem slucaju

TQuicksortmax (n) = c1 + c2 + c3 · n + c4 + TQuicksort

max (n− 1)= TQuicksort

max (n− 1) + d1 · n + d2

Standardni zapis ove rekurzije je

tn = tn−1 + d1 · n + d2.

Oduzmemo li od jednadzbe za n-ti element niza jednadzbu za n−1-vi dobitcemo:

Page 182: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

172 4.3. PRETRAZIVANJE I SORTIRANJE

tn = tn−1 + d1 · n + d2

tn−1 = tn−2 + d1 · (n− 1) + d2

tn − tn−1 = tn−1 − tn−2 + d1

Drugim rijecima, dobivamo rekurziju

tn = 2 · tn−1 − tn−2 + d1.

Oduzmemo li od ove jednadzbe jednadzbu za (n−1)-vi element niza, imamo:

tn = 2 · tn−1 − tn−2 + d1

tn−1 = 2 · tn−2 − tn−3 + d1

tn − tn−1 = 2 · tn−1 − 3 · tn−2 + tn−3

tj, dobivamo homogenu rekurziju

tn = 3 · tn−1 − 3 · tn−2 + tn−3.

Karakteristicna jednadzba ove rekurzije je

x3 − 3x2 + 3x− 1 = 0.

Ova jednadzba ima jedan trostruki korijen x1,2,3 = 1. Dakle, opce rjesenjeove rekurzije je

tn = C1 · 1n + C2 · n · 1n + C3 · n2 · 1n,

odnosno,

tn = C1 + C2 · n + C3 · n2.

Dakle,

TQuicksortmax (n) = O(n2).

Najbolji moguci slucaj za ovaj algoritam je kada je svaki izabrani pivotsrednja vrijednost elemenata dijela liste koji se promatra. U tom se slucajulista dijeli na dva podjednako dugacka dijela. Slozenost u tom slucaju iznosi

TQuicksortmin (n) ≤ 2 · TQuicksort

max (⌊n

2

⌋) + d1 · n + d2.

Dakle, u standardnom obliku

tn ≤ 2 · tn2

+ d1 · n + d2.

Uvedemo li supstituciju sn = t2n i onda imamo

Page 183: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 173

sn = t2n = 2 · t 2n

2+ d1 · 2n + d2

= 2 · t2n−1 + d1 · 2n + d2

= 2 · sn−1 + d1 · 2n + d2.

Oduzmemo li od formule za n-ti clan niza formulu sa (n − 1)-vi clan nizaimat cemo

sn = 2 · sn−1 + d1 · 2n + d2

sn−1 = 2 · sn−2 + d1 · 2n−1 + d2

sn − sn−1 = 2 · sn−1 − 2 · sn−2 + d1 · 2n−1,

odnosno,

sn = 3 · sn−1 − 2 · sn−2 + d1 · 2n−1.

Od ove formule oduzmemo dvostruku formulu za (n− 1)-vi clan i dobijamohomogenu rekurziju

sn = 3 · sn−1 − 2 · sn−2 + d1 · 2n−1

2 · sn−1 = 6 · sn−2 − 4 · sn−3 + d1 · 2n−1

sn − 2 · sn−1 = 3 · sn−1 − 8 · sn−2 + 4 · sn−3

odnosno,

sn = 5 · sn−1 − 8 · sn−2 + 4 · sn−3.

Karakteristicna jednadzba ove formule je

x3 − 5x2 + 8x− 4 = 0.

Ova jednadzba ima jednostruki korijen x1 = 1 te dvostruki korijen x2,3 = 2.Dakle, opce rjesenje ove jednadzbe je

sn = C1 · 1n + C2 · 2n + C3 · n · 2n.

Konacno,

t2n = C1 + C2 · 2n + C3 · n · 2n.

Iz posljednje formule slijedi da je

tn = C1 + C2 · n + C3 · n · log2 n.

Dakle, u najboljem je slucaju

TQuicksortmax = O(n · lg n).

Page 184: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

174 4.3. PRETRAZIVANJE I SORTIRANJE

Preostao nam je jos prosjecan slucaj. Pretpostavimo da je svaki raspored ele-menata polja jednako vjerojatan. Da bismo pojednostavili racun slozenostiprosjecnog slucaja, necemo brojiti sve operacije koje algoritam radi, vecsamo operacije usporedivanja nad elementima polja. Lako se moze vidjetida frekvencija ostalih operacija ovisi upravo o broju usporedivanja. Pret-postavljamo da su svi elementi u polju razliciti, te da je jednaka vjerojatnostizbora svakog elementa polja za pivota.

Promotrimo segment polja am, . . . , ap. Kako je jednako vjerojatno da ceza pivot element biti uzet i-ti element po velicini za svaki i = 1, . . . , p−m+1,prolaz Quicksorta ce podijeliti polje na polja am, . . . , am+i−2 i am+i, . . . , ap

s vjerojatnoscu 1p−m+1 . Dakle, slozenost u prosjecnom slucaju bit ce dana s

TQuicksortavg (n) = n + 1 +

1n

n∑

i=1

(TQuicksortavg (i− 1) + TQuicksort

avg (n− i))

Pri tome je n+1 broj usporedbi koje algoritam radi prije rekurzivnog poziva.Dakle, imamo rekurziju

tn =1n

n∑

i=1

(ti−1 + tn−i) + n + 1.

Pomnozimo li ovu jednadzbu s n dobivamo

n · tn =n∑

i=1

(ti−1 + tn−i) + n · (n + 1),

odnosno

n · tn = 2 ·n−1∑

i=0

ti + n · (n + 1).

U prethodnoj formuli zamijenimo n s n − 1 te oduzmemo tako dobivenuformulu od gornje formule:

n · tn = 2·n−1∑i=0

ti + n · (n + 1)

(n− 1) · tn−1 = 2·n−2∑i=0

ti + n · (n− 1)

n · tn − (n− 1) · tn−1 = 2tn−1 + n · (n + 1)− n · (n− 1)

Iz toga slijedi da je

n · tn = (n + 1) · tn−1 + 2 · n.

Podijelimo li jednadzbu s n(n + 1), dobit cemo

Page 185: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 175

tnn + 1

=tn−1

n+

2n + 1

. (4.8)

Primijenimo li ponovo formulu 4.8 za tn−1 imat cemo

tnn + 1

=tn−2

n− 1+

2n

+2

n + 1

=tn−3

n− 2+

2n− 1

+2n

+2

n + 1···

=t12

+ 2n+1∑

i=3

1i

No, poznato je da je

n+1∑

i=3

1i≤

n+1∫

2

1x

dx = ln(n + 1)− ln 2

iz cega slijedi da je

TQuicksortavg ≤ 2 · (n + 1)[ln(n + 2)− ln 2]

tj.

tn = O(n · lg n).

Treba napomenuti da je Quicksort, kao sto i njegovo ime kaze, u praksibrz za vecinu slucajeva. No, pri tome treba imati na umu nekoliko stvari.Prva je da Quicksort ima slozenost najgoreg slucaja O(n2), pa se moze desitida za neke instance Quicksort bude spor. Osim toga, izvedba Quicksortaje slozenija od izvedbe, npr., sortiranja umetanjem. Time se zeli reci da sukonstante koje se javljaju u formuli vremenske slozenosti Quicksorta, znatnovece od konstanti koje se javljaju u nekim drugim algoritmima sortiranja,npr. u sortiranju umetanjem. To se ne vidi u krajnjoj asimptotskoj ocjenislozenosti, ali ce to znatno utjecati na brzinu rada kod instanci manje duljine.Stoga ce algoritam sortiranja umetanjem biti znatno brzi za male liste (dootprilike 20 elemenata), dok ce Quicksort svoju nadmoc pokazivati tek navelikim listama (vise od 100000 elemenata).

Glavni nedostatak Quicksorta je, kao sto je vec receno, njegova slozenostu najgorem slucaju. Ovaj je problem posebno izrazen jer se najgori slucajpostize u potpuno sortiranom i obrnuto sortiranom polju. Drugim rijecima,algoritam ce imati tendenciju da losije radi ako je na pocetku polje uredenije,

Page 186: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

176 4.3. PRETRAZIVANJE I SORTIRANJE

a vrlo cesto ce upravo tako i biti. Naime, podaci su vrlo cesto djelomicnosortirani. Drugim rijecima, cesto distribucija instanci problema sortiranjanije uniformna. Kako bi se ovaj problem umanjio u stvarnoj izvedbi Quick-sorta pivot se pokusava na razne nacine ”pametnije” izabrati. Jedna je idejada se pivot izabere kao srednji po velicini element od prva tri u listi ili pakkao srednja vrijednost prva dva elementa. Druga, jos bolja ideja je random-izacija algoritma, tj. pivot se izabire kao slucajni element liste. To znatnoumanjuje mogucnost najgoreg slucaja.

4.3.3 Donja meda slozenosti algoritama usporedivanja i sor-tiranja temeljenih na usporedivanju

Svi algoritmi opisani do sada u ovom poglavlju temelje se na usporedivanjukao osnovnoj operaciji pomocu koje se izvrsava premjestanje elemenata upolju. Pri tome smo nasli dva algoritma koja imaju slozenost O(n lg n) unajgorem slucaju, te jedan koji ima slozenost O(n2) u najgorem, ali O(n lg n)u prosjecnom slucaju. Postavlja se pitanje da li se moze bolje od toga? Uovom poglavlju bavit cemo se ocjenom donje mede maksimalne slozenostikoju neki algoritam sortiranja moze imati.

Uvest cemo pojam stabla usporedivanja, koja ce nam pomoci pronacidonju medu slozenosti nasih problema, koje smo ranije obradili, tj. pre-trazivanja i sortiranja. Ova stabla necemo definirati formalno, jer se njihovadefinicija moze znatno razlikovati ovisno o problemu koji opisuju.

Stablo usporedivanja za problem pretrazivanja definira se na sljedecinacin: svaki unutarnji vrh stabla predstavljat ce usporedbu elementa poljas x, odnosno vrijednoscu koju trazimo. Lijevo podstablo ce predstavljatidaljnje mogucnosti pretrazivanja, ako je trazeni element manji od proma-tranog elementa polja, a desno podstablo mogucnosti daljnjeg pretrazivanjaako je trazeni element veci od promatranog. Ako je x jednak promatra-nom elementu polja, onda algoritam staje, pa nema podstabla za taj slucaj.Svaki list stabla ce predstavljati neuspjeh pretrazivanja.

Pogledajmo sada slucaj kada je polje koje se promatra uzlazno sortirano.Osim toga, pretpostavljamo da su elementi u polju medusobno razliciti. Zataj slucaj se mogu primijeniti razni algoritmi, od kojih smo dva obradili uprvom dijelu ovog poglavlja. Radi se o slijednom i binarnom pretrazivanju.

Slijedno pretrazivanje se moze malo modificirati kada se radi o sorti-ranom polju. Naime, prvo usporedujemo trazeni element s prvim elemen-tom polja. Ako je trazeni element manji od prvog u polju, onda je onsigurno manji i od ostalih elemenata polja, pa odmah mozemo stati. Zasvako usporedivanje koje napravimo mozemo dati slicnu argumentaciju, paalgoritam moze stati odmah cim u polju naidemo na element koji je veciod trazenoga. Stoga slijedno pretrazivanje sortiranog polja mozemo opisatisljedecim stablom usporedivanja:

Page 187: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 unajvise n usporedivanja doci do rjesenja. Kako svako usporedivanje odnosinajmanje konstantno mnogo vremena, ovaj algoritam ce imati vremenskuslozenost najgoreg slucaja Ω(n).

S druge strane, binarno pretrazivanje sortiranog polja opisano je sljede-cim stablom pretrazivanja:

Page 188: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

178 4.3. PRETRAZIVANJE I SORTIRANJE

Slik

a4.

8

x:A

[bn/2c]

x:A

[b3n/

4c]

x:A

[ bn/4c]

. . .

. . .

x:A

[1]

...

x:A

[bn/2c]

x:A

[bn/2c+

1]..

.x:

A[n

]

FF

FF

FF

FF

Page 189: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 179

Jasno je da je visina ovog stabla dlg ne + 1. To znaci da ce binarnopretrazivanje dati odgovor uz najvise dlg ne usporedivanja. Dakle, za svakimoguci x vremenska slozenost binarnog pretrazivanja bit ce Ω(lg n). Sadacemo dokazati da je to asimptotski optimalno.

Teorem 4.3 Neka je A polje koje se sastoji od n razlicitih vrijednosti, sor-tiranih uzlazno. Minimalna slozenost algoritma za pretrazivanje tog poljaje Ω(lg n).

Dokaz. Svaki algoritam nad ovim poljem je definiran nekim stablomusporedivanja.

Promatrat cemo sve listove stabla. Algoritam moze neuspjesno zavrsitiu bilo kojem elementu stabla. Stoga, svako stablo usporedivanja ovog pro-blema ima tocno n listova. Stablo s n listova ima minimalno dlg ne razina.

Broj razina stabla definirat ce najveci broj koraka koji algoritam moraizvesti da bi izvrsio pretrazivanje. Uz pretpostavku da se svaki korak mozeizvesti u konstantnom vremenu, zakljucujemo da algoritam pretrazivanja unajgorem slucaju mora imati slozenost Ω(lg n).

Ovaj teorem pokazuje da je binarno pretrazivanje asimptotski optimalnopretrazivanje sortiranog polja.

Promotrimo sada problem sortiranja. I ovdje cemo, radi lakseg racuna-nja pretpostaviti da su svi elementi polja razliciti.

Teorem 4.4 Neka je zadano polje A koje sadrzi n razlicitih elemenata.Svaki algoritam za sortiranje, temeljen na usporedivanju, ima u najgoremslucaju slozenost Ω(n lg n).

Dokaz. Za problem sortiranja treba se definirati tzv. prosireno stablousporedivanja. Unutarnji cvorovi ovog stabla predstavljaju usporedbe dvajuelemenata polja. Listovi stabla sadrze krajnje rjesenje, tj. permutaciju.

Jasno je da listovi moraju pokriti svaku permutaciju ulaznog polja, paovo polje ima n! listova. Prema tome, ovo stablo ima dlg n!e razina. PremaStirlingovoj formuli slijedi da je

dlg n!e = n · lg n− n

ln2+ O(1).

Odavde slijedi da algoritam sortiranja, temeljen na usporedivanju, morau najgorem slucaju imati slozenost Ω(n lnn).

4.3.4 Sortiranje u vremenu O(n)

Naslov ovog podpoglavlja na prvi je pogled u suprotnosti rezultatima pret-hodnog potpoglavlja. Kako je moguce napraviti algoritme koji rade ispodizracunate donje mede? Radi se o tome da smo u prethodnom poglavljudokazali da algoritmi sortiranja, koji se temelje na usporedivanju, imaju

Page 190: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

180 4.3. PRETRAZIVANJE I SORTIRANJE

slozenost Ω(n lg n). To znaci da mozemo naci brzi algoritam, ali se onne moze temeljiti na usporedivanju kao osnovnoj operaciji. Je li mogucetakvo sto uraditi? Opcenito nije, ali jest u nekim posebnim slucajevima. Uovom cemo poglavlju dati tri algoritma koji su, uz odredene uvjete, brzi odO(n lg n).

Sortiranje prebrojavanjem

Sortiranje prebrojavanjem je jako jednostavna i efikasna metoda sortiranja,uz uvjet da je skup S, iz kojeg se uzimaju vrijednosti elemenata, dovoljnomali tako da se moze definirati polje velicine |S|. Zbog jednostavnosti, uzetcemo 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 vrijednost0. Nakon toga se gledaju elementi polja A redom i ako je A[i] = k ondase k-ti element polja B povecava za 1. Na kraju tog postupka polje B cesadrzavati frekvenciju svakog broja iz segmenta [1, m] u polju A. Nakon togaje jos samo potrebno redom puniti polje A elementima ciji je broj zapisan upolju B. Formalno, algoritam ce izgledati ovako:

Algoritam 4.18ULAZ: 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 izvodeu konstantnom vremenu. Petlja iz 2 izvodi se n puta, a za svaki korak ovepetlje 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 elemenatapolja A, dakle n puta. Stoga se i koraci 6 i 7 izvrsavaju n puta. Slozenostovog algoritma je jednaka za sve ulaze iste duljine i iznosi:

Page 191: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 181

TCountSearch(n,m) = c1 + c2 ·m + c3 · n.

Odnosno,

TCountSearch(n,m) = Θ(m + n).

Fiksiramo li m, dobijamo da je

TCountSearch(n) = Θ(n).

Drugim rijecima, ovaj algoritam ce sortirati listu u vremenu koje linearnoraste s porastom broja elemenata u listi.

Radix sort

Ova metoda potjece iz ranijih vremena racunarstva i koristila se kod sorti-ranja busenih kartica.

Metoda se temelji na sortiranju vrijednosti liste prema pojedinim zna-menkama, odnosno prema slovima na pojedinoj poziciji, ako se radi o sor-tiranju alfanumerickih podataka. Zbog jednostavnosti, mi cemo ovdje pret-postaviti da se radi o sortiranju cjelobrojnih vrijednosti. U svakom se korakuvrijednosti rasporeduju s obzirom na jednu svoju znamenku, u 10 pomocnihpolja. No, kako je izvesti? Prva je pomisao da se prvo rasporedivanje izvedepo vodecoj znamenci brojeva, pa nakon toga po drugoj, itd. Ovakav pristupzahtjeva vrlo mnogo memorijskog prostora. Naime, u drugom prolazu zato nam je vec potrebno 102 = 100 pomocnih polja, a u trecem 103 = 1000itd. Ovo predstavlja velik utrosak memorije. Iako se taj utrosak moze sma-njiti na dva polja duljine n, svejedno ostaje kod, koji je slozen za izvedbu.U ranije doba, kada su se rabile busene kartice, ovakav algoritam ne bi biopogodan za sortiranje kartica. Koristi se ideja da se prvo rasporedivanje vrsipo najmanje znacajnoj znamenci (jedinici). Nakon toga se sve vrijednostiopet upisu u jedno polje, prvo one koje imaju najmanje znacajnu znamenku0, pa onda one koje imaju najmanje znacajnu znamenku 1, itd. Tako do-biveno polje se sortira po drugoj najmanje znacajnoj znamenci, itd., svedo najznacajnije znamenke. Kada se vrijednosti po posljednji puta spoje ujedno polje, to polje je sortirano. Formalno, ovaj algoritam je:

Algoritam 4.19ULAZ: Polje A od n elemenataIZLAZ: 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 .

Page 192: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

182 4.3. PRETRAZIVANJE I SORTIRANJE

4. Za i := 1 . . . , n radi korake 5-8.

5. m := (A[i]÷ 10k) mod 10.

6. Ako je A[i]÷ 10k > 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 vecina ranije opisanih, intuitivnojasan. Iz njega nije potpuno jasno da on listu sortira ulazno. Stoga jepotrebno 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, najvece vrijednosti u polju.Baza indukcije: Neka k = 1. Ako su svi brojevi jednoznamenkasti, onda

cemo ih u prvom prolazu podijeliti na 10 pomocnih polja. U prvom ce bitisve nule, u drugom sve jedinice, itd. Kod spajanja ce nule doci na pocetak,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 u10 pomocnih polja, tako da u prvom budu svi koji imaju vodecu nulu, udrugom svi koji imaju vodecu jedinicu itd. Osim toga, kako su brojevi bilisortirani po preostalih m znamenaka, u svakom ce pomocnom polju brojevibiti sortirani. Kada spojimo pomocna polja tako da prvo stavimo brojeves vodecom nulom, pa one s vodecom jedinicom i tako redom, dobit cemosortirano polje.

Page 193: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 183

Pogledajmo sada slozenost ovog algoritma.Neka najveci broj u polju ima k znamenaka. Tada ce algoritam imati

k prolaza. U svakom prolazu vrijeme potrebno za podjelu vrijednosti popromatranoj znamenci je O(n), i za spajanje takoder O(n). Dakle, imamo

TRadixSort(k, n) = k · (O(n) + O(n)).

Odnosno,

TRadixSort(k, n) = O(k · n).

Ako fiksiramo k, onda cemo imati

TRadixSort(n) = O(n).

Ovo vrijedi neovisno o distribuciji, odnosno instanci koju ovaj algoritamsortira. No, valja reci da slozenost ovog algoritma znacajno ovisi o velicinibrojeva koji se sortiraju.

Sortiranje pomocu pretinaca

Treci algoritam sortiranja, sortiranje pomocu pretinaca (engl. bucket sort),nije u najgorem slucaju vremenske slozenosti O(n), vec je, u odredenomslucaju prosjecne slozenosti O(n). Taj je sort poznat pod imenom bucket sorti temelji se na pretpostavci da je distribucija elemenata u polju uniformnana nekom segmentu [m,M ].

Kao sto je vec receno, da bi ovaj algoritam radio dobro, elementi poljamoraju biti uniformno distribuirani izmedu minimalnog i maksimalnog ele-menta u polju. Ako polje ima n elemenata, stvara se struktura koja ima npretinaca takvih da u svaki pretinac mozemo staviti od 0 do n elemenata.Ovo se moze implementirati kao polje ili vezana lista, koja sadrzi pokazivacena 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 slucaju normalne distribucije ocekuje se da ce u svakom pretincu hash-tablice biti tocno jedan element. Ako ih je vise, onda se sortiraju nekomod poznatih standardnih metoda sortiranja. Mi cemo koristiti metodu sor-tiranja pomocu hrpe iz dva razloga: prvo zato jer ima slozenost O(n · lg n) unajgorem slucaju, pa ce i bucket sort naslijediti tu najgoru slozenost i drugo,jer se i tako nakon razmjestanja elemenata u hash-tablicu, elemente iz poje-dinih pretinaca treba procitati i sortirati. Kako bismo odrzali cistocu bucketsort algoritma, ne ulazeci u detalje pomocne metode sortiranja, u algoritmucemo kreirati pomocno polje i sortirati ga koristeci neku od ranije opisanihmetoda sortiranja. Kod prepisivanja elemenata odmah cemo ih prepisivati

Page 194: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

184 4.3. PRETRAZIVANJE I SORTIRANJE

u pomocnu hrpu. Na taj nacin povecavamo prostor koji ovaj algoritam za-htjeva, jer koristimo pomocnu strukturu. Moglo bi se proci i bez toga, akobi se sortiralo izravno u ulaznom polju. No, zato bismo trebali modificiratineki od ranije opisanih algoritama sortiranja. Kada bismo implementiralibucket sort za stvarno koristenje, tada bismo to i ucinili, smanjujuci timenjegovu prostornu, ali i vremensku slozenost. No, na ovoj razini, nama tonije u interesu, jer bi to znatno zakompliciralo nase izlaganje, kao i algori-tam koji bismo dobili, i odvelo nas nepotrebno od biti metode u detalje nekedruge metode sortiranja.

Stoga imamo sljedeci algoritam:

Algoritam 4.20ULAZ: Polje A od n elemenataIZLAZ: 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.

Izracun slozenosti za najbolji i najgori slucaj vrlo je jednostavan. Najgorije slucaj kada je distribucija vrijednosti elemenata krajnje neuniformna, tj.kada svi elementi osim jednog ulaze u prvi ili posljednji pretinac hash tablice.U tom slucaju imamo sljedecu slozenost:

TBucketSortmax (n) ≤ c1 + n · c2 + THeapSort

max (1) + TmaxHeapSort(n− 1). (4.9)

U c2 ulazi vrijeme potrebno da se izvede jedan korak prve petlje algo-ritma. Pri tome se pretpostavlja da se umetanje elemenata u hash-tablicuizvodi u konstantnom vremenu.

Page 195: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 185

Petlja iz koraka 4 izvrsit ce se tocno n puta, za svaki pretinac hash-tablicepo jednom. Stoga ce se koraci 5 i 12, kao i provjera uvjeta iz koraka 9 izvrsititocno n puta, pa cemo i njihovo vrijeme dodati u vrijednost konstante c2.Petlja iz koraka 6 ce se ukupno, u svim koracima petlje iz koraka 4 izvrsititocno n puta, za svaki element ulaznog polja po jednom. Stoga i sva vremenapotrebna za izvrsenje jednog njenog koraka, mozemo dodati u konstantu c2.Slicno je i s petljom iz koraka 10.

Preostalo je jos samo uvrstiti slozenost koju donosi poziv funkcije heap-sort. Najgore je, kao sto smo ranije rekli, kada se svi elementi osim jednogsvrstavaju u jedan pretinac, a to je slucaj koji je opisan u formuli 4.9. Tonas dovodi do formule 4.9. Uvrstimo li slozenost sortiranja pomocu hrpeimat cemo:

TBucketSortmax (n) ≤ c1 + n · c2 + c3 + c4 + c5 · n + c6 · (n− 1) · lg(n− 1).

Odnosno,

TBucketSortmax (n) = O(n · lg n).

Minimalna slozenost dobije se ako se pretpostavi u potpunosti uniformnadistribucija elemenata. Tada svaki element dolazi u svoj pretinac hash-tablice, pa imamo:

TBucketSortmin (n) ≤ c1 + n · c2 + n · THeapSort

max (1),

odnosno

TBucketSortmin (n) ≤ c1 + n · c2 + n · c3 = Θ(n). (4.10)

Za prosjecnu slozenost treba pretpostaviti uniformnu distribuciju navelicinu svakog pojedinog elementa, tj. pretpostaviti da je jednako vjero-jatno da ce svaki pojedini element uci u bilo koji pretinac hash-tablice.

TBucketSortavg (n) = E

[Θ(n) +

n∑

i=1

T heapsortavg (Ni)

],

pri cemu je Ni broj elemenata u i-tom pretincu hash tablice. Zbog linear-nosti matematickog ocekivanja imamo

TBucketSortavg (n) = n + E

[n∑

i=1

T heapsortavg (Ni)

]

= n +n∑

i=1

E[T heapsortavg (Ni)]

= n +n∑

i=1

T heapsortavg (ENi).

Page 196: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

186 4.4. ZADACI

Sada jos treba izracunati koliko je ocekivanje varijable Ni. Vjerojatnost daj-ti element padne u i-ti pretinac jest 1

n . Neka je s Xij oznacena indikatorskavarijabla vjerojatnosti da je j-ti element u i-tom pretincu.

P (Xij = 1) =1n

.

Sada je

ENi =n∑

j=1

P (Xij) = 1.

Drugim rijecima, matematicko ocekivanje svakog pretinca je da u njemubude jedan element. Iz toga slijedi da je

TBucketSortavg (n) = TBucketSort

min (n) = Θ(n).

4.4 Zadaci

1. Izvedite algoritme iz poglavlja 4.1 na racunalu u programskom jezikupo zelji.

2. Izvedite algoritme iz poglavlja 4.3 na racunalu u programskom jezikupo zelji.

3. Napravite algoritam koji ce pozivati funkciju double fja(double x),te za nju izracunavati integral u zadanim granicama Rombergovimalgoritmom.

4. Eratostenovo sito je algoritam koji trazi prvih n prostih brojeva nasljedeci nacin: kreira se binarno polje velicine n, u kojem se svi ele-menti iniciraju na 1. Pocevsi od 2 pa do b√nc, radi se sljedece: akoje i-ti element u polju 1, onda se elementi koji se nalaze na mjestimak · i u polju postavljaju na 0.

(a) Dokazite da ce nakon izvrsavanja ovog algoritma i-ti elementpolja biti 1 ako i samo ako je i prost broj.

(b) Izvedite algoritam koji ce pronalaziti prvih n prostih brojeva ko-risteci Eratostenovo sito.

(c) Ocijenite slozenost ovog algoritma.

(d) Napravite quicksort algoritam bez koristenja rekurzije.

5. Napravite algoritam koji ce za zadani broj x izracunavati n-ti korijenzadanog broja metodom polovljenja. Algoritam treba odrediti pocetniinterval u kojem se nalazi n-ti korijen od zadanog broja te ga u svakomkoraku smanjiveti na pola uzimajuci samo onu polovicu u kojoj se

Page 197: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 4. ALGORITMI 187

nalazi n-ti korijen od x. Algoritam mora stati ako je interval kojise promatra manji od nekog malog broja ε. Ocijenite slozenost ovogalgoritma.

6. Napravite algoritam koji rjesava sljedeci problem:

Problem 4.2 (Partition)ULAZ: Multiskup prirodnih brojeva A = a1, . . . , an.IZLAZ: Potrebno je pronaci particiju A1, A2 multiskupa A tako da je

ai∈A1

ai =∑

ai∈A2

ai

7. Neka su zadana dva niza znakova koji se sastoje od znakova A,C, Gi T (DNK!). Nizovi ne moraju biti iste duljine. Pronadite algoritamkoji trazi najdulji zajednicki niz znakova, koji se pojavljuju tim re-doslijedom u ulaznim nizovima, ali ne nuzno jedan za drugim. Npr.za nizove ATCTTGA i CCACTTGGCA trazeni je niz ACTTGA.

Napravite algoritam koji ce traziti takav maksimalan niz. Algoritammora biti polinomne slozenosti s duljinom nizova. (Za pomoc vidi [2]).

4.5 Projekti

1. Napravite program koji ce sortirati datoteku. Za sortiranje u vanj-skoj memoriji koristi se modificirano sortiranje spajanjem. Kako bisortiranje spajanjem radilo sto bolje, prije pocetka sortiranja datotekuprepisite u drugu datoteku, ali tako da elementi prije prepisivanja pro-laze kroz hrpu odredene dubine. Elementi se iz ulazne datoteke pune uhrpu, a iz hrpe se prepisuju u izlaznu datoteku tek kada je hrpa punai u nju vise ne stane ni jedan element. Cijeli algoritam mora imatislozenost O(n · lg n), pri cemu je n broj citanja i pisanja podataka uvanjskoj memoriji.

2. Implementirajte u ovoj glavi navedene algoritme sortiranja, te ih us-poredite za razlicite velicine ulaza. Empirijski odredite koji algoritamje najbrzi za odredene velicine ulaza, te napravite algoritam koji ceovisno o velicini ulaza izabirati onaj algoritam koji ce biti najbrzi.Imajte na umu da se algoritam, koji se koristi, moze mijenjati tijekomrada, kada se ulaz dovoljno smanji!

3. Implementirajte randomizirani quicksort algoritam. Kod njega se pi-vot element uzima kao slucajni element polja koje se sortira. Napravitevjerojatnosnu analizu ocekivane vrijednosti izabranog pivota, te s ob-zirom na to, prosjecnu slozenost.

Page 198: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

188 4.5. PROJEKTI

Page 199: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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.: Introductionto Algorithms, 2nd edition, The MIT Press, Cambrige, 2001.

[3] Garey, M. R.; Johnson, D. S. : Computer and Intractability A guideto the Theory of NP-Completeness, W. H. Freeman & Co., New York,1979.

[4] Goodaire, E.G.; Parmenter, M.M.: Discrete Mathematics with GraphTheory, Prentice-Hall, Upper Side River, 1998.

[5] Knuth, D. E. (1981):The Art of Computer Programming: FundamentalAlgorithms, 2nd 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] Pavkovic, B., Dakic, 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

Page 200: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

190 BIBLIOGRAFIJA

Page 201: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Poglavlje 5

Teorija grafova

S jednakom strascu trazio sam znanje.Zelio sam razumijeti srca ljudi. Zudiosam znati zasto zvijezde sjaje. Ipokusao sam razumijeti pitagorejskumoc po kojoj brojevi imaju moc nadstrujom (flux). Mali dio toga, nemnogo, ja sam i ostvario.

Bertrand Russell

Postoji cijeli niz prakticnih problema, koji se mogu jednostavnije rijesitiupotrebom grafova. Grafovi ponekad prikazuju stvarne fizicke mreze, kaosto su ceste, plinovodi i slicno, ali i apstraktne objekte kao sto su baze po-dataka, tok racunalnog programa, prikaz aktivnosti u projektu, itd. Grafovise primijenjuju i u znanstvenim i strucnim disciplinama u kojima ih nebi ocekivali. Spomenimo da se pomocu grafova prikazuju socijalni odnosii hijerarhija u organizaciji, hranidbeni lanci u bi-ologiji, karte u kartografiji, zaduzenja zaposlenikau poslovnoj organizaciji, ali i optimalna setnjapreko rijecnih mostova. Podugacki popis primjenateorije grafova moze se naci u tablici [7], str. 527-528.Medutim dvije glavne aplikativne domene teorijegrafova 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 zaokruzenoj matematickoj Slika 5.1: Leonhard Euler

strukturi, do intuitivnog koji se uopce ne bavi matematickom pozadinom,vec samo primjenom na odredeni skup zanimljivih problema. Ovdje je iz-abran srednji put, koji ce postivati matematicku utemeljenost teorije, ali se

191

Page 202: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

192 5.1. DEFINICIJA GRAFA I OSNOVNA SVOJSTVA

nece uvijek drzati strogog matematickog formalizma kako bi ostavio prostoraza primjene grafova na probleme iz prakse.

5.1 Definicija grafa i osnovna svojstva

Veliki svicarski matematicar Leonhard Euler (1707-1783) smatra se utemelji-teljem teorije grafova. On je rijesio do tada nerijesen problem Konigsberskihmostova. Evo prikaza tog problema.

Problem 5.1 (Konigsberski mostovi)Konigsberg je u 18. stoljecu bio grad u istocnoj Prusiji (danas je to grad

Kalingrad u Rusiji) i kroz njega su prolazila dva rukavca rijeke Pregel (Slika5.2), koja su okruzivala otocic Kneiphof. Na rijeci je bilo ukupno 7 mostova,koji su povezivali 4 dijela grada odvojena rijekom. Problem glasi da li jemoguce napraviti setnju gradom koja bi zapocela na jednom dijelu grada,obuhvatila svih sedam mostova tocno jedanput i zavrsila u pocetnoj tocki?

Slika 5.2

Euler je taj problem rijesio tako da je prvo nacinio model, koji danasnazivamo grafom. Dijelovi grada odvojeni vodom predstavljali su vrhove, amostovi bridove tog grafa. Problem se sada svodio na to da se pocevsi odbio kojeg vrha prode kroz sve bridove tocno jedanput i vrati na pocetak.Takvo se obilazenje u teoriji grafova Euleru u cast danas naziva Eulerovastaza.

Page 203: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 193

1 3

2

4

Slika 5.3

U nasim razmatranjima graf cemo promatrati kao matematicku struk-turu.

Teorija grafova je matematicka disciplina koja proucava zakonitosti nagrafovima. Definirajmo prvo graf matematickom definicijom. Kod defini-ranja novih pojmova u zagradama navest cemo engleske termine buduci daje 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 skupneuredenih parova elemenata iz V , koji cini skup bridova (eng. edges) grafaG.

U ovoj cemo se knjizi baviti samo s konacnim grafovima tj. grafovimakod kojih je skup vrhova V neprazan konacan skup i skup bridova E konacanskup. Dozvoljavamo da je skup bridova prazan skup i takav graf ondazovemo nulgrafom (eng. null graph) ili praznim grfom. Dakle, nulgraf jegraf kod kojeg je skup bridova prazan skup. Neusmjereni graf cemo cestojednostavno zvati grafom, a napomenut cemo posebno ako cemo raditi susmjerenim grafom.

Primjer 5.1 Neka je V = 1, 2, 3, 4 i E = 1, 2 , 1, 3 , 2, 3 , 3, 4.Pripadni se graf moze prikazati na sljedeci nacin. Sa slike je vidljivo da jemoguce i drugacije oznacavanje bridova i da vrijedi 12 = a, 13 = d, 23 =b, 34 = c.

Page 204: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 kazemo da su susjedni (eng. adjacent)ako postoji brid e, koji ih povezuje. Pri tome kazemo da je brid e incidentan(eng. incident) vrhovima u i v.

Primjer 5.2 Za vrhove 1 i 3 kazemo da su susjedni , jer su povezani bridom.Jos kazemo i da su vrhovi 1 i 3 incidentni bridu d.

Bridovi e i f su susjedni ako imaju zajednicki barem jedan vrh.

Definicija 5.3 Graf G je planaran (ravninski) graf ako se graficki mozepredociti tako da se bridovi sijeku samo u vrhovima.

Brid koji je incidentan samo s jednim jedinim vrhom se zove petlja.Graf G je konacan ako su oba skupa V i E konacni.Graf je jednostavan ako nema petlje i ako ne postoje dva brida koji

spajaju isti par vrhova.

Ako drugacije ne kazemo, pod pojmom grafa podrazumijevat cemo je-dnostavni graf, a kad govorimo o grafu koji moze sadrzavati petlje, govoritcemo 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 jednimbridom, zove se potpuni graf (eng. complete graph). Potluni graf s vrhovaoznacavamo s Kn.

Page 205: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 195

Slika 5.5

Primjer 5.4 Slijedi primjer potpunog grafa K4.

4 2

1

3

Slika 5.6

Page 206: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

196 5.1. DEFINICIJA GRAFA I OSNOVNA SVOJSTVA

Definicija 5.5 Bipartitni graf (eng. bipartite graph) je graf za ciji skupvrhova postoji particija V = X,Y dva skupa X i Y , tako da svaki bridima jedan kraj u X, a drugi u Y .

Potpuni bipartitni graf (eng. complete bipartite graph) je bipartitnigraf kod kojeg je svaki vrh iz X spojen sa svakim vrhom u Y tocno jednimbridom.

Iz prethodne definicije slijedi da je potpuni, odnosno potpuni bipartitnigraf u potpunosti odreden brojem svojih vrhova, odnosno brojem vrhova uparticiji skupa vrhova.

Primjer 5.5 Slijedi primjer potpunog bipartitnog grafa K3,2.

2

1

3

4

5

Slika 5.7

Zadatak 5.1 Nacrtajte grafove K3, K5,K2,3 i K3,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 podizemo za 2.

Zadatak 5.2 Kolika je maksimalna valencija vrha moguca u grafu s nvrhova?

Teorem 5.1 Za jednostavni graf G = (V, E) vrijedi∑

v∈V

d(v) = 2ε,

gdje je ε broj bridova grafa G.

Page 207: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 svakibrid brojimo dva puta, jer on spaja dva razlicita 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. Raspisimo sumaciju∑

v∈V

d(v)

kao sumu po vrhovima parnog stupnja i vrhovima neparnog stupnja:∑

v∈V

d(v) =∑

v∈Vv je paran

d(v) +∑

v∈Vv je neparan

d(v).

Lijeva strana jednakosti i lijeva suma na desnoj strani su parni brojevi, pato mora biti i desna suma na desnoj strani. Kako su u

v∈Vv je neparan

d(v)

sumandi neparni brojevi, treba ih biti paran broj, kako bi suma bila paranbroj.

Prethodna se tvrdnja u literaturi moze naci pod nazivom Handshakinglemma ili Lema o rukovanju. Razlog tom nazivu je to sto se problem tetvrdnje moze svesti na rjesenje sljedeceg 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 isvi su vrhovi razlicitog stupnja.

5.2 Izomorfizam grafova

Definicija 5.7 Neka su G1 i G2 dva grafa i f funkcija cija je domena skupvrhova grafa G1, a kodomena skup vrhova grafa G2. Ako vrijedi

• f je bijekcija,

• f (v) je susjedan sa f (w) u G2 ako i samo ako su v i w susjedni u G1,

Page 208: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

198 5.2. IZOMORFIZAM GRAFOVA

onda za funkciju f kazemo da je izomorfizam grafova G1 i G2. Za grafoveG1 i G2 kazemo da su izomorfni.

Dakle grafovi G1 i G2 su izomorfni ako postoji barem jedna bijekcijaizmedu njihovih vrhova sa svojstvom da ”cuva” susjednost vrhova. Takvegrafove smatramo jednakima, jer se razlikuju samo u polozaju vrhova.

Zadatak 5.5 Nacrtajte sve razlicite grafove s cetiri vrha. Koliko ih ima?

Zadatak 5.6 Pokazite da je izomorfizam grafova relacija ekvivalencije.

Iz cinjenice da je izomorfizam grafova relacija ekvivalencije slijedi dana skupu svih grafova postoji particija takva da su u pojedinom skupu teparticije samo oni grafovi koji su medusobno ekvivalentni, tj. izomorfni.Sve grafove koji pripadaju pojedinom skupu iz particije mozemo identifici-rati.Iako oni mogu reprezentirati razlicite objekte, sa apstraktnog stanovistasmatramo ih jednakima. Dakle, izomorfni grafovi imaju jednake osnovnekarakteristike, sto kazuje sljedeca propozicija.

Propozicija 5.1 Neka su G1 i G2 izomorfni grafovi. Tada G1 i G2 imaju

1. jednak broj vrhova,

2. jednak broj bridova,

3. jednake nizove stupnjeva vrhova,

Dokaz. Pretpostavka je da su G1 i G2 izomorfni grafovi, tj. da postojibijekcija f cija je domena skup vrhova grafa G1, a kodomena skup vrhovagrafa G2. Znamo da ukoliko postoji bijekcija izmedu dva skupa oni su jed-nakobrojni, pa vrijedi tvrdnja 1. Dokazimo tvrdnju 3. Neka je v vrh u G1

stupnja d i v1, v2, ..., vd vrhovi susjedni vrhu v. Sada, zbog drugog zahtjeva izdefinicije izomorfizma grafova, slijedi da je f (v) u grafu G2 susjedan samo svrhovima f (v1) , f (v2) , ..., f (vd), pa je i stupanj vrha f (v) jednak d. Vrijedii obrat. Nadalje zbog Teorema 5.1 vrijedi tvrdnja 2.

Dokazati da su dva grafa izomorfna nije lagan zadatak, te je gornjapropozicija vrlo korisna buduci da ona za dva grafa kaze 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 jos nekasvojstva, koja cemo u nastavku proucavati. No, ne vrijedi obratno. Naime,ako dva grafa imaju jednak broj vrhova, bridova, nizove stupnjeva i brojkomponenata povezanosti to ne znaci da su oni izomorfni. Medutim, obratsuprotne tvrdnje u propoziciji kaze da ako dva grafa imaju, na primjer,razliciti broj vrhova, onda oni nisu izomorfni, itd.

Zadatak 5.7 Koji su od sljedecih grafova izomorfni: K3,4, K4,3, K7, K4,K3,2?

Page 209: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 199

Zadatak 5.8 Dokazite da vrijedi Km,n ' Kp,q ⇔ m,n = p, q .

5.3 Regularni grafovi

Primijetimo da u potpunom grafu svaki vrh ima isti stupanj. Prisjetimose Petersenovog grafa i uocimo da svi vrhovi u tom grafu imaju jednakestupnjeve. Koliki je taj stupnaj? Ispitajmo svojstva takvih grafova.

Definicija 5.8 Graf G je regularan ako svi njegovi vrhovi imaju isti stupanj,tj. d (v) = r,∀v ∈ V (G). Za graf ciji su svi vrhovi stupnja r kazemo da jeregularan 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 primjeruje suma stupnjeva svih vrhova jednaka nr. Sada iz te jednakosti izlazi da utom grafu ima nr

2 bridova.

Zadatak 5.9 Dokazite sljedece tvrdnje o potpunim grafovima.

1. Potpuni graf Kn je (n− 1)−regularan.

2. Za potpuni graf Kn suma svih stupnjeva je jednaka n (n− 1) .

3. Za potpuni graf Kn broj bridova je jednak n(n−1)2 .

4. K4 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) Ispisite elemente relacije i prikazite relaciju pomocu grafa.

(b) Da li je taj graf regularan? Kako to ovisi o skupu na kojem jerelacija | zadana?

Page 210: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

200 5.4. SETNJE I CIKLUSI U GRAFU

5.4 Setnje i ciklusi u grafu

Mnogi stvarni problemi koje rjesavamo uvodenjem modela grafova svodese na nalazenje putova unutar grafova (primjerice problem keningsberskihmostova ili problem kineskog postara). Stoga je znacajno istraziti teorijskepreduvjete za postojanje takvih rjesenja.

Definicija 5.9 Setnja u grafu G je netrivijalni konacan niz, ciji su clanovinaizmjenice vrhovi i bridovi. Vrhovi su na pocetku i kraju setnje. Vrhovi,koji nisu na pocetku ili na kraju, zovu se unutarnji vrhovi. Duljina setnjek je broj bridova u setnji. Ako su svi vrhovi u setnji medusobno razliciti,setnju zovemo put .

Primjer 5.8 U grafu na slici prikazana je setnja 3d1a2, gdje je 3 pocetaksetnje i 2 kraj setnje. Duljina setnje je k=2. Istaknimo jos i setnju 3d1a2b3koja sadrzi 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 pocetak i kraj.

Definicija 5.11 Zatvorenu setnju kod koje su pocetak i unutrasnji vrhovirazliciti, zovemo ciklus.

Ako ciklus ima r razlicitih bridova i r razlicitih vrhova, govorimo o cik-lusu duljine r ili r−ciklusu.

Navedimo sada jedan vazan teorem, koji daje karakterizaciju bipartitnoggrafa pomocu ciklusa.

Teorem 5.2 Graf G je bipartitan ako i samo ako G ne sadrzi cikluse ne-parne duljine.

Page 211: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 201

Ovaj teorem necemo dokazivati, a njegov se dokaz moze naci u [1], str.190.

Vec smo spopmenuli da je pseudograf graf koji moze sadrzavati petlje ivisestruke bridove.

Definicija 5.12 Pseudograf je povezan ako i samo ako postoji setnja izme-du bilo koja dva njegova vrha.

Pisemo v1 ∼ v2 ako postoji setnja u grafu koja povezuje vrhove v1 i v2.

Zadatak 5.11 Pokazite da je ∼ relacija ekvivalencije na skupu V svihvrhova grafa G.

Buduci da je ∼ relacija ekvivalencije na skupu V svih vrhova grafa G, naskupu V postoji particija tog skupa na disjunktne, neprazne podskupove -klase. Svaki vrh pripada tocno jednoj klasi. Svi vrhovi koji pripadaju jednojklasi medusobno su povezani.

Definicija 5.13 Neka je G (V, E) graf s pripadajucom particijom s obziromna relaciju ∼, danom s

V = V1 ∪ V2 ∪ ... ∪ Vr.

Oznacimo s Ei (1 ≤ i ≤ r) podskup od E ciji bridovi imaju vrhove u Vi.Grafovi Gi (Vi, Ei) se zovu komponente povezanosti od G. Ako graf imasamo jednu komponentu povezanosti, onda je on povezan.

Navedimo jos jedno svojstvo koje imaju izomorfni grafovi.

Propozicija 5.2 Neka su G1 i G2 izomorfni grafovi. Tada G1 i G2 imajujedanak broj komponenata povezanosti.

Dokaz. Tvrdnju cemo dokazati metodom suprotnog. Uzmimo da grafG1 ima vise komponenata povezanosti od grafa G2. To znaci da postojevrhovi koji nisu susjedni u G1, a susjedni su u G2. Pretpostavimo da dvavrha v1 i v2 nisu susjedni u grafu G1, ali su f (v1) i f (v2) susjedni u grafuG2. To je u kontradikciji s drugim zahtjevom iz definicije izomorfizma.

5.4.1 Eulerova staza

Ova ce tocka produbiti i prosiriti problem keningsberskih mostova, iz kojegje izrasla teorija grafova.

Definicija 5.14 Staza je setnja u kojoj su svi bridovi razliciti.Eulerova staza (eng. Euler trail) je staza koja prolazi svakim bridom od

G.

Page 212: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

202 5.4. SETNJE I CIKLUSI U GRAFU

Problem keningsberskih mostova svodi se na pitanje postoji li Eulerovastaza na grafu? Buduci da je Euler prvi proucavao taj problem, njemu ucast, te su posebne staze dobile ime. On je uvidio da ako su a i b dva razlicitavrha, tada je nuzan uvjet za postojanje Eulerove staze, koja pocinje u a izavrsava u b, da vrhovi a i b imaju neparni stupanj, a da su ostali vrhoviparnog stupnja. Ako je a = b tada svi vrhovi trebaju biti parnog stupnja.Dakle, nuzan uvjet za postojanje Eulerove staze u grafu je da graf imanajvise dva vrha neparnog stupnja. Pokazuje se da je to ujedno i dovoljanuvjet. Euler je 1736. godine utvrdio da graf keningsberskih mostova nemaEulerove staze.

Teorem 5.3 Povezani pseudograf ima Eulerovu stazu ako i samo ako imanajvise dva vrha neparnog stupnja.

Dokaz teorema daje ujedno i algoritam za nalazenje Eulerove ture ugrafu.

Eulerova tura (eng. Euler tour or Euler circuit) je zatvorena Eulerovastaza. Eulerova tura u pseudografu G je tura koja sadrzi svaki brid i svakivrh grafa. Graf je Eulerov ako dopusta Eulerovu turu.

Teorem 5.4 (Eulerov teorem) Neprazni povezani graf je Eulerov ako isamo ako su mu svi vrhovi parnog stupnja.

Dokaz. Vec je Euler dokazao da ako Eulerova tura postoji, onda u svakivrh u koji se ude mora biti moguce i izaci sto znaci da su stupnjevi bridovaparni brojevi. Pretpostavimo sada da je pseudograf povezan i svi su vrhoviparnog stupnja i pokazimo da je graf Eulerov. Neka je v vrh u grafu. Akovrh ima petlji, treba slijediti svaku petlju bez ponavljanja. Buduci da jebroj vrhova u grafu barem 2, postoji barem jos jedan vrh v1, pa povezemov i v1. U v1 prvo obidemo sve petlje, a onda se pomaknemo u sljedeci vrhv2 (ako postoji). Kad god dodemo u novi vrh, prvo obidemo sve petlje, aonda izademo iz vrha. Uvijek je moguce izaci iz vrha u koji smo usli, jerje stupanj svakog vrha paran broj. Jos se moramo uvjeriti da se mozemovratiti u vrh v. Uzmimo da smo zaokruzili turu C1, tj. vratili smo se prviputa u v. Ako smo pri tome obisli sve bridove, posao je zavrsen. Ako to nijeslucaj, tj. tura C1 nije Eulerova, izbacimo iz grafa sve bridove iz C1 te onevrhove iz C1, koji su izbacivanjem bridova ostali izolirani. Promatramo grafG1 = G \C1 i ponavljamo postupak. Buduci da je G povezan onda G1 i C1

imaju barem jedan zajednicki vrh u. Krenuvsi iz vrha u pronalazimo novuturu C u G1 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 C1. Tako smo dobili turu C2, koja ima viseukljucenih bridova od C1. Postupak nastavljamo dok ne iscrpimo sve vrhovei bridove iz konacnog grafa G.

Page 213: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 203

Euler je u prethodnom teoremu dokazao samo jedan smjer. Tvrdnju daje pseudograf Eulerov ako su mu svi vrhovi parnog stupnja, dokazao je CarlHierholzer 1873. godine.

Korolar 5.2 Povezani graf ima Eulerovu stazu ako i samo ako ima najvisedva vrha neparnog stupnja. Ako ima tocno dva vrha neparnog stupnja, ondaEulerova staza mora poceti i zavrsiti u tim vrhovima.

Dokaz. Prema Eulerovom teoremu graf nema vrhova neparnog stupnjaako i samo ako dopusta Eulerovu turu. Dakle, pretpostavimo da graf G imavrhove neparnog stupnja.

Pretpostavimo da graf G = (V, E) ima Eulerovu stazu koja nije zatvo-rena. Unutrasnji vrhovi staze su uvijek incidentni s dva brida, pa krajnjivrhovi 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 moze biti samo jedan vrh neparnog stupnja koji ima Eule-rovu stazu.

Neka su sada vi i vj jedina dva vrha u G koji imaju neparan stupanj.Promotrimo dva slucaja.

Prvi slucaj: vrhovi vi i vj nisu susjedni. Dodamo li njihovu spojnicu,brid eij , u skup svih bridova u grafu G, tada ce tako uvecani graf imati svevrhove parnog stupnja i dopustat ce Eulerovu turu. Brisanjem brida eij izEulerove ture dobit cemo Eulerovu stazu koja pocinje u vi i zavrsava u vj

ili obrnuto.Drugi slucaj: vrhovi vi i vj jesu susjedni. Sada skupu vrhova od G

dodamo novi vrh vn, za koji vrijedi da ga brid eni veze s vrhom vi, a bridenj s vj . Pri tome smo skup bridova E od G uvecali za dva brida eni ienj . Sada su u uvecanom grafu svi vrhovi parnog stupnja, pa graf dopustazatvorenu Eulerovu stazu. Brisanjem vrha vn i bridova eni i enj iz G u Gostaje Eulerova staza kojoj su vrhovi vi i vj krajnje tocke.

Naglasimo da Eulerov teorem i gornji korolar vrijede i u grafu koji sadrzivisestruke bridove, tzv. pseudografu.

Postoji algoritam za trazenje Eulerove staze u grafu. Algoritam je pro-nasao Edouard Lucas (1842-1891), ali ga je posvetio M. Fleuryju, pa gazovemo Fleuryjev algoritam. Algoritam se temelji na brisanju onih bridovaiz grafa koji ne utjecu na povezanost grafa (do kada je to moguce).

Brid eij je most (engl. bridge) u G ako njegovo brisanje daje podgraf odG s vise 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 v0 ∈ V . Stavi T0 = (v0) i G0 = G = (V, E).

Page 214: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

204 5.5. MATRICA INCIDENCIJE I MATRICA SUSJEDSTVA

2. k := 0.

3. Neka je Tk = (v0, . . . , vk). Iz Gk treba izabrati brid koji je incidentans vk i to tako da biramo most ako i samo ako nemamo drugog izbora.Oznacimo drugi kraj izabranog brida s vk+1.

4. Graf Gk+1 se dobija iz Gk brisanjem brida ek,k+1, tj. Gk+1 = (V, Ek+1)pri cemu je Ek+1 = Ek\ek,k+1).

5. Ako Gk+1 nije nulgraf, stavi k := k + 1 i idi na korak 3. Ako je Gk+1

nullgraf, onda je Tk+1 Eulerova tura.

Zadatak 5.12 Pokazite da je Fleuryjev algoritam korektan i pronadite muslozenost.

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 moze zapisati pomocu matrica. To jemoguce uciniti na najmanje dva nacina: u prvom slucaju opisujemo u ma-trici jesu li vrhovi i bridovi incidentni (matrica incidencije), a u drugom jesuli dva vrha spojena bridom (matrica susjedstva).

Definicija 5.15 Neka je G graf sa skupom vrhova v1, v2, .., vn . Za svakii i j , (1 ≤ i, j ≤ n) definiramo da je aij jednak broju bridova koji povezujuvi i vj . Matrica susjedstva od G je kvadratna matrica reda n dana sa

A = [aij ] .

Ako graf nema petlji ni visestrukih bridova, onda su elementi matricesusjedstva nule i jedinice.

Definicija 5.16 Neka je G graf sa skupom vrhova v1, . . . , vn i sa skupombridova e1, . . . , em. Za svaki i, j (1 ≤ i ≤ n i 1 ≤ j ≤ m) definiramo

bij =

1 ako je vi incidentan s ej

0 inace

Matricu B = [bij ] zovemo matricom incidencije i ona jew tipa (n,m).

Primjer 5.9 Napisimo matricu susjedstva za graf na slici.

Page 215: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 205

1 3

2

4

a b

c

d

Slika 5.9

Matricu susjedstva formiramo na sljedeci nacin:

1 2 3 41 0 0 1 12 0 0 1 03 1 0 0 14 1 0 1 0

Matrica susjedstva: A =

0 0 1 10 0 1 01 0 0 11 0 1 0

Matrica incidencije M:

a b c d1 0 0 1 12 1 0 0 03 1 1 0 14 0 1 1 0

Nabrojimo neka svojstva matrice susjedstva.

Propozicija 5.3 Neka je G jednostavan graf s n vrhova. Vrijedi:

1. aii = 0, tj. na dijagonali matrice susjedstva nalaze se nule,

2. aij = aji, tj. matrica susjedstva je simetricna matrica.

3. Oznacimo li s Deg(v) broj jedinica u i-tom redu, onda je taj brojjednak broju jedinica u i−tom stupcu.

4. (i, j) mjesto u A2 predstavlja broj setnji od i do j duljine 2.

Page 216: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

206 5.5. MATRICA INCIDENCIJE I MATRICA SUSJEDSTVA

5. (i, j) mjesto u An predstavlja broj setnji od i do j koje ukljucuju nbridova.

Dokaz. Neka je A = [aij ] matrica susjedstva grafa G koji ima n vrhova.

1. Buduci da je G jednostavan graf pa ne sadrzi petlje, na dijagonali suuvijek nule.

2. Ako je v1 susjedan vrhu v2 tada je i vrh v2 susjedan vrhu v1, pa jematrica A simetricna. Vrijedi i obrat. Dakle, simetricne matrice, cijisu elementi nule i jedinice, i imaju nule na glavnoj dijagonali, moguse smatrati matricama incidencije nekog jednostavnog grafa.

3. Svojstvo je posljedica cinjenice da je matrica A simetricna.

4. Svojstvo je posljedica definicije mnozenja matrica. Naime, mjesto bij

u matriciA2 = [bij ]

dobijemo kao

bij =n∑

k=1

aikakj .

U sumi su samo oni produkti razliciti od nule kod kojih je aik = 1i akj = 1, tj. samo oni kod kojih postoji setnja izmedu ta dva vrhapreko vrha vk. To su, dakle, setnje koje ukljucuju vrhove vi, vk, vj , pasu duljine 2.

5. Dokaz se provodi matematickom indukcijom. Baza indukcije dokazanaje u prethodnoj tocki dokaza. Da bi proveli korak indukcije pret-postavimo da (i, j) mjesto u An−1 predstavlja broj setnji od i do jduljine n−1. Trebamo pokazati da (i, j) mjesto u An predstavlja brojsetnji od i do j, koje ukljucuju n bridova. Taj postupak je jednakonome iz prethodne tocke dokaza.

Korolar 5.3 Postoji bijekcija izmedu skupa svih jednostavnih grafova isimetricnih matrica, ciji su elementi nule i jedinice i koje imaju nule naglavnoj dijagonali.

Zadatak 5.14 Zadana je matrica

A =

0 1 1 11 0 1 01 1 1 01 0 0 0

.

Page 217: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 207

1. Moze li matrica A biti matrica susjedstva nekog jednostavnog grafa ilipseudografa?

2. Nacrtajte jedan takav graf, odnosno pseudograf.

3. Koliko ima setnji duljine 2 izmedu vrhova v1 i v2?

4. Koliko ima setnji duljine 3 izmedu vrhova v1 i v2?

Teorem 5.5 Grafovi G1 i G2 su izomorfni ako i samo ako se njihovi vrhovimogu oznaciti tako da su im jednake matrice susjedstva.

Definicija 5.17 Matrica permutacija P je matrica ciji su redovi permuti-rani redovi jedinicne 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 02 0 1 01 1 0 00 0 0 0

na grafu ciji su vrhovi dani sa V = v1, v2, v3, v4 .

1. Ima li petlji u grafu? Da li je graf jednostavan?

2. Ima li izoliranih vrhova u grafu?

3. Izracunajte stupnjeve svih vrhova.

4. Skicirajte graf.

5. Izracunajte A2, te odredite broj bridova duljine 2 koji spajaju vrhovevi i vj .

6. Izracunajte A3, te odredite broj bridova duljine 3 koji spajaju vrhovevi i vj .

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 12 0 1 11 1 0 31 1 3 1

, B =

1 3 1 13 0 1 11 1 1 21 1 2 0

.

Page 218: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

208 5.6. HAMILTONOVI CIKLUSI

1. Nacrtajte grafove G i H.

2. Sto primjecujete?

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 krajuvratili odakle smo krenuli. Ovdje cemo prikazati komplementarni problemtako da trazimo ciklus u grafu koji prolazi svim vrhovima samo jedanput.Taj je problem 1956. godine posebno razmatrao poznati irski matematicarWilliam R. Hamilton (1805-1865).

Definicija 5.18 Hamiltonov put na G je put koji sadrzi sve vrhove od G.Hamiltonov ciklus (eng. Hamilton circuit, cycles) na G je ciklus koji

sadrzi sve vrhove od G.Graf G je Hamiltonov ako sadrzi Hamiltonov ciklus.

Za razliku od Eulerovog grafa, jos je uvijek otvoreni problem karak-terizacije Hamiltonovog grafa, tj. nalazenja nuznog i dovoljnog uvjeta da(netrivijalni) graf bude Hamiltonov. Ocito je da je jedan od nuznih uvjetada bi graf bio Hamiltonov, da je povezan. Postoji dosta parcijalnih razultatakoji doprinose mogucem rjesenju 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 veci od 3 (n ≥ 3) i stupanj svakog vrha d (v) ≥ n

2 tadaje G Hamiltonov graf.

Dokaz. Pretpostavimo da je put P : v1v2...vr najdulji put u G, tj. putkoji prolazi najvecim brojem vrhova grafa. Svaka setnja u G, koja je duljaod P, prolazi nekim izmedu gornjih r vrhova barem dva puta. Neka je u vrhpovezan sa v1, koji nije u P. Tada setnja uv1v2...vr ne prolazi nekim vrhomiz P dva puta i dulja je od puta P , sto je u kontradikciji s pretpostavkom,pa je svaki vrh koji je povezan sa v1 u P. Slicnim nacinom pokazujemo da susvi vrhovi susjedni vrhu vr takoder u P. Buduci da znamo da je d (v1) ≥ n

2 ,pa ako brojimo i vrh v1 imamo r ≥ n

2 + 1. Pretpostavili smo da je n ≥ 3 iznamo da je r prirodan broj, pa slijedi r ≥ 3.

Sada tvrdimo da postoji par vrhova vk, vk+1 u P takvih da je jedan odnjih, uzmimo da je to vk, povezan sa vr, a vk+1, povezan sa v1.

Page 219: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 209

Da bi dokazali tu tvrdnju pretpostavimo suprotno, tj. da svaki vrh uP susjedan vrhu v1 ima prethodnika koji nije susjedan vrhu vr. Znamo dasu svi vrhovi v2, ..., vr medusobno razliciti, pa postoji najmanje n

2 vrha u Gkoji nisu susjedni vrhu vr. Kad njima pribrojimo vrhove koji jesu susjednivrhu vr, tih je vrhova najmanje n. Dodamo li tome i vrh vr, u grafu bi imalivise od n vrhova, sto je kontradikcija.

Sada zakljucujemo da put P sadrzi ciklus C : v1vk+1vk+2...vrvkvk+1...v1.Preostaje nam dokazati da C sadrzi sve vrhove iz G. Znamo da C imanajmanje n

2 + 1 vrhova pa postoji manje od n2 vrhova koji nisu u C. Vrh

u koji nije u C mora biti susjedan nekom vrhu vp u C. No, tada bi put P ′

kojem bi dodali i vrh u bio duzi od puta P, sto dovodi do kontradikcije.Uocite da u prethodnoj propoziciji vrijedi samo jedan smjer. Znaci,

postoje Hamiltonovi grafovi za koje ne vrijedi da je d (v) ≥ n2 .

Zadatak 5.17 Nadite primjer grafa za koji je d (v) ≥ n−12 , a da nije Ha-

miltonov, tj. da ne vrijedi Diracov teorem.

Zadatak 5.18 Pokazite da su pojmovi Eulerov grafi Hamiltonov graf neza-visni, tj. ako je graf Eulerov moze i ne mora biti Hamiltonov i obrnuto.

5.7 Tezinski grafovi. Algoritmi najkraceg puta

Cilj ove tocke je definirati i teorijski istraziti tezinske grafove, ali i povezatidobivene rezultate s prakticnim problemima i naznaciti njihove primjene.Istaknimo na pocetku da je glavna domena primjene tezinskih grafova naprobleme optimizacije. U tu svrhu pocinjemo motivirajucim problemomtrgovackog putnika.

Problem 5.2 (Problem trgovackog putnika)Trgovacki putnik treba obici odredene gradove i vratiti se na polaziste.

Ako je dano vrijeme putovanja izmedu gradova, kako treba putovati tako dase svaki grad obide samo jedanput i da na putu provede sto krace vrijeme?

Da bismo rijesili probleme slicne problemu trgovackog putnika, proma-tramo grafove ciji su bridovi ”otezani”, tj. bridovima su pridruzene tezinekoje mogu oznacavati udaljenost u kilometrima, vrijeme provedeno na putuu satima, cijenu goriva u kunama. itd. Zadatak je u takvim primjerimapronaci u potpunom tezinskom grafu, Hamiltonov ciklus najmanje tezine,tzv. optimalni ciklus. Nije poznat efikasni algoritam (koji se izvrsava u poli-nomnom vremenu) za rjesavanje tog problema, tzv. NP-potpuni problem.Medutim, neki drugi problemi, slicni problemu trgovackog putnika, ipak sedaju rijesiti u polinomnom vremenu. Takav je i sljedeci problem najkracegputa u zeljeznickoj mrezi.

Page 220: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

210 5.7. TEZINSKI GRAFOVI. ALGORITMI NAJKRACEG PUTA

Problem 5.3 U danoj zeljeznickoj mrezi kojom su povezani neki gradovi,treba odrediti najkracu rutu izmedu dva zadana grada iz te mreze.

Definicija 5.19 Tezinski (weighted) graf je graf G cijem je svakom bridue pridruzen nenegativni broj w (e), kojeg zovemo tezinom brida e.

Tezine bridova u problemu 5.3 predstavljaju duljine pruge izmedu dvagrada.

Tezina podgrafa grafa G je suma tezina svih bridova u grafu. Najkracimputem izmedu dva vrha u tezinskom grafu smatramo put najmanje tezine.

5.7.1 Dijkstrin algoritam

Postoji dosta algoritama koji sluze za pronalazenje najkraceg puta u tezin-skom grafu, a najpoznatiji medu njima je Dijkstrin algoritam otkriven 1959.Otkrio ga je nizozemac Edsger Dijkstra (1930 - 2002.), vodeci informaticardanasnjice, koji je izmislio veliki broj algoritama na grafovima. Dijkstrinalgoritam pronalazi najkraci put ili signalizira da on ne postoji.

On otkriva najkraci put iz odredenog vrha (koji je izabran da budepocetni vrh) do krajnjeg vrha, koji je cilj.

Uz ”osnovni” Dijkstrin algoritam postoji jos i takozvani poboljsaniDijkstrin algoritam (engl. improved), koji takoder rjesava problem najkracegputa u tezinskom grafu (vrhovi imaju znak beskonacno (∞) kao trenutnuoznaku u tijeku racunanja).

Ideja algoritma je sljedeca: oznacavamo svaki vrh oznakom (label) naj-kraceg puta od pocetne tocke (izvora) do tog vrha.

Privremena oznaka se mijenja kad god je naden kraci put od izvora dotog vrha. Kad smo sigurni da nema kraceg puta, vrhu pridruzujemo trajnuoznaku. Evo procedure algoritma:

Algoritam 5.2 (poboljsani Dijkstrin algoritam)ULAZ: Graf G = (V, E) i dva vrha u, v ∈ V .IZLAZ: Najkraci put od vrha u do vrha v

1. Oznacite pocetni vrh (izvor) sa (-,0).

2. Promatrajte vrh X kojemu je posljednjem dodijeljena trajna oznakaD (engl. permanent label). Promatraj sve susjedne vrhove od X,kojima jos nije pridruzena trajna oznaka. Za takav vrh Y, privremenavrijednost (oznaka) bit ce manja od dviju vrijednosti: D+(tezina lukaXY) i postojece privremene oznake (ukoliko postoji).

3. Uocite najmanju privremenu oznaku na grafu i ucini je trajnom (uo-kvirite je).

Page 221: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 211

4. Ponavljajte korake 2 i 3 dok krajnja tocka (cilj) ne dobije trajnu oz-naku.

5. Krenite unatrag po grafu i oznacite put minimalne tezine, od cilja(ponora) prema pocetku.

Zadatak 5.19 Brojeci osnove operacije zbrajanja i usporedivanja u Dijk-strinom algoritmu pokazite da je slozenost Dijkstrinog algoritma jednaka

f(n) =23n2 − 5

2n + 1.

Dakle, O(n2) je gornja meda.

Uz Dijkstrin algoritam, za trazenje najkraceg puta prilicno je popularani Floyd-Warshallov algoritam. U vecini odredenih aplikacija, ovaj je algo-ritam brzi od Dijkstrinog algoritma. Jedna od prednosti ovog algoritmaje njegova sposobnost lakog prilagodavanja, ukoliko dode do promjene vri-jednosti tezina bridova. Naime, tada je dovoljno promijeniti parametre umatrici, koja sadrzi tezine bridova, a daljnji postupak ostaje isti.

Slozenost Floyd-Warshallovog algoritama je O(n3), kao i slozenost os-novne verzije Dijkstrinog algoritma.

Zadatak 5.20 Upotrebom Dijkstrinog algoritma nadite najkraci put od Ado K na grafu na sljedecoj 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 najkraci put od P do K, put PAEK duljine 12.

Page 222: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

212 5.7. TEZINSKI GRAFOVI. ALGORITMI NAJKRACEG PUTA

5.7.2 Problem kineskog postara

U ovoj tocki razmotrit cemo primjene trazenja Eulerove staze i ture u grafuna rjesavanje problema kineskog postara.

Problem 5.4 (Problem kineskog postara)Postar uzima postu u postanskom uredu, dijeli je i vraca se u ured. Kod

dijeljenja poste svakom ulicom treba proci barem jednom. Naravno da pritome zeli prijeci sto manju udaljenost.

Problem je dobio ime po tome sto ga je 1962. godine opcenito obra-dio i proucio kineski matematicar Mei-ko Kwan. Prvo rjesenje specijalnogslucaja tog problema dao je H. E. Dudeney 1917. godine. U ovom problemuulice predstavljaju bridove, a raskrsca vrhove grafa. Dakle, dan je tezinskipovezani graf i trazi se najkraca zatvorena setnja, koja pokriva sve bridovebarem jednom.

Ako je G Eulerov graf, svaka je tura na G optimalna, jer Eulerova turaprijede svaki brid samo jednom.

U tezinskom je grafu tezina ture suma tezina svih bridova u turi.Problem kineskog postara sastoji se u pronalazenju ture najmanje tezine

u povezanom tezinskom grafu s pozitivnim tezinama. Takvu turu zovemooptimalna tura.

Problem je tezi ako graf nije Eulerov, tj. ako postoje vrhovi neparnogstupnja. Kwan je predlozio da se rjesenje dobije tako da se od originalnoggrafa prijede na pseudograf na kojem je Eulerova tura moguca, udvostruca-vanjem odredenih bridova originalnog grafa. Cilj je naci bridove koje trebaudvostruciti, ali tako da se dobije optimalna tura. Udvostrucene bridovezapravo treba proci dva puta u trazenoj Eulerovoj turi.

Spomenimo da postoji algoritam koji trazi optimalnu turu i koji se izvodiu polinomnom vremenu.

Upotrijebimo Fleuryjev algoritam za pronalazenje Eulerove ture u neu-smjerenom grafu.

Evo algoritma koji koristi Kwanovu ideju da ”eulerizira” graf.

Algoritam 5.3ULAZ: 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 tezine,koji ih povezuje.

3. Uparimo sve takve parove na nacin da suma tezina puteva iz koraka 2bude minimalna.

Page 223: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 213

4. U originalnom grafu, udvostrucimo puteve minimalne tezine nadene ukoraku 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 londonskepodzemne zeljeznice), ovaj algoritam zahtjeva mnogo vremena.

Primjer 5.10 Nadite zatvorenu minimalnu turu koja sadrzi sve bridovedanog grafa.

A

D C

B

E7

4

2

8

6

5

3

9

Slika 5.11

1. Neparni vrhovi: A, B, C i D

2. Minimalne tezine 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 prelazitidva puta.

5. Eulerova tura minimalne tezine je na primjer ABAEBCECDEDA.

Tezina ture = duljina svih ulica + duljina ulica koje se ponavljaju =44+13=57

Page 224: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

214 5.8. STABLA

Pokazuje se da minimalna tura nikad ne prolazi bilo kojim bridom viseod dva puta (algoritam najvise udvostrucuje brid).

Nekoliko godina nakon Kwanovog problema kineskog postara u literaturise pojavio slican problem koji se tumaci na usmjernom grafu (bridovi imajunaznacene smjerove). Problem je nazvan problemom cistaca ulica u NewYorku, jer je opisivao situaciju s kojom se suocavaju cistaci ulica u NewYorku, koje su uglavnom jednosmjerne.

Na kraju ponovimo uvjete pod kojima neusmjereni graf ima Eulerovuturu ili stazu i istaknimo uvjete koji moraju zadovoljiti usmjereni graf da biimao Eulerovu turu i stazu.

Neusmjereni graf ima Eulerovu turu ako i samo ako je povezan i svakivrh je parnog stupnja.

Neusmjeren graf sadrzi Eulerovu stazu ako i samo ako je povezan i akosu svi, osim dva vrha, parnog stupnja. Ta dva vrha su pocetak i kraj puta.

Usmjereni graf sadrzi Eulerovu turu ako i samo ako je povezan i svakivrh ima jednak broj ulaznih i izlaznih lukova.

Usmjereni graf sadrzi Eulerovu stazu ako i samo ako je povezan i svi,osim dva vrha, imaju jednak broj ulaznih i izlaznih lukova. Nadalje, kod tadva vrha se broj ulaznih i izlaznih bridova razlikuje za jedan.

U usmjerenom grafu se za pronalazenje Eulerove ture upotrebljava Ed-monds-Johnsonov algoritam (1973) (vidi [9]).

Slucaj usmjerenog grafa, primjene, kao i pseudokod algoritma mozetenaci u [9].

5.8 Stabla

Pojam stabla u 19 st. uveo je Arthur Cayley proucavajuci posebneklase grafova, koji prikazuju odredene kemijske spojeve (hidrokarbonate).Ti su grafovi imali jedno vazno svojstvo: nisu sadrzavali cikluse. Sta-bla imaju primjenu u rjesavanju problema kao stoje povezivanje udaljenih lokacija mrezom. Treba,npr. povezati lokacije u razlicitim gradovima, akoncesionar mreze (bilo da je rijec telefonskim li-nijama, ili o racunalnoj mrezi) razlicito naplacujeveze izmedu pojedinih gradova. Takoder, stablase mogu primjeniti na problem kada je potrebnoneko podrucje pokriti telefonskom, elektricnom ilivodovodnom mrezom.Jos jedna moguca primjena je u izracunavanju op-timalnih ruta za povezivanje gradova avionskimlinijama. Neekonomicno je da svaki grad, koji imaaerodrom, bude povezan sa svakim drugim takvim Slika 5.12: Arthur Cayley

gradom, a opet se zeli da se avionskom vezom moze doci do svakog grada

Page 225: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 215

uz minimalni trosak.Nadalje, stabla se primijenjuju i u fizikalnoj kemiji. Osim toga, mnoge in-formacijske strukture u racunarstvu se temelje na stablima. Direktoriji ipoddirektoriji koji sadrze podatke predstavljaju vrhove u stablu. Binarnastabla omogucuju efikasno spremanje uredenih podatka i tako dopustajubrzo pretrazivanje.Vise o primjenama stabala mozete pronaci u [5].

5.8.1 Osnovno o stablima

Definicija 5.20 Stablo (eng. tree) je povezani graf T koji ne sadrzi nitijedan ciklus.

Vrh se naziva listom (eng. leaf) stabla T = (V, E) ako ima samo jednogsusjeda.

Suma (eng. forest) je graf (ne nuzno povezani) koji ne sadrzi niti jedanciklus.

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 tesko pronaci sva moguca stabla za male brojeve n. Pokusajte!

Moze se reci 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 jetreca tvrdnja posljedica prve dvije. Nadalje, prva se tvrdnja moze smatratialternativnom definicijom stabla. Vrijedi sljedeci teorem.

Teorem 5.7 Za graf G, sljedece tvrdnje su ekvivalentne.

Page 226: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 tocno 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. Trebadokazati da izmedu svaka dva vrha postoji tocno jedan put.

Pretpostavimo suprotno, tj. da izmedu vrhova u i v postoje dva razlicitaputa:

u = u0, u1, . . . , up = v

u = v0, v1, . . . , vq = v

Neka je j najmanji indeks takav da je uj 6= vj . Nadalje, kako je za obaputa zavrsetak (vrh v), sigurno postoji najmanji indeks k (k > j), takav daje uk = vl za neki l ≤ q. Medutim, time smo konstruirali ciklus u grafu Gkoji pocinje u uj−1, nastavlja se po u-putu do uk = vl i vraca se po v-putuu vj−1, a to je kontradikcija s pretpostavkom, pa zakljucujemo da izmedusvaka dva vrha u stablu postoji jedinstveni put.

Ostale dijelove dokaza napravite sami. Posluzite se referencom [2].Put duljine n− 1 najjednostavnije je stablo s n vrhova. Svaki put, osim

trivijalnog kad je n = 1, ima tocno 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 zovemostablo s korijenom ili korijensko stablo (eng. rooted tree) i oznacavamo ga s(T, v∗). U stablu s korijenom, vrhovi se mogu smjestiti u nivoe (eng. level).Opcenito, 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 ksadrzi sve vrhove koji su susjedni vrhovima na nivou k − 1. List na nivouk, 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 vrhstabla. Za jedinstveni vrh v na nivou k− 1 koji je susjedan vrhu u na nivouk, kazemo da je njegov roditelj ili prethodnik (eng. parent), a za vrh ukazemo da je dijete ili sljedbenik (eng. child) vrha v.

Zadatak 5.21 U stablu s korijenom (T, v∗) definiramo sljedece relacije naskupu 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 .

Page 227: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 217

1. Pokazite da je R relacija ekvivalencije, a P relacija parcijalnog uredaja.

2. Opisite klase ekvivalencije od R na V.

5.8.2 Binarno stablo

Ako je m = 2 za stablo kazemo da je binarno stablo. Ako imamo dodatniuvjet da razlikujemo desno od lijevog podstabla, kao sto je to iskazano udefiniciji 5.21, onda govorimo o uredenom binarnom stablu. Ovdje cemopod nazivom ”binarno stablo” podrazumijevati uredeno binarno stablo. Akosvaki vrh roditelj u m− arnom stablu ima tocno m djece, tada kazemo daje stablo puno (eng. full).

Neka je T puno binarno stablo, visine vece od 0, a v∗ je korijen togstabla. Brisanjem korijena dobivamo dva disjunktna binarna stabla, ciji sukorijeni dva vrha nivoa 1 iz T. Ta podstabla zovemo lijevo i desno podstablokorijena v∗.

Definicija 5.21 Binarno stablo je trojka skupova (L,K, D) , gdje su L i Dlijevo i desno binarno stablo, a K jednoclani 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). Izrazvrh odluke dolazi iz teorije odlucivanja gdje se stabla upotrebljavaju kaomodel za proces odlucivanja, koji se provodi na vise nivoa, a odluka donesenana jednom nivou utjece na mogucu odluku na nekom drugom nivou (mjestu).U tom se kontekstu stablo zove stablo odlucivanja (eng. decision tree).

v*

list

korijen

unutarnji vrh

Slika 5.14

Page 228: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

218 5.8. STABLA

Stabla s korijenom imaju primjenu u informatici, posebno u organizacijii reprezentaciji podataka, te prikazu algebarskih izraza. Za sortiranje po-dataka vazna su binarna stabla. Obicno se sortiranje podataka radi na os-novi abecednog ili numerickog kriterija. Pri tome je relacija, koja odredujeuredaj, relacija potpunog (totalnog) uredaja, tj. svaki par elemenata izskupa je usporediv. Sortiranje je moguce napraviti razlicitim tehnikamaopisanima u poglavlju o algoritmima. Posebna tehnika je i sortiranje pomocustabla 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-trazivanja (engl. binary search tree) je binarno stablo T takvo da je:

1. Skup vrhova V totalno ureden skup.

2. Za svaki v ∈ V, uL ≤ v, za svaki vrh uL iz lijevog podstabla od v iv ≤ uD, za svaki vrh uD iz desnog podstabla od v.

Za puno m-arno stablo kazemo da je potpuno ako su mu svi listovi naistom nivou.

Primjer 5.12

Potpuno ternarno stablo Puno ternarno stablo

Slika 5.15

Sortiranje pomocu stabla sortiranja odvija se u dva koraka. U prvomkoraku se iz dane nesortirane liste a1, a2, ..., an konstruira stablo sortiranjatako da su vrhovi stabla elementi dane liste, a korijen stabla je a1. U drugomse koraku sortirana lista dobiva iz stabla sortiranja.

U prvoj fazi gradi se stablo sortiranja prema danoj listi tako da prvielement predstavlja korijen. Drugi element ide desno od korijena, ako jea2 º a1, odnosno a2 ide lijevo od a1 ako je a2 ¹ a1. Element a3 stavlja se udesno, odnosno lijevo podstablo ako je a3 º a1, odnosno a3 ¹ a1. Kad novielement stigne u jedno podstablo on se smjesta lijevo ili desno prema istomkriteriju.

Algoritam 5.4ULAZ: Niz elemenata iz skupa na kojem je uveden totalni uredaj.IZLAZ: Stablo sortiranja Tn za taj niz elemenata.

Page 229: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 219

1. Za k = 1, a1 je korijen i T1 je stablo sortiranja u kojem je a1 jedinivrh. Povecamo k na k + 1.

2. Ako je k > n zavrsavamo postupak. U suprotnom usporedujemo ak skorijenom.

(a) Ako je ak ¹ korijena, tada se postupak prebacuje na lijevo pod-stablo. Ako je lijevo podstablo prazno, smjestamo ak lijevo odkorijena i dobivamo sljedece stablo sortiranja Tk i povecavamo kna 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, smjestamo ak desno od korijenai dobivamo sljedece stablo sortiranja Tk i povecavamo k na k + 1te ponavljamo korak 2.

U suprotnom ponavljamo korak 2 na desnom podstablu.

Sada je svaki element u lijevom stablu manji ili jednak od korijena i svakielement u desnom stablu je veci ili jednak korijenu. Dakle, svi se elementiiz lijevog stabla trebaju ispisati prije korijena, a svi elementi desnog stablaposlije korijena. Uocimo da su i lijevo i desno podstablo stabla sortiranja,pa se prvi element podstabla moze promatrati kao korijen.

Opisimo 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 velicini.Uzimamo broj 3 za korijen stabla. Broj 4 je veci od 3, pa ga povezujemo

desno od korijena. Nadalje je 6 > 3 i 6 > 4, pa se broj 6 postavlja desnood 3, ali i desno od 4. S druge strane, broj 1 < 3, pa ga stavljamo lijevo od3. Slijedi broj 2 i 2 < 3, pa ide lijevo od 3, ali desno od 1 jer je 2 > 1. Nakraju, broj 8 ide desno od 3, ali lijevo od 6 u binarnom stablu.

Page 230: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

220 5.8. STABLA

3

1 4

2

5

6

Slika 5.16

Sada prelazimo na drugu fazu sortiranja. Pocinjemo s lijevim pod-stablom i zapisujemo prvi korijen u lijevom podstablu, a to je 1. Poslijenjega ispisujemo 2, pa 3, cime iscrpljujemo lijevo podstablo. Prelazimo nadesno 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 pomocu bina-rnih stabala. Na sljedecoj slici dan je prikaz prvog izraza pomocu binarnogstabla.

*

× c

ba

Slika 5.17

Page 231: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 221

Drugi algebarski izraz prikazite pomocu binarnog stabla za vjezbu.

Binarna stabla u kojima se pohranjuju (zapisuju) algebarski izrazi sasto-je se od jednog vrha koji je identifikator ili su opisana sljedecim rekurzivnimpravilima:

1. Operator koji se izracunava pri racunu nalazi se u korijenu.

2. Lijevo podstablo predstavlja lijevi operand.

3. Desno podstablo predstavlja desni operand.

Dakle, stablo algebarskih izraza je prirodna informacijska struktura zapohranjivanje algebarskih izraza.

Poznato je da se informacije pohranjuju u racunalo pomocu nizova nulai jedinica. Svakom slovu, brojki i znaku pridruzen je drugaciji niz bitova.Najpoznatije takvo kodiranje je poznato pod imenom ASCII kod. Binarnikod pridruzuje simbolima njihove nizove bitova. Svaki niz bitova je kodnarijec. U nekim slucajevima kodne rijeci mogu biti razlicite duljine. Pri tomese kod citanja moze javiti ako je jedna rijec dio neke druge rijeci. Da bi se toizbjeglo, uvodi se tzv. prefiks kod. Prefiks kod je binarni kod sa svojstvomda nijedna kodna rijec nije pocetni dio neke druge rijeci.

Binarno se stablo moze upotrijebiti za konstrukciju prefiks koda za daniskup simbola. Pri tome se prvo nacrta proizvoljno binarno stablo ciji selistovi mogu bijektivno preslikati na skup simbola, tj. listovi su oznacenisimbolima. Nadalje, oznacimo svaki brid koji ide prema lijevom djetetus 0, a onaj koji ide prema desnom djetetu s 1. Sada se svakom simbolumoze pridruziti kodna rijec, koja je jednaka nizu oznaka bridova na jedin-stvenom putu (svojstvo stabla), koji povezuje korijen s listom oznacenimpromatranim simbolom. Pokazuje se da dobivene kodne rijeci predstavljajuprefiks kod.

Primjer 5.15 Evo prefiks koda cijih 9 kodnih rijeci korespondira danombinarnom stablu.

slovo a b c d e f g h ikodna rijec 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 cesce upotrebljavaju, mogu imati pridruzenekrace kodne rijeci, tj. cesce upotrebljavani simboli trebaju biti smjesteni ulistove nizih nivoa. David Huffman konstruirao je prefiks kod koji vodi briguo efikasnosti kodiranja na gore opisani nacin. Vise o Huffmanovom prefikskodu mozete nauciti izradite li projekt 4.

Obrazlozite zasto su stabla bipartitni grafovi?

Page 232: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 razapinjuce stablo

Promotrimo problem povezivanja gradova plinovodom, ako je za tu mrezudozvoljeno vise ruta. Ako je potrebno povezati vise gradova plinovodom,to se povezivanje moze napraviti na vise razlicitih nacina koristeci samodozvoljene rute. Ovdje gradove mozemo promatrati kao vrhove grafa, adozvoljene rute su bridovi grafa. Neke od tih ruta su skuplje nego drugejer su dulje, cijevi treba zakopati dublje ili iz nekog drugog razloga. Trebastoga promatrati tezinski graf. Ovdje bi nam cilj bio pronaci takvo stablo ugrafu, koje bi povezivalo sve gradove, ali da pri tome mreza ima najmanjucijenu. Stablo koje bi imalo nabrojena svojstva zvali bismo minimalnimrazapinjucim stablom.

Prije nego matematicki definiramo razapinjuce stablo uvedimo pojmovepodgrafa 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 incidencijeod G. Kazemo da je G nadgraf od H.

Za podgraf H od G, za koji je V (H) = V (G), kazemo da je razapinjucipodgraf od G.

Svaki povezani graf sadrzi barem jedan podgraf, koji je stablo, i povezujesve vrhove u grafu. Takvo se stablo zove razapinjuce stablo. Graf moze imativise razapinjajucih stabala. Npr., potpuni graf s cetiri vrha ima sesnaestrazapinjucih stabala. Pokusajte ih pronaci!

Page 233: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 223

Posljedica cinjenice da je povezani graf G sa n vrhova stablo ako i samoako G ima n−1 brid, je da razapinjuce stablo za graf od n vrhova ima uvijekn− 1 brid.

U problemu povezivanja gradova plinovodom vazna je duljina tih ci-jevi, pa svakom bridu pridruzujemo tezinsku funkciju w : E → N. Tezinskafunkcija moze predstavljati i cijenu izgradnje pojedinih plinovoda, koji po-vezuju dane gradove.

Tezina stabla T = (V,E) je tada suma tezina njegovih bridova, tj.

w (T ) =∑

e∈T

w (e) .

Postavlja se problem nalazenja razapinjuceg stabla minimalne tezine.Takav problem zovemo problem nalazenja minimalnog razapinjuceg stabla(eng. minimum spanning tree problem, MST problem).

Za danu funkciju w uvijek postoji rjesenje MST problema, buduci daza dani graf uvijek postoji konacno mnogo razapinjucih stabala. Naravno,moze postojati vise razapinjucih stabala koja su minimalna.

Jednostavan, ali i cesto neefikasan nacin nalazenja minimalnog razapinju-ceg stabla je ispisivanje svih stabala za dani graf i pronalazenje minimalnog.Za kompliciranije grafove ovo bi bilo vrlo neefikasno, a i trebao bi postojatinacin da pronademo sva stabla.

Bolji nacin je da pronademo neko bitno svojstvo minimalnog razapinju-ceg stabla s kojim mozemo odrediti pripada li pojedini brid u njega i zatimizgraditi stablo brid po brid.

Neki od uspjesnih algoritama za rjesavanje MST problema temelje se napohlepnom algoritmu.

Tri poznata algoritma za rjesavanje problema minimalnog razapinjucegstabla su Kruskalov, Primov i Boruvkin algoritam.

Prvi algoritam za rjesenje MST problema razvio je ceski znanstvenikOtakar Boruvka 1926. godine, trazeci efikasni nacin postavljanja elektricnemreze. Danas se najcesce upotrebljavaju Primov algoritam i Kruskalov al-goritam. Oba algoritma pripadaju skupini pohlepnih algoritama i oba sealgoritma izvode u polinomijalnom vremenu.

Kruskalov algoritam (naden 1956. godine) je pogodan za rjesavanje MSTproblema za grafove s malim brojem vrhova i nije jednostavan za programi-ranje. No, Kruskalov algoritam je najjednostavniji za razumijevanje i naj-bolji za rucno rjesavanje problema.

Algoritam se temelji na sljedecoj lemi.

Lema 5.1 Neka je X podskup vrhova iz G i neka je brid e najmanji bridkoji spaja X s G−X. Tada je e dio minimalnog razapinjuceg stabla.

Algoritam 5.5ULAZ: Graf G = (V,E).IZLAZ: Minimalno razapinjuce stablo T grafa G.

Page 234: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

224 5.8. STABLA

1. Izaberemo jedan vrh i stavimo ga u skup S1, dok sve druge vrhovestavljamo u skup S2.

2. Izabiremo brid najmanje tezine koji povezuje neki vrh iz S1 s nekimvrhom iz S2.

3. Stavljamo brid u skup koji predstavlja rjesenje, a vrh iz S2, koji su-djeluje u vezi, premjestamo iz S2 u S1.

4. Ako je S2 = ∅, onda smo gotovi, a inace se vracamo na korak 2.

Kruskalov algoritam se izvodi u O(m log m) vremenu, gdje je m brojbridova, a n broj vrhova u grafu.

Primov algoritam je 1930. godine otkrio matematicar Vojtech Jarnik,a nezavisno od njega razvio ga je informaticar Robert Prim 1957. godine.Medutim, primjenjivati se pocinje tek nakon ”ponovljenog Dijkstrinog ot-krica”, 1959. godine.

Umjesto da konstruira podgraf brid po brid, Primov algoritam konstru-ira vrh po vrh.

Pocetni vrh se bira proizvoljno i on odmah postaje dio grafa. Primovostablo raste tako da mu se dodaje vrh za koji vrijedi da je njegova udaljenostod nekog vrha iz Primovog stabla manja nego udaljenost nekog drugog vrhaod Primovog stabla. Postupak se iterativno nastavlja sve dok ne ostane nitijedan slobodan vrh, odnosno dok svi vrhovi ne budu ukljuceni u graf.

Algoritam 5.6ULAZ: Graf G = (V, E).IZLAZ: Minimalno razapinjuce stablo T grafa G.

1. Izaberimo proizvoljan pocetni vrh.

2. Nadimo njemu najblizi vrh i taj vrh postaje dio grafa.

3. Nadimo grafu najblizi slobodni vrh i taj vrh postaje dio grafa.

4. Iterativno ponavljamo korak 3, dok svi vrhovi ne budu ukljuceni ugraf.

Pokazuje se da je slozenost Primovog algoritma reda O(n2

).

Dokaze korektnosti oba algoritma mozete naci u [4].

5.8.4 Pretrazivanje stabla

Zadatak nam je pronaci vrhove u grafu, pocevsi od nekog unaprijed odrede-nog vrha (korijen v0). U tom procesu posjecuju se svi vrhovi grafa prelazecibridovima grafa i pri tome i vrhovi i bridovi mogu biti obuhvaceni vise nego

Page 235: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 225

jedanput. Dakle, konstruiramo podgraf koji sadrzi sve vrhove grafa, tj.razapinjuci podgraf.

Ovaj zadatak mozemo rijesiti na temelju dvije razlicite osnovne strate-gije, a obje vode do konstruiranja razapinjuceg stabla u grafu. Prva, kojaprelazi na novi vrh, cim je on dostupan, tzv. potraga prvo u dubinu (depth-first search - DFS, pronasao ga Tarjan 1972. godine) i druga, gdje se provje-ravaju svi vrhovi na istoj razini (level) i tek se onda prelazi na sljedeci nivotzv. potraga prvo u sirinu (breadth-first search - BFS, pronasao ga Dijkstra1959. godine).

DFS se moze promatrati i kao specijalni slucaj opce metode rasta stabla.U DFS metodi pocinjemo u danom vrhu v0 (baza indukcije) i trazeno

stablo T se za sada sastoji samo od tog vrha, tj. T = v0 . U korakuindukcije, uzmimo da je x novi vrh u stablu T . Ako je y susjedni vrhod x u grafu G, koji ne pripada stablu T, ukljucujemo ga u stablo. Saday postaje novi vrh i ponavljamo postupak pretrazivanja njegovih susjeda.Ukoliko nema novih susjeda od y, vracamo se natrag na vrh, od kojeg smodosli do y (u nasem slucaju na vrh x) i trazimo njegove susjede, koji josnisu ukljuceni u stablo T . Kad se u tom postupku vratimo do korijena v0

postupak je zavrsen i trazeno stablo T je konstruirano.Problem MST pripada u probleme rastuceg stabla (eng. tree-growing

problem), dok se ovdje radi o stablu pretrazivanja (eng. search tree). Zarazliku od MST problema ovdje nismo pretpostavili da je graf G povezan,stoga znamo da DFS metoda moze naci samo vrhove koji su povezani s v0.Stoga vrijedi sljedeci teorem:

Teorem 5.8 Neka je v vrh grafa G i T podskup bridova od G konstruiranihpomocu DFS metode. Tada je T razapinjuce stablo za komponentu grafa Gkoja sadrazi vrh v.

(Dobar nacin za opisivanje DFS metode je taj da se radi lista vrhova.Kada prvi put dodemo do nekog vrha stavimo ga na listu. Objasnjenje listemozete naci u [1].)

Druga metoda, koja nam omogucuje rjesavanje problema trazenja vrhovau grafu je BFS metoda. Smisao ove metode je u provjeravanju svih vrhovasusjednih promatranom vrhu prije nego se pomaknemo dalje. Ona se kao iDSF, moze promatrati i kao metoda trazenja razapinjuceg stabla, ali i kaometoda pretrazivanja.

U BFS metodi pocinjemo u danom vrhu v0 (baza indukcije) i trazenostablo T se za sada sastoji samo od tog vrha, tj. T = v0 . U korakuindukcije, uzmimo da je x novi vrh u stablu T . Ako je y susjedni vrh od x ugrafu G, koji ne pripada stablu T, ukljucujemo ga u stablo i to isto ucinimoza sve vrhove susjedne vrhu v, koji jos nisu ukljuceni u T . Tek kada visenema novih vrhova susjednih vrhu x pomicemo se na vrh y, koji je prvisljedeci u postupku pojavljivanja u odnosu na x. Sada y postaje novi vrh i

Page 236: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

226 5.9. USMJERENI GRAFOVI I MREZE

ponavljamo postupak pretrazivanja njegovih susjeda. Ukoliko nema novihsusjeda od y postupak je zavrsen i trazeno stablo T je konstruirano.

Vrijedi teorem slican onome kod DFS metode.

Teorem 5.9 Neka je v vrh grafa G, a T podskup bridova od G konstruiranihpomocu BFS metode. Tada je T razapinjuce stablo za komponentu grafa Gkoja sadrzi vrh v.

Spomenuti algoritmi DFS i BFS temelj su mnogim algoritmima koji seupotrebljavaju u racunalstvu i operacijskim istrazivanjima. Pri tome je DFSefikasniji kad treba naci samo neko od mogucih rjesenja, a BFS je bolji kodproblema optimizacije (najmanje bridova u grafu i sl.), odnosno kada jepotrebno pronaci rjesenje na najmanjem nivou stabla.

Opcenito mozemo promatrati problem trazenja najkraceg puta izmeduvrhova v i w u tezinskom grafu. U osnovi rjesenja je BFS algoritam. Vise otoj temi mozete naci u [1], str. 206.

5.9 Usmjereni grafovi i mreze

5.9.1 Usmjereni graf

U mnogim prakticnim problemima nije dovoljno koristiti graf kao model,nego bridovima treba dodati i orijentaciju. Na primjer, crtamo li plan gradavazno je naznaciti da li je ulica jednosmjerna ili dvosmjerna. Ako je jedno-smjerna, treba znati u kojem je smjeru dopusteno voziti. Tako smo dosli dopojma 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 elementskupa A je uredeni par razlicitih elemenata iz V. Elementi od A zovu selukovi (eng. arc).

Dakle, ako kod bilo kojeg grafa, svakom bridu dodamo orijentaciju, dobitcemo usmjereni graf. Obrat ove izjave ne vrijedi, tj. ne moze se svaki us-mjereni graf dobiti iz neusmjerenog. Kod usmjerenog grafa bridovi su pred-stavljeni kao uredeni parovi vrhova, dok su kod neusmjerenog grafa bridovineuredeni parovi vrhova, tj. dvoclani skupovi. Pri crtanju, orijentaciju bridanaznacimo strelicom prema w, ako je sa (v, w) dan luk.

Nadalje, usmjereni graf mozemo shvatiti kao prikaz relacije R na ele-mentima istog skupa A (ρ ∈ A2). Sada je (v, w) luk u grafu R ako i samoako je vRw. Neka svojstva relacija sada se vizualiziraju na grafu. Svojstvosimetricnosti na grafu mozemo provjeriti tako da uocimo da za svaki luk(v, w) postoji njemu suprotno orijentirani luk (w, v) tj. da se lukovi uvijekjavljaju u parovima. Refleksivnost se ocituje tako da svaki vrh ima petlju.

Page 237: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 227

U usmjerenom grafu na prirodan se nacin uvode definicije usmjerenesetnje, usmjernog puta i usmjerenog ciklusa.

Definicija 5.25 Usmjerena setenja u usmjernom grafu D = (V, A) je nizvrhova v1v2...vk sa svojstvom da je (vi, vi+1) ∈ A,∀1 ≤ i ≤ k−1. Ako su svivrhovi usmjerne setnje medusobno razliciti, tada je to usmjerni put. Kodusmjerenog ciklusa svi unutrasnji vrhovi usmjerene setnje su medusobnorazliciti i v1 = vk.

5.9.2 Turnir

Primjer usmjerenog grafa je graf koji nastaje kao prikaz turnira (engl. tour-nament) gdje svaki igrac igra protiv svakog drugog. Uocite da na taj nacindobivamo jednostavni potpuni graf, koji pretvaramo u usmjereni graf. Luk(v, w) nastaje ako igrac v pobijedi igraca w, a luk (w, v) ukoliko w pobijediigraca v. Svaki graf takvog oblika zove se turnir. U turniru se mogu javitiusmjereni ciklusi duljine vece ili jednake 3, ali ne i ciklusi duljine manje od3. Unatoc tome vrijedi sljedeci teorem.

Teorem 5.10 U svakom turniru postoji usmjereni put koji sadrzi sve vr-hove grafa (usmjereni Hamiltonov put) .

Dokaz. Ideja dokaza sastoji se u tome da se svaki usmjereni put, koji nesadrzi sve vrhove grafa, moze dopuniti jos jednim vrhom. Pocinjemo s usmje-renim putem (v1, v2), koji dopunjavamo vrhovima dok ne dobijemo do putakoji sadrzi sve vrhove grafa. Neka je x bilo koji vrh grafa koji nije sadrzan uputu (v1, v2, ...vk). Ukoliko je (x, v1) luk vrh cemo staviti na pocetak puta.Ako to nije slucaj tada je (v1, x) luk u grafu jer se radi o turniru. Nekaje, nadalje, m najveci cijeli broj takav da su svi (v1, x) , (v2, x) , ..., (vm, x)lukovi u grafu. Ako je m < k tada su (vm, x) i (x, vm+1) lukovi, pa mozemoubaciti vrh x u put izmedu vrhova vm i vm+1. U suprotnom vrh x mozemododati na kraj puta.

Zadatak 5.23 Napisite program za nalazenje usmjerenog puta koristeci al-goritam opisan u prethodnom dokazu.

Postoji alternativna definicija koja kaze da je turnir na skupu V svihvrhova relacija za koju vrijede svojstva irefleksivnosti, antisimetricnosti ikompletnosti. Povezite ovu definiciju s matricom relacije.

Zadatak 5.24 Turnir je zadan pomocu sljedece tablice. Uredeni par (x, y)predstavlja luk, ako je y u stupcu definiranom sa x.

Page 238: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

228 5.9. USMJERENI GRAFOVI I MREZE

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 sadrzi sve vrhove u grafu.

Vrijedi i sljedeci teorem za turnire?

Teorem 5.11 Na svakom turniru ima neparan broj Hamiltonovih putova.

Teorem je 1934. godine dokazao Redei. Dokaz se moze pronaci u [8], str.175.

5.9.3 Mreze i kriticni putevi

Pretpostavimo da usmjereni graf predstavlja ulice unutar grada i da premagrafu znamo koje su od njih jednosmjerne, a koje ne. Podatak koji bi takoderbio vazan za snalazenje u gradu bila bi i duljina ulica izrazena u metrima(ili kilometrima). Tako bismo usmjereni graf dopunili tezinama lukova. Nataj smo nacin dobili usmjerenu mrezu.

Definicija 5.26 Usmjerena mreza (engl. directed network) je usmjerenigraf cije su tezine lukova cjelobrojne pozitivne vrijednosti.

Dakle, usmjerena mreza je usmjereni graf zajedno s tezinskom funkcijomw : A → N.

Razlog za uzimanje iskljucivo prirodnih brojeva za tezine lukova lezi ucinjenici da tako izbjegavamo poteskoce u trazenju optimalnog rjesenja zaprobleme na mrezama.

5.9.4 Problem rasporeda

Siroko podrucje primjene usmjerenih tezinskih grafova je u poslovanju, gdjese stalno traze nove i preciznije metode koje pomazu u radu s mnostvomkompleksnih podataka i zadanim rokovima, a cilj im je podizanje kompetitiv-nosti poduzeca (vidi [6]). Tu pomazu razlicite tehnike za izradu rasporeda,u koje pripadaju i tehnike mreza (networks). Poznate tehnike mreza su:

• Program Evaluation and Review Technique - PERT,

Page 239: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 229

• Metoda kriticnog puta (Critical Path Method ) - CPM, odnosno ArrawDiagram Method (ADM).

Graf je pritom prikaz u kojem lukovi oznacavaju poslove, koji se morajuizvesti odredenim redom, a tezine lukova oznacavaju vrijeme potrebno da seposao obavi. Problem se sastoji u nalazenju takvoga redosljeda obavljanjaposlova da svi poslovi budu izvrseni u najkracem mogucem vremenu. Takvise problemi nazivaju i problemima rasporeda(eng. scheduling problems).Uzet cemo da su tezine bridova cjelobrojne vrijednosti. Znamo da ovakveusmjerene tezinske grafove zovemo i usmjerenim mrezama.

PERT je razvijen 1958. do 1959. godine u laboratorijama americke ratnemornarice, kako bi pomogle u vremenu velikog zamaha tehnologije, buducida klasicne tehnike rasporeda, kao sto je Ganttov dijagram, nisu bile do-voljne. Vrlo brzo PERT se prosirio u sve grane privrede. U otprilike istovrijeme javila se jos jedna slicna metoda – Metoda kriticnog puta (CPM).

Jedan od ciljeva konstrukcije PERT dijagrama je odredivanje koliko jevremena potrebno za zavrsetak nekog projekta (procesa).

Klasicni primjer mreze je mreza aktivnosti koje treba provesti da bise uspjesno zavrsio projekt. Takve mreze koristimo vec u fazi planiranjaprojekta. Vrhovi grafa predstavljaju dogadaje, a lukovi su aktivnosti kojetreba provesti da bi se odredeni dogadaj ostvario. Tezine lukova oznacavajuvrijeme potrebno za provodenje odredene aktivnosti. U fazi planiranjapotrebno je odrediti koliko ce projekt trajati. Taj se problem svodi napronalazenje najduljeg puta koji sadrzi sve vrhove grafa. To je tzv. kriticniput u grafu. S druge strane aktivnosti treba planirati tako da trajanje pro-jekta bude sto krace.

Zadatak 5.25 U projektu su zadane aktivnosti a1, a2, a3, a4, a5, a6. Vre-mena (izrazena u tjednima) potrebna da se te aktivnosti obave su ti, 1 ≤i ≤ 6 i ona su dana u sljedecoj tablici. U tablici su dani preduvjeti pi zapojedine aktivnosti. Uocite da aktivnost moze imati vise od jedne aktivnostikoje joj nuzno prethode.

ai a1 a2 a3 a4 a5 a6

ti 2 4 6 5 4 3pi − a1 a1 a3 a2 a5

pi a4

Slika 5.19

1. Prikazite projekt u obliku usmjerene mreze.

2. Koliko je minimalno trajanje projekta?

3. Oznacite najdulji put u tom grafu.

Page 240: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

230 5.9. USMJERENI GRAFOVI I MREZE

Mreza aktivnosti prikazana je na sljedecoj slici. Vrh p predstavlja poce-tak, a z zavrsetak projekta. Sada se za svaki vrh racuna V (v) kao najkracevrijeme, racunajuci od pocetka projekta, kad se taj dogadaj moze dogoditi.

Stavljamo da je V (p) = 0. Nadalje, V (q) = 3, V (r) = 2 + 6 = 8.Vrijednosti najkracih vremena dane su u sljedecoj tablici.

v p q r s t zV(v) 0 3 8 13 17 20

Tablica 5.2

p

q

r

s

t

z

a1

2

a2

4

a3

6a5

5

a5

4

a6

3

Slika 5.20

Primijetite da to znaci da se za svaki vrh trazi najdulji put od pocetnogvrha do promatranog vrha, tako da bi se stigle obaviti sve aktivnosti kojepromatranom dogadaju prethode. Vidimo da je najkrace trajanje projekta20 tjedana. Primjenjena metoda analize mreze pripada metodama kriticnogputa.

Najdulji put u grafu je sada put pqrstz.

Prethodni je zadatak primjer problema trazenja najduljeg (kriticnog)puta u grafu. Ponovimo sada metodu prikazanu u primjeru. Dakle, zapocetni vrh p vrijedi V (p) = 0, a za svaki drugi vrh u grafu vrijedi rekurzivnarelacija

V (v) = maxuV (u) + w (u, v) ,

gdje je u svaki vrh takav da uv predstavlja luk.

Page 241: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 231

Sada cemo za svaki vrh v racunati krajnje vrijeme K (v), kad taj dogadajtreba nastupiti, da bi projekt bio zavrsen u zadanom roku. Ovdje imamorekurziju ”unatrag”. Ako je t vrijeme trajanja projekta tada za posljednjivrh z vrijedi K (z) = t, a za svaki drugi vrh v

K (v) = minxK (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 znaci da aktivnost yz moze poceti bilo kada u vremenu od V (y) doV (y) + F (y, z), bez da to utjece na zavrsetak projekta. Aktivnost za yz,koju je F (y, z) = 0, je kriticna aktivnost za projekt. U svakoj mrezi projektapostoji barem jedan put koji se sastoji od kriticnih aktivnosti i zove sekriticni put.

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

U projektu su zadane aktivnosti a1, a2, a3, a4, a5, a6, a7. Vremena (izra-zena u mjesecima) potrebna da se te aktivnosti obave su ti, 1 ≤ i ≤ 7 iona su dana u sljedecoj tablici. U tablici su dani preduvjeti pi za pojedineaktivnosti. Uocite da aktivnost moze imati vise od jedne aktivnosti koje jojnuzno prethode.

ai a1 a2 a3 a4 a5 a6 a7

ti 1 3 5 4 6 2 3pi − a1 a1 a3 a2 a5 a3

pi a4 a6

Tablica 5.3

1. Prikazite projekt u obliku usmjerne mreze.

2. Koliko je minimalno trajanje projetka?

3. Nadite kriticni put u tom grafu.

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

5.9.5 Protoci i rezovi

Prototipom transportne mreze mozemo smatrati naftovod. Takva mrezaima jedan izvor (eng. source) i jedan ponor (eng. sink). Svaki luk grafaovdje predstavlja dio naftovoda ciji su vrhovi spojnice pojedinih cijevi. Ka-pacitet luka je maksimalni protok koji je moguce ostvariti kroz promatranu

Page 242: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

232 5.9. USMJERENI GRAFOVI I MREZE

cijev. U transportne mreze spadaju i transportne rute pojedine robe, ali itelefonske i elektricne mreze. Nadalje, primjer transportne mreze je i Inter-net. Medutim, kod Interneta se javlja problem sto je ta mreza prevelika dabi se u potpunosti definirala . Stoga se ovdje javlja nesto drugaciji problemminimizacije puta: problem minimizacije puta u grafu koji je djelomicnopoznat.

Dakle, u transportnim mrezama uvijek postoji vrh i kojeg zovemo izvori za kojeg vrijedi da su svi lukovi koji sadrze taj vrh usmjereni od tog vrha.Postoji i vrh p kojeg zovemo ponor i za kojeg vrijedi da su svi lukovi kojiga sadrze usmjereni prema njemu.

Definicija 5.27 Transportna mreza je usmjereni graf D = (V, A) , takav daje na grafu zadana funkcija kapaciteta c : A → N, te postoji izvor i ponor ugrafu.

Protok (eng. flow) mreze M je funkcija f : A → N gdje f (u, v) oznacavakolicinu koja prolazi kroz luk (u, v) . Prirodno je pretpostaviti da kolicinakoja ude u vrh u (osim za izvor i ponor) mora biti jednaka onoj koja izade.Taj zakon zovemo zakonom ocuvanja. 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 protokkroz dani luk ne moze biti veci od njegovog kapaciteta. Vrijedi dakle:

1. ulaz (u) = izlaz (u) , u 6= i, p (zakon ocuvanja),

2. f (x, y) ≤ c (x, y) , (x, y) ∈ A (zakon izvodljivosti).

Zadatak 5.27 Dana je transportna mreza sa slike 5.21

1. Za mrezu na slici izracunajte za svaki vrh ulaz (u) i izlaz (u) .

2. Zadana je funkcija f na toj mrezi 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

Page 243: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 233

i

q

r

s

t

p

2

4

6 54

3

54

Slika 5.21

Provjerite zadovoljava li dana funkcija f zakone ocuvanja i izvodlji-vosti.

Zbog zakona ocuvanja, za bilo koji luk (s, t) vrijedi da je ukupni izlaz izs jednak ukupnom ulazu u t. Dakle, izlaz (s) = ulaz (t) , za bilo koji protokkroz (s, t) . Tu zajednicku vrijednost, koja mjeri ukupni protok kroz mrezu,zovemo vrijednost protoka.

Vrijednost protoka f na mrezi 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 zadanu mrezu. U tu svrhu odredimo prvo gornju medu vrijednosti protoka.Pretpostavimo da je na skupu svih vrhova V dana particija tog skupa nadva podskupa S i T. Prisjetimo se da to znaci da je S ∪ T = V i S ∩ T = ∅.Protok izmedu skupova S i T definiramo na sljedeci nacin:

val (f) =∑

x∈Sy∈T

f (x, y)−∑

u∈Tv∈S

f (u, v) .

Prva suma mjeri ukupni protok od S prema T, a druga suma mjeriukupni protok od T prema S. Buduci da je druga suma nenegativan broj,vrijedi:

Page 244: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

234 5.9. USMJERENI GRAFOVI I MREZE

val (f) ≤∑

x∈Sy∈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 pocetak u skupu S i zavrsetak u T, pa imamo:

val (f) ≤∑

x∈Sy∈T

c (x, y) .

Nadalje, za (S, T ) kazemo da je rez (cut) koji odvaja i i p ako je skupS, T particija skupa svih vrhova V i vrijedi s ∈ S i t ∈ T. Sada definiramokapacitet reza sa

cap (S, T ) =∑

x∈Sy∈T

c (x, y) .

Uzmimo specijalno da je s = i izvor mreze i t = p ponor mreze, f bilo kojiprotok 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 f0 maksimalni protok i (S0, T0) rez minimalnog mogucegkapaciteta, tada formula (5.1) tvrdi da je maksimalni protok manji ili jednakminimalnom rezu. To se obicno pise kao max − flow ≤ min − cut. Taj jerezultat vazan korak u dokazu teorema koji kaze da su te dvije vrijednostizapravo jednake. To je tzv. max-flow min-cut teorem.

Promotrimo mrezu D i na njoj protok f. Cilj nam je prosiriti f domaksimalnog protoka. U tu svrhu u mrezi trebamo uociti tzv. f-rastuceputeve (eng. f -augmenting path). Ti putevi nisu nuzno orijentirani i zapravoih promatramo kao puteve u grafu zanemarujuci orijentaciju lukova.

Postoje dvije vrste f -rastucih 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 mrezi D = (V, A) . Put i = x1 x2 ...,xk = p zovemo f -rastucim putem, ako je

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

2. f (xi, xi+1) > 0 za (xi, xi+1) ∈ A

za sve 1 ≤ i ≤ k − 1.

Page 245: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 235

Na f -rastucim putevima mozemo povecati protok na lukovima do mak-simalnog kapaciteta ili postaviti kontra-protok na nulu. Pri tome moramoto raditi tako da ne prekrsimo zakon ocuvanja. Uzimamo, dakle, minimumza sve 1 ≤ i ≤ k − 1 sljedecih velicina

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

f (xi, xi+1) ako je (xi+1, xi) ∈ A.

Neka je taj minimum jednak a. Sada velicinu a dodamo na lukovima ioduzmemo od suprotnih lukova. Za tako dobiveni novi protok f vrijedi

val(f)

= val (f) + a.

Novi protok ima vecu vrijednost od pocetnog. Taj postupak nastavljamodok ne dostignemo maksimum.

Za dokaz max-flow min-cut teorema posebnu vaznost imaju tzv. nepot-puni f-rastuci putevi. To su f -rastuci putevi koji ne sadrze ponor p.

Pretpostavimo sada da je f maksimalni protok. Neka je S skup vrhovas za koje postoji nepotpuni f -rastuci put od i do s. Skup T je komplementod S u skupu V i on je ocito neprazan jer sadrzi vrh p, jer bi u suprotnompostojao f -rastuci 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 postojinepotpuni f -rastuci put od i do s i ako je f (x, y) < c (x, y), tada ga mozemoprosiriti 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 nepotpunif -rastuci put od i do y i ako je f (u, v) > 0, tada ga mozemo prosiriti do u,sto je u suprotnosti s pretpostavkom da je u ∈ T. Dakle, f (u, v) = 0.

Sada je

val (f) =∑

x∈Sy∈T

f (x, y)−∑

u∈Tv∈S

f (u, v) =∑

x∈Sy∈T

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

Prema tome, dokazali smo sljedeci teorem.

Teorem 5.12 (max-flow min-cut teorem, L. Ford, D. Fulkerson, 1956). Utransportnoj mrezi je vrijednost maksimalnog protoka od s do t jednakakapacitetu minimalnog reza koji razdvaja s i t.

Primjere o primjeni prethodnog teorema naci cete u [1].Na dokazu prethodnog teorema temelji se i algoritam za pronalazenje

maksimalnog protoka (Ford-Fulkerson-ov algoritam). U tom algoritmu seprvo metodom oznacavanja provjeri da li postoji f -rastuci put. Ukolikopostoji, prelazi se na prosirenje f -rastuceg puta.

Page 246: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

236 5.10. BOJENJE GRAFOVA

Algoritam 5.7ULAZ: Transportna mreza G = (V, E).IZLAZ: Maksimalni protok transportne mreze G.

1. Pocinjemo s bilo kojim protokom, npr. protokom koji svakom lukupridruzuje nulu.

2. Upotrijebimo BSF (Breadth first search) algoritam za konstrukcijustabla nepotpunih f -rastucih puteva s korijenom u izvoru i.

3. Ako stablo dostize ponor p, prosirimo f i vratimo se na korak 2. iuzmimo novi protok.

4. Ako stablo ne dostize p, stavimo da je S skup svih vrhova koji nedostizu p i sa T komplement od S. Protok f je maksimalni protok iS, T je minimalni rez.

5.10 Bojenje grafova

5.10.1 Problem cetiri boje

Godine 1853. Francis Guthrie je pokusao obojiti kartu engleskih pokrajina,tako da pokrajine koje imaju zajednicku granicu budu obojene razlicitombojom i pri tome primijetio da su za to potrebne samo cetiri boje. Toje opazanje prenio svom profesoru matematicaru de Morganu, a njega jeto potaknulo da postavi hipotezu cetiri boje. Hipoteza kaze da se svakageografska karta moze obojiti s najvise cetiri boje tako da nijedna od dvijesusjedne regije (drzave) nisu obojene istom bojom. Za regije kazemo da sususjedne (eng. adjacent) ako imaju zajednicku granicu, ali ne i ako imajusamo zajednicku tocku. Vrlo brzo je utvrdeno da tri boje nisu dovoljne dase pravilno oboji karta, ali i da se s pet razlicitih boja moze obojiti svakakarta.

U rjesavanju ovog problema angazirao se veliki broj matematicara krozperiod od stotinjak godina. U nekoliko navrata objavljeno je da je hipotezadokazana, ali su nakon toga bile otkrivene greske u postupku dokazivanja.Vazne doprinose dokazu hipoteze dao je i hrvatski matematicar Danilo Bla-nusa sredinom 20. stoljeca.

Medutim, dokaz hipoteze izveden je tek 1977. godine uz znacajnu upo-trebu racunala, a dokaz teorema o cetiri boje napravili su Kenneth Appeli Wolfgang Haken. Pomocu racunala provjereno je 1936 mogucih slucajeva(karata). Taj je dokaz, buduci da je bio prvi dokaz nekog poznatog teoremaizveden pomocu racunala, pokrenuo veliku raspravu u matematickim kru-govima o pitanju treba li se takav ”racunalni dokaz” smatrati ispravnim.Matematicka je praksa da svaki dokaz covjek (matematicar) treba biti ustanju verificirati korak po korak. To nije bio slucaj s Appel-Hakenovim

Page 247: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 237

dokazom teorema o cetiri boje. Dvadesetak godina kasnije (1996. godine)dodatnom razradom matematicke teorije broj mogucnosti koje je trebaloprovjeriti smanjen je na 633. To su ucinili Neil Robertson, Daniel Sanders,Paul Seymour i Robin Thomas i tako omogucili da se dokaz provede (uzdosta muke i vremena) i bez pomoci racunala.

Teorem o cetiri boje prirodno se moze formulirati u teoriji grafova. Regijena karti identificiraju se s vrhovima grafa. Svaka dva vrha su spojena bridomako pripadne regije na karti imaju zajednicku granicu.

Teorem 5.13 Vrhovi svakog ravninskog (planarnog) grafa mogu se obojitis najvise cetiri boje tako da ne postoje dva susjedna vrha obojena istombojom.

5.10.2 Bojenje vrhova grafa

Problemi bojenja karata, kao i problemi slaganja rasporeda cesto se opisujuu modelu bojenja vrhova grafa.

Definicija 5.29 Bojenje vrhova grafa G = (V, E) je funkcija c : V → N sasvojstvom da je c (x) 6= c (y) kada je x, y ∈ E.

Kad govorimo o pridruzivanju prirodnih brojeva vrhovima cesto mislimona pridruzivanje boja vrhovima grafa i obrnuto. To je razlog zasto funkcijuoznacavamo sa c (eng. color).

Ponekad se u literaturi (npr. u [5] i [10]) moze pronaci da je bojenjevrhova grafa zapravo bilo kakvo pridruzivanje boja vrhovima, dok se bo-jenje koje susjednim vrhovima pridruzuje razlicite boje zove pravilno bojenjevrhova grafa (eng. proper vertex coloring).

Kromatski broj χ (G) grafa G je najmanji cijeli broj k takav da postojibojenje vrhova grafa G gdje je upotrebljeno tocno k boja.

Pitamo se kako odrediti kromatski broj danog grafa. Ukoliko graf imarelativno mali broj vrhova metodom pokusaja i pogresaka moze se odreditikromatski broj grafa. Medutim ako je broj vrhova grafa velik trebali bismonaci dobar algoritam koji bi rjesavao opcenito taj problem. Za sada nijepoznat algoritam koji bi pronalazio kromatski broj grafa u polinomnomvremenu. Ovaj problem pripada klasi NP-potpunih problema (eng. NP-complete) u kojoj se nalazi i problem trgovackog 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 sveucilistu). Trebaju se izbjeci konflikti da ni profesor nistudent ne budu na rasporedu u isto vrijeme na dva razlicita ispita. Ovdjecemo pokazati slican problem slaganja rasporeda na konferenciji.

Page 248: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

238 5.10. BOJENJE GRAFOVA

Primjer 5.16 Na kongresu informaticara prezentira se 6 sekcija: s1, s2, ...,s6. Zbog interesa slusatelja, paralelno se ne smiju izvoditi sljedece sekcije:s1 i s2, s1 i s4, s3 i s5, s3 i s6, s2 i s6, s5 i s6. Kako treba napraviti rasporedizvodenja sekcija tako da se kongres odrzi u najkracem vremenu i da jeinteres slusatelja postivan? Pretpostavljamo da sve sekcije traju jednakodugo.

Prikazimo problem pomocu grafa tako da sekcije predstavljaju vrhovegrafa, pri cemu su dva vrha povezana bridom ukoliko se ne smiju izvoditiparalelno.

s1

s4

s2

s5 s6

s7

Slika 5.22

Jedan od mogucih rasporeda je sljedeci:

1. termin 2. termin 3. termins1, s5 s2, s3, s4 s6

Tablica 5.5

Vidi se da nije moguce sve sekcije smjestiti u manje od tri termina, jerpostoji trokut s3s5s6 u grafu sto znaci da nijedan od ta tri vrha ne smijebiti u istom terminu s preostala dva. Dakle, kromatski broj ovog grafa je 3.Vrhovi se prema tome mogu obojiti s 3 boje.

Page 249: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 239

s1

s4

s2

s5 s6

s7

Slika 5.23

Bojenje vrhova grafa mozemo shvacati i kao particiju skupa svih vrhovatakvu da su u svakom skupu particije samo oni vrhovi koji nemaju zajednickibrid. Dakle, svaki skup particije sadrzi samo vrhove iste boje, pa se cestonaziva i klasa boje (eng. color class).

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

U gornjem primjeru klike bi bili skupovi s1, s2 , s1, s4 , s2, s6 ,s3, s5, s6 , te je ω (G) = 3. Ocito je da vrijedi sljedeca tvrdnja.

Propozicija 5.6 U svakom grafu G vrijedi χ (G) ≥ ω (G) .

Opcenito rjesenje problema trazenja kromatskog broja ne postoji. Od-nosno ne postoji algoritam koji bi dani problem rijesio u polinomnom vre-menu. Postoji, medutim, jednostavna metoda bojenja vrhova grafa, kojaje upotrebljiva ukoliko broj vrhova nije prevelik. Najprije se graf pokusaobojiti s jednom, pa sa dvije boje, tako da se za vrh uvijek pokusa uzetisvaka boja kojom nije obojen ni jedan od njegovih susjeda. Ako se na tajnacin ne uspiju obojiti svi vrhovi grafa, poveca se broj boja, te se postu-pak ponavlja iz pocetka. Ovaj algoritam temelji se na metodi pretrazivanjas vracanjem (backtracking). On ce sigurno pronaci bojenje vrhova grafaminimalnim brojem boja, no problem je sto se ovaj algoritam izvrsava ueksponencijalnom vremenu s obzirom na broj vrhova grafa.

Navedimo dva teorema koji se dokazuju pomocu pohlepnog algoritma.

Teorem 5.14 Neka je G graf u kojem je maksimalni stupanj jednak k. Tadavrijedi:

Page 250: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 sadrzi cikluseneparne duljine.

Zadatak 5.28 Nadite kromatski broj potpunog grafa Kn.

Zadatak 5.29 Dokazite da za bipartitni graf G vrijedi χ (G) = 2, koristeciteorem 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 ploce sa strujnim krugovima, gdje zice koje se medu-sobno spajaju trebaju biti obojene razlicitim bojama kako bismo ih moglirazlikovati.

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

Kromatski broj χ′ (G) bojenja bridova grafa G je najmanji cijeli broj k,takav da postoji bojenje bridova grafa G gdje je upotrebljeno tocno k boja.

Nadalje, promotrimo sljedeci problem.

Primjer 5.17 Zelimo izraditi raspored posjeta pacijenata P = u, v, z, xkoji se trebaju pregledati kod specijalista S = a, b, c, d, e, f, g. Pri tomepacijent 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 1v 0 1 1 0 1 0 0z 1 0 0 1 0 1 0x 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 pocinje se s radom u 8:00.

Nacrtajmo prvo bipartitni graf ciji se skup vrhova sastoji od P i S i cijisu bridovi dani matricom susjednosti.

Page 251: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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. Sadasvaka boja brida predstavlja odredeno mjesto u rasporedu. Tako se upotre-bom bojenja bridova bipartitnog grafa dobiva izvediv raspored. Iz gornjeggrafa moze se izvesti raspored za svakog lijecnika i za svakog pacijenta.Vidimo da su potrebna cetiri termina po lijecniku.

Navedimo jedan ocigledan rezultat koji vrijedi za bojenje bridova grafa

Propozicija 5.7 Za bipartitni graf G vrijedi χ′ (G) = δmax (G) .

Dokaz. Dokaz se provodi matematickom indukcijom po broju bridovagrafa G. Neka je skup vrhova bipartitnog grafa dan kao unija X∪Y. Uzmimograf samo s jednim bridom tj. jedan brid spaja vrhove iz X i Y. Sada jeocito da se graf moze obojiti samo jednom bojom.

Pretpostavimo da teorem vrijedi za bipartitni graf s n bridova. Trebadokazati 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 zakoji je χ′ (G′) = δmax (G′) jednak k ili k − 1.

Propozicija 5.8 Za graf G u kojem je k medusobno incidentnih bridovavrijedi χ′ (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 Pomocu matematicke indukcije pokazite da za potpuni grafPn vrijedi

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

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

Page 252: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

242 5.11. SPARIVANJE U GRAFOVIMA

5.11 Sparivanje u grafovima

Definicija 5.32 Sparivanje (eng. matching) u grafu G = (V, E) je podskupM skupa bridova grafa, takav da ni jedan vrh nije incidentan s vise od dvabrida u M. Za vrh koji je incidentan nekom bridu u M kazemo da je zasicen(eng. saturated). Sparivanje je savrseno (eng. perfect matching) ako i samoako je svaki vrh zasicen.

Zakljucujemo da je sparivanje savrseno ako je svaki vrh incidentan tocnojednom vrhu iz sparivanja M. Medu vazne probleme teorije grafova pripadaproblem postoji li sparivanje s dovoljno mnogo bridova u danom grafu iukoliko postoji kako ga konstruirati.

Za sparivanje M ′ kazemo da je maksimalno ako ne postoji sparivanjeM koje ima vise bridova od M ′. Sparivanje koje je savrseno ujedno je imaksimalno.

Primjenu sparivanja nalazimo na primjer kod dodjeljivanja posla rad-nicima. Buduci da nijednom radniku ne mogu (u isto vrijeme) biti dodi-jeljena dva ralicita posla ovo je problem sparivanja. Vrhovi u grafu pred-stavljaju radnike i poslove, dok bridovi spajaju poslove i radnike za koje suosposobljeni. Takav je graf bipartitan. Pretpostavimo da su u podskupu V1

radnici, a u podskupu V2 poslovi koje treba obaviti. Postavlja se pitanje,postoji li sparivanje koje zasicuje sve vrhove iz V1? Ocigledno je da ukolikopostoji vise radnika nego poslova, nije moguce uposliti sve radnike. Pret-postavimo stoga da je |V1| ≤ |V2| . Nadalje, ako imamo k radnika, a brojposlova za koje su oni svi obuceni je manji od k, opet necemo moci zaposlitisve radnike. Neka je X neki podskup skupa V1. Oznacimo sada sa S (X)skup svih vrhova iz V2 koji su susjedni nekom od vrhova u X. Zakljucujemoda mora biti |X| ≤ |S (X)| za svaki X, zelimo li da postoji rjesenje problema.Sljedeci teorem tvrdi da je to ujedno i dovoljan uvjet.

Teorem 5.16 (P. Hall, 1935) Neka je G bipartitni graf, pri cemu su V1 i V2

podskupovi biparticije. Postoji sparivanje koje zasicuje V1 ako i samo akoza svaki podskup X ⊆ V1,vrijedi da je |X| ≤ |S (X)| .

Zadatak 5.31 Neka je G bipartitni graf, pri cemu su V1 i V2 podskupovibiparticije, te svaki vrh ima isti stupanj jednak k. Pokazite da postoji spari-vanje koje zasicuje V1.

5.12 Zadaci

1. Odredite broj bridova u potpunom bipartitnom grafu Km,n.

2. Nadite sve medusobno razlicite (neizomorfne) regularne grafove stup-nja 4, koji imaju 7 vrhova. Napisite njihove matrice susjedstva.

Page 253: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 243

3. Ako sa δ oznacimo najmanji stupanj vrha u grafu, a sa ∆ najvecistupanj vrha u grafu, dokazite da tada vrijedi

δ ≤ 2ε

n≤ ∆.

4. Imamo sljedece definicije

Definicija 5.33 Duljina ciklusa jednaka je broju vrhova koji sudjelu-ju u ciklusu.

Definicija 5.34 Struk grafa je duljina najkraceg ciklusa u grafu.

Pokazite da ako je G k-partitan graf struka 4, onda je broj vrhova toggrafa veci ili jednak 2k. Pokazite da postoji tocno jedan takav graf stocno 2k vrhova.

5. Dokazite da je graf G bipartitan ako i samo ako je svaki ciklus u njemuparne duljine.

6. Nadite Hamiltonov ciklus u grafu kojeg odreduju vrhovi i bridovikocke.

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

Page 254: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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. Dokazite ili opovrgnite sljedece 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. Dokazite da je jednostavan graf u kojemu vrijedi d(u) + d(v) ≥ n− 1za svaka dva vrha u, v ∈ V (G) povezan.

11. Za koji n ∈ N potpun graf Kn ima stazu, a nema Eulerovu turu?

12. Dokazite da Petersonov graf nije Hamiltonov.

13. Dokazite da je Petersonov graf bez ijednog vrha Hamiltonov.

14. Dokazite da potpuni graf Kn ima najvise⌊

n−12

⌋razlicitih Hamiltonovih

ciklusa.

15. Izdvojite Hamiltonove grafove iz sljedeceg popisa:

(a) potpuni graf Kn,(b) potpuni bipartitni graf Km,n,(c) stablo s n vrhova.

Ima li medu gornjim grafovima Eulerovih grafova?

16. Upotrebom Dijkstrinog algoritma nadite najkraci put od A do K nagrafu na sljedecoj slici.

A K

2

3

4

5

6

6

3

4

5

2

4

4

7

5

4

6

5

3

Page 255: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 245

Slika 5.26

17. Ciklicki graf je graf ciji svi vrhovi i bridovi leze na istoj kruznici.Nadite kromatski broj ciklickog grafa od 2n vrhova i ciklickog grafaod 2n + 1 vrhova.

18. Pronadite kromatski broj sljedecih 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. Dokazite tu tvrdnju.

21. Nacrtajte stabla koja zadovoljavaju sljedeca svojstva:

(a) Binarno stablo koje ima 12 vrhova i 4 nivoa.

(b) Ternarno stablo koje ima 10 vrhova i 4 nivoa.

Page 256: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

246 5.12. ZADACI

22. Nadite razapinjuce stablo grafa kocke.

23. Nadite sva razapinjuca stabla potpunog grafa K4.

24. Neka je graf G definiran sljedecom matricom:

a b c d e f g hb a b a b g c ad c d b f gh d g c h

e

Tablica 5.7

Skicirajte DFS stablo u G pocevsi od g. Je li G povezani graf?

25. Napisite izraz koji je pohranjen u sljedecem 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 vecimod 4. Koliki je kromatski broj grafa G?

Page 257: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 247

27. Neka je (d1, . . . , dn) niz stupnjeva vrhova nekog grafa. Dokazite da jen∑

i=1di paran broj.

28. Na slici je prikazana mreza na kojoj brojevi na lukovima predstavljajukapacitete 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 sljedecom 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 zakljucujete?

29. Primijenite Fleuryjev algoritam na graf na slici, pocevsi od vrha a.

Page 258: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

248 5.13. PROJEKTI

a

Slika 5.31

30. Pokazite da ako je graf G stablo s n vrhova, tada je suma stupnjevasvih vrhova od G jednaka 2n− 2.

31. Dokazite da vrijedi: graf s n vrhova je bipartitan ako i samo ako senjegovi vrhovi mogu oznaciti tako da mu je matrica susjedstva oblika

[0k AA> 0m

]

gdje je n = m + k.

5.13 Projekti

1. Povezani graf zovemo semieulerov graf ako postoji put u grafu kojisadrzi sve bridove grafa. Povezani graf zovemo semihamiltonov grafako postoji put u grafu koji sadrzi sve vrhove grafa. Istrazite svojstvatakvih grafova i njihovu vezu s Eulerovim i Hamiltonovim grafom.

2. Opisite primarne operacije na grafovima: brisanje vrhova ili bridova,dodavanje vrhova ili bridova i njihova svojstva. Objasnite sekundarneoperacije na grafovima i izvedite njihova svojstva. Nadite primjenegornjih operacija u informatici. (Uputa: posluzite se literaturom [5]).

3. Proucite nacin primjene stabala u teoriji odlucivanja, te usporediteterminologiju koja se upotrebljava u teoriji odlucivanja s onom izmatematicke teorije grafova.

Page 259: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 5. TEORIJA GRAFOVA 249

4. Upotrijebite binarna stabla za konstrukciju binarnih kodova. Opisitenacin konstrukcije prefiks koda pomocu binarnog stabla. Opisite 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 kazemo da su homeomorfni ako se prvi moze dobiti izdrugog tako da se prvom dodaju i/ili izbrisu vrhovi stupnja 2. Naditeprimjere homeomorfnih grafova, te dokazite teorem Kuratowskog kojidaje uvjete da bi graf bio planaran.

7. Opisite veze bojenja bridova grafa i latinskih kvadrata.

8. Grafovi se mogu definirati na razlicitim plohama kao sto su sfera ilitorus. Promatramo svojstva takvih grafova, koji se mogu nacrtati natim plohama, tako da im se bridovi sijeku samo u vrhovima. Napravitenekoliko primjera takvih grafova i ispitajte da li za njih vrijedi Eulerovaformula kao i za planarne grafove.

9. Proucite, objasnite i implementirajte Edmonds-Johnsonov algoritamte odredite njegovu slozenost (Uputa: posluzite se literaturom [9]).

Page 260: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

250 5.13. PROJEKTI

Page 261: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Bibliografija

[1] Biggs, N. L., Discrete Mathematics, Oxford University Press Inc., NewYork, 2002.

[2] Dymacek, W.M.; Sharp, H.: Introduction to Discrete Mathematics,WBC/McGraw-Hill, International Editions, 1998.

[3] Garnier, R.: Taylor, J.: Discrete Mathematics for New Technology, IOPPublishing Ltd, London 1999.

[4] Goodaire, E. G.; Parmenter, M. M.: Discrete Mathematics with GraphTheory, 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 andGraph 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

Page 262: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

252 BIBLIOGRAFIJA

Page 263: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Poglavlje 6

Algebarske strukture

Zasto su brojevi prekrasni? To je istokao da pitate zasto je BeethovenovaDeveta simfonija prekrasna. Ako nevidite zasto, nitko vam to ne mozereci. Ja znam da su brojevi prekrasni.Ako oni nisu, nista nije.

Paul Erdos

Algebra je dio matematike koja izucava algebarske operacije i struk-ture. Ovdje cemo se baviti algebarskim strukturama koje su dijelovi ap-straktne algebre i imaju znacajnu primjenu u drugim podrucjima znanostii istrazivanja.

U matematici cesto povezujemo i proucavamo povezivanje elemenata po-jedinih skupova. Pri tome, na skupovima defini-ramo relacije i operacije kao sto smo vidjeli naprimjerima u prethodnim poglavljima. Svojstvaoperacija mozemo proucavati i na apstraktnojrazini tako da se uzdignemo iznad konkretnihskupova i stvarnih operacija i baviti se apstrakt-nom generalnom strukturom (grupom, poljem isl.). Pri tome odabiremo kljucna svojstva po-jedninih struktura i njihove posljedice. To namomogucava klasifikaciju algebarskih struktura uodredene klase ciji clanovi imaju mnoga vazna za-jednicka svojstva. Slika 6.1: Evarist Galois

Uocavamo da je ovdje vazan i skup i operacija koja se izvodi na skupu.Najcesce cemo se baviti binarnim operacijama, koje povezuju dva elementai pridruzuju im neki treci element.Posebno znacajne algebarske strukture su grupa i polje.

253

Page 264: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

254 6.1. DEFINICIJA I PRIMJERI ALGEBARSKIH STRUKTURA

6.1 Definicija i primjeri algebarskih struktura

U svakoj algebarskoj strukturi imamo jedan ili vise skupova i jednu ili viseoperacija.

Algebarska operacija je svako preslikavanje : An → A pri cemu jeAn Kartezijev produkt A×A× ...×A (n puta). Operacija tako pridruzujesvakoj n-torki (a1, a2, ..., an) ∈ An jedan element skupa A.

Neprazan skup A, zajedno sa skupom operacija O i skupom relacija Rdefiniranim na tom skupu, zovemo algebarskom strukturom, a oznacavamosa A = (A,O, R) . Skup A zovemo skupom nosiocem algebarske strukture,a njegove elemente osnovnim elementima algebarske strukture. Vise o tomeprocitajte 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 mnozenja realnihbrojeva binarne operacije. Slijedi opcenita definicija binarne operacije.

Definicija 6.1 Binarna operacija na nepraznom skupu S je pravilo kojesvakom paru elemenata a, b ∈ S pridruzuje neki element z ∈ S. Pri tomepisemo z = a b.

Uocimo da se binarna operacija moze promatrati i kao funkcija kojaelementima Kartezijevog kvadrata S2 (uredenim parovima) pridruzuje ele-ment iz S. Dakle, binarna operacija na nepraznom skupu S je funkcija f :S × S → S.

Binarna operacija na konacnom skupu S moze se prikazati pomocu Cay-leyeve tablice, koja je objasnjena u sljedecem primjeru. Tablica je dobila imepo engleskom matematicaru Arthuru Cayleyu (1821-1895), koji je zasluzanza uvodenje vaznih algebarskih struktura u matematiku, ali i za donosenjepropisa koji su zenama omogucili studiranje na sveucilistu Cambridge.

Primjer 6.2 Zadan je skup S = a, b, c i binarna operacija na S pomocusljedece Cayleyeve tablice.

Page 265: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 mnozenja na skupovima brojeva. Svojstva tih operacijanabrojena su u prvom dijelu ove knjige. Ovdje dolazi do izrazaja vaznostskupa 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 kojeje potrebno poznavati teoriju grupa, polja i prstenova.

6.2.1 Definicija grupe

Ponovimo da u svakoj algebarskoj strukturi pocinjemo od pojma skupa ineke (binarne) operacije definirane na tom skupu. Nadalje, ta (binarna)operacija treba zadovoljavati odredena svojstva da bismo dosli do odredenealgebarske strukture.

Neka je S skup na cijim je elementima definirana binarna operaciju .Dakle, djeluje na dva elementa iz S. Ukoliko se kao rezultat djelovanjaoperacije na elemente a, b ∈ S dobije opet neki element c ∈ S, tj. ako je

a b = c,

za binarnu operaciju kazemo da je zatvorena na skupu S.Primjer binarnih relacija su operacije zbrajanja + i mnozenje ·. One su

zatvorene na skupovima N,Z,Q i R. Operacija − nije zatvorena na skupuprirodnih brojeva N. Primijetite da za operacije + i · vrijedi svojstvo aso-cijativnosti. Opcenito operacija je asocijativna na skupu S ako za sveelemente a, b, c ∈ S vrijedi

(a b) c = a (b c) .

Nadalje, prisjetimo se da je broj 0 neutralni element za zbrajanje na skupuZ, ali ne i na N (jer nula nije element skupa prirodnih brojeva), a broj 1 jeneutralni element za mnozenje. U opcem slucaju kazemo da je e neutralnielement (identiteta) za operaciju na skupu S, ako je e ∈ S i za svaki drugielement a ∈ S vrijedi

a e = e a = a.

Page 266: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

256 6.2. GRUPE

U skupu cijelih brojeva za svaki cijeli broj a postoji njemu suprotni broj −aza koji vrijedi a+(−a) = 0. Promatramo li operaciju mnozenja na skupu Z,ona na tom skupu nema inverzni (suprotni) element, tj. za svaki cijeli broja ne postoji takav broj a′ za koji je a · a′ = 1, jer je za a 6= 0 takav broja′ = 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 neutralnielement postoji, onda je on jedinstven.

Dokaz. Pretpostavimo suprotno, tj. da postoje dva neutralna elementae 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 zakoju je e neutralni element. Ako za neki element postoji inverzni elementonda je on jedinstven.

Dokaz. Pretpostavimo suprotno, tj. da za x ∈ S postoje dva inverznaelementa 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 mnozenja su i komutativne jer se redosljed eleme-nata na koje se operacija primjenjuje moze zamijeniti.

Page 267: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 257

Opcenito, operacija je komutativna na S ako za sve elemente a, b ∈ Svrijedi

a b = b a.

Svojstva koja smo nabrojali vazna su i imaju znacajne posljedice. Stogase u algebri definira posebna struktura koja posjeduje gornja svojstva, a zovese grupa.

Definicija 6.2 Grupa je uredeni par (S, ) , gdje S predstavlja skup, a binarnu operaciju na elementima tog skupa. Operacija ima sljedeca 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, kazemo da je grupa

komutativna ili Abelova grupa.

Abelova grupa je dobila ime po norveskom matematicaru Nielsu Abelu(1802-1829) koji je u svom kratkom zivotu dao znacajne doprinose teorijijednadzbi i beskonacnih redova.

Spomenimo jos 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 Konacne i ciklicke grupe

Ako je skup S konacan, onda za kardinalni broj |S| kazemo da je red grupe(eng. order) i da je grupa konacnog reda ili konacna. Za grupu gdje skupima beskonacno mnogo elemenata kazemo da ima beskonacan red.

Evo teorema koji govori o vaznom svojstvu strukture koja je grupa, kojiima znacajan utjecaj na grupe konacnog reda.

Teorem 6.1 Neka su a, b ∈ S i G = (S, ) grupa. Tada jednadzba a x = bima jedinstveno rjesenje u grupi G.

Dokaz. Pretpostavimo suprotno, tj. da jednadzba a x = b ima dvarazlicita rjesenja x1, x2. Tada vrijedi a x1 = b i a x2 = b. Izjednacimojednadzbe i dobivamo a x1 = a x2. Prosirimo obje strane jednadzbes inverznim elementom a′ od a slijeva i primijenimo zakon asocijativnosti.Imamo (a′ a) x1 = (a′ a) x2. Sada je e x1 = e x2, a buduci da je eidentiteta, dobivamo x1 = x2. To predstavlja kontradikciju s pretpostavkom,pa zakljucujemo da jednadzba a x = b ima jedinstveno rjesenje.

Primijetimo kakav utjecaj ima prethodni teorem na izgled Cayleyevetablice grupe konacnog reda. U slucaju grupe, svaki se element u tablici

Page 268: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

258 6.2. GRUPE

pojavljuje tocno jedanput u svakom redu, odnosno stupcu. Zapisimo to uobliku propozicije.

Propozicija 6.3 Neka je (S, ) konacna grupa. Tada se u Cayleyevoj tablicisvaki element skupa S pojavljuje tocno jedanput u svakom retku, odnosnostupcu.

Zadatak 6.2 Pokazite kontraprimjerom da obrat ove tvrdnje ne vrijedi.

Za svaki element a grupe G mozemo definirati niz cjelobrojnih potencijakao sto slijedi:

a1 = a, a2 = a a, ..., an = a an−1, za n ≥ 2,

a−1 = a′, a−2 = a′ a′, ..., a−n = a−1 a−(n−1), za n ≥ 2.

Stavljamo takoder a0 = e. Cesto se umjesto a b pise jednostavno ab. Zbogsvojstva asocijativnosti ocito vrijedi aman = am+n.

Ako je a element grupe i n najmanji prirodan broj, takav da je xn = e,tada kazemo da je n red elementa a u grupi G i pisemo |a| = n. Ukoliko nepostoji takav konacan prirodan broj n, kazemo da element a ima beskonacanred.

Teorem 6.2 Neka je a element reda n konacne grupe G. Tada je am = eako i samo ako je m visekratnik od n.

Definicija 6.3 Za grupu G = (S, ) kazemo da je ciklicka ako postoji ele-ment a ∈ S takav da za svaki b ∈ S, b = an za neki n ∈ Z. Za grupu G tadakazemo da je generirana elementom a i a zovemo generatorom grupe.

Zadatak 6.3 Pokazite da je grupa (Z, +) ciklicka i da je broj 1 generatorgrupe.

Primjer 6.3 Pokazite da je grupa Z7, uz zbrajanje modulo 7 ciklicka i daje 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].

Page 269: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 259

Zadatak 6.4 Pokazite da su svi elementi grupe Z7, osim [0], uz zbrajanjemodulo 7 generatori grupe (Z7, +).

Rjesenja prethodna dva zadataka mozete naci u [[3], str 340].

Zadatak 6.5 Neka je M skup matrica oblika[

1 n0 1

], n ∈ Z.

Pokazite da je M , uz operaciju mnozenja matrica, beskonacna ciklicka grupa.

Zadatak 6.6 Dokazite da ciklicka grupa sa samo jednim generatorom nemoze imati vise od 2 elementa.

6.2.3 Primjeri grupa

Ovdje cemo upoznati vaznije primjere struktura, koje su grupe.

1. Najpoznatiji primjeri grupe su razliciti skupovi brojeva uz operacijemnozenja 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 | fje bijekcija. Na elementima skupa F dana je operacija kompozicijefunkcija. Znamo da je operacija kompozicije zatvorena i asocijativna.Nadalje, identiteta je funkcija e (x) = x,∀x ∈ T. Buduci da su elementiskupa F bijekcije, za svaku funkciju f ∈ F, postoji inverzna funkcijaf−1, takva da je f f−1 = f−1 f = e. Zakljucujemo da je (F, )grupa. Kompozicija funkcija nije komutativna operacija, pa grupanije Abelova.

3. Grupa permutacija (simetricna grupa) je skup svih bijekcija na ko-nacnom skupu S = 1, 2, 3, ..., n uz operaciju kompozicije funkcija.Prisjetimo se da permutacije mozemo zapisati pomocu matrice tipa(2, n) . Primjerice permutacija p skupa od 5 elemenata zapise se kao

p =[

1 2 3 4 5p (1) p (2) p (3) p (4) p (5)

].

Skup od n elemenata ima n! razlicitih permutacija. Stoga bi i Cayley-jeva tablica imala n! redaka, odnosno stupaca. Iz tablice je vidljivo dagrupa nije komutativna.

Red grupe je n, a oznaka je Sn. Grupu (Sn, ) zovemo i simetricnomgrupom reda n.

Page 270: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

260 6.2. GRUPE

4. Skup matrica tipa (m,n), uz operaciju zbrajanja matrica, je komuta-tivna grupa. Vise detalja o toj grupi mozete naci u [2].

5. Skup Mn kvadratnih regularnih matrica reda n uz operaciju mnozenjamatrica je grupa (nije komutativna). Uocite da kao posljedicu teorema6.1 vrijedi da svaka matricna jednadzba AX = B, gdje su A, B ∈ Mn,ima jedinstveno rjesenje, tj. postoji jedinstvena matrica C ∈ Mn takvada je AC = B.

Zadatak 6.7

1. Pokazite da je skup matrica oblika[

a b0 1

], gdje su a, b ∈ Z3 i a 6= 0,

uz operaciju mnozenja matrica grupa.

2. Ispisite sve matrice koje pripadaju gornjoj grupi.

Zadatak 6.8 Napisite Cayleyjevu tablicu za grupu permutacija skupa kojiima 3 elementa.

6.2.4 Podgrupe

U prethodnoj tocki smo utvrdili da su (Z, +) , (Q, +) , (R, +) grupe i pri tomeje Z ⊂ Q ⊂ R. Kazemo da je grupa koja je sadrzana u drugim grupamanjezina podgrupa.

Definicija 6.4 Neka je (S, ) grupa, P ⊆ S i (P, ) takoder grupa. Kazemoda je (P, ) podgrupa grupe (S, ) . Pisemo (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 danegrupe zovemo pravim podgrupama. Pokazuje se da svaka beskonacna grupaima pravih podgrupa, dok to ne mora biti slucaj kod konacnih grupa. Poz-nato je da ako je red grupe prosti broj, onda ona nema pravih podgrupa.Dokaz ove tvrdnje mozete naci 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.

Page 271: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 261

Dokaz. Nuzan smjer je opet trivijalno ispunjen jer je neutralni elementjedinstven i svaki element ima jedinstveni inverzni element.

Pokazimo dovoljan uvjet, tj. ako vrijede uvjeti 1. i 2. iz prethodnogteorema, onda je struktura (P, ) podgrupa grupe (S, ) .

Treba pokazati da u (P, ) vrijedi asocijativnost, tj. da postoji neutralnielement u P. Operacija je zatvorena u P zbog uvjeta 1. Asocijativnost jenaslijedena iz grupe (S, ) . Inverzni element svakog elementa iz P je takoderu P zbog uvjeta 2. Neka je a ∈ P , tada je a−1 ∈ P, pa iz uvjeta 2. dobivamoaa−1 = e ∈ P.

Uocite da prvi uvjet u prethodnom teoremu trazi da operacija iz grupebude zatvorena u P, a drugi da svaki element iz P ima inverzni element, kojise nalazi u P.

Ukoliko su ispunjena oba uvjeta tada je (P, ) podgrupa grupe (S, ).Slijedi teorem koji daje jos 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. Nuzan smjer je trivijalno ispunjen.Pokazimo dovoljan uvjet, tj. ako vrijedi uvjet 6.1 onda je struktura (P, )

podgrupa grupe (S, ) . Asocijativnost je naslijedena iz S. Uzmimo elementa iz P. Iz uvjeta 6.1 slijedi da je aa−1 = e ∈ P. Dakle P sadrzi neutralnielement. Uzmimo sada e, a ∈ P, pa iz 6.1 slijedi da je a−1 ∈ P, sto znacida svi elementi iz P imaju inverzni element u P. Zatvorenost operacije uP dokazujemo tako da promatramo dva elementa a, b ∈ P, a iz postojanjainverznog elementa u P dobivamo b−1 ∈ P, pa je iz 6.1 a

(b−1

)−1 = ab ∈ P.

Ako je P konacan neprazan podskup od S dovoljno je ispitati samo prviuvjet iz teorema 6.3, tj. da je operacija zatvorena u P. O tome govori sljedecapropozicija, koja daje test za konacne podgrupe.

Propozicija 6.4 Neka je (S, ) grupa i P neprazni konacni podskup odS. Ako je P zatvoren s obzirom na operaciju , tada je struktura (P, )podgrupa grupe (S, ).

Dokaz ove propozicije mozete naci u [3], str. 351.

Zadatak 6.9 Pokazite da su [0] , [2], [4], [6] , [0] , [4] podgrupe grupe (Z8

,+), gdje je operacija u grupi zbrajanje modulo 8.

Zadatak 6.10 Pokazite da je skup matrica oblika[

1 a0 1

], gdje su a ∈ Z ,

uz operaciju mnozenja matrica grupa. Nadalje, ispisite sve elemente gornjeg

Page 272: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

262 6.2. GRUPE

skupa. Na kraju pokazite da taj skup predstavlja podgrupu grupe regularnihmatrica drugog reda uz operaciju mnozenja matrica.

U grupi G definiramo relaciju ∼ sa

a ∼ b ⇔ a−1b ∈ P

gdje je P podgrupa od G. Tada je ∼ relacija ekvivalencije na G te postojiparticija skupa G u neprazne klase ekvivalencije. Te klase ekvivalencije suoblika

bP = a ∈ S|a = bx za neki x ∈ Pi zovemo ih lijevim koskupovima (engl. coset) od P s obzirom na elementb ∈ G.

Dakle, razliciti lijevi koskupovi cine particiju od G. Ova cinjenica imaza posljedicu sljedeci vazan teorem, tzv. Lagrangeov teorem:

Teorem 6.5 Ako je G konacna 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 buducida oni cine particiju od G, jasno je da vrijedi m|n.

Do istog bismo rezultata dosli kad bismo umjesto lijevih koskupovaupotrebljavali desne koskupove.

Neka je sada a neki element grupe G = (S, ) . Postavlja se pitanjekoja je najmanja podgrupa od G koja sadrzi element a? Zbog svojstvazatvorenosti, trazena podgrupa P treba sadrzavati sve pozitivne potencijeod a tj. elemente a2, a3, . . .. S druge strane, P treba sadrzavati sve njihoveinverzne elemente, tj. negativne potencije od a. Vrijedi sljedeci teorem.

Teorem 6.6 Neka je G = (S, ) grupa i a ∈ S. Neka je nadalje H = an :n ∈ Z. Struktura (H, ) je najmanja podgrupa od G koja sadrzi element a.

Zadatak 6.11 Detalje dokaza teorema napravite za vjezbu.

Sukladno konstrukciji, grupu (H, ) zovemo ciklickom podgrupom od Ggeneriranom sa a.

U dva specijalna slucaja ciklicke podgrupe generirane sa a su trivi-jalne. Prvo, kada je podgrupa generirana neutralnim elementom ((e, )).I drugo, kada je G ciklicka grupa generirana elementom a onda je P = G.

Primjer 6.4 Promatramo grupu (Z4, +4) . Nadimo ciklicke podgrupe ge-nerirane sa [2].

Page 273: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 263

Imamo

0[2] = [0],1[2] = [2],2[2] = [2] + [2] = [0],

−1[2] = [2].

Dakle, trazena podgrupa je ([0], [2], +4) .

Zadatak 6.12 Promatrajte grupu (Z6, +6) . Nadite ciklicke podgrupe ge-nerirane sa [2], odnosno [3].

6.3 Izomorfizam grupa

Usporedivanjem pojedinih grupa, odnosno njihovih Cayleyevih tablica (zakonacne grupe) moze se uociti njihova sustinska jednakost. Znaci, ako bidrugacije oznacili elemente jedne grupe dobili bismo drugu grupu. Za takvegrupe kazemo da su izomorfne.

Definicija 6.5 Izomorfizam grupa (G,×) i (H, ) je bijekcija f : G → Htakva da vrijedi

f (g1 × g2) = f (g1) f (g2)

za sve g1, g2 ∈ G. Tada za grupe (G,×) i (H, ) kazemo da su izomorfne ipisemo (G,×) ∼= (H, ) .

U prethodnoj definiciji izomorfizma trazili smo da je izomorfizam bijek-cija, te da cuva strukturu grupe.

Primjer 6.5 Izomorfne grupe su skup pozitivnih realnih brojeva uz opera-ciju mnozenja (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 fizomorfizam, 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 logaritamskufunkciju, imamo ln (xy) = lnx + ln y. Dakle, vrijedi svojstvo zbog svojstvalogaritama, da je logaritam produkta jednak produktu logaritama.

Uocimo da su obje grupe komutativne. Nadalje, neutralni element uprvoj grupi je 1, a u drugoj 0, ali vrijedi f (1) = 0. Znaci neutralni seelement iz prve grupe preko izomorfizma preslikao u neutralni element izdruge grupe.

Zadatak 6.13 Pokazite da je funkcija f−1 (x) = ex (inverz logaritamskefunkcije iz prethodnog zadatka) izomorfizam grupa (R, +) i (R+, ·) .

Page 274: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

264 6.3. IZOMORFIZAM GRUPA

Iz prethodnog primjera izlazi da je svaka logaritamska funkcija izomor-fizam zadanim grupa, pa zakljucujemo da izomorfizam, ako postoji, ne morabiti jedinstven.

Dakle, da bismo pokazali da su dvije grupe izomorfne dovoljno je nacijedan izomorfizam izmedu tih grupa. Problem je pokazati da dvije grupenisu izomorfne, jer cinjenica da ne znamo naci izomorfizam ne povlaci nuznoda on ne postoji. Stoga nam je vazan sljedeci teorem koji daje neka svoj-stva izomorfnih grupa. Upotrebom ovog teorema mozemo uociti svojstvokoje jedna grupa ima, a druga nema, pa na temelju toga zakljucujemo dagrupe nisu izomorfne. S druge strane, teorem nam daje neke informacije opotencijalnom izomorfizmu izmedu grupa.

Teorem 6.7 Neka je f : G → H izomorfizam grupa (G,×) i (H, ) . Tadavrijede sljedece 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,×) ciklicka grupa, onda je i (H, ) ciklicka 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 isvojstvo ciklicnosti grupe.

S apstraktnog gledista sve su izometricne grupe medusobno jednake.Tako, pojam izomorfizma predstavlja relaciju ekvivalencije, koja klasificirasve grupe u klase medusobno izomorfnih grupa. Zbog toga cesto pokazu-jemo da je neka grupa izomorfna nekom standardnom predstavniku odredeneklase medusobno izomorfnih grupa. Prikladno je za standardne predstavnikeupotrebljavati ciklicke grupe.

Izmedu bilo koje dvije algebarske strukture (A, ) i (B,×) mozemo pro-matrati preslikavanje f : A → B, kojeg zovemo morfizmom ukoliko vrijedisvojstvo 6.5 iz definicije izomorfizma. Uocite da se morfizam razlikuje odizomorfizama u tome sto morfizam ne mora biti bijekcija izmedu zadanihskupova. Dakle, morfizam je opcenitiji pojam od izomorfizma.

Page 275: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 265

Sljedeci teorem govori o nacinu prenosenja 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 Dokazite prethodni teorem.

Zadatak 6.15 Zadane su aditivna i multiplikativna grupa kongruencija(Z6, +6) i (Z7 \ [0],×6) .

1. Napravite Cayleyeve tablice za obje grupe.

2. Ispitajte da li su te grupe izomorfne, te ako jesu pronadite barem jedanizomorfizam medu njima.

6.4 Primjena grupa u kodiranju

U ovom cemo poglavlju objasniti jednu od brojnih mogucih primjena dis-kretne matematike, koju obraduje i ova knjiga, na podrucje informatike.

Jedan od zadataka informatike je komunikacija (prijenos) podataka sjednog mjesta na drugo. Ponekad se taj prijenos izvrsava na malim udalje-nostima, primjerice unutar memorije istog racunala, a drugi puta se infor-macije trebaju prenijeti na svemirsku letjelicu, milijune kilometara udaljenuod Zemlje. Medutim, u svim slucajevima cilj nam je da dobijemo informa-ciju koju smo i poslali, tj. da ona nema pogresaka. Poznato je da je tozbog niza faktora, koji utjecu na informaciju tijekom prijenosa, cesto teskoizvedivo.

Ovdje cemo prikazati kako se pogreska nastala u prijenosu moze detek-tirati i ispraviti. Pri tome cemo koristiti poprilican matematicki aparat.Nabrojimo samo naprednija znanja ovdje potrebna: grupe, metrika (udalje-nost), kongruencija, algebra matrica, rjesavanje homogenog sustava linear-nih jednadzbi, itd.

6.4.1 Teorija kodiranja kao grana matematike

Opcenito, zelimo li tocno interpretirati signal, sluzimo se s barem tri znan-stvena podrucja: elektricnim inzenjerstvom, racunarstvom i matematikom.

U matematici taj problem obraduje teorija kodiranja (eng. coding the-ory). Dakle, teorija kodiranja je grana matematike koja se bavi slanjempodataka kroz komunikacijski kanal, u kojem postoje smetnje koje utjecuna prijenos, te tocnom interpretacijom poslanih podataka. Za razliku odkriptografije koja se trudi zadrzati informaciju u obliku teskom za citanje

Page 276: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

266 6.4. PRIMJENA GRUPA U KODIRANJU

(neautoriziranim subjektima), teorija kodiranja nam pomaze da informacijusto lakse procitamo.

U ovoj smo knjizi vec govorili o kodiranju (Huffmanov kod), a ovdjecemo govoriti o detektiranju i ispravljanju pogresaka.

Pretpostavljamo da se poruka salje u binarnom obliku (nizovi 0 i 1), tese pogreske pri prijenosu javljaju nasumicno, ali u predvidljivom opsegu.Da bi kompenzirali te pogreske saljemo vise bitova od onih pomocu kojih jezapisana originalna poruka.

Najjednostavnija metoda detekcije pogresaka 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 uociti neke pogreske,ali nije ih moguce ispraviti, pa poruku treba slati ponovno.

Jos jedna jednostavna metoda detekcije pogresaka sastoji se u tomeda se svaki bit ponovi odredeni broj puta. Ta metoda, s druge strane,bitno povecava troskove prijenosa poruke, jer se po toj shemi multipli-

Slika 6.2: Richard WesleyHamming

cira broj bitova. U svrhu rjesavanja tog problema,1948. godine je Claude Shannon, koji je radio zaBell Laboratories, udario temelje teorije kodiranja,dokazujuci da je moguce kodirati poruku tako dabroj dodatnih bitova ostane relativno mali. Nje-gov doprinos nije imao prakticnih implikacija, alije zato 1950. godine njegov kolega iz Bell Labo-ratories, Richard Hamming zapoceo proucavanjekodova koji dopustaju ispravljanje pogresaka. Onje pronasao kod u kojem je informacija od 4 bitabila dopunjena s tri dodatna bita, a kod je dozvo-ljavao i detekciju i korekciju pogresaka.Istovremeno kad i spomenuta dva znanstvenika iz

SAD-a, na Cambridgeu je na teoriji kodiranja radio John Leech. On jeizumio slican kod radeci na apstraktnoj teoriji grupa. To je istrazivanjeukljucivalo i problem pakiranja na sferi, te 24-dimenzionalnu Leech mrezu,pomocu koje su objasnjene i klasificirane konacne simetricne grupe.

Vaznost teorije kodiranja ubrzo je uocena te je nasla brojne primjene.Primjerice, u razdoblju od 1969. do 1973. NASA Mariner bespilotne letjeliceistrazivale su Mars, Veneru, Merkur (vise informacija na [13]), a pri prijenosuimpresivnih slika i drugih informacija na Zemlju upotrebljavale su Reed–Mullerov kod. Taj kod moze ispraviti 7 pogresaka u 32 prenesena bita, asastoji se od 26 bitova poruke i samo 6 bitova korektivnog koda. U tom jeprijenosu 16000 bitova u sekundi sigurno stizalo na Zemlju.

Nadalje, teorija kodiranja je svoju primjenu nasla u razvoju tehnologijeCD-ova, na kojima se signal takoder kodira digitalno. Da bi se diskovizastitili od ostecenja kodira se pomocu koda koji ima mogucnost ispravljanjapogresaka.

U posljednjih nekoliko godina pronaden je i eksplicitni kod koji dostize

Page 277: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 267

granice predvidene u Shannonovom radu. Konstrukcija tog koda zahtjevatehnike iz vrlo sirokog podrucja teorijske matematike: od linearne algebre,teorije polja i algebarske geometrije, do algebarskih struktura.

Vise o teoriji kodiranja mozete naci u [9].

6.4.2 Problemi prijenosa informacija

Pretpostavimo da se svi podaci prikazuju kao nizovi nula i jedinica, tj. kaorijeci abecede 0, 1 . Takve rijeci zovemo binarnim rijecima, a njihove di-jelove (nule i jedinice) bitovima. Nadalje, razumljive su sljedece pretpostavkekoje se odnose na nastanak pogreske kod prijenosa podataka. Prvo, pogreskanastaje zato jer se 0 pretvori u 1, ili obrnuto, na jednom ili vise mjesta urijeci. Drugo, jednaka je vjerojatnost da se 0 pretvori u 1, kao i da se 1pretvori u 0, (iako u praksi to cesto nije tako, za teorijska razmatranja uzi-ma se to kao pretpostavka). Pogreska na jednom bitu ne utjece na nastanakpogreske na nekom drugom bitu i jednaka je vjerojatnost nastanka pogreskena bilo kojem bitu. Na kraju, veca je vjerojatnost manjeg broja pogresaka,nego veceg broja pogresaka.

Neka sada prenosimo rijeci iz skupa svih rijeci duljine 4 i da se pri tomerijec 0011 greskom promijenila u 0010. Tu pogresku ne bismo mogli detek-tirati jer i ova deformirana rijec postoji u skupu iz kojeg uzimamo rijeci.Dakle, mozemo uociti samo one pogreske na rijecima kod kojih dobivenapogresna rijec nije iz skupa ocekivanih rijeci. Pretpostavimo sada da rijeciuzimamo iz skupa R = 0000, 0001, 0011, 0101, 0111, 1010, 1101, 1111. Rijec0011 je element skupa R dok 0010 nije, pa znamo da se radi o pogresci,iako ne znamo na kojem je bitu pogreska i da li je pogreska samo na jed-nom bitu. S druge strane, prema pretpostavkama navedenim u prethod-nom odjeljku, znamo da je najvjerojatnije nastala pogreska na jednom bitu,pa je poslana rijec najvjerojatnije 0011 ili 1010, ali ne znamo koja, jer surijeci skupa R previse slicne jedna drugoj. Medutim, promatramo li skupR′ = 0000, 0001, 0011, 0101, 0111, 1101, 1111, gornju pogresku mozemo de-tektirati i ispraviti.

Cilj nam je vidjeti koje uvjete treba zadovoljavati skup rijeci da bi uvijekbilo moguce detektirati i ispraviti pogresku na jednom ili n kodova.

6.4.3 Metrika na kodnim rijecima

Da bi taj cilj postigli prvo moramo uvesti metriku na skupu svih binarnihrijeci. Tu metriku, koja nam omogucuje mjerenje stupnja razlicitosti dvijurijeci, zovemo Hammingovom udaljenoscu, prema Richardu Hammingu kojije sredinom dvadesetog stoljeca utemeljio teoriju detekcije i ispravljanjapogresaka u prijenosu podataka.

Ponovimo da svaka funkcija d : S × S → R+ ∪ 0, koja predstavljametriku (udaljenost) na skupu S, u matematickom smislu treba zadovolja-

Page 278: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

268 6.4. PRIMJENA GRUPA U KODIRANJU

vati sljedece 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) (simetricnost),

4. d (x, z) ≤ d (x, y) + d (y, z) (nejednakost trokuta).

Sljedeca definicija uvodi metriku na skup Rn svih binarnih rijeci duljinen.

Definicija 6.6 Hammingova udaljenost d (x, y) dviju binarnih rijeci x, yjednake 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 pogresaka vazno da rijeciiz skupa rijeci budu dosta ”razmaknute”, tj. da im je udaljenost cim veca.Nadalje, prije slanja podataka, rijecima se dodaje jedan ili vise bitova nakraju rijeci i ti dodatni bitovi sluze korekciji pogresaka. Stoga se oni i zovukontrolni bitovi (eng. check digits). Dakle, ako je informacija sadrzana urijeci duljine m, na nju se dodaje r kontrolnih bitova, pa rijec koja se prenosiima duljinu n = m + r. Sada funkciju E : Rm → Rn sa skupa svih rijeciduljine m u skup svih rijeci duljine n nazivamo kodirajucom funkcijom (eng.encoding function), a rijeci iz Rn zovemo kodnim rijecima (eng. code-word). Jasno je da je funkcija E injekcija. Definiramo i funkciju D : Rn →Rm ∪ pogreske, koju nazivamo dekodirajucom funkcijom (eng. decodingfunction). Kad ne bi bilo pogresaka, funkcije D i E bi bile medusobno in-verzne. Skup kodnih rijeci je pravi podskup skupa svih binarnih rijeci duljinen, pa postoje elementi iz Rn koji ne predstavljaju kodne rijeci. Kod prijemarijeci treba pronaci najblizu rijec i s njom je identificirati. Ovo je dekodi-ranje po principu ”najblizeg susjeda”. Problem je veci ako takav ”najblizisusjed” nije jedinstven.

Ponovimo, proces kodiranja i dekodiranja se sastoji od funkcija E :Rm → Rn i D : Rn → Rm ∪ pogreske, a cesto se zove i (m,n) blokkod. Blok kod je sistematican (eng. systematic block code) ako je za danix ∈ Rm, prvih m bitova jednako bitovima od x (u istom poretku). Ovdjecemo govoriti samo o sistematicnim blok kodovima.

Najcesci oblik kodiranja je kodiranje pomocu kontrolnog koda koji sesastoji od jednog bita i on je ili 0 ili 1, a bira se tako da ukupni broj jedinicau kodnoj rijeci bude paran broj (eng. even parity check code). Dakle,kodni blok je (m,m + 1) . Kod ove vrste kodiranja otkiva se pogreska kojaje nastala u jednom bitu, ali se nece znati koji je bit promijenjen.

Page 279: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 269

Trazimo takvo kodiranje kod kojeg ce se moci otkriti k ili manje od kpogresaka i njega zovemo detektorom k pogresaka (eng. k-error detecting),kodiranje u kojem cemo moci ispraviti k ili manje od k pogresaka. Takvokodiranje zovemo korektorom k pogresaka (eng. k-error correction). Dakle,kodiranje opisano u prethodnom odjeljku, koje se temelji na parnom brojujedinica, je detektor jedne pogreske i korektor 0 pogresaka.

Ranije smo uocili da mogucnost otkrivanja i ispravljanja pogresaka ovisii o udaljenosti medu rijecima. U tu svrhu definiramo minimalnu udaljenostkodova kao minimum svih udaljenosti medu parovima kodova.

Slijede teoremi koji upotrebom pojma minimalne udaljenosti, daju uvje-te da bi kod bio detektor k pogresaka, odnosno korektor k pogresaka.

Minimalna udaljenost koda definira se kao minimum udaljenosti izmeduparova kodnih rijeci.

Teorem 6.9 Kod je detektor k pogresaka ako i samo ako mu je minimalnaudaljenost koda najmanje k + 1.

Dokaz. Znamo da se pogreska u kodnoj rijeci moze uociti samo ako zbogpogreske nismo dobili neku drugu kodnu rijec. Dakle, ako je promijenjeno kbitova, ne smije postojati kodna rijec koja se od poslane razlikuje u k bitova.Drugim rijecima, to znaci da minimalna udaljenost rijeci treba biti veca odk.

Teorem 6.10 Kod je korektor k pogresaka ako i samo ako mu je minimalnaudaljenost najmanje 2k + 1.

Dokaz. Dokaz se provodi upotrebom svojstava metrike. Ovdje cemodokazati samo jedan smjer teorema, a drugi ostavljamo za vjezbu.

Pretpostavimo da je kod korektor k pogresaka, te zelimo dokazati da jetada minimalna udaljenost svakog para kodnih rijeci najmanje 2k + 1.

Dokaz provodimo metodom suprotnog. Pretpostavimo da postoji parkodnih rijeci x, y cija je udaljenost manja od 2k + 1. Pisemo 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 rijeci x napravljeno k pogresaka i da jeprimljena rijec x′, pa vrijedi d (x, x′) = k. Ako je svaka pogresaka nastalabas u znamenkama u kojima se x i y razlikuju, vrijedi da je d (x′, y) ≤ k, paje x′ jednako udaljen od x i y, te ne moze biti dekodiran.

6.4.4 Grupa koda

Sada cemo formirati grupu na skupu svih kodnih rijeci. Da bi to mogliuciniti definirajmo, prvo, operaciju zbrajanja kodnih rijeci na skupu Rn svihkodnih rijeci od n bitova. Dogovorno cemo kodne rijeci ponekad zapisivati

Page 280: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

270 6.4. PRIMJENA GRUPA U KODIRANJU

kao uredene n-torke kako bismo jasno razdvojili pojedine bitove. Kad nemaopasnosti da se pomijesaju bitovi, kodne rijeci cemo i dalje prikazivati kaonizove (bez zareza izmedu bitova).

Definicija 6.7 Neka su x, y ∈ Rn i x = (x1, x2, ..., xn) , y = (y1, y2, ..., yn) .Zbroj kodnih rijeci x i y je kodna rijec x⊕ y ∈ Rn, definirana sa

x⊕ y = (x1 +2 y1, x2 +2 y2, ..., xn +2 y2) .

Dakle, kodne se rijeci zbrajaju tako da se zbroje komponente kodnihrijeci pomocu zbrajanja modulo 2. Zbrajanje modulo 2 nam osigurava dace bitovi biti 0 ili 1.

Primjer 6.6 Zbrojimo kodne rijeci:

10011011⊕ 10001110 = 00010101.

Zadatak 6.17 Zbrojite sljedece kodne rijeci:

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 bitovikoji se zbrajaju jednaki. Ovo svojstvo nam omogucava identifikaciju ra-zlicitih bitova u kodnim rijecima. Zbrojimo li jedinice u kodnoj rijeci, kojapredstavlja zbroj dviju kodnih rijeci, dobit cemo udaljenost tih kodnih rijeci.

Definicija 6.8 Tezina rijeci (eng. weight) x je broj w (x) , koji kazujekoliko jedinica ima u toj rijeci, tj. za x = (x1, x2, ..., xn) tezina je

w (x) =n∑

i=1

xi.

Propozicija 6.5 Udaljenost rijeci x, y ∈ Rn je dana s:

d (x, y) = x⊕ y. (6.2)

Kod za koji je skup kodnih rijeci grupa s obzirom na zbrajanje kodnihrijeci zovemo grupa kodova (eng. group code). Nadalje, kod koji je zatvorens obzirom na operaciju ⊕ zovemo linearni kod (vidi [1], str. 341). Ekviva-lentno, kod je linearan ako i samo ako predstavlja podgrupu od Rn. Dakle,termini grupa kodova i linearni kod su sinonimi jer se radi o konacnim gru-pama. Prema Lagrangeovom teoremu, iz cinjenice da kodne rijeci cine grupuC, koja je podgrupa od Rn, slijedi da je red C grupe C djelitelj od 2n.

Page 281: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 271

Zadatak 6.18 Dokazite da je (Rn,⊕) grupa.

Ako ste rijesili prethodnu vjezbu znate da je (Rn,⊕) grupa. Medutim,znamo da su u tom skupu rijeci vrlo slicne, pa nema smisla koristiti tajskup kod identifikacije i ispravljanja pogresaka. Potrebno je da minimalnaudaljenost kodnih rijeci bude veca od 1. Prisjetimo se da bi u svrhu nalazenjaminimalne udaljenosti unutar skupa trebalo izracunati udaljenosti svih pa-rova kodnih rijeci, sto je u slucaju skupa s vecim brojem elemenata dugproces.

U svrhu skracivanja tog postupka, uvedimo racunanje udaljenosti pomo-cu zbrajanja kodnih rijeci kao sto je dano u formuli 6.2. Nadalje, ukoliko jeskup kodova grupa, tada se minimalna udaljenost moze dobiti kao minimalnatezina svih kodnih rijeci, koje se ne sastoje od samih nula. Kodnu rijec kojase sastoji od samih nula oznacavamo s 0. To je sadrzaj sljedeceg teorema.

Teorem 6.11 Minimalna udaljenost kodnih rijeci u grupi kodova je jednakaminimalnoj tezini svih kodnih rijeci, koje se ne sastoje od samih nula.

Dokaz. Neka je m minimalna udaljenost kodnih rijeci u skupu S. Toznaci da postoje dvije kodne rijeci 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 minimalnatezina rijeci, koje se ne sastoje od samih nula, u grupi, tada vrijedi:

w (x⊕ y) ≥ n.

Dakle m ≥ n.

S druge strane, uocimo da je 0 neutralni element u grupi, te da za svakix ∈ 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 rijec minimalne tezine, tj. w (z) = n. Sadaimamo n = d (z,0) ≥ m.

Dokazali samo da je i n ≥ m, tako da mozemo zakljuciti da je m = n.

Zadatak 6.19 Neka je C grupa kodova. Pokazite da je podskup od C ukojem su sve kodne rijeci parne tezine, grupa kodova. Nadalje, dokazite daili sve kodne rijeci u C imaju parne tezine ili njih tocno polovica ima parnetezine.

Page 282: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

272 6.4. PRIMJENA GRUPA U KODIRANJU

6.4.5 Matrica izvodnica kodirajuce funkcije

Uvedimo sada reprezentaciju kodirajuce funkcije E : Rm → Rn pomocumatrice G tipa (m,n) , ciji su elementi nule i jedinice. Takvu matricu zovemomatrica izvodnica (eng. generator matrix) za kod. Da bi kodirali rijec odm bitova, rijec predstavimo kao uredenu m-torku (jednorecanu matricu) imnozimo je modulo 2 matricom izvodnicom. Naglasimo da su sve operacijezbrajanja i mnozenja, zbrajanje i mnozenje modulo 2.

Za sistematicne kodove vrijedi da je prvih m bitova u kodnoj rijeci jed-nako rijeci koju smo kodirali, pa prvih m redaka i m stupaca matrice G cinijedinicnu matricu m-tog reda.

Primjer 6.7 Neka je matrica izvodnica dana s:

G =

1 0 0 0 1 0 1 00 1 0 0 0 1 1 00 0 1 0 1 1 0 10 0 0 1 0 0 0 1

.

Ona prikazuje kodirajucu funkciju E : R4 → R8. Dakle, rijeci 1000pridruzena je kodna rijec 10001010. Pitamo se, koja je kodna rijec E (1101)pridruzena rijeci 1101? Odgovor bismo dobili tako da pomnozimo jed-norecanu matricu

[1 1 0 1

]matricom G kao sto slijedi

E (1101) =[

1 1 0 1]

1 0 0 0 1 0 1 00 1 0 0 0 1 1 00 0 1 0 1 1 0 10 0 0 1 0 0 0 1

E (1101) =[

1 1 0 1 1 1 0 1].

Uzmimo sada da kodiramo neku opcenitu rijec x = x1x2x3x4 i pri tomedobijemo kodnu rijec u = u1u2...u8. Imamo

E (1101) =[

x1 x2 x3 x4

]

1 0 0 0 1 0 1 00 1 0 0 0 1 1 00 0 1 0 1 1 0 10 0 0 1 0 0 0 1

E (1101) =[

x1 x2 x3 x4 x1 +2 x3 x2 +2 x3 x1 +2 x2 x3 +2 x4

].

Sada je

u1 = x1 u2 = x2 u3 = x3 u4 = x4

u5 = x1 +2 x3 u6 = x2 +2 x3 u7 = x1 +2 x2 u8 = x3 +2 x4 ,

Page 283: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 273

sto, uz uvazavanje da je 0 +2 0 = 0 i 1 +2 1 = 0, vodi do homogenog sustavalinearnih jednadzbi

u1 +2u3 +u5 = 0u2 +2u3 +u6 = 0

u1 +2u2 +2u7 = 0u3 +2u4 +2u8 = 0.

Matrica tog homogenog sustava je

K =

1 0 1 0 1 0 0 00 1 1 0 0 1 0 01 1 0 0 0 0 1 00 0 1 1 0 0 0 1

i nju zovemo kontrolnom matricom (eng. parity check matrix), buduci daza svaku pravilno prenesenu kodnu rijec u mora vrijediti

KuT = O, (6.3)

gdje je O nul matrica tipa (4, 1) .Ispitajmo jos u kakvoj su medusobnoj ovisnosti matrice G i K. Uocimo

da se G moze prikazati pomocu particije G = [ImA] , te da je tada pripadnakontrolna matrica K =

[AT Im

].

To je bit sljedeceg teorema.

Teorem 6.12 Neka je kodirajuca funkcija E : Rm → Rn prikazana pomocumatrice izvodnice G tipa (m,n) i matrica izvodnica je takva da je G = [ImA] .Tada vrijedi:

1. E (x) = xG,∀x ∈ Rm,

2. KuT = O, ∀u ∈ Rn, gdje je K =[AT Im

].

Dokaz. Dokazimo sada da formula 6.3 vrijedi opcenito za bilo kojukodnu rijec u.

Za u ∈ Rn uvijek postoji rijec x ∈ Rm takva da je u = xG. Sada je

KuT = K (xG)T = (sv. transp. produkta matrica (AB)T = BT AT )= K

(GT xT

)= (asocijativnost mnozenja matrica) A (BC) = (AB)

=(KGT

)xT = (uzimamo particije od K i G)

=[AT Im

] [Im

A

]xT = (mnozenje blokova u matricama)

=[AT +2 A

]xT = O(n−m,m)x

T = O(n−m,1).

Page 284: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

274 6.4. PRIMJENA GRUPA U KODIRANJU

Zadatak 6.20 Pokazite da, u uvjetima prethodnog dokaza, vrijedi AT +2

A = O(n−m,m).

Zadatak 6.21 Neka je matrica izvodnica dana s

G =

1 0 0 0 1 0 10 1 0 0 0 1 10 0 1 1 1 0 0

.

Ona prikazuje kodirajucu funkciju E : R3 → R7.

1. Nadite E (101) .

2. Nadite kontrolnu matricu K.

3. Provjerite da li je kodna rijec 1011101 dobro prenesena?

Teorem 6.13 Neka je E : Rm → Rn kodirajuca funkcija takva da jeE (x) = xG, gdje je G matrica izvodnica. Skup svih kodnih rijeci E (Rm) jegrupa uz operaciju zbrajanja modulo 2.

Dokaz. Buduci je (Rm,⊕) grupa, prema teoremu 6.8 dovoljno je poka-zati da je E morfizam, tj. da za sve x, y ∈ Rm vrijedi

E (x⊕ y) = E (x)⊕ E (y) .

Racunamo:

E (x⊕ y) = (x⊕ y) G = xG⊕ yG

= E (x)⊕ E (y) .

Na kraju ove tocke pokazat cemo u kakvoj su vezi minimalna tezinakodnih rijeci u grupi kodova i kontrolne matrice.

Uzmimo da je K kontrolna matrica tipa (r, n) , gdje je r = n − m, teda su stupci matrice K oznaceni s K1,K2, ..., Kn. Pretpostavimo da je uk stupaca zbroj elemenata u pripadnim recima jednak nuli, te oznacimote stupce sa Ki1 , Ki2 , ...,Kik . Rijec u, koja ima m bitova i jedinice na mjes-tima i1, i2, ..., ik, a na ostalim mjestima nule zadovoljava matricnu jednadzbuKuT = O i ona je kodna rijec. Vrijedi i obrat, tj. ako kodna rijec ima je-dinice na mjestima i1, i2, ..., ik, a na ostalim mjestima nule, tada stupci podbrojevima i1, i2, ..., ik imaju zbroj jednak nuli.

Dakle, zakljucujemo da je minimalna tezina koda definiranog pomocumatrice izvodnice G, jednaka minimalnom broju stupaca od K cija je sumajednaka nuli. Buduci da je kod definiran pomocu matrice izvodnice grupaznaci da je minimalna tezina koda jednaka minimalnoj udaljenosti kodnihrijeci, pa je vazna kod pronalazenja i ispravljanja pogresaka kod kodova.

Postoji jedinstveni teorem koji govori o uvjetima koje mora zadovoljavatimatrica K da bi kod ispravljao barem jednu pogresku.

Page 285: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 275

Teorem 6.14 Ako ne postoji stupac od K koji se sastoji od samih nula inijedna dva stupca nisu jednaka, onda kod definiran s K ispravlja baremjednu pogresku.

Dokaz. Dokaz napravite sami za vjezbu.

Primjer 6.8 Vratimo se primjeru 6.7 u kojem je kodirajuca funkcija E :R4 → R8 dana pomocu matrice izvodnice G. Kontrolna matrica je

K =

1 0 1 0 1 0 0 00 1 1 0 0 1 0 01 1 0 0 0 0 1 00 0 1 1 0 0 0 1

.

Nadimo minimalnu tezinu koda u ovom primjeru.Buduci da nema stupaca u kojima su same nule, kao ni jednakih stupaca,

minimalna tezina je barem 3. Ispitajmo da li je moguce zbrojiti modulo 2bilo koja tri stupca tako da im suma bude jednoretcana nulmatrica. Toje moguce postici, na primjer, zbrajanjem prvog, petog i sedmog stupca.Zakljucujemo da je minimalna tezina u grupi kodova jednaka 3, pa je i mini-malna udaljenost jednaka 3. Znaci da je opcenito moguce pronaci pogreskuu dva bita i ispraviti je u jednom bitu.

Zadatak 6.22 Neka je matrica izvodnica dana s

G =

1 0 0 1 1 00 1 0 1 0 10 0 1 0 1 1

.

Ona prikazuje kodirajucu funkciju E : R3 → R6.

1. Nadite E (011) .

2. Nadite kontrolnu matricu K.

3. Provjerite da li je kodna rijec 101011 dobro prenesena?

4. Nadite minimalnu tezinu ove grupe kodova.

6.5 Prsteni i polja

Na danom skupu moguce je definirati vise razlicitih operacija. Pri tomete operacije mogu, ali i ne moraju imati strukturu grupe. Tako se naskupu realnih brojeva moze osim operacije zbrajanja, definirati i operacijamnozenja realnih brojeva. Izbacimo li nulu iz skupa realnih brojeva i ope-racija mnozenja ima svojstva grupe. S druge strane definiramo li mnozenje

Page 286: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

276 6.5. PRSTENI I POLJA

na skupu cijelih brojeva, tada (Z\ 0 , ·) nije grupa, jer ne postoji in-verzni element za mnozenje u skupu cijelih brojeva. Inverzni element cijelogbroja n bio bi 1

n , a to opcenito nije cijeli broj. Medutim (Z, ·) ima svoj-stvo zatvorenosti, asocijativnosti, a postoji i jedinica (neutralni element zamnozenje). Takvu strukturu opcenito zovemo prsten.

6.5.1 Prsten

U ovoj tocki cemo navesti formalnu definiciju prstena, a u sljedecoj najpoz-natije primjere prstena. Jos jedan vazniji primjer prstena (prsten polinoma)obradit cemo u posebnoj tocki na kraju ovog poglavlja.

Definicija 6.9 Neka je S neprazan skup na kojem su definirane dvije bina-rne operacije i ×, koje zadovoljavaju sljedeca 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 × jos i ko-mutativna govorimo o komutativnom prstenu.

Cesto se umjesto a × b pise ab, ali treba imati na umu da to mozeoznacavati bilo kakvu operaciju na bilo kojem skupu. Nadalje, neutralnielement za operaciju cemo oznacavati sa 0, a neutralni element od × s 1.

6.5.2 Primjeri prstena

1. Struktura (Z, +, ·) je prsten cijelih brojeva uz operacije standardnogzbrajanja i mnozenja.

2. Skup kvadratnih matrica drugog reda, ciji su elementi cijeli brojeviuz operacije zbrajanja matrica i mnozenja matrica je prsten. Primi-jetite da operacija mnozenja matrica nije komutativna, pa ovo nijekomutativni prsten.

3. Neka je Zm skup razlicitih klasa ekvivalencije s obzirom na relacijukongruencije modulo m na Z. Prisjetimo se da su elementi od Zm pod-skupovi od Z. Na Zm su definirane operacije zbrajanja ⊕ i mnozenja⊗ na sljedeci nacin:

[x]m ⊕ [y]m = [x + y]m , [x]m ⊗ [y]m = [xy]m .

Page 287: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 277

Pokazuje se da je (Zm,⊕,⊗) prsten.

Zadatak 6.23 Provjerite da gornje operacije imaju trazena svojstva.

U prstenu P pojedini elementi mogu imati multiplikativni inverz tj. in-verz s obzirom na operaciju ×. Ako element x ima inverz y tada vrijedixy = 1 i yx = 1. Uobicajena je oznaka x−1 za inverz od x. Znamo da ukolikoinverz postoji on je jedinstven.

Zadatak 6.24 Nadite sve cijele brojeve koji imaju multiplikativni inverz sobzirom na standardnu operaciju mnozenja.

Primjer 6.9 Nadite sve kvadratne matrice drugog reda, ciji su elementicijeli brojevi, koje imaju multiplikative inverze.

Neka je A =[

a bc d

]kvadratna matrica i a, b, c, d ∈ Z. Inverz A−1 od

A dobijemo kao rjesenje matricnih jednadzbi AA−1 = A−1A = I, gdje je Ijedinicna matrica. Iz linearne algebre znamo da je

A−1 =1

ad− bc

[d −b−c a

]

i A−1 postoji ako je ad−bc 6= 0. Nadalje, ovdje treba biti aad−bc ,

bad−bc ,

cad−bc ,

dad−bc ∈ Z. Sljedeca su rjesenja moguca: a = d = ±1 i b = c = 0, b = c = ±1i a = d = 0. Dakle, sljedece matrice imaju multiplikativne inverze:

A1 =[

1 00 1

], A2 =

[1 00 −1

], A3 =

[ −1 00 1

], A4 =

[ −1 00 −1

]

B1 =[

0 11 0

], B2 =

[0 1−1 0

], B3 =

[0 −11 0

], B4 =

[0 −1−1 0

].

Zadatak 6.25 Popunite tablicu mnozenja za matrice iz prethodnog prim-jera.

· A1 A2 A3 A4 B1 B2 B3 B4

A1

A2

A3

A4

B1

B2

B3

B4

Tablica 6.2

Page 288: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

278 6.5. PRSTENI I POLJA

Primijetite da matrice iz prethodnog zadatka cine grupu. Ovakav za-kljucak vrijedi i opcenito.

Teorem 6.15 Skup svih multiplikativnih invertibilnih elemenata prstena Pcini grupu s obzirom na mnozenje u P.

Dokaz. Neka su x, y ∈ P , te x−1 i y−1 njihovi multiplikativni elementi.Znamo da je mnozenje zatvoreno u prstenu, te da vrijedi asocijativnost i dapostoji jedinica 1. Treba provjeriti da je operacija zatvorena na skupu svihinvertibilnih elemenata prstena. Vrijedi (xy)

(y−1x−1

)= x

(yy−1

)x−1 =

xx−1 = 1, pa je y−1x−1 inverz od xy.

Zadatak 6.26 Pokazite da je skup svih kvadratnih matrica reda n uz ope-racije zbrajanja i mnozenja matrica nekomutativni prsten.

6.5.3 Polje

Ako umjesto skupa cijelih brojeva promatramo skup realnih brojeva i nanjemu opet operacije standardnog zbrajanja i mnozenja uocavamo da svakirealni broj, osim 0, ima multiplikativni inverz. Dakle, (R\0, ·) je grupa ito komutativna. Sada strukturu (R, +, ·) zovemo polje realnih brojeva. Poljerealnih brojeva najpoznatiji je primjer polja. Definirajmo polje u opcenitomslucaju.

Dakle, polje je skup opremljen s dvije operacije, koje imaju odredenaalgebarska svojstva, kao sto je specificirano u sljedecoj definiciji.

Definicija 6.10 Neka je S neprazan skup na kojem su definirane dvije bi-narne operacije i ×, koje zadovoljavaju sljedeca 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 sljedecasvojstva:

(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.

Page 289: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 mnozenja. Buduci da u Z brojevi nemaju multiplika-tivne inverzne (u stvari, nijedan broj osim broja 1 nema multiplikativniinverz u Z), (Z, +, ·) nije polje.

Dogovorno se, zbog jednostavnijeg zapisa, cesto puta prva operacija (izaditivne grupe) oznacava sa +, a druga (iz multiplikativne grupe) sa ·.

Zadatak 6.27 Dokazite da su sljedeca dva svojstva posljedica aksioma 2.a.,o postojanju multiplikativnog inverza:

1. Ako je a 6= 0 i a · b = a · c, onda je b = c. (skracivanje)

2. Ako je a · b = 0, onda je a = 0 ili b = 0. (nema djeljitelja nule)

Pokazite da prethodna svojstva vrijede u (Z, +, ·) .

Pokazite da su prethodna svojstva medusobno ekvivalentna.

Ukoliko za neku algebarsku strukturu (S, ,×) vrijede svi aksiomi izdefinicije polja, osim aksioma 2.a., ali umjesto njega vrijede aksiomi izprethodnog zadatka, tada tu strukturu zovemo integralnom domenom. Imedolazi od cinjenice da je skup cijelih (integers!) brojeva (Z, +, ·) najpoznatijiprimjer integralne domene.

Zadatak 6.28 Da li je skup svih kvadratnih regularnih matrica reda n uzoperacije zbrajanja i mnozenja matrica polje?

6.5.4 Primjeri polja

U ovoj cemo tocki nabrojiti neke primjere polja, a naglasak cemo stavitina polja koja se upotrebljavaju u informatici. Od citatelja se ocekuje daispita da nabrojeni primjeri zadovoljavaju trazene aksiome. Opcenito, uinformatici su od posebnog interesa tzv. konacna polja, tj. polja koja sadrzesamo konacan broj elementa.

1. Trivijalni primjer konacnog polja je skup 0, 1, uz zbrajanje i mno-zenje.

2. U diskretnoj matematici je posebno vazno polje (Zp,⊕,⊗) , gdje jep prim broj, Zp = 0, 1, 2, ..., p − 1, ⊕,⊗ su operacije zbrajanja imnozenja modulo p . Da ne bi doslo do zabune o tome koliki je pkoriste se sljedece oznake za zbrajanje i mnozenje: +p, ·p.U svjetlu ovog primjera je prvi primjer specijalni slucaj modularnearitmetike za p = 2, odnosno radi se o Z2.

Page 290: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

280 6.5. PRSTENI I POLJA

Ukoliko p nije prim broj, Zp nije polje. U slucaju kad p nije prim brojnije ispunjen aksiom 2.a. iz definicije polja.

Detalji se mogu procitati u poglavlju o kongruencijama.

U slucaju kada m nije prost broj, (Zm,⊕,⊗) komutativni prsten, aline i integralna domena.

3. Neka je S2 (Z3) skup kososimetricnih kvadratnih matrica drugog reda.

Matrice su oblika[

a b−b a

], gdje su a, b ∈ Z. Uz standardno zbra-

janje i mnozenje matrica S2 (Z3) je polje.

4. Polinom n-tog stupnja je funkcija oblika:

f (x) = anxn + an−1xn−1 + ... + a2x

2 + a1x + a0, (6.4)

gdje su a0, a1, a2, ..., an−1, an ∈ R, n ∈ N, an 6= 0. Oznacimo skupsvih polinoma s koeficijentima u R sa R [x] . Na skupu svih polinomazadane su operacije zbrajanja i mnozenja polinoma. Uz te operacijeskup svih polinoma je prsten s komutativnim mnozenjem.

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 prikazujukao suma realnog i imaginarnog dijela, kvaternioni se mogu zapisatikao linearna kombinacija

a = a1 + a2i + a3j + c4k,

gdje su a1, a2, a3, a4 realni brojevi, te

i2 = j2 = k2 = ijk = −1.

Vise o kvaternionima mozete procitati u [11].

Kvaternioni se mogu zapisati u obliku uredenih cetvorki, pa se njihovasuma, odnosno mnozenje skalarom, definira kao standardna suma,odnosno mnozenje skalarom n-torki.

Zadatak 6.29 Neka je m cijeli broj, veci od 1. Pokazite da su sljedecetvrdnje ekvivalentne:

1. m je prim broj.

2. Zm je integralna domena.

3. Zm je polje.

Page 291: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 mnozenjavektora skalarom. Pri tome pod pojmom vektora ne podrazumijevamo samogeometrijske vektore, nego sve one matematicke objekte koji zadovoljavajuaksiome vektorskog prostora.

Detaljni opis vektorskih, odnosno linearnih prostora mozete naci u [7].Ovdje donosimo samo osnovne pojmove i primjere radi cjelovitosti u opisualgebarskih struktura.

Najpoznatiji primjer prijelaza od polja na vektorski prostor nad poljemje prijelaz od realnog pravca na trodimenzionalni vektorski prostor.

Ako je F polje i n prirodni broj, tada mozemo promatrati algebarskustrukturu Fn ciji su elementi n-torke elemenata iz F , tj.

Fn = (a1, a2, ..., an) : ai ∈ F ,

i na njima dvije operacije: zbrajanje n-torki i mnozenje n-torki skalarom(elementom polja F ).

Zbrajanje n-torki definiramo s:

(a1, a2, ..., an)⊕ (b1, b2, ..., bn) = (a1 + b1, a2 + b2, ..., an + bn) ,

a mnozenje skalarom α s:

α¯ (a1, a2, ..., an) = (α · a1, α · a2, ..., α · an) .

Sada je Fn uz gornje operacije vektorski ili linearni prostor.Napisimo sada opcenitu definiciju vektorskog prostora.

Definicija 6.11 Vektorski prostor (linearni prostor) V nad poljem F jesvaka cetvorka (V, F,⊕,¯) takva da vrijede sljedeci uvjeti:

1. Skup V = x, y, z, ... , cije elemente zovemo vektori, a V je nosilacvektorskog prostora V,

2. Skup F = α, β, γ, ..., cije elemente zovemo skalari, a F je polje sobzirom na operacije + i ·,

3. Operacija ⊕ : V × V → V zbrajanje vektora,

4. Operacija ¯ : F × V → V mnozenje vektora skalarom.

Pri tome trebaju biti zadovoljeni sljedeci aksiomi vektorskog prostora:V1: Skup V je komutativna grupa s obzirom na zbrajanje vektora.V2: Za sve skalare α,β i vektore vrijedi x, y:

Page 292: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 vektorskogprostora. Primjer je vektorski prostor rjesenja homogenog sustava.

Primjer 6.10 Promotrimo homogeni sustav:

2x− 3y + z − t = 0−x + y − 5z + 2t = 0

3x− 5y − 3z = 02x− 10t + 28z = 0

Buduci da je determinanta sustava jednaka nuli, prema poznatom Rou-cheovom teoremu iz linearne algebre znamo da ovaj sustav ima i netrivijalnarjesenja (rjesenja razlicita od (0, 0, 0, 0)). Dakle, sustav ima beskonacnomnogo rjesenja. Rjesavanjem sustava, primjerice Gaussovim postupkomeliminacije, dobivamo da su rjesenja oblika (5a + b, 3a, b, a + 3b) , gdje sua, b ∈ R. Skup svih rjesenja mozemo promatrati kao uredene cetvorke ele-menata danog oblika. Takve se uredene cetvorke zbrajaju na standardninacin, po komponentama, te mnoze skalarom tako da se svaka komponentapomnozi skalarom. Pokazuje se da rjesenja cine vektorski prostor. Buduci daopcenito n-torke uz nabrojene operacije cine vektorski prostor, treba samoprovjeriti zatvorenost operacije zbrajanja, odnosno mnozenja skalarom.

Neka su (5a1 + b1, 3a1, b1, a1 + 3b1) i (5a2 + b2, 3a2, b2, a2 + 3b2) dvije ce-tvorke rjesenja. Zbrajanjem dobivamo cetvorku

(5 (a1 + a2) + b1 + b2, 3 (a1 + a2) , b1 + b2, a1 + a2 + 3 (b1 + b2)

),

pa stavimo li a = a1 + a2, b = b1 + b2 dobivamo oblik rjesenja zadanogsustava. Za vjezbu provjerite da mnozenjem cetvorke rjesenja skalarom,opet dobijemo rjesenje zadanog homogenog sustava!

Zadatak 6.30 Dokazite da je operacija zbrajanja n-torki rjesenja homoge-nog sustava linearnih jednadzbi i opcenito zatvorena operacija nad skupomsvih rjesenja.

Najcesci primjeri polja nad kojima se definira vektorski prostor su poljerealnih brojeva R i polje kompleksnih brojeva C.

Radi jednostavnosti obicno pisemo x + y umjesto x ⊕ y, te αx umjestoα¯ x.

Page 293: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 brojevaje vektorski prostor.

2. Skup svih usmjernih duzina ravnine i prostora uz operacije zbrajanjavektora i mnozenja vektora skalarom je vektorski prostor. Ovaj vek-torski prostor ”pravih vektora” ujedno je bio motivacija za uvodenjeapstraktnog pojma vektorskog prostora.

3. Skup svih polinoma s realnim ili kompleksnim koeficijentima je vek-torski prostor. Vise podataka o tom primjeru naci cete u sljedecojtocki ove knjige.

4. Skup svih n-torki elemenata polja F je vektorski prostor nad F uzsljedece operacije.

Zbrajanje n-torki:

(x1, x2, ...xn)⊕ (y1, y2, ...yn) = (x1 + y1, x2 + y2, ...xn + yn) .

Mnozenje n-torki skalarom:

α¯ (x1, x2, ...xn) = (αx1, αx2, ...αxn) .

Provjerite da vrijede aksiomi vektorskog prostora.

5. Specijalno, Rn skup svih n-torki realnih brojeva uz standardne opera-cije zbrajanja n-torki, odnosno mnozenja skalarom, je vektorski pros-tor, kojeg zovemo realni n-dimenzionalni koordinatni prostor. Dokazpotrazite u [7].

6. Skup Mnm matrica tipa (n, m) je vektorski prostor uz operacije zbra-janja matrica i mnozenja matrica skalarom.

7. Skup svih polinoma u jednoj varijabli uz operacije zbrajanja polinomai mnozenja 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 tomeje zbrajanje funkcija dano koordinatno tj. (f + g)(x) = f(x) + g(x),za sve f : X → V, g : X → V, kao i mnozenje skalarom, tj. (αf)(x) =αf(x), za sve f : X → V, α ∈ F. Operacije na desnoj strani jednakostisu operacije u V. Neutralni element je konstantna funkcija, koja sveelemente salje u nulvektor iz V .

Page 294: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

284 6.8. ALGEBARSKE STRUKTURE POLINOMA

6.8 Algebarske strukture polinoma

Polinomi predstavljaju vrlo vaznu klasu funkcija. Mozemo ih promatrati kaofunkcije realne, ali i kompleksne varijable. Klasicni primjeri algoritama suHornerov i Euklidov algoritam, a oni se odnose na polinome. Spomenuli smoranije da se i u tzv. fundamentalnom teoremu algebre govori o egzistencijikompleksnih nultocaka polinoma. Danas se cesto spominje cinjenica da jenaziv tog teorema pretenciozan, ali neosporna je njegova vaznost u razvojualgebre.

Nadalje, polinomi su dobro opremljeni algebarskim operacijama, tako daih mozemo promatrati u kontekstu razlicitih algebarskih strukura. Ovdjenavodimo prsten polinoma i vektorski prostor polinoma.

6.8.1 Prsten polinoma

Polinom n-tog stupnja je funkcija oblika

f (x) = a0xn + a1x

n−1 + ... + an−1x + a0, a0 6= 0. (6.5)

Ako su svi koeficijenti ai, i = 1, 2, ...n realni brojevi i x uzimamo iz skuparealnih brojeva, govorimo o polinomima realne varijable s realnim koefici-jentima ili kratko polinomima nad R. Skup svih polinoma jedne varijablef : R→ R nad poljem realnih brojeva oznacavamo sa R [x] . Medutim, ako sukoeficijenti i varijable iz skupa kompleksnih brojeva, govorimo o polinomimakompleksne varijable s kompleksnim koeficijentima, odnosno o polinomimanad C. Skup svih polinoma f : C → C nad poljem kompleksnih brojevaoznacavamo s C [x].

U oba skupa moguce je definirati zbrajanje i mnozenje polinoma na nacinkako definiramo zbrajanje i mnozenje funkcija. Dakle, ako su f i g polinomidefiniramo zbrajanje formulom

(f + g) (x) = f (x) + g (x) .

Slijedi da se suma polinoma dobije zbrajanjem koeficijenata uz mono-me jednakog stupnja. To drugim rijecima znaci da stupanj sume ne prelazistupnjeve polinoma koje zbrajamo.

Polinome mnozimo po formuli

(fg) (x) = f (x) g (x) ,

pa za stupanj umnoska vrijedi st (fg) = st (f) + st (g) .

Zadatak 6.31 Provjerite da vrijede sljedece tvrdnje:

1. (R [x] , +) i (C [x] ,+) su komutativne grupe.

Page 295: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 285

2. Mnozenje polinoma je zatvorena operacija nad poljem R (odnosno C),vrijedi asocijativnost i komutativnost. Postoji jedinica za mnozenjepolinoma. Multiplikativni inverz postoji samo za polinome stupnjanula.

3. Vrijede obje distributivnosti mnozenja prema zbrajanju i zbrajanjaprema mnozenju.

Teorem 6.16 Skup polinoma R [x] , odnosno C [x] je komutativni prstenpolinoma s jedinicom.

Primijetite da se polinom 6.5 jedne varijable, moze zapisati u oblikuuredene n-torke

(a0, a1, ..., an−1, an) , a0 6= 0,

a i operacije na polinomima mogu se prevesti na jezik n-torki.Polinome mozemo definirati i nad nekim drugim poljem F , te takoder

doci do strukture komutativnog prstena. Evo jednog primjera:

Primjer 6.11 Izracunajmo zbroj i umnozak polinoma

x2 + 4x + 5 i 4x2 + x + 3,

definiranih nad poljem Z7.

Racunamo:(x2 + 4x + 5

)+

(4x2 + x + 3

)= 5x2 + 5x + 1(

x2 + 4x + 5) (

4x2 + x + 3)

= 4x4 + 3x3 + 6x2 + 3x + 1.

Na kraju, spomenimo jos jednu upotrebu polinoma. Za kod C kazemoda je ciklicki ako je on linearan i ako vrijedi:

a0a1 . . . an−1 ∈ C ⇒ an−1a0a1 . . . an−2 ∈ C.

Osnova algebarske manipulacije ciklickih kodova je korespondencija iz-medu kljucnih rijeci a0a1 . . . an−1 iz Rn i polinoma a(x) = a0 + a1x + . . . +an−1x

n−1 i Z[x].Vise o ciklickim kodovima i njihovu znacenju, kao i povezanosti s poli-

nomima, mozete procitati u [1].

6.8.2 Vektorski prostor polinoma

Promatramo skup svih polinoma u jednoj varijabli, iz polja C, odnosno R.U prethodnoj tocki smo definirali operaciju zbrajanja polinoma i utvrdilida polinomi zajedno s operacijom zbrajanja polinoma tvore komutativnugrupu (aditivna grupa polinoma). Nadalje, definiramo operaciju mnozenjapolinoma skalarom, tj. elementima iz polja C, odnosno R. Pri tome,

Page 296: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

286 6.9. ZADACI

rezultirajuci polinom dobijemo tako da svaki koefcijent zadanog polinomapomnozimo danim skalarom.

Skup Pn svih polinoma stupnja manjeg ili jednakog n, s realnim ili kom-pleksnim koeficijentima, je vektorski prostor, koji zovemo vektorski prostorpolinoma.

Vise o toj temi mozete naci u [7].Primijetimo da skup svih polinoma stupnja n, nema strukturu vek-

torskog prostora, jer suma dva polinoma n-tog stupnja moze biti manjegstupnja od n. Na primjer,

(2x3 − x + 1

)+

(−2x3 + 3x2 + 2x− 2)

= 3x2 + x− 1.

Polinome mozemo definirati i nad nekim drugim poljem F , a ne samonad poljem realnih, odnosno kompleksnih brojeva i ponoviti konstrukcijuvektorskog prostora polinoma nad poljem F .

Dakle, o polinomima mozemo govoriti na mnogo razlicitih nacina. Poli-nomi se obicno uvode kao funkcije (jedne ili vise varijabli), da bi se u napred-nijim stupnjevima o njima govorilo kao o vektorskim prostorima i prstenima.Vidjeli smo takoder da ih se moze 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 simetricnerazlike

X 4 Y = (X \ Y ) ∪ (Y \X) .

(a) Da li je 4 binarna operacija na P (A)?

(b) Nadite neutralni element na P (A) .

(c) Koji elementi imaju inverz?

(d) Da li je 4 asocijativna operacija?

(e) Da li je 4 komutativna operacija?

3. Zadan je skup S koji ima 4 elementa.

(a) Koliko razlicitih binarnih operacija mozemo definirati na tomskupu?

Page 297: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 6. ALGEBARSKE STRUKTURE 287

(b) Napisite Cayleyevu tablicu za jednu takvu operaciju ako znamoda je operacija komutativna i da ima neutralni element.

4. Popunite Cayleyeve tablice za zbrajanje i mnozenje u Z6.

5. Napisite Cayleyevu tablicu mnozenja u skupu kompleksnih brojeva1,−1, i,−i . Da li je ta struktura grupa? Ako jest, da li je ciklicka?

6. Neka su a, b elementi konacne grupe G. Pokazite da elementi a i ba−1bimaju isti red.

7. Promatrajte skup A2 antisimetricnih matrica drugog reda nad poljemF. Pokazite da vrijedi:

(a) A2 je prsten s obzirom na standardne operacije s matricama.

(b) Mnozenje u A2 je komutativno.

(c) Ako je F = Z3, tada je A2 polje nad F .

(d) Da li je A2 polje nad Z5?

8. Analizirajte moguce Cayleyeve tablice i dokazite da vrijede sljedecetvrdnje 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 b0 1

], gdje je a, b, c ∈ Z7 i a 6= 0.

(a) Neka je matrica izvodnica kodirajuce funkcije E : R3 → R7 danas

G =

1 0 0 1 0 1 00 1 0 0 1 1 00 0 1 1 1 0 1

.

i. Izracunajte E (110) .

ii. Nadite kontrolnu matricu, koja pripada matrici G.

(b) Pokazite da je M grupa uz operaciju zbrajanja matrica.

(c) Nadite redove elemenata[

1 10 1

]i

[3 00 1

].

Page 298: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

288 6.10. PROJEKTI

10. Nadite minimalnu udaljenost u skupu kodova

10000, 01010, 00001 .

Koliko je pogresaka moguce detektirati, a koliko ispraviti u ovomskupu?

11. Neka je matrica izvodnica Hammingovog koda dana sa

G =

1 0 0 0 0 1 10 1 0 0 1 0 10 0 1 0 1 1 00 0 0 1 1 1 1

.

Ona prikazuje kodirajucu funkciju E : R4 → R7. Dokazite da vrijedisljedeca tvrdnja: Ako je x 6= y tada se xG i yG razlikuju u najmanje3 koordinate.

12. Neka je kodirajuca funkcija E : R3 → R9 dana s

E (x1x2x3) = x1x2x3x1x2x3x1x2x3.

Ona predstavlja tzv. blok kod ponavljajucih trojki.

(a) Nadite kontrolnu matricu K.

(b) Nadite minimalnu tezinu ove grupe kodova.

(c) Koliko gresaka ovaj kod moze otkriti, odnosno ispraviti?

13. Izracunajte zbroj i umnozak polinoma nad Z5 [x] .

(a) x2 + 3x + 4 i 2x2 + 2x + 3

(b) x4 + 2x3 + x2 + 2x + 1 i 2x4 + 3x3 + 4x2 + 3x + 2

14. Pokazite da u Z7 [x] vrijedi

(x + 1)7 = x7 + 1.

6.10 Projekti

1. Promatramo jednakostranicni trokut i skup svih transformacija kojepreslikavaju taj trokut u njega samog do na poredak vrhova. Taj skupzovemo skup simetrija jednakostranicnog trokuta. U simetrije ulaze irotacije, dakle sve izometrije trokuta. Pronadite sve takve simetrijei pokazite da one uz operaciju kompozicije preslikavanja cine grupu.Ovu strukturu zovemo diedralna 4-grupa. Napisite Cayleyevu tablicu

Page 299: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 simetrijepravokutnika i napisite Cayleyevu tablicu za simetrije pravokutnika uzoperaciju kompozicije. Pokazite da je ova struktura takoder grupa.Ovu grupu zovemo Kleinova 4-grupa.

2. Opisite 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 poboljsaniHammingov kod, te opci Reed-Solomonov kod.

3. Opisite kvaternione, njihova svojstva, operacije na njima, te reprezen-taciju preko kvadratnih matrica drugog reda. Koje algebarske struk-ture tvore kvaternioni. Koji brojevi predstavljaju prosirenje kvaterni-ona? Opisite primjene kvaterniona (npr. u geometriji).

4. Definirajte vektorski prostor nad poljem 0, 1 pridruzen grafu. Pro-matrajte u grafu G = (V,E) skup WE (G) kao skup svih podskupovaod E i na njemu definirajte operaciju zbrajanja (eng. ring sum) imnozenja skalarom. (Uputa: Upotrijebite referencu [4])

5. Geometrija u kojoj dva pravca imaju uvijek jednu tocku presjekazovemo projektivna geometrija. Proucite konacne verzije projektivnegeometrije, njihove odnose i primjenu u teoriji dizajna. Osnovne defini-cije, teoreme i primjene napisite u obliku eseja od 10 stranica.

6. Opisite ciklicke kodove, njihovu klasifikaciju i svojstva. Objasnite nji-hovu vezu s polinomima. (Uputa: Upotrijebite referencu [1])

Page 300: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

290 6.10. PROJEKTI

Page 301: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Bibliografija

[1] Biggs, N. L.: Discrete Mathematics, Oxford University Press Inc., NewYork, 2002.

[2] Divjak, B.; Hunjak, T.: Matematika za informaticare,TIVA-FOI,Varazdin, 2004

[3] Garnier, R.; Taylor, J.: Discrete Mathematics for New Technology, IOPPublishing 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] Horvatic, K.: Linearna algebra, PMF-MO, Zagreb, 1990

[7] Loncar, I.: Matematicke metode, odabrana poglavlja - I. dio, FOI,Varazdin 1997.

[8] Toth, G.: Glimpses of Algebra and Geometry, Springer-Verlag, NewYork, 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

Page 302: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

292 BIBLIOGRAFIJA

Page 303: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Poglavlje 7

Matematicka teorijaracunalstva

Zadivljujuce je kako nam je potrebnomalo da bismo imali sve.Christos Papadimitriou (o Turingovustroju)

Vec smo u poglavlju 4.1 govorili o algoritmu, kao o intuitivnom pojmu.Takoder smo govorili o tome kako u matematici postoji teznja da se pojamalgoritma formalizira. To je dovelo do interesantnih matematickih 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, premaChurch-Turingovoj tezi, vjeruje da dobro forma-liziraju algoritam. Bez obzira na to, neke se odovih formalizacija koriste i za mnoge druge svrhe.Tako se, npr, automati mogu gledati kao modelsustava u teoriji sustava, mogu opisivati strukturuekspertnog sustava i opisivati prijelaze iz stanja ustanje i sl. Ovo ce se poglavlje temeljiti upravo naautomatima, ukljucujuci i Turingove strojeve.Sto se tice znacaja ovog poglavlja za ovu knjigu,ono je visestruko. Kao prvo, ovo poglavlje, gledano

Slika 7.1: Alan MathisonTuring

kao dio racunalske znanosti, cini vrlo vazan teorijski kontekst opisa jezika,algoritama, sustava itd. S druge strane, ovo poglavlje pokazuje vrlo vaznopodrucje racunalske znanosti gdje se koristi gotovo cijelo gradivo opisanou ovoj knjizi. Jezici, automati, gramatike - sve su to vrlo interesantnematematicke strukture. Pri definiranju jezika i automata vrlo veliku uloguigraju relacije, funkcije i skupovi. Za prikaze automata standardno se koristeusmjereni grafovi. Na kraju, sama se slozenost, a posebno klase slozenosti

293

Page 304: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 vezanihuz pojedine jezike. Stoga cemo na pocetku ovog poglavlja obraditi pojamjezika, te gramatika pomocu kojih se opisuju jezici.

Definicija 7.1 Abeceda ili alfabet Σ je konacan skup znakova.

Definicija 7.2 Rijec iz alfabeta Σ je konacan niz od 0 ili vise znakova izalfabeta Σ.

Rijec s 0 znakova se oznacava sa ε i zove se prazna rijec.Broj znakova u rijeci w naziva se duljina rijeci i oznacava se |w|.

Neka je Σ abeceda. Onda se s Σn, n ≥ 0 oznacava skup svih rijeciabecede Σ koje imaju duljinu n. Tada se skup svih rijeci nad abecedom Σoznacava sa

Σ∗ =∑

n≥0

Σn.

Slicno se moze definirati i skup svih nepraznih rijeci nad abecedom Σkao

Σ+ =∑

n≥1

Σn.

Ponekad je rijeci dobro gledati kao diskretne funkcije. Svaka se rijecw ∈ Σ∗ moze definirati kao w : 1, . . . , |w| → Σ, pri cemu w(i) predstavljai-to slovo rijeci w.

Kazemo da se znak σ pojavljuje u rijeci w ako postoji j ∈ 1, . . . , |w|takav da je w(j) = σ.

Definicija 7.3 Neka je Σ abeceda i neka su v, w ∈ Σ∗ rijeci. Tada defini-ramo konkatenaciju rijeci v i w kao rijec 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 rijec w ∈ Σ∗ vrijedi wε = w. Isto je tako jasno daje konkatenacija asocijativna operacija, tj. da vrijedi u(vw) = (uv)w = uvwza proizvoljne rijeci u, v, w ∈ Σ∗.

Page 305: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 295

Definicija 7.4 Neka je Σ abeceda i v, w ∈ Σ∗ rijeci. Kazemo da je rijec vpodrijec rijeci w ako postoje rijeci u, x ∈ Σ∗ takve da je w = uvx.

Ako je u = ε, tj. ako je w = vx, onda se rijec x zove prefiks rijeci w.Ako je x = ε, tj. ako je w = uv, onda se rijec v naziva sufiks rijeci w.

Neka je dana rijec w ∈ Σ∗ nad abecedom Σ. Tada se definira

• w0 = ε,

• wk = wk−1w.

Sada mozemo prijeci na prvu vaznu definiciju u ovom poglavlju – defini-ciju jezika:

Definicija 7.5 (Jezik) Jezik L ⊆ Σ∗ nad abecedom Σ je svaki skup rijeciiz Σ.

Primjer 7.1 Neka je dana abeceda Σ = 0, 1. Mozemo definirati jezikkoji se sastoji od binarnih brojeva, koji nemaju vodecih nula kao:

L = w : w = 1v, v ∈ Σ∗.

Primjer 7.2 Definirajmo sada jezik nad abecedom Σ = a, b koji se sastojiod rijeci koje pocinju s konacnim brojem a-ova, iza cega slijedi jednak brojb-ova:

L = w : w = anbn.Jednostavni se jezici mogu zadavati kao jezici u prethodna dva primjera,

odnosno kao skupovi. No, jezici cesto imaju slozeniju strukturu, koju bi biloprilicno nezgrapno opisivati na gornji nacin.

7.1.1 Regularni izrazi

Jedan od vaznijih nacina prikaza jezika jesu regularni izrazi. Regularniizrazi, osim u teoriji racunalstva, igraju vaznu ulogu i u stvarnim aplikaci-jama na racunalu. Regularni se izrazi koriste kod pretrazivanja sa specijal-nim znakovima (wildcard), kako u tekstovima, tako i u stablima direktorijaoperacijskog sustava. UNIX operacijski sustavi u potpunosti podrzavajuregularne izraze kao nacin konciznog prikazivanja obrazaca za pretrazivanjenizova znakova.

Definicija 7.6 Neka je Σ abeceda, onda su sljedeci izrazi regularni izrazinad Σ:

• ∅ je regularni izraz.

Page 306: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 sljedeci izrazi suregularni 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 semogu izbaciti zagrade koje okruzuju izraz, koji se sastoji od samo jednogznaka. Tako bismo regularne izraze iz prethodnog primjera mogli prikazatina sljedeci nacin:

• a ∗ (b|c)∗,• (a|b|c)∗,• ab ∗ a ∗ b,

Naravno, nas zanima i semantika regularnih izraza, i kako se i pojedinijezici mogu reprezentirati pomocu regularnih izraza.

Znacenje regularnog izraza je vrlo lagano objasniti. Regularni izrazizapravo predstavljaju obrasce za izgradnju rijeci jezika.

Specijalni znakovi regularnih izraza imaju jednostavna znacenja. Znak∗ predstavlja 0 ili vise ponavljanja izraza koji se nalazi ispred njega. Toznaci da se na mjestu gdje se u regularnom izrazu nalazi izraz (w)∗, u rijecijezika kojeg regularni izraz opisuje moze se naci podrijec koju opisuje izrazw ponovljena 0 ili vise puta. Znak | predstavlja disjunkciju. Na mjestu gdjese u regularnom izrazu nalazi izraz (v)|(w), u rijeci jezika koji regularni izrazopisuje moze se naci ili podrijec koja je definirana izrazom v ili podrijec kojaje definirana izrazom w.

Primjer 7.3 Izvedimo neke rijeci koje se nalaze u jezicima opisanim regu-larnim izrazima iz prethodnog primjera:

• Prvi izraz definira jezik koji se sastoji od rijeci koje na pocetku imajuproizvoljan broj slova a, nakon cega slijedi proizvoljna rijec koja semoze sastaviti od slova b i c. Dakle sljedece rijeci su u tom jeziku:ε

Page 307: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 297

baaaaaaabcbbbcbcb

• Drugi izraz definira sve rijeci koje se mogu sastaviti od slova a, b i c.

• Ovaj izraz definira rijeci koje zapocinju slovom a, nakon cega ideproizvoljan broj slova b, pa proizvoljan broj slova a i na kraju jednoslovo b. Taj jezik sadrzi sljedece rijeci:ababbbbaaaaababbbbaab

Dakle, regularni izrazi predstavljaju generativne definicije jezika.

Primjer 7.4 Napisimo regularni izraz koji ce opisivati jezik koji se sastojiod rijeci nad abecedom Σ = a, b, c. Rijeci su sastavljene tako da pocinjus proizvoljnim brojem b-ova iza kojih slijedi proizvoljan broj c-ova. Ove surijeci povezane medusobno slovom a. Npr., sljedece su rijeci 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 kojise sastoji od svih mogucih rijeci sastavljenih od slova a, b i c. Zadatak zacitatelja je da to dokaze.

U regularnim se izrazima cesto definira jos jedan znak: znak +. On sedefinira na sljedeci nacin:

w+ ≡ ww ∗ .

Drugim rijecima, w+ predstavlja jedno ili vise ponavljanja rijeci w.Nadalje, mozemo definirati potenciju rijeci kao:

wn ≡n×︷ ︸︸ ︷

ww . . . w .

Sada mozemo napisati jos neke primjere regularnih izraza:

Primjer 7.5

1. a + b ∗ c+ ≡ aa ∗ b ∗ cc∗

Page 308: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

298 7.1. JEZICI

2. (a + b) ∗ c ≡ (aa ∗ b) ∗ c

3. (a3b)+ ≡ aaab(aaab)∗

7.1.2 Kontekstno slobodne gramatike

Drugi formalizam kojim se mogu definirati jezici jesu kontekstno slobodnegramatike ili samo gramatike. Kako cemo kasnije vidjeti, gramatikama semoze 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 pocetni simbol.

Primjer 7.6 Napravimo gramatiku koja ce definirati jezik nad abecedoma, b i sastoji se od rijeci koje imaju prvo i posljednje slovo a.

V = a, b, S, A, Σ = a, b, S je startni simbol, a R se definira nasljedeci nacin:

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 rijeci koje u sebi imaju paran broj a-ova.

S → A

A → aB

A → bA

A → b

B → aA

B → bB

B → b

B → a

Page 309: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 299

7.2 Konacni automati

U ovom poglavlju obradit cemo konacne automate koji predstavljaju josjedan nacin reprezentacije jezika. Konacni automati su pojednostavljenimodeli racunala. Sastoje se od procesorske jedinice, koja moze obradivatiulaze, koji se, recimo, nalaze na traci. Konacni se automat moze prikazatisljedecom slikom:

a b b a a a b

Slika 7.2

Pri tome se na traci nalaze simboli abecede konacnog automata. Konacniautomat cita zapis na traci s lijeva na desno, od njegova pocetka do kraja.Automat ne moze mijenjati zapis na traci, niti se moze vracati na vecprocitan dio zapisa. Automat u sebi sadrzi program koji se sastoji odkonacnog skupa stanja, od kojih je jedno pocetno i funkcije prijelaza iz stanjau stanje. Kada se automat nalazi u zavrsnom stanju, zaruljica ce zasvijetliti.Kada automat procita cijeli zapis, on stane. Ako je stao u zavrsnom stanju,zaruljica ce svijetliti, indicirajuci da je automat prepoznao rijec na traci kaorijec jezika o kojem odlucuje. Ako automat stane u stanju koje nije zavrsno,onda zaruljica nece svijetliti, i tako ce se znati da rijec ne pripada jezikudanog automata.

Konacni automati imaju veliku ulogu u leksickoj analizi kod prevodenjaprogramskih jezika, kod editora teksta, kod operacijskih sustava za evalu-aciju regularnih izraza itd.

Konacni se automat moze matematicki definirati na sljedeci nacin:

Definicija 7.8 Deterministicki konacni automat (DKA) ili samo konacniautomat je petorka M = 〈Σ,K, S, F, δ〉, pri cemu je:

• Σ konacna abeceda automata,

• K konacan skup stanja automata,

Page 310: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

300 7.2. KONACNI AUTOMATI

• S ∈ K pocetno stanje,

• F ⊆ K skup zavrsnih stanja automata,

• δ : K × Σ → K funkcija prijelaza.

Neka je w : σ1 . . . σn ∈ Σ∗ rijec nad abecedom Σ. Tada konacni automatM nad abecedom Σ vrsi niz koraka na toj rijeci;

(q0, σ1σ2 . . . σn) `M (qf(1), σ2 . . . σn) `M . . . `M (qf(n), ε)),

odnosno

(q0, σ1σ2 . . . σn) `∗M (qf(n), ε)).

Primjer 7.8 Napravimo sada konacan automat za jezike iz primjera 7.5

1. Σ = a, b, cK = q0, q1, q2, q3, q4S = q0

F = q3Funkciju δ definiramo sljedecom tablicom:

a b cq0 q1 q4 q4

q1 q1 q2 q3

q2 q4 q2 q3

q3 q4 q4 q3

q4 q4 q4 q4

Tablica 7.1

Konacni se automati najcesce prikazuju usmjerenim matematickimgrafom, pa se ovaj automat moze prikazati sljedecim grafom:

Page 311: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 301

q0

q1

q2

q3

q4

a

b,c

ab

c

b

a

c c

a,b

Slika 7.3

2. Σ = a, b, cK = q0, q1, q2, q3, q4S = q0

F = q3Funkcija δ definira se tablicom

a b cq0 q1 q4 q4

q1 q1 q2 q4

q2 q1 q4 q3

q3 q4 q4 q4

q4 q4 q4 q4

Tablica 7.2

odnosno, usmjerenim grafom prikazano

Page 312: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

302 7.2. KONACNI AUTOMATI

q0

q1

q3

a

q2

a

ba

c

q4

b,c

a,b,c

c

b

a,b,c

Slika 7.4

3. Σ = a, bK = q0, q1, q2, q3, q4, q5S = q0

F = q4Funkcija δ dana je sljedecom tablicom

a bq0 q1 q5

q1 q2 q5

q2 q3 q5

q3 q5 q4

q4 q1 q5

Table 7.3

Ovaj se konacni automat moze prikazati sljedecim grafom

Page 313: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 303

q0 q1 q2 q3

q5

q4

b b b

ba a a

a

ba

a,b

Slika 7.5

Definirajmo sada nedeterministicki konacni automat.

Definicija 7.9 Nedeterministicki konacni automat (NKA) je petorka M =〈Σ,K, S, F, δ〉, pri cemu je

• Σ konacna abeceda automata,

• K konacan skup stanja automata,

• S ∈ K pocetno stanje,

• F ⊆ K skup zavrsnih stanja automata,

• δ : K × Σ×K relacija prijelaza.

Razlika izmedu DKA i NKA je u tome sto je kod DKA δ funkcija, dokje kod NKA δ relacija. Drugim rijecima, kod deterministickog je konacnogautomata, stanjem u kojem se automat nalazi i procitanim znakom s trake,jednoznacno odredeno stanje u koje ce automat prijeci, dok kod NKA nijetako. Kod NKA za isto stanje i ulazni znak automat ponekad moze prijeciu razlicita stanja.

Ova relaksacija dovodi, medutim do raznih nedoumica. Kako tretiratimogucnost izbora? Hoce li automat stanje izabrati nasumce, ne vodeciracuna o rjesenju ili ce on upravo izabrati onaj izbor koji ce dovesti dorjesenja. To su dvije vrste determinizma, od kojih se prvi naziva davolskiili ”don’t care” nedeterminizam, a drugi andeoski ili ”don’t know” nede-terminizam. Prvi je nedeterminizam vrlo lako izvesti, no on ne predstavljapravi nedeterminizam, koji bi dao vece mogucnosti programu, vec pred-stavlja randomizaciju algoritma. Druga je vrsta nedeterminizma ona koja

Page 314: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

304 7.2. KONACNI AUTOMATI

se podrazumijeva kada se govori o nedeterminizmu. Zaista, pretpostavlja seda nedeterministicki automat moze, bez ikakve provjere u svakom slucajunapraviti onaj izbor koji ce ga dovesti do tocnog rjesenja i izbjeci sve izborekoji bi ga doveli do pogresnog. Ovaj se nedeterminizam cesto ilustrira i takoda se kaze da se automat u trenutku nedeterministickog izbora kopira uonoliko kopija koliko je mogucnosti izbora, te da svaka kopija napravi jedanod mogucih izbora, a ostatak se rijeci procesira na svima njima paralelno.Jasno je da stvarni automati ne mogu imati moc kopiranja samog sebe, aliisto tako je jasno da oni ne mogu imati ni mogucnost nedeterministickogizbora. Stoga je nedeterminizam u potpunosti teorijski koncept koji nijemoguce prakticno izvesti. No, on se svejedno koristi u teoriji racunalstva jerje vrlo bitan u klasifikaciji problema.

Primjer 7.9 Napravimo NKA koji odlucuje o jeziku nad abecedom Σ =a, b, koji se sastoji od rijeci koje na pocetku imaju proizvoljan broj a-ova,nakon cega slijedi paran broj b-ova, iza cega se nalazi tocno jedna pojavaslova a.

Konacni automat, koji odlucuje o gore opisanom jeziku, dan je sljedecimgrafom:

q0q1a

q2

a

b

q2

b

b

q1

a

q1

b

b

a,ba,b

a,b

Slika 7.6

Sljedece sto cemo definirati jest prosirenje konacnog automata: deter-ministicki konacni automat s ε prijelazima. On se definira na sljedeci nacin:

Page 315: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 305

Definicija 7.10 Nedeterministicki konacni automat s ε prijelazima (u oz-naci εNKA) je petorka M = 〈Σ,K, S, F, δ〉, pri cemu je

• Σ konacna abeceda automata,

• K konacan skup stanja automata,

• S ∈ K pocetno stanje,

• F ⊆ K skup zavrsnih stanja automata,

• δ : K × (Σ ∪ ε)×K relacija prijelaza.

Dakle, razlika u definicijama NKA i εNKA je minimalna, u definicijifunkcije δ, i to samo u tome sto je dopusteno da njen drugi argument,osim slova abecede Σ bude i ε. Drugim rijecima, osim standardnih prijelazadozvoljeni su i prijelazi iz stanja u stanje bez citanja trake. Ovakvo svojstvonema smisla definirati nad deterministickim automatom jer bi kod DKA svastanja povezana ε prijelazima bila medusobno ekvivalentna, da bi se moglasazeti u jedno jedino stanje, cime bi se trivijalno eliminirali svi ε prijelazi.

Prirodno se postavlja pitanje o kojoj klasi jezika mogu odlucivati konacniautomati? Pokazuje se da vrijedi sljedeci teorem:

Teorem 7.1 Za jezik L moze se napraviti deterministicki konacni automatkoji odlucuje o L ako i samo ako je L regularan jezik.

Dokaz ovog teorema ide preko uspostavljanja veza svih triju uvedenihkonacnih automata. Dokazuje se sljedeci niz ekvivalencija:

DKA ⇔ NKA ⇔ εDKA ⇔ RL

Medutim, ovaj niz ekvivalencija necemo dokazivati jer on prelazi okvireove knjige. Dokazi ovih ekvivalencija mogu se naci u [3].

No, postoji jos jedno zanimljivo pitanje. Postoje li jezici koji nisu regu-larni? Drugim rijecima, postoji li neki jezik koji nije u u srafiranom dijelu,nego je u bijelom dijelu na sljedecoj slici?

L

RL

Slika 7.7

Page 316: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

306 7.2. KONACNI AUTOMATI

Na ovo vazno pitanje odgovorit cemo konstruiranjem jezika koji nisuregularni. U dokazivanju da neki jezik nije regularan znacajnu ulogu imasljedeci 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 6= ε i da je xynz ∈ L za svakin ∈ N0.

Dokaz. Kako je L beskonacan regularan jezik, za njega postoji DKAkoji o njemu odlucuje. Pretpostavimo da imamo DKA M s n stanja kojiodlucuje o jeziku L. No, kako je L beskonacan, L mora sadrzavati nizoveznakova cija je duljina veca od n. Neka je w : σ1σ2 . . . σn ∈ L i neka je|w| > n. Ako se rijec w obradi konacnim automatom M , on ce izvrsitisljedeci niz pretvorbi:

(q0, w) `∗M (ε, qf(|w|)),

pri cemu je qf(|w|) ∈ F . Kako je |w| > n, po Dirichletovom prin-cipu, mora postojati stanje qi kroz koje je automat prosao barem dva putaobradujuci rijec w, tj. postoje 0 ≤ j < k ≤ |w| takvi da je qf(j) = qf(k). Toznaci da niz znakova σj . . . σk provodi automat iz stanja qf(j) u stanje qf(j).

No, onda niz znakova σj . . . σk moze biti maknut iz rijeci w, a automat cejos uvijek zavrsiti u istom, zavrsnom stanju. Dakle, automat ce prepoznatii rijec xz.

S druge strane, dodamo li iza niza znakova σj . . . σk isti taj niz znakovajos n−1 puta, nakon procesiranja svih n pojava podstringa σj . . . σk automatce se jos uvijek nalaziti u stanju qf(j), pa ce do kraja rijeci xynz automatzavrsiti u stanju qf(|w|), koje je zavrsno, pa ce automat prepoznavati i rijecxynz.

Sada cemo dati nekoliko primjera jezika koji nisu regularni.

Primjer 7.10 Neka je dan jezik L = an : n je prost broj. Dokazimo dajezik L nije regularan.

Neka je xyz ∈ L. Tada, prema lemi o pumpanju i rijec xynz ∈ L.Neka je y : ak. Tada je xz : an−k. No, tada je |xyn−kz| = (n − k) +

(n− k) · k = (n− k)(k + 1), sto ocito nije prost broj, a to se kosi s lemom opumpanju, pa zakljucujemo da L nije regularan.

Primjer 7.11 Neka je dan jezik L = anbn : n ∈ N0. Dokazimo da L nijeregularan.

Neka je xyz ∈ L. Imamo tri moguca slucaja:

1. Neka je y : ak. U tom slucaju ce xynz za n 6= 1 imati razlicit broja-ova i b-ova, pa nece biti element od L.

2. Slucaj kada je y : bk jednak je kao i prethodni slucaj.

Page 317: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 307

3. Neka je y : akbl. No, tada ce za n > 1 rijec xynz imati pojavu slova bkojoj slijedi pojava slova a, a to nije dozvoljeno u jeziku L.

Buduci da nije zadovoljena lema o pumpanju, jezik L nije regularan.

7.3 Potisni automati

Druga vazna klasa automata jesu potisni automati ili stog automati. To suautomati koji imaju lokalnu memoriju organiziranu u stog. Sljedeca slikapokazuje potisni automat.

a b b a a a b

bba

Slika 7.8

Kod potisnog automata funkcija prijelaza iz stanja u stanje ovisi o stanjuu kojiem se automat nalazi, o procitanom znaku s trake, ali i o simbolu kojise nalazi na vrhu stoga.

Definicija 7.11 Deterministicki potisni automat s ε prijelazima je sed-morka M = 〈K, Σ,Γ, S,⊥, F, δ〉, pri cemu je

• K konacan skup stanja automata,

• Σ ulazna abeceda,

• Γ abeceda stoga,

• S ∈ Σ pocetno stanje,

• ⊥ ∈ Γ pocetni simbol stoga,

• F ⊆ K skup zavrsnih stanja,

Page 318: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

308 7.3. POTISNI AUTOMATI

• δ : K × (Σ ∪ ε) × Γ → K × Γ∗ parcijalna funkcija prijelaza takvada za svaki q ∈ K i Z ∈ Γ postoji δ(σ, q, Z), za svaki σ ∈ Σ ili pakpostoji δ(ε, q, Z), ali onda nije definirano δ(σ, q, Z) ni za jedan σ ∈ Σ.

Time je definiran deterministicki potisni automat s ε prijelazima.

Definicija 7.12 Nedeterministicki potisni automat ε prijelazima ili samopotisni automat je sedmorka M = 〈K, Σ, Γ, S,⊥, F, δ〉, pri cemu je:

• K je konacan skup stanja automata,

• Σ ulazna abeceda,

• Γ abeceda stoga,

• S ∈ Σ pocetno stanje,

• ⊥ ∈ Γ pocetni simbol stoga,

• F ⊆ K skup zavrsnih stanja,

• δ : K ×Σ∪ ε)×Γ×K ×Γ∗ parcijalna relacija prijelaza takva da zasvaki 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 = anbn. Potisni automat kojemu jeK = q0, q1, q2, S = q0, F = q1, Γ = ⊥, 0, Z0 = ⊥, a relacija prijelazaδ neka je zadana sljedecom tablicom:

a b ε

(q0,⊥) (q0, 0) (q2,⊥)(q0,0) (q0, 00) (q1, ε)(q1,⊥) (q2,⊥) (q2,⊥)(q1,0) (q2, 0) (q1, ε) (q2, 0)

Tablica 7.4

Onda taj PA odlucuje o jeziku L.

Ovaj primjer nam pokazuje jedan od nacina kako potisni automat mozeprepoznavati neki jezik. Ova vrsta prepoznavanja naziva se odlucivanjezavrsnim stanjem. Kod ove vrste prepoznavanja rijec je prihvacena akoje nakon citanja rijeci (i nakon izvrsenja ε prijelaza) automat zavrsio uzavrsnom stanju. Postoji, medutim, jos jedna vrsta prepoznavanja jezikakoja se moze definirati za potisni automat - odlucivanje praznim stogom.Kod ove vrste prepoznavanja nije vazno u kojem je automat stanju stao, vecje vazno da je kod zaustavljanja stog automata prazan. Stoga se kod PA

Page 319: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 309

koji prepoznaje praznim stogom standardno stavlja F = ∅. Sljedeci primjerdaje deterministicki automat koji prepoznaje jezik iz prethodnog primjerapraznim stogom.

Primjer 7.13 Zadan je jezik L = anbn. K = q0, q1, q2, a S = q0.F = ∅, te neka je Γ = ⊥, 0 i neka je Z0 = ⊥. Sada imamo sljedecudefiniciju:

a b ε

(q0,⊥) (q0, 0) (q2,⊥)(q0,0) (q0, 00) (q1, ε)(q1,⊥) (q2,⊥) (q2,⊥)(q1,0) (q2, 0) (q1, ε)

Tablica 7.5

Upravo opisano sazeto je u sljedecoj definiciji:

Definicija 7.13 Neka je L jezik. Kazemo da potisni automat M1 odlucujezavrsnim stanjem o jeziku L i pisemo L(M1), ako automat nakon procesi-ranja svake rijeci iz jezika L staje u zavrsnom stanju.

Kazemo da potisni automat M2 odlucuje praznim stogom o jeziku L ipisemo L(M1), ako je stog automata nakon procesiranja svake rijeci iz jezikaL prazan.

Sada imamo sljedeci, vrlo zanimljiv teorem:

Teorem 7.3 Neka je L jezik. Za jezik L postoji deterministicki potisniautomat M1 takav da je L = L(M1) ako i samo ako postoji deterministickipotisni automat M2 takav da je L = N(M2).

Dokaz. Neka je M1 PA koji odlucuje o jeziku L zavrsnim stanjem.Zelimo napraviti PA M2 koji odlucuje o jeziku L praznim stogom.

Pri tome moramo imati na umu dvije stvari. Naravno, osnovno je da tajautomat mora isprazniti stog u trenutku kada automat M1 stane u zavrsnomstanju. No, isto tako je vazno da osiguramo da PA M2 ne isprazni slucajnostog kada mi to ne zelimo, tj. kada M1 nije stao u zavrsnom stanju.

Kako bismo onemogucili ovo drugo, abecedu stoga PA M2 prosirit cemojednim simbolom u odnosu na abecedu M1. Recimo da je to simbol ⊥1. Nasamom pocetku rada PA M2 osigurat cemo da on zapise na stog znak ⊥2,cime cemo kontrolirati da stog ne postane prazan, vec da se na njemu uvijeknalazi simbol ⊥1.

Neka je M1 = 〈K, Σ, Γ, q0,⊥, F, δ〉 i neka je M2 =⟨K ′, Σ′, Γ′, q′0,⊥, ∅, δ′⟩.

Kako automat M2 ne odlucuje zavrsnim stanjem, odmah mozemo definirati

Page 320: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

310 7.3. POTISNI AUTOMATI

da je F ′ = ∅. Kako ova dva automata trebaju opisivati isti jezik, onda jejasno da je Σ′ = Σ. Rekli smo da je Γ′ = Γ ∪ ⊥1.

Dodat cemo jos jedno stanje, recimo q′0, koje ce biti pocetno, i koje ce seε prijelazom vezati za pocetno stanje automata M1, dodajuci tako simbol⊥1 na pocetku 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 trecoj, bilo u petoj komponenti, mijenjamo simbolom⊥1. Nakon toga u δ dodajemo petorku (q′0, ε,⊥, q0,⊥1). Takoder, za svakostanje 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 zaistadobijemo prazan stog, odnosno stog u kojem se nalazi samo simbol ⊥.

Obrnuto, neka je M2 PA koji odlucuje o jeziku L praznim stogom.Potrebno je kreirati PA M1 koji ce odlucivati o jeziku L zavrsnim stanjem.

Neka je M2 = 〈K, Σ, Γ, q0,⊥, ∅, δ〉. Kreirajmo automat M1 =< K ′, Σ′,Γ′, q′0, ⊥, F ′, δ′ >. Konstruiranje ovog PA je jos 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 tajnacin se svako praznjenje stoga registrira prilazom u stanje q′F . Konstrukcijaautomata M1 zavrsava definiranjem skupa F ′ = q′F .

Time je teorem dokazan.Iz definicija PA, ali i DPA moze se vidjeti nekoliko vaznih stvari vezanih

uz potisni automat. Potisni se automat standardno definira kao nedetermin-isticki automat u kojem su dozvoljeni ε prijelazi, dok se konacni automatstandardno definira kao deterministicki. Razlog tome je sljedeci teorem.

Teorem 7.4 Neka je L jezik. Za jezik L postoji potisni automat M za kojivrijedi L = N(M) ako i samo ako je L kontekstno slobodan jezik.

Ovaj teorem necemo dokazivati, kao sto nismo dokazivali ni teorem 7.1.Dokazi oba ova teorema mogu se naci u [3] i u [5].

No, dokazat cemo teorem slican onome koji smo dokazivali za regularnejezike 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 rijec w ∈ L, takvu da je |w| ≥ k,postoji zapis w : uvxyz, takav da je v 6= ε ili y 6= ε i takav da je za proizvoljann ∈ N0 rijec uvnxynz ∈ L.

Prije nego sto krenemo na dokazivanje ovog teorema treba definiratistabla izvoda za rijec w i gramatiku G. Stablo izvoda je stablo u kojemje korijen oznacen sa startnim simbolom S. Nadalje, ako primijenjujemo unekom trenutku pravilo A → α, α : σ1 . . . σn, tada se u stablu kao djecavrha A javljaju vrhovi σ1, . . . , σn. Listovi stabla su terminalni simboli, doksu unutarnji cvorovi stabla izvoda oni simboli koji nisu terminalni.

Page 321: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 311

Primjer 7.14 Dan je jezik L koji se sastoji od palindroma nad abecedomΣ = a, b, c. Palindromi su rijeci koje su jednake, citane sprijeda i straga.Gramatika za ovaj jezik je:

S → εS → aSaS → bSbS → cScPogledajmo sada rijec 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 stotreba dokazati jest da je svaki terminal cija je duljina veca ili jednaka kizvodiv tako da je

S →∗ uAz →∗ uvAyz →∗ uvxyz.

Sto se dogada kada je p najveci broj znakova na desnoj strani nekogpravila iz gramatike G? Tada stablo koje ima m razina moze imati najvisepm listova. Ova se tvrdnja moze dokazati indukcijom po m, no ovdje jenecemo dokazivati. Zainteresirani citatelj moze sam izvesti ovaj jednostavandokaz.

Drugim rijecima, ako stablo opisuje izvod rijeci koja ima vise od pm

slova, onda u tom stablu mora postojati put od korijena do terminala cijaje duljina veca od m.

Stavimo sada da je m = |V \Σ|, odnosno, neka je m broj slova abecedeV koja nisu terminali. Neka je k = pm, te neka je dana rijec w takva daje |w| > k. Neka je T stablo izvoda rijeci w. No, tada u stablu T postojibar jedan put od korijena do terminala duljine vece od |V \Σ|, tj. put kojiprolazi kroz vise od |V \Σ|+ 1 cvorova.

Page 322: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

312 7.3. POTISNI AUTOMATI

No, kako abeceda ima samo |V \Σ| neterminalnih slova, to na tom putumoze biti najvise |V \Σ| razlicitih unutarnjih cvorova. Zbog toga na tomputu moraju postojati dva cvora koja imaju istu oznaku. Pri tome trebanapomenuti da nijedan od ta dva cvora ne moze biti list, jer listovi i unutarnjicvorovi ne mogu imati iste oznake. Neka ti cvorovi imaju oznaku A.

To znaci da u izvodu rijeci w postoji dio izvoda opisan sljedecom she-mom:

S →∗ uAz →∗ uvAyz →∗ uvxyz,

pri cemu barem jedna od rijeci v i y mora biti neprazna.Dio izvoda koji zapocinje i zavrsava u istom stanju A mozemo kontrahi-

rati tako da obrisemo sve od prve pojave simbola A do njegove druge pojave,cime cemo dobiti izvod

S →∗ uAz →∗ uxz,

dakle izvod rijeci uxz. Dakle, uxz ∈ L.Isto tako, taj se dio izvoda moze ponoviti vise puta, cime ce se dobiti

S →∗n︷ ︸︸ ︷

uAz →∗ uvAyz →∗ . . . →∗ uAz →∗ uvnAynz× →∗ uvnxynz

pa je i uvnxynz ∈ L za svaki n ∈ N.

Korolar 7.1 Svaki je regularni jezik kontekstno slobodan. Obratno ne vri-jedi.

Dokaz. Svaki se konacni automat moze prikazati kao potisni automatkoji uopce ne koristi stog, pa se svaki jezik koji se moze prepoznavati pomocukonacnog automata moze prepoznavati pomocu potisnog automata.

U primjeru 7.10 pokazali smo da jezik L = anbn nije regularan. No, uprimjeru 7.13 smo pokazali da taj jezik jest kontekstno slobodan. Time jepokazano da kontekstno slobodni jezici nisu nuzno regularni.

Pitanje koje se postavlja jest, postoji li jezik koji nije kontekstno slobo-dan? Odgovor na ovo pitanje dan je sljedecim primjerom.

Primjer 7.15 Neka je zadan jezik L = anbncn. Pokazite da taj jezik nijekontekstno slobodan.

Naravno, dokaz se provodi pomocu leme o pumpanju.Neka je n > k

3 . Tada se na rijec w : anbncn moze primijeniti lemao pumpanju. U tom slucaju mora postojati zapis w : uvxyz takav da jeuvixyiz ∈ L za svaki i ∈ N0.

Ako v ili y sadrzi razlicita slova, onda ce se u rijeci uvixyiz za i > 1imati pojavu slova b ispred slova a ili pak pojavu slova c ispred slova b, a tone moze biti.

Page 323: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 313

Dakle, v i y mogu se sastojati samo od jednog simbola. No, u tomslucaju, u rijeci uvixyiz za i > 1 povecat cemo broj pojava jednog ili dvarazlicita slova, dok ce broj pojava treceg slova ostati isti, pa rijec vise necepripadati jeziku L.

Dakle, kako se ne moze ispostovati lema o pumpanju, zakljucuje se da Lnije kontekstno slobodan jezik.

Sljedeca slika daje klasifikaciju jezika koju smo do sada obradili:

L

RL

CFL

Slika 7.10

U ovom smo se poglavlju uglavnom bavili nedeterministickim potisnimautomatom, dok smo deterministicki potisni automat tek spomenuli. Zastodeterministicki potisni automat ima tako malu ulogu? Zato sto je determi-nisticki potisni automat kao koncept preslab da bi opisao kontekstno slo-bodne jezike, koji su ovdje interesantni.

Iz upravo recenoga moze se zakljuciti da, za razliku od konacnih au-tomata, nedeterministicki i deterministicki potisni automati ne definirajuistu klasu jezika. I zaista, postoje kontekstno slobodni jezici o kojima se nemoze odlucivati pomocu deterministickog potisnog automata. Klasa jezikao kojoj se moze odluciti pomocu deterministickog potisnog automata sira jeod klase regularnih jezika, ali je uza od klase kontekstno slobodnih jezika. Tase klasa naziva klasom deterministickih kontekstno slobodnih jezika. Drugimrijecima, imamo sljedece odnose medu klasama jezika:

RL ⊂ DCFL ⊂ CFL.

7.4 Turingovi strojevi

Kroz prethodna smo dva poglavlja tragali za automatom koji bi mogaoopisati bilo koji jezik. Uveli smo dvije vrste automata, no ni jedan od njih,kao sto smo pokazali, nije sveobuhvatan. U prvom smo poglavlju imali jedanvrlo 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

Page 324: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

314 7.4. TURINGOVI STROJEVI

svi jezici. U drugom smo poglavlju automat prosirili dodavsi mu memo-riju. Tako smo prosirili klasu jezika koje mozemo prepoznati automatom, nopokazalo se da i time nismo definirali sveobuhvatni automat. U ovom cemopoglavlju opisati automat koji prepoznaje jos siru klasu jezika – Turingovstroj.

Turingov stroj je automat koji nema svoju zasebnu memoriju, ali mozetraku s koje cita ulaz ujedno koristiti kao memoriju. Osim toga, Turingovstroj traku ne mora citati samo jednosmjerno - od pocetka prema kraju, vecsu kod njega moguci pomaci po traci u oba smjera, tako da Turingov strojmoze isti simbol citati i vise puta.

Dakle, Turingov je stroj automat koji u svakom svom koraku mozeprocitati s trake znak, upisati na istu tu poziciju trake drugi znak, te po-maknuti glavu za citanje na sljedeci ili prethodni znak na traci. Ovaj konceptrazvio je engleski matematicar 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 konacan skup stanja automata,

• Σ je abeceda, u kojoj imamo istakuti prazni (blank) simbol t ∈ Σ ipocetni simbol .,

• S ∈ K pocetno stanje,

• F = qT , qF ⊆ S skup zavrsnih stanja, koji sadrzi stanja,

• δ : K\qF , qT × Σ → K × Σ× L,R funkcija prijelaza.

U literaturi se mogu pronaci vrlo razlicite definicije Turingovog stroja,sto moze itekako zbuniti manje vjestog citatelja. Turingov stroj u literaturipredstavlja kao cetvorka, pa sve do sedmorke. Neki autori ne isticu posebnoskup zavrsnih stanja, a neki da. U ovoj definiciji skup zavrsnih stanja bi seisto tako mogao izostaviti i reci samo da skup stanja sadrzi stanja qT , qF iqh. Neki autori razlikuju dvije abecede: jedna je abeceda jezika koji automatprepoznaje, a druga je abeceda obogacena specijalnim simbolima . i t. Nekiautori ne specificiraju, kao sto smo mi napravili, posebno zavrsno stanje zarijec koju automat potvrduje (qT ) i za onu koju odbacuje (qF ) te posebnozavrsno stanje (qh), koje sluzi u automatima koji ne rade odlucivanje, vecizracunavanje. U tom slucaju, autori definiraju funkciju δ kao parcijalnufunkciju, te sve prijelaze u stanje qF zamijenjuju nedefiniranim prijelazima.Na kraju, postoje razlike i u tome kako se definiraju moguci pokreti glaveza citanje. Dok neki autori zahtijevaju da se u svakom koraku glava zacitanje mora pomaknuti jedno polje lijevo ili desno, neki autori dozvoljavajuda glava u nekim konfiguracijama ostane na mjestu. Drugim rijecima, skupsimbola L,R, koji definira pomicanje glave za citanje, moze se nadopuniti

Page 325: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 315

do L,N,R. Bez obzira na sve te razlike, svi autori, definirajuci Turingovstroj, definiraju automat iste ekspresivnosti i istih osnovnih svojstava.

Primjer 7.16 Neka je Σ = a, b, i neka je zadan jezik L = anbn nadΣ. Napravimo Turingov stroj koji prepoznaje ovaj jezik. On otkida jedana sprijeda, pa jedan b straga. Ako ostane visak a-ova ili visak b-ova, ondarijec nije dobra, a ako ostane prazna rijec, onda je ulazna rijec bila dobra.

. a b tq0 (.,R, q0) (., R, q1) qF (t, L, qT )q1 (., L, qF ) (a,R, q1) (b,R, q1) (t, L, q2)q2 (., L, qF ) (a, L, qF ) (t, L, q3) (t, L, qF )q3 (.,R, q0) (a, L, q3) (b, L, q3) (t, L, qF )

Tablica 7.6

Primijetimo da tablicu kojom smo opisali Turingov stroj nismo ispunilido kraja. To bi znacilo da je funkcija δ parcijalna funkcija. No, ona se mozeupotpuniti tako da se sva nedefinirana stanja popune tako da Turingov strojupise znak koji je procitao, glavu premjesti u desno i prijede u stanje qF .

Primjer 7.17 Napravimo Turingov stroj koji ce prepoznavati jezik L =anbncn.

Ideja je da se prvo provjeri ima li isti broj a-ova i c-ova, tako da se a-oviprepisuju c-ovima, a c-ovi se na kraju brisu. Ako se desi da ostane u rijecineki a, a da iza b-ova vise nema c-ova, onda rijec nije dobra. Isto je ako izab-ova ostane neki c, ali u rijeci vise nema a-ova. Ako istovremeno ponestanea-ova i c-ova iza b ova, onda ce nam preostati rijec koja zapocinje odredenimbrojem c-ova, iza cega slijedi odreden broj b-ova. Njihovo se prebrojavanjevrsi tako da se brise po jedan c s pocetka rijeci i jedan b s kraja. Ako tajpostupak zavrsi praznom rijeci, onda je ulazna rijec bila dobra. Zavrsi li ovajpostupak rijecju koja se sastoji od odredenog broja c-ova ili od odredenogbroja b-ova, onda rijec nije dobra.

. a b c tq0 (.,R, q0) (c,R, q1) (t, L, qT )q1 (a, R, q1) (b, R, q1) (c, R, q1) (t, L, q2)q2 (t, L, q3)q3 (.,R, q4) (a, L, q3) (b, L, q3) (c, L, q3)q4 (c,R, q1) (b, R, q5) (c, R, q4)q5 (b, R, q5) (c, R, q5) (t, L, q6)q6 (.,R, qT ) (t, L, q7)q7 (.,R, q8) (b, L, q7) (c, L, q7)q8 (.,R, q5) (t, R, qF )

Tablica 7.7

Page 326: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

316 7.4. TURINGOVI STROJEVI

No, kako Turingovi strojevi imaju, osim citanja, mogucnost pisanja natraku, oni, za razliku od prije navedenih automata, imaju mogucnost zapisi-vanja izlaznog rezultata na traku. Tako se Turingovi strojevi mogu koristitii za razlicita izracunavanja.

Primjer 7.18 Neka su dva broja zapisana u unarnom zapisu, tj. broj n jeprikazan pomocu n nula. Ta dva broja na traci razdvojena su znakom +.Potrebno je zbrojiti ta dva broja.

Rjesenje je jednostavno: treba obrisati jednu nulu s kraja drugog broja,a znak + treba zamijeniti nulom. Turingov stroj koji radi ovu operacijuopisan je sljedecom tablicom.

. 0 + tq0 (.,R, q0) (0, R, q0) (0, R, q1)q1 (0, R, q1) (t, L, q2)q2 (t, R, qT )

Tablica 7.8

Dajmo jos dva primjera:

Primjer 7.19 Napravimo sada Turingov stroj koji izokrece bilo koju rijecnad abecedom Σ = a, b, c naopako.

Automat radi na sljedeci nacin. Na pocetku rijeci ce ostati prazninaispred koje se prepisuje prvo slovo rijeci. Nakon toga se prepisuje drugoslovo rijeci ispred prvoga, itd., sve do kraja rijeci. Kao pomocni simbol,kojim cemo ispunjavati prostor izmedu kreirane rijeci i ostatka ulazne rijecikoristit cemo simbol ..

Stroj je dan sljedecom tablicom.

. a b c tq0 (., R, q0) (., L, qa) (., L, qb) (., L, qc) (t, R, qh)qa (a, L, q.) (a, L, qa) (b, L, qa) (c, L, qa)qb (b, L, q.) (a, L, qb) (b, L, qb) (c, L, qb)qc (c, l, q.) (a, L, qc) (b, L, qc) (c, L, qc)q. (., R, q1) (., R, q1) (.,R, q1) (.,R, q1)q1 (., R, q0) (a,R, q1) (b,R, q1) (c,R, q1)

Tablica 7.9

Primjer 7.20 Napravimo Turingov stroj koji ce ulazni niz znakova na tracikopirati, tj. kao izlaz dati dva jednaka niza znakova odvojena razmakom.Neka je abeceda ovog stroja binarna abeceda, tj. Σ = 0, 1, .,t.

Page 327: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 317

Stroj ce raditi tako da ce prvi znak ulaznog niza znakova brisati, iprepisati ga dva puta. Pri tome ce se posljednja rijec na traci trebati pomi-cati jedno polje desno prije svakog upisivanja slova u drugu rijec, kako bi sedobilo mjesto za upis novog slova u drugu rijec.

. 0 1 tq0 (.,R, q0) (.,R, q01) (.,R, q11) (.,R, qT )q01 (0, R, q01) (1, R, q01) (t, R, q02)q02 (0, R, q003) (0, R, q103) (0, R, q04)q003 (0, R, q003) (0, R, q103) (0, R, q04)q103 (1, R, q003) (1, R, q103) (1, R, q04)q04 (t, R, q005) (t, R, q105) (t, R, qt04)qt05 (0, R, q005) (0, R, q105) (0, L, q06)q005 (0, R, q005) (0, R, q105) (0, L, q06)q105 (1, R, q005) (1, R, q105) (1, L, q06)q06 (0, L, q06) (1, L, q06) (t, R, q07)q07 (0, L, q008) (1, L, q108)q008 (0, R, q008) (0, R, q108) (0, L, qrew)q108 (1, R, q008) (1, R, q108) (1, L, qrew)q11 (0, R, q11) (1, R, q11) (t, R, q12)q12 (1, R, q013) (1, R, q113) (1, R, q14)q013 (0, R, q013) (0, R, q113) (0, R, q14)q113 (1, R, q013) (1, R, q113) (1, R, q14)q14 (t, R, q015) (t, R, q115) (t, R, qt14)qt15 (1, R, q015) (1, R, q115) (1, L, q16)q015 (0, R, q015) (0, R, q115) (0, L, q16)q115 (1, R, q015) (1, R, q115) (1, L, q16)q16 (0, L, q16) (1, L, q16) (t, R, q17)q17 (0, L, q018) (1, L, q118)q018 (0, R, q018) (0, R, q118) (0, L, qrew)q118 (1, R, q018) (1, R, q118) (1, L, qrew)qrew (.,R, q0) (0, L, qrew) (1, L, qrew) (t, L, qrew)

Tablica 7.10

Ovaj je Turingov stroj nesto slozeniji pa cemo ga detaljnije opisati.Stanje q0 je pocetno stanje i ujedno nam sluzi za brisanje prvog slova izulazne rijeci. Ovisno o tome je li prvo slovo bilo 0 ili 1, stroj odlazi u stanjeq01 ili q11. Stanja q01 do q108 su stanja koja definiraju rad stroja u slucaju daje obrisani znak bio 0, dok stanja q11 do q118 na slican nacin definiraju radstroja u slucaju da je obrisani znak 1. Dalje cemo opisati stanja q01 do q108.Stanje q01 se ponavlja dok se ne procita do kraja ostatak ulazne rijeci. Nakontoga dolaze stanja q02 do q103, koja dodaju na pocetak druge rijeci, odnosno

Page 328: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

318 7.4. TURINGOVI STROJEVI

prve rijeci rezultata znak 0, dok preostale znakove te rijeci premjestaju zajedno polje trake dalje. Stanje q02 izvrsava se jednom i dodaje 0 na pocetakrijeci. S obzirom na to je li na mjestu gdje je upisana ta nula bio znak 0 ili1 prelazi se u stanje q003, odnosno q103. Na kraju druge rijeci prelazi se ustanje q04, cime pocinje obrada trece rijeci. U prvom prolazu treca se rijecpremjesta za jedno mjesto desno na traci. Pocinje se stanjem q04, kojim sepremjesta razmak izmedu druge i trece rijeci, te se ponavljaju stanja q005 iq105 dok se ne dode do kraja trece rijeci. Tada stroj dode u stanje qt05, tenakon toga prelazi u stanje q06. Stanje q06 sluzi za vracanje na pocetak trecerijeci, a kada se dode do njenog pocetka, prelazi se u stanje q07. Stanja q07

do q108 dodaju znak 0 na pocetak trece rijeci i premjestaju ostale znakovetrece rijeci za jedno mjesto na traci u desno. Ova stanja djeluju slicno kaosto djeluju stanja q02 do q103, premjestajuci drugu rijec. Nakon toga, prelazise u stanje qrew koje sluzi za prematanje trake na pocetak zapisa. Kada sedode do pocetka zapisa, prelazi se natrag na stanje q0 i postupak se ponavljaza sljedeci znak ulazne rijeci.

Sada se postavlja pitanje koju klasu jezika prepoznaju Turingovi stro-jevi? Imamo sljedece definicije:

Definicija 7.15 Neka je dan jezik L za koji postoji Turingov stroj koji zasvaku rijec w ∈ L staje u stanju qT , a za svaku rijec x 6∈ L staje u stanjuqF . Tada kazemo da je L rekurzivan jezik .

Za rekurzivne jezike kazemo da su odlucivi .

Definicija 7.16 Neka je L jezik za koji postoji Turingov stroj koji za svakurijec w ∈ L staje u stanju qT . Tada kazemo da je jezik L rekurzivno prebrojiv .

Jasno je da je klasa rekurzivnih jezika (RCL) podklasa klase rekurzivnoprebrojivih jezika (RCEL), tj. da vrijedi sljedeca slika:

L

RL

CFL

RCLRCEL

Slika 7.11

Page 329: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 319

No, postavlja se pitanje postoji li jezik koji je rekurzivno prebrojiv, akoji nije rekurzivan ili je RCL = RCEL. Pokazat cemo da ove dvije klasenisu 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 opisnekog Turingovog stroja, a w rijec. On staje u stanju qT ako stroj Mprimjenjen na rijec w staje u stanju qT , a ako stroj M primijenjen na rijecw staje u stanju qF , onda staje u stanju qF . Drugim rijecima, univerzalniTuringov stroj odlucuje prihvaca li dani Turingov stroj danu rijec ili ne.

Postavlja se pitanje moze li se neki Turingov stroj M = 〈K, Σ, S, F, δ〉efikasno kodirati na traku tako da ga univerzalni Turingov stroj moze ko-ristiti kao ulaz. Bez smanjenja opcenitosti mozemo pretpostaviti da jeΣ = 0, 1, .,t. Stavimo da je X1 = 0, X2 = 1, X3 = ., a X4 = t. Nadalje,preimenujmo stanja tako da stanja stroja budu q1, . . . , qn. Pri tome, nekaje S = q1 te qn−1 = qF i qn = qT . Nadalje, kodirajmo pomicanja trake takoda je D1 = L i D2 = R. Na samu traku nije potrebno zapisivati niti skupstanja, niti ulaznu abecedu, jer ce oboje biti implicitno zadano preko jedinogsto cemo zapisivati na traku: preko funkcije δ prijelaza. Za svaki prijelaz je

δ(Qi, Xj) = (Qk, Xl, Dm)

Definirajmo sljedeci kod:

0i10j10k10l10m.

Sada je jasno da se bilo koja druga abeceda, osim one koju smo uzeliu razmatranje moze jednako lagano enkodirati na ovaj nacin. Neka suc1, . . . , cr kodovi za sve prijelaze Turingovog stroja M dobiveni na goreopisani nacin. Tada se cijeli Turingov stroj M kodira kao

111c111c211 . . . 11cn111.

Dokazimo sada neka svojstva Turingovih strojeva koja ce nam trebati udaljnjem razmatranju.

Prvo svojstvo koje cemo dokazati smo vec koristili na prethodnoj slici,pretpostavivsi da je klasa RCL ⊆ RCEL. Taj je rezultat izravna posljedicadefinicija 7.15 i 7.16.

Korolar 7.2 Neka je L rekurzivan jezik. Onda je L rekurzivno prebrojivjezik.

Lako se dokazuje sljedece svojstvo:

Propozicija 7.1 Neka je L rekurzivan jezik. Onda je i Lc rekurzivan jezik.

Page 330: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

320 7.4. TURINGOVI STROJEVI

Dokaz. Neka je L rekurzivan jezik. Tada postoji Turingov stroj M kojiodlucuje o jeziku L. Konstruirajmo Turingov stroj M ′ na sljedeci nacin:Turingov stroj M ′ je jednak Turingovom stroju M u svemu, osim u prijela-zima koji prevode stroj u zavrsno stanje. Promjene su napravljene tako daako stroj M prelazi u stanje qT , onda stroj M ′ prelazi u stanje qF i obrnuto.Jasno je da ce tako definirani Turingov stroj M ′ stati u stanju qF za svakurijec w ∈ L te da ce stati u stanju qT za svaku rijec w′ 6∈ L. Drugim rijecima,Turingov stroj M ′ odlucuje o jeziku Lc.

Tvrdnja prethodne propozicije jest intuitivno vrlo jasna. No, isto je takojasno da klasa rekurzivno prebrojivih jezika ne mora biti zatvorena s obziromna komplement. Takoder, intuicija nam govori, ako je klasa rekurzivnoprebrojivih jezika zatvorena s obzirom na komplement, onda je RCEL=RCL.Naime, vrijedi sljedeci teorem:

Teorem 7.6 Neka je L jezik. L je rekurzivan ako i samo ako su L i Lc

rekurzivno prebrojivi.

Iskaz ovog teorema moze se prikazati sljedecom slikom:

RCEL coRCEL

RCL

Slika 7.12

Prije no sto dokazemo ovu tvrdnju, dokazat cemo sljedecu propoziciju.

Propozicija 7.2 Neka su L1 i L2 rekurzivni (rekurzivno prebrojivi) jezicinad istom abecedom Σ. Onda je i jezik L1 ∪ L2 rekurzivan (rekurzivnoprebrojiv).

Dokaz.Neka su jezici L1 i L2 rekurzivni. Neka su M1 i M2 Turingovi strojevi

koji odlucuju o jezicima L1 i L2. Tada konstruiramo Turingov stroj M kakoslijedi.

Page 331: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 321

Prvo je potrebno ulazni niz znakova na traci iskopirati u dvije kopijekako je to napravljeno u primjeru 7.20. Dakle, M prvo mora simulirati radTS iz primjera 7.20.

Nakon toga M simulira rad TS M1 na prvoj kopiji ulaznog niza znakova.No, TS M1 se za svaku rijec nakon konacno mnogo koraka zaustavlja u stanjuqT ili u stanju qF , pa ce tako i simulacija. Ako bi se stroj M1 zaustavio ustanju qT , onda i stroj M staje u stanju qT . Ako bi se TS M1 zaustavio ustanju qF , onda TS M nastavlja s radom, simulirajuci sada TS M2 na drugojkopiji ulaznog niza znakova. M2 takoder za svaku rijec staje u konacnomnogo koraka u stanju qT ili pak u stanju qF . U svakom slucaju TS M uoba slucaja staje i to u istom onom stanju u kojem staje TS M2.

Jasno je da ce TS M stati u stanju qT ako u tom stanju staje TS M1 ilipak M2, dok za rijeci za koje i M1 i M2 staju u stanju qF , i TS M staje ustanju qF . Dakle, TS M odlucuje o jeziku L1 ∪ L2.

Ako su jezici L1 i L2 rekurzivno prebrojivi, onda se M konstruira malodrugacije. Naime, tada nije sigurno da ce M1 ikada stati, pa ne mozemoprvo simulirati M1, a nakon toga M2.

Kao i u prethodnom slucaju, i u ovom slucaju moramo ulazni niz znakovaudvostruciti na traci.

Sada cemo simulirati rad M1 i M2 paralelno, simulirajuci jedan korak TSM1 na prvoj kopiji ulaznog niza znakova, a nakon toga jedan korak TS M2

na drugoj kopiji ulaznog niza znakova, nakon cega se opet simulira korak TSM1 na prvoj kopiji ulaznog niza znakova itd. Jedini problem koji je kod togapotrebno rijesiti je kako zapamtiti gdje se nalazi glava za citanje pojedinesimulacije. To se moze izvesti na razlicite nacine. Najjednostavniji je da seza svaki simbol σ ∈ Σ u abecedi TS M definira jos jedan znak σ′ koji ceimati znacenje znaka σ, ali ce dodatno pokazivati da bi se glava simuliranogTS nalazila u tom trenutku na njemu.

Ako bilo koji od Turingovih strojeva M1 i M2 prepoznaje rijec koja seobraduje, TS M ce u simulaciji doci do koraka u kojem neki od simuliranihTuringovih strojeva staje u stanju qT . Tada i M staje u stanju qT .

Tako konstruirani TS M prepoznaje jezik L1 ∪ L2.Sada mozemo prijeci 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 Lc rekurzi-

van. U tom slucaju je, prema korolaru 7.2 jezik Lc rekurzivno prebrojiv.Obrnuto, neka su jezici L1 i L2 rekurzivno prebrojivi. Tada postoje

Turingovi strojevi M1 i M2 koji prepoznaju rijeci jezika L i Lc.Bez smanjenja opcenitosti mozemo pretpostaviti da su M1 i M2 kon-

struirani tako da u slucaju da ne prepoznaju neku rijec odlaze u beskonacnupetlju. Naime, ako neki od ovih Turingovih strojeva staje u stanju qF , ilipak funkcija prijelaza nije definirana, mozemo ga prebaciti u novo stanje,koje za bilo koji ulaz pomice glavu u desno i vraca se u isto stanje.

Page 332: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

322 7.4. TURINGOVI STROJEVI

Konstruirajmo TS M na sljedeci nacin:M prvo kopira ulazni niz znakova u dvije kopije kako je to opisano u

primjeru 7.20. Nakon toga, slicno kao u drugom dijelu dokaza propozicije7.2, simuliramo Turingove strojeve M1 i M2 paralelno, tako da prvo simuli-ramo jedan korak TS M1 na prvoj kopiji ulaznog niza znakova, pa ondajedan korak TS M2 na drugoj kopiji ulaznog niza znakova, itd. Kako zasvaku rijec w ∈ Σ∗ vrijedi da je W ∈ L ili je we ∈ Lc, to svaku rijec w ∈ Σ∗

prepoznaje ili TS M1 ili TS M2 dakle, u konacno mnogo koraka ili ce se M1

ili M2 naci u stanju qT . Ako se M1 nade u stanju qT , onda i M prelazi ustanje qT . Ako se pak M2 nade u stanju qT , onda TS M prelazi u stanje qF .

Jasno je da TS M odlucuje o jeziku L, pa je L rekurzivan.Konacno, 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. Hoce li se TS M zaustaviti za ulaz x?

Drugacije definirano, neka je H jezik nad abecedom univerzalnog Tu-ringovog stroja definiran na sljedeci nacin: H = (M, x) : |M(x) 6=.Pri tome s M(x) = oznacavamo da TS M za ulaz x odlazi u beskonacnupetlju. Dakle, jezik H sadrzi sve rijeci za koje TS M ne odlazi u beskonacnupetlju.

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, prijedeu stanje qT .

HP ima jos jedno vrlo vazno svojstvo: on je potpun problem za klasurekurzivno prebrojivih problema. To znaci da vrijedi sljedeci teorem, kojinecemo dokazivati:

Teorem 7.7 RCL = RCEL ako i samo ako je HP ∈ RCL.

No, odmah se ispostavlja sljedeca tvrdnja.

Teorem 7.8 H nije rekurzivan.

Dokaz. Pretpostavimo da postoji TS MH koji odlucuje o jeziku H.Modificirajmo MH tako da dobijemo TS MD. MD kao ulaz prima kodoveTuringovih strojeva i obraduje ih na sljedeci nacin: za ulaz M , TS MD

simulira rad TS MH za ulaz (M, M) sve do trenutka kada MH treba stati.MH sigurno mora stati zbog pretpostavke da on odlucuje o jeziku H. AkoMH staje u stanju qT , TS MD ulazi u stanje koje ce u beskonacnoj petljipomicati glavu za citanje u desno. Ako MH staje u stanju qF , onda MD

staje u stanju qT .

Page 333: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 323

Sada se postavlja pitanje sto je MD(MD)?Ako je MD(MD) =, to, po definiciji TS MD znaci da MH prihvaca

rijec (MD,MD). Dakle, (MD,MD) ∈ H. No tada po definiciji od H vrijedida je (MD(MD) 6=.

Dakle, MD(MD) 6=. Tada, prema definiciji od MD TS MH odbacujerijec (MD, MD). Dakle, (MD, MD) 6∈ H. No tada, prema definiciji od Hvrijedi da je MD(MD) =.

Dakle, ovakav TS MD ne moze postojati. No, ako je H rekurzivan, ondaje MD dobro definiran, pa se zakljucuje da H ne moze biti rekurzivan.

Dajmo, za kraj ovog poglavlja, jos nekoliko jezika koji su rekurzivnoprebrojivi, a nisu rekurzivni.

Propozicija 7.4 Sljedeci jezici nisu rekurzivni:

1. M |M se zaustavlja za sve ulaze2. (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 nedeterministicki

Turingov stroj i kakva ce biti klasa jezika koju ce on prepoznavati s obziromna klasu jezika koju prepoznaje deterministicki Turingov stroj.

Jasno je kako se definira nedeterministicki Turingov stroj (NTS): takoda se δ definira kao relacija prijelaza, a ne kao funkcija. No, pokazuje se dase, sto se tice klase jezika o kojoj automat odlucuje, ne dobiva nista nova.Naime, vrijedi sljedeci teorem.

Teorem 7.9 Neka za jezik L postoji nedeterministicki Turingov stroj M1

koji ga prihvaca (koji o njemu odlucuje). Tada postoji deterministickiTuringov stroj koji prihvaca jezik L (odlucuje o njemu).

Ovaj teorem se moze dokazati na razne nacine, no svi zahtjevaju uvode-nje dodatnih automata preko kojih se uspostavlja ekvivalencija. Najlakse seekvivalencija uspostavlja preko deterministickih Turingovih strojeva s visetraka (VTTS). Tada se dokazuje da vrijedi TS ⇔ V TTS ⇔ NTS. No ovobi razmatranje znatno prosirilo ovo poglavlje, za sto nema potrebe. Oni kojisu zainteresirani, ovaj dokaz, kao i svu potrebnu aparaturu koju treba uvestiza dokaz mogu pronaci u [3].

No, uvodenje nedeterministickih Turingovih strojeva dovodi nas do drugezanimljive stvari u teoriji algoritama. Oznacimo li s P klasu svih proble-ma koji su rjesivi u polinomno mnogo koraka deterministickog Turingovogstroja s obzirom na velicinu ulaza, a s NP klasu svih onih koji su rjesivi upolinomno mnogo koraka nedeterministickog Turingova stroja s obzirom navelicinu ulaza. Prirodno se postavlja pitanje, koje je jedno od najpoznatijih

Page 334: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

324 7.5. ZADACI

nerjesenih problema danasnje matematike: pitanje vrijedi li P = NP? Ovopitanje vec desetljecima pokusava rijesiti velik broj matematicara. Jasno jeda je P ⊆ NP , no postoje klase problema za koje se lako dokazuje da senalaze u klasi NP , ali za koje ne postoji algoritam koji bi pokazao da su uklasi P .

Ovdje se, zapravo, radi o definiciji vremenske slozenosti algoritama naTuringovom stroju. Nadalje, interesantno je, takoder, da vrijedi da ako jeTuringova slozenost nekog problema (najmanja slozenost koju moze posticiTS rjesavajuci taj problem) Θ(f(n)), onda ce algoritamska slozenost togproblema (u smislu racunalnih programa, kako je definirano u poglavlju 4)takoder Θ(f(n)).

Tijekom tog istrazivanja doslo se do nekih interesantnih rezultata, ajednim od najznacajnijih zavrsit cemo ovo poglavlje:

Taj se rezultat veze uz jedan istaknuti problem koji se zove problemispunjivosti propozicijske formule u konjunktivnoj normalnoj formi (SAT):

Problem 7.2 (SAT)Neka je zadana formula racuna sudova (sud) F u konjunktivnoj normalnojformi. 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 strojM i svaki ulaz w poveze s nekom formulom racuna sudova u konjunktivnojnormalnoj formi s najvise tri literala po konjunktu koja je ispunjiva ako isamo ako M prihvaca w. Takoder se pokazuje da se takva formula mozepronaci u polinomno mnogo koraka s obzirom na velicinu ulaza (M, w).

Postoji li TS (algoritam) koji moze u polinomno mnogo koraka rijesitiproblem SAT , on ce moci zajedno s TS koji u polinomno mnogo korakagenerira formulu F , za svaki TS M i ulaz w odrediti prihvaca li M ulaz w ito u polinomnom vremenu. Detalje ovog dokaza mozete naci u [6].

7.5 Zadaci

1. Napravite deterministicke konacne automate koji prihvacaju sljedecejezike nad abecedom 0, 1:

(a) Skup svih nizova znakova koji zapocinju s 00 ili zavrsavaju s 11.

(b) Skup svih nizova znakova koji u sebi sadrze tri uzastopne jedinice.

(c) Skup svih nizova znakova koji imaju kao 10 znak broj 1.

2. Konstruirajte DKA koji je ekvivalentan sa sljedecim NKA:

Page 335: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 325

q0

q1

0,1 0

q2

0,1

q3 0

Slika 7.13

3. Konstruirajte DKA koji je ekvivalentan sa sljedecim NKA:

q0

q1

0,1

q2

0,1

q3 0

1

11

0

Slika 7.14

4. Napravite DKA koji prepoznaje jezik opisan sljedecim 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. Dokazite sljedece tvrdnje.

(a) rs = st

(b) (rs)t = r(st)

Page 336: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

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 sljedecih jezika regularni?

(a) 02n|n ≥ 1(b) 0m1n0m+n|m ≥ 1, n ≥ 1(c) 0n|n je prost broj

7. Pokazite da jezik L = 0i1j |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 sljedecu gramatiku:

S → aAA

A → aS

A → bS

A → a

12. Dokazite da postoji nedeterministicki potisni automat koji prepoznajejezik L = 0n1n|n ∈ N ∪ 0n12n|n ∈ N, ali i da ne postoji determi-nisticki potisni automat koji bi prepoznavao taj jezik.

13. Pokazite da sljedeci jezici nisu kontekstno slobodni:

(a) L = aibjck|i < j < k,(b) L = aibj |j = i2,(c) ai|i prost broj.

14. Napravite Turingove strojeve koji prepoznaju sljedece jezike:

(a) L = 0n1n0n|n ∈ N.

Page 337: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

POGLAVLJE 7. MATEMATICKA TEORIJA RACUNALSTVA 327

(b) Jezik koji se sastoji od rijeci s jednakim brojem znakova 0 i 1.

15. Napravite Turingov stroj koji ce vrsiti sljedeca izracunavanja:

(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) n2 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 racunalni program koji ce kao ulaz uzimati datoteku u kojuje zapisana definicija Turingovog stroja i ulazni niz znakova. Programtreba simulirati rad Turingovog stroja i vratiti izlazni niz znakova istanje u kojem je stao.

2. Proucite gramatike definitnih klauzula koje su dio programskog jezikaProlog, usporedite ih s kontekstno slobodnim gramatikama. Odreditekoja se klasa jezika moze opisati gramatikama definitnih klauzula.

3. Proucite nedeterministicke Turingove strojeve i pokazite da nedeter-ministicki Turingov stroj prepoznaje istu klasu jezika kao i determini-sticki Turingov stroj.

4. Proucite Turingove strojeve s vise traka i nedeterministicke Turingovestrojeve. Pokazite da oni prepoznaju istu klasu jezika - klasu rekur-zivno prebrojivih jezika. Takoder, pokazite da oni odlucuju o klasirekurzivnih jezika. Drugim rijecima, pokazite da su oni ekvivalentniTuringovim strojevima.

5. Dokazite Cookov teorem.

Page 338: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

328 7.6. PROJEKTI

Page 339: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Bibliografija

[1] Atallah, M. J. (ed.) (1999): Algorithms and Theory of ComputationHandbook, CRC Press

[2] Hemaspaandra, L. A., Ogihara, M. (2002): The Complexity TheoryCompanion, 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 ofComputation, Prentice-Hall International

[6] Papadimitriou, C. H. (1994): Computational Complexity, Addison-Wesley

329

Page 340: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

Predmetno kazalo

abeceda, 29, 294aditivni inverz, 57alfabet, 294algoritam, 125

Dijkstrin, 210Euklidov, 126Fleuryjev, 212Hornerov, 128Kruskalov, 223pretrazivanje

binarno, 141slijedno, 139

Primov, 224sortiranje

izborom, 145mjehuricasto, 153pomocu hrpe, 158pomocu pretinaca, 183prebrojavanjem, 180quicksort, 168radix, 181spajanjem, 155umetanjem, 150zamjenom, 147

antitautologija, 21, 32aritmeticki niz, 79

razlika, 79atom, 30atomarna formula, 30

bijekcija, 71binarna operacija, 254

asocijativna, 255komutativna, 257neutralni element, 255

suprotni element, 256zatvorena, 255

binarne rijeci, 267binomni poucak, 96bitovi, 267bojenje bridova, 240bojenje vrhova, 237broj klike, 239

Cayleyeva tablica, 254Churchova hipoteza, 126ciklus, 200

Hamiltonov, 208

cvor, 49

digraf, 226disjunkt, 27diskretni vjerojatnosni prostor, 97distribucija slucajne varijable, 110dogadaj

nemoguc, 97potpuni sustav, 105siguran, 97

dokazdirektni, 7po kontrapoziciji, 7, 24protuprimjer, 8

donja meda, 73Duljina ciklusa, 243duljina rijeci, 294

ekvivalencija, 7, 20ekvivalentne tvrdnje, 12

F-sustav, 23

330

Page 341: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

BIBLIOGRAFIJA 331

Fitchov sustav, 23formula, 30

ekvikontradiktornost, 37ispunjiva, 32otklonjiva, 32zatvorena, 30

fundamentalni teorem aritmetike,68

funkcija, 69, 71algebarska, 72

iracionalna, 72racionalna, 72

bijekcija, 71dekodirajuca, 268graf, 73homografska, 73identiteta, 70implicitno zadana, 73injekcija, 71inverzna, 71kodirajuca, 268kompozicija, 70konstantna, 71lokalni ekstremi, 74monotona, 74neparna, 72, 74ogranicena, 73ogranicena odozdo, 73ogranicena odozgo, 73padajuca, 74parna, 72, 74periodicna, 74racionalna, 72rastuca, 74realna realne varijable, 72strogo padajuca, 74strogo rastuca, 74surjekcija, 71transcedentna, 72

generator grupe, 258geometrijski niz, 80gornja meda, 73graf, 193

bipartitan, 196Hamiltonov, 208izomorfizam, 198jednostavan, 194komponente povezanosti, 201konacan, 194Petersenov, 199planaran, 194potpuni, 194potpuni bipartitan, 196povezan, 201regularan, 199skup bridova, 193skup vrhova, 193tezinski, 210usmjereni, 226

gramatikakontekstno slobodna, 298

grupa, 257Abelova, 257ciklicka, 258dihedralna, 288izomorfizam, 263Kleinova 4-, 289kodova, 270komutativna, 257morfizam, 264permutacija, 259red, 257simetricna, 259

Hammingova udaljenost, 267, 268hrpa, 158

identiteta, 70incidentan brid, 194incidentni vrhovi bridu, 194injekcija, 71instanca, 38instanca masovnog problema, 126integralna domena, 279interpretacija, 19inverzija, 72izomorfizam grafova, 198

Page 342: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

332 BIBLIOGRAFIJA

izvod, 25izvor, 232

jezik, 295deterministicki kontekstno

slobodan, 313odluciv, 318rekurivno prebrojiv, 318rekurzivan, 318

kapacitet reza, 234Kartezijev kvadrat, 49Kartezijev produkt, 48, 49klasa ekvivalencije, 52klika, 239kod

ciklicki, 285linearni, 270sistematican, 268

kodne rijeci, 268kombinacija

bez ponavljanja, 95ponavljanjem, 95

konacni automatdeterministicki, 299nedeterministicki, 303nedeterministicki s ε prijelaz-

ima, 305konjunktivna normalna forma, 27kontrapozicija, 6kontrolna matrica, 273kontrolni bit, 268korijen, 216kriticni put, 229, 231kromatski broj, 237, 240kvaternioni, 289

lema o rukovanju, 197list, 215literal, 27

negativni, 27pozitivni, 27

logicka posljedica, 20lokalni maksimum, 74lokalni minimum, 74

luk, 49

maksimalna vrijednost, 74masovni problem, 126matematicka indukcija, 9

jaka, 10matematicka struktura, 2matematicko ocekivanje, 109matrica, 36matrica incidencije, 204matrica izvodnica, 272matrica permutacija, 207matrica susjedstva, 204max-hrpa, 166metrika, 268min-hrpa, 166minimalna udaljenost koda, 269minimalna vrijednost, 74model, 32modus ponens, 25modus tollens, 26, 29monoid, 257most, 203mreza

usmjerena, 228

nadgraf, 222najkraci put, 210najmanja gornja meda, 66najmanji zajednicki visekratnik,

68najveca donja meda, 66najveca zajednicka mjera, 68najveci zajednicki djelitelj, 68nulgraf, 193nultocka, 73

odlucivanje praznim stogom, 308,309

odlucivanje zavrsnim stanjem,308, 309

ogranicenje varijabli, 31optimalni ciklus, 209osnovni period, 74

Page 343: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

BIBLIOGRAFIJA 333

partikularno rjesenje, 86period, 74permutacija, 72, 93

s ponavljanjem, 94petlja, 194podgraf, 222

razapinjuci, 222podgrupa, 260

ciklicka, 262trivijalna, 260

podrijec, 295polinom, 72polje, 279

konacno, 279realnih brojeva, 278

polugrupa, 257ponor, 232potisni automat

deterministicki, 307nedeterministicki, 308

prefiks, 36, 295primitivna normalna forma, 36princip dobrog uredaja, 69problem rasporeda, 229proces, 2projektivna geometrija, 289prost broj, 68prostor elementarnih dogadaja, 97protok, 232prosireno ogranicenje varijabli, 31prsten, 276

komutativan, 276pseudograf, 194put, 200

Hamiltonov, 208

red elementa grupe, 258refutacija, 28regularni izraz, 295rekurzivna definicija, 10rekurzivna jednadzba

karakteristicna jednadzba, 82linearna homogena, 82linearna nehomogena, 82

podijeli pa ovladaj, 89relacija

antisimetricna, 62asimetricna, 62binarna, 49dualna, 51ekvivalencije, 51irefleksivna, 62komplement, 51kompletna, 62obrat, 51redukcija, 55strogo kompletna, 62uredaja, 63

-kvazi, 63dobrog, 65parcijalnog, 63parijalnog, 63slabog, 63totalnog, 63

relativno prosti brojevi, 68rez, 234rezolucija, 27

hiper-, 29linearna, 29semanticka, 29

rezolventa, 39recenica, 30rijec, 294

konkatenacija, 294prazna, 294

Skolemova normalna forma, 36skup

beskonacan, 78ekvivalentan, 77kardinalni broj, 78konacan, 78kvocijentni, 53neprebrojiv, 78parcijalno uredeni, 63particija, 52prebrojiv, 78prebrojivo beskonacan, 78

Page 344: Divjak_ Blaženka_ Lovrenčić_ Alen-Diskretna matematika s teorijom grafova

334 BIBLIOGRAFIJA

totalno uredeni, 64univerzalni, 46uzoraka, 97

slozenost algoritmanajbolji slucaj, 132najgori slucaj, 132prosjecni slucaj, 132prostorna, 130vremenska, 130

slucajna varijablabinomna, 107diskretna uniformna, 107hipergeometrijska, 109indikatorska, 114

slucajni pokus, 97sparivanje, 242

maksimalno, 242savrseno, 242

stablo, 215binarno, 217binarno pretrazivanja, 218izvoda, 310korijensko, 216potpuno, 218razapinjuce, 222soritranja, 218uredeno binarno, 217

standardna devijacija, 114staza, 201

Eulerova, 201Stirlingovi brojevi, 53strogi lokalni maksimum, 74strogi lokalni minimum, 74struk, 243struktura

semanticka, 31stupanj vrha, 196sud, 5

ispunjiv, 21izvediv, 25otklonjiv, 21slozeni, 6

sufiks, 295surjekcija, 71

susjedni bridovi, 194susjedni vrhovi, 194

setnja, 200ciklus, 200usmjerena, 227zatvorena, 200

suma, 215

tautologija, 21, 32teorija kodiranja, 265term

temeljni, 38tezina rijeci, 270tezina stabla, 223tura

Eulerova, 202Turingov stroj, 314

nedeterministicki, 323s vise traka, 323univerzalni, 319

tvrdnja o egzistenciji, 7

unifikacija, 38unifikator, 38

maksimalni, 38univerzalna tvrdnja, 7uredena n-torka, 49uredeni par, 49

valuacija, 38varijabla

slobodna, 30u dosegu, 30

varijacijabez ponavljanja, 94s ponavljanjem, 94

varijanca, 114vektorski prostor, 281

polinoma, 286vjerojatnost

uvjetna, 104vrijednost protoka, 233

zbroj kodnih rijeci, 270