206
Elektronsko izdanje (2020)

(2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 2: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 3: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Predrag Janicic Mladen Nikolic

VESTACKA INTELIGENCIJA

Beograd2020.

Page 4: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Autori:dr Predrag Janicic, redovni profesor na Matematickom fakultetu u Beogradudr Mladen Nikolic, docent na Matematickom fakultetu u Beogradu

VESTACKA INTELIGENCIJA

...

...

Obrada teksta, crtezi i korice: autori

©2020. Predrag Janicic i Mladen NikolicOvo delo zasticeno je licencom Creative Commons CC BY-NC-ND 4.0 (Attribution-NonCommercial-NoDerivatives 4.0International License). Detalji licence mogu se videti na veb-adresi http://creativecommons.org/licenses/by-nc-nd/4.0/. Dozvoljeno je umnozavanje, distribucija i javno saopstavanje dela, pod uslovom da se navedu imena autora.Upotreba dela u komercijalne svrhe nije dozvoljena. Prerada, preoblikovanje i upotreba dela u sklopu nekog drugog nijedozvoljena.

Page 5: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Sadrzaj

Sadrzaj 5

I Pretraga 9

1 Resavanje problema koriscenjem pretrage 111.1 Elementi problema pretrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Resenje problema i kvalitet algoritama pretrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.3 Neinformisana i informisana pretraga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 Neinformisana pretraga 172.1 Obilazak grafa u dubinu i sirinu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2 Dejkstrin algoritam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Informisana pretraga 253.1 Pohlepna pretraga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2 Pretraga Prvo najbolji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3 Algoritam A* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4 Igranje strateskih igara 454.1 Senonove opste strategije za igranje igara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2 Legalni potezi i stablo igre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.3 Otvaranje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.4 Sredisnjica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.5 Zavrsnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5 Genetski algoritmi 595.1 Opsti genetski algoritam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.2 Komponente genetskog algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.3 Svojstva genetskih algoritama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.4 Primeri primene genetskih algoritama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

II Automatsko rasudivanje 71

6 Resavanje problema koriscenjem automatskog rasudivanja 736.1 Modelovanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.2 Resavanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7 Automatsko rasudivanje u iskaznoj logici 757.1 Sintaksa i semantika iskazne logike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777.2 Logicke posledice i logicki ekvivalentne formule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827.3 Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici . . . . . . . . . . . . . . . . . . . . . . . . . 857.4 Resavanje problema svodenjem na SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

5

Page 6: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8 Automatsko rasudivanje u logici prvog reda 1058.1 Sintaksa i semantika logike prvog reda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068.2 Logicke posledice i logicki ekvivalentne formule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148.3 Ispitivanje zadovoljivosti i valjanosti u logici prvog reda . . . . . . . . . . . . . . . . . . . . . . . 1168.4 Resavanje problema svodenjem na problem valjanosti . . . . . . . . . . . . . . . . . . . . . . . . . 134

III Masinsko ucenje 143

9 Resavanje problema koriscenjem masinskog ucenja 1459.1 Primeri primena masinskog ucenja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469.2 Modelovanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479.3 Resavanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1509.4 Evaluacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

10 Nadgledano masinsko ucenje 15310.1 Klasifikacija i regresija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15310.2 Elementi algoritama nadgledanog ucenja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15310.3 Dopustivi modeli i minimizacija greske . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15410.4 Preprilagodavanje i regularizacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15510.5 Linearni modeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16110.6 Neuronske mreze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16510.7 Modeli zasnovani na instancama: metoda 𝑘 najblizih suseda . . . . . . . . . . . . . . . . . . . . . 17110.8 Stabla odlucivanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17610.9 Evaluacija modela i konfigurisanje algoritama ucenja . . . . . . . . . . . . . . . . . . . . . . . . . 180

11 Nenadgledano ucenje 19111.1 Klasterovanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

12 Ucenje potkrepljivanjem 19912.1 Markovljevi procesi odlucivanja i njihovo resavanje . . . . . . . . . . . . . . . . . . . . . . . . . . 20012.2 Ucenje u nepoznatom okruzenju . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20312.3 Primene ucenja potkrepljivanjem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

6

Page 7: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Predgovor

Ova knjiga nastala je na osnovu beleski koje prate predavanja za predmet Vestacka inteligencija koje smodrzali akademskih godina od 2007/08 do 2018/19 (prvi autor) i vezbe od 2007/08 do 2011/12 (drugi autor).Knjiga treba da olaksa pripremu prateceg ispita, ali nadamo se da moze da bude zanimljiva svima koje interesujeova oblast racunarstva.

Zahvaljujemo koleginici Danijeli Simic koja je kreirala zadatke za pismene ispite iz predmeta Vestacka inteli-gencija od 2011/12 do 2016/17, a od kojih su mnogi navedeni na kraju lekcija kao zadaci za vezbu. Zahvaljujemokolegama koje su nam dale dragocene komentare i savete, pre svega Vesni Marinkovic, Filipu Maricu, MiroslavuMaricu i Dusku Vitasu. Zahvaljujemo na veoma pazljivom citanju, ispravkama i komentarima i studentima kojisu slusali predmet „Vestacka inteligencija“, pre svega Nemanji Micovicu, Mladenu Canovicu, Jani Protic, Voji-slavu Stankovicu, Nikoli Premcevskom, Nikoli Ajzenhameru, Uni Stankovic, Jeleni Simovic, Nikoli Dimitrijevicu,Aleksandru Mladenovicu, Vladimiru Simonovskom, Petru Vukmirovicu, Danielu Dozi, Ivanu Balevicu, MilanuKovacevicu, Nebojsi Loznjakovicu, Milosu Samardziji, Vojislavu Grujicu, Nemanji Anticu, Denisu Alicicu, Mi-odragu Radojevicu, Dalmi Beara, Mateji Marjanovicu, Dordu Nemetu i Neveni Markovic.

Za nedostatke i propuste u knjizi, odgovorni su, medutim, samo autori.Ova knjiga dostupna je (besplatno) u elektronskom obliku preko internet strana autora.

Predrag Janicic i Mladen Nikolic

Beograd, februar 2020.

7

Page 8: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 9: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)Deo I

Pretraga

Page 10: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 11: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 1

Resavanje problema koriscenjem pretrage

Vestacka inteligencija bavi se, prevashodno, problemima u kojima se javlja kombinatorna eksplozija, pro-blemima cije resavanje zahteva razmatranje ogromnog broja mogucnosti. Resavanje takvih problema obicno sesvodi na neku vrstu pretrage, sistematicnog postupka obrade velikog broja mogucnosti. Kako je sve mogucnosticesto nemoguce razmotriti u razumnom vremenu, potrebno je pretragu usmeravati kako bi se razmotrile mogucnostikoje su izglednije da daju resenje problema. Neke od realnih primena algoritama pretrage su pronalazenje naj-kracih puteva, igranje logickih igara, navigacija robota, automatsko nalazenje redosleda sklapanja delova uindustriji, dizajn proteina sa odredenim trazenim svojstvima, resavanje logistickih problema i slicno.

Problemi pretrage cesto zahtevaju pronalazenje niza koraka ili akcija kojima se ostvaruje cilj kada to ne mozebiti ostvareno pojedinacnim koracima ili akcijama. Pretraga moze biti shvacena i sire, pa ce u daljem tekstubiti opisani i neki problemi i algoritmi optimizacije.

Problemi i algoritmi pretrage mogu se opisati i u terminima agenata. U tom slucaju, smatra se da pretragusprovodi agent, da se agent tokom pretrage moze naci u razlicitim stanjima, da agent pokusava da dode dozavrsnog stanja, itd. Takva formulacija ne menja nista sustinski u problemu ili algoritmima, ali moze bitipogodna zbog uniformnosti kroz razlicite podoblasti vestacke inteligencije.

Primer 1.1. Slagalica 15 (ili Lojdova slagalica) sastoji se od 15 kvadrata rasporedenih na tabli velicine 4x4polja. Kvadrati su numerisani brojevima od 1 do 15. Slagalicu je potrebno urediti tako da su polja poredanaredom od prvog reda i da je poslednje polje u cetvrtom redu prazno. Taj raspored polja moze se kompaktnozapisati kao [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,_] i prikazan je na slici 1.1.

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15

Slika 1.1: Ciljni raspored za slagalicu „15“

Kada je dat proizvoljan raspored polja na tabli, u svakom koraku moze se pomeriti jedno od dva ili jedno odtri ili jedno od cetiri polja. Dakle, za svaki raspored broj mogucih akcija je izmedu dva i cetiri.

Slagalicu je moguce sloziti tako sto se razmatraju svi moguci koraci, a zatim svi moguci koraci u dobijenimstanjima i tako dalje, sve dok se ne naide na trazeni, ciljni raspored (razmatranje svih mogucih koraka za pocetniraspored [_, 2, 3, 4, 6, 5, 10, 12, 9, 1, 8, 15, 13, 14, 7, 11] ilustrovano je na slici 1.2). Ocigledno, ovaj pristup sigurnodovodi do resenja za bilo koju pocetnu poziciju. Isto tako, ocigledno je da je ovaj pristup potpuno neprakticani zahteva razmatranje ogromnog broja mogucnosti. Zaista, za proizvoljnu pocetnu poziciju (koja je dobijena odpocetne pozicije regularnim potezima)1, slagalicu je moguce sloziti u najvise 80 koraka a to je najmanje gornjeogranicenje — postoje pocetne pozicije za koje ne postoji resenje u manje od 80 koraka. To znaci da je zagarantovano pronalazenje resenja potrebno ispitati vise od 280 mogucnosti, sto je naravno prakticno neizvodivo.

1Ako se slagalica rasklopi i poljima 14 i 15 se zamene mesta, onda vise nije moguce sloziti slagalicu.

11

Page 12: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

12

2 3 4

6 5 1012

9 1 8 15

1314 7 11

6 2 3 4

5 1012

9 1 8 15

1314 7 11

2 3 4

6 5 1012

9 1 8 15

1314 7 11

2 3 4

6 5 1012

9 1 8 15

1314 7 11

6 2 3 4

5 1012

9 1 8 15

1314 7 11

6 2 3 4

9 5 1012

1 8 15

1314 7 11

2 3 4

6 5 1012

9 1 8 15

1314 7 11

2 5 3 4

6 1012

9 1 8 15

1314 7 11

2 3 4

6 5 1012

9 1 8 15

1314 7 11

1 2 3 4

5 6 7 8

9 101112

131415

. . .

Slika 1.2: Stablo pretrage za slagalicu „15“

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest590

840

360

240350

230

450

400

390

340

290

380

430

Slika 1.3: Graf koji opisuje problem puteva izmedu gradova

Zbog toga, prakticno sprovodivo resenje zahteva neku dodatnu ideju i usmeravanje pretrage, kako ne bi bilerazmatrane sve mogucnosti. Jedna moguca ideja bi bila da se razmatraju samo koraci koji vode do pozicija kojesu blize resenju, pri cemu se za odredivanje „rastojanja pozicije od ciljne pozicije“ moze uzeti zbir rastojanjasvakog polja od njegove ciljne pozicije. Medutim, ova jednostavna ideja ne dovodi do resenja. Naime, u nekimpozicijama nema koraka koji vodi ka boljoj poziciji (pozicija u korenu stabla na slici 1.2, je jedna takva pozicija).

Primer 1.2. U skupu gradova od kojih su neki medusobno povezani putevima, zadatak je od jednog grada sticido nekog drugog zadatog grada. Ovaj problem moze se razmatrati kao problem pretrage: pretraga moze da kreceod pocetnog grada, da se zatim razmatraju svi gradovi do kojih se moze doci neposredno, i tako dalje, sve dokse ne dode do ciljnog grada. Primer ovakvog problema ilustrovan je na slici 1.3. Konkretan zadatak moze biti,na primer, nalazenje puta od Zagreba do Bukuresta.

Od navedenog bitno je razlicit problem u kojem se ne trazi bilo koji nego najkraci put izmedu dva grada. I tajproblem ima vise varijanti – sve duzine izmedu povezanih gradova su unapred poznate ili ne, vazdusna rastojanjaizmedu svih gradova su poznata ili ne, itd.

Primer 1.3. Jednu od najstarijih grupa matematickih problema cine geometrijski konstruktivni problemi. Zada-

Page 13: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

13 1. Resavanje problema koriscenjem pretrage

tak je lenjirom i sestarom, na osnovu datih ogranicenja ili datih pocetnih tacaka, konstrusati trazenu geometrijskufiguru. Lenjirom i sestarom moze se konstruisati prava koja je odredena dvema tackama, krug cije je sredistejedna tacka i koji sadrzi drugu tacku, moguce je konstruisati presek dve prave i moguce je konstruisati presekprave i kruga — ovo su takozvane elementarne konstrukcije. I ovaj problem moze se razmatrati kao problempretrage: pretraga moze da krece od pocetnih elemenata, zatim se razmatraju svi moguci koraci (sve moguceprimene elementarnih konstrukcija nad postojecim elementima), i tako dalje, sve dok se ne dobije trazena figura.

Primer 1.4. Kao problem pretrage moze da se opise kretanje robota od polazne do ciljne tacke u nepoznatomokruzenju. Robot u vecini trenutaka moze da promeni smer i brzinu kretanja i u zavisnosti od tih akcija mozedo cilja da stigne pre ili kasnije.

Problemi pretrage obicno mogu da se pogodno opisu u terminima grafova (a i da se vizualizuju na odgova-rajuci nacin). Graf moze da opisuje prostor stanja i mogucih akcija i tada je svakom cvoru grafa pridruzenojedno stanje, a svakoj grani jedna akcija. Graf koji opisuje prostor stanja moze da bude usmeren ili neusmeren.Neusmeren je ako za svako stanje 𝐴 iz kojeg se moze nekom akcijom doci do stanja 𝐵, postoji odgovarajucaakcija iste cene kojom se iz stanja 𝐵 moze doci do stanja 𝐴. U primeru slagalice, graf prostora stanja je neu-smeren, svakom cvoru grafa pridruzen je jedan raspored, a granama odgovaraju pojedinacni koraci. I u primerugradova, graf prostora stanja je neusmeren, a svakom cvoru pridruzen je jedan grad (slika 1.3). Za igru sah,medutim, graf bi bio usmeren (jer postoje pozicije 𝐴 i 𝐵 takve da se iz 𝐴 moze jednim potezom doci do 𝐵, aline i obratno).

Pretrazivanjem, obilaskom grafa prostora stanja nastaje stablo pretrazivanja ili stablo pretrage (slika 1.2). Ustablu pretrage svakom cvoru pridruzeno je jedno stanje, ali jedno stanje moze da bude poseceno vise puta tokomobilaska, te moze da se nalazi u vise cvorova stabla pretrage. Zato stablo pretrage moze da bude beskonacnoi onda kada je prostor stanja konacan. Kada se kaze „cvor“, obicno je iz konteksta jasno da li se misli na cvorprostora stanja ili na cvor u stablu pretrage, a cesto se isto oznacavaju cvor i stanje koje mu je pridruzeno.

U mnogim problemima vestacke inteligencije potrebno je obici neki graf ili odrediti najkraci put izmedu dvacvora grafa i ovi problemi se, dakle, prirodno razmatraju kao problemi pretrage. Opsti problem nalazenja puta(eng. path finding) moze se opisati na sledeci nacin: dat je graf svojim cvorovima i granama izmedu nekih odnjih i zadatak je naci put izmedu dva zadata cvora (polazni cvor i ciljni cvor). Granama grafa mogu da budupridruzene nenegativne cene i zadatak moze da bude nalazenje puta izmedu zadata dva cvora takvog da je zbircena svih grana koje pripadaju putu minimalan. Postoji mnogo algoritama za resavanje ovog problema i oniimaju mnoge primene, ukljucujuci primene u planiranju obilazaka i putovanja, dizajniranju cipova, rutiranju uracunarskim mrezama, navigaciji robota, industriji igara, itd.

1.1 Elementi problema pretrage

Da bi se neki problem razmatrao kao problem pretrage i resavao primenom algoritama pretrage, on trebada ima odredenu strukturu i odredene elemente:

Skup mogucih stanja: U toku procesa pretrage razmatraju se razlicita stanja. Za odlucivanje u datom tre-nutku potrebno je poznavanje skupa svih stanja (ne samo onih dostupnih iz polaznog stanja).

Polazno stanje: Resavanje problema krece od jednog odredenog stanja, koje nazivamo polaznim stanjem.

Test cilja: Problem je resen ako se dode do ciljnog stanja, zavrsnog stanja. Potrebno je da postoji raspolozivefektivan test koji proverava da li se doslo do ciljnog stanja tj. do zavrsetka procesa pretrage.

Skup mogucih akcija: U svakom koraku pretrage moze se preduzeti neki korak, neka akcija. Niz akcijapreduzetih u odgovarajucim trenucima treba da dovede do resenja problema. Skup mogucih akcija mozebiti isti u svakom stanju ili moze da se razlikuje od stanja do stanja, sto zavisi od problema koji se resava.

Funkcija prelaska: Ova funkcija preslikava par stanje-akcija u novo stanje, dobijeno izborom neke akcije unekom stanju.2

Funkcija cene: Ova funkcija preslikava par stanje-akcija u numericku vrednost — cenu preduzimanja dateakcije u datom stanju.

2Ukoliko ova funkcija nije poznata, nije poznato u koje ce se stanje dospeti posle preduzimanja odredene akcije i procesodlucivanja postaje kompleksniji. Funkcija prelaska nije poznata, na primer, u slucaju delovanja u nepoznatoj ili promenljivojokolini. Jedan nacin resavanja ovakvih problema je koriscenjem informacija iz iskustva i masinskog ucenja i aproksimiranjem ovefunkcije pomocu procesa koji se zasniva na analizi pokusaja i gresaka.

Page 14: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

1.2. Resenje problema i kvalitet algoritama pretrage 14

Kod nekih problema nabrojani elementi se lako i prirodno uocavaju, dok je kod drugih najpre potrebnopreformulisanje problema.

Stanja koja su neposredno dostupna iz nekog stanja zovemo i susedima tog stanja a ponekad i decom togstanja.

Primer 1.5. Elementi problema iz primera 1.1 mogu biti definisani na sledeci nacin:

• Skup stanja: skup svih permutacija [𝑠1𝑠2 . . . 𝑠16] za 𝑠𝑖 ∈ _, 1, 2, . . . , 15.

• Polazno stanje: polazno stanje moze biti bilo koje stanje slagalice (za neke od njih ciljni raspored nijemoguce dobiti).

• Test cilja: provera da li je stanje jednako [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,_].

• Skup mogucih akcija: za neka stanja moze biti 𝑙𝑒𝑣𝑜, 𝑑𝑒𝑠𝑛𝑜, 𝑔𝑜𝑟𝑒, 𝑑𝑜𝑙𝑒, gde se date akcije odnose na po-meranje praznog polja levo, desno, gore i dole. Iako je naizgled prirodnije kao akcije razmatrati pomeranjekvadrata susednih praznom polju na prazno polje, ovakva formulacija je jednostavnija zbog uniformnosti.Za neka stanja (kada je prazno polje na rubu slagalice) moguce su samo neke dve ili neke tri od navedenihakcija.

• Funkcija prelaska: preslikava par stanja-akcija u stanja koja nastaju pomeranjem praznog polja na nekuod cetiri moguce strane.

• Funkcija cene: moze biti konstantna za svaku akciju (na primer, 1), posto se sva pomeranja mogu smatratijednako skupim. Cena resenja je u tom slucaju jednaka ukupnom broju pomeranja potrebnih za slaganjeslagalice.

Primer 1.6. Elementi problema stizanja iz jednog grada u drugi (primer 1.2) su:

• Skup stanja: skup gradova.

• Polazno stanje: polazno stanje je grad iz kojeg se krece.

• Test cilja: provera da li je tekuci grad jednak ciljnom gradu.

• Skup mogucih akcija: kretanje ka neposredno dostupnim gradovima (skup mogucih akcija u ovom problemuse razlikuje od stanja do stanja, jer su za razlicite gradove razliciti i skupovi neposredno dostupnih gradova).

• Funkcija prelaska: odredena je vezama izmedu gradova (i smerom u kojem se krece iz tekuceg grada).

• Funkcija cene: na primer, cena za jednu akciju jednaka je duzina puta ili ceni goriva potrebnog za prevozizmedu susednih gradova.

Primer 1.7. U slucaju kretanja robota (primer 1.4), bilo bi potrebno odrediti moguce smerove kretanja i diskre-tizovati intervale u kojima se menja smer kretanja. Takode, bilo bi potrebno odluciti da li se pokreti razlicitimdelovima robota mogu preduzimati simultano ili ne. Posle toga bi se navedeni elementi problema mogli lakodefinisati.

1.2 Resenje problema i kvalitet algoritama pretrage

Resenje problema pretrage je niz koraka (akcija) koji vode od polaznog stanja do ciljnog stanja.Kao i kod drugih vrsta algoritama, kod algoritama pretrage potrebno je poznavati njihova svojstva kako bi

se lakse izvrsio izbor pogodnog algoritma za dati problem. Najvaznija opsta svojstva koje algoritmi pretragemogu da imaju su sledeca:

Potpunost je svojstvo koje garantuje da ce algoritam naci neko resenje problema ako resenja uopste postoje.Ovo svojstvo je ocito pozeljno, ali se u nekim slucajevima ne zahteva. Naime, u slucaju vrlo teskihproblema cesto je moguce formulisati heuristike koje ne garantuju pronalazenje resenja, ali u visokomprocentu slucajeva nalaze dobra resenja mnogo brze nego potpuni algoritmi.

Optimalnost je svojstvo koje garantuje nalazenje resenja sa najmanjom cenom (pri cemu se cenom resenjamoze smatrati zbir cena akcija koje se preduzimaju)3. Optimalno resenje je resenje sa najmanjom cenomi ono ne mora biti jedinstveno. Moguce je da algoritam koji nema svojstvo optimalnosti cesto pronalaziresenja bliska optimalnim, ali u znacajno kracem vremenu.

3Svojstvo optimalnost algoritma moze da ima i drugacije znacenje: da je (vremenska ili prostorna) slozenost algoritma najboljamedu svim algoritmima koji resavaju taj problem.

Page 15: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

15 1. Resavanje problema koriscenjem pretrage

Vremenska slozenost govori, kao i za druge vrste algoritama, o tome koliko ce vremena biti potrebno zasprovodenje procesa pretrage. Obicno se razmatra vremenska slozenost najgoreg i prosecnog slucaja.

Prostorna slozenost govori, kao i za druge vrste algoritama, o tome koliko je memorije potrebno za sprovodenjeprocesa pretrage. Obicno se razmatra prostorna slozenost najgoreg i prosecnog slucaja.

1.3 Neinformisana i informisana pretraga

Problemi pretrage se dele na probleme informisane i neinformisane pretrage — informisani su oni u kojimasu raspolozive informacije o kvalitetu pojedinacnih stanja, specificne za dati problem i koje mogu pomociu navodenju pretrage i brzem pronalazenju ciljnog stanja. U skladu sa tim, algoritmi se dele na algoritmeinformisane i neinformisane pretrage — ovi prvi koriste dodatne informacije u slucaju informisane pretrage.

U problemu iz primera 1.2, ako su raspolozive samo informacije o neposredno povezanim stanjima (pa i ceneprelaska u njih), u pitanju je problem neinformisane pretrage i za resavanje se koriste (neinformisani) algoritmikao sto su algoritmi za sistematicnu pretragu u sirinu ili u dubinu. Ukoliko su poznata vazdusna rastojanjaizmedu gradova, ona se mogu iskoristiti za navodenje pretrage i u tom slucaju problem pripada grupi problemainformisane pretrage. Za resavanje problema informisane pretrage mogu se koristiti specijalizovani algoritmiu zavisnosti od vrste informacija koje su na raspolaganju. Za navodenje kretanja ka ciljnom cvoru u grafu,algoritam A* moze da iskoristi, na primer, informaciju o euklidskom rastojanju izmedu cvorova u grafu,

Pitanja i zadaci

1.1. Navesti barem pet opstih elemenata svakog problema pretrage.

1.2. Kako se, prema dostupnosti informacija koje mogu pomoci u pronalazenju ciljnog stanja u toku pretrage,dele problemi pretrage?

Page 16: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 17: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 2

Neinformisana pretraga

U svim problemima pretrage, podrazumeva se da je moguce opaziti tekuce stanje, preduzimati akcije iprepoznati ciljno stanje. Specificno za „neinformisanu pretragu“ (eng. uninformed) je to sto nema dodatnihinformacija koje mogu pomoci u navodenju koje ubrzava pronalazenje ciljnog stanja. U primeru pronalazenjaputa izmedu dva grada, scenario neinformisane pretrage odgovara, na primer, situaciji u kojoj se u svakom graduzna koji je to grad, moguce je izabrati jedan od puteva ka drugim gradovima (do kojih su poznata rastojanja),moguce je pamtiti posecene gradove i prepoznati odredisni, ali nema informacija o blizini pojedinacnih gradovaodredistu (koje bi mogle da usmeravaju pretragu). Tipican primer problema neinformisane pretrage je i problemlavirinta koji je opisan u nastavku.

Primer 2.1. Lavirint (u ravni) sastoji se od skupa povezanih hodnika kojima je moguce kretati se (slika 2.1(levo)). Svaki hodnik ima jedno ili vise polja i dva kraja. Jedno polje je ulaz, a jedno izlaz iz lavirinta. Ulaz,izlaz, krajeve hodnika, kao i polja koja su zajednicka za dva hodnika zovemo cvorovima lavirinta. Cilj je pronaciput od ulaza do izlaza preko cvorova lavirinta. Elementi ovog problema su sledeci:

• Skup stanja: skup cvorova lavirinta.

• Polazno stanje: ulaz u lavirint.

• Test cilja: izlaz iz lavirinta.

• Skup mogucih akcija: izbor puta (tj. sledeceg cvora lavirinta) u svakom koraku.

• Funkcija prelaska: odredena je vezama izmedu cvorova lavirinta.

• Funkcija cene: cena za prelazak iz jednog polja u susedno, je, na primer, 1.

Elementi problema pretrage (stanja i funkcije prelaska), pa i problema neinformisane pretrage najcesce seprirodno izrazavaju pomocu grafova, tako da su i algoritmi neinformisane pretrage najcesce formulisani u vidualgoritama obilaska grafova. U slucaju lavirinta, radi se o grafu ciji cvorovi su cvorovi lavirinta, a grane puteviizmedu tih cvorova lavirinta (slika 2.1 (desno)).

Jedan nacin pronalazenja izlaza u lavirintu je drzati se desne strane hodnika i pratiti zidove dok se ne naidena izlaz. Kao sto ce biti navedeno u nastavku, to resenje odgovara upravo obilasku grafa u dubinu (sve dok sene naide na trazeni cvor grafa).

2.1 Obilazak grafa u dubinu i sirinu

Obilazak grafa u dubinu (eng. depth-first search — DFS) i u sirinu (eng. breadth-first search — BFS) sumetode neinformisane pretrage koje ispituju cvorove u grafu trazeci resenje, obicno – neki specifican cvor. Onisistematski pretrazuju ceo graf bez ikakvog navodenja (i staju sa pretragom kada pronadu trazeni cvor). Posebnapaznja bice posvecena bektrekingu, jednoj modifikaciji obilaska grafa u dubinu.

2.1.1 Pretraga u dubinuPretraga u dubinu je pretraga koja krece od polaznog cvora i zatim napreduje ka sto daljim cvorovima.

Ukoliko u nekom cvoru nema suseda koje treba ispitati, pretraga se vraca unazad do cvora ciji svi susedi nisuispitani i nastavlja dalje. U nerekurzivnoj verziji, cvorovi na tekucem putu od polaznog obicno se cuvaju na

17

Page 18: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

2.1. Obilazak grafa u dubinu i sirinu 18

1 2

34

56

7 8

9

10

11 12

1314

15 16

17

18

19 20

21

22

1

2

3

4 5

6

7

8

9 10

11

12

13

14

15

16

19

221720

1821

Slika 2.1: Primer lavirinta (gore levo), graf prostora stanja koji odgovara lavirintu (gore desno), stablo kojeodgovara obilasku grafa lavirinta u dubinu (dole). Ukoliko se trazi izlaz iz lavirinta, pretraga tj. oblilazak datogstabla staje nakon dolaska u cvor 18.

steku, tj. u LIFO listi. Da ne bi doslo do beskonacne petlje, potrebno je cuvati informaciju o cvorovima koji suvec poseceni. Ovaj postupak opisan je algoritmom DFS na slici 2.2 a slika 2.3 ilustruje obilazak jednog grafaprimenom algoritma DFS. Prikazani algoritam, ukoliko pronade ciljni cvor, u tom trenutku na steku 𝑝𝑢𝑡 sadrziredom cvorove koji cine trazeni put.

Algoritam: DFS (pretraga u dubinu)

Ulaz: Graf 𝐺, polazni cvor i ciljni cvor

Izlaz: Put od polaznog do ciljnog cvora u grafu 𝐺 (ako postoji takav put)

1: na stek 𝑝𝑢𝑡 i u skup posecenih cvorova stavi samo polazni cvor;

2: dok god stek 𝑝𝑢𝑡 nije prazan radi3: uzmi cvor 𝑛 sa vrha steka 𝑝𝑢𝑡;4: ako je 𝑛 ciljni cvor onda5: izvesti o uspehu i vrati put konstruisan na osnovu sadrzaja steka 𝑝𝑢𝑡;6: ako 𝑛 nema susednih cvorova koji nisu poseceni onda7: izbaci 𝑛 sa steka 𝑝𝑢𝑡;8: inace9: izaberi prvi neposeceni susedni cvor 𝑚 i dodaj ga na vrh steka 𝑝𝑢𝑡 i u skup posecenih cvorova;

10: izvesti da trazeni put ne postoji.

Slika 2.2: DFS — algoritam pretrage u dubinu.

Primer 2.2. Algoritam DFS moze se upotrebiti za pronalazenje izlaza iz lavirinta koji je opisan grafom (pricemu algoritam vraca ceo put od ulaza do izlaza). Pracenje hodnika lavirinta drzeci se desne strane odgovarapretrazi u dubinu.

Primer 2.3. Ukoliko se, posavsi od Zagreba trazi put do Bukuresta primenom algoritma DFS i ukoliko seprilikom izbora sledeceg grada prednost daje juznijem, bio bi pronaden put Zagreb-Sarajevo-Podgorica-Skoplje-Sofija-Bukurest. Ovaj put je po duzini vrlo los izbor, sto je i bilo ocekivano posto algoritam ne uzima u obzirduzine puteva izmedu gradova. Kako se moze naci najkraci put, bice prikazano kasnije.

Page 19: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

19 2. Neinformisana pretraga

1

2

3 4

5

6

Slika 2.3: Primer obilaska grafa primenom algoritma DFS (oznake cvorova ukazuju na poredak obilaska cvorova)

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest

1

2

34

5

6

Slika 2.4: Trazenje puta od Zagreba do Bukuresta primenom algoritma DFS

80Z0Z0Z0Z7Z0Z0Z0Z060Z0Z0Z0Z5Z0Z0Z0Z040Z0L0Z0Z3Z0Z0Z0Z020Z0Z0Z0Z1Z0Z0Z0Z0

a b c d e f g h

80ZQZ0Z0Z7Z0Z0ZQZ060Z0L0Z0Z5ZQZ0Z0Z040Z0Z0Z0L3Z0Z0L0Z020Z0Z0ZQZ1L0Z0Z0Z0

a b c d e f g h

80L0Z0Z0Z7Z0Z0Z0Z060Z0ZQZ0Z5Z0L0Z0Z040Z0Z0Z0Z3Z0ZQZ0Z020Z0Z0Z0Z1L0Z0Z0Z0

a b c d e f g h

Slika 2.5: Problem osam dama: kretanje dame u sahu (levo), jedno resenje problema (sredina), situacija kadaje u pretrazi nuzno vratiti se na prethodni izbor (desno)

Bektreking (eng. backtracking) je modifikovana varijanta pretrage u dubinu. Modifikacija se sastoji u tomeda se bektrekingom ne mora obici ceo graf, vec se napredovanje u dubinu prekida i ranije ako se ustanovi dase ciljni cvor ne nalazi medu potomcima tekuceg cvora i tada nastupa vracanje na prethodni cvor. Prirodanprimer za bektreking je resavanje problema osam dama.

Primer 2.4. Problem osam dama formulisan je 1848. godine i od tada je bio predmet mnogih matematickihi informatickih istrazivanja. Problem ima jednostavnu formulaciju: rasporediti osam dama na sahovskoj tablitako da se nikoje dve dame ne napadaju. Skup polja koja jedna dama napada definisan je u skladu sa opstimpravilima saha i ilustrovan je na slici 2.5 (levo). Jedno moguce resenje ovog problema prikazano je na slici 2.5(sredina). Problem „𝑛 dama” je uopstenje problema na 𝑛 dama koje treba rasporediti na tabli dimenzija 𝑛 × 𝑛tako da se nikoje dve ne napadaju.

U svakom resenju, ocigledno, u jednoj koloni ne mogu biti dve dame, pa se problem moze preformulisati nasledeci nacin: na tabli 𝑛 × 𝑛 rasporediti 𝑛 dama tako da u svakoj koloni bude po jedna i da se nikoje dve nenapadaju.

Problem dama predstavlja jedan od tipicnih problema koji se resavaju primenom bektrekinga. Prostor stanjakoji se analizira u ovom slucaju cine svi razliciti rasporedi od 0 do 8 dama (ukljucujuci i one u kojima se

Page 20: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

2.1. Obilazak grafa u dubinu i sirinu 20

/ \ ...

40Z0Z3Z0Z020Z0Z1L0Z0

a b c d

40Z0Z3Z0Z02QZ0Z1Z0Z0

a b c d

/ \ \

40Z0Z3ZQZ020Z0Z1L0Z0

a b c d

40L0Z3Z0Z020Z0Z1L0Z0

a b c d

40L0Z3Z0Z02QZ0Z1Z0Z0

a b c d

/ / \ \

40Z0Z3ZQZ020Z0Z1L0Z0

a b c d

40L0Z3Z0Z020ZQZ1L0Z0

a b c d

40L0Z3Z0Z020Z0Z1L0Z0

a b c d

40L0Z3Z0Z02QZ0Z1Z0L0

a b c d

| |

40L0Z3Z0Z020ZQZ1L0Z0

a b c d

40L0Z3Z0ZQ2QZ0Z1Z0L0

a b c d

Slika 2.6: Prikaz dela stabla pretrage za resavanje problema cetiri dame primenom bektrekinga. Oznaka Xoznacava polja na kojima je pokusano postavljanje dame, ali je ustanovljeno da se u tom slucaju napadasa nekom od vec postavljenih dama. Eksplicitno su prikazani samo rasporedi u kojima se postavljene damemedusobno ne napadaju.

neke dame medusodno napadaju). Postoji grana od jednog stanja (rasporeda) ka drugom ukoliko se drugi mozedobiti od prvog dodavanjem jedne dame na slobodno polje na tabli. Neki raspored moguce je dobiti razlicitimredosledima dodavanja dama polazeci od prazne table, ali se dodavanjem dama ne moze dobiti tabla sa manjimbrojem dama. Dakle, radi se o usmerenom aciklicnom grafu. Polazno stanje je prazna tabla, a ciljno stanje jebilo koje stanje koje zadovoljava uslove problema (za osam dama postoji 92 resenja).

Opisani graf prostora stanja sadrzi i rasporede u kojima se vise od dve dame napadaju. U stablu pretrage,svaki put od prazne table do ovakvog rasporeda mora sadrzati raspored sa tacno dve dame koje se napadaju.Kako se duz puteva kroz stablo pretrage dame samo dodaju, postupak pretrage se ne isplati nastavljati nakon stose naide na takav raspored. Na slici 2.5 (desno) prikazan je jedan raspored koji nema smisla ispitivati dalje. Naslici 2.6, prikazan je deo stabla pretrage koja koristi bektreking za problem cetiri dame (za problem osam damastablo pretrage preveliko je za ilustraciju).

Na prethodnom primeru mogu se uociti neke tipicne osobine bektrekinga. Bektreking se zasniva na prosirivanjutekuceg parcijalnog resenja. Polazno parcijalno resenje je prazno resenje. U prethodnom primeru, to je praznasahovska tabla, a prosirivanje parcijalnog resenja se vrsi dodavanjem dame na tablu. Prosirivanje parcijalnogresenja u nekim slucajevima nije isplativo ili nije moguce i tada se pretraga vraca unazad, odakle dolazi i imetehnike. U problemu dama, nije isplativo nastaviti pretragu ukoliko je dostignut raspored u kojem se dve damenapadaju. Prilikom izbora naredne grane u pretrazi, prati se neki poredak izbora, u slucaju problema dama,na primer – sledece prazno polje u skladu sa nekom numeracijom polja.

2.1.2 Pretraga u sirinuPretraga u sirinu razmatra cvorove koji su susedni nekom cvoru, a onda, redom sve njihove susede, pa

redom sve njihove susede, i tako dalje. U traganju za cvorom koji zadovoljava neki uslov, bice pronaden onajna najmanjem rastojanju (pri cemu se pod rastojanjem misli na broj grana) od polaznog cvora. Cvorovi kojise razmatraju obicno se cuvaju u redu, tj. u FIFO listi. I u ovom pristupu, da ne bi doslo do beskonacnepetlje, potrebno je cuvati informaciju o cvorovima koji su vec poseceni. Ovaj postupak opisan je algoritmomBFS na slici 2.7. U prikazanom algoritmu, informacija o posecenim cvorovima ne cuva se eksplicitno, vec krozinformaciju o cvoru prethodniku. Slika 2.8 ilustruje obilazak grafa primenom algoritma BFS.

Page 21: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

21 2. Neinformisana pretraga

Algoritam: BFS (pretraga u sirinu)

Ulaz: Graf 𝐺, polazni cvor i ciljni cvor

Izlaz: Put od polaznog do ciljnog cvora u grafu 𝐺 (ako postoji takav put)

1: stavi samo polazni cvor u red 𝑆;

2: dok god red 𝑆 nije prazan radi3: uzmi cvor 𝑛 sa pocetka reda 𝑆 i obrisi ga iz reda;4: ako je 𝑛 ciljni cvor onda5: izvesti o uspehu i vrati put od polaznog do ciljnog cvora (iduci unazad od ciljnog cvora);6: za svaki od susednih cvorova 𝑚 cvora 𝑛 za koji nije definisan roditelj radi7: zapamti 𝑛 kao roditelja i dodaj 𝑚 na kraj reda 𝑆;

8: izvesti da trazeni put ne postoji.

Slika 2.7: BFS — algoritam pretrage u sirinu.

1

2

3

4

5

6

Slika 2.8: Primer obilaska grafa primenom algoritma BFS (oznake cvorova ukazuju na poredak obilaska cvorova)

Primer 2.5. U slucaju pronalazenja puta od Zagreba do Bukuresta, bice pronaden put Zagreb-Beograd-Bukurest(slika 2.9). Na pocetku, tekuci grad je Zagreb. Iz Zagreba, pronalaze se Sarajevo, Beograd i Budimpesta (pretpo-stavimo da su tim redom, u smeru suprotnom od smera kazaljke na satu, poredani kao susedi cvora Zagreb). Onicine novi red 𝑆 i za njih se pamti da je prethodni grad Zagreb, koji se uklanja iz reda. Iz Sarajeva se pronalaziput do Podgorice koja se dodaje na kraj reda 𝑆, a Sarajevo se iz njega uklanja. Iz Beograda se pronalazi put doSkoplja i Bukuresta, koji se dodaju na kraj reda 𝑆, a Beograd se iz njega uklanja. Iz Budimpeste se ne pronalaziput ni do jednog grada koji vec nije obraden. Budimpesta se uklanja iz reda. Iz Podgorice se ne pronalazi put nido jednog grada koji vec nije obraden. Podgorica se uklanja iz reda. Iz Skoplja se pronalazi put do Sofije kojase dodaje na kraj reda 𝑆, a Skoplje se iz njega uklanja. Kada Bukurest postane grad koji se analizira, konstatujese da je to ciljni grad, konstruise se put i algoritam se zaustavlja.

DFS pretraga je pogodnija od BFS pretrage za usmeravanje koje bira cvorove koji vise obecavaju. Vremenskaslozenost oba algoritma je reda zbira broja cvorova i broja grana grafa koji se pretrazuje (𝑂(|𝑉 | + |𝐸|)), aprostorna je reda broja cvorova (𝑂(|𝑉 |)).

2.2 Dejkstrin algoritam

Dejkstrin algoritam (razvio ga je holandski informaticar Edzger Dejkstra 1959. godine) je algoritam za pre-tragu grafa koji nalazi najkrace puteve u grafu sa nenegativnim cenama koje su pridruzene granama. Algoritamse moze koristiti za odredivanje najkraceg puta od datog cvora do datog ciljnog cvora, ali i za odredivanjenajkracih puteva od datog cvora do svih drugih cvorova grafa.

Ideja Dejkstrinog algoritma moze se, za povezane grafove, ilustrovati na sledeci nacin. Pretpostavimo da jeskup cvorova vezan nitima (i da cenom puta od jednog do drugog cvora smatramo duzinu niti koja ih vezuje).Uzmimo cvor koji je izabran za polazni i pocnimo da podizemo celu konfiguraciju (tako da nikoje dve niti nisuupletene). Postepeno se cvorovi, jedan po jedan, odvajaju od tla. Najmanje rastojanje izmedu nekog od tihcvorova i polaznog cvora je upravo direktno rastojanje izmedu njih. Opsta ideja algoritma je slicna: postojecvorovi koji su vec podignuti sa tla i oni koji su jos uvek na tlu. Za one koji su podignuti sa tla vec znamonajkrace puteve od polaznog cvora. Za one koji su jos uvek na tlu, smatramo da je rastojanje od polaznog cvorabeskonacno. U svakom koraku mozemo jos jedan cvor „podici sa tla“ i izracunati njegovo najmanje rastojanje

Page 22: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

2.2. Dejkstrin algoritam 22

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest

1

2

3

4

5 6

7

Podgorica

Sarajevo Beograd

Skoplje

Zagreb

Budimpesta

Bukurest

Sofija

Slika 2.9: Trazenje puta od Zagreba do Bukuresta primenom algoritma BFS: gore je prikazan graf prostorastanja, a dole stablo pretrage

od polaznog cvora (razmatrajuci samo one cvorove koji su mu susedni i koji su vec iznad tla). Ukoliko na krajuovog postupka na tlu ostanu jos neki cvorovi, to znaci da do njih ne postoji put od polaznog cvora.

Algoritam: Dejkstrin algoritam

Ulaz: Graf 𝐺, polazni cvor i ciljni cvor

Izlaz: Najkraci put od polaznog do ciljnog cvora u grafu 𝐺 (ako postoji takav put)

1: stavi sve cvorove grafa u skup 𝑄;

2: za sve cvorove iz 𝑄 upamti trenutno najmanje rastojanje od polaznog cvora: za polazni cvor je 0, za sveostale cvorove je ∞; za svaki cvor zapamti da je roditelj nedefinisan;

3: dok god skup 𝑄 ima cvorove sa ustanovljenim konacnim rastojanjem od polaznog cvora radi4: izaberi iz 𝑄 cvor 𝑛 sa najmanjim ustanovljenim rastojanjem od polaznog cvora i obrisi ga iz 𝑄;5: ako je 𝑛 ciljni cvor onda6: konstruisi put od polaznog do ciljnog cvora (iduci unazad od ciljnog cvora) i izvesti o uspehu;7: za svaki cvor 𝑚 iz 𝑄 koji je direktno dostupan iz 𝑛 radi8: ako je tekuce rastojanje od polaznog cvora do 𝑚 vece od rastojanja od polaznog cvora do 𝑚 preko

cvora 𝑛 onda9: promeni informaciju o roditelju cvora 𝑚 na cvor 𝑛 i upamti novo rastojanje;

10: izvesti da trazeni put ne postoji.

Slika 2.10: Dejkstrin algoritam.

Page 23: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

23 2. Neinformisana pretraga

Dejkstrin algoritam prikazan je na slici 2.10. U svakoj iteraciji, bira se cvor 𝑛 iz skupa cvorova 𝑄 (to su cvorovikoji su „na tlu“) takav da je vrednost tekuceg najmanjeg rastojanja od polaznog cvora do njega najmanja. Tajcvor se tada brise iz skupa 𝑄. Ukoliko je to ciljni cvor, onda se konstruise trazeni put od polaznog cvora (koristeciinformaciju o roditeljskim cvorovima). Inace, za svaki cvor 𝑚 iz 𝑄 koji je susedan cvoru 𝑛 proverava se da lise (preko 𝑛) moze popraviti tekuce najmanje rastojanje od polaznog cvora i, ako moze, cvor 𝑛 se postavlja zaroditelja cvora 𝑚. Invarijanta petlje je da se za cvorove koji nisu u 𝑄 zna najkrace rastojanje od polaznogcvora.

U najjednostavnijoj implementaciji Dejkstrinog algoritma, skup 𝑄 se implementira kao obicna povezana listaili niz. Slozenost algoritma sa takvom implementacijom skupa 𝑄 je 𝑂(|𝑉 |2 + |𝐸|) = 𝑂(|𝑉 |2), gde je 𝑉 skupcvorova, a 𝐸 skup grana grafa. Za retke grafove (koji imaju mnogo manje grana od |𝑉 |2), Dejkstrin algoritammoze se implementirati efikasnije. Na primer, varijanta koja koristi binarni min-hip1 za odredivanje tekucegnajblizeg cvora ima slozenost 𝑂((|𝐸|+ |𝑉 |) log |𝑉 |).

Primer 2.6. Na slici 2.11 tabela prikazuje efekat primene Dejkstrinog algoritma na prikazani graf. U ovomprimeru, cvor 𝐴 je polazni, a cvor 𝐹 ciljni cvor. Polje tabele za neki cvor prikazuje vrednost najmanjeg nadenograstojanja od polaznog do tog cvora.

𝐴 𝐵

𝐶 𝐷

𝐸 𝐹

2

3

6

4

1

4

2

5

5

1

korak B C D E F cvor 𝑛

1 ∞ ∞ ∞ ∞ ∞ 𝐴2 3 2 6 4 ∞ 𝐶3 3 2 6 3 ∞ 𝐵4 3 2 6 3 8 𝐸5 3 2 5 3 7 𝐷6 3 2 5 3 6 𝐹

Slika 2.11: Primer primene Dejkstrinog algoritma

Primer 2.7. Slika 2.12 i prateca tabela ilustruje izvrsavanje Dejkstrinog algoritma na problemu nalazenja putaod Bukuresta do Podgorice (najkraci put je Bukurest-Sofija-Skoplje-Podgorica).

1Min-hip je specificna stablolika struktura koja zadovoljava hip-svojstvo: ako je 𝐵 sused cvora 𝐴, onda je vrednost pridruzenacvoru 𝐴 manja od vrednosti pridruzene cvoru 𝐵. U skladu sa tim, najmanji element je uvek koren stabla. Max-hip se definiseanalogno.

Page 24: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

2.2. Dejkstrin algoritam 24

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest590

840

360

240350

230

450

400

390

340

290

380

430

1

2

3

4

5

6

7

korak Bg So Bud Sk Pg Sa Zg cvor 𝑛

1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ Bukurest2 590 360 840 ∞ ∞ ∞ ∞ Sofija3 590 360 840 600 ∞ ∞ ∞ Beograd4 590 360 840 600 1040 880 980 Skoplje5 590 360 840 600 950 880 980 Budimpesta6 590 360 840 600 950 880 980 Sarajevo7 590 360 840 600 950 880 980 Podgorica

Slika 2.12: Trazenje puta od Bukuresta do Podgorice primenom Dejkstrinog algoritma

Page 25: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 3

Informisana pretraga

Informisana (ili heuristicka) pretraga koristi ne samo informaciju o mogucim akcijama (koracima) u svakomstanju, vec i dodatno znanje o konkretnom problemu koje moze da usmerava pretragu ka stanjima koja viseobecavaju, za koje postoji nekakvo ocekivanje da brze vode ciljnom stanju, tj. resenju problema. Ta informacijamoze biti nekakva ocena, mera „kvaliteta“ stanja, a moze da bude zasnovana i na informacijama vezanim zapocetno ili ciljno stanje. Ta mera kvaliteta cesto nije egzaktna, nego predstavlja nekakvu procenu, heuristickumeru.1

Funkciju koja ocenjuje kvalitet stanja zovemo funkcija evaluacije. Ukoliko je funkcija evaluacije oznacena sa𝑓 , onda 𝑓(𝑛) oznacava ocenu stanja 𝑛. Podrazumevace se da su cene akcija (ili cene grana grafa) nenegativne.Vec je receno da se problemi pretrage cesto mogu pogodno zadati u terminima grafova koji opisuju prostorstanja, pa ce se umesto „stanja“ i „ocena stanja“ govoriti i „ cvor” i „ocena cvora“.

Prilikom resavanja problema pretragom, generise se stablo pretrage (obicno samo implicitno) cijim sucvorovima pridruzena stanja. Posto kroz jedno isto stanje moze da se prode vise puta tokom pretrage, mozeda bude vise cvorova stabla pretrage sa istim tim stanjem. Posto ocena stanja moze da zavisi od trenutnogkonteksta procesa pretrage, obicno je preciznije reci „ocena cvora (stabla pretrage)“ nego „ocena stanja“.

3.1 Pohlepna pretraga

Pohlepnim algoritmom naziva se algoritam koji bira lokalno optimalne akcije, tj. tezi neposrednom povecanjuvrednosti neke ciljne funkcije. Ovakav algoritam ne procenjuje dugorocni kvalitet izabranih akcija, tj. kolikoone doprinose ostvarenju konacnog cilja, vec bira akciju koja se na osnovu znanja dostupnog u trenutku izboraprocenjuje kao najbolja medu raspolozivim akcijama. Jedna varijanta pohlepne pretrage u grafu prikazana jena slici 3.1. Prikazani algoritam moze se modifikovati tako da prelazi na sledeci cvor samo ako njegova ocenapopravlja ocenu tekuceg cvora, a inace vraca tekuci cvor kao najbolji pronadeni.

Primer 3.1. U primeru pronalazenja najkracih puteva izmedu gradova (primer 1.2), ukoliko su, na osnovumape, poznata vazdusna (sva) rastojanja izmedu gradova, pohlepni informisani algoritam bi kao funkciju evalu-acije 𝑓(𝑛) mogao da koristi vazdusno rastojanje od 𝑛 do ciljnog grada (tj. da uvek za sledeci grad bira onaj kojije najblizi ciljnom vazdusnim putem).

Ako je u svakom gradu moguce videti i tablu sa tacnim rastojanjima do susednih gradova i poznata su va-zdusna rastojanja izmedu gradova, pohlepni informisani algoritam bi kao funkciju evaluacije 𝑓(𝑛) mogao da kori-sti zbir tacnog rastojanja od tekuceg cvora do cvora 𝑛 i vazdusnog rastojanja od 𝑛 do ciljnog grada. Dakle, tada se,u svakom koraku, kao sledeci grad, kao grad koji najvise obecava, bira grad 𝑛 za koji je zbir tacnog rastojanja odtekuceg grada do 𝑛 i vazdusnog rastojanja od 𝑛 do ciljnog grada najmanji. Ovaj pristup bice ilustrovan primeromtrazenja puta od Podgorice do Budimpeste (slika 3.2). Iz Podgorice su neposredno dostupni Sarajevo, Beograd iSkoplje, a ocene duzina puteva do cilja preko tih gradova su 230km+410km = 640km, 450km+320km = 770km i350km+640km = 990km, te se ide u Sarajevo. Iz Sarajeva su neposredno dostupni Zagreb, Beograd i Podgorica,a ocene duzina puteva preko tih gradova su 400km+300km = 700km, 290km+320km = 610km i 230km+560km =790km, te se ide u Beograd. Iz Beograda su neposredno dostupni Sarajevo, Zagreb, Budimpesta, Bukurest, Sko-plje, Podgorica, a ocene duzina puteva preko tih gradova su 290km+410km = 700km, 390km+300km = 690km,

1Heuristike su tehnike za usmeravanje i suzavanje pretrage u problemima u kojima se javlja kombinatorna eksplozija. Rec„heuristika“ potice od grcke reci „heurisko“ koja znaci „traziti“ ili „otkrivati“. Srodna grcka rec „heureka“ ili „eureka“ znaci „nasaosam“ ili „otkrio sam“ i obicno se vezuje za Arhimeda i njegov uzvik kada je dosao do jednog znamenitog otkrica. Aristotel je koristiotermin „heuristika“ za otkrivanje novog znanja (ili demonstriranje postojeceg) kroz komunikaciju i interakciju izmedu izlagaca islusalaca. Perl (1984) pod heuristikama smatra „kriterijume, metode ili principe za izbor izmedu nekoliko mogucih akcija onu kojaobecava da ce biti najkorisnija za postizanje nekog cilja”.

25

Page 26: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.1. Pohlepna pretraga 26

Algoritam: Pohlepna pretraga u grafu

Ulaz: Graf 𝐺, polazni cvor i ciljni cvor

Izlaz: Niz koraka od polaznog do ciljnog cvora ili neuspeh (neuspeh ili beskonacna petlja su moguci i ako postojiput izmedu ova dva cvora)

1: tekuci cvor 𝑛 postavi na polazni cvor;

2: ponavljaj beskonacno3: ako je 𝑛 ciljni cvor onda4: izvesti o uspehu i vrati resenje konstruisuci put od polaznog do ciljnog cvora;5: ako nema direktno dostupnih cvorova iz tekuceg cvora onda6: izvesti o neuspehu;7: od cvorova koji su direktno dostupni iz tekuceg cvora izaberi cvor 𝑚 koji ima najbolju ocenu 𝑓(𝑚),

zapamti 𝑛 kao njegovog roditelja i postavi 𝑚 da bude novi tekuci cvor 𝑛.

Slika 3.1: Algoritam pohlepne pretrage.

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest590

450

840

640

360

300

240

170350

190

230170

450

280

400

290

390

370

340

300

290

190

380320

430320

410

640560

Podgorica

SarajevoBeograd Skoplje

ZagrebBeograd

Podgorica

Budimpesta

640 770 990

700 610 790

380

Slika 3.2: Trazenje puta od Podgorice do Budimpeste primenom pohlepnog algoritma: na slici gore je prikazangraf koji opisuje prostor stanja, a na slici dole prikazano je stablo pretrage. Na prvom grafu, podebljanimciframa ispisana su kopnena, obicnim ciframa vazdusna rastojanja izmedu dva grada, a isprekidanim linijamaspojeni su gradovi za koje ne postoji direktna kopnena veza.

380km+0km = 380km, 590km+640km = 1230km, 430km+640km = 1070km i 450km+560km = 1010km, te seide u Budimpestu. Pronadeni put je, dakle, Podgorica-Sarajevo-Beograd-Budimpesta i njegova stvarna (kop-nena) duzina je 900km. Medutim, stvarna (kopnena) duzina puta Podgorica-Beograd-Budimpesta je manja iiznosi 830km, sto znaci da je napravljeni izbor pogresan, tj. nije najbolji moguci. Ovaj ishod ilustruje opstiproblem pohlepne pretrage, a to je da je moguce pronaci resenje koje nije najbolje. Stavise, u opstem slucaju,

Page 27: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

27 3. Informisana pretraga

moguce je ne pronaci resenje i ako ono postoji, a moguce je i ostati u beskonacnoj petlji.

Primer 3.2. U slucaju Lojdove slagalice, kao ocena rastojanja od tekuceg do ciljnog stanja moze se koristitizbir Menhetn rastojanja svakog od 15 polja slagalice do njegovog ciljnog mesta. Menhetn rastojanje izmedudva polja 𝐴 i 𝐵 definise se kao najmanji broj polja koji je potrebno preci kako bi se doslo od 𝐴 do 𝐵, krecucise iskljucivo horizontalno ili vertikalno2. U slucaju stanja slagalice u korenu levog stabla na slici 3.3, Menhetnrastojanje polja 1 do njegovog pravog mesta je 3, zato sto je na tom putu potrebno preci preko dva polja krecuci senavise, a potom jedno polje krecuci se ulevo. Moguci su i drugi putevi, ali njihova duzina nije manja. Ukupnaocena rastojanja za to stanje slagalice je 0+0+0+1+1+2+1+0+3+2+2+0+0+2+2=16. Algoritam pohlepnepretrage prikazana na slici 3.1. preduzima potez koji vodi ka najbolje ocenjenom susednom stanju, ali on mozeda se modifikuje tako da se pretraga nastavlja samo dok ocena tekuceg stanja moze da se popravi (cime se lakseobezbeduje zaustavljanje).

2 3 4

6 5 10 12

9 1 8 15

13 14 7 11

6 2 3 4

5 10 12

9 1 8 15

13 14 7 11

2 3 4

6 5 10 12

9 1 8 15

13 14 7 11

1 2 3

15 5 10 4

9 12 6 8

13 14 7 11

1 2 3

15 5 10 4

9 12 6 8

13 14 7 11

1 2 3 4

15 5 10

9 12 6 8

13 14 7 11

Slika 3.3: Stanje slagalice (levo) u kojem nema poteza koji vodi u stanje sa boljom ocenom rastojanja i stanjeslagalice (desno) iz kojeg postoji niz koraka koji poboljsavaju ocenu rastojanja (pomeranjem praznog poljanadole), ali se zavrsava u stanju iz kojeg svi potezi pogorsavaju ocenu.

U slucaju stanja slagalice u korenu slike 3.3 (levo), pohlepna pretraga ne moze da nastavi posto dato stanjepredstavlja lokalni minimum ocene rastojanja jer se bilo kojim potezom ta ocena uvecava za 1.

S druge strane, ukoliko je polazna konfiguracija 3.3 (desno) ocena rastojanja se smanjuje pomeranjem polja4 navise a zatim i pomeranjem navise polja 8 i 11. Nakon toga se dolazi do stanja koje je lokalni minimum ipretraga se zaustavlja.

Navedeni primeri pokazuju da predlozenom jednostavnom pohlepnom pretragom nije moguce resiti Lojdovuslagalicu.

Algoritmi zasnovani na pohlepnoj pretrazi obicno su veoma jednostavni, cesto veoma efikasni i mogu dadaju kvalitetne rezutate ali ne garantuju optimalnost pa ni potpunost procesa resavanja. Stavise, ukolikose u svakom koraku bira najbolja raspoloziva akcija (bez obzira na to da li popravlja tekuce stanje), pohlepnialgoritam se mozda nece ni zaustavljati. Pohlepna pretraga obicno se ponasa dobro u slucaju problema kod kojihkvalitet odluke u nekom stanju pretrage ne zavisi od buducih odluka ili ako se dati problem moze aproksimiratiproblemom za koji to vazi.

3.1.1 Pohlepna pretraga u matematickoj optimizaciji i u slucaju diferencijabilne funkcije ciljaPohlepni algoritmi mogu se koristiti i za resavanje problema matematicke optimizacije. Ovi problemi pret-

postavljaju postojanje funkcije cilja i skupa dopustivih resenja. U zavisnosti od formulacije problema, potrebnoje naci dopustivo resenje sa minimalnom ili maksimalnom vrednoscu funkcije cilja. Takvo resenje naziva seoptimalnim resenjem problema optimizacije. Ovakvi problemi ne moraju pretpostavljati postojanje stanja, ak-cija i drugih elemenata problema pretrage. U kontekstu matematicke optimizacije, pohlepni algoritmi obicnose nazivaju algoritmima penjanja uzbrdo posto biraju susedna dopustiva resenja koja imaju najvise vrednostifunkcije cilja. Pohlepni algoritmi imaju sledece slabosti:

Opasnost od lokalnih maksimuma: Lokalni maksimumi su tacke u prostoru pretrage ciji susedi imaju ma-nju vrednost funkcije cilja od nje, ali je njena vrednost manja od vrednosti globalnog maksimuma. Algo-ritmi penjanja uzbrdo nemaju nacina da utvrde da se nalaze u lokalnom maksimumu (slika 3.4, levo)

2Rastojanje se zove Menhetn, jer podseca na kretanje ulicama Menhetna koje su medusobno normalne ili paralelne: od jednogdo drugog bloka moguce je kretati se ulicama, ali nije moguce prolaziti blokove dijagonalno.

Page 28: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.1. Pohlepna pretraga 28

Slika 3.4: Situacija u kojoj pohlepna pretraga moze da vrati samo lokalni maksimum (levo) i greben (desno)

Neefikasnost u slucaju grebena: Grebeni predstavljaju uske staze koje opadaju ili rastu duz nekog pravca(slika 3.4, desno). U takvim problemima, penjanje uzbrdo moze da ne vodi u smeru staze rasta, vec jepotrebno da napravi mnogo cik-cak koraka da se uspne uz greben (ili da se spusti niz greben).

Opasnost od platoa: Platoi predstavljaju oblasti prostora pretrage u kome funkcija cilja ima konstantnuvrednost. Zbog toga je nemoguce odrediti koju akciju treba preduzeti.

Postoje razne varijacije osnovnog penjanja uzbrdo koje pokusavaju da se izbore sa navedenim problemima.Takvo je na primer stohasticko penjanje uzbrdo koje ne bira uvek susedno stanje koje ima najvecu vrednost, aliverovatnoca da odredeno stanje bude izabrano je veca sto je veca njegova vrednost. Druga varijacija je penjanjeuzbrdo sa slucajnim restartovanjem kod kojeg se posle pronalazenja lokalnog maksimuma proces pretrage ponovopokrece iz slucajno generisanog polaznog stanja. Ovaj metod omogucava pronalazenje globalnog maksimumasa verovatnocom koja se priblizava 1 kada se povecava broj pokusaja.

Metode pretrage i matematicke optimizacije cesto pokusavaju da iskoriste neku zakonitost u strukturi pro-stora pretrage, odnosno prostora dopustivih resenja. Tako, metode penjanja uzbrdo, u slucaju diferencijabilnefunkcije cilja, obicno pocivaju na koriscenju koncepta gradijenta. Ukoliko je data diferencijabilna funkcija cilja𝑓 : R𝑛 → R, gradijent se definise kao vektor parcijalnih izvoda te funkcije:

∇𝑓 =

(𝜕𝑓

𝜕𝑥1,𝜕𝑓

𝜕𝑥2, . . . ,

𝜕𝑓

𝜕𝑥𝑛

)Gradijent izracunat u odredenoj tacki a ∈ R𝑛 predstavlja vektor u prostoru R𝑛 u cijem smeru funkcija 𝑓najstrmije raste u okolini tacke a. Stoga se kretanjem u ovom smeru moze doci do lokalnog maksimuma.Kretanjem u suprotnom smeru moze se doci do lokalnog minimuma. U tradiciji matematicke optimizacije, cestose koristi formulacija trazenja minimuma, a metoda za trazenje minimuma moze se upotrebiti i za nalazenjemaksimuma ukoliko se primeni na funkciju −𝑓 umesto na funkciju 𝑓 . U slucaju trazenja minimuma, principkretanja u smeru suprotnom od gradijenta je osnova algoritma Najstrmiji spust ili gradijentnog spusta. AlgoritamNajstrmiji spust prikazan je na slici 3.5.

U praksi se obicno ne ocekuje pronalazenje same tacke lokalnog minimuma, s obzirom na to da se ne radio diskretnom prostoru, te se opisani postupak prekida kada razlika u vrednosti funkcije 𝑓 u odnosu na njenuprethodnu vrednost postane dovoljno mala.

Navedeni opsti algoritam potrebno je precizirati na nekoliko mesta. Poznavanje gradijenta i proizvoljnokretanje u suprotnom smeru u praksi ipak ne garantuje nalazenje minimuma, jer je u zavisnosti od duzinekoraka moguce preci preko minimuma, nastaviti dalje i doci i do resenja goreg od tekuceg. Stoga je u svakomkoraku potrebno odrediti pogodnu vrednost 𝜆𝑛 koja se koristi u izboru nove tacke:

an+1 = an − 𝜆𝑛∇𝑓(an)

Vrednosti 𝜆𝑛 mogu se definisati na razlicite nacine. Dovoljan uslov za konvergenciju dat je Robins-Monroovimuslovima koji kazu da se za vrednosti 𝜆𝑛 mogu uzeti bilo koji brojevi koji zadovoljavaju sledece uslove:

∞∑𝑛=0

𝜆𝑛 =∞∞∑

𝑛=0

𝜆2𝑛 <∞

Intuitivno, prvi uslov garantuje da su koraci pretrage dovoljno veliki da pretraga ne uspori prerano i da stogauopste ne stigne do minimuma, dok drugi garantuje da su koraci dovoljno mali da optimizacioni proces nedivergira. Jedan izbor koji zadovoljava ove uslove je 𝜆𝑛 = 1

𝑛+1 .

Page 29: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

29 3. Informisana pretraga

Algoritam: Najstrmiji spust

Ulaz: Diferencijabilna funkcija 𝑓(x), polazna tacka a0 i preciznost 𝜀

Izlaz: Lokalni minimum funkcije 𝑓 (ukoliko postoji)

1: postavi 𝑛 na 0;

2: ponavljaj3: izracunaj vrednost ∇𝑓(an);4: izvrsi kretanje u smeru suprotnom od gradijenta do sledece tacke an+1;5: uvecaj 𝑛 za 1;

6: dok nije ispunjen uslov |𝑓(an)− 𝑓(an−1)| ≤ 𝜀|𝑓(an−1)|7: vrati an kao resenje.

Slika 3.5: Algoritam Najstrmiji spust.

01

23

−10

1

2

3

−15

10

15

20

25

30

35

−5

s1

s2s3

s4

𝑥1

𝑥2

𝑓(𝑥1, 𝑥2)

a0a1

Slika 3.6: Ilustracija problema pronalazenja optimalne pozicije za medicinsku stanicu.

Prikazani algoritam ne garantuje pronalazenje globalnog minimuma. U slucaju da funkcija ima veci brojminimuma, od izabrane polazne tacke zavisice resenje koje algoritam daje i moze se desiti da ono bude samolokalni (a ne i globalni) minimum.

Primer 3.3. Potrebno je izgraditi medicinsku stanicu koja bi opsluzivala cetiri sportske lokacije. Stanica bitrebalo da bude relativno blizu svim lokacijama. Jedan povoljan izbor njene lokacije bi bila tacka x takva da jezbir

𝑓(x) =

4∑𝑖=1

‖x− s𝑖‖2

minimalan, gde vazi x = (𝑥1, 𝑥2), s1 = (0, 0), s2 = (0, 1), s3 = (2, 0) i s4 = (3, 3).Zapisano drugacije, funkcija 𝑓 jednaka je (slika 3.6):

𝑓(x) = (𝑥1 − 0)2 + (𝑥2 − 0)2 + (𝑥1 − 0)2 + (𝑥2 − 1)2 +

(𝑥1 − 2)2 + (𝑥2 − 0)2 + (𝑥1 − 3)2 + (𝑥2 − 3)2

= 4𝑥21 + 4𝑥2

2 − 10𝑥1 − 8𝑥2 + 23

Gradijent funkcije 𝑓 jednak je∇𝑓(x) = (8𝑥1 − 10, 8𝑥2 − 8)

Page 30: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.2. Pretraga Prvo najbolji 30

𝑛 an 𝜆𝑛 ∇𝑓(𝑎𝑛)0 (1, 1) 1 (-2,0)1 (3, 1) 1/2 (14,0)2 (−4, 1) 1/3 (-42,0)3 (10, 1) 1/4 (70,0)4 (−7.5, 1) 1/5 (-70,0)5 (6.5, 1) 1/6 (42,0)6 (−0.5, 1) 1/7 (-14,0)7 (1.5, 1) 1/8 (2,0)8 (1.25, 1) 1/9 (0,0)9 (1.25, 1) - -

Slika 3.7: Izvrsavanje gradijentnog spusta u problemu odredivanja lokacije bolnice.

Neka je polazna tacka a0 = (1, 1) i 𝜀 = 10−6. Vrednost gradijenta ∇𝑓(a0) u prvoj iteraciji je (−2, 0). Vrednostparametra 𝜆𝑛 je 1

𝑛+1 . Tabela 3.7 prikazuje kako se menjaju relevantne vrednosti prilikom primene gradijentnogspusta.

Primetno je da na pocetku algoritam pravi velike korake, sto je posledica relativno velike vrednosti 𝜆𝑛.Medutim, kako se ona smanjuje, koraci postaju manji i dolazi se do tacnog resenja. U opstem slucaju, retko sedesava zaustavljanje sa tacnim resenjem. U ovom konkretnom slucaju, resenje je moglo da bude pronadeno ianaliticki — resavanjem jednacina ∇𝑓(x) = 0, ali to u opstem slucaju nije moguce.

Za diferencijabilne funkcije postoji vise metoda lokalne optimizacije, medu kojima je algoritam Najstrmijispust najjednostavniji. Nedostatak ovog algoritma je to sto je konvergencija cesto spora. Brze alternative su ilikomplikovanije ili imaju dodatne pretpostavke o svojstvima ciljne funkcije (poput konveksnosti) ili zahtevajudodatne informacije o ciljnoj funkciji (poput parcijalnih izvoda drugog reda).

3.2 Pretraga Prvo najbolji

Pristup pretrage prvo najbolji (engl. best-first search) predstavlja osnovu za razlicite algoritme pretrage grafa(pri cemu je u vidu grafa opisan prostor stanja i akcija za neki problem). Resenjem se smatra niz cvorova (tj. put)od polaznog do ciljnog cvora u grafu. U toku primene algoritma, svakom cvoru stabla pretrage pridruzuje seinformacija o njegovom prethodniku (roditelju) u mogucem resenju, isto kao u Dejkstrinom algoritmu.

Da bi se izbegle beskonacne petlje (tj. beskonacno obradivanje istog stanja, tj. beskonacni nizovi cvorovastabla pretrage u kojima je isto stanje), odrzavaju se dve liste stanja/cvorova:

• zatvorena lista (ili lista zatvorenih stanja) – lista stanja za koje su vec ispitani svi susedi (tj. sva neposrednodostupna stanja);

• otvorena lista (ili lista otvorenih stanja) – lista stanja koja su vec posecena, ali nisu obradeni svi njihovisusedi.

Implementacija otvorene liste treba da omogucava efikasan pristup elementu sa najboljom ocenom 𝑓(𝑛). Jed-nostavnosti radi, u nastavku ce se cesto isto oznacavati cvor stabla pretrage i njegovo stanje.

Na pocetku je u otvorenoj listi samo polazno stanje, a zatvorena lista je prazna. Sustinska ideja je da se usvakoj iteraciji, analizira element otvorene liste sa najboljom ocenom i obraduju se iz njega neposredno dostupnastanja. Ukoliko se naide na ciljno stanje – zadatak je resen i algoritam zavrsava rad. Precizniji opis algoritmadat je na slici 3.8.

Algoritam Prvo najbolji ne pretenduje da daje optimalno resenje (tj. da otkrije najbolji put do ciljnog cvora)niti pruza ikakve garancije u tom smislu. Ipak, da bi se uvecale sanse da se pronade sto kraci put izmedu dvacvora, kada se analizira cvor 𝑚 koji je direktno dostupan iz tekuceg cvora 𝑛 (u skladu sa prikazanim algoritmom),u slucaju da je cvor 𝑚 vec u otvorenoj ili zatvorenoj listi, moze se proveriti da li je put od polaznog cvora docvora 𝑚 preko cvora 𝑛 bolji od postojeceg puta do 𝑚; ako jeste, treba promeniti informaciju o roditelju cvora𝑚 na cvor 𝑛, a ako je 𝑚 bio u zatvorenoj listi, prebaciti ga u otvorenu.

Ako je broj stanja i akcija konacan, algoritam se ocigledno zaustavlja i ima svojstvo potpunosti, o cemugovori naredna teorema.

Page 31: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

31 3. Informisana pretraga

Algoritam: Prvo najbolji

Ulaz: Graf 𝐺, polazni cvor i ciljni cvor

Izlaz: Niz koraka od polaznog do ciljnog cvora (ako postoji put izmedu ova dva stanja)

1: zatvorenu listu postavi na praznu listu, u otvorenu listu stavi samo polazni cvor (sa izracunatom vrednoscufunkcije 𝑓);

2: dok god ima elemenata u otvorenoj listi radi3: izaberi cvor 𝑛 (tekuci cvor) iz otvorene liste koji ima najbolju ocenu 𝑓(𝑛);4: ako je 𝑛 ciljni cvor onda5: izvesti o uspehu i vrati resenje konstruisuci put od polaznog do ciljnog cvora (iduci unazad — od

ciljnog cvora);6: za svaki cvor 𝑚 koji je direktno dostupan iz 𝑛 radi7: ako 𝑚 nije ni u otvorenoj ni u zatvorenoj listi onda8: dodaj ga u otvorenu listu i oznaci 𝑛 kao njegovog roditelja;9: izbaci 𝑛 iz otvorene liste i dodaj ga u zatvorenu listu;

10: izvesti da trazeni put ne postoji (otvorena lista je prazna i uspeh nije prijavljen).

Slika 3.8: Algoritam Prvo najbolji.

Teorema 3.1. Ako je broj stanja i akcija konacan, algoritam Prvo najbolji se zaustavlja i nalazi trazeniput uvek kada on postoji.

Ako funkcija 𝑓(𝑛) vraca dubinu cvora 𝑛 (u DFS obilasku grafa pocev od polaznog cvora), onda se navedenialgoritam ponasa kao algoritam obilaska u sirinu. Ako funkcija 𝑓(𝑛) vraca zbir cena od polaznog cvora do cvora𝑛, onda se navedeni algoritam ponasa kao Dejkstrin algoritam.

Opsti algoritam Prvo najbolji predstavlja bitnu modifikaciju algoritma jednostavnog pohlepnog pristupa.Iako oba u jednom cvoru koriste slicno navodenje i biraju (najpre) najbolji susedni cvor (tj. cvor 𝑛 sa najboljomvrednoscu 𝑓(𝑛)), algoritam Prvo najbolji, za razliku od jednostavnog pohlepnog pristupa, omogucava vracanjena cvorove koji nisu bili ispitani (jer je neka od alternativa obecavala vise). Ovim pristupom, zahvaljujucialternativama u otvorenoj listi, omogucava se uspesan nastavak pretrage i u slucajevima kada bi pohlepnapretraga naisla na plato ili na lokalni optimum. Dodatno, ne postoji mogucnost beskonacnih petlji (zahvaljujucipamcenju obradenih cvorova u zatvorenoj listi).

Primer 3.4. U slucaju primera slagalice diskutovanog u primeru 3.2 (slika 3.3), situacija prikazana levo pred-stavlja lokalni minimum, zbog cega se pohlepna pretraga zaustavlja. Algoritam Prvo najbolji ce odabrati jedanod mogucih poteza, ali ce alternativno stanje cuvati u otvorenoj listi i mozda ga obraditi kasnije. U situacijiprikazanoj desno, pohlepnom pretragom se prazno polje spusta do donjeg desnog ugla, cime se dolazi do lokalnogoptimuma i pohlepna pretraga ne moze da nastavi. Medutim, u slucaju algoritma Prvo najbolji, stanja koja subila alternative ispitanim stanjima su i dalje u otvorenoj listi i ispituju se dalje. Stoga je algoritam Prvo najboljiu stanju da resi slagalicu, ali ne garantuje nalazenje resenja koje se sastoji od najmanjeg broja poteza.

3.3 Algoritam A*

Algoritam A* pretraga ili, krace, algoritam A* (cita se „a zvezda“, engl. „a star“) za odredivanje najkracegputa izmedu dva cvora grafa, jedan je od fundamentalnih i najpopularnijih algoritama vestacke inteligencije.Zasnovan je na koriscenju heuristika za usmeravanje pretrage, ali ipak ima svojstva kao sto su potpunost ioptimalnost. Prvu verziju algoritma A* razvili su Hart, Nilsson i Raphael 1968. godine, a u narednim godinamauvedeno je nekoliko modifikacija.

Algoritam A* je varijanta algoritma Prvo najbolji u kojoj se koristi funkcija evaluacije 𝑓 koja ima sledecuspecificnu formu:

𝑓(𝑛) = 𝑔(𝑛) + ℎ(𝑛),

gde je 𝑔(𝑛) cena puta od polaznog cvora do cvora 𝑛, a ℎ(𝑛) je procenjena (heuristicka) cena najjeftinijeg putaod cvora 𝑛 do ciljnog cvora. Dok se traga za najkracim putem, uvek se zna tekuca minimalna cena (a mozese menjati tokom primene algoritma) od polaznog cvora do cvora 𝑛 (tj. tekuca vrednost 𝑔(𝑛)), ali se vrednost

Page 32: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.3. Algoritam A* 32

ℎ(𝑛) moze samo procenjivati. Od kvaliteta heuristike u velikoj meri zavisi ponasanje i efikasnost algoritma.Izbor kvalitetne heuristike jedan je od najvaznijih i najtezih izazova u dizajniranju konkretnih implementacijaalgoritma A*. Ciljni cvor 𝑡 moze se prepoznati i za njega je vrednost heuristike jednaka 0, ali za sve drugecvorove ne postoji opsti pristup koji daje kvalitetnu heuristiku.

Algoritam A* trazi optimalno resenje (tj. otkriva najbolji put do ciljnog cvora) i zato za svaki cvor na kojinaide proverava da li je do njega ranije vec bio pronaden neki losiji put i, ako jeste, zamenjuje ga novim, boljimputem. Takva provera je u algoritmu Prvo najbolji bila opciona, a u algoritmu A* je obavezna.

Pored toga sto je specijalan slucaj metoda Prvo najbolji, algoritam A* je uopstenje Dejkstrinog algoritma.Kao i u Dejkstrinom algoritmu, cvorovi koje tek treba obraditi cuvaju se u listi, sortiranoj prema nekomkriterijumu. Algoritam A* cesto ispituje manje cvorova nego Dejkstrin algoritam. To smanjenje proistice izkoriscenja heuristike koja procenjuje rastojanje do ciljnog cvora. Kljucna razlika izmedu dva algoritma je utome sto Dejkstrin algoritam (kao algoritam neinformisane pretrage) uzima u obzir samo cenu od polaznog dotekuceg cvora — vrednost 𝑔(𝑚), a A* (kao algoritam informisane pretrage) koristi vrednost funkcije evaluacije𝑓(𝑚) = 𝑔(𝑚) + ℎ(𝑚).

Opis algoritma A* dat je na slici 3.9. Prilikom dodavanja cvora 𝑚 u otvorenu listu, vrednost 𝑔(𝑚) se mozeizracunati na inkrementalan i efikasan nacin: vrednost 𝑔(𝑚) jednaka je zbiru vrednosti funkcije 𝑔 za roditeljacvora 𝑚 i ceni puta od roditelja do 𝑚.

Algoritam: A*

Ulaz: Graf 𝐺, polazni cvor i ciljni cvor

Izlaz: Najkraci put od polaznog do ciljnog cvora (ako postoji put izmedu ova dva cvora)

1: zatvorenu listu postavi na praznu listu, u otvorenu listu stavi samo polazni cvor (sa izracunatom vrednoscufunkcije 𝑓);

2: dok god ima elemenata u otvorenoj listi radi3: izaberi cvor 𝑛 (tekuci cvor) iz otvorene liste koji ima najbolju ocenu 𝑓(𝑛);4: ako je 𝑛 ciljni cvor onda5: izvesti o uspehu i vrati resenje konstruisuci put od polaznog do ciljnog cvora (iduci unazad — od

ciljnog cvora);6: za svaki cvor 𝑚 koji je direktno dostupan iz 𝑛 radi7: ako 𝑚 nije ni u otvorenoj ni u zatvorenoj listi onda8: dodaj ga u otvorenu listu i oznaci 𝑛 kao njegovog roditelja. Izracunaj i pridruzi vrednosti 𝑔(𝑚)

i 𝑓(𝑚) cvoru 𝑚;9: inace

10: ako je put od polaznog cvora do cvora 𝑚 preko cvora 𝑛 bolji (kraci ili jeftiniji) od postojecegputa do 𝑚 (trenutna vrednost 𝑔(𝑚)) onda

11: promeni informaciju o roditelju cvora 𝑚 na cvor 𝑛 i azuriraj vrednosti 𝑔(𝑚) i 𝑓(𝑚) i, akoje 𝑚 bio u zatvorenoj listi – prebaci ga u otvorenu;

12: izbaci 𝑛 iz otvorene liste i dodaj ga u zatvorenu listu;

13: izvesti da trazeni put ne postoji (otvorena lista je prazna i uspeh nije prijavljen).

Slika 3.9: Algoritam A*

Ako algoritam naide na cvor 𝑚 koji je vec u otvorenoj ili zatvorenoj listi, to znaci da je pronaden noviput do cvora 𝑚. Tada se proverava da li je put od polaznog cvora do vec posecenog cvora 𝑚 preko cvora 𝑛bolji od postojeceg puta. Ako jeste bolji, potrebno je azurirati vrednost 𝑔(𝑚). To moze da se desi i za cvor 𝑚koji pripada zatvorenoj listi: ako to jeste slucaj, potrebno je cvor 𝑚 ponovo ispitati kao otvoreni cvor. Ovo jeneophodno kako bi se obezbedilo pronalazenje najboljeg puta od polaznog do ciljnog cvora.

Koriscenje algoritma A* nije uvek jednostavno. Cesto je algoritam potrebno prilagoditi specificnom problemua uvek je, u kontekstu aplikacija koje rade u realnom vremenu, vazno imati u vidu vremensku slozenost, prostornuslozenost, upravljanje memorijom i razlicite dodatne faktore. Neki od dodatnih, specificnih zahteva mogu daiziskuju dodatno matematicko znanje i izracunavanja i specificne implementacione tehnike i strukture. Svi timoduli treba da budu uklopljeni u kompaktan i efikasan sistem za nalazenje puta.

Page 33: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

33 3. Informisana pretraga

3.3.1 Svojstva algoritma A*Moze se dokazati da je algoritam A* potpun i da je pod odredenim uslovima optimalan:

Potpunost: Ako su broj cvorova i broj akcija konacni, ako postoji put izmedu dva cvora, algoritam A* ce, kaoi svaki Prvo najbolji algoritam, naci jedan takav (ukoliko je raspolozivo dovoljno vremena i memorijskogprostora). Cak i ako je heuristicka funkcija veoma losa, ciljni cvor ce biti dostignut u konacnom brojukoraka.

Optimalnost: Od svih puteva izmedu dva data cvora, algoritam A* vratice najkraci (tj. vratice optimalnoresenje) ako je funkcija ℎ dopustiva (eng. admissible). Funkcija ℎ je dopustiva ako nikada ne precenjujestvarno rastojanje izmedu tekuceg cvora i ciljnog cvora, tj. ako za svaki cvor vazi:

ℎ(𝑛) ≤ ℎ*(𝑛),

gde je ℎ*(𝑛) cena najkraceg puta od cvora 𝑛 do ciljnog cvora (tj. ℎ* je idealna, optimalna heuristika).

Ukoliko funkcija ℎ nije dopustiva, ali ne precenjuje stvarnu cenu za vise od 𝑑, onda je cena puta koji cepronaci algoritam A* visa od cene najkraceg za ne vise od 𝑑.

Funkcija ℎ je konzistentna (eng. consistent) ako ima vrednost 0 za ciljni cvor i za bilo koja dva susednacvora 𝑚 i 𝑛 vazi:

𝑐(𝑛,𝑚) + ℎ(𝑚) ≥ ℎ(𝑛)

gde je 𝑐(𝑛,𝑚) cena pridruzena (moguce usmerenoj) grani (𝑛,𝑚). Ako je funkcija ℎ konzistentna, onda jeona i dopustiva (kao sto je dokazano narednom lemom). Obratno ne vazi nuzno: funkcija ℎ moze da budedopustiva, a da ne bude konzistentna.

Teorema 3.2. Ako je ℎ konzistentna heuristika, onda je ona i dopustiva.

Dokaz: Neka je ℎ*(𝑛) jednako najkracem rastojanju od cvora 𝑛 do ciljnog cvora 𝑠 (tj. neka je ℎ* optimalnaheuristika). Dokazimo da, ako je ℎ konzistentna heuristika, onda za svaki cvor 𝑛 vazi ℎ(𝑛) ≤ ℎ*(𝑛).Dokaz izvedimo po broju cvorova izmedu 𝑛 i ciljnog cvora 𝑠 na najkracem putu izmedu njih.Ako izmedu 𝑛 i 𝑠 na najkracem putu nema cvorova, onda iz uslova konzistentnosti vazi 𝑐(𝑛, 𝑠)+ℎ(𝑠) ≥ℎ(𝑛), pa kako je ℎ*(𝑛) = 𝑐(𝑛, 𝑠) i ℎ(𝑠) = 0, vazi ℎ*(𝑛) ≥ ℎ(𝑛).

𝑛

𝑠

𝑚

Pretpostavimo da tvrdenje vazi za svaki cvor za koji je broj cvorova do ciljnog cvora na najkracemputu manji od 𝑘, za 𝑘 > 0. Ako izmedu 𝑛 i 𝑠 na najkracem putu ima 𝑘 cvorova, gde je 𝑘 > 0, nekaje 𝑚 prvi cvor na koji se naide posle cvora 𝑛 na najkracem putu do 𝑠. Od cvora 𝑚 do 𝑠 ima 𝑘 − 1cvorova, pa na osnovu induktivne hipoteze (ℎ*(𝑚) ≥ ℎ(𝑚)) i na osnovu svojstva konzistentnosti vazi

ℎ*(𝑛) = 𝑐(𝑛,𝑚) + ℎ*(𝑚) ≥ 𝑐(𝑛,𝑚) + ℎ(𝑚) ≥ ℎ(𝑛),

sto je i trebalo dokazati.

Ako je funkcija ℎ konzistentna, nije potrebno proveravati da li je put preko tekuceg cvora do jednomzatvorenog cvora bolji od postojeceg (jer sigurno nije). Dakle, ako je funkcija ℎ konzistentna, algoritamA* je optimalan i jos jednostavniji nego u opstem slucaju. Dokaz optimalnosti dat je u nastavku i zasnivase na nekoliko pomocnih tvrdenja. U tvrdenjima se pominju vrednosti 𝑓 i 𝑔 i treba imati na umu sledece:vrednosti funkcije 𝑔, pa onda i 𝑓 za neko stanje mogu se menjati u toku primene algoritma, ali u stablupretrage svaki cvor ima vrednosti 𝑔 i 𝑓 koje se ne menjaju. Moze da bude vise cvorova stabla pretragekojima je pridruzeno jedno isto stanje, tj. isti cvor grafa.

Lema 3.1. Ako je ℎ konzistentna heuristika, onda u svakom trenutku primene algoritma, duz svakog putakroz stablo pretrage, vrednosti 𝑓(𝑛) nisu opadajuce.

Page 34: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.3. Algoritam A* 34

Dokaz: Ako je u nekom trenutku primene algoritma cvor stabla pretrage 𝑚 tekuci i ako je njegov roditeljcvor 𝑛, onda vazi:

𝑓(𝑚) = 𝑔(𝑚) + ℎ(𝑚) = 𝑔(𝑛) + 𝑐(𝑛,𝑚) + ℎ(𝑚) ≥ 𝑔(𝑛) + ℎ(𝑛) = 𝑓(𝑛)

Tvrdenje leme onda sledi na osnovu jednostavnog induktivnog argumenta.

Lema 3.2. Ako je ℎ konzistentna heuristika, za niz cvorova redom proglasenih za tekuce, niz vrednosti𝑓(𝑛) u stablu pretrage cini neopadajuci niz.

Dokaz: U svakoj iteraciji, algoritam bira za tekuci cvor cvor iz otvorene liste sa najmanjom vrednoscu𝑓(𝑛) (te svi preostali cvorovi u skupu otvorenih cvorova imaju vece ili jednake vrednosti 𝑓). Svibuduci tekuci cvorovi su preostali cvorovi iz otvorene liste, ili njihovi potomci. Na osnovu prethodneleme onda sledi da svi buduci cvorovi imaju vrednosti 𝑓 vece ili jednake 𝑓(𝑛). Kako ovo vazi za svakitekuci cvor 𝑛, sledi tvrdenje leme, tj. algoritam proglasava cvorove tekucim u neopadajucem poretkupo 𝑓(𝑛).

Lema 3.3. Ako je ℎ konzistentna heuristika, kad neki cvor stabla pretrage 𝑛 postane tekuci, do njego-vog stanja je vec pronaden optimalan put. Drugim recima, svaki cvor koji postaje tekuci bice cvor sanajmanjom cenom za to stanje.

Dokaz: Kada algoritam proglasi neki cvor tekucim, pri cemu je to prvi takav cvor za odgovarajuce stanje𝑛, on ima neke vrednosti 𝑔(𝑛) = 𝑔0 i 𝑓(𝑛) = 𝑓0. Pretpostavimo da 𝑔(𝑛) nije optimalan put ipretpostavimo da je optimalan put do istog stanja moguce dostici u nekoj kasnijoj iteraciji, u nekombuducem cvoru koji ima vrednosti 𝑔1 i 𝑓1. Kako je 𝑔1 cena optimalnog puta do 𝑛, vazi 𝑔0 > 𝑔1, pai 𝑔0 + ℎ(𝑛) > 𝑔1 + ℎ(𝑛), tj. 𝑓0 > 𝑓1. S druge strane, na osnovu prethodne leme, vazi 𝑓0 ≤ 𝑓1, sto jekontradikcija.

Teorema 3.3. Ako je ℎ konzistentna heuristika, ako je pronaden put do ciljnog cvora, on je sigurnooptimalan.

Dokaz: Algoritam vraca nadeni put cim ciljni cvor po prvi put postane tekuci. Na osnovu prethodneleme, ako je ℎ konzistentna heuristika, kad ciljni cvor postane tekuci, do njega je vec pronadenoptimalan put, sto daje tvrdenje teoreme.

Upravo lema 3.3 govori da za cvorove dostupne iz tekuceg cvora koji su vec zatvoreni, ne mora da seproverava da li njihova vrednost 𝑔 treba da bude azurirana. Ovo tvrdenje u slucaju konzistentne heuristikeobezbeduje jednostavniju i efikasniju implementaciju algoritma A*.

Slozenost: Vremenska slozenost algoritma A* zavisi od heuristike. U najgorem slucaju, broj obradenihcvorova je eksponencijalan u odnosu na duzinu najkraceg puta. U tom slucaju, i prostorna i vremen-ska slozenost algoritma A* jednake su kao za BFS algoritam.

Moze se dokazati da broj obradenih cvorova polinomski zavisi od duzine najkraceg puta ako heuristika ℎzadovoljava sledeci uslov:

|ℎ(𝑥)− ℎ*(𝑥)| ≤ 𝑂(log ℎ*(𝑥))

gde je ℎ* idealna heuristika, tj. funkcija koja vraca cenu najkraceg puta od cvora 𝑥 do ciljnog cvora.

Ukoliko je funkcija 𝑓* idealna funkcija evaluacije (tj. funkcija koja odgovara najkracim putevima), ondaalgoritam A* obraduje sve cvorove za koje vazi 𝑓(𝑛) < 𝑓*(𝑛), kao i neke cvorove 𝑛 za koje vazi 𝑓(𝑛) =𝑓*(𝑛).

Prethodna tvrdenja sugerisu da algoritam A* najbolje performanse (najmanji broj obradenih cvorova) dajekada je funkcija heuristike bliska idealnoj funkciji heuristike. S druge strane, optimalnost je garantovana samoako funkcija heuristike nikada ne precenjuje stvarnu cenu puta. Zajedno, to govori da dobra funkcija heuristikemora da bude veoma pazljivo konstruisana, tako da bude sto bliza idealnoj funkciji, ali da je nikada ne premasuje.

Page 35: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

35 3. Informisana pretraga

Primer 3.5. U sledecem grafu zadatak je naci najkraci put od 𝐴 do 𝐸. Pored cvorova grafa zapisane suprocenjene duzine puta do cvora 𝐸, tj. vrednosti funkcije ℎ. Naredna tabela ilustruje primenu algoritma A*(odgovarajuce stablo pretrage prikazano je na slici 3.10).

𝐴

𝐵

𝐶

𝐷

𝐸𝐹

𝐺

𝐻

5

6

4

3

4

3 3

2

25

6

1

6

5

03

6

4

tekuci stanje otvorene liste u zatvorenu listucvor [cvor(roditelj,g+h)] se dodaje

A(-, 0+6)A(6) D(A,6+5), G(A,5+6) A(-)D(11) G(A,5+6), F(D,9+3), H(D,9+4), C(D,10+6) D(A)G(11) F(D,9+3), H(D,9+4), C(D,10+6) G(A)F(12) B(F,12+1), H(D,9+4), C(D,10+6) F(D)B(13) H(D,9+4), E(B,14+0), C(D,10+6) B(F)H(13) B(H,11+1), E(B,14+0), C(D,10+6) H(D)B(12) E(B,13+0), C(D,10+6) B(H)E(13) C(D,10+6)

Na kraju primene algoritma, kada je cvor 𝐸 postao tekuci cvor, konstruise se trazeni put (koristeci infor-macije o roditeljma za cvorove iz zatvorene liste: 𝐴−𝐷−𝐻 −𝐵 −𝐸. Koriscena heuristika je dopustiva, pa jepronadeni put optimalan.

S druge strane, heuristika nije konzistentna jer vazi 𝑐(𝐻,𝐵) + ℎ(𝐵) = 2 + 1 < 4 = ℎ(𝐻) (primetimo davrednosti 𝑓 za cvorove koji postaju tekuci nisu neopadajuce).3 Zato je nuzno i za zatvorene cvorove proveravatida li se put do njih moze popraviti. To i jeste bio slucaj za cvor 𝐵: u koraku u kojem se 𝐻 brise iz zatvoreneliste, u nju se dodaje cvor 𝐵 jer je do njega pronaden bolji put (preko 𝐻) od ranije postojeceg. Ukoliko to ne bibilo radeno, algoritam bi se ponasao na sledeci nacin:

𝐴

𝐵

𝐶

𝐷

𝐸𝐹

𝐺

𝐻

5

6

4

3

4

3 3

2

25

6

1

6

5

03

6

4

3Za neke heuristike (kao sto je, na primer, euklidsko rastojanje) postoji jednostavan, opsti argument da je dopustiva i konzi-stentna, a u nekim situacijama, kao sto je i graf u ovom primeru, dopustivost i konzistentnost mogu da se ispitaju samo neposrednimproveravanjem za sve cvorove.

Page 36: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.3. Algoritam A* 36

𝐴

𝐷 𝐺

6 1

11 11

𝐴

𝐷 𝐺

𝐴 𝐶 𝐹 𝐻

6 1

11 2 11

6 16 12 13

𝐴

𝐷 𝐺

𝐴 𝐶 𝐹 𝐻

𝐺

𝐴 𝐻

6 1

11 2 11

6 16 12 13

3

6 13

𝐴

𝐷 𝐺

𝐴 𝐶 𝐹 𝐻

𝐺

𝐴 𝐻𝐹

𝐷 𝐻 𝐵

𝐺

𝐴 𝐻

6 1

11 2 11

6 16 12 13

3

6 134

12 13 13

𝐴

𝐷 𝐺

𝐴 𝐶 𝐹 𝐻

𝐺

𝐴 𝐻𝐹

𝐷 𝐻 𝐵𝐵

𝐻𝐹𝐸

6 1

11 2 11

6 16 12 13

3

6 134

12 13 13 5

𝐴

𝐷 𝐺

𝐴 𝐶 𝐹 𝐻

𝐺

𝐴 𝐻𝐹

𝐷 𝐻 𝐵𝐵

𝐻𝐹𝐸

𝐻

𝐺 𝐷 𝐹 𝐵

6 1

11 2 11

6 16 12 13

3

6 134

12 13 12 5

6

𝐴

𝐷 𝐺

𝐴 𝐶 𝐹 𝐻

𝐺

𝐴 𝐻𝐹

𝐷 𝐻 𝐵𝐵

𝐻𝐹𝐸

𝐻

𝐺 𝐷 𝐹 𝐵

𝐻𝐹𝐸

6 1

11 2 11

6 16 12 13

3

6 134

12 13 12 5

6

7

𝐴

𝐷 𝐺

𝐴 𝐶 𝐹 𝐻

𝐺

𝐴 𝐻𝐹

𝐷 𝐻 𝐵𝐵

𝐻𝐹𝐸

𝐻

𝐺 𝐷 𝐹 𝐵

𝐻𝐹𝐸

6 1

11 2 11

6 16 12 13

3

6 134

12 13 12 5

6

7

8

Slika 3.10: Stablo pretrage tokom primene algoritma A* na problem iz primera 3.5 (levo od cvora je zapisananjegova 𝑓 vrednost, a desno redni broj u nizu tekucih cvorova)

Page 37: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

37 3. Informisana pretraga

tekuci stanje otvorene liste u zatvorenu listucvor [cvor(roditelj,g+h)] se dodaje

A(-, 0+6)A(6) D(A,6+5), G(A,5+6) A(-)D(11) G(A,5+6), F(D,9+3), H(D,9+4), C(D,10+6) D(A)G(11) F(D,9+3), H(D,9+4), C(D,10+6) G(A)F(12) B(F,12+1), H(D,9+4), C(D,10+6) F(D)B(13) H(D,9+4), E(B,14+0), C(D,10+6) B(F)H(13) E(B,14+0), C(D,10+6) H(D)E(14) C(D,10+6)

Na kraju primene algoritma, kada je cvor 𝐸 postao tekuci cvor, konstruise se put: 𝐴−𝐷−𝐹 −𝐵−𝐸. Ovojeste put od cvora 𝐴 do cvora 𝐸, ali nije najkraci moguci. Ovo ponasanje posledica je cinjenice da funkcija ℎnije konzistentna: kada heuristika nije konzistentna, neophodno je proveravati i zatvorene cvorove.

Ukoliko se za isti problem koristi konzistentna funkcija, rezultat ce biti optimalan put od 𝐴 do 𝐸, a nece bitipotrebno proveravati jednom zatvorene cvorove. U narednom primeru koristi se konzistentna heuristika ℎ cijase vrednost razlikuje u odnosu na prethodnu samo za cvor 𝐻 i daje optimalni put 𝐴−𝐷 −𝐻 −𝐵 − 𝐸.

𝐴

𝐵

𝐶

𝐷

𝐸𝐹

𝐺

𝐻

5

6

4

3

4

3 3

2

25

6

1

6

5

03

6

3

tekuci stanje otvorene liste u zatvorenu listucvor [cvor(roditelj,g+h)] se dodaje

A(-, 0+6)A(6) D(A,6+5), G(A,5+6) A(-)D(11) G(A,5+6), H(D,9+3), F(D,9+3), C(D,10+6) D(A)G(11) H(D,9+3), F(D,9+3), C(D,10+6) G(A)H(12) B(H,11+1), F(D,9+3), C(D,10+6) H(D)B(12) F(D,9+3), E(B,13+0), C(D,10+6) B(H)F(12) E(B,13+0), C(D,10+6) F(D)E(13) C(D,10+6)

Primer 3.6. U primeru pronalazenja najkracih puteva izmedu gradova (primer 1.2), ako su poznata rastojanjaizmedu gradova vazdusnim putem, algoritam A* moze kao heuristicku funkciju ℎ(𝑛) da koristi vazdusno rasto-janje od cvora 𝑛 do ciljnog cvora, kao i u primeru 3.1. Tabela na slici 3.11 ilustruje izvrsavanje algoritma A*na primeru puta Podgorica-Budimpesta. Nadeni put je Podgorica-Beograd-Budimpesta, za razliku od pohlepnepretrage koja pronalazi put Podgorica-Sarajevo-Beograd-Budimpesta.

Primer 3.7. U slucaju Lojdove slagalice, kao u primeru 3.2. za heurisku se koristi zbir Menhetn rastojanjasvakog od 15 polja slagalice do njegovog ciljnog mesta. Slika 3.12 prikazuje stanje slagalice i tri moguca nasled-nika, koja imaju ocenu rastojanja istu kao i polazno stanje ili vecu. Stoga, kako se polazno stanje nalazi naplatou, pristup ciste pohlepne pretrage je nemocan vec na pocetku.

Za isto polazno stanje, algoritam A* pronalazi resenje od pet poteza – levo, gore, desno, dole, dole. Stablopretrage vrsene algoritmom A* je prikazano na slici 3.13 i odgovara procesu pretrage u kojem se medu stanjimanaslednicima prvo razmatra pogresan, ali po proceni rastojanja, jednako obecavajuc potez nadole.

3.3.2 Specijalni slucajevi primeneObilasci grafa u dubinu i sirinu mogu se smatrati specijalnim slucajevima algoritma A*.

Page 38: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.3. Algoritam A* 38

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest590

450

840

640

360

300

240

170350

190

230170

450

280

400

290

390

370

340

300

290

190

380320

430320

560

410

640

tekuci stanje otvorene liste u zatvorenucvor [cvor(roditelj,g+h)] listu se

dodajePg(-,0+560)

Pg Sa(Pg,230+410), Bg(Pg,450+320), Sk(Pg,350+640) Pg(-)Sa Bg(Pg,450+320), Sk(Pg,350+640), Zg(Sa,630+300) Sa(Pg)Bg Sk(Pg,350+640), Zg(Sa,630+300), Bud(Bg,830+0), Buk(Bg,1040+640) Bg(Pg)Bud Sk(Pg,350+640), Zg(Sa,630+300), Buk(Bg,1040+640)

Slika 3.11: Graf koji opisuje problem puteva izmedu gradova. Na grafu podebljanim ciframa ispisana su kopnena,a obicnim ciframa vazdusna rastojanja izmedu dva grada.

1 2 3 4

5 6 11 7

9 10 8

13 14 15 12

5

1 2 3 4

5 6 11 7

9 10 8 12

13 14 15

4

1 2 3 4

5 6 11 7

9 10 8

13 14 15 12

4

1 2 3 4

5 6 11

9 10 8 7

13 14 15 12

6

Slika 3.12: Stablo pohlepne pretrage na primeru slagalice u kojem se polazno stanje nalazi na platou.

Za obilazak grafa u dubinu, moze se koristiti algoritam A* sa 𝑔(𝑛) = 0 i pogodno kreiranom funkcijom ℎ.Na primer, neka je vrednost 𝐶 inicijalizovana na neku veoma veliku vrednost. Kad god se obraduje neki cvor,vrednost 𝐶 se pridruzuje kao vrednost funkcije ℎ svim njegovim susedima koji nisu poseceni ranije. Nakon svakedodele neka se smanjuje vrednost 𝐶 za jedan. Time ce vrednost ℎ(𝑛) da bude veca za cvorove na koje se ranijenaislo. Ovako definisana funkcija ℎ nije nuzno dopustiva.

Za 𝑔(𝑛) = 0, algoritam A* predstavlja specijalnu varijantu pristupa Prvo najbolji, koja najpre obradujecvorove sa najboljom heuristickom vrednoscu. Ova varijanta algoritma nije nuzno optimalna.

Dejkstrin algoritam, kao specijalni slucaj obilaska grafa u sirinu, takode je specijalni slucaj algoritma A* ukojem je ℎ(𝑛) = 0 za svaki cvor 𝑛. Ovakva funkcija ℎ je konzistentna i garantuje nalazenje optimalnog puta.Skup otvorenih cvorova siri se ravnomerno, slicno koncentricnim krugovima oko polaznog cvora, bas kao kodDejkstrinog algoritma. S druge strane, sa boljom heuristikom, skup otvorenih cvorova ce se brze siriti ka ciljnomcvoru.

Opsti algoritam A* cesto se primenjuje za pronalazenje puta na uniformnoj, kvadratnoj mrezi cvorova (kojaodgovara, na primer, diskretizovanoj ili rasterizovanoj mapi). Tada on dobija specificnu formu. Pretpostavimoda je mreza pravilna (sacinjena od kvadrata) i da ima pravougaonu formu. Dodatno, pretpostavljamo da nekicvorovi (tj. neki kvadrati, neka polja mreze) nisu dostupni i da oni predstavljaju prepreke. Svako polje povezanoje sa svakim susednim poljem (osim sa preprekama), te ima (izuzev polja na rubu) cetiri susedna polja (ali

Page 39: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

39 3. Informisana pretraga

1 2 3 4

5 6 11 7

9 10 8

13 14 15 12

0 + 5 (1)

1 2 3 4

5 6 11 7

9 10 8 12

13 14 15

1 + 4 (2)

1 2 3 4

5 6 11 7

9 10 8

13 14 15 12

1 + 4 (3)

1 2 3 4

5 6 11

9 10 8 7

13 14 15 12

1 + 6

1 2 3 4

5 6 11 7

9 10 8 12

13 14 15

2 + 5

1 2 3 4

5 6 11 7

9 10 8

13 14 15 12

2 + 5

1 2 3 4

5 6 7

9 10 11 8

13 14 15 12

2 + 3 (4)

1 2 3 4

5 6 11 7

9 10 15 8

13 14 12

2 + 5

1 2 3 4

5 6 7

9 10 11 8

13 14 15 12

3 + 4

1 2 3 4

5 6 7

9 10 11 8

13 14 15 12

3 + 2 (5)

1 2 4

5 6 3 7

9 10 11 8

13 14 15 12

3 + 4

1 2 3

5 6 7 4

9 10 11 8

13 14 15 12

4 + 3

1 2 3 4

5 6 7 8

9 10 11

13 14 15 12

4 + 1 (6)

1 2 3 4

5 6 7 8

9 10 11

13 14 15 12

5 + 2

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15

5 + 0 (7)

Slika 3.13: Stablo pretrage vrsene algoritmom A*, na primeru slagalice u kojem se polazno stanje nalazi naplatou. U prikazu stabla, medu naslednicima svakog stanja su samo stanja koja nisu vec dodata u zatvorenulistu. U zagradama su navedeni redni brojevi pod kojim stanja postaju tekuca.

neka od njih mogu biti prepreke i kao takve nedostupne). Svakom horizontalnom ili vertikalnom pokretu obicnose pridruzuje (stvarna) cena 1. Funkcija heuristike ℎ moze se zadati na razlicite nacine. Kada se izracunavavrednost ℎ, obicno se, jednostavnosti i efikasnosti radi, ignorisu sve prepreke jer vrednost ℎ(𝑛) je procenjeno ane stvarno rastojanje, a ignorisanjem prepreka bice potcenjeno stvarno rastojanje (sto upravo i jeste pozeljanuslov). Jedan nacin zadavanja heuristike ℎ je euklidsko rastojanje izmedu dva polja (𝑑((𝑥1, 𝑦1), (𝑥2, 𝑦2)) =√

(𝑥2 − 𝑥1)2 + (𝑦2 − 𝑦1)2). Ova funkcija je konzistentna i dopustiva (te obezbeduje optimalnost), ali je zahtevnasto se tice vremena izracunavanja (sto moze biti kriticno za mape sa milionima cvorova). Drugi primer funkcijeheuristike je Menhetn rastojanje u kojem se broji ukupan broj polja predenih horizontalno ili vertikalno da bi sedoslo od jednog do drugog polja (𝑑((𝑥1, 𝑦1), (𝑥2, 𝑦2)) = |𝑥2−𝑥1|+|𝑦2−𝑦1|). Ova heuristika je dopustiva (jer nikadne precenjuje stvarno rastojanje), te garantuje pronalazenje optimalnog puta. Ukoliko su na mrezi dozvoljenii dijagonalni potezi, onda se svakom horizontalnom ili vertikalnom potezu obicno pridruzuje cena 1, a svakomdijagonalnom potezu cena

√2 ≈ 1.414 (ovakva cena odgovara euklidskom rastojanju izmedu sredista polja;

zbog efikasnosti, ove vrednosti se obicno mnoze nekom konstantom, na primer, 10, i zaokruzuju na ceo broj). Uovom slucaju, Menhetn rastojanje moze da precenjuje rastojanje do ciljnog cvora, te nije dopustiva heuristikai ne garantuje pronalazenje najkraceg puta. No, ovo rastojanje u praksi cesto daje dobre rezultate i pronadeniputevi su obicno dovoljno dobri, cak i ako nisu najkraci. U slucaju da su dozvoljeni i dijagonalni potezi, kaodopustiva heuristika moze da se koristi Cebisevljevo rastojanje (𝑑((𝑥1, 𝑦1), (𝑥2, 𝑦2)) = 𝑚𝑎𝑥(|𝑥2−𝑥1|, |𝑦2− 𝑦1|)).

I kada heuristika nije konzistentna, mogu da se ne azuriraju (i otvaraju ponovo) zatvoreni cvorovi. I ovakavpristup cesto daje dovoljno dobra i efikasna resenja, iako ne nuzno optimalna.

Page 40: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.3. Algoritam A* 40

Primer 3.8. Vrednosti funkcija 𝑓 , 𝑔 i ℎ su napisane u svakom polju uniformne mreze: vrednost funkcije 𝑓je zapisana gore-levo, vrednost funkcije 𝑔 dole-levo, a vrednost funkcije ℎ dole-desno. Vrednost funkcije 𝑓 zasvako polje je, kao i obicno, zbir vrednosti funkcija 𝑔 i ℎ. Polazni cvor oznacen je zelenom, a ciljni crvenombojom. Dozvoljeni su horizontalni, vertikalni i dijagonalni potezi. Otvorena polja su oznacena tankim zelenimkvadratima, a zatvorena debljim crvenim kvadratima u okviru polja. Strelice ukazuju na tekuceg roditelja polja.

Postupak je isti kao kod opsteg algoritma: u svakoj iteraciji bira se polje iz otvorene liste sa najmanjomvrednoscu funkcije 𝑓 . To, tekuce polje izbacuje se iz otvorene liste i dodaje u zatvorenu listu. Proveravaju sesva susedna polja, ne razmatrajuci polja koja su u zatvorenoj listi ili nisu dostupna. Ako susedno polje nije vecu otvorenoj listi, izracunavaju se vrednosti funkcija 𝑔, ℎ i 𝑓 za njega i oznacava se da je tekuce polje njegovroditelj. Ako je susedno polje vec u otvorenoj listi, proverava se da li je put preko tekuceg polja bolji, tj. proveravase da li je vrednost funkcije 𝑔 za to susedno polje manja ako se do njega dolazi preko tekuceg polja. Ukoliko tonije tacno, ne preduzima se nista, a ako jeste, tekuce polje postaje novi roditelj tog susednog polja i njemu sepridruzuju nove vrednosti 𝑔 i 𝑓 .

Pretraga krece od polaznog polja jer je na pocetku samo ono u otvorenoj listi. U poljima levo, desno, gorei dole od polaznog polja, vrednost funkcije 𝑔 je 10. U dijagonalnim poljima vrednost funkcije 𝑔 je 14. Ovevrednosti odgovaraju pribliznom euklidskom rastojanju (pomnozenom sa 10 i zaokruzenom). Vrednosti funkcijeℎ izracunavaju se na osnovu Menhetn rastojanja (pomnozenog sa 10) do ciljnog polja i zanemarujuci prepreku.

1460

74

1050

60

1440

54

1030

40

1440

54

1050

60

1460

74

1050

60

𝑔 ℎ

𝑓

1460

74

1050

60

1440

54

1030

40

1440

54

1050

60

1460

74

1050

60

1030

40

1460

74

1050

60

1440

54

1030

40

1440

54

1050

60

1460

74

1050

60

1030

40

2860

88

2450

74

1460

74

1050

60

1440

54

1030

40

1440

54

1050

60

1460

74

1050

60

1030

40

2880

108

2470

94

2060

80

2470

94

2880

108

2470

94

2060

80

2450

74

2470

94

3870

108

3870

108

3460

94

2060

80

2450

74

3440

74

3850

88

4430

74

4840

88

5420

74

5830

88

7230

102

5420

74

5810

68

6820

88

7210

82

68 0

68

7210

82

1460

74

1050

60

1440

54

1030

40

1440

54

1050

60

1460

74

1050

60

1030

40

2880

108

2470

94

2060

80

2470

94

2880

108

2470

94

2060

80

2450

74

2470

94

3870

108

3870

108

3460

94

2060

80

2450

74

3440

74

3850

88

4430

74

4840

88

5420

74

5830

88

7230

102

5420

74

5810

68

6820

88

7210

82

68 0

68

7210

82

Slika 3.14: Ilustracija rada algoritma A* na uniformnoj mrezi

Polazno polje brise se iz otvorene liste i dodaje u zatvorenu listu. U otvorenoj listi je samo njegovih osamsusednih polja. Od svih njih, bira se ono sa najmanjom vrednoscu funkcije 𝑓 (40), to je polje neposredno desnood polaznog polja i ono ce biti sledece tekuce polje.

Tekuce polje izbacuje se iz otvorene liste, dodaje se u zatvorenu listu i onda se proveravaju njegova susednapolja (naravno, samo ona koja nisu u zatvorenoj listi i nisu prepreke). Preostala cetiri polja su vec u otvorenoj

Page 41: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

41 3. Informisana pretraga

listi, pa je potrebno proveriti da li put preko tekuceg cvora popravlja njihove trenutne ocene. Razmotrimo, naprimer, polje neposredno iznad tekuceg polja: vrednost funkcije 𝑔 za njega je 14. Ukoliko bi se do njega dolazilopreko tekuceg polja, vrednost funkcije 𝑔 bila bi 20 (10 je cena od polaznog do tekuceg cvora i 10 je cena prelaskaod tekuceg polja). Dakle, na ovaj nacin se ne moze popraviti vrednost funkcije 𝑔 u polju iznad i ona ostajenepromenjena.

Opisani postupak sprovodi se za sva cetiri susedna polja i, u ovom slucaju, utvrduje se da ocena nijednog nemoze da se popravi. Time je obrada tekuceg polja zavrsena i trazi se novo tekuce polje. Od preostalih sedampolja u otvorenoj listi bira se ono sa najmanjom vrednoscu funkcije 𝑓 . Ukoliko postoji vise takvih svejedno jekoji izabrati. Neka je, na primer, izabrano polje neposredno ispod prethodnog tekuceg polja.

Za tekuce polje nece se razmatrati susedna polja koja su u zatvorenoj listi kao i ona koja su nedostupna(tj. prepreke). No, moze se (iako to nije nuzno i zavisi od konkretne primene) zabraniti ispitivanje polja koje jedesno-dole od tekuceg polja. Naime, moze se smatrati da je dijagonalni potez od tekuceg do tog polja nemoguc zbogprepreke koja se nalazi desno od tekuceg polja. Ukoliko se prihvati takvo ogranicenje, ostaje jos tri susedna poljakoja treba razmotriti. Dva polja ispod tekuceg polja nisu u otvorenoj listi, pa se dodaju zajedno sa izracunatimvrednostima funkcija i informacijom da im je roditelj tekuce polje. Za polje levo od tekuceg polja se proveravada li se moze smanjiti vrednost funkcije 𝑔 (odgovor je — ne) i time je zavrsena obrada tekuceg polja.

Opisani postupak se nastavlja dok ciljno polje ne postane tekuce.U konkretnom primeru, nakon nekoliko iteracija, vrednosti funkcija 𝑔 i 𝑓 , kao i roditeljsko polje, promenili

su se za polje koje se nalazi dva polja ispod polaznog polja. Ranije je ovo polje imalo vrednost funkcije 𝑔 jednaku28 (i vrednost funkcije 𝑓 jednaku 88) i roditeljsko polje je bilo gore-desno. Kasnije, ovo isto polje ima vrednostfunkcije 𝑔 jednaku 20 (i vrednost funkcije 𝑓 jednaku 80), a roditeljsko polje je gore. Ova izmena dogodila se unekoj iteraciji u meduvremenu. U ovom slucaju ona ne utice na pronadeni put, ali su ovakve izmene u opstemslucaju veoma ceste i uticu na konacno resenje.

Kada tokom pretrage ciljno polje postane tekuce, trazeni put od polaznog cvora se konstruise jednostavno.Krece se od ciljnog cvora i prelazi na roditeljski sve dok se ne dode do polaznog cvora. Ovako odreden niz poljau suporotnom poretku daje trazeni put od polaznog do ciljnog polja.

3.3.3 Implementaciona pitanja

Algoritam A* se obicno primenjuje u aplikacijama koje rade u realnom vremenu, te je neophodno da jeefikasno implementiran. Otvorena lista se cesto implementira kao binarni min-hip (kako bi se brzo dolazilo doelementa sa najmanjom vrednoscu funkcije 𝑓), a zatvorena lista kao hes tabela4. Koriscenjem ovih funkcija,operacije za dodavanje u i brisanje elemenata iz otvorene liste zahtevaju vreme 𝑂(log |𝑉 |), gde je 𝑉 skup cvorovagrafa, a dodavanje cvora u zatvorenu listu i proveravanje da li je vec u zatvorenoj listi zahteva vreme 𝑂(1).

Zahtevi za memorijskim prostorom su za algoritam A* cesto jos veci problem nego vremenska slozenost.Ipak, ukoliko broj cvorova grafa nije preveliki, moze da bude isplativo i staticko alociranje potrebnog prostora(ili dinamicko alociranje vecih blokova) koji onda moze da se koristi u savezu sa min-hip strukturom, kako bise izbegle ceste i skupe operacije dinamickog alociranja (i dealociranja) za pojedinacne cvorove.

Potrebno je eliminisati racun sa decimalnim brojevima i koristiti samo celobrojnu aritmetiku. Ukoliko ceneimaju vrednosti koje nisu celobrojne (na primer, 1.414) potrebno ih je pomnoziti sa, na primer, 1000 i koristitisamo zaokruzene vrednosti.

Najgori slucaj za algoritam A* je kada ne postoji put izmedu polaznog i ciljnog cvora. U tu svrhu moze seimplementirati brza provera da li uopste postoji put izmedu dva cvora: dva cvora su povezana ako i samo akopripadaju povezanim delovima grafa. Ako se za svaki cvor moze lako proveriti kom delu grafa pripada, onda jei navedena provera jednostavna (na primer, mapa moze biti obradena unapred i obojena u nekoliko boja kojepredstavljaju komponente povezanosti).

Kada se algoritam A* primenjuje za pronalazenje puta na uniformnoj mrezi, on daje korake u osam mogucihsmerova sto kasnije cesto dovodi do neprirodnih puteva sacinjenih od segmenata sa jednim od osam nagiba.Takve puteve je potrebno unaprediti omeksavanjem, tj. zameniti slicnim putevima koji izgledaju prirodnije.

Pitanja i zadaci

3.1. Kako se naziva algoritam pretrage koji uvek bira lokalno optimalne akcije?

3.2. Sta, umesto globalnog ekstremuma, pohlepna pretraga moze vratiti kao rezultat?

4 Hes tabela je struktura podataka koja povezuje vrednosti i kljuceve. Ona omogucava efikasno nalazenje vrednosti na osnovukljuca. To se postize preslikavanjem kljuca hes funkcijom u hes vrednost koja sluzi kao indeks niza na kojem se nalazi odgovarajucavrednost.

Page 42: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.3. Algoritam A* 42

3.3. Sta je plato u problemima pretrage?

3.4. Kako se zove oblast prostora pretrage u kojem ciljna funkcija ima konstantnu vrednost?

3.5. Cemu je jednaka vrednost 𝑓(𝑛) koja se u algoritmu A* pridruzuje cvoru 𝑛?

3.6. Sta, za razliku od Dejkstrinog algoritma, algoritam A* uzima u obzir?

3.7. Da li je algoritam A* opstiji od Dejkstrinog algoritma? Da li je Dejkstrin algoritam opstiji od algoritmaA*?

3.8. Kada se algoritam A* ponasa isto kao Dejkstrin algoritam?

3.9. Da li se tokom primene algoritma A*, moze promeniti vrednost 𝑔(𝑛) za cvor 𝑛? Da li se tokom primenealgoritma A*, moze promeniti vrednost ℎ(𝑛) za cvor 𝑛? Da li se tokom primene algoritma A*, moze promenitivrednost 𝑓(𝑛) za cvor 𝑛?

3.10. Kako se zove skup iz kojeg se u glavnoj petlji algoritma A* bira tekuci cvor?

3.11. Kakva struktura podataka se koristi za cuvanje vrednosti funkcije evaluacije u okviru algoritma A*?Obrazloziti.

3.12. Da li je, na samom pocetku primene algoritma A*, lista zatvorenih cvorova prazna?

3.13. Koji cvor se, prilikom primene algoritma A*, prvi dodaje u listu otvorenih cvorova?

3.14. Kada se, u okviru algoritma A*, u listu zatvorenih cvorova dodaje novi element?

3.15. Tokom primene algoritma A*, ako se ispituje tekuci cvor i naide na njegov susedni cvor 𝑣 koji nije uzatvorenoj listi, ali jeste u otvorenoj listi, sta treba uraditi?

3.16. Da li je na kraju primene algoritma A* lista otvorenih cvorova nuzno prazna?

3.17. Da li je na kraju primene algoritma A* lista zatvorenih cvorova nuzno prazna?

3.18. Sta je uslov zaustavljanja za algoritam A*?

3.19. Za koje grafove je algoritam A* najpogodniji za primenu?

3.20. Kada kazemo da je funkcija heuristike ℎ u algoritmu A* dopustiva, a kada kazemo da je konzistentna?

3.21. Sta znaci to da je algoritam A* potpun?

3.22. Pod kojim uslovom je algoritam A* potpun?

3.23. Pod kojim uslovom je algoritam A* optimalan (nalazi najkraci put)?

3.24. Ukoliko je 𝑓* funkcija koja odgovara najkracem putu izmedu dva cvora u grafu, koje cvorove obradujealgoritam A*?

3.25. Kada je u algoritmu A* broj obradenih cvorova polinomski u odnosu na duzinu najkraceg puta?

3.26. Kako se zove rastojanje izmedu dva cvora u kojem se broji ukupan broj polja predenih horizontalno ilivertikalno od prvog do drugog?

3.27. Koliko je Mehnetn rastojanje izmedu donjeg levog i gornjeg desnog polja sahovske table?

3.28. Kada se algoritam A* primenjuje na uniformnoj mrezi, koja funkcija se obicno primenjuje kao heuri-stika? Da li je ova heuristika dopustiva? Zasto se primenjuje ova heuristika, sta je njena kljucna osobina?

3.29. Kada se algoritam A* primenjuje na uniformnoj mrezi, sta se obicno koristi kao cena puta do susednogcvora koji je desno, a sta do susednog cvora gore-desno?

Zadatak 3.1. Data je tabla za igru kao na sledecoj slici. Potrebno je naci najjeftiniji put od polja A do poljaB pri cemu dijagonalno kretanje nije dozvoljeno. Cena prelaska sa belog na belo polje je 1, cena prelaska sabelog na sivo polje je 4 i cena prelaska sa sivog na belo polje je takode 4. Crno polje nije dostupno. Prikazatiizvrsavanje algoritma A* za ovaj problem. Za ocenu cene kretanja od nekog polja do cilja, koristiti Menhetnrastojanje od tog polja do cilja.

Page 43: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

43 3. Informisana pretraga

A

B

Zadatak 3.2. Potrebno je naci najjeftiniji put od grada A do grada E. Procenjene cene puta od razlicitihgradova do grada E su (A,105), (B,100), (C,50), (D,20). Stvarne cene puta izmedu gradova su (A,B,20),(A,C,50), (A,D,100), (B,C,20), (B,E,110), (C,D,30), (D,E,30). Izmedu ostalih gradova nema puteva. Da lije zadata heuristika dopustiva? Da li je zadata heuristika konzistentna? Prikazati izvrsavanje algoritma A*na ovom problemu.

Zadatak 3.3. U datom grafu, algoritmom A* naci najkraci put od gornjeg levog do donjeg desnog cvora. Pritom, brojevi pored cvorova predstavljaju vrednosti heuristicke procene cene puta preko tog cvora, dok brojevi uzgrane predstavljaju tacne cene prelaska od cvora do cvora.

c cc c

1 0

2 1

1

1

2 3

Zadatak 3.4. U datom grafu, algoritmom A*, naci najkraci put od cvora A do cvora F. Podvuceni brojevipredstavljaju vrednosti heuristicke funkcije u cvorovima, a ostali cene prelaska preko grana.

𝐴2 𝐵2

𝐶1 𝐷1 𝐸1

𝐹0

2

2

6

2

6 2

2

6

2

Zadatak 3.5. Algoritmom A* naci put od cvora A do cvora E. Heuristicka procena cene puta izmedu dvacvora je broj grana koje je potrebno preci na tom putu. Stvarne cene su date pored grana.

𝐴 𝐵

𝐶

𝐷 𝐸

10

18

64

1

1

Zadatak 3.6. Algoritmom A* naci put od cvora V3 do cvora V1. Heuristicka procena cene puta izmedu dvacvora je broj grana koje je potrebno preci na tom putu. Stvarne cene su date pored grana.

𝑉 3

𝑉 4𝑉 5

𝑉 2

𝑉 0 𝑉 1

73

9

12

8 1

5

4

Zadatak 3.7. Na datoj tabli primeniti algoritam A*. Kao heuristicka mera rastojanja izmedu dva cvorakoristi se Menhetn rastojanje. S oznacava start, a C cilj. Stupanje na belo polje kosta 2, na sivo 6, a crnapolja su neprohodna.

S

C

Zadatak 3.8. Na datoj tabli primeniti algoritam A*. Kao heuristicka mera rastojanja izmedu dva cvorakojirsti se Menhetn rastojanje. S oznacava start, a C cilj. Stupanje na belo polje kosta 1, na sivo 6, a crnapolja su neprohodna.

Page 44: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

3.3. Algoritam A* 44

C

S

Zadatak 3.9. Pera peca na mostu 𝐴 bez mnogo uspeha. Od druga koji je na mostu 𝐵 je cuo da je tamoulov veliki. Pera procenjuje vreme u minutima koje mu je potrebno da autom dode do mosta 𝐵 kao najmanjibroj ostrva preko kojih mora da prede. Vremena koja su mu potrebna za prelazak preko svakog od ostrva suna prilozenoj slici zapisana na tim ostrvima, ali ih Pera ne zna. Kako bi zapamtio najkraci put i za ubuduce,Pera se odlucuje da ga nade algoritmom A*. Opisati Perinu pretragu.

1 1 1

3 1

𝐴

𝐵

Page 45: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 4

Igranje strateskih igara

Automatsko igranje strateskih igara kao sto je sah davnasnji je izazov. Jos pocetkom dvadesetog vekaspanski pronalazac Tores Kevedo (Torres y Quevedo) konstruisao je (i prikazao na svetskoj izlozbi u Parizu1914. godine) elektro-mehanicki uredaj El Ajedrecista („Sahista“) koji je, kao beli, igrao sahovsku zavrsnicu„kralj i top protiv kralja“ i iz svake pozicije nepogresivo pobedivao (iako ne u najmanjem mogucem brojupoteza). Opste razmatranje teorije igara zapoceo je Dzon fon Nojman (John von Neumann) postavljanjemopsteg problema (1928. godine): Igraci 𝑆1, 𝑆2, . . . , 𝑆𝑛 igraju datu igru Γ. Kako treba da igra igrac 𝑆𝑚 dabi ostvario najbolji moguci rezultat? Vec od polovine dvadesetog veka, problemi ove vrste bili su vazan i cestopokretacki, motivisuci izazov za oblast u nastajanju – vestacku inteligenciju. Neki od najvecih (ili makar najsirepoznatih) uspeha vestacke inteligencije ostvareni su upravo na polju strateskih igara: racunari su vec odavnopobedili svetske sampione u igrama bekgemon, dame i sah (tada vazeci svetski sampion Gari Kasparov partijusaha izgubio je od racunara 1997. godine), a pocetkom 2016. godine i u igri go. Iako su ovi programi veomauspesni, njihovi principi odlucivanja kvalitativno (po pitanjima apstrahovanja, analogija, pravljenja planovai sl.) i dalje su veoma razliciti od ljudskih. Vecina najznacajnijih programa za igranje igara zasnovana jena efikasnim algoritmima pretrage, a odnedavno (na primer, za igru go, pa i sah) i na naprednim tehnikamamasinskog ucenja.

U nastavku nece biti upustanja u analize pojedinacnih igara, vec ce biti opisani opsti pojmovi i algoritmikoji mogu da se koriste za sirok spektar strateskih igara. Preciznije, bice razmatrani algoritmi za igre nultesume za dva igraca bez nepoznatih informacija, dakle — igre kod kojih igraci, grubo receno, imaju analogne,simetricne mogucnosti i svaki igrac zna koje poteze na raspolaganju ima protivnik. U ovu kategoriju spadaju,na primer, igre sah, dame, go, reversi, iks-oks, cetiri u nizu, mankala, a ne spadaju, na primer, igre u kojimaigrac ne zna karte koje ima protivnik, nepoznati broj koji treba pogoditi itd.

4.1 Senonove opste strategije za igranje igara

Moderna istorija programiranja strateskih igara pocinje clankom Programming a digital computer for playingChess Kloda Senona (Claude Shannon) iz 1950. godine. U tom tekstu, Senon je opisao dve opste strategije zaizbor poteza:

A: Minimaks procedurom vrsi se pretrazivanje stabla igre sa odredenom funkcijom evaluacije i ocenjivanjelegalnih poteza; bira se potez sa najboljom ocenom (videti poglavlje 4.4.2).

B: Potez se bira na osnovu trenutne pozicije/situacije u igri i na osnovu odgovarajuce, unapred pripremljenetabele.

Pristup zasnovan na Senonovoj A strategiji naziva se „sistematskim“ ili „dubinskim pretrazivanjem“ a i pri-stupom „gruba sila plus jednostavna vrednosna funkcija“. Ako bi se pretrazivanje stabla igre vrsilo do zavrsnihstanja, efektivno bi bili ispitivani svi moguci tokovi nastavka partije i mogao bi da bude izabran zaista najboljipotez. Medutim, to (a ponekad cak ni pretrazivanje stabla igre do dubine od svega nekoliko poteza) za netrivi-jalne igre nije prakticno ostvarivo. Zbog toga, efikasna primena Senonove A strategije svodi se na pretrazivanjestabla igre do relativno male dubine algoritmima koji su usmereni heuristikama i uz dobro osmisljenu, ali jed-nostavnu funkciju evaluacije za ocenu nezavrsnih pozicija igre (umesto jednostavne „trovrednosne“ funkcije zaocenu zavrsnih pozicija). Ovakvim pristupom gubi se svojstvo po kojem se pretrazivanjem dobija zaista naj-bolji potez, a obim pretrazivanja i razlicitih izracunavanja ostaje, najcesce, i dalje veoma veliki. Precizni opisipojmova stabla igre, funkcije evaluacije, algoritama minimaks tipa i drugih dati su u poglavlju 4.4.

45

Page 46: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

4.2. Legalni potezi i stablo igre 46

Senonova strategija B tipa zasniva se na jednostavnoj tabeli („baza zavrsnice“) koja zamenjuje izracunavanjeu toku izvrsavanja. U kontekstu igara, ovaj pristup zahteva postojanje unapred pripremljene tabele sa dvekolone: u jednoj su moguce pozicije/stanja igre, a u drugoj optimalni potezi. Jedna od „klasicnih“ primera ovogpristupa je program za igranje sahovske zavrsnice kralj i kraljica protiv kralja i topa koji je 1977. godine kreiraoKenet Tompson (Kenneth Thompson, tvorac operativnog sistema UNIX). Tabela koju je koristio programsadrzavala je sve moguce pozicije za oba igraca i optimalne poteze za sve te pozicije (pri cemu se pod optimalnimpotezom za igraca koji ima kralja i kraljicu smatra potez koji vodi pobedi u najmanjem broju poteza, a za slabijeg– potez koji maksimalno odlaze poraz). Tabela je imala oko tri miliona vrsta i program koji se na njoj zasnivaobio je, naravno, nepogresiv. Tabela je kreirana koriscenjem retrogradne analize: za optimalnu igru igraca kojiima kraljicu, najpre se prepoznaju i oznacavaju pozicije u kojima je protivnik matiran (mat u 0 poteza); dalje,prepoznaje se i oznacava svaka pozicija i u tabelu se upisuje odgovarajuci potez nakon kojeg, ma sta da odigraprotivnik, postoji mat u najvise 𝑑 poteza (za takve pozicije vazi da postoji mat u najvise 𝑑+1 poteza). Nedavnosu (2012. godine), koriscenjem istog pristupa, na moskovskom univerzitetu kreirane Lomonosov tabele optimalihpoteza za sve sahovske zavrsnice sa najvise sedam figura na tabli. Tabela sadrzi vise od 500 triliona pozicija(pri cemu se u tabeli ne cuvaju mnoge pozicije koje se mogu dobiti od drugih simetrijama i rotacijama). Uovom pristupu, znanje o igri ne nalazi se niti u samom programu koji igra, niti u tabeli, vec u programu koji jetabelu generisao.

Senonova strategija A u procesu izbora poteza zahteva malo memorije i mnogo izracunavanja, a strate-gija B malo izracunavanja i mnogo memorije. Na toj skali odnosa kolicine podataka koji se koriste i obimaizracunavanja, covekov nacin zakljucivanja je izmedu ovih krajnosti i bitno se od njih razlikuje po svojoj prirodi.Upravo priroda covekovog nacina razmisljanja i zelja da se on oponasa, vodi ka novim algoritmima za igranjestrateskih igara.

4.2 Legalni potezi i stablo igre

Pravila konkretne igre definisu legalna stanja (tj. legalne pozicije) i legalne poteze za svaku legalnu poziciju.1Za svaku legalnu poziciju moze se efektivno odrediti skup legalnih poteza. Neke legalne pozicije mogu bitipocetne pozicije a neke zavrsne. U nekim igrama, legalni potez moze biti i dalje, u situaciji kada igrac koji je naredu nema na raspolaganju legalnih poteza i preskace svoj red (takve situacije ne postoje u sahu, ali postoje,na primer, u igri reversi).2

Prostor stanja igre moze se opisati grafom ciji su cvorovi legalne pozicije, a grane legalni potezi. Taj graf jeusmeren jer nije nuzno da postoje potezi u oba smera koji povezuju dva stanja (na primer, u sahu pesak moze daide samo napred, ne i nazad). Stablo igre je stablo u cijim su cvorovima legalne pozicije i za svaki cvor njegovineposredni potomci su sve pozicije do kojih se iz tog cvora moze doci legalnim potezom. Od korena do bilokog lista naizmenicno se, dakle, smenjuju grane koje odgovaraju potezima prvog i drugog igraca. Kompletnostablo igre je stablo igre u cijem je korenu pocetna pozicija igre, a svi listovi su zavrsne pozicije igre i svakomlistu pridruzen je ishod – pobeda prvog igraca, nereseno ili pobeda drugog igraca. Kompletno stablo igre imaonoliko listova koliko data igra ima razlicitih mogucih tokova. Taj broj je kod vecine igara (cak i kod veomajednostavnih) ogroman i onemogucava kompletno pretrazivanje u cilju izbora poteza. Na slici 4.1 ilustrovan jedeo kompletnog stabla igre za igru iks-oks.

U procesu trazenja poteza, stablo pretrage se ne kreira eksplicitno, kao struktura, vec samo implicitnoprocesom obilaska pozicija.

4.3 Otvaranje

U strateskim igrama, umesto da se na samom pocetku igre program upusti u proces pretrage, obicno sekoriste knjige otvaranja (eng. opening book) — koje su zasnovane na ljudskom iskustvu i koje sadrze informacijeo poznatim i kvalitetnim potezima koji se cesto javljaju u otvaranju. Knjiga otvaranja koristi se, ne zahtevajucimnogo vremena za izvrsavanje, dok god je to moguce (u sahu, na primer, obicno za prvih desetak poteza) saocekivanjem da se dode do bolje pozicije nego da je program koristio druga znanja. Kada vise nije mogucekoristiti knjigu otvaranja, prelazi se na druge strategije izbora poteza.

Ukoliko protivnik odigra neki neuobicajen potez koji ne postoji u knjizi otvaranja, program je primoran dapromeni pristup i da pocne da vrsi pretragu nastavka stabla igre. Takav neuobicajeni potez moze, medutim,cesto da bude rizicniji za igraca koji ga je odigrao nego za program koji u daljem toku moze da kompenzujerano napustanje knjige otvaranja i iskoristi slabosti protivnika.

1 Nekad se ono sto odigra jedan igrac smatra polupotezom (eng. ply), a par takvih uzastopnih polupoteza smatra se potezom(eng. move). U ovom tekstu ce se smatrati da je potez ono sto odigra jedan igrac.

2U implementacijama, struktura koja opisuje potez treba da sadrzi informacije dovoljne da bi potez bio odigran, ali i da bimogao da bude vracen, tj. da iz dobijene pozicije moze da se rekonstruise polazna pozicija.

Page 47: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

47 4. Igranje strateskih igara

x xx

. . .. . . . . .

xo x o. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . .. . .. . .. . .. . .. . .

xo

. . . . . . . . .x x

o

xoxo

x xo

ox xoo

. . .

xoxx

oxoxxo

. . .xoxxo

xxxo

o. . . . . . . . . . . . . . . . . . . . .

. . .. . .. . .. . .. . .. . . . . .. . .. . .

zavrsno stanje

Slika 4.1: Deo stabla igre za igru iks-oks

Ukoliko za neku poziciju postoji u biblioteci vise mogucih nastavaka, izbor moze da se nacini po odredenimverovatnocama koje mogu da se koriguju tokom rada programa ili i prema duzini koja u stablu sledi iza odredenogpoteza (kao teznja da se sto duze ostane u poznatim varijantama). Pomenuti pristup moze da se realizuje, naprimer, na sledeci nacin: neka je, na osnovu biblioteke otvaranja, u nekom trenutku na raspolaganju 𝑛 poteza.Svakom od njih neka je pridruzena ocena 𝑚𝑖 (1 ≤ 𝑖 ≤ 𝑛) na osnovu empirijske procene i na osnovu dubinebiblioteke partija koja sledi za 𝑖-tim potezom (te ocene predstavljaju karakteristican, dodatni deo bibliotekepartija). Ukoliko empirijske procene govore da je 𝑖-ti potez bolji, to je ocena 𝑚𝑖 veca. Takode, ocena 𝑚𝑖 jeveca ukoliko je veca dubina biblioteke partija koja sledi za 𝑖-tim potezom. Tada se, u toj poziciji, 𝑖-ti potez(1 ≤ 𝑖 ≤ 𝑛) bira sa verovatnocom

𝑝𝑖 =𝑚𝑖∑𝑛𝑗=1 𝑚𝑗

.

Na taj nacin izbegava se deterministicko ponasanje programa u otvaranju: bolji potezi (u smislu neke procene)se biraju cesce, ali ne uvek. Ocene 𝑚𝑖 mogu se tokom vremena i korigovati.

Biblioteka otvaranja moze biti staticka (sadrzati odreden, konacan broj varijanti u svakom potezu i infor-macije o potezima samo do odredene dubine) ili se prosirivati tokom samog izvrsavanja programa.

4.4 Sredisnjica

Savremeni programi za strateske igre u sredisnjici najcesce koriste dubinsko pretrazivanje (sa jednostavnomfunkcijom evaluacije) stabla igre koje odgovara Senonovoj A strategiji. Kod vecine programa za kompleksnijestrateske igre, pored kvalitetne funkcije evaluacije, od kljucne vaznosti su algoritmi koji se koriste za pretrazivanjestabla igre. Pri pretrazivanju stabla igre u sredisnjici, funkcija evaluacije se izracunava samo za cvorove nanekoj odredenoj dubini, a ostalim cvorovima se pozicija ocenjuje na osnovu ocena nekih od cvorova-potomaka.Pretrazivanje stabla igre odredeno je funkcijom evaluacije, algoritmom pretrazivanja, heuristikama, dubinompretrazivanja, itd.

4.4.1 Staticka ocena pozicije i funkcija evaluacije

U cilju odredivanja dobrog (ne nuzno zaista najboljeg) poteza za igraca koji je na potezu, cvorovima stablaigre mogu se dodeliti neke ocene, na osnovu koje cvorovi tj. pozicije i potezi mogu da se porede po kvalitetu.Funkcija evaluacije (eng. evaluation function) ili vrednosna funkcija je staticka ocena koja se, u skladu saspecificnim karakteristikama konkretne igre, dodeljuje poziciji pri cemu se ne ispituju ni pozicije iz kojih sedoslo u tu poziciju niti moguci nastavci. Gotovo sve znanje o igri koje se koristi u sredisnjici partije sadrzanoje u funkciji evaluacije i u najvecoj meri od nje zavisi kvalitet igre programa. Potrebno je da sadrzi sto viserelevantnih informacija, ali s druge strane, kako se izracunava mnogo puta, potrebno je da bude sto jednostavnija.

Page 48: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

4.4. Sredisnjica 48

Funkcija evaluacije obicno preslikava skup svih mogucih pozicija u simetrican segment [−𝑀,𝑀 ]:

ℱ : 𝒫 ↦→ [−𝑀,𝑀 ]

Tada se vrednost 𝑀 dodeljuje samo zavrsnim cvorovima u kojima je pobednik prvi igrac, a vrednost −𝑀 samozavrsnim cvorovima u kojima je pobednik drugi igrac.3

U igrama nulte sume, smisao funkcije evaluacije za protivnike u igri za dva igraca je suprotan — ono stoje najbolje stanje za jednog igraca najlosije je za drugog i obratno. Dakle, funkcija evaluacije za simetricnepozicije (za zamenjene uloge igraca) treba da daje vrednosti koje se razlikuju samo po znaku.

Najjednostavnija je tzv. trovrednosna funkcija: ona se primenjuje samo na zavrsne pozicije igre i ima samotri razlicite vrednosti – za pobedu prvog, za pobedu drugog igraca i za neresen ishod (na primer, 1, -1 i 0).Trovrednosna funkcija zahteva pretrazivanje stabla igre do zavrsnih cvorova, pa je, zbog potencijalno velikedubine pretrazivanja, ova funkcija za vecinu igara prakticno neupotrebljiva.

U sahu funkcija evaluacije obicno ukljucuje „materijal“ (tj. vrednost ukupnog materijala), pokretljivost figura,pesacku strukturu, rokade i slicno. Beloj kraljici, na primer, moze da bude pridruzena vrednost 100, topu 50,lovcu i konju 30, pesaku 10, dok mat belog nosi ocenu 1000 (i sve suprotno za crnog igraca).

Ocene zavrsnih pozicija mogu se korigovati dodavanjem (odnosno oduzimanjem) dubine odgovarajuceg cvorau pretrazivanju, kako bi se od svih varijanti koje vode u pobedu izabrala ona koja vodi pobedi u najmanjembroju koraka (odnosno kako bi se, ukoliko je poraz neizbezan, taj poraz maksimalno odlozio).

5 7 1 1 −2 2 −1 5 7 1 1 −2 2 −1

5 7 1 −2 2

5 1 −2

5

𝑚𝑎𝑥

𝑚𝑖𝑛

𝑚𝑎𝑥

Slika 4.2: Stablo pretrage sa ilustracijom algoritma Minimax

4.4.2 Algoritam minimaksAlgoritam minimaks je kljucni element Senonove A strategije i on je u osnovi skoro svih algoritama za

izbor poteza pretrazivanjem stabla igre. Minimaks algoritam pretrazivanjem stabla igre za igraca koji je napotezu odreduje najbolji moguci potez u datoj situaciji — pri cemu se pod „najboljim“ podrazumeva najbolji zazadati cvor, zadatu dubinu pretrazivanja i za izabranu funkciju evaluacije. Pretpostavimo da funkcija evaluacijeza igraca koji je na potezu ima pozitivan smisao (tj. bolji je potez ako obezbeduje vecu vrednost funkcije) i,jednostavnosti radi, da se pretrazivanje vrsi do fiksne dubine stabla. Funkcijom evaluacije ocene se dodeljujusamo najdubljim cvorovima u pretrazivanju (pretrazivanje se vrsi do fiksne dubine i najdublji cvorovi ne morajuda predstavljaju zavrsna stanja igre); dalji postupak je rekurzivan: kao ocena cvoru dodeljuje se minimum ocenadece cvorova ako je u tom cvoru na potezu protivnik, a maksimum ocena dece cvorova u suprotnom (slika 4.2).Ocena pocetnog cvora je maksimum ocena cvorova–neposrednih potomaka i rezultat je potez kojem odgovarataj maksimim. Dakle, algoritam karakterise minimizovanje ocene kada je na potezu protivnik i maksimizovanjeocene kada je na potezu sam igrac, pa otuda i ime algoritma. Opis algoritma dat je na slici 4.3.

Primer 4.1. Na slici 4.4 prikazan je primer primene algoritma na sah (pojednostavljenu verziju na tabli 4x4).Kao najbolji potez za koreni cvor bira se prvi potez naveden u sledecem redu – potez koji vodi u mat u dva poteza.

Algoritam minimaks (kao i ostali algoritmi zasnovani na minimaksingu) vrsi izbor poteza samo na osnovuvrednosti koje su pridruzene cvorovima na maksimalnoj dubini pretrazivanja. To znaci da se ne ispituju potezi

3Funkcije evaluacije obicno se, efikasnosti radi, implementiraju kao celobrojne funkcije.

Page 49: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

49 4. Igranje strateskih igara

Algoritam: Minimax

Ulaz: Funkcija evaluacije 𝑓 , pozicija

Izlaz: Potez

1: 𝑣 := 𝑀𝑎𝑥(𝑓, pozicija)

2: vrati potez kojem odgovara vrednost 𝑣

Algoritam: Max

Ulaz: Funkcija evaluacije 𝑓 , pozicija

Izlaz: Vrednost pozicije

1: ako je pozicija zavrsna ili na najvecoj dozvoljenoj dubini onda2: vrati 𝑓(pozicija)

3: 𝑣 := −∞4: za svaku poziciju 𝑠 do koje se moze doci u jednom potezu radi5: ako 𝑀𝑖𝑛(𝑓, 𝑠) > 𝑣 onda6: 𝑣 := 𝑀𝑖𝑛(𝑓, 𝑠)

7: vrati 𝑣

Algoritam: Min

Ulaz: Funkcija evaluacije 𝑓 , pozicija

Izlaz: Vrednost pozicije

1: ako je pozicija zavrsna ili na najvecoj dozvoljenoj dubini onda2: vrati 𝑓(pozicija)

3: 𝑣 := +∞4: za svaku poziciju 𝑠 do koje se moze doci u jednom potezu radi5: ako 𝑀𝑎𝑥(𝑓, 𝑠) < 𝑣 onda6: 𝑣 := 𝑀𝑎𝑥(𝑓, 𝑠)

7: vrati 𝑣

Slika 4.3: Algoritam Minimax

koji dalje slede (a to ispitivanje cesto bi promenilo odluku o izabranom potezu). Dodatno, kada je neki potezodabran na osnovu cvorova na nekoj dubini i odigran, informacija o tome se ne koristi u procesu izbora narednogpoteza (na primer, ako je u sahu neki potez izabran jer odgovara cvoru dubine tri u kojem se protivniku dajesah, u sledecem potezu pretrazivanje krece iznova i cesto nece biti izabran potez koji vodi do saha protivniku,sada u dva poteza). Dakle, pri pretrazivanju stabla igre razmatraju se („vide se“) samo cvorovi na nekoj fiksnojdubini – ni oni posle, ni oni pre njih. Za ovakvo ponasanje cesto se kaze da ima efekat horizonta (eng. horizoneffect).

4.4.3 Algoritam Alfa-beta

Algoritam Alfa-beta (ili 𝛼−𝛽) otkriven je sredinom dvadesetog veka nezavisno od strane nekoliko istrazivaca.Semjuel sa jedne strane i Ricards, Hart, Levin i Edvards sa druge, formulisali su nezavisno ranu verziju algoritmapocetkom pedesetih godina. Makarti je slicne ideje predstavio 1956. godine, tokom znamenite konferencije uDarmutu. Brudno je, ponovo nezavisno, otkrio Alfa-beta algoritam i objavio ga 1963. godine.

Alfa-beta algoritam zasnovan je na tzv. alfa i beta odsecanju stabla igre i predstavlja heuristikama ubrzanalgoritam minimaks. Osnovni postupak ocenjivanja cvorova je minimaks tipa: funkcijom evaluacije ocenjuju sesamo cvorovi na nekoj odabranoj dubini, a zatim se rekurzivnim postupkom (minimaksingom) ocenjuju cvoroviprethodnici. Postupak „alfa odsecanje“ bice opisan pretpostavljajuci da funkcija evaluacije za igraca koji je na

Page 50: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

4.4. Sredisnjica 50

1000

40S0Z3Z0J020Z0Z1j0Z0

a b c d

/ ... | ... \1000 50 0

40S0Z3Z0Z020ZKZ1j0Z0

a b c d

40S0J3Z0Z020Z0Z1j0Z0

a b c d

40Z0Z3Z0J020Z0Z1jRZ0

a b c d

| | | ... \1000 50 0

40S0Z3Z0Z02kZKZ1Z0Z0

a b c d

40S0J3Z0Z02kZ0Z1Z0Z0

a b c d

40Z0Z3Z0J020Z0Z1ZkZ0

a b c d

/ ... | ... \ / ... \ / ... \1000 50 50 50 50 0 0

4RZ0Z3Z0Z02kZKZ1Z0Z0

a b c d

40Z0S3Z0Z02kZKZ1Z0Z0

a b c d

40S0Z3Z0Z02kZ0J1Z0Z0

a b c d

40S0Z3Z0ZK2kZ0Z1Z0Z0

a b c d

4RZ0J3Z0Z02kZ0Z1Z0Z0

a b c d

40Z0Z3ZKZ020Z0Z1ZkZ0

a b c d

40Z0Z3Z0ZK20Z0Z1ZkZ0

a b c d

Slika 4.4: Ilustracija rada algoritma Minimax

potezu ima pozitivan smisao (bolje su vece ocene).Neka je u tekucem cvoru na potezu igrac 𝐴 koji trazi najbolji potez (za njega je bolji potez onaj sa boljom

ocenom); neka je ocenjeno 𝑛 od 𝑚 (𝑛 < 𝑚) njegovih legalnih poteza i neka su dobijene ocene 𝑤1, 𝑤2 ... 𝑤𝑛 ineka je 𝑤𝑘 najveca od njih. Razmatramo (𝑛+1)-i legalni potez (slika 4.5); nakon tog poteza protivnik (igrac 𝐵)ima vise mogucnosti i igrac 𝐴 trazi onu sa najmanjom ocenom; za svaku ocenu 𝑤′

𝑖 legalnih poteza u tom cvoru,svakako vazi da je veca od ili jednaka zajednickom minimumu 𝑤′

𝑚𝑖𝑛 (𝑤′𝑚𝑖𝑛 ≤ 𝑤′

𝑖) koji predstavlja ocenu cvora;dakle, ako se u tom pretrazivanju dode do ocene 𝑤′

𝑗 koja je manja ili jednaka oceni 𝑤𝑘 (𝑤′𝑗 ≤ 𝑤𝑘) sigurno je da

je i ocena cvora manja od ili jednaka oceni 𝑤𝑘 (𝑤′𝑚𝑖𝑛 ≤ 𝑤′

𝑗 ≤ 𝑤𝑘). S obzirom na to da se u pocetnom cvoru trazimaksimum ocena mogucih poteza, to znaci da taj cvor (sa ocenom 𝑤′

𝑚𝑖𝑛 ≤ 𝑤𝑘) ne utice na ocenu pocetnog cvora(jer je 𝑤′

𝑚𝑖𝑛 ≤ 𝑤𝑘 ≤ 𝑤𝑚𝑎𝑥), pa se dalje pretrazivanje poteza protivnika u tekucem cvoru moze prekinuti bezuticaja na rezultat pretrazivanja — moze da se izvrsi „odsecanje stabla“ (slika 4.5). „Beta odsecanje“ potpunoje analogno i primenjuje se na cvorove u kojima je na potezu protivnik. Naravno, s obzirom na smisao funkcijeevaluacije, maksimumi pominjani u „alfa odsecanju“ zamenjuju se minimumima i obratno (slika 4.5). AlgoritamAlfa-beta prikazan je na slici 4.6.

Kako je stablo igre obicno ogromno, ubrzavanje minimaks algoritma heuristikama „alfa-odsecanje“ i „beta-odsecanje“ ima izuzetan znacaj. Posebno je vazna cinjenica da i Alfa-beta algoritam nalazi zaista najbolji mogucipotez za zadati cvor i zadatu dubinu pretrazivanja, sto znaci da heuristike koje se primenjuju ne narusavaju tuosobinu minimaks algoritma.

Primer 4.2. Na slici 4.7 prikazan je primer primene algoritma Alfa-beta na sah (pojednostavljenu verziju natabli 4x4). Sa 𝑋 su oznaceni delovi stabla igre kod kojih je doslo do odsecanja

Ukoliko se u svakom cvoru potezi ispituju od najlosijeg ka najboljem (u smislu tekuceg cvora), tada nemanijednog alfa ili beta odsecanja, pa se Alfa-beta algoritam svodi na algoritam minimaks. S druge strane, najvisealfa i beta odsecanja ima kada se najpre ispituju potezi najbolji u smislu tekuceg cvora (za koriscenu funkcijuevaluacije i za zadatu dubinu) i tada algoritam Alfa-beta daje najbolji efekat (tj. ispituje najmanji broj cvorovastabla). Naravno, nije moguce unapred znati koji je potez najbolji u datom cvoru, ali se i dobrim procenama(izborom jednog od boljih poteza) postizu dobri efekti. Upravo na toj ideji zasnivaju se i neke varijacije Alfa-betaalgoritma.

Page 51: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

51 4. Igranje strateskih igara

𝑤𝑛+1 < 𝑤𝑘

𝑤𝑘 𝑤𝑛 𝑤𝑛+1

𝑤′𝑗

𝛼 odsecanje

𝑚𝑎𝑥

𝑚𝑖𝑛

𝑚𝑎𝑥

−2 < 5

7 > 5

5 7 1 1 −2 2 −1

5 7 1 −2 2

5 1 −2

5

𝛼 odsecanje

𝛽 odsecanje

Slika 4.5: Stablo pretrage sa ilustracijom algoritma Alfa-beta

4.4.4 Heuristika kiler

Heuristika kiler (eng. killer) ima za cilj da se u mnogim cvorovima najpre razmatra najbolji (ili makar veomadobar) potez, kako bi bilo sto vise alfa i beta odsecanja. Ova heuristika je opsta i ne koristi specificna znanja oigri.

Neka se u pretrazivanju stabla Alfa-beta algoritmom prvi put ocenjuje neki cvor na dubini 𝑑 (𝑑 ≥ 1) i nekaje 𝑊 najbolji pronadeni potez u smislu tog cvora. Taj potez zvacemo kiler potezom za dubinu 𝑑. U svakomsledecem cvoru na dubini 𝑑, ispitivanje poteza pocinjemo sa kiler potezom za tu dubinu.4 Ukoliko se pokaze da jeza taj cvor bolji neki drugi potez (𝑊 ′), onda taj potez postaje kiler potez za dubinu 𝑑. Ukoliko se pretrazivanjestabla igre vrsi do dubine 𝑑𝑚𝑎𝑥, opisana heuristika primenjuje se za sve dubine 𝑑 takve da je 1 ≤ 𝑑 ≤ 𝑑𝑚𝑎𝑥 − 1.

Smisao kiler heuristike je sledeci: ukoliko je u jednoj grani stabla na dubini 𝑑 najbolji potez 𝑊 , ima izgledada je on najbolji (ako je legalan) i u drugim granama stabla na istoj dubini. Ilustrujmo to na primeru saha:neka igracu koji je na redu preti mat u sledecem potezu i neka nijedan njegov potez ne moze da otkloni tupretnju. Pretrazivanjem stabla, u cvoru u kojem je na potezu protivnik, otkriva se matni potez i on postajekiler potez (za dubinu 1). Pri daljem pretrazivanju stabla, na dubini 1 najpre se ispituje taj potez i kako on vodipobedi protivnika, alfa odsecanje cini nepotrebnim dalje ispitivanje poteza u tom cvoru. Time se broj cvorovastabla koje u ovakvoj situaciji treba ispitati drasticno smanjuje.

Alfa-beta algoritam prosiren kiler heuristikom zovemo Alfa-beta/kiler algoritam. Primenom kiler heuristikene menja se rezultat Alfa-beta algoritma (za istu funkciju evaluacije i istu dubinu pretrazivanja) — tj. dobija sepotez sa istom ocenom (ne nuzno i isti potez) kao primenom algoritama Alfa-beta ili minimaks, ali najcesce sabitno manjim brojem ispitanih cvorova stabla.

4.4.5 Iterativni Alfa-beta/kiler algoritam

Za dubinu pretrazivanja 𝑑𝑚𝑎𝑥 iterativni Alfa-beta/kiler algoritam realizuje se na sledeci nacin: najpre se vrsipretrazivanje stabla igre do dubine 1 (svejedno je kojim algoritmom, jer do dubine 1 nema alfa i beta odsecanja)i najbolji pronadeni potez postaje kiler potez za nivo 0 — za pocetni cvor. Dalje se primenjuje algoritam Alfa-beta/kiler redom za dubine 𝑑, gde je 2 ≤ 𝑑 ≤ 𝑑𝑚𝑎𝑥, i dobijeni najbolji potez postaje kiler potez za pocetni cvor.Kao najbolji potez bira se onaj dobijen zavrsnom primenom Alfa-beta/kiler algoritma za dubinu 𝑑𝑚𝑎𝑥.

Efekti iterativnog algoritma su, u svakoj iteraciji, slicni efektima Alfa-beta/kiler algoritma, s tim sto uiterativnom algoritmu postoji i kiler potez za pocetni cvor u pretrazivanju. Ima izgleda da je u svakoj iteracijitaj kiler potez bolje odabran i da daje bolje rezultate (veci broj alfa i beta odsecanja). Druga vazna i dobraosobina iterativnog algoritma je to sto za slucaj prekida pretrazivanja, prakticno u svakom trenutku ima smislenirezultat kao najbolji pronadeni potez za neku kompletno zavrsenu iteraciju (videti poglavlje 4.4.7). Ono stoizgleda kao mana algoritma — visestruko pretrazivanje nekih cvorova — ne utice bitno na performanse algoritma.Naime, u odnosu na vreme utroseno za zavrsnu iteraciju, vreme utroseno na sve ostale iteracije prakticno jezanemarljivo. Pored toga, s obzirom na (najcesce) dobro odabran kiler potez za pocetni cvor, zavrsna iteracijace obicno zahtevati ispitivanje manjeg broja cvorova od Alfa-beta/kiler algoritma za istu dubinu.

4Ukoliko u nekom cvoru tekuci kiler potez nije legalan, ispitivanje poteza pocinje od prvog sledeceg (u postojecem uredenjupoteza).

Page 52: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

4.4. Sredisnjica 52

Algoritam: Alfa-beta

Ulaz: Funkcija evaluacije 𝑓 , pozicija

Izlaz: Potez

1: 𝑣 = 𝑀𝑎𝑥(𝑓, 𝑝𝑜𝑧𝑖𝑐𝑖𝑗𝑎,−∞,+∞)

2: vrati potez kojem odgovara vrednost 𝑣

Algoritam: Max

Ulaz: Funkcija evaluacije 𝑓 , pozicija, alfa vrednost 𝛼, beta vrednost 𝛽,

Izlaz: Vrednost pozicije

1: ako je pozicija zavrsna ili na najvecoj dozvoljenoj dubini onda2: vrati 𝑓(𝑝𝑜𝑧𝑖𝑐𝑖𝑗𝑎)3: 𝑣 := −∞4: za svaku poziciju 𝑠 do koje se moze doci u jednom potezu radi5: ako 𝑀𝑖𝑛(𝑓, 𝑠, 𝛼, 𝛽) > 𝑣 onda6: 𝑣 := 𝑀𝑖𝑛(𝑓, 𝑠, 𝛼, 𝛽)7: ako 𝑣 ≥ 𝛽 onda8: vrati 𝑣9: ako 𝑣 > 𝛼 onda

10: 𝛼 := 𝑣

11: vrati 𝑣

Algoritam: Min

Ulaz: Funkcija evaluacije 𝑓 , pozicija, alfa vrednost 𝛼, beta vrednost 𝛽,

Izlaz: Vrednost pozicije

1: ako je pozicija zavrsna ili na najvecoj dozvoljenoj dubini onda2: vrati 𝑓(𝑝𝑜𝑧𝑖𝑐𝑖𝑗𝑎)3: 𝑣 := +∞4: za svaku poziciju 𝑠 do koje se moze doci u jednom potezu radi5: ako 𝑀𝑎𝑥(𝑓, 𝑠, 𝛼, 𝛽) < 𝑣 onda6: 𝑣 := 𝑀𝑎𝑥(𝑓, 𝑠, 𝛼, 𝛽)7: ako 𝑣 ≤ 𝛼 onda8: vrati 𝑣9: ako 𝑣 < 𝛽 onda

10: 𝛽 := 𝑣

11: vrati 𝑣

Slika 4.6: Algoritam Alfa-beta

I primenom iterativnog Alfa-beta/kiler algoritma dobija se potez sa najboljom ocenom za datu funkcijuevaluacije i datu dubinu pretrazivanja, isto kao i algoritmi minimaks, Alfa-beta i Alfa-beta/kiler.

4.4.6 Stabilno pretrazivanje

Nedostatak pristupa u kojem se pretrazivanje stabla igre vrsi do fiksne dubine je u tome sto funkcija evalu-acije, koja se primenjuje na cvorove na najvecoj dubini, ne razmatra moguce nastavke za pozicije na najvecojdubini. Te ocene, ma koliko funkcija evaluacije bila dobra, mogu da budu varljive i da vode losem izboru poteza(u sahu se, na primer, moze izabrati potez zbog nekog, naizgled dobrog, zavrsnog cvora u kojem se zarobljavaprotivnikov top, ali se ne zna da nakon toga moze da bude izgubljena kraljica ili da sledi mat). Zbog togase primenjuje „stabilno pretrazivanje“ (eng. quiscence searching): vrsi se pretrazivanje do neke fiksne dubine,ali se pretrazivanje nastavlja i dalje ukoliko je, po nekom kriterijumu, zavrsni cvor „nestabilan“. Maksimalnadubina dodatnog pretrazivanja takode treba da bude ogranicena. Stabilno pretrazivanje moze se primenjivati ukombinaciji sa svakom od ranije opisanih tehnika.

Page 53: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

53 4. Igranje strateskih igara

1000

40J0S3Z0Z020Z0S1j0Z0

a b c d

/ \ ...1000 100

40J0S3Z0Z020Z0Z1j0ZR

a b c d

40J0S3Z0ZR20Z0Z1j0Z0

a b c d

/ \ / ... X1000 1000 100

40J0S3Z0Z02kZ0Z1Z0ZR

a b c d

40J0S3Z0Z020j0Z1Z0ZR

a b c d

40J0S3Z0ZR2kZ0Z1Z0Z0

a b c d

/ ... \ / ... X / ... \1000 100 1000 100 100

40J0Z3Z0Z02kZ0S1Z0ZR

a b c d

40ZKS3Z0Z02kZ0Z1Z0ZR

a b c d

40J0Z3Z0Z020j0S1Z0ZR

a b c d

40J0S3Z0Z02kZ0Z1Z0ZR

a b c d

40ZKS3Z0ZR2kZ0Z1Z0Z0

a b c d

Slika 4.7: Ilustracija rada algoritma Alfa-beta

Kriterijumi stabilnosti poteza odreduju se u skladu sa specificnostima konkretne igre. U sahu, na primer,pozicija se moze smatrati stabilnom ukoliko igrac koji je na potezu nije pod sahom, ukoliko mu kraljica ne„visi“, ukoliko ne „visi“ nijedna protivnikova figura i ukoliko ne preti neposredno izvodenje nekog protivnikovogpesaka. Savremeni programi za sah cesto pretrazuju stablo igre do dubine 4 ili 6 (tj. 4 ili 6 poteza) sa dodatnim,stabilnim pretrazivanjem do dubine 16 ili vise.

4.4.7 Prekidi i vremenska ogranicenja

Vremenska ogranicenja su vazna u programiranju strateskih igara: potrebno je da program izabere smislenpotez i ukoliko se pretrazivanje stabla igre prekine pre nego sto se izvrsi kompletan algoritam. Prekidi mogubiti izazvani akcijom korisnika ili ogranicenjima vremena raspolozivog za jedan potez ili za celu partiju5. Koddo sada opisanih algoritama, ako algoritam nije kompletno izvrsen (i, na primer, ispitani su samo neki, povoljniodgovori protivnika), odabrani potez moze biti veoma los. Izuzetak je iterativni Alfa-beta/kiler algoritam, jerprakticno u svakom trenutku (prva iteracija traje zanemarljivo) ima neku kompletno zavrsenu iteraciju, te cebiti izbegnuti makar najjednostavniji previdi.

4.4.8 Svojstva algoritama Minimax i Alfa-beta

Definicija 4.1 (Faktor grananja). Neka je 𝐴 deterministicki algoritam za pretrazivanje uniformnog stablaigre stepena 𝑏 (svi njegovi cvorovi osim listova imaju tacno po 𝑏 neposrednih potomaka), dubine 𝑑 i salistovima kojima su pridruzene vrednosti po raspodeli 𝐹 . Ako je sa 𝐼𝐴(𝑑, 𝑏, 𝐹 ) oznacen ocekivani brojzavrsnih cvorova koje algoritam 𝐴 ispituje, tada vrednost

𝑅𝐴(𝑏, 𝐹 ) = lim𝑑→∞

[𝐼𝐴(𝑑, 𝑏, 𝐹 )]1/𝑑

zovemo faktor grananja algoritma 𝐴.

5Ukoliko je ograniceno vreme raspolozivo za celu partiju, program mora i da ga ekonomicno deli na procenjeni broj poteza.

Page 54: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

4.4. Sredisnjica 54

Faktor grananja je kljucna karakteristika algoritama za pretrazivanje stabla igre jer govori o ocekivanom brojuzavrsnih cvorova koje nekim algoritmom treba ispitati. Naime, ukoliko je 𝑅 faktor grananja nekog algoritma,onda je ocekivani broj ispitanih cvorova za dubinu pretrazivanja 𝑑 jednak 𝑅𝑑. Na primer, za sahovsku sredisnjicuprocenjuje se da je faktor grananja izmedu 35 i 38, a za igru go oko 250.

Ako se uniformno stablo stepena 𝑏 i dubine 𝑑 pretrazuje minimaks algoritmom, bice ispitano 𝑏𝑑 zavrsnihcvorova stabla, pa je faktor grananja algoritma minimaks za svaku raspodelu 𝐹 ocigledno jednak 𝑏:

𝑅𝑚𝑖𝑛𝑖𝑚𝑎𝑥(𝑏, 𝐹 ) = 𝑏.

Ukoliko se u svakom cvoru stabla igre ispituju potezi od najlosijeg ka najboljem, onda, ocigledno, nemanikakvih odsecanja i algoritam Alfa-beta se ponasa kao algoritam Minimaks. S druge strane, algoritam Alfa-betaponasa se najbolje ukoliko se u svakom cvoru najpre ispituje najbolji potez za taj cvor i o tome govori narednateorema.

Teorema 4.1. Ukoliko je stablo igre uniformno (svaki cvor koji nije list ima tacno 𝑏 dece) i ukoliko seu svakom cvoru najpre ispituje najbolji potez za taj cvor, onda algoritam Alfa-beta, primenjen do fiksnedubine 𝑑 ispituje 𝑂(𝑏𝑑/2) listova.

Dokaz: Tokom primene algoritma Alfa-beta, nekim cvorovima se izracunava egzaktna minimaks ocena za za-datu dubinu, a nekim cvorovima se ocena racuna samo onoliko koliko je neophodno za odsecanja. Naprimer, na slici 4.8, za cvorove sa ocenom 4, ova ocena je egzaktna (ista ocena bila bi izracunata i da seuopste ne primenjuju odsecanja), a cvoru sa ocenom ≥ 7, ocena 7 nije nuzno egzaktna (mozda je veca),jer je primenjeno odsecanje i nisu ispitani svi njegovi potomci.

Neka 𝑇 (𝑑) oznacava broj listova koje treba ispitati za odredivanje egzaktne ocene cvora na nivou 𝑑 (zazadato stablo), pri cemu je u ovom konkretnom kontekstu pogodno da se nivoi broje od listova – njimaodgovara nivo 0.

Neka 𝐿(𝑑) oznacava broj listova koje treba ispitati za odredivanje (samo) ogranicenja ocene cvora na nivou𝑑 dovoljnog da obezbedi odsecanja u nastavku primene algoritma.

4

4

4 3 1

4 12

≥ 6 ≥ 7

≤ 3 ≤ 1

6 7 3 0 0 1 −1 −4

𝑚𝑎𝑥

Slika 4.8: Ilustracija za broj listova potreban za izracunavanje egzaktne ocene cvora i procene ocene cvora

Vazi 𝑇 (0) = 1 i 𝐿(0) = 1. Kako se u svakom cvoru najpre ispituje najbolji potez, onda vazi (slika 4.8):

𝑇 (𝑑) = 𝑇 (𝑑− 1) + (𝑏− 1)𝐿(𝑑− 1)

𝐿(𝑑) = 𝑇 (𝑑− 1)

odakle sledi𝑇 (𝑑) = 𝑇 (𝑑− 1) + (𝑏− 1)𝑇 (𝑑− 2)

Karakteristicna jednacine ove rekurentne veze je 𝑡2 − 𝑡− (𝑏− 1) = 0 i njena resenja su

𝑡1 =(1−√

1+4(𝑏−1)

2 = 1/2−√𝑏− 3/4

𝑡2 =(1+√

1+4(𝑏−1)

2 = 1/2 +√𝑏− 3/4

Dakle, vazi

𝑇 (𝑑) = 𝑎 ·(1/2−

√𝑏− 3/4

)𝑑+ 𝑏 ·

(1/2 +

√𝑏− 3/4

)𝑑i 𝑇 (𝑑) = 𝑂(

√𝑏𝑑) tj. 𝑇 (𝑑) = 𝑂(𝑏𝑑/2)

Page 55: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

55 4. Igranje strateskih igara

Navedena teorema govori da algoritam Alfa-beta ispituje barem 𝑂(𝑏𝑑/2) listova, tj. njegov faktor grananjaje reda veceg ili jednakog 𝑂(𝑏1/2). Kiler heuristika u iterativnoj verziji cesto postize dobar poredak poteza usvakom cvoru, pa ponasanje reda 𝑂(𝑏𝑑/2) nije nerealno ocekivati. Ovaj rezultat govori i da je (uz dobar poredakpoteza), Alfa-beta algoritmom moguce birati poteze analizirajuci stablo do dva puta vece dubine nego primenomminimaks algoritma. Naglasimo da mnoge igre ne ispunjavaju uslov teoreme da je stablo igre uniformno, aliona ipak daje neku procenu korisnu i u tim slucajevima.

Problem odredivanja faktora grananja Alfa-beta algoritma za funkciju 𝐹 sa ravnomernom raspodelom a bezpretpostavke da se najpre ispituje najbolji potez mnogo je slozeniji. Odgovor na pitanje o faktoru grananjaAlfa-beta algoritama daje sledeca teorema.6

Teorema 4.2. Za faktor grananja Alfa-beta algoritma za stablo stepena 𝑏 (koji nije mnogo veliki, tj. zakoji je 𝑏 ≤ 1000) i za ravnomernu raspodelu 𝐹 vazi:

𝑅𝛼−𝛽(𝑏, 𝐹 ) = 𝑂(𝑏3/4)

Vazno je i sledece srodno tvrdenje.

Teorema 4.3. Algoritam Alfa-beta je asimptotski optimalan algoritam za pretrazivanje stabla igre.

Navedeno tvrdenje znaci da ne postoji algoritam za pretrazivanje stabla igre koji, u opstem slucaju, asimp-totski ispituje manje zavrsnih cvorova nego algoritam Alfa-beta. Modifikacije algoritma Alfa-beta opisane uprethodnom delu veoma cesto u praksi daju bolje rezultate nego osnovni algoritam. Ipak, faktori grananjaovih algoritama ne razlikuju se od faktora grananja Alfa-beta algoritma i u opstem slucaju oni ne garantujuasimptotski manje ispitanih zavrsnih cvorova stabla nego algoritam Alfa-beta.

4.5 Zavrsnica

U igrama kao sto je sah, zavrsnica iziskuje specificne tehnike. Naime, pristupi koji se zasnivaju na dubinskompretrazivanju ne daju dobre rezultate u zavrsnici jer kvalitetna igra iziskuje jako veliku dubinu pretrazivanja.Problem zavrsnice je jos tezi ako se postavi zahtev za korektnom ili optimalnom igrom/taktikom7. Ukoliko se,tehnikama koje se koriste u sredisnjici, sistematsko pretrazivanje vrsi do zavrsnih cvorova time se obezbedujeoptimalna strategija (naravno, za vecinu igara to je u praksi nemoguce izvesti). Optimalnu igru u sahovskojzavrsnici prakticno je nemoguce obezbediti (za uobicajena vremenska ogranicenja), jer su moguce zavrsnice ukojoj igrac ima dobijenu poziciju, ali ne moze da matira protivnika u manje od dvadeset poteza8, pa takvazavrsnica za optimalnu igru zahteva dubinu pretrazivanja vecu od dvadeset. Slicni problemi vaze i za korektnutaktiku.

U nastavku su opisani neki od pristupa koji se koriste u sahovskim zavrsnicama. Neki od njih zasnovani suna pristupima koji se koriste u sredisnjici, ali uz koriscenje posebne ili vise posebnih funkcija evaluacije.

Skupovi pozicija kao klase ekvivalencija. Bramerov opsti algoritam (1975) za zavrsnicu izgleda ovako:

(a) generisi skup svih legalnih poteza — skup 𝑄;

(b) odaberi najbolje ocenjeni elemenat skupa 𝑄 — element 𝑞;

(c) odigraj potez 𝑞;

Kljucni korak algoritma (korak (b)) zasnovan je na sledecoj ideji: neka je skup 𝑄* skup svih regularnihpozicija u igri i neka je svaka od tih pozicija svrstana u tacno jedan od podskupova koji razlazu 𝑄* (to razlaganjedefinise se u skladu sa prirodom konkretne igre tako da istom skupu pripadaju sustinski slicne pozicije – na

6Zapravo, preciznije tvrdenje je da se vrednost 𝑅𝛼−𝛽(𝑏, 𝐹 ) moze ograniciti odozgo sa 𝜉𝑏/(1 − 𝜉𝑏), gde je 𝜉𝑏 pozitivno resenjejednacine 𝑥𝑏 + 𝑥− 1 = 0. Vrednost 𝜉𝑏/(1 − 𝜉𝑏) se za 𝑏 takvo da je 𝑏 ≤ 1000 moze aproksimirati sa 0.925 · 𝑏0.747, sto se dalje mozeograniciti sa 𝑏3/4.

7Za taktiku kazemo da je korektna ukoliko u dobijenoj poziciji sigurno vodi do pobede i ukoliko pri (teorijskoj) remi–pozicijisigurno vodi bar remiju. Za taktiku kazemo da je optimalna ukoliko u dobijenoj poziciji vodi pobedi u najmanjem broju poteza,odnosno ukoliko u izgubljenoj poziciji poraz maksimalno odlaze. Ocigledno, ako je taktika optimalna, onda je i korektna, ali nevazi obratno.

8Lomonosov tabele pokazale su da postoje pozicije u kojima beli dobija, ali ne nuzno u manje od (cak) 545 poteza.

Page 56: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

4.5. Zavrsnica 56

primer, u sahu, sve pozicije „kralj i pesak protiv kralja“); svakom od tih skupova (odnosno klasa ekvivalencije)pridruzena je jedinstvena ocena i jedinstvena funkcija evaluacije. Ocenjivanje koje se pominje u koraku (b)Bramerovog algoritma svodi se na sabiranje ocene klase pozicija i ocene pozicije koja toj klasi pripada. Na tajnacin ocenjuju se svi legalni potezi iz datog cvora i to bez ikakvog pretrazivanja preko dubine 1. Kao najbolji birase potez kojem odgovara najveca zbirna ocena. Opisani algoritam ima brojne varijacije (ukljucujuci varijacijeuporedivanja elemenata iz razlicitih klasa ekvivalencije, provere izabranog poteza pretrazivanjem u dubinu itd.).

Opisani algoritam u izvesnoj meri odgovara covekovom nacinu razmisljanja. On moze biti veoma efikasan,jer poredenje poteza vrsi po kljucnim parametrima za konkretnu zavrsnicu (na primer, u sahu, po rastojanjuizmedu dva kralja), a ne po opstim kriterijumima koji se koriste u sredisnjici. Algoritam zahteva kompleksnodefinisanje mnogih relevantnih klasa pozicija u zavrsnici i pratecih funkcija evaluacije.

Mali saveti. Jedan od pristupa koji se primenjuje u sahovskim zavrsnicama je i pristup malih saveta (eng.advice texts). Navedimo, kao ilustraciju, jedan „mali savet“ za zavrsnicu „kralj i top protiv kralja“ (autora IvanaBratka).

1. „mat“: pokusaj da matiras protivnika u dva poteza;

2. „stezanje“: ako to nije moguce, pokusaj da topom smanjis prostor na tabli dostupan protivnickom kralju;

3. „priblizavanje“: ako to nije moguce, pronadi nacin da svog kralja priblizis protivnickom;

4. „zadrzavanje“: ako to nije moguce, pronadi potez koji zadrzava trenutno stanje u smislu (2) i (3) (tj. odaberi„potez cekanja“);

5. „razdvajanje“: ako to nije moguce, pronadi potez kojim se dobija pozicija u kojoj top razdvaja dva kralja,bilo vertikalno ili horizontalno.

Nedostatak pristupa ilustrovanog navedenim primerom je u tome sto iziskuje posebne „male savete“ za svesustinski razlicite zavrsnice. Pored toga, za sve tipove zavrsnica nije jednostavno (ili nije moguce) napravitikoncizan i efikasan „mali savet“. Prethodnih godina za generisanje ovakvih „malih saveta“ koriste se i tehnikemasinskog ucenja.

Pitanja i zadaci

4.1. Opisati ukratko Senonove strategije.

4.2. Sta znaci da je funkcija evaluacije koja se koristi u strateskim igrama staticka?

4.3. Koja je najjednostavnija funkcija evaluacije u igrama nulte sume?

4.4. Ako je staticka ocena neke sahovske pozicije jednaka 0, sta to govori?

4.5. Ako je staticka ocena neke sahovske pozicije jednaka 𝑐, koja je ocena pozicije koja je dobijena tako sto susve figure promenile boju?

4.6. Zasto se tako zove minimaks algoritam?

4.7. Ako se pretraga vrsi do iste dubine stabla igre, da li algoritam Minimax ispituje isti broj pozicija bez obzirana poredak poteza u jednom cvoru?

4.8. Po cemu se razlikuju 𝛼 i 𝛽 odsecanja?

4.9. Da li algoritam Alfa-beta uvek vraca isti rezultat kao algoritam Minimax?

4.10. Da li algoritam Alfa-beta uvek obradi manje cvorova nego algoritam Minimax?

4.11. U kom slucaju (osnovni) algoritam Alfa-beta obraduje isti broj cvorova kao i Minimax?

4.12. Da li algoritam Minimax moze u nekom slucaju, pretrazujuci do iste dubine da obide manji broj cvorovaod algoritma Alfa-beta?

4.13. Da li Alfa-beta algoritam, u odnosu na Minimax algoritam: (a) daje iste poteze, ali brze; (b) daje nestolosije poteze, ali znatno brze; (c) daje bolje poteze i to brze; (d) daje bolje poteze ali nesto sporije?

4.14. Kada je broj odsecanja u stablu igre najveci u algoritmu Alfa-beta?

Page 57: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

57 4. Igranje strateskih igara

4.15. Naredna slika prikazuje deo stabla igre koje se pretrazuje algoritmom Alfa-beta . U korenu 𝑅 se prime-njuje maksimizovanje a u cvorovima 𝐴, 𝐵, 𝐶 minimizovanje. Koji poredak cvorova 𝐴, 𝐵, 𝐶 bi dao najviseAlfa-beta odsecanja?

𝑅

𝐴 𝐵 𝐶

1 2 3 5 6 7 8 9 10

4.16. Koja heuristika je zasnovana na cinjenici da je broj Alfa-beta odsecanja u stablu igre najveci ako senajpre ispituje najbolji?

4.17. Opisati ukratko heuristiku kiler.

4.18. Kakav efekat se ocekuje od heuristike kiler u iterativnoj primeni Alfa-beta algoritma i zasto?

4.19. Da li iterativni Alfa-beta algoritam sa kiler heuristikom daje uvek isti rezultat kao Alfa-beta algoritamnad istim stablom igre i za istu dubinu pretrage?

4.20. Da bi heuristika kiler funkcionisala i na nultom nivou stabla igre koji je algoritam potrebno koristiti?

4.21. Koji algoritam je pogodan za igru sa vremenskim prekidima i zasto?

4.22. Sta je to stabilno pretrazivanje?

4.23. Neka je 𝐴 deterministicki algoritam za pretrazivanje (𝑑, 𝑛, 𝐹 )-stabla i neka je 𝐼𝐴(𝑑, 𝑛, 𝐹 ) ocekivani brojzavrsnih cvorova koje algoritam 𝐴 ispituje. Kako se definise faktor grananja algoritma 𝐴?

4.24. Koliki je faktor grananja za algoritam Minimax za sahovsku sredisnjicu? (trazi se konkretan broj)?

4.25. Koliki je faktor granjanja algoritma minimaks, ako se ispituje uniformno stablo stepena 𝑛 i dubine 𝑑?

4.26. Ukoliko cvorovi stabla igre imaju stepen 𝑛, a pretrazuje se do dubine 𝑑, koja je slozenost algoritmaMinimax a koja algoritma Alfa-beta za taj problem?

4.27. U igri 𝑃 za dva igraca, u svakom potezu ima prosecno 6 legalnih poteza, a igra prosecno traje 4 poteza.Koliki je faktor grananja algoritma Minimax za ovu igru?

4.28. U igri 𝑃 za dva igraca, u svakom potezu ima prosecno 5 legalnih poteza, a igra prosecno traje 20 poteza.Koliki je faktor grananja algoritma Minimax za ovu igru?

4.29. U programiranju igara, da li se algoritmi Minimax tipa primenjuju u otvaranju, sredisnjici ili zavrsnici?

4.30. Navesti barem dve strategije za zavrsnicu u programima za igre.

4.31. Do koje dubine se vrsi pretraga u Bramerovom pristupu za zavrsnicu?

Zadatak 4.1. Na datoj tabli igre X-O minimaks algoritmom sa Alfa-beta odsecanjem odrediti najbolji potezza igraca X. Prikazati stablo igre i odsecanja koja algoritam vrsi.

X X OO X

O

Zadatak 4.2. Na datoj tabli igru igraju dva igraca od kojih jedan ima plave a drugi crvene zetone. Igrac jepobedio kad postavi svoje zetone na 2 susedna polja. Nacrtati potpuno stablo igre i pomocu algoritma minimaksizracunati vrednosti njegovih cvorova.

Zadatak 4.3. Data je sledeca tabla za igru:

Page 58: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

4.5. Zavrsnica 58

1 23 4

Dva igraca stavljaju naizmenicno zetone na polja dok se tabla ne popuni i pri tom osvajaju onoliko poenakoliko pise na polju. Pobeduje igrac koji na kraju ima vecu sumu poena. Pomocu Minimax algoritma odreditinajbolji polazni potez za prvog igraca. Da li alfa-beta odsecanje omogucava izracunavanje najboljeg poteza umanje koraka?

Zadatak 4.4. Na datom drvetu algoritmom Alfa-beta izracunati vrednost korenog cvora. Oznaciti delovedrveta koji su odseceni pri obilasku s leva na desno. Da li neki drugi raspored grana drveta omogucava viseodsecanja? Ako da, koji?

3 4 6 10 1 3 8 5 5 2 12 7

𝑚𝑎𝑥

Zadatak 4.5. Oznaciti odsecanja koja cini algoritam Alfa-beta pri obilasku sledeceg stabla s leva nadesno.Postoji li redosled obilaska stabla pri kojem se odseca veci broj cvorova?

21 12 56 11 99 13 16 17 31 33 20 15

𝑚𝑎𝑥

Zadatak 4.6. Prikazati odsecanja koja vrsi algoritam Alfa-beta na datom stablu igre pri obilasku s leva nadesno. Koji je optimalni obilazak stabla u smislu odsecenih cvorova i koja odsecanja se pri njemu vrse?

12 11 13 16 18 41 33 11 9 99 1 10

𝑚𝑎𝑥

Zadatak 4.7. Oznaciti odsecanja koja cini algoritam Alfa-beta pri obilasku sledeceg stabla s leva nadesno.

3 8 12 5 1 2 30 4 6 23 30 1

𝑚𝑎𝑥

Page 59: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 5

Genetski algoritmi

Heuristike koje se koriste u resavanju problema pretrage dizajnirane su za konkretan problem, imajuci uvidu njegove specificnosti. Heuristika dizajnirana za jedan problem cesto je potpuno neupotrebljiva za drugiproblem i resavanje svakog novog problema koriscenjem heuristika moze da bude veoma zahtevno. S drugestrane, metaheuristike ili metaheuristicke metode su metode koje opisuju opste strategije pretrage za resavanjeoptimizacionih problema i formulisane su nezavisno od konkretnog problema. U svom opstem obliku, meta-heuristike ne koriste specificnosti nijednog konkretnog problema i mogu se koristiti za resavanje siroke klaseproblema. Medutim, iako su metaheuristike opste metode, one mogu biti prilagodene (kombinacijom internihparametara) specificnom problemu koji se resava. Metaheuristike obicno razmatraju samo mali uzorak skupasvih mogucih resenja i obicno ne garantuju pronalazenje najboljeg moguceg resenja. Medutim, resenja koja dajumetaheuristike cesto mogu biti dovoljno dobra, posebno u situacijama kada nije raspoloziva ili nije prakticnoupotrebljiva odgovarajuca egzaktna metoda (koja garantuje pronalazenje najboljeg moguceg resenja).

Genetski algoritmi pripadaju siroj grupi metaheuristickih algoritama globalne optimizacije ili pretrage kojikoriste tehnike inspirisane biologijom. Genetski algoritmi koriste pojmove kao sto su selekcija, ukrstanje,nasledivanje, mutacija, itd. U prirodi, evolucija je proces u kojem jedinke koje su najbolje prilagodene okoliniprezivljavaju i ostavljaju potomstvo, koje je najcesce isto tako ili bolje prilagodeno okolini. Svaka celija svakogzivog organizma sadrzi hromozome. Svaki hromozom sadrzi skup gena — blokove DNK. Svaki gen odreduje nekuosobinu organizma. Familija gena cesto se naziva genotip, a familija osobina fenotip. Reprodukcija organizamaukljucuje kombinovanje gena roditelja i, pored toga, male kolicine mutacije. Jedinka moze biti manje ili viseprilagodena okolini. Jedinka koja je bolje prilagodena okolini u kojoj zivi ima vecu verovatnocu prezivljavanjai ostavljanja potomstva, a time i prenosenja svog genetskog materijala. Genetski materijal prilagodenih jedinkiuglavnom opstaje, dok genetski materijal neprilagodenih jedinki uglavnom nestaje kroz generacije. Dakle, evo-lucioni procesi u prirodi su, u odredenom smislu, optimizacioni procesi — procesi u kojima se kroz generacijeoptimizuje genetski materijal (tj. osobine organizama) tako da bude sto bolje prilagoden okolini.

Genetski algoritmi mogu se koristiti za nalazenje tacnog ili pribliznog resenja nekog problema optimizacijeili pretrage. Mada je jos pedesetih godina dvadesetog veka bilo racunarskih simulacija zasnovanih na evoluciji,smatra se da je moderne genetske algoritme uveo Dzon Holand sedamdesetih godina dvadesetog veka, a postalisu popularni kasnih osamdesetih godina. Tokom prethodnih tridesetak godina ostvaren je veliki napredak urazvoju genetskih algoritama. Genetski algoritmi se uspesno primenjuju na sirokom skupu problema, cestoNP-teskih ili jos tezih problema, za koje ne postoje efikasna resenja. Genetski algoritmi imaju uspesne primeneu ekonomiji, tehnici, bioinformatici, hemiji, fizici itd. Genetski algoritmi uspesno se primenjuju u mnogimoptimizacionim problemima u kojima postoji i vise lokalnih ekstremuma. Popularnost genetskih algoritamapotice iz njihove uspesnosti, ali i jednostavnosti. Naime, ideje na kojima su genetski algoritmi zasnovani sujednostavne za razumevanje i implementiranje, a daju opsti sistem pretrage primenljiv na veliki broj problema.Pored toga, i u situacijama kada ne nalaze globalne ekstremume, resenja koja daju su cesto dovoljno dobra.

Uporedo sa nalazenjem brojnih novih primena i unapredivanjem algoritma, razvijaju se i teorijske osnovegenetskih algoritama, ali jos uvek sa ogranicenim uspesima. Na primer, iako cesto nalaze globalne ekstremume,genetski algoritmi ne pruzaju informaciju o tome da li je u pitanju globalni ili lokalni ekstremum, niti o tomesa kolikom greskom je odredeno resenje.

5.1 Opsti genetski algoritam

Genetski algoritmi implementiraju se kao racunarska simulacija u kojoj populacija apstraktno opisanihjedinki koje su kandidati za resenje problema treba da se priblizava boljim resenjima. Reprezentacija jedinkenaziva se hromozomom ili genotipom. Cilj je naci vrednost za koju zadata funkcija cilja dostize svoj ekstremum

59

Page 60: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

5.1. Opsti genetski algoritam 60

ili vrednost koja je dovoljno blizu ekstremuma i resenje problema moze biti numericka vrednost, matematickafunkcija, put u grafu itd. Potencijalna resenja, tj. jedinke obicno su predstavljene nizovima nula i jedinica, alisu moguce i druge reprezentacije za probleme u kojima binarna reprezentacija nije pogodna. Postupak se odvijakroz generacije. Pocetnu generaciju obicno cine slucajno generisane jedinke, ali ona moze da sadrzi i jedinkekoje su (grubi) rezultat neke druge, jeftinije optimizacione metode.

Obicno u svakoj generaciji postoji isti broj jedinki i za svaku od njih racuna se njen kvalitet (koji odgovaraprilagodenosti okolini). Funkcija koja pridruzuje te vrednosti jedinkama naziva se funkcija prilagodenosti ilifunkcija kvaliteta. Ova funkcija ima kljucnu ulogu u algoritmu. Ona moze ali ne mora da bude jednaka funkcijicilja.

Iz jedne generacije se, na osnovu vrednosti funkcije prilagodenosti, kroz proces selekcije biraju jedinke koje cebiti iskoriscene za stvaranje novih jedinki (potomstva). One kvalitetnije biraju se sa vecom verovatnocom. Nadizabranim jedinkama primenjuju se genetski operatori ukrstanja1 i tako se dobijaju nove jedinke. Ukrstanjem seod dve jedinke dobija nova (ili dve nove) sa genetskim materijalom koji je dobijen neposredno od roditelja, tj. odpolaznih jedinki. Operatorom mutacije moze da se modifikuje deo polazne jedinke (i ona oponasa mutacije kojese u prirodi javljaju pod uticajem spoljnih faktora). U svakoj generaciji, dakle, moze da dode do rekombinacijegena zbog koje se javlja slicnost ali i razlicitost izmedu jedinki iste generacije.

Politika zamene generacija odreduje kako se od postojecih jedinki i njihovog potomstva kreira nova genera-cija. Neke jedinke u novoj generaciji mogu biti bolje, neke mogu biti i losije od jedinki iz prethodne generacije, alise ocekuje da se prosecna prilagodenost popravlja. Tako dobijena nova generacija koristi se za sledecu iteracijualgoritma.

Postupak se zaustavlja kada je dostignut zadati broj generacija, kada je dostignut zeljeni nivo kvalitetapopulacije (na primer, prilagodenost najprilagodenije jedinke) ili kada je ispunjen neki drugi uslov. Ukoliko jedostignut zadati broj generacija, nema nikakvih garancija da tekuca najkvalitetnija jedinka ima zadovoljavajucuvrednost funkcije cilja.

Genetski algoritmi se, kao i mnogi drugi algoritmi, dizajniraju za resavanje neke klase instanci, a ne po-jedinacnih instanci. Na primer, algoritam za resavanje kvadratne jednacine moze da resi bilo koju kvadratnujednacinu, ali je za njegovu primenu potrebno zadati koeficijente koji je u potpunosti odreduju. Slicno, ge-netski algoritam za pronalazenje rasporeda casova treba da bude dizajniran tako da resava razlicite instancetog problema — za razlicite skole sa razlicitim brojem nastavnika, odeljenja, ucionica i termina i sa razlicitimspecificnim zahtevima. To znaci da funkcija cilja moze da bude definisana tek kad su poznati svi podaci kojiprecizno zadaju problem. Zbog toga se moze smatrati da ulaz za opsti algoritam cini opis problema na osnovukojeg tek treba definisati funkciju cilja, ali i brojna podesavanja algoritma (tj. vrednosti njegovih parametara)pogodna za konkretan problem. Medutim, upravo definisanje funkcije prilagodenosti i izbor pogodnih parame-tara cesto cine najtezi deo primene genetskih algoritama, tj. primena opsteg genetskog algoritma je obicno samomali deo potrebnog truda.

Opsti genetski algoritam prikazan je na slici 5.1.

Algoritam: Opsti genetski algoritam

Ulaz: Podaci koji odreduju funkciju cilja i podesavanja algoritma

Izlaz: Najkvalitetnija jedinka u tekucoj populaciji

1: generisi pocetnu populaciju jedinki;

2: izracunaj prilagodenost svake jedinke u populaciji;

3: ponavljaj4: izaberi iz populacije skup jedinki za reprodukciju;5: primenom operatora ukrstanja i mutacije kreiraj nove jedinke (i racunaj njihovu prilagodenost);6: na osnovu starih i novih jedinki, kreiraj novu generaciju;

7: dok nije ispunjen uslov zaustavljanja

8: vrati najkvalitetniju jedinku u poslednjoj populaciji

Slika 5.1: Opsti genetski algoritam

Pored podataka koji odreduju funkciju cilja, da bi navedeni opsti algoritam bio specifikovan potrebno je iza-brati i podesavanja algoritma (za konkretan problem) – definisati reprezentaciju jedinki, funkciju prilagodenosti,

1Ovaj termin nije sasvim u skladu sa znacenjem koje ima u biologiji.

Page 61: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

61 5. Genetski algoritmi

politiku selekcije, politiku zamene generacija, itd.

5.2 Komponente genetskog algoritma

Svaki genetski algoritam ima nekoliko komponenti koje moraju biti specifikovane, kao sto je reprezentacijajedinki, proces selekcije, politika zamene generacija itd.

5.2.1 Reprezentacija jedinkiJedinke mogu biti predstavljene raznovrsnim strukturama podataka, na primer, nizovima binarnih cifara,

stablima, matricama i drugim. Neophodno je da izabrana reprezentacija moze da opise moguce resenje raz-matranog problema i da se nad njom definisu genetski operatori (ukrstanje i mutacija). Takode, odabranareprezentacija bitno utice na performanse algoritma. Pozeljno je da genetski operatori budu definisani tako dase njima ne dobijaju jedinke koje ne predstavljaju moguca resenja (na primer, nelegalni putevi u grafu), jerbi one narusavale performanse algoritma. Medutim, nekada se koriste i takvi operatori, ali se onda morajudefinisati mehanizmi popravljanja jedinki, tako da odgovaraju mogucim resenjima.

Najcesce koriscena reprezentacija jedinki je u vidu nizova binarnih cifara. Svaki deo hromozoma, tj. svakucifru u takvoj reprezentaciji, zovemo gen. Dublja priroda binarne reprezentacije zavisi od konkretnog problema.Na primer, ako je duzina hromozoma 𝑛 (bitova) i ako je prostor mogucih resenja interval realnih brojeva [𝑎, 𝑏],onda je potrebno uspostaviti vezu (koja, naravno, nije bijektivna) izmedu nizova 𝑛 bitova i realnih brojeva izdatog intervala. Tako ce binarna reprezentacija 000 . . . 0⏟ ⏞

𝑛

odgovarati broju 𝑎, a binarna reprezentacija 111 . . . 1⏟ ⏞ 𝑛

broju 𝑏. Broju 𝑥 sa binarnom reprezentacijom izmedu 000 . . . 0⏟ ⏞ 𝑛

i 111 . . . 1⏟ ⏞ 𝑛

odgovara realni broj

𝑎+𝑥

2𝑛 − 1(𝑏− 𝑎)

S druge strane, realnom broju 𝑥 iz intervala [𝑎, 𝑏] pridruzujemo niz bitova koji predstavlja binarnu reprezentacijubroja [

𝑥− 𝑎

𝑏− 𝑎(2𝑛 − 1)

].

Primer 5.1. Pretpostavimo da naftnu platformu treba postaviti na pogodnom mestu na putu izmedu tacaka 𝐴i 𝐵, koji je duzine 5000m. Lokacija platforme je pogodnija ukoliko na tom mestu postoje vece rezerve nafte. Ubiranju lokacije platforme moguce je meriti postojece rezerve nafte na bilo kojoj tacki izmedu 𝐴 i 𝐵. Mogucaresenja mogu se predstaviti nizovima bitova duzine 10, tj. brojevima od 0 do 1023. Tacki 𝐴 tada odgovara broj0 i reprezentacija 0000000000, a tacki 𝐵 broj 1023 i reprezentacija 1111111111. Tacki 𝐶 na rastojanju 1320mod tacke 𝐴 odgovara vrednost 1023 · (1320/5000) ≈ 270 i reprezentacija 0100001110, a tacki 𝐷 na rastojanju3128m od tacke 𝐴 odgovara vrednost 1023 · (3128/5000) ≈ 640 i reprezentacija 1010000000. Za vrednost funkcijeprilagodenosti jedne tacke moze se uzeti rezerva nafte izmerena u toj tacki (slika 5.2).

5.2.2 Funkcija prilagodenostiFunkcija prilagodenosti daje ocenu kvaliteta jedinke. Ukoliko je zadatak odrediti maksimum neke funkcije,

onda je prirodni izbor za funkciju prilagodenosti sama ta funkcija. Pogodan izbor funkcije prilagodenosti odizuzetne je vaznosti za efikasnost algoritma. Funkcija prilagodenosti, naravno, treba da oslikava kvalitet jedinke,da je definisana za sve moguce jedinke i da se relativno brzo izracunava. Sem ovih, ne postoje nikakvi opstiuslovi koje funkcija prilagodenosti treba da zadovoljava (na primer, da je diferencijabilna), mada je algoritamcesto efikasniji za funkcije koje zadovoljavaju neke specificne uslove. Sto je vrednost funkcije prilagodenosti zaneku jedinku veca, to ce biti veca verovatnoca da se ta jedinka koristi za generisanje sledece generacije. Ocekujese da, kroz generacije, ukupna prilagodenost bude sve bolja i bolja.

Primer 5.2. Potrebno je odrediti maksimum funkcije 𝑓(𝑥) na intervalu [𝑎, 𝑏]. Funkcija je definisana za sveelemente datog intervala, ali nije nuzno ni neprekidna, ni diferencijabilna. Genetski algoritam moguce je pri-meniti tako da se za funkciju prilagodenosti koristi upravo funkcija 𝑓 , a da se za reprezentaciju koristi bitovskareprezentacija (na nacin opisan u poglavlju 5.2.1). Ukoliko je potrebno odrediti minimum funkcije 𝑓(𝑥), ondabi za funkciju prilagodenosti mogla da se koristi funkcija −𝑓 .

Treba imati u vidu da funkcija cilja i funkcija prilagodenosti ne moraju uvek da se podudaraju. Na primer,funkcija prilagodenosti moze jedinkama cija vrednost funkcije cilja prelazi neku granicu dodeljivati vrednost 1,

Page 62: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

5.2. Komponente genetskog algoritma 62

0 100 200 300 400 500 600 700 800 900 1000

𝐴 (0000000000) 𝐵 (1111111111)𝐶 (0100001110)

270

1320

𝐷 (1010000000)

640

31280 1000 2000 3000 4000 5000

Slika 5.2: Reprezentacija jedinki u problemu lokacije naftne platforme

a ostalima vrednost 0. Tako se moze i pojednostaviti implementacija algoritma, ali se ovakve odluke morajudonositi oprezno kako ne bi doslo do smanjenja raznolikosti populacije i prerane konvergencije (recimo akonajbolje jedinke, kojima ce biti pridruzena vrednost 1, sve pripadaju uskoj podoblasti prostora resenja). Sdruge strane, funkcija cilja ne mora uvek biti eksplicitno zadata nekom matematickom reprezentacijom, vecnekakvim manje formalnim zahtevom (u poglavlju 5.4.2 ce biti dat jedan takav primer u kojem se genetskimalgoritmom pronalazi agent koji najbrze vozi automobil na nekoj stazi).

5.2.3 Inicijalizacija

Populaciju jedinki jedne generacije, ukoliko se koristi binarna reprezentacija, cini skup nizova binarnih cifara.U toku resavanja jednog problema, obicno sve generacije imaju isti broj jedinki. Taj broj, velicina populacije,je parametar algoritma i on je cesto nekoliko desetina ili stotina.

Proces inicijalizacije, tj. proces generisanja pocetne populacije, cesto je jednostavan. Najcesce se pocetnapopulacija generise slucajno (tako da pokriva citav prostor pretrage). Ukoliko se koristi bitovska reprezentacija,jedinke pocetne generacije mogu se generisati kao slucajni brojevi u intervalu [0, 2𝑛 − 1], gde je 𝑛 duzinahromozoma u izabranoj reprezentaciji. Dodatno, u pocetnu populaciju mogu biti dodate neke specificne jedinke(na primer, iz delova prostora pretrage za koje se veruje da sadrzi optimalna resenja) ili citava pocetna populacijamoze biti generisana koristeci neki drugi optimizacioni metod. U nekim problemima moze da postoji ogranicenjenad potencijalnim resenjima, tj. jedinkama i njega onda treba uzeti u obzir pri generisanju slucajnih jedinki.Slicno, i u kasnijim fazama algoritma treba voditi racuna o neispravnim jedinkama, koje su se pojavile upopulaciji, a po formi ne ispunjavaju uslove koje potencijalna resenja moraju da ispune. Takve jedinke obicnose koriguju unapred definisanim postupcima.

5.2.4 Selekcija

Selekcija obezbeduje cuvanje i prenosenje dobrih osobina populacije (tj. dobrog genetskog materijala) nasledecu generaciju. U svakoj generaciji, deo jedinki se izdvaja za reprodukciju i generisanje nove genera-cije. Izdvajanje jedinki koje ce ucestovavati u reprodukciji zasniva se na funkciji prilagodenosti i, generalno,prilagodenije jedinke imaju vecu verovatnocu da imaju potomstvo. U najjednostavnijim pristupima biraju sejedinke sa najvecom vrednoscu funkcije prilagodenosti. U drugim pristupima, jedinke se biraju slucajno, ali saverovatnocama koje su izvedene iz prilagodenosti, pri cemu je moguce da budu izabrane i neke losije prilagodenejedinke (to moze da pomogne u odrzavanju genetske raznolikosti i, dalje, u sprecavanju prerane konvergencijeka nekom lokalnom optimumu). Najpopularnije strategije selekcije su ruletska i turnirska selekcija.

Page 63: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

63 5. Genetski algoritmi

0.05

0.15

0.030.05

0.20

0.12

0.30

0.10

𝑎

𝑐

𝑒

𝑔

𝑏

𝑑

𝑓 ℎ

Slika 5.3: Ilustracija ruletske selekcije

Ruletska selekcija Ruletska selekcija (eng. roulette wheel selection) je proces selekcije u kojem vece sanseda ucestvuju u reprodukciji imaju prilagodenije jedinke.

Ako je 𝑓(𝑖) vrednost funkcije prilagodenosti za jedinku 𝑖, a 𝑁 broj jedinki u populaciji, verovatnoca da cejedinka 𝑖 biti izabrana da ucestvuje u reprodukciji jednaka je

𝑝𝑖 =𝑓(𝑖)∑𝑁𝑗 𝑓(𝑗)

Naziv ruletske selekcije potice od analogije koja se moze napraviti sa ruletom. Ukoliko polja ruleta imajusirine proporcionalne verovatnocama jedinki populacije, onda je proces biranja 𝑚 jedinki za reprodukciju ana-logan odigravanju 𝑚 partija ruleta.

Primer 5.3. Pretpostavimo da populacija ima osam jedinki: 𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑓, 𝑔, ℎ i da su njihove prilagodenostiredom 0.10, 0.30, 0.06, 0.10, 0.40, 0.24, 0.60, 0.20. Ukupna prilogodenost generacije jednaka je 2.00. Sledecatabela prikazuje verovatnoce izbora jedinki u ruletskoj selekciji:

jedinka a b c d e f g hprilagodenost 0.10 0.30 0.06 0.10 0.40 0.24 0.60 0.20verovatnoca izbora 0.05 0.15 0.03 0.05 0.20 0.12 0.30 0.10

Slika 5.3 ilustruje, u formi ruleta, verovatnoce izbora koje su pridruzene jedinkama.

U opisanom pristupu, podrazumeva se da je funkcija prilagodenosti definisana tako da ima samo pozitivnevrednosti.

U ruletskoj selekciji moguce je da jedna jedinka vise puta bude izabrana da ucestvuje u reprodukciji. Prevelikbroj ponavljanja istih jedinki lose utice na performanse algoritma.

Turnirska selekcija U turnirskoj selekciji, jedinke „odigravaju turnire“ u kojima vece sanse za pobedu (tj. zaprelazak u narednu generaciju) imaju one sa boljom prilagodenoscu.

Za jedan turnir bira se slucajno 𝑘 jedinki iz populacije. Nakon toga, u jednoj varijanti turnirske selekcije,pobednikom se smatra jedinka sa najvecom prilagodenoscu. U drugoj varijanti, izabrane jedinke sortiraju sepo vrednosti funkcije prilagodenosti i 𝑖-ta jedinka u tako sortiranom nizu bira se sa verovatnocom2 𝑝(1− 𝑝)𝑖−1,gde je verovatnoca 𝑝 drugi parametar procesa turnirske selekcije (prvi parametar je 𝑘). Postoje i mnoge drugevarijante turnirske selekcije.

2 Zbir ovih verovatnoca za svaku konacnu vrednost 𝑘 manji je od 1. Zato se one mogu skalirati tako da im zbir bude jednak 1ili neki turniri mogu da ne daju pobednika.

Page 64: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

5.2. Komponente genetskog algoritma 64

Ukoliko se u procesu selekcije koristi veca velicina turnira, onda nekvalitetne jedinke imaju manje sanse dabudu izabrane. Selekcija sa velicinom turnira 1 ekvivalentna je slucajnoj selekciji. U deterministickoj turnirskojselekciji (𝑝 = 1) bira se najbolja jedinka u svakom turniru.

Jedinkama koje su jednom izabrane moze se zabraniti ucestvovanje u daljim turnirima.

5.2.5 ReprodukcijaU procesu reprodukcije ucestvuju jedinke koje su izabrane u procesu selekcije: biraju se dve razlicite i

ukrstaju sa zadatom verovatnocom (obicno izmedu 0.6 i 0.9). Dve jedinke koje ucestvuju u ukrstanju (eng. cros-sover) nazivaju se roditelji. Rezultat ukrstanja je jedna nova jedinka ili dve nove jedinke koje nazivamo decomili neposrednim potomcima. Ocekivano je da deca nasleduju osobine roditelja, pa je otuda i nada da decamogu da imaju prilagodenost kao svoji roditelji ili bolju (ako su nekako objedinila razlicite osobine koje dajudobru prilagodenost). Dobijeni potomci imaju sansu da udu u sledecu generaciju, u skladu sa politikom zamenegeneracija.

Postoji vise jednostavnih varijanti ukrstanja kada se koristi binarna reprezentacija. U jednoj varijanti(visepoziciono ukrstanje) dovoljno je izabrati tacke ukrstanja i prekombinovati nizove bitova — jedno detedeo od jedne tacke prekida do sledece nasleduje od jednog roditelja, a naredni deo od drugog. Ukrstanje mozekoristiti proizvoljan broj tacaka prekida (s tim da je manji od duzine hromozoma). Slike 5.4 i 5.5 ilustrujuukrstanje sa jednom (jednopoziciono ukrstanje) i sa dve tacke ukrstanja (dvopoziciono ukrstanje) za binarnureprezentaciju. Tacke prekida biraju se slucajno iz skupa svih mogucih tacaka prekida.

roditelj 2

roditelj 1

dete 2

dete 1

tacka prekida

Slika 5.4: Jednopoziciono ukrstanje.

roditelj 2

roditelj 1

dete 2

dete 1

tacke prekida

Slika 5.5: Dvopoziciono ukrstanje.

Uniformno ukrstanje daje dva deteta. Kod ovog ukrstanja svaki bit prvog roditelja se sa verovatnocom 𝑝prenosi na prvo dete i sa verovatnocom 1 − 𝑝 na drugo dete (pri cemu dete koje nije izabrano nasleduje bitdrugog roditelja). Verovatnoca 𝑝 je obicno jednaka 0.5, ali moze biti i drugacija.

5.2.6 MutacijaMutacija se primenjuje nakon procesa ukrstanja. To je operator koji sa odredenom (obicno veoma malom)

verovatnocom menja jedan deo jedinke na odredeni nacin. Na primer, u binarnoj reprezentaciji mutacija menjajedan ili vise slucajno odabranih gena. Od jedne jedinke dobija se jedna nova jedinka. Verovatnoca da ce nekibit neke jedinke populacije biti promenjen je parametar algoritma i odreduje se eksperimentalno (a obicno jemanja od 1%).

Uloga mutacija u genetskim algoritmima je da spreci da jedinke u populaciji postanu suvise slicne i dapomogne u obnavljanju izgubljenog genetskog materijala. Na primer, ukoliko u jednoj generaciji sve jedinkeimaju istu vrednost jednog gena, onda taj gen samo ukrstanjem nikada ne bi mogao da se promeni. Kontroli-sano podsticanje genetske raznolikosti mutacijom cesto omogucava izbegavanje lokalnih ekstremuma. Mutacije,naime, omogucavaju razmatranje novih delova prostrora pretrage u nadi da ce se naici na globalni ekstremum.

Page 65: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

65 5. Genetski algoritmi

Dovoljno je da se jedna jedinka priblizi globalnom ekstremumu, pa da za nekoliko generacija sve jedinke buduu tom delu prostora pretrage.

Ukoliko je verovatnoca mutacije velika, onda usmeravanje pretrage postaje preslabo i ona pocinje da lici naslucajnu pretragu. Ukoliko je verovatnoca mutacije jednaka nuli, onda uopste nema mutacije i algoritam ceverovatno brzo dospeti do nekog lokalnog ekstremuma.

5.2.7 Politika zamene generacijePolitika zamene generacije opisuje kako se od tekuce generacije dobija nova. Osnovna podela po ovom

kriterijumu je na generacijske genetske algoritme (eng. generational genetic algorithm) i genetske algoritmestabilnog stanja (eng. steady state genetic algorithm).

U slucaju generacijskih genetskih algoritama, nova generacija dobija se tako sto se selekcijom bira dovoljnojedinki iz tekuce generacije da se napravi cela nova generacija. Izabrane jedinke se ukrstaju i mutiraju i takodobijena generacija zamenjuje staru.

U slucaju genetskih algoritama stabilnog stanja, cim se izabere par roditelja, vrse se ukrstanje i mutacija iumetanje potomaka u populaciju u skladu sa nekom politikom zamene. Postoje raznovrsne politike zamene aneke od njih su:

• zamena najgorih, prema kojoj dobijeni potomci zamenjuju najmanje prilagodene jedinke u populaciji;

• nasumicna zamena, prema kojoj dobijeni potomci zamenjuju nasumicno izabrane jedinke iz populacije;

• takmicenje roditelja i potomaka, prema kojoj dobijeni potomci zamenjuju svoje roditelje ukoliko su odnjih bolji;

• turnirska zamena, prema kojoj se jedinka koju dobijeni potomci zamenjuju bira istim mehanizmom kaokod turnirske selekcije, s tim sto se umesto najbolje prilagodenih jedinki biraju najgore.

Pored navedenih, za genetske algoritme stabilnog stanja, postoje i druge strategije zamene.Elitizam je (opciona) strategija u okviru zamene generacije kojom se nekoliko najboljih jedinki (mozda samo

jedna) u generaciji stite od eliminisanja ili bilo kakvih izmena i takve prenose u sledecu generaciju. Ovim seeliminise opasnost da se neka posebno kvalitetna jedinka izgubi tokom evolucionog procesa. Elitizam moze dase koristi i u generacijskim politikama i u politikama stabilnog stanja.

5.2.8 ZaustavljanjeGenetski algoritam se izvrsava, tj. evolucioni proces stvaranja novih generacija se ponavlja, sve dok nije

zadovoljen neki uslov zaustavljanja. Najcesce se koriste sledeci uslovi zaustavljanja:

• Pronadeno je resenje koje zadovoljava unapred zadati kriterijum.

• Dostignut je zadati broj generacija.

• Funkcija prilagodenosti je izracunata zadati broj puta.

• Vrednost prilagodenosti najbolje jedinke se tokom odredenog broja generacija nije popravila.

• Kombinacija nekoliko uslova.

5.3 Svojstva genetskih algoritama

Genetski algoritmi imaju sirok domen i uspesno se primenjuju na velikom broju optimizacionih problema,cesto onih koji su NP-teski ili jos tezi. S druge strane, jos uvek nema mnogo teorijskih rezultata koji govoreo svojstvima genetskih algoritama, o kvalitetu resenja koja daju, pa cak ni o tome zasto su genetski algoritmiuspesni. U daljem tekstu, bice reci o nekim dobrim i losim stranama genetskih algoritama.

Ciljna funkcija. Ciljna funkcija moze biti potpuno proizvoljna i ne mora da zadovoljava nikakve uslove (naprimer, da bude neprekidna ili diferencijabilna). Medutim, u primenama u vestackoj inteligenciji (naprimer, u kretanju robota), ciljna funkcija cesto nije zadata eksplicitno vec implicitno, kroz veci brojkriterijuma.

Page 66: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

5.4. Primeri primene genetskih algoritama 66

Reprezentacija jedinki, funkcija prilagodenosti i operatori. Pogodan izbor reprezentacije jedinki, funk-cije prilagodenosti i operatora ukrstanja obicno su kljucni za performanse algoritma (brzina dolazenja doresenja i kvalitet resenja). Ipak, za mnoge optimizacione probleme nije lako konstruisati pogodnu funk-ciju prilagodenosti jer se obicno ne moze unapred oceniti da li je nesto resenje ili nije. U prvoj faziresavanja, reprezentacija jedinki, funkcija prilagodenosti i operatori se prilagodavaju problemu, a onda sevrsi i prilagodavanje parametara algoritma, kao i dodatno fino podesavanje procesa resavanja.

Parametri algoritma. Pogodan izbor operatora ukrstanja i parametara genetskog algoritma (velicina popu-lacije, verovatnoca ukrstanja, verovatnoca mutacije, itd) veoma je vazan za njegove performanse. S drugestrane, upravo velika sloboda u izboru parametara istovremeno je i pretnja da mogu da budu korisceniparametri koji daju lose performanse. Optimizovanje parametara genetskog algoritma je kompleksan pro-blem koji se najcesce resava izvodenjem eksperimenata – probnih resavanja. Za izbor pogodnih parametaracesto se koriste sami genetski algoritmi. Parametri genetskog algoritma ne moraju biti fiksirani, vec moguda se menjaju i prilagodavaju tokom rada. Na primer, ukoliko su tekuce jedinke raznolike, onda se mozepovecati verovatnoca ukrstanja, a smanjiti mutacija, a ukoliko su slicne, onda se moze uraditi obratno,kako bi se povecale sanse za bekstvo jedinki iz lokalnog optimuma.

Domen genetskih algoritama. Genetski algoritmi primenljivi su na veoma sirok skup problema. Ipak, zauspesno resavanje konkretnih problema potrebno je napraviti mnogo dobrih izbora (na primer, za funkcijuprilagodenosti i za parametre).

Kvalitet resenja. Genetski algoritam ne daje garanciju da je pronadeno resenje globalni optimum. Stavise,genetski algoritmi cesto imaju tendenciju da idu ka lokalnim optimumima, posto je pronalazenje globalnogoptimuma tesko. Medutim, i ako nije nadeno resenje koje je globalni optimum, cesto je resenje koje jenadeno dovoljno dobro. Dodatno, kao rezultat algoritma moze se ponuditi neki skup najboljih pronadenihjedinki, sto je cesto veoma pogodno. Takvo ponasanje je zadovoljavajuce, posebno u problemima za kojene postoje tehnike koje garantuju pronalazenje optimalnog resenja.

Zahtevani resursi. Genetski algoritmi se jednostavno implementiraju. Ipak, za najbolje rezultate cesto jepotrebno implementaciju prilagoditi konkretnom problemu. Iako su algoritmi i implementacije obicnojednostavni, izvrsavanje genetskih algoritama cesto je veoma vremenski i memorijski zahtevno. Genetskialgoritmi mogu se pogodno i efikasno paralelizovati.

5.4 Primeri primene genetskih algoritama

U ovom poglavlju bice data dva konkretna, jednostavna, ali ilustrativna primera primene genetskih algori-tama.

5.4.1 Obilazak table skakacemProblem obilaska table skakacem je problem pronalazenja putanje skakaca na sahovskoj tabli 𝑛 × 𝑛, takve

da skakac poseti sto veci broj razlicitih polja ali nijedno polje dvaput ili vise puta.3 U daljem razmatranju,pretpostavicemo dimenzije table 5× 5. Na slici 5.6, prikazana je jedna putanja skakaca od osam poteza koja sene moze nastaviti.

5 Z0Z0Z4 0Z0Z03 Z0M0Z2 0Z0Z01 Z0Z0Z

a b c d e

5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 0Z0Z01 Z0Z0Z

a b c d e1

23

4

5

67

8

9

Slika 5.6: Kretanje skakaca (levo) i jedna putanja skakaca od osam poteza koja se ne moze nastaviti (desno).

3Strоzije postavljen problem je problem pronalazenja putanje skakaca na sahovskoj tabli kojom skakac po jednom posecujesvako polje table.

Page 67: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

67 5. Genetski algoritmi

Za svako od 25 polja treba odrediti na koje je najbolje da skakac prede. U zavisnosti od polja na kojem je,skakac moze preci na dva do osam drugih polja, pa se izbor narednog polja uvek moze kodirati pomocu tri bita.Stoga, za potrebe primene genetskog algoritma, hromozom se moze sastojati iz 25 × 3 = 75 bitova, pri cemusvaka trojka odgovara jednom polju table i oznacava jedan od osam mogucih poteza sa tog polja. Ocigledno,za neka polja neki od poteza koje hromozom moze predstaviti nece biti legalna, ali ih u prvoj verziji svejednodopustamo. U drugoj varijanti, za svako polje dozvoljeni su samo potezi koji su u tom polju zaista moguci.

Za funkciju cilja i funkciju prilagodenosti prirodno se namece broj skokova koje skakac moze da izvede uskladu sa evaluiranim hromozomom, do skoka van table ili do skoka na vec poseceno polje.

Koristi se generacijski genetski algoritam – u svakom koraku bira se dovoljno jedinki da se generise celanova populacija, a potom se vrse ukrstanja i mutacije. Selekcija moze da bude jednostavna ruletska. Ukrstanjemoze da bude sa jednom tackom prekida, a mutacija moze da se realizuje tako sto bi na svakoj poziciji svakoghromozoma sa nekom unapred zadatom malom verovatnocom trenutna vrednost bila zamenjena nekom slucajnoizabranom od preostalih. Za obe varijante koriscena je populacija od 3000 jedinki, verovatnoca ukrstanja 0.8,verovatnoca mutacije po hromozomu 0.05, a maksimalan broj iteracija je bio 1000.

Kako ponasanje genetskog algoritma moze znacajno zavisiti od polazne populacije koja se slucajno generise,moze se desiti da se u razlicitim pokretanjima, dobije razlicit kvalitet resenja. Kako bi se stekla bolja slika,resavanje je bilo vrseno 10 puta. Potom su izracunati prosecan kvalitet najboljeg resenja i prosecna generacijau kojoj je ono nadeno. Prosecna duzina pronadene putanje za prvu varijantu je 19.1, a za drugu 21.6. Prosecanbroj iteracija koje su bile potrebne za dostizanje najboljeg pronadenog resenja je 326.7 za prvu, a 188.0 za drugu.Na slici 5.7, prikazana je zavisnost duzine predene putanje za najbolju jedinku u odnosu na broj iteracija zapo jedno izvrsavanje obe varijante genetskog algoritma. Vidi se da druga varijanta u manjem broju generacijadolazi do kvalitetnijih resenja, sto se i moglo ocekivati. Nijedna varijanta nije pronasla putanju koja obilazi svapolja. Razlog za to je sto je taj problem previse tezak za pravolinijski pristup koji je upotrebljen. Za njegovopuno resavanje potrebne su dodatne, napredne tehnike.

0 25 50 75 100125150175200225250275300

2468

101214161820222426

Slika 5.7: Zavisnost kvaliteta najbolje jedinke u populaciji od broja generacija za obe varijante genetskogalgoritma. Prva je prikazana plavom bojom, a druga crvenom.

5.4.2 Voznja automobila stazomNeka je potrebno opisati agenta koji je u stanju da brzo vozi automobil po nekoj stazi. Staza ima start

koji je ujedno i cilj i ima krivine ulevo i udesno. Staza je izdeljena na polja (slika 5.8). Voznju je potrebnozavrsiti sto brze. Agent raspolaze sa nekoliko akcija — prebacivanje u brzu voznju, prebacivanje u sporu voznju,skretanje ulevo i skretanje udesno. Takode je moguce da agent ne preduzme nikakvu akciju. Bilo koju akcijuda preduzme, agent nastavlja da se krece pravo. Agent raspolaze skupom senzora — jednim koji meri brzinu(sporo, brzo) i senzorima za prepreke — levo, desno, jedno polje napred i dva polja napred. Pretpostavljamoda staza nema slepih krakova niti grananja, pa ako postoji prepreka na polju ispred, onda postoji tacno jednoslobodno polje levo ili desno. U toku kretanja, agent ne moze skretati ukoliko se krece brzo.

Kako bi obilazak staze bio sto pre zavrsen, pozeljno je da agent ubrza kada su oba polja ispred njegaslobodna, da uspori kad primeti prepreku dva polja ispred i da skrene na slobodno polje kada primeti preprekuna polju neposredno ispred.

Prilikom modelovanja ovog problema, potrebno je specifikovati osnovne elemente genetskog algoritma, pocevod reprezentacije hromozoma. Zarad jednostavnosti, koristicemo modifikovanu binarnu reprezentaciju. Svakisenzor kojim agent raspolaze moze da daje dve vrednosti. Stoga agent ne moze razlikovati vise od 25 = 32stanja. Neka od tih stanja se nece pojavljivati u toku voznje (na primer, prepreke i neposredno napred i levo

Page 68: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

5.4. Primeri primene genetskih algoritama 68

Slika 5.8: Automobilska staza

i desno), ali nece biti unapred odbacena radi jednostavnosti kodiranja i dekodiranja hromozoma. Svako odmogucih stanja predstavljace jednu poziciju u hromozomu na kojoj se belezi akcija koju agent u tom stanjupreduzima. Akcije se mogu kodirati celim brojevima od 0 do 4, na primer, 0 — ne preduzimati nista, 1 —ubrzati, 2 — usporiti, 3 — skrenuti levo i 4 — skrenuti desno. Na osnovu ovoga, hromozom agenta koji u svakomstanju samo skrece desno bio bi predstavljen pomocu niza od 32 cetvorke. Dekodiranje hromozoma moze da serealizuje tako sto bi se svakom od senzora dodelio jedan bit pri cemu bi njegova vrednost u slucaju postojanjaprepreke bila 0, a u suprotnom 1 i u slucaju sporog kretanja 0, a u suprotnom 1. Ovi bitovi bi se poredali ufiksiranom poretku, na primer, brzina, polje neposredno ispred, dva polja ispred, polje levo i polje desno. Tadabi se akcija u slucaju brzog kretanja i sa preprekama levo i desno, a bez prepreka na sledeca dva polja nalazilazapisana u hromozomu na mestu sa indeksom (10011)2 = 19.

Funkcija cilja nije eksplicitno data. Dat je samo zahtev da agent sto brze vozi. Moguce je definisati funkcijuprilagodenosti, ali ni ona nece biti data eksplicitno, vec ce biti izracunavana simuliranjem ponasanja agenta nanekoj stazi koja ukljucuje sve pomenute aspekte voznje (skretanje, ubrzavanje, itd.). Voznja ce biti simuliranatako sto ce agent u svakom koraku da se pomera po jedno polje duz staze u pravcu kretanja. Pri tome se usvakom koraku dekodira hromozom i odreduje se akcija koju agent preduzima. Svako polje koje agent predesporo boduje se sa 1, a svako polje koje se prede brzo, boduje se sa 2. Vrednost funkcija prilagodenosti je zbirtih bodova. Na taj nacin ce prilikom selekcije biti favorizovani agenti koji brze prelaze stazu. Kako je najvaznijeda agent uopste zavrsi voznju, a tek onda da je zavrsi sto brze, svaki agent koji zavrsi voznju dobija dodatnepoene, na primer, onoliko koliko staza ima polja. Na taj nacin se agenti koji zavrsavaju voznju favorizuju uselekciji u odnosu na ostale, pa se evolucija ubrzava ka njima.

Koristi se generacijski genetski algoritam. Selekcija moze da bude jednostavna ruletska. Ukrstanje mozeda bude sa jednom tackom prekida, a mutacija moze da se realizuje tako sto se na svakoj poziciji svakoghromozoma sa nekom unapred zadatom malom verovatnocom menja trenutna vrednost. Time su definisanigenetski operatori.

U eksperimentima je koriscena populacija od 300 jedinki, verovatnoca ukrstanja je bila 0.6, verovatnocamutacije po hromozomu 0.001, a maksimalan broj iteracija 1000. Kao i u proslom primeru, resavanje je izvrseno10 puta. Prosecan broj bodova najboljeg nadenog agenta je bio 69.3 od mogucih 70, a prosecan broj iteracijeu kojem je takav agent pronaden je bio 6. Ocito, ovaj problem je neuporedivo laksi od problema obilaska tableskakacem.

Pitanja i zadaci

5.1. Navesti opsti genetski algoritam.

5.2. Da li, u genetskim algoritmima, ciljna funkcija mora da bude:

• definisana za sve moguce jedinke?

• diskretna?

• neprekidna?

• diferencijabilna?

5.3. Da li, u genetskim algoritmima, funkcija prilagodenosti mora da bude:

• definisana za sve moguce jedinke?

Page 69: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

69 5. Genetski algoritmi

• diskretna?

• neprekidna?

• diferencijabilna?

5.4. Ukoliko je genetskim algoritmom potrebno odrediti minimum pozitivne funkcije 𝑓 na nekom intervalu, dali je pogodno kao funkciju prilagodenosti koristiti funkciju:

(a) 𝑓?(b) −𝑓?(c) inverznu funkciju of 𝑓?(d) 𝑓 ′?

5.5. Ukoliko je genetskim algoritmom potrebno odrediti minimum pozitivne funkcije 𝑓 na nekom intervalu,koju je funkciju koristiti kao funkciju prilagodenosti?

5.6. U genetskim algoritmima, koja se reprezentacija jedinki najcesce koristi?

5.7. Broj mogucih resenja datog problema je 1000000. Ukoliko se za resavanje ovog problema koristi genetskialgoritam i binarna reprezentacija, kolika je onda duzina hromozoma?

5.8. Ako je za potrebe primene genetskog algoritma, domen 3, 4, 5, 6, 7, 8, 9, 10 predstavljen binarnimhromozomima duzine 3 (u istom poretku), kako ce biti predstavljena jedinka 9?

5.9. Kako se generise inicijalna populacija u genetskim algoritmima?

5.10. Navesti dva genetska operatora.

5.11. Koliko genetski operatori ukrstanja i mutacije imaju ulaznih jedinki?

5.12. Sta je uloga selekcije u genetskim algoritmima?

5.13. Koje su vrste selekcije u genetskim algoritmima najpopularnije?(a) Menhetn i ruletska;(b) Menhetn i turnirska;(c) ruletska i turnirska;(d) ruletska i uniformna.

5.14. Koje vrste selekcija se najcesce koriste u genetskim algoritmima?

5.15. Kako se jedinka bira ruletskom selekcijom?

5.16. Ako je 𝑓(𝑖) vrednost funkcije kvaliteta (prilagodenosti) za jedinku 𝑖, a 𝑁 broj jedinki u populaciji,verovatnoca da ce jedinka 𝑖 ruletskom selekcijom biti izabrana da ucestvuje u reprodukciji jednaka je 𝑝𝑖 =

𝑓(𝑖)𝑥 ,

gde je 𝑥 jednako:(a) 1;(b)

∑𝑁𝑗 𝑓(𝑗);

(c)∑𝑁

𝑗,𝑗 =𝑖 𝑓(𝑗);(d)

∏𝑁𝑗 𝑓(𝑗);

5.17. Ukoliko su vrednosti prilagodenosti jedinka 𝑎, 𝑏 i 𝑐 2, 5, 8 redom, koja je verovatnoca da ce u ruletskojselekciji biti izabrana jedinka 𝑏?

5.18. Genetskim algoritmom se trazi maksimum funkcije 20− 𝑥2. Populacija sadrzi (samo) jedinke (1), (-4),(2) i (3). Kolika je, za svaku od jedinki, verovatnoca da ce biti izabrana za reprodukciju u ruletskoj selekciji.

5.19. U genetskim algoritmima, ako u jednoj generaciji postoje (samo) jedinke A, B i C sa vrednostimaprilagodenosti 1, 2 i 3 (redom), koja je verovatnoca da pri ruletskoj selekciji jedinka B ude u proces reproduk-cije?

5.20. Opisati algoritam turnirske selekcije.

5.21. Ako je u turnirskoj selekciji velicina turnira 𝑘 jednaka 1, cemu je ona ekvivalentna?

5.22. Dve jedinke-roditelja imaju binarne reprezentacije 1010 i 0101. Da li se nekom vrstom ukrstanja mozedobiti kao njihov potomak: (a) 0000; (b) 0011; (c) 1111?

Page 70: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

5.4. Primeri primene genetskih algoritama 70

5.23. Dve jedinke-roditelja imaju reprezentacije 0011 i 1010. Da li se u nekom njihovom potomku (dobijenomukrstanjem) moze javiti:

(1) na prvoj poziciji (zdesna nalevo) vrednost 0 (da/ne);(2) na prvoj poziciji (zdesna nalevo) vrednost 1 (da/ne);(3) na drugoj poziciji (zdesna nalevo) vrednost 0 (da/ne);(4) na drugoj poziciji (zdesna nalevo) vrednost 1 (da/ne);(5) na trecoj poziciji (zdesna nalevo) vrednost 0 (da/ne);(6) na trecoj poziciji (zdesna nalevo) vrednost 1 (da/ne);(7) na cetvrtoj poziciji (zdesna nalevo) vrednost 0 (da/ne);(8) na cetvrtoj poziciji (zdesna nalevo) vrednost 1 (da/ne).

5.24. Opisati uniformno ukrstanje koje se koristi u genetskim algoritmima.

5.25. U genetskim algoritmima, kolika je obicno verovatnoca da neki bit neke jedinke mutira?

5.26. Da li se od jedinke 1010 mutacijom moze dobiti jedinka: (a) 0000; (b) 0011; (c) 1111?

5.27. Ako tokom primene genetskog algoritma ima 𝑁 jedinki, svaka je predstavljena sa 𝑀 bitova, a verovatnocamutacije je 𝑝, koliki je ocekivani broj mutiranih gena u jednoj generaciji?

5.28. Sta je to elitizam u genetskim algoritmima?

5.29. Navesti bar cetiri moguca uslova za zaustavljanje genetskog algoritma.

Zadatak 5.1. Napisati implementacije operatora ukrstanja sa jednom tackom prekida i mutacije za hromozomeduzine 𝑛 ≤ 32.

Zadatak 5.2. Napisati implemenaciju jednostavne ruletske selekcije.

Zadatak 5.3. Napisati C implementacije operatora ukrstanja sa jednom tackom prekida i mutacije ukoliko sehromozomi mogu predstaviti kao niske od 32 bita.

Page 71: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)Deo II

Automatsko rasudivanje

Page 72: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 73: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 6

Resavanje problema koriscenjem automatskograsudivanja

Mnoge podoblasti vestacke inteligencije oslanjaju se na matematicku logiku i automatsko rasudivanje. Mate-maticka logika bavi se rigoroznim, deduktivnim metodama zakljucivanja u nekim konkretnim logickim okvirima.Logickih okvira ima mnogo i pojedinacno su pogodni za opisivanje raznovrsnih prakticnih problema. Automat-sko rasudivanje bavi se razvojem algoritama i programa koji realizuju metode matematickog zakljucivanja imogu da rasuduju automatski.

Resavanje problema koriscenjem automatskog rasudivanja obicno obuhvata:

• fazu modelovanja;

• fazu resavanja.

U fazi modelovanja, problem se opisuje u terminima nekog konkretnog logickog okvira, a u fazi resavanja seispituje da li on ima resenje, koriscenjem pogodnih metoda zakljucivanja.

6.1 Modelovanje

Razmotrimo najpre sledeci jednostavan problem.

Primer 6.1. Sef protokola na jednom dvoru treba da organizuje bal za predstavnike ambasada. Kralj trazi da nabal bude pozvan Peru ili da ne bude pozvan Katar (Qatar). Kraljica zahteva da budu pozvani Katar ili Rumunija(ili i Katar i Rumunija). Princ zahteva da ne bude pozvan Peru ili da ne bude pozvana Rumunija (ili da nebudu pozvani ni Peru ni Rumunija). Da li je moguce organizovati bal tako da su zadovoljeni zahtevi svih clanovakraljevske porodice?

Navedeni problem potrebno je najpre formulisati na neki precizan nacin. Iskaz, tvrdnju „na bal ce dociambasador Perua“ oznacicemo sa 𝑝, iskaz „na bal ce doci ambasador Katara“ oznacicemo sa 𝑞, a iskaz „na balce doci ambasador Rumunije“ sa 𝑟. Uslov koji postavlja kralj, onda glasi „vazi 𝑝 ili ne vazi 𝑞“ ili krace zapisano„𝑝 ili ne 𝑞“. Uslov koji postavlja kraljica glasi „𝑞 ili 𝑟“. Uslov koji postavlja princ glasi „ne 𝑝 ili ne 𝑟“.

Sva navedena ogranicenja, svi ovi iskazi, zajedno cine novi, komplikovaniji iskaz koji mozemo da zapisemona sledeci nacin:

„(𝑝 ili ne 𝑞) i (𝑞 ili 𝑟) i (ne 𝑝 ili ne 𝑟)“Ovaj slozeni iskaz predstavlja precizan zapis problema. Potrebno je proveriti da li polazni iskazi 𝑝, 𝑞 i 𝑟 mogu

da imaju konkretne vrednosti tacno ili netacno takve da slozeni iskaz ima vrednost tacno. Da bi se taj problemresio potrebno je precizno definisati na koji nacin se slozenim iskazima pridruzuje vrednost tacno ili netacnoukoliko je poznato koje vrednosti su pridruzene polaznim iskazima.

Navedeni primer je jednostavan u smislu da u njemu figurisu samo veoma jednostavni iskazi. Stvari postajukomplikovanije kada je potrebno modelovati tvrdnje koje vaze za sve ili za neke elemente nekog skupa.

Primer 6.2. Date su sledece tvrdnje: „svaki covek je smrtan“, „Sokrat je covek“. Pitanje je da li se iz ovihtvrdnji moze utvrditi da je tacno i „Sokrat je smrtan“.

Najpre je potrebno precizno opisati navedeni problem. Tvrdnju da je 𝑥 covek zapisimo kao „𝑥 je covek“ atvrdnju da je 𝑥 smrtan zapisimo kao „𝑥 je smrtan“. Tvrdnju „svaki covek je smrtan“ zapisimo „za svako 𝑥 vazi:ako (𝑥 je covek) onda (𝑥 je smrtan)“. Zadato tvrdenje onda (pomalo rogobatno u odnosu na svakodnevni jezik)glasi:

„ako (za svako 𝑥 vazi: ako (𝑥 je covek) onda (𝑥 je smrtan)) i (Sokrat je covek) onda (Sokrat je smrtan)“.

73

Page 74: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

6.2. Resavanje 74

6.2 Resavanje

Ispitivanje da li, pod nekim uslovima, slozeni iskaz iz primera 6.1 moze biti tacan, moze se sprovesti takosto bi bile ispitane vrednosti slozenog iskaza za sve moguce vrednosti pridruzene iskazima 𝑝, 𝑞 i 𝑟. Tih iskazaima tri, za svaki postoje dve mogucnosti, pa ukupno ima 23 mogucnosti koje treba ispitati. Pored ovog naivnogpristupa, postoje i drugi koji efikasnije vrse ovu proveru.

Ispitivanje da li je tacno tvrdenje iz primera 6.2 moze se sprovesti na sledeci nacin: posto za svako 𝑥 vazi„ako (𝑥 je covek) onda (𝑥 je smrtan)“, vazi i kada je 𝑥 upravo Sokrat, tj. vazi „ako (Sokrat je covek) onda (Sokratje smrtan)“. Odatle i iz „Sokrat je covek“ sledi „Sokrat je smrtan“, pa vazi dato tvrdenje.

Oba navedena procesa zakljucivanja opisani su neformalno i grubo, ali sluze kao motivacija za stroga pravilazakljucivanja u iskaznoj logici i logici prvog reda koja ce biti opisana u narednim poglavljima.

Page 75: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 7

Automatsko rasudivanje u iskaznoj logici

U iskaznoj logici razmatraju se iskazi, tvrdnje, tvrdenja (na primer „Ana je zubar“). Iskazi mogu bitikombinovani u slozenije iskaze logickim veznicima (na primer „Ana je zubar i Ana zivi u Beogradu“). Iskaznalogika ima svoju sintaksu (koja opisuje njen jezik) i svoju semantiku (koja definise istinitosnu vrednost iskaza).Centralni problemi u iskaznoj logici su ispitivanje da li je data iskazna formula valjana (tautologija) tj. da li jetacna za sve moguce istinitosne vrednosti elementarnih iskaza od kojih je sacinjena (na primer tvrdenje „Anaje zubar ili Ana nije zubar“ je uvek tacno – i ako je tvrdenje „Ana je zubar“ tacno i ako je netacno), kao iispitivanje da li je data iskazna formula zadovoljiva, tj. da li je tacna za neke istinitosne vrednosti elementarnihiskaza od kojih je sacinjena (na primer tvrdenje „Ana je zubar i Ana zivi u Beogradu“ moze mada ne mora uvekbiti tacno). Problem ispitivanja zadovoljivosti formule u knf obliku poznat je kao problem sat i on je centralnipredstavnik klase np-kompletnih problema (eng. np-complete problems). Postoji vise metoda za ispitivanjevaljanosti i zadovoljivosti.

U algoritmima za logicko zakljucivanje cesto je neki korak zakljucivanja moguce sprovesti na vise razlicitihnacina, ali nije precizirano koji od tih nacina treba da se izabere. Naime, bez obzira na nacinjeni izbor, izvedenizakljucci su uvek ispravni. Medutim, neki putevi do istog zakljucka mogu da budu znatno kraci od drugih itada je proces automatskog rasudivanja znatno efikasniji. Ovo pokazuje da je i u logickom rasudivanju jedanod centralnih problema problem usmeravanja pretrage.

Iskazna logika dovoljno je izrazajna za opisivanje raznovrsnih problema, ukljucujuci mnoge prakticne pro-bleme, kao sto su, na primer, problemi rasporedivanja ili dizajniranje kombinatornih kola. Iskazna logikapogodna je posebno za opisivanje problema nad konacnim domenima. Naime, svaki objekat koji moze imatikonacan broj stanja moze se opisati konacnim brojem iskaznih promenljivih: ako je broj mogucih stanja 2𝑛,onda je dovoljno koristiti 𝑛 iskaznih promenljivih. Svi brojevi zapisani u racunaru zapisani su bitovima, pa sei svi ti brojevi mogu modelovati iskaznim promenljivim: koliko bitova, toliko iskaznih promenljivih. Sabiranjecelih brojeva (kao i mnoge druge operacije) onda moze da se opise u terminima iskazne logike. Slicno vazi i zamnoge druge vrste podataka i mnoge vrste problema. Sa tako velikom izrazajnom snagom i velikim brojem raz-nolikih primena, iskazna logika i resavaci za iskaznu logiku cesto se smatraju „svajcarskim nozicem“ savremenogracunarstva, a posebno – vestacke inteligencije.

8 0Z0Z0Z0Z7 Z0Z0Z0Z06 0Z0Z0Z0Z5 Z0Z0Z0Z04 0Z0L0Z0Z3 Z0Z0Z0Z02 0Z0Z0Z0Z1 Z0Z0Z0Z0

a b c d e f g h

8 0ZQZ0Z0Z7 Z0Z0ZQZ06 0Z0L0Z0Z5 ZQZ0Z0Z04 0Z0Z0Z0L3 Z0Z0L0Z02 0Z0Z0ZQZ1 L0Z0Z0Z0

a b c d e f g h

3 ZQZ2 QZ01 Z0L

a b c

Slika 7.1: Kretanje dame na tabli 8 × 8 (gore levo), jedno resenje za problem osam dama (gore desno), jednorasporedivanje za problem tri dame koji nije resenje (dole)

75

Page 76: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

76

Primer 7.1. Razmotrimo, za ilustraciju resavanja primenom logike, problem „𝑛 dama”, opisan ukratko uprimeru 2.4 i detaljnije razmatran u poglavlju 7.4.3. Cilj je rasporediti 𝑛 dama na sahovskoj tabli dimenzija𝑛 × 𝑛 tako da se nikoje dve dame ne napadaju. Na slici 7 prikazano je kretanje dame i jedno resenjeproblema za 𝑛 = 8.

Jednostavnosti radi, u nastavku cemo razmatrati problem dimenzije 3, za koji je jedno neispravnorasporedivanje tri dame (rasporedivanje koje ne cini resenje) prikazano na slici 7 (dole). Uslovi kojeispravno rasporedivanje treba da zadovolji su:

• na jednom od polja 𝑎1, 𝑎2, 𝑎3 nalazi se dama.

• na jednom od polja 𝑏1, 𝑏2, 𝑏3 nalazi se dama.

• na jednom od polja 𝑐1, 𝑐2, 𝑐3 nalazi se dama.

• ako je neka dama na polju 𝑎1, onda na polju 𝑎2 ne moze da bude dama.

• ako je neka dama na polju 𝑎1, onda na polju 𝑎3 ne moze da bude dama.

• ako je neka dama na polju 𝑎2, onda na polju 𝑎1 ne moze da bude dama.

• ako je neka dama na polju 𝑎2, onda na polju 𝑎3 ne moze da bude dama.

• ako je neka dama na polju 𝑎3, onda na polju 𝑎1 ne moze da bude dama.

• ako je neka dama na polju 𝑎3, onda na polju 𝑎2 ne moze da bude dama.

• . . .

• ako je neka dama na polju 𝑎2, onda na polju 𝑏3 ne moze da bude dama.

• ako je neka dama na polju 𝑏3, onda na polju 𝑎2 ne moze da bude dama.

• ako je neka dama na polju 𝑏1, onda na polju 𝑐2 ne moze da bude dama.

• ako je neka dama na polju 𝑐2, onda na polju 𝑏1 ne moze da bude dama.

Navedeni uslovi zavise od iskaza oblika „na polju ?? nalazi se dama“. Oznacimo sa 𝑝𝑎1 iskaz „na polju𝑎1 nalazi se dama“, sa 𝑝𝑎2 iskaz „na polju 𝑎2 nalazi se dama“, . . ., sa 𝑝𝑐3 iskaz „na polju 𝑐3 nalazi se dama“.Onda navedeni uslovi mogu da se zapisu krace:

• 𝑝𝑎1 ili 𝑝𝑎2 ili 𝑝𝑎3.

• 𝑝𝑏1 ili 𝑝𝑏2 ili 𝑝𝑏3.

• 𝑝𝑐1 ili 𝑝𝑐2 ili 𝑝𝑐3.

• ako je 𝑝𝑎1, onda nije 𝑝𝑎2.

• ako je 𝑝𝑎1, onda nije 𝑝𝑎3.

• ako je 𝑝𝑎2, onda nije 𝑝𝑎1.

• ako je 𝑝𝑎2, onda nije 𝑝𝑎3.

• ako je 𝑝𝑎3, onda nije 𝑝𝑎1.

• ako je 𝑝𝑎3, onda nije 𝑝𝑎2.

• . . .

• ako je 𝑝𝑎2, onda nije 𝑝𝑏3.

• ako je 𝑝𝑏3, onda nije 𝑝𝑎2.

• ako je 𝑝𝑏1, onda nije 𝑝𝑐2.

Page 77: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

77 7. Automatsko rasudivanje u iskaznoj logici

• ako je 𝑝𝑐2, onda nije 𝑝𝑏1.

Ovim su, od jednostavnih iskaza, konstruisani slozeniji. Skup svih navedenih slozenih uslova cini josslozeniji iskaz – iskaz koji sadrzi sve uslove zadatka. Sintaksa iskazne logike govori o pravilima po kojim seod elementarnih iskaza mogu konstruisati slozeniji, to jest, o pravilima za konstruisanje ispravnih iskaznihformula.

Svaki od jednostavnih iskaza kao sto je 𝑝𝑎1 moze biti tacan ili netacan. U zavisnosti od toga, moze seodrediti istinitosna vrednost slozenijih iskaza. Na primer, ako je 𝑝𝑎1 tacno, a 𝑝𝑎2 netacno, onda je tacnoi „ako je 𝑝𝑎1, onda nije 𝑝𝑎2“. Semantika iskazne logike govori o tome kako se slozenim iskazima (to jest,iskaznim formulama) odreduje istinitosna vrednost na osnovu istinitosnih vrednosti elementarnih iskaza.Posto je u fazi resavanja problema vrednost iskaza kao sto je 𝑝𝑎1 nepoznata i posto on moze biti tacan ilinetacan, 𝑝𝑎1 cemo zvati i iskazna promenljiva.

Samo resavanje ovako modelovanog problema „𝑛 dama” moze se svesti na resavanje sledeceg problema:odrediti istinitosne vrednosti elementarnih iskaza 𝑝𝑎1, 𝑝𝑎2, . . ., 𝑝𝑐3 takve da svi navedeni uslovi budu is-punjeni (to jest, da svi odgovarajuci iskazi imaju istinitosnu vrednost tacno). Moze se razmatrati pitanjeda li takve istinitosne vrednosti uopste postoje, to jest da li pocetni problem uopste ima resenja ili pitanjepronalazenja svih resenja. Pitanje da li uopste postoji resenje moze se resiti razmatranjem svih mogucihvarijacija vrednosti za 𝑝𝑎1, 𝑝𝑎2, . . ., 𝑝𝑐3. Takvih varijacija ima 29 = 512 i razmatranje svih je napornoi neprakticno. Postoje i metode koje ne razmatraju sve mogucnosti i postojanje resenja mogu obicno daispitaju znatno efikasnije.

U kontekstu navedenih ogranicenja, mogu se izvesti i neki zakljucci. Na primer, ako vazi 𝑝𝑎1 onda vazi𝑝𝑏2 ili 𝑝𝑏3. Ovakvi zakljucci mogu se dobiti razlicitim pristupima, a mogu se koristiti za ubrzavanje traganjaza resenjem.

7.1 Sintaksa i semantika iskazne logike

Sintaksa iskazne logike govori o njenom jeziku — o skupu njenih (ispravno formiranih) formula i ne razmatranjihovo znacenje i njihove (moguce) istinitosne vrednosti. Znacenje iskaznih formula, na osnovu izabranogznacenja elementarnih iskaza od kojih je sacinjena, uvodi semantika iskazne logike.

7.1.1 Sintaksa iskazne logikeSkup iskaznih formula obicno se definise za fiksiran, prebrojiv skup iskaznih promenljivih (iskaznih varijabli)

ili iskaznih slova 𝑃 , dve logicke konstante —⊤ (te) i⊥ (nete), kao i konacan skup osnovnih logickih (tj. bulovskih)veznika: unarnog — negacija i binarnih — konjunkcija, disjunkcija, implikacija, ekvivalencija.

Definicija 7.1 (Skup iskaznih formula).

• Iskazne promenljive (elementi skupa 𝑃 ) i logicke konstante su iskazne formule;

• Ako su 𝐴 i 𝐵 iskazne formule, onda su iskazne formule i objekti dobijeni kombinovanjem ovih formulalogickim veznicima.

U navedenoj definiciji (u duhu apstraktne sintakse) ne govori se o tome kako se zapisuju ili citaju iskazneformule, vec samo o tome kako se grade na apstraktan nacin (mozemo da ih zamislimo u vidu stabla). Nacinna koji se logicki veznici i iskazne formule zapisuju moze se zadati konkretnom sintaksom – u vidu niza sim-bola. Uobicajeno je da se negacija zapisuje kao ¬, konjunkcija kao ∧, disjunkcija kao ∨, implikacija kao ⇒ iekvivalencija kao ⇔. U takvom konkretnom zapisu — zapisu u vidu konkretnih nizova simbola, ako su 𝐴 i 𝐵iskazne formule, onda su iskazne formule i (¬𝐴), (𝐴 ∧ 𝐵), (𝐴 ∨ 𝐵), (𝐴 ⇒ 𝐵) i (𝐴 ⇔ 𝐵). Na primer, zapis(𝐴∧⊤) citamo „𝐴 i te“. U ovakvom zapisu, neophodno je koristiti zagrade kako bi se izbegla visesmislenost. Dabi se izbeglo koriscenje velikog broja zagrada, obicno se izostavljaju spoljne zagrade i podrazumeva se sledeciprioritet veznika (od viseg ka nizem): ¬ , ∧ , ∨ , ⇒ , ⇔.

Elemente skupa 𝑃 i logicke konstante zovemo atomickim iskaznim formulama. Literal je iskazna formulakoja je ili atomicka iskazna formula ili negacija atomicke iskazne formule.

Ako su dve iskazne formule 𝐴 i 𝐵 identicne (tj. ako su, zapisane u konkretnoj sintaksi, jednake kao nizovisimbola), onda to zapisujemo 𝐴 = 𝐵, a inace pisemo 𝐴 = 𝐵.

Elementi skupa 𝑃 obicno se oznacavaju malim latinicnim slovima (eventualno sa indeksima). Iskazne formuleobicno se oznacavaju velikim latinicnim slovima (eventualno sa indeksima). Skupovi iskaznih formula obicno seoznacavaju velikim slovima grckog alfabeta (eventualno sa indeksima).

Page 78: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.1. Sintaksa i semantika iskazne logike 78

Primer 7.2. Uslovi iz primera 7.1 mogli bi da se zapisu kao iskazne formule nad skupom iskaznih promen-ljivih 𝑝𝑎1, 𝑝𝑎2, . . . 𝑝𝑐3. Na primer, uslov „na jednom od polja 𝑎1, 𝑎2, 𝑎3 nalazi se dama”, tj. uslov „𝑝𝑎1 ili𝑝𝑎2 ili 𝑝𝑎3“ moze da se zapise kao 𝑝𝑎1 ∨ 𝑝𝑎2 ∨ 𝑝𝑎3. Analogno zapisujemo i preostale uslove:

• 𝑝𝑏1 ∨ 𝑝𝑏2 ∨ 𝑝𝑏3.

• 𝑝𝑐1 ∨ 𝑝𝑐2 ∨ 𝑝𝑐3.

• 𝑝𝑎1 ⇒ ¬𝑝𝑎2.

• 𝑝𝑎1 ⇒ ¬𝑝𝑎3.

• 𝑝𝑎2 ⇒ ¬𝑝𝑎1.

• . . .

• 𝑝𝑐2 ⇒ ¬𝑝𝑏1.

Ako iskazne formule zamisljamo u vidu stabla (ili ih predstavljamo u racunarskom programu u vidu stabla),onda svakom podstablu stabla koje odgovara nekoj iskaznoj formuli takode odgovara iskazna formula. Sve teformule zovemo potformulama formule koja odgovara korenu stabla. Skup potformula jedne formule moze se,preciznije, definisati na sledeci nacin.

Definicija 7.2 (Skup potformula). Skup potformula formule 𝐴 je najmanji skup formula koje zadovoljavajusledece uslove:

• svaka iskazna formula 𝐴 je potformula sama sebi;

• ako je 𝐴 jednako ¬𝐵, onda je svaka potformula formule 𝐵 istovremeno i potformula formule 𝐴. Akoje 𝐴 jednako 𝐵∧𝐶, 𝐵∨𝐶, 𝐵 ⇒ 𝐶 ili 𝐵 ⇔ 𝐶, onda je svaka potformula formule 𝐵 i svaka potformulaformule 𝐶 istovremeno i potformula formule 𝐴.

Primer 7.3. Skup potformula formule (𝑝⇒ 𝑞) ∨ 𝑟 je 𝑝, 𝑞, 𝑟, 𝑝⇒ 𝑞, (𝑝⇒ 𝑞) ∨ 𝑟.

Na razlicite nacine se moze definisati preslikavanje koje svakoj formuli dodeljuje slozenost, na primer —dubinu stabla koje joj odgovara.

Cesto je potrebno jedan deo iskazne formule zameniti nekom drugom iskaznom formulom. Pojam zameneprecizno uvodi naredna definicija.

Definicija 7.3 (Zamena). Rezultat zamene (supstitucije) svih pojavljivanja iskazne formule 𝐶 u iskaznojformuli 𝐴 iskaznom formulom 𝐷 oznacavamo sa 𝐴[𝐶 ↦→ 𝐷]. Ta zamena definise se na sledeci nacin:

• ako za iskazne formule 𝐴 i 𝐶 vazi 𝐴 = 𝐶, onda je 𝐴[𝐶 ↦→ 𝐷] jednako 𝐷;

• ako za iskazne formule 𝐴 i 𝐶 vazi 𝐴 = 𝐶 i 𝐴 je atomicka iskazna formula, onda je 𝐴[𝐶 ↦→ 𝐷] jednako𝐴;

• ako za iskazne formule 𝐴, 𝐵 i 𝐶 vazi 𝐴 = 𝐶 i 𝐴 = (¬𝐵), onda je 𝐴[𝐶 ↦→ 𝐷] = ¬(𝐵[𝐶 ↦→ 𝐷]);

• ako za iskazne formule 𝐴, 𝐵1, 𝐵2 i 𝐶 vazi 𝐴 = 𝐶 i formula 𝐴 jednaka je (𝐵1 ∧ 𝐵2), (𝐵1 ∨ 𝐵2),(𝐵1 ⇒ 𝐵2) ili (𝐵1 ⇔ 𝐵2), onda je formula 𝐴[𝐶 ↦→ 𝐷] jednaka (redom) (𝐵1[𝐶 ↦→ 𝐷])∧ (𝐵2[𝐶 ↦→ 𝐷]),(𝐵1[𝐶 ↦→ 𝐷]) ∨ (𝐵2[𝐶 ↦→ 𝐷]), (𝐵1[𝐶 ↦→ 𝐷])⇒ (𝐵2[𝐶 ↦→ 𝐷]) ili (𝐵1[𝐶 ↦→ 𝐷])⇔ (𝐵2[𝐶 ↦→ 𝐷]).

Ako iskazne formule predstavimo u racunarskom programu u vidu stabla, onda opisanu zamenu mozemoopisati rekurzivnom funkcijom (ciji su bazni slucajevi opisani prvim dvema stavkama definicije). Ta funkcijazamenjuje jedno podstablo formule nekim drugim zadatim stablom.

Page 79: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

79 7. Automatsko rasudivanje u iskaznoj logici

Primer 7.4. Vazi (𝑝 ∧ (𝑞 ⇒ 𝑟)) [𝑞 ↦→ 𝑟] = 𝑝 ∧ (𝑟 ⇒ 𝑟).Vazi (𝑝 ∧ (𝑞 ⇒ 𝑟)) [𝑞 ⇒ 𝑟 ↦→ ¬𝑞 ∨ 𝑟] = 𝑝 ∧ (¬𝑞 ∨ 𝑟).

7.1.2 Semantika iskazne logikeSemantika iskazne logike govori o istinitosnim vrednostima iskazne formula. Istinitosna vrednost iskazne

formule moze biti 0 ili 1 (intuitivno – netacno i tacno).1 Istinitosne vrednosti formula iskazne logike definisu seu skladu sa uobicajenim, svakodnevnim rasudivanjem. Zbog toga, definicija semantike iskazne logike moze dadeluje i suvisno, ali ona je potrebna da bi baratanje formulama moglo da se opise na precizan nacin (pogodan,na primer, za racunarsku obradu).

Formula ⊥ ima istinitosnu vrednost 0, a formula ⊤ ima istinitosnu vrednost 1. Istinitosna vrednost slozenih(neatomickih) formula zavisi samo od istinitosne vrednosti njenih potformula. Dakle, u krajnjoj instanci, isti-nitosna vrednost formule zavisi (samo) od istinitosnih vrednosti iskaznih promenljivih koje se u njoj pojavljuju.Funkcije koje pridruzuju istinitosnu vrednost promenljivim (tj. funkcije 𝑣 iz 𝑃 u 0, 1) zovemo valuacijama.Interpretacija je prosirenje valuacije: svaka valuacija 𝑣 odreduje jednu funkciju 𝐼𝑣 koju zovemo interpretaci-jom za valuaciju 𝑣 i koja pridruzuje (jedinstvene) istinitosne vrednosti formulama (tj. preslikava skup iskaznihformula u skup 0, 1).

Definicija 7.4 (Interpretacija). Interpretacija 𝐼𝑣 za valuaciju 𝑣 definise se na sledeci nacin:

• 𝐼𝑣(⊤) = 1 i 𝐼𝑣(⊥) = 0;

• 𝐼𝑣(𝑝) = 𝑣(𝑝), za svaki element 𝑝 skupa 𝑃 ;

• 𝐼𝑣(¬𝐴) =

1, ako je 𝐼𝑣(𝐴) = 00, inace

• 𝐼𝑣(𝐴 ∧𝐵) =

1, ako je 𝐼𝑣(𝐴) = 1 i 𝐼𝑣(𝐵) = 10, inace

• 𝐼𝑣(𝐴 ∨𝐵) =

0, ako je 𝐼𝑣(𝐴) = 0 i 𝐼𝑣(𝐵) = 01, inace

• 𝐼𝑣(𝐴⇒ 𝐵) =

0, ako je 𝐼𝑣(𝐴) = 1 i 𝐼𝑣(𝐵) = 01, inace

• 𝐼𝑣(𝐴⇔ 𝐵) =

1, ako je 𝐼𝑣(𝐴) = 𝐼𝑣(𝐵)0, inace

Vrednost 𝐼𝑣(𝐴) zovemo istinitosnom vrednoscu iskazne formule 𝐴 u interpretaciji 𝐼𝑣 (ili u valuaciji 𝑣). Akoza valuaciju 𝑣 vazi 𝐼𝑣(𝐴) = 1, onda se za formulu 𝐴 kaze da je tacna u interpretaciji 𝐼𝑣, a inace da je netacnau interpretaciji 𝐼𝑣.

Primer 7.5. Tvrdenje „Ana je zubar i Ana zivi u Beogradu“ moze da se opise kao konjunkcija 𝑝 ∧ 𝑞, gdeiskazna promenljiva 𝑝 odgovara elementarnom iskazu „Ana je zubar“, a iskazna promenljiva 𝑞 odgovaraelementarnom iskazu „Ana zivi u Beogradu“. Moze biti da je Ana zubar i moze biti da Ana nije zubar,tj. istinitosna vrednost promenljive 𝑝 moze biti 0 ili 1. Ukoliko je 𝑣(𝑝) = 0, tj. ukoliko Ana nije zubar, naosnovu definicije semantike, za valuaciju 𝑣 vazi 𝐼𝑣(𝑝) = 0 i, dalje, 𝐼𝑣(𝑝∧ 𝑞) = 0, tj. tvrdenje „Ana je zubari Ana zivi u Beogradu“ nije tacno (bez obzira na istinitosnu vrednost iskaza „Ana zivi u Beogradu“).

Primer 7.6. U primeru 7.2 (koji je nastavak primera 7.1), ako je 𝑣(𝑝𝑎1) = 1 i 𝑣(𝑝𝑎2) = 1, onda za uslov𝑝𝑎1 ⇒ ¬𝑝𝑎2 vazi 𝐼𝑣(𝑝𝑎1 ⇒ ¬𝑝𝑎2) = 0. Ovo govori da ni u jednom resenju ne mogu dame da budu i na polju𝑎1 i na polju 𝑎2.

1Za istinitosne vrednosti namerno se ne uzimaju ⊥ i ⊤, vec 0 i 1, da bi se jasno razlikovali svet sintakse i svet semantike iskaznihformula.

Page 80: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.1. Sintaksa i semantika iskazne logike 80

Definicija 7.5 (Zadovoljivost, valjanost, kontradiktornost, porecivost). Iskazna formula 𝐴 je:

• zadovoljiva, ako postoji valuacija 𝑣 u kojoj je 𝐴 tacna (i tada se kaze da je 𝑣 model za 𝐴);

• valjana ili tautologija, ako je svaka valuacija 𝑣 model za 𝐴 i to zapisujemo |= 𝐴;

• nezadovoljiva ili kontradikcija, ako ne postoji valuacija u kojoj je tacna;

• poreciva, ako postoji valuacija u kojoj nije tacna.

Primer 7.7. Tvrdenje „Ana je zubar ili Ana nije zubar“ moze da se opise kao diskunkcija 𝑝 ∨ ¬𝑝, gdeiskazna promenljiva 𝑝 odgovara elementarnom iskazu „Ana je zubar“. Moze biti da je Ana zubar i moze bitida Ana nije zubar, tj. istinitosna vrednost promenljive 𝑝 moze biti 0 ili 1. To su dve moguce relevantnevaluacije za dato tvrdenje. Ukoliko je 𝑣(𝑝) = 1, tj. ukoliko Ana jeste zubar, na osnovu definicije semantikevazi 𝐼𝑣(𝑝 ∨ ¬𝑝) = 1, a ukoliko je 𝑣(𝑝) = 0, tj. ukoliko Ana nije zubar, na osnovu definicije semantike vazi𝐼𝑣(¬𝑝) = 1 i, dalje, 𝐼𝑣(𝑝 ∨ ¬𝑝) = 1. Dakle, formula 𝑝 ∨ ¬𝑝, tj. tvrdenje „Ana je zubar ili Ana nije zubar“je tautologija.

Primer 7.8. Iskazne formule 𝑝⇒ 𝑝 i 𝑝∨¬𝑝 su tautologije, iskazna formula 𝑝⇒ 𝑞 je zadovoljiva i poreciva,a iskazna formula 𝑝 ∧ ¬𝑝 je kontradikcija.

Primer 7.9. Ako su iskazne formule 𝐴 i 𝐴⇒ 𝐵 tautologije, onda je i 𝐵 tautologija. Zaista, pretpostavimoda su 𝐴 i 𝐴 ⇒ 𝐵 tautologije i da postoji valuacija 𝑣 takva da u interpretaciji 𝐼𝑣 formula 𝐵 nije tacna.Formula 𝐴 je tautologija, pa je tacna i u interpretaciji 𝐼𝑣. Kako je u interpretaciji 𝐼𝑣 formula 𝐴 tacna, aformula 𝐵 netacna, formula 𝐴⇒ 𝐵 u njoj nije tacna, sto protivreci pretpostavci da je 𝐴⇒ 𝐵 tautologija.Dakle, formula 𝐵 je tacna za svaku valuaciju, pa je ona tautologija.

Definicija 7.6 (Zadovoljivost i kontradiktornost skupa formula). Skup iskaznih formula Γ je

• zadovoljiv, ako postoji valuacija 𝑣 u kojoj je svaka formula iz Γ tacna. Za takvu valuaciju 𝑣 kaze seda je model za Γ.

• nezadovoljiv ili kontradiktoran, ako ne postoji valuacija u kojoj je svaka formula iz Γ tacna.

Primer 7.10. Skup iskaznih formula 𝑝 ⇒ 𝑞, 𝑝,¬𝑞 je kontradiktoran (ali nijedan njegov pravi podskupnije kontradiktoran).

Naredna teorema govori da uslov koji resenje nekog problema mora da zadovolji moze da se razmatra nesamo kao skup svih pojedinacnih poduslova, vec i kao konjunkcija formula koje odgovaraju tim poduslovima.

Teorema 7.1. Valuacija 𝑣 je model skupa formula 𝐴1, . . . , 𝐴𝑛 ako i samo ako je 𝑣 model formule𝐴1 ∧ . . . ∧𝐴𝑛.

Pitanja i zadaci

7.1. Da li nad konacnim skupom iskaznih promenljivih ima konacno ili prebrojivo ili neprebrojivo mnogo(sintaksicki) razlicitih iskaznih formula?

7.2. Sta je literal u iskaznoj logici?

7.3. Ako za iskazne formule 𝐴 i 𝐶 vazi 𝐴 = 𝐶, cemu je jednako 𝐴[𝐶 ↦→ 𝐷]?

7.4. Ako za iskazne formule 𝐴 i 𝐶 vazi 𝐴 = 𝐶 i 𝐴 je atomicka formula, cemu je jednako 𝐴[𝐶 ↦→ 𝐷]?

Page 81: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

81 7. Automatsko rasudivanje u iskaznoj logici

7.5. Cemu je jednako (𝑝 ∧ (¬𝑞 ∨ 𝑟))[¬𝑞 ∨ 𝑟 ↦→ 𝑞 ⇒ 𝑟]?

7.6. Kako se definise interpretacija u iskaznoj logici?

7.7. Kada je iskazna formula 𝐴⇒ 𝐵 tacna u interpretaciji 𝐼𝑣?

7.8. Kada je 𝐼𝑣(𝐴⇒ 𝐵) = 0?

7.9. Cemu je jednaka vrednost 𝐼𝑣(𝐴⇔ 𝐵) za valuaciju 𝑣?

7.10. Navesti primer iskazne formule koja je:

• zadovoljiva;

• valjana;

• poreciva;

• kontradikcija;

• zadovoljiva i valjana;

• zadovoljiva i nije valjana;

• zadovoljiva i poreciva;

• zadovoljiva i nije poreciva;

• zadovoljiva i nije kontradikcija;

• valjana i nije poreciva;

• valjana i nije kontradikcija;

• poreciva i nije zadovoljiva;

• poreciva i nije valjana;

• poreciva i kontradikcija;

• poreciva i nije kontradikcija;

• kontradikcija i nije zadovoljiva;

• kontradikcija i nije valjana.

7.11. Ako iskazna formula ima barem jedan model, kakva je onda ona?

7.12. Ako iskazna formula nema nijedan model, kakva je onda ona?

7.13. Ako iskazna formula nije poreciva, kakva je onda ona?

7.14. Ako iskazna formula nije zadovoljiva, kakva je onda ona?

7.15. Ako iskazna formula nije kontradikcija, kakva je onda ona?

7.16. Dokazati sledeca tvrdenja:

• Iskazna formula 𝐴 je valjana ako i samo ako je ¬𝐴 kontradikcija.

• Iskazna formula 𝐴 je zadovoljiva ako i samo ako je ¬𝐴 poreciva.

7.17. Ako je formula ¬𝐹 zadovoljiva, kakva je onda formula 𝐹?

7.18. Ako je iskazna formula valjana, da li je ona sigurno zadovoljiva?Ako je iskazna formula kontradikcija, da li je ona sigurno poreciva?Ako iskazna formula nije zadovoljiva, da li je ona sigurno kontradikcija?Ako iskazna formula nije tautologija, da li je ona sigurno poreciva?

7.19. Da li je formula (¬𝑝 ∨ 𝑞)⇒ (¬𝑞 ∨ 𝑝) tautologija, zadovoljiva, poreciva ili nezadovoljiva?

Page 82: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.2. Logicke posledice i logicki ekvivalentne formule 82

7.20. Da li je formula (¬𝑝 ∧ 𝑝 ∧ ¬𝑟)⇒ (¬𝑞 ∨ 𝑟) tautologija, zadovoljiva, poreciva ili nezadovoljiva?

7.21. Dokazati sledeca tvrdenja:

• Ako su formule 𝐴 ∨𝐵 i ¬𝐴 ∨ 𝐶 tautologije, onda je i 𝐵 ∨ 𝐶 tautologija.

• Ako su formule 𝐴 ∨𝐵, 𝐴⇒ 𝐶, 𝐵 ⇒ 𝐷 tautologije, onda je i 𝐶 ∨𝐷 tautologija.

• Ako su formule ¬𝐴 ∨𝐵 i ¬𝐶 ∨ ¬𝐵 tautologije, onda je i 𝐴⇒ ¬𝐶 tautologija.

• Ako su formule 𝐴⇒ (𝐵 ⇒ 𝐶) i (𝐴∧𝐶)⇒ ¬𝐷 tautologije, onda je i formula (𝐷∧𝐴)⇒ ¬𝐵 tautologija.

7.22. Ako su iskazne formule 𝐴 i 𝐴⇒ 𝐵 tautologije, da li je onda formula 𝐵 tautologija, zadovoljiva, porecivaili kontradikcija?

7.23. Ako su iskazne formule 𝐴 i 𝐴 ⇒ 𝐵 zadovoljive, onda formula 𝐵 nije nuzno zadovoljiva. Konstruisatijedan takav primer (u kojem 𝐵 nije zadovoljiva, a 𝐴 i 𝐴⇒ 𝐵 jesu).

7.2 Logicke posledice i logicki ekvivalentne formule

Cesto je veoma vazno pitanje da li je neki iskaz posledica nekih drugih iskaza. Ovo pitanje moze se opisatiu terminima pojma logicke posledice.

Definicija 7.7 (Logicka posledica i logicka ekvivalencija). Ako je svaki model za skup iskaznih formula Γistovremeno i model za iskaznu formulu 𝐴, onda se kaze da je 𝐴 logicka posledica skupa Γ i pise se Γ |= 𝐴.

Ako je svaki model iskazne formule 𝐴 model i iskazne formule 𝐵 i obratno (tj. ako vazi 𝐴 |= 𝐵 i𝐵 |= 𝐴), onda se kaze se da su formule 𝐴 i 𝐵 logicki ekvivalentne i pise se 𝐴 ≡ 𝐵.

Primer 7.11. Tvrdenje „Boban zivi u Krusevcu“ je logicka posledica skupa tvrdenja „Boban zivi u Beo-gradu ili Boban zivi u Krusevcu“, „Boban ne zivi u Beogradu” . Zaista, ako je valuacija 𝑣 proizvoljanmodel formula „Boban zivi u Beogradu ili Boban zivi u Krusevcu“ i „Boban ne zivi u Beogradu”, na osnovudefinicije semantike, u interpretaciji 𝐼𝑣 mora da je tacan iskaz „Boban zivi u Krusevcu“.

Primer 7.12. Vazi 𝐴,𝐴 ⇒ 𝐵 |= 𝐵. Zaista, ako je valuacija 𝑣 proizvoljan model formula 𝐴 i 𝐴 ⇒ 𝐵,onda kako je 𝐼𝑣(𝐴) = 1, iz 𝐼𝑣(𝐴⇒ 𝐵) = 1 sledi da ne moze da vazi 𝐼𝑣(𝐵) = 0, pa mora da vazi 𝐼𝑣(𝐵) = 1,tj. 𝑣 je model i za 𝐵, sto je i trebalo dokazati.

Ako ne vazi Γ |= 𝐴, onda to zapisujemo Γ |= 𝐴.Ako vazi |= 𝐴, onda je svaka valuacija model za formulu 𝐴, tj. 𝐴 je valjana formula, a vazi i obratno

— ako je 𝐴 valjana formula, onda vazi |= 𝐴. Zato umesto |= 𝐴, pisemo krace |= 𝐴, bas kao sto veczapisujemo valjane formule.

Ako je skup Γ kontradiktoran, onda je proizvoljna formula njegova logicka posledica (naime, ako skup Γnema modela, onda za proizvoljnu formulu 𝐴 vazi da je svaki model za Γ – a takvih nema – istovremeno i modelza 𝐴). Specijalno, svaka formula je logicka posledica skupa ⊥.

Ako je skup Γ konacan, onda umesto 𝐴1, . . . , 𝐴𝑛 |= 𝐵 pisemo krace 𝐴1, . . . , 𝐴𝑛 |= 𝐵. Koristeci teoremu7.1, lako se moze dokazati naredna teorema.

Teorema 7.2. Vazi 𝐴1, . . . , 𝐴𝑛 |= 𝐵 ako i samo ako vazi 𝐴1 ∧ . . . ∧𝐴𝑛 |= 𝐵.

Ako vazi 𝐴 ≡ 𝐵, onda u bilo kojoj valuaciji formule 𝐴 i 𝐵 imaju jednake vrednosti. Tvrdenja oblika 𝐴 ≡ 𝐵zovemo logickim ekvivalencijama. Relacija ≡ je, ocigledno, relacija ekvivalencije nad skupom iskaznih formula.U razmatranju skupova uslova, bilo koji uslov оcigledno moze biti zamenjen nekim njemu logicki ekvivalentnimuslovom jer time nece biti promenjen skup modela celokupnog uslova.

Primer 7.13. Za formule 𝑝𝑎1 ⇒ ¬𝑝𝑎3 i 𝑝𝑎3 ⇒ ¬𝑝𝑎1 iz primera 7.1, moze se pokazati da vazi: 𝑝𝑎1 ⇒

Page 83: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

83 7. Automatsko rasudivanje u iskaznoj logici

¬𝑝𝑎3 ≡ 𝑝𝑎3 ⇒ ¬𝑝𝑎1. To govori da nije potrebno da u skupu uslova postoje obe formule, dovoljno je zadrzatijednu od njih. Isto vazi i za druge analogne parove formula, te je dovoljno razmatrati sledeci skup formula:

𝑝𝑎1 ∨ 𝑝𝑎2 ∨ 𝑝𝑎3, 𝑝𝑏1 ∨ 𝑝𝑏2 ∨ 𝑝𝑏3, 𝑝𝑐1 ∨ 𝑝𝑐2 ∨ 𝑝𝑐3,

𝑝𝑎1 ⇒ ¬𝑝𝑎2, 𝑝𝑎1 ⇒ ¬𝑝𝑎3, 𝑝𝑎2 ⇒ ¬𝑝𝑎3,𝑝𝑏1 ⇒ ¬𝑝𝑏2, 𝑝𝑏1 ⇒ ¬𝑝𝑏3, 𝑝𝑏2 ⇒ ¬𝑝𝑏3,𝑝𝑐1 ⇒ ¬𝑝𝑐2, 𝑝𝑐1 ⇒ ¬𝑝𝑐3, 𝑝𝑐2 ⇒ ¬𝑝𝑐3,𝑝𝑎1 ⇒ ¬𝑝𝑏1, 𝑝𝑎1 ⇒ ¬𝑝𝑐1, 𝑝𝑏1 ⇒ ¬𝑝𝑐1,𝑝𝑎2 ⇒ ¬𝑝𝑏2, 𝑝𝑎2 ⇒ ¬𝑝𝑐2, 𝑝𝑏2 ⇒ ¬𝑝𝑐2,𝑝𝑎3 ⇒ ¬𝑝𝑏3, 𝑝𝑎3 ⇒ ¬𝑝𝑐3, 𝑝𝑏3 ⇒ ¬𝑝𝑐3,𝑝𝑎3 ⇒ ¬𝑝𝑏2, 𝑝𝑎3 ⇒ ¬𝑝𝑐1, 𝑝𝑏2 ⇒ ¬𝑝𝑐1,𝑝𝑎2 ⇒ ¬𝑝𝑏1, 𝑝𝑏3 ⇒ ¬𝑝𝑐2,𝑝𝑎1 ⇒ ¬𝑝𝑏2, 𝑝𝑎1 ⇒ ¬𝑝𝑐3, 𝑝𝑏2 ⇒ ¬𝑝𝑐3,𝑝𝑎2 ⇒ ¬𝑝𝑏3, 𝑝𝑏1 ⇒ ¬𝑝𝑐2.

Primer 7.14. Neke od logickih ekvivalencija (ili, preciznije, neke od shema logickih ekvivalencija) su:

¬¬𝐴 ≡ 𝐴 zakon dvojne negacije𝐴 ∨ ¬𝐴 ≡ ⊤ zakon iskljucenja treceg𝐴 ∧𝐴 ≡ 𝐴 zakon idempotencije za ∧𝐴 ∨𝐴 ≡ 𝐴 zakon idempotencije za ∨𝐴 ∧𝐵 ≡ 𝐵 ∧𝐴 zakon komutativnosti za ∧𝐴 ∨𝐵 ≡ 𝐵 ∨𝐴 zakon komutativnosti za ∨𝐴⇔ 𝐵 ≡ 𝐵 ⇔ 𝐴 zakon komutativnosti za ⇔

𝐴 ∧ (𝐵 ∧ 𝐶) ≡ (𝐴 ∧𝐵) ∧ 𝐶 zakon asocijativnosti za ∧𝐴 ∨ (𝐵 ∨ 𝐶) ≡ (𝐴 ∨𝐵) ∨ 𝐶 zakon asocijativnosti za ∨

𝐴⇔ (𝐵 ⇔ 𝐶) ≡ (𝐴⇔ 𝐵)⇔ 𝐶 zakon asocijativnosti za ⇔𝐴 ∧ (𝐴 ∨𝐵) ≡ 𝐴 zakon apsorpcije𝐴 ∨ (𝐴 ∧𝐵) ≡ 𝐴 zakon apsorpcije𝐴 ∧ (𝐵 ∨ 𝐶) ≡ (𝐴 ∧𝐵) ∨ (𝐴 ∧ 𝐶) zakon distributivnosti ∧ u odnosu na ∨(𝐵 ∨ 𝐶) ∧𝐴 ≡ (𝐵 ∧𝐴) ∨ (𝐶 ∧𝐴) zakon distributivnosti ∧ u odnosu na ∨𝐴 ∨ (𝐵 ∧ 𝐶) ≡ (𝐴 ∨𝐵) ∧ (𝐴 ∨ 𝐶) zakon distributivnosti ∨ u odnosu na ∧(𝐵 ∧ 𝐶) ∨𝐴 ≡ (𝐵 ∨𝐴) ∧ (𝐶 ∨𝐴) zakon distributivnosti ∨ u odnosu na ∧¬(𝐴 ∧𝐵) ≡ ¬𝐴 ∨ ¬𝐵 De Morganov zakon¬(𝐴 ∨𝐵) ≡ ¬𝐴 ∧ ¬𝐵 De Morganov zakon

𝐴 ∧ ⊤ ≡ 𝐴 zakon konjunkcije sa tautologijom𝐴 ∨ ⊤ ≡ ⊤ zakon disjunkcije sa tautologijom𝐴 ∧ ⊥ ≡ ⊥ zakon konjunkcije sa kontradikcijom𝐴 ∨ ⊥ ≡ 𝐴 zakon disjunkcije sa kontradikcijom

Logicke ekvivalencije navedene u primeru 7.14, pokazuju, izmedu ostalog, da su konjunkcija i disjunkcijakomutativni i asocijativni veznici. Zato mozemo smatrati da konjunkcija (i disjunkcija) mogu da povezuju viseod dve formule, pri cemu ne moramo da vodimo racuna o njihovom poretku. Svaki clan uopstene konjunkcijezovemo konjunkt, a svaki clan uopstene disjunkcije zovemo disjunkt. Disjunkciju vise literala (pri cemu njihovporedak nije bitan) zovemo klauza. Klauza je jedinicna ako sadrzi samo jedan literal.

Naglasimo da, na primer, 𝐵 |= 𝐴 i 𝐵 ≡ 𝐴 nisu formule iskazne logike, nego su to formule koje govore oiskaznim formulama, pa ih zato zovemo meta formule (a iskazne formule cine objektne formule, objektni nivo).Naredna teorema povezuje meta i objektni nivo i govori o tome kako ispitivanje da li su neke dve formule logickiekvivalentne i da li je jedna logicka posledica druge moze da se svede na objektni nivo i na problem ispitivanjada li je neka formula tautologija.

Teorema 7.3.Vazi 𝐴 |= 𝐵 ako i samo ako je iskazna formula 𝐴⇒ 𝐵 tautologija.Vazi 𝐴 ≡ 𝐵 ako i samo ako je iskazna formula 𝐴⇔ 𝐵 tautologija.

Page 84: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.2. Logicke posledice i logicki ekvivalentne formule 84

Na osnovu prethodne dve teoreme sledi da vazi 𝐴1, . . . , 𝐴𝑛 |= 𝐵 ako i samo ako je formula 𝐴1∧ . . .∧𝐴𝑛 ⇒ 𝐵tautologija.

Primer 7.15. Ako vazi „kisa pada“ i ”ako kisa pada, onda ce mec biti otkazan“, onda vazi i „mec ce bitiotkazan“. Naime, iskaz „mec ce biti otkazan“ je logicka posledica skupa iskaza „kisa pada“, „ako kisa pada,onda ce mec biti otkazan“ ako i samo ako je formula

„kisa pada“ ∧ „ako kisa pada, onda ce mec biti otkazan” ⇒ „mec ce biti otkazan“tautologija (sto jeste ispunjeno).

Vec je receno da u razmatranju skupova uslova, svaki uslov moze biti zamenjen nekim njemu logicki ekviva-lentnim uslovom (i time nece biti promenjen skup modela celokupnog uslova). Naredna teorema tvrdi i sledece:ako se u formuli 𝐴 neka njena potformula zameni njoj logicki ekvivalentnom formulom, bice dobijena formulakoja je logicki ekvivalentna formuli 𝐴. Ova teorema opravdava transformisanje iskazne formule u neki oblikpogodan za, na primer, ispitivanje zadovoljivosti.

Teorema 7.4 (Teorema o zameni). Ako je 𝐶 ≡ 𝐷, onda je 𝐴[𝐶 ↦→ 𝐷] ≡ 𝐴.

Primer 7.16. Kako je 𝑞 ⇒ 𝑟 ≡ ¬𝑞 ∨ 𝑟, vazi (𝑝 ∧ (𝑞 ⇒ 𝑟))[𝑞 ⇒ 𝑟 ↦→ ¬𝑞 ∨ 𝑟] = 𝑝 ∧ (¬𝑞 ∨ 𝑟) ≡ 𝑝 ∧ (𝑞 ⇒ 𝑟).

Primer 7.17. Kako je ¬(¬𝑝∧¬𝑞) ≡ 𝑝∨𝑞, vazi da su formule ¬(¬𝑝∧¬𝑞)∨𝑟 i 𝑝∨𝑞∨𝑟 logicki ekvivalentne.Odatle dalje sledi da se u C programu red

if (!(!a && !b) || c)moze zameniti sledecim redom:

if (a || b || c)Primetimo da zagrade oko izraza a || b nisu neophodne jer je disjunkcija asocijativni veznik.

Pitanja i zadaci

7.24. Kada za iskaznu formulu 𝐴 kazemo da je logicka posledica skupa formula Γ?

7.25. Da li nad konacnim skupom iskaznih promenljivih ima konacno ili prebrojivo ili neprebrojivo mnogoiskaznih formula od kojih nikoje dve nisu logicki ekvivalentne?

7.26. Koliko ima klauza duzine 𝑘 nad skupom od 𝑛 iskaznih promenljivih

• ako je dozvoljeno da se u klauzi pojavljuje i literal i njegova negacija?

• ako nije dozvoljeno da se u klauzi pojavljuje i literal i njegova negacija?

(Smatra se da se u klauzi ne pojavljuju logicke konstante niti da se ponavlja isti literal, klauze se smatrajuistim ako se razlikuju samo u poretku literala koje sadrze).

7.27. Kada kazemo da su iskazne formule 𝐴 i 𝐵 logicki ekvivalentne?

7.28. Kako se zapisuje da su formule 𝐴 i 𝐵 logicki ekvivalentne?

7.29. Da li je 𝐴 ≡ 𝐵 formula ili meta-formula? Da li je 𝐴 ⇔ 𝐵 formula ili meta-formula? Kakva je vezaizmedu 𝐴 ≡ 𝐵 i 𝐴⇔ 𝐵?

7.30. Pokazati da iskazne formule 𝑝⇒ (𝑞 ⇒ 𝑟) i (𝑝⇒ 𝑞)⇒ 𝑟 nisu logicki ekvivalentne.

7.31. Navesti teoremu o zameni za iskaznu logiku.

7.32. Dokazati da iz 𝐴 ≡ 𝐴[𝐶 ↦→ 𝐷] ne sledi 𝐶 ≡ 𝐷.

7.33. Dokazati da vazi 𝐴1, 𝐴2, . . . , 𝐴𝑛 |= 𝐵 ako i samo ako |= (𝐴1 ∧𝐴2 ∧ . . . ∧𝐴𝑛)⇒ 𝐵.

7.34. Dokazati da vazi Γ, 𝐴 |= 𝐵 ako i samo ako Γ |= 𝐴⇒ 𝐵.

Page 85: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

85 7. Automatsko rasudivanje u iskaznoj logici

7.35. Dokazati sledeca tvrdenja (Γ i Δ su skupovi iskaznih formula, 𝐴 je iskazna formula):

• Ako je Γ zadovoljiv i Δ ⊂ Γ, onda je Δ zadovoljiv.

• Ako je Γ zadovoljiv i 𝐴 valjana, onda je Γ ∪ 𝐴 zadovoljiv.

• Ako je Γ kontradiktoran i Γ ⊂ Δ, onda je Δ kontradiktoran.

• Ako je Γ kontradiktoran i 𝐴 valjana, onda je Γ ∖ 𝐴 kontradiktoran.

7.36. Dokazati da je iskazna logika je monotona, tj. dokazati da prosirivanjem skupa pretpostavki ne moze dase izgubi neka posledica: ako za skupove formula Γ i Δ vazi Γ ⊂ Δ i Γ |= 𝐴, onda je Δ |= 𝐴.

7.37. Ako vazi Γ |= 𝐴, kakav treba da bude odnos izmedu skupova Γ i Δ da bi vazilo i Δ |= 𝐴?

7.38. Ako je 𝐴1 ≡ 𝐴2 i 𝐵1 ≡ 𝐵2, dokazati da vazi i :

• ¬𝐴1 ≡ ¬𝐴2

• 𝐴1 ∧𝐵1 ≡ 𝐴2 ∧𝐵2

• 𝐴1 ∨𝐵1 ≡ 𝐴2 ∨𝐵2

• 𝐴1 ⇒ 𝐵1 ≡ 𝐴2 ⇒ 𝐵2

• 𝐴1 ⇔ 𝐵1 ≡ 𝐴2 ⇔ 𝐵2.

7.39. Ako je iskazna formula 𝐴 tautologija koja sadrzi iskazna slova 𝑝1, 𝑝2, . . . , 𝑝𝑛 i ako su 𝐴1, 𝐴2, . . . ,𝐴𝑛 proizvoljne iskazne formule, onda je iskazna formula 𝐵 = 𝐴[𝑝1 ↦→ 𝐴1, 𝑝2 ↦→ 𝐴2, . . . , 𝑝𝑛 ↦→ 𝐴𝑛] takodetautologija.

7.3 Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici

U prakticnim primenama, onda kada je neki cilj formulisan na jeziku iskazne logike, centralni problem postajeispitivanje da li je neka iskazna formula tautologija, da li je zadovoljiva i slicno. Pocetno pitanje je da li su tiproblemi uopste odlucivi, tj. da li postoje algoritmi koji uvek mogu da daju odgovor na njih. Na primer, pitanjeje da li postoji algoritam koji za svaku formulu koja je tautologija moze da utvrdi da jeste tautologija, a za svakuformulu koja nije tautologija moze da utvrdi da nije tautologija. Jednostavno se, kao sto je pokazano u narednompoglavlju, pokazuje da takav algoritam postoji, pa je problem ispitivanja tautologicnosti odluciv. Dodatno,odlucivi su i problemi ispitivanja zadovoljivosti, porecivosti i kontradiktornosti. Stavise, ovi problemi su bliskopovezani i bilo koja tri mogu se lako svesti na cetvrti. To znaci da je dovoljno da imamo efikasan algoritam zajedan od ova cetiri problema. U nastavku cemo se fokusirati na resavanje problema zadovoljivosti. Algoritamza ispitivanje zadovoljivosti onda mozemo iskoristiti i za preostala tri problema: formula 𝐴 je tautologija akko¬𝐴 nije zadovoljiva, 𝐴 je poreciva akko je ¬𝐴 zadovoljiva, a 𝐴 je kontradikcija akko 𝐴 nije zadovoljiva.

7.3.1 Istinitosne tablice i odlucivost problema valjanosti i zadovoljivostiNa osnovu definicije interpretacije, moze se konstruisati istinitosna tablica za proizvoljnu iskaznu formulu.

Istinitosne tablice pogodne su za ispitivanje i valjanosti i zadovoljivosti i nezadovoljivosti i porecivosti. Uistinitosnoj tablici za neku formulu, svakoj vrsti odgovara jedna valuacija iskaznih slova koja se pojavljujuu toj formuli. Svakoj koloni odgovara jedna potformula te formule. Ukoliko iskazna formula 𝐴 sadrzi iskaznepromenljive 𝑝1, 𝑝2, . . ., 𝑝𝑛, onda istinitosna tablica treba da sadrzi sve moguce valuacije za ovaj skup promenljivih(valuacije za druge promenljive nisu relevantne). Takvih valuacija ima 2𝑛. U zavisnosti od vrednosti iskaznihpromenljivih, izracunavaju se vrednosti potformula razmatrane iskazne formule, sve do same te formule. Akosu u koloni koja odgovara samoj iskaznoj formuli sve vrednosti jednake 1, onda je formula tautologija. Akoje bar jedna vrednost jednaka 1, formula je zadovoljiva. Ako je bar jedna vrednost jednaka 0, formula jeporeciva. Ako su sve vrednosti jednake 0, formula je kontradikcija. Ovo pokazuje da su problemi ispitivanjavaljanosti, zadovoljivosti, nezadovoljivosti i porecivosti odlucivi problemi, tj. postoje algoritmi koji ih moguresiti. Medutim, opisani algoritam, zasnovan na istinitosnim tablicama, naivan je i potpuno neupotrebljiv zarealne probleme. Za resavanje teskih realnih problema potrebno je razviti znatno efikasnije algoritme.

Page 86: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.3. Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici 86

Primer 7.18. Iskaznoj formuli (¬𝑞 ⇒ ¬𝑝)⇒ (𝑝⇒ 𝑞) odgovara sledeca istinitosna tablica:

𝑝 𝑞 ¬𝑞 ¬𝑝 ¬𝑞 ⇒ ¬𝑝 𝑝⇒ 𝑞 (¬𝑞 ⇒ ¬𝑝)⇒ (𝑝⇒ 𝑞)0 0 1 1 1 1 10 1 0 1 1 1 11 0 1 0 0 0 11 1 0 0 1 1 1

Dakle, data formula je zadovoljiva i valjana. Ona nije poreciva i nije kontradikcija.

Primer 7.19. U primeru 7.1, za tablu dimenzije 3× 3, razmatra se skup formula nad 9 iskaznih promen-ljivih, te bi odgovarajuca istinitosna tablica imala 29 = 512 vrsta.

7.3.2 Normalne forme i potpuni skupovi veznikaNapredne procedure za ispitivanje valjanosti ili zadovoljivosti se, zbog jednostavnosti i vece efikasnosti,

obicno definisu samo za neke specificne vrste iskaznih formula, za formule koje su u nekoj specificnoj formi.

Definicija 7.8 (Konjunktivna normalna forma). Iskazna formula je u konjunktivnoj normalnoj formi(knf) ako je oblika

𝐴1 ∧𝐴2 ∧ . . . ∧𝐴𝑛

pri cemu je svaka od formula 𝐴𝑖 (1 ≤ 𝑖 ≤ 𝑛) klauza (tj. disjunkcija literala).

Definicija 7.9 (Disjunktivna normalna forma). Iskazna formula je u disjunktivnoj normalnoj formi (dnf)ako je oblika

𝐴1 ∨𝐴2 ∨ . . . ∨𝐴𝑛

pri cemu je svaka od formula 𝐴𝑖 (1 ≤ 𝑖 ≤ 𝑛) konjunkcija literala.

Ako je iskazna formula 𝐴 logicki ekvivalentna iskaznoj formuli 𝐵 i iskazna formula 𝐵 je u konjunktivnoj(disjunktivnoj) normalnoj formi, onda se kaze da je formula 𝐵 konjunktivna (disjunktivna) normalna formaformule 𝐴. Jedna iskazna formula moze da ima vise razlicitih konjunktivnih (disjunktivnih) normalnih formi(na primer, i formula (𝑝∨ 𝑟)∧ (𝑞 ∨ 𝑟)∧ (𝑝∨ 𝑠)∧ (𝑞 ∨ 𝑠) i formula (𝑠∨ 𝑞)∧ (𝑝∨ 𝑟)∧ (𝑞 ∨ 𝑟)∧ (𝑝∨ 𝑠)∧ (𝑝∨¬𝑝) sukonjunktivne normalne forme formule (𝑝∧𝑞)∨ (𝑟∧𝑠)). Slicno, jedna formula koja je u konjunktivnoj normalnojformi moze biti konjunktivna normalna forma za vise iskaznih formula.

Koriscenjem pogodnih ekvivalencija, svaka iskazna formula moze biti transformisana u svoju konjunktivnu(disjunktivnu) normalnu formu. Transformisanje iskazne formule u konjunktivnu normalnu formu moze bitiopisano algoritmom prikazanim na slici 7.2. Kada se govori o „primeni neke logicke ekvivalencije“ misli se nakoriscenje logicke ekvivalencije na osnovu teoreme o zameni (teorema 7.4).

Zaustavljanje algoritma KNF moze se dokazati koriscenjem pogodno odabrane mere formula.2 Za nekepojedinacne korake, moze se dokazati da se zaustavljaju koriscenjem jednostavnih mera — na primer, za prvikorak algoritma, kao mera se moze koristiti broj veznika⇔ u formuli. Tvrdenje 𝐹 ≡ 𝐹 ′ sledi na osnovu teoremeo zameni (teorema 7.4) i cinjenice da se u algoritmu koriste samo logicke ekvivalencije.

2 U cilju dokazivanja zaustavljanja postupka transformisanja formule u konjunktivnu normalnu formu definise se preslikavanje𝜏 iz skupa iskaznih formula u skup prirodnih brojeva:

𝜏(𝐴) = 2 (gde je 𝐴 atomicka formula)

𝜏(¬𝐴) = 2𝜏(𝐴)

𝜏(𝐴 ∧𝐵) = 𝜏(𝐴) · 𝜏(𝐵)

𝜏(𝐴 ∨𝐵) = 𝜏(𝐴) + 𝜏(𝐵) + 1

Moze se jednostavno dokazati da je vrednost 𝜏(𝐴′) uvek manja od 𝜏(𝐴) ako je formula 𝐴′ dobijena primenom nekog koraka algoritmana formulu 𝐴 (jer, na primer, vazi da je 𝜏(¬𝐴 ∧ ¬𝐵) = 2𝜏(𝐴)+𝜏(𝐵) manje od 𝜏(¬(𝐴 ∨ 𝐵)) = 2𝜏(𝐴)+𝜏(𝐵)+1). Odatle sledi da sepostupak transformisanja proizvoljne formule u konjunktivnu normalnu formu zaustavlja za proizvoljnu ulaznu formulu 𝐴 (jer nepostoji beskonacan strogo opadajuci niz prirodnih brojeva ciji je prvi element 𝜏(𝐴)).

Page 87: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

87 7. Automatsko rasudivanje u iskaznoj logici

Algoritam: KNF

Ulaz: Iskazna formula 𝐹

Izlaz: Konjunktivna normalna forma formule 𝐹

1: dok god je to moguce radi2: primeni logicku ekvivalenciju (eliminisi veznik ⇔):

𝐴⇔ 𝐵 ≡ (𝐴⇒ 𝐵) ∧ (𝐵 ⇒ 𝐴).

3: dok god je to moguce radi4: primeni logicku ekvivalenciju (eliminisi veznik ⇒):

𝐴⇒ 𝐵 ≡ ¬𝐴 ∨𝐵.

5: dok god je to moguce radi6: primeni neku od logickih ekvivalencija:

¬(𝐴 ∧𝐵) ≡ ¬𝐴 ∨ ¬𝐵¬(𝐴 ∨𝐵) ≡ ¬𝐴 ∧ ¬𝐵.

7: dok god je to moguce radi8: primeni logicku ekvivalenciju (eliminisi visestruke veznike ¬):

¬¬𝐴 ≡ 𝐴.

9: dok god je to moguce radi10: primeni neku od logickih ekvivalencija:

𝐴 ∨ (𝐵 ∧ 𝐶) ≡ (𝐴 ∨𝐵) ∧ (𝐴 ∨ 𝐶)(𝐵 ∧ 𝐶) ∨𝐴 ≡ (𝐵 ∨𝐴) ∧ (𝐶 ∨𝐴).

Slika 7.2: Algoritam KNF

Teorema 7.5 (Korektnost algoritma KNF). Algoritam KNF se zaustavlja i ima sledece svojstvo: ako je 𝐹ulazna formula, onda je izlazna formula 𝐹 ′ u konjunktivnoj normalnoj formi i logicki je ekvivalentna sa 𝐹 .

Transformisanje formule u disjunktivnu normalnu formu opisuje se algoritmom analognim algoritmu KNF.Algoritmom KNF proizvoljna iskazna formula moze se transformisati u formulu koja ne sadrzi veznike ⇔

i ⇒. Dobijena formula sadrzace, dakle, samo veznike ¬, ∧ i ∨. Kaze se da je skup veznika ¬,∧,∨ potpun,jer je svaka iskazna formula logicki ekvivalentna nekoj iskaznoj formuli nad samo ova tri veznika i bez logickihkonstanti ⊤ i ⊥. Stavise, zahvaljujuci logickoj ekvivalenciji 𝐴 ∨ 𝐵 ≡ ¬(¬𝐴 ∧ ¬𝐵), moze se dokazati i da jeskup ¬,∧ potpun. Analogno se moze dokazati da je potpun i skup ¬,∨. Postoje i (tacno) dva jednoclanapotpuna skupa vezinka: ↓ i ↑, pri cemu su veznici ↓ (nili ili Lukasijeviceva funkcija) i ↑ (ni ili Seferovafunkcija) definisani na sledeci nacin: 𝐴 ↓ 𝐵 je jednako ¬(𝐴∨𝐵), a 𝐴 ↑ 𝐵 je jednako ¬(𝐴∧𝐵). Lako se pokazujeda je ¬𝐴 ≡ (𝐴 ↓ 𝐴) i 𝐴 ∧𝐵 ≡ ((𝐴 ↓ 𝐴) ↓ (𝐵 ↓ 𝐵)), pa kako je skup veznika ¬,∧ potpun, sledi da je potpuni skup ↓. Analogno vazi i za skup ↑.

Transformisanje formule u njenu konjunktivnu normalnu formu moze da da formulu cija je slozenost ekspo-nencijalna u odnosu na slozenost polazne formule. Na primer, transformisanjem formule

(𝐴1 ∧𝐵1) ∨ (𝐴2 ∧𝐵2) ∨ . . . ∨ (𝐴𝑛 ∧𝐵𝑛)

(koja ima 𝑛 disjunkata) u njenu konjunktivnu normalnu formu, dobija se formula koja ima 2𝑛 konjunkta.Zbog potencijalno ogromne izlazne formule, umesto algoritma KNF, u praksi se najcesce koristi Cejtinovo

kodiranje – koje je linearno i u smislu vremena i u smislu prostora, ali uvodi dodatne promenljive, te zato rezul-tujuca formula nije logicki ekvivalentna polaznoj vec samo slabo ekvivalentna: pocetna formula je zadovoljivaako i samo ako je zadovoljiva rezultujuca formula. To je za primene obicno dovoljno dobro i, stavise, iz modelaza rezultujucu formulu (ukoliko oni postoje) mogu se rekonstruisati modeli za polaznu formulu. Smatracemoda su iz formule, koriscenjem pogodnih logickih ekvivalencija, eliminisane sve konstante ⊤ i ⊥. Cejtinova trans-formacija moze se opisati na sledeci nacin: Neka 𝑆𝑢𝑏(𝐹 ) oznacava skup svih potformula formule 𝐹 . Za svakuformulu 𝐴 iz 𝑆𝑢𝑏(𝐹 ) koja nije iskazna promenljiva, uvodi se nova iskazna promenljiva (definiciona promenljiva)𝑝𝐴. Ako je 𝐴 iskazna promenljiva, onda 𝑝𝐴 oznacava samu formulu 𝐴 (i tada se 𝑝𝐴 naziva osnovna promenljiva).Formula 𝐹 se najpre transformise u sledecu formulu (gde ⋆ oznacava binarni iskazni veznik iz skupa binarnihveznika koji se pojavljuju u 𝐹 ):

Page 88: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.3. Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici 88

vrsta formule rezultujuce klauze𝐴⇔ (¬𝐵) (𝑝𝐴 ∨ 𝑝𝐵) ∧ (¬𝑝𝐴 ∨ ¬𝑝𝐵)𝐴⇔ (𝐵 ∧ 𝐶) (𝑝𝐴 ∨ ¬𝑝𝐵 ∨ ¬𝑝𝐶) ∧ (¬𝑝𝐴 ∨ 𝑝𝐵) ∧ (¬𝑝𝐴 ∨ 𝑝𝐶)𝐴⇔ (𝐵 ∨ 𝐶) (¬𝑝𝐴 ∨ 𝑝𝐵 ∨ 𝑝𝐶) ∧ (𝑝𝐴 ∨ ¬𝑝𝐵) ∧ (𝑝𝐴 ∨ ¬𝑝𝐶)𝐴⇔ (𝐵 ⇒ 𝐶) (¬𝑝𝐴 ∨ ¬𝑝𝐵 ∨ 𝑝𝐶) ∧ (𝑝𝐴 ∨ 𝑝𝐵) ∧ (𝑝𝐴 ∨ ¬𝑝𝐶)𝐴⇔ (𝐵 ⇔ 𝐶) (¬𝑝𝐴 ∨ ¬𝑝𝐵 ∨ 𝑝𝐶) ∧ (¬𝑝𝐴 ∨ 𝑝𝐵 ∨ ¬𝑝𝐶)∧

(𝑝𝐴 ∨ 𝑝𝐵 ∨ 𝑝𝐶) ∧ (𝑝𝐴 ∨ ¬𝑝𝐵 ∨ ¬𝑝𝐶)

Tabela 7.1: Pravila za Cejtinovu transformaciju

𝑝𝐹 ∧⋀

𝐴∈𝑆𝑢𝑏(𝐹 )𝐴=𝐵⋆𝐶

(𝑝𝐴 ⇔ (𝑝𝐵 ⋆ 𝑝𝐶)) ∧⋀

𝐴∈𝑆𝑢𝑏(𝐹 )𝐴=¬𝐵

(𝑝𝐴 ⇔ ¬𝑝𝐵)

Lako se moze dokazati da je navedena formula slabo ekvivalentna sa formulom 𝐹 . Na kraju, navedenaformula se trivijalno transformise u knf oblik primenom pravila iz tabele 7.1. Svaki konjunkt se transformiseu knf formulu sa najvise cetiri klauze, od kojih svaka ima najvise tri literala. Dakle, ova transformacija dajeformulu cija velicina je linearna u odnosu na velicinu ulazne formule.

Primer 7.20. Data je iskazna formula (𝑝∧(𝑞∧𝑟))∨((𝑞∧𝑟)∧¬𝑝). Definicione promenljive 𝑝4, 𝑝5, 𝑝6, 𝑝7, 𝑝8uvode se na sledeci nacin:

𝑝6⏞ ⏟ (𝑝 ∧ (𝑞 ∧ 𝑟)⏟ ⏞

𝑝4

)∨

𝑝7⏞ ⏟ ((𝑞 ∧ 𝑟)⏟ ⏞

𝑝4

∧ ¬𝑝⏟ ⏞ 𝑝5

)

⏟ ⏞ 𝑝8

Meduoblik za Cejtinovu formu je onda:

𝑝8 ∧ (𝑝8 ⇔ (𝑝6 ∨ 𝑝7)) ∧ (𝑝6 ⇔ (𝑝 ∧ 𝑝4)) ∧ (𝑝7 ⇔ (𝑝4 ∧ 𝑝5)) ∧ (𝑝4 ⇔ (𝑞 ∧ 𝑟)) ∧ (𝑝5 ⇔ ¬𝑝))

Konacno, izlazna knf formula je:𝑝8 ∧(¬𝑝8 ∨ 𝑝6 ∨ 𝑝7) ∧ (𝑝8 ∨ ¬𝑝6) ∧ (𝑝8 ∨ ¬𝑝7) ∧(𝑝6 ∨ ¬𝑝 ∨ ¬𝑝4) ∧ (¬𝑝6 ∨ 𝑝) ∧ (¬𝑝6 ∨ 𝑝4) ∧(𝑝7 ∨ ¬𝑝4 ∨ ¬𝑝5) ∧ (¬𝑝7 ∨ 𝑝4) ∧ (¬𝑝7 ∨ 𝑝5) ∧(𝑝4 ∨ ¬𝑞 ∨ ¬𝑟) ∧ (¬𝑝4 ∨ 𝑞) ∧ (¬𝑝4 ∨ 𝑟) ∧(𝑝5 ∨ 𝑝) ∧ (¬𝑝5 ∨ ¬𝑝)

Problem sa Cejtinovom transformacijom je u tome sto ona uvodi mnogo novih promenljivih. Postoje razno-vrsne tehnike za smanjivanje broja promenljivih i broja klauza.

7.3.3 Problem SAT i DPLL proceduraZa svaku iskaznu formulu postoji njena konjunktivna normalna forma i vecina primena iskazne logike svodi

se na ispitivanje zadovoljivosti neke formule koja je u tom, knf obliku.Problem ispitivanja zadovoljivosti date iskazne formule u knf obliku oznacava se sa sat (od engleskog

satisfiability problem — problem zadovoljivosti). Programi koji resavaju instance sat problema zovu se satresavaci. sat problem je np-kompletan i on ima ogroman i teorijski i prakticni znacaj. Problem ispitivanjanezadovoljivosti date iskazne formule u knf obliku je co-np-kompletan.3

S obzirom na to da se jos uvek ne zna da li su klase p i np problema jednake, to znaci da se jos uvek nezna da li postoji algoritam za ispitivanje zadovoljivosti koji je polinomske slozenosti.4 Kako je opste uverenje

3Problem odlucivanja 𝒳 je komplementan problemu odlucivanja 𝒴 ako za svaku instancu za koju problem 𝒴 daje odgovor „da“,problem 𝒳 daje odgovor „ne“. Problem odlucivanja 𝒳 pripada klasi co-np ako njemu komplementan problem pripada klasi np. Naprimer, problem zadovoljivosti za iskazne formule u knf obliku pripada klasi np, pa problem nezadovoljivosti za iskazne formule uknf obliku pripada klasi co-np. Nije poznato da li su klase np i co-np jednake. Problem koji pripada klasi co-np je co-np-kompletanako se svaki problem iz klase co-np moze svesti na njega u polinomskom vremenu.

4Kada se govori o klasama slozenosti, obicno se podrazumeva da se slozenost algoritma izrazava u terminima broja bitovapotrebnih za zapisivanje ulaza.

Page 89: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

89 7. Automatsko rasudivanje u iskaznoj logici

da su klase problema p i np razlicite, veruje se i da ne postoji algoritam polinomske slozenosti za resavanje satproblema.

Problem ispitivanja zadovoljivosti formula u dnf obliku sustinski je drugaciji od ispitivanja zadovoljivostiformula u knf obliku. Drugi je np-kompletan, a prvi je trivijalan (dovoljno je razmatrati zadovoljivost disjunkatapojedinacno, a to se svodi na provere da li u disjunktu postoji logicka konstanta ⊥ ili literal i njegova negacija)i pripada klasi p (podrazumeva se slozenost u terminima broja bitova potrebnih za zapis ulazne formule). Ipak,svodenje problema sat na problem ispitivanja zadovoljivosti dnf formule nije, u opstem slucaju, razuman put zaresavanje problema sat, zbog kompleksnosti same transformacije, na primer, formula koje su vec u knf oblikuu dnf oblik. Dodajmo da problem ispitivanja tautologicnosti formule u knf obliku pripada klasi p (dovoljnoje razmatrati tautologicnost konjunkata pojedinacno, a to se svodi na provere da li u konjunktu postoji logickakonstanta ⊤ ili literal i njegova negacija), a da je problem ispitivanja tautologicnosti formule u dnf oblikuco-np-kompletan problem.

Dejvis–Patnam–Logman–Lavlendova ili DPLL procedura5 je procedura za ispitivanje zadovoljivosti iskaznihformula u knf obliku, to jest, procedura za resavanje instanci sat problema. Ulazna formula je konjunkcijaklauza. Pri tome (kako su konjunkcija i disjunkcija komutativne i asocijativne) nije bitan poredak tih klauza nitije u bilo kojoj od tih klauza bitan poredak literala, te se ulazna formula moze smatrati skupom (ili, preciznije,multiskupom6) klauza, od kojih se svaka moze smatrati skupom (ili, preciznije, multiskupom) literala. Ipak,radi odredenosti rada algoritma, smatracemo da je skup (odnosno multiskup) klauza ureden.

U proceduri se podrazumevaju sledece konvencije:

• prazan skup klauza je zadovoljiv;

• klauza koja ne sadrzi nijedan literal (zvacemo je prazna klauza) je nezadovoljiva i formula koja sadrzipraznu klauzu je nezadovoljiva.

DPLL procedura prikazana je na slici 7.3, a njena svojstva daje teorema 7.6.

Teorema 7.6 (Korektnost DPLL procedure). Za svaku iskaznu formulu DPLL procedura se zaustavlja ivraca odgovor DA ako i samo ako je polazna formula zadovoljiva.

Primer 7.21. Formula iz primera 7.13 trivijalno se moze transformisati u knf oblik i na nju se mozeprimeniti DPLL procedura. Prvo pravilo koje je primenljivo je split i moze da se primeni, na primer,na promenljivu 𝑝𝑎1. U prvoj grani koja se razmatra 𝑝𝑎1 se zamenjuje sa ⊤ (sto odgovara pridruzivanjuvrednosti tacno) i u narednim koracima se, primenom pravila unit propagation promenljive 𝑝𝑎2, 𝑝𝑎3, 𝑝𝑏1,𝑝𝑐1, 𝑝𝑏2, 𝑝𝑐3 zamenjuju sa ⊥. Zatim se promenljive 𝑝𝑏3 i 𝑝𝑐2 zamenjuju sa ⊤, nakon cega klauza ¬𝑝𝑏2∨¬𝑝𝑐3postaje prazna. Slicno se desava i u grani u kojoj se 𝑝𝑎1 zamenjuje sa ⊥, te procedura vraca odgovor 𝑁𝐸,sto znaci da ne postoji resenje problema 𝑛 dama za 𝑛 = 3.

DPLL procedura je u najgorem slucaju eksponencijalne vremenske slozenosti po broju iskaznih promenljivihu formuli, usled rekurzivne primene split pravila. Eksponencijalne slozenosti su i svi drugi do sada poznatialgoritmi za ispitivanje zadovoljivosti. Ipak, svi ti algoritmi su znatno efikasniji od metode istinitosnih tablica.

DPLL procedura moze se razmatrati kao algoritam pretrage potpunog stabla valuacija promenljivih kojeucestvuju u formuli. Koraci algoritma omogucavaju da se ne pretrazuje nuzno citavo stablo. Heuristike kojeodreduju nacin na koji se primenjuje pravilo split usmeravaju pretragu i mogu bitno da uticu na efikasnostpretrage. Na primer, izbor iskaznog slova u pravilu split veoma je vazan. Neke varijante ovog pravila su da sebira iskazno slovo sa najvise pojavljivanja u tekucoj formuli, da se bira neko od iskaznih slova iz najkrace klauzeitd. Posto se ispituje da li postoji valuacija u kojoj su sve klauze formule tacne, pohlepni algoritam bi mogaoda za split promenljivu bira, na primer, onu koja cini najveci broj klauza tacnim u tekucoj parcijalnoj valuaciji.Ovakva heuristika, kao ni druge slicne, ne garantuje optimalnost procesa pretrage.

Primer 7.22. Neka je potrebno ispitati zadovoljivost formule date klauzama:

5Prva verzija procedure ciji su autori Dejvis i Patnam, unapredena je dve godine kasnije u radu Dejvisa, Logmana i Lavlenda,pa otuda naziv DPLL.

6 Neformalno, multiskup je skup u kojem se elementi mogu pojavljivati vise puta.

Page 90: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.3. Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici 90

Algoritam: DPLL

Ulaz: Multiskup klauza 𝐷 (𝐷 = 𝐶1, 𝐶2, . . . , 𝐶𝑛)Izlaz: DA, ako je multiskup 𝐷 zadovoljiv, NE, inace;

1: ako 𝐷 je prazan onda2: vrati DA;

3: zameni sve literale ¬⊥ sa ⊤ i zameni sve literale ¬⊤ sa ⊥;

4: obrisi sve literale jednake ⊥;

5: ako 𝐷 sadrzi praznu klauzu onda6: vrati NE;

7: Korak tautology:8: ako neka klauza 𝐶𝑖 sadrzi ⊤ ili sadrzi neki literal i njegovu negaciju onda9: vrati vrednost koju vraca DPLL(𝐷 ∖ 𝐶𝑖);

10: Korak unit propagation:11: ako neka klauza je jedinicna i jednaka nekom iskaznom slovu 𝑝 onda12: vrati vrednost koju vraca DPLL(𝐷[𝑝 ↦→ ⊤]);13: ako neka klauza je jedinicna i jednaka ¬𝑝, za neko iskazno slovo 𝑝 onda14: vrati vrednost koju vraca DPLL(𝐷[𝑝 ↦→ ⊥]);

15: Korak pure literal:16: ako 𝐷 sadrzi literal 𝑝 (gde je 𝑝 neko iskazno slovo), ali ne i ¬𝑝 onda17: vrati vrednost koju vraca DPLL(𝐷[𝑝 ↦→ ⊤]) ;

18: ako 𝐷 sadrzi literal ¬𝑝 (gde je 𝑝 neko iskazno slovo), ali ne i 𝑝 onda19: vrati vrednost koju vraca DPLL(𝐷[𝑝 ↦→ ⊥]);

20: Korak split:21: ako DPLL(𝐷[𝑝 ↦→ ⊤]) (gde je 𝑝 jedno od iskaznih slova koja se javljaju u 𝐷) vraca DA onda22: vrati DA;

23: inace24: vrati vrednost koju vraca DPLL(𝐷[𝑝 ↦→ ⊥]).

Slika 7.3: DPLL procedura

𝐶1 : ¬𝑎,¬𝑏, 𝑐𝐶2 : 𝑎,¬𝑏𝐶3 : 𝑏, 𝑐𝐶4 : ¬𝑏,¬𝑐

Formula ima dve zadovoljavajuce valuacije. Proverom zadovoljivosti procedurom DPLL, pronalazi sejedna od te dve valuacije. Prvo stablo na slici 7.4 prikazuje proces pretrage u slucaju datog skupa klauza.Kako obe zadovoljavajuce valuacije pridruzuju promenljivoj 𝑏 vrednost 0, a promenljivoj 𝑐 vrednost 1, nakondodavanja klauze

𝐶5 : 𝑏,¬𝑐prethodni skup klauza postaje nezadovoljiv. Proces pretrage procedurom DPLL u ovom slucaju, prikazan je nadrugom stablu na istoj slici. U ovom primeru upecatljivo je da DPLL procedura ispituje svega tri od osamlistova zahvaljujuci tome sto osim koraka pretrage olicenih u pravilu split, postoje i koraci zakljucivanjakoje se vrsi primenom pravila unit propagation, pri cemu se ne ispituju alternative tim pravilom ucinjenihzamena.

DPLL procedura proverava da li je formula zadovoljiva, ali ona se, kao sto je vec receno, moze koristiti i zaispitivanje da li je neka formula valjana, poreciva ili kontradikcija. Na primer, formula 𝐴 je valjana ako i samoako je formula ¬𝐴 nezadovoljiva, sto se moze proveriti DPLL procedurom (pri cemu je, naravno, formulu ¬𝐴potrebno najpre transformisati u konjunktivnu normalnu formu).

Page 91: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

91 7. Automatsko rasudivanje u iskaznoj logici

𝑣(𝑎)=1 𝑣(𝑎)=1

𝑣(𝑏)=1 𝑣(𝑏)=0 𝑣(𝑏)=1 𝑣(𝑏)=0

𝑣(𝑐)=1 𝑣(𝑐)=0 𝑣(𝑐)=1 𝑣(𝑐)=0 𝑣(𝑐)=1 𝑣(𝑐)=0 𝑣(𝑐)=1 𝑣(𝑐)=0

𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=1 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=1 𝐼𝑣(𝐴)=0

𝑠𝑝𝑙𝑖𝑡([𝑎 ↦→ ⊤])

𝑠𝑝𝑙𝑖𝑡([𝑏 ↦→ ⊤])

𝑢𝑝([𝑐 ↦→ ⊤])

𝑠𝑝𝑙𝑖𝑡([𝑏 ↦→ ⊥])

𝑢𝑝([𝑐 ↦→ ⊤])

𝑣(𝑎)=1 𝑣(𝑎)=1

𝑣(𝑏)=1 𝑣(𝑏)=0 𝑣(𝑏)=1 𝑣(𝑏)=0

𝑣(𝑐)=1 𝑣(𝑐)=0 𝑣(𝑐)=1 𝑣(𝑐)=0 𝑣(𝑐)=1 𝑣(𝑐)=0 𝑣(𝑐)=1 𝑣(𝑐)=0

𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0 𝐼𝑣(𝐴)=0

𝑠𝑝𝑙𝑖𝑡([𝑎 ↦→ ⊤])

𝑠𝑝𝑙𝑖𝑡([𝑏 ↦→ ⊤])

𝑢𝑝([𝑐 ↦→ ⊤])

𝑠𝑝𝑙𝑖𝑡([𝑏 ↦→ ⊥])

𝑢𝑝([𝑐 ↦→ ⊤])

𝑠𝑝𝑙𝑖𝑡([𝑎 ↦→ ⊥])

𝑢𝑝([𝑏 ↦→ ⊥])

𝑢𝑝([𝑐 ↦→ ⊤])

Slika 7.4: Proces provere zadovoljivosti procedurom DPLL prikazan u vidu pretrage u potpunom stablu valuacijaza dva skupa klauza. Pretraga se vrsi obilaskom stabla u dubinu sleva nadesno.

Pitanja i zadaci

7.40. Da li je u iskaznoj logici odluciv problem ispitivanja

• zadovoljivosti?

• valjanosti?

• porecivosti?

• kontradiktornosti?

7.41. Ispitati metodom istinitosnih tablica da li je iskazna formula ¬((𝑞 ⇒ 𝑝)⇒ 𝑝)⇒ ¬𝑝 zadovoljiva.

7.42. Ispitati metodom istinitosnih tablica da li je iskazna formula (𝑝 ⇒ (𝑞 ⇒ 𝑟)) ⇒ ((𝑝 ⇒ 𝑞) ⇒ (𝑝 ⇒ 𝑟))tautologija.

7.43. Neka su 𝐴, 𝐵, 𝐶, 𝐷 iskazne formule takve da su formule 𝐴 ⇒ (𝐵 ⇒ 𝐶) i (𝐴 ∧ 𝐶) ⇒ ¬𝐷 tautologije.Dokazati, koriscenjem istinitosnih tablica, da je i formula (𝐷 ∧𝐴)⇒ ¬𝐵 tautologija.

7.44. Odrediti, koriscenjem istinitosnih tablica, (ako postoji takva) formulu 𝐴 takvu da je naredna formulatautologija:

• ((𝐴 ∧ 𝑞)⇒ ¬𝑝)⇒ ((𝑝⇒ ¬𝑞)⇒ 𝐴)

• ((𝑝⇒ (¬𝑞 ∧ 𝑟))⇒ 𝐴)⇒ (𝐴 ∧ ((𝑟 ⇒ 𝑞) ∧ 𝑝))

7.45. Da li je za iskaznu formulu jednoznacno odredena njena konjunktivna normalna forma?

7.46. Navesti jedan algoritam za transformiranje iskazne formule u knf.

7.47. Sta tokom primene algoritma KNF vazi nakon primene logicke ekvivalencije ¬¬𝐴 ≡ 𝐴?

7.48. Navesti teoremu o korektnosti algoritma KNF za iskaznu logiku.

7.49. Zasto se zaustavlja prvi korak algoritma KNF?

7.50. Zasto se zaustavlja cetvrti korak algoritma KNF?

7.51. Da li se moze konstruisati iskazna formula za koju se algoritam KNF ne zaustavlja?

Page 92: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.3. Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici 92

7.52. Navesti primer skupa formula 𝐴 velicine 𝑛 za koje se algoritmom KNF dobijaju formule velicine

• 𝑝(𝑛) (gde je 𝑝(𝑛) neki polinom po 𝑛)?

• 𝑝(2𝑛) (gde je 𝑝(2𝑛) neki polinom po 2𝑛)?

7.53. Odrediti konjunktivnu normalnu formu i disjunktivnu normalnu formu za formule:

• (𝐴⇒ 𝐵) ∨ (¬𝐴 ∧ 𝐶)

• 𝐴⇔ (𝐵 ∧ ¬𝐴)

• ((𝐴⇒ 𝐵)⇒ (𝐶 ⇒ ¬𝐴))⇒ (¬𝐵 ⇒ ¬𝐶)

• ((((𝐴⇒ 𝐵)⇒ ¬𝐴)⇒ ¬𝐵)⇒ ¬𝐶)⇒ 𝐶

• (𝐴⇒ (𝐵 ⇒ 𝐶))⇒ ((𝐴⇒ ¬𝐶)⇒ (𝐴⇒ ¬𝐵))

7.54. Kako se definisu binarni veznici ↑ i ↓?

7.55. Koliko ima binarnih veznika koji pojedinacno cine potpun skup veznika za iskaznu logiku? Predstavitite veznike u terminima osnovnih logickih veznika.

7.56. Dokazati da skup ⇒,∨ nije potpun skup veznika.

7.57. U racunarstvu se cesto koristi logicki veznik ∨ (iskljucivo ili, iskljuciva disjunkcija, ekskluzivno ili,ekskluzivna disjunkcija) koji moze biti definisan na sledeci nacin: 𝐴∨𝐵 je jednako (tj. to je kraci zapis za)¬(𝐴⇔ 𝐵) ili (𝐴 ∧ ¬𝐵) ∨ (¬𝐴 ∧𝐵). Ispitati da li je skup ∧,∨ potpun skup veznika.

7.58. Kako se zove problem ispitivanja zadovoljivosti iskazne formule u knf obliku? Da li je ovaj problemodluciv?

7.59. Da li problem sat pripada klasi p? Da li problem sat pripada klasi np? Da li je problem sat np-kompletan? Da li je problem sat np-tezak?

7.60. U kom obliku mora da bude formula na koju se primenjuje DPLL procedura?

7.61. Koji odgovor vraca DPLL procedura ako ulazna formula ne sadrzi nijednu klauzu?

7.62. Kako glasi pravilo tautology procedure DPLL?

7.63. Kako glasi pravilo split DPLL procedure?

7.64. Koja su pravila DPLL procedure primenljiva na formulu: (¬𝑎 ∨ 𝑏 ∨ 𝑐) ∧ (𝑎 ∨ 𝑏 ∨ ¬𝑐) ∧ (¬𝑎 ∨ 𝑏 ∨ ¬𝑐)?

7.65. Da li se moze konstruisati iskazna formula u knf formi za koju se algoritam DPLL ne zaustavlja?

7.66. Koja je slozenost DPLL procedure u najgorem slucaju?

7.67. Da li postoje iskazne formule za koje je vreme izvrsavanja procedure DPLL polinomsko u odnosu navelicinu formule?

7.68. Primenom DPLL algoritma proveriti da li je sledeca formula zadovoljiva:

• (𝑐⇒ (𝑎 ∧ 𝑏))⇒ (𝑎 ∧ 𝑐)

• ((𝑎⇒ 𝑏)⇒ 𝑐) ∨ (𝑏 ∧ 𝑐)

• (𝑝 ∨ (𝑞 ∧ 𝑟))⇒ (𝑞 ∨ 𝑝 ∨ 𝑟).

• (𝑝⇒ 𝑟)⇒ ((𝑞 ⇒ 𝑟)⇒ (𝑝 ∨ 𝑞 ⇒ 𝑟))

• ¬((𝑝⇒ 𝑟)⇒ ((𝑞 ⇒ 𝑟)⇒ (𝑝 ∨ 𝑞 ⇒ 𝑟)))

7.69. Ako zelimo da DPLL procedurom ispitamo da li je iskazna formula 𝐴 tautologija, sta treba da bude ulazza DPLL proceduru? U kom slucaju je onda formula 𝐴 valjana?

7.70. Primenom DPLL algoritma proveriti da li je sledeca formula tautologija:

• ((𝑎 ∨ ¬𝑏)⇒ ¬𝑐)⇒ (¬𝑎 ∧ 𝑏 ∧ ¬𝑐)

• ((𝑎⇒ 𝑏)⇒ (𝑏⇒ 𝑐)) ∧ 𝑎 ∧ ¬𝑐

7.71. Primenom DPLL algoritma ispitati da li je formula (𝑝∨¬𝑞∨¬𝑟)∧(¬𝑝∨𝑞∨¬𝑟)∧(𝑝∨¬𝑞∨𝑟) zadovoljiva,tautologija, poreciva, kontradikcija.

Page 93: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

93 7. Automatsko rasudivanje u iskaznoj logici

7.4 Resavanje problema svodenjem na SAT

Mnogi prakticni problemi mogu se resiti koriscenjem iskazne logike. Obicno je postupak resavanja ovakav:

• elementarni iskazi (tvrdnje) koji figurisu u opisu problema, predstavljaju se iskaznim promenljivim (uduhu nekog kodiranja);

• uslovi problema se predstavljaju iskaznim formulama nad tim iskaznim promenljivim;

• konjunkcija tih iskaznih formula transformise se u konjunktivnu normalnu formu;

• zadovoljivost formule u konjunktivnoj normalnoj formi ispituje se sat resavacem;

• ukoliko je formula zadovoljiva, svaki njen model daje jedno resenje polaznog problema.

Svodenjem na sat mogu se pogodno opisati mnogi problemi nad konacnim domenima. Naredni primerpokazuje kako sabiranje prirodnih brojeva, a i resavanje jednacina koje ukljucuju takvo sabiranje mogu bitisvedeni na sat.

Primer 7.23. Neka su 𝑢 i 𝑣 prirodni brojevi manji od 4. Onda, ako je broj 𝑢 predstavljen parom iskaznihpromenljvih (𝑝, 𝑞) (koje odgovaraju njegovim ciframa u binarnom zapisu) a broj 𝑣 predstavljen parom (𝑟, 𝑠),onda je broj 𝑢 + 𝑣 (po modulu 22) predstavljen parom ((𝑝∨𝑟)∨(𝑞 ∧ 𝑠), 𝑞∨𝑠) (gde ∨ oznacava ekskluzivnudisjunkciju).

Primer 7.24. Neka je zadat problem odredivanja vrednosti 𝑢, ako je poznato da je 𝑣 = 2 i 𝑣 = 𝑢+ 1 (pomodulu 4). Broj 1 moze se predstaviti parom (⊥,⊤) i, kako je poznato da vazi 𝑣 = 2 i 𝑣 = 𝑢+1, onda se 𝑣moze predstaviti i kao (⊤,⊥) i kao ((𝑝∨⊥)∨(𝑞 ∧ ⊤), 𝑞∨⊤), i, nakon pojednostavljivanja, sa (𝑝∨𝑞,¬𝑞). Dabi se dobila formula koja odgovara zadatim uslovima i iz koje se moze dobiti vrednost broja 𝑢, formule naobe pozicije moraju da budu ekvivalentne i sledeca formula mora biti zadovoljiva: ((𝑝∨𝑞)⇔ ⊤)∧ (¬𝑞 ⇔ ⊥).Ona je zadovoljiva i ima samo jedan model. U tom modelu promenljiva 𝑝 ima vrednost 0 a promenljiva 𝑞ima vrednost 1. Dakle, nepoznata vrednost 𝑢 ima binarni zapis 01, pa je ona jednaka 1.

Navedeni primer je trivijalan, ali ilustruje kako se resavanje jednacina nad prirodnim brojevima moze svestina sat. Analogno se mogu resavati i mnogo kompleksniji problemi.

Resavanje problema svodenjem na sat bice ilustrovano kroz nekoliko razlicitih vrsta svodenja na sat inekoliko konkretnih primera.

7.4.1 Primeri kodiranjaRetka kodiranja. U prakticnim problemima koji se resavaju svodenjem na sat, ne figurisu samo iskaznepromenljive, vec cesto i celobrojne promenljive 𝑣𝑖 koje mogu imati vrednosti iz nekog ogranicenog skupa. Utakvim situacijima cesto se koristi retko kodiranje (eng. sparse encoding) u kojem se uvode iskazne promenljive𝑝𝑣,𝑖 koje su tacne ako i samo ako promenljiva 𝑣 ima vrednost 𝑖. Time se uslov da promenljiva 𝑣 ima jednuvrednost iz zadatog domena 𝐼 zadaje uslovom („uslov barem-jedna“):⋁

𝑖∈𝐼

𝑝𝑣,𝑖

Promenljiva 𝑣 ne moze imati dve vrednosti istovremeno, sto se opisuje formulom („uslov najvise-jedna“):⋀𝑖,𝑗∈𝐼,=𝑗

¬𝑝𝑣,𝑖 ∨ ¬𝑝𝑣,𝑗

Pored uslova koji su potrebni kako bi se iskazalo da promenljiva ima (tacno jednu) vrednost iz nekog konacnogskupa, potrebno je kodirati i razne druge uslove. Za neke uslove koji se cesto koriste, postoje ustaljeni nacinikodiranja koji daju specificne varijante retkog kodiranja. Direktno kodiranje (eng. direct encoding) je vari-janta retkog kodiranja namenjena ogranicenjima koja izrazavaju da se kombinacije vrednosti nekih promenlji-vih medusobno iskljucuju. U toj varijanti, sve nedozvoljene kombinacije vrednosti opisuju se formulama (tzv.„klauzama konflikta”):

¬𝑝𝑣,𝑖 ∨ ¬𝑝𝑤,𝑗

Page 94: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.4. Resavanje problema svodenjem na SAT 94

Potporno kodiranje (eng. support encoding) je varijanta retkog kodiranja namenjena ogranicenjima oblika: ako𝑣 ima vrednost 𝑖, onda 𝑤 mora imati neku od vrednosti iz skupa 𝐴. Ta ogranicenja opisuju se formulama(klauzama konflikta) sledeceg oblika:

¬𝑝𝑣,𝑖 ∨⋁𝑗∈𝐴

𝑝𝑤,𝑗

Log kodiranje. U log kodiranju svakom bitu vrednosti numerickih promenljivih (zapisanih u binarnoj re-prezentaciji) pridruzuje se jedna iskazna promenljiva. U ovoj reprezentaciji ne postoji potreba za uslovima„barem-jedna“ i „najvise-jedna“, jer svaka kombinacija vrednosti uvedenih iskaznih promenljivih daje tacnojednu vrednost odgovarajuce promenljive. Naravno, kada je broj mogucih vrednosti numericke promenljivemanji od broja mogucih vrednosti iskaznih promenljivih koji se koriste za njeno kodiranje, neke kombinacijevrednosti iskaznih promenljivih potrebno je zabraniti dodatnim klauzama (na primer, ako promenljiva 𝑛 mozeda ima vrednosti od 0 do 6, za njeno kodiranje se koriste tri iskazne promenljive, ali se zabranjuje njihovakombinacija koja daje vrednost 7).

I u log kodiranju moguce je izraziti uslove koje u slucaju retkih kodiranja izrazavaju direktno i potpornokodiranje, ali zbog prirode log kodiranja, te uslove potrebno je zadati nad binarnim kombinacijama koje predsta-vljaju vrednosti numerickih promenljivih. Na primer, neka promenljive 𝑣 i 𝑤 uzimaju celobrojne vrednosti od 0do 7 i neka su kodirane iskaznim promenljivim 𝑝𝑣,1, 𝑝𝑣,2, 𝑝𝑣,3, 𝑝𝑤,1, 𝑝𝑤,2 i 𝑝𝑤,3, pri cemu visi indeksi oznacavajubitove vece tezine. Ukoliko se vrednost 3 promenljive 𝑣 uzajamno iskljucuje sa vrednoscu 6 promenljive 𝑤, tajuslov moze se kodirati u terminima bitova, klauzom

¬𝑝𝑣,1 ∨ ¬𝑝𝑣,2 ∨ 𝑝𝑣,3 ∨ 𝑝𝑤,1 ∨ ¬𝑝𝑤,2 ∨ ¬𝑝𝑤,3.

Primer 7.25. Zadatak je obojiti dve kuce (neka su oznacene sa 𝑣 i 𝑤) po jednom od tri raspolozive boje(neka su oznacene brojevima 1, 2, 3), ali tako da su obojene razlicito.

U retkim kodiranjima problema bice potrebni „barem jedna“ uslovi:𝑝𝑣,1 ∨ 𝑝𝑣,2 ∨ 𝑝𝑣,3𝑝𝑤,1 ∨ 𝑝𝑤,2 ∨ 𝑝𝑤,3

i „najvise jedna“ uslovi:¬𝑝𝑣,1 ∨ ¬𝑝𝑣,2¬𝑝𝑣,1 ∨ ¬𝑝𝑣,3¬𝑝𝑣,2 ∨ ¬𝑝𝑣,3¬𝑝𝑤,1 ∨ ¬𝑝𝑤,2

¬𝑝𝑤,1 ∨ ¬𝑝𝑤,3

¬𝑝𝑤,2 ∨ ¬𝑝𝑤,3

Dodatno, u direktnom kodiranju bice opisan i uslov da nisu obe kuce obojene istom bojom (klauzekonflikta):¬𝑝𝑣,1 ∨ ¬𝑝𝑤,1

¬𝑝𝑣,2 ∨ ¬𝑝𝑤,2

¬𝑝𝑣,3 ∨ ¬𝑝𝑤,3

Alternativno, navedene klauze konflikta bi mogle, koriscenjem potpornog kodiranja, da se zadaju nasledeci nacin:¬𝑝𝑣,1 ∨ (𝑝𝑤,2 ∨ 𝑝𝑤,3)¬𝑝𝑣,2 ∨ (𝑝𝑤,1 ∨ 𝑝𝑤,3)¬𝑝𝑣,3 ∨ (𝑝𝑤,1 ∨ 𝑝𝑤,2)¬𝑝𝑤,1 ∨ (𝑝𝑣,2 ∨ 𝑝𝑣,3)¬𝑝𝑤,2 ∨ (𝑝𝑣,1 ∨ 𝑝𝑣,3)¬𝑝𝑤,3 ∨ (𝑝𝑣,1 ∨ 𝑝𝑣,2)Pazljivom analizom moze se pokazati da poslednje tri navedene klauze nisu potrebne.Problem moze biti opisan i koriscenjem log kodiranja: neka iskazne promenljive 𝑝𝑣,0, 𝑝𝑣,1 odgovaraju

ciframa binarnog zapisa boje koja odgovara kuci 𝑣, a 𝑝𝑤,0, 𝑝𝑤,1 odgovaraju ciframa binarnog zapisa bojekoja odgovara kuci 𝑤. Ako su bojama pridruzene vrednosti 0, 1 i 2, treba zabraniti vrednost 3, pa zatopostoje uslovi:¬𝑝𝑣,0 ∨ ¬𝑝𝑣,1¬𝑝𝑤,0 ∨ ¬𝑝𝑤,1

Klauze konflikta su sledece klauze:𝑝𝑣,0 ∨ 𝑝𝑣,1 ∨ 𝑝𝑤,0 ∨ 𝑝𝑤,1 (nisu obe boje 0)

Page 95: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

95 7. Automatsko rasudivanje u iskaznoj logici

¬𝑝𝑣,0 ∨ 𝑝𝑣,1 ∨ ¬𝑝𝑤,0 ∨ 𝑝𝑤,1 (nisu obe boje 1)𝑝𝑣,0 ∨ ¬𝑝𝑣,1 ∨ 𝑝𝑤,0 ∨ ¬𝑝𝑤,1 (nisu obe boje 2)

7.4.2 Igra „cistac mina“Razmotrimo kako iskazna logika moze pomoci u igranju racunarske igre „cistac mina“ (slika 7.5).

Slika 7.5: Igra „cistac mina“

Data je tabla dimenzija 𝑛 × 𝑚. Kada igrac izabere jedno zatvoreno polje na tabli, igra je zavrsena akose pokaze da je na njoj mina. Inace, igrac saznaje broj mina na susednim poljima (ukoliko je broj mina nasusednim poljima 0, onda se on ne ispisuje). Pridruzimo iskazne promenljive 𝑝, 𝑞, 𝑟, 𝑠, 𝑡, 𝑢 poljima u levomgornjem uglu table (u nastavku cemo imenima ovih promenljivih nazivati i polja kojima su pridruzena):

𝑝 𝑞 𝑟𝑠 𝑡 𝑢

Pretpostavimo da smo otvorili polje 𝑝 i da na njemu nema mine. Pretpostavimo i da smo za polje 𝑝 dobilibroj 1. Ako otvorimo polje 𝑞 i dobijemo opet broj 1, mozemo bezbedno da otvorimo polja 𝑟 i 𝑢:

1 1 𝑟𝑠 𝑡 𝑢

Objasnimo zasto je to tako. Smatracemo da stanje tabele odreduje valuaciju uvedenih promenljivih: na nekompolju postoji mina ako i samo ako odgovarajuca promenljiva ima vrednost 1 u toj valuaciji. Kako znamo da napolju 𝑝 nema mina, u valuaciji 𝑣 koja odgovara stanju tabele, mora da je tacna formula ¬𝑝. Kako je na polju 𝑝vrednost 1, to znaci da je neka mina ili na polju 𝑞 ili na polju 𝑠 ili na polju 𝑡. Ove uslove opisuju formule:

𝑞 ∨ 𝑠 ∨ 𝑡,𝑞 ∨ ¬𝑠 ∨ ¬𝑡,𝑠 ∨ ¬ ∨ ¬𝑡,𝑡 ∨ ¬ ∨ ¬𝑠Kako nema mine na polju 𝑞, u valuaciji 𝑣 mora da je tacna formula ¬𝑞. Kako je na polju 𝑞 vrednost 1, to

znaci da je neka mina ili na polju 𝑝 ili na polju 𝑠 ili na polju 𝑡 ili na polju 𝑟 ili na polju 𝑢. Ove uslove opisujuformule:

𝑝 ∨ 𝑠 ∨ 𝑡 ∨ 𝑟 ∨ 𝑢,𝑝 ∨ ¬𝑠 ∨ ¬𝑡 ∨ ¬𝑟 ∨ ¬𝑢,𝑠 ∨ ¬𝑝 ∨ ¬𝑡 ∨ ¬𝑟 ∨ ¬𝑢,𝑡 ∨ ¬𝑝 ∨ ¬𝑠 ∨ ¬𝑟 ∨ ¬𝑢,𝑟 ∨ ¬𝑝 ∨ ¬𝑠 ∨ ¬𝑡 ∨ ¬𝑢,𝑢 ∨ ¬𝑝 ∨ ¬𝑠 ∨ ¬𝑡 ∨ ¬𝑟.

Page 96: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.4. Resavanje problema svodenjem na SAT 96

Pitanje da li mozemo bezbedno da otvorimo polje 𝑟 svodi se na pitanje da li skup navedenih formula imaza logicku posledicu formulu ¬𝑟. To je isto kao i pitanje da li je implikacija konjunkcije navedenih formula iformule ¬𝑟 tautologija, i isto kao i pitanje da li je konjunkcija navedenih formula i formule 𝑟 nezadovoljiva. satresavac moze lako da utvrdi da ta formula nije zadovoljiva, te mina ne moze biti na polju 𝑟. Analogno se mozezakljuciti da mina ne moze biti na polju 𝑢.

7.4.3 Problem 𝑛 damaZa svako konkretno 𝑛, analogno kao u slucaju 𝑛 = 3, problem 𝑛 dama (slika 7.4.3) moze se resiti koriscenjem

iskazne logike. Primenimo kodiranje u stilu retkog kodiranja: neka svakom (𝑖, 𝑗) polju sahovske table odgovarajedna iskazna promenljiva 𝑝𝑖𝑗 (1 ≤ 𝑖, 𝑗 ≤ 8). Neka promenljiva 𝑝𝑖𝑗 ima vrednost 1 ako je na polju (𝑖, 𝑗) nekadama, a 0 inace.

8 0ZQZ0Z0Z7 Z0Z0ZQZ06 0Z0L0Z0Z5 ZQZ0Z0Z04 0Z0Z0Z0L3 Z0Z0L0Z02 0Z0Z0ZQZ1 L0Z0Z0Z0

a b c d e f g h

Slika 7.6: Jedno resenje za problem 8 dama

Zadata ogranicenja o nenapadanju dama mogu se, koriscenjem direktnog kodiranja, opisati na sledeci nacin:

1. u svakoj koloni mora da bude barem jedna dama:⋁𝑖=1,...,𝑛 𝑝𝑗𝑖, za 1 ≤ 𝑗 ≤ 𝑛;

2. u svakoj koloni mora da bude najvise jedna dama:⋀𝑖=1,...,𝑛−1;𝑗=𝑖+1,...,𝑛 ¬𝑝𝑘𝑖 ∨ ¬𝑝𝑘𝑗 , za 1 ≤ 𝑘 ≤ 𝑛;

3. u svakoj vrsti mora da bude najvise jedna dama:⋀𝑖=1,...,𝑛−1;𝑗=𝑖+1,...,𝑛 ¬𝑝𝑖𝑘 ∨ ¬𝑝𝑗𝑘, za 1 ≤ 𝑘 ≤ 𝑛;

4. nema dama koje se napadaju dijagonalno:⋀𝑖=1,...,𝑛;𝑗=1,...,𝑛;𝑘=1,...,𝑛;𝑙=1,...,𝑛 ¬𝑝𝑖𝑗 ∨ ¬𝑝𝑘𝑙, za |𝑘 − 𝑖| = |𝑙 − 𝑗|, 𝑘 > 𝑖.

Naglasimo sledece: kako prva dva skupa uslova obezbeduju da ima ukupno 𝑛 dama, a treci da u svakoj vrstiima najvise jedna dama, nije potrebno zadavati i uslov da u svakoj vrsti mora da bude barem jedna dama.

Konjunkcija navedenih uslova daje formulu koja opisuje zadati problem. Ona je vec u konjunktivnoj nor-malnoj formi i njena zadovoljivost moze biti ispitana nekim sat resavacem. Na primer, za 𝑛 = 8, formula ima92 modela i svaki od njih daje po jedno rasporedivanje dama koje ispunjava date uslove.

7.4.4 Rasporedivanje sportskih utakmicaIskazna logika cesto se koristi u problemima rasporedivanja. Jedan od takvih problema je rasporedivanje

sportskih utakmica. Pretpostavicemo da se koristi kruzni sistem takmicenja po principu „igra svako sa svakim“koji se karakterise sledecim uslovima:

1. Postoji 𝑛 timova (𝑛 je paran broj) i svaka dva tima jednom igraju jedan protiv drugog.

2. Sezona traje 𝑛− 1 nedelja.

3. Svaki tim svake nedelje igra jednu utakmicu.

Page 97: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

97 7. Automatsko rasudivanje u iskaznoj logici

4. Postoji 𝑛/2 terena i svake nedelje se na svakom terenu igra jedna utakmica.

5. Nijedan tim ne igra vise od dva puta na istom terenu.

Neka su timovi oznaceni brojevima od 1 do 10. Primer ispravnog rasporeda dat je u tabeli 7.2.

Teren/nedelja 1 2 3 4 5 6 7 8 91 6-9 4-6 1-8 4-10 2-8 7-9 5-7 1-2 3-52 2-3 1-5 2-4 1-7 9-10 8-10 3-6 4-9 6-83 5-10 2-7 3-9 5-9 1-3 1-6 4-8 6-10 4-74 1-4 8-9 5-6 3-8 6-7 2-5 1-10 3-7 2-105 7-8 3-10 7-10 2-6 4-5 3-4 2-9 5-8 1-9

Tabela 7.2: Primer ispravnog rasporeda za 10 timova.

Osnovni iskaz relevatan za sastavljanje rasporeda je da „tim 𝑘1 igra protiv tima 𝑘2 na terenu 𝑖 u nedelji𝑗“. Kako je u nekim ogranicenjima potrebno govoriti o pojedinacnim timovima, a ne samo o parovima, ovotvrdenje nece biti predstavljeno jednom promenljivom, nego dvema. Promenljiva 𝑝1𝑘𝑖𝑗 oznacava da tim 𝑘 igra(protiv nekog tima) na terenu 𝑖 u nedelji 𝑗 i analogno za promenljivu 𝑝2𝑘𝑖𝑗 . Stoga, skup promenljivih je:

𝑝1𝑘𝑖𝑗 | 1 ≤ 𝑖 ≤ 𝑛/2, 1 ≤ 𝑗 ≤ 𝑛− 1, 1 ≤ 𝑘 ≤ 𝑛 ∪ 𝑝2𝑘𝑖𝑗 | 1 ≤ 𝑖 ≤ 𝑛/2, 1 ≤ 𝑗 ≤ 𝑛− 1, 2 ≤ 𝑘 ≤ 𝑛

Dakle, ukupno se koristi 2 · (𝑛/2) · (𝑛−1) ·𝑛 = 𝑛2(𝑛−1) promenljivih. Raspored cini skup parova (𝑝1𝑘1𝑖𝑗 , 𝑝2𝑘2

𝑖𝑗 )koji izrazava prethodno navedeni iskaz. Nije bitan poredak timova u parovima koji igraju utakmice, pa seuvodi dogovor da za svaki od ovih parova vazi 𝑘1 < 𝑘2. Ogranicenja se izrazavaju formulom koja predstavljakonjunkciju sledecih klauza (razvrstanih po ulogama).

1. Svake nedelje na svakom terenu odrzava se neka utakmica.

𝑝11𝑖𝑗 ∨ . . . ∨ 𝑝1𝑛−1𝑖𝑗

za sve 1 ≤ 𝑖 ≤ 𝑛/2, 1 ≤ 𝑗 ≤ 𝑛 − 1 (dovoljno je obezbediti da svake nedelje igra na svakom terenu igrabarem jedan tim).

2. Za svaku utakmicu vazi 𝑘1 < 𝑘2.¬𝑝1𝑘1

𝑖𝑗 ∨ ¬𝑝2𝑘2𝑖𝑗

za sve 1 ≤ 𝑖 ≤ 𝑛/2, 1 ≤ 𝑗 ≤ 𝑛− 1, 1 ≤ 𝑘1, 𝑘2 ≤ 𝑛, takve da vazi 𝑘1 ≥ 𝑘2.

3. Nijedan tim nijedne nedelje ne igra vise od jedne utakmice.

¬𝑝𝑟1𝑘𝑖1𝑗∨ ¬𝑝𝑟2𝑘𝑖2𝑗

za sve 1 ≤ 𝑖 ≤ 𝑛/2, 1 ≤ 𝑗 ≤ 𝑛− 1, 1 ≤ 𝑘 ≤ 𝑛, takve da ne vazi 𝑟1 = 𝑟2 i 𝑖1 = 𝑖2.

4. Dva razlicita tima sastaju se najvise jednom.

¬𝑝1𝑘1𝑖1𝑗1∨ ¬𝑝2𝑘2

𝑖1𝑗1∨ ¬𝑝1𝑘1

𝑖2𝑗2∨ ¬𝑝2𝑘2

𝑖2𝑗2

za sve 1 ≤ 𝑖1, 𝑖2 ≤ 𝑛/2, 1 ≤ 𝑗1, 𝑗2 ≤ 𝑛− 1, 1 ≤ 𝑘1, 𝑘2 ≤ 𝑛, takve da vazi 𝑗1 = 𝑗2 i 𝑘1 < 𝑘2.

5. Nijedan tim ne igra vise od dva puta na istom terenu.

¬𝑝𝑟1𝑘𝑖𝑗1∨ ¬𝑝𝑟2𝑘𝑖𝑗2

∨ ¬𝑝𝑟3𝑘𝑖𝑗3

za sve 1 ≤ 𝑖 ≤ 𝑛/2, 1 ≤ 𝑗1, 𝑗2, 𝑗3 ≤ 𝑛 − 1, 1 ≤ 𝑘 ≤ 𝑛, 1 ≤ 𝑟1, 𝑟2, 𝑟3 ≤ 2, takve da vazi 𝑗1 = 𝑗2, 𝑗1 = 𝑗3 i𝑗2 = 𝑗3.

Ukupan broj klauza u formuli je reda 𝑂(𝑛6) (tog reda je broj klauza koje opisuje 4. korak). Iako je, iza relativno male vrednosti 𝑛, taj broj klauza veoma veliki, savremeni sat resavaci uspesno mogu ispitatizadovoljivost odgovarajucih formula.

Page 98: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.4. Resavanje problema svodenjem na SAT 98

7.4.5 Verifikacija softveraZamislimo da se u nekoj softverskoj kompaniji radi na reviziji postojeceg koda i, kako je on veoma vazan,

potrebno ga je unaprediti – uciniti ga efikasnijim i citljivijim. Nekome se cini da je narednu funkciju f napisanuna programskom jeziku C:

int f(int y)

int x;x = x ^ y;y = x ^ y;x = x ^ y;return x * x;

moguce zameniti narednom funkcijom g:

int g(int n)

return n * n;

Pitanje je, dakle, da li ove dve funkcije za iste argumente uvek vracaju iste rezultate. Pogodno je u razma-tranje uvesti i promenljive za medurezultate (jer programska promenljiva u toku izvrsavanja programa moze damenja vrednost, a iskazna promenljiva u okviru jedne formule uvek ima istu vrednost):

x1 = x ^ y;y1 = x1 ^ y;x2 = x1 ^ y1;Kako funkcija g vraca vrednost n*n, gde je n nepromenjena vrednost parametra, dovoljno je dokazati da

za funkciju f vazi da pre naredbe return x * x; promenljiva x ima istu vrednost kao parametar y, tj. daje vrednost x2 jednaka vrednosti y, tj. da vazi x2 == y. Ako se iskoristi nacin na koji su zadate vrednostimedurezultata, ova jednakost postaje:

(x ^ y) ^ ((x ^ y) ^ y) == y

Ako pretpostavimo da tip int ima sirinu cetiri bajta, programske promenljive mozemo da predstavimo nizo-vima od po 4 · 8 = 32 iskazne promenljive. Onda izrazu (x ^ y) ^ ((x ^ y) ^ y) odgovara niz od 32 iskazneformule i za dokazivanje navedene jednakosti potrebno je dokazati da je svaka od 32 formule koja odgovaraizrazu (x ^ y) ^ ((x ^ y) ^ y) logicki ekvivalentna odgovarajucoj iskaznoj promenljivoj iz reprezentacijeprogramske promenljive y. U ovom konkretnom slucaju (a nije tako uvek), moze se primetiti da bitovski ope-rator ^ (operator ekskluzivne disjunkcije) primenjen na dve vrednosti dejstvuje samo bit-po-bit, tj. rezultatoperacije primenjen na neka dva bita operanada ne utice na druge bitove rezultata. Zato se razmatranje nave-dene jednakosti moze svesti na razmatranje pojedinacnih bitova, te je dovoljno dokazati logicku ekvivalenciju(∨ oznacava veznik ekskluzivne disjunkcije):

(𝑝∨𝑞)∨((𝑝∨𝑞)∨𝑞) ≡ 𝑞

Kako je formula (𝑝∨𝑞)∨((𝑝∨𝑞)∨𝑞)⇔ 𝑞 zaista tautologija, navedena jednakost uvek je tacna, pa su funkcije f i gekvivalentne i jedna moze biti zamenjena drugom. (Primetimo da programska promenljiva x nije inicijalizovanau okviru funkcije f, ali to ipak ne utice na rezultat rada funkcije.)

7.4.6 Provera ekvivalentnosti kombinatornih kolaIskazna logika ima primene u automatizaciji dizajna elektronskih kola, koje ukljucuju simulaciju, minimiza-

ciju i verifikaciju dizajna kola. Vrsta elektronskih kola koja je najpogodnija za primenu metoda iskazne logikesu kombinatorna kola — mreze povezanih logickih elemenata kod kojih vrednosti izlaza zavise iskljucivo odvrednosti ulaza. Logicki elementi predstavljaju elektronske implementacije logickih veznika. Takode, navedenosvojstvo vazi i za istinitosne vrednosti iskaznih formula — za datu formulu, one zavise iskljucivo od vrednostikoje valuacija dodeljuje iskaznim promenljivim u toj formuli.

Jedan problem verifikacije hardvera koji je u vezi sa prethodno uocenom analogijom je provera ekvivalentnostikombinatornih kola. Dva logicka kola su ekvivalentna ukoliko za sve kombinacije vrednosti na svojim ulazima,daju iste izlaze.

Page 99: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

99 7. Automatsko rasudivanje u iskaznoj logici

𝐴 𝐵 𝑃

𝑄

𝑍

𝐴𝐵

𝑃

𝑄′

𝑍′

Slika 7.7: Osnovni i optimizovani dizajn sabiraca

Ova vrsta verifikacije je korisna u sledecem kontekstu. Kombinatorna kola mogu biti vrlo slozena i dizajnirajuse u alatima koji podrzavaju neki od jezika za opis hardvera kao sto su Verilog ili VHDL. Pre nego sto se naosnovu kreiranog dizajna pristupi fizickoj implementaciji logickog kola, taj dizajn prolazi kroz niz transformacijakojima se vrse optimizacije kola kako bi se ustedelo na njegovoj povrsini, brzini i slicno. Svaki od koraka ovogpostupka moze biti vrlo slozen i iako alogoritmi na kojima pomenute transformacije pocivaju garantuju odrzanjekorektnosti, usled slozenosti softvera u kojem su ti algoritmi implementirani, uvek postoji mogucnost da je unekom koraku napravljena greska i da finalni, optimizovani, dizajn kola vise nije ekvivalentan polaznom. Zbogtoga je pre fizicke izrade logickog kola potrebno proveriti ekvivalentnost polaznog i finalnog dizajna kola. Trebaprimetiti da ustanovljena ekvivalentnost ne garantuje funkcionalnu korektnost kola — to da ono zaista radi onosto bi trebalo. Medutim, i to je moguce ustanoviti proverom ekvivalentosti sa kolom za koje je poznato da jefunkcionalno korektno, ukoliko takvo kolo postoji.

Provera ekvivalentnosti kombinatornih kola se vrsi tako sto se svakom kolu pridruzi iskazna formula kojaodgovara njegovom dizajnu. Neka su to formule 𝐴 i 𝐵. Ukoliko su kola ekvivalentna, za sve kombinacije vrednostiulaza, vrednosti izlaza su iste. U terminima iskaznih formula, za svaku valuaciju 𝑣, mora da vazi 𝐼𝑣(𝐴) = 𝐼𝑣(𝐵).Odnosno, formula 𝐴 ⇔ 𝐵 mora biti tautologija, a formula ¬(𝐴 ⇔ 𝐵) nezadovoljiva. Zadovoljivost iskazneformule se moze proveriti pomocu sat-resavaca. Ukoliko resavac ustanovi da je formula nezadovoljiva, kola suekvivalentna, a ukoliko ustanovi da postoji zadovoljavajuca valuacija, ta valuacija predstavlja vrednosti ulazaza koje se izlazi kola razlikuju, sto moze posluziti kao polazna tacka u otklanjanju greske.

Postupak provere ekvivalentnosti cemo prikazati na primeru sabiraca. Recimo da je optimizovanjem prvogkola na slici 7.7, dobijeno drugo. Na osnovu dizajna, za svaki od izlaza moze se formirati iskazna formula kojamu odgovara:

𝑍 = (¬𝐴 ∧𝐵 ∧ ¬𝑃 ) ∨ (𝐴 ∧ ¬𝐵 ∧ ¬𝑃 ) ∨ (¬𝐴 ∧ ¬𝐵 ∧ 𝑃 ) ∨ (¬𝐴 ∧ ¬𝐵 ∧ 𝑃 ) ∨ (𝐴 ∧𝐵 ∧ 𝐶)

𝑄 = (𝐴 ∧𝐵) ∨ (𝐵 ∧ 𝑃 ) ∨ (𝐴 ∧ 𝑃 )

𝑍 ′ = (𝐴∨𝐵)∨𝑃

𝑄′ = (𝐴 ∧𝐵) ∨ (𝐴∨𝐵) ∧ 𝑃

Kola su ekvivalentna ukoliko je formula ¬((𝑍 ⇔ 𝑍 ′) ∧ (𝑄 ⇔ 𝑄′)) nezadovoljiva. Treba imati u vidu daformule koje se dobijaju iz ovakvih primena mogu imati i desetine hiljada pa i stotine hiljada promenljivih, alida sat-resavaci ipak uspevaju da provere njihovu zadovoljivost zahvaljujuci pravilnostima koje su prisutne utim formulama, a koje sat-resavaci u toku rada mogu da nauce i iskoriste.

7.4.7 Ogranicena provera modelaJedna od najkoriscenijih tehnika u verifikaciji hardvera i softvera je ogranicena provera modela. Funkcioni-

sanje hardvera ili softvera se moze apstraktno opisati konacnim automatima cija stanja opisuju stanja sistema

Page 100: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.4. Resavanje problema svodenjem na SAT 100

𝐶𝐿𝑂𝐶𝐾

𝐷

𝐷

𝑝1

𝑝0

Slika 7.8: Dizajn brojaca koji broji od 0 do 2

𝑝𝑖1 𝑝𝑖0 𝑝𝑖+11 𝑝𝑖+1

0

0 0 0 10 1 1 01 0 0 01 1 1 0

Tabela 7.3: Tablica prelaska brojaca koji broji od 0 do 2

koji se izucava, a grane moguce prelaske sistema iz stanja u stanje. Ovaj konacni automat smatra se modelomsistema koji se analizira. Jedan od ciljeva verifikacije je dokazivanje da sistem zadovoljava odredena svojstva,na primer, da nikad nece doci u stanje koje predstavlja gresku ili bezbednosni rizik. Primer takvog svojstva jeza sistem koji treba da pruzi neki odgovor na zadati zahtev, nakon stanja u kojem je primljen zahtev, sistem cesigurno doci u neko stanje u kojem ce taj trazeni odgovor biti dat. Dokazivanje tvrdnji poput ovih, koje se na-ziva proverom modela, moze predstavljati problem koji nije odluciv. Stoga se u praksi obicno koristi ogranicenaprovera modela koja se svodi na dokazivanje da neko svojstvo vazi u svim stanjima u koja se iz polaznog stanjamoze dospeti u najvise 𝑘 prelaza.

Kako bi se sprovela tehnika ogranicene provere modela, potrebno je uociti kako se stanja mogu modelovatiiskaznim promenljivim, a potom iskaznim formulama nad tim promenljivim zapisati zeljeno svojstvo, polaznepretpostavke i nacin na koji se promenljive menjaju prilikom prelaska iz stanja u stanje.

Ogranicenu proveru modela cemo ilustrovati na primeru dvobitnog brojaca koji broji u krug od 0 do 2, kaosto je brojac na slici 7.8. Njegova tablica prelaska je data tabelom 7.3.

Cilj je dokazati da ako brojac zapocne brojanje od bilo kog broja koji nije 3, onda nikada nece doci do broja3. Stanje u trenutku 𝑖 se opisuje pomocu dva bita 𝑝𝑖0 i 𝑝𝑖1. Zeljeno svojstvo se opisuje formulom ¬𝑝𝑖0 ∨ ¬𝑝𝑖1.Uslov koji vazi u polaznom stanju je ¬𝑝00 ∨ ¬𝑝01. Iz tablice prelaska vidi se da za svaka dva susedna stanja vazemetaformule 𝑝𝑖+1

0 ≡ ¬𝑝𝑖0 ∧¬𝑝𝑖1 i 𝑝𝑖+11 ≡ 𝑝𝑖0. Da bi se pokazalo da stanje 𝑘 ne odgovara broju 3, treba ustanoviti

da je sledeca formula nezadovoljiva:

(¬𝑝00 ∨ ¬𝑝01) ∧ (𝑝10 ⇔ ¬𝑝00 ∧ ¬𝑝01) ∧ (𝑝11 ⇔ 𝑝00) ∧ . . .

∧(𝑝𝑘0 ⇔ ¬𝑝𝑘−10 ∧ ¬𝑝𝑘−1

1 ) ∧ (𝑝𝑘1 ⇔ 𝑝𝑘−10 ) ∧ (𝑝𝑘0 ∧ 𝑝𝑘1)

Prvi konjunkt u gornjoj konjunkciji predstavlja polazni uslov, potom slede po dva konjunkta koji opisujuprelaske izmedu susednih stanja, a poslednji konjunkt izrazava negaciju zeljenog svojstva u poslednjem stanju.Ukoliko je formula zadovoljiva za neko 𝑘, to znaci da postoji put od polaznog stanja kojom se moze doci dostanja koje ne zadovoljava trazeno svojstvo. U tom slucaju, dobijena valuacija odredivala bi stanja preko kojihse moze doci do problematicnog stanja, sto moze pomoci u pronalazenju greske u analiziranom sistemu.

7.4.8 Link gramatikeLink gramatike su sintaksicki model prirodnog jezika u kojem se parovi reci povezuju vezama. U recniku

konkretnog jezika, svakoj reci jezika pridruzena je lista mogucih konektora razlicitih tipova, od kojih nekipovezuju ulevo a neki udesno. Konektori koji povezuju udesno oznacavaju se znakom „+“, a konektori kojipovezuju ulevo oznacavaju se znakom „-“. Dve reci u recenici mogu biti povezane vezom ako postoji konektorkoji levu rec povezuje udesno i konektor istog tipa koji desnu rec povezuje ulevo. Na primer, rec „big“ mozeda ima konektor A+, a rec „dog“ konektor A-, sto omogucava kreiranje fraze „big dog“. Pojedinacnim recimapridruzena su i dodatna pravila koja konjunkcijama i disjunkcijama povezuju moguce konektore. Ovakvi opisi

Page 101: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

101 7. Automatsko rasudivanje u iskaznoj logici

mogu da sadrze proizvoljno ugnjezdene disjunkcije i konjunkcije. Na primer, rec „dog“ moze da bude opisanana sledeci nacin:

dog (Ds- and (Ss+ or SIs-)) or (Ds- and A- and (Ss+ or SIs-))Ovaj opis znaci da rec „dog“ mora imati konektor Ds ulevo i, istovremeno, konektor Ss udesno ili SIs ulevo ili,alternativno, konektore Ds i A ulevo i, istovremeno, konektor Ss udesno ili SIs ulevo.

Niz reci cini ispravnu recenicu jezika definisanog gramatikom ako postoji nacin da se povezu sve njegove recitako da vaze sledeci uslovi:

• povezanost: vezama su povezane sve reci u recenici;

• zadovoljenje: sve veze zadovoljavaju sve postojece uslove za sve reci u recenici;

• planarnost: veze se ne seku (kada su iscrtane iznad reci).

U nastavku je dato ispravno povezivanje za recenicu na engleskom jeziku „the quick brown fox jumped overthe lazy dog“:

the quick brown fox jumped over the lazy dog

Ds

A

A Ss MVp

Js

Ds

A

Svaki konektor ima specificno znacenje (a za konkretan jezik moze postojati oko stotinu vrsta konektora).Za engleski jezik, na primer, konektor Ds povezuje clan (the ili a) sa imenicom u jednini, konektor A povezujeatribut sa imenicom, konektor Ss povezuje imenicu-subjekat u jednini sa glagolom, konektor O povezuje glagolesa svojim imenicom-objektom.

Parser zasnovan na link gramatikama je algoritam koji zadatoj recenici pridruzuje sintaksicku strukturusacinjenu od skupa veza izmedu parova reci. Poznavanje sintaksicke strukture recenice omogucava njeno „razu-mevanje“, dalju automatsku obradu, automatsko prevodenje na drugi jezik i slicno.

Prilikom parsiranja recenice potrebno je ispitati veliki broj mogucih povezivanja reci. Naime, za svaku recu recenici potrebno je razmatrati sve moguce konektore zadate opisom te reci u recniku. Onda je potrebnoispitati da li je tako izabrane konektore moguce povezati na ispravan nacin. Posto se svi uslovi mogu svesti nauslove da ima ili nema nekog konektora i ima ili nema neke veze, ocigledno je da se ovakvo parsiranje prirodnomoze svesti na problem sat. I, zaista, parseri za link gramatike cesto koriste taj pristup.

Ilustrujmo, pojednostavljeno, na primeru recenice na engleskom jeziku „the big dog chased John“ parsiranjekoriscenjem link gramatika. Pretpostavimo da je raspoloziv sledeci sadrzaj recnika:

the Ds+ or Dp+big A+dog (Ds- and (Ss+ or SIs-)) or (A- and (Ds- and (Ss+ or SIs-)))chased ((Ss- or T-) and O+) or V-John O-

Neka iskazna promenljiva K[the, Ds+] oznacava da ce u finalnom povezivanju rec „the“ (prva rec u recenici,uvek se misli na jednu konkretnu) biti povezana udesno konektorom Ds, neka K[the, Dp+] oznacava da ce ufinalnom povezivanju rec „the“ biti povezana udesno konektorom Dp, neka K[dog, (Ds- and (Ss+ or SIs-))]oznacava da ce u finalnom povezivanju rec biti povezana tako da zadovoljava uslov (Ds- and (Ss+ or SIs-))i tako dalje. Zbog uslova povezanosti i uslova zadovoljenja moraju biti zadovoljeni uslovi:

K[the, Ds+] ∨ K[the, Dp+]K[big, A+]K[dog, Ds- and (Ss+ or SIs-)] ∨ K[dog, (A- and (Ds- and (Ss+ or SIs-))]K[chased, (Ss- or T-) and O+] ∨ K[chased, V-]K[John, O- or (A- and O-)]Zbog uslova zadovoljenja, za slozene uslove potrebno je dodati i sledece formule (koje obraduju logicku

strukturu pravila):K[dog, Ds- and (Ss+ or SIs-)] ⇔ K[dog, Ds-] ∧ (K[dog, Ss+] ∨ K[dog, SIs-]). . .Neka iskazna promenljiva V[the-Ds-dog] oznacava da ce u finalnom povezivanju reci „the“ i „dog“ biti

povezane konektorom Ds. Za svaki par reci koji ima isti konektor usmeren u dva smera, zbog uslova ispravnogpovezivanja potrebno je dodati formule poput:

Page 102: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

7.4. Resavanje problema svodenjem na SAT 102

V[the-Ds-dog] ⇒ K[the, Ds+] ∧ K[dog, Ds-]Ukoliko bi u recenici postojala jos neka rec sa konektorom Ds- (na primer, „cat“), moralo bi da se obezbedi

da se rec „the“ povezuje samo sa jednom:¬ (V[the-Ds-dog] ∧ V[the-Ds-cat])Potrebno je obezbediti i uslov planarnosti: treba zabraniti parove veza koje se seku. Na primer, ne mogu

da budu povezane reci „the“ i „dog“ i istovremeno reci „big“ i „John“:¬ (V[the-Ds-dog] ∧ V[big-A-John]).Konjunkcija svih ovih uslova daje formulu ciju zadovoljivost treba ispitati. Ako je formula zadovoljiva, onda

(svaki) njen model daje jedno ispravno povezivanje, tj. parsiranje zadate recenice. U navedenom primeru, modelje valuacija 𝑣 u kojoj vazi:

𝑣(V[the-Ds-dog]) = 1𝑣(V[big-A-dog]) = 1𝑣(V[dog-Ss-chased]) = 1𝑣(V[chased-O-John]) = 1

sto daje ispravno povezivanje:

the big dog chased John

A

Ds

Ss O

Izrazajna snaga link gramatika jednaka je izrazajnoj snazi konteksno slobodnih gramatika, ali je opisivanjegramatike prirodnog jezika i parsiranje cesto znatno lakse za link gramatike.

7.4.9 SAT-resavaci i dimacs-cnf formatPrograme koji resavaju instance sat problema zovemo sat-resavaci (eng. sat-solvers). Vecina savremenih

sat-resavaca zasnovana je na DPLL proceduri, ali je obogacena mnogim tehnikama i heuristikama. Neki odpopularnih sat-resavaca su MiniSAT, PicoSAT i zChaff.

sat-resavaci obicno ocekuju ulaz u dimacs-cnf formatu. U ovom formatu, prvi red sadrzi informacijuo broju iskaznih promenljivih i broju klauza, a naredni redovi sadrze zapis po jedne klauze. Promenljive suoznacene rednim brojevima, negirane promenljive odgovarajucim negativnim brojevima i svaki red zavrsava sebrojem 0. Na primer, sadrzaj

p cnf 3 21 -3 0-1 2 3 0

odgovara formuli (sa tri promenljive i dve klauze): (𝑝1 ∨ ¬𝑝3) ∧ (¬𝑝1 ∨ 𝑝2 ∨ 𝑝3).

Pitanja i zadaci

7.72. Dva 2-bitna broja se sabiraju i daju rezultat 3. Primenom DPLL procedure naci takva dva broja.

7.73. Zapisati formulu koja opisuje uslov da se u svakoj vrsti table za igru oblika 2 × 2 polja moze postavititacno jedan zeton i proveriti njenu zadovoljivost DPLL procedurom.

7.74. Robot treba da rasporedi dva objekta u dve kutije. Pri tome ne sme oba objekta da stavi u istu kutiju. Uvidu iskazne formule zapisati uslove koji definisu dopustive rasporede. Objasniti koje je znacenje koje iskaznepromenljive. Pomocu DPLL procedure naci neko ispravno rasporedivanje.

7.75. Na tabli 2 × 2 postavljaju se zetoni. U vidu iskazne formule zapisati uslov da na bar jednoj dijagonalimoraju biti postavljena bar dva zetona. Pomocu DPLL algoritma ispitati zadovoljivost ove formule i navestineki model koji ovaj algoritam daje. Sta daje dobijeni model?

7.76. U iskaznoj logici

1. zapisati uslov da bitovi 3-bitnog broja moraju biti jednaki i

2. DPLL procedurom proveriti da li takav broj postoji i, ako postoji, naci primer takvog broja.

Page 103: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

103 7. Automatsko rasudivanje u iskaznoj logici

7.77. U vidu iskazne formule zapisati uslov da je 4-bitna reprezentacija broja palindrom, ali da nisu svi bitoviisti. DPLL procedurom proveriti da li postoji takav broj i ako postoji naci primer.

7.78. Tri kuce se boje crvenom ili plavom bojom. Ukoliko je prva kuca obojena crveno, druge dve moraju bitiiste boje. Ukoliko je druga kuca obojena crveno, treca mora biti plava. Zapisati date uslove u iskaznoj logici iDPLL procedurom proveriti da li je moguce kuce obojiti u skladu sa ovim pravilima. Ukoliko jeste, naci primertakvog bojenja.

7.79. Temena trougla se boje pomocu dve boje. Pri tome, nijedan par temena ne moze imati istu boju. Zapisatidate uslove u vidu formule iskazne logike i DPLL procedurom proveriti da li je moguce temena obojiti u skladusa datim pravilima. Ukoliko jeste, naci primer takvog bojenja.

7.80. Za kolo dato na slici, DPLL procedurom proveriti da li moze da da izlaz 1 i, ukoliko je to moguce, nacikombinaciju vrednosti na ulazima za koju je to slucaj.

7.81. Koristeci direktno kodiranje zapisati sledece uslove: 𝐴,𝐵,𝐶 ∈ 4, 5, 𝐴 = 𝐵, 𝐶 > 𝐵.

7.82. Polja tabele 2 × 2 treba obojiti crvenom ili plavom bojom. Ako je polje (1,1) ofarbano crvenom bojomonda barem jedno od ostalih polja mora biti plavo. Ako je polje (2,2) ofarbano plavom bojom, onda barem dvaostala polja moraju biti crvena. Ne smeju sva polja biti ofarbana istom bojom. Zapisati date uslove u viduformule iskazne logike i DPLL procedurom proveriti da li je moguce polja obojiti u skladu sa ovim pravilima.Ukoliko jeste, naci primer takvog bojenja (polja su oznacena sa (1,1) (1,2) (2,1) i (2,2)).

7.83. Tabela 2× 2 se boji crvenom ili plavom bojom. Ako je polje B plave boje, polje C je crvene boje. PoljaA i D su razlicite boje. Ako je B crvene boje, A je takode crvene boje. DPLL procedurom naci jedan primerbojenja.

A BC D

7.84. Svaki stanovnik jedne drzave ili uvek laze ili uvek govori istinu i na svako pitanje odgovara uvek samo sada ili ne. Neki turista dolazi na raskrsnicu u toj drzavi i zna da samo jedan od dva puta vodi do glavnog grada.Ne postoji znak koji pokazuje koji je to put, ali postoji mestanin 𝑅 koji stoji na raskrsnici. Koje da-ili-nepitanje treba turista da postavi da bi odredio kojim putem da krene?

7.85. Igra Vumpus igra se na tabli od 4× 4 polja koja predstavlja unutrasnjost pecine. U pecini zivi cudovisteVumpus i nalazi se na jednom od polja. Na nekim poljima mogu se nalaziti provalije, a na jednom polju nalazise zlato. U pecini je mrak, pa igrac ne zna unapred sadrzaj nijednog polja. Igrac se na pocetku nalazi na jednompolju i njegov zadatak je da otkrije na kojem polju je zlato. Na poljima oko provalija oseca se povetarac. Kakose Vumpus ne kupa, na poljima oko njega oseca se smrad. Ako igrac stane na polje na kome se nalazi provalijaili Vumpus, on strada i igra je zavrsena. Igrac ima jednu strelu koju moze odapeti na susedno polje kako biubio Vumpusa. Igrac je na pocetnom polju (1,1). Primer table je prikazan na narednoj slici.

Page 104: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 105: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 8

Automatsko rasudivanje u logici prvog reda

Logika prvog reda, predikatska logika, znatno je izrazajnija od iskazne logike. Kljucna novina u odnosuna iskaznu logiku je uvodenje kvantifikovanja, univerzalnog i egzistencijalnog. Zahvaljujuci kvantifikatorima, ulogici prvog reda mogu se formulisati tvrdenja koja nije moguce formulisati na jeziku iskazne logike. U logiciprvog reda dozvoljeno je samo kvantifikovanje promenljivih.1 U okviru logike prvog reda mogu se opisati mnogematematicke teorije i mnogi prakticni problemi. Za neke probleme (nad konacnim domenima) pogodnije jeresavanje koriscenjem iskazne logike, ali za neke je opisivanje i resavanje znatno lakse koriscenjem predikatskelogike.

Kao i u iskaznoj logici, centralni problemi u predikatskoj logici su ispitivanje da li je data formula valjana ida li je data formula zadovoljiva. Za razliku od iskazne logike, ovi problemi nisu odlucivi, te ne postoje efektivnialgoritmi za njihovo resavanje. No, problem ispitivanja nezadovoljivosti i problem ispitivanja valjanosti zapredikatsku logiku su poluodlucivi, pa postoje metode koje za svaku valjanu formulu mogu da dokazu da je onavaljana (ali ne mogu za bilo koju formulu koja nije valjana da utvrde da nije valjana).

𝐶

𝐴

𝐵

Slika 8.1: Ilustracija za problem uredenja tri kutije

Primer 8.1. Razmotrimo jednu (jednostavnu varijantu) problema slaganja kutija: kutije (oznacene slo-vima) poredane su jedna na drugu. Za neke se zna da li su ispod ili iznad neke druge kutije, ali nije zadatapotpuna informacija o poretku svih kutija (ovaj problem moze se razmatrati i kao problem muzickih kompaktdiskova poredanih na jednom stapu). (U ovom jednostavnom primeru, dovoljno je barati informacijama otome koja je kutija iznad neke kutije. Ipak, u ovom primeru koriste se i informacije o odnosima ispod.Naime, u mnogim realnim primenama pogodniji je izrazajniji jezik nego minimalni.)

Pretpostavimo da su nekako naslagane tri kutije 𝐴, 𝐵 i 𝐶 i da je poznato da je 𝐵 iznad 𝐴, a da je𝐶 ispod 𝐴. Pitanje je da li je 𝐵 iznad ili ispod 𝐶. Opisani problem mozemo opisati u terminima iskaznelogike: iskazna promenljiva 𝑎𝐴𝐵 (od engleskog above) moze da oznacava da je 𝐴 iznad 𝐵, 𝑎𝐴𝐶 da je 𝐴iznad 𝐶, 𝑎𝐵𝐴 da je 𝐵 iznad 𝐴, 𝑏𝐵𝐶 (od engleskog below) da je 𝐵 ispod 𝐶, itd. Potrebno je za svake dvekutije obezbediti da vazi da ako je prva iznad druge, onda druga nije iznad prve, odnosno: 𝑎𝐴𝐵 ⇒ ¬𝑎𝐵𝐴.Potrebno je za svake dve kutije obezbediti da vazi da ako je prva iznad druge, onda je druga ispod prvei obratno, odnosno: 𝑎𝐴𝐵 ⇔ 𝑏𝐵𝐴. Potrebno je za svake tri kutije obezbediti da vazi: ako je prva iznaddruge i druga iznad trece, onda je prva iznad trece, odnosno: 𝑎𝐴𝐵 ∧ 𝑎𝐵𝐶 ⇒ 𝑎𝐴𝐶 . Ako postoje tri kutije,

1U logici viseg reda predikati i funkcije kao argumente mogu imati druge predikate i funkcije i dozvoljeno je njihovo kvantifi-kovanje. Na primer, u logici drugog reda predikati i funkcije mogu za argumente imati predikate i funkcije prvog reda i mogu bitikvantifikovani. Predikati i funkcije reda 𝑛 mogu za argumente imati predikate i funkcije 𝑛− 1 reda i mogu biti kvantifikovani.

105

Page 106: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.1. Sintaksa i semantika logike prvog reda 106

onda ovakvih uslova ima 3! = 6, a ako ih ima 𝑛, onda tih uslova ima 6(𝑛3

). Dakle, iako jeste moguce,

kodiranje u terminima iskazne logike moze da bude rogobatno i prostorno veoma zahtevno. Bilo bi dobroako bismo umesto 6

(𝑛3

)uslova mogli da koristimo samo jedan: „za svake tri kutije 𝑋, 𝑌 , 𝑍 vazi: ako

je 𝑎𝑋𝑌 i 𝑎𝑌 𝑍 onda je 𝑎𝑋𝑍 .“ Logika prvog reda daje takvu mogucnost i zadati problem mogao bi da seelegantno opise sledecim uslovima, pri cemu se ne koriste iskazne promenljive poput 𝑎𝐴𝐵 nego atomickeformule sa argumentima poput 𝑎𝑏𝑜𝑣𝑒(𝐴,𝐵) i 𝑏𝑒𝑙𝑜𝑤(𝐴,𝐵), pri cemu 𝑎𝑏𝑜𝑣𝑒(𝐴,𝐵) oznacava da je 𝐴 iznad𝐵, a 𝑏𝑒𝑙𝑜𝑤(𝐴,𝐵) oznacava da je 𝐴 ispod 𝐵:

• „za svake dve kutije 𝑥, 𝑦 vazi: ako je 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦) onda nije 𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥).“

• „za svake dve kutije 𝑥, 𝑦 vazi: 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦) ako i samo ako 𝑏𝑒𝑙𝑜𝑤(𝑦, 𝑥).“

• „za svake tri kutije 𝑥, 𝑦, 𝑧 vazi: ako je 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦) i 𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑧) onda je 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑧).“

Za sve navedene, a i druge slicne formule, potrebno je definisati nacin na koji im se pridruzuje vrednosttacno ili netacno. Iz navedenih uslova potrebno je za proizvoljne tri kutije 𝑥, 𝑦, 𝑧, iz pretpostavke da vazi𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥) i 𝑏𝑒𝑙𝑜𝑤(𝑧, 𝑥) izvesti zakljucak 𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑧) ili 𝑎𝑏𝑜𝑣𝑒(𝑧, 𝑦).

8.1 Sintaksa i semantika logike prvog reda

8.1.1 Sintaksa logike prvog reda

Sintaksa logike prvog reda govori o njenom jeziku — o skupu njenih (ispravno formiranih) formula i nerazmatra njihovo znacenje i njihove (moguce) istinitosne vrednosti. Skup formula logike prvog reda obicno sedefinise za fiksiran, prebrojiv skup promenljivih 𝑉 , dve logicke konstante — ⊤ (te) i ⊥ (nete), konacan skuposnovnih logickih veznika: unarnog — negacija i binarnih — konjunkcija, disjunkcija, implikacija, ekvivalencija,kao i dva kvantifikatora (kvantora) — univerzalni i egzistencijalni. Nabrojane komponente cine logicki (ili opsti)deo jezika prvog reda. Pored njih, u izgradnji formula logike prvog reda koriste se elementi signature.

Definicija 8.1 (Signatura). Signaturu ℒ cine:

• (najvise prebrojiv) skup funkcijskih simbola (sa svojim arnostima);

• (najvise prebrojiv) skup predikatskih (relacijskih) simbola (sa svojim arnostima);

Funkcijske simbole arnosti 0 zovemo simbolima konstanti.

Na primer, sa 𝑓/2 oznacavamo da funkcijski simbol 𝑓 ima arnost 2.Pojedinacni jezici prvog reda razliku se po signaturi. Za svaki zaseban problem (ili matematicku teoriju)

bira se specificna, pogodna signatura. Na primer, za resavanje problema kutija (iz primera 8.1), koristice sepredikatski simboli koji odgovaraju polozajima ispod i iznad, u izgradnji geometrije koristice se predikatskisimbol za paralelnost, a u izgradnji aritmetike – funkcijski simbol +.

Naredna definicija uvodi pojmove termova i formula logike prvog reda (ili krace – skup formula) nad ne-kom (fiksiranom) signaturom ℒ. Termove, atomicke formule i formule nad signaturom ℒ zvacemo, krace, samotermovi, atomicke formule i formule, ako je signatura jasno odredena kontekstom ili ako nije relevantna. Intu-itivno, termovi odgovaraju elementima nekog domena (na primer, zbiru moze da odgovara broj), a formulamaodgovaraju tvrdenja koja mogu biti tacna ili netacna.

Definicija 8.2 (Skup termova i formula logike prvog reda nad signaturom ℒ). Za signaturu ℒ:

• promenljive i funkcijski simboli arnosti 0 su termovi; term je i objekat dobijen primenom funkcijskogsimbola 𝑓 arnosti 𝑛 na termove 𝑡1, . . . , 𝑡𝑛;

• atomicka formula je logicka konstanta ili objekat dobijen primenom predikatskog simbola 𝑝 arnosti 𝑛na termove 𝑡1, . . . , 𝑡𝑛;

• atomicke formule su formule;

• ako su 𝒜 i ℬ formule, onda su formule i objekti dobijeni kombinovanjem ovih formula logickimveznicima i kvantifikatorima (sa promenljivim).

Page 107: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

107 8. Automatsko rasudivanje u logici prvog reda

Literal je atomicka formula ili negacija atomicke formule. Klauza je disjunkcija vise literala.U navedenoj definiciji (u duhu apstraktne sintakse) ne govori se o tome kako se zapisuju ili citaju formule

logike prvog reda, vec samo o tome kako se grade na apstraktan nacin (implicitno — u vidu stabla). Nacinna koji se logicki veznici i iskazne formule zapisuju moze se zadati konkretnom sintaksom. Analogno iskaznomslucaju, uobicajeno je da se negacija zapisuje kao ¬, konjunkcija kao ∧, disjunkcija kao ∨, implikacija kao ⇒,ekvivalencija kao ⇔, univerzalni kvantifikator kao ∀, egzistencijalni kao ∃. Primenu funkcijskog simbola 𝑓 natermove 𝑡1, . . . , 𝑡𝑛 zapisujemo prefiksno kao 𝑓(𝑡1, . . . , 𝑡𝑛) (i analogno za predikatske simbole). Binarne funkcijskei predikatske simbole ponekad cemo zapisivati i u infiksnom obliku. U ovakvom konkretnom zapisu (koji ce sekoristiti u nastavku) ako su 𝒜 i ℬ formule i 𝑥 element skupa 𝑉 , onda su formule i (¬𝒜), (𝒜 ∧ ℬ), (𝒜 ∨ ℬ),(𝒜 ⇒ ℬ), (𝒜 ⇔ ℬ), ∀𝑥𝒜, ∃𝑥𝒜 i slicno. Na primer, zapis ∀𝑥𝒜 citamo „za svako 𝑥 𝒜“, zapis ∃𝑥𝒜 citamo „postoji 𝑥takvo da je 𝒜“, U ovakvom, konkretnom zapisu, neophodno je koristiti zagrade kako bi se izbegla visesmislenost.Da bi se izbeglo koriscenje velikog broja zagrada obicno se izostavljaju spoljne zagrade i podrazumeva prioritetveznika kao u iskaznoj logici, uz dodatak da kvantifikatori imaju visi prioritet od svih veznika.

Uz indeks ili bez indeksa, simbole konstanti obicno (mada ne iskljucivo) oznacavamo simbolima 𝑎, 𝑏, 𝑐, . . .,funkcijske simbole arnosti vece od 0 simbolima 𝑓, 𝑔, ℎ, . . ., predikatske simbole simbolima 𝑝, 𝑞, 𝑟, . . ., promenljivesimbolima 𝑥, 𝑦, 𝑧, . . ., formule simbolima 𝒜,ℬ, 𝒞, . . ., skupove formula simbolima Γ,Δ, . . ..

Ako su dve formule 𝒜 i ℬ identicne (tj. ako su, zapisane u konkretnoj sintaksi, jednake kao nizovi simbola),onda to oznacavamo 𝒜 = ℬ a inace pisemo 𝒜 = ℬ.

Primer 8.2. Signatura za problem iz primera 8.1 je ℒ = (, 𝑎𝑏𝑜𝑣𝑒/2, 𝑏𝑒𝑙𝑜𝑤/2). Za ovu signaturu i skuppromenljivih 𝑉 = 𝑥, 𝑦, 𝑧, . . ., neke od formula su 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑧), 𝑏𝑒𝑙𝑜𝑤(𝑥, 𝑦), ∀𝑥 ¬𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑥).

Primer 8.3. Za signaturu ℒ = (𝑒/0, ⋆/2, ≺/2), i skup promenljivih 𝑉 = 𝑥, 𝑦, 𝑧, . . ., neki od termovasu: 𝑒, ⋆(𝑥, 𝑦), a neke od formula su ≺ (𝑥, 𝑒), ≺ (⋆(𝑥, 𝑦), 𝑧), ∀𝑥¬(≺ (𝑥, 𝑥)). Ukoliko se binarni funkcijskii predikatski simboli zapisu infiksno (umesto prefiksno), onda se navedeni termovi i formule zapisuju nasledeci nacin: 𝑒, 𝑥 ⋆ 𝑦, 𝑥 ≺ 𝑒, (𝑥 ⋆ 𝑦) ≺ 𝑧, ∀𝑥¬(𝑥 ≺ 𝑥).

Primer 8.4. Razmotrimo signaturu ℒ = (𝑠𝑜𝑘𝑟𝑎𝑡/0, 𝑚𝑎𝑛/1,𝑚𝑜𝑟𝑡𝑎𝑙/1). Neki od termova nad ovomsignaturom i skupom promenljivih 𝑉 = 𝑥, 𝑦, 𝑧, . . . su: 𝑥, 𝑦, 𝑠𝑜𝑘𝑟𝑎𝑡, neke od atomickih formula su 𝑚𝑎𝑛(𝑥),𝑚𝑜𝑟𝑡𝑎𝑙(𝑦), 𝑚𝑜𝑟𝑡𝑎𝑙(𝑠𝑜𝑘𝑟𝑎𝑡), a neke od formula su (∀𝑥)𝑚𝑎𝑛(𝑥) i (∀𝑥)(𝑚𝑎𝑛(𝑥)⇒ 𝑚𝑜𝑟𝑡𝑎𝑙(𝑥)).

Primer 8.5. U neformalnom i poluformalnom matematickom izrazavanju, mogu se sresti konstrukcijepoput ∀𝑥 < 𝛿.... Iako, po simbolima koje ukljucuje, podseca na formulu logike prvog reda, ovo ocigledno nijedobro zasnovana formula. Na primer, neprekidnost i ravnomerna neprekidnost (totalne) realne funkcije 𝑓cesto se definisu na sledeci nacin:

(∀𝑎)(∀𝜀 > 0)(∃𝛿 > 0)(∀𝑥)(|𝑥− 𝑎| < 𝛿 ⇒ |𝑓(𝑥)− 𝑓(𝑎)| < 𝜀)

(∀𝜀 > 0)(∃𝛿 > 0)(∀𝑥1, 𝑥2)(|𝑥1 − 𝑥2| < 𝛿 ⇒ |𝑓(𝑥1)− 𝑓(𝑥2)| < 𝜀)

Odgovarajuce (precizno zapisane) dobro zasnovane formule su:

(∀𝑎)(∀𝜀)(𝜀 > 0⇒ (∃𝛿)(𝛿 > 0 ∧ (∀𝑥)(|𝑥− 𝑎| < 𝛿 ⇒ |𝑓(𝑥)− 𝑓(𝑎)| < 𝜀)))

(∀𝜀)(𝜀 > 0⇒ (∃𝛿)(𝛿 > 0 ∧ (∀𝑥1)(∀𝑥2)(|𝑥1 − 𝑥2| < 𝛿 ⇒ |𝑓(𝑥1)− 𝑓(𝑥2)| < 𝜀)))

Definicija 8.3 (Slobodno i vezano pojavljivanje promenljive). U formulama ∀𝑥𝒜 i ∃𝑥𝒜, formula 𝒜 jedoseg kvantifikatora.

Pojavljivanje promenljive 𝑥 je vezano u ∀𝑥 i ∃𝑥, kao i ako je u dosegu kvantifikatora ∀𝑥 ili ∃𝑥, a inace jeslobodno. Promenljiva je vezana (slobodna) u formuli ako i samo ako ima vezano (slobodno) pojavljivanjeu toj formuli.

Primetimo da promenljiva moze biti i slobodna i vezana u jednoj formuli.

Page 108: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.1. Sintaksa i semantika logike prvog reda 108

Primer 8.6. U formuli 𝑝(𝑥, 𝑦), pojavljivanje promenljive 𝑥 je slobodno i ona je slobodna u ovoj formuli.U formuli 𝑝(𝑥, 𝑦)⇒ (∀𝑥)𝑞(𝑥) prvo pojavljivanje promenljive 𝑥 je slobodno, a drugo i trece pojavljivanje

je vezano. U ovoj formuli, promenljiva 𝑥 je i slobodna i vezana.U formuli (∀𝑥)𝑝(𝑥, 𝑦)⇒ (∀𝑥)𝑞(𝑥), sva pojavljivanja promenljive 𝑥 su vezana i promenljiva je vezana u

ovoj formuli.U sva tri primera, pojavljivanja promenljive 𝑦 su slobodna.

Cesto se zapisom 𝒜(𝑥1, 𝑥2, . . . , 𝑥𝑛) naglasava da formula 𝒜 ima slobodne promenljive 𝑥1, 𝑥2, . . ., 𝑥𝑛.Formule bez slobodnih promenljivih zovu se zatvorene formule ili recenice. Ako formula 𝒜 ima kao slobodne

samo promenljive 𝑥1, 𝑥2, . . . , 𝑥𝑘 onda formulu (∀𝑥1)(∀𝑥2) . . . (∀𝑥𝑘)𝒜 nazivamo univerzalnim zatvorenjem formule𝒜, a formulu (∃𝑥1)(∃𝑥2) . . . (∃𝑥𝑘)𝒜 egzistencijalnim zatvorenjem formule 𝒜.

8.1.2 ZamenaU logici prvog reda, razmatramo zamene promenljive termom i zamene formule formulom. Zamene promen-

ljive termom bice koriscene u kontekstu unifikacije (poglavlje 8.3.3), a zamene formule formulom u kontekstutransformisanja formula zarad jednostavnijeg ispitivanja valjanosti ili zadovoljivosti.

Zamena promenljive termom definise se u logici prvog reda u istom duhu kao u iskaznoj logici: ako termovei formule reprezentujemo u racunarskom programu u vidu stabla, onda zamenu promenljive termom mozemoopisati rekurzivnom funkcijom koja zamenjuje listove formule nekim drugim zadatim stablom. U tome postojijedno dodatno pravilo. Ukoliko se primenjuje zamena promenljive 𝑥 termom 𝑡, tj. zamena [𝑥 ↦→ 𝑡], nijednapromenljiva iz 𝑡 ne sme da postane vezana (jer bi to menjalo znacenje formule). Zato, ako se, na primer,primenjuje zamena [𝑥 ↦→ 𝑡] na formulu (∀𝑦)𝒜 (ili (∃𝑦)𝒜) a pri tome term 𝑡 sadrzi promenljivu 𝑦, onda pro-menljivu 𝑦 najpre treba preimenovati u formuli (∀𝑦)𝒜, dajuci (∀𝑧)𝒜[𝑦 ↦→ 𝑧]. Time se znacenje formule (∀𝑦)𝒜(koje ce tek u nastavku biti definisano) ne menja i isto je kao i znacenje formule (∀𝑧)𝒜[𝑦 ↦→ 𝑧] (slicno kaosto vrednost

∫ 𝜋

0𝑠𝑖𝑛(𝑥)𝑑𝑥 ne zavisi od 𝑥 iako 𝑥 figurise u ovom izrazu). Zahvaljujuci tom pravilu, na primer,

((∃𝑦)𝑜𝑡𝑎𝑐(𝑥, 𝑦))[𝑥 ↦→ 𝑦] jednako je (∃𝑧)𝑜𝑡𝑎𝑐(𝑦, 𝑧) a ne (∃𝑦)𝑜𝑡𝑎𝑐(𝑦, 𝑦) (sto ima drugacije znacenje).

Definicija 8.4 (Supstitucija i kompozicija supstitucija). Supstitucija (ili uopstena zamena) 𝜎 je niz uza-stopnih zamena [𝑥1 ↦→ 𝑡1], [𝑥2 ↦→ 𝑡2], . . ., [𝑥𝑛 ↦→ 𝑡𝑛] gde su 𝑥𝑖 promenljive, 𝑡𝑖 su proizvoljni termovi, vazi𝑥𝑖 = 𝑥𝑗 za 𝑖 = 𝑗 i nijedan od termova 𝑡𝑖 ne sadrzi nijednu od promenljivih 𝑥𝑗. Takvu zamenu zapisujemokrace [𝑥1 ↦→ 𝑡1, 𝑥2 ↦→ 𝑡2, . . . , 𝑥𝑛 ↦→ 𝑡𝑛].

Za supstitucije 𝜑 = [𝑥1 ↦→ 𝑡1, 𝑥2 ↦→ 𝑡2, . . . , 𝑥𝑛 ↦→ 𝑡𝑛] i 𝜆 = [𝑦1 ↦→ 𝑠1, 𝑦2 ↦→ 𝑠2, . . . , 𝑦𝑚 ↦→ 𝑠𝑚], pri cemunijedan od termova 𝑦𝑖, 𝑠𝑖 ne sadrzi nijednu od promenljivih 𝑥𝑗, kompozicija supstitucija 𝜑𝜆 je supstitucija[𝑥1 ↦→ 𝑡1𝜆, 𝑥2 ↦→ 𝑡2𝜆, . . . , 𝑥𝑛 ↦→ 𝑡𝑛𝜆, 𝑦1 ↦→ 𝑠1, 𝑦2 ↦→ 𝑠2, . . . , 𝑦𝑚 ↦→ 𝑠𝑚].

Primer 8.7. Za 𝜎 = [𝑥 ↦→ 𝑓(𝑦)] i 𝑠 = 𝑔(𝑎, 𝑥) vazi 𝑠𝜎 = 𝑔(𝑎, 𝑓(𝑦)).Za 𝜎 = [𝑥 ↦→ 𝑓(𝑥)] i 𝑠 = 𝑔(𝑎, 𝑥) vazi 𝑠𝜎 = 𝑔(𝑎, 𝑓(𝑥)).Za 𝜎 = [𝑥 ↦→ 𝑓(𝑦), 𝑦 ↦→ 𝑎], 𝑠 = 𝑔(𝑎, 𝑥) i 𝑡 = 𝑔(𝑦, 𝑔(𝑥, 𝑦)) vazi 𝑠𝜎 = 𝑔(𝑎, 𝑓(𝑦)) i 𝑡𝜎 = 𝑔(𝑎, 𝑔(𝑓(𝑦), 𝑎)).Za 𝜎 = [𝑥 ↦→ 𝑠𝑜𝑘𝑟𝑎𝑡, 𝑦 ↦→ 𝑝𝑙𝑎𝑡𝑜𝑛] i 𝑠 = 𝑢𝑐𝑖𝑡𝑒𝑙𝑗(𝑥, 𝑦) vazi 𝑠𝜎 = 𝑢𝑐𝑖𝑡𝑒𝑙𝑗(𝑠𝑜𝑘𝑟𝑎𝑡, 𝑝𝑙𝑎𝑡𝑜𝑛).Za 𝜑 = [𝑥 ↦→ 𝑓(𝑦)] i 𝜆 = [𝑦 ↦→ 𝑔(𝑧)], vazi 𝜑𝜆 = [𝑥 ↦→ 𝑓(𝑔(𝑧)), 𝑦 ↦→ 𝑔(𝑧)].Za 𝜑 = [𝑥 ↦→ 𝑓(𝑦)] i 𝜆 = [𝑦 ↦→ 𝑔(𝑥)], vazi 𝜑𝜆 = [𝑥 ↦→ 𝑓(𝑔(𝑥)), 𝑦 ↦→ 𝑔(𝑥)].

Ako formule reprezentujemo u racunarskom programu u vidu stabla, onda zamenu formule formulom mozemo,slicno kao u iskaznom slucaju, opisati rekurzivnom funkcijom (ciji su bazni slucajevi opisani prvim dvema stav-kama naredne definicije). Ta funkcija zamenjuje jedno podstablo formule nekim drugim zadatim stablom.

Definicija 8.5 (Zamena formule formulom). Formulu dobijenu zamenom (supstitucijom) formule ℬ1 for-mulom ℬ2 u formuli 𝒜, oznacavamo sa 𝒜[ℬ1 ↦→ ℬ2] i definisemo na sledeci nacin:

• ako je 𝒜 = ℬ1, onda je 𝒜[ℬ1 ↦→ ℬ2] = ℬ2;

• ako je formula 𝒜 atomicka i nije jednaka ℬ1, onda je 𝒜[ℬ1 ↦→ ℬ2] = 𝒜;

• (¬𝒜)[ℬ1 ↦→ ℬ2] = ¬(𝒜[ℬ1 ↦→ ℬ2]);

Page 109: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

109 8. Automatsko rasudivanje u logici prvog reda

• (𝒜 ∧ ℬ)[ℬ1 ↦→ ℬ2] = 𝒜[ℬ1 ↦→ ℬ2] ∧ ℬ[ℬ1 ↦→ ℬ2];

• (𝒜 ∨ ℬ)[ℬ1 ↦→ ℬ2] = 𝒜[ℬ1 ↦→ ℬ2] ∨ ℬ[ℬ1 ↦→ ℬ2]);

• (𝒜 ⇒ ℬ)[ℬ1 ↦→ ℬ2] = 𝒜[ℬ1 ↦→ ℬ2]⇒ ℬ[ℬ1 ↦→ ℬ2];

• (𝒜 ⇔ ℬ)[ℬ1 ↦→ ℬ2] = 𝒜[ℬ1 ↦→ ℬ2]⇔ ℬ[ℬ1 ↦→ ℬ2];

• (∀𝑥𝒜)[ℬ1 ↦→ ℬ2] = (∀𝑥)𝒜[ℬ1 ↦→ ℬ2];

• (∃𝑥𝒜)[ℬ1 ↦→ ℬ2] = (∃𝑥)𝒜[ℬ1 ↦→ ℬ2].

U daljem tekstu cemo pod terminom izraz podrazumevati i termove i formule. Izraz koji je rezultat primenezamene 𝜎 nad izrazom 𝐸, oznacavamo sa 𝐸𝜎.

8.1.3 Semantika logike prvog redaSemantika logike prvog reda govori o znacenju formula. Kao i u jednostavnijem slucaju iskazne logike,

osnovna ideja semantike je da istinitosne vrednosti formula definise u skladu sa uobicajenim, svakodnevnimrasudivanjem. U odnosu na iskazni slucaj, stvari komplikuju kvantifikatori, kao i potpuno drugacija prirodapromenljivih. Naime, promenljive se ne preslikavaju, kao u iskaznoj logici, u skup 0, 1, nego se mogu pre-slikavati u elemente proizvoljnog skupa koji zovemo univerzum (na primer, u skup celih brojeva ili u skupstanovnika neke drzave). Znacenje formula, dodatno, nije odredeno samo nacinom na koji su promenljivimpridruzene vrednosti, nego i time sta odgovara funkcijskim i predikatskim simbolima – to ce biti neke konkretnefunkcije i relacije nad izabranim domenom. Zbog toga, istinitosna vrednost formule zavisi od vise izbora i zarazlicite izbore moze da bude drugacija. Reci cemo da je formula valjana ako je tacna za svaki od tih izbora.

Razmotrimo, na primer, formulu 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦). Mozemo je interpretirati na mnogo razlicitih nacina. Jedanje da smatramo da 𝑥 i 𝑦 oznacavaju kutije naslagane na nekoj konkretnoj gomili, a da predikatskom simbolu𝑎𝑏𝑜𝑣𝑒 odgovara relacija „biti iznad“ za kutije na toj konkretnoj gomili. Drugi nacin je da smatramo da 𝑥 i 𝑦oznacavaju cele brojeve, a da predikatskom simbolu 𝑎𝑏𝑜𝑣𝑒 odgovara relacija > nad celim brojevima. U svakomslucaju, formulama pridruzujemo znacenje vezano za neki konkretan skup i neke konkretne funkcije i relacije nadnjim i u stanju smo da za bilo koje elemente tog skupa efektivno izracunamo vrednosti tih funkcija i efektivnoodredimo da li je zadovoljena neka relacija (na primer, u stanju smo da efektivno proverimo da li vazi 3 > 5, toje jednostavan uslov nad celim brojevima). Slika 8.2 ilustruje dve pomenute interpretacije, na svakoj slici levoje svet sintakse, a desno – svet semantike, levo su termovi i formule, a desno – njihovo izabrano znacenje. Uinterpretaciji ilustrovanoj na slici 8.2 desno, promenljivama 𝑥 i 𝑦 pridruzene su vrednosti 3 i 5, a predikatskomsimbolu 𝑎𝑏𝑜𝑣𝑒 relacija >, te se formula 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦) preslikava u vrednost 0, jer 3 > 5 je netacno nad celimbrojevima.

𝑥

𝑦

𝑧𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)

𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥)

𝐵

𝐴𝐶

𝐵 je iznad 𝐴

𝐴 je iznad 𝐵

𝑥

𝑦

𝑧𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)

𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥)

3

511

3 > 5

5 > 3

Slika 8.2: Ilustracija za semantiku logike prvog reda

Uvedimo sada pojam interpretacije precizno. Interpretacija je odredena ℒ-strukturom (univerzumom i iza-branim znacenjem funkcijskih i predikatskih simbola) i valuacijom (vrednoscu promenljivih).

Definicija 8.6 (ℒ-struktura). Za datu signaturu ℒ, ℒ-struktura D je par (𝐷, 𝐼), gde je 𝐷 skup, a 𝐼 funkcijai vazi:

• 𝐷 je neprazan skup i zovemo ga univerzum (ponekad i domen ili nosac);

• svakom simbolu konstante 𝑐 iz ℒ (tj. svakom funkcijskom simbolu arnosti 0), funkcija 𝐼 pridruzujejedan element 𝑐𝐼 iz 𝐷;

Page 110: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.1. Sintaksa i semantika logike prvog reda 110

• svakom funkcijskom simbolu 𝑓 iz ℒ arnosti 𝑛, 𝑛 > 0, funkcija 𝐼 pridruzuje jednu totalnu funkciju 𝑓𝐼iz 𝐷𝑛 u 𝐷;

• svakom predikatskom simbolu 𝑝 iz ℒ arnosti 𝑛, 𝑛 > 0, funkcija 𝐼 pridruzuje jednu relaciju, tj. totalnufunkciju 𝑝𝐼 iz 𝐷𝑛 u 0, 1.

Primer 8.8. Za signaturu ℒ = (, 𝑎𝑏𝑜𝑣𝑒/2, 𝑏𝑒𝑙𝑜𝑤/2) (iz primera 8.2), jedna moguca ℒ-struktura je(K, 𝐼), gde je K konkretan skup kutija prikazanih na slici 8.1. Predikatski simboli 𝑎𝑏𝑜𝑣𝑒 i 𝑏𝑒𝑙𝑜𝑤 preslikavajuse u relacije „jeste iznad“ i „jeste ispod“ nad tim konkretnim kutijama, u konkretnom odnosu koji imaju.

Definicija 8.7 (Valuacija). Valuacija 𝑣 za skup promenljivih 𝑉 u odnosu na domen 𝐷 je preslikavanje kojesvakom elementu iz 𝑉 dodeljuje jedan element iz 𝐷. Ako je 𝑣(𝑥𝑖) = 𝑑𝑗, onda kazemo da je 𝑑𝑗 vrednostpromenljive 𝑥𝑖 u valuaciji 𝑣.

Ako su 𝑣 i 𝑤 valuacije za isti skup promenljivih i u odnosu na isti domen, onda sa 𝑣 ∼𝑥 𝑤 oznacavamoda je 𝑣(𝑦) = 𝑤(𝑦) za svaku promenljivu 𝑦 razlicitu od 𝑥, pri cemu vrednosti 𝑣(𝑥) i 𝑤(𝑥) mogu a ne morajubiti iste.

Primer 8.9. Za domen iz primera 8.8, valuacija 𝑣 moze da preslikava promenljive 𝑥 i 𝑦 u (konkretne)kutije 𝐵 i 𝐴 , tj. 𝑣(𝑥) = 𝐵 i 𝑣(𝑦) = 𝐴 .

Interpretacija prosiruje valuaciju i pridruzuje znacenje i drugim termovima i formulama.

Definicija 8.8 (Interpretacija). Vrednost (ili znacenje) terma 𝑡 u interpretaciji 𝐼𝑣, odredenoj ℒ-strukturomD i valuacijom 𝑣, oznacavamo sa 𝐼𝑣(𝑡) i definisemo na sledeci nacin:

ako je term 𝑡 jednak nekoj promenljivoj 𝑥, onda je 𝐼𝑣(𝑡) = 𝑣(𝑥);

•• ako je term 𝑡 jednak nekom simbolu konstante 𝑐, onda je 𝐼𝑣(𝑡) = 𝑐𝐼 ;

• ako je term 𝑡 jednak 𝑓(𝑡1, 𝑡2, . . . , 𝑡𝑛) onda je 𝐼𝑣(𝑡) = 𝑓𝐼(𝐼𝑣(𝑡1), 𝐼𝑣(𝑡2), . . . , 𝐼𝑣(𝑡𝑛)).

Istinitosnu vrednost (ili znacenje) formule u interpretaciji 𝐼𝑣 odredenoj ℒ-strukturom D i valuacijom𝑣, definisemo na sledeci nacin:

𝐼𝑣(⊤) = 1 i 𝐼𝑣(⊥) = 0;

•• 𝐼𝑣(𝑝(𝑡1, 𝑡2, . . . , 𝑡𝑛)) = 𝑝𝐼(𝐼𝑣(𝑡1), 𝐼𝑣(𝑡2), . . . , 𝐼𝑣(𝑡𝑛));

• 𝐼𝑣(¬𝒜) =

1, ako je 𝐼𝑣(𝒜) = 00, inace

• 𝐼𝑣(𝒜 ∧ ℬ) =

1, ako je 𝐼𝑣(𝒜) = 1 i 𝐼𝑣(ℬ) = 10, inace

• 𝐼𝑣(𝒜 ∨ ℬ) =

0, ako je 𝐼𝑣(𝒜) = 0 i 𝐼𝑣(ℬ) = 01, inace

• 𝐼𝑣(𝒜 ⇒ ℬ) =

0, ako je 𝐼𝑣(𝒜) = 1 i 𝐼𝑣(ℬ) = 01, inace

• 𝐼𝑣(𝒜 ⇔ ℬ) =

1, ako je 𝐼𝑣(𝒜) = 𝐼𝑣(ℬ)0, inace

• 𝐼𝑣((∀𝑥)𝒜) =

1, ako za svaku valuaciju 𝑤 takvu da je 𝑤 ∼𝑥 𝑣 vazi 𝐼𝑤(𝒜) = 10, inace

• 𝐼𝑣((∃𝑥)𝒜) =

1, ako postoji valuacija 𝑤 takva da je 𝑤 ∼𝑥 𝑣 i 𝐼𝑤(𝒜) = 10, inace

Page 111: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

111 8. Automatsko rasudivanje u logici prvog reda

Objasnimo dodatno definiciju znacenja za 𝐼𝑣((∃𝑥)𝒜). Cilj je odredivanje vrednosti formule (∃𝑥)𝒜 svesti naodredivanje vrednosti jednostavnije formule, formule 𝒜. Formula 𝒜 zavisi od promenljive 𝑥 ali i od nekih drugihpromenljivih (od svih promenljivih koje u njoj imaju slobodna pojavljivanja). Valuacija 𝑣 svim tim promenljivimdodeljuje neke vrednosti. I intuitivno je ocekivano da istinitosna vrednost formule (∃𝑥)𝒜 u interpretaciji 𝐼𝑣 nezavisi od 𝑣(𝑥), ali da zavisi od vrednosti drugih slobodnih promenljivih u 𝑣. Razmotrimo primer (∃𝑥)𝑝(𝑥, 𝑦) ipitanje da li je ova formula tacna u interpretaciji 𝑣. Intuitivno, tacna je ako mozemo pogodno da izaberemovrednost za 𝑥, da je vrednost 𝑦 nepromenjena, odredena valuacijom 𝑣 i da je za takve vrednosti promenljivihformula 𝑝(𝑥, 𝑦) tacna. Ako smo nekako pogodno izabrali vrednost za 𝑥, a zadrzali vrednost za 𝑦, time smo,zapravo, definisali novu valuaciju – 𝑤, koja ima istu vrednost za 𝑦 kao i valuacija 𝑣. Dakle, ako smo mogli daizaberemo takvu valuaciju, onda je 𝐼𝑣(∃𝑥)𝑝(𝑥, 𝑦) = 1. Opsti slucaj – slucaj (∃𝑥)𝒜 – je analogan: ako mozemoda izaberemo vrednost za 𝑥, zadrzavsi vrednosti promenljivih kao u 𝑣, tako da je formula 𝒜 tacna, onda je𝐼𝑣((∃𝑥)𝒜) = 1. Drugim rеcima, ako postoji valuacija 𝑤 takva da je 𝑤 ∼𝑥 𝑣 i 𝐼𝑤(𝒜) = 1, onda je 𝐼𝑣((∃𝑥)𝒜) = 1.Analogno objasnjenje vazi i za definiciju znacenja za 𝐼𝑣((∀𝑥)𝒜).

Moze se dokazati da je datom definicijom svakoj formuli 𝒜 nad signaturom ℒ i skupom 𝑉 pridruzena (jedin-stvena) vrednost 𝐼𝑣(𝒜). Primetimo da 𝐼𝑣(𝒜) zavisi od 𝑣(𝑥) samo ako promenljiva 𝑥 ima slobodna pojavljivanjau formuli 𝒜. Vrednost 𝐼𝑣(𝒜), dakle, zavisi samo od slobodnih promenljivih u formuli 𝒜. Specijalno, ako je 𝒜recenica, vrednost 𝐼𝑣(𝒜) uopste ne zavisi od 𝑣.

Primer 8.10. Za L-strukturu iz primera 8.8, ako je, na primer, 𝑣(𝑥) = 𝐵 i 𝑣(𝑦) = 𝐴 , onda je𝐼𝑣(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)) = „jeste iznad“(𝐼𝑣(𝑥), 𝐼𝑣(𝑦)) = „jeste iznad“( 𝐵 , 𝐴 ) = 1, jer za konkretnu gomilu ku-tija sa slike 8.1 jeste tacno da je 𝐵 iznad 𝐴 . Slicno, 𝐼𝑣(𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥)) = „jeste iznad“(𝐼𝑣(𝑦), 𝐼𝑣(𝑥)) =

„jeste iznad“( 𝐴 , 𝐵 ) = 0.Ako je, na primer, 𝑣(𝑥) = 𝐶 i 𝑣(𝑦) = 𝐴 , onda je 𝐼𝑣(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)) = „jeste iznad“(𝐼𝑣(𝑥), 𝐼𝑣(𝑦)) =

„jeste iznad“( 𝐶 , 𝐴 ) = 0.

Primer 8.11. Moguca ℒ-struktura za signaturu ℒ = (, 𝑎𝑏𝑜𝑣𝑒/2, 𝑏𝑒𝑙𝑜𝑤/2) (iz primera 8.2) je i (Z, 𝐼),gde je Z skup celih brojeva, a 𝐼 je funkcija koja predikatske simbole 𝑎𝑏𝑜𝑣𝑒 i 𝑏𝑒𝑙𝑜𝑤 preslikava u relacije > i< nad celim brojevima.

Ako je, na primer, 𝑣(𝑥) = 3 i 𝑣(𝑦) = 5, onda je 𝐼𝑣(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)) jednako > (𝐼𝑣(𝑥), 𝐼𝑣(𝑦)) tj. > (3, 5) = 0,jer za cele brojeve 3 i 5 je 3 > 5 netacno.

Vrednost 𝐼𝑣(∃𝑥 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑥)) jednaka je 0, a vrednost 𝐼𝑣(∀𝑥 ¬𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑥)) jednaka 1.

Primer 8.12. Za signaturu ℒ = (𝑒/0, ⋆/2, ≺/2), iz primera 8.3, jedna moguca ℒ-struktura je par(Z, 𝐼), gde je Z skup celih brojeva, a 𝐼 funkcija koja simbol 𝑒 preslikava u ceo broj 0, funkcijski simbol⋆ u operaciju sabiranja nad celim brojevima, a predikatski simbole ≺ u relaciju < nad celim brojevima.Ako je, na primer, 𝑣(𝑥) = 3, 𝑣(𝑦) = −4, onda je (koristeci infiksni zapis) 𝐼𝑣((𝑥 ⋆ 𝑦) ≺ 𝑒)) jednako𝐼𝑣(𝑥) + 𝐼𝑣(𝑦) < 𝐼𝑣(0), tj. 3 + (−4) < 0, tj. jednako 1 (slika 8.3, levo).

Za istu signaturu moguca je slicna interpretacija, sa univezumom koji je skup prirodnih, a ne celihbrojeva.

Za istu signaturu jedna ℒ-struktura je i par (D, 𝐼), gde je D skup dana u nedelji — 𝑝𝑜𝑛𝑒𝑑𝑒𝑙𝑗𝑎𝑘,𝑢𝑡𝑜𝑟𝑎𝑘, 𝑠𝑟𝑒𝑑𝑎, 𝑐𝑒𝑡𝑣𝑟𝑡𝑎𝑘, 𝑝𝑒𝑡𝑎𝑘, 𝑠𝑢𝑏𝑜𝑡𝑎, 𝑛𝑒𝑑𝑒𝑙𝑗𝑎, a 𝐼 funkcija koja simbol 𝑒 preslikava (na primer) uelement 𝑛𝑒𝑑𝑒𝑙𝑗𝑎, simbol ≺ u relaciju prethodni dan, itd.

Primer 8.13. Za signaturu ℒ = (𝑠𝑜𝑘𝑟𝑎𝑡/0, 𝑚𝑎𝑛/1,𝑚𝑜𝑟𝑡𝑎𝑙/1) iz primera 8.4 jedna moguca ℒ-strukturaje par (D, 𝐼), gde je D skup svih zivih bica, a 𝐼 funkcija koja simbol 𝑠𝑜𝑘𝑟𝑎𝑡 preslikava (na primer) u osobu𝑆𝑜𝑘𝑟𝑎𝑡, predikatski simbol 𝑚𝑎𝑛 u relaciju „biti covek”, predikatski simbol 𝑚𝑜𝑟𝑡𝑎𝑙 u relaciju „biti smrtan”(slika 8.3, desno).

Za istu signaturu jedna ℒ-struktura je i par (N, 𝐼), gde je N skup prirodnih brojeva, a 𝐼 funkcija kojasimbol 𝑠𝑜𝑘𝑟𝑎𝑡 preslikava (na primer) u broj 0, predikatski simbol 𝑚𝑎𝑛 u unarnu relaciju „biti slozen broj”,predikatski simbol 𝑚𝑜𝑟𝑡𝑎𝑙 u unarnu relaciju „biti paran broj”.

Sve navedeno jos uvek deluje cudno, pa i beskorisno: ukoliko formulama mozemo pridruziti skoro proizvoljnoznacenje, kakva korist moze biti od njih? Postoji nekoliko odgovora na ovo pitanje. Jedan odgovor je da se

Page 112: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.1. Sintaksa i semantika logike prvog reda 112

𝑥

𝑦

𝑒𝑥 ⋆ 𝑦

(𝑥 ⋆ 𝑦) ≺ 𝑒)

3

−40

3 + (−4)

3 + (−4) < 0

𝑥

𝑦

𝑠𝑜𝑘𝑟𝑎𝑡𝑚𝑎𝑛(𝑠𝑜𝑘𝑟𝑎𝑡)

𝑚𝑜𝑟𝑡𝑎𝑙(𝑦)

Sokrat

PlatonSokrat

Sokrat je covek

Platon je smrtan

Slika 8.3: Ilustracija za semantiku logike prvog reda sa primerima skupa celih brojeva i skupa svih zivih bicakao univerzumima

u razmatranju formula u okviru neke primene cesto razmatra samo jedna konkretna vrsta interpretacija (naprimer, nad celim brojevima), prilagodena konkretnoj primeni. Drugi odgovor je da se u mnogim primenamarazmatra pitanje da li je neka formula valjana, tj. tacna u svakoj mogucoj interpretaciji. U takvim primenama,formule su konstruisane na nacin koji eliminise sve nerelevantne modele. O oba scenarija bice reci u daljemtekstu.

Definicija 8.9 (Zadovoljivost i valjanost). Ako je interpretacija 𝐼𝑣 odredena ℒ-strukturom D i valuacijom𝑣 i ako za ℒ-formulu 𝒜 vazi 𝐼𝑣(𝒜) = 1, onda kazemo da je formula 𝒜 tacna u interpretaciji 𝐼𝑣, da je par(D, 𝑣) model formule 𝒜 i pisemo (D, 𝑣) |= 𝒜.ℒ-formula 𝒜 je zadovoljiva ako postoje ℒ-struktura D i valuacija 𝑣 takve da vazi (D, 𝑣) |= 𝒜, a inace

kazemo da je kontradiktorna ili nezadovoljiva.Ako je za neku ℒ-strukturu D vazi (D, 𝑣) |= 𝒜 za svaku valuaciju 𝑣, onda kazemo da je formula 𝒜

valjana u D, da je D model formule 𝒜 i pisemo D |= 𝒜.Ako je ℒ-formula 𝒜 valjana u svakoj ℒ-strukturi, onda za tu formulu kazemo da je valjana i pisemo

|= 𝒜.

Analogne definicije uvodimo za skupove formula (na primer, skup formula Γ je konzistentan (ili zadovoljiv)ako ima bar jedan model, (a inace kazemo da je skup Γ nekonzistentan, nezadovoljiv, ili kontradiktoran).

Primer 8.14. Formula ∃𝑥(𝑥 ≺ 𝑒) tacna je u prvoj interpretaciji iz primera 8.12 (za univerzum celihbrojeva), a nije tacna u drugoj interpretaciji (za univerzum prirodnih brojeva). Dakle, ona nije valjana.

Primer 8.15. Formula ∀𝑥(𝑚𝑎𝑛(𝑥) ⇒ 𝑚𝑜𝑟𝑡𝑎𝑙(𝑥)) je tacna u prvoj interpretaciji iz primera 8.13 (zauniverzum koji cine sva ziva bica), a nije tacna u drugoj interpretaciji (za univerzum prirodnih brojeva).Dakle, ona nije valjana.

Primer 8.16. Formule ∀𝑥 (𝑝(𝑥)⇒ 𝑞(𝑦)) i (∀𝑥 𝑝(𝑥))⇒ 𝑞(𝑦) koje se razlikuju po dosegu kvantifikatora ∀𝑥mogu imati razlicito znacenje.

Jedna moguca interpretacija ovih formula odredena je domenom koji cine svi studenti koji pohadajuneki kurs, 𝑝(𝑥) se interpretira kao „student 𝑋 ce poloziti ispit, a 𝑞(𝑦) se interpretira kao „student 𝑌 ce seobradovati“ (gde su 𝑋 i 𝑌 vrednosti promenljivih 𝑥 i 𝑦 u interpretaciji). Prva formula se, onda, interpretirakao „za bilo kojeg studenta vazi: ako taj student polozi ispit, 𝑌 ce se obradovati“, tj. „ako neki student poloziispit, 𝑌 ce se obradovati“, sto odgovara i znacenju formule (∃𝑥 𝑝(𝑥))⇒ 𝑞(𝑦)), a druga kao „ako svaki studentpolozi ispit, 𝑌 ce se obradovati“.

Vec i na osnovu relativno jednostavnih primera, vidi se da ispitivanje valjanosti ili valjanosti u nekoj ℒ-strukturi neposredno, na osnovu definicije, moze biti veoma mukotrpno. I zaista, takvo ispitivanje se i nekoristi u primenama. Umesto toga, obicno se koriste namenske procedure opisane u narednim poglavljima. Oneimplicitno koriste definicije valjanosti i u stanju su da utvrde da li je neka formula valjana.

Pitanja i zadaci

8.1. Kako se jos nazivaju funkcijski simboli arnosti 0?

Page 113: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

113 8. Automatsko rasudivanje u logici prvog reda

8.2. Koliko ima formula logike prvog reda nad konacnim skupom predikatskih i funkcijskih simbola, a nadprebrojivim skupom promenljivih?

8.3. Sta je term u logici prvog reda?

8.4. Sta je literal u logici prvog reda?

8.5. Sta je klauza u logici prvog reda?

8.6. Da li je u formuli ∀𝑥(𝑝(𝑥, 𝑦) ∧ 𝑞(𝑦, 𝑧) ∧ 𝑟(𝑧)), promenljiva 𝑥 slobodna ili vezana, da li je promenljiva 𝑦slobodna ili vezana, da li je promenljiva 𝑧 slobodna ili vezana?

8.7. Zapisati narednu recenicu u vidu formule logike prvog reda:(a) Svako voli nekoga i niko ne voli svakoga ili neko voli svakoga i neko ne voli nikoga.(b) Mozete lagati neke ljude sve vreme i mozete lagati sve ljude neko vreme, ali ne mozete lagati sve ljude

sve vreme.

8.8. Za datu signaturu ℒ, sta je to ℒ-struktura D?

8.9. U sta se, u svakoj interpretaciji logike prvog reda, preslikava funkcijski simbol?

8.10. U sta se, u svakoj interpretaciji logike prvog reda, preslikava predikatski simbol?

8.11. U semantici logike prvog reda, ako je 𝑥 promenljiva, cemu je jednako 𝐼𝑣(𝑥)?

8.12. U logici prvog reda, cemu je, za neku interpretaciju 𝐼𝑣, jednaka vrednost 𝐼𝑣(∀𝑥𝒜)?

8.13. U logici prvog reda, cemu je, za neku interpretaciju 𝐼𝑣, jednaka vrednost 𝐼𝑣(∃𝑥𝒜)?

8.14. Ako, u logici prvog reda, za dve valuacije 𝑣 i 𝑤 vazi 𝑣(𝑥) = 1, 𝑣(𝑦) = 2, 𝑤(𝑥) = 3 i 𝑣 ∼𝑥 𝑤, sta vazi za𝑤(𝑦)?

8.15. Da li je problem zadovoljivosti u logici prvog reda odluciv ili poluodluciv ili neodluciv?

8.16. Da li je problem valjanosti u logici prvog reda odluciv ili poluodluciv ili neodluciv?

8.17. Odrediti bar jedan model formule (∀𝑥)(𝑝(𝑥)⇒ 𝑝(𝑓(𝑥))).

8.18. Ispitati da li je ℒ-struktura data sa 𝐷 = 𝑎, 𝑏, 𝑐 i

𝑓𝐼𝑎 𝑏𝑏 𝑎𝑐 𝑎

𝑝𝐼 𝑎 𝑏 𝑐𝑎 1 1 0𝑏 1 0 1𝑐 0 0 1

model formule (∀𝑥)(𝑝(𝑥, 𝑓(𝑥))⇒ 𝑝(𝑓(𝑥), 𝑥)).

8.19. Odrediti sve dvoclane modele formule (∀𝑥)(∃𝑦)(𝑝(𝑥, 𝑦)⇒¬𝑝(𝑦, 𝑥)).

8.20. Data je formula𝒜 = (∀𝑥)(𝑝(𝑥, 𝑓(𝑥)) ∧ ¬𝑝(𝑥, 𝑥)) ∧(∀𝑥)(∀𝑦)(∀𝑧)(𝑝(𝑥, 𝑦) ∧ 𝑝(𝑦, 𝑧)⇒ 𝑝(𝑥, 𝑧)).(a) Odrediti bar jedan model za formulu 𝒜.(b) Dokazati da svaki model formule 𝒜 ima beskonacan domen.

8.21. Dokazati da je formula (∀𝑥)(∀𝑦)(∃𝑧)(𝑝(𝑥) ∧ 𝑝(𝑦)⇔ 𝑝(𝑧)) valjana.

8.22. Dokazati da su naredne formule valjane:(a) (∃𝑥)(∀𝑦)𝒜 ⇒ (∀𝑦)(∃𝑥)𝒜(b) ((∃𝑥)(𝒜⇒ℬ))⇔(𝒜⇒(∃𝑥)ℬ), pri cemu promenljiva 𝑥 nije slobodna u 𝒜.

8.23. Dokazati da naredne formule nisu valjane:(a) (∃𝑥)𝒜1 ∧ (∃𝑥)𝒜2 ⇔ (∃𝑥)(𝒜1 ∧ 𝒜2)(b) (∀𝑥)𝒜1 ∨ (∀𝑥)𝒜2 ⇔ (∀𝑥)(𝒜1 ∨ 𝒜2)

8.24. Dokazati da formula (∀𝑥)(∃𝑦)𝑝(𝑥, 𝑦)⇔ (∃𝑦)(∀𝑥)𝑝(𝑥, 𝑦) nije valjana.

8.25. Dokazati da je sledeca formula valjana:

((∀𝑥)𝒜) ∧ ℬ ⇔ (∀𝑥)(𝒜 ∧ ℬ)

pri cemu formula ℬ nema slobodnih pojavljivanja promenljive 𝑥. Dokazati da data formula nije valjana ako seizostavi navedeni dodatni uslov.

Page 114: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.2. Logicke posledice i logicki ekvivalentne formule 114

8.2 Logicke posledice i logicki ekvivalentne formule

Cesto je veoma vazno pitanje da li je neka formula posledica nekih drugih formula. Ovo pitanje moze seopisati u terminima pojma logicke posledice, analogno kao u slucaju iskazne logike.

Definicija 8.10 (Logicka posledica i logicka ekvivalencija). Kazemo da je formula 𝒜 logicka posledicaskupa formula Γ nad istom signaturom ℒ i pisemo Γ |= 𝒜, ako je svaki model za Γ istovremeno i model za𝒜.

Kazemo da su formule 𝒜 i ℬ nad istom signaturom ℒ logicki ekvivalentne i pisemo 𝒜 ≡ ℬ ako vazi𝒜 |= ℬ i ℬ |= 𝒜.

Ako ne vazi Γ |= 𝒜, onda to zapisujemo Γ |= 𝒜.Kao i u iskaznoj logici, formula je logicka posledica praznog skupa formula ako i samo ako je valjana. Ako

je formula 𝒜 logicka posledica praznog skupa formula, onda umesto |= 𝒜, to zapisujemo krace |= 𝒜, bas kaosto vec zapisujemo valjane formule.

Kao i u iskaznoj logici, ako je skup Γ kontradiktoran, onda je svaka formula njegova logicka posledica.Specijalno, svaka formula je logicka posledica skupa ⊥.

Ako je skup Γ konacan, onda umesto ℬ1, ℬ2, . . . , ℬ𝑘 |= 𝒜 pisemo krace ℬ1, ℬ2, . . . , ℬ𝑘 |= 𝒜.

Primer 8.17. Ako sa Γ oznacimo skup formula (iz primera 8.2): ∀𝑥∀𝑦(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)⇒ ¬𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥)), ∀𝑥∀𝑦(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)⇔ 𝑏𝑒𝑙𝑜𝑤(𝑦, 𝑥)), ∀𝑥∀𝑦∀𝑧(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)∧𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑧)⇒𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑧)) ,onda se moze pokazati da vazi: Γ |= ∀𝑥∀𝑦∀𝑧(𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥) ∧ 𝑏𝑒𝑙𝑜𝑤(𝑧, 𝑥)⇒ 𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑧)).

Ako vazi 𝒜 ≡ ℬ, tj. ako je svaki model za 𝒜 istovremeno i model za ℬ i obratno, onda u bilo kojoj valuacijiformule 𝒜 i ℬ imaju jednake vrednosti. Tvrdenja oblika 𝒜 ≡ ℬ zovemo logickim ekvivalencijama. Relacija ≡je, ocigledno, relacija ekvivalencije nad skupom formula.

Naredna teorema daje vezu izmedu meta i objektnog nivoa tj. govori da se uslov logicke posledice mozesvesti na uslov valjanosti i obratno. Ako postoji efektivan nacin za resavanje jednog problema onda postoji iefektivan nacin za resavanje drugog.

Teorema 8.1. Za formule 𝒜, ℬ, ℬ1, ℬ2, . . ., ℬ𝑘, nad istom signaturom ℒ vazi:

• Vаzi 𝒜 |= ℬ akko je formula 𝒜 ⇒ ℬ valjana.

• Vаzi 𝒜 ≡ ℬ akko je formula 𝒜 ⇔ ℬ valjana.

• Vazi ℬ1,ℬ2, . . . ,ℬ𝑘 |= 𝒜 akko vazi ℬ1 ∧ ℬ2 ∧ . . . ∧ ℬ𝑘 |= 𝒜 tj.akko je formula ℬ1 ∧ ℬ2 ∧ . . . ∧ ℬ𝑘 ⇒ 𝒜 valjana tj.akko je formula ℬ1 ∧ ℬ2 ∧ . . . ∧ ℬ𝑛 ∧ ¬𝒜 nezadovoljiva.

Ako se u proizvoljnoj logickoj ekvivalenciji iskazne logike, svaka iskazna formula zameni formulom logikeprvog reda, bice ocigledno dobijena logicka ekvivalencija logike prvog reda, na primer, ¬¬𝒜 ≡ 𝒜. Postoje ilogicke ekvivalencije logike prvog reda koje ne mogu biti dobijene na taj nacin.

Primer 8.18. Neke od shema logickih ekvivalencija logike prvog reda su:

Page 115: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

115 8. Automatsko rasudivanje u logici prvog reda

¬(∃𝑥)𝒜 ≡ (∀𝑥)¬𝒜 De Morganov zakon¬(∀𝑥)𝒜 ≡ (∃𝑥)¬𝒜 De Morganov zakon∀𝑥∀𝑦𝒜 ≡ ∀𝑦∀𝑥𝒜 zamena poretka kvantifikatora∃𝑥∃𝑦𝒜 ≡ ∃𝑦∃𝑥𝒜 zamena poretka kvantifikatora

(∃𝑥)(𝒜 ∨ ℬ) ≡ (∃𝑥)𝒜 ∨ (∃𝑥)ℬ zakon distributivnosti ∃ prema ∨(∀𝑥)(𝒜 ∧ ℬ) ≡ (∀𝑥)𝒜 ∧ (∀𝑥)ℬ zakon distributivnosti ∀ prema ∧(∃𝑥)(𝒜 ∧ ℬ) ≡ (∃𝑥)𝒜 ∧ ℬ zakon distributivnosti ∃ prema ∧

(pri cemu ℬ ne sadrzi slobodnapojavljivanja promenljive 𝑥)

(∀𝑥)(𝒜 ∨ ℬ) ≡ (∀𝑥)𝒜 ∨ ℬ zakon distributivnosti ∀ prema ∨(pri cemu ℬ ne sadrzi slobodnapojavljivanja promenljive 𝑥)

(∀𝑥)𝒜 ≡ (∀𝑦)(𝒜[𝑥 ↦→ 𝑦]) zakon o preimenovanju vezanepromenljive (pri cemu 𝒜 ne sadrzislobodna pojavljivanja promenljive 𝑦)

(∃𝑥)𝒜 ≡ (∃𝑦)(𝒜[𝑥 ↦→ 𝑦]) zakon o preimenovanju vezanepromenljive (pri cemu 𝒜 ne sadrzislobodna pojavljivanja promenljive 𝑦)

Logicka ekvivalencija ∀𝑥∀𝑦𝒜 ≡ ∀𝑦∀𝑥𝒜 govori da dva univerzalna kvantifikatora mogu da zamene mesta, aisto vazi i za egzistencijalne kvantifikatore. To sustinski znaci da u bloku kvantifikatora istog tipa poredak tihkvantifikatora nije bitan. S druge strane, univerzalni i egzistencijalni kvantifikator ne mogu, u opstem slucaju,da razmenjuju mesta, na primer, formule (∀𝑥)(∃𝑦)𝒜 i (∃𝑦)(∀𝑥)𝒜 nisu u opstem slucaju logicki ekvivalentne.

Logicke ekvivalencije ∀𝑥𝒜 ≡ ∀𝑦𝒜[𝑥 ↦→ 𝑦] i ∃𝑥𝒜 ≡ ∃𝑦𝒜[𝑥 ↦→ 𝑦] govore o tome da se vezane promenljive mogupreimenovati bez uticaja na istinitosnu vrednost formule, kao sto je ranije vec nagovesteno.

Naredna teorema kaze da ako se u formuli 𝒜 zameni neka njena potformula logicki ekvivalentnom formulom,bice dobijena formula koja je logicki ekvivalentna formuli 𝒜.

Teorema 8.2 (Teorema o zameni). Ako vazi ℬ1 ≡ ℬ2, onda je 𝒜 ≡ 𝒜[ℬ1 ↦→ ℬ2].

Primer 8.19. Na osnovu logickih ekvivalencija iz primera 7.14 i 8.18 vazi ¬(∃𝑥)(𝒜 ∧ ¬ℬ) ≡ (∀𝑥)¬(𝒜 ∧¬ℬ) ≡ (∀𝑥)(¬𝒜 ∨ ¬¬ℬ) ≡ (∀𝑥)(¬𝒜 ∨ ℬ) ≡ (∀𝑥)(𝒜 ⇒ ℬ).

Iz ¬(∃𝑥)(𝒜 ∧ ¬ℬ) ≡ (∀𝑥)(𝒜 ⇒ ℬ), na osnovu teoreme 8.1 sledi da je formula ¬(∃𝑥)(𝒜 ∧ ¬ℬ) ⇔(∀𝑥)(𝒜 ⇒ ℬ) valjana.

Pitanja i zadaci

8.26. Kada kazemo da su formule logike prvog reda 𝒜 i ℬ logicki ekvivalentne?

8.27. Dokazati da je logika prvog reda monotona: ako za skupove formula Γ i Δ vazi Γ ⊂ Δ i Γ |= 𝒜, ondaje Δ |= 𝒜.

8.28. Da li je formula (∀𝑥)(𝒜 ∧ ℬ) logicki ekvivalentna nekim od formula:(∀𝑥)𝒜 ∧ (∀𝑥)ℬ,(∀𝑥)𝒜 ∧ ℬ(∀𝑥)𝒜 ∨ (∀𝑥)ℬ(∀𝑥)𝒜 ∨ ℬ

8.29. Da li su formule (∀𝑥𝒜) ∧ ℬ i ∀𝑥(𝒜 ∧ ℬ) logicki ekvivalentne?

8.30. Da li su formule (∀𝑥𝒜) ∧ ∀𝑥ℬ i (∀𝑥𝒜 ∧ ℬ) logicki ekvivalentne?

8.31. Sta treba da vazi za promenljivu 𝑥 da formule ∀𝑥(𝒜 ∧ ℬ) i ∀𝑥𝒜 ∧ ℬ nisu nuzno logicki ekvivalentne?

8.32. Navesti teoremu o zameni za logiku prvog reda. Gde se ona koristi?

8.33. Koriscenjem logickih ekvivalencija dokazati da je formula ∃𝑥(𝒜 ⇒ ℬ)⇔ (∀𝑥𝒜 ⇒ ∃𝑥ℬ) valjana.

8.34. Dokazati da za svaku supstituciju 𝜎 iz 𝒜 ≡ ℬ sledi 𝒜𝜎 ≡ ℬ𝜎.

Page 116: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 116

8.35. Dokazati da je formula (∀𝑥)(∃𝑦)𝒜 ⇒ (∃𝑦)(𝒜[𝑥 ↦→ 𝑦]) valjana.

8.36. Dokazati sledecu logicku ekvivalenciju:

∃𝑥𝒜 ≡ ∃𝑦(𝒜[𝑥 ↦→ 𝑦])

pri cemu formula 𝒜 nema slobodnih pojavljivanja promenljive 𝑦. Dokazati da data logicka ekvivalencija nevazi ako se izostavi navedeni dodatni uslov.

8.3 Ispitivanje zadovoljivosti i valjanosti u logici prvog reda

U prakticnim primenama, onda kada je neki cilj formulisan na jeziku logike prvog reda, centralni problempostaje ispitivanje da li je neka iskazna formula valjana, da li je zadovoljiva i slicno. Pocetno pitanje je da li suti problemi uopste odlucivi, tj. da li postoje algoritmi koji uvek mogu da daju odgovor na njih. Ukoliko takvialgoritmi ne postoje, pitanje je da li postoje za neke klase formule logike prvog reda. Slicno kao u iskaznojlogici, problemi ispitivanja valjanosti i zadovoljivosti su povezani: formula je valjana ako i samo ako je njenanegacija nezadovoljiva.

8.3.1 Logika prvog reda i odlucivostZa razliku od iskazne logike, u logici prvog reda problem ispitivanja valjanosti nije odluciv, tj. ne postoji

algoritam koji za proizvoljnu formulu moze da utvrdi da li je valjana ili nije. Naravno, isto vazi i za problemispitivanja (ne)zadovoljivosti. Ipak, ovi problem su poluodlucivi: postoji algoritam koji za proizvoljnu valjanuformulu moze da utvrdi da je valjana, ali ne moze za proizvoljnu formulu koja nije valjana da utvrdi da nijevaljana (obicno se u takvim situacijama algoritam ne zaustavlja). Kako je formula valjana akko je njenanegacija nezadovoljiva, ocito je i problem nezadovoljivosti poluodluciv: postoji algoritam koji za proizvoljnunezadovoljivu formulu moze da utvrdi da je nezadovoljiva, ali ne moze za proizvoljnu zadovoljivu formulu dautvrdi da je zadovoljiva. Kako je problem ispitivanja valjanosti neodluciv, neodluciv je (mada je poluodluciv) iproblem ispitivanja da li vazi Γ |= 𝒜 (za proizvoljan skup Γ i formulu 𝒜).

U prakticnim primenama, obicno je relevantna samo odredena klasa modela (na primer, za univerzum kojicine realni brojevi, ili gradani neke drzave, ili skup kutija u nekoj sobi). Ukoliko se razmatra samo jedna vrstamodela (tj. pitanje 𝒟 |= 𝒜), onda za neke vrste formula ispitivanje valjanosti moze da bude odluciv problem.Na primer, ako se razmatraju formule nad signaturom (opisanom u primeru 8.2) ℒ = (, 𝑎𝑏𝑜𝑣𝑒/2, 𝑏𝑒𝑙𝑜𝑤/2) ii samo ℒ-struktura (opisana u primeru 8.8) u kojoj je univerzum skup konkretnih kutija prikazanih na slici 8.1,onda je tako specijalizovan problem ispitivanja valjanosti odluciv (moze se dizajnirati jednostavan algoritam kojiresava ovaj problem). Razmotrimo i nesto slozeniji primer: razmotrimo signaturu ℒ = (0/0, 𝑠/1,+/2, </2

,=/2) i ℒ-strukturu (Z, 𝐼), gde je Z skup celih brojeva, a 𝐼 funkcija koja (prirodno) simbol 0 preslikava u ceobroj 0, simbol 𝑠 preslikava u operaciju sledbenik, funkcijski simbol + u operaciju sabiranja nad celim brojevima,a predikatske simbole < i = u relacije < i = nad celim brojevima. Ovakva ℒ-struktura odreduje teoriju kojuzovemo linearna aritmetika nad celim brojevima i oznacavamo 𝐿𝐼𝐴. Ako je formula𝒜 valjana u ovoj ℒ-strukturi,onda to zapisujemo |=𝐿𝐼𝐴 𝒜. Na primer, valjane su u 𝐿𝐼𝐴 formule ∀𝑥∃𝑦 (𝑥 < 𝑦 + 𝑠(0)) i 𝑥 + 𝑦 = 𝑦 + 𝑥 (iakonisu valjane u nekim drugim interpretacijama). Ispitivanje da li vazi |=𝐿𝐼𝐴 𝒜 je odluciv problem. Za ispitivanjevaljanosti u ovom i slicnim situacijama koriste se specijalizovani algoritmi, koje obicno zovemo smt resavaci(od engleskog satisfiability modulo theory — zadovoljivost u odnosu na teoriju, jer oni obicno problem valjanostisvode na problem zadovoljivosti). Resavac za ispitivanje |=𝐿𝐼𝐴 𝒜 zovemo smt resavac za teoriju 𝐿𝐼𝐴. Postojimnostvo takvih resavaca i obicno su izgradeni oko nekog sat resavaca. Neki od cesto koriscenih smt resavacasu resavaci za linearnu aritmetiku nad celim brojevima, za linearnu aritmetiku nad racionalnim brojevima, zateoriju neinterpretiranih funkcija, za teoriju nizova, za teoriju lista, itd. smt resavaci imaju brojne primene,posebno u verifikaciji softvera i hardvera i u resavanju raznovrsnih problema ogranicenja.

Cesto nije lako napraviti resavac za neku specificnu teoriju (i nameravanu interpretaciju). Umesto toga,specificnosti zeljenog znacenja formula mogu se nametnuti u vidu skupa uslova Γ. Tada se ispitivanje valjanostiformule 𝒜, svodi na ispitivanje da li vazi Γ |= 𝒜, tj. na ispitivanje da li je Γ⇒ 𝒜 valjana formula. Time se odspecificnog razmatranja doslo do opsteg razmatranja i valjanost navedene formule ispitivace se nekom opstomprocedurom za ispitivanje valjanosti u logici prvog reda. Takvu opstu proceduru mozemo da zove univerzalnimresavacem za logiku prvog reda, a obicno se zovu dokazivaci za logiku prvog reda.

Postoje nacini koji omogucavaju ispitivanje valjanosti i zadovoljivosti ne neposredno na osnovu definicije,nego jednostavnijim, namenskim procedurama od kojih je jedna opisana u nastavku. Zahvaljujuci takvoj opstojproceduri, za mnoge valjane formule moze se efikasno dokazati da su valjane. Za takve formule, onda sledi dasu valjane i u svakoj konkretnoj ℒ-strukturi.

Page 117: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

117 8. Automatsko rasudivanje u logici prvog reda

Dokazivanje tvrdenjaℬ1,ℬ2, . . . ,ℬ𝑘 |= 𝒜

obicno se svodi na dokazivanje da je nezadovoljiva naredna formulaℬ1 ∧ ℬ2 ∧ . . . ∧ ℬ𝑛 ∧ ¬𝒜

Metod rezolucije koji ce biti opisan u nastavku je metod za ispitivanje nezadovoljosti (ali, na opisani nacin,koristi se i za ispitivanje valjanosti).

8.3.2 Normalne forme

Iako se zadovoljivost i valjanost mogu ispitivati za formule proizvoljnog oblika, daleko je jednostavnijealgoritme ispitivanja formulisati za formule nekog posebnog oblika. Zbog toga se definisu normalne forme ialgoritmi kojima se neka formula transformise u te normalne forme. Pod transformacijom se podrazumevakonstruisanje formule koja je, na primer, logicki ekvivalentna polaznoj formuli i zadovoljava neka sintaksickaogranicenja. U nastavku ce biti opisan niz koraka koji vodi od formule cija se zadovoljivost razmatra do formulekoja ima specificnu sintaksicku formu i zadovoljiva je ako i samo ako je zadovoljiva polazna formula.

Definicija 8.11 (Preneks normalna forma). Kazemo da je formula u preneks normalnoj formi ako je onaoblika

𝑄1𝑥1𝑄2𝑥2 . . . 𝑄𝑛𝑥𝑛𝒜

pri cemu je 𝑄𝑖 ili ∀ ili ∃ i 𝒜 ne sadrzi kvantifikatore, kao ni slobodne promenljive osim (eventualno)promenljivih 𝑥1, 𝑥2, . . . , 𝑥𝑛.

Ako je recenica (zatvorena formula) 𝒜 logicki ekvivalentna formuli ℬ i formula ℬ je u preneks normalnojformi, onda kazemo da je formula ℬ preneks normalna forma formule 𝒜. Jedna formula moze da ima visepreneks normalnih formi (na primer, i formula (∀𝑥)(∀𝑦)(𝒜(𝑥) ∧ ℬ(𝑦)) i formula (∀𝑦)(∀𝑥)(ℬ(𝑦) ∧ 𝒜(𝑥)) supreneks normalne forme formule (∀𝑥)𝒜(𝑥)∧ (∀𝑦)ℬ(𝑦)). Slicno, jedna formula koja je u preneks normalnoj formimoze biti preneks normalna forma za vise formula. Transformisanje formule u preneks normalnu formu mozebiti realizovano procedurom prikazanom na slici 8.4 (kao i ranije, kada govorimo o „primeni neke logicke ekvi-valencije“ mislimo na koriscenje logickih ekvivalencija na osnovu teoreme o zameni (8.2, o efektivnoj primenigovori 8.28)). Radi jednostavnosti procedure i rezultujuce formule, iako to nije neophodno, najpre se eliminisuveznici ⇔ i ⇒.

Primer 8.20. Razmotrimo formulu

∀𝑥 𝑝(𝑥) ∧ ∀𝑥∃𝑦∀𝑧(𝑞(𝑦, 𝑧)⇒ 𝑟(𝑔(𝑥), 𝑦)) .

Primenom algoritma PRENEX najpre se (u okviru koraka 1) dobija formula

∀𝑥 𝑝(𝑥) ∧ ∀𝑥∃𝑦∀𝑧(¬𝑞(𝑦, 𝑧) ∨ 𝑟(𝑔(𝑥), 𝑦)) .

Nakon koraka∀𝑥(𝑝(𝑥) ∧ ∀𝑥∃𝑦∀𝑧(¬𝑞(𝑦, 𝑧) ∨ 𝑟(𝑔(𝑥), 𝑦))) ,

kako je promenljiva 𝑥 slobodna u 𝑝(𝑥), najpre cemo preimenovati vezanu promenljivu 𝑥 u 𝑢 (u okviruformule ∀𝑥∃𝑦∀𝑧(¬𝑞(𝑦, 𝑧) ∨ 𝑟(𝑔(𝑥), 𝑦))):

∀𝑥(𝑝(𝑥) ∧ ∀𝑢∃𝑦∀𝑧(¬𝑞(𝑦, 𝑧) ∨ 𝑟(𝑔(𝑢), 𝑦))) .

Nakon toga kvantifikatori ∀𝑢, ∃𝑦, ∀𝑧 mogu, jedan po jedan, biti pomereni na pocetak formule:

∀𝑥∀𝑢∃𝑦∀𝑧(𝑝(𝑥) ∧ (¬𝑞(𝑦, 𝑧) ∨ 𝑟(𝑔(𝑢), 𝑦))) .

Korektnost navedenog algoritma moze se dokazati slicno kao korektnost procedure za transformisanje formuleu konjunktivnu normalnu formu (teorema 7.5).

Teorema 8.3 (Korektnost algoritma PRENEX). Algoritam PRENEX se zaustavlja i zadovoljava sledecesvojstvo: ako je 𝒜 ulazna formula, onda je izlazna formula 𝒜′ u preneks normalnoj formi i vazi 𝒜 ≡ 𝒜′.

Page 118: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 118

Algoritam: PRENEX

Ulaz: Zatvorena formula logike prvog reda

Izlaz: Preneks normalna forma zadate formule

1: dok god je to moguce radi2: primeni neku od logickih ekvivalencija:

𝒜 ⇔ ℬ ≡ (𝒜 ⇒ ℬ) ∧ (ℬ ⇒ 𝒜),𝒜 ⇒ ℬ ≡ ¬𝒜 ∨ ℬ;

3: dok god je to moguce radi4: primeni neku od logickih ekvivalencija:

¬(𝒜 ∧ ℬ) ≡ ¬𝒜 ∨ ¬ℬ,¬(𝒜 ∨ ℬ) ≡ ¬𝒜 ∧ ¬ℬ,¬(∀𝑥)𝒜 ≡ (∃𝑥)¬𝒜,¬(∃𝑥)𝒜 ≡ (∀𝑥)¬𝒜;

5: dok god je to moguce radi6: primeni neku od logickih ekvivalencija (eliminisi visestruke veznike koristeci zakon dvojne negacije):

¬¬𝒜 ≡ 𝒜;

7: dok god je to moguce radi8: primeni neku od logickih ekvivalencija:

(∀𝑥𝒜) ∧ ℬ ≡ (∀𝑥)(𝒜 ∧ ℬ),(∀𝑥𝒜) ∨ ℬ ≡ (∀𝑥)(𝒜 ∨ ℬ),ℬ ∧ (∀𝑥)𝒜 ≡ (∀𝑥)(ℬ ∧ 𝒜)ℬ ∨ (∀𝑥)𝒜 ≡ (∀𝑥)(ℬ ∨ 𝒜),(∃𝑥𝒜) ∧ ℬ ≡ (∃𝑥)(𝒜 ∧ ℬ),(∃𝑥𝒜) ∨ ℬ ≡ (∃𝑥)(𝒜 ∨ ℬ),ℬ ∧ (∃𝑥)𝒜 ≡ (∃𝑥)(ℬ ∧ 𝒜),ℬ ∨ (∃𝑥)𝒜 ≡ (∃𝑥)(ℬ ∨ 𝒜),pri cemu 𝑥 nema slobodna pojavljivanja u formuli ℬ; ako 𝑥 ima slobodna pojavljivanja u ℬ, onda trebanajpre preimenovati promenljivu 𝑥 u formuli (∀𝑥)𝒜 (odnosno u formuli (∃𝑥)𝒜).

Slika 8.4: Algoritam PRENEX

U nekim situacijama moguce je primeniti neki korak navedenog algoritma na vise od jednog nacina. Naprimer, formulu (∀𝑥)𝑝(𝑥)∧ (∃𝑦)𝑞(𝑦) moguce je transformisati i u (∀𝑥)(𝑝(𝑥)∧ (∃𝑦)𝑞(𝑦)) i u (∃𝑦)((∀𝑥)𝑝(𝑥)∧𝑞(𝑦)).Obe ove formule su, naravno, logicki ekvivalentne sa polaznom formulom. Ipak, u situacijama kada je moguce„pomeriti“ i univerzalni i egzistencijalni kvantifikator, uvek cemo radije „pomeriti“ najpre egzistencijalni, a ondauniverzalni. Takav prioritet uvodimo zarad jednostavnijeg koraka skolemizacije (o kojem ce biti reci u nastavku).

Definicija 8.12 (Konjunktivna normalna forma). Formula logike prvog reda koja ne sadrzi kvantifikatoreje u konjunktivnoj normalnoj formi ako je oblika

𝒜1 ∧ 𝒜2 ∧ . . . ∧ 𝒜𝑛

pri cemu je svaka od formula 𝒜𝑖 (1 ≤ 𝑖 ≤ 𝑛) disjunkcija literala.

Konjunktivna normalna forma formule predikatske logike (bez kvantifikatora) moze se dobiti na isti nacinkao u slucaju iskazne logike (videti poglavlje 7.3.2). Dobijena formula logicki je ekvivalentna polaznoj formuli.

Primer 8.21. Konjunktivna normalna forma formule

𝑝(𝑥) ∧ (𝑞(𝑦, 𝑧)⇒ 𝑟(𝑔(𝑢), 𝑦))

je formula𝑝(𝑥) ∧ (¬𝑞(𝑦, 𝑧) ∨ 𝑟(𝑔(𝑢), 𝑦)) .

Page 119: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

119 8. Automatsko rasudivanje u logici prvog reda

Nakon primene algoritama PRENEX i KNF, formula je u obliku 𝑄1𝑥1𝑄2𝑥2 . . . 𝑄𝑛𝑥𝑛𝒜, pri cemu je 𝑄𝑖 ili ∀ili ∃ i formula 𝒜 je u konjunktivnoj normalnoj formi. Za razmatranje zadovoljivosti ovakve formule bilo bi jospogodnije ako bi svi kvantifikatori 𝑄𝑖 bili univerzalni. Medutim, ne moze se proizvoljna formula (na primer,formula (∃𝑥)𝑝(𝑥)) transformisati u formulu takvog oblika a da joj je, pritom, logicki ekvivalentna. No, moguceje nesto drugo: proizvoljna formula moze se transformisati u formulu oblika ∀𝑥1∀𝑥2 . . . ∀𝑥𝑛𝒜 koja je zadovo-ljiva ako i samo ako je zadovoljiva polazna formula (tada kazemo da su te dve formule slabo ekvivalentne). Tutransformaciju, transformaciju koja „eliminise“ egzistencijalne kvantifikatore, zovemo skolemizacija (po mate-maticaru Skolemu koji ih je prvi koristio). Ona se zasniva na prosirivanju polazne signature novim funkcijskimsimbolima. Te dodatne funkcijske simbole zovemo Skolemovim konstantama (za funkcijske simbole arnosti 0) iSkolemovim funkcijama.

Pretpostavimo da recenica pocinje egzistencijalnim kvantifikatorom: ∃𝑦𝒜. Treba izabrati novi simbol kon-stante 𝑑 koji se ne pojavljuje u signaturi, obrisati kvantifikator i zameniti promenljivu 𝑦 simbolom 𝑑. Na tajnacin formula ∃𝑦𝒜 transformise se u formulu 𝒜[𝑦 ↦→ 𝑑]. Moze se dokazati da je formula ∃𝑦𝒜 zadovoljiva ako isamo ako je formula 𝒜[𝑦 ↦→ 𝑑] zadovoljiva.

Ako recenica pocinje nizom od 𝑛 univerzalnih kvantifikatora: ∀𝑥1∀𝑥2 . . . ∀𝑥𝑛∃𝑦𝒜, onda uvodimo novi funk-cijski simbol 𝑓 arnosti 𝑛 koji do tada nije postojao u signaturi. Polazna formula bice onda transformisana uformulu ∀𝑥1∀𝑥2 . . . ∀𝑥𝑛 𝒜[𝑦 ↦→ 𝑓(𝑥1, 𝑥2, . . . , 𝑥𝑛)]. Moze se dokazati da je formula ∀𝑥1∀𝑥2 . . . ∀𝑥𝑛∃𝑦𝒜 zadovoljivaako i samo ako je formula ∀𝑥1∀𝑥2 . . . ∀𝑥𝑛𝒜[𝑦 ↦→ 𝑓(𝑥1, 𝑥2, . . . , 𝑥𝑛)] zadovoljiva. (Primetimo da je uvodenje novekonstante samo specijalni slucaj uvodenja novog funkcijskog simbola.)

Teorema 8.4 (Teorema o skolemizaciji). Ako je formula ℬ nad signaturom ℒ′ dobijena skolemizacijom odrecenice 𝒜 nad signaturom ℒ koja je u preneks normalnoj formi, onda je 𝒜 zadovoljiva ako i samo ako jeℬ zadovoljiva.

Primer 8.22. Skolemizacijom se formula

∀𝑥∀𝑢∃𝑦∀𝑧(𝑝(𝑥) ∧ (¬𝑞(𝑦, 𝑧) ∨ 𝑟(𝑔(𝑢), 𝑦)))

transformise u formulu𝑝(𝑥) ∧ (¬𝑞(ℎ(𝑥, 𝑢), 𝑧) ∨ 𝑟(𝑔(𝑢), ℎ(𝑥, 𝑢))) .

Transformisanje formule u preneks normalnu formu, pa transformisanje dela formule bez kvantifikatora ukonjunktivnu normalnu formu, pa eliminisanje skolemizacijom egzistencijalnih kvantifikatora, jednog po jednog,dovodi do specicne sintaksicke forme koju zovemo klauzalna forma:

Definicija 8.13 (Klauzalna forma). Formula je u klauzalnoj formi ako je oblika

∀𝑥1∀𝑥2 . . . ∀𝑥𝑛𝒜

gde je 𝒜 formula bez kvantifikatora koja je u konjunktivnoj normalnoj formi i 𝒜 nema slobodnih promenljivihosim, eventualno, promenljivih 𝑥1, 𝑥2, . . . , 𝑥𝑛.

Ako je formula ∀𝑥1∀𝑥2 . . . ∀𝑥𝑛𝒜 u klauzalnoj formi, onda se cesto u zapisu izostavljaju kvantifikatori i pisesamo 𝒜, podrazumevajuci da se misli na univerzalno zatvorenje formule 𝒜.

Teorema 8.5. Neka je formula ℬ (u klauzalnoj formi) dobijena od recenice 𝒜 uzastopnom primenomsledecih postupaka:

• transformisanje formule u preneks normalnu formu;

• transformisanje dela formule bez kvantifikatora u konjunktivnu normalnu formu;

• skolemizacija.

Tada je formula 𝒜 zadovoljiva ako i samo ako je ℬ zadovoljiva.

Navedena teorema kaze da transformisanje formule u klauzalnu formu ne daje njoj logicki ekvivalentnuformulu, vec formulu koja joj je samo slabo ekvivalentna. Medutim, to je dovoljno u kontekstu ispitivanja

Page 120: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 120

zadovoljivosti: ako se ispituje zadovoljivost recenice 𝒜, dovoljno je ispitati zadovoljivost formule ℬ koja je uklauzalnoj formi i slabo ekvivalentna sa formulom 𝒜. To daje i put za dokazivanje da je neka formula 𝒜 valjana:dovoljno je dokazati da je formula ¬𝒜 nezadovoljiva, pa je dovoljno i dokazati da je klauzalna forma formule¬𝒜 nezadovoljiva.

Primer 8.23. Formula 𝒜 = (∀𝑥)𝑝(𝑥, 𝑥)⇒ (∀𝑦)𝑝(𝑦, 𝑦) nad signaturom ℒ je valjana. To se moze dokazatina sledeci nacin.

Formula ¬𝒜 je jednaka ¬((∀𝑥)𝑝(𝑥, 𝑥)⇒ (∀𝑦)𝑝(𝑦, 𝑦)) i njena preneks normalna forma je (∃𝑦)(∀𝑥)(𝑝(𝑥, 𝑥)∧¬𝑝(𝑦, 𝑦)). Skolemizacijom dobijamo formulu 𝑝(𝑥, 𝑥) ∧ ¬𝑝(𝑐, 𝑐), gde je 𝑐 novi simbol konstante. Neka je ℒ′

signatura dobijena prosirivanjem signature ℒ simbolom 𝑐. Moze se pokazati da je formula 𝑝(𝑥, 𝑥)∧¬𝑝(𝑐, 𝑐)nezadovoljiva – ili neposredno koristeci definiciju zadovoljivosti ili koristeci metod rezolucije opisan u na-stavku. Kako je formula 𝑝(𝑥, 𝑥) ∧ ¬𝑝(𝑐, 𝑐) je nezadovoljiva, polazna formula 𝒜 je valjana.

Pitanja i zadaci

8.37. Navesti algoritam PRENEX.

8.38. Dokazati da je formula dobijena algoritmom PRENEX logicki ekvivalentna polaznoj formuli.

8.39. Kako se zove postupak kojim se formula prvog reda transformise u formulu bez kvantifikatora?

8.40. Navesti teoremu o skolemizaciji.

8.41. Ako je formula ℬ dobijena od formule 𝒜 skolemizacijom, kakav odnos vazi za ove dve formule?

8.42. Zasto formula 𝒜 i formula dobijena od nje skolemizacijom nisu logicki ekvivalentne?

8.43. Kada za dve formule 𝒜 i ℬ logike prvog reda kazemo da su slabo ekvivalentne?

8.44. Primenom koja tri koraka se dobija klauzalna forma formule 𝒜?

8.45. U kakvom su odnosu formula 𝒜 i njena klauzalna forma?

8.46. Odrediti klauzalne forme za formule:(a) (∃𝑥)𝒜1 ∧ (∃𝑥)𝒜2 ⇒ (∃𝑥)(𝒜1 ∧ 𝒜2)(b) (∀𝑥)𝒜1 ∨ (∀𝑥)𝒜2 ⇒ (∀𝑥)(𝒜1 ∨ 𝒜2)(c) (∀𝑥)(∃𝑦)𝒜 ⇒ (∃𝑦)𝒜(𝑓(𝑦), 𝑦)

8.3.3 UnifikacijaProblem unifikacije je problem ispitivanja da li postoji supstitucija koja cini dva izraza (dva terma ili dve

formule) jednakim.

Definicija 8.14 (Unifikabilnost i unifikator). Ako za izaze 𝑒1 i 𝑒2 postoji supstitucija 𝜎 takva da vazi𝑒1𝜎 = 𝑒2𝜎, onda kazemo da su izrazi 𝑒1 i 𝑒2 unifikabilni i da je supstitucija 𝜎 unifikator za ta dva izraza.

Primer 8.24. Neka je term 𝑡1 jednak 𝑔(𝑥, 𝑧), neka je term 𝑡2 jednak 𝑔(𝑦, 𝑓(𝑦)) i neka je 𝜎 supstitucija[𝑦 ↦→ 𝑥, 𝑧 ↦→ 𝑓(𝑥)]. Tada je i 𝑡1𝜎 i 𝑡2𝜎 jednako 𝑔(𝑥, 𝑓(𝑥)), pa su termovi 𝑡1 i 𝑡2 unifikabilni, a 𝜎 je (jedan)njihov unifikator. Unifikator termova 𝑡1 i 𝑡2 je na primer, i [𝑥 ↦→ 𝑎, 𝑦 ↦→ 𝑎, 𝑧 ↦→ 𝑓(𝑎)]. Termovi 𝑔(𝑥, 𝑥) i𝑔(𝑦, 𝑓(𝑦)) nisu unifikabilni.

Dva unifikabilna izraza mogu da imaju vise unifikatora. Za dva unifikatora 𝜎1 i 𝜎2 kazemo da su jednakado na preimenovanje promenljivih ako postoji supstitucija 𝜆 koja je oblika [𝑣′1 ↦→ 𝑣′′1 , 𝑣

′2 ↦→ 𝑣′′2 , . . . , 𝑣

′𝑛 ↦→ 𝑣′′𝑛], pri

cemu su 𝑣′𝑖 i 𝑣′′𝑖 simboli promenljivih i vazi 𝜎1𝜆 = 𝜎2.

Definicija 8.15 (Najopstiji unifikator). Supstitucija 𝜎 je najopstiji unifikator za izraze 𝑒1 i 𝑒2 ako svakiunifikator 𝜏 izraza 𝑒1 i 𝑒2 moze biti predstavljen u obliku 𝜏 = 𝜎𝜇 za neku supstituciju 𝜇.

Page 121: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

121 8. Automatsko rasudivanje u logici prvog reda

Algoritam: Najopstiji unifikator

Ulaz: Niz parova izraza (𝑠1, 𝑡1), (𝑠2, 𝑡2), . . . , (𝑠𝑛, 𝑡𝑛)

Izlaz: Najopstiji unifikator (ako on postoji) 𝜎 takav da vazi 𝑠1𝜎 = 𝑡1𝜎, 𝑠2𝜎 = 𝑡2𝜎, . . . , 𝑠𝑛𝜎 = 𝑡𝑛𝜎 .

1: dok god je moguce primeniti neko od navedenih pravila radi

2: Korak factoring:3: ako postoji par koji ima vise od jednog pojavljivanja onda4: obrisi sva njegova pojavljivanja osim jednog.

5: Korak tautology:6: ako postoji par (𝑡, 𝑡) onda7: obrisi ga.

8: Korak orientation:9: ako postoji par (𝑡, 𝑥), gde je 𝑥 promenljiva, a 𝑡 nije promenljiva onda

10: zameni par (𝑡, 𝑥) parom (𝑥, 𝑡).

11: ako postoji par (𝑠, 𝑡), gde ni 𝑠 ni 𝑡 nisu promenljive onda12: ako je 𝑠 jednako 𝜙(𝑢1, 𝑢2, . . . , 𝑢𝑘) i 𝑡 je jednako 𝜙(𝑣1, 𝑣2, . . . , 𝑣𝑘) (gde je 𝜙 funkcijski ili predikatski

simbol) onda

13: Korak decomposition:14: dodaj parove (𝑢1, 𝑣1), (𝑢2, 𝑣2), . . ., (𝑢𝑘, 𝑣𝑘) i obrisi par (𝑠, 𝑡);15: inace

16: Korak collision:17: zaustavi rad i kao rezultat vrati neuspeh;

18: Korak cycle:19: ako postoji par (𝑥, 𝑡) takav da je 𝑥 promenljiva i 𝑡 term koji sadrzi 𝑥 onda20: zaustavi rad i kao rezultat vrati neuspeh;

21: Korak application:22: ako postoji (𝑥, 𝑡), gde je 𝑥 promenljiva a 𝑡 term koji ne sadrzi 𝑥 i 𝑥 se pojavljuje i u nekim drugim

parovima onda23: primeni supstituciju [𝑥 ↦→ 𝑡] na sve druge parove.

24: vrati tekuci skup parova kao najopstiji unifikator.

Slika 8.5: Algoritam Najopstiji unifikator

Svaka dva unifikabilna izraza imaju najopstiji unifikator, jedinstveno do na preimenovanje promenljivih.Na slici 8.5 dat je opis opsteg algoritma za odredivanje najopstijeg unifikatora za niz parova izraza. Algoritam

unifikacije ili vraca trazenu supstituciju ili se zaustavlja sa neuspehom, ukazujuci na to da trazena supstitucijane postoji.

Primetimo da je korak 6 algoritma moguce u opstem slucaju primeniti na vise nacina. Bilo koji od tihnacina vodi istom rezultatu — neuspehu (ako ne postoji trazeni unifikator) ili jednom od unifikatora koji semogu razlikovati samo do na preimenovanje promenljivih.

Primer 8.25. Ilustrujmo rad algoritma za odredivanje na primeru sledeca dva para termova:(𝑔(𝑦), 𝑥), (𝑓(𝑥, ℎ(𝑥), 𝑦), 𝑓(𝑔(𝑧), 𝑤, 𝑧))Primenom koraka 3 dobijamo(𝑥, 𝑔(𝑦)), (𝑓(𝑥, ℎ(𝑥), 𝑦), 𝑓(𝑔(𝑧), 𝑤, 𝑧)).Primenom koraka 4(𝑎) dobijamo(𝑥, 𝑔(𝑦)), (𝑥, 𝑔(𝑧)), (ℎ(𝑥), 𝑤), (𝑦, 𝑧).Korak 6 je moguce primeniti na vise nacina. Primenom koraka 6 za par (𝑦, 𝑧) dobijamo(𝑥, 𝑔(𝑧)), (𝑥, 𝑔(𝑧)), (ℎ(𝑥), 𝑤), (𝑦, 𝑧).Primenom koraka 1 dobijamo(𝑥, 𝑔(𝑧)), (ℎ(𝑥), 𝑤), (𝑦, 𝑧).

Page 122: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 122

Primenom koraka 3 dobijamo(𝑥, 𝑔(𝑧)), (𝑤, ℎ(𝑥)), (𝑦, 𝑧).Primenom koraka 6 dobijamo(𝑥, 𝑔(𝑧)), (𝑤, ℎ(𝑔(𝑧))), (𝑦, 𝑧).Ovaj niz parova odreduje trazeni najopstiji unifikator 𝜎 = [𝑥 ↦→ 𝑔(𝑧), 𝑤 ↦→ ℎ(𝑔(𝑧)), 𝑦 ↦→ 𝑧].

Primer 8.26. Razmotrimo sledeci par izraza (𝑔(𝑥, 𝑥), 𝑔(𝑦, 𝑓(𝑦))) .Primenom koraka 4(𝑎) dobijamo(𝑥, 𝑦), (𝑥, 𝑓(𝑦)).Korak 6 moze se primeniti na samo dva nacina:

• primenom za par (𝑥, 𝑦); tada se dobija (𝑥, 𝑦), (𝑦, 𝑓(𝑦)), odakle se, primenom koraka 5 dolazi doneuspeha.

• primenom za par (𝑥 = 𝑓(𝑦)); tada se dobija (𝑓(𝑦), 𝑦), (𝑥, 𝑓(𝑦)), odakle se, primenom koraka 3 ikoraka 5 dolazi do neuspeha.

Dakle, izrazi (𝑔(𝑥, 𝑥) i 𝑔(𝑦, 𝑓(𝑦)) nisu unifikabilni.

Teorema 8.6 (Korektnost algoritma Najopstiji unifikator). Algoritam Najopstiji unifikator zadovoljava sledeceuslove:

• zaustavlja se;

• ako vrati supstituciju, onda je ona najopstiji unifikator za dati niz parova izraza;

• ako se algoritam zaustavi sa neuspehom, onda ne postoji unifikator za dati niz parova izraza.

Navedeni algoritam nije efikasan. Postoje znatno efikasniji algoritmi za unifikaciju. Mnogi od njih zasnovanisu na koriscenju pogodnih struktura podataka i implicitnom primenjivanju supstitucije (iz koraka 6). Neki odtih algoritama imaju linearnu slozenost (po broju polaznih parova), ali, u opstem slucaju, najopstiji unifikatormoze imati i eksponencijalnu duzinu (po broju polaznih parova), te ga nije moguce eksplicitno predstaviti ulinearnom vremenu. To ilustruje sledeci primer.

Primer 8.27. Za skup parova(𝑥1, 𝑓(𝑥0, 𝑥0))

(𝑥2, 𝑓(𝑥1, 𝑥1))

. . .

(𝑥𝑛, 𝑓(𝑥𝑛−1, 𝑥𝑛−1))

Najopstiji unifikator sadrzi zamenu 𝑥𝑛 ↦→ 𝑡, gde je 𝑡 term koji sadrzi samo simbole 𝑥0 i 𝑓 , pri cemu ima2𝑛 − 1 pojavljivanja simbola 𝑓 .

Unifikacija ima mnoge primene. Neke od njih su u transformisanju izraza koriscenjem raspolozivih pravila,a neke u metodu rezolucije.

Primer 8.28. U primeru 7.17, obrazlozeno je zasto se u C programu uslovif (!(!a && !b) || c)

moze zameniti sledecim redom:if (a || b || c)Kompilatori vrse takve izmene tokom prevodenja, na nacin pojednostavljeno opisan u nastavku. Kom-

pilator moze da ima raspoloziva pravila poput!(!x && !y) ↦−→ x || y.Kompilator razmatra izraz !(!a && !b) || c i njegove podizraze i ispituje da li na njih moze da pri-

meni neko od raspolozivih pravila. Pravilo je primenljivo ako se njegova leva strana moze unifikovati sa

Page 123: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

123 8. Automatsko rasudivanje u logici prvog reda

izrazom koji se razmatra. Pri tome, promenljive koje figurisu u izrazu iz programa smatraju se konstantama(zato se ova vrsta unifikacije zove jednosmerna unifikacija). U nasem primeru, !(!x && !y) moze da seunifikuje sa podizrazom !(!a && !b) za unifikator 𝜎 = [x ↦→ a, y ↦→ b]. Vazi (x || y)𝜎 = a || b, te seprimenom zamene od izraza if (!(!a && !b) || c) dobija izraz if (a || b || c).

Ovim je, zapravo, opisan i mehanizam primene logickih ekvivalencija u algoritmima PRENEX i KNF.

Pitanja i zadaci

8.47. Navesti primer izraza koji pokazaju da relacija unifikabilnosti nije tranzitivna.

8.48. Ako je za neka dva izraza 𝜎 neki unifikator, a 𝜆 najopstiji unifikator, kakav onda postoji unifikator 𝜇?

8.49. Do na sta dva izraza imaju jedinstven najopstiji unifikator?

8.50. Kako glasi pravilo cycle algoritma Najopstiji unifikator?

8.51. U kom slucaju je primenljivo pravilo decomposition u algoritmu Najopstiji unifikator?

8.52. U kojim koracima algoritam Najopstiji unifikator moze da vrati neuspeh?

8.53. Navesti algoritam Najopstiji unifikator.

8.54. Ako dva izraza nisu unifikabilna, da li je moguce da se algoritam Najopstiji unifikator zaustavi sa uspehom?

8.55. Ako dva izraza nisu unifikabilna, da li je moguce da se algoritam Najopstiji unifikator zaustavi sa neu-spehom?

8.56. Ako dva izraza nisu unifikabilna, da li je moguce da se algoritam Najopstiji unifikator ne zaustavi?

8.57. Da li algoritam Najopstiji unifikator pripada klasi p? Zasto?

8.58. Sta je najopstiji unifikator za termove 𝑓(𝑥, 𝑔(𝑎, 𝑦)) i 𝑓(𝑧, 𝑔(𝑥, 𝑧)) (𝑥, 𝑦 i 𝑧 su simboli promenljivih, 𝑎 jesimbol konstante)?

8.59. Sta je najopstiji unifikator za termove 𝑓(𝑥, 𝑔(𝑎, 𝑧)) i 𝑓(𝑏, 𝑔(𝑦, 𝑥)) (𝑥, 𝑦 i 𝑧 su simboli promenljivih, 𝑎 i𝑏 su simboli konstanti)?

8.60. Sta je najopstiji unifikator za termove 𝑓(𝑎, 𝑔(𝑥, 𝑦)) i 𝑓(𝑧, 𝑔(𝑎, 𝑧)) (𝑥, 𝑦 i 𝑧 su simboli promenljivih, 𝑎 jesimbol konstante)?

8.61. Odrediti najopstiji unifikator za sledeci skup parova termova:

(𝑔(𝑥, ℎ(𝑦, 𝑧)), 𝑔(𝑢, 𝑥)), (𝑓(𝑥), 𝑓(ℎ(𝑐, 𝑣))), (𝑔(𝑧, 𝑢), 𝑔(𝑦, 𝑢)) .

8.62. Ispitati da li je relacija unifikabilnosti tranzitivna.

8.63. Dokazati da za dva izraza postoji najvise jedan najopstiji unifikator (do na preimenovanje promenljivih).

8.3.4 Metod rezolucijeMetod rezolucije (formulisao ga je Alan Robinson 1965. godine, sledeci mnogobrojne prethodne rezultate),

je postupak za ispitivanje (ne)zadovoljivosti formule logike prvog reda u klauzalnoj formi, tj. za ispitivanje(ne)zadovoljivosti skupa klauza logike prvog reda. Metod se moze pojednostaviti tako da je primenljiv zaispitivanje (ne)zadovoljivosti skupa klauza iskazne logike.

Formula koja je u konjunktivnoj normalnoj formi moze da ima konjunkte koji se ponavljaju, a njeni konjunktimogu da imaju literale koji se ponavljaju. Medutim, na osnovu asocijativnosti i komutativnosti konjunkcijei disjunkcije, kao i na osnovu logickih ekvivalencija 𝒜 ∧ 𝒜 ≡ 𝒜 i 𝒜 ∨ 𝒜 ≡ 𝒜, takva ponavljanja mogu dase eliminisu i formula koja je u konjunktivnoj normalnoj formi moze da se zameni (logicki ekvivalentnom)formulom koja je konjunkcija razlicitih klauza od kojih je svaka disjunkcija razlicitih literala. Dakle, formulase moze opisati skupom klauza i, dalje, skupom skupova literala. Takva formula je zadovoljiva ako i samo akopostoji interpretacija u kojoj su sve njene klauze tacne. Klauza je zadovoljiva ako postoji interpretacija u kojojje bar jedan literal iz te klauze tacan, pa se smatra da prazna klauza, u oznaci , nije zadovoljiva.

Moze se osigurati da se logicke konstante ⊤ i ⊥ ne pojavljuju u skupu klauza. Zaista, klauza koja sadrziliteral ⊤ je u svakoj valuaciji tacna, pa moze biti eliminisana (jer ne utice na zadovoljivost polaznog skupa

Page 124: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 124

klauza). Ako klauza 𝐶 sadrzi literal ⊥, onda taj literal moze biti obrisan, dajuci novu klauzu 𝐶 ′ (jer je u svakojinterpretaciji klauza 𝐶 tacna ako i samo ako je tacna klauza 𝐶 ′).

U slucaju iskazne logike, ako je literal 𝑙 jednak iskaznom slovu 𝑝, onda sa 𝑙 oznacavamo literal ¬𝑝; ako jeliteral 𝑙 jednak negaciji iskaznog slova 𝑝 (tj. literalu ¬𝑝), onda sa 𝑙 oznacavamo literal 𝑝. Za literale 𝑙 i 𝑙 kazemoda su medusobno komplementni. U slucaju logike prvog reda, ako je literal 𝑙 jednak 𝑝(𝑡1, 𝑡2, . . . , 𝑡𝑛), onda sa𝑙 oznacavamo literal ¬𝑝(𝑡1, 𝑡2, . . . , 𝑡𝑛), a ako je literal 𝑙 jednak ¬𝑝(𝑡1, 𝑡2, . . . , 𝑡𝑛), onda sa 𝑙 oznacavamo literal𝑝(𝑡1, 𝑡2, . . . , 𝑡𝑛). Za literale 𝑙 i 𝑙 kazemo da su (medusobno) komplementni.

Metod rezolucije (i za iskaznu i za logiku prvog reda) proverava da li je dati skup klauza (ne)zadovoljiv.Ako je potrebno ispitati da li je formula Φ valjana, dovoljno je metodom rezolucije utvrditi da li je formula¬Φ nezadovoljiva, pri cemu je potrebno najpre formulu ¬Φ transformisati u skup klauza. Ako se izvede praznaklauza, onda to znaci da je formula ¬Φ nezadovoljiva, pa je Φ valjana; ako u nekom koraku ne moze da se izvedenijedna nova klauza, onda to znaci da je formula ¬Φ zadovoljiva, pa Φ nije valjana. Za razliku od iskaznogslucaja, u logici prvog reda moguc je i ishod da nove klauze mogu da se izvode beskonacno, a da se pri tome neizvede prazna klauza. Ovaj vid dokazivanja da je formula Φ valjana zovemo dokazivanje pobijanjem.

8.3.5 Metod rezolucije za iskaznu logikuU metodu rezolucije za iskaznu logiku primenjuje se pravilo rezolucije sledeceg oblika:

𝐶 ′ ∨ 𝑙 𝐶 ′′ ∨ 𝑙𝐶 ′ ∨ 𝐶 ′′

Klauzu 𝐶 ′ ∨ 𝐶 ′′ zovemo rezolventom klauza 𝐶 ′ ∨ 𝑙 i 𝐶 ′′ ∨ 𝑙, a klauze 𝐶 ′ ∨ 𝑙 i 𝐶 ′′ ∨ 𝑙 roditeljima rezolvente.Kazemo da klauze 𝐶 ′ ∨ 𝑙 i 𝐶 ′′ ∨ 𝑙 rezolviramo pravilom rezolucije.

Pravilo rezulucije moze se zapisati i na sledeci, intuitivniji nacin:

¬𝐶 ′ ⇒ 𝑝 𝑝⇒ 𝐶 ′′

¬𝐶 ′ ⇒ 𝐶 ′′

Ilustrujmo taj oblik pravila jednostavnim primerom nad formulama iskazanim prirodnim jezikom:

¬„vedro je“ ⇒ „pada kisa“ „pada kisa“ ⇒ „mec se otkazuje“¬„vedro je“ ⇒ „mec se otkazuje“

U polaznoj formi pravila rezulucije, navedeno zakljucivanje izgleda ovako:

„vedro je“ ∨ „pada kisa“ ¬„pada kisa“ ∨ „mec se otkazuje“„vedro je“ ∨ „mec se otkazuje“

Metod rezolucije je postupak za ispitivanje zadovoljivosti skupa klauza koji se sastoji od uzastopnog prime-njivanja pravila rezolucije (slika 8.6).

Algoritam: Metod rezolucije

Ulaz: Skup klauza 𝑆

Izlaz: Odgovor zadovoljiv/nezadovoljiv

1: ponavljaj beskonacno2: ako u tekucem skupu klauza postoji prazna klauza () onda3: vrati odgovor da je skup klauza 𝑆 nezadovoljiv;4: ako se tako moze izvesti neka nova klauza onda5: primeni pravilo rezolucije (pri tome, roditelji rezolvente se ne zamenjuju rezolventom, vec se rezol-

venta dodaje u tekuci skup klauza);6: inace7: vrati odgovor da je skup klauza 𝑆 zadovoljiv.

Slika 8.6: Algoritam Metod rezolucije.

U primeni metoda rezolucije, niz klauza (polaznih i izvedenih) oznacavacemo cesto sa 𝐶𝑖 (𝑖 = 1, 2, . . .). Izaizvedene klauze zapisivacemo oznake klauza iz kojih je ona izvedena, kao i redne brojeve literala nad kojim jeprimenjeno pravilo rezolucije. Literale u klauzama razdvajacemo obicno simbolom ’,’ (umesto simbolom ’∨’).

Page 125: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

125 8. Automatsko rasudivanje u logici prvog reda

Primer 8.29. Metodom rezolucije se iz skupa ¬𝑝,¬𝑞, 𝑟, ¬𝑝, 𝑞, 𝑝, ¬𝑟 moze izvesti prazna klauza:𝐶1 : ¬𝑝,¬𝑞, 𝑟𝐶2 : ¬𝑝, 𝑞𝐶3 : 𝑝𝐶4 : ¬𝑟𝐶5 : ¬𝑝, 𝑟 (𝐶1, 2;𝐶2, 2)𝐶6 : ¬𝑝 (𝐶4, 1;𝐶5, 2)𝐶7 : (𝐶3, 1;𝐶6, 1)

Skup klauza ¬𝑝,¬𝑞, 𝑟, ¬𝑝, 𝑞, 𝑝, ¬𝑟 je, dakle, nezadovoljiv.

Primer 8.30. Metodom rezolucije se iz skupa ¬𝑝,¬𝑞, 𝑟, ¬𝑝, 𝑞, 𝑝 ne moze izvesti prazna klauza.Ovaj skup klauza je, dakle, zadovoljiv.

U iskaznom slucaju, nad konacnim skupom promenljivih koje se pojavljuju u zadatom skupu klauza postojikonacno mnogo klauza, pa samim tim i mogucih rezolventi tokom primene metoda rezolucije. Zbog toga semetod rezolucije zaustavlja za svaku ulaznu formulu (tj. za svaki ulazni skup klauza). Moze se dokazati i vise,da je metod rezolucije procedura odlucivanja za zadovoljivost skupova klauza iskazne logike:

Teorema 8.7 (Teorema o algoritmu Metod rezolucije). Metod rezolucije zaustavlja se za svaku iskaznuformulu i u zavrsnom skupu klauza postoji prazna klauza ako i samo ako je polazna formula nezadovoljiva.

Metod rezolucije moze na razne nacine biti modifikovan tako da bude efikasniji.

8.3.6 Metod rezolucije za logiku prvog redaRazmotrimo formule prvog reda iskazane na prirodnom jeziku„𝑥 je filozof“ ⇒ „𝑥 je covek“

i„𝑥 je covek“ ⇒ „𝑥 je smrtan“.

Ako na njih primenimo supstituciju [𝑥 ↦→ 𝑆𝑜𝑘𝑟𝑎𝑡], dobijamo formule„Sokrat je filozof“ ⇒ „Sokrat je covek“

i„Sokrat je covek“ ⇒ „Sokrat je smrtan“.

Na njih (tretirane kao formule iskazne logike) mozemo da primenimo pravilo rezolucije za iskaznu logiku i dadobijemo zakljucak „Sokrat je filozof“ ⇒ „Sokrat je smrtan“:

„Sokrat je filozof“ ⇒ „Sokrat je covek“ „Sokrat je covek“ ⇒ „Sokrat je smrtan“„Sokrat je filozof“ ⇒ „Sokrat je smrtan“

Navedeno zakljucivanje (iz pretpostavki „𝑥 je filozof“ ⇒ „𝑥 je covek“ i „𝑥 je covek“ ⇒ „𝑥 je smrtan“),mozemo da zapisemo i malo drugacije:

„𝑥 je filozof“ ⇒ „𝑥 je covek“ „𝑥 je covek“ ⇒ „𝑥 je smrtan“„Sokrat je filozof“ ⇒ „Sokrat je smrtan“

Analogno smo mogli da izvedemo i zakljucke„Platon je filozof“ ⇒ „Platon je smrtan“

i„Cezar je filozof“ ⇒ „Cezar je smrtan“

i mnoge druge slicne. No, umesto da izvodimo mnogo ovakvih zakljucaka (od kojih nam je vecina nepotrebna),bolje je da izvedemo jedan opsti koji pokriva sve ove pojedinacne:

„𝑥 je filozof“ ⇒ „𝑥 je smrtan“.Ovakav zakljucak, medutim, ne moze se opravdati u terminima iskazne logike i za njega nam je potrebno

pravilo rezolucije za logiku prvog reda, za sada u specijalnom slucaju:

¬Γ′ ⇒ 𝒜′(𝑥) 𝒜′′(𝑥)⇒ Γ′′

(¬Γ′ ⇒ Γ′′)𝜎

Page 126: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 126

U navedenom pravilu, 𝜎 jе bilo koja supstitucija takva da je 𝒜′(𝑥)𝜎 jednako 𝒜′′(𝑥)𝜎. U navedenom primeru,𝜎 je bilo jednako [𝑥 ↦→ 𝑆𝑜𝑘𝑟𝑎𝑡] (ili [𝑥 ↦→ 𝑃𝑙𝑎𝑡𝑜𝑛]). No, najbolje je da ta supstitucija bude najopstija moguca,tj. da bude upravo najopstiji unifikator za 𝒜′(𝑥) i 𝒜′′(𝑥). Navedeno razmatranje vodi nas ka pravilu rezolucijeza logiku prvog reda (koje je opstije od navedenog specijalnog slucaja).

Za razliku od iskaznog slucaja, pravilo rezolucije za logiku prvog reda ne zahteva da u dve klauze postojekomplementni literali, vec, kao sto naslucujemo iz datog primera, da u dve klauze postoje literali 𝒜′ i ¬𝒜′′ takvida su atomicke formule 𝒜′ i 𝒜′′ unifikabilne. Pravilo rezolucije za logiku prvog reda (u njegovom osnovnomobliku, tzv. binarna rezolucija) moze se prikazati na sledeci nacin:

Γ′ ∨ 𝒜′ Γ′′ ∨ ¬𝒜′′

(Γ′ ∨ Γ′′)𝜎

gde su Γ′ i Γ′′ klauze, a 𝜎 je najopstiji unifikator za 𝒜′ i 𝒜′′. Opste pravilo rezolucije omogucava rezolviranjevise literala odjednom. Ono moze biti opisano na sledeci nacin:

Γ′ ∨ 𝒜′1 ∨ 𝒜′

2 ∨ . . . ∨ 𝒜′𝑚 Γ′′ ∨ ¬𝒜′′

1 ∨ ¬𝒜′′2 ∨ . . . ∨ ¬𝒜′′

𝑛

(Γ′ ∨ Γ′′)𝜎

gde je 𝜎 najopstiji unifikator za formule 𝒜′1, 𝒜′

2, . . ., 𝒜′𝑚, 𝒜′′

1 , 𝒜′′2 , . . ., 𝒜′′

𝑛.Obe klauze na koje se primenjuje pravilo rezolucije su (implicitno) univerzalno kvantifikovane. Zbog toga se

svaka od njihovih varijabli moze preimenovati (jer su formule ∀𝑥𝒜(𝑥) i ∀𝑥′𝒜(𝑥′) logicki ekvivalentne). Stavise,to je neophodno uraditi za sve deljene varijable, jer bi, inace, neke primene pravila rezolucije bile (pogresno)onemogucene (jer odgovarajuci literali ne bi bili unifikabilni).

Primer 8.31. Nad klauzama¬𝑝(𝑥, 𝑦) ∨ ¬𝑝(𝑧, 𝑦) ∨ 𝑝(𝑥, 𝑧)

i¬𝑝(𝑏, 𝑎)

se moze primeniti pravilo rezolucije, jer su literali 𝑝(𝑥, 𝑧) i 𝑝(𝑏, 𝑎) unifikabilni (uz najopstiji unifikator𝜎 = [𝑥 ↦→ 𝑏, 𝑧 ↦→ 𝑎]). Rezolventa ove dve klauze je klauza¬𝑝(𝑏, 𝑦) ∨ ¬𝑝(𝑎, 𝑦).Ako se pravilo rezolucije primenjuje dalje, onda u dobijenoj klauzi sve promenljive treba da budu prei-

menovane (treba da dobiju imena koja do tada nisu koriscena):¬𝑝(𝑏, 𝑦′) ∨ ¬𝑝(𝑎, 𝑦′).

Metod rezolucije za logiku prvog reda ima isti opsti oblik kao metod rezolucije za iskaznu logiku (slika 8.6),s tim sto se koristi opste pravilo rezolucije za logiku prvog reda.

Primer 8.32. Dokazimo da je formula 𝑝(𝑎) ⇒ (∃𝑥)𝑝(𝑥) valjana. Negacija date formule je logicki ekvi-valentna formuli 𝑝(𝑎) ∧ (∀𝑥)¬𝑝(𝑥). Metod rezolucije primenjuje se na skup klauza 𝑝(𝑎),¬𝑝(𝑥). Pravilorezolucije moguce je primeniti samo na jedan nacin — literali 𝑝(𝑎) i ¬𝑝(𝑥) se unifikuju supstitucijom [𝑥 ↦→ 𝑎]i njime se dobija prazna klauza. Odatle sledi da je formula 𝑝(𝑎)⇒ (∃𝑥)𝑝(𝑥) valjana.

Primer 8.33. Formula (∀𝑥)(∃𝑦)𝑝(𝑥, 𝑦) ⇒ (∃𝑦)(∀𝑥)𝑝(𝑥, 𝑦) nije valjana. Negacija date formule je logickiekvivalentna sa formulom (∀𝑥)(∃𝑦)(𝑝(𝑥, 𝑦) ∧ (∀𝑦)(∃𝑥) ¬𝑝(𝑥, 𝑦)) i sa formulom (∀𝑥)(∃𝑦)(∀𝑢)(∃𝑣)(𝑝(𝑥, 𝑦) ∧¬𝑝(𝑣, 𝑢)). Skolemizacijom se dobija skup od dve klauze: 𝑝(𝑥, 𝑓(𝑥)),¬𝑝(𝑔(𝑥, 𝑢), 𝑢). Pravilo rezolucijenije moguce primeniti na ove dve klauze, odakle sledi da je formula (∀𝑥)(∃𝑦) (𝑝(𝑥, 𝑦) ∧ (∀𝑦)(∃𝑥)¬𝑝(𝑥, 𝑦))zadovoljiva, tj. polazna formula nije valjana.

U primenama metoda rezolucije, niz klauza (polaznih i izvedenih) oznacavacemo cesto sa 𝐶𝑖 (𝑖 = 1, 2, . . .).Iza izvedene klauze zapisivacemo oznake klauza iz kojih je ona izvedena, redne brojeve literala u tim klauzama,iskorisceni najopstiji unifikator, kao i supstituciju kojom se preimenuju promenljive.

Primer 8.34. Dokazimo da je formula(∀𝑥)(∃𝑦)𝑞(𝑥, 𝑦)

Page 127: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

127 8. Automatsko rasudivanje u logici prvog reda

logicka posledica skupa formula

(∀𝑥)(∃𝑦)𝑝(𝑥, 𝑦), (∀𝑥)(∀𝑦)(𝑝(𝑥, 𝑦)⇒ 𝑞(𝑥, 𝑦)) .

Dovoljno je dokazati da je formula

𝒜 = ((∀𝑥)(∃𝑦)𝑝(𝑥, 𝑦) ∧ (∀𝑥)(∀𝑦)(𝑝(𝑥, 𝑦)⇒ 𝑞(𝑥, 𝑦)))⇒ (∀𝑥)(∃𝑦)𝑞(𝑥, 𝑦)

valjana. Preneks normalna forma negacije ove formule je

(∃𝑤)(∀𝑥)(∃𝑦)(∀𝑢)(∀𝑣)(∀𝑧)(𝑝(𝑥, 𝑦) ∧ (¬𝑝(𝑢, 𝑣) ∨ 𝑞(𝑢, 𝑣)) ∧ ¬𝑞(𝑤, 𝑧)) .

Nakon skolemizacije, ova formula dobija oblik:

(∀𝑥)(∀𝑢)(∀𝑣)(∀𝑧)(𝑝(𝑥, 𝑔(𝑥)) ∧ (¬𝑝(𝑢, 𝑣) ∨ 𝑞(𝑢, 𝑣)) ∧ ¬𝑞(𝑐, 𝑧)) ,

pri cemu je 𝑐 nova Skolemova konstanta, a 𝑔 nova Skolemova funkcija. Konjunktivna normalna formaformule

𝑝(𝑥, 𝑔(𝑥)) ∧ (¬𝑝(𝑢, 𝑣) ∨ 𝑞(𝑢, 𝑣)) ∧ ¬𝑞(𝑐, 𝑧)

je𝑝(𝑥, 𝑔(𝑥)) ∧ (¬𝑝(𝑢, 𝑣) ∨ 𝑞(𝑢, 𝑣)) ∧ ¬𝑞(𝑐, 𝑧) .

Elementi pocetnog skupa klauza su:𝐶1 : 𝑝(𝑥, 𝑔(𝑥)) (prvi deo hipoteze)𝐶2 : ¬𝑝(𝑢, 𝑣), 𝑞(𝑢, 𝑣) (drugi deo hipoteze)𝐶3 : ¬𝑞(𝑐, 𝑧) (zakljucak)

Prazna klauza izvodi se na sledeci nacin.𝐶4 : 𝑞(𝑥′, 𝑔(𝑥′)) (𝐶1, 1;𝐶2, 1), [𝑣 ↦→ 𝑔(𝑥), 𝑢 ↦→ 𝑥];

preimenovanje: [𝑥 ↦→ 𝑥′]𝐶5 : (𝐶3, 1;𝐶4, 1), [𝑥′ ↦→ 𝑐, 𝑧 ↦→ 𝑔(𝑐)]

Primer 8.35. Dokazimo da je formula

(∀𝑥)(∀𝑦)(∀𝑧)(𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥) ∧ 𝑏𝑒𝑙𝑜𝑤(𝑧, 𝑥)⇒ 𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑧))

logicka posledica skupa formula(∀𝑥)(∀𝑦)(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)⇒ ¬𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥)),

(∀𝑥)(∀𝑦)(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)⇔ 𝑏𝑒𝑙𝑜𝑤(𝑦, 𝑥)),(∀𝑥)(∀𝑦)(∀𝑧)(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦) ∧ 𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑧)⇒ 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑧))(videti primere 8.1 i 8.17). Dovoljno je dokazati da je formula

(∀𝑥)(∀𝑦)(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)⇒ ¬𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥))) ∧(∀𝑥)(∀𝑦)(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦)⇔ 𝑏𝑒𝑙𝑜𝑤(𝑦, 𝑥))) ∧(∀𝑥)(∀𝑦)(∀𝑧)(𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑦) ∧ 𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑧)⇒ 𝑎𝑏𝑜𝑣𝑒(𝑥, 𝑧)))⇒(∀𝑥)(∀𝑦)(∀𝑧)(𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑥) ∧ 𝑏𝑒𝑙𝑜𝑤(𝑧, 𝑥)⇒ 𝑎𝑏𝑜𝑣𝑒(𝑦, 𝑧))

valjana. Odgovarajuci skup klauza je:𝐶1 : ¬𝑎𝑏𝑜𝑣𝑒(𝑥1, 𝑦1) ∨ ¬𝑎𝑏𝑜𝑣𝑒(𝑦1, 𝑥1) (prvi deo hipoteze)𝐶2 : ¬𝑎𝑏𝑜𝑣𝑒(𝑥2, 𝑦2) ∨ 𝑏𝑒𝑙𝑜𝑤(𝑦2, 𝑥2) (drugi deo hipoteze)𝐶3 : ¬𝑏𝑒𝑙𝑜𝑤(𝑥3, 𝑦3) ∨ 𝑎𝑏𝑜𝑣𝑒(𝑦3, 𝑥3) (drugi deo hipoteze)𝐶4 : ¬𝑎𝑏𝑜𝑣𝑒(𝑥4, 𝑦4) ∨ ¬𝑎𝑏𝑜𝑣𝑒(𝑦4, 𝑧4) ∨ 𝑎𝑏𝑜𝑣𝑒(𝑥4, 𝑧4) (treci deo hipoteze)𝐶5 : 𝑎𝑏𝑜𝑣𝑒(𝑐𝑦, 𝑐𝑥) (prvi deo zakljucka)𝐶6 : 𝑏𝑒𝑙𝑜𝑤(𝑐𝑧, 𝑐𝑥) (drugi deo zakljucka)𝐶7 : ¬𝑎𝑏𝑜𝑣𝑒(𝑐𝑦, 𝑐𝑧) (treci deo zakljucka)

Prazna klauza se izvodi na sledeci nacin:𝐶8 : ¬𝑎𝑏𝑜𝑣𝑒(𝑐𝑦, 𝑦5) ∨ ¬𝑎𝑏𝑜𝑣𝑒(𝑦5, 𝑐𝑧) (𝐶7, 1;𝐶4, 3), [𝑥4 ↦→ 𝑐𝑦, 𝑧4 ↦→ 𝑐𝑧];

preimenovanje: [𝑦4 ↦→ 𝑦5]𝐶9 : ¬𝑎𝑏𝑜𝑣𝑒(𝑐𝑥, 𝑐𝑧) (𝐶8, 1;𝐶5, 1), [𝑦5 ↦→ 𝑐𝑥];𝐶10 : ¬𝑏𝑒𝑙𝑜𝑤(𝑐𝑧, 𝑐𝑥) (𝐶3, 1;𝐶9, 1), [𝑦3 ↦→ 𝑐𝑥, 𝑥3 ↦→ 𝑐𝑧];𝐶11 : (𝐶6, 1;𝐶10, 1), []

Page 128: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 128

Primer 8.36. Formula ∀𝑥∀𝑦 (𝑝(𝑥, 𝑦)⇒ 𝑝(𝑦, 𝑥)) je logicka posledica formula ∀𝑥 𝑝(𝑥, 𝑥) i ∀𝑢∀𝑣∀𝑤 (𝑝(𝑢, 𝑣)∧𝑝(𝑤, 𝑣)⇒ 𝑝(𝑢,𝑤)), pa je formula

𝒜 = (∀𝑥 𝑝(𝑥, 𝑥)) ∧ (∀𝑢∀𝑣∀𝑤 (𝑝(𝑢, 𝑣) ∧ 𝑝(𝑤, 𝑣)⇒ 𝑝(𝑢,𝑤)))⇒

(∀𝑥∀𝑦 (𝑝(𝑥, 𝑦)⇒ 𝑝(𝑦, 𝑥)))

valjana.𝐶1 : 𝑝(𝑥, 𝑥)𝐶2 : ¬𝑝(𝑢, 𝑣),¬𝑝(𝑤, 𝑣), 𝑝(𝑢,𝑤)𝐶3 : 𝑝(𝑎, 𝑏)𝐶4 : ¬𝑝(𝑏, 𝑎)𝐶5 : ¬𝑝(𝑢′, 𝑏), 𝑝(𝑢′, 𝑎) (𝐶2, 2;𝐶3, 1) [𝑤 ↦→ 𝑎, 𝑣 ↦→ 𝑏];

preimenovanje: [𝑢 ↦→ 𝑢′]𝐶6 : ¬𝑝(𝑏, 𝑏) (𝐶4, 1;𝐶5, 2) [𝑢

′ ↦→ 𝑏]𝐶7 : (𝐶1, 1;𝐶6, 1) [𝑥 ↦→ 𝑏]

Kao sto je ranije receno, da bismo dokazali da vazi 𝒜1,𝒜2, . . . ,𝒜𝑛 |= ℬ, dovoljno je dokazati da je formula𝒜1 ∧ 𝒜2 ∧ . . . ∧ 𝒜𝑛 ⇒ ℬ valjana, tj. da je formula 𝒜1 ∧ 𝒜2 ∧ . . . ∧ 𝒜𝑛 ∧ ¬ℬ nezadovoljiva. Ako formule 𝒜1,𝒜2, . . ., 𝒜𝑛, ℬ nemaju slobodne promenljive, onda ne moramo da u klauzalnu formu transformisemo navedenuformulu, dovoljno je da u klauzalne forme transformisemo formule 𝒜1, 𝒜2, . . ., 𝒜𝑛, ℬ pojedinacno. Time ce sedobiti isti skup klauza, ali na jednostavniji nacin, primenljiv i na prethodne primere.

Teorema 8.8 (Saglasnost i potpunost metoda rezolucije). Metod rezolucije je saglasan: ako je primenommetoda dobijena prazna klauza, onda je i polazni skup klauza nezadovoljiv (ili, drugim recima, iz zadovoljivogskupa klauza moze se dobiti samo zadovoljiv skup klauza).

Metod rezolucije je potpun za pobijanje: iz svakog nezadovoljivog skupa klauza moguce je izvesti praznuklauzu.

Problem ispitivanja valjanosti u logici prvog reda nije odluciv, ali metod rezolucije pruza najvise sto semoze dobiti: njime se iz svakog nezadovoljivog skupa klauza moze izvesti prazna klauza (cime je dokazano daje nezadovoljiv), ali ne moze se za svaki zadovoljiv skup klauza dokazati da je zadovoljiv (naime, moguce jeizvesti beskonacno mnogo rezolventi). Dualno, pobijanjem se metodom rezolucije moze za svaku valjanu formuludokazati da je valjana, ali ne moze se za svaku formulu koja nije valjana utvrditi da nije valjana.

Primetimo da u opisu metoda rezolucije nije specifikovan nacin na koji se biraju klauze nad kojim se pri-menjuje pravilo rezolucije. Takode, teorema 8.8 tvrdi da se iz svakog nezadovoljivog skupa klauza moze izvestiprazna klauza, a ne tvrdi da se iz svakog nezadovoljivog skupa klauza mora izvesti prazna klauza bez obzirana izbor klauza za rezolviranje. Naime, u zavisnosti od izbora klauza na koje se primenjuje pravilo rezolucijemoguce je da se i za nezadovoljiv skup klauza metod rezolucije ne zaustavlja. Nacin na koji se biraju klauze nakoje se primenjuje pravilo rezolucije cini strategiju za upravljanje metoda rezolucije.

Jedna od mogucnosti za obezbedivanje potpunosti metoda rezolucije u strozijem smislu (da postoji strategijaza upravljanje metoda rezolucije takva da se iz svakog nezadovoljivog skupa klauza nuzno izvodi prazna klauzau konacno mnogo koraka) je sistematsko izvodenje svih rezolventi iz skupa klauza koji se siri tokom primenemetoda. Sistematski metod rezolucije moze se definisati na sledeci nacin: metod se primenjuje u stupnjevima;prvi stupanj cini kreiranje pocetnog skupa klauza; neka pre 𝑖-tog stupnja tekuci skup klauza cine klauze 𝐶1,𝐶2, . . ., 𝐶𝑛, 𝑖-ti stupanj sastoji se od izvodenja (i dodavanja tekucem skupu klauza) svih mogucih rezolventiiz po svake dve klauze iz skupa 𝐶1, 𝐶2, . . ., 𝐶𝑛 (broj tih klauza je konacan); metod se zaustavlja ako se unekom koraku izvede prazna klauza ili ako se u nekom stupnju ne moze izvesti nijedna nova klauza. Ako jerazmatrani skup klauza Γ nezadovoljiv, onda se, na osnovu teoreme 8.8, iz njega metodom rezolucije mozeizvesti prazna klauza, tj. postoji niz rezolventi 𝑅1, 𝑅2, . . ., 𝑅𝑛 (koje se izvode iz pocetnih i izvedenih klauza)od kojih je poslednja u nizu prazna klauza. Ako se na skup klauza Γ primeni sistematski metod rezolucije, unekom stupnju bice (ako vec pre toga nije izvedena prazna klauza) izvedene sve klauze iz skupa 𝑅1, 𝑅2, . . .,𝑅𝑛, pa i prazna klauza. Odakle sledi naredna teorema.

Teorema 8.9 (Potpunost sistematskog metoda rezolucije). Ako je Γ nezadovoljiv skup klauza, onda se iznjega sistematskim metodom rezolucije mora izvesti prazna klauza.

Page 129: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

129 8. Automatsko rasudivanje u logici prvog reda

Ocigledno je da je sistematski metod rezolucije izuzetno neefikasan. Postoji vise strategija koje obezbedujunuzno izvodenje prazne klauze iz nezadovoljivog skupa klauza (tj. sprecavaju beskonacne petlje), ali na efikasnijinacin. Smanjivanje izvodenja nepotrebnih klauza jedan je od najvaznijih ciljeva u dizajniranju strategija zametod rezolucije.

Pitanja i zadaci

8.64. Koje korake je potrebno primeniti da bi se metodom rezolucije ispitalo da li je formula logike prvog reda𝒜 valjana?

8.65. Da bi se primenio metod rezolucije u kakvoj formi formula cija se nezadovoljivost ispituje mora da bude?

8.66. Sta je rezolventa klauza Γ′ ∨ 𝒜′ i Γ′′ ∨ ¬𝒜′′ (𝜎 je najopstiji unifikator za 𝒜′ i 𝒜′′)?

8.67. Navesti pravilo rezolucije za logiku prvog reda.

8.68. Koji su moguci ishodi primene metoda rezolucije za iskaznu logiku, a koji za logiku prvog reda?

8.69. Da li se metod rezolucije za iskaznu logiku i metod rezolucije za logiku prvog reda uvek zaustavljaju?

8.70. Navesti svojstva metode rezolucije za iskaznu i predikatsku logiku.

8.71. Da li se metodom rezolucije za svaku formulu logike prvog reda koja je valjana moze dokazati da jevaljana?

8.72. Da li se metodom rezolucije za svaku formulu logike prvog reda koja nije valjana moze dokazati da nijevaljana?

8.73. U iskaznoj logici, da li ce u konacnom broju koraka biti izvedena prazna klauza, ma kako god se prime-njivalo pravilo rezolucije

• ako je pocetni skup klauza zadovoljiv?

• ako je pocetni skup klauza nezadovoljiv?

8.74. U logici prvog reda, da li ce u konacnom broju koraka biti izvedena prazna klauza, ma kako god seprimenjivalo pravilo rezolucije

• ako je pocetni skup klauza zadovoljiv?

• ako je pocetni skup klauza nezadovoljiv?

8.75. Ukoliko je skup klauza logike prvog reda nezadovoljiv, onda se iz njega metodom rezolucije (a) uvek moraizvesti prazna klauza; (b) uvek moze izvesti prazna klauza; (c) ne moze izvesti prazna klauza; (d) nikad ne mozeizvesti prazna klauza.

8.76. Dati su skup 𝑃 od 𝑛 (𝑛 ≥ 1) iskaznih slova, skup 𝒞 svih klauza nad 𝑃 i dva podskupa, 𝑆1 i 𝑆2, skupa 𝒞.(a) Koliko elemenata ima skup 𝒞?(b) Da li je skup 𝒞 zadovoljiv?(c) Ako su skupovi 𝑆1 i 𝑆2 zadovoljivi, da li je i skup 𝑆1 ∪ 𝑆2 zadovoljiv?(d) Ako su skupovi 𝑆1 i 𝑆2 zadovoljivi, da li je i skup 𝑆1 ∩ 𝑆2 zadovoljiv?(e) Ako su skupovi 𝑆1 i 𝑆2 kontradiktorni, da li skup 𝑆1 ∪ 𝑆2 moze da bude kontradiktoran?(f) Ako su skupovi 𝑆1 i 𝑆2 kontradiktorni, da li skup 𝑆1 ∪ 𝑆2 mora da bude kontradiktoran?(g) Ako su skupovi 𝑆1 i 𝑆2 kontradiktorni, da li skup 𝑆1 ∩ 𝑆2 moze da bude kontradiktoran?(h) Ako su skupovi 𝑆1 i 𝑆2 kontradiktorni, da li skup 𝑆1 ∩ 𝑆2 mora da bude kontradiktoran?(i) Ako je skup 𝑆1 zadovoljiv, da li skup 𝒞 ∖ 𝑆1 moze da bude zadovoljiv?(j) Ako je skup 𝑆1 zadovoljiv, da li skup 𝒞 ∖ 𝑆1 mora da bude zadovoljiv?

8.77. Dokazati metodom rezolucije za iskaznu logiku da su naredne formule tautologije:(a) 𝑞 ⇒ (𝑝⇒ 𝑞)(b) ((𝑝⇒ 𝑞) ∧ (𝑞 ⇒ 𝑟))⇒ (𝑝⇒ 𝑟)(c) ((𝑝⇒ 𝑞) ∧ (𝑝⇒ 𝑟))⇒ (𝑝⇒ (𝑞 ∧ 𝑟))(d) (((𝑝⇒ 𝑟) ∧ (𝑞 ⇒ 𝑟)) ∧ (𝑝 ∨ 𝑞))⇒ 𝑟(e) ¬(𝑝 ∧ 𝑞)⇒ (¬𝑝 ∨ ¬𝑞)(f) ¬(𝑝 ∨ 𝑞)⇒ (¬𝑝 ∧ ¬𝑞)(g) (¬𝑝 ∨ ¬𝑞)⇒ ¬(𝑝 ∧ 𝑞)(h) (𝑝 ∨ (𝑞 ∧ 𝑟))⇒ ((𝑝 ∨ 𝑞) ∧ (𝑝 ∨ 𝑟))

Page 130: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 130

8.78. Metodom rezolucije za logiku prvog reda dokazati da je naredna formula valjana:(a) (∀𝑦)((∀𝑥)𝑝(𝑥)⇒ 𝑝(𝑦))(b) (∀𝑥)𝑝(𝑥)⇒ (∃𝑥)𝑝(𝑥)(c) ¬(∃𝑦)𝑝(𝑦)⇒ (∀𝑦)((∃𝑥)𝑝(𝑥)⇒ 𝑝(𝑦))(d) (∃𝑥)𝑝(𝑥)⇒ (∃𝑦)𝑝(𝑦)(e) (∀𝑥)(𝑝(𝑥) ∧ 𝑞(𝑥))⇔ (∀𝑥)𝑝(𝑥) ∧ (∀𝑥)𝑞(𝑥)(f) (∀𝑥)𝑝(𝑥) ∨ (∀𝑥)𝑞(𝑥)⇒ (∀𝑥)(𝑝(𝑥) ∨ 𝑞(𝑥))(g) (∃𝑥)(𝑝(𝑥) ∨ 𝑞(𝑥))⇔ (∃𝑥)𝑝(𝑥) ∨ (∃𝑥)𝑞(𝑥)(h) (∃𝑥)(𝑝(𝑥) ∧ 𝑞(𝑥))⇒ (∃𝑥)𝑝(𝑥) ∧ (∃𝑥)𝑞(𝑥)(i) (∃𝑥)(∀𝑦)𝑝(𝑥, 𝑦)⇒ (∀𝑦)(∃𝑥)𝑝(𝑥, 𝑦).

8.79. Metodom rezolucije za logiku prvog reda dokazati da je formula (𝐻 ∧𝐾)⇒ 𝐿 valjana, gde je𝐻 = (∀𝑥)(∀𝑦)(𝑝(𝑥, 𝑦)⇒ 𝑝(𝑦, 𝑥))𝐾 = (∀𝑥)(∀𝑦)(∀𝑧)((𝑝(𝑥, 𝑦) ∧ 𝑝(𝑦, 𝑧))⇒ 𝑝(𝑥, 𝑧))𝐿 = (∀𝑥)(∀𝑦)(𝑝(𝑥, 𝑦)⇒ 𝑝(𝑥, 𝑥)).

8.80. Koristeci metod rezolucije za logiku prvog reda dokazati da vazi:

(∀𝑥)(𝑝(𝑥)⇒ 𝑞(𝑥)), 𝑝(𝑐) |= 𝑞(𝑐) .

8.81. Metodom rezolucije za logiku prvog reda dokazati da je formula (∀𝑥)𝑠(𝑥) logicka posledica skupa formula∀𝑥(𝑝(𝑥)⇒ 𝑞(𝑥)), ∀𝑥(𝑞(𝑥)⇒ 𝑠(𝑥)), ∀𝑥(𝑟(𝑥)⇒ 𝑠(𝑥)), ∀𝑥(𝑝(𝑥) ∨ 𝑟(𝑥)).

8.82. Metodom rezolucije za logiku prvog reda dokazati da je formula ∀𝑥∀𝑦 (𝑥 = 𝑦 ⇒ 𝑦 = 𝑥) logicka posledicaformula ∀𝑥 (𝑥 = 𝑥) i ∀𝑢∀𝑣∀𝑤 (𝑢 = 𝑣 ∧ 𝑤 = 𝑣 ⇒ 𝑢 = 𝑤).

8.83. Za narednu formulu metodom rezolucije za logiku prvog reda dokazati da je valjana:

(∀𝑥)(𝒜(𝑥)⇒ 𝐶)⇔ ((∃𝑥)𝒜(𝑥)⇒ 𝐶)

pri cemu je 𝐶 recenica.

8.84. Vazi sledece:Janko ima psa.Svaki vlasnik psa voli zivotinje.Nijedna osoba koja voli zivotinje ne moze da udari zivotinju.Janko ili Marko su udarili macku cije je ime Tuna.Svaka macka je zivotinja.Metodom rezolucije za logiku prvog reda dokazati da je Marko udario Tunu.

8.85. Prevesti na jezik logike prvog reda i dokazati metodom rezolucije za logiku prvog reda sledece tvrdenje:Ako su svi politicari lukavi i ako su samo pokvareni ljudi politicari, onda, ako postoji bar jedan politicar, ondaje neki pokvaren covek lukav.

8.3.7 Prirodna dedukcija

Pojam valjanosti je semanticke prirode, a koncept dokazivanja i sistema za dedukciju vodi do pojma teoremekoji je sintaksicki-deduktivne prirode. Pojam teoreme je deduktivni pandan semantickog pojma valjane formule.Izmedu ova dva pojma postoji veza i deduktivni sistemi obicno imaju svojstvo potpunosti i saglasnosti: akoje neka formula valjana, onda ona moze biti dokazana u okviru deduktivnog sistema, a ako za neku formulupostoji dokaz u okviru deduktivnog sistema, onda je ona sigurno valjana.

Sistemi za dedukciju su cisto sintaksicke prirode — primenjuju se kroz kombinovanje simbola, ne razmatrajucisemantiku formula. Sisteme za dedukciju zovemo i racun – (iskazni racun u slucaju iskazne logike i predikatskiracun u slucaju logike prvog reda). Postoji vise razlicitih deduktivnih sistema, a u nastavku ce biti opisan samojedan — prirodna dedukcija.

Sistem prirodne dedukcije (racun prirodne dedukcije) uveo je, 1935. godine, Gerhard Gencen sa nameromda prirodnije opise uobicajeno zakljucivanje matematicara.

U prirodnoj dedukciji koriste se logicki veznici ¬, ∧, ∨, ⇒, kao i logicka konstanta ⊥. Formula 𝒜 ⇔ ℬ jekraci zapis za (𝒜 ⇒ ℬ) ∧ (ℬ ⇒ 𝒜), a formula ⊤ kraci zapis za 𝒜 ⇒ 𝒜. Skup formula definise se na uobicajeninacin.

Pravila izvodenja sistema prirodne dedukcije data su na slici 8.7. Primetimo da za svaki logicki veznik i svaki

Page 131: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

131 8. Automatsko rasudivanje u logici prvog reda

kvantifikator postoje pravila koja ga uvode (pravila 𝐼-tipa) i pravila koja ga eliminisu (pravila 𝐸-tipa). Pravilo𝑒𝑓𝑞 (Ex falso quodlibet) je jedino pravilo koje ne uvodi niti eliminise neki logicki veznik. Skup pravila sistemaprirodne dedukcije za iskaznu logiku cine sva pravila sa slike 8.7 izuzev onih koja ukljucuju kvantifikatore.

[𝒜]𝑢....⊥¬𝒜 ¬𝐼, 𝑢

𝒜 ¬𝒜⊥ ¬𝐸

𝒜 ℬ𝒜 ∧ ℬ ∧𝐼

𝒜 ∧ ℬ𝒜 ∧𝐸 𝒜 ∧ ℬ

ℬ ∧𝐸

𝒜𝒜 ∨ ℬ ∨𝐼

ℬ𝒜 ∨ ℬ ∨𝐼

𝒜 ∨ ℬ

[𝒜]𝑢....𝐶

[ℬ]𝑣....𝐶

𝐶∨𝐸, 𝑢, 𝑣

[𝒜]𝑢....ℬ

𝒜 ⇒ ℬ ⇒ 𝐼, 𝑢 𝒜 𝒜 ⇒ ℬℬ ⇒ 𝐸

𝒜[𝑥 ↦→ 𝑦]

(∀𝑥)𝒜 ∀𝐼(∀𝑥)𝒜𝒜[𝑥 ↦→ 𝑡]

∀𝐸

uz dodatni uslov

𝒜[𝑥 ↦→ 𝑡]

(∃𝑥)𝒜 ∃𝐼(∃𝑥)𝒜

[𝒜[𝑥 ↦→ 𝑦]]𝑢....ℬ

ℬ ∃𝐸, 𝑢

uz dodatni uslov

⊥𝐷

𝑒𝑓𝑞

Slika 8.7: Pravila izvodenja sistema prirodne dedukcije

U pravilima izvodenja prikazanim u tabeli 8.7 simbol 𝑡 oznacava proizvoljan term. Simbol 𝑦 oznacavatzv. eigenvariable (pravu promenljivu) — simbol promenljive za koju vazi tzv. eigenvariable uslov. Ovaj uslovza pravilo ∀𝐼 je da vazi da je 𝑥 = 𝑦 ili da promenljiva 𝑦 nije slobodna u 𝒜, kao i da vazi da 𝑦 nije slobodnani u jednoj neoslobodenoj pretpostavci u izvodenju formule 𝒜[𝑥 ↦→ 𝑦]. Eigenvariable uslov za pravilo ∃𝐸 je davazi da je 𝑥 = 𝑦 ili da promenljiva 𝑦 nije slobodna u 𝒜, kao i da vazi da 𝑦 nije slobodna u ℬ niti u bilo kojojneoslobodenoj pretpostavci u izvodenju formule ℬ osim, eventualno, u formuli 𝒜[𝑥 ↦→ 𝑦].

Postoji sistem prirodne dedukcije za klasicnu logiku (koji zovemo sistem NK) i sistem prirodne dedukcije zaintuicionisticku logiku (koji zovemo sistem NJ). U sistemu prirodne dedukcije za klasicnu logiku postoji jednaaksiomska shema: 𝒜 ∨ ¬𝒜 (tertium non datur). Sistem za intuicionisticku logiku nema aksioma.

Tokom izvodenja dokaza u sistemu prirodne dedukcije mogu se koristiti (nedokazane) pretpostavke, ali onemoraju biti eliminisane („oslobodene“) pre kraja izvodenja. U zapisu pravila, [𝐹 ] oznacava da se nekoliko(mozda i nula) pojavljivanja pretpostavke 𝐹 oslobada, brise (kao nedokazane, neraspolozive pretpostavke)neposredno nakon primene pravila. Pri tome, moze ostati i nekoliko neoslobodenih pojavljivanja pretpostavke 𝐹 .Pretpostavkama su pridruzene oznake (obicno prirodni brojevi), koje se zapisuju i u okviru zapisa primenjenogpravila (kako bi se znalo koja pretpostavka je oslododena u kom koraku).

U sistemu prirodne dedukcije dokaz (dedukcija, izvodenje) je stablo cijem je svakom cvoru pridruzena formula,a svakom listu ili pretpostavka ili aksioma. Formula 𝐴 je teorema prirodne dedukcije ako postoji dokaz u cijem jekorenu 𝐴 i koji nema neoslobodenih pretpostavki i tada pisemo ⊢ 𝐴 i kazemo da je formula 𝐴 dokaziva u sistemuprirodne dedukcije. Ako postoji dokaz, u cijem je korenu formula 𝐴 i koji ima neoslobodene pretpostavke kojepripadaju nekom skupu Γ, onda kazemo da je formula 𝐴 deduktivna posledica skupa Γ i tada pisemo Γ ⊢ 𝐴.Elemente skupa Γ tada zovemo i premisama ili hipotezama dokaza. Ako je skup Γ jednak 𝐵1, 𝐵2, . . . , 𝐵𝑛,

Page 132: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 132

𝐴

...

𝐵

...

𝐶

𝐷...

....𝐴

....𝐵

𝐶𝐷....

Slika 8.8: Deo dokaza i njegov pojednostavljeni prikaz

onda pisemo 𝐵1, 𝐵2, . . . , 𝐵𝑛 ⊢ 𝐴.Dokaz u sistemu prirodne dedukcije se obicno prikazuje u vidu stabla ciji su listovi na vrhu, a koren na dnu.

To stablo se prikazuje pojednostavljeno, stilizovano (videti sliku 8.8).Naredni primeri ilustruju primenu prirodne dedukcije za dokazivanje u iskaznoj logici.

Primer 8.37. Formula (𝐴 ∨ 𝐵) ⇒ (𝐵 ∨ 𝐴) je teorema sistema prirodne dedukcije, tj. vazi ⊢ (𝐴 ∨ 𝐵) ⇒(𝐵 ∨𝐴):

[𝐴 ∨𝐵]1[𝐴]2

𝐵 ∨𝐴∨𝐼

[𝐵]3

𝐵 ∨𝐴∨𝐼

𝐵 ∨𝐴∨𝐸, 2, 3

(𝐴 ∨𝐵)⇒ (𝐵 ∨𝐴)⇒ 𝐼, 1

Primer 8.38. U sistemu prirodne dedukcije vazi: 𝐴⇒ 𝐵,𝐵 ⇒ 𝐶 ⊢ 𝐴⇒ 𝐶:

[𝐴]1 𝐴⇒ 𝐵

𝐵⇒ 𝐸

𝐵 ⇒ 𝐶𝐶

⇒ 𝐸

𝐴⇒ 𝐶⇒ 𝐼, 1

Primer 8.39. U sistemu prirodne dedukcije vazi ⊢ 𝐴⇒ (𝐴 ∨𝐵) ∧ (𝐴 ∨ 𝐶):

[𝐴]1

𝐴 ∨𝐵∨𝐼

[𝐴]1

𝐴 ∨ 𝐶∨𝐼

(𝐴 ∨𝐵) ∧ (𝐴 ∨ 𝐶)∧𝐼

𝐴⇒ (𝐴 ∨𝐵) ∧ (𝐴 ∨ 𝐶)⇒ 𝐼, 1

U prethodnom dokazu, primenom pravila⇒ 𝐼 nisu morala da budu oslobodena sva pojavljivanja pretpostavke𝐴. Na primer:

[𝐴]1

𝐴 ∨𝐵∨𝐼 𝐴

𝐴 ∨ 𝐶∨𝐼

(𝐴 ∨𝐵) ∧ (𝐴 ∨ 𝐶)∧𝐼

𝐴⇒ (𝐴 ∨𝐵) ∧ (𝐴 ∨ 𝐶)⇒ 𝐼, 1

Ovaj dokaz je dokaz tvrdenja 𝐴 ⊢ 𝐴 ⇒ (𝐴 ∨ 𝐵) ∧ (𝐴 ∨ 𝐶) (sto je slabije tvrdenje od tvrdenja ⊢ 𝐴 ⇒(𝐴 ∨𝐵) ∧ (𝐴 ∨ 𝐶)).

Naredni primeri ilustruju primenu prirodne dedukcije za dokazivanje u logici prvog reda.

Primer 8.40. Formula (∃𝑥)(∀𝑦)𝑝(𝑥, 𝑦) ⇒ (∀𝑦)(∃𝑥)𝑝(𝑥, 𝑦) je teorema sistema prirodne dedukcije (i zaklasicnu i za intuicionisticku logiku). Neki matematicar bi ovu formulu (neformalno) dokazao na sledecinacin:

1. Pretpostavimo da vazi (∃𝑥)(∀𝑦)𝑝(𝑥, 𝑦).

Page 133: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

133 8. Automatsko rasudivanje u logici prvog reda

2. Pretpostavimo da vazi (∀𝑦)𝑝(𝑥′, 𝑦) za neko 𝑥′.

3. Neka je 𝑦′ proizvoljni objekat. Tada vazi 𝑝(𝑥′, 𝑦′).

4. Iz 𝑝(𝑥′, 𝑦′) sledi da vazi (∃𝑥)𝑝(𝑥, 𝑦′).

5. Objekat 𝑦′ je proizvoljan, pa vazi (∀𝑦)(∃𝑥)𝑝(𝑥, 𝑦).

6. Iz (∃𝑥)(∀𝑦)𝑝(𝑥, 𝑦) i iz toga sto pretpostavka (∀𝑦)𝑝(𝑥′, 𝑦) ima za posledicu (∀𝑦)(∃𝑥) 𝑝(𝑥, 𝑦), sledi(∀𝑦)(∃𝑥)𝑝(𝑥, 𝑦).

7. Iz pretpostavke (∃𝑥)(∀𝑦)𝑝(𝑥, 𝑦) sledi (∀𝑦)(∃𝑥)𝑝(𝑥, 𝑦), pa vazi (∃𝑥)(∀𝑦) 𝑝(𝑥, 𝑦) ⇒ (∀𝑦)(∃𝑥)𝑝(𝑥, 𝑦).

Ovaj dokaz moze se precizno opisati u vidu dokaza u sistemu prirodne dedukcije (i za klasicnu i zaintuicionisticku logiku):

[(∃𝑥)(∀𝑦)𝑝(𝑥, 𝑦)]2

[(∀𝑦)𝑝(𝑥′, 𝑦)]1

𝑝(𝑥′, 𝑦′)∀𝐸

(∃𝑥)𝑝(𝑥, 𝑦′) ∃𝐼

(∀𝑦)(∃𝑥)𝑝(𝑥, 𝑦) ∀𝐼

(∀𝑦)(∃𝑥)𝑝(𝑥, 𝑦)∃𝐸, 1

(∃𝑥)(∀𝑦)𝑝(𝑥, 𝑦)⇒ (∀𝑦)(∃𝑥)𝑝(𝑥, 𝑦)⇒ 𝐼, 2

Primer 8.41. Formula ¬(∃𝑥)𝑝(𝑥) ⇒ (∀𝑦)¬𝑝(𝑦) je teorema sistema prirodne dedukcije (i za klasicnu i zaintuicionisticku logiku):

[𝑝(𝑧)]1

(∃𝑥)𝑝(𝑥) ∃𝐼 [¬(∃𝑥)𝑝(𝑥)]2

⊥ ¬𝐸

¬𝑝(𝑧)¬𝐼, 1

(∀𝑦)¬𝑝(𝑦) ∀𝐼

¬(∃𝑥)𝑝(𝑥)⇒ (∀𝑦)¬𝑝(𝑦)⇒ 𝐼, 2

Primer 8.42. U sistemu prirodne dedukcije vazi ∀𝑥𝒜,∀𝑥(𝒜 ⇒ ℬ) ⊢ ∀𝑥ℬ:

∀𝑥𝒜𝒜 ∀𝐸

∀𝑥(𝒜 ⇒ ℬ)𝒜 ⇒ ℬ ∀𝐸

ℬ ⇒ 𝐸

∀𝑥ℬ ∀𝐼

Naredna teorema povezuje semanticka i deduktivna svojstva klasicne logike (ona vazi i za iskaznu i zapredikatsku logiku).

Teorema 8.10. Formula je teorema sistema prirodne dedukcije za klasicnu logiku ako i samo ako je valjana.

Pitanja i zadaci

8.86. Navesti bar tri pravila sistema prirodne dedukcije.

8.87. Koliko u sistemu prirodne dedukcije ima pravila koja uvode veznik ∧?

8.88. Koliko u sistemu prirodne dedukcije ima pravila koja eliminisu veznik ∧?

8.89. Kako glasi pravilo prirodne dedukcije koje eliminise negaciju?

8.90. Kako glasi pravilo eliminisanja implikacije u sistemu prirodne dedukcije?

8.91. Kako glasi pravilo za eliminisanje univerzalnog kvantifikatora u sistemu prirodne dedukcije?

Page 134: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.4. Resavanje problema svodenjem na problem valjanosti 134

8.92. Navesti bar jedno pravilo prirodne dedukcije koje se koristi u logici prvog reda (a ne i u iskaznoj logici).

8.93. Sta razlikuje sistem prirodne dedukcije za klasicnu i intuicionisticku logiku?

8.94. U dokazima prirodnom dedukcijom, sta znaci oznaka [𝒜]?

8.95. U sistemu prirodne dedukcije dokazati da vazi 𝒜 ∨ ℬ ⊢ ℬ ∨ 𝒜.

8.96. U sistemu prirodne dedukcije dokazati da vazi 𝒜,ℬ ∧ 𝒞 ⊢ 𝒜 ∧ ℬ.

8.97. U sistemu prirodne dedukcije dokazati da vazi 𝒜 ∧ ℬ, 𝒞 ⊢ 𝒜 ∧ 𝒞.

8.98. Sta povezuje pojam valjane formule i pojam formule dokazive u prirodnoj dedukciji za klasicnu logiku?

8.99. Dokazati da u prirodnoj dedukciji vazi 𝐴 ∨𝐵,¬𝐴 ⊢ 𝐵.

8.100. Dokazati da je formula (𝐴⇒ 𝐵)⇒ (¬𝐵 ⇒ ¬𝐴) teorema sistema prirodne dedukcije za klasicnu logiku.

8.101. Dokazati da je formula (𝐴 ∨ (𝐵 ∧ 𝐶)) ⇒ ((𝐴 ∨ 𝐵) ∧ (𝐴 ∨ 𝐶)) teorema sistema prirodne dedukcije zaklasicnu logiku.

8.102. Dokazati da je formula ¬(𝐴∧𝐵)⇒ (¬𝐴∨¬𝐵) teorema sistema prirodne dedukcije za klasicnu logiku.

8.103. U sistemu prirodne dedukcije dokazati 𝐴⇒ 𝐶,𝐵 ⇒ 𝐶 ⊢ (𝐴 ∨𝐵)⇒ 𝐶.

8.4 Resavanje problema svodenjem na problem valjanosti

Ukoliko je potrebno dokazati da je neko tvrdenje ℬ logicka posledica skupa tvrdenja 𝒜1, 𝒜2, . . ., 𝒜𝑛, ondaje dovoljno dokazati da je formula 𝒜1 ∧ 𝒜2 ∧ . . . ∧ 𝒜𝑛 ⇒ ℬ valjana. Dokazivanje valjanosti formule moze sesprovesti namenskim programima za to. Tipicna situacija za ovakvu primenu je dokazivanje teorema odredeneteorije, pri cemu su 𝒜1, 𝒜2, . . ., 𝒜𝑛 aksiome te teorije, a ℬ teorema koju treba dokazati. Medutim, za mnogeteorije, krajnje je neprakticno teoreme dokazivati na ovaj opsti nacin. Za mnoge teorije logike prvog reda postojei specijalizovani dokazivaci zasnovani na specificnostima tih teorija.

8.4.1 Porodicni odnosiU bazama podataka drzavne uprave postoje informacije o svim gradanima koji ukljucuju informacije o oba

roditelja. Drzavnoj upravi je ponekad potrebno da proveri da li su neke dve osobe u nekom porodicnom odnosu,ali bilo bi iracionalno da se svi moguci rodbinski odnosi cuvaju eksplicitno u bazama podataka. Umesto toga,moguce je proveriti neke konkretne porodicne odnose i neka opsta tvrdenja koriscenjem logickog rasudivanja.

Porodicne relacije (kao sto su „biti otac“, „biti majka“, „biti brat“, „biti tetka“ i slicno) mogu se opisatiformulama logike prvog reda. Na primer,𝒜 = ∀𝑥∀𝑦(𝑏𝑟𝑎𝑡(𝑥, 𝑦)⇔ 𝑚𝑢𝑠𝑘𝑜(𝑥) ∧ 𝑥 = 𝑦 ∧ ∃𝑧(𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗(𝑧, 𝑥) ∧ 𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗(𝑧, 𝑦)))ℬ = ∀𝑥∀𝑦(𝑏𝑟𝑎𝑡(𝑥, 𝑦) ∧𝑚𝑢𝑠𝑘𝑜(𝑦)⇔ 𝑏𝑟𝑎𝑡(𝑦, 𝑥) ∧𝑚𝑢𝑠𝑘𝑜(𝑥))Navedene formule mogu se interpretirati na razlicite nacine. Ali ako se interpretiraju nad nekim konkretnim

skupom osoba a predikatski simboli se interpretiraju na prirodan nacin (npr. relacijski simbol 𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗 preslikavase u uobicajenu relaciju „biti roditelj“ nad skupom osoba), njihovo znacenje se poklapa sa intuitivnim i mozese razmatrati njihova valjanost na osnovu znanja o porodicnim odnosima. Na primer, formula ℬ valjana jeza svaki skup osoba i prirodno interpretirane predikatske simbole. To se moze utvrditi nekakvim „resavacemza porodicne odnose“ koje vecina ljudi ima u svojim glavama iako obicno ne u nekom eksplicitnom obliku. Ovaljanosti formule ℬ i slicnih mozemo da rasudujemo koriscenjem takvog resavaca (ako ga imamo) ili koriscenjem„univerzalnog resavaca“, tj. dokazivaca za logiku prvog reda, kao sto je opisano u nastavku.

Formula ℬ valjana je za svaki skup osoba i prirodno interpretirane predikatske simbole, ali nije valjana (nijevaljana u svakoj ℒ strukturi). Ona je, medutim, logicka posledica formule 𝒜. „Univerzalni resavac“ cemo,dakle, moci da upotrebimo da proveritmo da li je formula ℬ logicka posledica formule 𝒜, tj. da proverimo dali je vazi 𝒜 |= ℬ, tj. da proverimo da li je formula 𝒜 ⇒ ℬ valjana. Na opisani nacin proveravamo tvrdenjaoblika Γ |= ℬ. Ovim pristupom razmatra se „opsta“ valjanost ali skup Γ ima ulogu da efektivno ogranici skupinterpretacija koje se razmatraju: ovakvim razmatranjem pokrivene su samo interpretacije u kojima su formuleskupa Γ valjane. Formule Γ imaju ulogu svojevrsnih aksioma i matematicke teorije se grade u istom duhu. Dabi vazilo Γ |= ℬ za sirok skup formula ℬ, u skup Γ dodacemo vise jednostavnih svojstava porodicnih odnosa,kao sto su:∀𝑥∀𝑦 (𝑠𝑒𝑠𝑡𝑟𝑎(𝑥, 𝑦) ⇔ 𝑧𝑒𝑛𝑠𝑘𝑜(𝑥) ∧ 𝑥 = 𝑦 ∧ ∃𝑧(𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗(𝑧, 𝑥) ∧ 𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗(𝑧, 𝑦)))

Page 135: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

135 8. Automatsko rasudivanje u logici prvog reda

∀𝑥∀𝑦 (𝑚𝑎𝑗𝑘𝑎(𝑥, 𝑦) ⇔ 𝑧𝑒𝑛𝑠𝑘𝑜(𝑥) ∧ 𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗(𝑥, 𝑦))

∀𝑥∀𝑦 (𝑜𝑡𝑎𝑐(𝑥, 𝑦) ⇔ 𝑚𝑢𝑠𝑘𝑜(𝑥) ∧ 𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗(𝑥, 𝑦))

∀𝑥∀𝑦 (𝑡𝑒𝑡𝑘𝑎(𝑥, 𝑦) ⇔ ∃𝑧(𝑠𝑒𝑠𝑡𝑟𝑎(𝑥, 𝑧) ∧ 𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗(𝑧, 𝑦)))

Ako u skup Γ dodamo, na primer, i formule:𝑚𝑢𝑠𝑘𝑜(𝑀𝑎𝑟𝑘𝑜𝐽𝑎𝑛𝑘𝑜𝑣𝑖𝑐)

𝑚𝑢𝑠𝑘𝑜(𝐿𝑎𝑧𝑎𝑟𝐽𝑎𝑛𝑘𝑜𝑣𝑖𝑐)

𝑜𝑡𝑎𝑐(𝐽𝑜𝑣𝑎𝑛𝐽𝑎𝑛𝑘𝑜𝑣𝑖𝑐,𝑀𝑎𝑟𝑘𝑜𝐽𝑎𝑛𝑘𝑜𝑣𝑖𝑐)

𝑜𝑡𝑎𝑐(𝐽𝑜𝑣𝑎𝑛𝐽𝑎𝑛𝑘𝑜𝑣𝑖𝑐, 𝐿𝑎𝑧𝑎𝑟𝐽𝑎𝑛𝑘𝑜𝑣𝑖𝑐)

onda moze da se pokaze da vazi i Γ |= 𝑏𝑟𝑎𝑡(𝑀𝑎𝑟𝑘𝑜𝐽𝑎𝑛𝑘𝑜𝑣𝑖𝑐, 𝐿𝑎𝑧𝑎𝑟𝐽𝑎𝑛𝑘𝑜𝑣𝑖𝑐). Dakle, opisanim mehanizmommoze se rasudivati o porodicnim odnosima medu konkretnim osobama.

8.4.2 Verifikacija softvera

U poglavlju 7.4.5 bilo je reci o verifikaciji softvera i razmatrano je da li je narednu funkciju f napisanu naprogramskom jeziku C:

int f(int y)

int x;x = x ^ y;y = x ^ y;x = x ^ y;return x * x;

moguce zameniti narednom funkcijom g (to je uvek tako, bez obzira na to sto promenljiva x nije inicijalizovanau funkciji f i njena inicijalna vrednost mogla bi da bude bilo sta):

int g(int n)

return n * n;

Pokazano je da u ovom konkretnom slucaju moze da se razmatra dejstvo bitovskih operatora nad poje-dinacnim bitovima i sredstvima iskazne logike pokazano je da je svaki bit programske promenljive x pre naredbereturn x * x; u funkciji f jednak odgovarajucem bitu naredbe return n * n; u funkciji g cime je dokazanaekvivalentnost dve funkcije.

Sredstvima logike prvog reda to tvrdenje moze se dokazati na drugaciji nacin, primenljiv u sirem skupusituacija. Dokaz ce vaziti za bilo koju sirinu tipa int. Kao u iskaznom slucaju, pogodno je u razmatranje uvestii promenljive za medurezultate:

x1 = x ^ y;y1 = x1 ^ y;x2 = x1 ^ y1;Da bi se dokazalo da su funkcije f i g ekvivalentne, dovoljno je dokazati da je naredna formula∀x ∀x1 ∀x2 ∀y ∀y1 x1 = x ^ y ∧ y1 = x1 ^ y ∧ x2 = x1 ^ y1 ⇒ x2 = y

valjana u strukturi koju cine moguce vrednosti tipa int. Ukoliko nemamo resavac specijalizovan za tu strukturu,moramo da se okrenemo „univerzalnom resavacu“ za logiku prvog reda. Ali tada moramo da u igru uvedemouslove Γ koji opisuju strukturu vrednosti tipa int sa operatorom ^. Moze se dokazati (sto necemo ovde uraditi)i koristiti kao uslov, sledeca kljucna lema:

∀u ∀v (u ^ v) ^ v = u

Primenom metoda rezolucije moze se pokazati da je navedena formula logicka posledica navedene leme iaksioma jednakosti.

TODO

Page 136: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.4. Resavanje problema svodenjem na problem valjanosti 136

8.4.3 Rezanje plocaNamestaj se cesto pravi od plocastih materijala i tada je od velike vaznosti rasporedivanje komponenti

namestaja po pojedinacnim plocama. Sto manje upotrebljenih ploca – veca isplativost. Razmotrimo jednostavanprimerak ovog problema: da li je moguce od ploce dimenzija 100 × 60 napraviti komade dimenzija 80 × 30 i50 × 40 (pretpostavimo, jednostavnosti radi, da duze stranice moraju da budu paralelne duzim stranicamaosnovne ploce)? Dokazacemo da to nije moguce.

Smestimo sve elemente u koordinatni sistem: neka je donji levi ugao ploce u tacki (0, 0) i neka su (𝑥1, 𝑦1) i(𝑥2, 𝑦2) donji levi uglovi dva zeljena plocasta dela. Da bi delovi bili na ploci mora da vazi formula 𝒜:

0 ≤ 𝑥1 ∧ 𝑥1 + 80 ≤ 100 ∧0 ≤ 𝑦1 ∧ 𝑦1 + 30 ≤ 60 ∧0 ≤ 𝑥2 ∧ 𝑥2 + 50 ≤ 100 ∧0 ≤ 𝑦2 ∧ 𝑦2 + 40 ≤ 60Dva elementa imaju presek ako donji levi ugao prvog elementa pripada drugom elementu ili donji levi drugog

elementa pripada prvom elementu i to opisuje naredna formula ℬ:(𝑥2 ≤ 𝑥1 ∧ 𝑥1 ≤ 𝑥2 + 50 ∧ 𝑦2 ≤ 𝑦1 ∧ 𝑦1 ≤ 𝑦2 + 50)∨(𝑥1 ≤ 𝑥2 ∧ 𝑥2 ≤ 𝑥1 + 80 ∧ 𝑦1 ≤ 𝑦2 ∧ 𝑦2 ≤ 𝑦1 + 30)Da bismo dokazali da trazeno rezanje nije moguce, dovoljno je da dokazemo da vazi 𝒜 |= ℬ, tj. da dokazemo

da je univerzalno zatvorenje formule 𝒜 ⇒ ℬ valjana formula. Ova formula, medutim, nije valjana. No, ona jevaljana u strukturi realnih brojeva sa prirodno interpretiranim simbolima + i <, a to je jedina interpretacijakoja nas zanima. Valjanost u toj strukturi moze da dokaze smt resavac za linearnu aritmetiku nad realnimbrojevima.

8.4.4 PROLOGJezik prolog najznacajniji je predstavnik paradigme logickog programiranja, u kojoj se koristi logika kao

deklaritivni jezik za opisivanje problema, a dokazivac teorema kao mehanizam za resavanje. Ime prologdolazi od engleskih reci „PROgramming in LOGic“. Jezik prolog i prvi interpretator za njega razvijeni suna Univerzitetu u Marseju 1972. godine. Vreme najvece popularnosti prolog-a je proslo, ali se on i daljesiroko koristi, uglavnom za probleme iz oblasti vestacke inteligencije: od medicinskih sistema pa do istrazivanjapodataka. Pogodan je za brz razvoj prototipova jer se obrada ulaza i izlaza, parsiranje i druge slicne operacijeimplementiraju jednostavno, a mehanizam za netrivijalno rasudivanje je jednostavno raspoloziv.

Mehanizam izvodenja zakljucaka u prolog-u zasniva se na metodu rezolucije i na koriscenju Hornovihklauza — klauza u kojima postoji najvise jedan literal koji nije pod negacijom. Za ispitivanje zadovoljivostiskupova klauza, zahvaljujuci njihovoj specificnoj formi, koristi se algoritam koji je polinomske slozenosti. Cetiritipa Hornovih klauza i odgovarajuce formule logike prvog reda prikazani su u narednoj tabeli (formule 𝒜𝑖 suatomicke). Svaki nezadovoljiv skup Hornovih klauza mora da sadrzi bar jednu cinjenicu i bar jednu ciljnuklauzu.

Tip logika prvog reda prologimplikaciona klauza ¬𝒜1 ∨ . . . ∨ ¬𝒜𝑛 ∨ 𝒜 𝒜 : −𝒜1, . . . ,𝒜𝑛.ciljna klauza ¬𝒜1 ∨ . . . ∨ ¬𝒜𝑛 ?−𝒜1, . . . ,𝒜𝑛.cinjenica 𝒜 𝒜.prazna klauza false

prolog sistemi obicno sadrze interaktivni interpretator a neki sistemi omogucavaju i kompiliranje koda.Komunikacija sa prolog interpretatorom odvija se kroz komandni prozor, a prompt interpretatora obicnoizgleda ovako: ?-. prolog konvencija je da se konstante zapisuju malim pocetnim slovom, a promenljivevelikim pocetnim slovom.

Da bi prolog mogao da bude upotrebljiv kao programski jezik, morala su da budu nacinjena neka odstupanjaod logike prvog reda, kao, na primer, u tretiranju negacije (u prolog-u se koristi takozvana „negacija kaoneuspeh“).

Primer 8.43. Pretpostavimo da je zadata cinjenica

man(sokrat).

(nova cinjenica moze se ucitati iz datoteke, kao deo programa a moze se zadati i interaktivno, na sledeci nacin:?- assert(man(sokrat)).) Nakon ovoga, upit

Page 137: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

137 8. Automatsko rasudivanje u logici prvog reda

?- man(sokrat).

uspeva, tj. daje rezultat Yes. Naime, da bi ovaj upit bio zadovoljen, cinjenica man(sokrat) rezolvira se saklauzom ¬ man(sokrat) (dobijenom iz upita) i daje praznu klauzu, kao sto je i trebalo. Time je, prakticno,dokazano da je man(sokrat) ⇒ man(sokrat) valjana formula.

Pretpostavimo da je (na primer sa ?- assert(mortal(X) :- man(X)).) zadato i pravilo:

mortal(X) :- man(X).

U ovom pravilu, predikat mortal(X) je glava pravila a (jednoclani) niz predikata man(X) je rep pravila. Upit:

?- mortal(sokrat).

uspeva (daje odgovor Yes). Da bi ovaj upit bio zadovoljen, klauza ¬ man(X) ∨ mortal(X) (dobijena iz zada-tog pravila) rezolvira se sa klauzom ¬ mortal(sokrat) (dobijenom iz upita) i daje rezolventu, tj. novi cilj ¬man(sokrat). On uspeva, jer sa klauzom man(sokrat) (dobijenom iz zadate cinjenice) daje praznu klauzu.Time je, prakticno, dokazano da je

(man(sokrat) ∧ ∀x (man(x) ⇒ mortal(x))) ⇒ mortal(sokrat)valjana formula.

Ako se zada upit:

? - mortal(X).

onda se metodom rezolucije pokusava dokazivanje nezadovoljivosti skupa klauza:man(sokrat)¬ man(X) ∨ mortal(X)¬ mortal(Y)Primetimo da je u trecoj klauzi promenljiva preimenovana u Y, da ne bi doslo do poklapanja imena promen-

ljive u dve klauze. Ciljna (treca) klauza moze da se rezolvira sa drugom klauzom, koriscenjem unifikatora [ Y↦→ X ] dajuci novi cilj¬ man(X)

tj. nakon preimenovanja promenljive X:¬ man(X’)Rezolviranjem ove klauze sa prvom klauzom iz pocetnog skupa, koriscenjem unifikatora [ X’ ↦→ sokrat ]

dobija se prazna klauza, pa je dokazana nezadovoljivost datog skupa klauza i prolog vraca rezultat:

Yes

i daje odgovor:

X = sokrat

To je jedino moguce resenje i ako ukucamo simbol ; (cime trazimo druge moguce unifikatore) dobicemo odgovorNo.

Naravno, upiti

?- man(platon).

i

? - mortal(platon).

ne uspevaju i daju odgovor No (sem ako nije zadata i cinjenica man(platon)).

Primer 8.44. Definisanje odnosa u prolog-u moze se ilustrovati na primeru porodicnih odnosa (kao sto suotac, majka, brat, tetka i slicno) (videti poglavlje 8.4.1) i to nad skupom starogrckih bozanstava, cije su vezeprikazane na narednoj slici (u vidu porodicnog stabla):

Page 138: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.4. Resavanje problema svodenjem na problem valjanosti 138

𝑅𝑒𝑗𝑎𝐾𝑟𝑜𝑛

𝑍𝑒𝑣𝑠𝑃𝑜𝑠𝑒𝑗𝑑𝑜𝑛 𝐷𝑒𝑚𝑒𝑡𝑟𝑎𝐿𝑒𝑡𝑜

𝐴𝑟𝑡𝑒𝑚𝑖𝑑𝑎𝐴𝑝𝑜𝑙𝑜𝑛

𝐴𝑚𝑓𝑖𝑡𝑟𝑖𝑡𝑎

𝑇𝑟𝑖𝑡𝑜𝑛

𝐽𝑎𝑠𝑖𝑜𝑛

𝑃 𝑙𝑢𝑡𝑜𝑛

musko(kron).musko(posejdon).musko(zevs).musko(jasion).musko(triton).musko(apolon).musko(pluton).

zensko(reja).zensko(amfitrita).zensko(leto).zensko(demetra).zensko(artemida).

roditelj(kron,posejdon).roditelj(reja,posejdon).roditelj(kron,zevs).roditelj(reja,zevs).roditelj(kron,demetra).roditelj(reja,demetra).roditelj(posejdon,triton).roditelj(amfitrita,triton).roditelj(zevs,apolon).roditelj(leto,apolon).roditelj(zevs,artemida).roditelj(leto,artemida).roditelj(jasion,pluton).roditelj(demetra,pluton).

predak(X,Y) :- roditelj(X,Y).predak(X,Y) :- roditelj(X,Z), predak(Z,Y).

majka(X,Y) :- zensko(X), roditelj(X,Y).otac(X,Y) :- musko(X), roditelj(X,Y).brat(X,Y) :- musko(X), roditelj(Z,X), roditelj(Z,Y), X\==Y.sestra(X,Y) :- zensko(X), roditelj(Z,X), roditelj(Z,Y), X\==Y.

tetka(X,Y) :- sestra(X,Z), roditelj(Z,Y).stric(X,Y) :- brat(X,Z), otac(Z,Y).ujak(X,Y) :- brat(X,Z), majka(Z,Y).bratodstrica(X,Y) :- musko(X), otac(Z,X), stric(Z,Y).sestraodstrica(X,Y) :- zensko(X), otac(Z,X), stric(Z,Y).bratodujaka(X,Y) :- musko(X), otac(Z,X), ujak(Z,Y).sestraodujaka(X,Y) :- zensko(X), otac(Z,X), ujak(Z,Y).bratodtetke(X,Y) :- musko(X), majka(Z,X), tetka(Z,Y).sestraodtetke(X,Y) :- zensko(X), majka(Z,X), tetka(Z,Y).

U relacijama brat i sestra, predikat X\==Y ima vrednost tacno ako je X razlicito od Y. U suprotnom, imavrednost netacno. U nastavku je dato nekoliko primera upita i rezultata koje sistem daje.

Page 139: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

139 8. Automatsko rasudivanje u logici prvog reda

?- stric(posejdon,apolon).

Yes

?- ujak(X,Y).

X = zevs,Y = plutonX = zevs,Y = plutonX = posejdon,Y = plutonX = posejdon,Y = pluton

?- sestraodstrica(X,Y).

X=artemida,Y=tritonX=artemida,Y=triton

U navedenim primerima, mogu se primetiti ponavljanja istih resenja. U slucaju upita ujak(X,Y), razlog zato je sto zadovoljavanje ovog cilja, zavisi od zadovoljavanja podcilja brat(X,Z), koji zavisi od zadovoljavanjapodciljeva roditelj(W,X) i roditelj(W,Z). U slucaju da vazi X=zevs, Y=pluton i Z=demetra, onda postojedve mogucnosti za W, sto su kron i reja. Kako sistem dva puta nalazi nacin da zadovolji sve potciljeve u kojimavazi X=zevs i Y=pluton, dva puta navodi tu kombinaciju kao resenje. Slucaj upita sestraodstrica(X,Y) jeanalogan.

Primetimo da praviluotac(X,Y) :- musko(X), roditelj(X,Y).

odgovara formula∀𝑥∀𝑦 (𝑚𝑢𝑠𝑘𝑜(𝑥) ∧ 𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗(𝑥, 𝑦) ⇒ 𝑜𝑡𝑎𝑐(𝑥, 𝑦))

sto je slabije od formule (iz poglavlja 8.4.1):∀𝑥∀𝑦 (𝑜𝑡𝑎𝑐(𝑥, 𝑦) ⇔ 𝑚𝑢𝑠𝑘𝑜(𝑥) ∧ 𝑟𝑜𝑑𝑖𝑡𝑒𝑙𝑗(𝑥, 𝑦))

Zato iz navedenih cinjenica prolog moze da pokaze da vazi otac(kron,zevs). ali, da nije data cinjenicaroditelj(kron,zevs), prolog ne bi mogao da je izvede cak i da ima na raspolaganju cinjenicu otac(kron,zevs).Naime, navedeni prolog program dizajniran je tako da iz informacija o roditeljstvu izvodi sve druge porodicneodnose. Ukoliko je potrebno i obratno, onda u program treba dodati dodatna pravila.

U prolog-u mogu se lako implementirati i procedure kao sto je DPLL, ali detaljniji prikaz jezika i njegoveupotrebe izlazi iz okvira ove knjige.

8.4.5 FOL dokazivaci i TPTP formatPrograme koji resavaju instance problema valjanosti ili zadovoljivosti u logici prvog reda zovemo obicno

FOL dokazivaci (eng. FOL-provers, od first-order logic). Vecina savremenih FOL dokazivaca zasnovanaje na metodi rezolucije, obogacenoj mnogim dodatnim tehnikama i heuristikama. Neki od danas popularnihFOL dokazivaca su Vampire, E i Spass.

FOL dokazivaci obicno ocekuju ulaz u nekom od tptp2 formata. Jedan od tih formata je FOF format. Uovom formatu, formule se navode jedna po jedna sa oznakom o tome da li se radi o aksiomi ili tvrdenju kojedokazivac treba da dokaze. U slucaju primera 8.35, problem bi mogao da se zapise na sledeci nacin.

fof(a1, axiom, (![X,Y] : (a(X,Y) => ~a(Y,X)))).fof(a2, axiom, (![X,Y] : (a(X,Y) <=> below(Y,X)))).fof(a3, axiom, (![X,Y,Z] : ((a(X,Y) & a(Y,Z)) => a(X,Z)))).fof(cn, conjecture, (![X,Y,Z] : ((a(Y,X) & below(Z,X)) => a(Y,Z)))).

2tptp (Thousands of Problems for Theorem Provers) je biblioteka problema za automatske dokazivace teorema. U okviru njedefinisano je i nekoliko formata za zapis formula logike prvog reda.

Page 140: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

8.4. Resavanje problema svodenjem na problem valjanosti 140

Pitanja i zadaci

8.104. Zapisati sledece recenice u logici prvog reda:„Svako zadovoljstvo se placa.“„Svaki posao se placa.“„Neki posao je zadovoljstvo.“„Nijedno zadovoljstvo nije posao.“

8.105. Zapisati sledecu recenicu u logici prvog reda: „Ako onaj ko laze taj i krade i ako bar neko laze, ondaneko i krade.“ Potom je dokazati metodom rezolucije.

8.106. Zapisati sledece tvrdenje u logici prvog reda: Ako „ko radi taj ima ili trosi“ i „ko ima taj peva“ i „kotrosi taj peva“, onda „ko radi taj peva“. Potom ga dokazati metodom rezolucije.

8.107. Dokazati metodom rezolucije da je sledeca formula valjana: (∀𝑥)(𝑝(𝑥)⇒ 𝑞(𝑥))⇒ (∀𝑥)(𝑝(𝑥)⇒ (𝑞(𝑥)∧𝑝(𝑥))).

8.108. Zapisati konjunkciju sledecih recenica kao formulu logike prvog reda i dokazati da je ona nezadovoljiva:

• Ako je 𝑋 prijatelj osobe 𝑌 , onda je i 𝑌 prijatelj osobe 𝑋 i

• Ako je 𝑋 prijatelj osobe 𝑌 , onda 𝑋 voli 𝑌 i

• Ne postoji neko ko je povredio osobu koju voli i

• Osoba 𝑌 je povredila svog prijatelja 𝑋.

8.109. Zapisati u logici prvog reda recenicu: Ako “sta leti to ima krila i lagano je” i “sta pliva, to nema krila”,onda “sta pliva, to ne leti”. Potom dokazati ovu recenicu metodom rezolucije.

8.110. Na jeziku logike prvog reda zapisati i dokazati metodom rezolucije da je sledeca recenica valjana: „Akopostoji cipela koja u svakom trenutku odgovara svakoj nozi, onda za svaku nogu postoji cipela koja joj u nekomtrenutku odgovara i za svaku nogu postoji trenutak takav da postoji cipela koja joj u tom trenutku odgovara“.

8.111. U logici prvog reda

1. zapisati recenicu “svaka dva coveka se vole ili ne vole” i

2. dokazati da je dobijena formula valjana.

8.112. U logici prvog reda pokazati da je recenica “ko rano rani, ceo dan je pospan” logicka posledica recenica“ko rano rani ceo dan je pospan ili dve srece grabi” i “ko dve srece grabi, ceo dan je pospan”.

8.113. Metodom rezolucije pokazati da iz tvrdenja„dve nemimoilazne prave se seku ili su paralelne“,„prave koje se seku pripadaju istoj ravni“i„prave koje su paralelne pripadaju istoj ravni“sledi tvrdenje„dve nemimoilazne prave pripadaju istoj ravni“.

8.114. Metodom rezolucije dokazati da je recenica„Janko ruca kod kuce ili pere sudove u restoranu“logicka posledica recenica„Svako ruca kod kuce ili u restoranu“,„ko ruca u restoranu i nema novca, taj pere sudove u restoranu“i„Janko nema novca“.

8.115. Metodom rezolucije pokazati da je recenica„Svako dete voli da se igra.“logicka posledica recenica„Svaki decak voli da se igra“,„Svaka devojcica voli da se igra.“„Dete je decak ili je devojcica.“

Page 141: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

141 8. Automatsko rasudivanje u logici prvog reda

8.116. Zapisati sledece recenice u logici prvog reda i pokazati rezolucijom da su zajedno kontradiktorne:

• Ko se vozi avionom, dosta zaraduje.

• Ko dosta zaraduje, puno radi.

• Janko se vozi avionom.

• Janko ne radi puno.

8.117. Metodom rezolucije dokazati da je recenica„Pera voli da plese“logicka posledica recenica„Svako ko je srecan voli da peva“,„Svako ko voli da peva, voli da plese“i„Pera je srecan“.

8.118. Pokazati da ako vaze sledece recenice:„svako ima rodaka na moru ili na planini“,„ko ima rodaka na moru, bio je na moru“i„ko ima rodaka na planini, bio je na planini“ne moze vaziti recenica„neko nije bio ni na moru ni na planini“.

8.119. Na jeziku logike prvog reda zapisati sledece recenice i rezolucijom dokazati da su skupa nezadovoljive:

• „Svaka dva brata imaju zajednickog roditelja.“

• „Roditelj je stariji od deteta.“

• „Postoje braca.“

• „Nijedna osoba nije starija od druge.“

Page 142: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 143: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)Deo III

Masinsko ucenje

Page 144: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 145: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 9

Resavanje problema koriscenjem masinskogucenja

Resavanje problema pomocu automatskog rasudivanja pociva na formalnom i potpunom opisu problemakoji je potrebno resiti. Na primer, da bismo resili problem 𝑛 dama, potrebno je precizno definisati sva pravilakoja se ticu rasporedivanja figura i njihovog napadanja. Ako je potrebno donositi zakljucke o geometrijskimproblemima, potrebno je potpuno precizno zadati aksiome geometrije i tvrdenje koje je potrebno dokazati.Medutim, u velikom broju prakticnih problema nije moguce potpuno precizno opisati pravila sveta u kojem seresava problem, pa ni svojstva resenja. Primera radi, u slucaju prepoznavanja lica nije lako precizno definisatista je lice. Prirodan pokusaj da se lice definise u terminima njegovih delova dalje povlaci pitanje definicija tihdelova, kao i odnosa medu njima. Ipak, odredena pravilnost nesporno postoji. Slican je i problem prevodenjarecenica sa jednog jezika na drugi. Iako je poznato da jezik ima jaku strukturu, ona je previse komplikovana iprepuna izuzetaka koji su dovoljni da ucine formalno preciziranje pravila previse teskim. Samim tim je jos veciproblem opisati kako se struktura jednog jezika preslikava u strukturu drugog jezika na koji je potrebno izvrsitiprevodenje.

Da bi neki problem bio resen potrebno je da postoji njegova specifikacija. U prethodnim primerima nijetesko dati nekakvu, vec dati eksplicitnu i preciznu specifikaciju. Sasvim je moguce dati implicitnu specifikacijuvelikom kolicinom primera onoga sto jeste resenje i onoga sto nije resenje problema, odnosno kroz konkretnepodatke. Ovakva specifikacija nuzno je slabija od formalne, ali nekada je najbolje sto mozemo uraditi u praksi.Masinsko ucenje bavi se upravo resavanjem problema za koje je tesko dati formalnu specifikaciju, ali je dostupnavelika kolicina podataka koji na neki nacin ilustruju resenja pojedinacnih instanci problema. Zadatak metodamasinskog ucenja je da u pruzenim podacima uoce relevantne zakonitosti i da ih automatski formulisu u vidunekog matematickog modela.

U modelovanju podataka greske su nepozeljne ali moguce. Greske modela mogu da postoje u odnosu napodatke iz kojih je dobijen i u odnosu na podatke u kasnijoj primeni. Vaznije su ove druge jer kljucni cilj metodamasinskog ucenja je dobra generalizacija, tj. dobro ponasanje dobijenog matematickog modela u situacijamakoje nisu bile opisane podacima na osnovu kojih je model dobijen. Drugim recima, kljucni cilj je model koji cebiti koristan u resavanju buducih instanci problema.

Podaci nekada mogu sadrzati greske, pa i protivrecnosti. Takode, mogu davati nepotpunu sliku problemakoji se resava. Otud je jasno da logika nije pogodan formalni okvir za masinsko ucenje i metode masinskog ucenjanisu deduktivne vec induktivne metode zakljucivanja, obicno zasnovane na verovatnoci i statistici. Verovatnosniokvir pruza im robusnost u odnosu na greske u podacima, a cesto omogucava i kvantifikaciju pouzdanostiponudenog resenja. Pored toga, metode masinskog ucenja tipicno vrse odlucivanje veoma brzo (znatno brze nego,na primer, metode automatskog rasudivanja koje svoju egzaktnost placaju visokom racunskom zahtevnoscuprilikom odlucivanja). Otud je njihova primena preferirana i u nekim slucajevima kada je moguce u potpunostiprecizirati problem, ali je prostor pretrage ogroman. Takav je primer igranja igre „go“ u kojoj je metodamamasinskog ucenja pobeden ljudski svetski sampion. Ipak, u resenjima zasnovanim na masinskom ucenju, greskese uvek moze ocekivati te taj pristup nije primeren domenima u kojima greska nije dozvoljena (na primer, uautomatskoj kontroli metroa).

Tok resavanja problema pomocu masinskog ucenja obicno obuhvata sledece osnovne korake:

• Modelovanje problema;

• Resavanje problema, odnosno treniranje modela;

• Evaluacija dobijenog resenja, odnosno modela.

145

Page 146: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

9.1. Primeri primena masinskog ucenja 146

0

Slika 9.1: Plavi krugovi predstavljaju racunarske clanke, a crveni ostale. X koordinata predstavlja frekvencijureci „racunar“, a koordinata Y predstavlja frekvenciju reci „datoteka“.

Primetna je razlika u koracima u odnosu na resavanje problema pomocu pretrage ili logike. Naime, ti pristupisu egzaktni i garantovano ispunjavaju unapred postavljene kriterijume. Masinsko ucenje ukljucuje evaluacijudobijenog resenja kao neophodan korak zbog pomenute mogucnosti gresaka. Ukoliko je proces resavanja daonezadovoljavajuce rezultate, kroz sve navedene korake prolazi se iznova, primenjujuci druge moguce pristupe.

Osnovni koncepti masinskog ucenja u nastavku teksta bice ilustrovani kroz naredni primer.

Primer 9.1. Pretpostavimo da je potrebno napraviti specijalizovani pretrazivac interneta koji omogucuje kori-snicima da pretrazuje samo racunarske clanke. Pored mnostva elemenata koje ovaj sistem mora da ima, poputonih vezanih za komunikaciju na internetu, skladistenje informacija, interfejs prema korisniku i tako dalje,potreno je da ima specijalizovan modul koji se bavi razvrstavanjem, odnosno klasifikacijom clanaka na clankeiz oblasti racunarstva i na clanke iz svih ostalih oblasti. Razmotrimo kako bi elementarna varijanta ovakvogmodula mogla biti osmisljena.

Apstraktni aspekti teksta, poput semantike, stila i slicnih, iako vrlo relevantni za navedeni problem, nedopustaju laku analizu od strane masine. Otud bi se elementarna varijanta sistema za razvrstavanje clanakamorala zasnivati na neposredno dostupnim aspektima teksta. To su pre svega reci od kojih se tekst sastoji. Nasrecu, reci mogu biti vrlo indikativne po pitanju oblasti kojoj tekst pripada, posto mogu predstavljati strucne ter-mine. Otud je zamislivo da se pomenuti problem moze u zadovoljavajucoj meri resiti razmatranjem frekvencijapojavljivanja pojedinih, pogodno odabranih reci. U pojednostavljenom pristupu, moguce je osloniti se na fre-kvenciju strucnih reci „racunar“ i „datoteka“, cime se svaki tekst predstavlja kao tacka u dvodimenzionoj ravni.Ocekuje se da ce racunarski tekstovi u tom slucaju biti predstavljeni tackama koje su daleko od koordinatnogpocekta, a da ce ostali tekstovi biti blizu koordinatnog pocetka, kao sto je prikazano na slici 9.1. U idealnojsituaciji, te dve grupe tacaka su potpuno razdvojene i izmedu njih postoji pravu koja ih razdvaja. U tom slucaju,kasnije je moguce odgovoriti na pitanje da li je clanak racunarski samo na osnovu toga sa koje strane te pravese nalazi tacka koja odgovara tom clanku. Ukoliko ne postoji prava koja razdvaja dve grupe tacaka, moguce jenaci neku pravu koja vecinu tacaka razdvaja ispravno. Vazno pitanje je kako se i u takvom slucaju moze odreditiprava koja najbolje razdvaja dve grupe clanaka. Takvih algoritama ima vise, a intuitivno, osnovna ideja je da sekrene od bilo koje prave i da se ona po malo pomera dok se ne pozicionira najbolje moguce (po nekom preciznomkriterijumu) izmedu dve grupe tacaka, tj. izmedu dve klase. Detalji jednog takvog algoritma bice dati kasnije.

9.1 Primeri primena masinskog ucenja

Masinsko ucenje uspesno se primenjuje u mnostvu prakticnih problema. Jedan od najstarijih, a jos uvekzanimljivih prakticnih rezultata postignut je od strane sistema ALVINN zasnovanog na neuronskoj mrezi, krajemosamdesetih godina dvadesetog veka, koji je naucen da javnim putem vozi automobil bez ljudske pomoci, uprisustvu drugih vozila i brzinom od oko 110km/h. Sistem je uspesno vozio na putu duzine oko 140km. Sarazvojem dubokih neuronskih mreza, sredinom prve decenije ovog veka, projekat razvoja autonomnih voziladobio je novi zamah. Mnoge kompanije trenutno razvijaju vozila koja treba da budu u stanju da samostalnoucestvuju u gradskoj voznji, koja je znacajno komplikovanija od voznje na auto putu. Izazovi za tehnikemasinskog ucenja u ovom problemu ukljucuju kako prepoznavanje puta i ucesnika u saobracaju, tako i donosenjeodluka. Slicne metode se koriste i za ucenje upravljanja kvadrotorima (malim letilicama sa cetiri propelera) u

Page 147: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

147 9. Resavanje problema koriscenjem masinskog ucenja

cilju prenosenja predmeta. Kompanija Amazon razmatra mogucnost ovakvog nacina dostavljanja svojih posiljkiu gradskim sredinama.

Jedan od najpoznatijih ranih primera primene masinskog ucenja je i sistem TD-Gammon za igranje igreBackgammon konstruisan devedesetih godina proslog veka. Igrajuci protiv sebe vise od milion partija i nasta-vljajuci da uci u igri sa ljudskim igracima, sistem je dostigao nivo igre u rangu svetskog sampiona. Na slicnimprincipima, ali koristeci modernije algoritme ucenja konstruisan je sistem AlfaGo koji je 2015. i 2016. ubedljivopobedio evropskog, a zatim i svetskog sampiona u igri go. Ova igra je poznata kao jedan od, do sada, najozbilj-nijih izazova vestackoj inteligenciji u domenu igranja igara, posto po broju mogucih stanja daleko prevazilazii sah, sto drasticno otezava primenu tradicionalnih tehnika vestacke inteligencije poput algoritma minimaks saalfa-beta odsecanjem.

Kompanije poput Amazona, koje se bave prodajom razlicitih artikala, odavno koriste sisteme koji na osnovuprimera kupovnih transakcija korisnika uce kako da buducim korisnicima preporucuju proizvode koji bi ihmogli interesovati. Ovakvi sistemi, i odgovarajuci algoritmi ucenja, nazivaju se sistemima za preporucivanje(eng. recommender systems).

Sistemi za prepoznavanje govora takode koriste masinsko ucenje u nekoj formi. Sistem Sphinx, takodeiz kraja osamdesetih, bio je u stanju da prepozna izgovorene reci uz prilagodavanje izgovoru razlicitih ljudi,razlicitim karakteristikama mikrofona, pozadinskoj buci i slicno. U meduvremenu su takvi sistemi usli u sirokuupotrebu na mobilnim telefonima i sa daleko vecim mogucnostima i u stanju su i da vode dijaloge, daju preporukerelevantne korisniku i slicno.

Masinsko ucenje najvece uspehe postiglo je u obradi slika i video zapisa. Tipicni problemi su prepoznavanjei lokalizacija objekata na slikama i video zapisima, pracenje objekata u videu, generisanje realisticnih slika ivideo zapisa visoke rezolucije, automatsko opisivanje slika prirodnim jezikom i slicno.

Sveprisutnost drustvenih mreza dala je veliki impuls razvoju metoda masinskog ucenja nad grafovima.Drustvena mreza moze se razmatrati kao graf ciji cvorovi predstavljaju ucesnike mreze, a grane postoje izmeduucesnika koji su povezani u mrezi (poput prijateljstva na mrezi Facebook). Metode masinskog ucenja se u ovomkontekstu koriste za predvidanje buducih veza medu ucesnicima, recimo prilikom preporucivanja ucesnicimamreze sa kime se mogu povezati. Razvijene su i metode za otkrivanje postojecih, ali neopazenih veza udrustvenim mrezama (koje ne moraju biti samo moreze na internetu, vec i u relanom zivotu). Jedna odmotivacija za razvoj ovih metoda je otkrivanje povezanosti u teroristickim i kriminalnim grupama.

9.2 Modelovanje

Modelovanje problema je polazni deo procesa masinskog ucenja koji cesto zahteva najvise znanja i inventiv-nosti. Konkrenti koraci neretko variraju od problema do problema, ali postoje neki koraci zajednicki za vecinuslucajeva i to su:

• Uocavanje opsteg okvira ucenja adekvatnog za dati problem, koji je pre svega uslovljen vrstom informacijedatih u primerima iz kojih se uci;

• Izbor reprezentacije podataka iz kojih se uci;

• Izbor forme modela zakonitosti u podacima, odnosno skupa dopustivih modela;

• Izbor funkcije greske koja meri koliko model odgovara podacima.

Ovi koraci bice objasnjeni u nastavku.

9.2.1 Nadgledano, nenadgledano i ucenje potkrepljivanjemKoliko god primene masinskog ucenja bile raznovrsne, postoje odredene zajednicke karakteristike zadataka i

procesa ucenja koje se cesto srecu. Postoje tri glavna okvira problema ucenja: nadgledano ucenje (eng. supervi-sed learning), nenadgledano ucenje (eng. unsupervised learning)) i ucenje potkrepljivanjem (eng. reinforcementlearning).

Nadgledano ucenje odnosi se na situacije u kojima se algoritmu, zajedno sa podacima iz kojih uci, dajui zeljeni izlazi, to jest vrednosti takozvane ciljne promenljive. Algoritam treba da nauci da za date podatkepruzi odgovarajuce izlaze. Ocekuje se da izlazi dati za podatke na kojima nije vrseno ucenje takode bududobri. Primer problema sa nadgledanim ucenjem je problem klasifikacije, u praksi verovatno najcesci zadatakmasinskog ucenja. Problem klasifikacije predstavlja problem prepoznavanja vrste objekata. Na primer, da li jeclanak racunarski ili nije, da li odredeno elektronsko pismo predstavlja nezeljenu postu (eng. spam) ili ne. Drugiprimer nadgledanog ucenja je problem regresije, zadatak ucenja u kojem objektima treba pridruziti vrednosti

Page 148: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

9.2. Modelovanje 148

iz skupa realnih brojeva. Na primer, predvidanje cene nekih akcija u zavisnosti od kretanja cene tih akcija uproslosti i kretanja cena drugih akcija.

Nenadgledano ucenje odnosi se na situacije u kojima se algoritmu koji uci pruzaju samo podaci bez izlaza.Od algoritma koji uci ocekuje se da sam uoci neke zakonitosti u podacima koji su mu dati. Primer nenadgledanogucenja je takozvano klasterovanje – uocavanje grupa na neki nacin slicnih objekata kada ne postoji prethodnoznanje o tome koliko grupa postoji ili koje su njihove karakteristike. Jedan primer primene klasterovanja jeredukcija skupa boja slike. Pikseli slike se mogu grupisati klasterovanjem po njihovoj blizini u RGB prostoruboja, a potom se iz svakog klastera moze izabrati po jedna boja koja bi ga predstavljala i kojom bi bili obojenisvi pikseli koji pripadaju tom klasteru. Drugi primer primene klasterovanja je grupisanje (prirodnih) jezika.

Ucenje potkrepljivanjem odnosi se na situacije u kojima je nizom akcija potrebno postici neki cilj pri cemuu podacima nije poznato koja akcija je bila dobra u kojoj situaciji, vec samo finalni ishod citavog niza akcija.Cilj je nauciti koje su akcije dobre u kojim stanjima. Tipican primer problema pogodnih za ovu vrstu ucenjaje igranje igara. Naime, u igrama cesto nije uvek jasno koji potez je bio dobar (ili kljucan), a koji nije, ali jepoznato da li je partija dobijena ili izgubljena.

Primer 9.2. Problem prepoznavanja racunarskih clanaka ocito spada u okvir nadgledanog ucenja. Naime,postoji konkretna ciljna promenljiva — da li je clanak racunarski ili nije i nju je potrebno predvideti, i moguceje zajedno sa podacima iz kojih se uci (clancima) pruziti i njene vrednosti. Ovaj problem ne uklapa se u drugadva opisana okvira. Nemoguce je ocekivati da bi se nenadgledanim pristupom mogli izdiferencirati racunarskii ostali clanci. Iako nenadgledano ucenje cesto omogucava grupisanje, tesko je obezbediti da grupisanje budeizvrseno bas u skladu sa jednim aspektom teme clanka – njenom pripadnoscu oblasti racunarstva. Sasvim jemoguce da bi neki postojeci algoritam grupisao clanke po nekom drugom kriterijumu, koji najverovatnije ne bini bio lako razumljiv coveku ili dovoljno precizan za potrebe ovog problema. Na kraju, ovaj problem se ne uklapani u okvir ucenja potkrepljivanjem, posto resenje predstavlja prosto odgovor da li je clanak racunarski, a ne nizakcija cijim se zajednickim efektom postize neki cilj (kao u igranju igara).

Kako je prepoznato da se radi o problemu nadgledanog ucenja i da podaci pripadaju dvema klasama, zauspesno resavanje problema potrebno je obezbediti odredeni skup primera koji sadrzi kako racunarske, tako iclanke iz drugih oblasti.

9.2.2 Reprezentacija podatakaKao sto je receno na pocetku, podacima se opisuju konkretni primerci, iliti instance nekog problema. Primera

radi, iako mozemo govoriti o opstem problemu prepoznavanja racunarskih clanaka, u praksi se uvek susrecemosa njegovim konkretnim primercima – za jedan konkretan clanak potrebno je ustanoviti da li je racunarski iline. Otud, kad se govori o podacima, cesto govori o instancama podataka pri cemu se podrazumeva da jednainstanca podataka opisuje jedan konkretan primerak problema koji treba resiti.

Instance koje cine podatke treba da budu zapisane u obliku koji je pogodan za primenu algoritama ucenja.Najpogodniji i najcesce korisceni nacin koji se koristi u algoritmima masinskog ucenja je predstavljanje instancipomocu nekih njihovih svojstava, odnosno atributa (eng. feature, attribute). Svojstva ili atributi predstavljajukarakteristike instanci kao sto su boja, velicina, tezina i slicno. Svaki od izabranih atributa moze imati vrednostkoja pripada nekom unapred zadatom skupu. Te vrednosti su cesto numericke, kao u slucaju tezine, kojaje skalarna velicina i koja se najbolje opisuje brojem. Primer numericke vrednosti moze biti i frekvencijareci u nekom clanku, kao sto je to bio slucaj u primeru sa klasifikacijom clanaka. Atributi takode mogu biti ikategoricki — mogu predstavljati imena nekih kategorija kojima se ne mogu dodeliti smislene numericke vrednostiili pridruziti uredenje. Primer kategorickog atributa moze biti grad u kome osoba zivi, pol, nacionalnost i slicno.Skup atributa koji ce se koristiti u zapisu instance generalno nije unapred zadat, vec ga je potrebno odabratiu skladu sa time koje su karakteristike instanci bitne za dati problem ucenja. Na primer, za predvidanje ocenena ispitu nije bitna boja ociju studenta. Kada su izabrani atributi pomocu kojih se instance opisuju, svakainstanca moze se predstaviti vektorom vrednosti atributa koje joj odgovaraju.

S druge strane, podaci se nekada mogu dati algoritmu ucenja i u sirovoj formi, poput matrice piksela kojicine sliku bez opisivanja slike nekim specificnim atributima. Nisu svi algoritmi ucenja dizajnirani da dobro radesa takvim reprezentacijama.

Primer 9.3. U slucaju prepoznavanja racunarskih clanaka, instanca je jedan clanak. Instance ce biti u racunarupredstavljene pomocu nekih podataka koji ih opisuju. Ciljna promenljiva, koja predstavlja klasu moze biti 1 zaracunarske clanke i −1. Iako je predstavljena brojem, ovo je kategoricka vrednost, posto se radi o dve kategorijeza koje su ovi brojevi proizvoljno izabrani.

Da bi bilo sprovedeno ucenje, potrebno je raspolozive clanke predstaviti u nekom obliku koji je pogodan zaalgoritam ucenja i koji bi mogao da na neki nacin sazme osnovne karakteristike na osnovu kojih se clanci iz ovedve kategorije mogu razlikovati. Kao sto je ranije zapazeno, ocekivano je da ce u clancima iz racunarstva biti

Page 149: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

149 9. Resavanje problema koriscenjem masinskog ucenja

0

Slika 9.2: Osim krugova koji predstavljaju clanke, prikazana je i prava koja ih razdvaja.

cesce pominjani racunarski pojmovi nego u ostalim clancima. To svojstvo bi se moglo iskoristiti za razlikovanjeclanaka. U skladu sa ovim, mogu se nabrojati sve reci iz nekog recnika racunarske terminologije. Svaki clanakmoze biti predstavljen vektorom frekvencija ovih reci (frekvencija neke reci u clanku se racuna tako sto se brojpojavljivanja te reci podeli ukupnim brojem pojavljivanja svih reci u clanku). Ako je 𝑥 vektor koji odgovaranekom clanku, onda ce 𝑥𝑖 oznacavati frekvencije izabranih pojedinacnih reci.

Opisani vektori frekvencija predstavljaju tacke u euklidskom prostoru. Kao sto je diskutovano ranije, akose u pojednostavljenom recniku nalaze samo dve reci — „racunar“ i „datoteka“, ove tacke mogu izgledati kaona slici 9.1. Ukoliko su u clancima iz jedne kategorije ovi racunarski termini visokofrekventni, a u drugimniskofrekventni, tacke koje odgovaraju racunarskim clancima ce se grupisati dalje od koordinatnog pocetka, dokce se ostale grupisati blize njemu.

9.2.3 Skup dopustivih modelaProces ucenja moze se razmatrati kao proces pronalazenja zakonitosti u podacima ili, preciznije, zavisnosti

medu promenljivim koje ih opisuju, a koje cine atributi i ciljna promenljiva. Kako bi se ucenje moglo automa-tizovati, potrebno je da opsta forma tih zavisnosti bude matematicki definisana. Matematicke reprezentacijezavisnosti medu promenljivim nazivamo modelima. Ovaj pojam vrlo je blizak pojmu modela u empirijskimnaukama, koji takode ustanovljava zavisnosti izmedu velicina koje su relevantne za proucavani fenomen (naprimer, zavisnosti izmedu brzine, puta i vremena).

Obicno modeli koji se razmatraju imaju unapred odredenu opstu formu i moguce je uociti skup dopustivihmodela. Na primer, u primeru prepoznavanja racunarskih clanaka, kao skup dopustivih, mogucih modela koristise skup pravih 𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3 | 𝑤1, 𝑤2, 𝑤3 ∈ R. Forme modela mogu biti raznovrsne: modeli mogu bitipravila oblika IF...THEN, linearne funkcije atributa, linearne funkcije instanci iz trening skupa i tako dalje.

Primer 9.4. U slucaju prepoznavanja racunarskih clanaka, pretpostavimo da se clanci prepoznaju na osnovufrekvencija dve reci. Izmedu dve grupe tacaka mozda postoji prava koja ih razdvaja, kao na slici 9.2. Ako je ovaprava poznata, onda neki nov, nepoznati clanak moze biti prepoznat kao clanak iz oblasti racunarstva ukolikose tacka koja mu odgovara nalazi sa iste strane prave kao i vektori racunarskih clanaka koji su nam poznati. Usuprotnom, smatra se da clanak nije iz oblasti racunarstva.

U ovom slucaju dobar izbor modela je funkcija

𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3

na osnovu cijeg znaka se odlucuje o tome kojoj klasi pripada clanak.

Izbor skupa dopustivih modela od fundamentalnog je znacaja za kvalitet ucenja. Ukoliko ovaj skup nijedovoljno bogat, onda ucenje moze biti samo priblizno. Naizgled paradoksalno, i preterano bogatstvo skupadopustivih modela moze da dovodi (i cesto dovodi) do losih rezultata. Ovaj fenomen bice diskutovan u delu ??.

9.2.4 Funkcija greskeKao sto je vec receno, u masinskom ucenju greska je nuzno prisutna, ali je i nepozeljna. Stoga je potrebno

meriti kolike su greske koje model pravi. Tome sluze funkcije greske koje se razlikuju od problema do problema.

Page 150: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

9.3. Resavanje 150

U slucaju nadgledanog ucenja, ova funkcija treba da kvantifikuje odstupanje predvidene od stvarne vrednosticiljne promenljive. U slucaju nenadgledanog ucenja, ako je potrebno, na primer, izvrsiti identifikaciju grupa upodacima, greska treba da kvantifikuje rasprsenost podataka po grupama, posto je pozeljno da podaci unutarjedne grupe budu sto homogeniji. U slucaju ucenja potkrepljivanjem, obicno se govori o nagradi umesto o gresci,a nagrada je utoliko veca ukoliko je posao bolje obavljen nizom akcija koje se preduzimaju.

Funkcije greske obicno se biraju tako da pored smislenosti u odnosu na problem imaju i neka pozeljnasvojstva poput neprekidnosti, diferencijabilnosti, konveksnosti i slicno.

Primer 9.5. U primeru prepoznavanja racunarskih clanaka, moguci su razliciti izbori funkcije greske. Procenattacno prepoznatih clanaka mogao bi biti dobar izbor, ali ta funkcija nema dobra tehnicka svojstva i otud se nekoristi. Drugi prirodan izbor bi se mogao voditi idejom da je greska utoliko veca ukoliko je instanca dalje odprave koja razdvaja klase i sa pogresne njene strane. Ukoliko je tacka sa ispravne strane, znak funkcije

𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3

se poklapa sa znakom vrednosti 𝑦 (1 ili −1) i proizvod 𝑦(𝑤1𝑥1+𝑤2𝑥2+𝑤3) je pozitivan. Kada greska postoji, tajproizvod je negativan i utoliko veci sto je tacka dalje od prave na pogresnoj strani. Otud je greska, kada postoji,proporcionalna izrazu

−𝑦(𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3)

Kako bi se izbegla negativna greska u slucaju tacne klasifikacije, ovaj izraz se moze zameniti sledecim

max(0,−𝑦(𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3))

tako da je u slucaju tacne klasifikacije greska jednaka nuli. Onda prava koja ispravno razdvaja sve clanke praviukupnu gresku nula. Dodatno, ova funkcija je neprekidna, konveksna i diferencijabilna svugde osim u jednojtacki.

Pritom, ovaj izbor brojeva daje tehnicku pogodnost i za njega ne postoji drugi razlozi, posto su oznake klasazapravo kategoricke vrednosti.

9.3 Resavanje

Resavanje problema u masinskom ucenju se svodi na pronalazenje modela koji pravi najmanju gresku (premaizabranom kriterijumu) na datim podacima. To resavanje se onda moze razumeti i kao pretraga kroz skupdopustivih modela koja je vodena podacima, a koju realizuje algoritam ucenja. Za taj algoritam moguci su idrugaciji izbori, ali se on cesto se svodi na neki optimizacioni metod poput gradijentog spusta nad funkcijomgreske definisanom prilikom modelovanja. Proces pronalazenja adekvatnog modela naziva se treningom.

Primer 9.6. U primeru prepoznavanja racunarskih clanaka, pronalazenje zeljene prave moze se izvesti „pome-ranjem“ neke polazne prave dok ona ne bude pozicionirana izmedu tacaka koje treba da razdvaja, odnosno dokgreska ne postane jednaka nuli ili, ako je to nemoguce, sto manja moguca. Ovo pomeranje vrsi se postepenimmodifikacijama koeficijenata 𝑤1, 𝑤2 i 𝑤3 Jedan takav algoritam dat je na slici 9.3.

Vazno pitanje je da li azuriranje koeficijenata u predlozenom algoritmu vodi poboljsanju naucene funkcije(tj. tekuceg modela). Pre svega, algoritam ne menja vrednosti parametara 𝑤 u slucaju da je instanca tacnoklasifikovana, vec samo ako nije, sto deluje dobro. Dalje, vrednost 𝜂 mora biti mala kako bi korekcije bile male ipostepene. Vrednosti 𝑥1 i 𝑥2 su uvek nenegativne i stoga znak korekcije zavisi samo od znaka vrednosti 𝑦. Ukolikoje 𝑦 negativno, koeficijenti se smanjuju cime se i vrednost 𝑤1𝑥1 +𝑤2𝑥2 +𝑤3 smanjuje. Ako pritom ta vrednostipostane negativna, greska na toj instanci je eliminisana. Analogno u slucaju da je vrednost 𝑦 pozitivna. Stoga,naslucujemo da se ovim algoritmom vrednosti 𝑤1𝑥1+𝑤2𝑥2+𝑤3 po znaku priblizavaju vrednostima 𝑦. Korekcijesu proporcionalne vrednostima 𝑥1 i 𝑥2, odnosno vece su za koeficijente cija promena moze vise doprineti promenivrednosti 𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3 za dati primer. Ovaj postupak lici na gradijentni spust kojim se minimizuje ranijedefinisana funkcija greske:1

max(0,−𝑦(𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3)).

9.4 Evaluacija

Ucenje uvek polazi od nekih podataka. Podaci na osnovu kojih se vrsi generalizacija, nazivaju se podacimaza trening, a njihov skup trening skup. Evaluacija naucenog znanja na podacima na osnovu kojih je uceno

1U pitanju je stohasticki gradijentni spust, koji se od pravog gradijentnog spusta razlikuje po tome sto se gradijent u svakomkoraku racuna na jednoj instanci, a ne na celom trening skupu, ali se u svakom koraku koristi druga instanca.

Page 151: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

151 9. Resavanje problema koriscenjem masinskog ucenja

Algoritam: Algoritam za klasifikaciju clanaka

Ulaz: Trening skup 𝑇 , brzina ucenja 𝜂 i preciznost 𝜀

Izlaz: Koeficijenti (𝑤1, 𝑤2, 𝑤3)

1: postavi 𝑤 na (0, 0, 0);

2: ponavljaj3: postavi 𝑤′ na 𝑤;4: za svaku instancu (𝑥1, 𝑥2, 𝑦) ∈ 𝑇 radi5: ako 𝑦(𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3) < 0 onda6: na 𝑤1 dodaj 𝜂𝑦𝑥1;7: na 𝑤2 dodaj 𝜂𝑦𝑥2;8: na 𝑤3 dodaj 𝜂𝑦;

9: dok nije ispunjen uslov |𝑤 − 𝑤′| ≤ 𝜀;

10: vrati 𝑤 kao resenje.

Slika 9.3: Algoritam za klasifikaciju clanaka.

obicno dovodi do znacajno boljih rezultata od onih koji se mogu kasnije dobiti u primenama, sto ne bi trebaloda iznenaduje. Naime, i u slucaju ljudskog ucenja, lakse je resavati probleme koji su vec poznati u procesuucenja, nego potpuno nove probleme. Stoga je pre upotrebe potrebno proceniti kvalitet naucenog znanja nanovim, nepoznatim podacima. To se obicno radi tako sto se razmatra koliko je nauceno znanje kvalitetno uodnosu na neke unapred date podatke za testiranje cija je uloga da u evaluaciji simuliraju (nepoznate) podatkena kojima ce model biti primenjivan u buducnosti. Podaci za testiranje cine test skup. Test skup treba da budedisjunktan sa trening skupom. Kvalitet modela na test skupu moze se meriti racunanjem razlicitih statistikacija je uloga da sto bolje opisu poklapanje predvidanja modela sa stvarnim podacima. U praksi, trening i testskup se dobijaju tako sto se dostupni podaci podele na dva dela. Naravno, kako razlicite podele na trening i testskup mogu uroditi razlicitim rezultatima, slucajno deljenje nije najbolji nacin formiranja trening i test skupa,osim u slucaju ogromne kolicine podataka i moguci su i drugi nacini evaluacije, o kojima ce biti reci kasnije.

Primer 9.7. U primeru prepoznavanja racunarskih clanaka, pre treninga mogli smo odvojiti, na primer, trecinuukupnih raspolozivih podataka za testiranje, a trening sprovesti nad preostale dve trecine. Kad su clanci klasifi-kovani, kao mera kvaliteta ucenja moze se na test skupu izracunati udeo dobro klasifikovanih clanaka u ukupnombroju clanaka. Pozeljno je da on bude sto veci.

Page 152: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 153: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 10

Nadgledano masinsko ucenje

Nadgledano masinsko ucenje karakterise se time da su za sve podatke poznate vrednosti ciljne promenljive. Unastavku su opisani osnovni problemi nadgledanog ucenja – klasifikacija i regresija, potom pojmovi zajednicki zavecinu algoritama nadgledanog masinskog ucenja, i, na kraju, konkretni modeli nadgledanog ucenja i algoritmiza njihovo treniranje.

10.1 Klasifikacija i regresija

Problemi nadgledanog masinskog ucenja najcesce se mogu svrstati u jednu od dve kategorije – u problemeklasifikacije ili probleme regresije.

Klasifikacija se sastoji u razvrstavanju nepoznate instance u jednu od unapred ponudenih kategorija tj. klasa.Neki od primera klasifikacije su razvrstavanje bankovnih transakcija u rizicne koje mogu predstavljati prevaru inerizicne koje predstavljaju uobicajene transakcije, odredivanje autorstva tekstova pri cemu se tekstu nepoznatogautora pridruzuje jedan od nekoliko unapred ponudenih autora, razvrstavanje elektronske poste u zeljenu inezeljenu (eng. spam) i slicno. U navedenim primerima, svaka instanca (bankovna transakcija, tekst, elektronskaporuka) moze se predstaviti nekim izabranim skupom svojih atributa. Svakoj instanci kao atribut se moze dodatii oznaka klase kojoj ta instanca pripada. Problem klasifikacije sastoji se u odredivanju vrednosti atributa klasena osnovu preostalih atributa instance. Problem klasifikacije moze se razmatrati kao i aproksimacija ciljnepromenljive cija je vrednost za svaku instancu oznaka klase kojoj ta instanca pripada. Kljucno zapazanje jeda je ciljna promenljiva u ovom problemu diskretna. Pritom, u opstem slucaju, oznakama klasa se ne mogusmisleno dodeliti numericke vrednosti niti uredenje. Dakle, atribut klase, ciju je vrednost potrebno odrediti,kategoricki je atribut.

Problem regresije predstavlja problem predvidanja neke neprekidne numericke vrednosti na osnovu vrednostinekih drugih atributa instance datog problema. Primene regresije su mnogobrojne. One ukljucuju procenu rizikau finansijskim ulaganjima, modelovanje zagadenja zivotne sredine, procenu smrtnosti u zavisnosti od zivotnihnavika, odredivanje pozicija objekata na slikama i slicno.

10.2 Elementi algoritama nadgledanog ucenja

Prakticno svi pristupi nadgledanom ucenju implicitno ili eksplicitno podrazumevaju sledecih nekoliko ele-menata:

• forma modela koja predstavlja matematicku formu funkcije koja se moze podesavati menjanjem nekihparametara,

• funkcija gubitka koja sluzi merenju odstupanja predvidanja modela od stvarnih vrednosti ciljne promen-ljive,

• regularizacioni izraz koji sluzi da spreci modele da se prilagode nebitnim specificnostima podataka i usledtoga izgube moc generalizacije i

• algoritam optimizacije koji sluzi izboru modela sa najmanjom greskom.

Treba naglasiti da razliciti pristupi mogu ukljucivati sve, ali i samo neke od ovih elemenata. Algoritma 𝑘najblizih suseda ilustrovace situaciju u kojoj je eksplicitno uocljiv samo jedan. Elementi koji su prisutni, cestose mogu birati nezavisno, ali moguce je i da izbor za neku stavku ogranici izbore za neku drugu stavku. Naprimer, u slucaju da je funkcija gubitka nediferencijabilna, obican metod gradijentnog spusta mozda nece dati

153

Page 154: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.3. Dopustivi modeli i minimizacija greske 154

dobre rezultate.1 Znacaj ovakve dekompozicije algoritma ucenja je kako u tome sto pruza smernice prilikomdizajna novih algoritama, tako i u tome sto olaksava razumevanje postojecih algoritama. Naime, svojstvamnogih izbora za svaki od navedenih elemenata dizajna su vec u velikoj meri analizirana i poznato je kakvimishodima koji izbor cesto vodi.2

10.3 Dopustivi modeli i minimizacija greske

Dve bitne komponente mnogih algoritama klasifikacije i regresije su skup dopustivih modela (tj. opsta formamodela koji se razmatraju) i nacin minimizacije greske. Cak i kada ne figurisu eksplicitno u formulaciji, cestose mogu uociti pazljivom analizom. Nekada, ipak, prosto nisu prisutni. Diskusija u nastavku pretpostavlja cestslucaj kada su ovi elementi eksplicitni.

Kao sto je vec receno, zavisnosti izmedu promenljivih u masinskom ucenju opisuju se parametrizovanimfunkcijama koje se nazivaju modelima. Primera radi, forma modela moze biti:

𝑓𝑤(𝑥) =

𝑛∑𝑖=1

𝑤𝑖𝑥𝑖

gde je 𝑛 broj atributa. Ovaj model izrazava linearnu zavisnost vrednosti ciljne promenljive od atributa 𝑥𝑖.Ukoliko takve zavisnosti priblizno zaista vaze u razmatranom fenomenu, takav model je adekvatan. U suprot-nom, moze biti upotrebljiv, ali verovatno vredi uloziti trud u formulisanje boljeg modela. Model je obicno upotpunosti odreden nekim skupom koeficijenata, koje cemo oznacavati 𝑤.

Primer 10.1. U primeru klasifikacije clanaka, forma modela je

𝑓𝑤(𝑥) = 𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3

Modeli masinskog ucenja, za razliku od procedura automatskog rasudivanja mogu da grese (na primer, dapogresno klasifikuju neke instance). Otud je potrebno izabrati funkciju gubitka cija uloga je da kvantifikuje od-stupanje koje model pravi u odnosu na tacnu vrednost ciljne promenljive. Na primer, kvadrat razlike predvidenevrednosti 𝑓𝑤(𝑥) i ciljne vrednosti 𝑦

𝐿(𝑓𝑤(𝑥), 𝑦) = (𝑓𝑤(𝑥)− 𝑦)2

predstavlja cest izbor za fukciju gubitka. Naravno, za njenu primenu potrebno je da su nad vrednostimaciljne promenljive definisane aritmeticke operacije, sto ne mora da vazi u opstem slucaju. Ipak, tamo gde jeprimenljiva, ova funkcija ponasa se intuitivno — velike razlike izmedu predvidene i stvarne vrednosti proizvodeveliku vrednost gubitka, a takode je i matematicki pogodna zbog svoje diferencijabilnosti. Zbog toga predstavljacest izbor funkcije gubitka, mada nije najbolji izbor ni uvek kada je primenljiva.

Primer 10.2. U primeru klasifikacije clanaka, za funkciju gubitka izabrana je funkcija:

𝐿(𝑓𝑤(𝑥), 𝑦) = (𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3 − 𝑦)2

Kada su definisani forma modela i funkcija gubitka, nije tesko formulisati kriterijume za izbor najboljegmodela — to je model koji pravi najmanju gresku, to jest, pravi najmanji ocekivani gubitak na podacima nakojima ce biti koriscen. Dakle, potrebno je resiti sledeci problem minimizacije:

min𝑤

E(𝑥,𝑦)𝐿(𝑓𝑤(𝑥), 𝑦)

gde je E(𝑥,𝑦) matematicko ocekivanje po atributima i ciljnoj promenljivoj koje se naziva rizikom. Za racunanjematematickog ocekivanja E(𝑥,𝑦) potrebno je poznavati raspodelu promenljivih po kojima se ocekivanje racuna.U ovom slucaju, radi se o zajednickoj raspodeli promenljivih 𝑥 i 𝑦, koja nije poznata. Zato ovaj kriterijum nijelako upotrebiti. Medutim, ono sto u praksi jeste poznato jеste uzorak podataka iz trening skupa (𝑥𝑖, 𝑦𝑖) | 𝑖 =1, . . . 𝑁. Zbog toga se ocekivanje funkcije gubitka aproksimira njenim uzorackim prosekom koji se nazivaempirijskim rizikom ili cesce prosto greskom modela:

𝐸(𝑤) =1

𝑁

𝑁∑𝑖=1

𝐿(𝑓𝑤(𝑥𝑖), 𝑦𝑖)

1U praksi cesto i hoce ako funkcija nije deo po deo konstantna.2 Primera radi, poznato je da izbor regularizacionog izraza Ω(𝑤) = ‖𝑤‖1 vodi modelima sa velikim brojem koeficijenata koji

imaju vrednost 0, sto olaksava uocavanje nebitnih atributa, dok izbor Ω(𝑤) = ‖𝑤‖22 cesto vodi nesto vecoj preciznosti predikcije uodnosu na prethodni izbor.

Page 155: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

155 10. Nadgledano masinsko ucenje

Primer 10.3. U primeru klasifikacije clanaka, greska modela data je funkcijom:

𝐸(𝑤) =1

𝑁

𝑁∑𝑖=1

(𝑤1𝑥𝑖1 + 𝑤2𝑥𝑖2 + 𝑤3 − 𝑦𝑖)2

Moze se dokazati da, pod odredenim uslovima, vrednosti parametara 𝑤 dobijene minimizacijom greskemodela dobro aproksimiraju vrednosti parametara koje bi bile dobijene minimizacijom (stvarnog) rizika. Stogase vrednosti parametara 𝑤 i biraju minimizacijom vrednosti greske modela. Kako prosek i suma imaju istiminimum, obicno se prilikom minimizacije ne vodi racuna o tome da li je izvrseno deljenje brojem instanci. Toce biti vidljivo i u minimizacionim problemima u nastavku.

Prethodnog izlaganje pokazuje da je potrebno minimizovati gresku modela. Za to se koriste metode mate-maticke optimizacije. Jedna od klasicnih metoda koriscenih u ovom kontekstu je gradijentni spust (poglavlje3.1). Taj metod zahteva da je funkcija diferencijabilna. Postoje mnoge druge optimizacione metode koje mogubiti pogodnije za optimizacioni problem koji se razmatra. Cesto se za novi problem formulise i nova metodaoptimizacije koja je posebno pogodna za njega. Temeljnije upucivanje u metode matematicke optimizacije izlaziiz okvira ove knjige.

Primer 10.4. U slucaju problema

min𝑤

𝑁∑𝑖=1

(𝑤1𝑥𝑖1 + 𝑤2𝑥𝑖2 + 𝑤3 − 𝑦𝑖)2

za optimizacioni metod moze se uzeti gradijentni spust. Za primenu gradijentnog spusta, potrebno je izvestigradijent greske, cije su koordinate u ovom slucaju:

𝜕

𝜕𝑤1(

𝑁∑𝑖=1

(𝑤1𝑥𝑖1 + 𝑤2𝑥𝑖2 + 𝑤3 − 𝑦𝑖)2 + 𝜆‖𝑤‖2) = 2

𝑁∑𝑖=1

(𝑤1𝑥𝑖1 + 𝑤2𝑥𝑖2 + 𝑤3 − 𝑦𝑖)𝑥1

𝜕

𝜕𝑤2(

𝑁∑𝑖=1

(𝑤1𝑥𝑖1 + 𝑤2𝑥𝑖2 + 𝑤3 − 𝑦𝑖)2 + 𝜆‖𝑤‖2) = 2

𝑁∑𝑖=1

(𝑤1𝑥𝑖1 + 𝑤2𝑥𝑖2 + 𝑤3 − 𝑦𝑖)𝑥2

𝜕

𝜕𝑤3(

𝑁∑𝑖=1

(𝑤1𝑥𝑖1 + 𝑤2𝑥𝑖2 + 𝑤3 − 𝑦𝑖)2 + 𝜆‖𝑤‖2) = 2

𝑁∑𝑖=1

(𝑤1𝑥𝑖1 + 𝑤2𝑥𝑖2 + 𝑤3 − 𝑦𝑖)

Kada je poznat gradijent, moguce je primeniti metod gradijentnog spusta sa Armiho-Goldstajnovom pretragom.Ako se umesto gradijenta greske na celom trening skupu koristi gradijent greske samo na jednoj instanci, pri

cemu se u svakom koraku bira druga instanca, dobija se takozvani stohasticki gradijentni spust. Ranije opisanialgoritam za prepoznavanje racunarskih clanaka predstavlja stohasticki gradijentni spust sa fiksiranom duzinomkoraka.

10.4 Preprilagodavanje i regularizacija

Ocigledno, sto je greska modela manja, to je prilagodenost modela podacima za trening veca i obratno.Dakle, vrednost greske modela moze da ima ulogu mere prilagodenosti modela podacima za trening.

Uslovi pod kojima se minimizacijom greske dobro aproksimira polazni problem nisu uvek ispunjeni, pa pret-hodno opisani postupak minimizacije i izbora modela ne vodi nuzno dobrim rezultatima ucenja. Razmatranjeovog problema predstavlja najplodniji aspekt teorije masinskog ucenja i pruza najdublje uvide u prirodu procesageneralizacije, ali prevazilazi okvire ove knjige. Ipak, osnovni zakljucak moze se kratko formulisati: osnovnaprepreka aproksimaciji optimalnih vrednosti parametara, a time i uspesnoj generalizaciji, je preterano bogatstvoskupa dopustivih modela. Ukoliko je taj skup toliko bogat da u njemu za svaki trening skup postoji model kojiga savrseno opisuje, onda ne postoje garancije za uspesno ucenje. Dodatno, sto je skup dopustivih modelabogatiji, to je potrebno vise podataka za uspesno ucenje. Ilustrovacemo ovaj uvid kroz dva primera, prvi kojise odnosi na klasifikaciju i drugi koji se odnosi na regresiju.

Primer 10.5. Neka je dat trening skup instanci koje predstavljaju clanke, od kojih su neki racunarski, a nekine. Taj skup je prikazan na slici 10.1. U tom skupu postoje i neki racunarski clanci sa niskom frekvencijomreci iz specificno racunarske terminologije, ali i neki clanci koji nisu racunarski, a ipak imaju visoku frekvencijuracunarskih termina. Ovakvih primera ima malo. U praksi je cesta situacija da, iz razlicitih razloga, odredenibroj instanci odstupa od ocekivanja.

Page 156: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.4. Preprilagodavanje i regularizacija 156

Slika 10.1: Trening skup. Plave tacke oznacavaju racunarske, a crvene ostale clanke.

Pretpostavimo da je forma modela linearna, kao i do sada — 𝑓𝑤(𝑥) = 𝑤1𝑥1 +𝑤2𝑥2 +𝑤3 i da su koeficijenti𝑤 odredeni minimizacijom greske pri cemu je za funkciju gubitka koriscen kvadrat razlike ciljne i predvidenevrednosti.3 Slika 10.2 ilustruje resenje u tom slucaju. Moze se primetiti da model nije saglasan sa svim in-stancama, odnosno da postoje racunarski clanci koji nisu prepoznati i clanci koji su prepoznati kao racunarski,a to nisu. Medutim, to ne bi trebalo da bude zabrinjavajuce, posto je za vecinu clanaka klasifikacija ispravna.Clanci koji su pogresno klasifikovani odstupaju od trenda ucestalog koriscenja reci racunar i datoteka u takvimclancima, ali ih nema dovoljno da bi sugerisali da i drugi clanci u kojima se te reci retko koriste treba da buduklasifikovani kao racunarski.

Slika 10.3 prikazuje klasifikaciju datih podataka koriscenjem modela iz skupa svih polinoma dve promenljiveproizvoljnog stepena, odnosno u slucaju da se za modele koristi sledeca forma:

𝑓𝑤(𝑥) =

𝑛∑𝑖=0

𝑖∑𝑗=0

𝑤𝑖𝑗𝑥𝑗1𝑥

𝑖−𝑗2

dok je funkcija gubitka ista. Izabrani model je saglasan sa svim instancama iz trening skupa i stoga je greskajednaka nuli. Medutim, zakonitost koju on opisuje ne izgleda uverljivo. Naime, intuitivno je da su racunarskiclanci koji ne sadrze racunarske termine redak izuzetak, a ne da postoje velike oblasti prostora atributa kojeodgovaraju niskim frekvencijama racunarskih termina, a ipak se odnose na racunarske clanke. Vredi primetitii da se u oblasti za koju bi se ocekivalo da je plava, nalazi veliki potprostor obojen crvenom bojom, a u kojemmedu trening instancama ne postoji nijedna crvena tacka. Ovakve „zakonitosti“ cine koriscenje ovakvog modelau predikciji potpuno nepouzdanim i sigurno je da je stvarni rizik daleko veci od nule.

Primer 10.6. Razmotrimo sada primer regresionog problema. Pretpostavimo da je dat trening skup od 20instanci koje se sastoje od jednog atributa i vrednosti ciljne promenljive. Pretpostavimo da je forma razmatranihmodela linearna — 𝑓𝑤(𝑥) = 𝑤1𝑥 + 𝑤2 i da su koeficijenti 𝑤 odredeni minimizacijom greske, pri cemu je zafunkciju gubitka koriscen kvadrat razlike ciljne i predvidene vrednosti. Slika 10.4 ilustruje takav pristup. Mozese primetiti da model nije u potpunosti saglasan ni sa jednom instancom, odnosno za svaku trening instancupostoji manja ili veca greska u predvidanju. Dakle, jednostavan linearni model nije dovoljno fleksibilan da semoze potpuno prilagoditi podacima za trening. S druge strane, ocigledno je da on dobro opisuje opsti linearnitrend koji u podacima postoji i, posebno vazno, za ocekivati je da je greska na novim podacima iz iste raspodelebude priblizno jednaka gresci na poznatim, trening podacima.

Slika 10.5 prikazuje aproksimaciju datih podataka koriscenjem modela iz skupa svih polinoma proizvoljnogstepena, odnosno u slucaju da se za modele koristi forma 𝑓𝑤(𝑥) =

∑𝑛𝑖=1 𝑤𝑖𝑥

𝑖. Izabrani model saglasan je sa3U ovom konkretnom problemu postoje i pogodnije funkcije gubitka, ali ce za potrebe ovog primera i kvadrat razlike biti

dovoljno dobra funkcija.

Page 157: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

157 10. Nadgledano masinsko ucenje

Slika 10.2: Prikaz linearnog modela minimalne greske. Tacke u ravni za koje model daje pozitivnu vrednostoznacene su plavo, a tacke za koje daje negativnu vrednost, oznacene su crveno.

Slika 10.3: Polinomski model minimalne greske. Tacke u ravni za koje model daje pozitivnu vrednost oznacenesu plavo, a tacke za koje daje negativnu vrednost, oznacene su crveno.

svim instancama iz trening skupa i stoga je greska modela jednaka nuli. Medutim, posmatrajuci globalni izgledizabranog modela, vidi se da on zapravo ne opisuje nikakvu zakonitost u podacima. Oscilacije koje pravi izmedutacaka cine njegovo koriscenje u buducem predvidanju potpuno nepouzdanim i sigurno je da je stvarni rizikdaleko veci od nule.

Problem koji se u prethodnim primerima javlja proistice upravo iz toga sto skup svih polinoma cini previsebogat skup mogucih modela. Za svaki trening skup moze se naci model koji ga savrseno opisuje. Medutim,prilagodavajuci se trening podacima do krajnosti, gubi se svaka moc generalizacije. Takav zakljucak vazi i

Page 158: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.4. Preprilagodavanje i regularizacija 158

5 10 15 20

05

1015

20

Slika 10.4: Linearni model minimalne greske.

za druge previse bogate skupove dopustivih modela, a ne samo za polinome. Ilustrovani fenomen naziva sepreprilagodavanje (eng. overfitting) i predstavlja glavnu opasnost u masinskom ucenju.

U svetlu prethodnog zakljucka, tezi se ogranicavanju bogatstva skupa dopustivih modela, sto se moze po-stici smanjenjem fleksibilnosti forme modela. Primera radi, linearna forma modela sa ogranicenim brojemkoeficijenata moze se smatrati nefleksibilnom.

Zanimljivo je da za smanjenje fleksibilnosti modela nije neophodno unapred izabrati skup dopustivih modelatako da bude siromasan, vec je dovoljno modifikovati funkciju koja se minimizuje tako da veliki broj modela imavisoku vrednost te funkcije. Cesto koriscen i sistematican nacin da se to postigne je postupak regularizacije, kojimoze biti sproveden na razlicite nacine a ovde ce biti prikazan najstariji i najuobicajeniji. Umesto minimizacijegreske, vrsi se minimizacija regularizovane greske, odnosno, resava se problem

min𝑤

𝐸(𝑤) + 𝜆Ω(𝑤)

gde je Ω(𝑤) regularizacioni izraz i pri cemu vazi 𝜆 ≥ 0. Regularizacioni izrazi obicno su zasnovani na normama,pa su uobicajeni izbori poput

Ω(𝑤) = ‖𝑤‖22 =

𝑛∑𝑖=1

𝑤2𝑖

ili

Ω(𝑤) = ‖𝑤‖1 =

𝑛∑𝑖=1

|𝑤𝑖|

ali se koriste i mnogi drugi. Minimizacija greske, koja meri prilagodenost modela podacima, zahteva odstupanjekoeficijenata 𝑤𝑖 od nule. Medutim, dodavanjem regularizacionog izraza, takvo odstupanje kaznjava se utolikovise sto je odstupanje vece. Time se otezava preveliko prilagodavanje modela podacima, tj. fleksibilnost modelase smanjuje. Mera u kojoj regularizacioni izraz umanjuje fleksibilnost modela kontrolise se izborom metapara-

Page 159: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

159 10. Nadgledano masinsko ucenje

5 10 15 20

05

1015

20

Slika 10.5: Polinomski model minimalne greske.

metra 𝜆.4 Visoke vrednosti nisu pozeljne ni za ovaj parametar jer se nefleksibilni modeli koji se time dobijajune mogu dovoljno prilagoditi podacima, pa je kvalitet ucenja u tom slucaju los.

Primer 10.7. Neka se u primeru klasifikacije clanaka koristi forma modela koja odgovara polinomu dve pro-menljive, kao funkcija gubitka neka se koristi kvadrat razlike ciljne i predvidene vrednosti i neka se koristiregularizacija. Tada je potrebno resiti sledeci problem minimizacije:

min𝑤

𝑁∑𝑖=1

𝑛∑𝑗=0

𝑗∑𝑘=0

𝑤𝑗𝑘𝑥𝑘𝑖1𝑥

𝑗−𝑘𝑖2 + 𝜆‖𝑤‖2

Za vrednosti regularizacionog metaparametra 𝜆 = 10−9, 10−6, 10−3, 1, 10, 100, dobijaju se modeli prikazani naslici 10.6. Ocigledno je da povecavanje regularizacionog metaparametra 𝜆 smanjuje mogucnost preprilagodavanjamodela, ali i da njegovo preterano povecavanje vodi njegovoj potpunoj neprilagodljivosti, usled cega, za vrednost𝜆 = 100, svi clanci bivaju klasifikovani kao racunarski samo zato sto ih u trening skupu ima vise.

Na slici 10.7 prikazane su tri krive koje ilustruju uobicajeno ponasanje modela u zavisnosti od vrednostimetaparametra 𝜆. Jedna, rastuca, predstavlja gresku na trening skupu u zavisnosti od vrednosti metaparametra𝜆. Kako ta greska predstavlja ocenu rizika, riziku se moze pridruziti interval poverenja5 u odnosu na tu ocenu.Sirina intervala poverenja predstavljena je drugom, opadajucom, krivom. U slucaju visoke greske na treningpodacima, na osnovu uskog intervala poverenja, mozemo biti relativno sigurni da ce i rizik biti visok. U slucajuvrlo niske vrednosti greske, na osnovu sirokog intervala poverenja, nemamo nikakve garancije da ce i rizik bitinizak. Treca kriva je zbir prethodne dve i predstavlja gornju granicu rizika. Kao sto je vec receno, i premalei prevelike vrednosti metaparametra 𝜆, koji kontrolise fleksibilnost modela, vode losim rezultatima. Prve uslednefleksibilnosti, a druge zbog preprilagodavanja. Vise o nacinu na koji se vrednost ovog parametra moze biratiu praksi bice reci kasnije.

4Terminom metaparametar pravi se razlika izmedu parametara koji se uce poput parametara 𝑤 i parametara koji ucestvuju udefiniciji optimizacionog problema, poput parametra 𝜆.

5Za ovu diskusiju nije bitna konkretna verovatnoca pridruzena intervalu poverenja (na primer, 95% ili 90%).

Page 160: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.4. Preprilagodavanje i regularizacija 160

Slika 10.6: Polinomski modeli dobijeni za razlicite vrednosti regularizacionog metaparametra.

Pored opisanog nacina regularizacije postoje i drugi. Termin regularizacija cesto se koristi i slobodnije takoda obuhvata i druge modifikacije optimizacionog problema kojima se kontrolise fleksibilnost modela, cime seomogucava izbor modela koji nije preprilagoden i dobro generalizuje.

U nastavku ce biti diskutovano nekoliko najcesce koriscenih metoda nadgledanogu ucenja. Neuronske mrezepredstavljaju modele koji su doveli do naglog sirenja spektra primena masinskog ucenja i na njihove primenece biti stavljen poseban akcenat. Neke od diskutovanih metoda, linearnih modela, 𝑘 najblizih suseda i stabalapredstavljaju starije i jednostavnije, ali i dalje prakticno primenjene algoritme.

Page 161: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

161 10. Nadgledano masinsko ucenje

0 𝜆

𝐶

𝑅𝑔

𝐸

Slika 10.7: Ponasanje greske 𝐸, sirine intervala poverenja 𝐶 i gornje granice rizika 𝑅𝑔 u zavisnosti od vrednostiregularizacionog metaparametra 𝜆

10.5 Linearni modeli

Linearni modeli polaze od pretpostavke da se veza izmedu ciljne promenljive i atributa moze pribliznomodelovati linearnim modelom, uz eventualnu jednostavnu nelinearnu transformaciju povrh toga. Odnosno,forma modela je

𝑓𝑤(𝑥) = 𝑔(𝑤 · 𝑥) = 𝑔(

𝑚∑𝑖=1

𝑤𝑖𝑥𝑖) (10.1)

za neku funkciju 𝑔 koja zavisi od konkretne primene. Pritom, kada se govori o linearnom modelu bitno jenaglasiti da se izraz „linearni“ odnosi na linearnost relacije po parametrima 𝑤𝑖, a da atributi mogu biti nelinearnotransformisani.

Primer 10.8. Neki primeri linearnih modela su:

• 𝑓𝑤(𝑥) = 𝑤0 + 𝑤1𝑥1 + 𝑤2𝑥2

• 𝑓𝑤(𝑥) = 𝑤0 + 𝑤1 cos(𝑥1) + 𝑤2𝑥22 + 𝑤3𝑒

𝑥3

• 𝑓𝑤(𝑥) = 𝑤0 + 𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3𝑥1𝑥2

Sledeci primeri ne predstavljaju linearne modele:

• 𝑓𝑤(𝑥) =𝑤1𝑥1

𝑤2+𝑥2

• 𝑓𝑤(𝑥) =cos(𝑤1𝑥1)𝑤2𝑥2

𝑒𝑤3𝑥3

U nastavku diskutujemo osnovne varijante linearnih modela za regresiju i klasifikaciju.

10.5.1 Linearna regresijaLinearna regresija predstavlja metod regresije zasnovan na linearnom modelu. Pretpostavka je da je funkcija

𝑔 identitet tj. da se predvidanje dobija kao linearna kombinacija vrednosti atributa. Zadatak linearne regresijeje odredivanje vrednosti parametara 𝑤 koji najbolje odgovaraju trening podacima, tj. najbolje odgovarajuopazanjima iz iskustva.

Pored osnovnog zadatka pronalazenja prediktivnog modela, linearna regresija korisna je i za ustanovljavanjejacine uticaja nekog atributa na vrednost ciljne promenljive. Naime, vece apsolutne vrednosti koeficijenata 𝑤𝑖

oznacavaju jaci uticaj atributa 𝑥𝑖 uz koji stoje. Znak koeficijenta odreduje smer uticaja atributa. Moze semeriti i statisticka znacajnost ovog uticaja, ali se, jednostavnosti radi, u nastavku fokusiramo samo na osnovniproblem odredivanja optimalnih vrednosti koeficijenata 𝑤 i proveru kvaliteta naucenog modela.

Najjednostavniji slucaj linearne regresije je predvidanje vrednosti 𝑦 na osnovu samo jednog atributa 𝑥.Primera radi, mozemo govoriti o predvidanju telesne mase u zavisnosti od visine. Primetna je zakonitost dasu visoki ljudi uglavnom tezi od niskih ljudi. Potrebno je modelovati tu zavisnost. Za tu zavisnost postoje iodstupanja. Kako su odstupanja od prosecne tezine reda sto su veca, ova odstupanja cemo smatrati sumom inecemo ih modelovati. Dakle, u ovom slucaju razmatracemo linearni model oblika

𝑓𝑤(𝑥) = 𝑤0 + 𝑤1𝑥

Page 162: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.5. Linearni modeli 162

150 160 170 180 190 200

4060

8010

012

0

x

y

Slika 10.8: Primer jednostavne regresije kojom se predvida telesna tezina na osnovu visine.

sto je standardna jednacina linearne funkcije.Na slici 10.8 je prikazano 100 tacaka pri cemu svaka odgovara jednoj instanci, tj. jednom ispitaniku. Koor-

dinata 𝑥 predstavlja visinu, a 𝑦 telesnu masu Na slici se moze primetiti opsti trend linearnog povecanja telesnemase u zavisnosti od visine koji je prikazan pravom. Takode, primetno je i da jedan, mali broj tacaka znacajnoodstupa. Ovakve tacke nazivamo odudarajucim podacima (eng. outliers). Prikazana prava predstavlja linearnimodel datih podataka. Metod kojim se do njega dolazi bice prikazan u nastavku.

Ako se koristi opsta jednacine linearnog modela 10.1, moguce je ukljuciti veci broj atributa u predvidanjevrednosti ciljne promenljive. Naime, visina nije dovoljna da u potpunosti objasni variranje telesne tezine.Dodatni atributi koji bi vodili ka poboljsavanju predvidanja mogu da se odnose na nacin zivota pojedinaca— koliko vremena dnevno provode u sedecem polozaju, koliko se bave sportom, koliko kalorija unose dnevno islicno. Umesto prave, u ovakvom slucaju regresioni model bi odredivao jednu hiperravan.

Osnovni kriterijum izbora vrednosti koeficijenata linearnog modela je smanjivanje odstupanja izmedu vred-nosti koje model predvida i vrednosti koje ciljna promenljiva ima u podacima. Ovaj problem se obicno formulisekao problem minimizacije srednjekvadratne greske. Funkcija gubitka je 𝐿(𝑓𝑤(𝑥), 𝑦) = (𝑥 · 𝑤 − 𝑦)2, pa je odgo-varajuci minimizacioni problem

min𝑤

𝑁∑𝑖=1

(𝑤 · 𝑥𝑖 − 𝑦𝑖)2 + 𝜆Ω(𝑤)

pri cemu je 𝑛 broj instanci u trening skupu, 𝜆 regularizacioni metaparametar, a Ω(𝑤) regularizacioni izraz(videti poglavlje 10.4). Alternativno, u matricnoj notaciji, isti problem moze se zapisati kao

min𝑤‖𝑋𝑤 − 𝑌 ‖22 + 𝜆Ω(𝑤)

U slucaju da je Ω(𝑤) = ‖𝑤‖22, ispostavlja se da za postavljeni problem postoji jednostavno resenje koje nezahteva koriscenje optimizacionih metoda:

𝑤 = (𝑋⊤𝑋 + 𝜆𝐼)−1𝑋⊤𝑌

Page 163: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

163 10. Nadgledano masinsko ucenje

pri cemu je 𝐼 jedinicna matrica i vazi

𝑋 =

⎡⎢⎢⎢⎣1 𝑥11 𝑥12 · · · 𝑥1𝑚

1 𝑥21 𝑥22 · · · 𝑥2𝑚

......

. . ....

1 𝑥𝑛1 𝑥𝑛2 · · · 𝑥𝑛𝑚

⎤⎥⎥⎥⎦ 𝑌 =

⎡⎢⎢⎢⎣𝑦1𝑦2...𝑦𝑛

⎤⎥⎥⎥⎦Osnovni problem pri odredivanju optimalnih vrednosti koeficijenata 𝑤 je potencijalna losa uslovljenost ma-

trice 𝑋 (za male promene elemenata polazne matrice, moguce su ogromne promene elemenata inverzne matrice).Naime, moguce je da su neki atributi linearno zavisni ili da su jako korelirani. U tom slucaju, matrica 𝑋, pa imatrica 𝑋⊤𝑋 je neinvertibilna ili lose uslovljena, pa se, ako je 𝜆 = 0, optimalne vrednosti koeficijenata 𝑤 nemogu izracunati ili su previse nestabilne. Stoga se preporucuje da se prilikom linearne regresije uvek koristiregularizacija, pri cemu se kao regularizacioni izraz najcesce koristi kdvadrat euklidske norme (engl. ridge re-gression). Moguce je koristiti i druge norme kako u regularizacionom izrazu, tako i u funkciji greske, sto dovodido varijanti metode sa razlicitim ponasanjima.

U gore navedenom resenju problema regularizovane linearne regresije

𝑤 = (𝑋⊤𝑋 + 𝜆𝐼)−1𝑋⊤𝑌

moguce je da je dimenzija matrice 𝑋⊤𝑋 + 𝜆𝐼 velika, i da je njeno invertovanje racunski previse zahtevno. Utakvim situacijama minimizacija se vrsi metodama optimizacije poput gradijentnog spusta.

Osnovna i ocigledna pretpostavka linearne regresije je da linearni model adekvatno izrazava vezu izmeduatributa i ciljne promenljive. Ipak, ne moze se ocekivati da vrednosti ciljne promenljive budu uvek jednakevrednostima modela zbog postojanja suma, odnosno slucajne greske u podacima. Poreklo suma moze bitinesavrsenost opreme kojom se vrsi merenje, slucajna priroda samog fenomena ili to sto izbor linearne zavisnostipredstavlja svesnu odluku da se inace kompleksna zavisnost donekle pojednostavi radi lakse analize. Stoga,obicno se pretpostavlja da ciljna promenljiva ima oblik

𝑦 = 𝑤 · 𝑥+ 𝜀

gde je 𝜀 ∼ 𝒩 (0, 𝜎2) normalno raspodeljena slucajna promenljiva koja oznacava sum, pri cemu je standardnadevijacija 𝜎 konstantna.6 Neformalno, ovo znaci da se pretpostavlja da se greske „ponistavaju“, odnosno da seprebacivanja i podbacivanja javljaju jednako cesto, da su pritom velike greske vrlo malo verovatne, kao i davelicina greske ne zavisi od vrednosti 𝑦 (posto je 𝜎 konstantno).

Na kraju, razmotrimo jedan potpun primer upotrebe linearne regresije sa malim skupom stvarni podataka.

Primer 10.9. Potrebno je modelovati vazdusno zagadenje izrazeno u terminima indeksa kvaliteta vazduha (vecevrednosti su nepozeljnije), a u zavisnosti od populacije, maksimalne brzine vetra i indikatora da li je grad u kotliniili ne. Raspolozivi su (stvarni) podaci za cetiri dana – 5, 10, 15 i 20. januar 2020. u Beogradu, Sarajevu iTemisvaru.

Matrica 𝑋, i vektor 𝑦, dati u nastavku sadrze podatke na osnovu kojih treba trenirati model linearneregresije, pri cemu je matrica dobijena standardizacijom (i zaokruzivanjem na dve decimale) svih kolonamatrice 𝑋 osim prve:

𝑋 =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1 1687132 35 01 1687132 13 01 1687132 10 01 1687132 13 01 555210 21 11 555210 5 11 555210 5 11 555210 13 11 468162 37 01 468162 19 01 468162 21 01 468162 16 0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1 1.41 1.81 −0.711 1.41 −0.44 −0.711 1.41 −0.75 −0.711 1.41 −0.44 −0.711 −0.63 0.38 1.411 −0.63 −1.26 1.411 −0.63 −1.26 1.411 −0.63 −0.44 1.411 −0.78 2.01 −0.711 −0.78 0.17 −0.711 −0.78 0.38 −0.711 −0.78 −0.14 −0.71

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

𝑦 =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

7016818114112124524711263806761

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦6 Imajuci u vidu da se smatra da vazi 𝑦 = 𝑤 · 𝑥 + 𝜀 i pretpostavku 𝜀 ∼ 𝒩 (0, 𝜎2), vazi 𝑦 ∼ 𝒩 (𝑤 · 𝑥, 𝜎2) za svaki vektor

vrednosti atributa 𝑥. Ova konstatacija pruza drugi pogled na linearnu regresiju — da se zapravo radi o izboru normalne raspodelesa promenljivim prosekom koja najbolje opisuje raspodelu podataka.

Page 164: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.5. Linearni modeli 164

0 1 2 3 4 5 6−1−2−3−4−5−6

1

0.5

Slika 10.9: Grafik sigmoidne funkcije.

Primetimo da je prva kolona konstantna matrica 𝑋 i , sto omogucava ucenje slobodnog parametra 𝑤0 bezposebnog tretmana u odnosu na druge parametre. Primenom formule

𝑤 = (𝑇 )−1𝑇 𝑦

dobija se vektor parametara

𝑤 =

⎡⎢⎢⎣129.6724.19−46.1129.83

⎤⎥⎥⎦Dobijene vrednosti parametara sugerisu odredene zakonitosti – naseljenost grada je pozitivno korelisana sazagadenjem, vetrovitost negativno, a zatvorenost u kotlinu, takode pozitivno. Pritom, model sugerise da jevetrovitost najvazniji od pomenuta tri svojstva. Ipak, koliko mozemo verovati ovim zakljuccima? Najbolje bibilo primeniti model na podatke na kojima nije treniran, kako bi se videlo koliko precizno predvida. Takode,moguce je proveriti da li se model uopste uspesno prilagodio podacima za trening. O evaluaciji modela ce bitireci kasnije, ali mozemo proveriti koren srednjekvadratne greske modela. On ima vrednost 29. Poredenja radi,standardna devijacija vrednosti ciljne promenljive je 65. Ocigledno predvidanja modela su znacajno bolja, aliima jos dosta prostora za njegovo unapredenje, sto nije ni neobicno imajuci u vidu da model ne uzima u obzirsve parametre koji uticu na zagadenje.

10.5.2 Logisticka regresijaLogisticka regresija predstavlja jednu od najkoriscenijih metoda klasifikacije. Glavni razlozi za to su jedno-

stavnost, efikasno treniranje i postojanje verovatnosne interpretacije rezultata. Ogranicenje ove metode jeda je primenljiva samo na binarnu klasifikaciju. U slucaju binarne klasifikacije, svaka instanca moze pri-padati jednoj od dve klase koje se mogu oznaciti brojevima 1 i −1. Pritom, ovaj izbor brojeva samo jetehnicka pogodnost i za njega ne postoji nikakav sustinski razlog posto su oznake klasa zapravo kategorickevrednosti. Osnovna ideja logisticke regresije je da se vrsi predvidanje verovatnoce 𝑃 (𝑦 = 1|𝑥) = 𝑓𝑤(𝑥) dainstanca 𝑥 pripada klasi 1. Ocigledno, mora vaziti 𝑓𝑤(𝑥) ∈ [0, 1]. Tada je verovatnoca pripadnosti drugoj klasi𝑃 (𝑦 = −1|𝑥) = 1− 𝑃 (𝑦 = 1|𝑥).7

Postavlja se pitanje sta bi bila pogodna forma modela logisticke regresije. Da bi se modelovala verovatnoca,potrebno je da model bude funkcija koja uzima sve vrednosti u intervalu [0, 1]. Da bi se to postiglo pomoculinearnog modela 𝑤 · 𝑥, potrebno je izabrati funkciju 𝑔 tako da slika interval [−∞,∞] u interval [0, 1]. Jednatakva funkcija je sigmoidna funkcija 𝜎(𝑥) = 1/(1 + 𝑒−𝑥). Ovo nije jedina funkcija koja zadovoljava pomenutizahtev, ali je pogodna i iz tehnickih razloga, poput jednostavnosti izvoda (𝜎′(𝑥) = 𝜎(𝑥)(1 − 𝜎(𝑥)), i cesto sekoristi u masinskom ucenju. Grafik sigmoidne funkcije je prikazan na slici 10.9. Logisticki model se dobijakomponovanjem prethodne dve funkcije i ima formu:

𝑓𝑤(𝑥) =1

1 + 𝑒−𝑤·𝑥

Primer sa kategorizacijom clanaka na racunarske i ostale je tipican primer situacije u kojoj je prirodnoprimeniti logisticku regresiju. Posto logisticki model kada vazi 𝑤 · 𝑥 > 0 predvida verovatnocu vecu od 0.5 da

7 Kao sto je konstatovano da linearna regresija predstavlja izbor normalne raspodele sa promenljivim prosekom koja najboljeopisuje podatke, tako se, na osnovu navedenog, moze konstatovati da logisticka regresija predstavlja izbor Bernulijeve raspodeleℬ(𝑓𝑤(𝑥)), takve da vazi 𝑦 ∼ ℬ(𝑓𝑤(𝑥)).

Page 165: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

165 10. Nadgledano masinsko ucenje

instanca 𝑥 pripada klasi 1, a kada vazi 𝑤 · 𝑥 < 0, verovatnocu manju od 0.5 (tada je verovatnoca da pripadaklasi −1 veca od 0.5), moze se zakljuciti da se, kao i algoritam naveden u primeru, i logisticka regresija mozeinterpretirati kao metoda koja trazi razdvajajucu hiperravan izmedu instanci dve klase. Pritom, sto je nekatacka dalja od razdvajajuce hiperravni, to je vrednost 𝑤 · 𝑥 veca po apsolutnoj vrednosti, a samim tim je ivrednost 𝜎(𝑤 · 𝑥) bliza vrednosti 0 ili 1 u zavisnosti od znaka vrednosti 𝑤 · 𝑥. Odnosno, sto je instanca dubljeu oblasti prostora koja pripada nekoj klasi, to model izrazava vecu sigurnost da ona pripada toj klasi. Ovoponasanje je potpuno u skladu sa intuicijom.

Kao sto je navedeno u motivaciji logisticke regresije, verovatnoca 𝑃𝑤(𝑦 = 1|𝑥) se predvida formulom

𝑃𝑤(𝑦 = 1|𝑥) = 𝑓𝑤(𝑥) =1

1 + 𝑒−𝑤·𝑥

Takode, vazi

𝑃𝑤(𝑦 = −1|𝑥) = 1− 𝑃𝑤(𝑦 = 1|𝑥) = 𝑒−𝑤·𝑥

1 + 𝑒−𝑤·𝑥 =1

𝑒𝑤·𝑥 + 1=

1

1 + 𝑒𝑤·𝑥

Odavde se moze izvesti opsti zakljucak:

𝑃𝑤(𝑦|𝑥) =1

1 + 𝑒−𝑦𝑤·𝑥

S obzirom da postoji verovatnosna interpretacija, intuitivno je vrednosti parametara izabrati tako da vero-vatnoca raspolozivog trening skupa bude maksimalna pri izabranim vrednostima parametara. Pod standardnokoriscenom pretpostavkom da instance predstavljaju nezavisne uzorke, ta verovatnoca je jednaka proizvodu

𝑛∏𝑖=1

𝑃𝑤(𝑦𝑖|𝑥𝑖)

koji se naziva funkcijom verodostojnosti parametra (eng. likelihood function). Kako je koriscenje proizvoda iztehnickih razloga8 nepreporucljivo, umesto funkcije verodostojnosti se koristi njen logaritam. Kako je logaritammonotono rastuca funkcija, maksimumi funkcije verodostojnosti i njenog logaritma koincidiraju. Kako je logari-tam broja koji je izmedu 0 i 1 negativan, umesto maksimizacije logaritma verodostojnosti, moze se minimizovatinjegova negativna vrednost

− log

𝑁∏𝑖=1

𝑃𝑤(𝑦𝑖|𝑥𝑖) = −𝑁∑𝑖=1

log𝑃𝑤(𝑦𝑖|𝑥𝑖) =

−𝑁∑𝑖=1

log1

1 + 𝑒−𝑦𝑖𝑤·𝑥𝑖=

𝑁∑𝑖=1

log(1 + 𝑒−𝑦𝑖𝑤·𝑥𝑖)

Ova velicina (podeljena brojem instanci) je greska modela koja odgovara logistickoj funkciji gubitka 𝐿(𝑦, 𝑓𝑤(𝑥)) =log(1 + 𝑒−𝑦𝑤·𝑥). Po dodavanju regularizacije, minimizacioni problem koji se resava postaje:

min𝑤

𝑁∑𝑖=1

log(1 + 𝑒−𝑦𝑖𝑤·𝑥𝑖) + 𝜆Ω(𝑤)

Ovaj problem nema jednostavno resenje kao u slucaju linearne regresije, vec se mora sprovesti postupakoptimizacije. U tu svrhu je moguce koristiti gradijentni spust, ali postoje i efikasnije metode. Posebna pogodnostza optimizaciju u slucaju logisticke regresije je sto se minimizuje konveksna funkcija koja ima jedan globalniminimum i ne postoji mogucnost da proces optimizacije zavrsi u nekom neoptimalnom lokalnom minimumu,sto je problem sa nekim drugim metodama ucenja, poput neuronskih mreza.

Treba imati u vidu da za primenu logisticke regresije nije neophodno da klase budu linearno razdvojive.Trening logisticke regresije sigurno konvergira zahvaljujuci tome sto ce gradijentne metode optimizacije sigurnonaci minimum konveksne funkcije. Naravno, preciznost dobijenog modela ne moze biti savrsena ako se radi olinearno nerazdvojivom problemu.

10.6 Neuronske mreze

Neuronske mreze predstavljaju jedan od najstarijih i najuspesnijih pristupa masinskom ucenju. Datirajuiz 50-ih godina 20. veka i vise puta su u svojoj istoriji bile u prvom planu istrazivanja, a potom potiskivaneod strane drugih metoda. Njihov poslednji uspon pocinje 2006. sa pojavom takozvanih dubokih neuronskih

8Proizvod velikog broja vrednosti izmedu 0 i 1 lako moze postati 0 usled potkoracenja.

Page 166: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.6. Neuronske mreze 166

Slika 10.10: Sigmoidna funkcija, hiperbolicki tangens i ispravljena linearna jedinica.

mreza, a dobija zalet 2012. kada duboke mreze prvi put znacajno nadilaze postojece metode u problemimaracunarskog vida (eng. computer vision). Od tada su dozivele velike uspehe u razlicitim primenama, primarnou racunarskom vidu, obradi prirodnog jezika, obradi govora, igranju igara i drugim disciplinama. Trenutnopredstavljaju najprimenjeniji model masinskog ucenja.

Postoje razlicite vrste neuronskih mreza, cesto specijalizovane za razlicite primene. Ipak, prepoznatljive supo svojoj kompozitnoj strukturi — svaka mreza se sastoji od odredenog broja elementarnih jedinica – neurona,koji po gruboj analogiji sa bioloskim neuronima u mozgu, jedni drugima prosleduju signale i izracunavajunove signale na osnovu onih koji su im prosledeni. Tacna struktura povezanosti neurona i nacin na koji oni vrseizracunavanje, definise o kakvoj mrezi se radi. Ovakvi izbori, koje pravi strucnjak koji dizajnira mrezu, nazivajuse arhitekturom mreze. U nastavku ce prvo biti opisana struktura pojedinacnih neurona, a potom kako se oniorganizuju u razlicite fundamentalne arhitekture. Na kraju ce biti opisano kako se neuronske mreze primenjujuu razlicitim prakticnim problemima.

10.6.1 NeuronNeuroni su osnovne jedinice izracunavanja cijim povezivanjem se grade neuronske mreze. Po uzoru na

bioloske neurone, oni kao ulaze primaju signale od drugih neurona i transformisu ih na neki nacin cime proizvodesvoj izlazni signal. Svi signali su predstavljeni realnim brojevima, a njihova transformacija se vrsi nekomjednostavnom matematickom funkcijom koja obicno ukljucuje linearnu kombinaciju ulaznih signala, a potomnelinearnu transformaciju te linearne kombinacije. Formalno, ako neuron kao ulaz uzima 𝑛 signala 𝑥1, . . . , 𝑥𝑛,on vrsi sledece izracunavanje:

𝑔

(𝑛∑

𝑖=1

𝑤𝑖𝑥𝑖

)(10.2)

gde su 𝑤1, . . . , 𝑤𝑛 parametri ili tezine neurona kojima se vrsi linearno kombinovanje ulaza, a 𝑔 je nelinearnaaktivaciona funkcija kojom se ta linearna kombinacija transformise.

Aktivaciona funkcija nije jednoznacno definisana i postoji vise mogucih izbora. Najcesce su monotone,neprekidne i skoro svuda diferencijabilne. Neke od cesto koriscenih aktivacionih funkcija su sigmoidna:

𝜎(𝑥) =1

1 + 𝑒−𝑥

hiperbolicki tangens:

tanh(𝑥) =𝑒2𝑥 − 1

𝑒2𝑥 + 1

ispravljena linearna jedinica (eng. rectified linear unit – ReLU):

𝑅𝑒𝐿𝑈(𝑥) = max(0, 𝑥)

i njene varijante. Grafici ovih funkcija prikazani su na slici 10.10. U skorije vreme najvise se koriste varijanteispralvjene linearne jedinice zbog njenih pozeljnih tehnickih svojstava koja ovde nece biti diskutovana.

Zahvaljujuci monotonosti, sto je vrednost linearne kombinacije veca, to je i izlazni signal jaci. Ocito, visoketezine nekih ulaza vode jakom uticaju tih ulaza na ispoljavane izlaznog signala, a vrednosti bliske nuli eliminisuuticaj tih ulaza. Znak tezine definise da li neki ulaz potkrepljuje ili inhibira ispoljavanje signala.

Moze se primetiti da, u slucaju da se za aktivacionu funkciju uzme sigmoidna funkcija, neuron predstavljamodel logisticke regresije, dok u slucaju da se za aktivacionu funkciju uzme identititet, neuron predstavlja modellinearne regresije. Otud ce neuronske mreze predstavljati uopstenja ovih modela, a takode ce biti sposobne davrse klasifikaciju i regresiju.

Page 167: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

167 10. Nadgledano masinsko ucenje

Σ 𝜎

+1

𝑥1

𝑥2

𝑥3

𝑥𝑛

𝑤0

𝑤1

𝑤2

𝑤3

𝑤 𝑛

𝜎

(𝑤0 +

𝑛∑𝑖=1

𝑤𝑖𝑥𝑖

)

...

𝐼1

𝐼2

𝐼3

UlaziSrkiveni

slojIzlaznisloj

𝑂1

𝑂2

Slika 10.11: Arhitektura potpuno povezane neuronske mreze i struktura neurona.

10.6.2 Potpuno povezane neuronske mrezePotpuno povezane neuronske mreze (eng. fully connected neural networks) predstavljaju najstariji od danas

koriscenih modela neuronskih mreza. Naziv su dobile po strukturi povezanosti neurona – neuroni se slazu uslojeve, grupe neurona, i povezuju tako sto svi neuroni jednog sloja kao ulaze uzimaju vrednosti svih neuronaprethodnog sloja i prosleduju ih svim neuronima narednog sloja. Arhitektura potpuno povezane neuronskemreze prikazana je na slici 10.11. Na njoj su prikazani ulazi, koji ne predstavljaju neurone, vec prosto numerickevrednosti, jedan sloj neurona koji se naziva skrivenim jer se njegove vrednosti obicno ne koriste direktno i jedankoji se naziva izlaznim, posto se njegove vrednosti direktno koriste. Skrivenih slojeva moze biti vise od jednog iu tom slucaju se govori od dubokim neuronskim mrezama (eng. deep neural networks). Danas su mreze koje sekoriste u praksi mahom duboke.

Ukoliko mreza ima 𝐿 slojeva, moze se precizno definisati na sledeci nacin:

ℎ0 = 𝑥

ℎ𝑖 = 𝑔(𝑊𝑖ℎ𝑖−1 + 𝑤𝑖0) 𝑖 = 1, . . . , 𝐿

𝑓𝑤(𝑥) = 𝑔′(ℎ𝐿)

gde 𝑤 predstavlja skup svih parametara 𝑊𝑖 i 𝑤𝑖0, 𝑔(·) oznacava pokoordinatnu primenu jedne iste aktivacionefunkcije, a 𝑔′ moze predstavljati drugaciju aktivacionu funkciju, sto je uobicajeno za poslednji sloj mreze. Ovajposlednji izbor zavisi od toga u koju svrhu se mreza koristi. Obicno, u slucaju regresije, koristi se funkcija

𝑔′(𝑥) = 𝑥

pri cemu je ℎ𝐿 skalar. U ovom slucaju mreza se moze posmatrati kao linearna regresija nad pretposlednjimslojem mreze, a svi slojevi zakljucno sa njim se mogu razumeti kao mehanizam konstrukcije novih atributa izulaza. U slucaju klasifikacije, podrazumeva se da poslednji sloj mreze ima onoliko neurona koliko ima klasa, ana poslednjem sloju koristi se sledeca vektorska (umesto pokoordinatna) aktivaciona funkcija 𝑔′:

𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑎1, . . . , 𝑎𝑚) =

(𝑒𝑎1∑𝑚𝑖=1 𝑎𝑖

, . . . ,𝑒𝑎𝑚∑𝑚𝑖=1 𝑎𝑖

)Kako su koordinate ovog vektora nenegativne i sabiraju se na 1, ovaj vektor se moze interpretirati kao raspodelaverovatnoce nad 𝑚 razlicitih klasa.

Kako bi se neuronska mreza trenirala da radi neki posao, potrebno je pre svega definisati funkciju greske, apotom obezbediti algoritam ucenja. Funkcije greske mogu varirati od primene do primene, ali se cesto koristeneki uobicajeni izbori. U slucaju regresije to je obicno kvadratna greska

𝐿(𝑓𝑤(𝑥), 𝑦) = (𝑓𝑤(𝑥)− 𝑦)2

U slucaju klasifikacije u 𝑚 klasa, pretpostavlja se da je za svaku instancu 𝑖 tacna klasa definisana vektorom 𝑦𝑖dimenzije 𝑚, koji se sastoji od 𝑚− 1 nula i jedne jedinice, pri cemu je jedinica na poziciji 𝑗 ukoliko je 𝑗 tacnaklasa. U tom slucaju se kao greska koristi unakrsna entropija:

𝐿(𝑓𝑤(𝑥), 𝑦) = −𝑚∑𝑗=1

𝑦𝑗 log 𝑓(𝑗)𝑤 (𝑥)

Page 168: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.6. Neuronske mreze 168

gde 𝑓 (𝑗) oznacava 𝑗-tu koordinatu vektorske funkcije 𝑓 , odnosno verovatncu klase 𝑗. Ovde nece biti datoformalno izvodenje ove funkcije greske, ali je lako uveriti se da ona predstavlja intuitivnu funkciju greske. Naime,ukoliko je verovatnoca stvarne klase 𝑗 visoka, logaritam te verovatnoce 𝑓

(𝑗)𝑤 (𝑥) je blizak nuli i doprinos sumi

koji mu odgovara je mali. Ostali sabirci su nula jer su sve vrednosti vektora 𝑦 osim 𝑗-te jednake nuli. Odnosno,kada model ispravno proceni verovatnoce klasa, greska je mala. Ukoliko model pravoj klasi da verovatnocublisku nuli, negativna vrednost logaritma te verovatnoce je velika, mnozi se vrednoscu 𝑦𝑗 koja je za pravu klasujednaka 1, dok su ostali sabirci kao i pre jednaki nuli, pa je ukupna suma velika. Ovo je ponasanje koje seocekuje od dobre funkcije greske.

Kada je definisana greska modela, treba je minimizovati po parametrima modela. Ovo se u slucaju ne-uronskih mreza uvek radi nekom od gradijentnih metoda optimizacije koje obicno predstavljaju modifikacijegradijentnog spusta. Pritom, iako je izracunavanje gradijenta greske u matematickom smislu trivijalna tema,u praksi je potrebno definisati algoritam kojim se izracunava izvod slozene fukcije, poput neuronske mreze.Taj algoritam naziva se algoritmom propagacije unazad (eng. backpropagation). Kako je mreza sastavljena odlinearnih matricnih transformacija i primena aktivacionih funkcija i on se prosto sastoji od mnozenja izvoda tihaktivacionih funkcija i odgovarajucih matrica u skladu sa pravilom izvoda slozene funkcije. Otud nece biti recio njegovim detaljima.

Imajuci u vidu da je broj ulaza fiksiran, potpuno povezane neuronske mreze su specijalizovane za primenunad podacima predstalvjenim u vidu vektora atributa fiksne duzine, sto nije nuzno slucaj sa svim modelimaneuronskih mreza. Otud se ne mogu jednostavno primeniti na neke vrste podataka, poput slika koje mogu bitirazlicitih dimenzija ili recenice prirodnog jezika i vremenske serije, koje prirodno bivaju razlicitih duzina. Ipak,korisne su u slucaju modelovanja tabelarnih podataka ili kao deo drugih vrsta neuronskih mreza.

10.6.3 Konvolutivne neuronske mrezeKonvolutivne neuronske mreze predstavljaju vrstu neuronskih mreza zahvaljujuci kojima su ostvareni najveci

pomaci u prakticnim primenama masinskog ucenja, pre svega u oblasti racunarskog vida. Njihova osnovna idejaje da je filtere koji se standardno koriste u obradi signala moguce uciti iz podataka umesto rucno dizajnirati.Stoga ce prvo ukratko biti diskutovan jedan primer obrade signala. Razlicite vrste obrade signala se mogupredstaviti operacijom konvolucije izmedu dve matrice od kojih jedna predstavlja signal (tj. sliku), a drugafilter kojim se definise vrsta obrade koja se vrsi. Konvolucija matrica 𝐴 ∈ R𝑚×𝑛 i 𝐵 ∈ R𝑝×𝑞 se definise nasledeci nacin:9

(𝐴 *𝐵)(𝑖, 𝑗) =

𝑝∑𝑘=1

𝑞∑𝑙

𝐴(𝑖+ 𝑘, 𝑗 + 𝑙)𝐵(𝑘, 𝑙) 𝑖 = 1, . . . ,𝑚− 𝑝, 𝑗 = 1, . . . , 𝑛− 𝑞 (10.3)

Jednostavna primer primene konvolucije je detekcija ivica na slici. Ako je data slika u nijansama sive u vidumatrice 𝐴 ∈ R𝑚×𝑛, horizontalne ivice se mogu detektovati oduzimanjem vrednosti piksela koji su neposrednojedan ispod drugog, sto se primenom konvolucije moze izraziti na sledeci nacin:

𝐻 = 𝐴 *[

1−1

]Vertikalne ivice se mogu dobiti na slican nacin:

𝑉 = 𝐴 * [1 − 1]

Matrice koje se koriste za detekciju horizontalnih i vertikalnih ivica predstavljaju primere filtera. Matrice 𝐻 i𝑉 se mogu smatrati diskretnim aproksimacijama parcijalnih izvoda po vertikalnom i po horizontalnom pravcu.Ukupne ivice se onda mogu dobiti kao norma gradijenta slike, odnosno:

𝑈(𝑖, 𝑗) =√𝐻2(𝑖, 𝑗) + 𝑉 2(𝑖, 𝑗) 𝑖 = 1, . . . ,𝑚− 1, 𝑗 = 1, . . . , 𝑛− 1

Rezultat ovog procesa detekcije ivica dat je na slici 10.12.Jedan pristup masinskom ucenju nad slikama, mogao bi biti da se prvo izracunaju izlazi razlicitih, vesto

osmisljenih filtera koji bi imali za cilj da izracunaju razlicite aspekte slike (poput lokacija ivica) i da se tevrednosti koriste kao atributi na osnovu kojih bi model mogao da uci. Ovakav pristup, iako moguc nije lak jertrazi angazovanje eksperata za slike i inventivnost u identifikaciji relevantnih filtera. Takode je moguce da nieksperti nisu u stanju da definisu dovoljno dobre filtere za razlicite zadatke. Otud se doslo do ideje da se filteri

9Strogo gledano, definisana operacija nije stvarno konvolucija, vec unakrsna korelacija (eng. cross-correlation), ali je razlika uslucaju neuronskih mreza nepostojeca i u praksi se implementira na prikazani nacin.

Page 169: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

169 10. Nadgledano masinsko ucenje

Slika 10.12: Primer detekcije ivica primenom konvolutivnog filtera. Prikazane su izvorna slika, horizontalneivice, vertikalne ivice i ukupne ivice.

0 1 1 1 0 0 00 0 1 1 1 0 00 0 0 1 1 1 00 0 0 1 1 0 00 0 1 1 0 0 00 1 1 0 0 0 01 1 0 0 0 0 0

I

*1 0 10 1 01 0 1

K

=

1 4 3 4 11 2 4 3 31 2 3 4 11 3 3 1 13 3 1 1 0

I *K

1 0 10 1 01 0 1

×1 ×0 ×1

×0 ×1 ×0

×1 ×0 ×1

Slika 10.13: Ilustracija konvolucije. Broj rezultujuce matrice u zelenom polju se dobija kao skalarni proizvodfiltera 𝐾 i crveno obojenog dela ulazne slike 𝐼. Ostatak rezultujuce matrice dobija se analogno.

ne moraju unapred definisati, vec da se mogu uciti iz podataka tako da greska posla koji model treba da obavljabude mala. Vazno pitanje je kako se koncept konvolutivnih filtera uklapa u okvire neuronskih mreza. Kljucnozapazanje je da operacija konvolucije data formulom 10.3 za svako 𝑖 i 𝑗 izracunava skalarni proizvod elemenatamatrice 𝐵 sa odgovarajucim elementima matrice 𝐴 istih dimenzija. Moze se zamisliti da se matrica 𝐵 pomeraduz matrice 𝐴 i racuna skalarne proizvode na razlicitim lokacijama i tako daje pun rezultat konvolucije. Ovoje ilustrovano slikom 10.13. Lako je primetiti da u neuronu, kako je definisan formulom 10.2, upravo figuriseskalarni proizvod! Puna operacija konvolucije se onda moze predstaviti jednim slojem neuronske mreze u kojemparametri neurona definisu filter. Ipak, neuroni ne mogu biti povezani kao kod potpuno povezane neuronskemreze, vec svaki neuron treba da uzima kao svoje ulaze samo one elemente ulazne matrice koji ucestvuju jednomskalarnom proizvodu prilikom racunanja konvolucije. Takode, treba primetiti da konvolucija racuna skalarniproizvod razlicitih delova ulazne matrice uvek sa istim filterom. Otud svi neuroni cijim dejstvom se izracunavakonvolucija moraju deliti iste parametre, koji se smatraju jednim filterom.

U mnogim situacijama, kao u obradi slika, potrebno je imati vise ulaznih kanala, tako da ulaz ne predstavljamatricu vec takozvani tenzor, odnosno visedimenzioni niz. Shodno tome, i operacija konvolucije se uopstava naproizvoljan broj dimenzija, po potrebi.

Neuronska mreza u svakom sloju moze uciti veci broj filtera, sto je u praksi uvek i slucaj. Jedan filter mozenauciti da detektuje uspravne ivice, drugi horizontalne, treci kose i tako dalje. Izlaz svakog filtera predstavljamatricu koja ima visoke vrednosti na mestima gde filter detektuje ono sto trazi, a niske tamo gde detekcija nijeuspesna. Skup filtera koji deluju nad istim ulazom nazivamo konvolutivnim slojem. Najcesce se podrazumevada se na njegov izlaz primenjuje nelinearna aktivaciona funkcija kao i kod potpuno povezanih neuronskih mreza.Izlaz svakog sloja cini tenzor sastavljen slaganjem kanala koje daju razliciti filteri u istom sloju. Nad njimeje moguce izgraditi sledeci konvolutivni sloj i tako dalje. Filteri visih konvolutivnih slojeva zapravo konstruisunove atribute nad atributima koje su konstruisali nizi slojevi. Na taj nacin oni traze slozenije obrasce u sliciod filtera nizeg nivoa, a koji su obrasci bitni za dati problem, uci se minimizacijom greske koju mreza pravi napodacima.

Pored konvolutivnih slojeva, cesto se koriste i slojevi agregacije (eng. pooling layer) koji sluze agregacijiinformacije u cilju smanjenja kolicine izracunavanja i broja parametara u mrezi. Obicno se realizuju tako sto seulazni tenzor podeli na podtenzore odredenih dimenzija koji se zamene jednom vrednoscu poput maksimuma

Page 170: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.6. Neuronske mreze 170

Slika 10.14: Shema konvolutivne neuronske mreze.

vrednosti u tom tenzoru. Konkretan izbor maksimuma je cest i intuitivan. Naime, visoke vrednosti u tenzoruznace da je filter koji je proizveo tu vrednost uspeo na nekom mestu da detektuje obrazac u svom ulazu kojitrazi. Uprosecavanjem bi se visoke vrednosti izgubile zbog prisustva niskih, dok maksimum cuva informacijuo tome da je trazeni obrazac pronaden. Ipak, agregacijom se gubi informacija o tacnoj lokaciji. Znacaj toggubitka zavisi od konkretne primene.

Konvolutivnih slojevi i slojevi agragacije se mogu preplitati u nekom redosledu koji odredi dizajner arhitek-ture. Na kraju, neretko se na krajnje izlaze takve mreze nadovezuje potpuno povezana mreza koja kao svojeulaze uzima sve vrednosti krajnjeg tenzora dobijenog iz konvolutivnog dela. Upotreba potpuno povezane mrezeipak nije neophodna. Stavise postoje i situacije u kojima nije ni pozeljna. Naime, potpuno povezana mrezaima tacno definisan broj ulaza, sto tacno definise broj vrednosti u izlaznom tenzoru. Ovo nije uvek pozeljno.Na primer, ako su ulazne slike razlicitih dimenzija, sto je sasvim prirodan kontekst, izlazni tenzor moze bitirazlicite velicine, sto onemogucava nadovezivanje potpuno povezane mreze. Jedno resenje za problem varirajucevelicine izlaza konvolutivnog dela je da se na kraju izracunaju proseci izlaza svih filtera poslednjeg sloja. Kakoje broj filtera definisan pri dizajnu arhitekture, tada su dimenzije izlaza takode poznate. Ova tehnika se nazivaglobalno uprosecavanje (eng. global average pooling) i cesto se koristi.

Jedna konkretna arhitektura konvolutivne mreze prikazana je na slici 10.14.

Trening konvolutivnih mreza u svrhe klasifikacije i regresije se ne razlikuje od potpuno povezanih mreza.Specificnosti vezane za neke druge poslove bice diskutovane kasnije kada bude vise reci o prakticnim primenama.

10.6.4 Rekurentne neuronske mreze

Mnogi poslovi vezani su za sekvencijalne podatke, odnosno podatke koji se mogu predstaviti u vidu niskijednostavnih elemenata. Primeri takvih poslova su klasifikacija tekstova prema njihovoj temi ili sentimentu,kreiranje sazetaka tekstova, prevodenje recenica sa jednog prirodnog jezika na drugi, predvidanje kretanja cenaakcija na berzi, predvidanje buduceg stanja pacijenta na osnovu zdravstvene istorije i tako dalje. Sekvencijalnipodaci su najcesce podaci promenljive duzine. Potpuno povezane mreze ocekuju kao ulaze vektorske reprezenta-cije fiksne dimenzije i stoga su neprimerene obradi ovakvih podataka. Dodatno, redosled reci u recenici se mozemenjati bez promene smisla recenice. S druge strane, redosled atributa u vektorskoj reprezentaciji podataka sene moze slobodno menjati jer mreza uci razlicite vrednosti parametara za razlicite atribute. Vec je prokomen-tarisano da se konvolutivne mreze mogu primeniti na slike razlicitih dimenzija, pa bi se mogle primeniti i nasekvence razlicitih duzina. Ipak, ako i izlaz treba da bude promenljive duzine, koja se ne poklapa sa duzinomulaza (kao u slucaju automatskog prevodenja sa jednog na drugi prirodni jezik), potrebno je drugacije resenje.

Osnovna ideja rekurentnih neuronskih mreza je da se sekvenca cita element po element, pri cemu se odrzavastanje procesa obrade u vidu vektora koji se menja iz koraka u korak. Da bi ovaj proces funkcionisao, potrebnoje definisati kako naredno stanje zavisi od prethodnog stanja i od tekuceg ulaza. Takode, kako mreza treba dadaje i izlaze, potrebno je definisati i na koji nacin izlaz u svakom koraku zavisi od tekuceg stanja. Ove zavisnostise, kao i u prethodnim slucajevima neuronskih mreza izrazavaju linearnim transformacijama sa nelinearnomaktivacionom funkcijom, pri cemu se matrice koje definisu linearne transformacije uce. Ova shema zavisnostiprikazana je slikom 10.15.

Page 171: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

171 10. Nadgledano masinsko ucenje

Slika 10.15: Shema zavisnosti stanja, ulaza i izlaza kod rekurentne neuronske mreze.

Osnovni model neuronske mreze moze se opisati sledecim fomrulama:

ℎ0 = 0

ℎ𝑡 = 𝑔(𝑈ℎ𝑡−1 +𝑊𝑥𝑡 + 𝑏ℎ) 𝑡 = 1, . . . , 𝑇

𝑜𝑡 = 𝑔′(𝑉 ℎ𝑡 + 𝑏𝑜) 𝑡 = 1, . . . , 𝑇

gde ℎ𝑡 predstavlja vektor skrivenog stanja u trenutku 𝑡, a matrice 𝑈 , 𝑊 i 𝑉 redom definisu zavisnosti novogod prethodnog skrivenog stanja, novog skrivenog stanja od novog ulaza i izlaza od tekuceg skrivenog stanja.Vektori 𝑏ℎ i 𝑏𝑜 su vektori slobodnih clanova. Pomenute matrice i slobodni clanovi skupa cine parametre mreze𝑤. Bitno je primetiti da ovi parametri ne zavise od koraka 𝑡. Vrednost modela 𝑓𝑤(𝑥1 . . . , 𝑥𝑇 ) moze biti bilokoji podskup proizvedenih izlaznih vrednosti, zavisno od namene modela. Potom je nad datim izlazom moguceizracunati gresku u odnosu na prave izlaze i formirati funkciju greske koju je moguce optimizovati gradijentnimmetodama.

Kako bi bilo jasnije kako trening funkcionise u slucaju rekurentnih mreza korisno je primetiti da se onemogu predstaviti na nacin slican ranije prikazanim modelima takozvanim mehanizmom razmotavanja koji jeilustrovan na slici 10.16. Naime, za svaku sekvencu u trening skupu, moguce je formirati mrezu poput mrezena slici, pri cemu ce za razlicite sekvence te mreze biti razlicite tuzine. Ipak, to ne menja cinjenicu da se svemogu smatrati slozenim funkcijama i da mehanizmi izracunavanja gradijenata po formuli izvoda slozene funkcijemogu biti primenjeni na svaku od tako dobijenih mreza i potom sumirani kako bi se dobio ukupni gradijent nasvim podacima.

Moderne rekurentne mreze ukljucuju mnostvo unapredenja u odnosu na ovaj osnovni princip, ali njihovorazmatranje izlazi van okvira ovog teksta.

10.7 Modeli zasnovani na instancama: metoda 𝑘 najblizih suseda

Osnovna karakteristika metoda ucenja zasnovanih na instancama je da ne grade eksplicitan model podatakau vidu neke funkcije kao sto to radi vecina metoda masinskog ucenja. Stoga se predvidanje ne vrsi na osnovu vecformulisanog modela, nego na osnovu skupa instanci za trening. Umesto izgradnje modela, instance predvideneza treniranje se cuvaju i bivaju upotrebljene tek kad je potrebno izvrsiti predvidanje za novu, nepoznatuinstancu. Time se vecina izracunavanja premesta iz faze ucenja u fazu primene. Najpoznatija metoda ove vrsteje metoda 𝑘 najblizih suseda (eng. 𝑘 nearest neighbours). Ove metode cesto ne ukljucuju sva cetiri pomenutaelementa dizajna algoritama nadgledanog ucenja. Na primer, algoritam 𝑘 najblizih suseda nema eksplicitnuformu modela, funkciju greske, niti koristi optimizaciju.

Metoda 𝑘 najblizih suseda (eng. 𝑘 nearest neighbours) zasniva se na vrlo jednostavnoj ideji — pronaci 𝑘instanci najslicnijih nepoznatoj instanci, takozvanih suseda, i predvideti vrednost njene ciljne promenjive naosnovu vrednosti koje odgovaraju susedima. U slucaju klasifikacije, predvidanje odgovara najcescoj klasi meduklasama suseda, a u slucaju regresije, predvidanje moze biti prosecna vrednost ciljne promenljive suseda. Tekstu nastavku se odnosi na problem klasifikacije, ali analogni zakljucci mogu se izvesti i u slucaju regresije. Pojamslicnosti instanci najjednostavnije se formalizuje preko funkcija rastojanja.

Definicija 10.1 (Rastojanje). Neka je 𝑋 skup instanci. Funkcija 𝑑 : 𝑋 ×𝑋 → R predstavlja rastojanjena skupu 𝑋 ukoliko zadovoljava sledece uslove:

1. 𝑑(𝑥, 𝑦) ≥ 0, pritom 𝑑(𝑥, 𝑦) = 0⇔ 𝑥 = 𝑦 (pozitivna definitnost)

Page 172: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.7. Modeli zasnovani na instancama: metoda 𝑘 najblizih suseda 172

Slika 10.16: Razmotavanje rekurentne neuronske mreze.

2. 𝑑(𝑥, 𝑦) = 𝑑(𝑦, 𝑥) (simetricnost)

3. 𝑑(𝑥, 𝑧) ≤ 𝑑(𝑥, 𝑦) + 𝑑(𝑦, 𝑧) (nejednakost trougla)

Primer 10.10. Neki primeri rastojanja su:

• 𝑑(𝑥, 𝑦) = 𝑛√∑

𝑖(𝑥𝑖 − 𝑦𝑖)𝑛

• 𝑑(𝑥, 𝑦) =

0, 𝑥 = 𝑦1, 𝑥 = 𝑦

Intuitivno, sto je rastojanje izmedu dva objekta vece, to je slicnost izmedu njih manja i obratno.10 Drugimrecima, rastojanje izmedu objekata predstavlja meru njihove razlicitosti. Moguce je izabrati raznovrsne funkcijerastojanja a naravno pozeljno je izabrati funkciju koja stvarno oslikava razlicitost izmedu dva objekta, u smislurelevantnom za razmatrani domen.

Kada je funkcija rastojanja izabrana, najjednostavniji nacin klasifikacije je klasifikovanje nepoznate instanceu klasu kojoj pripada instanca trening skupa najbliza nepoznatoj instanci. Ovo je primer metode 𝑘 najblizihsuseda za 𝑘 = 1. U opstem slucaju, metoda 𝑘 najblizih suseda sastoji se u pronalazenju 𝑘 instanci iz treningskupa koje su najblize zadatoj instanci i njenom klasifikovanju u klasu ciji se elementi najcesce javljaju medupronadenih 𝑘 najblizih suseda. U slucaju izjednacenog ishoda izmedu vise klasa nije moguce doneti odluku, alise opisani osnovni algoritam moze modifikovati kako bi se ovakvi slucajevi razresili.

Analizirajmo detaljnije metodu 𝑘 najblizih suseda. Razmotrimo nepoznate instance 𝐴 i 𝐵 prikazane naslici 10.17. Metodom 𝑘 najblizih suseda uz koriscenje euklidskog rastojanja, instanca 𝐴 biva klasifikovana ucrvenu klasu za sve vrednosti 𝑘 od 1 do 5. Klasifikacija instance 𝐴 je postojana zato sto se ona nalazi blizucrvenih instanci, a udaljena je od plavih instanci. S druge strane, klasa instance 𝐵 moze da varira u zavisnostiod broja 𝑘. Za 𝑘 = 1, instanca 𝐵 klasifikuje se u crvenu klasu. Za 𝑘 = 2, ne moze se odluciti. Za 𝑘 = 3,instanca 𝐵 klasifikuje se u plavu klasu. Za 𝑘 = 4, ponovo nije moguce odluciti, a za 𝑘 = 5, instanca 𝐵 ponovose klasifikuje u crvenu klasu. Klasifikacija instance 𝐵 nije postojana jer se ona nalazi blizu instanci iz obe klase.Dakle, metoda 𝑘 najblizih suseda postojana je u unutrasnjosti oblasti koju zauzimaju instance jedne klase, alije nepostojana na obodu te oblasti. Ovo ponasanje bi se moglo uociti i kod drugih metoda klasifikacije.

10Kao mere slicnosti, ponekad se koriste i funkcije koje nisu zasnovane na rastojanjima kao, na primer, funkcija cos(∠(𝑥, 𝑦)) =𝑥·𝑦√

𝑥·𝑥√𝑦·𝑦 .

Page 173: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

173 10. Nadgledano masinsko ucenje

0

𝐴

𝐵

Slika 10.17: Stabilnost klasifikacije pomocu algoritma 𝑛 najblizih suseda

Nepostojanost klasifikacije moze se demonstrirati menjanjem parametra 𝑘, ali ona se moze analizirati i zafiksiranu vrednost parametra 𝑘. Nepostojanost pri variranju vrednosti atributa instance veca je za manje negoza vece vrednosti 𝑘.

Kao sto se moze videti u slucaju metode najblizih suseda, bitno svojstvo metoda zasnovanih na instancama jenjihova lokalnost. Nepoznata instanca klasifikuje se iskljucivo ili uglavnom na osnovu poznatih instanci koje senalaze u njenoj blizini. Ovo svojstvo doprinosi fleksibilnosti modela koje ove metode (implicitno) grade. Samimtim, za manje vrednosti parametra 𝑘 dobijaju se fleksibilniji modeli, koji su stoga skloniji preprilagodavanju, dokse za vece vrednosti parametra 𝑘 dobijaju manje fleksibilni modeli manje skloni preprilagodavanju. Naravno,premala fleksibilnost vodi modelima koji se ne mogu dovoljno prilagoditi podacima i stoga lose uce, pa ni premalani prevelika vrednost parametra 𝑘 nije dobra. Ocigledno, parametar 𝑘 ima ulogu slicnu ulozi regularizacionogmetaparametra 𝜆. Odredivanje njihovih vrednosti bice zajednicki diskutovano kasnije.

Kako ovaj metod ne ukljucuje trening, vec se instance koriste u vreme klasifikacije, trening skup se uvekmoze azurirati, recimo dodavanjem novih instanci, bez utroska vremena na ponovni trening kao u slucaju drugihalgoritama.

Metode masinskog ucenja cesto su formulisane tako da se jednostavno primenjuju na numericke podatke, alitesko na podatke u nekom drugom obliku. Stoga se traze nacini da se i drugi podaci predstave u numerickomobliku. To obicno podrazumeva i odredeni gubitak informacije. U obradama tekstova, proteinskih sekvenci islicnih podataka, cesto se za predstavljanje podataka u numerickom obliku koriste 𝑛-gramski profili. U nastavkuce biti ilustrovani u kontekstu primene algoritma 𝑘 najblizih suseda.

Ako je data niska 𝑆 = 𝑠1𝑠2 . . . 𝑠𝑁 nad azbukom Σ, gde je 𝑁 pozitivan ceo broj, 𝑛-gram niske 𝑆, za 𝑛 ≥ 𝑁 ,je bilo koja podniska susednih simbola duzine 𝑛. Na primer, za nisku sad_ili_nikad, 1-grami su: s, a, d, _, i,l, i, _, n, i, k, a, d. 2-grami su: sa, ad, d_, _i, il, li, i_, _n, ni, ik, ka, ad. 3-grami su: sad, ad_, d_i, _il,ili, li_, i_n, _ni, nik, ika, kad, itd.

N-gramski profil niske je lista uredenih parova (𝑛-gram, frekvencija), gde je frekvencija izracunata u odnosuna sve 𝑛-grame niske.

Osnovne prednosti koriscenja 𝑛-grama su robusnost (na primer, nisu mnogo osetljivi na greske u kucanjuili na pojavljivanje reci u razlicitim gramatickim oblicima), nezavisnost od domena koji se analizira, efikasnost(dovoljan je jedan prolaz kroz tekst) i jednostavnost. Problem je eksponencijalna zavisnost broja mogucih𝑛-grama u odnosu na duzinu 𝑛-grama.

N-gramski profili uspesno se koriste u razlicitim primenama koje ukljucuju prepoznavanje autorstva tekstova,prepoznavanje jezika kojim je tekst pisan, prepoznavanje govora i odredene probleme iz oblasti bioinformatike.N-gramski profili cesto se koriste u sadejstvu sa metodom 𝑘 najblizih suseda.

Primer 10.11. U ovom primeru razmotricemo klasifikaciju tekstova na osnovu jezika. Srpski i engleski jezikbice predstavljeni po jednim kracim tekstom oznacenim sa S1 i E1. Posto se izracunaju frekvencije n-grama zata dva teksta, njihovi n-gramski profili cine trening skup. Test skup ce biti dobijen na osnovu cetiri kratka tekstaod kojih su dva na srpskom oznacena sa S2 i S3, a dva na engleskom jeziku oznacena sa E2 i E3. Klasifikacijace biti izvrsena pomocu algoritma jednog najblizeg suseda. U tekstovima na srpskom jeziku nisu koriscena srpskaslova kako bi se izbegla laka identifikacija na osnovu pisma.

Page 174: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.7. Modeli zasnovani na instancama: metoda 𝑘 najblizih suseda 174

S1: U prethodnom delu prikazani su teorijski okviri i algoritmi pomocu kojih je moguce sprovoditi logickozakljucivanje. Iako zakljucci moraju nuzno slediti iz zadatih pretpostavki, proces njihovog dokazaivanja nijepravolinijski vec ukljucuje odredene odluke o pravcu u kome ce se postupak sprovoditi. Drugim recima, uocljivoje traganje za dokazom nekog tvrdenja. Primera radi, u primeni procedure DPLL moguce je uociti i korakezakljucivanja i korake pretrage. Kada se uoci jedinicna klauza u nekoj formuli, njeno zadovoljenje je nuzno ipredstavlja korak zakljucivanja. S druge strane kada je nemoguce direktno zakljucivanje, potrebno je pretpostavitivrednost iskazne promenljive. U daljem toku dokazivanja, ta akcija ce se pokazati kao opravdana ili neopravdana.U slucaju da se pokaze kao neopravdana, preduzima se alternativna akcija. Znaci, situacija u kojoj nije moguceizvrsiti direktno zakljucivanje zahteva primenu pretrage.

Manje apstraktan primer je upravljanje robotskom rukom. Pretpostavimo da robotska ruka ima nekoliko me-hanickih zglobova cije se kretanje kontrolise elektricnim impulsima. Pritom, neki zglobovi omogucavaju rotacijesamo oko jedne ose (kao ljudski lakat ili zglobovi na pristima), a drugi rotaciju oko veceg broja osa (kao ljudskorame ili zglobovi u korenu prstiju). Pokret hvatanja case ovakvom robotskom rukom je netrivijalan zadatak,ali se moze razbiti na sekvencu atomicnih koraka — pokreta pojedinacnih zglobova oko razlicitih osa za odredenugao. Mozemo zamisliti da se ovi koraci izvrsavaju strogo jedan po jedan u kom bi slucaju kretanje ruke biloznacajno razlicito od ljudskog i sporo, ali bi problem bio laksi jer ne bi bila potrebna sinhronizacija razlicitihzglobova i svaki bi se pojedinacno dovodio u zeljeni polozaj. Druga mogucnost je da se kretanja zglobova izvodesimultano, kao kod coveka, pri tom povecavajuci broj mogucih kombinacija u svakom trenutku.

Dati primeri motivisu razmisljanje o pretrazi kao o nalazenju niza akcija kojima se ostvaruje cilj kadato ne moze biti ostvareno pojedinacnim akcijama. Iako u opstem slucaju ovakva definicija ne mora delovatiadekvatno, u kontekstu vestacke inteligencije u kome obicno pretpostavljamo postojanje nekog entiteta koji delujepreduzimanjem nekih akcija (agenta), ona je prirodna.

E1: There are two paths to achieving an AGI, says Peter Voss, a software developer and founder of the firmAdaptive A.I. Inc. One way, he says, is to continue developing narrow AI, and the systems will become generallycompetent. It will become obvious how to do that. When that will happen or how it will come about, whetherthrough simbots or some DARPA challenge or something, I dont know. It would be a combination of those kindsof things. The other approach is to specifically engineer a system that can learn and think. Thats the approachthat [my firm] is taking. Absolutely I think thats possible, and I think its closer than most people think five to 10years, tops. The two approaches outlined by Vosseither tinkering with mundane programs to make them morecapable and effective or designing a single comprehensive AGI system speak to the long-standing philosophicalfeud that lies at the heart of AI research: the war between the neats and the scruffies. J. Storrs Hall, authorof Beyond AI: Creating the Conscience of the Machine (Prometheus Books, 2007), reduces this dichotomy to ascientific approach vs. an engineering mind-set. The neats are after a single, elegant solution to the answer ofhuman intelligence, Hall says. Theyre trying to explain the human mind by turning it into a math problem. Thescruffies just want to build something, write narrow AI codes, make little machines, little advancements, usewhatever is available, and hammer away until something happens. The neat approach descends from computerscience in its purest form, particularly the war game studies of Von Neumann and his colleagues in the 1930s and1940s. The 1997 defeat of world chess champion Garry Kasparov by IBMs Deep Blue computer is considered bymany the seminal neat success. Up until that moment, the mainstream scientific community generally acceptedthe premise that AIs could be written to perform specific tasks reasonably well, but largely resisted the notion ofsuperhuman computing ability. Deep Blue proved that an AI entity could outperform a human at a supposedlyhuman task, perceiving a chess board (Deep Blue could see 200 million board positions per second) and plottinga strategy (74 moves ahead as opposed to 10, the human record).

S2: Precizni postupci za resavanje matematickih problema postojali su u vreme starogrckih matematicara (npr.Euklidov algoritam za odredivanje najveceg zajednickog delioca dva broja), a i pre toga. Ipak, sve do pocetkadvadesetog veka nije se uvidala potreba za preciznim definisanjem pojma algoritma. Tada je, u jeku reforme inovog utemeljivanja matematike, postavljeno pitanje da li postoji algoritam kojim se (pojednostavljeno receno)mogu dokazati sve matematicke teoreme. Da bi se ovaj problem uopste razmatrao, bilo je neophodno najpredefinisati (matematicki precizno) sta je to precizan postupak, odnosno sta je to algoritam.

S3: Dositej Obradovic (svetovno ime Dimitrije) (Cakovo, 1744 — Beograd, 1811) je bio srpski prosvetitelji reformator revolucionarnog perioda nacionalnog budjenja i preporoda. Rodjen je u rumunskom delu Banatatadasnje Austrije. Skolovao se za kaludjera, ali je napustio taj poziv i krenuo na putovanja po celoj Evropi,gde je primio ideje evropskog prosvetiteljstva i racionalizma. Ponesen takvim idejama radio je na prosvecivanjusvog naroda, prevodio je razna dela medju kojima su najpoznatije Ezopove basne, a potom je i sam pisao dela,prvenstveno programskog tipa, medju kojima je najpoznatije „Zivot i prikljucenija“. Dositej je bio prvi popecitelj

Page 175: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

175 10. Nadgledano masinsko ucenje

(ministar) prosvete u Sovjetu i tvorac svecane pesme „Vostani Serbie“. Njegovi ostaci pocivaju u Beogradu, naulazu u Sabornu crkvu.

E2: The planet Mars, I scarcely need remind the reader, revolves about the sun at a mean distance of 140,000,000miles, and the light and heat it receives from the sun is barely half of that received by this world. It must be, ifthe nebular hypothesis has any truth, older than our world; and long before this earth ceased to be molten, lifeupon its surface must have begun its course. The fact that it is scarcely one seventh of the volume of the earthmust have accelerated its cooling to the temperature at which life could begin. It has air and water and all thatis necessary for the support of animated existence.

E3: Principia Mathematica, the landmark work in formal logic written by Alfred North Whitehead and Ber-trand Russell, was first published in three volumes in 1910, 1912 and 1913. Written as a defense of logicism(the view that mathematics is in some significant sense reducible to logic) the book was instrumental in de-veloping and popularizing modern mathematical logic. It also served as a major impetus for research in thefoundations of mathematics throughout the twentieth century. Along with the Organon written by Aristotle andthe Grundgesetze der Arithmetik written by Gottlob Frege, it remains one of the most influential books on logicever written.

Prilikom izdvajanja 𝑛-grama koristi se vrednost 𝑛 = 3. Iz tekstova S1 i E1 izdvojeno je po 10 najfrekventnijih𝑛-grama. Oni ce ciniti atribute instanci. Trening i test skup su dati u tabeli 10.1.

N-gram Trening skup Test skupS1 E1 S2 S3 E2 E3

JE_ 0.0129 0 0.0131 0.0201 0 0_PR 0.0125 0.0023 0.0098 0.0148 0 0ANJ 0.0076 0 0.0082 0.0027 0 0_KO 0.0076 0 0.0016 0.0027 0 0JA_ 0.0076 0 0.0033 0.0040 0 0_JE 0.0067 0 0.0082 0.0121 0 0_PO 0.0067 0.0009 0.0147 0.0080 0 0.0016_SE 0.0062 0.0018 0.0049 0.0027 0.0016 0.0032NJE 0.0058 0 0.0065 0.0027 0 0_U_ 0.0058 0 0.0033 0.0067 0 0_TH 0 0.0212 0 0 0.0270 0.0175THE 0 0.0148 0 0 0.0202 0.0191HE_ 0 0.0120 0 0 0.0185 0.0127ING 0 0.0088 0 0 0.0017 0.0032NG_ 0 0.0078 0 0 0.0034 0.0048_CO 0.0004 0.0074 0 0 0.0051 0ER_ 0.0009 0.0069 0 0 0.0051 0.0032ND_ 0 0.0065 0 0 0.0101 0.0079_TO 0.0018 0.0065 0.0049 0 0.0034 0.0016TO_ 0.0009 0.0065 0.0033 0 0.0034 0.0016

Tabela 10.1: Trening i test skup za klasifikaciju tekstova prema jeziku. Za svaki 3-gram prikazana je njegovafrekvencija u tekstu S1 i E1.

Prilikom klasifikacije bice korisceno Euklidsko rastojanje

𝑑(𝑥, 𝑦) =

⎯ 𝑚∑𝑖=1

(𝑥𝑖 − 𝑦𝑖)2

Potrebno je ispitati rastojanja od instanci test skupa do instanci trening skupa.

𝑑(𝑆2, 𝑆1) = 0.0124𝑑(𝑆2, 𝐸1) = 0.0417

Page 176: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.8. Stabla odlucivanja 176

𝑑(𝑆3, 𝑆1) = 0.0133

𝑑(𝑆3, 𝐸1) = 0.0450

𝑑(𝐸2, 𝑆1) = 0.0482

𝑑(𝐸2, 𝐸1) = 0.0149

𝑑(𝐸3, 𝑆1) = 0.0397

𝑑(𝐸3, 𝐸1) = 0.0141

Posto je rastojanje od instance S2 do S1 manje nego od S2 do E1, zakljucuje se da je S1 najblizi susedinstance S2. Zbog toga se instanca S2 prepoznaje kao tekst na sprskom jeziku. Slicno se ispravno zakljucuje i daje S3 tekst na srpskom, E2 tekst na engleskom i E3, takode, tekst na engleskom jeziku. Posebno je zanimljivoda tekstovi S3 i E2 po svom sadrzaju nemaju dodira sa instancama za trening S1 i E1, a to ne ometa uspesnuklasifikaciju.

10.8 Stabla odlucivanja

Razmotrimo „igru 20 pitanja“. Jedan igrac zamislja neki predmet, a drugi treba da pogodi o kom je predmeturec. Kako bi pogodio o kom predmetu se radi, igrac koji pogada ima pravo da postavi 20 pitanja na koje odgovormoze biti „da“ ili „ne“. Kada smatra da je postavio dovoljno pitanja, igrac moze dati svoj sud o kom predmetuse radi i igra se zavrsava. Ocito, proces ispitivanja moze se predstaviti u vidu stabla koje u svakom cvoruima po jedno pitanje, osim u listovima u kojima se nalazi sud igraca o nepoznatom predmetu. Svaki cvorosim listova ima dve grane oznacene sa „da“ ili „ne“, koje vode u podstablo koje odgovara nastavku ispitivanjaposle razmatranog pitanja. Ovo je primer stabla odlucivanja. Ovakva stabla mogu se uopstiti odbacivanjemogranicenja na 20 pitanja i tako sto bi se dozvolilo da odgovori ne moraju biti samo „da“ ili „ne“, vec da mogupripadati nekom unapred definisanom skupu za dato pitanje.

Stabla odlucivanja mogu se automatski nauciti iz skupa primera koji za svaku instancu ukljucuju vrednostinjenih bitnih atributa i vrednost ciljne promenljive. Ucenje stabala odlucivanja je metod klasifikacije ili regresijeu kojem se model predstavlja u vidu stabla. Slicno „igri 20 pitanja“, svakom cvoru takvog stabla odgovara testnekog atributa instance, a grane koje izlaze iz cvora razlicitim vrednostima tog atributa. Jedan atribut ne mozebiti koriscen dva puta u jednoj putanji od korena do lista. Listovima odgovaraju predvidene vrednosti ciljnepromenljive. Instance su opisane vrednostima svojih atributa. Predvidanje se vrsi polazeci od korena, spustajucise niz granu koja odgovara vrednosti testiranog atributa instance za koju se vrsi predvidanje. Predvidanje sedodeljuje instanci kad se dode do lista.

Ucenje stabala odlucivanja uspesno se primenjuje u razlicitim problemima. Jos sredinom devedesetih godinaproslog veka, stabla odlucivanja primenjena su u klasifikaciji tumora i prognozi njihovog ponasanja. Svakatrening instanca opisivana je pomocu 31 atributa, a klasifikacije su date nezavisno od strane vise strucnjaka. Uastronomiji su stabla odlucivanja primenjena u cilju razlikovanja zvezda i tragova kosmickih zraka na snimcimateleskopa Habl. Na osnovu 20 numerickih atributa, sa stablima dubine do 9 cvorova, postignuta je preciznostklasifikacije od 95%. Postoje primene stabala odlucivanja i u ekonomiji i drugim oblastima. Odredivanje pozeigraca kakvo vrsi proizvod Microsoft Kinect bice detaljnije diskutovano kasnije.

Koriscenje stabla odlucivanja nije podjednako pogodno za sve probleme ucenja. Pozeljno je da skup vrednostiatributa bude diskretan i mali, mada postoje varijante koje rade sa kontinualnim atributima. Stabla odlucivanjasu uspesno primenljiva posebno u slucajevima kada je potrebno predstavljanje disjunkcija uslova. Ukoliko stabloodlucivanja instanci dodeljuje neko predvidanje, to znaci da instanca ispunjava sve uslove koji su definisaniputanjom od korena do odgovarajuceg lista kroz stablo i oblika su atribut=vrednost. Stoga putanje kroz stablopredstavljaju konjunkcije ovakvih uslova. U slucaju klasifikacije, za svaku klasu moguce je uociti putanje kojese zavrsavaju listovima koji odgovaraju toj klasi. Disjunkcija svih takvih konjunkcija definise instance kojepripadaju datoj klasi prema datom stablu.

Jedan od najpoznatijih algoritama za ucenje stabla odlucivanja je ID3 na koji cemo se skoncentrisati. Ovajalgoritam konstruise stablo od korena nanize, pitajuci se u svakom cvoru koji je najbolji atribut koji se utom cvoru moze testirati. To se odreduje statistickim kriterijumom koji meri koliko dobro neki atribut samklasifikuje podatke. Za sve vrednosti odabranog atributa kreiraju se grane do cvorova naslednika, a podaci zatreniranje se dele izmedu ovih cvorova tako da svaki od njih nasleduje primere koji imaju odgovarajucu vrednostprethodno testiranog atributa. Za svaki od cvorova naslednika ovaj postupak se primenjuje rekurzivno sve doknije ispunjen bar jedan od sledeca dva uslova: (1) u putanji od korena do trenutnog cvora iskorisceni su sviatributi, (2) sve instance za trening koje su pridruzene trenutnom cvoru imaju istu vrednost ciljnog atributa.Svakom listu se pridruzuje najcesca oznaka instanci za trening koje su mu pridruzene. Algoritam je preciznijeopisan na slici 10.18.

Page 177: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

177 10. Nadgledano masinsko ucenje

Algoritam: ID3(𝑃𝑟𝑖𝑚𝑒𝑟𝑖, 𝐴𝑡𝑟𝑖𝑏𝑢𝑡𝑖)

Ulaz: 𝑃𝑟𝑖𝑚𝑒𝑟𝑖 je skup instanci za trening, a 𝐴𝑡𝑟𝑖𝑏𝑢𝑡𝑖 je lista atributa koji se mogu testirati u cvorovima stabla

Izlaz: Stablo odlucivanja koje odgovara datim instancama

1: napravi koreni cvor stabla 𝑅;

2: ako sve instance iz 𝑃𝑟𝑖𝑚𝑒𝑟𝑖 pripadaju istoj klasi onda3: vrati cvor 𝑅 sa oznakom te klase;

4: ako je 𝐴𝑡𝑟𝑖𝑏𝑢𝑡𝑖 prazna lista onda5: vrati cvor 𝑅 oznacen oznakom najcesce klase koja se javlja u 𝑃𝑟𝑖𝑚𝑒𝑟𝑖;

6: inace7: neka je 𝐴 ∈ 𝐴𝑡𝑟𝑖𝑏𝑢𝑡𝑖 najbolji atribut (prema nekom statistickom kriterijumu) za testiranje u odnosu na

𝑃𝑟𝑖𝑚𝑒𝑟𝑖;8: oznaci cvor 𝑅 atributom 𝐴;9: za svaku mogucu vrednost 𝑣𝑖 atributa 𝐴 radi

10: dodaj granu iz 𝑅 koja odgovara testu 𝐴 = 𝑣𝑖;11: neka je 𝑃𝑟𝑖𝑚𝑒𝑟𝑖𝑣𝑖 podskup od 𝑃𝑟𝑖𝑚𝑒𝑟𝑖 takav da svi njegovi elementi imaju vrednost 𝑣𝑖 atributa

𝐴;12: ako je skup 𝑃𝑟𝑖𝑚𝑒𝑟𝑖𝑣𝑖 prazan onda13: na dodatu granu iz 𝑅 dodaj list sa oznakom najcesce klase u 𝑃𝑟𝑖𝑚𝑒𝑟𝑖;14: inace15: na dodatu granu nadovezi podstablo ID3(𝑃𝑟𝑖𝑚𝑒𝑟𝑖𝑣𝑖 ,𝐴𝑡𝑟𝑖𝑏𝑢𝑡𝑖 ∖ 𝐴);16: vrati 𝑅.

Slika 10.18: Algoritam ID3

Veoma je vazno pitanje statistickog kriterijuma koji se koristi za izbor najboljeg atributa za testiranje unekom cvoru. Algoritam ID3 obicno bira atribut koji maksimizuje dobitak informacije na skupu instanci kojesu pridruzene razmatranom cvoru. Dobitak informacije predstavlja razliku entropije u odnosu na ciljni atributskupa instanci za trening 𝑆 pre deljenja i prosecne entropije posle deljenja prema nekom atributu 𝐴. Entropijapredstavlja meru neuredenosti nekog sistema. Ako sa 𝑝𝑖 oznacimo verovatnocu da instanca pripada 𝑖-toj klasi,onda se entropija moze definisati sledecim izrazom (pri cemu se smatramo da vazi 0 · log2 0 = 0):

𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆) = −𝑐∑

𝑖=1

𝑝𝑖 log2 𝑝𝑖

Notacija 𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆|𝑎) oznacava entropiju skupa instanci iz 𝑆 koje imaju 𝑎 kao vrednost nekog atributa.Pritom, iz konteksta ce biti jasno o kom atributu je rec. Dobitak informacije stoga predstavlja smanjenje upotrebnom broju bitova za kodiranje klase proizvoljne instance, kada je poznata vrednost koju na njoj imaatribut 𝐴. Dobitak informacije se formalno definise na sledeci nacin:

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆,𝐴) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆)−∑

𝑣∈𝑉 𝑟𝑒𝑑(𝐴)

|𝑆𝑣||𝑆|

𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆𝑣) (10.4)

gde je 𝑐 broj klasa, tj. broj mogucih vrednosti ciljnog atributa, 𝑝𝑖 udeo instanci iz skupa 𝑆 koje pripadaju klasi𝑖 u celom skupu 𝑆, 𝑉 𝑟𝑒𝑑(𝐴) predstavlja skup svih mogucih vrednosti atributa 𝐴, a 𝑆𝑣 = 𝑠 ∈ 𝑆|𝐴(𝑠) = 𝑣, gde𝐴(𝑠) oznacava vrednost atributa 𝐴 za instancu 𝑠.

Pored entropije, postoje i druge mere koje se mogu koristiti za merenje neuredenosti nekog skupa. Jednajednostavna mera je greska klasifikacije. Ona predstavlja gresku koja se cini ukoliko se sve instance nekog skupaklasifikuju u najbrojniju klasu u tom skupu. Stoga, ako je 𝑝𝑖 verovatnoca da instanca pripada 𝑖-toj klasi, greskaklasifikacije se definise izrazom

𝐸𝑟𝑟(𝑆) = 1−max𝑖

𝑝𝑖

Za ovu meru moze se definisati dobitak analogan opisanom dobitku informacije ukoliko se u izrazu 10.4 entropijazameni greskom klasifikacije.

Primer 10.12. U tabeli 10.2 su date instance koje opisuju razlicite zivotinje, sa datom klasifikacijom kojaoznacava da li je zivotinja opasna po coveka. Izdvojeno je nekoliko karakteristika koje bi mogle biti relevantne

Page 178: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.8. Stabla odlucivanja 178

u odredivanju vrednosti ciljnog atributa, ali su namerno dodata dva atributa koji nisu relevantna — broj nogu ida li zivotinja zivi u Evropi.

Zivotinja Velicina Ishrana Otrovnost Noge Evropa OpasnaLav Velika Meso Ne 4 Ne Da

Macka Mala Meso Ne 4 Da NeKoala Mala Biljke Ne 4 Ne NeZec Mala Biljke Ne 4 Da Ne

Komodo zmaj Velika Meso Da 4 Ne Da

Tabela 10.2: Skup primera za trening

Da bi se izgradilo stablo odlucivanja, za svaki od atributa je potrebno izracunati dobitak informacije prideljenju skupa podataka prema tom atributu. U prvom koraku, vazi:

𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆) = −2

5log2

2

5− 3

5log2

3

5= 0.971

Ukoliko se izvrsi podela instanci po vrednosti prvog atributa, dobijamo

𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆|𝑀𝑎𝑙𝑎) = −1 · log2 1− 0 · log2 0 = 0

𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆|𝑉 𝑒𝑙𝑖𝑘𝑎) = −0 · log2 0− 1 · log2 1 = 0

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆, 𝑉 𝑒𝑙𝑖𝑐𝑖𝑛𝑎) = 0.971− 2

5· 0− 3

5· 0 = 0.971

Slicno se dobija:

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆, 𝐼𝑠ℎ𝑟𝑎𝑛𝑎) = 0.42

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆,𝑂𝑡𝑟𝑜𝑣𝑛𝑜𝑠𝑡) = 0.322

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆,𝑁𝑜𝑔𝑒) = 0

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆,𝐸𝑣𝑟𝑜𝑝𝑎) = 0.42

Odavde se vidi da je najbolji atribut za testiranje u prvom cvoru atribut Velicina. Stablo koje se u ovomslucaju dobija primenom algoritma ID3 je dato na slici 10.19. U slucaju datih primera za ucenje, dobijeno stabloje bilo ocigledan izbor i bez primene bilo kakve metodologije.

VELICINA

NE

mala

DA

velika

Slika 10.19: Jednostavno stablo odlucivanja

Nesto komplikovanije stablo odlucivanja moze se dobiti dodavanjem primera iz tabele 10.3.Jedno rucno konstruisano stablo koje je saglasno sa podacima za trening dato je na slici 10.20. Izbor loseg

atributa za testiranje u korenom cvoru je namerno ucinjen. To dovodi do potrebe za ponavljanjem istih testova ulevom i desnom podstablu, posto informacija dobijena testiranjem u korenu nije relevantna za odredivanje klaseinstance. Takode, u slucaju zivotinja koje zive u Evropi, prisutan je nepotreban test vezan za njenu ishranu. Uoba slucaja klasa je ista, pa se cvor sa tim testom moze zameniti listom sa klasom 𝐷𝐴. Upotreba algoritma ID3daje bolje stablo odlucivanja.

Page 179: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

179 10. Nadgledano masinsko ucenje

Zivotinja Velicina Ishrana Otrovnost Noge Evropa OpasnaZmija Mala Meso Da 0 Da Da

Pcela ubica Mala Biljke Da 6 Ne DaMorska krava Velika Biljke Ne 0 Ne Ne

Tabela 10.3: Dodatni primeri za trening

EVROPA

OTROVNOST

ne

OTROVNOST

da

VELICINA

ne

ISHRANA

da

DA

velika

NE

mala

DA

biljke

DA

meso

DA

da

VELICINA

ne

NE

mala

DA

velika

Slika 10.20: Rucno konstruisano stablo odlucivanja

Vrednosti entropije i dobitka informacije se sada razlikuju:

𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆) = −1

2log2

1

2− 1

2log2

1

2= 1

Ukoliko se izvrsi podela instanci po vrednosti prvog atributa, dobijamo

𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆|𝑀𝑎𝑙𝑎) = −3

5log2

3

5− 2

5log2

2

5= 0.971

𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆|𝑉 𝑒𝑙𝑖𝑘𝑎) = −1

3log2

1

3− 2

3log2

2

3= 0.918

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆, 𝑉 𝑒𝑙𝑖𝑐𝑖𝑛𝑎) = 1− 5

8· 0.971− 3

8· 0.918 = 0.049

Slicno se dobija:

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆, 𝐼𝑠ℎ𝑟𝑎𝑛𝑎) = 0.189

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆,𝑂𝑡𝑟𝑜𝑣𝑛𝑜𝑠𝑡) = 0.549

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆,𝑁𝑜𝑔𝑒) = 0

𝐷𝑜𝑏𝑖𝑡𝑎𝑘(𝑆,𝐸𝑣𝑟𝑜𝑝𝑠𝑘𝑎) = 0.02

Posle dodavanja novih instanci, najbolji atributi za testiranje su Otrovnost i Ishrana. Rekurzivnom primenomovog postupka dobija se stablo prikazano na slici 10.21. Ono je ocigledno manje od rucno konstruisanog i imarelevantnije atribute pri vrhu stabla, dok se dva nebitna atributa uopste ne testiraju.

Stabla odlucivanja mogu se koristiti i za probleme regresije. U tom slucaju, za merenje neuredenosti skupainstanci prirodan izbor je disperzija vrednosti ciljne promenljive za te instance:

1

𝑁 − 1

𝑁∑𝑖=1

(𝑦𝑖 − 𝑦)2

gde vazi 𝑦 = 1𝑁

∑𝑁𝑖=1 𝑦𝑖 U slucaju regresije potrebno je modifikovati i nacin na koji se listovima pridruzuju

predvidanja koja daju. Ona se mogu definisati kao prosek instanci koje su prilikom treninga pridruzene listu.

Page 180: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.9. Evaluacija modela i konfigurisanje algoritama ucenja 180

OTROVNOST

VELICINA

ne

DA

da

NE

mala

ISHRANA

velika

NE

biljke

DA

meso

Slika 10.21: Stablo odlucivanja konstruisano pomocu ID3 algoritma

Kao i drugi metodi ucenja, ID3 se moze shvatiti kao pretraga skupa dopustivih modela za onim koji najviseodgovara podacima za trening. Prostor pretrage je potpun prostor svih stabala odlucivanja. Svaka diskretnafunkcija moze se predstaviti nekim stablom odlucivanja, tako da se ucenjem stabala odlucivanja moze posticigreska 0 na trening podacima ukoliko podaci nisu protivrecni. ID3 u svakom trenutku cuva samo jedan tekucimodel, pa je nemoguce znati koliko ima drugih modela koji su saglasni sa podacima za trening. Posto nemavracanja u pretrazi (backtracking), vec se stablo gradi od jednostavnijeg ka slozenijem, postoji opasnost oddostizanja lokalnih optimuma koji nisu globalni.

Algoritam ID3 preferira stabla sa manjom dubinom, kao i stabla u kojima se atributi koji nose veci dobitakinformacije nalaze blize korenu. Ovo je posledica toga sto izgradnja stabla pocinje od praznog stabla pri cemuse dodaje nivo po nivo i posledica nacina na koji se biraju atributi koji se pridruzuju cvorovima. Afinitet premakracim stablima je zanimljivo svojstvo jer je u skladu i sa odavno poznatim filozofskim principom kojim secesto vode i naucnici — Okamovom ostricom: entitete ne treba umnozavati preko potrebe, tj. najjednostavnijeobjasnjenje je verovatno i najbolje. Svakoj putanji od korena do nekog od listova odgovara po jedno pravilooblika

if 𝐴1 = 𝑣1 ∧ 𝐴2 = 𝑣2 ∧ ... ∧ 𝐴𝑛 = 𝑣𝑛 then

𝐾𝑙𝑎𝑠𝑎 = 𝑘𝑙𝑎𝑠𝑎 𝑘𝑜𝑗𝑎 𝑜𝑑𝑔𝑜𝑣𝑎𝑟𝑎 𝑙𝑖𝑠𝑡𝑢

gde su 𝐴𝑖 0 ≤ 𝑖 ≤ 𝑛 atributi koji se testiraju na putanji od korena do odgovarajuceg cvora, a 𝑣𝑖 njihove vrednostiza datu instancu. Kako stabla odlucivanja sa manjom dubinom imaju manji broj listova, predstavljaju manjeskupove ovakvih pravila, te ih mozemo smatrati jednostavnijim.

Osvrnimo se i na problem preprilagodavanja. Sa povecanjem dozvoljene dubine stabla, povecava se mocucenja, odnosno verovatnoca da ce u skupu dopustivih modela biti naden onaj koji dobro opisuje podatke.Zato se sa povecanjem dozvoljene dubine stabala, smanjuje greska na trening podacima. Medutim, akonema ogranicenja na dubinu stabla, takav skup modela je ocigledno vrlo bogat i stoga postoji opasnost odpreprilagodavanja. Jedan pristup resavanju ovog problema je ogranicavanje maksimalne dubine stabla nakonkoje algoritam ucenja nece dalje razgranavati stablo. O nacinu na koji se vrsi izbor dubine bice reci kasnije,posto se bira na slican nacin kao vrednost regularizacionog metaparametra 𝜆. Zapravo, kako se ovom tеhnikomsmanjuje fleksibilnost modela u vreme ucenja, ona se moze smatrati upravo vidom regularizacije.

10.9 Evaluacija modela i konfigurisanje algoritama ucenja

Za primenu modela u praksi, od presudnog je znacaja znati koliko dobro model generalizuje, odnosno kolikosu mu dobra predvidanja. Za to je s jedne strane potrebno imati nekakve mere kvaliteta, s druge procedurekoje obezbeduju da se tako izracunatim merama moze dovoljno verovati.

Kao sto se moglo primetiti, algoritmi masinskog ucenja su konfigurabilni. Naime, moguce je podesavatiregularizacioni metaparametar kod linearnih modela, 𝑘 kod algoritma 𝑘 najblizih suseda, maksimalnu dubinustabla, arhitekturu mreze, itd. Izbor razlicite konfiguracije vodi razlicitom optimizacionom problemu i stogarazlicitom resenju. Pozeljno je izabrati konfiguraciju koja vodi dobrom resenju. Ovo ne mora biti trivijalanposao.

Page 181: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

181 10. Nadgledano masinsko ucenje

Slika 10.22: Grafik reziduala u zavisnosti od predvidenih vrednosti telesne tezine.

10.9.1 Mere kvaliteta regresijeOsnovna mera kvaliteta regresije je srednjekvadratna greska, koja meri odstupanje predvidenih vrednosti na

nekom test skupu od stvarnih

𝐸(𝑤) =

𝑁∑𝑖=1

(𝑦𝑖 − 𝑓𝑤(𝑥))2

Pozeljno je da srednjekvadratna greska bude sto manja, medutim ukoliko nemamo konkretan zahtev za posti-zanjem odredene srednjekvadratne greske, tesko je reci da li je ucenje uspesno ili ne. Zbog toga se cesto koristei druge mere. Cesta je upotreba koeficijenta determinacije.

Koeficijent determinacije 𝑅2 izmedu predvidenih i stvarnih vrednosti na test skupu, se racuna po formuli

𝑅2(𝑌,𝑋𝑤) = 1−∑𝑁

𝑖=1(𝑦𝑖 − 𝑓𝑤(𝑥))2∑𝑁

𝑖=1(𝑦𝑖 − 𝑦)2

gde nadvucena linija oznacava prosek uzorka. Vrednost 1 koeficijenta determinacije oznacava potpuno podu-daranje stvarnih i predvidenih vrednosti. Sto je vrednost koeficijenta manja, to je poklapanje losije. Cesto sekaze da 𝑅2(𝑌,𝑋𝑤) predstavlja udeo varijanse vrednosti ciljne promenljive 𝑌 koji prediktivni model objasnjava.Smisao ovog tvrdenja je sledeci. Ukoliko se odreknemo koriscenja bilo kakvih metoda predikcije pri predvidanjuvrednosti 𝑌 , najmanju srednjekvadratnu gresku ocekujemo ukoliko uvek predvidamo vrednost 𝑦. Odnosno, akokao prediktivni model za vrednosti 𝑌 koristimo prosek opazenih vrednosti 𝑦𝑖. Pri tome je srednjekvadratnagreska

𝐸(𝑦) =1

𝑁

𝑁∑𝑖=1

(𝑦𝑖 − 𝑦)2

odnosno uzoracka varijansa za 𝑌 . Rastojanja koja ulaze u ovu gresku su prikazana na slici 10.22. U slucajukoriscenja linearnog regresionog modela, srednjekvadratna greska, ili varijansa vrednosti 𝑌 u odnosu na model,je

𝐸(𝑤) =1

𝑁

𝑁∑𝑖=1

(𝑦𝑖 − 𝑤 · 𝑥)2

Rastojanja koja ulaze u ovu gresku su prikazana na slici 10.23. Ova, preostala, varijansa se ne moze objasniti za-

Page 182: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.9. Evaluacija modela i konfigurisanje algoritama ucenja 182

Slika 10.23: Grafik reziduala u zavisnosti od predvidenih vrednosti telesne tezine.

visnoscu od koriscenih atributa, odnosno tu preostalu varijansu mozemo smatrati neobjasnjenom. Njen kolicniksa 𝐸(𝑦) se onda moze smatrati udelom neobjasnjene varijanse, a koeficijent determinacije, onda ocigledno,udelom objasnjene varijanse.

Primer 10.13. U slucaju primera sa predikcijom telesne tezine u zavisnosti od visine na slici 10.24 prikazanje histogram reziduala. Prikazana raspodela je bliska normalnoj (sto je potvrdeno i statistickim testom). Naslici 10.25 prikazan je grafik zavisnosti reziduala od predvidenih vrednosti. Kako raspodela ne odaje zavisnostizmedu reziduala i predvidenih vrednosti (sto je takode potvrdeno i statistickim testom), zakljucuje se da su utom problemu pretpostavke linearne regresije ispunjene.

Koeficijent determinacije iznosi 0.51 sto znaci da promenljiva 𝑋 objasnjava oko pola varijanse promenljive𝑌 , i da postoji prostor da se predikcija dalje popravi dodavanjem novih atributa.

U primeru preprilagodavanja podacima, koji je dat u poglavlju 10.3, koeficijenti polinomskog modela suizabrani upravo linearnom regresijom. Iako su polinomi nelinearne funkcije, oni su ipak linearni u odnosu nakoeficijente i stoga predstavljaju linearne modele, pa je zato bila moguca primena linearne regresije.

10.9.2 Mere kvaliteta klasifikacijeU slucaju problema klasifikacije se obicno koristi preciznost, odnosno broj tacno klasifikovanih instanci

podeljen ukupnim brojem instanci. U primeru sa prepoznavanjem racunarskih clanaka, smo upravo koristilipreciznost kao meru kvaliteta. Ako je 𝑁 ukupan broj clanaka i ako sa 𝑟 oznacimo broj racunarskih clanakakoji su klasifikovani kao racunarski clanci i sa 𝑜 broj ostalih clanaka koji su klasifikovani kao da nisu racunarski,tada je preciznost u tom primeru

𝑝 =𝑟 + 𝑜

𝑁

U nekim slucajevima preciznost nije adekvatna mera. Ukoliko postoje dve klase i jedna je znacajno manjaod druge, moguce je dobiti visoku preciznost tako sto ce se sve instance klasifikovati u vecu grupu. Takavje slucaj sa testovima koji ustanovljavaju da li je pacijent oboleo od neke bolesti. Neka bolest ima samo 1%ljudi u populaciji. Test koji bi uvek prijavljivao da pacijent nema bolest bi imao preciznost od 99%, ali jeneupotrebljiv. Stoga je u takvim slucajevima bitna mera osetljivost klasifikatora, odnosno njegova mogucnost

Page 183: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

183 10. Nadgledano masinsko ucenje

−30 −20 −10 0 10 20 30

05

1015

20

Slika 10.24: Histogram reziduala u predvidanju telesne tezine.

da primeti instance koje se traze (na primer bolesne pacijente). Opstije, neka su date dve klase 𝐶+ i 𝐶−koje smatramo pozitivnim i negativnim primerima neke kategorije. Na primer pacijenti koji imaju i pacijentikoji nemaju neku bolest. Tada pod stvarno pozitivnim instancama podrazumevamo pozitivne instance koje suprepoznate kao pozitivne. Pod stvarno negativnim, instance koje su negativne i prepoznate kao negativne. Podlazno pozitivnim podrazumevamo instance koje su negativne, ali su greskom u klasifikaciji proglasene pozitivnimi pod lazno negativnim podrazumevamo instance koje su pozitivne, ali su greskom klasifikovane kao negativne.Brojeve ovih instanci oznacavamo redom 𝑆𝑃 , 𝑆𝑁 , 𝐿𝑃 i 𝐿𝑁 . Ove brojeve obicno zapisujemo u takozvanojmatrici konfuzije koja po vrstama prikazuje kako su instance klasifikovane, a po kolonama prikazuje koje sustvarne klase instanci. Ova matrica je prikazana tabelom 10.4.

P NKP 𝑆𝑃 𝐿𝑃KN 𝐿𝑁 𝑆𝑁

Tabela 10.4: Vrste matrice konfuzije u zbiru daju broj instanci koje su klasifikovane pozitivno (KP) i brojinstanci koje su klasifikovane negativno (KN). Kolone u zbiru daju broj instanci koje su stvarno pozitivne (P)ili negativne (N).

Kada su poznati ovi brojevi, udeo stvarno pozitivnih instanci, odnosno osetljivost je definisana kao:

𝑈𝑆𝑃 =𝑆𝑃

𝑆𝑃 + 𝐿𝑁

odnosno broj stvarno pozitivnih podeljen brojem svih pozitivnih (i onih koji su klasifikovani kao pozitivni i onihkoji su greskom klasifikovani kao negativni). Udeo stvarno negativnih se analogno definise

𝑈𝑆𝑁 =𝑆𝑁

𝑆𝑁 + 𝐿𝑃

Page 184: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.9. Evaluacija modela i konfigurisanje algoritama ucenja 184

50 60 70 80 90 100

−20

−10

010

20

Slika 10.25: Grafik reziduala u zavisnosti od predvidenih vrednosti telesne tezine.

Udeo lazno pozitivnih i lazno negativnih se definisu slicno:

𝑈𝐿𝑃 =𝐿𝑃

𝐿𝑃 + 𝑆𝑁𝑈𝐿𝑁 =

𝐿𝑁

𝐿𝑁 + 𝑆𝑃

Preciznost se moze izracunati kao𝑃𝑟𝑒𝑐 =

𝑆𝑃 + 𝑆𝑁

𝑆𝑃 + 𝐿𝑃 + 𝑆𝑁 + 𝐿𝑁

Primer 10.14. Neka je testirano 400 ispitanika. Od toga 4 imaju bolest zbog koje se testiraju, a ostali ne. Nekaje test dao pozitivnu klasifikaciju u slucaju 2 osobe koje obe imaju bolest. Matrica konfuzije data je tabelom 10.14

P NKP 3 0KN 2 395

Tabela 10.5: Matrica konfuzije vezana za klasifikaciju obolelih.

Odavde se mogu izracunati mere kvaliteta:

𝑃𝑟𝑒𝑐 =398

400= 0.995

𝑈𝑆𝑃 =3

5= 0.6

𝑈𝑆𝑁 =395

395= 1

𝑈𝐿𝑃 =0

395= 0

Page 185: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

185 10. Nadgledano masinsko ucenje

𝑈𝐿𝑁 =2

5= 0.4

Preciznost je izuzetno visoka i sugerise odlicno ponasanje klasifikatora. S druge strane poznavanje udelastvarno pozitivnih otkriva da je ovaj utisak lazan zato sto je identifikovan mali broj elemenata pozitivne klase.

Primer 10.15. Pretpostavimo da je potrebno razviti sistem koji prepoznaje potencijalne teroriste medu aero-dromskim putnicima. Kroz aerodrom prode dnevno oko 100000 putnika, a ocekivani broj potencijalnih tero-rista je, na primer, 4. Sistem procenu pravi na osnovu vise informacija, ukljucujuci starosnu dob putnika,drzavljanstvo, zemlje iz koje putuje i zemlje u koju putuje i slicno, i svaki putnik oznacen kao potencijalniterorista mora da prode kroz detaljnu dodatnu proveru.

Ako bi sistem trivijalno za svakog putnika davao odgovor ”ne“ (tj. procenu da nije potencijalni terorista), ondabi sistem imao odlicnu preciznost 99996/100000 = 99.996%, ali je jasno da je takav sistem potpuno nekoristan.Upotrebljivost ovakvog sistema se mora proveriti kroz druge mere kvaliteta.

Pretpostavimo da je ponasanje sistema opisano matricom konfuzije koja je data u tabeli 10.15

P NKP 3 96KN 1 99900

Tabela 10.6: Matrica konfuzije vezana za klasifikaciju aerodromskih putnika.

Odavde se mogu izracunati mere kvaliteta:

𝑃𝑟𝑒𝑐 =99903

100000= 0.99903

𝑈𝑆𝑃 =3

4= 0.75

𝑈𝑆𝑁 =99900

99996= 0.999039

𝑈𝐿𝑃 =96

99996= 0.00096

𝑈𝐿𝑁 =1

4= 0.25

Vrednost 𝑈𝐿𝑁 govori da je udeo potencijalnih terorista koji mogu prоci neopazene jednak nuli, sto je veomavazno za ovakvu vrstu sistema. S druge strane, slabost sistema je previsoka vrednost 𝑈𝐿𝑃 – ona govori da ceskoro svaki deseti putnik biti zadrzan radi dodatne kontrole, sto verovatno nije moguce logisticki obezbediti.

10.9.3 Tehnike evaluacije i konfigurisanja algoritama ucenjaPored izbora mere kvaliteta, bitno je izabrati i nacin na koji se ta mera ocenjuje. Cesta praksa je da

se model trenira na jednom skupu podataka, a da se evaluira na odvojenom skupu podataka za testiranje.Pritom se podela raspolozivih podataka na podatke za trening i podatke za testiranje vrsi slucajnim izborompodataka za testiranje. Medutim, ovakav nacin evaluacije moze dovesti do znacajnih oscilacija u vrednostimamera kvaliteta u zavisnosti od toga koji je podskup izabran. Pouzdaniji nacin evaluacije naucenog znanjaje takozvana unakrsna validacija (eng. cross-validation). Ceo skup podataka kojim se raspolaze se deli na 𝑛priblizno jednakih podskupova. Jedan podskup se izdvaja i trening se vrsi na ostalih 𝑛− 1 podskupova. Posletreninga, kvalitet naucenog znanja se ocenjuje na izdvojenom podskupu. Ovaj postupak se ponavlja za sve ostaleizdvojene podskupove i kao finalna ocena kvaliteta se uzima prosek dobijenih ocena za svaki od podskupova. Zavrednost 𝑛 se obicno uzima broj 5 ili 10 i ne preporucuju se mnogo manje ili vece vrednosti. Ovakav postupakdaje stabilniju ocenu kvaliteta. Pored toga, prednost ovog metoda je da se u svakom od 𝑛 koraka unakrsnevalidacije koristi velika kolicina podataka pri treniranju, a da sve raspolozive instance u jednom trenutku buduiskoriscene za testiranje.

Iako nije ocigledno da je u vezi sa tehnikama evaluacije, u nastavku ce biti razmotreno dugo odlagano pitanjeizbora vrednosti regularizacionog metaparametra 𝜆, kao i broja suseda 𝑘 i maksimalne dubine stabla za kojesmo najavili da cemo ih razmatrati skupa. Izbor vrednosti ovih parametara predstavlja samo primer opstijegproblema konfigurisanja algoritama ucenja. U opstem slucaju, algoritmi ucenja se mogu podesavati na razlicitenacine, pri cemu razlicite konfiguracije daju razlicite modele za iste ulazne podatke. U nastavku ce biti recisamo o izboru parametra 𝜆, ali se diskusija odnosi i na probleme konfigurisanja algoritama ucenja u opstijemsmislu.

Page 186: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.9. Evaluacija modela i konfigurisanje algoritama ucenja 186

Za dati skup podataka, svakoj vrednosti parametra 𝜆 odgovara neka vrednost optimalnih koeficijenata 𝑤𝜆 isamim tim neki model 𝑓𝑤𝜆

(𝑥). Postavlja se pitanje koji od ovih modela je najbolji. Osim ako nije raspolozivavelika kolicina podataka, male vrednosti parametra 𝜆 uzrokuju lose rezultate zbog preprilagodavanja, a velikevrednosti uzrokuju lose rezultate zbog premale fleksibilnosti modela. Pozeljne vrednosti parametra se obicnonalaze negde izmedu dva ekstrema. Stoga je prvi korak u pronalazenju pogodne vrednosti odredivanje granicaintervala u kojem ce se vrednost traziti, sto se moze uraditi eksperimentalno. Recimo interval [10−10, 105] jeverovatno dovoljno sirok u vecini slucajeva, ali to je ipak potrebno detaljnije razmotriti u konkretnom slucaju.Potom se formira niz vrednosti parametra koje se ispituju. Na primer, cesto se koristi geometrijska progresija𝜆1 = 10−10, 𝜆2 = 10−9, . . . , 𝜆11 = 105. Potom se, grubo receno, model za svaku od tih vrednosti evaluira i birase najbolji. Ipak, postavlja se pitanje kako se vrsi evaluacija.

Prva ideja bi bila da se za svaku od izabranih vrednosti parametra izvrsi treniranje na trening skupu i dase dobijeni model evaluira na test skupu nekom merom kvaliteta i da se izabere najbolji od njih. Pazljivijimrazmatranjem se uvida da je ovaj postupak pogresan. Naime, na ovaj nacin se podaci iz test skupa koriste priizboru modela, sto je sve deo treninga i samim tim i oni predstavljaju deo trening skupa. Medutim, disjunktnosttrening i test skupa je osnovno pravilo evaluacije modela u masinskom ucenju. Korektan postupak bi bio da seumesto podele ukupnog skupa podataka na trening i test skup izvrsi njegova podela na trening skup, validacioniskup i test skup. Tada se na trening skupu vrsi treniranje svakog od modela (dobijenih za razlicite vrednosti 𝜆𝑖),na validacionom skupu se vrsi evaluacija na osnovu koje se bira najbolji model i potom se taj model evaluirana test skupu i njegov kvalitet predstavlja finalnu meru kvaliteta ucenja.

Prethodni postupak je korektan, ali ponovo se konstatuje da usled slucajnog deljenja podataka na trening itest skup, moze doci do razlicitih ishoda evaluacije. Prethodno je ovaj problem resen pomocu unakrsne validacijei varijanta te tehnike se moze primeniti i u ovom slucaju, ali kako je taj pristup osetno komplikovaniji, o njemunece biti reci.

Pitanja i zadaci

10.1. Da li se masinsko ucenje bavi proucavanjem:(a) dedukcije;(b) pretrage;(c) generalizacije;(d) optimizacije.

10.2. Kako se naziva proces u kojem se znanje koje vazi za neki skup instanci prenosi na neki njegov nadskup?

10.3. U cemu se razlikuju nadgledano i nenadgledano ucenje?

10.4. Kako se zove ucenje kod kojeg se algoritmu zajedno sa podacima iz kojih uci daju i zeljeni izlazi?

10.5. Kako se u masinskom ucenju zovu atributi instanci cije vrednosti se ne mogu prirodno numericki opisati?

10.6. Kakve su promenljive koje predvidaju u slucaju klasifikacije, a kakve u slucaju regresije?

10.7. Koji od narednih modela su linearni?

• 𝑦 = 𝛽1𝑥+ 𝛽2𝑧

• 𝑦 = 𝛽0 + 𝛽1𝑥2 + 𝛽2𝑥

3

• 𝑦 = 𝛽0 + 𝛽1 log(𝑥) + 𝛽1 log(𝑥)

• 𝑦 = 𝛽0 + 𝛽1 log(𝑥) + 𝛽1 log(sin(𝑥))

10.8. Ako se ucenje vrsi sa siromasnim skupom dopustivih modela, da li to moze dovesti do losih rezultata?

10.9. Ako se ucenje vrsi sa bogatim skupom dopustivih modela, da li to moze dovesti do losih rezultata?

10.10. Sta je cest uzrok loseg ponasnja modela koji ima dobre mere kvaliteta na trening podacima?

10.11. Kakvu raspodelu se obicno pretpostavlja da ima sum pri koriscenju linearne regresije?

10.12. Sta je osnovna mera kvaliteta linearne regresije?

10.13. Navesti definiciju srednjekvadratne greske.

Page 187: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

187 10. Nadgledano masinsko ucenje

Zadatak 10.1. Za kolicine katalizatora od 0,1 i 2 grama, izmerene su brzine hemijske reakcije od 5, 6 i 1 se-kunde. Pomocu koeficijenta korelacije oceniti kvalitet linearnog modela t=6-2m dobijenog linearnom regresijomiz datih podataka. Kog znaka je koeficijent korelacije i sta to znaci?

Zadatak 10.2. Vrednost evra 3. juna je 100 dinara, 4. juna je 101 dinar, a 5. juna je 105 dinara. Pomoculinearne regresije predvideti vrednost evra 6., 7. i 8. juna. Stvarne vrednosti tih dana su bile 105, 106 i 107.Kolika je srednjekvadratna greska tih predvia. nja?

Zadatak 10.3. U eksperimentu sa daljinskim upravljanjem elektricnim helikopterom, povecanje napona naelektromotoru za 10, 20 i 30 V rezultovalo je povecanjem brzine za 1, 2 i 6 𝑚/𝑠. Posto se pretpostavlja da supromene pravca vetra uticale na postignutu brzinu, potrebno je modelovati zavisnost izmeu. povecanja naponai dobitka u brzini linearnim modelom koji najbolje odgovara podacima. Na osnovu tog modela, predvidetipovecanje brzine pri povecanju napona za 15, 25 i 35 V.

Zadatak 10.4. Instrument meri brzinu tela u padu. Izmerena brzina je 2m/s u polaznom trenutku, 4 dvedesetinke kasnije, a 6.9 pola sekunde kasnije (u odnosu na polazni trenutak). Linearnom regresijom odreditimodel koji predvida brzinu tela u buducnosti i proceniti brzinu posle jedne i posle dve sekunde. Na osnovumodela proceniti ubrzanje sa koje Zemljina teza uzrokuje u kretanju tela.

Zadatak 10.5. Jedne nedelje januara, u ponedeljak, utorak i petak u podne izmerene su temperature -2, 0 i 1stepen. Linearnom regresijom proceniti temperaturu u sredu i cetvrtak u podne. Koliki je koeficijent korelacijeza dobijeni linearni model?

Zadatak 10.6. U toku dana pracena je temperatura vazduha. U 8:00 ujutru je bilo 15 stepeni, a u 10:00je bilo 18 stepeni. Linearnom regresijom odrediti model koji predvida temperaturu u buducnosti i procenititemperaturu u 12:00 i 14:00.

Zadatak 10.7. Telo se krece po putu konstanantnom brzinom. Nakon jedne sekunde telo je preslo 6m odstarta, nakon 2s 8m, a nakon 3s 10m. Koriteci lineranu regresiju odrediti brzinu tela i na kojoj razdaljini odstarta je bilo telo u pocetnom trenutku.

10.14. Navesti barem dva algoritma klasifikacije.

10.15. Da li su modeli koje grade metode zasnovane na instancama implicitni ili eksplicitni?

10.16. Kako se zove metod klasifikacije koji koristi 𝑛 instanci za koje je rastojanje do instance koja se klasi-fikuje najmanje?

10.17. Navesti primer funkcije rastojanja koja se moze koristiti u metodi 𝑛 najblizih suseda.

10.18. Da li su u metodu 𝑛 najblizih suseda rezultati bolji za vece vrednosti 𝑛?Da li u metodu 𝑛 najblizih suseda kvalitet rezultata zavisi od 𝑛?Da li u metodu 𝑛 najblizih suseda postoji opste gornje ogranicenje za 𝑛?

10.19. Instanca (1, 0) pripada klasi 𝐴, instanca (9, 1) pripada klasi 𝐵, a instanca (15, 19) pripada klasi 𝐶.Kojoj od ovih klasa bi algoritam 𝑛-najblizih suseda pridruzio instancu (2, 2) za 𝑛 = 1?

Zadatak 10.8. Date su instance (1,1,A),(1,2,A),(2,1,A),(2,2,B),(3,3,B),(4,4,B), (4,2,C) i (5,2,C), pri cemuposlednja koordinata predstavlja oznaku klase. Algoritmom 3 najbliza suseda odrediti kojoj klasi pripada in-stanca (2,4)?

Zadatak 10.9. Algoritmom 3 najbliza suseda klasifikovati instance iz trening skupa. Pri tom, koristiti Menhetnrastojanje. Izracunati preciznost, i udele tacno i lazno pozitivnih i tacno i lazno negativnih.

Trening skup𝑋1 𝑋2 𝑋3 Klasa1 1 0 A1 0 2 A2 2 3 A3 2 4 B1 4 3 B4 3 3 B

Test skup𝑋1 𝑋2 𝑋3 Klasa0 0 0 A3 3 3 A1 3 4 B4 5 3 B

Page 188: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.9. Evaluacija modela i konfigurisanje algoritama ucenja 188

Zadatak 10.10. Date su instance (0,0,A), (1,1,A), (1,2,A), (0,2,A), (1,5,B), (4,5, B), (5, 6, B), (5, 2,C), (4, 0, C), pri cemu prve dve koordinate predstavljaju koordinate tacke, a poslednja koordinata predstavljaoznaku klase. Algoritmom 3 najbliza suseda odrediti kojoj klasi pripadaju instance (0, 1, A), (4, 3, B), (3,1, C)? Kao meru rastojanja koristiti Euklidovo rastojanje u ravni. Odrediti preciznost i udele tacno i laznopozitivnih.

Zadatak 10.11. Andela pokusava da resi jedan problem pretrage 𝑋 koristeci algoritam A*, ali ne moze dase odluci koju od raspolozivih heuristika da izabere. Andela ima veliku kolekciju test instanci i veruje daizbor najbolje heuristike nekako zavisi od nekih konkretnih svojstava instance. Objasniti kako Andeli moze dapomogne masinsko ucenje.

10.20. Koliko ima 2-grama u reci matematika i koje su njihove frekvencije u ovoj reci?

10.21. Da li, za konacnu azbuku, 𝑛-grama za fiksno 𝑛 ima: konacno mnogo, prebrojivo mnogo ili neprebrojivomnogo?

10.22. Sta cini 𝑛-gramski profil instance?

10.23. Navesti barem dve funkcije rastojanja koje se mogu koristiti za klasifikaciju 𝑛-gramskih profila metodom𝑛 najblizih suseda.

10.24. Navesti ime barem jednog algoritma za konstrukciju stabla odlucivanja na osnovu skupa instanci zatrening.

10.25. Navesti algoritam ID3.

10.26. Sta vraca algoritam ID3 u slucaju da je lista atributa prazna?

10.27. Sta vraca algoritam ID3 u slucaju da sve ulazne instance pripadaju istoj klasi?

10.28. Da li algoritam ID3 ima tendenciju da konstruise plica ili dublja stabla odlucivanja?

10.29. Koje se mere obicno koriste za izbor najpogodnijeg atributa prilikom izgradnje stabla odlucivanja?

10.30. Navesti definiciju velicine 𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑗𝑎(𝑆).

10.31. Ako se razmatra entropija kuglica rasporedenih u dve cinije, kada je ona najveca, a kada najmanja?

10.32. Ako skup sadrzi podjednako instanci iz dve klase, kolika je vrednost entropije za taj skup?

10.33. Kako se definise entropija skupa 𝑆 podeljenog na podskupove velicina 𝑝1, 𝑝2, . . ., 𝑝𝑐?

10.34. U jednom skupu instanci, verovatnoca da proizvoljna instanca pripada klasi 𝐶1 jednaka je 1/4, ve-rovatnoca da pripada klasi 𝐶2 jednaka je 1/4, a verovatnoca da pripada klasi 𝐶3 jednaka je 1/2. Kolika jeentropija ovog skupa?

10.35. Kakva su pravila koja se lako mogu izvesti iz stabla odlucivanja?

Zadatak 10.12. Na osnovu datih primera, konstruisati stablo odlucivanja za ciljnu promenljiu koja odredujeda li je jagoda zrela.

Boja Velicina ZrelaZelena Mala NeCrvena Mala DaZelena Velika NeCrvena Velika Da

Zadatak 10.13. Konstruisati stablo odlucivanja za sledece instance koje govore o zivotinjama. Odgovordetaljno obrazloziti.

Otrovnost Boja OpasnaOtrovna Zelena Da

Neotrovna Zelena NeOtrovna Crvena Da

Neotrovna Crvena Ne

Page 189: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

189 10. Nadgledano masinsko ucenje

Zadatak 10.14. Na osnovu sledecih podataka, konstruisati stablo odlucivanja dubine 1 koriscenjem mere„greska klasifikacije“.

A 2 1 2 1 2 1 2 1B 1 1 2 3 3 3 1 2C 2 2 1 2 1 3 3 3

Klasa + - + + - + - +

Izracunati preciznost dobijenog stabla odlucivanja na sledecem test skupu.

A 1 1 1 3B 1 2 2 3C 1 1 3 1

Klasa - + - +

Zadatak 10.15. Konstruisati stablo odlucivanja potrebne dubine koje prepoznaje parnost 4-bitnih brojeva naosnovu njihovih binarnih reprezentacija. Neka se trening skup sastoji od brojeva 1, 3, 6, 9, 12 i 14. Kolika jepreciznost ovog stabla na brojevima 2,4,5 i 7?

Zadatak 10.16. Na osnovu mere „greska klasifikacije“ i datih podataka, odabrati najbolji atribut za izgradnjustabla odlucivanja.

𝑋1 𝑋2 𝑋3 KlasaT T T AF T T AF T T AF F T AF F F AF F F BT F F BT F F BT T F BT T F B

Zadatak 10.17. Na osnovu mere „greska klasifikacije“ i datih podataka izgraditi stablo odlucivanja dubine 1.

𝑋1 𝑋2 𝑋3 KlasaT T T BF T T BF T T AF F T AF F F AT F F BT T F BT T F BT F F AT F F A

Zadatak 10.18. Na osnovu atributa „ima krila“, „leze jaja“, „leti“ konstruisati stablo odlucivanja koje prepo-znaje ptice. Za trening koristiti sledece zivotinje: roda, krava, vrabac, slepi mis, noj, zebra, gavran. Kolika jepreciznost predvia. nja tog stabla na sledecem skupu: kokoska, kornjaca, konj, lav?

Zadatak 10.19. Na osnovu sledecih podataka, konstruisati stablo odlucivanja koriscenjem mere „greska kla-sifikacije“.

𝑋1 𝑋2 𝑋3 KlasaA M F 𝐶0

A D F 𝐶0

L M F 𝐶0

L D F 𝐶1

L M G 𝐶0

L D G 𝐶1

A D G 𝐶1

Page 190: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

10.9. Evaluacija modela i konfigurisanje algoritama ucenja 190

10.36. Koja je osnovna mera kvaliteta klasifikatora?

10.37. Stablo odlucivanja je za 5 instanci ponudilo klase 𝐴,𝐴,𝐵,𝐵,𝐴, dok su ispravne klase bile 𝐴,𝐴,𝐴,𝐵,𝐵.Kolika je preciznost ovog stabla odlucivanja?

10.38. Koji procenat podataka se u masinskom ucenju obicno uzima za trening podatke, a koji za test podatke?

10.39. Sta se, radi pouzdanije evaluacije klasifikatora, cesto koristi umesto jednog deljenja na trening i testpodatke?

10.40. Kako se zove postupak evaluacije modela masinskog ucenja u kojem se skup raspolozivih podataka delina 𝑛 delova, a zatim trenira izostavljajuci po jedan od njih?

10.41. Kako se sprovodi unakrsna validacija?

10.42. U problemu klasifikacije, za koje instance kazemo da su lazno pozitivne?

10.43. Kako se definise velicina USP (udeo stvarno pozitivnih)?

Page 191: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 11

Nenadgledano ucenje

Nenadgledano ucenje je vid masinskog ucenja kod kojeg nisu date vrednosti ciljne promenljive. Naravno,masinsko ucenje ne moze dati korisnu informaciju ni iz cega. Dok je su kod nadgledanog ucenja algoritmi takvida cesto mogu uciti bilo kakve zakonitosti u datim podacima, a da se to sto se uci definise vrednostima ciljenpromenljive, u slucaju nenadgledanogucenja, kako tih vrednosti nema, ono sto se uci mora biti definisano samimalgoritmom. Odnosno, algoritmi nenadgledanog ucenja predstavljaju algoritme specificne namene.

Vecina problema koji odgovaraju ovoj formulaciji potpada pod prolbeme klasterovanja, ucenja reprezentacijei detekcije anomalija. Klasterovanje predstavlja uocavanje grupa u podacima, sto nesto govori o strukturipodataka i moze biti korisno u razlicite svrhe, o kojima ce biti reci u nastavku. Ucenje repre zentacije jepredstavlja sve znacajniji posao u masinskom ucenju. Neretko, podaci nisu u obliku u kojem algoritam ucenja,ili covek, najlakse moze iskoristiti informaciju njima. Na primer, algoritmi masinskog ucenja obicno zahtevajuvise parametara ukoliko podaci imaju vise dimenzija i zahtevaju vise racunskih operacija, a podaci su cestovisokodimenzionalni – recimo, 1.000.000 dimenzija u slucaju slika kod kojih svaki piksel predstavlja jednudimenziju, a do 100.000 u slucaju obrade teksta gde se za atribute koriste frekvencije pojedinih reci. Medutim,ovako visoka dimenzionalnost je najcesce samo posledica reprezentacije podataka. Na primer, slike lica, cak iu rezoluciji 1.000 × 1.000 ne popunjavaju ravnomerno 1.000.000-dimenzionalni prostor, vec samo njegov delic.Ostatak odgovara drugim slikama, od kojih mnoge ne predstavljaju nista coveku prepoznatljivo (npr. sum).To sugerise da postoji reprezentacija manje dimenzionalnosti koja takode opisuje sva lica. Nalazenje takvihreprezentacija i ucenje nad njima znacajno povecava uspesnost algoritama ucenja. Nekada ovakvi algoritmi sluzei za smanjenje dimazionalnosti podataka na dve ili tri dimenzije koje najbolje oslikavaju njihovu varijabilnost,sto omogucava coveku da u nekim slucajevima posmatranjem uoci neke vazne aspekte podataka. Detekcijaanomalija se tice uocavanja podataka koji strce u odnosu na ostale, bilo kako bi se izbacili iz skupa podataka,cime se cesto olaksava njihovo modelovanje i analiza, bilo kako bi se dalje analizirali. Primera radi, transakcijekreditnim karticama koje predstavljaju prevaru, lako mogu odudarati od uobicajenog nacina na koji korisnikkoristi karticu, bilo po vremenu upotrebe, bilo po vrsti usluge ili proizvoda koji se kupuje, bilo po iznosutransakcije. Slicno vazi i za upade u racunarske sisteme – ta vrsta ponasanja cesto odudara od uobicajenogponasanja korisnika.

U nastavku cemo se fokusirati na problem klasterovanja.

11.1 Klasterovanje

Klasterovanje predstavlja identifikaciju grupa u datim podacima. Potreba za resavanjem ovakvog problemamoze se javiti u razlicitim prakticnim problemima, poput identifikacije zajednica u drustvenim mrezama (naprimer, za potrebe oglasavanja), detekcije raznorodnih tkiva na medicinskim snimcima, ustanovljavanja za-jednickog porekla jezika, zivih bica i specificno ljudskih zajednica, i slicno. Pored primena koje u sebi direktnokriju problem klasterovanja, ova ethnike su cesto korisne i zarad pretprocesiranja podataka na koje ce bitiprimenjene metode nadgledanog ucenja. Na primer, u slucaju obrade ogromnog broja prodataka, cele grupepodataka mogu biti zamenjene svojim reprezentativnim predstavnicima. Ovo nije idealno sa tacke gledista kva-liteta dobijenog prediktivnog modela, ali sa tacke gledista racunske i memorijske efikasnosti moze biti isplativo.Takode, kako bi se obezbedilo da prilikom unakrsne validacije razliciti slojevi imaju slicno raspodeljene podatke,podaci se mogu prvo klasterovati, a potom se 𝑛 slojeva moze formirati tako sto se svaki od klastera podeli na𝑛 jedakih delova koji se razvrstaj u razlicite slojeve. Ocito, klasterovanje moze biti korisno kako kao tehnikaresavanja problema, tako i kao thenika pretprocesiranja.

Pojam klasterovanja nije jednoznacno definisan. Kao sto primer prikazan na slici 11.1 ukazuje, u jednomskupu se moze identifikovati vise razlicitih grupisanja, cesto razlicite granularnosti. Pritom, takvi slucajevi nisu

191

Page 192: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

11.1. Klasterovanje 192

Slika 11.1: Razlicita klasterovanja nad istim podacima.

posledica nedovoljnog promisljanja definicije klasterovanja, vec raznovrsnosti konteksta u kojima se grupisanjemoze vrsiti i ciljeva koji se pomocu klasterovanja zele postici. Za ocekivati je da je nekada potrebno izvrsitigrublje klasterovanje – u manji broj klastera, a nekada finije – u veci broj klastera. Algoritmi klasterovanjaobicno omogucavaju podesavanje nivoa granularnosti, odnosno broja klastera koji se u podacima pronalazi.

Pojam klasterovanja nije jednoznacno definisan ne samo u odnosu na broj klastera koji se u podacima mogunaci, vec i u odnosu na ideju sta jednu grupu tacaka cini klasterom. U odnosu na to, postoji vise neformalnihdefinicija klasterovanja. Globularni ili centricni klasteri su grupe tacaka koje popunjavaju unutrasnjost lopte ilieventualno elipsoida. Dobro razdvojeni klasteri su grupe tacaka koje su blize drugim tackama svoje grupe negobilo kojoj tacki iz neke druge grupe. Gustinski klasteri su klasteri cije su tacke razdvojene od tacaka drugihklastera regionima manje gustine. Hijerarhijski klasteri su ili pojedinacne tacke ili klasteri cije su tacke takodeorganizovane u strukturu hijerarhijskih klastera.

U nastavku je prikazano nekoliko cesto koriscenih, a jednostavnih, algoritama klasterovanja.

11.1.1 𝐾 sredina

Algoritam 𝑘 sredina pronalazi 𝑘 klastera u podacima koje predstavlja pomocu 𝑘 centroida tih klastera, odkojih se svaka dobija uprosecavanjem elemenata datog klastera. Ova pretpostavka cini algoritam primenljivimsamo na podatke koji se mogu uprosecavati, poput vektora. Pod odredenim uslovima, postoje uopstenja algo-ritma i na drugacije vrste podataka, ali o njima nece biti reci. Polaznih 𝑘 centroida se bira nasumicno (mada,ako korisnik zna nesto o strukturi svojih podataka, mogu biti i unapred date), a potom se ponavljaju koracipregrupisavanja tacaka u nove klastere prema bliskosti sa centroidama i preracunavanja novih centroida sve dokse centroide menjaju. Algoritam je preciznije formulisan na slici 11.2.

Primer klastera koje pronalazi ovaj algoritam, dat je na sclici 11.3 Moze se pokazati da ovaj algoritamminimizuje velicinu

𝑘∑𝑖=1

∑𝑥∈𝐶𝑖

𝑑(𝑥, 𝑐𝑖)2

gde je 𝑑 euklidsko rastojanje. Na osnovu ovoga se moze nesto zakljuciti i o njegovom ponasanju. Zahvaljujucitome sto je zasnovan na minimizaciji euklidskog rastojanja, algoritam tezi pronalazenju klastera u obliku lopte.Kako je rastojanje kvadrirano, algoritam je osetljiv na podatke koji znacajno odudaraju od ostalih. U tomslucaju ce vece rastojanje uticati na ukupnu gresku neproporcionano u odnosu na ostala rastojanja i takvatacka ce neprpororcionalno uticati na lokaciju centroide. Takode, ako gustina tacaka ne varira drasticno irastojanja medu klasterima nisu velika, algoritam preferira klastere sa slicnim brojem tacaka u njima, postobi u tom slucaju brojan klaster morao sadrzati i tacke daleko od centroide koje bi znacajno povecavale sumukvadrata rastojanja.

Page 193: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

193 11. Nenadgledano ucenje

Algoritam: Algoritam 𝑘 sredina

Ulaz: Trening skup 𝑇 ⊂ R𝑛, broj klastera 𝑘

Izlaz: Particionisanje skupa 𝑇 na disjunktne neprazne podskupove 𝐶1, . . . , 𝐶𝑘

1: Nasumice izaberi centroide 𝑐1, . . . , 𝑐𝑘 ∈ R𝑛

2: ponavljaj3: Postavi skupove 𝐶1, . . . , 𝐶𝑘 na prazne skupove;4: za svaku instancu 𝑥 ∈ 𝑇 radi5: pronadi centroidu 𝑐𝑖 koja je najbliza instanci 𝑥;6: dodaj 𝑥 u skup 𝐶𝑖;7: Izracunaj proseke 𝑐1, . . . , 𝑐𝑘 instanci iz skupova 𝐶1, . . . , 𝐶𝑘;

8: dok nije ispunjen centroide su iste kao u prethodnoj iteraciji;

9: vrati 𝐶1, . . . , 𝐶𝑘 kao resenje.

Slika 11.2: Algoritam klasterovanja 𝑘 sredina.

Slika 11.3: Klasteri pronadeni algoritmom 𝑘 sreidna.

Cinjenica da algoritam 𝑘 sredina minimizuje navedenu sumu navodi na njenu dalju analizu. Bitno je pitanjeda li ona ima jedan globalni minimum, odnosno da li je najbolje klasterovanje u odnosu na datu sumu kvadratarastojanja jedinstveno. Odgovor na prvo pitanje je negativan. Moguce je da postoji veci broj klasterovanjajednakog kvaliteta. Jedan primer u kojem bi to bilo i intuitivno je kada su tacke uniformno rasporedene unutarkruga i potrebno ih je podeliti na dva klastera. Rotiranje dobijenih centroida u odnosu na centar kruga dajepodjednako dobro klasterovanje. Drugim recima, u slucaju takvog skupa podataka, postoji puno globalnih, isamim tim podjednako dobrih, minimuma. Takva situacija nije zabrinjavajuca. Ipak, ispostavlja se da mogupostojati i lokalni minimumi slabijeg kvaliteta od globalnog i da algoritam moze naci takav minimum, sto nijedobro. Ovaj probelm se ublazava tako sto se klasterovanje pokrece veci broj puta sa od razlicitih inicijalnihtacaka i za rezultat se utima klasterovanje najmanje vrednosti sume kvadrata rastojanja.

Algoritam 𝑘 sredina omogucava fleksibilnost pri pronalazenju klastera kroz mogucnost podesavanja broja𝑘. Ipak, u praksi cesto nije jasno kako izabrati broj 𝑘 i pomenuta fleksibilnost cesto vodi nedoumici. Jednopravilo heuristicko je „pravilo lakta“ koje sugerise da se za razlicite vrednosti broja 𝑘 izvrsi klasterovanje, dase nacrta grafik zavisnosti sume kvadrata rastojanja u zavisnosti od 𝑘 i da se za izabere klasterovanje kojeodgovara broju 𝑘 koji lezi na tacki nagle promene brzine opadanja grafika iliti na njegovom „laktu“. Ovakva

Page 194: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

11.1. Klasterovanje 194

Slika 11.4: Pravilo lakta sugerise da za broj 𝑘 treba uzeti vrednost koja odgovara uspravnoj isprekidanoj liniji.

situacija je prikazana na grafiku 11.4. Intuitivno obrazlozenje je da su nakon „lakta“ klasteri vec homogeni idodavanje novih centroida ne doprinosi znacajno smanjenju sume kvadrata rastojanja.

11.1.2 DBSCAN

Algoritam DBSCAN (eng. density-based spatial clustering of applications with noise) sluzi za detekciju gu-stinskih klastera i nije ogranicen njihovim oblikom. Algoritam zahteva dva parametra – rastojanje 𝜀 i minimalanbroj tacaka 𝜇. Algoritam razvrstava tacke na tacke koje cine jezgro, a koje u svojoj 𝜀 okolini imaju bar 𝜇 tacaka,granicne tacke, koje u svojoj okolini imaju neku tacku koja cini jezgro i tacke koje cine sum, koje nisu granicneniti cine jezgro. Odudarajuce tacke se zanemaruju, dok se ostale grupisu u razlicite klastere na osnovu bliskosti.Algoritam je preciznije opisan na slici 11.5. Ilustracija je data na slici 11.6.

DBSCAN ocigledno ne pretpostavlja oblik klastera, tako da se moze koristiti za detekciju klastera najra-zlicitijih oblika dok god ih je moguce razdvojiti regionima nize gustine. Jos jedna dobra strana ovog algoritmaje sto moze odstraniti odudarajuce podatke kao sum, dok je algoritam 𝑘 najblizih suseda vrlo osetljiv na njihovoprisustvo. Potencijalni problem nastaje kada su klasteri, iako razdvojeni, sami vrlo razlicite gustine. Naime,u okolini vrlo gustog klastera, sum moze imati vecu gustinu, nego ceo drugi klaster koji ipak moze biti prepo-znatljiv po tome sto ce od svoje okoline znacajno odudarati po gusitni. Tada nije moguce izabrati parametrealgoritma tako da nadu adekvatno klasterovanje. Kao i u slucaju algoritma 𝑘 sredina, nema jasnih pravila zaizbor vrednosti 𝜀 i 𝜇.

11.1.3 Hijarahijsko klasterovanje

Hijerarhijsko klasterovanje konstruise stablo u cijim se listovima nalaze instance trening skupa, a unutrasnjicvorovi definisu strukturu klastera. Klaster koji odgovara nekom unutrasnjem cvoru sastoji se iz klastera koji

Page 195: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

195 11. Nenadgledano ucenje

Algoritam: Algoritam DBSCAN

Ulaz: Trening skup 𝑇 , rastojanje 𝜀 i broj 𝜇

Izlaz: Particionisanje skupa 𝑇 na disjunktne neprazne podskupove 𝐶1, . . . , 𝐶𝑘

1: Formiraj skup 𝒞 svih tacaka koje u svojoj 𝜀 okolini imaju bar 𝜇 tacaka;

2: Formiraj skup ℬ svih tacaka iz 𝑇 ∖ 𝒞 koje u svojoj 𝜀 okolini imaju bar jednu tacku iz 𝒞;3: Formiraj graf 𝐺 ciji su cvorovi tacke iz 𝒞 ∪ ℬ, a grana postoji izmedu svake dve tacke koje su na rastojanju

najvise 𝜀;

4: vrati komponente povezanosti 𝐶1, . . . , 𝐶𝑘 grafa 𝐺 kao resenje.

Slika 11.5: Algoritam klasterovanja DBSCAN.

Slika 11.6: Tri vrste tacaka kojima operise algoritam DBSCAN.

odgovaraju njegovim direktnim potomcima. Problem klasterovanja svodi se na problem konstrukcije ovakvogstabla. Pristupa resavanju ovog problema ima vise. Jedan koji se cesto razmatra je hijerarhijsko aglomerativnoklasterovanje pri kojem se skup klastera inicijalizuje pojedinacnim instancama, a potom se u svakom koraku,spajaju dva najslicnija klastera u jedan, cime se konstruise binarno stablo. Takvo stablo naziva se dendogram iilustrovano je na slici 11.8. Slicnost nad klasterima nije trivijalno definisati i ne postoji jedan izbor. Najcescese definise neka mera slicnosti ili rastojanja nad pojedinacnim instancama (poput euklidskog rastojanja), pase mera slicnosti ili rastojanja klastera definise na osnovu nje. Na primer, rastojanje izmedu dva klastera semoze definisati kao minimum, prosek ili maksimum rastojanja njihovih elemenata. Precizniji opis hijerarhijskogaglomerativnog klasterovanja dat je na slici 11.7. U algoritmu se pretpostavlja da se koristi mera rastojanja.Izmene kojima se prelazi na meru slicnosti su trivijalne.

Secenjem stabla na razlicitim nivoima, mogu se dobiti klasterovanja razlicite granularnosti. Konkretno, zaneku vrednost rastojanja 𝑑, na osnovu stabla, moguce je identifikovati poslednji skup 𝒞 koji je u toku keriranjastabla nastao spajanjem cvorova cije rastojanje ne prelazi datu vrednost 𝑑. Ovo je ilustrovano na slici 11.8.Dobra strana ovakvog klasterovanja je sto pruza vise informacija nego algoritmi koji pronalaze samo jednupodelu podataka na klastere. Takode, razlicitim izborom mere slicnosti nad klasterima mogu se dobiti metodirazlicitih svojstva. Losa strana je sto u toku rada racuna slicnosti svih klastera sa svima vodi visokoj vremenskoj,

Page 196: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

11.1. Klasterovanje 196

Algoritam: Algoritam aglomerativnog hijerarhijskog klasterovanja

Ulaz: Trening skup 𝑇 = 𝑥1, . . . , 𝑥𝑁, mera rastojanja 𝑑

Izlaz: Stablo kalasterovanja 𝒯

1: Inicijalizuj skup 𝒞 na skup listova 𝑙1 = (𝑥1, 0), . . . , 𝑙𝑁 = (𝑥𝑁 , 0);2: ponavljaj3: Izracunaj rastojanja 𝑑𝑖𝑗 = 𝑑(𝑐𝑖, 𝑐𝑗) medu svim elementima (𝑐𝑖, 𝑑𝑖), (𝑐𝑗 , 𝑑𝑗) ∈ 𝒞;4: Pronadi najblizi par elemenata (𝑐𝑖, 𝑑𝑖), (𝑐𝑗 , 𝑑𝑗) iz 𝒞;5: Konstruisi unutrasnji cvor (𝑐𝑖 ∪ 𝑐𝑗 , 𝑑𝑖𝑗) i dodaj mu cvorove (𝑐𝑖, 𝑑𝑖) i (𝑐𝑗 , 𝑑𝑗) kao direktne potomke;6: 𝒞 ← (𝒞 ∖ (𝑐𝑖, 𝑑𝑖), (𝑐𝑗 , 𝑑𝑗)) ∪ (𝑐𝑖 ∪ 𝑐𝑗 , 𝑑𝑖𝑗);7: dok nije ispunjen skup 𝒞 je jednoclan

8: Vrati stablo ciji je koren jedini cvor u skupu 𝒞.

Slika 11.7: Algoritam aglomerativnog hijerarhijskog klasterovanja.

a najcesce i prostornoj slozenosti zbog cuvanja matrice rastojanja.

Page 197: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

197 11. Nenadgledano ucenje

Slika 11.8: Dendogram sa skalom rastojanja medu klasterima. Izborom nekog praga rasotjanja ili broja klastera,dendogram moze dati klasterovanja razlicite granularnosti.

Page 198: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Page 199: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

Glava 12

Ucenje potkrepljivanjem

Mnogi problemi se prirodno resavaju nizom akcija koje svojim zajednickim efektom dovode do cilja. Ocigledanprimer je igranje igre poput saha, ali i mnogi problemi robotike, planiranja, upravljanja i slicno. Pritom, u ta-kvim problemima cesto nije lako za neku akciju u nizu reci da li je bila prava ili nije. Na primer, u sahu, gubitakfigure je cesto los, ali se figure nekada namerno zrtvuju kako bi dugorocnom strategijom bio postignut neki cilj.U takvim problemima je tipicno lako reci samo da li je problem uspesno resen celim nizom akcija, a preraspodelazasluga za uspeh ili neuspeh na pojedinacne akcije je netrivijalna. Takode, ishod neke akcije zavisi od kontekstau kojem je preduzeta. U sahu, uzimanje protivnikove figure moze imati razlicite posledice zavisno od toga da lije figura cuvana ili nije. Ovo je tipican scenario u kojem se koristi takozvano ucenje potkrepljivanjem (eng. re-inforcement learning), koje predstavlja pristup masinskom ucenju inspirisan nacinom ucenja pomocu pokusajai gresaka, cesto prisutnom kod zivotinja. Cilj ove vrste ucenja je da pomocu iskustva u mnostvu pokusajaresavanja problema nauci kako da u razlicitim situacijama u resavanju problema bira adekvatne akcije.

Inspirisana razmatranjima nalik prethodnom, postavka ucenja potkrepljivanjem pretpostavlja postojanjeagenta koji je u stanju da svojim akcijama interaguje sa okolinom. Pri svakoj interakciji menja se stanje ukojem se agent nalazi, a agent dobija odedenu nagradu, predstavljenu relanim brojem. Cilj agenta je da naucipolitiku, preslikavanje iz skupa stanja u skup akcija, koje koristi za odlucivanje, tako da maksimizuje sumu svihnagrada koje dobije u procesu interagovanja. Resavanje problema pomocu ucenja potkrepljivanjem pre svegapodrazumeva definisanje nagrada, tako da pronalazenje politike koja vodi maskimalnoj ukupnoj nagradi vodii resenju problema. Skupovi akcija i stanja su nekad odredeni definicijom problema, ali ih je nekada moguce ipogodno definisati ili aproksimirati u cilju efikasnijeg resavanja problema.

Primer 12.1. U slucaju saha, agent je igrac. Okruzenje cine igrac protivnik, tabla i figure (pretpostavljamo dase ne koristi sat). Stanja su uredene 64-vorke od kojih svaka moze biti jedna sahovska figura ili prazno polje.Akcije koje agent moze da preduzme su legalni sahovski potezi u datom rasporedu figura na tabli. Nagrade mogubiti 1, odnosno −1 za potez kojim agent dobija, odnosno gubi partiju, a 0 u svim ostalim potezima. Tipicnagreska prilikom izbora nagrada bi bila da se nagrade definisu kao pozitivne pri svakom potezu kojim agent uzimaprotivnicku figuru. Na ovaj nacin bi agent mogao da nauci da uzme veliki broj protivnickih figura, cak i pocenu toga da izgubi partiju. Otud je vrlo vazno prilikom definisanja nagrada voditi racuna da politka koja vodimaksimalnoj nagradi zaista vodi resenju problema.

Primer 12.2. Igra pong se igra u dva igraca koji se dobacuju lopticom sa ciljem da suprotni igrac ne uspe davrati lopticu, pri cemu se loptica moze odbiti reketom koji se krece duz vertikalnog pravca pri ivici ekrana kojaodgovara datom igracu. Agent je ponovo igrac. Okruzenje cine loptica, zakoni njenog kretanja i drugi igrac.Stanja su u idealnom slucaju odredena lokacijom loptice, njenim vektorom kretanja, brzinom njenog kretanja iistim parametrima za rekete oba igraca. Za razliku od prethodnog primera, ovde se javlja prvi problem vezanza predstavljanje stanja. Igra ne daje neposredno informacije o vektorima pravaca kretanja i brzini objekata,vec generise slike jednu za drugom u skladu sa kretanjem objekata. Stoga se ove velicine ne mogu direktnokoristiti prilikom ucenja. Nacin da se ove infromacije aproksimiraju bi mogao biti da se stanje definise kaorazlika dve slike dobijene u susednim trenucima. Sve pomenute velicine su vidljive u takvoj reprezentaciji, kaosto je ilustrovano slikom 12.1. Akcije su pomeranje reketa gore ili dole i mirovanje. Sto se tice nagrada, ponovoje dobro dati nagradu 1 kada agent dobije partiju, −1 kada je izgubi i 0 u svakom drugom koraku. Na prvipogled, mozda bi imalo smisla dati agentu nagradu 1 kad god uspesno vrati lopticu. Medutim, u tom slucaju bioptimalna politika bila takva da agent svaki put vrati lopticu, ali tako da protivnik takode moze lako da je vrati,kako se igra nikada ne bi zavrsila, jer bi to vodilo neogranicenom prikupljanju nagrada.

199

Page 200: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

12.1. Markovljevi procesi odlucivanja i njihovo resavanje 200

Slika 12.1: Tri stanja igre pong. Zuta boja oznacava vrednost 1, a ljubicasta vrednost −1. U prvom stanju sevidi da se loptica krece gore desno, a oba reketa nagore, pri cemu desni znacajno brze nego levi. Na drugoj seloptica krece dole desno, levi reket sporo nadole, a desni sporo nagore. Na trecoj se loptica krece dole levo, levireket poro nadole, a desni miruje. Na cetvrtoj slici se loptica vrlo sporo krece dole desno, a oba reketa miruju.

Primer 12.3. Neka je potrebno upravljati helikopterom tako da se krece unapred zadatom putanjom od jednetacke na toj putanji do druge u praznom prostoru. Pozeljno je dati put preci sto brze. Kako su helikopteri skupi,pretpostavka je da se ucenje primarno obavlja u simulatoru. Agent je vozac helikoptera, a okruzenje je defi-nisano fizickim zakonima koji uticu na letenje - gravitacijom, mehanikom, itd. Stanje bi moglo biti definisanovektorom polozaja tezista helikoptera u odnosu na neki fiksirani koordinatni sistem, njegovim pokoordinatnimizvodom (koji daje brzinu kretanja), vektorom orijentacije helikoptera (npr. vektorom teziste-nos) i njegovimpokoordinatnim izvodom. Ovakva definicija stanja ima nekoliko manjkavosti. Prvo, mozda ne sadrzi sve rele-vantne informacije. Na primer, drugi izvodi pomenutih vektora su takode relevantni jer predstavljaju ubrzanja.Drugo, za razliku od prethodnih primera, ove velicine su neprekidne, sto nosi odredene izazove u procesu ucenja.Ukoliko se ovakva definicija stanja ispostavi manjkavom u praksi, moze se probati sa drugacijom. Akcije semogu definsati u terminima komandi koje pilot ima na raspolaganju. I takve akcije su neprekidne jer ukljucujupomeranje upravljacke palice u neprekidnom prostoru. Kako i to nosi thenicke izazove za algoritme ucenja, bilobi moguce diskretizovati ih, ali postoje i algoritmi ucenja koji to ne zahtevaju. U prethodnim primerima, vremeje bilo diskretno. U prvom potpuno prirodno, a u drugom uslovljeno brojem slika koje mogu biti prikazane usekundi. U ovom primeru je vreme neprekidno. To se moze restiti ili diskretizacijom vremena ili prelaskom nakomplikovanije algoritme ucenja koji bi umesto sumiranja, vrsili integraciju nagrade. Jedna ideja za definisanjenagrade bi mogla biti negativna vrednost vremena potrebnog za stizanje do cilja. Ocigledno, ovakva nagrada neforsira let duz unapred definisane putanje, vec favorizuje pravu liniju izmedu tacaka. Stoga bi nagrada moglabiti definisana kompozitno – tako da razliciti faktori od znacaja daju svoje doprinose ukupnoj nagradi. Jednakomponenta bi bila negativno rastojanje od definisane putanje, cime se favorizuje let po putanji ili u njenojbliskoj okolini. Druga bi bila −1 kako bi bilo favorizovano brze kretanje. Ove komponente mogu imati tazlicitetezine pri sumiranju, a koje odreduju relativni znacaj navedenih ciljeva.

Ono sto se moze primetiti u datim primerima je da od prvog ka poslednjem raste sloboda u definisanjurelevantnih elemenata problema ucenja, pa cak i u definisanju samog problema, kao i slozenost resenja. Upraksi je ocekivana situacija kao u trecem primeru. Ipak, prvi primer sakriva pravu slozenost problema kojise razmatra. To sto je, kao u njemu, lako definisati osnovne elemente problema ucenja, ne znaci da su takoizabrane definicije pogodne za uspesno ucenje i u konkrentom primeru i nisu, sto ce postati jasnije kroz daljudiskusiju.

12.1 Markovljevi procesi odlucivanja i njihovo resavanje

Markovljev proces odlucivanja je uobicajeni formalni okvir u kojem se diskutuju problemi koji se resavajuucenjem potkrepljivanjem. Njegovo razumevanje je prvi korak ka konstrukciji algoritama u ovoj oblasti.

Definicija 12.1. Markovljev proces odlucivanja je uredena sestorka (𝒮,𝒜,ℛ, 𝜏, 𝑝, 𝛾) gde je 𝒮 skup stanja, 𝒜je skup akcija, ℛ ⊆ R je skup nagrada, 𝜏 je trajektorija, odnosno niz slucajnih promenljivih

𝑆0, 𝐴0, 𝑅0, 𝑆1, 𝐴1, 𝑅1, 𝑆2, 𝐴2, 𝑅2, . . .

takvih da vazi 𝑆𝑡 ∈ 𝒮, 𝐴𝑡 ∈ 𝒜 i 𝑅𝑡 ∈ ℛ za svako 𝑡 ≥ 0, 𝑝 : 𝒮 ×ℛ×𝒮 ×𝒜 → R je funkcija prelaska takva da zasvako 𝑡 ≥ 0 vazi

𝑝(𝑠′, 𝑟|𝑠, 𝑎) = 𝑃 (𝑆𝑡+1 = 𝑠′, 𝑅𝑡 = 𝑟|𝑆𝑡 = 𝑠,𝐴𝑡 = 𝑎)

i 𝛾 je realan broj iz intervala [0, 1] koji se naziva faktorom umanjenja.

Page 201: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

201 12. Ucenje potkrepljivanjem

Primer 12.4. Prethodni primeri vec ilustruju koncepte stanja, akcija i nagrada, pa samim tim i trajektorijekoja predstavlja niz tih velicina. Funkcija prelaska u slucaju saha i ponga je deterministicka, odnosno za datostanje 𝑠 i nagradu 𝑎, za tacno jedan par vrednosti 𝑠′ i 𝑟 vazi 𝑝(𝑠′, 𝑟|𝑠, 𝑎) = 1, dok za ostale vazi 𝑝(𝑠′, 𝑟|𝑠, 𝑎) = 0.Na primer, u slucaju saha, jednim potezom 𝑎 se iz datog stanja 𝑠 prelazi u tacno jedno stanje 𝑠′ pri cemu sedobija nagrada 𝑟 u skladu sa definicijom nagrada za taj problem. Verovatnoca da se povlacenjem istog poteza uistom polaznom stanju prede u neko stanje 𝑠′′ = 𝑠′ ili da se pri tome dobije neka nagrada 𝑟′′ = 𝑟′ je 0.

U slucaju voznje helikoptera ne mogu se uzeti u obzir svi zamislivi faktori koji na njegovo kretanje uticu. Naprimer, u zavisnosti od ponasanja vetra, helikopter iz jednog stanja pri datoj akciji moze preci u razlicita, iakobliska, nova stanja. Otud funkcija prelaska ne mora biti deterministicka.

Definicija Markovljevog procesa odlucivanja podrazumeva da verovatnoce prelaska iz jednog stanja u drugo,pri preduzimanju neke akcije ne zavise ni od cega osim od polaznog stanja i preduzete akcije:

𝑝(𝑠′, 𝑟′|𝑠, 𝑎) = 𝑃 (𝑆𝑡 = 𝑠′, 𝑅𝑡−1 = 𝑟|𝑆𝑡 = 𝑠,𝐴𝑡 = 𝑎)

Drugim recima, da bi neka struktura bila Markovljev proces odlucivanja treba da vazi:

𝑃 (𝑆𝑡, 𝑅𝑡−1|𝑆0, 𝐴0, 𝑅0, . . . , 𝑆𝑡−1, 𝐴𝑡−1) = 𝑃 (𝑆𝑡, 𝑅𝑡−1|𝑆𝑡−1, 𝐴𝑡−1)

Ovo svojstvo se naziva Markovljevim svojstvom i govori da ako je poznato trenutno stanje procesa, za za-kljucivanje o njegovoj buducnosti poznavanje proslosti nije potrebno. Odnosno, ako znamo trenutno stanje,nije bitno kako se do njega stiglo. Recimo, u slucaju saha, stanje table i informacija koji je igrac na potezudaju dovoljnu informaciju za odlucivanje o daljem toku igre. Kako se do tog stanja stiglo, za potrebe buducegodlucivanja potpuno je nebitno.

Primetimo da trajektorije mogu biti konacne, kao sto su u slucaju saha, ali su zamislive i beskonacne trajek-torije. Njihove realizacije (odnosno nizove realizacija slucajnih promenljivih koje ih cine) nazivamo epizodama,pa i epizode mogu biti konacne ili beskonacne. Generisanje epizode je posledica interakcija agenta sa okoli-nom. Jedan deo generisuceg mehanizma zavisi od funkcije prelaska koja definise okolinu, dok je drugi definisanponasanjem agenta. Ponasanje agenta se moze formalizovati politikom 𝜋(𝑎|𝑠), raspodelom verovatnoce nad ak-cijama za dato stanje, odnosno smatra se da ce agent u stanju 𝑠 preduzeti akciju 𝑎 sa verovatnocom 𝜋(𝑎|𝑠).Politika je deterministicka ukoliko je verovatnoca jedne od akcija jednaka 1, dok su verovatnoce ostalih jednake0. Kako je ponasanje agenta opisano iskljucivo politikom, u kontekstu agentovog odlucivanja, pojmovi agenta ipolitike mogu se koristiti naizmenicno.

U ucenju potkrepljivanjem pre svega marimo za ukupan dobitak koji agent ostvari u toku jedne epizode.Dobitak od koraka 𝑡 se definise kao red 𝐺𝑡 =

∑∞𝑘=0 𝛾

𝑘𝑅𝑡+𝑘 uz konvenciju 00 = 1. U slucaju beskonacnihepizoda, podrazumeva se da su nepostojece slucajne promenljive u ovoj definiciji jednake nuli. Primetimo da,iako nije eksplicitno oznaceno, dobitak zavisi od politike.

Sada je moguce objasniti i faktor umanjenja. U slucaju da su nagrade ogranicene, sto je prihvaljiva pretpo-stavka, ako je 𝛾 < 1, dobitak konvergira. Pored ovog cisto tehnickog znacaja, faktor umanjenja ima i intuitivnismisao – omogucava nam da vagamo znacaj kratkorocnih i dugorocnih nagrada. Ukoliko vazi 𝛾 = 0, politikakoja maksimizuje takav dobitak bila bi pohlepna – u svakom koraku bi birala akciju koja nudi najvecu nagradukoja se moze dobiti u tom koraku. Za vece vrednosti 𝛾 optimalna politika uzima u obzir buduce nagrade savecom tezinom.

Pod resavanjem Markovljevog procesa odlucivanja podrazumeva se pronalazenje politike koja vodi maksi-malnom ocekivanom dobitku agenta, pri cemu je ocekivanje u odnosu na zajednicku raspodelu svih promenljivihu trajektoriji

𝜏 = 𝑆0, 𝐴0, 𝑅0, 𝑆1, 𝐴1, 𝑅1, 𝑆2, 𝐴2, 𝑅2, . . .

odnosno u odnosu na raspodelu

𝑃 (𝜏) = 𝑃 (𝑆0)

∞∏𝑡=0

𝜋(𝐴𝑡|𝑆𝑡)𝑝(𝑆𝑡+1, 𝑅𝑡|𝑆𝑡, 𝐴𝑡)

gde je 𝑃 (𝑆0) raspodela po mogucim polaznim stanjima agenta, 𝜋 politika prema kojoj agent donosi odlukei 𝑝 funkcija prelaska okoline. Raspodela polaznih stanja i funkcija prelaska ce se smatrati fiksiranim i cestoizostavljati kako bi se pojednostavila notacija.

Ocekivana nagrada koju agent dobija prateci politiku 𝜋 iz nekog stanja 𝑠

𝑣𝜋(𝑠) = E𝜋[𝐺𝑡|𝑆𝑡 = 𝑠]

naziva se funkcija vrednosti stanja. Primetimo da je zbog Markovljeve pretpostavke nebitno o kom trenutku 𝑡se radi. Pored funkcije vrednosti stanja, cesto se govori o funkciji vrednosti akcije u stanju

𝑞𝜋(𝑠, 𝑎) = E𝜋[𝐺𝑡|𝑆𝑡 = 𝑠,𝐴𝑡 = 𝑎]

Page 202: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

12.1. Markovljevi procesi odlucivanja i njihovo resavanje 202

Ove funkcije se mogu lako povezati:

𝑣𝜋(𝑠) = E[𝐺𝑡|𝑆𝑡 = 𝑠] (12.1)

=∑𝑎

𝜋(𝑎|𝑠)E[𝐺𝑡|𝑆𝑡 = 𝑠,𝐴𝑡 = 𝑎] (12.2)

=∑𝑎

𝜋(𝑎|𝑠)𝑞𝜋(𝑠, 𝑎) (12.3)

Primetimo intuitivnost ove veze. Ocekivani dobitak u stanju 𝑠 je prosek ocekivanih dobitaka kada se u stanju𝑠 preduzme akcija 𝑎, pri cemu se svaki od tih dobitaka pri uprosecavanju otezava verovatnocom akcije 𝑎 ciji jerezultat. Moguce je izraziti i funckiju 𝑞 preko funkcije 𝑣:

𝑞𝜋(𝑠, 𝑎) = E[𝐺𝑡|𝑆𝑡 = 𝑠,𝐴𝑡 = 𝑎] (12.4)= E[𝑅𝑡 + 𝛾𝐺𝑡+1|𝑆𝑡 = 𝑠,𝐴𝑡 = 𝑎] (12.5)

=∑𝑠′,𝑟

𝑝(𝑠′, 𝑟|𝑠, 𝑎)[𝑟 + 𝛾E[𝐺𝑡+1] (12.6)

=∑𝑠′,𝑟

𝑝(𝑠′, 𝑟|𝑠, 𝑎)[𝑟 + 𝛾𝑣𝜋(𝑠′)] (12.7)

Primetimo da je lakse iz funkcije 𝑞 dobiti funkciju 𝑣, nego obrnuto. Naime, prvi smer podrazumeva da jepoznata politika 𝜋 sto je u praksi tipicno slucaj, posto se politika koristi za upravljanje agentom. Drugi smerpodrazumeva da je poznata funkcija prelaska, odnosno da je poznato funkcionisanje okruzenja, sto cesto nijetacno jer je okruzenje osim u retkim slucajevima, poput igara, tesko precizno opisati. Na primer, u slucaju voznjehelikoptera tesko je tacno opisati kretanja vazduha koja bi mogla uticati na ishode akcija pilota u odredenimstanjima.

Funkcije vrednosti omogucavaju merenje kvaliteta politika. Naime, ukoliko za sva stanja 𝑠 ∈ 𝒮 vazi

𝑣𝜋1(𝑠) ≥ 𝑣𝜋2

(𝑠)

jasno je da je prva politika bolja od druge ili joj je bar jednaka. Time je definsan parcijalni poredak nadpolitikama 𝜋1 ≥ 𝜋2. Ono sto je zanimljivo je da za svaki Markovljev proces odlucivanja postoji bar jednaoptimalna politika 𝜋* – politika koja je bolja ili jednaka od svih ostalih politika. Sve optimalne politike delejednu funkciju vrednosti stanja i jednu funkciju vrednosti akcije u stanju:

𝑣*(𝑠) = max𝜋

𝑣𝜋(𝑠)

𝑞*(𝑠, 𝑎) = max𝜋

𝑞𝜋(𝑠, 𝑎)

za sve 𝑠 ∈ 𝒮 i 𝑎 ∈ 𝒜. Primetimo i neke prirodne veze izmedu ovih funkcija. Na primer, vazi

𝑣*(𝑠) = max𝑎

𝑞*(𝑠, 𝑎)

posto se najveci ocekviani dobitak u nekom stanju dobija preduzimanjem najbolje akcije u tom stanju. Naravno,ovo se moze i formalno dokazati.

Primetimo da poznavanje funkcije 𝑞* omogucava izracunavanje bar jedne optimalne politike. Naime, kakoje u svakom stanju najpozeljnija akcija ona koja daje najvecu ocekivanu nagradu u datom stanju, politka

𝜋*(𝑎|𝑠) =

1 ako vazi 𝑎 = argmax𝑎 𝑞*(𝑎, 𝑠)0 inace

je optimalna. Otud je pozeljno imati nacin izracunavanja funkcije 𝑞*. Jedan nacin da se to postigne pruzajutakozvane Belmanove kosti koje izrazavaju rekurentne veze funkcija vrednosti. Konkretno, za funkciju 𝑣* vazi:

𝑣*(𝑠) = max𝑎

𝑞*(𝑠, 𝑎) (12.8)

= max𝑎

E𝜋* [𝐺𝑡|𝑆𝑡 = 𝑠,𝐴𝑡 = 𝑎] (12.9)

= max𝑎

E𝜋* [𝑅𝑡 + 𝛾𝐺𝑡+1|𝑆𝑡 = 𝑠,𝐴𝑡 = 𝑎] (12.10)

= max𝑎

∑𝑠′,𝑟

𝑝(𝑠′, 𝑟|𝑠, 𝑎)[𝑟 + 𝛾E[𝐺𝑡+1|𝑆𝑡 = 𝑠′, 𝐴𝑡 = 𝑎]] (12.11)

= max𝑎

∑𝑠′,𝑟

𝑝(𝑠′, 𝑟|𝑠, 𝑎)[𝑟 + 𝛾𝑣*(𝑠′)] (12.12)

Page 203: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

203 12. Ucenje potkrepljivanjem

Belmanova jednkost za funkciju 𝑞 je:

𝑞*(𝑠, 𝑎) =∑𝑠′,𝑟

𝑝(𝑠′, 𝑟|𝑠, 𝑎)[𝑟 + 𝛾max

𝑎′𝑞*(𝑠

′, 𝑎′)]

Nije tesko dokuciti intuitivni smisao poslednje jednakosti. Naime, dobitak pri preduzimanju akcije 𝑎 u stanju𝑠 zavisi od neposredno dobijene nagrade i najveceg dobitka koji se moze dobiti iz stanja u koje se dospenakon preduzimanja akcije. Pritom, kako su razliciti prelasci u naredna stanja razlicito verovatni, potrebno jeneposredno dobijene nagrade i buduce dobitke otezati verovatnocama tih prelaza.

Ove jednacine omogucavaju izracunavanje funkcija vrednosti jednostavnim iterativnim postupcima

𝑣𝑖+1(𝑠)← max𝑎

∑𝑠′,𝑟

𝑝(𝑠′, 𝑟|𝑠, 𝑎)[𝑟 + 𝛾𝑣𝑖(𝑠′)]

za svako 𝑠 i𝑞𝑖+1(𝑠, 𝑎)←

∑𝑠′,𝑟

𝑝(𝑠′, 𝑟|𝑠, 𝑎)[𝑟 + 𝛾max

𝑎′𝑞𝑖(𝑠

′, 𝑎′)]

za svako 𝑠 i 𝑎. Ovi postupci konvergiraju za proizvoljne inicijalne vrednosti 𝑣0 i 𝑞0 u slucaju konacnih skupova𝒮 i 𝒜. Medutim, ako su ovi skupovi velike kardinalnosti, ova konvergencija ce biti previse spora za prakticnuupotrebu. Ako su beskonacni, onda ovaj algoritam nije ni primenljiv.

Primer 12.5. Zamislimo jednostavan svet – tablu dimenzija 5 × 5 polja, koja ima rupu umesto polja (3, 3) icilj na polju (3, 1) (indeksiranje pocinje od 0). Agent moze da se krece po tabli po jedno polje levo, desno, gorei dole. Ipak, preduzimanje jedne takve akcije ne mora uvek da rezultuje zeljenim ishodom, vec se to desava saverovatnocom 𝑝, a sa verovatnocom 1 − 𝑝 se nasumice bira jedna od preostale tri mogucnosti. Pad sa tablerezultuje nagradom −1 i krajem epizode, dostizanje cilja nagradom 1 i krajem epizode, a ostali ishodi nagradom0.

Pitanje je koja je funkcija vrednosti stanja 𝑣 za neke konkretne vrednosti parametara 𝑝 i 𝛾. Za razlicitevrednosti tih parametara funkcija 𝑣 data je na slici 12.2. Opsti je trend da su vrednosti vise ako je polje blizecilju, a dalje od rupe i ivica, a da su manje ako je polje dalje od cilja, a blize rupi i ivicama. U slucaju 𝑝 = 1i 𝛾 = 1, svako polje osim rupe ima vrednost 1. To je tako jer je sa svakog drugog polja moguce bez greske docido cilja. Za 𝑝 = 1, smanjivanjem faktora umanjenja, ocekivano, polja bliza cilju postaju vrednija. Preciznije,ako je 𝑝 = 1, vrednost svakog polja osim cilja i rupe je 𝛾𝑘−1 gde je 𝑘 minimalan broj poteza potrebnih zadolazak do cilja. Ipak, to nije nuzno tako i za druge vrednosti parametra 𝑝. Za 𝑝 = 0.25, odnosno u slucajunasumicnog kretanja, recimo vidi se da polja iznad ciljnog postaju vrednija sa smanjenjem parametra 𝛾. Naime,polje neposredno iznad postaje vrednije zbog neposredne nagrade kojoj doprinosi i mogucnost poteza nanize savrednoscu 1, a koja se ceni vise nego dugorocne negativne nagrade koje dominiraju tablom. Povecanje vrednostitog polja dalje pogoduje povecanju vrednosti njemu okolnih polja.

Pri smanjivanju vrednosti parametra 𝑝, ponasanje agenta postaje sve nasumicnije i sanse da naide na poljesa nagradom se smanjuju, sto se vidi kroz vrednosti polja. Vrednosti parametara

gama i p staviti sa strane iodozgo.12.2 Ucenje u nepoznatom okruzenju

Prethodni algoritam za odredivanje optimalne politike primenljiv je samo ako je okruzenje poznato, odnosnoako je poznata njegova funkcija prelaska. U realnim primenama retko je slucaj da je ovo ispunjeno. Iakonam funkcionisanje razlicitih okruzenja moze biti razumljivo na nekom nivou intuicije, to nije dovoljno zaprimenu prethodnog algoritma. U takvim situacijama potrebno je paralelno sa odredivanjem optimalne politikeupoznavati i okruzenje u kojem agent dela, sto sugerise da agent mora istrazivati svoje okruzenje preduzimajuciakcije koje ce ga odvesti u razlicita stanja. Agent bi to mogao postici preduzimanjem nasumicnih akcija urazlicitim stanjima, ali bi takav algoritam bio previse spor jer ne bi koristio nikakvu informaciju od okruzenjakao smernicu za efikasnije ucenje. Postoji vise principa na kojima se konstruisu ovakvi algoritmi, ali cemo sefokusirati samo na jedan popularan princip zasnovan na Belmanovim jednakostima.

Primetimo da u Belmanovim jednakostima figurise ocekivanje zbira tekuce nagrade i vrednosti buducegstanja. Ocekivanja se cesto ocenjuju uzorackim prosekom, pri cemu se uzorak moze dobiti tako sto ce agentinteragovati sa okolinom. U ekstremnom slucaju taj uzorak moze sadrzati samo jedno opazanje koje se dobijapreduzimanjem neke akcije u nekom stanju. Kao sto je vec navedeno, Belmanova jednakost za funkciju 𝑞 glasi:

𝑞*(𝑠, 𝑎) =∑𝑠′,𝑟

𝑝(𝑠′, 𝑟|𝑠, 𝑎)[𝑟 + 𝛾max

𝑎′𝑞*(𝑠

′, 𝑎′)]

Page 204: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

12.2. Ucenje u nepoznatom okruzenju 204

Slika 12.2: Funkcije vrednosti stanja zaokruzena na dve decimale, za razlicite vrednosti parametara 𝛾 i 𝑝. Zutaboja oznacava vrednost 1, a ljubicasta vrednost −1. Po redovima, vrednosti parametra 𝑝 su 1, 0.7 i 0.25. Pokolonama, vrednosti parametra 𝛾 su 1, 0.9 i 0.5.

Page 205: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

205 12. Ucenje potkrepljivanjem

odnosno, vrednost 𝑞*(𝑠, 𝑎) bi pri jednom preduzimanju akcije 𝑎 u stanju 𝑠, pri cemu se prelazi u stanje 𝑠′ bilaaproksimirana izrazom:

𝑟 + 𝛾max𝑎′

𝑞*(𝑠′, 𝑎′)

gde je 𝑟 konkretna dobijena nagrada. Ocigledan problem u ovom principu je da funkcija 𝑞* koja figurise uovom izrazu nije poznata – upravo ona se ocenjuje. Kljucni korak u izvodenju novog algoritma je koriscenjetekuce ocene ove funkcije u gornjem izrazu umesto njene stvarne vrednosti. Kako se ta funkcija menja u tokuprocesa njenog ocenjivanja, ovaj postupak je potrebno sprovoditi iterativno. Iterativni postupak omogucava isakupljanje veceg broja opazanja. Ona se usrednjavaju pokretnim prosekom, odnosno linearnom interpolacijomizmedu tekuce ocene funkcije vrednosti i one koja se dobija u poslednjem koraku. Konkretno, algoritam ocenefunkcije vrednosti akcije u stanju se zasniva na sledecem pravilu azuriranja koje se sprovodi pri akciji 𝑎 kojuagent preduzima u stanju 𝑠, cime prelazi u stanje 𝑠′ dobijajuci nagradu 𝑟:

𝑞(𝑠, 𝑎)← (1− 𝛼𝑡)𝑞(𝑠, 𝑎) + 𝛼𝑡(𝑟 + 𝛾max𝑎′

𝑞(𝑠′, 𝑎′))

gde 𝛼𝑡 ∈ [0, 1] predstavlja brzinu ucenja, odnosno parametar koji vaga znacaj tekuce i novodobijene ocene ukoraku 𝑡. Kao i u slucaju gradijentnog spusta, za konvergenciju je dovoljno da niz 𝛼𝑡 zadovoljava uslove

∞∑𝑡=0

𝛼𝑡 =∞∞∑𝑡=0

𝛼2𝑡 <∞

Iako je definisano pravilo azuriranja ocene pri jednom prelazu, algoritam nije do kraja definisan. Naime,pitanje je koju akciju agent preduzima u nekom stanju kako bi generisao prelaz. Zanimljivo je da je dovoljnoakcije preduzimati tako da se svi parovi stanja i akcija posecuju beskonacno puta. Nacin na koji se ovo realizujeu praksi je koriscenje 𝜀-pohlepne politike. 𝜀-pohlepna politika u odnosu na datu funkciju 𝑞 je politika koja saverovatnocom 𝜀 bira akciju nasumicno sa jednakom verovatnocom po svim akcijama, a u suprotnom pohlepnou odnosu na funkciju 𝑞, odnosno:

𝜋𝑞,𝜀(𝑎|𝑠) =

1− 𝜀 ako 𝑎 = argmax𝑎′ 𝑞(𝑠, 𝑎′)𝜀

|𝒜|−1 inace

Parametar 𝜀 treba da bude strogo veci od 0, ali se tipicno prilikom treninga smanjuje. Jedna varijanta ovakvogpostupka precizirana je algoritmom 12.3 i naziva se 𝑞-ucenje (eng. 𝑞-learning). U datom algoritmu vazi 𝛼𝑡 = 1/𝑡i 𝜀𝑡 = 1/𝑡, ali moguci su i drugi izbori.

Algoritam: Algoritam 𝑞-ucenja.

Ulaz: Broj iteracija 𝑁

Izlaz: Aproksimacija funkcije 𝑞*

1: Nasumicno inicijalizuj 𝑞 za sve parove 𝑠 i 𝑎;

2: 𝑡← 1

3: ponavljaj4: Ako je epizoda zavrsena, postavi stanje 𝑠 na polazno5: Preduzmi akciju 𝑎 ∼ 𝜋𝑞,1/𝑡(𝑎|𝑠) i opazi nagradu 𝑟 i novo stanje 𝑠′

6: 𝑞(𝑠, 𝑎)← (1− 1/𝑡)𝑞(𝑠, 𝑎) + (𝑟 + 𝛾max𝑎′ 𝑞(𝑠′, 𝑎′))/𝑡7: 𝑡← 𝑡+ 1

8: dok nije ispunjen uslov 𝑡 = 𝑁

9: Vrati 𝑞 kao resenje

Slika 12.3: Algoritam 𝑞-ucenja.

Ovaj algoritam resava problem nepoznavanja okruzenja, ali ne i problem velikih ili beskonacnih skupovastanja i akcija, kakav je slucaj u diskutovanom primeru igranja saha. Naime, u takvom slucaju nije jasno kakocuvati informacije o aproksimaciji 𝑞(𝑠, 𝑎) u racunaru i kako dovoljno puta posetiti sve parove stanja i akcijada aproksimacija bude dovoljno dobra za prakticne potrebe. Dodatno, ovako treniran agent se ne moze snacini u jednom stanju koje ranije nije video, cak i ako je to stanje slicno vec videnim. Odnosno, algoritam ne

Page 206: (2020) - University of Belgradepoincare.matf.bg.ac.rs/~janicic//courses/vi.pdf · (2020) Glava 1 Reˇsavanjeproblemakoriˇs´cenjempretrage Veˇstaˇcka inteligencija bavi se, prevashodno,

Elektr

onsko

izdan

je(20

20)

12.3. Primene ucenja potkrepljivanjem 206

generalizuje na nepoznate situacije i otud ga je tesko smatrati algoritmom ucenja. U slucaju saha, nezamislivoje da ce sva moguca stanja biti videna prilikom treninga.

Resenje ovih problema diskutovacemo zadrzavsi preptostavku o konacnosti skupa akcija, sto je dovoljnodobro za mnostvo primena. Kljucno zapazanje je da se funkcija 𝑞* moze uciti kao i u drugim pristupimamasinskog ucenja – uvodenjem parametrizovanog modela 𝑞𝑤 nad nekom preprezentacijom stanja i akcija. Kakosu akcije konacne, nije neophodno traziti posebnu reprezentaciju za njih – mogu se tretirati kao bilo kojekategoricke promenljive ili cak neprekidne u slucaju da su definisane diskretizacijom neprekidne velicine. Sto setice stanja, ili je potrebno predstaviti ih unapred definisanim skupom atributa ili je potrebno upotrebiti modelkoji je u stanju da sam konstruise takve atribute, kao sto je slucaj sa dubokim neuronskim mrezama. Pod timpretpostavkama, problem ucenja potkrepljivanjem se svodi na sledeci optimizacioni problem:

min𝑤

E[𝑞𝑤(𝑠, 𝑎)− 𝑞*(𝑠, 𝑎))2]

gde je ocekivanje u odnosu na raspodelu nad stanjima i akcijama pri optimalnoj politici. Naravno, ocekivanjese u praksi zamenjuje uzorackim prosekom, cime se dobija problem:

min𝑤

∑𝑠,𝑎

(𝑞𝑤(𝑠, 𝑎)− 𝑞*(𝑠, 𝑎))2

gde je suma po parovima videnim u skupu konkretnih epizoda. Ako bi ovaj problem bio resavan gradijentnimspustom, formula za azuriranje parametara bi bila:

𝑤 ← 𝑤 + 𝛼𝑡

∑𝑠,𝑎

(𝑞𝑤(𝑠, 𝑎)− 𝑞*(𝑠, 𝑎))∇𝑤𝑞𝑤(𝑠, 𝑎)

a u ekstremnoj varijanti jednoclanog uzorka, koja predstavlja osnovu mnostva metoda ucenja potkrepljivanjemdobija se:

𝑤 ← 𝑤 + 𝛼𝑡(𝑞𝑤(𝑠, 𝑎)− 𝑞*(𝑠, 𝑎))∇𝑤𝑞𝑤(𝑠, 𝑎)

U ovom pristupu postoji ocigledan problem sto funkcija 𝑞* nije poznata, ali je moguce pribeci ranije koriscenomtriku njene aproksimacije na osnovu nagrade u tekucem koraku i aproksimacije najvise vrednosti funkcije 𝑞* zasledece stanje 𝑠′, odnosno

𝑤 ← 𝑤 + 𝛼𝑡(𝑞𝑤(𝑠, 𝑎)− (𝑟 +max𝑎′

𝑞𝑤(𝑠′, 𝑎))∇𝑤𝑞𝑤(𝑠, 𝑎)

Kljucni problem ovakvog algoritma je taj sto ne mora konvergirati osim u slucaju linearnih modela, kojiu praksi nisu dovoljni. Postoji niz poboljsanja koja vode ka pouzdanijoj i brzoj konvergenciji, ali po pravilualgoritmi ucenja potrekpljivanjem su osetno tezi za primenu od algoritama nadgledanog ucenja zbog nestabilnostioptimizacije.

12.3 Primene ucenja potkrepljivanjem