(2021) - university of belgrade

354
Elektronska verzija (2021)

Upload: others

Post on 01-Oct-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 2: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 3: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Predrag Janicic Mladen Nikolic

VESTACKA INTELIGENCIJA

Beograd2021.

Page 4: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

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

VESTACKA INTELIGENCIJA

Izdavac: Matematicki fakultet Univerziteta u BeograduStudentski trg 16, 11000 Beograd

Za izdavaca: prof. dr Zoran Rakic, dekan

Recenzenti:dr Vesna Marinkovic, docent na Matematickom fakultetu u Beogradudr Predrag Tadic, docent na Elektrotehnickom fakultetu u Beogradu

Obrada teksta i ilustracije: autoriDizajn korica: Aleksandra JovanicSlika na naslovnoj strani: alati vestacke inteligencije

CIP - Katalogizacija u publikaciji- Narodna biblioteka Srbije, Beograd

004.8(075.8)

JANIQI๏ฟฝ, Predrag, 1968-

Vestacka inteligencija / Predrag Janicic, Mladen Nikolic ; [ilustracije

autori]. - Beograd : Univerzitet u Beogradu, Matematicki fakultet, 2021

(Beograd : Skripta internacional). - 352 ัั‚ั€. : ilustr. ; 24 cm

Tiraz 100. - Bibliografija: str. 351-352.

ISBN 978-86-7589-148-2

1. Nikoli๏ฟฝ, Mladen, 1981- [autor] [ilustrator]a) Vextaqka inteligencijaCOBISS.SR-ID 34371337

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

Page 5: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Sadrzaj

Sadrzaj 3

1 Uvod 91.1 Kratka istorija vestacke inteligencije . . . . . . . . . . . . . . . 101.2 Znanje i zakljucivanje . . . . . . . . . . . . . . . . . . . . . . . 101.3 Simbolicki i statisticki zasnovana vestacka inteligencija . . . . . 111.4 Uska i opsta vestacka inteligencija . . . . . . . . . . . . . . . . 111.5 Filozofski i eticki aspekti vestacke inteligencije . . . . . . . . . 12

I Pretraga 15

2 Resavanje problema koriscenjem pretrage 172.1 Modelovanje problema . . . . . . . . . . . . . . . . . . . . . . . 212.2 Resavanje problema . . . . . . . . . . . . . . . . . . . . . . . . 242.3 Interpretiranje i analiza resenja . . . . . . . . . . . . . . . . . . 25

3 Neinformisana pretraga 273.1 Obilazak grafa u dubinu i sirinu . . . . . . . . . . . . . . . . . . 283.2 Dajkstrin algoritam . . . . . . . . . . . . . . . . . . . . . . . . 35

4 Informisana pretraga 394.1 Pohlepna pretraga . . . . . . . . . . . . . . . . . . . . . . . . . 404.2 Pretraga Prvo najbolji . . . . . . . . . . . . . . . . . . . . . . . 474.3 Algoritam A* . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5 Igranje strateskih igara 695.1 Opste strategije za igranje igara . . . . . . . . . . . . . . . . . . 705.2 Legalni potezi i stablo igre . . . . . . . . . . . . . . . . . . . . . 715.3 Otvaranje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3

Page 6: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.4 Sredisnjica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.5 Zavrsnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.6 Monte Karlo pretraga stabla igre . . . . . . . . . . . . . . . . . 87

6 Genetski algoritmi 916.1 Opsti genetski algoritam . . . . . . . . . . . . . . . . . . . . . . 926.2 Komponente genetskog algoritma . . . . . . . . . . . . . . . . . 936.3 Svojstva genetskih algoritama . . . . . . . . . . . . . . . . . . . 1026.4 Resavanje problema primenom genetskih algoritama . . . . . . 103

II Automatsko rasudivanje 111

7 Resavanje problema koriscenjem automatskog rasudivanja 1137.1 Modelovanje problema . . . . . . . . . . . . . . . . . . . . . . . 1167.2 Resavanje problema . . . . . . . . . . . . . . . . . . . . . . . . 1187.3 Interpretiranje i analiza resenja . . . . . . . . . . . . . . . . . . 118

8 Automatsko rasudivanje u iskaznoj logici 1218.1 Sintaksa i semantika iskazne logike . . . . . . . . . . . . . . . . 1258.2 Logicke posledice i logicki ekvivalentne formule . . . . . . . . . 1308.3 Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici . . . . . . 1348.4 Resavanje problema svodenjem na SAT . . . . . . . . . . . . . 144

9 Automatsko rasudivanje u logici prvog reda 1619.1 Sintaksa i semantika logike prvog reda . . . . . . . . . . . . . . 1639.2 Logicke posledice i logicki ekvivalentne formule . . . . . . . . . 1759.3 Ispitivanje zadovoljivosti i valjanosti u logici prvog reda . . . . 1779.4 Resavanje problema svodenjem na problem valjanosti . . . . . . 202

III Masinsko ucenje 215

10 Resavanje problema koriscenjem masinskog ucenja 21710.1 Modelovanje problema . . . . . . . . . . . . . . . . . . . . . . . 22110.2 Resavanje problema . . . . . . . . . . . . . . . . . . . . . . . . 22610.3 Evaluacija resenja . . . . . . . . . . . . . . . . . . . . . . . . . 228

11 Nadgledano masinsko ucenje 22911.1 Klasifikacija i regresija . . . . . . . . . . . . . . . . . . . . . . . 22911.2 Minimizacija greske modela . . . . . . . . . . . . . . . . . . . . 23011.3 Preprilagodavanje i regularizacija . . . . . . . . . . . . . . . . . 23111.4 Linearni modeli . . . . . . . . . . . . . . . . . . . . . . . . . . . 23611.5 Neuronske mreze . . . . . . . . . . . . . . . . . . . . . . . . . . 24611.6 Metoda ๐‘˜ najblizih suseda . . . . . . . . . . . . . . . . . . . . . 26111.7 Stabla odlucivanja . . . . . . . . . . . . . . . . . . . . . . . . . 264

4

Page 7: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.8 Evaluacija modela i konfigurisanje algoritama ucenja . . . . . . 27111.9 Ilustracija prakticne primene masinskog ucenja . . . . . . . . . 27811.10Primeri primena nadgledanog ucenja . . . . . . . . . . . . . . . 285

12 Nenadgledano masinsko ucenje 30312.1 Klasterovanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30412.2 Primeri primena klasterovanja . . . . . . . . . . . . . . . . . . . 310

13 Ucenje potkrepljivanjem 31513.1 Markovljevi procesi odlucivanja . . . . . . . . . . . . . . . . . . 31913.2 Resavanje Markovljevih procesa odlucivanja . . . . . . . . . . . 32313.3 Ucenje u nepoznatom okruzenju . . . . . . . . . . . . . . . . . . 33013.4 Primene ucenja potkrepljivanjem . . . . . . . . . . . . . . . . . 342

Literatura 351

5

Page 8: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 9: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Predgovor

Ova knjiga nastala je na osnovu beleski koje prate predavanja za pred-met Vestacka inteligencija (na trecoj godini smera Informatika na Matema-tickom fakultetu Univerziteta u Beogradu) koje smo drzali akademskih godinaod 2007/08 do 2018/19 (prvi autor) i 2019/20, kao i vezbe od 2007/08 do2011/12 (drugi autor). Dugi niz godina trazili smo, zajedno sa svojim stu-dentima, najbolje nacine da predstavimo kljucna polja vestacke inteligencije.Nadamo da izbor sadrzaja i nacin prezentovanja mogu da budu zanimljivi nesamo studentima, vec i svima drugima koje interesuje ova oblast racunarstva.

Zahvaljujemo recenzentima, Vesni Marinkovic i Predragu Tadicu na de-taljnim komentarima i mnostvu sugestija koji su znacajno doprineli kvalitetuknjige. Zahvaljujemo i drugim kolegama koji su nam dali dragocene komentarei savete, pre svega Filipu Maricu, Miroslavu Maricu i Dusku Vitasu. Zahvalju-jemo na veoma pazljivom citanju, ispravkama i komentarima i studentima kojisu slusali predmet Vestacka inteligencija, pre svega Nemanji Micovicu, Mlade-nu Canovicu, Jani Protic, Vojislavu Stankovicu, Nikoli Premcevskom, NikoliAjzenhameru, Neveni Markovic, Uni Stankovic, Jeleni Simovic, Nikoli Dimitri-jevicu, Aleksandru Mladenovicu, Vladimiru Simonovskom, Petru Vukmirovicu,Danielu Dozi, Ivanu Balevicu, Milanu Kovacevicu, Nebojsi Loznjakovicu, Mi-losu Samardziji, Vojislavu Grujicu, Nemanji Anticu, Denisu Alicicu, MiodraguRadojevicu, Dalmi Beara, Mateji Marjanovicu, Dordu Nemetu, Ognjenu Milin-kovicu, Milosu Petrickovicu, Maji Gavrilovic i Lazaru Perisicu. Zahvaljujemoi kolegi Petru Velickovicu na cijim slikama su zasnovane dve slike u delu omasinskom ucenju. Preostale ilustracije napravili smo mi (uglavnom koristeciprogram GCLC), izuzev onih slika koje ilustruju konkrente primene i za kojesu navedeni izvori.

Zahvaljujemo Aleksandri Jovanic koja je napravila dizajn korica i u njegavestom ljudskom rukom uklopila sliku kreiranu primenom tehnika vestacke in-teligencije. Osnovni motivi na toj slici su โ€žokoโ€œ racunara HAL iz cuvenog filmaโ€žOdiseja u svemiru 2001โ€œ (koji je cesta personifikacija sistema vestacke inteli-gencije) i bik sa zidova pecine Altamire (jedan od najstarijih sacuvanih ljudskih

7

Page 10: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Sadrzaj 8

artefakata), ciji je vizuelni stil preuzet algoritmom neuronskog prenosa stila.U pripremi predavanja i ove knjige koristili smo nekoliko znamenitih knjiga

o vestackoj inteligenciji, ali, jos mnogo vise, mnะพstvo drugih izvora koje bi bilotesko pobrojati โ€“ cesto su to bili materijali ili samo pojedinacni komentari sainterneta o specificnim osobinama algoritama opisanih u knjizi, a cesto i nasalicna iskustva proistekla iz prakticne primene algoritama. Zbog toga, spisakliterature naveden na kraju knjige treba shvatiti uslovno โ€“ tu su pobrajanisamo najcesce korisceni izvori.

Ova knjiga dostupna je (besplatno) u elektronskom obliku preko nasihinternet strana, sto predstavlja nas doprinos korpusu besplatnih i otvorenihsadrzaja.

Bicemo zahvalni citaocima na svim ispravkama, sugestijama i komentarimakoje nam posalju.

Predrag Janicic i Mladen Nikolic

Beograd, mart 2021.

Page 11: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 1

Uvod

Vestacka inteligencija jedna je od retkih oblasti nauke o kojoj skoro svi โ€“ ieksperti i oni koji to nisu โ€“ imaju neki stav. Neko smatra da ona donosi velikekoristi, neko smatra da od nje prete opasnosti, a neko veruje i u jedno i u drugo.Neobicno je onda da, s druge strane, ne postoji opsta saglasnost o tome sta jeuopste vestacka inteligencija i cime se ona bavi. Pod inteligencijom se obicnopodrazumeva sposobnost usvajanja, pamcenja i obrade odredenih znanja. Iakopostoji i shvatanje po kojem je centralni cilj vestacke inteligencije oponasanjeljudske inteligencije, vecina podoblasti vestacke inteligencije ima drugaciji cilj.Obicno je to resavanje problema u kojima se javlja kombinatorna eksplozija,tj. u kojima je broj mogucnosti toliko veliki da se ne moze sistematicno ispitati urazumnom vremenu. Najveci deo zadataka vestacke inteligencije moze se opisatiu terminima algoritmike, pretrage, deduktivnog i induktivnog zakljucivanja,i drugih preciznih matematickih pojmova. Tek mali deo istrazivaca bavi semetodama koje pretenduju da dostignu opste rasudivanje u stilu coveka.

Vestacka inteligencija sastoji se od vise podoblasti, naizgled slabo poveza-nih svojim sadrzajem. Pitanje je onda sta je to zajednicko za njih, sem to sto seuglavnom sve bave problemima u kojima se javlja mnostvo mogucnosti koje sene mogu ispitati sistematicnom pretragom. Postoji vise pristupa koji objedinju-ju sve podoblasti vestacke inteligencije u jedan, jedinstveni okvir. Jedan takavje pristup zasnovan na agentima kao, na primer, u uticajnoj knjizi โ€žVestackainteligencija: moderni pristupโ€œ Rasela (Stuart Russell) i Norviga (Peter Nor-vig). U tom pristupu, sve komponente problema koji se resava objasnjavaju seu terminima agenata koji imaju neke akcije na raspolaganju. Drugi pristup,koriscen i u ovoj knjizi, centralno mesto daje procesu resavanja problema. Pritome, kada se govori o โ€žproblemuโ€œ, obicno se misli na citavu klasu srodnihzadataka โ€” na primer, na odredivanje najkraceg puta izmedu dva cvora gra-fa, ili na ispitivanje zadovoljivosti iskazne formule, ili na prepoznavanje licana fotografiji. Pojedinacne zadatke koji pripadaju ovakvim klasama zovemoinstance problema (ili primerci problema) (na primer, odredivanje najkracegputa izmedu konkretna dva cvora konkretnog grafa ili ispitivanje zadovoljivosti

9

Page 12: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

1.1. Kratka istorija vestacke inteligencije 10

konkretne formule). Za skoro sve metode vestacke inteligencije zajednicka jeopsta struktura procesa resavanja problema. Faze resavanja obicno su: mode-lovanje, tj. opisivanje zadatog problema u strogim, matematickim terminima;resavanje problema opisanog u matematickim terminima; interpretiranje i ana-liza resenja. Dublja priroda ovih faza razlikuje se izmedu razlicitih podoblastivestacke inteligencije.

1.1 Kratka istorija vestacke inteligencije

Vestacka inteligencija kao samostalna informaticka disciplina prvi put jepromovisana na znamenitoj konferenciji The Dartmouth Summer Research Con-ference on Artificial Intelligence organizovanoj u Dartmutu (Sjedinjene Ame-ricke Drzave), 1956. godine. Tom prilikom predlozeno je, od strane Dzona Ma-kartija, i samo ime discipline, ne sasvim srecno sroceno, jer bas je ono cestoizazivalo nedoumice i podozrenje. Konferencija je trajala mesec dana i bila jepre svega usmerena ka profilisanju nove oblasti. Konferenciju su organizovaliDzon Makarti (John McCarthy), Marvin Minski (Marvin Minsky), NatanijelRocester (Nathaniel Rochester) i Klod Senon (Claude Shannon). U pocetnimgodinama, pa i decenijama, nizali su se uspesi nove oblasti, a ocekivanja surasla jos i brze โ€“ ranih sezdesetih, na primer, โ€žmislilo se da je nesto poputracunarskog vida (prepoznavanja oblika na slikama) pogodno za letnji projekatstudenta master studijaโ€œ. Minski je 1967. godine izjavio da ce problem kre-iranja vestacke inteligencije (u stilu ljudske inteligencije) biti resen u okvirujedne generacije. Ta velika ocekivanja ovekovecena su vec sezdesetih i sedam-desetih godina u naucno-fantasticnim filmovima i knjigama u kojima racunarnadmasuje coveka u svim intelektualnim aktivnostima. Vestacka inteligencijapostala je i polje preko kojeg se stremilo nadmoci u tadasnjem hladnom ratuizmedu Zapada i Istoka. Osamdesetih godina pocelo je da dominira shvatanjeda su ocekivanja od vestacke inteligencije bila previsoka. Fondovi za istrazivanjapoceli su da se smanjuju i nastupila je takozvana โ€žzima vestacke inteligenci-jeโ€œ. Oblast je, pomalo usporeno, ipak prezivela krizu da bi krajem devedesetihgodina dvadesetog veka ponovo privukla paznju citavog sveta: racunari su po-bedili svetskog prvaka u sahu i dokazali teoreme koje covek nije ranije uspevaoda dokaze. Bilo je i drugih uspeha, da bi se u dvadeset prvom veku javio talasizuzetno uspesnih sistema zasnovanih na โ€ždubokom ucenjuโ€œ โ€“ sistema koji suuspesno vrsili prepoznavanje lica na fotografijama, prevodenje prirodnih jezi-ka, navigaciju vozila i drugo. Vestacka inteligencija danas je skoro sveprisutna,a opste je uverenje da ce se ta sveprisutnost u buducnosti dalje prosirivati iprodubljivati.

1.2 Znanje i zakljucivanje

Za pojam inteligencije sustinske su dve komponente: znanje i zakljucivanje.Komponenta zakljucivanja predstavlja takode neku vrstu znanja โ€“ to je znanje(koje se naziva i meta-znanjem) o procesu izvodenja novog znanja iz raspo-

Page 13: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11 1. Uvod

lozivog znanja. Pod znanjem podrazumevamo i istinite, potvrdene cinjenice,ali i hipoteze, nepotpune informacije i informacije date sa odredenim verovat-nocama. Zakljucivanje moze biti deduktivno โ€“ zasnovano na rigoroznim opstimpravilima cijom primenom se dobijaju nove konkretne cinjenice. Zakljucivanjemoze biti i induktivno โ€“ u njemu se na osnovu mnostva cinjenica pokusavaizvodenje opstih pravila. Postoje i druge forme i drugi okviri zakljucivanja.

1.3 Simbolicki i statisticki zasnovana vestacka inteligencija

Mnoge metode vestacke inteligencije zasnovane su na simbolickoj reprezen-taciji: i problem i algoritam resavanja opisani su eksplicitno, a osobine algo-ritma mogu se analizirati rigorozno, matematicki. I opis problema i algoritamsu vrlo specificni, prilagodeni jednom konkretnom zadatku i obicno se teskouopstavaju. Ti eksplicitni opisi obicno se daju u terminima teorije grafova ilimatematicke logike. Za ove metode cesto se kaze da su GOFAI (od engleskogโ€žGood Old-Fashioned Artificial Intelligenceโ€œ โ€“ โ€ždobra stara vestacka inteligen-cijaโ€œ) i cine takozvatni โ€žprvi talasโ€œ vestacke inteligencije. One se najcesce osla-njaju na deduktivno zakljucivanje.

Od 2010-ih godina, novi mocni racunari omogucili su povratak neuronskihmreza (koje su razvijane jos 1950-ih), kroz duboko ucenje i ostvarili fantasticnerezultate u mnogim poljima, kao sto je racunarski vid, automatsko prevodenje,automatsko upravljanje vozilima, igranje strateskih igara, itd. Ovi rezultati za-snovani su na statistici i masinskom ucenju, tj. na induktivnom zakljucivanju.U njima nema eksplicitnog opisivanja procesa resavanja konkretnih primerakaproblema, vec se koriste meta-algoritmi kojima se, koristeci raspolozive podat-ke, kreiraju implicitni algoritmi i modeli resenja. Ovakvi sistemi obicno nisuu stanju da ponude i neko objasnjenje za resenja koje nude. U primenamaje glavna uloga coveka u fazi modelovanja problema i pripremi podataka zaobucavanje. O ovim implicitnim algoritmima i resenjima i njihovim osobinamaznatno je teze formalno rasudivati nego o eksplicitnim algoritmima, ali je mo-guce izvesti statisticke ocene njihovog kvaliteta. Sistemi zasnovani na statisticii masinskom ucenju cine takozvani โ€ždrugi talasโ€œ vestacke inteligencije.

Rasprostranjeno je uverenje da ce u buducnosti dosadasnja dva pristupamorati da se integrisu, vodeci do takozvanog โ€žtreceg talasaโ€œ vestacke inteligen-cije. Ocekuje se da ce u trecem talasu sistemi vestacke inteligencije samostalnokreirati modele koji ce moci da objasne kako stvari funkcionisu.

U ovoj knjizi, simbolicki zasnovana vestacka inteligencija obraduje se u prvadva dela, a statisticki zasnovana vestacka inteligencija u trecem delu.

1.4 Uska i opsta vestacka inteligencija

Do sada dominantan pravac razvoja vestacke inteligencije je razvoj siste-ma specijalizovanih za konkretne zadatke. To je pravac koji se naziva โ€žuskavestacka inteligencijaโ€œ. Alternativa je โ€žvestacka opsta inteligencijaโ€œ (eng. arti-ficial general intelligence, AGI). Njen cilj je razvoj jedinstvenog sistema koji

Page 14: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

1.5. Filozofski i eticki aspekti vestacke inteligencije 12

moze da uci, rasuduje i resava sve probleme koje moze i covek. Taj cilj ne-ki istrazivaci pokusavaju da postignu matematickim modelovanjem ljudskogmozga, iako mnogi smatraju da je to tesko dostizno ili nemoguce. Istrazivac ifuturista Rej Kercvajl (Raymond Kurzweil, trenutno radi u kompaniji Google),u svojoj uticajnoj knjizi โ€žSingularnost je blizuโ€ iz 2005. godine, tvrdi da nijedaleko trenutak kada ce racunari prevazici coveka u svim intelektualnim aktiv-nostima i procenjuje da ce racunari vec 2029. godine moci da produ Tjuringovtest (videti poglavlje 1.5), sto ce, dalje, oko 2045. godine dovesti do โ€žsveopstegpreokreta u ljudskim mogucnostimaโ€œ.

1.5 Filozofski i eticki aspekti vestacke inteligencije

Jedno od kljucnih pitanja vezanih za vestacku inteligenciju je da li ona imaza cilj oponasanje prirodne (ljudske ili zivotinjske) inteligencije. Pitanje kojeprethodi ovom pitanju je sta je uopste inteligencija. Mozemo smatrati da inte-ligencija podrazumeva sledece sposobnosti: sposobnost pamcenja, skladistenjaznanja i mogucnost njegove obrade, sposobnost ucenja โ€“ usvajanja novih zna-nja, sposobnost komunikacije sa drugim inteligentnim bicima ili masinama, itd.Moze se smatrati, dakle, da bice ili masina imaju atribute inteligentnog, akoimaju navedena svojstva. Alen Tjuring (Alan Turing) formulisao je sledeci zna-meniti test: ako su u odvojene dve prostorije smestene jedna ljudska osoba ineki uredaj i ako na identicna pitanja pruzaju odgovore na osnovu kojih se nemoze pogoditi u kojoj sobi je covek, a u kojoj uredaj, onda mozemo smatrati dataj uredaj ima atribute vestacke inteligencije. Tjuring je 1947. godine, govorecio racunarima koji simuliraju covekovo rasudivanje, predlozio i kreiranje masinaโ€žprogramiranih da uce i kojima je dopusteno da cine greskeโ€ jer, kako kaze, โ€žakose od masine ocekuje da bude nepogresiva, onda ona ne moze biti inteligentnaโ€œ.Ovakav pristup, koji dozvoljava greske, karakteristican je za masinsko ucenje.

Mnogi problemi vestacke inteligencije mogu se opisati u matematickim ter-minima. Pitanje je za koje klase problema postoje opsti nacini resavanja (kojemogu da primene ljudi ili masine). Rezultati Gedela i Tjuringa iz prve polo-vine dvadesetog veka pokazali su da postoje matematicke teorije (ukljucujucii jednostavne teorije kakva je aritmetika) koje su nepotpune i neodlucive. Naprimer, postoje tvrdenja o prirodnim brojevima koja su tacna, ali se ne mogudokazati iz aksioma aritmetike. Stavise, skup aksioma aritmetike nije moguceprosiriti tako da se to promeni. Ovi rezultati govore da za neke probleme nemogu da postoje masine koje mogu da rese svaku njihovu instancu, te da preo-staje da se njima bave kao i ljudi: da koriste svojstva i zapazanja specificna zakonkretne date instance. Drugim recima, za instance ovakvih problema traganjeza resenjem nece uvek biti isto i nece garantovati uspeh.

Pored filozofskih pitanja o tome gde su granice ljudske i vestacke inteligenci-je, vazna su i eticka pitanja koja se odnose na masine koje mogu da samostalnodonose nekakve odluke. Jos od ranih dana vestacke inteligencije postoji strahod โ€žmasina koje misleโ€œ, a sa njihovim razvojem ta pitanja sve su cesca a i tistrahovi jacaju. Neke od najcescih etickih dilema odnose se na izbor i filtriranje

Page 15: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13 1. Uvod

informacija na internetu i drustvenim mrezama koje stizu do korisnika, kao i nasisteme za autonomnu voznju. Na primer, pitanje je kako treba definisati po-nasanje vozila u slucaju da mora da ugrozi jednog od dva ucesnika u saobracaju.Jos pre toga, pitanje je da li takve odluke prepustiti samom autonomnom si-stemu, bez eksplicitne odluke ugradene unapred. Ukoliko dode do ugrozavanjabezbednosti ucesnika u saobracaju, povreda, ili stete, postavljaju se i mnogadodatna, pravna pitanja, na primer โ€“ da li za stetu odgovara proizvodac au-tonomnog automobila ili covek koji je u njemu sedeo. Mnoga ovakva pitanjace vrlo uskoro biti od prakticnog znacaja, a odgovori na njih tek treba da seformulisu.

Page 16: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 17: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Deo I

Pretraga

Page 18: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 19: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 2

Resavanje problema koriscenjempretrage

Vestacka inteligencija bavi se, prevashodno, problemima u kojima se javljakombinatorna eksplozija, tj. ogroman broj mogucnosti koje treba ispitati naneki nacin. Resavanje takvih problema obicno se svodi na neku vrstu pretrageskupa mogucnosti. Kako je cesto nemoguce sve razmotriti u razumnom vreme-nu, potrebno je pretragu usmeravati (tj. navoditi) kako bi se ranije razmotrilemogucnosti za koje je izglednije da vode resenju problema. Neke od cestihrealnih primena algoritama pretrage su pronalazenje najkracih puteva i plani-ranje putovanja, navigacija robota, rutiranje u racunarskim mrezama, igranjestrateskih igara, automatsko nalazenje redosleda sklapanja delova u industri-ji, dizajniranje cipova, dizajniranje proteina sa trazenim svojstvima, resavanjelogistickih problema i slicno.

Problemi pretrage obicno zahtevaju pronalazenje niza koraka ili akcija ko-jima se ostvaruje cilj (onda kada to ne moze biti ostvareno pojedinacnim kora-cima ili akcijama). Resenje problema pretrage tada je niz koraka (akcija) kojivodi od polaznog stanja do ciljnog stanja. Pretraga moze biti shvacena i sire,pa ce u daljem tekstu biti opisani i neki problemi i algoritmi matematicke op-timizacije u kojima je obicno bitno zavrsno stanje koje je dostignuto, a ne inacin na koji se do njega doslo.

Primer 2.1. Lojdova slagalica (ili โ€žslagalica 15โ€œ) sastoji se od 15 kvadratarasporedenih na tabli velicine 4ร—4 polja. Kvadrati su numerisani brojevimaod 1 do 15. Slagalicu je potrebno urediti tako da su polja poredana redomod prvog reda i da je poslednje polje u cetvrtom redu prazno. Taj, ciljniraspored polja moze se kompaktno zapisati kao [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 14, 15,_] i prikazan je na narednoj slici.

17

Page 20: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

18

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15

Kada je dat proizvoljan raspored polja na tabli, u svakom koraku mozese pomeriti jedno od dva ili jedno od tri ili jedno od cetiri polja. Dakle, zasvaki raspored broj mogucih akcija je izmedu dva i cetiri.

Slagalicu je moguce sloziti tako sto se razmatraju svi moguci koraci upolaznom stanju, a zatim svi moguci koraci u dobijenim stanjima i takodalje, sve dok se ne naide na trazeni, ciljni raspored. Razmatranje svihmogucih koraka za pocetni raspored [_, 2, 3, 4, 6, 5, 10, 12, 9, 1, 8, 15, 13, 14,7, 11] ilustrovano je na narednoj slici.

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

. . .

Page 21: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

19 2. Resavanje problema koriscenjem pretrage

Ocigledno, ovaj pristup sigurno dovodi do resenja za bilo koju pozicijukoja je dobijena od slozene pozicije regularnim potezima (ako se slagalicarasklopi i poljima 14 i 15 se zamene mesta, onda vise nije moguce slozitislagalicu). Ocigledno je i da je ovaj pristup potpuno nepraktican i zahtevarazmatranje ogromnog broja mogucnosti. Zaista, za proizvoljnu poziciju ko-ja je dobijena od slozene pozicije regularnim potezima, slagalicu je mogucesloziti u najvise 80 koraka a to je najmanje gornje ogranicenje โ€” postojepozicije za koje postoji resenje u 80 koraka, ali ne i u manje od 80 koraka.To znaci da je za garantovano pronalazenje resenja potrebno ispitati vise od280 mogucnosti, sto je, naravno, prakticno neizvodivo. Zbog toga, prakticnosprovodivo resenje zahteva neku dodatnu ideju i usmeravanje pretrage ka-ko ne bi bile razmatrane sve mogucnosti. Takvo usmeravanje cesto nijejednostavno. Na primer, ako se u slaganju slagalice razmatraju samo ko-raci koji vode do pozicija koje su blize resenju, pri cemu se za odredivanjeโ€žrastojanja pozicije od ciljne pozicijeโ€œ moze uzeti zbir rastojanja svakogpolja od njegove ciljne pozicije, time se ne dolazi uvek do resenja. Naime,u nekim pozicijama nema koraka koji vodi ka boljoj poziciji (videti primer4.2).

Primer 2.2. U skupu gradova od kojih su neki medusobno povezani pute-vima, zadatak je od jednog grada stici do nekog drugog zadatog grada. Ovajproblem moze se razmatrati kao problem pretrage: pretraga moze da kreceod pocetnog grada, da se zatim razmatraju svi gradovi do kojih se mozedoci neposredno, i tako dalje, sve dok se ne dode do ciljnog grada. Primerovakvog problema ilustrovan je na narednoj slici i konkretan zadatak mozebiti, na primer, nalazenje puta od Zagreba do Bukuresta.

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest590

840

360

240350

230

450

400

390

340

290

380

430

Page 22: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

20

Od navedenog problema bitno je razlicit problem u kojem se ne trazi bilokoji, nego najkraci put izmedu dva grada. I taj problem ima vise varijantiโ€“ sve duzine izmedu povezanih gradova mogu biti unapred poznate ili ne,vazdusna rastojanja izmedu svih gradova mogu biti poznata ili ne, itd.

Primer 2.3. Knjiga โ€žPropositiones ad Acuendos Juvenesโ€œ (โ€žProblemi zabritkost mladihโ€œ) iz devetog veka n.e., verovatno autora Alkoina iz Jorka(Alcuin of York), jedna je od prvih knjiga popularne matematike. Knjigasadrzi pedesetak zanimljivih problema od kojih su mnogi u opticaju i dan-danas. Jedan od najpoznatijih je problem o vuku, kozi i kupusu: โ€žJedancovek kupio je vuka, kozu i kupus. Na putu kuci, covek je dosao na obalureke i iznajmio camac. U camcu je pored njega mogao da bude jos samovuk, samo koza ili samo kupus. Ako bi koza i kupus bili na istoj obali ibez prisustva coveka, koza bi pojela kupus. Ako bi vuk i koza bili na istojobali i bez prisustva coveka, vuk bi pojeo kozu. Kako da covek prede rekui sacuva sve sto je kupio?โ€œ

I ovaj problem moze se razmatrati kao problem pretrage: pretraga mozeda krece od pocetnog rasporeda (svi su na prvoj obali), zatim se sistema-ticno razmatraju svi moguci koraci (svi moguci prelasci reke), sve dok sene dobije trazeni, ciljni raspored (svi su na drugoj obali).

Primeri primena algoritama pretrage. Algoritmi za usmerenu pretragukoriste se u mnogim oblastima. Algoritmi za usmereno trazenje puta izmedudva cvora grafa koriste se u planiranju putovanja, rutiranju, video igrama, pacak i u pomalo neocekivanim oblastima kao sto je parsiranje za verovatnosnekonteksno-slobodne gramatike, koje imaju primene u obradi prirodnog jezika.

Igranje strateskih igara jedno je od klasicnih polja vestacke inteligencijeu kojem su postignuti i neki od najznacajnijih rezultata. Godine 1997. spe-cijalizovani racunar Deep Blue kompanije IBM pobedio je tadasnjeg svetskogsampiona u sahu Garija Kasparova koristeci efikasne algoritme pretrage zasno-vane na alfa-beta odsecanju. Jedan od trenutno najboljih sahovskih programaje Stockfish, takode zasnovan na alfa-beta pristupu. Tokom prethodnih nekoli-ko godina pojavili su se i neki veoma uspesni alternativni pristupi, zasnovanina Monte Karlo pretrazi i na neuronskim mrezama, kao sto su Komodo MCTSi AlphaZero. Program za igru go, AlphaGo, zasnovan na neuronskim mrezama2016. godine pobedio je osamnaestostrukog prvaka sveta Li Sedola.

Genetski algoritmi, koji se mogu smatrati metaheuristickim algoritmompretrage, imaju primene u sirokom spektru optimizacionih problema. Genetskialgoritmi koriste se, na primer, za izbor najboljeg plana upita u objektno-relacionim sistemima za upravljanje bazama podataka kao sto je PostgreSQL.NASA je pocetkom ovog veka dizajnirala antene za satelite i svemirske letelicekoriscenjem genetskih algoritama koji su se izvrsavali na tridesetak umrezenihracunara. Dizajnirane antene bile su jeftinije, a davale su bolje performanse

Page 23: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

21 2. Resavanje problema koriscenjem pretrage

od drugih. Jedna od konkretnih primena genetskih algoritama je i optimizacijaprofita berzanskih portfolija.

Faze resavanja problema koriscenjem pretrage. Tok resavanja proble-ma koriscenjem pretrage obicno obuhvata sledece osnovne faze:

โ€ข modelovanje problema;

โ€ข resavanje problema opisanog u matematickim terminima;

โ€ข interpretiranje i analiza resenja.

2.1 Modelovanje problema

Modelovanje problema predstavlja formulisanje problema precizno, u ma-tematickim terminima, koriscenjem pogodnih matematickih struktura. Takvaformulacija obicno ima sledece elemente:

Skup mogucih stanja: U toku procesa pretrage razmatraju se razlicita sta-nja. U nekim algoritmima, za odlucivanje u nekom trenutku potrebno jepoznavanje samo stanja koja su neposredno dostupna, dok je u nekimalgoritmima potrebno poznavanje svih stanja unapred.

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

Test cilja: Problem je resen ako se dode do ciljnog stanja. Potrebno je dapostoji raspoloziv efektivan test koji proverava da li se doslo do ciljnogstanja tj. do zavrsetka procesa pretrage.

Skup mogucih akcija: U svakom koraku pretrage moze se preduzeti neki ko-rak, neka akcija. Niz akcija preduzetih u odgovarajucim trenucima trebada dovede do resenja problema. Skup mogucih akcija moze biti isti usvakom stanju ili moze da se razlikuje od stanja do stanja, sto zavisi odproblema koji se resava.

Funkcija prelaska: Ova funkcija preslikava par stanje-akcija u novo stanje,dobijeno izborom neke akcije u nekom stanju.1 Stanja koja su neposrednodostupna iz nekog stanja zovemo i susednim stanjima.

Funkcija cene: Ova funkcija preslikava par stanje-akcija u numericku vred-nost โ€” cenu preduzimanja date akcije u datom stanju.

Kod nekih problema nabrojani elementi se lako i prirodno uocavaju, dok jekod drugih najpre potrebno problem preformulisati na neki pogodan nacin.

1Ukoliko ova funkcija nije poznata, nije poznato u koje ce se stanje dospeti posle pre-duzimanja odredene akcije i proces odlucivanja postaje kompleksniji. Funkcija prelaska nijepoznata, na primer, u slucaju delovanja u nepoznatoj ili promenljivoj okolini.

Page 24: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

2.1. Modelovanje problema 22

Primer 2.4. Elementi problema iz primera 2.1 mogu biti definisani nasledeci nacin:

โ€ข Skup stanja: skup svih permutacija [๐‘ 1๐‘ 2 . . . ๐‘ 16] skupa {_, 1, 2, . . . , 15}.

โ€ข Polazno stanje: bilo koje stanje slagalice (za neke od njih ciljni ra-spored nije moguce 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 pomeranje praznog polja levo,desno, gore i dole. Iako je naizgled prirodnije kao akcije razmatratipomeranje kvadrata susednih praznom polju na prazno polje, ovakvaformulacija je jednostavnija zbog uniformnosti. Za neka stanja (kadaje prazno polje na rubu slagalice) moguce su samo neke dve ili neketri od navedenih akcija.

โ€ข Funkcija prelaska: preslikava par stanje-akcija u stanja koja nastajupomeranjem praznog polja na neku od cetiri moguce strane.

โ€ข Funkcija cene: moze biti konstantna za svaku akciju (na primer, 1),posto se sva pomeranja mogu smatrati jednako skupim. Cena resenjaje u tom slucaju jednaka ukupnom broju pomeranja potrebnih za sla-ganje slagalice.

Primer 2.5. Elementi problema stizanja iz jednog grada u drugi (primer2.2) su:

โ€ข Skup stanja: skup gradova.

โ€ข Polazno stanje: 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 problemu se razlikuje od stanja do sta-nja, jer su za razlicite gradove razliciti i skupovi neposredno dostup-nih gradova).

โ€ข Funkcija prelaska: odredena je vezama izmedu gradova.

โ€ข Funkcija cene: na primer, cena za jednu akciju jednaka je duzini putaili ceni goriva potrebnog za prevoz izmedu susednih gradova.

Page 25: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

23 2. Resavanje problema koriscenjem pretrage

Problemi pretrage cesto se pogodno opisuju u terminima grafova (i mo-gu se vizualizovati na odgovarajuci nacin). Graf prostora stanja onda opisujeskup mogucih stanja i mogucih akcija i svakom cvoru grafa pridruzeno je jednostanje, a svakoj grani jedna akcija. Takav graf moze da bude usmeren ili neu-smeren. Neusmeren je ako za svako stanje ๐ด iz kojeg se moze nekom akcijomdoci do stanja ๐ต, postoji odgovarajuca akcija iste cene kojom se iz stanja ๐ตmoze doci do stanja ๐ด. U primeru slagalice, graf prostora stanja je neusmeren,svakom cvoru grafa pridruzen je jedan raspored, a granama odgovaraju pojedi-nacni koraci. I u primeru gradova, graf prostora stanja je neusmeren, a svakomcvoru pridruzen je jedan grad. Za igru sah, medutim, graf bi bio usmeren (jerpostoje pozicije ๐ด i ๐ต takve da se iz ๐ด moze jednim potezom doci do ๐ต, aline i obratno). Graf prostora stanja moze da bude veoma veliki, ali je obicnokonacan.

Primer 2.6. Modelujmo problem opisan u primeru 2.3:

โ€ข Skup stanja je skup mogucih rasporeda na dve obale reke (taj rasporedzapravo je odreden rasporedom na jednoj obali). Ako je covek na pr-voj obali, oznacavacemo to jedinicom, a ako nije โ€“ oznacavacemo tonulom. Analogno za vuka, kozu i kupus, u tom poretku. Dakle, svakostanje mozemo da reprezentujemo nizom od cetiri binarne cifre.

โ€ข Polazno stanje je stanje 1111.

โ€ข Test cilja je provera da li je stanje jednako 0000.

โ€ข Iz jednog stanja u drugo moguce je doci ako su ispunjeni uslovi: (i)vrednost prve cifre se menja (covek uvek prelazi sa obale na obalu);(ii) ako je prva cifra prvog stanja jedinica, onda od preostalih jedinicanajvise jedna moze da postane nula; (iii) ako je prva cifra prvogstanja nula, onda od preostalih nula najvise jedna moze da postanejedinica (jer covek camcem moze da preveze samo vuka, samo kozuili samo kupus). U stanja 1100, 1001, 1000, 0111, 0110, 0011 se nemoze doci (da ne bi vuk pojeo kozu ili koza kupus) i iz njih nemamogucih akcija. Ako zapis stanja tretiramo kao binarni broj, mozemoga krace oznaciti i dekadnim brojem.

โ€ข Na osnovu mogucih akcija, funkcija prelaska odreduje sledece vezeizmedu stanja:

Page 26: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

2.2. Resavanje problema 24

15 โ†’ 5 7 โ€“14 โ†’ 4, 2 6 โ€“13 โ†’ 5, 4, 1 5 โ†’ 15, 1312 โ€“ 4 โ†’ 14, 1311 โ†’ 2, 1 3 โ€“10 โ†’ 2, 0 2 โ†’ 14, 11, 109 โ€“ 1 โ†’ 13, 118 โ€“ 0 โ†’ 10

โ€ข Funkcija cene nije relevantna ako se u zadatku trazi bilo kakvo resenje,ali to se moze poostriti zahtevom za najkracim resenjem, tj. resenjemu kojem ima najmanje prelazenja reke i tada za svaki prelazak mozemosmatrati da ima cenu 1.

Opisani problem moze se elegantno opisati u terminima grafova. Grafprostora stanja cine cvorovi 0, 1, . . . , 15. Grane su odredene navedenom ta-belom (dobijeni graf je bipartitni graf). Ako se moze doci iz jednog stanja udrugo, onda se i iz tog drugog moze doci u prvo. Dakle, graf je neusmeren.Dobijeni graf prikazan je na narednoj slici:

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Zadatak u ovako formulisanom problemu postaje: u dobijenom grafupronaci (najkraci) put od cvora 15 do cvora 0. Na slici je podebljanimlinijama prikazan trazeni put.

2.2 Resavanje problema

U fazi resavanja cesto je u grafu prostora stanja potrebno pronaci cvor sanekim svojstvom ili najkraci put do nekog cvora. Pretrazivanjem grafa nastajestablo pretrazivanja ili stablo pretrage. To stablo ne mora nuzno da se kreiraeksplicitno, kao struktura u memoriji racunara, vec moze da se kreira samo im-plicitno, procesom obilaska cvorova. U stablu pretrage svakom cvoru pridruzenoje jedno stanje, ali jedno stanje moze da bude poseceno vise puta tokom obila-

Page 27: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

25 2. Resavanje problema koriscenjem pretrage

ska, te moze da se nalazi u vise cvorova stabla pretrage. Zato stablo pretragemoze da bude beskonacno i onda kada je prostor stanja konacan. Kada se kazeโ€žcvorโ€œ, obicno je iz konteksta jasno da li se misli na cvor prostora stanja ilina cvor u stablu pretrage, a cesto se isto oznacavaju cvor i stanje koje mu jepridruzeno.

Primer 2.7. Problem reprezentovan kao u primeru 2.6, moze se resitisistematicnim pretrazivanjem grafa: pocetni cvor je 15, ciljni 0. Ako se zeliresenje sa najmanjim brojem prelazaka reke, treba primeniti sistematicniobilazak grafa u sirinu. Tako se moze dobiti sledece resenje: 15โˆ’ 5โˆ’ 13โˆ’4โˆ’ 14โˆ’ 2โˆ’ 10โˆ’ 0.

U mnogim problemima, ciljni cvor u grafu nije moguce pronaci u realnomvremenu sistematicnim pretrazivanjem, te je radi brzeg pronalazenja cilja pre-tragu potrebno usmeravati dodatnim informacijama o kvalitetu pojedinacnihstanja, specificnim za dati problem (ukoliko su one raspolozive). Probleme pre-trage za koje su raspolozive takve informacije zovemo problemi informisanepretrage, a one druge โ€“ problemi neinformisane pretrage. Algoritmi pretragedele se, prema tome kojoj grupi problema su prilagodeni, na algoritme infor-misane (tj. usmerene) pretrage i na algoritme neinformisane pretrage.

Primer 2.8. U problemu iz primera 2.2, ako su raspolozive samo infor-macije o neposredno povezanim gradovima (pa i cene prelaska u njih), upitanju je problem neinformisane pretrage i za resavanje se koriste (nein-formisani) algoritmi kao sto su algoritmi za sistematicnu pretragu u sirinuili u dubinu ili Dajkstrin algoritam. Ukoliko su, na primer, poznata va-zdusna rastojanja izmedu gradova, te informacije mogu se iskoristiti zanavodenje pretrage, pa problem pripada grupi problema informisane pre-trage, a za njegovo resavanje moze se koristiti algoritam kao sto je A*.

2.3 Interpretiranje i analiza resenja

Dobijeno resenje matematicki formulisanog problema potrebno je formuli-sati u terminima pocetnog problema i potrebno je razumeti njegova svojstva.

Primer 2.9. U okviru primera 2.7, kao resenje je dat sledeci put u grafu:15 โˆ’ 5 โˆ’ 13 โˆ’ 4 โˆ’ 14 โˆ’ 2 โˆ’ 10 โˆ’ 0. Ako se oznake cvorova grafa prikazukao binarni brojevi koji oznacavaju stanja, dobijeni put je: 1111โˆ’ 0101โˆ’1101โˆ’0100โˆ’1110โˆ’0010โˆ’1010โˆ’0000. Lako se moze rekonstruisati prvikorak algoritma โ€“ 1111 โˆ’ 0101: na prvoj obali su bili covek, vuk, koza ikupus, a onda samo vuk i kupus. Dakle, u prvom koraku covek na druguobalu odvozi kozu. Slicno se moze rekonstruisati citavo resenje u terminima

Page 28: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

2.3. Interpretiranje i analiza resenja 26

polaznog problema: covek prevozi kozuโ€“covek se vraca samโ€“covek prevozikupusโ€“covek prevozi kozuโ€“covek prevozi vukaโ€“covek se vraca samโ€“covekprevozi kozu.

U okviru resavanja problema koriscenjem pretrage obicno se ne sprovodievaluiranje dobijenih resenja. Naime, algoritmi koji se koriste obicno su eg-zaktni i resenja koja vracaju sigurno ispunjavaju neke zadate uslove. Algoritmipretrage u nekim slucajevim ne vrse sistematicnu pretragu, ali je potrebnoznati da li garantovano vracaju isti (ali brze pronaden) rezultat. Pored toga,potrebno je znati da li korisceni algoritam pretrage uvek vraca resenje koje jenajbolje moguce (u nekom smislu), a ako to nije ispunjeno, pozeljno je znatikoliko dobijeno resenje moze da odstupa od optimalnog resenja (na primer,ako je pronaden put do neke lokacije u gradu, pitanje je koliko od odstupa odnajboljeg puta). Dodatno, iako su algoritmi koji se koriste za pretragu jasnodefinisani, neki njihovi parametri mogu biti predmet podesavanja i, na primer,mogu biti odredivani metodama masinskog ucenja. Tada bi taj deo resavanjaproblema prolazio kroz faze uobicajene za masinsko ucenje.

Najvaznija opsta svojstva koje algoritmi pretrage mogu da imaju su sledeca:

Potpunost je svojstvo koje garantuje da ce algoritam naci neko resenje pro-blema ako resenja uopste postoje. Ovo svojstvo je ocito pozeljno, ali seu nekim slucajevima ne zahteva. Naime, u slucaju vrlo teskih proble-ma cesto je moguce formulisati heuristike koje ne garantuju pronalazenjeresenja, ali u visokom procentu slucajeva nalaze dobra resenja mnogobrze nego potpuni algoritmi.

Optimalnost je svojstvo koje garantuje nalazenje resenja sa najmanjom ce-nom (pri cemu se cenom resenja moze smatrati zbir cena akcija koje sepreduzimaju).2 Optimalno resenje je resenje sa najmanjom cenom i onone mora biti jedinstveno. Moguce je da algoritam koji nema svojstvo opti-malnosti cesto pronalazi resenja bliska optimalnim, ali u znacajno kracemvremenu.

Vremenska i prostorna slozenost govore, kao i za druge vrste algoritama,o tome koliko je vremena i memorijskog prostora potrebno za sprovodenjeprocesa pretrage. Obicno se razmatra slozenost najgoreg i prosecnogslucaja.

2Svojstvo optimalnost algoritma moze da ima i drugacije znacenje: da je (vremenska iliprostorna) slozenost algoritma najbolja medu svim algoritmima koji resavaju taj problem.

Page 29: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 3

Neinformisana pretraga

U svim problemima pretrage, podrazumeva se da je moguce opaziti tekucestanje, preduzimati akcije i prepoznati ciljno stanje. Specificno za neinformisa-nu pretragu (eng. uninformed search) je to sto nema dodatnih informacija kojemogu pomoci u navodenju koje ubrzava pronalazenje ciljnog stanja. U primerupronalazenja najkraceg puta od nekog grada do ciljnog grada, scenario nein-formisane 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 prepo-znati odredisni, ali nema informacija o rastojanju od pojedinacnih gradova doodredista (koje bi mogle da usmeravaju pretragu). Tipican primer problemaneinformisane pretrage je i problem lavirinta koji je opisan u nastavku.

Primer 3.1. Lavirint u ravni sastoji se od skupa povezanih hodnika kojimaje moguce kretati se. Svaki hodnik ima jedno ili vise polja i dva kraja. Jednopolje je ulaz, a jedno izlaz iz lavirinta. Ulaz, izlaz, krajeve hodnika, kao ipolja koja su zajednicka za dva hodnika zovemo cvorovima lavirinta. Ciljje pronaci put od ulaza do izlaza preko cvorova lavirinta. Elementi ovogproblema su sledeci:

โ€ข Skup stanja: skup cvorova lavirinta.

โ€ข Polazno stanje: ulaz u lavirint.

โ€ข Test cilja: provera da li je tekuci cvor izlaz iz lavirinta.

โ€ข Skup mogucih akcija: izbor puta (tj. sledeceg cvora lavirinta) u sva-kom koraku.

โ€ข Funkcija prelaska: odredena je vezama izmedu cvorova lavirinta.

27

Page 30: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

3.1. Obilazak grafa u dubinu i sirinu 28

โ€ข Funkcija cene: cena za prelazak iz jednog cvora u susedni je, na pri-mer, 1.

Naredna slika ilustruje lavirint (levo) i graf prostora stanja koji muodgovara (desno).

1 2

34

56

7 8

9

10

11 12

1314

15 16

17

18

19 20

21

22

Naredna slika ilustruje stablo koje odgovara obilasku grafa lavirinta udubinu (pri cemu se uvek prvo bira desni put). Ukoliko se trazi izlaz izlavirinta, oblilazak prikazanog stabla staje nakon dolaska u cvor 18.

1

2

3

4 5

6

7

8

9 10

11

12

13

14

15

16

19

221720

1821

Elementi problema pretrage (skup stanja i funkcija prelaska), pa i problemaneinformisane pretrage, najcesce se prirodno izrazavaju u terminima grafova.U slucaju lavirinta, radi se o grafu ciji su cvorovi cvorovi lavirinta, a grane suputevi izmedu tih cvorova lavirinta (primer 3.1). I algoritmi pretrage najcescesu formulisani u vidu algoritama obilaska grafova. Jedan nacin pronalazenjaizlaza u lavirintu je drzati se desne strane hodnika i pratiti zidove dok se nenaide na izlaz. Kao sto ce biti navedeno u nastavku, to resenje odgovara upravoobilasku grafa u dubinu (sve dok se ne naide na trazeni cvor grafa).

3.1 Obilazak grafa u dubinu i sirinu

Obilazak grafa u dubinu (eng. depth-first search โ€” DFS) i u sirinu (eng. bre-adth-first search โ€” BFS) su metode neinformisane pretrage koje ispituju cvoroveu grafu trazeci resenje, sto je obicno neki specifican cvor. Oni sistematski pre-

Page 31: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

29 3. Neinformisana pretraga

trazuju ceo graf bez ikakvog navodenja i staju sa pretragom kada pronadutrazeni cvor.

3.1.1 Pretraga u dubinu

Pretraga u dubinu je pretraga koja krece od polaznog cvora i zatim napre-duje ka daljim cvorovima. Ukoliko u nekom cvoru nema suseda koji jos uveknisu ispitani, pretraga se vraca unazad do cvora ciji svi susedi nisu ispitani inastavlja dalje. U nerekurzivnoj verziji, cvorovi na tekucem putu od polaznogcvora obicno se cuvaju na steku, tj. u LIFO listi. Da ne bi doslo do beskonacnepetlje, potrebno je cuvati informaciju o cvorovima koji su vec poseceni. Ovajpostupak opisan je algoritmom DFS na slici 3.1, a slika 3.2 ilustruje obilazakjednog grafa. Prikazani algoritam, ukoliko pronade ciljni cvor, u tom trenutkuna steku ๐‘๐‘ข๐‘ก sadrzi redom 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 cvor ๐‘š susedan cvoru ๐‘› i dodaj ga na vrh

steka ๐‘๐‘ข๐‘ก i u skup posecenih cvorova;

10: izvesti da trazeni put ne postoji.

Slika 3.1: DFS โ€” algoritam pretrage u dubinu.

Primer 3.2. Algoritam DFS moze se upotrebiti za pronalazenje izlazaiz lavirinta koji je opisan grafom (pri cemu algoritam vraca ceo put odulaza do izlaza). Pracenje hodnika lavirinta drzeci se desne strane odgovarapretrazi u dubinu.

Page 32: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

3.1. Obilazak grafa u dubinu i sirinu 30

1

2

3 4

5

6

Slika 3.2: Primer obilaska grafa primenom algoritma DFS (oznake cvorova uka-zuju na poredak obilaska cvorova).

Primer 3.3. Ukoliko se, posavsi od Zagreba trazi put do Bukuresta pri-menom algoritma DFS i ukoliko se prilikom izbora sledeceg grada prednostdaje juznijem, bio bi pronaden put Zagreb-Sarajevo-Podgorica-Skoplje-So-fija-Bukurest. Ovaj put je po duzini vrlo los izbor, sto je i bilo ocekivanoposto algoritam ne uzima u obzir duzine puteva izmedu gradova. Kako semoze naci najkraci put, bice prikazano kasnije.

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest

1

2

34

5

6

Bektreking (eng. backtracking) je modifikovana varijanta pretrage u dubinu.Modifikacija se sastoji u tome da se bektrekingom ne mora obici ceo graf, vecse napredovanje u dubinu prekida i ranije ako se ustanovi da se ciljni cvor nenalazi medu potomcima tekuceg cvora i tada nastupa vracanje na prethodnicvor. Ilustrativan primer za bektreking je resavanje problema osam dama.

Page 33: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

31 3. Neinformisana pretraga

Primer 3.4. Problem osam dama formulisan je 1848. godine i od tadaje bio predmet mnogih matematickih i informatickih istrazivanja. Cilj jerasporediti osam dama na sahovskoj tabli tako da se nikoje dve dame nenapadaju. Skup polja koja jedna dama napada definisan je u skladu saopstim pravilima saha i ilustrovan je na narednoj slici (levo). Na narednojslici (desno) prikazano je i jedno resenje ovog problema.

80Z0Z0Z0Z7Z0Z0Z0Z060Z0Z0Z0Z5Z0Z0Z0Z040Z0L0Z0Z3Z0Z0Z0Z020Z0Z0Z0Z1Z0Z0Z0Z0

a b c d e f g h

80ZQZ0Z0Z7Z0Z0ZQZ060Z0L0Z0Z5ZQZ0Z0Z040Z0Z0Z0L3Z0Z0L0Z020Z0Z0ZQZ1L0Z0Z0Z0

a b c d e f g h

Prostor stanja koji se analizira cine svi rasporedi od 0 do 8 dama(ukljucujuci i one u kojima se neke dame medusobno napadaju). Postojigrana od jednog stanja (rasporeda) ka drugom ukoliko se drugi moze dobitiod prvog dodavanjem jedne dame na slobodno polje na tabli. Neki raspo-red moguce je dobiti razlicitim redosledima dodavanja dama polazeci odprazne table, ali se dodavanjem dama ne moze dobiti tabla sa manjim bro-jem dama. Dakle, radi se o usmerenom aciklicnom grafu. Polazno stanjeje prazna tabla, a ciljno stanje je bilo koje stanje koje zadovoljava usloveproblema (za osam dama postoji 92 resenja).

U bilo kom resenju, ocigledno, u jednoj koloni mora biti tacno jednadama, pa se pretraga moze vrsiti na sledeci nacin: dame se dodaju redompo kolonama, po jedna u svaku kolonu. U stablu pretrage, na svakom putuod prazne table do rasporeda sa osam dama od kojih se barem neke na-padaju, postoji prvi raspored za koji vazi to isto. Kako se duz puteva krozstablo pretrage dame samo dodaju, nakon tog rasporeda i svi drugi raspore-di na putu imaju dame koje se napadaju. Dakle, postupak pretrage ne trebanastavljati kada se naide na prvi raspored sa dve dame koje se napadaju.Na narednoj slici prikazan je jedan raspored koji ne treba ispitivati dalje.

80L0Z0Z0Z7Z0Z0Z0Z060Z0ZQZ0Z5Z0L0Z0Z040Z0Z0Z0Z3Z0ZQZ0Z020Z0Z0Z0Z1L0Z0ZQZ0

a b c d e f g h

Page 34: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

3.1. Obilazak grafa u dubinu i sirinu 32

Na narednoj slici prikazan je deo stabla pretrage koja koristi opisanibektreking postupak za problem cetiri dame (za problem osam dama stablopretrage preveliko je za ilustraciju). Crvenom bojom podvucene su sta-nja za koje nema potrebe nastaviti ispitivanje (te se dalja pretraga u timcvorovima prekida), kao i zavrsna stanja koja nisu ciljna.

0Z0ZZ0Z00Z0ZZ0Z0

0Z0ZZ0Z00Z0ZL0Z0

0Z0ZZ0Z0QZ0ZZ0Z0

0Z0ZZ0Z00Z0ZLQZ0

0Z0ZZ0Z00L0ZL0Z0

0Z0ZZQZ00Z0ZL0Z0

0L0ZZ0Z00Z0ZL0Z0

0Z0ZZ0Z0QZ0ZZQZ0

0Z0ZZ0Z0QL0ZZ0Z0

0Z0ZZQZ0QZ0ZZ0Z0

0L0ZZ0Z0QZ0ZZ0Z0

0Z0ZZQZ00Z0ZL0L0

0Z0ZZQZ00ZQZL0Z0

0Z0ZZQL00Z0ZL0Z0

0ZQZZQZ00Z0ZL0Z0

0L0ZZ0Z00Z0ZL0L0

0L0ZZ0Z00ZQZL0Z0

0L0ZZ0L00Z0ZL0Z0

0LQZZ0Z00Z0ZL0Z0

0L0ZZ0Z0QZ0ZZ0L0

0L0ZZ0Z00ZQZL0ZQ

0L0ZZ0Z00ZQLL0Z0

0L0ZZ0ZQ0ZQZL0Z0

0L0LZ0Z00ZQZL0Z0

0L0ZZ0Z0QZ0ZZ0LQ

. . . . . .

Problem ๐‘› dama je uopstenje problema osam dama: treba rasporediti๐‘› dama na tabli dimenzija ๐‘›ร— ๐‘› tako da se nikoje dve ne napadaju. Ovajproblem moze se resavati kao sto je opisano za slucaj ๐‘› = 8.

Na prethodnom primeru mogu se uociti neke tipicne osobine bektrekinga.Bektreking se zasniva na prosirivanju tekuceg parcijalnog resenja. Polazno par-cijalno resenje je prazno resenje. U prethodnom primeru, to je prazna sahovskatabla, a prosirivanje parcijalnog resenja se vrsi dodavanjem dame na tablu.Prosirivanje parcijalnog resenja u nekim slucajevima nije isplativo ili nije mo-guce i tada se pretraga vraca unazad, odakle dolazi i ime tehnike. U problemudama, nije isplativo nastaviti pretragu ukoliko je dostignut raspored u kojemse dve dame napadaju. Prilikom izbora naredne grane u pretrazi, prati se nekiporedak izbora, u slucaju problema dama, na primer โ€“ sledece prazno polje uskladu sa nekom numeracijom polja.

Page 35: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

33 3. Neinformisana pretraga

3.1.2 Pretraga u sirinuPretraga u sirinu razmatra cvorove koji su susedni nekom cvoru, onda re-

dom sve njihove susede, pa redom sve njihove susede, i tako dalje. U traganjuza cvorom koji zadovoljava neki uslov, bice pronaden onaj na najmanjem ra-stojanju (pri cemu se pod rastojanjem misli na broj grana) od polaznog cvora.Cvorovi koji se razmatraju obicno se cuvaju u redu, tj. u FIFO listi. Da ne bidoslo do beskonacne petlje, potrebno je cuvati informaciju o cvorovima koji suvec poseceni. Ta informacija ne mora da se cuva eksplicitno, vec kroz informa-ciju o cvoru roditelju. Opisani algoritam BFS prikazan je na slici 3.3. Slika 3.4ilustruje obilazak grafa primenom algoritma BFS.

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: za svaki cvor zapamti da mu je roditelj nedefinisan;

3: dok god red ๐‘† nije prazan radi4: uzmi cvor ๐‘› sa pocetka reda ๐‘† i obrisi ga iz reda;5: ako je ๐‘› ciljni cvor onda6: izvesti o uspehu i vrati put od polaznog do ciljnog cvora (iduci

unazad od ciljnog cvora, prateci roditeljske cvorove);7: za svaki od susednih cvorova ๐‘š cvora ๐‘› za koji nije definisan roditelj

radi8: zapamti ๐‘› kao roditelja i dodaj ๐‘š na kraj reda ๐‘†;

9: izvesti da trazeni put ne postoji.

Slika 3.3: BFS โ€” algoritam pretrage u sirinu.

1

2

3

4

5

6

Slika 3.4: Primer obilaska grafa primenom algoritma BFS (oznake cvorova uka-zuju na poredak obilaska cvorova).

Page 36: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

3.1. Obilazak grafa u dubinu i sirinu 34

Primer 3.5. U slucaju trazenja puta od Zagreba do Bukuresta primenomalgoritma BFS, na pocetku je tekuci grad Zagreb. Iz Zagreba, pronalaze seSarajevo, Beograd i Budimpesta (pretpostavimo da su tim redom, u smerusuprotnom od smera kazaljke na satu, poredani kao susedi cvora Zagreb).Oni cine novi red ๐‘† i za njih se pamti da je prethodni grad Zagreb, koji seuklanja iz reda. Iz Sarajeva se pronalazi put do Podgorice koja se dodajena kraj reda ๐‘†, a Sarajevo se iz njega uklanja. Iz Beograda se pronalazi putdo Skoplja i Bukuresta, koji se dodaju na kraj reda ๐‘†, a Beograd se iz njegauklanja. Iz Budimpeste se ne pronalazi put ni do jednog grada koji vec nijeobraden. Budimpesta se uklanja iz reda. Iz Podgorice se ne pronalazi putni do jednog grada koji vec nije obraden. Podgorica se uklanja iz reda. IzSkoplja se pronalazi put do Sofije koja se dodaje na kraj reda ๐‘†, a Skoplje seiz njega uklanja. Kada Bukurest postane grad koji se analizira, konstatujese da je to ciljni grad, konstruise se trazeni put (Zagreb-Beograd-Bukurest)i algoritam se zaustavlja.

Na narednoj slici ilustrovano je opisano trazenje puta od Zagreba doBukuresta. Gore je prikazan graf prostora stanja, a dole je prikazano stablopretrage.

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest

1

2

3

4

5 6

7

Podgorica

Sarajevo Beograd

Skoplje

Zagreb

Budimpesta

Bukurest

Sofija

Page 37: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

35 3. Neinformisana pretraga

DFS pretraga pogodnija je od BFS pretrage za usmeravanje koje bira cvorovekoji vise obecavaju. Vremenska slozenost oba algoritma je reda zbira brojacvorova i broja grana grafa koji se pretrazuje (๐‘‚(|๐‘‰ | + |๐ธ|)), a prostorna jereda broja cvorova (๐‘‚(|๐‘‰ |)).

3.2 Dajkstrin algoritam

Dajkstrin algoritam je algoritam za pretragu grafa koji nalazi najkrace pu-teve u grafu sa nenegativnim cenama koje su pridruzene granama. Razvio gaje holandski informaticar Edzger Dajkstra (Edsger Dijkstra) 1959. godine. Al-goritam se moze koristiti za odredivanje najkraceg puta od datog cvora dodatog ciljnog cvora, ali i za odredivanje najkracih puteva od datog cvora dosvih drugih cvorova grafa. Ideja Dajkstrinog algoritma moze se ilustrovati nasledeci nacin. Pretpostavimo da je svakom cvoru grafa pridruzena jedna kuglaa da su dve takve kugle povezane nitima ako i samo ako postoji grana izmeduodgovarajucih cvorova u grafu. Neka su duzine tih niti proporcionalne cenamaodgovarajucih grana. Neka je citava konfiguracija skupljena na jednoj tacki natlu. Uzmimo kuglu koja odgovara polaznom cvoru i podizimo je od tla, zajednosa citavom konfiguracijom, tako da se nikoje dve niti ne upletu i tako da se svekugle koje su podignute krecu duz iste vertikalne linije. Postepeno se kugle,jedna po jedna, odvajaju od tla, a najmanje rastojanje izmedu polazne kugle ibilo koje podignute kugle jednako je neposrednom rastojanju (vazdusnom lini-jom) izmedu njih. Opsta ideja algoritma je slicna: postoje cvorovi koji su vecโ€žpodignuti sa tlaโ€œ i oni koji su jos uvek โ€žna tluโ€œ. Za one koji su podignuti satla vec znamo najkrace puteve od polaznog cvora. U svakom koraku jos jedancvor โ€žpodizemo sa tlaโ€œ i izracunavamo njegovo najmanje rastojanje od pola-znog cvora (razmatrajuci samo one cvorove koji su mu susedni i koji su veciznad tla). Ukoliko na kraju ovog postupka โ€žna tluโ€œ ostanu jos neki cvorovi, toznaci da do njih ne postoji put od polaznog cvora.

Dajkstrin algoritam prikazan je na slici 3.5. U svakoj iteraciji, bira se cvor๐‘› iz skupa cvorova ๐‘„ (to su cvorovi koji su โ€žna tluโ€œ) takav da je vrednosttekuceg najmanjeg rastojanja od polaznog cvora do njega najmanja. Taj cvorse tada brise iz skupa ๐‘„. Ukoliko je to ciljni cvor, onda se konstruise trazeni putod polaznog cvora (koristeci informaciju o roditeljskim cvorovima). Inace, zasvaki cvor ๐‘š iz ๐‘„ koji je susedan cvoru ๐‘› proverava se da li se (preko ๐‘›) mozepopraviti tekuce najmanje rastojanje od polaznog cvora i, ako moze, cvor ๐‘› sepostavlja za roditelja cvora ๐‘š. Invarijanta petlje je da se za cvorove koji nisuu ๐‘„ zna najkrace rastojanje od polaznog cvora. Dodatno, ako takvih cvorovaima ๐‘˜, onda upravo ti cvorovi cine ๐‘˜ najblizih cvorova polaznom cvoru.

U najjednostavnijoj implementaciji Dajkstrinog algoritma, skup ๐‘„ se im-plementira kao obicna povezana lista ili niz. Slozenost algoritma sa takvomimplementacijom skupa ๐‘„ je ๐‘‚(|๐‘‰ |2 + |๐ธ|) = ๐‘‚(|๐‘‰ |2), gde je ๐‘‰ skup cvorova,a ๐ธ skup grana grafa. Za retke grafove (koji imaju mnogo manje grana od|๐‘‰ |2), Dajkstrin algoritam moze se implementirati efikasnije. Na primer, vari-janta koja koristi min-hip za odredivanje tekuceg najblizeg cvora ima slozenost

Page 38: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

3.2. Dajkstrin algoritam 36

Algoritam: Dajkstrin algoritam

Ulaz: Graf ๐บ, polazni cvor i ciljni cvor

Izlaz: Najkraci put od polaznog do ciljnog cvora u grafu ๐บ (ako postoji takavput)

1: stavi sve cvorove grafa u skup ๐‘„;

2: za svaki cvor iz ๐‘„ upamti trenutno najmanje rastojanje od polaznog cvora:za polazni cvor to rastojanje je 0, a za sve ostale cvorove je โˆž;

3: dok god skup ๐‘„ nije prazan radi4: izaberi iz ๐‘„ cvor ๐‘› sa najmanjim ustanovljenim rastojanjem od pola-

znog cvora i obrisi ga iz ๐‘„;5: ako je ๐‘› ciljni cvor onda6: konstruisi put od polaznog do ciljnog cvora (iduci unazad od cilj-

nog cvora, prateci roditeljske cvorove) 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 rasto-

janja 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 3.5: Dajkstrin algoritam.

๐‘‚((|๐ธ|+ |๐‘‰ |) log |๐‘‰ |) (min-hip je struktura u formi balansiranog binarnog sta-bla za koju vazi da je element u svakom cvoru manji ili jednak od elemanataelementima u svim njegovim potomcima).

Primer 3.6. Dajkstrin algoritam potrebno je primeniti na naredni graf,za pronalazenja najkraceg puta od cvora ๐ด do cvora ๐น (taj trazeni putprikazan je podebljanom linijom):

๐ด ๐ต

๐ถ ๐ท

๐ธ ๐น

2

3

6

4

1

4

2

5

5

1

Naredna tabela prikazuje efekat primene algoritma:

Page 39: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

37 3. Neinformisana pretraga

korak B C D E F cvor ๐‘› (roditelj)1 โˆž โˆž โˆž โˆž โˆž ๐ด2 3 2 6 4 โˆž ๐ถ (๐ด)3 3 6 3 โˆž ๐ต (๐ด)4 6 3 8 ๐ธ (๐ถ)5 5 7 ๐ท (๐ธ)6 6 ๐น (๐ท)

U ovom primeru, cvor ๐ด je polazni, a cvor ๐น ciljni cvor. Polje tabeleza neki cvor prikazuje vrednost najkraceg do tada nadenog rastojanja odpolaznog do tog cvora.

Primer 3.7. Dajkstrin algoritam potrebno je primeniti za nalazenja putaod Bukuresta do Podgorice (na narednoj slici podebljanom linijom prikazanje najkraci put โ€“ Bukurest-Sofija-Skoplje-Podgorica):

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

Naredna tabela ilustruje izvrsavanje algoritma:

korak Bg So Bud Sk Pg Sa Zg cvor ๐‘› (roditelj)1 โˆž โˆž โˆž โˆž โˆž โˆž โˆž Bukurest2 590 360 840 โˆž โˆž โˆž โˆž Sofija (Bukurest)3 590 840 600 โˆž โˆž โˆž Beograd (Bukurest)4 840 600 1040 880 980 Skoplje (Sofija)5 840 950 880 980 Budimpesta (Bukurest)6 950 880 980 Sarajevo (Beograd)7 950 980 Podgorica (Skoplje)

Page 40: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 41: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 4

Informisana pretraga

Informisana (ili heuristicka) pretraga (eng. informed search) koristi ne samoinformaciju o mogucim akcijama (koracima) u svakom stanju, vec i dodatnoznanje o konkretnom problemu koje moze da usmerava pretragu ka stanjimakoja vise obecavaju, za koje postoji nekakvo ocekivanje da brze vode ciljnomstanju, tj. resenju problema. To dodatno znanje treba da bude nekakva ocena,mera kvaliteta stanja. Ta mera kvaliteta cesto nije egzaktna, nego predstavljanekakvu procenu, heuristicku meru.1

Funkciju koja ocenjuje kvalitet stanja zovemo funkcija evaluacije. Ukoli-ko je funkcija evaluacije oznacena sa ๐‘“ , onda ๐‘“(๐‘›) oznacava ocenu stanja ๐‘›.Podrazumevace se da su cene akcija (ili cene grana grafa) nenegativne. Vec jereceno da se problemi pretrage cesto mogu pogodno zadati u terminima grafovakoji opisuju prostor stanja, pa ce se umesto โ€žstanjaโ€œ i โ€žocena stanjaโ€œ govoriti iโ€ž cvorโ€œ i โ€žocena cvoraโ€œ. U nastavku ce cesto biti reci o rastojanjima i duzini putaizmedu cvorova i slicno, ali ce vecina razmatranja moze odnositi i na cene pu-teva koje su zasnovane, na primer, na potrebnom vremenu, ukupnoj putarini,i slicno.

Prilikom resavanja problema pretragom, generise se stablo pretrage (obicnosamo implicitno) cijim su cvorovima pridruzena stanja. Posto kroz jedno istostanje moze da se prode vise puta tokom pretrage, moze da bude vise cvorovastabla pretrage sa istim tim stanjem. Posto ocena stanja moze da zavisi odtrenutnog konteksta procesa pretrage, obicno je preciznije reci โ€žocena cvora(stabla pretrage)โ€œ nego โ€žocena stanjaโ€œ.

1Heuristike su tehnike za usmeravanje i suzavanje pretrage u problemima u kojima sejavlja kombinatorna eksplozija. Rec โ€žheuristikaโ€œ potice od grcke reci โ€žheuriskoโ€œ koja znaciโ€žtrazitiโ€œ ili โ€žotkrivatiโ€œ. Srodna grcka rec โ€žheurekaโ€œ ili โ€žeurekaโ€œ znaci โ€žnasao samโ€œ ili โ€žotkriosamโ€œ i obicno se vezuje za Arhimeda i njegov uzvik kada je dosao do jednog znamenitog ot-krica. Aristotel je koristio termin โ€žheuristikaโ€œ za otkrivanje novog znanja (ili demonstriranjepostojeceg) kroz komunikaciju i interakciju izmedu izlagaca i slusalaca. Perl (1984) pod he-uristikama smatra โ€žkriterijume, metode ili principe za izbor izmedu nekoliko mogucih akcijaone akcije koja obecava da ce biti najkorisnija za postizanje nekog ciljaโ€.

39

Page 42: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.1. Pohlepna pretraga 40

4.1 Pohlepna pretraga

Pohlepnim algoritmom naziva se algoritam koji tezi neposrednom povecanjuvrednosti neke ciljne funkcije. Ovakav algoritam ne procenjuje dugorocni kva-litet izabranih akcija, tj. koliko one doprinose ostvarenju konacnog cilja, vecbira akciju koja se na osnovu znanja dostupnog u trenutku izbora procenjujekao najbolja medu raspolozivim akcijama. Postoji vise varijanti pohlepnih al-goritama, a jedna varijanta pohlepne pretrage u grafu prikazana je na slici 4.1,gde je sa ๐‘“ oznacena funkcija evaluacije, tj. funkcija koja procenjuje kvalitetcvorova.

Algoritam: Pohlepna pretraga u grafu

Ulaz: Graf ๐บ, polazni cvor i ciljni cvor

Izlaz: Niz koraka od polaznog do ciljnog cvora ili neuspeh (i niz koraka donajboljeg pronadenog cvora)

1: tekuci cvor postavi na polazni cvor;

2: ponavljaj3: ako je tekuci cvor ciljni cvor onda4: izvesti o uspehu i vrati resenje konstruisuci put od polaznog do

ciljnog cvora (iduci unazad โ€” od ciljnog cvora);5: ako nema nijednog cvora ๐‘š koji je direktno dostupan iz tekuceg cvora

i ima bolju ocenu ๐‘“(๐‘š) od ocene tekuceg cvora) onda6: izvesti o neuspehu i vrati tekuci cvor kao najbolji pronadeni (i

konstruisi put od polaznog do tog cvora);7: inace8: od cvorova koji su direktno dostupni iz tekuceg cvora izaberi cvor

๐‘š koji ima najbolju ocenu ๐‘“(๐‘š), zapamti tekuci cvor kao njego-vog roditelja i postavi ๐‘š da bude novi tekuci cvor.

Slika 4.1: Algoritam pohlepne pretrage.

Primer 4.1. U primeru pronalazenja najkracih puteva izmedu gradova(primer 2.2), ukoliko su, na osnovu mape, poznata sva vazdusna rastojanjaizmedu gradova, ona mogu da se koriste za funkciju evaluacije. Pohlepnapretraga tada moze da za sledeci grad uvek bira onaj koji je vazdusnimputem najblizi ciljnom gradu. Razmotrimo gradove prikazane na narednojslici (podebljanim ciframa ispisana su kopnena, obicnim ciframa vazdusnarastojanja izmedu dva grada, a isprekidanim linijama spojeni su gradoviza koje ne postoji direktna kopnena veza).

Page 43: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

41 4. Informisana pretraga

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest590/450

840/640

360/300

240/170350/190

230/170450/280

400/290

390/370

340/300

290/190

380/320

430/320

681

423

334

631

328

Neka se trazi put od Budimpeste do Sofije. Ocena za Budimpestu i njojdirektno dostupne gradove โ€“ Zagreb, Beograd, Bukurest su 631, 681, 328 i300. Bukurest ima najbolju ocenu i ona je bolja od ocene za Budimpestu,te se bira Bukurest (i Budimpesta se navodi kao roditelj). Iz Bukurestasu direktno dostupni Budimpesta, Beograd i Sofija i njihove ocene su 631,328 i 0, te se bira Sofija (i Bukurest se navodi kao roditelj). Onda sekonstatuje da je Sofija ciljni cvor i vraca se put Budimpesta-Bukurest-Sofija. Primetimo da ovo nije najkraci moguci put โ€“ njegova duzina je1200, dok je duzina puta Budimpesta-Beograd-Skoplje-Sofija jednaka 1050,

Pretpostavimo sada da je Skoplje polazni cvor, da je ciljni cvor (pono-vo) Sofija, ali i da ne postoji direktan put izmedu ova dva grada. OcenaSkoplja je 170 i ona je veca nego ocene za direktno dostupne gradove โ€”Beograd (328) i Podgoricu (334), te pohlepna pretraga ne moze da napravinijedan korak.

Navedeni primer ilustruje opsti problem pohlepne pretrage: pohlepni al-goritmi ne garantuju optimalnost, pa ni potpunost procesa resavanja. Naime,moguce je da pohlepni algoritam vrati resenje koje nije najbolje ili da ne nadeput do ciljnog cvora i ako on postoji. Dobra strana algoritama zasnovanih napohlepnoj pretrazi je to sto su veoma jednostavni, cesto veoma efikasni i moguda daju dovoljno dobre rezultate. Pohlepna pretraga obicno se ponasa dobro uslucaju problema kod kojih kvalitet odluke u nekom stanju pretrage ne zavisiod buducih odluka. Pohlepni algoritmi nikad se ne vracaju u stanje u kojemsu vec bili. To svojstvo, u slucaju konacnih grafova, obezbeduje zaustavljanjealgoritma.

Primer 4.2. U slucaju Lojdove slagalice, kao ocena rastojanja od tekucegdo ciljnog stanja moze se koristiti zbir Menhetn rastojanja svakog od 15

Page 44: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.1. Pohlepna pretraga 42

polja slagalice do njegovog ciljnog mesta. Menhetn rastojanje izmedu dvapolja ๐ด i ๐ต definise se kao najmanji broj polja koji je potrebno preci kakobi se doslo od ๐ด do ๐ต, krecuci se iskljucivo horizontalno ili vertikalno (ovorastojanje zove se Menhetn, jer podseca na kretanje ulicama Menhetna kojesu medusobno normalne ili paralelne: od jednog do drugog bloka moguce jekretati se ulicama, ali nije moguce prolaziti blokove dijagonalno). U slucajustanja slagalice u korenu levog stabla na narednoj slici, Menhetn rastojanjepolja 1 do njegovog pravog mesta je 3, zato sto je na tom putu potrebnopreci preko dva polja krecuci se navise, a potom jedno polje krecuci se ule-vo. Moguci su i drugi putevi, ali njihova duzina nije manja. Ukupna ocenatog stanja slagalice je 0+0+0+1+1+2+1+0+3+2+2+0+0+2+2=16. Al-goritam pohlepne pretrage prikazan na slici 4.1. trazi potez kojim ocenastanja moze da se popravi.

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

Ukoliko je polazna konfiguracija stanje slagalice prikazane u korenu levogstabla na slici, pohlepna pretraga ne moze se da nastavi. Naime, datostanje predstavlja lokalni minimum ocene stanja, jer se bilo kojim potezomta ocena uvecava za 1.

Ukoliko je polazna konfiguracija stanje slagalice prikazane u korenudesnog stabla na slici, ocena stanja se smanjuje pomeranjem polja 4 navisea zatim i pomeranjem navise polja 8 i 11. No, nakon toga se dolazi dostanja koje je lokalni minimum i pretraga se zaustavlja.

Navedeni primeri pokazuju da predlozenom jednostavnom pohlepnompretragom nije moguce resiti Lojdovu slagalicu.

4.1.1 Penjanje uzbrdo

Slicni po duhu pohlepnoj pretrazi su algoritmi penjanja uzbrdo. Oni imajusvojih specificnosti, a ponekad se smatraju vrstom pohlepne pretrage.

Algoritmi penjanja uzbrdo pripadaju grupi algoritama lokalne pretrage zamatematicku optimizaciju. Zadatak je pronaci argument x koji daje maksi-

Page 45: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

43 4. Informisana pretraga

malnu vrednost neke funkcije cilja ๐‘“(x). Moguce vrednosti tog argumenta cineskup dopustivih resenja, a trazena vrednost argumenta naziva se optimalnimresenjem problema optimizacije. Algoritam treba da kao rezultat uvek vratineko dopustivo resenje (i ako ne moze da tvrdi da je to resenje zaista mak-simalno, tj. optimalno). Inicijalno resenje obicno se bira slucajno. Nastavakpostupka sprovodi se u iteracijama i to samo dok se popravlja kvalitet tekucegresenja. U svakoj iteraciji novo tekuce resenja bira se iz specificne okoline te-kuceg resenja, tj. iz nekog skupa suseda. Onaj od tih suseda za koji je najvecavrednost funkcije ๐‘“ bice kandidat za novo tekuce resenja. Ukoliko vrednostfunkcije ๐‘“ za to resenja nije veca od vrednosti za tekuce resenja, postupak seobustavlja i kao rezultat se vraca tekuce resenja. Funkcija ๐‘“(x) ne mora bitineprekidna, vec moze biti i diskretna i tada se penjanje uzbrdo ponasa kaoopisana pohlepna pretraga u grafu.

Algoritmi penjanja uzbrdo obicno su veoma jednostavni i cesto dovoljnouspesni, ali imaju i slabosti. Penjanje uzbrdo ne garantuje pronalazenje opti-malnog resenja. Na primer, algoritam moze doci do lokalnog maksimuma (kadaje u svakom susedu vrednost funkcije cilja manja od tekuce), tada zavrsava radi vraca tekucu vrednost x, bez ikakve garancije da ne postoji bolji lokalni mak-simum ili drugaciji globalni maksimum. Slicno, algoritam moze da se nade naplatou (kada je u svakom susedu vrednost funkcije cilja jednaka tekucoj), tadazavrsava rad jer ne moze da odredi sledecu iteraciju i vraca tekucu vrednost x.

Postoje razne varijacije osnovnog penjanja uzbrdo koje pokusavaju da seizbore sa navedenim problemima. Takvo je, na primer, stohasticko penjanjeuzbrdo u kojem je dozvoljeno u nekim iteracijama birati i resenja koje nijebolje ili nije najbolje susedno, a kako bi se povecale sanse da se prede u deoprostora pretrage u kojem se nalazi trazeni maksimum ciljne funkcije.

Potpuno analogni algoritmima koji na opisani nacin traze maksimum ciljnefunkcije su algoritmi koji traze minimum ciljne funkcije.

4.1.2 Metode gradijentnog uspona i spusta

Metode pretrage i matematicke optimizacije cesto pokusavaju da iskoristeneku zakonitost u strukturi prostora pretrage, odnosno prostora dopustivihresenja. U slucaju diferencijabilne ciljne funkcije, cesto se koristi metod koji jeslican opstem metodu penjanja uzbrdo, a koristi gradijent ciljne funkcije.

Definicija 4.1 (Gradijent). Ukoliko je data diferencijabilna funkcija ๐‘“ :R๐‘› โ†’ R, gradijent je vektor parcijalnih izvoda te funkcije:

โˆ‡๐‘“ =

(๐œ•๐‘“

๐œ•๐‘ฅ1,๐œ•๐‘“

๐œ•๐‘ฅ2, . . . ,

๐œ•๐‘“

๐œ•๐‘ฅ๐‘›

).

Gradijent izracunat u odredenoj tacki a โˆˆ R๐‘› predstavlja vektor u prostoru R๐‘›

u cijem smeru funkcija ๐‘“ najbrze raste u okolini tacke a. Stoga se pravljenjem

Page 46: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.1. Pohlepna pretraga 44

koraka u ovom smeru moze pribliziti lokalnom maksimumu, a kretanjem usuprotnom smeru โ€“ lokalnom minimumu. S obzirom na to da se ne radi odiskretnom prostoru, u praksi se obicno ne ocekuje pronalazenje same tackelokalnog maksimuma, te se opisani postupak zaustavlja kada, recimo, razlika uvrednosti funkcije ๐‘“ u odnosu na njenu prethodnu vrednost postane dovoljnomala. Ako se primeni kretanje u smeru najbrzeg rasta, moze se desiti da seโ€žode predalekoโ€œ i da je vrednost funkcije ๐‘“ u novoj iteraciji losija od vrednostiu tekucoj iteraciji, te metode zasnovane na gradijentu nisu, u strogom smislu,vrsta penjanja uzbrdo. Na slici 4.2 prikazan je opsti algoritam Gradijentni uspon(ili najstrmiji uspon), koji je zasnovan na opisanoj ideji i najjednostavniji medumetodama lokalne optimizacije za diferencijabilne funkcije.

Algoritam: Gradijentni uspon

Ulaz: Diferencijabilna funkcija ๐‘“(x), polazna tacka a0 i preciznost ๐œ€

Izlaz: Aproksimacija tacke maksimuma funkcije ๐‘“

1: postavi ๐‘› na 0;

2: ponavljaj3: izracunaj vrednost โˆ‡๐‘“(an);4: izvrsi kretanje u smeru 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 4.2: Algoritam Gradijentni uspon.

Navedeni opsti algoritam potrebno je precizirati. Poznavanje gradijenta iproizvoljno kretanje u njegovom smeru ne garantuje nalazenje maksimuma, jerje u zavisnosti od duzine koraka moguce preci preko maksimuma, nastaviti daljei doci do resenja goreg od tekuceg. Stoga je u svakom koraku potrebno imatipogodnu vrednost ๐›ผ๐‘› koja se koristi u izboru nove tacke (tj. koja odredujekoliko daleko ce se vrsiti kretanje u smeru gradijenta):

an+1 = an + ๐›ผ๐‘›โˆ‡๐‘“(an)

Vrednosti ๐›ผ๐‘› mogu se definisati na razlicite nacine. Dovoljan uslov za konver-genciju dat je Robins-Monroovim uslovima 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 pre-traga ne uspori prerano i da stoga uopste ne stigne do maksimuma, dok drugi

Page 47: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

45 4. Informisana pretraga

garantuje da su koraci dovoljno mali da optimizacioni proces ne divergira. Je-dan izbor koji zadovoljava ove uslove je ๐›ผ๐‘› = 1

๐‘›+1 .Prikazani algoritam ne garantuje pronalazenje globalnog maksimuma. Na-

ime, resenje koje algoritam daje moze da zavisi od izabrane polazne tacke imoze se desiti da ono bude samo lokalni (a ne i globalni) maksimum.

Algoritam Gradijentni uspon veoma je jednostavan i cesto dovoljno uspesan,ali ima i sledece slabosti (slicno kao i penjanje uzbrdo):

Opasnost od lokalnih maksimuma: Algoritam Gradijentni uspon moze docido lokalnog maksimuma i tada ce ga vratiti kao rezultat. Algoritam nemanacina da utvrdi da li je maksimum u kojem se nalaze globalni ili samolokalni (slika 4.3, levo).

Opasnost od platoa: Platoi predstavljaju oblasti u kojima funkcija cilja imakonstantnu vrednost. Zbog toga je gradijent jednak nuli, te je nemoguceodrediti vrednost za sledecu iteraciju.

Slika 4.3: Situacija u kojoj Gradijentni uspon moze da vrati samo lokalni mak-simum (levo) i situacija sa grebenom u kojoj Gradijentni uspon otezano dolazido resenja (desno).

Neefikasnost u slucaju grebena: Grebeni predstavljaju uske staze koje opa-daju ili rastu duz nekog pravca (slika 4.3, desno). U takvim situacijama,kretanje ka vecim vrednostima moze biti usporeno. Naime, moguce je dase pravac najbrzeg rasta funkcije preskace (zbog neogdovarajuce duzinekretanja u smeru gradijenta) i umesto bolje usmerenog rasta (duz grebe-na) primenjuje se veliki broj cik-cak koraka.

Spora konvergencija: Konvergencija algoritma cesto je spora. Brze alterna-tive su ili komplikovanije ili imaju dodatne pretpostavke o svojstvimaciljne funkcije (poput jacih varijanti konveksnosti) ili zahtevaju dodatneinformacije o ciljnoj funkciji (poput parcijalnih izvoda drugog reda).

Page 48: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.1. Pohlepna pretraga 46

U problemima matematicke optimizacije cesto se trazi i minimum date funk-cije. Za ove probleme moze se koristiti opsti algoritam Gradijentni spust (ilinajstrmiji spust). Jedina razlika u odnosu na algoritam Gradijentni uspon je utome sto se kretanje ne vrsi u smeru gradijenta, vec u suprotnom smeru, tj. novatacka bira se na sledeci nacin: an+1 = anโˆ’๐›ผ๐‘›โˆ‡๐‘“(an). Delovanje ovog algorit-ma moze se intuitivno ilustrovati sledecim primerom: ukoliko je povrsina zemljeaproksimirana glatkom povrsinom, onda bi se primenom algoritma Gradijentnispust od tacke izvora neke reke stiglo do njenog usca.

Primer 4.3. Potrebno je izgraditi medicinsku stanicu koja bi opsluzivalacetiri sportske lokacije. Stanica bi trebalo da bude relativno blizu svim lo-kacijama. Jedan povoljan izbor njene lokacije je tacka x takva da je zbir

๐‘“(x) =

4โˆ‘๐‘–=1

โ€–xโˆ’ s๐‘–โ€–2

minimalan, gde vazi x = (๐‘ฅ1, ๐‘ฅ2), s1 = (0, 0), s2 = (0, 1), s3 = (2, 0) is4 = (3, 3). Zapisano drugacije, funkcija ๐‘“ jednaka je:

๐‘“(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

01

23

โˆ’10

1

2

3

โˆ’15

10

15

20

25

30

35

โˆ’5

s1

s2s3

s4

๐‘ฅ1

๐‘ฅ2

๐‘“(๐‘ฅ1, ๐‘ฅ2)

a0a1

Page 49: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

47 4. Informisana pretraga

Gradijent funkcije ๐‘“ jednak je

โˆ‡๐‘“(x) = (8๐‘ฅ1 โˆ’ 10, 8๐‘ฅ2 โˆ’ 8)

Neka je polazna tacka a0 = (1, 1) i ๐œ€ = 10โˆ’6. Vrednost gradijenta โˆ‡๐‘“(a0)u prvoj iteraciji je (โˆ’2, 0). Neka je vrednost parametra ๐›ผ๐‘› jednaka 1

๐‘›+1 .Sledeca tabela prikazuje kako se menjaju relevantne vrednosti prilikom pri-mene gradijentnog spusta:

๐‘› 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) - โˆ’

Primetno je da algoritam pravi nekoliko velikih koraka, sto je posle-dica relativno velike vrednosti ๐›ผ๐‘› i strmosti funkcije. Medutim, kako sevrednosti ๐›ผ๐‘› smanjuju, a tacka an blizi minimumu u cijoj je okolini funk-cija manje strma, koraci postaju manji i dolazi se do tacnog resenja. Uopstem slucaju, retko se desava zaustavljanje sa tacnim resenjem. U ovomkonkretnom slucaju, resenje je moglo da bude pronadeno i analiticki โ€”resavanjem jednacina โˆ‡๐‘“(x) = 0, ali to u opstem slucaju nije moguce.

4.2 Pretraga Prvo najbolji

Pristup pretrage prvo najbolji (eng. best-first search) predstavlja osnovuza razlicite algoritme pretrage grafa (pri cemu je u vidu grafa opisan prostorstanja i akcija za neki problem). Resenjem se smatra niz cvorova (tj. put) odpolaznog do ciljnog cvora u grafu. U toku primene algoritma, svakom cvorustabla pretrage pridruzuje se informacija o njegovom prethodniku (roditelju)u mogucem resenju, isto kao u Dajkstrinom algoritmu. Jednostavnosti radi, unastavku ce se cesto isto oznacavati cvor stabla pretrage i stanje koje mu jepridruzeno.

Da bi se izbegle beskonacne petlje (tj. beskonacno obradivanje istog cvora),da bi se obezbedila potpunost i da bi se omogucilo popravljanje vec nadenihputeva, odrzava se spisak svih posecenih cvorova i to u vidu dve liste:

โ€ข zatvorena lista (ili lista zatvorenih stanja) โ€“ lista posecenih cvorova za kojesu sigurno vec poseceni svi susedi (tj. sva neposredno dostupna stanja);

Page 50: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.2. Pretraga Prvo najbolji 48

โ€ข otvorena lista (ili lista otvorenih stanja) โ€“ lista posecenih cvorova za kojemozda nisu poseceni svi njihovi susedi.

Na pocetku je u otvorenoj listi samo polazni cvor, a zatvorena lista je pra-zna. Kao i u drugim algoritmima informisane pretrage, koristi se funkcija eva-luacije koja ocenjuje kvalitet cvorova i usmerava pretragu. Sustinska ideja jeda se u svakoj iteraciji analizira element otvorene liste sa najboljom ocenom(implementacija otvorene liste treba da omogucava efikasan pristup takvom ele-mentu) i obraduju se iz njega neposredno dostupni cvorovi. Ukoliko se naide naciljni cvor โ€“ zadatak je resen i algoritam zavrsava rad. Precizniji opis algoritmadat je na slici 4.4.

Algoritam: Prvo najbolji

Ulaz: Graf ๐บ, polazni cvor i ciljni cvor

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

1: zatvorenu listu postavi na praznu listu, a u otvorenu listu stavi samopolazni cvor (sa izracunatom vrednoscu funkcije ๐‘“);

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 nijeprijavljen).

Slika 4.4: Algoritam Prvo najbolji.

Algoritam Prvo najbolji nije dizajniran da daje optimalno resenje (tj. daotkriva 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 dva cvora, kadase analizira cvor ๐‘š koji je direktno dostupan iz tekuceg cvora ๐‘› (u skladu saprikazanim algoritmom), u slucaju da je cvor ๐‘š vec u otvorenoj ili zatvorenojlisti, moze se proveriti da li je put od polaznog cvora do cvora ๐‘š preko cvora ๐‘›bolji od postojeceg puta do ๐‘š; ako jeste, treba promeniti informaciju o roditeljucvora ๐‘š na cvor ๐‘›, a ako je ๐‘š bio u zatvorenoj listi, prebaciti ga u otvorenu.

Page 51: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

49 4. Informisana pretraga

Ako je broj stanja i akcija konacan, algoritam se ocigledno zaustavlja i imasvojstvo potpunosti, o cemu govori naredna teorema.

Teorema 4.1. Ako je broj stanja i akcija konacan, algoritam Prvo najboljise zaustavlja i nalazi trazeni put ako on postoji.

Ako funkcija ๐‘“(๐‘›) vraca dubinu cvora ๐‘› u BFS obilasku grafa pocev odpolaznog cvora, onda se navedeni algoritam ponasa kao algoritam obilaska usirinu (za neki poredak cvorova). Ako funkcija ๐‘“(๐‘›) vraca zbir cena grana odpolaznog cvora do cvora ๐‘›, onda se navedeni algoritam ponasa kao Dajkstrinalgoritam.

Opsti algoritam Prvo najbolji predstavlja bitnu modifikaciju algoritma jed-nostavnog pohlepnog pristupa. Iako oba u jednom cvoru koriste slicno navode-nje i biraju (najpre) najbolji susedni cvor (tj. cvor ๐‘› sa najboljom vrednoscu๐‘“(๐‘›)), algoritam Prvo najbolji, za razliku od jednostavnog pohlepnog pristupa,omogucava vracanje na cvorove koji nisu bili ispitani (jer je neka od alternativaobecavala vise). Ovim pristupom, zahvaljujuci alternativama u otvorenoj listi,omogucava se uspesan nastavak pretrage i u slucajevima kada bi pohlepna pre-traga naisla na plato ili na lokalni optimum. Dodatno, ne postoji mogucnostbeskonacnih petlji (zahvaljujuci pamcenju obradenih cvorova).

Primer 4.4. Razmotrimo ponovo primer 4.1 i zadatak nalazenja puta odBudimpeste do Sofije. Neka se ponovo kao funkcija evaluacije ๐‘“ koristivazdusno rastojanje do ciljnog grada. U otvorenoj listi je najpre samo Bu-dimpesta. To nije ciljni cvor i u otvorenu listu se dodaju direktno dostupnigradovi โ€“ Zagreb, Beograd, Bukurest. Budimpesta prelazi u zatvorenu listu.Najboje ocenjeni cvor iz otvorene liste je sada Bukurest. U otvorenu listudodaje se Sofija a Bukurest prelazi u zatvorenu listu. Najboje ocenjeni cvoriz otvorene liste je sada Sofija, to je ciljni cvor i vraca se put Budimpesta-Bukurest-Sofija, u ovom konkretnom slucaju, to je isti put koji je vratila ipohlepna pretraga (i on nije najbolji moguci).

Razmotrimo ponovo i drugi zadatak iz primera 4.1: pretpostavimo daje Skoplje polazni cvor, da je ciljni cvor (ponovo) Sofija, ali i da ne po-stoji direktan put izmedu ova dva grada. U otvorenu listu se najpre dodajeSkoplje i to je prvi tekuci cvor. U otvorenu listu se dodaju njemu direktnodostupni gradovi Beograd i Podgorica cije su ocene 328 i 334 (sa Skopljemkao roditeljem). Skoplje prelazi u zatvorenu listu. Sledeci tekuci cvor jeBeograd (jer ima najbolju ocenu u otvorenoj listi) i u otvorenu listu ulazeBudimpesta, Zagreb, Sarajevo, Podgorica i Bukurest (sa Beogradom kaoroditeljem). Beograd prelazi u zatvorenu listu. Sledeci tekuci cvor je Buku-rest i u otvorenu listu ulazi Sofija (sa Bukurestom kao roditeljem). Sledecitekuci cvor je Sofija i pretraga se zavrsava, vrativsi put Skoplje-Beograd-Bukurest-Sofija. Podsetimo se da je u ovoj situaciji pohlepna pretraga bila

Page 52: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 50

nemocna da pronade put od Skoplja do Sofije (videti primer 4.1). Narednaslika ilustruje dobijeno resenje.

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest590/450

840/640

360/300

350/190

230/170450/280

400/290

390/370

340/300

290/190

380/320

430/320

681

423

334

631

328

170

Primer 4.5. U slucaju primera slagalice diskutovanog u primeru 4.2, si-tuacija prikazana levo predstavlja lokalni minimum, zbog cega se pohlepnapretraga zaustavlja. Algoritam Prvo najbolji ce odabrati jedan od mogucihpoteza, ali ce alternativno stanje cuvati u otvorenoj listi i mozda ga obra-diti kasnije. U situaciji prikazanoj desno, pohlepnom pretragom se praznopolje spusta do donjeg desnog ugla, cime se dolazi do lokalnog optimuma ipohlepna pretraga ne moze da nastavi. Medutim, u slucaju algoritma Pr-vo najbolji, stanja koja su bila alternative ispitanim stanjima su i dalje uotvorenoj listi i ispituju se dalje. Stoga je algoritam Prvo najbolji u sta-nju da resi slagalicu, ali ne garantuje nalazenje resenja koje se sastoji odnajmanjeg broja poteza.

4.3 Algoritam A*

Algoritam A* pretraga ili, krace, algoritam A* (cita se โ€ža zvezdaโ€œ, eng. โ€žastarโ€œ) za odredivanje puta izmedu dva cvora grafa, jedan je od fundamentalnihi najpopularnijih algoritama vestacke inteligencije. Zasnovan je na koriscenjuheuristika za usmeravanje pretrage, ali ipak ima svojstvo potpunosti i, pododredenim uslovima, optimalnosti. Prvu verziju algoritma A* razvili su Hart(Peter Hart), Nilson (Nils Nilson) i Rafael (Bertram Raphael) 1968. godine, au narednim godinama uvedeno je nekoliko modifikacija.

Algoritam A* je varijanta algoritma Prvo najbolji u kojoj se koristi funkcijaevaluacije ๐‘“ koja ima sledecu specificnu formu:

๐‘“(๐‘›) = ๐‘”(๐‘›) + โ„Ž(๐‘›),

Page 53: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

51 4. Informisana pretraga

gde je ๐‘”(๐‘›) cena puta od polaznog cvora do cvora ๐‘›, a โ„Ž(๐‘›) je procenjena (he-uristicka) cena najjeftinijeg puta od cvora ๐‘› do ciljnog cvora. Dok se traga zanajkracim putem, za vrednost ๐‘”(๐‘›) koristi se trenutno poznata minimalna cenaod polaznog cvora do cvora ๐‘› i ona se moze menjati tokom primene algoritma.S druge strane, vrednost โ„Ž(๐‘›) zasnovana je na proceni i za svaki cvor njenavrednost je nepromenljiva tokom primene algoritma. Od kvaliteta heuristike uvelikoj meri zavisi ponasanje i efikasnost algoritma. Izbor kvalitetne heuristi-ke jedan je od najvaznijih izazova u dizajniranju konkretnih implementacijaalgoritma A*.

Algoritam: A*

Ulaz: Graf ๐บ, polazni cvor i ciljni cvor, heuristicka funkcija โ„Ž

Izlaz: Put od polaznog do ciljnog cvora ili neuspeh

1: zatvorenu listu postavi na praznu listu, u otvorenu listu stavi samo polaznicvor (sa izracunatom vrednoscu funkcije ๐‘“);

2: dok god ima elemenata u otvorenoj listi radi3: izaberi 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 cena puta od polaznog cvora do cvora ๐‘š preko cvora ๐‘›niza od cene postojeceg puta do ๐‘š (koja je trenutno jednaka๐‘”(๐‘š)) onda

11: promeni informaciju o roditelju cvora ๐‘š na cvor ๐‘› iazuriraj vrednosti ๐‘”(๐‘š) i ๐‘“(๐‘š);

12: ako je cvor ๐‘š bio u zatvorenoj listi onda13: prebaci ga u otvorenu;14: izbaci ๐‘› iz otvorene liste i dodaj ga u zatvorenu listu;

15: izvesti da trazeni put ne postoji.

Slika 4.5: Algoritam A*.

Opis algoritma A* dat je na slici 4.5. Prilikom dodavanja cvora ๐‘š u otvore-nu listu, vrednost ๐‘”(๐‘š) se moze izracunati na inkrementalan i efikasan nacin:vrednost ๐‘”(๐‘š) jednaka je zbiru vrednosti funkcije ๐‘” za roditelja cvora ๐‘š i ceniputa od roditelja do ๐‘š.

Page 54: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 52

Ako algoritam naide na cvor ๐‘š koji je vec u otvorenoj ili zatvorenoj listi,to znaci da je pronaden novi put do vec posecenog cvora ๐‘š. Tada se proveravada li je put od polaznog cvora do cvora ๐‘š preko cvora ๐‘› bolji od postojecegputa. Ako jeste, potrebno je azurirati vrednost ๐‘”(๐‘š). To moze da se desi i zacvor ๐‘š koji pripada zatvorenoj listi: ako to jeste slucaj, potrebno je cvor ๐‘švratiti u otvorenu listu (jer je moguce da se mogu popraviti i neki putevi prekocvora ๐‘š). Ova provera u algoritmu Prvo najbolji bila je opciona, a u algoritmuA* je obavezna. Ona povecava sanse za nalazenje kvalitetnih puteva, a u ne-kim slucajevama (za neke vrste heuristika) ona je potrebna za obezbedivanjeoptimalnosti (pronalazenje najboljeg puta od polaznog do ciljnog cvora).

Primer 4.6. U primeru pronalazenja najkracih puteva izmedu gradova,ako su poznata rastojanja izmedu gradova vazdusnim putem, algoritam A*moze kao heuristicku vrednost โ„Ž(๐‘›) da koristi vazdusno rastojanje od cvora๐‘› do ciljnog cvora, kao u primeru 4.1. Naredna tabela i slika (kopnena ra-stojanja ispisana su podebljanim, a vazdusna obicnim ciframa) ilustrujuizvrsavanje algoritma A* na primeru nalazenja najkraceg puta od Budim-peste do Sofije.

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

dodajeBu(-,0+631)

Bu Bg(Bu,380+328), Zg(Bu,340+681), Bk(Bu,840+300), Bu(-)Bg Sk(Bg,810+170), Zg(Bu,340+681), Bk(Bu,840+300), Sa(Bg,670+423), Pg(Bg,830+334) Bg(Bu)Sk Zg(Bu,340+681), So(Sk, 1050+0), Bk(Bu,840+300), Sa(Bg,670+423), Pg(Bg,830+334) Sk(Bg)Zg So(Sk, 1050+0), Bk(Bu,840+300), Sa(Bg,670+423), Pg(Bg,830+334) Zg(Bu)So Bk(Bu,840+300), Sa(Bg,670+423), Pg(Bg,830+334)

Beograd

Budimpesta

Sarajevo

Zagreb

PodgoricaSkoplje

Sofija

Bukurest590/450

840/640

360/300

240/170350/190

230/170450/280

400/290

390/370

340/300

290/190

380/320

430/320

681

423

334

631

328

Page 55: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

53 4. Informisana pretraga

Pronadeni put je Budimpesta-Beograd-Skoplje-Sofija i on je kraci od pu-ta Budimpesta-Bukurest-Sofija koji pronalazi pohlepna pretraga i pretragaPrvo najbolji (stavise, ovaj pronadeni put je najkraci moguci).

Primer 4.7. U slucaju Lojdove slagalice, kao u primeru 4.2, za heuristikuse koristi zbir Menhetn rastojanja svakog od 15 polja slagalice do njegovogciljnog mesta. Naredna slika prikazuje stanje slagalice i dva moguca na-slednika, pri cemu oba imaju ocenu vecu od ocene polaznog stanja. Stoga,kako se polazno stanje nalazi u lokalnom minimumu, pristup ciste pohlepnepretrage nemocan je vec na pocetku.

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 12

13 14 15

5

1 2 3 4

5 6 11 7

9 10 8

13 14 15 12

5

Za isto polazno stanje, algoritam A* pronalazi resenje od sest poteza โ€“gore, levo, gore, desno, dole, dole. Stablo pretrage vrsene algoritmom A*prikazano je na slici 4.6.

Koriscenje algoritma A* nije uvek jednostavno. Cesto je algoritam potrebnoprilagoditi specificnom problemu a uvek je, u kontekstu aplikacija koje rade urealnom vremenu, vazno imati u vidu vremensku slozenost, prostornu slozenost,upravljanje memorijom i razlicite dodatne faktore. Neki od dodatnih, speci-ficnih zahteva mogu da iziskuju dodatno matematicko znanje i izracunavanjai specificne implementacione tehnike i strukture. Svi ti moduli treba da buduuklopljeni u kompaktan i efikasan sistem za nalazenje puta.

4.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 izmedudva cvora, algoritam A* ce, kao i svaki Prvo najbolji algoritam, naci jedantakav (ukoliko je raspolozivo dovoljno vremena i memorijskog prostora).

Page 56: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 54

1 2 3 4

5 6 11 7

9 10 8 12

13 14 15

0 + 4 (1)

1 2 3 4

5 6 11 7

9 10 8 12

13 14 15

1 + 5

1 2 3 4

5 6 11 7

9 10 8

13 14 15 12

1 + 5 (2)

1 2 3 4

5 6 11 7

9 10 8

13 14 15 12

2 + 4 (3)

1 2 3 4

5 6 11

9 10 8 7

13 14 15 12

2 + 6

1 2 3 4

5 6 11 7

9 10 8

13 14 15 12

3 + 5

1 2 3 4

5 6 7

9 10 11 8

13 14 15 12

3 + 3 (4)

1 2 3 4

5 6 11 7

9 10 15 8

13 14 12

3 + 5

1 2 3 4

5 6 7

9 10 11 8

13 14 15 12

4 + 4

1 2 3 4

5 6 7

9 10 11 8

13 14 15 12

4 + 2 (5)

1 2 4

5 6 3 7

9 10 11 8

13 14 15 12

4 + 4

1 2 3

5 6 7 4

9 10 11 8

13 14 15 12

5 + 3

1 2 3 4

5 6 7 8

9 10 11

13 14 15 12

5 + 1 (6)

1 2 3 4

5 6 7 8

9 10 11

13 14 15 12

6 + 2

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15

6 + 0 (7)

Slika 4.6: Stablo pretrage vrsene algoritmom A*, na primeru slagalice u ko-jem se polazno stanje nalazi u lokalnom minimumu. U prikazu stabla, medunaslednicima svakog stanja su samo stanja koja nisu vec dodata u zatvorenulistu. U zagradama su navedeni redni brojevi pod kojim stanja postaju tekuca(poredak obilaska potomaka mogao je da bude i drugaciji).

Page 57: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

55 4. Informisana pretraga

Cak i ako je heuristicka funkcija veoma losa, ciljni cvor ce biti dostignutu konacnom broju koraka.

Optimalnost: Algoritam A* u opstem slucaju nema svojstvo optimalnosti,ono vazi samo ukoliko heuristika koja se koristi zadovoljava neke uslove.

Definicija 4.2 (Dopustiva heuristika). Heuristika โ„Ž je dopustiva(eng. admissible) ako nikada ne precenjuje stvarno rastojanje izmedutekuceg 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).

Tvrdenje da dopustiva heuristika obezbeduje optimalnost navodimo bezdokaza:

Teorema 4.2. Ako se u algoritmu A* koristi dopustiva heuristika,ako je pronaden put do ciljnog cvora, onda je on sigurno optimalan.

Ukoliko heuristika โ„Ž nije dopustiva, ali ne precenjuje stvarnu cenu za viseod ๐‘‘, onda je cena puta koji ce pronaci algoritam A* manja ili jednakaod cene najkraceg puta uvecane za ๐‘‘.

Definicija 4.3 (Konzistentna heuristika). Heuristika โ„Ž je konzi-stentna (eng. consistent) ako ima vrednost 0 za ciljni cvor i za bilokoja dva susedna cvora ๐‘› i ๐‘š vazi:

๐‘(๐‘›,๐‘š) + โ„Ž(๐‘š) โ‰ฅ โ„Ž(๐‘›)

gde je ๐‘(๐‘›,๐‘š) cena pridruzena (moguce usmerenoj) grani (๐‘›,๐‘š).

Ako je funkcija โ„Ž konzistentna, onda je ona i dopustiva (kao sto tvr-di naredna teorema). Obratno ne vazi nuzno: funkcija โ„Ž moze da budedopustiva, a da ne bude konzistentna.

Teorema 4.3. Ako je โ„Ž konzistentna heuristika, onda je ona i do-pustiva.

Dokaz: Neka je โ„Ž*(๐‘›) jednako najkracem rastojanju od cvora ๐‘› do cilj-nog cvora ๐‘  (tj. neka je โ„Ž* optimalna heuristika). Dokazimo da, akoje โ„Ž konzistentna heuristika, onda za svaki cvor ๐‘› vazi โ„Ž(๐‘›) โ‰ค โ„Ž*(๐‘›).

Page 58: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 56

Dokaz izvedimo matematickom indukcijom po broju cvorova na naj-kracem putu izmedu ๐‘› i ciljnog cvora ๐‘ .Ako izmedu ๐‘› i ๐‘  na najkracem putu nema cvorova, onda iz uslovakonzistentnosti vazi ๐‘(๐‘›, ๐‘ )+โ„Ž(๐‘ ) โ‰ฅ โ„Ž(๐‘›), pa kako je โ„Ž*(๐‘›) = ๐‘(๐‘›, ๐‘ )i โ„Ž(๐‘ ) = 0, vazi โ„Ž*(๐‘›) โ‰ฅ โ„Ž(๐‘›).

๐‘›

๐‘ 

๐‘š

Pretpostavimo da tvrdenje vazi za svaki cvor za koji je broj cvorovado ciljnog cvora na najkracem putu manji od ๐‘˜, za ๐‘˜ > 0. Akoizmedu ๐‘› 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 cvora ๐‘  na najkracem putu ima ๐‘˜โˆ’ 1 cvorova, pana osnovu induktivne hipoteze (โ„Ž*(๐‘š) โ‰ฅ โ„Ž(๐‘š)) i na osnovu svojstvakonzistentnosti vazi

โ„Ž*(๐‘›) = ๐‘(๐‘›,๐‘š) + โ„Ž*(๐‘š) โ‰ฅ ๐‘(๐‘›,๐‘š) + โ„Ž(๐‘š) โ‰ฅ โ„Ž(๐‘›),

sto je i trebalo dokazati. ๏ฟฝ

Na osnovu teorema 4.2 i 4.3, sledi da algoritam A* ima svojstvo opti-malnosti ako se koristi konzistentna heuristika โ„Ž. Stavise, u tom slucajualgoritam A* moze da se pojednostavi: nije potrebno proveravati da li jeput preko tekuceg cvora do jednom zatvorenog cvora bolji od postojeceg(jer sigurno nije). Dokaz ovog tvrdenja, kao i dokaz optimalnosti algo-ritma u slucaju koriscenja konzistentne heuristike (koji se ne oslanja nateoremu 4.2), dati su u nastavku.

Lema 4.1. Ako je โ„Ž konzistentna heuristika, onda su, u svakomtrenutku primene algoritma, vrednosti ๐‘“(๐‘›) duz puta od polaznog dotekuceg cvora neopadajuce.

Dokaz: Ako je u nekom trenutku primene algoritma cvor ๐‘š tekuci i akoje njegov roditelj cvor ๐‘›, onda vazi:

๐‘“(๐‘š) = ๐‘”(๐‘š)+โ„Ž(๐‘š) = ๐‘”(๐‘›)+ ๐‘(๐‘›,๐‘š)+โ„Ž(๐‘š) โ‰ฅ ๐‘”(๐‘›)+โ„Ž(๐‘›) = ๐‘“(๐‘›)

Tvrdenje leme onda sledi na osnovu jednostavnog induktivnog ar-gumenta. ๏ฟฝ

Page 59: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

57 4. Informisana pretraga

Lema 4.2. Ako je โ„Ž konzistentna heuristika, za niz cvorova ๐‘› redomproglasenih za tekuce, niz vrednosti ๐‘“(๐‘›) cini neopadajuci niz.

Dokaz: U svakoj iteraciji, algoritam bira za tekuci cvor cvor iz otvoreneliste sa najmanjom vrednoscu ๐‘“(๐‘›) (te svi preostali cvorovi u skupuotvorenih cvorova imaju vece ili jednake vrednosti ๐‘“). Svi buducitekuci cvorovi su preostali cvorovi iz otvorene liste, ili njihovi po-tomci. Na osnovu prethodne leme, onda sledi da svi tekuci cvorovinakon tekuceg cvora ๐‘› imaju vrednosti ๐‘“ vece ili jednake ๐‘“(๐‘›). Ka-ko ovo vazi za svaki tekuci cvor ๐‘›, sledi tvrdenje leme, tj. algoritamproglasava cvorove tekucim u neopadajucem poretku po ๐‘“(๐‘›). ๏ฟฝ

Lema 4.3. Ako je โ„Ž konzistentna heuristika, kada neki cvor ๐‘› po-stane tekuci po prvi put, do njega je vec pronaden optimalan put.

Dokaz: Kada algoritam proglasi neki cvor ๐‘› tekucim po prvi put, onima neke vrednosti ๐‘”(๐‘›) = ๐‘”0 i ๐‘“(๐‘›) = ๐‘“0. Pretpostavimo da ๐‘”(๐‘›)nije optimalna cena puta od polaznog cvora i pretpostavimo da jeoptimalan put do istog cvora moguce dostici u nekoj kasnijoj itera-ciji, kada ce mu biti pridruzene vrednosti ๐‘”1 i ๐‘“1. Kako je ๐‘”1 cenaoptimalnog puta do ๐‘›, vazi ๐‘”0 > ๐‘”1, pa i ๐‘”0 + โ„Ž(๐‘›) > ๐‘”1 + โ„Ž(๐‘›),tj. ๐‘“0 > ๐‘“1. S druge strane, na osnovu prethodne leme, vazi ๐‘“0 โ‰ค ๐‘“1,sto daje kontradikciju. ๏ฟฝ

Teorema 4.4. Ako se u algoritmu A* koristi konzistentna heuristikaโ„Ž, onda:

โ€ข ako je pronaden put do ciljnog cvora, onda je on sigurno opti-malan;

โ€ข za cvorove dostupne iz tekuceg cvora koji su vec zatvoreni, netreba da se proverava da li njihova vrednost ๐‘” moze da se azurira.

Dokaz: Algoritam vraca nadeni put cim ciljni cvor po prvi put postanetekuci. Na osnovu leme 4.3, ako je โ„Ž konzistentna heuristika, kadciljni cvor postane tekuci, do njega je vec pronaden optimalan put,sto daje prvi deo teoreme. Iz leme 4.3 neposredno sledi i drugi deoteoreme. ๏ฟฝ

Page 60: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 58

Navedena teorema u slucaju konzistentne heuristike obezbeduje jedno-stavniju i efikasniju, a pritom optimalnu verziju algoritma A*.

Slozenost: Slozenost algoritma A* (i vremenska i prostorna) bitno zavisi odheuristike. Ako je heuristika jednaka nuli, i broj otvorenih cvorova, i pro-storna i vremenska slozenost algoritma A* jednake su kao za Dajkstrinalgoritam. Cesto je vazno i razmatranje slozenosti algoritma A* u zavisno-sti od duzine najkraceg puta. Ukoliko svaki cvor ima ๐‘ susednih cvorova,a najkraci put od nekog cvora do ciljnog je duzine ๐‘‘, onda je slozenost unajgorem slucaju jednaka ๐‘‚(๐‘๐‘‘), tj. broj obradenih cvorova eksponenci-jalno zavisi od ๐‘‘. Moze se dokazati da broj obradenih cvorova polinomskizavisi od ๐‘‘ ako heuristika โ„Ž zadovoljava sledeci uslov:

|โ„Ž(๐‘›)โˆ’ โ„Ž*(๐‘›)| โ‰ค ๐‘‚(log โ„Ž*(๐‘›))

gde je โ„Ž* idealna heuristika, tj. funkcija koja vraca cenu najkraceg putaod cvora ๐‘› do ciljnog cvora.

Ukoliko je ๐‘ najkrace rastojanje od polaznog cvora ๐‘› do ciljnog cvora iukoliko se koristi dopustiva heuristika, moze se dokazati da ce algoritamA* posetiti sve cvorove za koje vazi ๐‘“(๐‘š) < ๐‘, kao i neke cvorove ๐‘š zakoje vazi ๐‘“(๐‘š) = ๐‘.

Za algoritam A* se kaze i da je optimalno efektivan, jer je dokazano dane postoji algoritam koji je potpun a nikad ne posecuje vise cvorova odalgoritma A*.

Primer 4.8. Zadatak je naci najkraci put od cvora ๐ด do cvora ๐ธ u sle-decem grafu (pored cvorova grafa zapisane su procenjene duzine puta docvora ๐ธ, tj. vrednosti funkcije โ„Ž).

๐ด

๐ต

๐ถ

๐ท

๐ธ๐น

๐บ

๐ป

5

6

4

3

4

3 3

2

25

6

1

6

5

03

6

4

Naredna tabela ilustruje primenu algoritma A* (odgovarajuce stablo pre-trage prikazano je na slici 4.7).

Page 61: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

59 4. Informisana pretraga

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

dodajeA(-, 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, kon-struise se trazeni put โ€“ koristeci informacije o roditeljima za cvorove izzatvorene liste: ๐ดโˆ’๐ทโˆ’๐ป โˆ’๐ตโˆ’๐ธ. Koriscena heuristika je dopustiva, paje pronadeni put optimalan.

Za neke heuristike (kao sto je, na primer, euklidsko rastojanje) postojijednostavan, opsti argument da je dopustiva i konzistentna, a u nekim si-tuacijama, kao sto je i graf u ovom primeru, dopustivost i konzistentnostmogu da se ispitaju samo neposrednim proveravanjem za sve cvorove. Upo-trebljena heuristika โ„Ž nije konzistentna jer vazi ๐‘(๐ป,๐ต) + โ„Ž(๐ต) = 2+ 1 <4 = โ„Ž(๐ป) (primetimo da vrednosti ๐‘“ za cvorove koji postaju tekuci nisuneopadajuce). Zato je nuzno i za zatvorene cvorove proveravati da li seput do njih moze popraviti. To i jeste bio slucaj za cvor ๐ต: u koraku ukojem se ๐ป brise iz zatvorene liste, u nju se dodaje cvor ๐ต jer je do njegapronaden bolji put (preko ๐ป) od ranije postojeceg. Ukoliko to ne bi biloradeno, algoritam bi se ponasao na sledeci nacin:

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

dodajeA(-, 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, kon-struise se put: ๐ด โˆ’ ๐ท โˆ’ ๐น โˆ’ ๐ต โˆ’ ๐ธ. Ovo jeste put od cvora ๐ด do cvora

Page 62: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 60

๐ธ, ali nije najkraci moguci. Ovo ponasanje posledica je cinjenice da funk-cija โ„Ž nije konzistentna: kada heuristika nije konzistentna, neophodno jeproveravati i zatvorene cvorove.

Ukoliko se za isti problem koristi konzistentna heuristika, rezultat cebiti optimalan put od ๐ด do ๐ธ, a nece biti potrebno proveravati jednomzatvorene cvorove. U narednom primeru koristi se konzistentna heuristikaโ„Ž cija se vrednost razlikuje u odnosu na prethodnu samo za cvor ๐ป i dajeoptimalni put ๐ดโˆ’๐ท โˆ’๐ป โˆ’๐ต โˆ’ ๐ธ.

๐ด

๐ต

๐ถ

๐ท

๐ธ๐น

๐บ

๐ป

5

6

4

3

4

3 3

2

25

6

1

6

5

03

6

3

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

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

4.3.2 Dizajniranje dopustivih heuristikaSvojstva algoritma A* govore da on najbolje performanse (najmanji broj

obradenih cvorova) daje kada je funkcija heuristike bliska idealnoj funkciji heu-ristike. S druge strane, optimalnost je garantovana samo ako funkcija heuristikenikada ne precenjuje stvarnu cenu puta. Zajedno, to govori da dobra funkcijaheuristike mora da bude veoma pazljivo konstruisana โ€” treba da bude sto blizaidealnoj funkciji, ali da je nikada ne premasuje.

Ne postoji opsti pristup koji obezbeduje kvalitetnu heuristiku. Ipak, posto-je neke smernice koje mogu pomoci u dizajniranju heuristike. Ukoliko je ras-polozivo nekoliko dopustivih heuristika โ„Ž1, โ„Ž2, . . . , โ„Ž๐‘˜, onda je preporucljivokoristiti heuristiku โ„Ž koja je za svaki cvor ๐‘› definisana na sledeci nacin: โ„Ž(๐‘›) =max{โ„Ž1(๐‘›), โ„Ž2(๐‘›), . . . , โ„Ž๐‘˜(๐‘›)} i koja je ocigledno takode dopustiva.

Page 63: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

61 4. Informisana pretraga

๐ด

๐ท ๐บ

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 4.7: Stablo pretrage tokom primene algoritma A* na problem iz primera4.8 (prva varijanta). Levo od cvora zapisana je njegova ๐‘“ vrednost, a desnoredni broj u nizu tekucih cvorova, crvenom bojom oznaceni su cvorovi koji senalaze u zatvorenoj listi.

Page 64: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 62

Dopustiva heuristika moze biti zasnovana i na ceni optimalnog resenja ne-kog potproblema problema koji se resava. U slucaju Lojdove slagalice, to, naprimer, moze biti problem postavljanja (samo) dva ili tri polja na svoje pozici-je. Optimalno resenje takvog potproblema sigurno ne precenjuje cenu resavanjacitavog problema, pa cena tog optimalnog resenja moze da posluzi kao dopu-stiva heuristika. Slican pristup je da se kao heuristika koristi tacna cena nekerelaksirane verzije problema. Relaksirana verzija problema je neki novi problemkoji se od polaznog dobija zanemarivanjem nekih ogranicenja. Primera radi, uslucaju Lojdove slagalice, ako se zanemari ogranicenje da na svakom polju mozeu jednom trenutku biti samo jedan deo slagalice, moguce je tacno izracunaticenu optimalnog resenja (takve) slagalice, a to je zbir Menhetn rastojanja svihdelova do njihovih pozicija u zavrsnom stanju slagalice. Takva cena ne mozepremasiti cenu slaganja slagalice pri svim ogranicenjima, te se moze koristitikao dopustiva heuristika. Ukoliko se ukloni i ogranicenje da se delovi slagali-ce moraju premestati samo na susedna polja, cena resavanja takvog problemajednaka je broju delova slagalice koji nisu na svojim mestima. Ovakva ocena,medutim, losija je od prethodne jer se zanemaruje previse ogranicenja izvor-nog problema i stoga nije dobar izbor za heuristiku. Dodatno, moze se kreirativise heuristika u ovom stilu, pa se njihovim kombinovanjem, kao sto je vecobjasnjeno, moze dobiti jos kvalitetnija heuristika.

Dopustive heuristike ponekad se dobijaju i koriscenjem tehnika masinskogucenja โ€“ resava se mnostvo instanci problema i, na osnovu dobijenih informa-cija, kreira se heuristicka funkcija.

4.3.3 Specijalni slucajevi primeneObilasci grafa u dubinu i sirinu mogu se realizovati kao specijalni slucajevi

algoritma A*. Algoritam A* je specijalan slucaj metoda Prvo najbolji (ako seu algoritmu A* vrsi azuriranje puteva za cvorove i iz otvorene i iz zatvoreneliste).

Dajkstrin algoritam, je specijalni slucaj algoritma A* u kojem je โ„Ž(๐‘›) = 0 zasvaki cvor ๐‘›. Ovakva funkcija โ„Ž je konzistentna i garantuje nalazenje optimal-nog puta. Skup otvorenih cvorova tada se siri ravnomerno, slicno koncentricnimkrugovima oko polaznog cvora, bas kao kod Dajkstrinog algoritma. Sa boljomheuristikom, skup otvorenih cvorova ce se brze siriti ka ciljnom cvoru i bice po-seceno manje cvorova nego primenom Dajkstrinog algoritma. Kljucna razlikaizmedu dva algoritma je upravo u koriscenju heuristike: Dajkstrin algoritam(kao algoritam neinformisane pretrage) uzima u obzir samo cenu od polaznogdo tekuceg cvora โ€” vrednost ๐‘”(๐‘›), a A* (kao algoritam informisane pretrage)koristi vrednost funkcije evaluacije ๐‘“(๐‘›) = ๐‘”(๐‘›) + โ„Ž(๐‘›).

Za ๐‘”(๐‘›) = 0, algoritam A* predstavlja specijalnu varijantu pristupa Prvonajbolji, koja najpre obraduje cvorove sa najboljom heuristickom vrednoscu.Ova varijanta algoritma nije nuzno optimalna.

Opsti algoritam A* cesto se primenjuje za pronalazenje puta na uniform-noj, kvadratnoj mrezi cvorova (koja odgovara, na primer, diskretizovanoj ili

Page 65: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

63 4. Informisana pretraga

rasterizovanoj mapi). Tada on dobija specificnu formu. Pretpostavimo da jemreza pravilna (sacinjena od kvadrata) i da ima pravougaonu formu. Dodat-no, pretpostavljamo da neki cvorovi (tj. neki kvadrati, neka polja mreze) nisudostupni i da oni predstavljaju prepreke. Svako polje povezano je sa svakim su-sednim poljem osim sa preprekama, te ima najvise cetiri susedna polja. Svakomhorizontalnom ili vertikalnom kretanju izmedu dva susedna polja obicno se pri-druzuje cena 1. Funkcija heuristike โ„Ž moze se zadati na razlicite nacine. Kadase izracunava vrednost โ„Ž, obicno se, jednostavnosti i efikasnosti radi, ignorisusve prepreke jer vrednost โ„Ž(๐‘›) je procenjeno a ne stvarno rastojanje, a igno-risanjem prepreka bice (ne nuzno, ali moguce) potcenjeno stvarno rastojanje.Jedna mogucnost za heuristiku โ„Ž 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 zah-tevna sto se tice vremena izracunavanja (sto moze biti kriticno za mape samilionima cvorova). Drugi primer funkcije heuristike je Menhetn rastojanje ukojem 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 konzistentna (i dopustiva), te garantuje pronalazenje opti-malnog puta. Ukoliko su na mrezi dozvoljena i dijagonalna kretanja, onda sesvakom horizontalnom ili vertikalnom koraku obicno pridruzuje cena 1, a sva-kom dijagonalnom potezu cena

โˆš2 โ‰ˆ 1.414 (ovakva cena odgovara euklidskom

rastojanju izmedu sredista polja; da bi se koristilo celobrojno izracunavanje, ovevrednosti obicno se mnoze nekom konstantom, na primer 10, i zaokruzuju naceo broj). U ovom slucaju, Menhetn rastojanje moze da precenjuje rastojanjedo ciljnog cvora, te nije dopustiva heuristika i ne garantuje pronalazenje naj-kraceg 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 dozvo-ljena i dijagonalna kretanja, kao heuristika koja je konzistentna (i dopustiva)moze se koristiti Cebisevljevo rastojanje:

๐‘‘((๐‘ฅ1, ๐‘ฆ1), (๐‘ฅ2, ๐‘ฆ2)) = ๐‘š๐‘Ž๐‘ฅ(|๐‘ฅ2 โˆ’ ๐‘ฅ1|, |๐‘ฆ2 โˆ’ ๐‘ฆ1|).

I kada heuristika nije konzistentna, mogu da se ne azuriraju (i otvarajuponovo) zatvoreni cvorovi. I ovakav pristup cesto daje dovoljno dobra i efikasnaresenja, iako ne nuzno optimalna.

Primer 4.9. Primenom algoritma A* potrebno je pronaci put od polaznogdo ciljnog cvora na uniformnoj mrezi prikazanoj na narednoj slici. Polaznicvor oznacen je zelenom, a ciljni crvenom bojom. Dozvoljeni su horizon-talni, vertikalni i dijagonalni potezi. Nije moguce dijagonalno kretanje kapolju gore-desno ako je desno polje prepreka, ni u drugim analognim si-

Page 66: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 64

tuacijama. Ovakvo ogranicenje zavisi od prirode konkretne primene (naprimer, ovakvo ogranicenje moze da opisuje moguce kretanje vozila).

Vrednosti funkcija ๐‘“ , ๐‘” i โ„Ž zapisane su u poljima uniformne mreze:vrednost funkcije ๐‘“ zapisana je gore-levo, vrednost funkcije ๐‘” dole-levo, avrednost funkcije โ„Ž dole-desno. Vrednost funkcije ๐‘“ za svako polje je, kao iuvek, zbir vrednosti funkcija ๐‘” i โ„Ž. Za rastojanje izmedu dva polja susednahorizontalno ili vertikalno uzima se vrednost 10, a za rastojanje izmedudva polja susedna dijagonalno uzima se vrednost 14. Kao heuristika โ„Ž ko-risti se Menhetn rastojanje do ciljnog polja pomnozeno sa 10 (prepreka sezanemaruje). Ova heuristika nije dopustiva jer su dozvoljeni i dijagonalnipotezi.

Otvorena polja oznacena su dodatnim tankim (zelenim) kvadratima uokviru polja, zatvorena polja oznacena su dodatnim unutrasnjim (crvenim)kvadratima srednje debljine, a polja koja cine pronadeni put oznacena sudodatnim unutrasnjim debljim (plavim) kvadratima. Strelice ukazuju natekuceg roditelja polja.

Pretraga krece od polaznog polja jer je na pocetku samo ono u otvorenojlisti. Polazno polje brise se iz otvorene liste i dodaje u zatvorenu listu. Uotvorenoj listi je onda njegovih osam susednih polja. Od svih njih, birase ono sa najmanjom vrednoscu funkcije ๐‘“ (40), to je polje neposrednodesno od polaznog polja i ono ce biti sledece tekuce polje. Za to, novotekuce polje proveravaju se njegova susedna polja (nakon cega ce to tekucepolje biti izbaceno iz otvorene liste i dodato u zatvorenu listu). Njegovacetiri susedna polja vec su u otvorenoj listi a jedno je u zatvorenoj listi,pa je potrebno proveriti da li put preko tekuceg cvora popravlja njihovetrenutne ocene. Razmotrimo, na primer, polje neposredno iznad tekucegpolja: vrednost funkcije ๐‘” za njega je 14. Ukoliko bi se do njega dolazilopreko tekuceg polja, vrednost funkcije ๐‘” bila bi 20 (10 je cena od polaznogdo tekuceg cvora i 10 je cena prelaska od tekuceg polja). Dakle, na ovajnacin se ne moze popraviti vrednost funkcije ๐‘” u polju iznad i ona ostajenepromenjena. Pretraga se i u nastavku sprovodi kao kod opsteg algoritma.Kada ciljno polje postane tekuce, trazeni put od polaznog cvora konstruisese jednostavno: krece se od ciljnog cvora i prelazi na roditeljski sve dok sene dode do polaznog cvora. Ovako odreden niz polja u suprotnom poretkudaje trazeni put.

Page 67: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

65 4. Informisana pretraga

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

64

94

5420

74

5810

68

68

88

7210

82

68 0

68

78

88

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

64

94

5420

74

5810

68

68

88

7210

82

68 0

68

78

88

Primetimo kako vrednost funkcije ๐‘“ za neko polje moze da se promenitokom primene algoritma. Nakon nekoliko iteracija, vrednosti funkcija ๐‘”i ๐‘“ , kao i roditeljsko polje, promenili su se za polje koje se nalazi dvapolja ispod polaznog polja. Ranije je ovo polje imalo vrednost funkcije ๐‘”jednaku 28 (i vrednost funkcije ๐‘“ jednaku 88) i roditeljsko polje je bilo

Page 68: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 66

gore-desno. Kasnije, ovo isto polje ima vrednost funkcije ๐‘” jednaku 20 (ivrednost funkcije ๐‘“ jednaku 80), a roditeljsko polje je gore. Ova izmenadogodila se u nekoj iteraciji u meduvremenu.

Ponovimo da Menhetn rastojanje koje je korisceno ne daje dopustivuheuristiku. Na primer, za drugo polje ispod prepreke, ocena heuristike je50 i ona je veca od stvarnog rastojanja do ciljnog cvora koje je jednako 38.Kako su dozvoljeni dijagonalni potezi, a za heuristiku je korisceno Menhetnrastojanje, ne moze se garantovati da ce uvek biti dobijen optimalni put.Optimalnost puta bila bi garantovana da je korisceno Cebisevljevo rasto-janje. Uprkos ovome, i u ovakvim situacijama moze da se koristi Menhetnrastojanje jer moze brze da vodi cilju (iako mozda ne dajuci optimalanput).

Rad algoritma A* na istom grafu, ali za heuristike zasnovane na Ce-bisevljevom rastojanju i na euklidskom rastojanju ilustrovan je narednojslici, levo i desno redom:

1450

64

1040

50

1430

44

1030

40

1430

44

1040

50

1450

64

1050

60

1030

40

2860

88

2460

84

2060

80

2460

84

2860

88

2450

74

2040

60

2430

54

2450

74

3040

70

3430

64

2040

60

2430

54

3420

54

3830

68

4420

64

4830

78

5420

74

5830

88

64

94

5410

64

5810

68

68

78

6410

74

68 0

68

68

78

1451

65

1041

51

1432

46

1030

40

1432

46

1041

51

1451

65

1050

60

1030

40

2863

91

2461

85

2060

80

2461

85

2863

91

2454

78

2045

65

2436

60

2454

78

3850

78

3442

66

2045

65

2436

60

3428

62

3836

74

4422

66

4832

80

5420

74

5830

88

64

92

5414

68

5810

68

68

82

6410

72

68 0

68

72

82

U ova dva slucaja, kako su ove heuristike konzistentne, duz pronadenogputa niz vrednosti ๐‘“ od pocetnog ka ciljnog cvoru je neopadajuci niz. Tone vazi kada se za heuristiku koristi rastojanje Menhetn (jer ona nijekonzistentna kada su dozvoljeni i dijagonalni potezi).

4.3.4 Implementaciona pitanjaAlgoritam A* obicno se primenjuje u aplikacijama koje rade u realnom

vremenu, te je neophodno da je efikasno implementiran. Otvorena lista cestose implementira kao binarni min-hip (kako bi se brzo dolazilo do elementa sanajmanjom vrednoscu funkcije ๐‘“), a zatvorena lista kao hes tabela. Koriscenjemovih struktura, operacije za dodavanje i brisanje elemenata iz otvorene liste zah-tevaju, u najgorem slucaju, vreme ๐‘‚(log |๐‘‰ |), gde je ๐‘‰ skup cvorova grafa, aoperacije proveravanja da li je element u zatvorenoj listi, dodavanja u zatvorenulistu, kao i brisanja iz zatvorene liste zahtevaju prosecno vreme ๐‘‚(1).

Page 69: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

67 4. Informisana pretraga

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

Najgori slucaj za algoritam A* je kada ne postoji put izmedu polaznog iciljnog cvora. U tu svrhu moze se, za neusmerene grafove, implementirati brzaprovera da li uopste postoji put izmedu dva cvora: dva cvora su povezana akoi samo ako pripadaju povezanim delovima grafa. Ako se za svaki cvor mozelako proveriti kom delu grafa pripada, onda je i navedena provera jednostav-na (posebno ako mapa moze biti obradena unapred i podeljena na povezanedelove).

Kada se algoritam A* koristi za pronalazenje puta na uniformnoj mrezi,dobijeni putevi ne izgledaju uvek prirodno (posebno ako treba da ih prati nekovozilo). Takve puteve potrebno je zameniti slicnim putevima koji su glatkiji iizgledaju prirodnije.

4.3.5 Primer resavanja problema koriscenjem algoritma A*Razmotrimo sledeci realan problem: potrebno je za neki grad napraviti apli-

kaciju koja predlaze najbolji put od jednog do drugog stajalista javnog prevoza(Beograd, na primer, ima oko 160 linija javnog prevoza i oko 2400 stajalista,slika 4.8). Cena puta moze biti njegova duzina ili (na primer, prosecno) vremepotrebno za njegovo prelazenje (u ovom drugom slucaju, bolji rezultati ce sedobijati ako su raspolozive informacije za razlicita doba dana, za svai dan unedelji i slicno).

Opisani zadatak moze se efikasno resiti primenom algoritma A*, sa skupomstajalista koji cini skup cvorova grafa. Ukoliko je cena puta definisana kao nje-gova duzina, pogodna heuristika moze biti zasnovana na euklidskom rastojanjui ona je ocigledno dopustiva. Ukoliko je cena puta definisana kao potrebnovreme, onda kao dopustiva heuristika moze da se koristi euklidsko rastojanjepodeljeno maksimalnom brzinom vozila.

U najjednostavnijoj varijanti, skup cvorova (usmerenog) grafa jednak jeskupu stajalista. Grana izmedu dva cvora postoji ako i samo ako neka linijapovezuje ta dva stajalista. To stvara sledeci problem: algoritam ne moze darazlikuje kvalitet putanje sa presedanjima i bez presedanja. Alternativa je dasvako stajaliste daje onoliko cvorova grafa koliko linija staje na tom stajalistu.Na primer, ako na stajalistu 10 staju linije 22 i 29, postojace cvorovi 10-22 i10-29. Granama ce biti spojena sva susedna stajalista neke linije. Cena takvegrane bice jednaka ceni grane izmedu odgovarajuca dva stajalista. Dodatno,granama ce biti spojeni cvorovi koji odgovaraju istom stajalistu a razlicitimlinijima. Cena ovakvih grana moze da se bira slobodno i ona kontrolise kolikosu presedanja prihvatljiva. Kao i cene puteva u grafu, i funkcije ๐‘“ , ๐‘” i โ„Ž ceodgovarati ili duzini puta ili utrosenom vremenu.

Page 70: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

4.3. Algoritam A* 68

Slika 4.8: Mapa linija javnog prevoza Beograda.

U Beogradu, na jednom stajalistu staje prosecno po 5 razlicitih linija, pabi ukupan broj cvorova grafa bio oko 12000. Za ovakav graf, kvalitetna imple-mentacija trosice za jedan upit samo delic sekunde.

Opisani pristup ne razmatra (realnu) opciju da putnik pesaci izmedu dva(relativno bliska) stajalista. Da bi i to bilo omoguceno, grafu treba dodati iโ€žpesacke cvoroveโ€œ za svako stajaliste, grane koje povezuju svaki postojeci cvorstajalista sa tim novim cvorom, kao i grane koje povezuju โ€žpesacke cvoroveโ€œbliskih stajalista (na primer, na rastojanju manjem od 300m). Cena takvihgrana moze biti grubo procenjena na bazi euklidskog rastojanja. Ukoliko jecena puta bazirana na vremenu, onda se za cenu ovakve grane moze uzetieuklidsko rastojanje podeljeno prosecnom brzinom hodanja. Moguce su i mnogedruge modifikacije osnovnog resenja koje mogu dati kvalitetnije i upotrebljivijerezultate.

Page 71: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 5

Igranje strateskih igara

Automatsko igranje strateskih igara kao sto je sah davnasnji je izazov. Jospocetkom dvadesetog veka spanski pronalazac Tores Kevedo (Torres y Queve-do) konstruisao je (i prikazao na svetskoj izlozbi u Parizu 1914. godine) elektro-mehanicki uredaj El Ajedrecista (โ€žSahistaโ€œ) koji je, kao beli, igrao sahovskuzavrsnicu โ€žkralj i top protiv kraljaโ€œ i iz svake pozicije nepogresivo pobedivao(iako ne u najmanjem mogucem broju poteza). Opste razmatranje teorije iga-ra zapoceo je Dzon fon Nojman (John von Neumann) postavljanjem opstegproblema (1928. godine): Igraci ๐‘†1, ๐‘†2, . . . , ๐‘†๐‘› igraju datu igru ฮ“. Kako trebada igra igrac ๐‘†๐‘š da bi ostvario najbolji moguci rezultat? Vec od polovine dva-desetog veka, problemi ove vrste bili su vazan i cesto pokretacki, motivisuciizazov za oblast u nastajanju โ€“ vestacku inteligenciju. Neki od najvecih (ilimakar najsire poznatih) uspeha vestacke inteligencije ostvareni su upravo napolju strateskih igara: racunari su vec odavno pobedili svetske sampione u igra-ma bekgemon, dame i sah (tada vazeci svetski sampion Gari Kasparov partijusaha izgubio je od racunara 1997. godine), a 2016. godine i u igri go. Iako suovi programi veoma uspesni, njihovi principi odlucivanja kvalitativno su (popitanjima apstrahovanja, analogija, pravljenja planova i sl.) veoma razliciti odljudskih. Vecina najznacajnijih programa za igranje igara zasnovana je na efika-snim algoritmima pretrage, a odnedavno i na naprednim tehnikama masinskogucenja.

U nastavku nece biti upustanja u analize pojedinacnih igara, vec ce biti opi-sani opsti pojmovi i algoritmi koji mogu da se koriste za sirok spektar strateskihigara. Bice razmatrani algoritmi za takozvane igre nulte sume bez nepoznatihinformacija za dva igraca, dakle โ€” igre kod kojih igraci, grubo receno, imajuanalogne, simetricne mogucnosti i svaki igrac zna koje poteze na raspolaganjuima 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 kojima igrac nezna karte koje ima protivnik, nepoznati broj koji treba pogoditi itd.

69

Page 72: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.1. Opste strategije za igranje igara 70

5.1 Opste strategije za igranje igara

Moderna istorija programiranja strateskih igara pocinje clankom Program-ming a digital computer for playing Chess Kloda Senona iz 1950. godine. Utom tekstu, Senon je opisao dve opste strategije za izbor poteza:

A: โ€žMinimaksโ€œ procedurom vrsi se pretrazivanje stabla igre sa odredenomfunkcijom evaluacije i ocenjivanje legalnih poteza; bira se potez sa naj-boljom ocenom (videti poglavlje 5.4.2).

B: Potez se bira na osnovu trenutne pozicije/situacije u igri i na osnovuodgovarajuce, unapred pripremljene tabele.

Pristup zasnovan na Senonovoj A strategiji naziva se โ€žsistematskimโ€œ ili โ€ždu-binskim pretrazivanjemโ€œ a i pristupom โ€žgruba sila plus jednostavna vrednosnafunkcijaโ€œ. Ako bi se pretrazivanje stabla igre vrsilo do zavrsnih stanja, efek-tivno bi bili ispitivani svi moguci tokovi nastavka partije i mogao bi da budeizabran zaista najbolji potez (zavrsna stanja bila bi ocenjivana jednostavnomโ€žtrovrednosnom funkcijomโ€œ: moguci ishodi su pobeda prvog igraca, pobega dru-gog igraca i nereseno). Medutim, taj pristup za netrivijalne igre nije prakticnoostvariv. Zbog toga, efikasna primena Senonove A strategije svodi se na pre-trazivanje stabla igre do relativno male dubine algoritmima koji su usmereniheuristikama i uz dobro osmisljenu, ali jednostavnu funkciju evaluacije za oce-nu nezavrsnih pozicija. Ovakvim pristupom ne dobija se nuzno zaista najboljipotez, a obim pretrage ostaje, najcesce, i dalje veoma veliki. Precizniji opisipojmova stabla igre, funkcije evaluacije i algoritama minimaks tipa dati su upoglavlju 5.4.

Senonova strategija B tipa zasniva se na jednostavnoj, unapred pripremlje-noj tabeli koja zamenjuje izracunavanje u toku izvrsavanja. U ovom pristupu,znanje o igri ne nalazi se u programu koji igra, vec u programu koji je tabelugenerisao. Tabela ima dve kolone: u jednoj su moguce pozicije/stanja igre, a udrugoj preporuceni (ponekad optimalni) potezi. Jedan od โ€žklasicnihโ€œ primeraovog pristupa je program za igranje sahovske zavrsnice kralj i kraljica protivkralja i topa koji je 1977. godine kreirao Kenet Tompson (Kenneth Thompson,tvorac operativnog sistema UNIX). Tabela koju je koristio program sadrzavalaje sve moguce pozicije i optimalne poteze za sve te pozicije (pri cemu se podoptimalnim potezom za igraca koji ima kralja i kraljicu smatra potez koji vodipobedi u najmanjem broju poteza, a za slabijeg โ€“ potez koji maksimalno odlazeporaz). Tabela je imala oko tri miliona vrsta i program koji se na njoj zasnivaobio je, naravno, nepogresiv. Tabela je kreirana koriscenjem retrogradne analizekoja se za igraca koji ima kraljicu (pretpostavimo da je to beli) sprovodi nasledeci nacin. Obraduju se samo pozicije u kojima je na potezu beli i svakoj se,inicijalno, pridruzuje vrednost โˆž; dalje, prepoznaje se svaka pozicija u kojojcrni moze neposredno biti matiran (mat u jednom potezu belog), pridruzujejoj se taj matni potez i vrednost 1; dalje, prepoznaje se svaka pozicija i u ta-belu se upisuje potez nakon kojeg, ma sta da odigra crni dolazi se u poziciju

Page 73: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

71 5. Igranje strateskih igara

oznacenu brojem 1 (za takve pozicije vazi da postoji mat u dva poteza belog)i toj poziciji pridruzuje se vrednost 2; dalje, prepoznaje se svaka pozicija i utabelu se upisuje potez nakon kojeg, ma sta da odigra crni dolazi se u pozicijuoznacenu brojem โ‰ค 2 (za takve pozicije vazi da postoji mat u najvise tri pote-za belog) i toj poziciji pridruzuje se vrednost 3; ... dalje, prepoznaje se svakapozicija i u tabelu se upisuje potez nakon kojeg, ma sta da odigra crni dolazise u poziciju oznacenu brojem โ‰ค ๐‘‘ (za takve pozicije vazi da postoji mat unajvise ๐‘‘+ 1 poteza belog) i toj poziciji pridruzuje se vrednost ๐‘‘+ 1; ... Ovajpostupak nastavlja se dok god postoji neka pozicija oznacena sa โˆž. Tabelaza optimalnu igru crnog (koji ima topa) kreira se koriscenjem tabele za belog:neka u nekoj poziciji ๐‘ crni ima na raspolaganju ๐‘› poteza i neka u tabeli zabelog pozicijama u koje vode ovi potezi odgovaraju vrednosti ๐‘ฃ1, ๐‘ฃ2, . . ., ๐‘ฃ๐‘› (tosu maksimalni brojevi poteza do mata ako beli igra optimalno). U tabelu zacrnog, za poziciju ๐‘ kao optimalan potez upisuje se potez koji vodi ka najvecojvrednosti (cime crni maksimalno odlaze neminovni poraz). Koriscenjem istogpristupa, na moskovskom univerzitetu su 2012. godine kreirane Lomonosov ta-bele optimalnih poteza za sve sahovske zavrsnice sa najvise sedam figura natabli. Tabela sadrzi vise od 500 triliona pozicija (pri cemu se u tabeli ne cuvajupozicije koje se mogu dobiti od drugih pozicija simetrijama i rotacijama).

Senonova strategija A za izbor poteza zahteva malo memorije i mnogoizracunavanja, a strategija B malo izracunavanja i mnogo memorije. Na tojskali odnosa kolicine podataka i obima izracunavanja, covekov nacin zakljuci-vanja je izmedu ovih krajnosti i bitno se od njih razlikuje po svojoj prirodi.

U dvadeset prvom veku, na popularnosti dobija i treca opsta strategija zaigranje strateskih igara zasnovana na Monte Karlo pretrazi i velikom broju si-mulacija kojima se, u sadejstvu sa masinskim ucenjem, ocenjuju moguci potezi.

5.2 Legalni potezi i stablo igre

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

Prostor stanja igre moze se opisati grafom ciji su cvorovi legalne pozicije, agrane legalni potezi. Taj graf, graf prostora stanja, je usmeren jer nije nuznoda postoje potezi u oba smera koji povezuju dva stanja (na primer, igri u sahpesak moze da se krece samo napred, ne i nazad). Stablo igre je stablo u cijim sucvorovima legalne pozicije i za svaki cvor njegova deca su sve pozicije do kojihse iz tog cvora moze doci po jednim legalnim potezom. Od korena do bilo kog

1Nekad se ono sto odigra jedan igrac naziva polupotez (eng. ply), a par takvih uzastopnihpolupoteza naziva se potez (eng. move). U ovom tekstu ce se smatrati da je potez ono stoodigra jedan igrac.

Page 74: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.3. Otvaranje 72

lista naizmenicno se, dakle, smenjuju grane koje odgovaraju potezima prvogi drugog igraca. Potpuno stablo igre je stablo igre u cijem je korenu pocetnapozicija igre, a svi listovi su zavrsne pozicije igre i svakom listu pridruzen jeishod โ€“ pobeda prvog igraca, nereseno ili pobeda drugog igraca. Potpuno stabloigre ima onoliko listova koliko data igra ima razlicitih mogucih tokova. Taj brojje kod vecine igara (cak i kod veoma jednostavnih) ogroman i onemogucavakompletno pretrazivanje u cilju izbora poteza. Na slici 5.1 ilustrovan je deopotpunog stabla igre za igru iks-oks.

x xx

. . .. . . . . .

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

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

xo

. . . . . . . . .x x

o

xoxo

x xo

ox xoo

. . .

xoxx

oxoxxo

. . .xoxxo

xxxo

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

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

zavrsnostanje

Slika 5.1: Deo potpunog stabla igre za igru iks-oks.

5.3 Otvaranje

U strateskim igrama, umesto da se na samom pocetku igre program upustiu proces pretrage, obicno se koriste knjige otvaranja (eng. opening book) kojesu zasnovane na ljudskom iskustvu i koje sadrze informacije o poznatim i kva-litetnim potezima koji se cesto javljaju u otvaranju.2 Knjiga otvaranja koristise, ne zahtevajuci mnogo vremena za izvrsavanje, dok god je to moguce (usahu, na primer, obicno za prvih desetak poteza) sa ocekivanjem da se dode dobolje 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 knjiziotvaranja, program je primoran da promeni pristup i da pocne da vrsi pretragu

2U evropskoj istoriji saha, otvaranja se sistematicno proucavaju vec vise od cetiristogodina.

Page 75: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

73 5. Igranje strateskih igara

nastavka stabla igre. Takav neuobicajeni potez moze, medutim, da bude rizicnijiza igraca koji ga je odigrao nego za program koji u daljem toku moze dakompenzuje rano napustanje knjige otvaranja i iskoristi slabosti protivnika.

Ukoliko za neku poziciju postoji u knjizi otvaranja vise mogucih poteza,izbor moze da se nacini po verovatnocama koje oslikavaju kvalitet tih poteza.Pomenuti pristup moze da se realizuje, na primer, na sledeci nacin: neka je, naosnovu knjige otvaranja, u nekom trenutku na raspolaganju ๐‘› poteza. Svakomod njih neka je pridruzena neka empirijska nenegativna ocena kvaliteta ๐‘š๐‘–,1 โ‰ค ๐‘– โ‰ค ๐‘› (na primer, na osnovu ishoda svih partija koje ukljucuju taj potezili na osnovu broja takvih partija u knjizi, a kao teznja da se sto duze ostane upoznatim varijantama). Sto je neki potez bolji, to je njegova ocena veca. Tadase, u toj poziciji, ๐‘–-ti potez (1 โ‰ค ๐‘– โ‰ค ๐‘›) bira sa verovatnocom

๐‘๐‘– =๐‘š๐‘–โˆ‘๐‘›๐‘—=1 ๐‘š๐‘—

.

Na taj nacin izbegava se deterministicko ponasanje programa u otvaranju: boljipotezi (u smislu neke procene) biraju se cesce, ali ne uvek. Ocene ๐‘š๐‘– mogu setokom vremena i korigovati.

Knjiga otvaranja moze biti staticka (sadrzati odreden, konacan broj vari-janti u svakom potezu i informacije o potezima samo do odredene dubine) ilise modifikovati tokom samog izvrsavanja programa.

5.4 Sredisnjica

Savremeni programi za strateske igre u sredisnjici najcesce koriste SenonovuA strategiju โ€” koriste dubinsko pretrazivanje stabla igre sa pogodnom funkci-jom evaluacije. Ocekuje se da su potezi dobijeni na ovaj nacin dovoljno dobri(ali ne nuzno i zaista najbolji moguci). Funkcija evaluacije izracunava se samoza cvorove na nekoj izabranoj dubini, a ostalim cvorovima ocena se odredujena osnovu ocena njihovih potomaka. Pored kvalitetne funkcije evaluacije, odkljucne vaznosti su algoritmi koji se koriste za pretrazivanje stabla igre vodeniraznovrsnim heuristikama. Pretrazivanjem stabla igre nastaje stablo pretrage.Za konkretnu poziciju, stablo pretrage obicno cini samo mali deo kompletnogstabla igre, tj. algoritam posecuje samo mali deo skupa pozicija u stablu igre.Algoritam je efikasniji sto je taj deo manji. Kao i u drugim vrstama pretrage, uprocesu trazenja poteza, stablo pretrage ne kreira se eksplicitno, kao strukturau memoriji racunara, vec samo implicitno, kroz proces izvrsavanja algoritma.

5.4.1 Funkcija evaluacije i staticka ocena pozicijeFunkcija evaluacije (eng. evaluation function) dodeljuje pozicijama, tj. cvo-

rovima stabla igre, neke ocene na osnovu kojih one mogu da se porede pokvalitetu. Ocena pozicije formira se u skladu sa specificnostima konkretne igre,pri cemu se ne ispituju ni pozicije iz kojih se doslo u tu poziciju niti moguci

Page 76: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.4. Sredisnjica 74

nastavci, te se zato za ovu ocenu kaze da je staticka ocena pozicije. Gotovo sveznanje o igri koje se koristi u sredisnjici partije sadrzano je u funkciji evalua-cije i u velikoj meri od nje zavisi kvalitet igre programa. Potrebno je da onakoristi sto vise relevantnih informacija, ali, s druge strane, kako se izracunavamnogo puta, potrebno je da bude sto jednostavnija. Funkcija evaluacije obicnopreslikava skup svih mogucih pozicija u simetrican segment [โˆ’๐‘€,๐‘€ ]. Tada sevrednost ๐‘€ dodeljuje samo zavrsnim stanjima igre u kojima je pobednik prviigrac, a โˆ’๐‘€ samo zavrsnim stanjima igre u kojima je pobednik drugi igrac.3 Uigrama nulte sume, smisao funkcije evaluacije za protivnike u igri za dva igracaje suprotan โ€” ono sto je najbolje stanje za jednog igraca najlosije je za drugogi obratno. Dakle, funkcija evaluacije za simetricne pozicije (za zamenjene ulogeigraca) treba da daje vrednosti koje se razlikuju samo po znaku. Najjednostav-nija je trovrednosna funkcija evaluacije: ona se primenjuje samo na zavrsnepozicije igre i ima samo tri razlicite vrednosti โ€“ za pobedu prvog, za pobedudrugog igraca i za neresen ishod (na primer, 10, -10 i 0). Trovrednosna funkcijazahteva pretrazivanje stabla igre do zavrsnih cvorova, pa je, zbog velike dubinepretrazivanja, ova funkcija za vecinu igara prakticno neupotrebljiva.

Funkcija evaluacije u sahu obicno ukljucuje vrednost โ€žmaterijalaโ€œ (belojkraljici, moze da bude pridruzena vrednost 100, belom topu 50, belom lovcu ikonju 30, a belom pesaku 10; crnim figurama onda se pridruzuju iste vrednosti,ali suprotnog znaka), pokretljivost figura, pesacku strukturu, rokade i slicno.

3 5 7 1 1 โˆ’3 โˆ’2 โˆ’3 2 โˆ’1

๐‘š๐‘Ž๐‘ฅ

๐‘š๐‘–๐‘›

๐‘š๐‘Ž๐‘ฅ3 5 7 1 1 โˆ’3 โˆ’2 โˆ’3 2 โˆ’1

5 7 1 โˆ’2 2

5 1 โˆ’2

5

๐‘š๐‘Ž๐‘ฅ

๐‘š๐‘–๐‘›

๐‘š๐‘Ž๐‘ฅ

Slika 5.2: Ilustracija primene algoritma Minimaks.

5.4.2 Algoritam MinimaksAlgoritam Minimaks kljucni je element Senonove A strategije i on je u osnovi

skoro svih algoritama za izbor poteza sistematicnim pretrazivanjem stabla igre.Ovaj algoritam prvi je opisao Fon Nojman jos 1928. godine.

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

Page 77: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

75 5. Igranje strateskih igara

Algoritam: Minimaks

Ulaz: Funkcija evaluacije ๐‘“ , pozicija, dozvoljena dubina pretrazivanja ๐‘‘

Izlaz: Potez

1: ๐‘ฃ๐‘Ÿ := ๐‘€๐‘Ž๐‘ฅ(๐‘“, pozicija, ๐‘‘);

2: vrati potez kojem odgovara vrednost ๐‘ฃ๐‘Ÿ.

Algoritam: Max

Ulaz: Funkcija evaluacije ๐‘“ , pozicija, dozvoljena dubina pretrazivanja ๐‘‘

Izlaz: Vrednost pozicije

1: ako je pozicija zavrsna ili je ๐‘‘ jednako 0 onda2: vrati ๐‘“(pozicija);

3: ๐‘ฃ๐‘Ÿ := โˆ’โˆž;

4: za svaku poziciju ๐‘  do koje se moze doci u jednom potezu radi5: ako ๐‘€๐‘–๐‘›(๐‘“, ๐‘ , ๐‘‘โˆ’ 1) > ๐‘ฃ๐‘Ÿ onda6: ๐‘ฃ๐‘Ÿ := ๐‘€๐‘–๐‘›(๐‘“, ๐‘ , ๐‘‘โˆ’ 1);

7: vrati ๐‘ฃ๐‘Ÿ.

Algoritam: Min

Ulaz: Funkcija evaluacije ๐‘“ , pozicija, dozvoljena dubina pretrazivanja ๐‘‘

Izlaz: Vrednost pozicije

1: ako je pozicija zavrsna ili je ๐‘‘ jednako 0 onda2: vrati ๐‘“(pozicija);

3: ๐‘ฃ๐‘Ÿ := +โˆž;

4: za svaku poziciju ๐‘  do koje se moze doci u jednom potezu radi5: ako ๐‘€๐‘Ž๐‘ฅ(๐‘“, ๐‘ , ๐‘‘โˆ’ 1) < ๐‘ฃ๐‘Ÿ onda6: ๐‘ฃ๐‘Ÿ := ๐‘€๐‘Ž๐‘ฅ(๐‘“, ๐‘ , ๐‘‘โˆ’ 1);

7: vrati ๐‘ฃ๐‘Ÿ.

Slika 5.3: Algoritam Minimaks.

Algoritam Minimaks pretrazivanjem stabla igre za igraca koji je na pote-zu odreduje najbolji moguci potez u datoj poziciji. Naglasimo da je obicnoekstremno tesko ili nemoguce znati sta je zaista najbolji potez u nekoj pozici-ji. Zato se u ovom kontekstu (u kontekstu primene algoritma Minimaks) pod

Page 78: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.4. Sredisnjica 76

โ€žnajboljim potezomโ€œ podrazumeva najbolji potez za zadati cvor, za zadatumaksimalnu dubinu pretrazivanja i za izabranu funkciju evaluacije. Pretposta-vimo da funkcija evaluacije za igraca koji je na potezu ima pozitivan smisao,tj. bolji je potez ako obezbeduje vecu vrednost funkcije. Ocene se funkcijomevaluacije dodeljuju cvorovima na zadatoj, fiksnoj dubini (ti cvorovi ne morajuda predstavljaju zavrsna stanja igre) ili na manjoj, samo ako je tada dostignu-to zavrsno stanje igre. Dalji postupak je rekurzivan: kao ocena cvoru dodeljujese minimum ocena njegove dece ako je u tom cvoru na potezu protivnik, amaksimum ocena njegove dece, u suprotnom (slika 5.2). Ocena pocetnog cvoraje maksimum ocena njegove dece i bira se potez kojem odgovara taj mak-simum. Dakle, algoritam karakterise minimizovanje ocene kada je na potezuprotivnik i maksimizovanje ocene kada je na potezu sam igrac, pa otuda i imealgoritma. Postupak naizmenicnog minimizovanja i maksimizovanja zovemo iminimaksizacija. Algoritam Minimaks dat je na slici 5.3 (algoritam je prikazanu postojecem obliku zbog jednostavnosti, on se moze jednostavno optimizovatieliminisanjem ponovljenih funkcijskih poziva).

Primer 5.1. Na narednoj slici prikazan je primer primene algoritma Mi-nimaks na sah (pojednostavljenu verziju na tabli 4ร— 4; funkcija evaluacijetopu daje vrednost 50, a pobedi vrednost 1000). Kao najbolji potez za kore-ni cvor bira se prvi potez naveden u sledecem redu โ€“ potez koji vodi u matu dva poteza.

0S0ZZ0J00Z0Zj0Z0

0S0ZZ0Z00ZKZj0Z0

0S0JZ0Z00Z0Zj0Z0

0Z0ZZ0J00Z0ZjRZ0

0S0ZZ0Z0kZKZZ0Z0

0S0JZ0Z0kZ0ZZ0Z0

0Z0ZZ0J00Z0ZZkZ0

RZ0ZZ0Z0kZKZZ0Z0

0Z0SZ0Z0kZKZZ0Z0

0S0ZZ0Z0kZ0JZ0Z0

0S0ZZ0ZKkZ0ZZ0Z0

RZ0JZ0Z0kZ0ZZ0Z0

0Z0ZZKZ00Z0ZZkZ0

0Z0ZZ0ZK0Z0ZZkZ0

1000

1000 50 0

1000 50 0

1000 50 50 50 50 0 0

๐‘š๐‘Ž๐‘ฅ

๐‘š๐‘–๐‘›

๐‘š๐‘Ž๐‘ฅ

. . . . . .

. . .

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

Algoritam Minimaks (kao i ostali algoritmi zasnovani na minimaksizaciji)vrsi izbor poteza samo na osnovu vrednosti koje su pridruzene cvorovima namaksimalnoj dubini pretrazivanja. To znaci da se ne ispituju potezi koji dalje

Page 79: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

77 5. Igranje strateskih igara

slede (a to ispitivanje cesto bi promenilo odluku o izabranom potezu). Dodat-no, kada je neki potez odabran na osnovu cvorova na nekoj dubini i odigran,informacija o tome ne koristi se u procesu izbora narednog poteza (na primer,ako je u sahu neki potez izabran jer odgovara cvoru dubine tri u kojem seprotivniku daje sah, u sledecem potezu pretrazivanje krece iznova i cesto necebiti izabran potez koji vodi do saha protivniku, sada u dva poteza). Dakle,pri pretrazivanju stabla igre razmatraju se (โ€žvide seโ€œ) samo cvorovi na nekojfiksnoj dubini a ne oni posle njih. Za ovakvo ponasanje cesto se kaze da imaefekat horizonta (eng. horizon effect).

5.4.3 Algoritam Alfa-betaAlgoritam Alfa-beta (ili ๐›ผโˆ’๐›ฝ) otkriven je sredinom dvadesetog veka nezavi-

sno od strane nekoliko istrazivaca. Semjuel (Arthur Samuel) sa jedne i Edvards(Daniel Edwards), Hart (Timothy Hart) i Levin (Michael Levin) sa druge stra-ne, formulisali su nezavisno ranu verziju algoritma sredinom pedesetih godina.Makarti je slicne ideje predstavio 1956. godine, tokom znamenite konferencijeu Darmutu. Brudno (Alexander Brudno) je, takode nezavisno, otkrio algoritamAlfa-beta i objavio ga 1963. godine.

(๐‘Ž๐‘› โ‰ค) ๐‘๐‘— โ‰ค ๐‘Ž๐‘˜

๐‘Ž๐‘˜ ๐‘Ž๐‘›

๐‘๐‘—

๐‘ฃ

๐›ผ

๐‘š๐‘Ž๐‘ฅ

๐‘š๐‘–๐‘›

๐‘š๐‘Ž๐‘ฅ

๐‘š๐‘Ž๐‘ฅ

๐‘š๐‘–๐‘›

๐‘š๐‘Ž๐‘ฅ

โˆ’2 โ‰ค 5

7 โ‰ค 5

3 5 7 1 1 โˆ’3 โˆ’2 โˆ’3 2 โˆ’1

5 7 1 โˆ’2 2

5 1 โˆ’2

5

๐‘ฃ

๐›ผ

๐›ฝ

Slika 5.4: Ilustracija primene algoritma Alfa-beta.

Algoritam Alfa-beta zasnovan je na algoritmu Minimaks i heuristikama alfa ibeta koje ubrzavaju pretragu odsecanjem delova stabla igre. Osnovni postupakocenjivanja cvorova je minimaks tipa: funkcijom evaluacije ocenjuju se samocvorovi na nekoj odabranoj dubini, a zatim se rekurzivnim postupkom (mi-nimaksizacijom) ocenjuju cvorovi prethodnici. Postupak โ€žalfa odsecanjaโ€œ biceopisan pretpostavljajuci da funkcija evaluacije za igraca ๐ด koji je na potezuima pozitivan smisao (bolje su vece ocene). Neka je ocenjeno ๐‘› โˆ’ 1 njegovihlegalnih poteza, neka su dobijene ocene ๐‘Ž1, ๐‘Ž2, . . . , ๐‘Ž๐‘›โˆ’1 i neka je ๐‘Ž๐‘˜ najveca odnjih. Razmatramo ๐‘›-ti legalni potez, neka je ๐‘ฃ cvor u koji taj potez vodi i neka

Page 80: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.4. Sredisnjica 78

je ๐‘Ž๐‘› njegova ocena koja tek treba da bude odredena kao minimum ocena dececvora ๐‘ฃ (slika 5.4). Nakon tog poteza, protivnik (igrac ๐ต) ima vise mogucnostii trazi se ona sa najmanjom ocenom. Za ocenu ๐‘๐‘– bilo kog deteta cvora ๐‘ฃ vazida je ona veca od ili jednaka zajednickom minimumu ๐‘Ž๐‘›, tj. vazi ๐‘Ž๐‘› โ‰ค ๐‘๐‘–. Akose u pretrazivanju cvora ๐‘ฃ dode do cvora sa ocenom ๐‘๐‘— za koju vazi ๐‘๐‘— โ‰ค ๐‘Ž๐‘˜,sigurno je da je i ocena ๐‘Ž๐‘› cvora ๐‘ฃ manja od ili jednaka oceni ๐‘Ž๐‘˜, jer vazi๐‘Ž๐‘› โ‰ค ๐‘๐‘— โ‰ค ๐‘Ž๐‘˜. Kako se u pocetnom cvoru trazi maksimum ocena mogucih po-teza, vrednost ๐‘Ž๐‘›, dakle, ne moze da utice na ocenu pocetnog cvora. Zato sedalje pretrazivanje poteza protivnika u cvoru ๐‘ฃ moze prekinuti bez uticaja narezultat pretrazivanja โ€” moze da se izvrsi โ€žalfa odsecanje stablaโ€œ (slika 5.4).โ€žBeta odsecanjeโ€œ potpuno je analogno i primenjuje se na cvorove u kojima jena potezu protivnik. Naravno, s obzirom na smisao funkcije evaluacije, maksi-mumi pominjani u โ€žalfa odsecanjuโ€œ zamenjuju se minimumima i obratno (slika5.4). Algoritam Alfa-beta prikazan je na slici 5.5. U algoritmu, u funkciji Min,vrednost ๐›ฝ ะฐzurira se kao tekuci minimum. U istoj funkciji, vrednost ๐›ผ je tekucimaksimum roditeljskog cvora. Ako je tekuca ocena ๐‘ฃ๐‘Ÿ cvora manja ili jednakaod ๐›ผ, onda se vrsi odsecanje, tj. prekida se izvrsavanje ove funkcije i vraca se๐‘ฃ๐‘Ÿ (ovo radi naredba โ€žako ๐‘ฃ๐‘Ÿ โ‰ค ๐›ผ onda vrati ๐‘ฃ๐‘Ÿโ€œ). Naredba โ€žako ๐‘ฃ๐‘Ÿ < ๐›ฝ onda๐›ฝ := ๐‘ฃ๐‘Ÿโ€œ azurira vrednost ๐›ฝ na ovom nivou pretrage. Funkcija Max funkcioniseanalogno.

Primer 5.2. Na narednoj slici prikazan je primer primene algoritma Alfa-beta na sah (pojednostavljenu verziju na tabli 4ร—4; funkcija evaluacije topudaje vrednost 50, a pobedi vrednost 1000). Oznaceni su delovi stabla igrekod kojih je doslo do odsecanja.

0J0SZ0Z00Z0Sj0Z0

0J0SZ0Z00Z0Zj0ZR

0J0SZ0ZR0Z0Zj0Z0

0J0SZ0Z0kZ0ZZ0ZR

0J0SZ0Z00j0ZZ0ZR

0J0SZ0ZRkZ0ZZ0Z0

0J0ZZ0Z0kZ0SZ0ZR

0ZKSZ0Z0kZ0ZZ0ZR

0J0ZZ0Z00j0SZ0ZR

0J0SZ0Z0kZ0ZZ0ZR

0ZKSZ0ZRkZ0ZZ0Z0

๐‘š๐‘Ž๐‘ฅ

๐‘š๐‘–๐‘›

๐‘š๐‘Ž๐‘ฅ

1000

1000 100

1000 1000 100

1000 100 1000 100 100

. . .

. . .

. . . . . . . . .

๐›ฝ

๐›ผ

Page 81: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

79 5. Igranje strateskih igara

Algoritam: Alfa-beta

Ulaz: Funkcija evaluacije ๐‘“ , pozicija, dozvoljena dubina pretrazivanja ๐‘‘

Izlaz: Potez

1: ๐‘ฃ๐‘Ÿ := ๐‘€๐‘Ž๐‘ฅ(๐‘“, ๐‘๐‘œ๐‘ง๐‘–๐‘๐‘–๐‘—๐‘Ž,โˆ’โˆž,+โˆž, ๐‘‘);2: vrati potez kojem odgovara vrednost ๐‘ฃ๐‘Ÿ.

Algoritam: Max

Ulaz: Funkcija evaluacije ๐‘“ , pozicija, alfa vrednost ๐›ผ, beta vrednost ๐›ฝ, do-zvoljena dubina pretrazivanja ๐‘‘

Izlaz: Vrednost pozicije

1: ako je pozicija zavrsna ili je ๐‘‘ jednako 0 onda2: vrati ๐‘“(๐‘๐‘œ๐‘ง๐‘–๐‘๐‘–๐‘—๐‘Ž);3: ๐‘ฃ๐‘Ÿ := โˆ’โˆž;4: za svaku poziciju ๐‘  do koje se moze doci u jednom potezu radi5: ako ๐‘€๐‘–๐‘›(๐‘“, ๐‘ , ๐›ผ, ๐›ฝ, ๐‘‘โˆ’ 1) > ๐‘ฃ๐‘Ÿ onda6: ๐‘ฃ๐‘Ÿ := ๐‘€๐‘–๐‘›(๐‘“, ๐‘ , ๐›ผ, ๐›ฝ, ๐‘‘โˆ’ 1);7: ako ๐‘ฃ๐‘Ÿ โ‰ฅ ๐›ฝ onda8: vrati ๐‘ฃ๐‘Ÿ;9: ako ๐‘ฃ๐‘Ÿ > ๐›ผ onda

10: ๐›ผ := ๐‘ฃ๐‘Ÿ;11: vrati ๐‘ฃ๐‘Ÿ.

Algoritam: Min

Ulaz: Funkcija evaluacije ๐‘“ , pozicija, alfa vrednost ๐›ผ, beta vrednost ๐›ฝ, do-zvoljena dubina pretrazivanja ๐‘‘

Izlaz: Vrednost pozicije

1: ako je pozicija zavrsna ili je ๐‘‘ jednako 0 onda2: vrati ๐‘“(๐‘๐‘œ๐‘ง๐‘–๐‘๐‘–๐‘—๐‘Ž);3: ๐‘ฃ๐‘Ÿ := +โˆž;4: za svaku poziciju ๐‘  do koje se moze doci u jednom potezu radi5: ako ๐‘€๐‘Ž๐‘ฅ(๐‘“, ๐‘ , ๐›ผ, ๐›ฝ, ๐‘‘โˆ’ 1) < ๐‘ฃ๐‘Ÿ onda6: ๐‘ฃ๐‘Ÿ := ๐‘€๐‘Ž๐‘ฅ(๐‘“, ๐‘ , ๐›ผ, ๐›ฝ, ๐‘‘โˆ’ 1);7: ako ๐‘ฃ๐‘Ÿ โ‰ค ๐›ผ onda8: vrati ๐‘ฃ๐‘Ÿ;9: ako ๐‘ฃ๐‘Ÿ < ๐›ฝ onda

10: ๐›ฝ := ๐‘ฃ๐‘Ÿ;11: vrati ๐‘ฃ๐‘Ÿ.

Slika 5.5: Algoritam Alfa-beta.

Page 82: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.4. Sredisnjica 80

Kako je stablo igre obicno ogromno, ubrzavanje Minimaks algoritma heu-ristikama โ€žalfa-odsecanjeโ€œ i โ€žbeta-odsecanjeโ€œ ima izuzetan znacaj. Pri tome,veoma je vazno da i algoritam Alfa-beta nalazi najbolji potez za zadati cvor(najbolji za zadatu maksimalnu dubinu pretrazivanja i za izabranu funkcijuevaluacije), sto znaci da heuristike koje se primenjuju ne narusavaju tu osobi-nu algoritma Minimaks.

Ukoliko se u svakom cvoru potezi ispituju od najlosijeg ka najboljem (ukontekstu tekuceg cvora)4, tada nema nijednog alfa ili beta odsecanja, pa sealgoritam Alfa-beta svodi na algoritam Minimaks. S druge strane, najvise alfa ibeta odsecanja ima kada se najpre ispituju potezi najbolji u kontekstu tekucegcvora (za koriscenu funkciju evaluacije i za zadatu dubinu) i tada algoritam Alfa-beta daje najbolji efekat (tj. ispituje najmanji broj cvorova stabla). Naravno,nije moguce unapred znati koji je potez najbolji u datom cvoru, ali se i dobrimprocenama (izborom jednog od boljih poteza) postizu dobri efekti. Upravo natoj ideji zasnivaju se i neke varijacije algoritma Alfa-beta.

5.4.4 Heuristika kilerTokom pretrazivanja stabla igre, u svakom cvoru raspolozivi legalni potezi

mogu se razmatrati u bilo kom poretku. Medutim, neki poredak moze bitibolji od drugog, u smislu da omogucava veci broj alfa i beta odsecanja i timeefikasniju pretragu. Heuristika kiler (eng. killer) ima za cilj da se u mnogimcvorovima razmatra najpre najbolji (ili makar veoma dobar) potez za taj cvor,kako bi bilo sto vise alfa i beta odsecanja. I ova heuristika je opsta i ne koristispecificna znanja o igri.

Neka se tokom pretrazivanja stabla igre algoritmom Alfa-beta ocenjuje nekicvor, prvi na dubini ๐‘‘ i neka je ๐‘ pronadeni najbolji potez za taj cvor. Taj potezpostaje kiler potez za dubinu ๐‘‘. Kada se sledeci put naide na neki cvor dubine๐‘‘, ispitivanje poteza pocinje od kiler poteza za tu dubinu.5 Ukoliko se kasnijepokaze da je za taj nivo bolji neki drugi potez, onda on postaje kiler potezza dubinu ๐‘‘. Opisana heuristika primenjuje se za sve dubine do maksimalnedubine pretrazivanja, tj. za svaku dubinu azurira se po jedan kiler potez.

Kiler heuristika zasniva se na sledecem rasudivanju: ukoliko je u jednoj granistabla na dubini ๐‘‘ najbolji potez ๐‘, ima izgleda da je on najbolji ili veoma dobar(ako je legalan) i u drugim cvorovima na istoj dubini. Ilustrujmo to na primerusaha: neka igracu koji je na redu preti mat u sledecem potezu i neka nijedannjegov potez ne moze da otkloni tu pretnju. Pretrazivanjem stabla, u cvoru ukojem je na potezu protivnik, otkriva se matni potez i on postaje kiler potez (zadubinu 1). Pri daljem pretrazivanju stabla, na dubini 1 najpre se ispituje tajpotez i kako on vodi pobedi protivnika, alfa odsecanje cini nepotrebnim dalje

4Da li je neki potez dobar zavisi od igrะฐca iz cije se perspektive potez razmatra: ono stoje dobro za jednog igraca nije za drugog i obratno. Kada se kaze โ€žpotez je dobar u kontekstutekuceg cvoraโ€œ, to znaci da je dobar iz perspektive igraca koji je na potezu u tom cvoru.

5Ukoliko u nekom cvoru tekuci kiler potez nije legalan, ispitivanje poteza pocinje odprvog sledeceg (u postojecem uredenju poteza).

Page 83: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

81 5. Igranje strateskih igara

ispitivanje poteza u tom cvoru. Time se broj cvorova stabla koje u ovakvojsituaciji treba ispitati drasticno smanjuje.

Primer 5.3. Razmotrimo primer ilustrovan na narednoj slici โ€“ gornje sta-blo prikazuje pretrazivanje algoritmom Alfa-beta bez kiler heuristike (nijebilo alfa i beta odsecanja), a donje stablo sa primenom kiler heuristike.

๐‘š๐‘Ž๐‘ฅ

๐‘š๐‘–๐‘›

โˆ’1 โˆ’1 โˆ’1 0

5 2 โˆ’1 4 2 โˆ’1 5 3 โˆ’1 5 2 0

๐‘ ๐‘ ๐‘

๐‘š๐‘Ž๐‘ฅ

๐‘š๐‘–๐‘›

โˆ’1 โˆ’1 โˆ’1 0

5 2 โˆ’1 โˆ’1 4 2 โˆ’1 5 3 5 2 0

๐‘ ๐‘ ๐‘

Tokom ocenjivanja prvog cvora na dubini 1, ocenjivana su njegova decai kao najbolji pronaden je potez ๐‘ (kojem odgovara ocena โˆ’1). Taj potezpostaje kiler potez za dubinu 1. U naredna dva cvora na dubini 1, ispitiva-nje poteza pocinje od tog istog poteza (a preostali legalni potezi uredeni supostojecim uredenjem). U oba slucaja dolazi do znacajnog broja odsecanja.U cetvrtom cvoru na dubini 1 tekuci kiler potez ๐‘ nije legalan, te ispitiva-nje poteza pocinje od prvog sledeceg legalnog poteza (u nekom postojecemuredenju).

Algoritam Alfa-beta prosiren kiler heuristikom zovemo Alfa-beta/kiler. Pri-menom kiler heuristike ne menja se rezultat algoritma Alfa-beta (za istu funkcijuevaluacije i istu dubinu pretrazivanja) u smislu da se dobija potez sa istom oce-nom (ne nuzno i isti potez) kao primenom algoritama Alfa-beta ili Minimaks. Pritome, takav potez dobija se najcesce sa bitno manjim brojem ispitanih cvorovastabla.

Page 84: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.4. Sredisnjica 82

5.4.5 Iterativni Alfa-beta/kiler algoritam

U osnovnoj verziji kiler heuristike, kiler potez ne postoji na pocetnom nivoustabla igre, a upravo taj nivo bi mogao da omoguci najveci broj odsecanja. Jed-no resenje za ovaj i jos nekoliko drugih problema nudi iterativni Alfa-beta/kileralgoritam.

Za zadatu maksimalnu dubinu pretrazivanja ๐‘‘๐‘š๐‘Ž๐‘ฅ, iterativni Alfa-beta/kileralgoritam realizuje se na sledeci nacin: algoritam Alfa-beta/kiler primenjuje seza zadati cvor u iteracijama: za maksimalnu dubinu pretrazivanja 1, pa zamaksimalnu dubinu pretrazivanja 2, i tako dalje, sve do zadate maksimalnedubine ๐‘‘๐‘š๐‘Ž๐‘ฅ. Kad god se zavrsi jedna iteracija, najbolji pronadeni potez postajekiler potez za pocetni cvor (za nivo 0) i u sledecoj iteraciji ispitivanje svihlegalnih poteza krece od njega. Finalno, kao najbolji potez za zadati cvor birase onaj dobijen zavrsnom primenom algoritma Alfa-beta/kiler โ€” primenom zadubinu ๐‘‘๐‘š๐‘Ž๐‘ฅ.

Ako bi se iterativni Alfa-beta/kiler algoritam primenio na stablo iz primera5.3, u drugoj iteraciji (a mozda vec i u prvoj) za kiler potez za nivo 0 biobi odabran cetvrti legalni potez (onaj koji vodi oceni 0). U sledecoj iteraciji,ispitivanja poteza na pocetnom nivou kretace od tog poteza.

Efekti ovog algoritma su, u svakoj iteraciji, slicni efektima Alfa-beta/kileralgoritma, s tim sto u iterativnom algoritmu postoji i kiler potez za pocetnicvor. Ima izgleda da je u svakoj iteraciji taj kiler potez bolje odabran i da dajesve bolje i bolje rezultate (veci broj alfa i beta odsecanja). Druga dobra osobi-na iterativnog algoritma je to sto u slucaju prekida pretrazivanja, prakticno usvakom trenutku, ima smisleni rezultat kao najbolji pronadeni potez za nekukompletno zavrsenu iteraciju (videti poglavlje 5.4.7). Ono sto izgleda kao manaalgoritma โ€” visestruko pretrazivanje nekih cvorova โ€” ne utice bitno na per-formanse algoritma. Naime, u odnosu na vreme utroseno za zavrsnu iteraciju,vreme utroseno na sve prethodne iteracije obicno je zanemarljivo. Stavise, uko-liko je odabran dobar kiler potez za pocetni cvor, zavrsna iteracija ce zahtevatiispitivanje znatno manjeg broja cvorova od obicnog algoritma Alfa-beta/kilerza istu dubinu.

Primenom iterativnog Alfa-beta/kiler algoritma dobija se potez sa najboljomocenom za datu funkciju evaluacije i datu dubinu pretrazivanja, isto kao i pri-menom algoritama Minimaks, Alfa-beta i Alfa-beta/kiler (mozda ne isti potez,ali potez sa istom minimaks ocenom).

5.4.6 Stabilno pretrazivanje

Nedostatak pristupa u kojem se pretrazivanje stabla igre vrsi do fiksne dubi-ne je u tome sto funkcija evaluacije, koja se primenjuje na cvorove na najvecojdubini, ne razmatra moguce nastavke za pozicije na najvecoj dubini. Te ocene,ma koliko funkcija evaluacije bila dobra, mogu da budu varljive i da vode losemizboru poteza (u sahu se, na primer, moze izabrati potez zbog nekog, naizgleddobrog, zavrsnog cvora u kojem se zarobljava protivnikov top, ali se ne zna

Page 85: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

83 5. Igranje strateskih igara

da nakon toga moze da bude izgubljena kraljica ili da sledi mat). Zbog togase primenjuje โ€žstabilno pretrazivanjeโ€œ (eng. quiscence searching): vrsi se pre-trazivanje do neke fiksne dubine, ali se pretrazivanje nastavlja i dalje ukoliko je,po nekom kriterijumu, zavrsni cvor โ€žnestabilanโ€œ. Maksimalna dubina dodatnogpretrazivanja takode treba da bude ogranicena. Stabilno pretrazivanje moze seprimenjivati u kombinaciji sa svakom od ranije opisanih tehnika.

Kriterijumi stabilnosti poteza odreduju se u skladu sa specificnostima kon-kretne igre. U sahu, na primer, pozicija se moze smatrati stabilnom ako igrackoji je na potezu nije pod sahom, ako ne postoji nijedna napadnuta a nebra-njena figura i ako ne preti neposredno izvodenje nekog protivnikovog pesaka.Savremeni programi za sah cesto pretrazuju stablo igre do dubine desetak po-teza, a sa dodatnim, stabilnim pretrazivanjem do dubine dvadesetak poteza.

5.4.7 Prekidi i vremenska ogranicenja

Vremenska ogranicenja su vazna u programiranju strateskih igara: potreb-no je da program izabere smislen potez i ukoliko se pretrazivanje stabla igreprekine pre nego sto se izvrsi kompletan algoritam. Prekidi mogu biti izazvaniakcijom korisnika ili ogranicenjima vremena raspolozivog za jedan potez ili zacelu partiju6. Kod do sada opisanih algoritama, ako algoritam nije kompletnoizvrsen (i, na primer, ispitani su samo neki, povoljni odgovori protivnika), oda-brani potez moze biti veoma los. Izuzetak je iterativni Alfa-beta/kiler algoritam,jer prakticno u svakom trenutku (trajanje prve iteracije je zanemarljivo) imaneku kompletno zavrsenu iteraciju, te ce biti izbegnuti makar najjednostavnijiprevidi.

5.4.8 Svojstva algoritama Minimaks i Alfa-beta

Prosecan faktor grananja aproksimira prosecan broj dece cvorova u stabluigre (stablo igre obicno nije uniformno, tj. njegovi cvorovi obicno imaju razlicitbroj dece). Ta vrednost jedna je od kljucnih karakteristika svake igre.

Definicija 5.1 (Prosecan faktor grananja). Ukoliko stablo igre ๐บ sa sta-njem ๐‘  u korenu na dubini ๐‘‘ ima ๐ผ(๐‘‘) listova, onda je prosecan faktorgrananja za stanje ๐‘  jednak lim๐‘‘โ†’โˆž ๐ผ(๐‘‘)1/๐‘‘. Prosek ovih vrednosti za svastanja zovemo prosecan faktor grananja igre ๐บ i oznacavamo ๐ต(๐บ)

Prosecan faktor grananja igre je ocigledno ekstremno tesko izracunati eg-zaktno za bilo koju netrivijalnu igru, te se ova vrednost obicno samo procenjujena osnovu eksperimenata. Na primer, za sahovsku sredisnjicu procenjuje se daje prosecan faktor grananja oko 35, a za igru go oko 250.

6Ukoliko je ograniceno vreme raspolozivo za celu partiju, program mora i da ga ekono-micno deli na procenjeni broj poteza.

Page 86: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.4. Sredisnjica 84

Efektivni faktor grananja za igru govori o prosecnom broju dece koje nekialgoritam ispituje u cvorovima stabla igre.

Definicija 5.2 (Efektivni faktor grananja). Ako algoritam ๐ด na dubini ๐‘‘stabla igre ๐บ sa stanjem ๐‘  u korenu ispituje ๐‘–(๐‘‘) listova, onda je efektivnifaktor grananja za stanje ๐‘  jednak lim๐‘‘โ†’โˆž ๐‘–(๐‘‘)1/๐‘‘. Prosek ovih vrednostiza sva stanja zovemo efektivni faktor grananja za igru ๐บ za algoritam ๐ดi oznacavamo ๐ต(๐บ,๐ด).

Kao i prosecan faktor grananja, efektivni faktor grananja je tesko izracunati,te se ova vrednost obicno samo procenjuje na osnovu prosecnog faktora grana-nja i svojstava datog algoritma i to u nekim specijalnim slucajevima. Efektivnifaktor grananja moze biti upotrebljen za procenu koliko ce cvorova stabla igre๐บ primenom nekog algoritma ๐ด biti ispitano na nekoj dubini ๐‘‘: ๐ต(๐บ,๐ด)๐‘‘. Tavrednost moze da sluzi kao mera efikasnosti algoritma ๐ด.

Ako je prosecan faktor grananja igre ๐บ jednak ๐‘, onda je, trivijalno, ๐ต(๐บ,๐‘€๐‘–๐‘›๐‘–๐‘š๐‘Ž๐‘˜๐‘ ) = ๐‘. Problem odredivanja vrednosti ๐ต(๐บ,๐ด๐‘™๐‘“๐‘Ž๐ต๐‘’๐‘ก๐‘Ž) je tezi. Uko-liko se u svakom cvoru stabla igre ispituju potezi od najlosijeg ka najboljem,onda, ocigledno, nema nikakvih odsecanja i algoritam Alfa-beta se ponasa kaoalgoritam Minimaks. S druge strane, algoritam Alfa-beta ponasa se najboljeukoliko se u svakom cvoru najpre ispituje najbolji potez (poredak ostalih po-teza nije bitan). Razmotrimo u nastavku taj slucaj. Tokom primene algoritmaAlfa-beta, nekim cvorovima izracunava se egzaktna minimaks ocena za zadatudubinu, a nekim cvorovima ocena se racuna samo onoliko koliko je neophodnoza odsecanja. Na primer, na slici 5.6, za cvorove sa ocenom 4, ova ocena je eg-zaktna (ista ocena bila bi izracunata i da se uopste ne primenjuju odsecanja),a cvoru sa ocenom โ‰ฅ 7, ocena 7 nije nuzno egzaktna (mozda je veca), jer jeprimenjeno odsecanje i nisu ispitani svi njegovi potomci.

4

4

4 3 1

4 12

โ‰ฅ 6 โ‰ฅ 7

โ‰ค 3 โ‰ค 1

6 7 3 0 0 1 โˆ’1 โˆ’4

๐‘š๐‘Ž๐‘ฅ

Slika 5.6: Ilustracija izracunavanja egzaktne ocene cvora i granice ocene cvora.

Neka ๐‘‡ (๐‘‘) oznacava broj listova koje treba ispitati za odredivanje egzaktneocene cvora na nivou ๐‘‘ (za zadato stablo), pri cemu je u ovom konkretnomkontekstu pogodno da se nivoi broje od listova โ€“ njima odgovara nivo 0. Neka๐ฟ(๐‘‘) oznacava broj listova koje treba ispitati za odredivanje (samo) ogranicenja

Page 87: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

85 5. Igranje strateskih igara

ocene cvora na nivou ๐‘‘ dovoljnog da obezbedi odsecanja u nastavku primenealgoritma. Vazi ๐‘‡ (0) = 1 i ๐ฟ(0) = 1. Kako se u svakom cvoru najpre ispitujenajbolji potez, onda vazi (slika 5.6):

๐‘‡ (๐‘‘) = ๐‘‡ (๐‘‘โˆ’ 1) + (๐‘โˆ’ 1)๐ฟ(๐‘‘โˆ’ 1)

๐ฟ(๐‘‘) = ๐‘‡ (๐‘‘โˆ’ 1)

odakle sledi๐‘‡ (๐‘‘) = ๐‘‡ (๐‘‘โˆ’ 1) + (๐‘โˆ’ 1)๐‘‡ (๐‘‘โˆ’ 2)

Karakteristicna jednacine ove rekurentne veze je ๐‘ก2 โˆ’ ๐‘ก โˆ’ (๐‘ โˆ’ 1) = 0 i njenaresenja su

๐‘ก1 =(1โˆ’โˆš

1+4(๐‘โˆ’1)

2 = 1/2โˆ’โˆš๐‘โˆ’ 3/4

๐‘ก2 =(1+โˆš

1+4(๐‘โˆ’1)

2 = 1/2 +โˆš๐‘โˆ’ 3/4

Dakle, vazi:

๐‘‡ (๐‘‘) = ๐œ†1 ยท(1/2โˆ’

โˆš๐‘โˆ’ 3/4

)๐‘‘+ ๐œ†2 ยท

(1/2 +

โˆš๐‘โˆ’ 3/4

)๐‘‘i ๐‘‡ (๐‘‘) = ฮ˜(๐‘๐‘‘/2), sto govori da je efektivni faktor grananja za algoritam Alfa-beta za ovaj slucaj jednak ๐‘1/2. Kiler heuristika u iterativnoj verziji cesto postizedobar poredak poteza u svakom cvoru, pa takav efektivni faktor grananja nijenerealno ocekivati.

Problem odredivanja faktora grananja algoritma Alfa-beta sa slucajnim po-retkom grana jos je slozeniji i odgovor, bez dokaza, navodimo u okviru naredneteoreme.

Teorema 5.1. Za igru ๐บ sa uniformnim stablom i faktorom grananja ๐‘,za efektivni faktor grananja vazi da je

โ€ข jednak ๐‘, za algoritam Minimaks, kao i za algoritam Alfa-beta, uslucaju da se potezi ispituju od najlosijem ka najboljem;

โ€ข priblizno jednak ๐‘3/4, za algoritam Alfa-beta, u slucaju da se poteziispituju u slucajnom poretku;

โ€ข priblizno jednak ๐‘1/2, za algoritam Alfa-beta, u slucaju da se poteziispituju pocev od najboljeg.

Navedeno tvrdenje govori i da je, uz idealan poredak poteza, algoritamAlfa-beta moguce primeniti, uz priblizno isto vreme izvrsavanja, na dva putavecu maksimalnu dubinu nego algoritam Minimaks. Mnoge igre ne ispunjavajuuslov teoreme da je stablo igre uniformno, ali ako je prosecan faktor grananja๐‘, teorema daje dobru procenu i za te slucajeve.

Vazno je i sledece srodno tvrdenje.

Page 88: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.5. Zavrsnica 86

Teorema 5.2. Algoritam Alfa-beta je asimptotski optimalan algoritam zapretrazivanje stabla igre.

Navedeno tvrdenje znaci da ne postoji algoritam za pretrazivanje stabla igrekoji, u opstem slucaju, asimptotski ispituje manje zavrsnih cvorova nego algo-ritam Alfa-beta. Modifikacije algoritma Alfa-beta opisane u prethodnom deluveoma cesto u praksi daju bolje rezultate nego osnovni algoritam. Ipak, faktorigrananja ovih algoritama ne razlikuju se od faktora grananja algoritma Alfa-beta i u opstem slucaju oni ne garantuju asimptotski manje ispitanih zavrsnihcvorova stabla nego algoritam Alfa-beta.

5.5 Zavrsnica

U igrama kao sto je sah, zavrsnica iziskuje specificne tehnike.7 Naime, pri-stupi koji se zasnivaju na dubinskom pretrazivanju ne daju dobre rezultateu zavrsnici jer kvalitetna igra iziskuje jako veliku dubinu pretrazivanja. Pro-blem zavrsnice jos je tezi ako se postavi zahtev za korektnom ili optimalnomigrom/taktikom.8 Ukoliko se, tehnikama koje se koriste u sredisnjici, sistemat-sko pretrazivanje vrsi do zavrsnih cvorova time se obezbeduje optimalna strate-gija (naravno, za vecinu igara to je u praksi nemoguce izvesti). Optimalnu igruu sahovskoj zavrsnici prakticno je nemoguce obezbediti (za uobicajena vremen-ska ogranicenja), jer su moguce zavrsnice u kojoj igrac ima dobijenu poziciju,ali ne moze da matira protivnika u manje od, na primer, cetrdeset poteza,9pa takva zavrsnica za optimalnu igru zahteva preveliku dubinu pretrazivanja.Slicni problemi vaze i za korektnu igru. U daljem tekstu opisani su samo nekiod pristupa koji se koriste u sahovskim zavrsnicama.

Klase ekvivalencije pozicija. U ovom pristupu za sah (koji je opisao MaxBramer, 1975. godine), sve legalne pozicije podrzanih zavrsnica svrstane su uklase ekvivalencija, tako da istoj klasi pripadaju sustinski slicne pozicije (naprimer, sve pozicije โ€žkralj i pesak protiv kraljaโ€œ). Svakoj od tih klasa ekvivalen-cije pridruzena je jedinstvena ocena i jedinstvena funkcija evaluacije. U tokuigre, bira se, bez ikakvog pretrazivanja u dubinu, potez kojem odgovara najvecizbir ocene klase i ocene konkretne pozicije u toj klasi u koju taj potez vodi.Ovaj pristup zahteva definisanje mnogih klasa zavrsnica i kreiranje pratecih,vrlo specificnih, funkcija evaluacije (na primer, u nekim zavrsnicama vazno jerastojanje izmedu dva kralja, sto je parameter koji nije relevantan u sredisnjici).

7Zavrsnica u sahu se, pojednostavljeno, moze opisati kao stanje igre u kojem je na tablipreostao samo neki mali broj figura, na primer, manje ili jednako sedam.

8Za taktiku kazemo da je korektna ukoliko iz svake pozicije garantovano vodi ka najbo-ljem mogucem ishodu. Za taktiku kazemo da je optimalna ukoliko u dobijenoj poziciji vodipobedi u najmanjem broju poteza i ukoliko u izgubljenoj poziciji poraz maksimalno odlaze.Ocigledno, ako je taktika optimalna, onda je i korektna, ali ne vazi obratno.

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

Page 89: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

87 5. Igranje strateskih igara

Mali saveti. Jedan od pristupa koji se primenjuje u sahovskim zavrsnicamaje pristup malih saveta (eng. advice texts), tj. strategija za zavrsnice. Svakakonkretna vrsta zavrsnice zahteva posebnu, specijalizovanu strategiju (i pratecialgoritam). Navedimo, kao ilustraciju, jedan โ€žmali savetโ€œ za zavrsnicu โ€žkralj itop protiv kraljaโ€œ (autora Ivana Bratka).

1. โ€žmatโ€œ: pokusaj da matiras protivnika u dva poteza;

2. โ€žstezanjeโ€œ: ako to nije moguce, pokusaj da topom smanjis prostor na tablidostupan protivnickom kralju;

3. โ€žpriblizavanjeโ€œ: ako to nije moguce, pronadi nacin da svog kralja priblizisprotivnickom;

4. โ€žzadrzavanjeโ€œ: ako to nije moguce, pronadi potez koji zadrzava trenutnostanje u smislu (2) i (3) (tj. odaberi โ€žpotez cekanjaโ€œ);

5. โ€žrazdvajanjeโ€œ: ako to nije moguce, pronadi potez kojim se dobija pozicijau kojoj top razdvaja dva kralja, bilo vertikalno ili horizontalno.

Nedostatak pristupa ilustrovanog navedenim primerom je u tome sto izisku-je posebne โ€žmale saveteโ€œ za sve sustinski razlicite zavrsnice. Pored toga, za svetipove zavrsnica nije jednostavno (ili nije moguce) napraviti koncizan i efikasanโ€žmali savetโ€œ. Prethodnih godina za generisanje ovakvih โ€žmalih savetaโ€œ koristese i tehnike masinskog ucenja.

5.6 Monte Karlo pretraga stabla igre

Heuristicka pretraga Monte Karlo primenjuje se jos od cetrdesetih godinaproslog veka u mnogim oblastima, a od 2006. godine cesto i u pretrazi stabala,kada se naziva Monte Karlo pretraga stabla (eng. Monte Carlo tree search). Toje metod koji u obilasku stabla pretrage koristi slucajno uzorkovanje (โ€žsemplo-vanjeโ€œ). Naime, u situacijama kada nije moguce sprovesti sistematicnu pretragugrafa prostora stanja, simulacijom odigravanja partija obilazi se samo jedan deoodgovarajuceg stabla pretrage. Time se aproksimira njegov obilazak i donosezakljucci na osnovu nepotpunih informacija.

Monte Karlo pretraga koristi se decenijama i u strateskim igrama, ali sedo najznamenitijih rezultata doslo tek u prethodnih nekoliko godina. ProgramiAlphaGo i AlphaZero (kompanije DeepMind), koji koriste ovu vrstu pretrage usadejstvu sa neuronskim mrezama (poglavlje 11.5), pobedili su 2016. i 2017. go-dine vodece svetske igrace i programe u igrama go i sah. Mehanizam koji je udaljem tekstu pojednostavljeno opisan, program AlphaZero koristio je za sa-motreniranje, na nekoliko hiljada procesora, tokom perioda od dvadeset cetirisata. Ishod je superiorna pobeda nad jednim od najboljih sahovskih programau tom trenutku (Stockfish 8) od 64:36 i osvojena znanja o mnogim otvaranjimaza koja su ljudima bili potrebni vekovi. Uprkos ovim uspesima, postoji i uve-renje da ce najbolji programi za strateske igre u buducnosti (vodeci racuna i o

Page 90: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.6. Monte Karlo pretraga stabla igre 88

raspolozivim resursima) kombinovati Monte Karlo pretragu i neuronske mrezesa algoritmima minimaks tipa opisanim ranije.

Monte Karlo pretraga koristi se u strateskim igrama bez ikakvog domenskogznanja, tj. iskustvenog znanja o konkretnoj igri i jedino sto je potrebno to jepoznavanje pravila igre, tj. skupa legalnih poteza, zavrsnih stanja i mogucihishoda igre (na primer: pobeda, remi i poraz). Nepotpuno stablo igre formirase u iteracijama, postepenim popunjavanjem novim cvorovima. U izabranimcvorovima odigravaju se partije simulacijama โ€“ do kraja partije, slucajnim od-igravanjem poteza, bez ikakvog netrivijalnog rasudivanja. Ovakvim simulacija-ma postepeno se profinjuju ocene cvorova stabla (tj. pozicija) i aproksimirajunjihove stvarne vrednosti. Taj postupak nastavlja se sve dok to dozvoljava-ju raspolozivi resursi (racunarsko vreme i memorija). Svaka iteracija opisanogpostupka ima sledece faze:

โ€ข selekcija: bira se cvor ๐‘€ koji nije zavrsno stanje igre i iz kojeg se mozejednim potezom dobiti pozicija ๐‘š koja jos uvek nije posecena;

โ€ข razgranavanje: cvor sa pozicijom ๐‘š pridodaje se stablu i pridruzuje muse ocena 0/0;

โ€ข simulacija: pokrece se simulacija nastavka partije iz cvora ๐‘š, nasumicnimizborom poteza i odreduje se ocena te simulacije (na primer 1, ako je usimulaciji pobedio igrac koji je na potezu u cvoru ๐‘š);

โ€ข propagacija: azuriraju se ocene svih cvorova od ๐‘š do korena novodobije-nim rezultatom.

U svakoj iteraciji, dakle, dodaje se po jedan ocenjeni cvor. Simulacija mozeda se ne sprovodi samo do zavrsnih stanja, vec i do nekih drugih predefinisanihstanja (u kojima se jasno procenjuje ishod partije). Dodatno, simulacije moguda budu obogacene nekim znanjima kako ne bi bile potpuno slucajne. Umestojedne simulacije iz novog cvora, moze da se izvrsi vise njih. Ukupan broj si-mulacija moze se smanjiti koriscenjem masinskog ucenja i generalizacijom nastanja koja uopste nisu videna.

Nacine na koje se bira cvor ๐‘€ u okviru selekcije zovemo politikama selekcije.Politika selekcije cesto se definise za jedan nivo stabla i primenjuje rekurzivno,pocevsi od korena ka listovima. Postoje mnoge politike selekcije. Najjednostav-nija je da se cvor za razgranavanje uvek bira slucajno. Jos jedna jednostavnapolitika selekcije je da se sprovodi jednak broj simulacija za svaki cvor na istomnivou stabla. Jedna naprednija politika selekcije zasniva se na ocenama cvorovajednakim ๐‘ค/๐‘›, gde je ๐‘› broj simulacija, ๐‘ค zbir ishoda svih simulacija iz togcvora: na primer, vrednosti 1 za pobedu igraca koji je na potezu, 0.5 za remi i 0za izgubljenu partiju. Ako su ocene dece nekog cvora jednake ๐‘ค๐‘–/๐‘›๐‘– ๐‘– = 1, . . . , ๐‘˜

onda je ocena tog cvora jednaka ๐‘ค/๐‘›, gde je ๐‘› =โˆ‘๐‘˜

๐‘–=1 ๐‘›๐‘– i ๐‘ค = ๐‘› โˆ’โˆ‘๐‘˜

๐‘–=1 ๐‘ค๐‘–

(i ta veza se odrzava za sve cvorove kada se azuriraju ocene cvorova tokompropagacije). Primetimo da je, za razliku od minimaks ocena, smisao ocena๐‘ค na svim nivoima isti (โ€žvece ocene su boljeโ€œ). Ocena ๐‘ค/๐‘› aproksimira u toj

Page 91: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

89 5. Igranje strateskih igara

poziciji verovatnocu pobede igraca koji je na potezu. Selekcija se sprovodi takosto se od korena ka listovima uvek bira cvor koji ima najbolju ocenu. Time seobezbeduje da se bolji potezi detaljnije analiziraju.

Primer 5.4. Na slici 5.7 ilustrovana je jedna iteracija primene Mon-te Karlo pretrage stabla igre. Neka su moguci ishodi igre โˆ’1, 0 i 1. Ucvorovima su ocene ๐‘ค/๐‘›, gde je ๐‘› broj simulacija, ๐‘ค zbirni ishod svih si-mulacija iz tog cvora. U koraku selekcije bira se cvor koji ima ocenu 1/1,on se razgranava โ€“ dodaje se jedno njegovo dete i tom detetu se pridruzujeocena 0/0. Zatim se vrsi simulacija igre od tog deteta i dobija se da igrugubi igrac koji igra u toj poziciji. Ocena deteta se azurira na 0/1. Kakogubi igrac koji igra u poziciji u cvoru-detetu, to znaci da dobija igrac kojiigra u cvoru-roditelju, te se ocena 1/1 azurira na 2/2 (sto znaci da su do-bijene dve partije od dve simulacije). Dobijena ocena se, zatim, analognopropagira do samog korena stabla.

Koriscenje ocena cvorova ๐‘ค๐‘› obezbeduje da se bolji potezi detaljnije analizi-

raju, ali potrebno je obezbediti i dodatno analiziranje cvorova sa malim brojemsimulacija kako ne bi doslo do previda nekog veoma dobrog poteza. To rade josnaprednije politike selekcije koje koriste ocene poput:

๐‘ค

๐‘›+

โˆš๐‘ ln๐‘

๐‘›

gde je ๐‘ ukupan broj simulacija iz roditeljskog cvora, a ๐‘ pogodan parametarkoji se bira empirijski (obicno je jednak 2).

Stablo koje kreira Monte Karlo metod ne razvija se nuzno simetricno. Timese obezbeduje njegova efikasnost i prakticna upotrebljivost, ali u nekim situa-cijama to moze da bude i lose, jer u ogranicenom vremenu moze da se desi dase metod fokusira na neku losu granu, previdevsi postojanje neke mnogo bolje.

Slozenost Monte Karlo pretrage proporcionalna je broju dozvoljenih simu-lacija. I nakon kratkog utrosenog vremena, metod ima nekakve upotrebljiveocene za rasplozive poteze.

Nacin rada Monte Karlo pretrage stabla igre sustinski je drugaciji od nacinarada algoritama Minimaks i Alfa-beta. Ipak, postoji snazna veza izmedu njih.Pretpostavimo da se algoritam Minimaks primenjuje do listova stabla igre, naprimer, do ishoda โˆ’1, 0, 1 i da su minimaksizacijom ocenjeni svi cvorovi stabla.Neka su te ocene transformisane u ocene 0, 1/2, 1 na sledeci nacin: neka se na๐‘š๐‘Ž๐‘ฅ nivoima stabla ocene ๐‘ฅ preslikavaju u ocene (๐‘ฅ+ 1)/2, a na ๐‘š๐‘–๐‘› nivoimastabla u ocene (โˆ’๐‘ฅ+1)/2. Ocene pozicija zasnovane na Monte Karlo pretrazi,sa opisanom naprednom selekcijom, konvergiraju upravo tim novodobijenimocenama.

Page 92: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

5.6. Monte Karlo pretraga stabla igre 90

9/19

7/11 1/3 2/5

1/4 1/3 2/4 2/3 0/1 3/4

1/3 1/1

๐‘ ๐‘’๐‘™๐‘’๐‘˜๐‘๐‘–๐‘—๐‘Ž :

9/19

7/11 1/3 2/5

1/4 1/3 2/4 2/3 0/1 3/4

1/3 1/1

0/0

๐‘Ÿ๐‘Ž๐‘ง๐‘”๐‘Ÿ๐‘Ž๐‘›๐‘Ž๐‘ฃ๐‘Ž๐‘›๐‘—๐‘’ :

9/19

7/11 1/3 2/5

1/4 1/3 2/4 2/3 0/1 3/4

1/3 1/1

0/0

๐‘ ๐‘–๐‘š๐‘ข๐‘™๐‘Ž๐‘๐‘–๐‘—๐‘Ž :

9/20

8/12 1/3 2/5

1/4 1/3 2/5 2/3 0/1 3/4

1/3 2/2

0/1

๐‘๐‘Ÿ๐‘œ๐‘๐‘Ž๐‘”๐‘Ž๐‘๐‘–๐‘—๐‘Ž :

Slika 5.7: Ilustracija primene Monte Karlo pretrage stabla igre.

Page 93: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 6

Genetski algoritmi

Heuristike koje se koriste u resavanju problema pretrage dizajnirane su zakonkretan problem, imajuci u vidu njegove specificnosti. Heuristika dizajniranaza jedan problem cesto je potpuno neupotrebljiva za drugi problem i resavanjesvakog novog problema koriscenjem heuristika moze da bude veoma zahtevno. Sdruge strane, metaheuristike ili metaheuristicke metode su metode koje opisujuopste strategije pretrage za resavanje optimizacionih problema i formulisanesu nezavisno od konkretnog problema. U svom opstem obliku, metaheuristikeu procesu resavanja ne koriste specificnosti nijednog konkretnog problema tese mogu koristiti za siroke klase problema. Medutim, one ipak moraju bitiprilagodene i instancirane za konkretan problem koji se resava. Metaheuristikeobicno razmatraju samo mali uzorak skupa svih mogucih resenja i obicno negarantuju pronalazenje najboljeg moguceg resenja. Medutim, resenja koja dajumetaheuristike cesto mogu biti dovoljno dobra, posebno u situacijama kada nijeraspoloziva ili nije prakticno upotrebljiva odgovarajuca egzaktna metoda (kojagarantuje pronalazenje najboljeg moguceg resenja).

Genetski algoritmi pripadaju siroj grupi metaheuristickih algoritama glo-balne optimizacije ili pretrage koji koriste tehnike inspirisane biologijom. Ge-netski algoritmi koriste pojmove kao sto su selekcija, ukrstanje, nasledivanje,mutacija, itd. U prirodi, evolucija je proces u kojem jedinke koje su najboljeprilagodene okolini prezivljavaju i ostavljaju potomstvo, koje je najcesce istotako ili bolje prilagodeno okolini. Svaka celija svakog zivog organizma sadrzihromozome. Svaki hromozom sadrzi skup gena โ€” blokove DNK. Svaki genodreduje neku osobinu organizma. Familija gena cesto se naziva genotip, a fa-milija osobina fenotip. Reprodukcija organizama ukljucuje kombinovanje genaroditelja i, pored toga, mali broj mutacija. Jedinka moze biti manje ili viseprilagodena okolini. Jedinka koja je bolje prilagodena okolini u kojoj zivi imavecu verovatnocu prezivljavanja i ostavljanja potomstva, a time i prenosenjasvog genetskog materijala. Genetski materijal prilagodenih jedinki uglavnomopstaje, dok genetski materijal neprilagodenih jedinki uglavnom nestaje krozgeneracije. Dakle, evolucioni procesi u prirodi su, u odredenom smislu, opti-

91

Page 94: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

6.1. Opsti genetski algoritam 92

mizacioni procesi โ€” procesi u kojima se kroz generacije optimizuje genetskimaterijal (tj. osobine organizama) tako da bude sto bolje prilagoden okolini.Genetski algoritmi koriste se za nalazenje tacnog ili pribliznog resenja nekogproblema optimizacije ili pretrage.

Mada je jos pedesetih godina dvadesetog veka bilo racunarskih simulaci-ja zasnovanih na evoluciji, smatra se da je moderne genetske algoritme uveoDzon Holand (John Holland) sedamdesetih godina dvadesetog veka, a postalisu popularni kasnih osamdesetih godina. Tokom prethodnih tridesetak godinaostvaren je veliki napredak u razvoju genetskih algoritama. Genetski algoritmiuspesno se primenjuju na sirokom skupu problema, cesto NP-teskih ili jos tezihproblema, za koje ne postoje efikasna egzakta resenja. Genetski algoritmi imajuuspesne primene u ekonomiji, tehnici, bioinformatici, hemiji, fizici itd. Genet-ski algoritmi uspesno se primenjuju u mnogim optimizacionim problemima ukojima postoji i vise lokalnih ekstremuma. Popularnost genetskih algoritamapotice iz njihove uspesnosti, ali i jednostavnosti. Naime, ideje na kojima sugenetski algoritmi zasnovani su jednostavne za razumevanje i implementiranje,a daju opsti sistem pretrage primenljiv na veliki broj problema. Pored toga, i usituacijama kada ne nalaze globalne ekstremume, resenja koja daju cesto su do-voljno dobra. Uporedo sa nalazenjem brojnih novih primena i unapredivanjemalgoritma, razvijaju se i teorijske osnove genetskih algoritama, ali jos uvek saogranicenim uspesima. Na primer, iako cesto nalaze globalne ekstremume, ge-netski algoritmi ne pruzaju informaciju o tome da li je u pitanju globalni ililokalni ekstremum, niti o tome sa kolikom greskom je odredeno resenje.

6.1 Opsti genetski algoritam

Genetski algoritmi treba da, kao svoj rezultat, vrate tacno ili pribliznoresenje nekog problema optimizacije ili pretrage.

Genetski algoritmi implementiraju se kao racunarska simulacija u kojoj po-pulacija apstraktno opisanih jedinki koje su kandidati za resenje problema trebada se priblizava boljim resenjima. Reprezentacija jedinke naziva se hromozo-mom ili genotipom. Cilj je naci vrednost za koju zadata funkcija cilja dostizesvoj ekstremum ili vrednost koja je dovoljno blizu ekstremuma i resenje pro-blema moze biti numericka vrednost, matematicka funkcija, put u grafu itd.Potencijalna resenja, tj. jedinke obicno su predstavljene nizovima nula i jedini-ca, ali su moguce i druge reprezentacije za probleme u kojima binarna repre-zentacija nije pogodna. Postupak se odvija kroz generacije. Obicno u svakojgeneraciji postoji isti broj jedinki. Pocetnu generaciju cesto cine slucajno ge-nerisane jedinke, ali ona moze da sadrzi i jedinke koje su (grubi) rezultat nekedruge, jeftinije optimizacione metode.

Za svaku jedinku racuna se njen kvalitet (koji odgovara prilagodenostiokolini). Funkcija koja pridruzuje te vrednosti jedinkama naziva se funkcijaprilagodenosti ili funkcija kvaliteta. Ova funkcija ima kljucnu ulogu u algorit-mu. Ona moze ali ne mora da bude jednaka funkciji cilja.

Page 95: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

93 6. Genetski algoritmi

Iz jedne generacije se, na osnovu vrednosti funkcije prilagodenosti, krozproces selekcije biraju jedinke koje ce biti iskoriscene za stvaranje novih jedinki(potomstva). One kvalitetnije biraju se sa vecom verovatnocom. Nad izabranimjedinkama primenjuju se genetski operatori ukrstanja1 i tako se dobijaju novejedinke. Ukrstanjem se od dve jedinke dobija nova (ili dve nove) sa genetskimmaterijalom koji je dobijen neposredno od roditelja, tj. od polaznih jedinki.Operatorom mutacije moze da se modifikuje deo jedinke (i on oponasa mutacijekoje se u prirodi javljaju pod uticajem spoljnih faktora). U svakoj generaciji,dakle, zbog rekombinacije gena mogu da se javljaju brojne slicnosti i razlicitostiizmedu jedinki te generacije i njihovih potomaka.

Politika zamene generacija odreduje kako se od postojecih jedinki i njihovogpotomstva kreira nova generacija. Neke jedinke u novoj generaciji mogu bitibolje, neke mogu biti i losije od jedinki iz prethodne generacije, ali se ocekujeda se prosecna prilagodenost popravlja. Tako dobijena nova generacija koristise za sledecu iteraciju algoritma.

Postupak se zaustavlja kada je dostignut zadati broj generacija, kada jedostignut zeljeni nivo kvaliteta populacije (na primer, prilagodenost najprilago-denije jedinke) ili kada je ispunjen neki drugi uslov. Ukoliko je dostignut zadatibroj generacija, nema nikakvih garancija da tekuca najkvalitetnija jedinka imazadovoljavajucu vrednost funkcije cilja.

Genetski algoritmi se, kao i mnogi drugi algoritmi, dizajniraju za resavanjeneke klase instanci, a ne pojedinacnih instanci. Na primer, algoritam za resavanjekvadratne jednacine moze da resi bilo koju kvadratnu jednacinu, ali je za njego-vu primenu potrebno zadati koeficijente koji je u potpunosti odreduju. Slicno,genetski algoritam za pronalazenje rasporeda casova treba da bude dizajnirantako da resava razlicite instance tog problema โ€” za razlicite skole sa razlicitimbrojem nastavnika, odeljenja, ucionica i termina i sa razlicitim specificnim za-htevima. To znaci da funkcija cilja moze da bude definisana tek kad su po-znati svi podaci koji precizno zadaju problem. Zbog toga se moze smatrati daulaz za opsti algoritam cini opis problema na osnovu kojeg tek treba definisatifunkciju cilja, ali i brojna podesavanja algoritma (tj. vrednosti njegovih para-metara) pogodna za konkretan problem. Medutim, upravo definisanje funkcijeprilagodenosti i izbor pogodnih parametara cesto cine najtezi deo primene ge-netskih algoritama, tj. primena opsteg genetskog algoritma je obicno samo malideo potrebnog truda.

Opsti genetski algoritam prikazan je na slici 6.1.

6.2 Komponente genetskog algoritma

Pored podataka koji odreduju funkciju cilja, da bi navedeni opsti algoritambio upotrebljiv potrebno je instancirati ga za konkretan problem โ€“ definisati re-prezentaciju jedinki, funkciju prilagodenosti, politiku selekcije, politiku zamenegeneracija, itd.

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

Page 96: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

6.2. Komponente genetskog algoritma 94

Algoritam: Opsti genetski algoritam

Ulaz: Podaci koji odreduju funkciju cilja i podesavanja algoritma

Izlaz: Tacno ili priblizno resenje problema odredenog zadatom funkcijom cilja

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 6.1: Opsti genetski algoritam.

6.2.1 Reprezentacija jedinki

Jedinke mogu biti predstavljene raznovrsnim strukturama podataka, na pri-mer, nizovima binarnih cifara, stablima, matricama i drugim. Neophodno je daizabrana reprezentacija moze da opise moguce resenje razmatranog problemai da se nad njom definisu genetski operatori (ukrstanje i mutacija). Takode,odabrana reprezentacija bitno utice na performanse algoritma. Pozeljno je dagenetski operatori budu definisani tako da se njima dobijaju samo jedinke ko-je su smislene u odabranoj reprezentaciji, tj. da se ne dobijaju jedinke kojene predstavljaju moguca resenja (na primer, nelegalni putevi u grafu), jer bione narusavale performanse algoritma. Medutim, nekada se koriste i takvi ope-ratori, ali se onda moraju definisati mehanizmi popravljanja jedinki, tako daodgovaraju mogucim resenjima.

Najcesce koriscena reprezentacija jedinki je u vidu nizova binarnih cifara(analogno nizovima bitova u digitalnim racunarima). Svaki deo hromozoma,tj. svaku cifru u takvoj reprezentaciji, zovemo gen. Dublja priroda binarnereprezentacije zavisi od konkretnog problema. Na primer, ako je duzina hro-mozoma ๐‘› binarnih cifara (tj. bitova) i ako je prostor mogucih resenja intervalrealnih brojeva [๐‘Ž, ๐‘], onda je potrebno uspostaviti vezu (koja, naravno, nijebijektivna) izmedu nizova ๐‘› binarnih cifara i realnih brojeva iz datog intervala.Tako ce binarna reprezentacija 000 . . . 0โŸ โž

๐‘›

odgovarati broju ๐‘Ž, a binarna reprezen-

tacija 111 . . . 1โŸ โž ๐‘›

broju ๐‘. Broju ๐‘ฅ sa binarnom reprezentacijom izmedu 000 . . . 0โŸ โž ๐‘›

Page 97: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

95 6. Genetski algoritmi

i 111 . . . 1โŸ โž ๐‘›

odgovara realni broj

๐‘Ž+๐‘ฅ

2๐‘› โˆ’ 1(๐‘โˆ’ ๐‘Ž)

S druge strane, realnom broju ๐‘ฅ iz intervala [๐‘Ž, ๐‘] pridruzujemo niz binarnihcifara koji predstavlja binarnu reprezentaciju broja[

๐‘ฅโˆ’ ๐‘Ž

๐‘โˆ’ ๐‘Ž(2๐‘› โˆ’ 1)

].

Primer 6.1. Pretpostavimo da naftnu platformu treba postaviti na pogod-nom mestu na putu izmedu tacaka ๐ด i ๐ต, koji je duzine 5000m. Lokacijaplatforme je pogodnija ukoliko na tom mestu postoje vece rezerve nafte.U biranju lokacije platforme moguce je meriti postojece rezerve nafte nabilo kojoj tacki izmedu ๐ด i ๐ต. Moguca resenja mogu se predstaviti nizovi-ma bitova duzine 10, tj. brojevima od 0 do 1023. Tacki ๐ด tada odgovarabroj 0 i reprezentacija 0000000000, a tacki ๐ต broj 1023 i reprezentacija1111111111. Tacki ๐ถ na rastojanju 1320m od tacke ๐ด odgovara vrednost1023 ยท (1320/5000) โ‰ˆ 270 i reprezentacija 0100001110, a tacki ๐ท na ra-stojanju 3200m od tacke ๐ด odgovara vrednost 1023 ยท (3200/5000) โ‰ˆ 655 ireprezentacija 1010001111. Za vrednost funkcije prilagodenosti jedne tackemoze se uzeti rezerva nafte izmerena u toj tacki.

0 100 200 300 400 500 600 700 800 900 1000270

1320

655

32001000 2000 3000 4000 5000

๐ด(0000000000) ๐ต(1111111111)๐ถ(0100001110) ๐ท(1010001111)

Page 98: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

6.2. Komponente genetskog algoritma 96

6.2.2 Funkcija prilagodenostiFunkcija prilagodenosti daje ocenu kvaliteta jedinke. Sto je vrednost funk-

cije prilagodenosti za neku jedinku veca, to ce biti veca i verovatnoca da seta jedinka koristi za generisanje sledece generacije. Ocekuje se da, kroz gene-racije, ukupna prilagodenost bude sve bolja i bolja. Pogodan izbor funkcijeprilagodenosti od izuzetne je vaznosti za efikasnost algoritma.

Funkcija prilagodenosti treba da je definisana za sve moguce jedinke i da serelativno brzo izracunava. Sem ovih, ne postoje nikakvi opsti uslovi koje funkci-ja prilagodenosti treba da zadovoljava (na primer, da je diferencijabilna), madaje algoritam cesto efikasniji za funkcije koje zadovoljavaju neke specificne uslo-ve. Cesto je pogodno da funkcija prilagodenosti bude nenegativna (na primer,zbog jednostavnijeg sprovodenja procesa selekcije, videti poglavlje 6.2.4).

Primer 6.2. Potrebno je odrediti maksimum funkcije ๐‘“(๐‘ฅ) na interva-lu [๐‘Ž, ๐‘]. Funkcija je definisana za sve elemente datog intervala, ali nijenuzno ni neprekidna, ni diferencijabilna. Genetski algoritam prirodno jeprimeniti tako da se za funkciju prilagodenosti koristi upravo funkcija ๐‘“ , ada se za reprezentaciju koristi binarna reprezentacija (na nacin opisan upoglavlju 6.2.1). Ukoliko je potrebno odrediti minimum funkcije ๐‘“(๐‘ฅ), ondabi za funkciju prilagodenosti mogla da se koristi funkcija โˆ’๐‘“ .

Primer 6.3. Zadatak je napraviti raspored casova za neki fakultet. Potreb-no je da raspored zadovoljava uslove koji se odnose na studentske grupe, nanastavnike, na raspolozive sale, itd. Genetski algoritam moguce je prime-niti tako da se za funkciju prilagodenosti koristi broj zadovoljenih uslova.Ukoliko su neki uslovi vazniji od drugih, u funkciji prilagodenosti oni moguda imaju vece tezinske faktore.

Funkcija cilja i funkcija prilagodenosti ne moraju da budu iste. Na primer,funkcija prilagodenosti moze jedinkama cija vrednost funkcije cilja prelazi nekugranicu pridruzivati vrednost 1, a ostalima vrednost 0. Tako se moze pojedno-staviti implementacija algoritma, ali se ovakve odluke moraju donositi opreznokako ne bi doslo do smanjenja raznolikosti populacije. U nekim problemima,funkcija prilagodenosti je samo jednostavno transformisana funkcija cilja: naprimer, ako se trazi maksimum neke fukcije ๐‘“ koja ima i pozitivne i negativnevrednosti, za funkciju prilagodenosti, kako bi bila nenegativna, moze se uzetifunkcija cilja uvecana za ๐ถ, gde je ๐ถ konstanta dovoljno velika da je taj zbiruvek nenegativan. Ponekad je tesko ili skoro nemoguce da funkcija bude iden-ticna funkciji cilja. Dodatno, funkcija cilja ne mora uvek biti eksplicitno zadatanekom matematickom reprezentacijom, vec samo implicitno ili nekakvim ma-nje formalnim opisom (videti, na primer, funkciju cilja iz poglavlja 6.4.3 โ€” onanije zadata eksplicitno, vec se njene vrednosti za konkretne instance dobijajusimulacijama).

Page 99: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

97 6. Genetski algoritmi

6.2.3 InicijalizacijaPopulaciju jedinki jedne generacije, ukoliko se koristi binarna reprezentacija,

cini skup nizova binarnih cifara. U toku resavanja jednog problema, obicno svegeneracije imaju isti broj jedinki. Taj broj, velicina populacije, je parametaralgoritma i on je obicno nekoliko desetina, stotina ili, eventualno, nekolikohiljada.

Proces inicijalizacije, tj. proces generisanja pocetne populacije, cesto je jed-nostavan. Najcesce se pocetna populacija generise slucajno (tako da pokri-va citav prostor pretrage). Ukoliko se koristi binarna reprezentacija, jedinkepocetne generacije mogu se generisati kao slucajni brojevi u intervalu [0, 2๐‘›โˆ’1],gde je ๐‘› duzina hromozoma u izabranoj reprezentaciji. Dodatno, u pocetnu po-pulaciju mogu biti dodate neke specificne jedinke (na primer, iz delova prostorapretrage za koje se veruje da sadrzi optimalna resenja) ili citava pocetna popu-lacija moze biti generisana koristeci neki drugi optimizacioni metod. U nekimproblemima moze da postoji ogranicenje nad potencijalnim resenjima, tj. jedin-kama 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 u populaciji, a po formi ne ispunjavaju uslove koje poten-cijalna resenja moraju da ispune. Takve jedinke obicno se koriguju unapreddefinisanim postupcima.

6.2.4 SelekcijaSelekcija obezbeduje cuvanje i prenosenje dobrih osobina populacije (tj. do-

brog genetskog materijala) na sledecu generaciju. U svakoj generaciji, deo je-dinki se izdvaja za reprodukciju i generisanje nove generacije. Izdvajanje jedinkikoje ce ucestovavati u reprodukciji zasniva se na funkciji prilagodenosti i, ge-neralno, prilagodenije jedinke imaju vecu verovatnocu da imaju potomstvo. Unajjednostavnijim pristupima biraju se jedinke sa najvecom vrednoscu funkcijeprilagodenosti. U drugim pristupima, jedinke se biraju slucajno, ali sa verovat-nocama koje su izvedene iz prilagodenosti, pri cemu je moguce da budu izabranei neke losije prilagodene jedinke (to moze da pomogne u odrzavanju genetskeraznolikosti i, dalje, u sprecavanju prerane konvergencije ka nekom lokalnomoptimumu). Najpopularnije strategije selekcije su ruletska i turnirska selekcija.

Ruletska selekcija U ruletskoj selekciji (eng. roulette wheel selection), ako je๐‘“(๐‘–) vrednost funkcije prilagodenosti za jedinku ๐‘–, a ๐‘ broj jedinki u populaciji,verovatnoca da ce jedinka ๐‘– biti izabrana da ucestvuje u reprodukciji jednakaje

๐‘๐‘– =๐‘“(๐‘–)โˆ‘๐‘๐‘—=1 ๐‘“(๐‘—)

Naziv ruletske selekcije potice od analogije koja se moze napraviti sa rule-tom. Ukoliko polja ruleta imaju sirine proporcionalne verovatnocama jedinki

Page 100: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

6.2. Komponente genetskog algoritma 98

populacije, onda je proces biranja ๐‘š jedinki za reprodukciju analogan odigra-vanju ๐‘š partija ruleta.

Primer 6.4. Pretpostavimo da populacija ima osam jedinki: ๐‘Ž, ๐‘, ๐‘, ๐‘‘, ๐‘’,๐‘“, ๐‘”, โ„Ž i da su njihove prilagodenosti redom 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 0.05 0.15 0.03 0.05 0.20 0.12 0.30 0.10

Naredna slika ilustruje, u formi ruleta, verovatnoce izbora koje su pri-druzene jedinkama.

0.05

0.15

0.030.05

0.20

0.12

0.30

0.10

๐‘Ž

๐‘

๐‘’

๐‘”

๐‘

๐‘‘

๐‘“ โ„Ž

U opisanom pristupu, pretpostavlja se da je funkcija prilagodenosti defini-sana tako da ima samo nenegativne vrednosti.

U ruletskoj selekciji moguce je da jedna jedinka vise puta bude izabrana daucestvuje u reprodukciji. Prevelik broj ponavljanja istih jedinki lose utice naperformanse algoritma.

Turnirska selekcija U turnirskoj selekciji (eng. tournament selection), je-dinke โ€žodigravaju turnireโ€œ u kojima vece sanse za pobedu (tj. za prelazak unarednu generaciju) imaju one sa boljom prilagodenoscu.

Za jedan turnir bira se slucajno ๐‘˜ jedinki iz populacije, gde je ๐‘˜ parametarprocesa turnirske selekcije. Nakon toga, u jednoj varijanti turnirske selekcije,pobednikom se smatra jedinka sa najvecom prilagodenoscu. U drugoj varijanti,

Page 101: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

99 6. Genetski algoritmi

izabranih ๐‘˜ jedinki sortira se po vrednosti funkcije prilagodenosti i ๐‘–-ta jedinkau tako sortiranom nizu bira se sa verovatnocom2 ๐‘(1โˆ’๐‘)๐‘–โˆ’1, gde je verovatnoca๐‘ drugi parametar procesa turnirske selekcije. Postoje i mnoge druge varijanteturnirske selekcije.

Ukoliko se u procesu selekcije koristi veca velicina turnira, onda nekvalitetnejedinke imaju manje sanse da budu izabrane. Selekcija sa velicinom turnira 1ekvivalentna je slucajnoj selekciji. U deterministickoj turnirskoj selekciji (๐‘ =1) bira se najbolja jedinka od onih koje ucestvuju u turniru.

Jedinkama koje su jednom izabrane moze se zabraniti ucestvovanje u daljimturnirima.

6.2.5 ReprodukcijaU procesu reprodukcije ucestvuju jedinke koje su izabrane u procesu selek-

cije: biraju se dve razlicite i ukrstaju sa zadatom verovatnocom (obicno izmedu0.6 i 0.9). Dve jedinke koje ucestvuju u ukrstanju (eng. crossover) nazivaju seroditelji. Rezultat ukrstanja je jedna nova jedinka ili dve nove jedinke kojenazivamo decom ili neposrednim potomcima. Ocekivano je da deca nasledujuosobine roditelja, pa otuda i nada da deca mogu da imaju prilagodenost kaosvoji roditelji ili bolju (ako su nekako objedinila razlicite osobine koje daju do-bru prilagodenost). Dobijeni potomci imaju sansu da udu u sledecu generaciju,u skladu sa politikom zamene generacija.

Postoji vise jednostavnih varijanti ukrstanja kada se koristi binarna repre-zentacija. U jednoj varijanti (visepoziciono ukrstanje) dovoljno je izabrati tackeukrstanja i prekombinovati nizove binarnih cifara โ€” jedno dete deo od jednetacke ukrstanja do sledece nasleduje od jednog roditelja, a naredni deo oddrugog. Ukrstanje moze koristiti proizvoljan broj tacaka ukrstanja (s tim daje manji od duzine hromozoma). Slike 6.2 i 6.3 ilustruju ukrstanje sa jednom(jednopoziciono ukrstanje) i sa dve tacke ukrstanja (dvopoziciono ukrstanje)za binarnu reprezentaciju. Tacke ukrstanja biraju se slucajno iz skupa svihmogucih tacaka ukrstanja.

roditelj 2

roditelj 1

dete 2

dete 1

tacka ukrstanja

Slika 6.2: Jednopoziciono ukrstanje.

2Zbir ovih verovatnoca za svaku konacnu vrednost ๐‘˜ manji je od 1. Zato one treba da seskaliraju tako da im zbir bude jednak 1.

Page 102: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

6.2. Komponente genetskog algoritma 100

roditelj 2

roditelj 1

dete 2

dete 1

tacke ukrstanja

Slika 6.3: Dvopoziciono ukrstanje.

Uniformno ukrstanje daje dva deteta. Kod ovog ukrstanja svaka binarna ci-fra prvog roditelja se sa verovatnocom ๐‘ prenosi na prvo dete i sa verovatnocom1โˆ’ ๐‘ na drugo dete (a inace dete nasleduje odgovarajucu binarnu cifru drugogroditelja). Verovatnoca ๐‘ je obicno jednaka 0.5, ali moze biti i drugacija.

6.2.6 Mutacija

Mutacija se primenjuje nakon procesa ukrstanja. To je operator koji saodredenom (obicno veoma malom) verovatnocom menja jedan deo jedinke naodredeni nacin. Na primer, u binarnoj reprezentaciji mutacija menja jedan ilivise slucajno odabranih gena. Od jedne jedinke dobija se jedna nova jedinka.Verovatnoca da ce neka binarna cifra neke jedinke populacije biti promenjenaje parametar algoritma i bira se eksperimentalno (a obicno je manja od 1%).

Uloga mutacija u genetskim algoritmima je da spreci da jedinke u populacijipostanu suvise slicne i da pomogne u obnavljanju izgubljenog genetskog mate-rijala. Na primer, ukoliko u jednoj generaciji sve jedinke imaju istu vrednostjednog gena, onda taj gen samo ukrstanjem nikada ne bi mogao da se promeni.Kontrolisano podsticanje genetske raznolikosti mutacijom cesto omogucava iz-begavanje lokalnih ekstremuma. Naime, cesto je dovoljno je da se jedna jedinkapriblizi nekom lokalnom ekstremumu, pa da za nekoliko generacija sve jedinkebudu u tom delu prostora pretrage. Mutacije omogucavaju pretrazivanje novihdelova prostora pretrage u nadi da ce se naici na bolji lokalni ili na globalniekstremum.

Ukoliko je verovatnoca mutacije velika, onda usmeravanje pretrage postajepreslabo i ona pocinje da lici na slucajnu pretragu. Ukoliko je verovatnocamutacije jednaka nuli, onda uopste nema mutacije i algoritam ce verovatnobrzo dospeti do nekog lokalnog ekstremuma.

6.2.7 Politika zamene generacije

Politika 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 algoritme stabilnog stanja (eng.steady state genetic algorithm).

Page 103: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

101 6. Genetski algoritmi

U slucaju generacijskih genetskih algoritama, nova generacija dobija se ta-ko sto se selekcijom bira dovoljno jedinki iz tekuce generacije da se napravicela nova generacija. Izabrane jedinke se ukrstaju i mutiraju i tako dobijenageneracija zamenjuje staru.

U slucaju genetskih algoritama stabilnog stanja, cim se izabere par roditelja,vrse se ukrstanje i mutacija i umetanje potomaka u populaciju u skladu sanekom politikom zamene. Postoje raznovrsne politike zamene a neke od njihsu:

โ€ข zamena najgorih, prema kojoj dobijeni potomci zamenjuju najmanje prila-godene jedinke u populaciji;

โ€ข nasumicna zamena, prema kojoj dobijeni potomci zamenjuju nasumicnoizabrane jedinke iz populacije;

โ€ข takmicenje roditelja i potomaka, prema kojoj dobijeni potomci zamenjujusvoje roditelje ukoliko su oba potomka bolja od oba roditelja;

โ€ข turnirska zamena, prema kojoj se jedinka koju dobijeni potomci zame-njuju bira istim mehanizmom kao kod turnirske selekcije, s tim sto seumesto najbolje prilagodenih jedinki biraju najgore.

Pored navedenih, za genetske algoritme stabilnog stanja, postoje i druge stra-tegije zamene.

Elitizam je (opciona) strategija u okviru zamene generacije kojom se ne-koliko najboljih jedinki (mozda samo jedna) u generaciji stite od eliminisanjaili bilo kakvih izmena i takve prenose u sledecu generaciju. Ovim se eliminiseopasnost da se neka posebno kvalitetna jedinka izgubi tokom evolucionog pro-cesa. Elitizam moze da se koristi i u generacijskim politikama i u politikamastabilnog stanja.

6.2.8 ZaustavljanjeGenetski algoritam se izvrsava, tj. evolucioni proces stvaranja novih gene-

racija se ponavlja, sve dok nije zadovoljen neki uslov zaustavljanja. Najcescese koriste sledeci uslovi zaustavljanja:

โ€ข pronadeno je resenje koje zadovoljava unapred zadati kriterijum;

โ€ข dostignut je zadati broj generacija;

โ€ข funkcija prilagodenosti izracunata je zadati broj puta;

โ€ข vrednost prilagodenosti najbolje jedinke se tokom odredenog broja gene-racija nije popravila;

โ€ข kombinacija nekoliko uslova.

Page 104: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

6.3. Svojstva genetskih algoritama 102

6.3 Svojstva genetskih algoritama

Genetski algoritmi imaju sirok domen i uspesno se primenjuju na velikombroju optimizacionih problema, cesto onih koji su NP-teski ili jos tezi. S dru-ge strane, jos uvek nema mnogo teorijskih rezultata koji govore o svojstvimagenetskih algoritama, o kvalitetu resenja koja daju, pa cak ni o tome zasto sugenetski algoritmi uspesni. U daljem tekstu, bice reci o nekim dobrim i losimstranama genetskih algoritama.

Ciljna funkcija. Ciljna funkcija moze biti potpuno proizvoljna i ne mora dazadovoljava nikakve uslove (na primer, da bude neprekidna ili diferenci-jabilna). Medutim, u primenama u vestackoj inteligenciji (na primer, ukretanju robota), ciljna funkcija cesto nije zadata eksplicitno vec impli-citno, kroz veci broj kriterijuma.

Reprezentacija jedinki, funkcija prilagodenosti i operatori. Pogodan iz-bor reprezentacije jedinki, funkcije prilagodenosti i operatora ukrstanjaobicno je kljucan za performanse algoritma (za brzinu dolazenja do resenjai za kvalitet resenja). Ipak, za mnoge optimizacione probleme nije la-ko konstruisati pogodnu funkciju prilagodenosti jer se obicno ne mozeunapred oceniti da li je nesto resenje ili nije. U prvoj fazi resavanja, re-prezentacija jedinki, funkcija prilagodenosti i operatori se prilagodavajuproblemu, a onda se vrsi i prilagodavanje parametara algoritma, kao idodatno fino podesavanje procesa resavanja.

Parametri algoritma. Adekvatan izbor operatora ukrstanja i parametaragenetskog algoritma (velicina populacije, verovatnoca ukrstanja, verovat-noca mutacije, itd) veoma je vazan za njegove performanse. S druge stra-ne, upravo velika sloboda u izboru parametara istovremeno je i pretnjada mogu da budu korisceni parametri koji daju lose performanse. Opti-mizovanje parametara genetskog algoritma je kompleksan problem koji senajcesce resava izvodenjem eksperimenata โ€“ probnih resavanja. Za izboradekvatnih parametara nekad se koriste sami genetski algoritmi. Parame-tri genetskog algoritma ne moraju biti fiksirani, vec mogu da se menjajui prilagodavaju tokom rada. Na primer, ukoliko su tekuce jedinke razno-like, onda se moze povecati verovatnoca ukrstanja, a smanjiti mutacija, aukoliko su slicne, onda se moze uraditi obratno, kako bi se povecale sanseza bekstvo jedinki iz lokalnog optimuma.

Domen genetskih algoritama. Genetski algoritmi primenljivi su na veomasirok skup problema. Ipak, za uspesno resavanje konkretnih problema po-trebno je napraviti mnogo dobrih izbora (na primer, za funkciju prilago-denosti i za parametre).

Kvalitet resenja. Genetski algoritam ne daje garanciju da je pronadeno re-senje globalni optimum (a ne, mozda, neki lokalni optimim). Medutim, iako nije nadeno resenje koje je globalni optimum, cesto je resenje koje je

Page 105: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

103 6. Genetski algoritmi

nadeno dovoljno dobro. Dodatno, kao rezultat algoritma moze se ponu-diti neki skup najboljih pronadenih jedinki, sto je nekad pogodno. Takvoponasanje je zadovoljavajuce, posebno u problemima za koje ne postojetehnike koje garantuju pronalazenje optimalnog resenja.

Zahtevani resursi. Genetski algoritmi se jednostavno implementiraju. Ipak,za najbolje rezultate cesto je potrebno implementaciju prilagoditi kon-kretnom problemu. Iako su algoritmi i implementacije obicno jednostavni,izvrsavanje genetskih algoritama cesto je veoma vremenski i memorijskizahtevno. Genetski algoritmi mogu se pogodno i efikasno paralelizovati.

6.4 Resavanje problema primenom genetskih algoritama

U ovom poglavlju bice data tri konkretna, jednostavna, ali ilustrativna pri-mera primene genetskih algoritama.

6.4.1 Resavanje problema rancaGenetski algoritmi cesto se koriste za resavanje teskih kombinatornih pro-

blema. Jedan takav problem je dobro poznati problem ranaca: dat je skuppredmeta, svaki sa nekom poznatom vrednoscu i poznatom masom; treba pro-naci podskup predmeta koje treba staviti u dati ranac, tako da njihova masane prede nosivost ranca, a da ukupna vrednost predmeta u rancu bude maksi-malna moguca. Ovde cemo razmatrati varijantu 0-1 problema ranca u kojoj sepredmeti mogu samo u celosti staviti u ranac (nije ih moguce deliti na delove).Ovaj problem je NP-tezak, sto znaci da sa povecanjem dimenzije problema eg-zaktni algoritmi brzo postaju prakticno neupotrebljivi, te je kao takav zanimljivza primenu genetskih algoritama.

Pretpostavlja se postojanje ๐‘› predmeta, vrednosti ๐‘ฃ1, . . . , ๐‘ฃ๐‘› i masa ๐‘š1,. . . , ๐‘š๐‘›. Na raspolaganju je ranac nosivosti ๐‘€ . Ako su ๐‘ฅ1, . . . , ๐‘ฅ๐‘› binarnepromenljive koje oznacavaju da li je odgovarajuci predmet stavljen u ranac iline i x binarni vektor cije su one koordinate, problem ranca moze se definisatikao sledeci problem maksimizacije:

maxxโˆˆ{0,1}๐‘›

๐‘›โˆ‘๐‘–=1

๐‘ฃ๐‘–๐‘ฅ๐‘–

tako da๐‘›โˆ‘

๐‘–=1

๐‘š๐‘–๐‘ฅ๐‘– โ‰ค๐‘€

U slucaju ovog problema, lako je definisati osnovne elemente genetskogalgoritma. Za reprezentaciju resenja, odnosno hromozom, prirodno se namecesam binarni vektor x. Za funkciju prilagodenosti moze se uzeti ukupna vrednostizabranih predmeta ukoliko njihova ukupna masa ne premasuje nosivost ranca,a 0 u suprotnom. Za selekciju cemo izabrati turnirsku, iako su moguci i drugaciji

Page 106: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

6.4. Resavanje problema primenom genetskih algoritama 104

izbori. Za ukrstanje je moguce izabrati bilo koji od prethodno opisanih nacina.U nastavku se pretpostavlja da se radi o jednopozicionom ukrstanju. Mutacijase takode vrsi na uobicajen nacin. Politika zamene populacije je generacijska.

Kako bismo demonstrirali upotrebljivost genetskog algoritma, izvrsili smosledeci eksperiment. Nosivost ranca je fiksirana na 500. Razmatrano je nekolikoinstanci problema ranca, koje su generisane nasumice: za svaku dimenziju pro-blema ๐‘›, vrednosti predmeta i njihove mase izabrane su nasumice iz intervala[0, 100].

Genetski algoritam konfigurisan je tako da je velicina populacije jednaka1000, verovatnoca ukrstanja 0.8, a da je verovatnoca mutacije 0.01. Jedinke suinicijalizovane tako sto su im svi bitovi nasumicno generisani sa verovatnocom0.5 za oba ishoda.

Optimalno resenje za svaku dimenziju pronadeno je jednostavnim egzakt-nim algoritmom (BFS sa bektrekingom), pri cemu je mereno i njegovo vremeizvrsavanja. Za genetski algoritam mereno je vreme izvrsavanja do pronalazenjaoptimalnog resenja, u cemu je genetski uspeo u svakom od eksperimenata. Pri-metimo da za razliku od egzaktnog algoritma, genetski algoritam ne pruzagarancije da ce pronaci optimalno resenje, niti moze da prepozna da je dosti-gao optimalno resenje (ako se to desi), te nema nacina da se zaustavi tacnou tom trenutku kao u ovom eksperimentu (kada je optimalno resenje bilo po-znato unapred). Ipak, u ovom eksperimentu mereno je vreme do pronalazenjaoptimalnog resenja, jer pruza neku informaciju o kvalitetu algoritma. Na slici6.4 (levo), prikazana su pomenuta vremena u zavisnosti od dimenzije proble-ma. Ocigledno, u slucaju instanci problema vece dimenzije, genetski algoritamizvrsava se drasticno brze nego egzaktni algoritam. Konkretno, za dimenziju50, egzaktni algoritam izvrsava se 3141 sekundu, a genetski algoritam nalazioptimalno resenje za svega 6 sekundi. Na istoj slici (desno) prikazan je i rastvrednosti najbolje pronadene jedinke kroz generacije za dimenziju 50. Grafikpokazuje da je vecina vremena protekla pre pojavljivanja prve jedinke koja za-dovoljava uslov nosivosti. Od njene pojave, optimizacija napreduje vrlo brzo.Ovo ponasanje lako je razumljivo. Za problem dimenzije 50, ocekivana masaizbora koji definise jedan nasumicno generisani hromozom je 1250 (u prose-ku, polovina svih predmeta bice stavljena u ranac, a prosek njihovih masa je50), sto je znacajno iznad ogranicenja od 500, tako da nije verovatno da ce upolaznoj populaciji biti jedinki koje zadovoljavaju ogranicenje ukupne mase.S druge strane, u slucaju problema dimenzije 20, ocekivana masa je 500, stoodgovara ogranicenju, pa je ocekivano da ce biti podjednako jedinki koje imajui manju i vecu masu. Promena inicijalizacije smanjenjem verovatnoce generi-sanja jedinica cini da optimizacija krene mnogo ranije i u slucaju problemadimenzije 50.

6.4.2 Vizuelizacija zivotnih navika i zdravstvenih stanja

Cak i uz duboku paznju, razumevanje obimnih podataka cesto je tesko izamorno. Zbog toga se traga za pogodnim, sazetim nacinima prezentovanja

Page 107: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

105 6. Genetski algoritmi

20 25 30 35 40 45 50100๐‘ 

101๐‘ 

102๐‘ 

103๐‘ 

104๐‘ 

1000 2000 3000 40000

500

1000

1500

Slika 6.4: Na levoj slici prikazano je vreme izvrsavanja egzaktnog algoritma(narandzasto) i genetskog algoritma (plavo) u odnosu na broj predmeta u pro-blemu ranca (broj predmeta prikazan je na ๐‘ฅ osi, a vreme je prikazano na ๐‘ฆ osi,vremenska skala je logaritamska). Na desnoj slici prikazana je vrednost najbo-ljeg resenja kroz generacije do dostizanja optimalnog resenja za dimenziju 50(redni broj generacije prikazan je na ๐‘ฅ osi, vrednost najboljeg resenja prikazanaje na ๐‘ฆ osi).

podataka. Na primer, matrica korelacije prikazuje zavisnost izmedu razlicitihvrednosti: svako polje matrice sadrzi vrednost koeficijenta korelacije izmedudve promenljive. Necemo ulaziti u detalje ovog pojma i zadrzacemo se samona njegovim osnovnim osobinama: koeficijent korelacije ima vrednosti izmedu-1 i 1. Vrednost 1 znaci da postoji savrsena pozitivna zavisnost, vrednost -1da postoji savrsena negativna zavisnost, a vrednost 0 da nema zavisnosti.3 Naprimer, prisustvo gripa i povisena temperatura su visoko pozitivno korelisani.Pobede u medusobnim susretima dva kosarkaska tima savrseno su negativnokorelisane (ako je jedan tim pobedio, onda drugi tim nije pobedio). Medu svimosobama rodenim 1980, visina i mesec rodenja verovatno nisu korelisani.

Tabela 6.1 prikazuje korelisanost nekih zivotnih navika i zdravstvenih stanja(podaci su stvarni i odnose se na veliki uzorak stanovnika Sjedninjenih Ame-rickih Drzava). Na primer, navika vezbanja pozitivno je korelisana sa navikomzdrave ishrane โ€“ koeficijent korelacije jednak je 0.52.

Navedena tabela sazeto prikazuje mnostvo podataka koji se odnose na velikibroj osoba. Ali moze se otici i korak dalje i, uz izvesna pojednostavljivanja,vizuelizovati njen sadrzaj. Tako ce sustina tabele i njene glavne poruke bitijos laksi za razumevanje. Sadrzaj matrice korelacije moze se vizuelizovati nasledeci nacin: svakoj promenljivoj bice dodeljena jedna tacka na krugu, takoda promenljive koje su jace pozitivno korelisane budu medusobno sto blize,a promenljive koje su jace negativno korelisane budu medusobno sto dalje. U

3Preciznije bi bilo govoriti o linearnoj zavisnosti.

Page 108: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

6.4. Resavanje problema primenom genetskih algoritama 106

Navika ili stanje 1 2 3 4 5 6 71 Fizicka aktivnost 1.00 -0.59 0.52 -0.68 -0.83 -0.80 -0.282 Pusenje 1.00 -0.57 0.68 0.60 0.65 0.533 Zdrava ishrana 1.00 -0.65 -0.28 -0.35 -0.234 Gojaznost 1.00 0.67 0.71 0.465 Dijabetes 1.00 0.87 0.486 Visok krvni pritisak 1.00 0.577 Povisen holesterol 1.00

Tabela 6.1: Tabela koreliranosti zivotnih navika i zdravstvenih stanja.

konkretnom slucaju, time se ilustruje koje zivotne navike obicno idu jedna sadrugom, a koje ne.

Precizirajmo sada nacin na koji to treba uraditi. Neka se razmatra ๐‘› zivotnihnavika i zdravstvenih stanja i neka su koeficijenti korelacije jednaki ๐‘ฅ๐‘–๐‘— , za1 โ‰ค ๐‘–, ๐‘— โ‰ค ๐‘›. Neka je ๐‘๐‘–, za 1 โ‰ค ๐‘– โ‰ค ๐‘› pozicija pridruzena promenljivoj ๐‘– nakrugu (to su nepoznate velicine koje trazimo) i neka su njene moguce vrednostiod 0โˆ˜ do 360โˆ˜. Neka je c vektor tih velicina. Smatracemo da je bliskost na kru-gu dve promenljive jednaka kosinusu ugla izmedu njih. Ukoliko su dve tackena krugu jednake, onda je njihova bliskost jednaka cos 0โˆ˜ = 1, a ukoliko sudijametralno suprotne onda je njihova bliskost jednaka cos 180โˆ˜ = โˆ’1. Rasponvrednosti te mere jednak je rasponu vrednosti koeficijenta korelacije, pa je nascilj da promenljive budu rasporedene na krugu tako da bliskost dve promen-ljive sto bolje odgovara njihovom koeficijentu korelacije. Preciznije, problem semoze definisati kao sledeci problem minimizacije:

mincโˆˆ[0,360]๐‘›

๐‘›โˆ‘๐‘–,๐‘—=1

(cos(๐‘๐‘– โˆ’ ๐‘๐‘—)โˆ’ ๐‘ฅ๐‘–๐‘—)2

Ovaj problem moze se aproksimativno resiti primenom genetskih algoritama.U konkretnom primeru, postoji 7 promenljivih. Svaka moze imati vrednosti od0โˆ˜ do 360โˆ˜, ali taj interval mozemo diskretizovati i zameniti intervalom celihbrojeva [0, 255] (pri cemu se 0โˆ˜ preslikava u 0, levi kraj intervala, a 360โˆ˜ u 255,desni kraj intervala). Dakle, svaku od trazenih vrednosti mozemo predstavitipomocu 8 bitova, pa ce hromozom imati ukupno 7ร— 8 = 56 bitova.

Genetski algoritam koristi populaciju velicine 100, verovatnoca ukrstanjaje 0.6, a verovatnoca mutacije je 0.01. Koriscena je ruletska selekcija i genera-cijska politika zamene populacije. Jedinke su inicijalizovane generisanjem po 7slucajnih brojeva u intervalu [0, 255]. Postupak optimizacije trajao je 10000 ite-racija, a najbolje resenje sa vrednoscu ciljne funkcije 1.23 dobijeno je u 5558. ite-raciji. Najbolja jedinka data je u tabeli 6.2 i ilustrovana je slikom 6.5. Kakobismo se intuitivno uverili da ovakva ilustracija odrazava informacije iz tabelekorelacija, uocimo da su sve pozitivno korelisane promenljive rasporedene pod

Page 109: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

107 6. Genetski algoritmi

Nepoznata ๐‘1 ๐‘2 ๐‘3 ๐‘4 ๐‘5 ๐‘6 ๐‘7

Vrednost iz intervala [0, 255] 187 61 217 78 46 38 21Ugao 262โˆ˜ 85โˆ˜ 305โˆ˜ 109โˆ˜ 64โˆ˜ 53โˆ˜ 29โˆ˜

Tabela 6.2: Jedinka koja predstavlja najbolju vizuelizaciju dobijenu genetskimalgoritmom. Za svaku promenljivu ๐‘๐‘–, data je njena vrednost u hromozomu urasponu od 0 do 255 i odgovarajuci ugao na krugu.

Fizicka aktivnost

Pusenje

Zdrava ishrana

Gojaznost Dijabetes

Visok krvni pritisak

Povisen holesterol

Slika 6.5: Vizuelizacija medusobnih zavisnosti zivotnih navika i zdravstvenihstanja.

uglom manjim od 90โˆ˜, a negativno korelisane pod uglom vecim od 90โˆ˜, osimzdrave ishrane i povisenog holesterola koji na slici deluju nekorelisano. Ipak,zanimljivo je da to i jeste najslabija korelacija u tabeli.

Primetimo da je u ovom problemu diskretizacijom smanjena sansa da algo-ritam nade optimalno resenje. To u ovom slucaju nije kriticno, jer je glavni ciljbio intuitivno razumljiva vizuelizacija datih podataka.

6.4.3 Obilazak table skakacemProblem obilaska table skakacem je problem pronalazenja putanje skakaca

na sahovskoj tabli ๐‘› ร— ๐‘›, takve da skakac poseti sto veci broj razlicitih poljaali nijedno polje vise puta.4 U daljem razmatranju, pretpostavicemo dimenzijetable 5ร—5 i da je skakac na pocetku u donjem levom uglu. Na slici 6.6, prikazanaje jedna putanja skakaca od osam poteza koja se ne moze nastaviti.

4Strะพzije postavljen problem je problem pronalazenja putanje skakaca na sahovskoj tablikojom skakac po jednom posecuje svako polje table.

Page 110: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

6.4. Resavanje problema primenom genetskih algoritama 108

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 6.6: Kretanje skakaca (levo) i jedna putanja skakaca od osam poteza kojase ne moze nastaviti (desno).

Za svako od 25 polja treba odrediti ono polje na koje je najbolje da skakacprede. U zavisnosti od polja na kojem je, skakac moze preci na dva do osamdrugih polja, pa se izbor narednog polja uvek moze kodirati pomocu tri binarnecifre, tj. pomocu tri bita. Skakac moze napraviti najvise 24 poteza. Stoga, zapotrebe primene genetskog algoritma, hromozom se moze sastojati iz 24ร— 3 =72 bita, pri cemu svaka trojka odgovara jednom polju table i oznacava jedanod osam mogucih poteza sa tog polja. Ocigledno, za neka polja neki od potezakoje hromozom moze predstaviti nece biti legalna, ali ih svejedno dopustamo.

Za funkciju cilja i funkciju prilagodenosti prirodno se namece broj skokovakoje skakac moze da izvede u skladu sa evaluiranim hromozomom, do skokavan table ili do skoka na vec poseceno polje.

Koristi se generacijski genetski algoritam โ€“ u svakom koraku bira se dovoljnojedinki da se generise cela nova populacija, a potom se vrse ukrstanja i mutacije.Selekcija je jednostavna ruletska, a ukrstanje sa jednom tackom ukrstanja.Koristi se populacija od 3000 jedinki, verovatnoca ukrstanja 0.8, verovatnocamutacije po hromozomu 0.05, a maksimalan broj iteracija je 1000.

Kako ponasanje genetskog algoritma moze znacajno zavisiti od polazne po-pulacije koja se slucajno generise, moze se desiti da se u razlicitim pokretanjimadobije razlicit kvalitet resenja. Kako bi se stekla bolja slika, resavanje je bilovrseno 10 puta. Potom su izracunati prosecan kvalitet najboljeg resenja i pro-secna generacija u kojoj je ono nadeno. Prosecna duzina pronadene putanjeje 19.1. Prosecan broj iteracija koje su bile potrebne za dostizanje najboljegpronadenog resenja je 326.7. Na slici 6.7, prikazana je zavisnost duzine predeneputanje za najbolju jedinku u odnosu na broj iteracija u jednom izvrsavanjugenetskog algoritma. Nije pronadena putanja koja obilazi sva polja. Razlog zato je sto je taj problem previse tezak za pravolinijski pristup koji je upotre-bljen. Za njegovo puno resavanje potrebne su dodatne, napredne tehnike. Ovajprimer ilustruje i kako genetski algoritmi u nekim problemima ne dovode nuznodo optimalnog resenja.

Page 111: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

109 6. Genetski algoritmi

50 100 150 200 250 3000

5

10

15

20

25

Slika 6.7: Zavisnost kvaliteta najbolje jedinke u populaciji od broja generaci-ja genetskog algoritma (redni broj generacije prikazan je na ๐‘ฅ osi, vrednostnajboljeg resenja prikazana je na ๐‘ฆ osi).

Page 112: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 113: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Deo II

Automatsko rasudivanje

Page 114: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 115: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 7

Resavanje problema koriscenjemautomatskog rasudivanja

Automatsko rasudivanje (ili automatsko rezonovanje), bavi se razvojem al-goritama i programa koji mogu da rasuduju automatski, koristeci metode ma-tematicko-deduktivnog zakljucivanja u nekim konkretnim logickim okvirima.Mnoge podoblasti vestacke inteligencije oslanjaju se na matematicku logiku ina automatsko rasudivanje. Ove tehnike koristimo kada je potrebno netrivijal-no rigorozno zakljucivanje. Tu spadaju i problemi u okviru kojih je potrebnodokazati da neko tvrdenje vazi za sve moguce objekte koji zadovoljavaju ne-ke preduslove, kao i problemi u okviru kojih je potrebno dokazati da postojeobjekti za koje neko tvrdenje vazi.

Logickih okvira ima mnogo i pojedinacno su pogodni za opisivanje razno-vrsnih teorija i prakticnih problema: iskazna logika, logika prvog reda, logikaviseg reda, fazi logika, modalna logika, temporalna logika, deonticke logike,itd. Zbog ogranicenosti prostora, mi cemo se u nastavku baviti samo iskaznomlogikom i logikom prvog reda.

Primer 7.1. Popularna igra โ€žsudokuโ€œ (za jednog igraca) igra se na sledecinacin. Data je tabela koja se sastoji od devet kolona i devet vrsta. Polja sudodatno grupisana u 9 kvadrata od po 9 polja. Na pocetku neka polja sadrzebrojeve i zadatak je popuniti citavu tabelu tako da vaze sledeci uslovi:

โ€ข Svako polje sadrzi neki broj izmedu 1 i 9;

โ€ข Svaka vrsta sadrzi sve brojeve izmedu 1 i 9;

โ€ข Svaka kolona sadrzi sve brojeve izmedu 1 i 9;

โ€ข Svaki mali kvadrat sadrzi sve brojeve izmedu 1 i 9.

113

Page 116: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

114

Iz navedenih uslova jednostavno sledi da ni u jednoj koloni, vrsti nitimalom kvadratu ne postoji broj koji se pojavljuje dva puta. Naredna slikaprikazuje jedan reseni sudoku (krupnijim ciframa prikazani su unapredzadati brojevi, sitnijim brojevi koji cine resenje).

2

7

4

5

3

8

3

5

1

9

4

6

4

6

8

3

1

5

7

7

9

4

3

1

4

3

7

1

6

8

5

1

6

2

8

7

55

8

9

4

2

7

1

2

1

3

7

4

9

7

4

5

9

2

6

1

6

9

8

7

2

9

2

8

2

5

6

9

2

5

3

9

4

6

3

6

8

5

3

1

8

Kako svako polje ima jednu od vrednosti iz konacnog skupa, ovaj zadatak uprincipu moze biti resen sistematicnim ispitivanjem svih mogucnosti. Ipak,broj svih mogucnosti toliko je veliki (maksimalno 981), da to nije resenjeprakticno primenljivo ni za racunar, a kamoli za coveka. Zato resavanjezahteva neko netrivijalno rasudivanje. U toku procesa resavanja, za nekapolja moze se jednoznacno odrediti vrednost, tj. moze se zakljuciti, doka-zati da nema drugih mogucnosti. Slicno, za neka polja broj mogucnostimoze da se svede samo na dve ili samo na tri, itd. Takvim zakljucivanjemprostor pretrage znacajno se smanjuje i uspesno resavanje postaje moguce.Sredstva automatskog rasudivanja mogu da se koriste za donosenje pojedi-nacnih odluka u fazi resavanja ili za resavanje celokupnog problema.

Primer 7.2. Pretpostavimo da je pitanje da li moze doci do greske uizvrsavanju narednog koda:int f(int y){

int i, x=1;for (int i=0; i<y; i++)

x += 2y;return 1000 / x;

}

Page 117: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

115 7. Resavanje problema koriscenjem automatskog rasudivanja

Jedina naredba u kojoj moze doci do greske u fazi izvrsavanja je nared-ba return, u okviru koje se racuna vrednost izraza primenom operacijedeljenja. Do greske moze doci ako je x jednako 0. Moze se dokazati dax ni u kom slucaju ne moze biti jednako 0 i to zahteva neko netrivijalnorasudivanje. Postoje algoritmi koji omogucavaju automatsko dokazivanjeovakvih tvrdenja.

Primeri primena automatskog rasudivanja. Tehnike automatskog rasu-divanja koriste se u razvoju matematickih teorija, u problemima rasporedivanja,u verifikaciji softvera i hardvera i drugde.

Raspored utakmica za spansku fudbalsku ligu, vise godina pravljen je ko-riscenjem namenskih programa za rasudivanje u iskaznoj logici. I mnogi drugiproblemi rasporedivanja resavani su na slican nacin.

Godine 1996. program Otter/EQP zasnovan na metodu rezolucije, nakonosam dana rada, automatski je dokazao hipotezu otvorenu oko pedeset godinaranije i do tada nedokazanu: svaka Robinsova algebra je Bulova. Tu vest pre-neli su tada gotovo svi svetski mediji kao vest o znacajnoj prekretnici โ€“ poljematematickih otkrica, rezervisano do tada samo za ljude, poceli su da osvajajui racunari.

Formalne metode su oblast racunarstva koja se bavi specifikovanjem, ra-zvojem i verifikacijom softverskih i hardverskih sistema. U okviru ovih metoda,analize zasnovane na matematickoj logici imaju zadatak da obezbede pouzda-nost sistema koji se razvijaju. Kljucnu ulogu u formalnim metodama imajulogika i automatsko rasudivanje. Sistem kontrola leta u Ujedinjenom Kraljev-stvu i linije pariskog metroa bez vozaca, na primer, razvijeni su i verifikovaniformalnim metodama.

Namenski programi za rasudivanje u specijalizovanim teorijama kao sto je,na primer, linearna aritmetika, zovu se smt resavaci i intenzivno se koristeu verifikaciji sofvera i hardvera โ€“ testiranju i dokazivanju njegove ispravnosti,ali i u sintezi programa. Jedan od najznacajnijih resavaca je z3, kompanijeMicrosoft.

Faze resavanja problema koriscenjem automatskog rasudivanja. Tokresavanja problema koriscenjem automatskog rasudivanja obicno obuhvata sle-dece osnovne faze:

โ€ข modelovanje problema;

โ€ข resavanje problema opisanog u matematickim terminima;

โ€ข interpretiranje i analiza resenja.

Navedene faze slicne su fazama resavanja u drugim podoblastima vestackeinteligencije. O specificnostima ce biti reci u daljem tekstu.

Page 118: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

7.1. Modelovanje problema 116

7.1 Modelovanje problema

Modelovanje problema predstavlja formulisanje problema precizno, u ma-tematickim terminima, koriscenjem pogodnog logickog okvira.

Potrebno je najpre utvrditi vrstu osnovnih objekata i nepoznatih velicinau problemu. Na primer, to mogu biti jednostavni iskazi (poznati i nepoznati),celi brojevi i slicno. Onda treba opisati uslove koji moraju da vaze za objekteopisane u problemu.

U nekom logickom okviru ne mogu da se izraze neki uslovi, pa u fazi mo-delovanja biramo i pogodni logicki okvir, na primer โ€“ iskaznu logiku (glava 8)ili logiku prvog reda (glava 9). Dalje, u okviru kao sto je logika prvog reda,mogu se opisati teorije pogodne za opisivanje raznovrsnih struktura i njihovihsvojstava. Postoje, na primer, teorije koje opisuju realne brojeve, teorije kojeopisuju cele brojeve fiksne sirine i tako dalje.

Primer 7.3. Sef protokola na jednom dvoru treba da organizuje bal zapredstavnike ambasada. Kralj trazi da na bal bude pozvan Peru ili da nebude pozvan Katar (Qatar). Kraljica zahteva da budu pozvani Katar iliRumunija (ili i Katar i Rumunija). Princ zahteva da ne bude pozvan Pe-ru ili da ne bude pozvana Rumunija (ili da ne budu pozvani ni Peru niRumunija). Da li je moguce organizovati bal tako da su zadovoljeni zahtevisvih clanova kraljevske porodice?

Navedeni problem potrebno je najpre modelovati na neki precizan nacin.Iskaz, tvrdnju โ€žna bal ce doci ambasador Peruaโ€œ oznacicemo sa ๐‘, iskazโ€žna bal ce doci ambasador Kataraโ€œ oznacicemo sa ๐‘ž, a iskaz โ€žna bal ce dociambasador Rumunijeโ€œ sa ๐‘Ÿ. Uslov koji postavlja kralj, onda glasi โ€žvazi ๐‘ili ne vazi ๐‘žโ€œ ili krace zapisano โ€ž๐‘ ili ne ๐‘žโ€œ. Uslov koji postavlja kraljicaglasi โ€ž๐‘ž ili ๐‘Ÿโ€œ. Uslov koji postavlja princ glasi โ€žne ๐‘ ili ne ๐‘Ÿโ€œ.

Sva navedena ogranicenja, svi ovi iskazi, zajedno cine novi, kompliko-vaniji iskaz koji mozemo da zapisemo na sledeci nacin:

โ€ž(๐‘ ili ne ๐‘ž) i (๐‘ž ili ๐‘Ÿ) i (ne ๐‘ ili ne ๐‘Ÿ)โ€œOvaj slozeni iskaz predstavlja precizan zapis problema. Potrebno je pro-

veriti da li polazni iskazi ๐‘, ๐‘ž i ๐‘Ÿ mogu da imaju konkretne vrednosti tacnoili netacno takve da slozeni iskaz ima vrednost tacno. Da bi se taj problemresio potrebno je precizno definisati i na koji nacin se slozenim iskazimapridruzuje vrednost tacno ili netacno ukoliko je poznato koje vrednosti supridruzene polaznim iskazima.

Primer 7.4. U primeru 7.1, osnovnim objektima mogu se smatrati celibrojevi koji cine vrednosti polja tabele. Na primer, promenljiva ๐‘ฅ12 mozeda oznacava vrednost polja (1, 2).

Osnovni iskazi mogu da budu iskazi koji opisuju sadrzaj pojedinacnih

Page 119: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

117 7. Resavanje problema koriscenjem automatskog rasudivanja

polja. Jedan takav iskaz je โ€žpolje (1,2) sadrzi vrednost 5โ€œ ili, krace, โ€ž๐‘ฅ12 =5โ€œ. Osnovni iskazi mogu da budu i โ€ž๐‘ฅ12 = 3โ€œ, โ€ž1 โ‰ค ๐‘ฅ12โ€œ, โ€ž๐‘ฅ12 โ‰ค 9โ€œ islicno. Na ovaj nacin, mozemo uvesti veliki broj osnovnih iskaza od kojihce u konacnom resenju neki biti tacni a neki netacni.

Problem opisuju uslovi (tj. ogranicenja) koji moraju da vaze nad osnov-nim iskazima, poput โ€žako vazi ๐‘ฅ23 = 4, onda vazi ๐‘ฅ24 = 4โ€œ. Kao polaznepretpostavke treba uvesti iskaze o zadatim poljima, na primer โ€ž๐‘ฅ19 = 2โ€œ.

Primer 7.5. U primeru 7.2, programske promenljive mozemo modelovaticelim brojevima ili brojevima fiksne sirine, takozvanim bitvektorima.

Neka programska promenljiva x bude modelovana promenljivom ๐‘ฅ kojaima celobrojne vrednosti. Precizije, kako se vrednosti programske promen-ljive x menjaju tokom izvrsavanja programa, njoj nece odgovarati jednapromenljiva ๐‘ฅ, nego niz promenljivih ๐‘ฅ0, ๐‘ฅ1, ๐‘ฅ2, ๐‘ฅ3, . . . Slicno, neka pro-gramskoj promenljivoj y odgovara promenljiva ๐‘ฆ koja ima celobrojne vred-nosti (y se ne menja tokom izvrsavanja programa, pa mozemo da je mo-delujemo jednom promenljivom). Vaze sledeci uslovi: โ€ž๐‘ฅ0 = 1โ€, โ€ž๐‘ฅ๐‘–+1 =๐‘ฅ๐‘– + 2๐‘ฆโ€, za svako ๐‘– โ‰ฅ 0. Ukoliko za modelovanje koristimo cele brojeve,a zelimo da rad datog programa modelujemo precizno, u navedenim uslo-vima trebalo bi dodati racunanje po modulu (koje odgovara izracunavanjuna racunaru).

Odsustvo greske u navedenom programu modelujemo uslovom โ€žizraz1000 / x je u datom programu uvek definisanโ€œ, tj. uslovom โ€žpromenlji-va x nikad nema vrednost 0โ€œ. U terminima uvedenih promenljivih ovajuslov glasi: โ€ž๐‘ฅ๐‘– = 0โ€œ ne vazi ni za jednu vrednost ๐‘– โ‰ฅ 0.

Primer 7.6. Date su sledece tvrdnje: โ€žsvaki covek je smrtanโ€œ, โ€žSokrat jecovekโ€œ. Pitanje je da li se iz ovih tvrdnji moze utvrditi da je tacno i โ€žSokratje smrtanโ€œ.

Tvrdnju da je ๐‘ฅ covek zapisimo kao โ€ž๐‘ฅ je covekโ€œ a tvrdnju da je ๐‘ฅ smr-tan zapisimo kao โ€ž๐‘ฅ je smrtanโ€œ. Tvrdnju โ€žsvaki covek je smrtanโ€œ zapisimoโ€žza svako ๐‘ฅ vazi: ako (๐‘ฅ je covek) onda (๐‘ฅ je smrtan)โ€œ. Zadato tvrdenjeonda (pomalo rogobatno u odnosu na svakodnevni jezik) glasi: โ€žako (zasvako ๐‘ฅ vazi: ako (๐‘ฅ je covek) onda (๐‘ฅ je smrtan)) i (Sokrat je covek)onda (Sokrat je smrtan)โ€œ.

Kljucna razlika u odnosu na primer 7.3 je to sto navedeni iskazi (pai slozene tvrdnje) zavise od nekog parametra ๐‘ฅ. To sugerise da ce logickiokvir potreban za resavanje ovog problema morati da bude izrazajniji odlogickog okvira za primer 7.3.

Page 120: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

7.2. Resavanje problema 118

7.2 Resavanje problema

U fazi resavanja, trazi se resenje matematicki formulisanog problema, koris-cenjem pogodnih metoda zakljucivanja. Metode za automatsko rasudivanje (zalogicki formulisane probleme) razvijaju se uspesno vec vise od sezdeset godina.

Ispitivanje da li, pod nekim uslovima, slozeni iskaz iz primera 7.3 moze bititacan, moze se sprovesti tako sto bi bile ispitane vrednosti slozenog iskaza zasve moguce vrednosti pridruzene iskazima ๐‘, ๐‘ž i ๐‘Ÿ. Tih iskaza ima tri, za svakipostoje dve mogucnosti โ€“ tacno i netacno, pa ukupno ima 23 mogucnosti kojetreba ispitati. Slicno, ako se za resavanje sudokua koristi prvi stil modelovanjaiz primera 7.4, onda postoji 281ยท9 mogucnosti koje treba ispitati. Medutim,umesto takvog naivnog pristupa, u praksi se koriste pristupi koji slicne analizesprovode daleko efikasnije. Na primer, ako smo pretpostavili da je ๐‘ tacno, ondaje citav uslov โ€ž๐‘ ili ne ๐‘žโ€œ tacan i nema potrebe da razmatramo mogucnosti za๐‘ž. Slicno, ako smo pretpostavili da je ๐‘ netacno, onda je i citav uslov โ€ž๐‘ i ๐‘žโ€œnetacan, nezavisno od vrednosti ๐‘ž.

U primeru 7.2, potrebno je dokazati da iz uslova โ€ž๐‘ฅ0 = 1โ€ i โ€ž๐‘ฅ๐‘–+1 = ๐‘ฅ๐‘–+2๐‘ฆโ€,za svako ๐‘– โ‰ฅ 0 sledi da โ€ž๐‘ฅ๐‘– = 0โ€œ ne vazi ni za jednu vrednost ๐‘– โ‰ฅ 0. Navede-no tvrdenje mozemo dokazati za bilo koju konkretnu vrednost ๐‘–, visestrukomprimenom tvrdenja โ€žako je ๐‘ฅ๐‘– neparan broj, onda je i ๐‘ฅ๐‘–+1 = ๐‘ฅ๐‘– + 2๐‘ฆ neparanbrojโ€œ. To se moze dokazati u teoriji koja opisuje cele brojeve ili cele brojevefiksne sirine (i sabiranje nad njima). Medutim, ukoliko zelimo da dokazemoda โ€ž๐‘ฅ๐‘– = 0โ€œ ne vazi ni za jednu vrednost ๐‘– โ‰ฅ 0, onda nas logicki okvir morada ukljucuje i princip matematicke indukcije. Postoje algoritmi za automatskorezonovanje i za takve logicke okvire.

Ispitivanje da li je tacno tvrdenje iz primera 7.6 moze se sprovesti na sledecinacin: posto za svako ๐‘ฅ vazi โ€žako (๐‘ฅ je covek) onda (๐‘ฅ je smrtan)โ€œ, vazi i kadaje ๐‘ฅ upravo Sokrat, tj. vazi โ€žako (Sokrat je covek) onda (Sokrat je smrtan)โ€œ.Odatle i iz โ€žSokrat je covekโ€œ, primenom pravila modus ponens (iz ๐ด i ๐ด โ‡’ ๐ตsledi ๐ต) sledi โ€žSokrat je smrtanโ€œ, pa vazi dato tvrdenje.

Navedeni procesi zakljucivanja opisani su neformalno i grubo, ali sluze kaomotivacija za stroga pravila zakljucivanja u iskaznoj logici i logici prvog reda injihovo automatizovanje.

7.3 Interpretiranje i analiza resenja

Dobijeno resenje matematicki formulisanog problema potrebno je formuli-sati u terminima pocetnog problema i potrebno je razumeti svojstva dobijenogresenja. Na primer, ako se resavanjem primera 7.3 dobije da ๐‘ mora biti tacno,to znaci da na bal treba da dode ambasador Perua.

Zakljucci koji se dobijaju procesom resavanja su nesumnjivi, oni ne mogubiti pogresni (sem ako je neispravan program koji sprovodi rezonovanje). Utom smislu nikakva analiza, niti evaluacija tacnosti dobijenih zakljucaka nijepotrebna. Medutim, cesto su potrebni dodatna analiza i objasenjenje dobije-nog resenja u zavisnosti od izabranog modelovanja. Na primer, dva razlicita

Page 121: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

119 7. Resavanje problema koriscenjem automatskog rasudivanja

nacina modelovanja opisana u primeru 7.5 nisu ekvivalentna: zaista, kod celihbrojeva nema prekoracenja, a kod celih brojeva fiksne sirine โ€“ ima. Rasudivanjeu domenu celih brojeva moze da bude efikasnije, ali je rasudivanje u domenubrojeva fiksne sirine preciznije i vernije opisuje programske promenljive. Dakle,ukoliko smo se odlucili za modelovanje koje omogucava efikasno automatskozakljucivanje, ali ne modeluje zadati problem verno, treba utvrditi u kojimslucajevima ima odstupanja u potrebnim zakljuccima. Dodatno, u fazi analizetreba utvrditi da li konkretna instanca problema potpada pod ta odstupanja,tj. da li rezultat faze resavanja moze da se neposredno odnosi na polazni zada-tak.

Pored navedenog, nekad je potrebno tumaciti i neuspeh faze resavanja. Akoneki sistem ne uspe da dokaze tvrdenje ๐‘†, u nekim slucajevima to moze daznaci da ๐‘† zaista nije tacno, a u nekim slucajevima moze da bude posledicacinjenice da korisceni sistem nije u stanju da dokaze sva moguca tacna tvrdenja(dakle, moguce je da je ๐‘† tacno, ali nas sistem to ne moze da dokaze). Nekadase ne moze razluciti (cak i ako poznajemo algoritam rasudivanja) izmedu tadva: nekada ako sistem prijavi da nije dokazao ๐‘†, to jos ne znaci da ๐‘† nijetacno.

Najvaznija opsta svojstva koje algoritmi za rasudivanje mogu da imaju susledeca:

Potpunost je svojstvo koje kaze da je algoritam u stanju da dokaze svakotvrdenje iz svog domena koje je tacno (pre ili kasnije, nekada je za topotrebno veoma dugo vreme).

Saglasnost je svojstvo koje kaze da ako algoritam tvrdi da je neko tvrdenje(iz njegovog domena) tacno, onda ono zaiste jeste tacno.

Potpunost je svakako pozeljna osobina, a saglasnost je neophodna (kako bizakljucci koje donose algoritmi bili nesumnjivi).

Moc nekih algoritama logickog rasudivanja ogranicena je samom prirodomproblema koji se razmatraju. Za problem odlucivanja, tj. za problem koji za-hteva odgovor โ€ždaโ€œ ili โ€žneโ€œ, kazemo da je odluciv ako postoji algoritam kojimoze da resi svaku njegovu instancu, a algoritam sa takvim svojstvom zovemoprocedura odlucivanja. Na primer, neki problem rasporedivanja je odluciv akopostoji algoritam koji za svaku instancu tog problema moze da utvrdi da litrazeni raspored postoji ili ne. I mnogi problemi rasudivanja su problemi od-lucivanja, pa se ove definicije odnose i na njih. Na primer, odluciv je problemsat (eng. satisfiability problem) โ€“ problem ispitivanja iskazne zadovoljivosti.Mnogi vazni problemi logickog rasudivanja nisu odlucivi, tj. oni su neodlucivi.Za takve probleme moramo biti spremni da necemo moci da dobijemo resenje zaproizvoljnu ulaznu instancu. Moguce je razviti samo algoritam koji primenomnekakvih heuristika moze da resi neke instance problema. Postoje i poluodluciviproblemi: oni nisu odlucivi ali za njih mogu da postoje algoritmi koji uspesnomogu da rese problem za sve instance za koje je odgovor โ€ždaโ€œ. Takav algoritamzovemo procedura poluodlucivanja. Za instance za koje je ispravan odgovor โ€žneโ€œ,

Page 122: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

7.3. Interpretiranje i analiza resenja 120

procedura poluodlucivanja vraca odgovor โ€žneโ€œ ili se ne zaustavlja. Poluodlucivje, na primer, halting problem โ€“ problem ispitivanja da li se dati program zau-stavlja za datu ulaznu vrednost. I mnogi vazni problemi logickog rasudivanja supoluodlucivi. Na primer, poluodluciv je problem ispitivanja valjanosti u logiciprvog reda.

Pored navedenih pitanja, za algoritme rasudivanja, kao i za skoro sve drugevrste algoritama vazna su pitanja vremenske i prostorne slozenosti (najgoreg iprosecnog slucaja).

Page 123: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 8

Automatsko rasudivanje uiskaznoj logici

U iskaznoj logici (eng. propositional logic) razmatraju se iskazi, tvrdnje,tvrdenja (na primer โ€žAna je zubarโ€œ). Iskazi mogu biti kombinovani u slozenijeiskaze logickim veznicima (na primer โ€žAna je zubar i Ana zivi u Beograduโ€œ).Iskazna logika ima svoju sintaksu (koja opisuje njen jezik) i svoju semantiku(koja definise istinitosnu vrednost iskaza). Centralni problemi u iskaznoj logicisu ispitivanje da li je data iskazna formula valjana (tautologija) tj. da li je tacnaza sve moguce istinitosne vrednosti elementarnih iskaza od kojih je sacinjena(na primer tvrdenje โ€žAna je zubar ili Ana nije zubarโ€œ je uvek tacno โ€“ i akoje tvrdenje โ€žAna je zubarโ€œ tacno i ako je netacno), kao i ispitivanje da li jedata iskazna formula zadovoljiva, tj. da li je tacna za neke istinitosne vrednostielementarnih iskaza od kojih je sacinjena (na primer tvrdenje โ€žAna je zubar iAna zivi u Beograduโ€œ moze, mada ne mora uvek biti tacno). Problem ispitivanjazadovoljivosti formule u knf obliku poznat je kao problem sat i on je centralnipredstavnik klase np-kompletnih problema. Postoji vise metoda za ispitivanjevaljanosti i zadovoljivosti.

U algoritmima za logicko zakljucivanje cesto je neki korak zakljucivanjamoguce sprovesti na vise razlicitih nacina, ali nije precizirano koji od tih nacinatreba da se izabere. Naime, bez obzira na nacinjeni izbor, izvedeni zakljucci suuvek ispravni. Medutim, neki putevi do istog zakljucka mogu da budu znatnokraci od drugih i tada je proces automatskog rasudivanja znatno efikasniji. Ovopokazuje da je i u logickom rasudivanju jedan od centralnih problema problemusmeravanja pretrage.

Iskazna logika dovoljno je izrazajna za opisivanje raznovrsnih problema,ukljucujuci mnoge prakticne probleme, kao sto su, na primer, problemi ras-poredivanja ili dizajniranje kombinatornih kola. Iskazna logika pogodna je po-sebno za opisivanje problema nad konacnim domenima. Naime, svaki objekatkoji moze imati konacan broj stanja moze se opisati konacnim brojem iskaznih

121

Page 124: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

122

promenljivih: ako je broj mogucih stanja 2๐‘›, onda je dovoljno koristiti ๐‘› iska-znih promenljivih. Svi brojevi zapisani u racunaru zapisani su bitovima, pa sei svi ti brojevi mogu modelovati iskaznim promenljivim: koliko bitova, tolikoiskaznih promenljivih. Sabiranje celih brojeva (kao i mnoge druge operacije)onda moze da se opise u terminima iskazne logike. Slicno vazi i za mnoge drugevrste podataka i mnoge vrste problema. Sa tako velikom izrazajnom snagom ivelikim brojem raznolikih primena, iskazna logika i resavaci za iskaznu logikucesto se smatraju โ€žsvajcarskim nozicemโ€œ savremenog racunarstva, a posebno โ€“vestacke inteligencije.

Primer 8.1. Razmotrimo, za ilustraciju resavanja primenom logike, pro-blem โ€ž๐‘› damaโ€, opisan ukratko u primeru 3.4 i detaljnije razmatran u po-glavlju 8.4.3. Cilj je rasporediti ๐‘› dama na sahovskoj tabli dimenzija ๐‘›ร—๐‘›tako da se nikoje dve dame ne napadaju. Na narednoj slici prikazano jekretanje dame i jedno resenje problema za ๐‘› = 8.

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

Jednostavnosti radi, u nastavku cemo razmatrati problem dimenzije 3, zakoji je jedno neispravno rasporedivanje tri dame (rasporedivanje koje necini resenje) prikazano na narednoj slici.

3 ZQZ2 QZ01 Z0L

a b c

Uslovi koje ispravno 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.

Page 125: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

123 8. Automatsko rasudivanje u iskaznoj logici

โ€ข na jednom od polja ๐‘1, ๐‘2, ๐‘3 nalazi se dama.

โ€ข ako je neka dama na polju ๐‘Ž1, onda na polju ๐‘Ž2 ne moze da budedama.

โ€ข ako je neka dama na polju ๐‘Ž1, onda na polju ๐‘Ž3 ne moze da budedama.

โ€ข ako je neka dama na polju ๐‘Ž2, onda na polju ๐‘Ž1 ne moze da budedama.

โ€ข ako je neka dama na polju ๐‘Ž2, onda na polju ๐‘Ž3 ne moze da budedama.

โ€ข ako je neka dama na polju ๐‘Ž3, onda na polju ๐‘Ž1 ne moze da budedama.

โ€ข ako je neka dama na polju ๐‘Ž3, onda na polju ๐‘Ž2 ne moze da budedama.

โ€ข . . .

โ€ข ako je neka dama na polju ๐‘Ž2, onda na polju ๐‘3 ne moze da budedama.

โ€ข ako je neka dama na polju ๐‘3, onda na polju ๐‘Ž2 ne moze da budedama.

โ€ข ako je neka dama na polju ๐‘1, onda na polju ๐‘2 ne moze da budedama.

โ€ข ako je neka dama na polju ๐‘2, onda na polju ๐‘1 ne moze da budedama.

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โ€œ. Ondanavedeni 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.

Page 126: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

124

โ€ข 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.

โ€ข ako je ๐‘๐‘2, onda nije ๐‘๐‘1.

Ovim su, od jednostavnih iskaza, konstruisani slozeniji. Skup svih na-vedenih slozenih uslova cini jos slozeniji iskaz โ€“ iskaz koji sadrzi sve uslovezadatka. Sintaksa iskazne logike govori o pravilima po kojim se od elemen-tarnih iskaza mogu konstruisati slozeniji, to jest, o pravilima za konstrui-sanje ispravnih iskaznih formula.

Svaki od jednostavnih iskaza kao sto je ๐‘๐‘Ž1 moze biti tacan ili netacan.U zavisnosti od toga, moze se odrediti istinitosna vrednost slozenijih iskaza.Na primer, ako je ๐‘๐‘Ž1 tacno, a ๐‘๐‘Ž2 netacno, onda je tacno i โ€žako je ๐‘๐‘Ž1,onda nije ๐‘๐‘Ž2โ€œ. Semantika iskazne logike govori o tome kako se slozenimiskazima (to jest, iskaznim formulama) odreduje istinitosna vrednost naosnovu istinitosnih vrednosti elementarnih iskaza. Posto je u fazi resavanjaproblema vrednost iskaza kao sto je ๐‘๐‘Ž1 nepoznata i posto on moze bititacan ili netacan, ๐‘๐‘Ž1 cemo zvati i iskazna promenljiva.

Samo resavanje ovako modelovanog problema โ€ž๐‘› damaโ€ moze se svestina resavanje sledeceg problema: odrediti istinitosne vrednosti elementarnihiskaza ๐‘๐‘Ž1, ๐‘๐‘Ž2, . . . , ๐‘๐‘3, takve da svi navedeni uslovi budu ispunjeni (tojest, da svi odgovarajuci iskazi imaju istinitosnu vrednost tacno). Mozese postaviti pitanje da li takve istinitosne vrednosti uopste postoje, tj. dali pocetni problem uopste ima resenja (a ako ima โ€“ mogu se traziti svaresenja). Pitanje da li uopste postoji resenje moze se resiti razmatranjemsvih mogucih varijacija vrednosti za ๐‘๐‘Ž1, ๐‘๐‘Ž2, . . . , ๐‘๐‘3. Takvih varijacija ima29 = 512 i razmatranje svih je naporno i neprakticno. Postoje i metodekoje 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 sedobiti razlicitim pristupima, a mogu se koristiti za ubrzavanje traganja zaresenjem.

Page 127: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

125 8. Automatsko rasudivanje u iskaznoj logici

8.1 Sintaksa i semantika iskazne logike

Sintaksa iskazne logike govori o njenom jeziku โ€” o skupu njenih (ispravnoformiranih) formula i ne razmatra njihovo znacenje i njihove (moguce) isti-nitosne vrednosti. Znacenje iskaznih formula, na osnovu izabranog znacenjaelementarnih iskaza od kojih je sacinjena, uvodi semantika iskazne logike.

8.1.1 Sintaksa iskazne logike

Skup iskaznih formula obicno se definise za fiksiran, prebrojiv skup iska-znih promenljivih (iskaznih varijabli) ili iskaznih slova ๐‘ƒ , dve logicke konstanteโ€” โŠค (te) i โŠฅ (nete), kao i konacan skup osnovnih logickih (tj. bulovskih) ve-znika: unarnog โ€” negacija i binarnih โ€” konjunkcija, disjunkcija, implikacija,ekvivalencija.

Definicija 8.1 (Skup iskaznih formula).

โ€ข Iskazne promenljive (elementi skupa ๐‘ƒ ) i logicke konstante su iskazneformule;

โ€ข Ako su ๐ด i ๐ต iskazne formule, onda su iskazne formule i objektidobijeni kombinovanjem ovih formula logickim veznicima;

โ€ข Iskazne formule mogu biti dobijene samo na navedene nacine.

U datoj definiciji (u duhu apstraktne sintakse) ne govori se o tome kako sezapisuju ili citaju iskazne formule, vec samo o tome kako se grade na apstraktannacin (mozemo da ih zamislimo u vidu stabla). Nacin na koji se logicki veznicii iskazne formule zapisuju moze se zadati konkretnom sintaksom โ€“ u vidu nizasimbola. Uobicajeno je da se negacija zapisuje kao ยฌ, konjunkcija kao โˆง, dis-junkcija kao โˆจ, implikacija kaoโ‡’ i ekvivalencija kaoโ‡”. U takvom konkretnomzapisu โ€” zapisu u vidu konkretnih nizova simbola, ako su ๐ด i ๐ต iskazne for-mule, onda su iskazne formule i (ยฌ๐ด), (๐ด โˆง๐ต), (๐ด โˆจ๐ต), (๐ดโ‡’ ๐ต) i (๐ดโ‡” ๐ต).Na primer, zapis (๐ด โˆง โŠค) citamo โ€ž๐ด i teโ€œ. U ovakvom zapisu, neophodno jekoristiti zagrade kako bi se izbegla visesmislenost. Da bi se izbeglo koriscenjevelikog broja zagrada, obicno se izostavljaju spoljne zagrade i podrazumeva sesledeci prioritet veznika (od viseg ka nizem): ยฌ , โˆง , โˆจ , โ‡’ , โ‡” .

Elemente skupa ๐‘ƒ i logicke konstante zovemo atomickim iskaznim formu-lama. Literal je iskazna formula koja je ili atomicka iskazna formula ili negacijaatomicke iskazne formule.

Ako su dve iskazne formule ๐ด i ๐ต identicne (tj. ako su, zapisane u konkretnojsintaksi, jednake kao nizovi simbola), onda to zapisujemo ๐ด = ๐ต, a inace pisemo๐ด = ๐ต.

Elementi skupa ๐‘ƒ obicno se oznacavaju malim latinicnim slovima (even-tualno sa indeksima). Iskazne formule obicno se oznacavaju velikim latinicnim

Page 128: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.1. Sintaksa i semantika iskazne logike 126

slovima (eventualno sa indeksima). Skupovi iskaznih formula obicno se ozna-cavaju velikim slovima grckog alfabeta (eventualno sa indeksima).

Primer 8.2. Uslovi iz primera 8.1 mogli bi da se zapisu kao iskazneformule nad skupom iskaznih promenljivih {๐‘๐‘Ž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 ipreostale 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 racu-narskom programu u vidu stabla), onda svakom podstablu stabla koje odgovaranekoj iskaznoj formuli takode odgovara iskazna formula. Sve te formule zovemopotformulama (eng. subformulae) formule koja odgovara korenu stabla. Skuppotformula jedne formule moze se, preciznije, definisati na sledeci nacin.

Definicija 8.2 (Skup potformula). Skup potformula formule ๐ด definisanje na sledeci nacin:

โ€ข svaka iskazna formula ๐ด je potformula sama sebi;

โ€ข ako je ๐ด jednako ยฌ๐ต, onda je svaka potformula formule ๐ต istovreme-no i potformula formule ๐ด. Ako je ๐ด jednako ๐ต โˆง๐ถ, ๐ต โˆจ๐ถ, ๐ต โ‡’ ๐ถili ๐ต โ‡” ๐ถ, onda je svaka potformula formule ๐ต i svaka potformulaformule ๐ถ istovremeno i potformula formule ๐ด;

โ€ข Potformule formule ๐ด su samo formule opisane prethodnim stavka-ma.

Primer 8.3. Skup potformula formule (๐‘โ‡’ ๐‘ž) โˆจ ๐‘Ÿ je {๐‘, ๐‘ž, ๐‘Ÿ, ๐‘โ‡’ ๐‘ž, (๐‘โ‡’๐‘ž) โˆจ ๐‘Ÿ}.

Page 129: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

127 8. Automatsko rasudivanje u iskaznoj logici

Na razlicite nacine moze se definisati slozenost iskaznih formula. Na primer,slozenost moze biti definisana kao dubina stabla koje odgovara formuli ili kaobroj logickih vezika koje formula sadrzi.

Cesto je potrebno jedan deo iskazne formule zameniti nekom drugom iska-znom formulom. Pojam zamene precizno uvodi naredna definicija.

Definicija 8.3 (Zamena). Rezultat zamene (supstitucije) svih pojavljiva-nja iskazne formule ๐ถ u iskaznoj formuli ๐ด iskaznom formulom ๐ท ozna-cavamo 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 iskaznaformula, 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 jeformula ๐ด[๐ถ โ†ฆโ†’ ๐ท] jednaka (redom) (๐ต1[๐ถ โ†ฆโ†’ ๐ท]) โˆง (๐ต2[๐ถ โ†ฆโ†’ ๐ท]),(๐ต1[๐ถ โ†ฆโ†’ ๐ท]) โˆจ (๐ต2[๐ถ โ†ฆโ†’ ๐ท]), (๐ต1[๐ถ โ†ฆโ†’ ๐ท]) โ‡’ (๐ต2[๐ถ โ†ฆโ†’ ๐ท]) ili(๐ต1[๐ถ โ†ฆโ†’ ๐ท])โ‡” (๐ต2[๐ถ โ†ฆโ†’ ๐ท]).

Primer 8.4. ((๐‘โ‡’ ๐‘ž) โˆจ ๐‘Ÿ)[๐‘Ÿ โ†ฆโ†’ ๐‘] = (๐‘โ‡’ ๐‘ž) โˆจ ๐‘((๐‘โ‡’ ๐‘ž) โˆจ ๐‘Ÿ)[๐‘โ‡’ ๐‘ž โ†ฆโ†’ ยฌ๐‘ โˆจ ๐‘ž] = (ยฌ๐‘ โˆจ ๐‘ž) โˆจ ๐‘Ÿ(๐‘ โˆง (๐‘ž โ‡’ ๐‘Ÿ)) [๐‘ž โ†ฆโ†’ ๐‘Ÿ] = ๐‘ โˆง (๐‘Ÿ โ‡’ ๐‘Ÿ)((๐‘โ‡’ ๐‘ž) โˆจ ๐‘Ÿ)[๐‘  โ†ฆโ†’ ๐‘] = ((๐‘โ‡’ ๐‘ž) โˆจ ๐‘Ÿ)((๐‘ โˆจ ๐‘ž) โˆง (๐‘ โˆจ ๐‘Ÿ))[๐‘ โ†ฆโ†’ ๐‘ ] = ((๐‘  โˆจ ๐‘ž) โˆง (๐‘  โˆจ ๐‘Ÿ))

Ako iskazne formule predstavimo u racunarskom programu u vidu stabla,onda opisanu zamenu mozemo opisati rekurzivnom funkcijom (ciji su baznislucajevi opisani prvim dvema stavkama definicije). Ta funkcija zamenjuje jed-no podstablo formule (zapravo โ€” sva podstabla koja odgovaraju istoj formuli)nekim drugim zadatim stablom.

8.1.2 Semantika iskazne logikeSemantika iskazne logike govori o istinitosnim vrednostima iskaznih formu-

la. Istinitosna vrednost iskazne formule moze biti 0 ili 1 (intuitivno โ€“ netacno ilitacno).1 Istinitosne vrednosti formula definisu se u skladu sa uobicajenim, sva-

1Za istinitosne vrednosti namerno se ne uzimaju โŠฅ i โŠค, vec 0 i 1, da bi se jasno razlikovalisvet sintakse i svet semantike iskaznih formula.

Page 130: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.1. Sintaksa i semantika iskazne logike 128

kodnevnim rasudivanjem. Zbog toga, definicija semantike iskazne logike mozeda deluje i suvisno, ali ona je potrebna da bi baratanje formulama moglo da seopise na precizan nacin (pogodan, na primer, za racunarsku obradu).

Formula โŠฅ ima istinitosnu vrednost 0, a formula โŠค ima istinitosnu vrednost1. Istinitosna vrednost slozenih (neatomickih) formula zavisi samo od istinito-sne vrednosti njenih potformula. Dakle, u krajnjoj instanci, istinitosna vrednostformule zavisi (samo) od istinitosnih vrednosti iskaznih promenljivih koje seu njoj pojavljuju. Funkcije koje pridruzuju istinitosnu vrednost promenljivim(tj. funkcije ๐‘ฃ iz ๐‘ƒ u {0, 1}) zovemo valuacijama (eng. valuation, assignment).Interpretacija (eng. interpretation) je prosirenje valuacije: svaka valuacija ๐‘ฃodreduje jednu funkciju ๐ผ๐‘ฃ koju zovemo interpretacijom za valuaciju ๐‘ฃ i kojapridruzuje (jedinstvene) istinitosne vrednosti formulama (tj. preslikava skupiskaznih formula u skup {0, 1}).

Definicija 8.4 (Interpretacija). Interpretacija ๐ผ๐‘ฃ za valuaciju ๐‘ฃ definisese 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 inter-pretaciji ๐ผ๐‘ฃ (ili u valuaciji ๐‘ฃ). Ako za valuaciju ๐‘ฃ vazi ๐ผ๐‘ฃ(๐ด) = 1, onda se zaformulu ๐ด kaze da je tacna u interpretaciji ๐ผ๐‘ฃ, a inace da je netacna u inter-pretaciji ๐ผ๐‘ฃ.

Primer 8.5. Tvrdenje โ€žAna je zubar i Ana zivi u Beograduโ€œ moze da seopise kao konjunkcija ๐‘ โˆง ๐‘ž, gde iskazna promenljiva ๐‘ odgovara elemen-tarnom iskazu โ€žAna je zubarโ€œ, a iskazna promenljiva ๐‘ž odgovara elemen-

Page 131: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

129 8. Automatsko rasudivanje u iskaznoj logici

tarnom iskazu โ€žAna zivi u Beograduโ€œ. Moze biti da je Ana zubar i mozebiti da Ana nije zubar, tj. istinitosna vrednost promenljive ๐‘ moze biti 0ili 1. Ukoliko je ๐‘ฃ(๐‘) = 0, tj. ukoliko Ana nije zubar, na osnovu definicijesemantike, za valuaciju ๐‘ฃ vazi ๐ผ๐‘ฃ(๐‘) = 0 i, dalje, ๐ผ๐‘ฃ(๐‘โˆง ๐‘ž) = 0, tj. tvrdenjeโ€žAna je zubar i Ana zivi u Beograduโ€œ nije tacno (bez obzira na istinitosnuvrednost iskaza โ€žAna zivi u Beograduโ€œ).

Primer 8.6. U primeru 8.2 (koji je nastavak primera 8.1), ako je ๐‘ฃ(๐‘๐‘Ž1) =1 i ๐‘ฃ(๐‘๐‘Ž2) = 1, onda vazi ๐ผ๐‘ฃ(๐‘๐‘Ž1 โ‡’ ยฌ๐‘๐‘Ž2) = 0. Ovo govori da ni u jednomresenju ne mogu dame da budu i na polju ๐‘Ž1 i na polju ๐‘Ž2.

Definicija 8.5 (Zadovoljivost, valjanost, kontradiktornost, porecivost).Iskazna formula ๐ด je:

โ€ข zadovoljiva (eng. satisfiable), ako postoji valuacija ๐‘ฃ u kojoj je ๐ดtacna (i tada se kaze da je ๐‘ฃ model za ๐ด);

โ€ข valjana (eng. valid) ili tautologija (eng. tautology), ako je svakavaluacija ๐‘ฃ model za ๐ด i to zapisujemo |= ๐ด;

โ€ข nezadovoljiva (eng. unsatisfiable) ili kontradikcija (eng. contradic-tory), ako ne postoji valuacija u kojoj je tacna;

โ€ข poreciva (eng. falsifiable), ako postoji valuacija u kojoj nije tacna.

Primer 8.7. Tvrdenje โ€žAna je zubar ili Ana nije zubarโ€œ moze da se opisekao disjunkcija ๐‘โˆจยฌ๐‘, gde iskazna promenljiva ๐‘ odgovara elementarnomiskazu โ€žAna je zubarโ€œ. Moze biti da je Ana zubar i moze biti da Ana nijezubar, tj. istinitosna vrednost promenljive ๐‘ moze biti 0 ili 1. To su dvemoguce relevantne valuacije za dato tvrdenje. Ukoliko je ๐‘ฃ(๐‘) = 1, tj. uko-liko Ana jeste zubar, na osnovu definicije semantike vazi ๐ผ๐‘ฃ(๐‘ โˆจ ยฌ๐‘) = 1,a ukoliko je ๐‘ฃ(๐‘) = 0, tj. ukoliko Ana nije zubar, na osnovu definicije se-mantike vazi ๐ผ๐‘ฃ(ยฌ๐‘) = 1 i, dalje, ๐ผ๐‘ฃ(๐‘ โˆจ ยฌ๐‘) = 1. Dakle, formula ๐‘ โˆจ ยฌ๐‘,tj. tvrdenje โ€žAna je zubar ili Ana nije zubarโ€œ je tautologija.

Primer 8.8. Iskazne formule ๐‘โ‡’ ๐‘ i ๐‘โˆจยฌ๐‘ su tautologije, iskazna formula๐‘โ‡’ ๐‘ž je zadovoljiva i poreciva, a iskazna formula ๐‘โˆงยฌ๐‘ je kontradikcija.

Page 132: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.2. Logicke posledice i logicki ekvivalentne formule 130

Primer 8.9. Ako su iskazne formule ๐ด i ๐ดโ‡’ ๐ต tautologije, onda je i ๐ตtautologija. Zaista, pretpostavimo da su ๐ด i ๐ดโ‡’ ๐ต tautologije i da postojivaluacija ๐‘ฃ takva da u interpretaciji ๐ผ๐‘ฃ formula ๐ต nije tacna. Formula ๐ดje tautologija, pa je tacna i u interpretaciji ๐ผ๐‘ฃ. Kako je u interpretaciji ๐ผ๐‘ฃformula ๐ด tacna, a formula ๐ต netacna, formula ๐ดโ‡’ ๐ต u njoj nije tacna,sto protivreci pretpostavci da je ๐ด โ‡’ ๐ต tautologija. Dakle, formula ๐ต jetacna za svaku valuaciju, pa je ona tautologija.

Definicija 8.6 (Zadovoljivost i kontradiktornost skupa formula). Skupiskaznih formula ฮ“ je

โ€ข zadovoljiv, ako postoji valuacija ๐‘ฃ u kojoj je svaka formula iz ฮ“tacna. Za takvu valuaciju ๐‘ฃ kaze se da je model za ฮ“.

โ€ข nezadovoljiv ili kontradiktoran, ako ne postoji valuacija u kojoj jesvaka formula iz ฮ“ tacna.

Primer 8.10. Skup iskaznih formula {๐‘โ‡’ ๐‘ž, ๐‘,ยฌ๐‘ž} je kontradiktoran (alinijedan njegov pravi podskup nije kontradiktoran).

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

Teorema 8.1. Valuacija ๐‘ฃ je model skupa formula {๐ด1, . . . , ๐ด๐‘›} ako isamo ako je ๐‘ฃ model formule ๐ด1 โˆง . . . โˆง๐ด๐‘›.

8.2 Logicke posledice i logicki ekvivalentne formule

Cesto je veoma vazno pitanje da li je neki iskaz posledica nekih drugihiskaza. Ovo pitanje moze se opisati u terminima pojma logicke posledice.

Definicija 8.7 (Logicka posledica i logicka ekvivalencija). Ako je svakimodel za skup iskaznih formula ฮ“ istovremeno i model za iskaznu formulu๐ด, onda se kaze da je ๐ด logicka posledica (eng. logical consequence) skupaฮ“ i pise se ฮ“ |= ๐ด.

Ako je svaki model iskazne formule ๐ด model i iskazne formule ๐ต iobratno (tj. ako vazi {๐ด} |= ๐ต i {๐ต} |= ๐ด), onda se kaze se da su formule๐ด i ๐ต logicki ekvivalentne (eng. logically equivalent) i pise se ๐ด โ‰ก ๐ต.

Page 133: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

131 8. Automatsko rasudivanje u iskaznoj logici

Primer 8.11. Tvrdenje โ€žBoban zivi u Krusevcuโ€œ je logicka posledica skupatvrdenja { โ€žBoban zivi u Beogradu ili Boban zivi u Krusevcuโ€œ, โ€žBoban nezivi u Beograduโ€ }. Zaista, ako je valuacija ๐‘ฃ proizvoljan model formulaโ€žBoban zivi u Beogradu ili Boban zivi u Krusevcuโ€œ i โ€žBoban ne zivi uBeograduโ€, na osnovu definicije semantike, u interpretaciji ๐ผ๐‘ฃ mora da jetacan iskaz โ€žBoban zivi u Beograduโ€œ ili iskaz โ€œBoban zivi u Krusevcuโ€œ.Druga mogucnost otpada zbog uslova โ€žBoban ne zivi u Beograduโ€, pa morada je tacan iskaz โ€žBoban zivi u Krusevcuโ€œ.

Primer 8.12. Vazi {๐ด,๐ดโ‡’ ๐ต} |= ๐ต. Zaista, ako je valuacija ๐‘ฃ proizvo-ljan model formula ๐ด i ๐ดโ‡’ ๐ต, onda kako je ๐ผ๐‘ฃ(๐ด) = 1, iz ๐ผ๐‘ฃ(๐ดโ‡’ ๐ต) = 1sledi da ne moze da vazi ๐ผ๐‘ฃ(๐ต) = 0, pa mora da vazi ๐ผ๐‘ฃ(๐ต) = 1, tj. ๐‘ฃ jemodel 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. Vazi i obratno โ€” ako je ๐ด valjana formula, onda vazi {} |= ๐ด.Zato umesto {} |= ๐ด, pisemo krace |= ๐ด, kao sto zapisujemo valjane formule.

Ako je skup ฮ“ kontradiktoran, onda je proizvoljna formula njegova logickaposledica (naime, ako skup ฮ“ nema modela, onda za proizvoljnu formulu ๐ด vazida je svaki model za ฮ“ โ€“ a takvih nema โ€“ istovremeno i model za ๐ด). Specijalno,svaka formula je logicka posledica skupa {โŠฅ}.

Ako je skup ฮ“ konacan, onda umesto {๐ด1, . . . , ๐ด๐‘›} |= ๐ต pisemo krace๐ด1, . . . , ๐ด๐‘› |= ๐ต. Koristeci teoremu 8.1, lako se moze dokazati naredna teo-rema.

Teorema 8.2. Vazi ๐ด1, . . . , ๐ด๐‘› |= ๐ต ako i samo ako vazi ๐ด1 โˆง . . .โˆง๐ด๐‘› |=๐ต.

Ako vazi ๐ด โ‰ก ๐ต, onda u bilo kojoj valuaciji formule ๐ด i ๐ต imaju jednakevrednosti. Tvrdenja oblika ๐ด โ‰ก ๐ต zovemo logickim ekvivalencijama. Relacijaโ‰ก je, ocigledno, relacija ekvivalencije nad skupom iskaznih formula. U raz-matranju skupova uslova, bilo koji uslov ะพcigledno moze biti zamenjen nekimnjemu logicki ekvivalentnim uslovom jer time nece biti promenjen skup modelacelokupnog uslova.

Primer 8.13. Za formule ๐‘๐‘Ž1 โ‡’ ยฌ๐‘๐‘Ž3 i ๐‘๐‘Ž3 โ‡’ ยฌ๐‘๐‘Ž1 iz primera 8.1, mozese pokazati da vazi: ๐‘๐‘Ž1 โ‡’ ยฌ๐‘๐‘Ž3 โ‰ก ๐‘๐‘Ž3 โ‡’ ยฌ๐‘๐‘Ž1. To govori da nije potrebnoda u skupu uslova postoje obe formule, dovoljno je zadrzati jednu od njih.Isto vazi i za druge analogne parove formula, te je dovoljno razmatratisledeci skup formula:

Page 134: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.2. Logicke posledice i logicki ekvivalentne formule 132

๐‘๐‘Ž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 8.14. Neke od logickih ekvivalencija (ili, preciznije, neke od she-ma 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 8.14, pokazuju, izmedu ostalog,da su konjunkcija i disjunkcija komutativni i asocijativni veznici. Zato mozemo

Page 135: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

133 8. Automatsko rasudivanje u iskaznoj logici

smatrati da konjunkcija (i disjunkcija) mogu da povezuju vise od dve formule,pri cemu ne moramo da vodimo racuna o njihovom poretku. Svaki clan uopstenekonjunkcije zovemo konjunkt, a svaki clan uopstene disjunkcije zovemo disjunkt.Disjunkciju vise literala (pri cemu njihov poredak nije bitan) zovemo klauza(eng. clause). Klauza je jedinicna ako sadrzi samo jedan literal.

Naglasimo da, na primer, ๐ต |= ๐ด i ๐ต โ‰ก ๐ด nisu formule iskazne logike,nego su to formule koje govore o iskaznim formulama, pa ih zato zovemo metaformule (dok iskazne formule cine objektne formule). Naredna teorema povezujemeta i objektni nivo i govori o tome kako ispitivanje da li su neke dve formulelogicki ekvivalentne i da li je jedna logicka posledica druge moze da se svedena objektni nivo i na problem ispitivanja da li je neka formula tautologija.

Teorema 8.3.Vazi ๐ด |= ๐ต ako i samo ako je iskazna formula ๐ดโ‡’ ๐ต tautologija.Vazi ๐ด โ‰ก ๐ต ako i samo ako je iskazna formula ๐ดโ‡” ๐ต tautologija.

Na osnovu prethodne dve teoreme sledi da vazi ๐ด1, . . . , ๐ด๐‘› |= ๐ต ako i samoako je formula ๐ด1 โˆง . . . โˆง๐ด๐‘› โ‡’ ๐ต tautologija.

Primer 8.15. Ako vazi โ€žkisa padaโ€œ i โ€ako kisa pada, onda ce mec bitiotkazanโ€œ, onda vazi i โ€žmec ce biti otkazanโ€œ. Naime, iskaz โ€žmec ce bitiotkazanโ€œ 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 bitiotkazanโ€œtautologija (sto jeste ispunjeno).

Vec je receno da u razmatranju skupova uslova, svaki uslov moze biti zame-njen nekim njemu logicki ekvivalentnim uslovom (i time nece biti promenjenskup modela celokupnog uslova). Naredna teorema tvrdi i sledece: ako se uformuli ๐ด neka njena potformula zameni njoj logicki ekvivalentnom formu-lom, bice dobijena formula koja je logicki ekvivalentna formuli ๐ด. Ova teoremaopravdava transformisanje iskazne formule u neki oblik pogodan za, na primer,ispitivanje zadovoljivosti.

Teorema 8.4 (Teorema o zameni). Ako je ๐ถ โ‰ก ๐ท, onda je ๐ด[๐ถ โ†ฆโ†’ ๐ท] โ‰ก๐ด.

Primer 8.16. Kako je ๐‘ž โ‡’ ๐‘Ÿ โ‰ก ยฌ๐‘ž โˆจ ๐‘Ÿ, vazi (๐‘ โˆง (๐‘ž โ‡’ ๐‘Ÿ))[๐‘ž โ‡’ ๐‘Ÿ โ†ฆโ†’ยฌ๐‘ž โˆจ ๐‘Ÿ] = ๐‘ โˆง (ยฌ๐‘ž โˆจ ๐‘Ÿ) โ‰ก ๐‘ โˆง (๐‘ž โ‡’ ๐‘Ÿ).

Page 136: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.3. Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici 134

Primer 8.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 disjunkcijaasocijativni veznik.

8.3 Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici

U prakticnim primenama, onda kada je neki cilj formulisan na jeziku iska-zne logike, centralni problem postaje ispitivanje da li je neka iskazna formulatautologija, da li je zadovoljiva i slicno. Pocetno pitanje je da li su ti problemiuopste odlucivi, tj. da li postoje algoritmi koji uvek mogu da daju odgovor nanjih. Na primer, pitanje je da li postoji algoritam koji za svaku formulu kojaje tautologija moze da utvrdi da jeste tautologija, a za svaku formulu koja nijetautologija moze da utvrdi da nije tautologija. Jednostavno se, kao sto je poka-zano u narednom poglavlju, pokazuje da takav algoritam postoji, pa je problemispitivanja tautologicnosti odluciv. Dodatno, odlucivi su i problemi ispitivanjazadovoljivosti, porecivosti i kontradiktornosti. Stavise, ovi problemi su bliskopovezani i bilo koja tri mogu se lako svesti na cetvrti. To znaci da je dovoljnoda imamo efikasan algoritam za jedan od ova cetiri problema. U nastavku cemose fokusirati na resavanje problema zadovoljivosti. Algoritam za ispitivanje za-dovoljivosti onda mozemo iskoristiti i za preostala tri problema: formula ๐ด jetautologija akko ยฌ๐ด nije zadovoljiva, ๐ด je poreciva akko je ยฌ๐ด zadovoljiva, a๐ด je kontradikcija akko ๐ด nije zadovoljiva.

8.3.1 Istinitosne tablice i odlucivost problema valjanosti izadovoljivosti

Na osnovu definicije interpretacije, moze se konstruisati istinitosna tablicaza proizvoljnu iskaznu formulu. Istinitosne tablice pogodne su za ispitivanje ivaljanosti i zadovoljivosti i nezadovoljivosti i porecivosti. U istinitosnoj tabliciza neku formulu, svakoj vrsti odgovara jedna valuacija iskaznih slova koja sepojavljuju u toj formuli. Svakoj koloni odgovara jedna potformula te formule.Ukoliko iskazna formula ๐ด sadrzi iskazne promenljive ๐‘1, ๐‘2, . . . , ๐‘๐‘›, onda isti-nitosna tablica treba da sadrzi sve moguce valuacije za ovaj skup promenljivih(valuacije za druge promenljive nisu relevantne). Takvih valuacija ima 2๐‘›. Uzavisnosti od vrednosti iskaznih promenljivih, izracunavaju se vrednosti pot-formula razmatrane iskazne formule, sve do same te formule. Ako su u kolonikoja odgovara samoj iskaznoj formuli sve vrednosti jednake 1, onda je formulatautologija. Ako je bar jedna vrednost jednaka 1, formula je zadovoljiva. Ako jebar jedna vrednost jednaka 0, formula je poreciva. Ako su sve vrednosti jednake

Page 137: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

135 8. Automatsko rasudivanje u iskaznoj logici

0, formula je kontradikcija. Ovo pokazuje da su problemi ispitivanja valjanosti,zadovoljivosti, nezadovoljivosti i porecivosti odlucivi problemi, tj. postoje algo-ritmi koji ih mogu resiti. Medutim, opisani algoritam, zasnovan na istinitosnimtablicama, naivan je i potpuno neupotrebljiv za realne probleme. Za resavanjeteskih realnih problema potrebno je razviti znatno efikasnije algoritme.

Primer 8.18. Iskaznoj formuli (ยฌ๐‘ž โ‡’ ยฌ๐‘) โ‡’ (๐‘ โ‡’ ๐‘ž) odgovara sledecaistinitosna 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 nijekontradikcija.

Primer 8.19. U primeru 8.1, za tablu dimenzije 3ร— 3, razmatra se skupformula nad 9 iskaznih promenljivih, te bi odgovarajuca istinitosna tablicaimala 29 = 512 vrsta.

Primer 8.20. Date su tri kutije, zna se da je tacno u jednoj od njih zlato.Na njima pise:

na kutiji 1: โ€žzlato nije ovdeโ€œna kutiji 2: โ€žzlato nije ovdeโ€œna kutiji 3: โ€žzlato je u kutiji 2โ€œAko se zna da je tacno jedna tvrdnja tacna, treba pogoditi gde je zlato.Neka iskazne promenljive ๐‘1, ๐‘2 i ๐‘3 odgovaraju tvrdnjama โ€žzlato je u

kutiji 1โ€œ, โ€žzlato je u kutiji 2โ€œ i โ€žzlato je u kutiji 3โ€œ.Uslov da je tacno u jednoj od njih zlato moze se opisati sledecom for-

mulom:๐ด = (๐‘1 โˆง ยฌ๐‘2 โˆง ยฌ๐‘3) โˆจ (ยฌ๐‘1 โˆง ๐‘2 โˆง ยฌ๐‘3) โˆจ (ยฌ๐‘1 โˆง ยฌ๐‘2 โˆง ๐‘3)Uslov da je tacno jedna ispisana tvrdnja tacna, moze se opisati sle-

decom formulom:๐ต = (ยฌ๐‘1 โˆง ยฌยฌ๐‘2 โˆง ยฌ๐‘2) โˆจ (ยฌยฌ๐‘1 โˆง ยฌ๐‘2 โˆง ยฌ๐‘2) โˆจ (ยฌยฌ๐‘1 โˆง ยฌยฌ๐‘2 โˆง ๐‘2)Potrebno je pronaci valuaciju u kojoj su obe formule ๐ด i ๐ต tacne:

Page 138: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.3. Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici 136

๐‘1 ๐‘2 ๐‘3 ๐ด ๐ต0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 01 0 0 1 11 0 1 0 11 1 0 0 11 1 1 0 1

Postoji samo jedna valuacija ๐‘ฃ u kojoj su obe formule tacne. U njojvazi ๐ผ๐‘ฃ(๐‘1) = 1, te je zlato u prvoj kutiji.

8.3.2 Normalne forme i potpuni skupovi veznikaNapredne procedure za ispitivanje valjanosti ili zadovoljivosti se, zbog jed-

nostavnosti i vece efikasnosti, obicno definisu samo za neke specificne vrsteiskaznih formula, za formule koje su u nekoj specificnoj formi.

Definicija 8.8 (Konjunktivna normalna forma). Iskazna formula je ukonjunktivnoj normalnoj formi (knf) ako je oblika

๐ด1 โˆง๐ด2 โˆง . . . โˆง๐ด๐‘›

pri cemu je svaka od formula ๐ด๐‘– (1 โ‰ค ๐‘– โ‰ค ๐‘›) klauza (tj. disjunkcija litera-la).

Definicija 8.9 (Disjunktivna normalna forma). Iskazna formula je u dis-junktivnoj 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 iskaznaformula ๐ต je u konjunktivnoj (disjunktivnoj) normalnoj formi, onda se kaze daje formula ๐ต konjunktivna (disjunktivna) normalna forma formule ๐ด. Jednaiskazna formula moze da ima vise razlicitih konjunktivnih (disjunktivnih) nor-malnih formi (na primer, i formula (๐‘โˆจ ๐‘Ÿ)โˆง (๐‘ž โˆจ ๐‘Ÿ)โˆง (๐‘โˆจ ๐‘ )โˆง (๐‘ž โˆจ ๐‘ ) i formula(๐‘ โˆจ ๐‘ž)โˆง (๐‘โˆจ ๐‘Ÿ)โˆง (๐‘žโˆจ ๐‘Ÿ)โˆง (๐‘โˆจ๐‘ )โˆง (๐‘โˆจยฌ๐‘) su konjunktivne normalne forme for-mule (๐‘โˆง ๐‘ž)โˆจ (๐‘Ÿโˆง ๐‘ )). 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 trans-formisana u svoju konjunktivnu (disjunktivnu) normalnu formu. Transformi-

Page 139: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

137 8. Automatsko rasudivanje u iskaznoj logici

sanje iskazne formule u konjunktivnu normalnu formu moze biti opisano algo-ritmom prikazanim na slici 8.1. Kada se govori o โ€žprimeni neke logicke ekviva-lencijeโ€œ misli se na koriscenje logicke ekvivalencije na osnovu teoreme o zameni(teorema 8.4).

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 8.1: Algoritam KNF.

Zaustavljanje algoritma KNF moze se dokazati koriscenjem pogodno oda-brane mere zaustavljanja.2 Za neke pojedinacne korake, moze se dokazati da

2U cilju dokazivanja zaustavljanja postupka transformisanja formule u konjunktivnu nor-malnu formu definise se preslikavanje ๐œ (mera zaustavljanja) iz skupa iskaznih formula u skupprirodnih brojeva:

๐œ(๐ด) = 2 (gde je ๐ด atomicka formula)

๐œ(ยฌ๐ด) = 2๐œ(๐ด)

๐œ(๐ด โˆจ๐ต) = ๐œ(๐ด) ยท ๐œ(๐ต)

๐œ(๐ด โˆง๐ต) = ๐œ(๐ด) + ๐œ(๐ต) + 1

Moze se jednostavno dokazati da je vrednost ๐œ(๐น2) uvek manja od ๐œ(๐น1) ako je formula ๐น2

dobijena primenom nekog koraka algoritma na formulu ๐น1. Na primer, vazi da je ๐œ(ยฌ(๐ด โˆจ

Page 140: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.3. Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici 138

se zaustavljaju koriscenjem jednostavnih mera โ€” na primer, za prvi korak al-goritma, kao mera se moze koristiti broj veznika โ‡” u formuli. Izlazna formulalogicki je ekvivalentna ulaznoj formuli na osnovu teoreme o zameni (teorema8.4) i cinjenice da se u algoritmu koriste samo logicke ekvivalencije.

Teorema 8.5 (Korektnost algoritma KNF). Algoritam KNF se zaustavljai 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 algorit-mom analognim algoritmu KNF.

Algoritmom KNF proizvoljna iskazna formula moze se transformisati u for-mulu koja ne sadrzi veznike โ‡” i โ‡’. Dobijena formula sadrzace, dakle, samoveznike ยฌ, โˆง i โˆจ. Kaze se da je skup veznika {ยฌ,โˆง,โˆจ} potpun, jer je svakaiskazna formula logicki ekvivalentna nekoj iskaznoj formuli nad samo ova triveznika i bez logickih konstanti โŠค i โŠฅ. Stavise, zahvaljujuci logickoj ekviva-lenciji ๐ด โˆจ ๐ต โ‰ก ยฌ(ยฌ๐ด โˆง ยฌ๐ต), moze se dokazati i da je skup {ยฌ,โˆง} potpun.Analogno se moze dokazati da je potpun i skup {ยฌ,โˆจ}. Postoje i (tacno) dvajednoclana potpuna skupa vezinka: {โ†“} i {โ†‘}, pri cemu su veznici โ†“ (nili ili Lu-kasijeviceva funkcija) i โ†‘ (ni ili Seferova funkcija) definisani na sledeci nacin:๐ด โ†“ ๐ต je jednako ยฌ(๐ด โˆจ ๐ต), a ๐ด โ†‘ ๐ต je jednako ยฌ(๐ด โˆง ๐ต). Lako se pokazujeda je ยฌ๐ด โ‰ก (๐ด โ†“ ๐ด) i ๐ด โˆง ๐ต โ‰ก ((๐ด โ†“ ๐ด) โ†“ (๐ต โ†“ ๐ต)), pa kako je skup veznika{ยฌ,โˆง} potpun, sledi da je potpun i skup {โ†“}. Analogno vazi i za skup {โ†‘}.

Transformisanje formule u njenu konjunktivnu normalnu formu moze dada formulu cija je slozenost eksponencijalna u odnosu na slozenost polazneformule. Na primer, transformisanjem formule

(๐ด1 โˆง๐ต1) โˆจ (๐ด2 โˆง๐ต2) โˆจ . . . โˆจ (๐ด๐‘› โˆง๐ต๐‘›)

(koja ima ๐‘› disjunkata) u njenu konjunktivnu normalnu formu, dobija se for-mula koja ima 2๐‘› konjunkta.

Zbog potencijalno ogromne izlazne formule, umesto algoritma KNF, u prak-si se najcesce koristi Cejtinovo kodiranje โ€“ koje je linearno i u smislu vremenai u smislu prostora, ali uvodi dodatne promenljive, te zato rezultujuca formulanije logicki ekvivalentna polaznoj vec samo slabo ekvivalentna: pocetna formulaje zadovoljiva ako i samo ako je zadovoljiva rezultujuca formula. To je za prime-ne obicno dovoljno dobro i, stavise, iz modela za rezultujucu formulu (ukolikooni postoje) mogu se rekonstruisati modeli za polaznu formulu. Smatracemoda su iz polazne formule, koriscenjem adekvatnih logickih ekvivalencija (poput๐ด โˆจ โŠค โ‰ก โŠค), eliminisane sve konstante โŠค i โŠฅ. Cejtinova transformacija moze

๐ต)) = 2๐œ(๐ดโˆจ๐ต) = 2๐œ(๐ด)ยท๐œ(๐ต) vece od ๐œ(ยฌ๐ดโˆงยฌ๐ต) = ๐œ(ยฌ๐ด) + ๐œ(ยฌ๐ต) + 1 = 2๐œ(๐ด) + 2๐œ(๐ต) + 1.Odatle sledi da se postupak transformisanja proizvoljne formule u konjunktivnu normalnuformu zaustavlja za proizvoljnu ulaznu formulu ๐น (jer ne postoji beskonacan strogo opadajuciniz prirodnih brojeva ciji je prvi element ๐œ(๐น )).

Page 141: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

139 8. Automatsko rasudivanje u iskaznoj logici

vrsta formule rezultujuce klauze๐ดโ‡” (ยฌ๐ต) (๐‘๐ด โˆจ ๐‘๐ต) โˆง (ยฌ๐‘๐ด โˆจ ยฌ๐‘๐ต)๐ดโ‡” (๐ต โˆง ๐ถ) (๐‘๐ด โˆจ ยฌ๐‘๐ต โˆจ ยฌ๐‘๐ถ) โˆง (ยฌ๐‘๐ด โˆจ ๐‘๐ต) โˆง (ยฌ๐‘๐ด โˆจ ๐‘๐ถ)๐ดโ‡” (๐ต โˆจ ๐ถ) (ยฌ๐‘๐ด โˆจ ๐‘๐ต โˆจ ๐‘๐ถ) โˆง (๐‘๐ด โˆจ ยฌ๐‘๐ต) โˆง (๐‘๐ด โˆจ ยฌ๐‘๐ถ)๐ดโ‡” (๐ต โ‡’ ๐ถ) (ยฌ๐‘๐ด โˆจ ยฌ๐‘๐ต โˆจ ๐‘๐ถ) โˆง (๐‘๐ด โˆจ ๐‘๐ต) โˆง (๐‘๐ด โˆจ ยฌ๐‘๐ถ)๐ดโ‡” (๐ต โ‡” ๐ถ) (ยฌ๐‘๐ด โˆจ ยฌ๐‘๐ต โˆจ ๐‘๐ถ) โˆง (ยฌ๐‘๐ด โˆจ ๐‘๐ต โˆจ ยฌ๐‘๐ถ)โˆง

(๐‘๐ด โˆจ ๐‘๐ต โˆจ ๐‘๐ถ) โˆง (๐‘๐ด โˆจ ยฌ๐‘๐ต โˆจ ยฌ๐‘๐ถ)

Tabela 8.1: Pravila za Cejtinovu transformaciju.

se opisati na sledeci nacin: Neka ๐‘†๐‘ข๐‘(๐น ) oznacava skup svih potformula for-mule ๐น . Za svaku formulu ๐ด iz ๐‘†๐‘ข๐‘(๐น ) koja nije iskazna promenljiva, uvodise nova iskazna promenljiva (definiciona promenljiva) ๐‘๐ด. Ako je ๐ด iskaznapromenljiva, onda ๐‘๐ด oznacava samu formulu ๐ด (i tada se ๐‘๐ด naziva osnov-na promenljiva). Formula ๐น se najpre transformise u sledecu formulu (gde โ‹†oznacava binarni iskazni veznik iz skupa binarnih veznika koji se pojavljuju u๐น ):

๐‘๐น โˆงโ‹€

๐ดโˆˆ๐‘†๐‘ข๐‘(๐น )๐ด=๐ตโ‹†๐ถ

(๐‘๐ด โ‡” (๐‘๐ต โ‹† ๐‘๐ถ)) โˆงโ‹€

๐ดโˆˆ๐‘†๐‘ข๐‘(๐น )๐ด=ยฌ๐ต

(๐‘๐ด โ‡” ยฌ๐‘๐ต)

Lako se moze dokazati da je navedena formula slabo ekvivalentna sa for-mulom ๐น . Na kraju, navedena formula se trivijalno transformise u knf oblikprimenom pravila iz tabele 8.1. Svaki konjunkt se transformise u knf formulusa najvise cetiri klauze, od kojih svaka ima najvise tri literala.

Cejtinova transformacija daje formulu cija velicina je linearna u odnosu navelicinu polazne formule. Preciznije, ako polazna formula sadrzi ๐‘› logickih ve-znika, onda ce izlazna formula sadrzati najvise 4๐‘› klauza, od kojih svaka imanajvise tri literala. To se moze pokazati jednostavnim induktivnim argumen-tom.

Primer 8.21. Data je iskazna formula (๐‘ โˆง (๐‘ž โˆง ๐‘Ÿ)) โˆจ ((๐‘ž โˆง ๐‘Ÿ) โˆง ยฌ๐‘).Definicione promenljive ๐‘4, ๐‘5, ๐‘6, ๐‘7, ๐‘8 uvode se na sledeci nacin:

๐‘6โž โŸ (๐‘ โˆง (๐‘ž โˆง ๐‘Ÿ)โŸ โž

๐‘4

)โˆจ๐‘7โž โŸ

((๐‘ž โˆง ๐‘Ÿ)โŸ โž ๐‘4

โˆง ยฌ๐‘โŸ โž ๐‘5

)

โŸ โž ๐‘8

Meduoblik za Cejtinovu formu je onda:

๐‘8 โˆง (๐‘8 โ‡” (๐‘6 โˆจ ๐‘7)) โˆง (๐‘6 โ‡” (๐‘ โˆง ๐‘4))โˆง

Page 142: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.3. Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici 140

(๐‘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 no-vih promenljivih. Postoje raznovrsne tehnike za smanjivanje broja promenljivihi broja klauza.

8.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 formulekoja je u tom, knf obliku.

Problem ispitivanja zadovoljivosti date iskazne formule u knf obliku ozna-cava se sa sat (od engleskog satisfiability problem โ€” problem zadovoljivosti).Programi koji resavaju instance sat problema zovu se sat resavaci. sat pro-blem je np-kompletan i on ima ogroman i teorijski i prakticni znacaj. Pro-blem ispitivanja nezadovoljivosti date iskazne formule u knf obliku je co-np-kompletan.3

Kako se jos uvek ne zna da li su klase p i np problema jednake, jos uvek sene zna ni da li postoji algoritam za ispitivanje zadovoljivosti iskaznih formulakoji je polinomske slozenosti.4 Kako je opste uverenje da su klase problemap i np razlicite, veruje se i da ne postoji algoritam polinomske slozenosti zaresavanje sat problema.

Problem ispitivanja zadovoljivosti formula u dnf obliku sustinski je dru-gaciji od ispitivanja zadovoljivosti formula u knf obliku. Drugi je np-kompletan,a prvi je trivijalan (dovoljno je razmatrati zadovoljivost disjunkata pojedinacno,a to se svodi na provere da li u disjunktu postoji logicka konstanta โŠฅ ili literali njegova negacija) i pripada klasi p (podrazumeva se slozenost u terminimabroja bitova potrebnih za zapis ulazne formule). Ipak, svodenje problema satna problem ispitivanja zadovoljivosti dnf formule nije, u opstem slucaju, razu-man put za resavanje problema sat, zbog kompleksnosti same transformacije,

3Problem odlucivanja ๐’ณ je komplementan problemu odlucivanja ๐’ด ako za svaku instancuza koju problem ๐’ด daje odgovor โ€ždaโ€œ, problem ๐’ณ daje odgovor โ€žneโ€œ. Problem odlucivanja ๐’ณpripada klasi co-np ako njemu komplementan problem pripada klasi np. Na primer, problemzadovoljivosti za iskazne formule u knf obliku pripada klasi np, pa problem nezadovoljivostiza iskazne formule u knf obliku pripada klasi co-np. Nije poznato da li su klase np i co-npjednake. Problem koji pripada klasi co-np je co-np-kompletan ako se svaki problem iz klaseco-np moze svesti na njega u polinomskom vremenu.

4Kada se govori o klasama slozenosti, obicno se podrazumeva da se slozenost algoritmaizrazava u terminima broja bitova potrebnih za zapisivanje ulaza.

Page 143: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

141 8. Automatsko rasudivanje u iskaznoj logici

na primer, formula koje su vec u knf obliku u dnf oblik. Dodajmo da problemispitivanja tautologicnosti formule u knf obliku pripada klasi p (dovoljno jerazmatrati tautologicnost konjunkata pojedinacno, a to se svodi na provere dali u konjunktu postoji logicka konstanta โŠค ili literal i njegova negacija), a daje problem ispitivanja tautologicnosti formule u dnf obliku co-np-kompletanproblem.

Dejvisโ€“Patnamโ€“Logmanโ€“Lavlendova ili DPLL procedura5 je procedura zaispitivanje zadovoljivosti iskaznih formula u knf obliku, to jest, procedura zaresavanje instanci sat problema. Ulazna formula je konjunkcija klauza. Pritome (kako su konjunkcija i disjunkcija komutativne i asocijativne) nije bitanporedak tih klauza niti je u bilo kojoj od tih klauza bitan poredak literala, te seulazna formula moze smatrati skupom (ili, preciznije, multiskupom6) klauza,od kojih se svaka moze smatrati skupom (ili, preciznije, multiskupom) litera-la. Ipak, radi odredenosti rada algoritma, smatracemo da je skup (odnosnomultiskup) klauza ureden.

U proceduri se podrazumevaju sledece konvencije:

โ€ข prazan skup klauza je zadovoljiv;

โ€ข klauza koja ne sadrzi nijedan literal (zvacemo je prazna klauza) je neza-dovoljiva i formula koja sadrzi praznu klauzu je nezadovoljiva.

DPLL procedura prikazana je na slici 8.2, a njena svojstva daje teorema 8.6.

Teorema 8.6 (Korektnost DPLL procedure). Za svaku iskaznu formuluDPLL procedura se zaustavlja i vraca odgovor DA ako i samo ako je polaznaformula zadovoljiva.

Primer 8.22. Formula iz primera 8.13 trivijalno se moze transformisatiu knf oblik i na nju se moze primeniti DPLL procedura. Prvo pravilo kojeje primenljivo je split i moze da se primeni, na primer, na promenljivu๐‘๐‘Ž1. U prvoj grani koja se razmatra ๐‘๐‘Ž1 se zamenjuje sa โŠค (sto odgovarapridruzivanju vrednosti tacno) i u narednim koracima se, primenom pra-vila unit propagation promenljive ๐‘๐‘Ž2, ๐‘๐‘Ž3, ๐‘๐‘1, ๐‘๐‘1, ๐‘๐‘2, ๐‘๐‘3 zamenjujusa โŠฅ. Zatim se promenljive ๐‘๐‘3 i ๐‘๐‘2 zamenjuju sa โŠค, nakon cega klau-za ยฌ๐‘๐‘3 โˆจ ยฌ๐‘๐‘2 postaje prazna. Slicno se desava i u grani u kojoj se ๐‘๐‘Ž1zamenjuje sa โŠฅ, te procedura vraca odgovor ๐‘๐ธ, sto znaci da ne postojiresenje problema ๐‘› dama za ๐‘› = 3.

5Prva verzija procedure ciji su autori Dejvis (Martin Davis) i Patnam (Hilary Putnam),unapredena je dve godine kasnije u radu Dejvisa, Logmana (Georg Logemann) i Lavlenda(Donald Loveland), pa otuda naziv DPLL.

6Neformalno, multiskup je skup u kojem se elementi mogu pojavljivati vise puta.

Page 144: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.3. Ispitivanje zadovoljivosti i valjanosti u iskaznoj logici 142

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 8.2: DPLL procedura.

Page 145: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

143 8. Automatsko rasudivanje u iskaznoj logici

Procedura DPLL je u najgorem slucaju eksponencijalne vremenske slozenostipo broju iskaznih promenljivih u formuli, usled rekurzivne primene pravila split.Eksponencijalne slozenosti su i svi drugi do sada poznati algoritmi za ispitivanjezadovoljivosti. Ipak, svi ti algoritmi znatno su efikasniji od metode istinitosnihtablica.

Procedura DPLL moze se smatrati algoritmom pretrage potpunog stablavaluacija promenljivih koje ucestvuju u formuli. Koraci algoritma omogucavajuda se ne pretrazuje nuzno citavo stablo. Heuristike koje odreduju nacin nakoji se primenjuje pravilo split usmeravaju pretragu i mogu bitno da uticuna efikasnost pretrage. Na primer, izbor iskaznog slova u pravilu split veomaje vazan. Neke varijante ovog pravila su da se bira iskazno slovo sa najvisepojavljivanja u tekucoj formuli, da se bira neko od iskaznih slova iz najkraceklauze itd. Posto se ispituje da li postoji valuacija u kojoj su sve klauze formuletacne, pohlepni algoritam bi mogao da za split promenljivu bira, na primer, onukoja cini najveci broj klauza tacnim u tekucoj parcijalnoj valuaciji. Ovakvaheuristika, kao ni druge slicne, ne garantuje optimalnost procesa pretrage.

Primer 8.23. Neka je potrebno ispitati zadovoljivost formule date klau-zama:

๐ถ1 : ยฌ๐‘Ž,ยฌ๐‘, ๐‘๐ถ2 : ๐‘Ž,ยฌ๐‘๐ถ3 : ๐‘, ๐‘๐ถ4 : ยฌ๐‘,ยฌ๐‘

Formula ima dve zadovoljavajuce valuacije. Proverom zadovoljivostiprocedurom DPLL, pronalazi se jedna od te dve valuacije. Prvo stablo naslici 8.3 prikazuje proces pretrage u slucaju datog skupa klauza. Kako obezadovoljavajuce valuacije pridruzuju promenljivoj ๐‘ vrednost 0, a promen-ljivoj ๐‘ vrednost 1, nakon dodavanja klauze

๐ถ5 : ๐‘,ยฌ๐‘prethodni skup klauza postaje nezadovoljiv. Proces pretrage proceduromDPLL u ovom slucaju, prikazan je na drugom stablu na istoj slici. U ovomprimeru upecatljivo je da DPLL procedura ispituje svega tri od osam listovazahvaljujuci tome sto osim koraka pretrage olicenih u pravilu split, postojei koraci zakljucivanja koje se vrsi primenom pravila unit propagation, pricemu se ne ispituju alternative tim pravilom ucinjenih zamena.

DPLL procedura proverava da li je formula zadovoljiva, ali ona se, kao sto jevec receno, moze koristiti i za ispitivanje da li je neka formula valjana, porecivaili kontradikcija. Na primer, formula ๐ด je valjana ako i samo ako je formula ยฌ๐ดnezadovoljiva, sto se moze proveriti DPLL procedurom (pri cemu je, naravno,formulu ยฌ๐ด potrebno najpre transformisati u konjunktivnu normalnu formu).

Page 146: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.4. Resavanje problema svodenjem na SAT 144

๐‘ฃ(๐‘Ž)=1 ๐‘ฃ(๐‘Ž)=0

๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0 ๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0

๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0 ๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0 ๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0 ๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0

๐‘ ๐‘๐‘™๐‘–๐‘ก([๐‘Ž โ†ฆโ†’ โŠค])

๐‘ ๐‘๐‘™๐‘–๐‘ก([๐‘ โ†ฆโ†’ โŠค])

๐‘ข๐‘([๐‘ โ†ฆโ†’ โŠค])

๐‘ ๐‘๐‘™๐‘–๐‘ก([๐‘ โ†ฆโ†’ โŠฅ])

๐‘ข๐‘([๐‘ โ†ฆโ†’ โŠค])

๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=1 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=1 ๐ผ๐‘ฃ(๐ด)=0

๐‘ฃ(๐‘Ž)=1 ๐‘ฃ(๐‘Ž)=0

๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0 ๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0

๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0 ๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0 ๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0 ๐‘ฃ(๐‘)=1 ๐‘ฃ(๐‘)=0

๐‘ ๐‘๐‘™๐‘–๐‘ก([๐‘Ž โ†ฆโ†’ โŠค])

๐‘ ๐‘๐‘™๐‘–๐‘ก([๐‘ โ†ฆโ†’ โŠค])

๐‘ข๐‘([๐‘ โ†ฆโ†’ โŠค])

๐‘ ๐‘๐‘™๐‘–๐‘ก([๐‘ โ†ฆโ†’ โŠฅ])

๐‘ข๐‘([๐‘ โ†ฆโ†’ โŠค])

๐‘ ๐‘๐‘™๐‘–๐‘ก([๐‘Ž โ†ฆโ†’ โŠฅ])

๐‘ข๐‘([๐‘ โ†ฆโ†’ โŠฅ])

๐‘ข๐‘([๐‘ โ†ฆโ†’ โŠค])

๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0 ๐ผ๐‘ฃ(๐ด)=0

Slika 8.3: Proces provere zadovoljivosti procedurom DPLL prikazan u vidu pre-trage u potpunom stablu valuacija za dva skupa klauza. Pretraga se vrsi obi-laskom stabla u dubinu sleva nadesno. U prvom slucaju, formula ๐ด data jeskupom klauza {ยฌ๐‘Žโˆจยฌ๐‘โˆจ ๐‘, ๐‘Žโˆจยฌ๐‘, ๐‘โˆจ ๐‘,ยฌ๐‘โˆจยฌ๐‘} koji je zadovoljiv. U drugomslucaju, skupu klauza dodata je i klauza ๐‘โˆจยฌ๐‘ i dobijeni skup je nezadovoljiv.

8.4 Resavanje problema svodenjem na SAT

Mnogi prakticni problemi mogu se resiti koriscenjem iskazne logike. Obicnoje postupak resavanja ovakav:

โ€ข elementarni iskazi (tvrdnje) koji figurisu u opisu problema, predstavljajuse iskaznim promenljivim (u duhu nekog kodiranja);

โ€ข uslovi problema se predstavljaju iskaznim formulama nad tim iskaznimpromenljivim;

โ€ข konjunkcija tih iskaznih formula transformise se u konjunktivnu normalnuformu;

โ€ข zadovoljivost formule u konjunktivnoj normalnoj formi ispituje se satresavacem;

โ€ข ukoliko je formula zadovoljiva, svaki njen model daje jedno resenje pola-znog problema.

Page 147: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

145 8. Automatsko rasudivanje u iskaznoj logici

Svodenjem na sat mogu se pogodno opisati mnogi problemi nad konacnimdomenima. Naredni primer pokazuje kako sabiranje prirodnih brojeva, a iresavanje jednacina koje ukljucuju takvo sabiranje mogu biti svedeni na sat.

Primer 8.24. Neka su ๐‘ข i ๐‘ฃ prirodni brojevi manji od 4. Onda, ako je broj๐‘ข predstavljen parom iskaznih promenljvih (๐‘, ๐‘ž) (koje odgovaraju njegovimciframa u binarnom zapisu) a broj ๐‘ฃ predstavljen parom (๐‘Ÿ, ๐‘ ), onda jebroj ๐‘ข+ ๐‘ฃ (po modulu 22) predstavljen parom ((๐‘โˆจ๐‘Ÿ)โˆจ(๐‘ž โˆง ๐‘ ), ๐‘žโˆจ๐‘ ) (gde โˆจoznacava ekskluzivnu disjunkciju).

Primer 8.25. Neka je zadat problem odredivanja vrednosti ๐‘ข, ako je po-znato da je ๐‘ฃ = 2 i ๐‘ฃ = ๐‘ข + 1 (po modulu 4). Broj 1 moze se predstavitiparom (โŠฅ,โŠค) i, kako je poznato da vazi ๐‘ฃ = 2 i ๐‘ฃ = ๐‘ข+1, onda se ๐‘ฃ mozepredstaviti i kao (โŠค,โŠฅ) i kao ((๐‘โˆจโŠฅ)โˆจ(๐‘ž โˆง โŠค), ๐‘žโˆจโŠค), i, nakon pojedno-stavljivanja, sa (๐‘โˆจ๐‘ž,ยฌ๐‘ž). Da bi se dobila formula koja odgovara zadatimuslovima i iz koje se moze dobiti vrednost broja ๐‘ข, formule na obe pozi-cije moraju da budu ekvivalentne i sledeca formula mora biti zadovoljiva:((๐‘โˆจ๐‘ž)โ‡” โŠค) โˆง (ยฌ๐‘ž โ‡” โŠฅ). Ona je zadovoljiva i ima samo jedan model. Utom 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 nadprirodnim brojevima moze svesti na sat. Analogno se mogu resavati i mnogokompleksniji problemi.

Resavanje problema svodenjem na sat bice ilustrovano kroz nekoliko razli-citih vrsta svodenja na sat i nekoliko konkretnih primera.

8.4.1 Primeri kodiranjaRetka kodiranja. U prakticnim problemima koji se resavaju svodenjem nasat, ne figurisu samo iskazne promenljive, vec cesto i celobrojne promenljive ๐‘ฃ๐‘–koje mogu imati vrednosti iz nekog ogranicenog skupa. U takvim situacijimacesto se koristi retko kodiranje (eng. sparse encoding) u kojem se uvode iskaznepromenljive ๐‘๐‘ฃ,๐‘– koje su tacne ako i samo ako promenljiva ๐‘ฃ ima vrednost ๐‘–.Time se uslov da promenljiva ๐‘ฃ ima jednu vrednost iz zadatog domena ๐ผ zadajeuslovom (uslov โ€žbarem jednaโ€œ): โ‹

๐‘–โˆˆ๐ผ

๐‘๐‘ฃ,๐‘–

Promenljiva ๐‘ฃ ne moze imati dve vrednosti istovremeno, sto se opisuje formulom(uslov โ€žnajvise jednaโ€œ): โ‹€

๐‘–,๐‘—โˆˆ๐ผ,๏ฟฝ๏ฟฝ=๐‘—

ยฌ๐‘๐‘ฃ,๐‘– โˆจ ยฌ๐‘๐‘ฃ,๐‘—

Page 148: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.4. Resavanje problema svodenjem na SAT 146

Pored uslova koji su potrebni kako bi se iskazalo da promenljiva ima (tacnojednu) vrednost iz nekog konacnog skupa, potrebno je kodirati i razna drugaogranicenja. Za neka ogranicenja koja se cesto koriste, postoje ustaljeni nacinikodiranja koji daju specificne varijante retkog kodiranja.

U direktnom kodiranju (eng. direct encoding), za svaku dodelu vrednosti๐‘“(๐‘ฃ) promenljivim ๐‘ฃ iz nekog skupa ๐‘† koja nije dozvoljena uvodi se takozvanaโ€žklauza konfliktaโ€:

ยฌโ‹€๐‘ฃโˆˆ๐‘†

๐‘๐‘ฃ,๐‘“(๐‘ฃ)

to jest โ‹๐‘ฃโˆˆ๐‘†

ยฌ๐‘๐‘ฃ,๐‘“(๐‘ฃ)

U potpornom kodiranju (eng. support encoding) ogranicenja oblika โ€žako ๐‘ฃ imavrednost ๐‘–, onda ๐‘ค mora imati neku od vrednosti iz skupa ๐ผโ€œ opisuju se for-mulama sledeceg oblika:

ยฌ๐‘๐‘ฃ,๐‘– โˆจโ‹๐‘—โˆˆ๐ผ

๐‘๐‘ค,๐‘— .

Log kodiranje. U log kodiranju (eng. log encoding) svakom bitu vrednosti nu-merickih promenljivih (zapisanih u binarnoj reprezentaciji) pridruzuje se jednaiskazna promenljiva. U ovoj reprezentaciji ne postoji potreba za uslovima โ€žba-rem jednaโ€œ i โ€žnajvise jednaโ€œ, jer svaka valuacija uvedenih iskaznih promenljivihdaje tacno jednu vrednost odgovarajuce promenljive. Naravno, kada je brojmogucih vrednosti numericke promenljive manji od broja mogucih vrednostiiskaznih promenljivih koji se koriste za njeno kodiranje, neke valuacije iskaznihpromenljivih potrebno je zabraniti dodatnim klauzama (na primer, ako pro-menljiva ๐‘› moze da ima vrednosti od 0 do 6, za njeno kodiranje se koriste triiskazne promenljive, ali se zabranjuje valuacija koja daje vrednost 7).

I u log kodiranju moguce je izraziti uslove koje u slucaju retkih kodira-nja izrazavaju direktno i potporno kodiranje, ali zbog prirode log kodiranja,te uslove potrebno je zadati nad binarnim kombinacijama koje predstavljajuvrednosti numerickih promenljivih. Na primer, neka promenljive ๐‘ฃ i ๐‘ค uzima-ju celobrojne vrednosti od 0 do 7 i neka su kodirane iskaznim promenljivim๐‘๐‘ฃ,1, ๐‘๐‘ฃ,2, ๐‘๐‘ฃ,3, ๐‘๐‘ค,1, ๐‘๐‘ค,2 i ๐‘๐‘ค,3, pri cemu visi indeksi oznacavaju bitove vecetezine. Ukoliko se vrednost 3 promenljive ๐‘ฃ uzajamno iskljucuje sa vrednoscu6 promenljive ๐‘ค, taj uslov moze se kodirati u terminima bitova, klauzom

ยฌ๐‘๐‘ฃ,1 โˆจ ยฌ๐‘๐‘ฃ,2 โˆจ ๐‘๐‘ฃ,3 โˆจ ๐‘๐‘ค,1 โˆจ ยฌ๐‘๐‘ค,2 โˆจ ยฌ๐‘๐‘ค,3.

Primer 8.26. Zadatak je obojiti dve kuce (neka su oznacene sa ๐‘ฃ i ๐‘ค) pojednom od tri raspolozive boje (neka su oznacene brojevima 1, 2, 3), alitako da budu obojene razlicito.

U retkim kodiranjima problema bice potrebni uslovi โ€žbarem jednaโ€œ:

Page 149: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

147 8. Automatsko rasudivanje u iskaznoj logici

๐‘๐‘ฃ,1 โˆจ ๐‘๐‘ฃ,2 โˆจ ๐‘๐‘ฃ,3๐‘๐‘ค,1 โˆจ ๐‘๐‘ค,2 โˆจ ๐‘๐‘ค,3

i uslovi โ€žnajvise jednaโ€œ:ยฌ๐‘๐‘ฃ,1 โˆจ ยฌ๐‘๐‘ฃ,2ยฌ๐‘๐‘ฃ,1 โˆจ ยฌ๐‘๐‘ฃ,3ยฌ๐‘๐‘ฃ,2 โˆจ ยฌ๐‘๐‘ฃ,3ยฌ๐‘๐‘ค,1 โˆจ ยฌ๐‘๐‘ค,2

ยฌ๐‘๐‘ค,1 โˆจ ยฌ๐‘๐‘ค,3

ยฌ๐‘๐‘ค,2 โˆจ ยฌ๐‘๐‘ค,3

Dodatno, u direktnom kodiranju bice opisan i uslov da nisu obe kuceobojene istom bojom (klauze konflikta):ยฌ๐‘๐‘ฃ,1 โˆจ ยฌ๐‘๐‘ค,1

ยฌ๐‘๐‘ฃ,2 โˆจ ยฌ๐‘๐‘ค,2

ยฌ๐‘๐‘ฃ,3 โˆจ ยฌ๐‘๐‘ค,3

Alternativno, navedene klauze konflikta bi mogle, koriscenjem potpor-nog kodiranja, da se zadaju na sledeci 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 pro-

menljive ๐‘๐‘ฃ,0, ๐‘๐‘ฃ,1 odgovaraju ciframa binarnog zapisa boje koja odgovarakuci ๐‘ฃ, a ๐‘๐‘ค,0, ๐‘๐‘ค,1 odgovaraju ciframa binarnog zapisa boje koja odgo-vara kuci ๐‘ค. Ako su bojama pridruzene vrednosti 0, 1 i 2, treba zabranitivrednost 3, pa zato postoje uslovi:ยฌ๐‘๐‘ฃ,0 โˆจ ยฌ๐‘๐‘ฃ,1ยฌ๐‘๐‘ค,0 โˆจ ยฌ๐‘๐‘ค,1

Klauze konflikta su sledece klauze:๐‘๐‘ฃ,0 โˆจ ๐‘๐‘ฃ,1 โˆจ ๐‘๐‘ค,0 โˆจ ๐‘๐‘ค,1 (nisu obe boje 0)ยฌ๐‘๐‘ฃ,0 โˆจ ๐‘๐‘ฃ,1 โˆจ ยฌ๐‘๐‘ค,0 โˆจ ๐‘๐‘ค,1 (nisu obe boje 1)๐‘๐‘ฃ,0 โˆจ ยฌ๐‘๐‘ฃ,1 โˆจ ๐‘๐‘ค,0 โˆจ ยฌ๐‘๐‘ค,1 (nisu obe boje 2)

8.4.2 Igra โ€žcistac minaโ€œRazmotrimo kako iskazna logika moze pomoci u igranju racunarske igre

โ€žcistac minaโ€œ (eng. minesweeper, slika 8.4).Data je tabla dimenzija ๐‘›ร—๐‘š. Kada igrac izabere jedno zatvoreno polje na

tabli, igra je zavrsena ako se pokaze da je na njoj mina. Inace, igrac saznajeukupan broj mina na susednim poljima. Ukoliko je taj broj jednak 0, onda se onne ispisuje a otvaraju se sva susedna polja (jer je jasno da na njima nema mina).

Page 150: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.4. Resavanje problema svodenjem na SAT 148

Slika 8.4: Igra โ€žcistac minaโ€œ.

Cilj igre je otvoriti sva polja na kojima nema mina. Pokazacemo da koriscenjemiskazne logike mozemo da dobijemo potrebno rasudivanje. Pridruzimo iskaznepromenljive ๐‘, ๐‘ž, ๐‘Ÿ, ๐‘ , ๐‘ก, ๐‘ข poljima u levom gornjem uglu table (u nastavkucemo imenima ovih promenljivih nazivati i polja kojima su pridruzena):

๐‘ ๐‘ž ๐‘Ÿ๐‘  ๐‘ก ๐‘ข

Pretpostavimo da smo otvorili polje ๐‘ i da na njemu nema mine. Pretposta-vimo i da smo za polje ๐‘ dobili broj 1. Opisimo ovu situaciju sredstvima iskaznelogike. Smatracemo da stanje tabele odreduje valuaciju uvedenih promenljivih:na nekom polju postoji mina ako i samo ako odgovarajuca promenljiva imavrednost 1 u toj valuaciji. Kako znamo da na polju ๐‘ 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:

๐‘ž โˆจ ๐‘  โˆจ ๐‘ก,๐‘ž โ‡’ ยฌ๐‘  โˆง ยฌ๐‘ก,๐‘ โ‡’ ยฌ๐‘ž โˆง ยฌ๐‘ก,๐‘กโ‡’ ยฌ๐‘ž โˆง ยฌ๐‘ Iz raspolozivog znanja nije moguce odrediti na kojem od tri polja ๐‘ž, ๐‘ , ๐‘ก

je mina. Moramo da rizikujemo, pretpostavimo da smo otvorili polje ๐‘ž, da nanjemu nema mine i da smo dobili opet broj 1.

1 1 ๐‘Ÿ๐‘  ๐‘ก ๐‘ข

Page 151: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

149 8. Automatsko rasudivanje u iskaznoj logici

Pokazimo da sada bezbedno mozemo da otvorimo polja ๐‘Ÿ i ๐‘ข: 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 opisuju formule:

๐‘ โˆจ ๐‘  โˆจ ๐‘ก โˆจ ๐‘Ÿ โˆจ ๐‘ข,๐‘โ‡’ ยฌ๐‘  โˆง ยฌ๐‘ก โˆง ยฌ๐‘Ÿ โˆง ยฌ๐‘ข,๐‘ โ‡’ ยฌ๐‘ โˆง ยฌ๐‘ก โˆง ยฌ๐‘Ÿ โˆง ยฌ๐‘ข,๐‘กโ‡’ ยฌ๐‘ โˆง ยฌ๐‘  โˆง ยฌ๐‘Ÿ โˆง ยฌ๐‘ข,๐‘Ÿ โ‡’ ยฌ๐‘ โˆง ยฌ๐‘  โˆง ยฌ๐‘ก โˆง ยฌ๐‘ข,๐‘ขโ‡’ ยฌ๐‘ โˆง ยฌ๐‘  โˆง ยฌ๐‘ก โˆง ยฌ๐‘Ÿ.Kako nema mina na poljima ๐‘ i ๐‘ž, u valuaciji ๐‘ฃ mora da su tacne formule ยฌ๐‘

i ยฌ๐‘ž, na osnovu cega moze biti pojednostavljen navedeni skup iskaznih formula.Pitanje da li mozemo bezbedno da otvorimo polje ๐‘Ÿ svodi se na pitanje da

li skup navedenih formula ima za logicku posledicu formulu ยฌ๐‘Ÿ. To je isto kaoi pitanje da li je implikacija konjunkcije navedenih formula i formule ยฌ๐‘Ÿ tau-tologija i isto kao i pitanje da li je konjunkcija navedenih formula i formule ๐‘Ÿnezadovoljiva. sat resavac moze lako da utvrdi da ta formula jeste nezadovo-ljiva, te mina ne moze biti na polju ๐‘Ÿ. Analogno se moze zakljuciti da mina nemoze biti na polju ๐‘ข.

U ovom konkretnom slucaju, zakljucak se izvodi lako, ali se opisani meha-nizam moze uspesno koristiti i u mnogo komplikovanijim situacijama.

8.4.3 Problem ๐‘› dama

Za svako konkretno ๐‘›, analogno kao u slucaju ๐‘› = 3, problem ๐‘› dama(slika 8.5) moze se resiti koriscenjem iskazne logike. Primenimo kodiranje ustilu retkog kodiranja: neka svakom (๐‘–, ๐‘—) polju sahovske table odgovara jednaiskazna promenljiva ๐‘๐‘–๐‘— (1 โ‰ค ๐‘–, ๐‘— โ‰ค 8). Neka promenljiva ๐‘๐‘–๐‘— ima vrednost 1 akoje na polju (๐‘–, ๐‘—) neka dama, a 0 inace.

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

a b c d e f g h

Slika 8.5: Jedno resenje za problem 8 dama.

Page 152: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.4. Resavanje problema svodenjem na SAT 150

Zadata ogranicenja o nenapadanju dama mogu se, koriscenjem direktnogkodiranja, 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 vrsti ima najvise jedna dama, nije potrebno zadavatii 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 normalnoj formi i njena zadovoljivost moze bitiispitana nekim sat resavacem. Na primer, za ๐‘› = 8, formula ima 92 modela isvaki od njih daje po jedno rasporedivanje dama koje ispunjava date uslove.

8.4.4 Rasporedivanje sportskih utakmicaIskazna logika cesto se koristi u problemima rasporedivanja. Jedan od takvih

problema je rasporedivanje sportskih utakmica. Pretpostavicemo da se koristikruzni sistem takmicenja po principu โ€žigra svako sa svakimโ€œ koji se karakterisesledecim uslovima:

1. Postoji ๐‘› timova (๐‘› je paran broj) i svaka dva tima jednom igraju jedanprotiv drugog.

2. Sezona traje ๐‘›โˆ’ 1 nedelja.

3. Svaki tim svake nedelje igra jednu utakmicu.

4. Postoji ๐‘›/2 terena i svake nedelje se na svakom terenu igra jedna utak-mica.

5. Nijedan tim ne igra vise od dva puta na istom terenu.

Neka su timovi oznaceni brojevima od 1 do 10. Primer ispravnog rasporedadat je u tabeli 8.2.

Osnovni iskaz relevatan za sastavljanje rasporeda je da โ€žtim ๐‘˜1 igra protivtima ๐‘˜2 na terenu ๐‘– u nedelji ๐‘—โ€œ. Kako je u nekim ogranicenjima potrebnogovoriti o pojedinacnim timovima, a ne samo o parovima, ovo tvrdenje nece

Page 153: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

151 8. Automatsko rasudivanje u iskaznoj logici

nedelja 1 2 3 4 5 6 7 8 9teren1 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 8.2: Primer ispravnog rasporeda za 10 timova.

biti predstavljeno jednom promenljivom, nego dvema. Promenljiva ๐‘1๐‘™๐‘–๐‘— oznacavada tim ๐‘™ igra (protiv nekog tima) na terenu ๐‘– u nedelji ๐‘—, kao prvi tim u paru.Promenljiva ๐‘2๐‘™๐‘–๐‘— oznacava da tim ๐‘™ igra (protiv nekog tima) na terenu ๐‘– u nedelji๐‘—, kao drugi tim u paru. Stoga, skup promenljivih je:

{๐‘1๐‘™๐‘–๐‘— | 1 โ‰ค ๐‘– โ‰ค ๐‘›/2, 1 โ‰ค ๐‘— โ‰ค ๐‘›โˆ’ 1, 1 โ‰ค ๐‘™ โ‰ค ๐‘›} โˆช{๐‘2๐‘™๐‘–๐‘— | 1 โ‰ค ๐‘– โ‰ค ๐‘›/2, 1 โ‰ค ๐‘— โ‰ค ๐‘›โˆ’ 1, 1 โ‰ค ๐‘™ โ‰ค ๐‘›}

Dakle, ukupno se koristi 2 ยท (๐‘›/2) ยท (๐‘› โˆ’ 1) ยท ๐‘› = ๐‘›2(๐‘› โˆ’ 1) promenljivih.Raspored cini skup parova (๐‘1๐‘˜1

๐‘–๐‘— , ๐‘2๐‘˜2๐‘–๐‘— ) koji izrazavaju iskaze โ€žtim ๐‘˜1 igra protiv

tima ๐‘˜2 na terenu ๐‘– u nedelji ๐‘—โ€œ. Ogranicenja se izrazavaju formulom kojapredstavlja konjunkciju sledecih klauza:

1. na svakoj utakmici je redni broj prvog tima manji od rednog broja drugogtima:

ยฌ๐‘1๐‘˜1๐‘–๐‘— โˆจ ยฌ๐‘

2๐‘˜2๐‘–๐‘—

za sve 1 โ‰ค ๐‘– โ‰ค ๐‘›/2, 1 โ‰ค ๐‘— โ‰ค ๐‘›โˆ’ 1, 1 โ‰ค ๐‘˜1, ๐‘˜2 โ‰ค ๐‘›, takve da vazi ๐‘˜1 โ‰ฅ ๐‘˜2;

2. na svakom terenu svake nedelje odrzava se neka utakmica:

๐‘11๐‘–๐‘— โˆจ . . . โˆจ ๐‘1๐‘›๐‘–๐‘—

za sve 1 โ‰ค ๐‘– โ‰ค ๐‘›/2, 1 โ‰ค ๐‘— โ‰ค ๐‘›โˆ’1 (dovoljno je obezbediti da svake nedeljena svakom terenu igra barem jedan tim);

3. nijedan tim nijedne nedelje ne igra vise od jedne utakmice:

ยฌ๐‘๐‘Ÿ1๐‘™๐‘–1๐‘—โˆจ ยฌ๐‘๐‘Ÿ2๐‘™๐‘–2๐‘—

za sve 1 โ‰ค ๐‘–1, ๐‘–2 โ‰ค ๐‘›/2, 1 โ‰ค ๐‘— โ‰ค ๐‘›โˆ’ 1, 1 โ‰ค ๐‘Ÿ1, ๐‘Ÿ2 โ‰ค 2, 1 โ‰ค ๐‘™ โ‰ค ๐‘›, za kojevazi ๐‘–1 = ๐‘–2 ili ๐‘Ÿ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;

Page 154: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.4. Resavanje problema svodenjem na SAT 152

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 ko-je opisuje 4. korak). Iako je, i za relativno male vrednosti ๐‘›, taj broj klauzaveoma veliki, savremeni sat resavaci uspesno mogu ispitati zadovoljivost od-govarajucih formula.

Pazljivom analizom moze se pokazati da su neke od navedenih klauza redun-dantne. Ipak, ukoliko sam proces resavanja nije previse zahtevan, racionalno jemodelovanje odrzavati jednostavnim i lakim za razumevanje.

8.4.5 Verifikacija softveraZamislimo da se u nekoj softverskoj kompaniji radi na reviziji postojeceg ko-

da i, kako je on veoma vazan, potrebno ga je unaprediti โ€“ uciniti ga efikasnijimi citljivijim. Nekome se cini da je narednu funkciju f napisanu na programskomjeziku 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 isterezultate. Pogodno je u razmatranje uvesti i promenljive za medurezultate (jerprogramska promenljiva u toku izvrsavanja programa moze da menja vrednost,a iskazna promenljiva u okviru jedne formule uvek ima istu vrednost):

x1 = x ^ y;y1 = x1 ^ y;x2 = x1 ^ y1;

Page 155: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

153 8. Automatsko rasudivanje u iskaznoj logici

Kako funkcija g vraca vrednost n*n, gde je n nepromenjena vrednost para-metra, dovoljno je dokazati da za funkciju f vazi da pre naredbe return x * x;promenljiva x ima istu vrednost kao parametar y, tj. da je vrednost x2 jedna-ka vrednosti y, tj. da vazi x2 == y. Ako se iskoristi nacin na koji su zadatevrednosti medurezultata, ova jednakost postaje:

(x ^ y) ^ ((x ^ y) ^ y) == y

Ako pretpostavimo da tip int ima sirinu cetiri bajta, programske promen-ljive mozemo da predstavimo nizovima od po 4 ยท 8 = 32 iskazne promenljive.Onda izrazu (x ^ y) ^ ((x ^ y) ^ y) odgovara niz od 32 iskazne formulei za dokazivanje navedene jednakosti potrebno je dokazati da je svaka od 32formule koja odgovara izrazu (x ^ y) ^ ((x ^ y) ^ y) logicki ekvivalentnaodgovarajucoj iskaznoj promenljivoj iz reprezentacije programske promenljivey. U ovom konkretnom slucaju (a nije tako uvek), moze se primetiti da bitov-ski operator ^ (operator ekskluzivne disjunkcije) primenjen na dve vrednostidejstvuje samo bit-po-bit, tj. rezultat operacije primenjen na neka dva bitaoperanada ne utice na druge bitove rezultata. Zato se razmatranje navede-ne jednakosti moze svesti na razmatranje pojedinacnih bitova, te je dovoljnodokazati logicku ekvivalenciju (โˆจ oznacava veznik ekskluzivne disjunkcije):

(๐‘โˆจ๐‘ž)โˆจ((๐‘โˆจ๐‘ž)โˆจ๐‘ž) โ‰ก ๐‘ž

Kako je formula (๐‘โˆจ๐‘ž)โˆจ((๐‘โˆจ๐‘ž)โˆจ๐‘ž) โ‡” ๐‘ž zaista tautologija, navedena jednakostuvek je tacna, pa su funkcije f i g ekvivalentne i jedna moze biti zamenjenadrugom. (Primetimo da programska promenljiva x nije inicijalizovana u okvirufunkcije f, ali to ipak ne utice na rezultat rada funkcije.)

8.4.6 Provera ekvivalentnosti kombinatornih kolaIskazna logika ima primene u automatizaciji dizajna elektronskih kola, koje

ukljucuju simulaciju, minimizaciju i verifikaciju dizajna kola. Vrsta elektronskihkola koja je najpogodnija za primenu metoda iskazne logike su kombinatornakola โ€” mreze povezanih logickih elemenata kod kojih vrednosti izlaza zaviseiskljucivo od vrednosti ulaza. Logicki elementi predstavljaju elektronske im-plementacije logickih veznika. Takode, navedeno svojstvo vazi i za istinitosnevrednosti 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 uocenomanalogijom je provera ekvivalentnosti kombinatornih kola. Dva logicka kola suekvivalentna ukoliko za sve kombinacije vrednosti na svojim ulazima, daju isteizlaze.

Ova vrsta verifikacije je korisna u sledecem kontekstu. Kombinatorna kolamogu biti vrlo slozena i dizajniraju se u alatima koji podrzavaju neki od jezikaza opis hardvera kao sto su Verilog ili VHDL. Pre nego sto se na osnovu krei-ranog dizajna pristupi fizickoj implementaciji logickog kola, taj dizajn prolazi

Page 156: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.4. Resavanje problema svodenjem na SAT 154

kroz niz transformacija kojima se vrse optimizacije kola kako bi se ustedelo nanjegovoj povrsini, brzini i slicno. Svaki od koraka ovog postupka moze biti vrloslozen i iako alogoritmi na kojima pomenute transformacije pocivaju garantujuodrzanje korektnosti, usled slozenosti softvera u kojem su ti algoritmi imple-mentirani, uvek postoji mogucnost da je u nekom koraku napravljena greskai da finalni, optimizovani, dizajn kola vise nije ekvivalentan polaznom. Zbogtoga je pre fizicke izrade logickog kola potrebno proveriti ekvivalentnost po-laznog i finalnog dizajna kola. Treba primetiti da ustanovljena ekvivalentnostne garantuje funkcionalnu korektnost kola โ€” to da ono zaista radi ono sto bitrebalo. Medutim, i to je moguce ustanoviti proverom ekvivalentosti sa kolomza koje je poznato da je funkcionalno korektno, ukoliko takvo kolo postoji.

Provera ekvivalentnosti kombinatornih kola vrsi se tako sto se za svaki izlazkreiraju iskazne formule koje odgovaraju njegovom dizajnu u dva kola. Neka suto formule ๐น i ๐น โ€ฒ. Ukoliko su kola ekvivalentna, za sve kombinacije vrednostiulaza vrednosti ovih formula su jednake. U terminima iskaznih formula, zasvaku valuaciju ๐‘ฃ mora da vazi ๐ผ๐‘ฃ(๐น ) = ๐ผ๐‘ฃ(๐น

โ€ฒ). Dakle, formula ๐น โ‡” ๐น โ€ฒ morabiti tautologija, a formula ยฌ(๐น โ‡” ๐น โ€ฒ) nezadovoljiva. Zadovoljivost iskazneformule moze se proveriti pomocu sat resavaca. Ukoliko za svaki izlaz resavacustanovi da je ovakva formula nezadovoljiva, kola su ekvivalentna, a ukolikoustanovi da postoji zadovoljavajuca valuacija, ta valuacija predstavlja vrednostiulaza za koje se izlazi kola razlikuju, sto moze posluziti kao polazna tacka uotklanjanju greske.

Postupak provere ekvivalentnosti ilustrovacemo na primeru sabiraca (slika8.6, levo): ulazne vrednosti ๐‘Ž i ๐‘ su cifre brojeva koji se sabiraju, ๐‘ je prethodniprenos, a na izlazu je formula koja opisuje cifru zbira ๐‘ i formula koja opisujenovi prenos ๐‘„. Pretpostavimo da je optimizovanjem kola na slici dobijeno drugokolo (slika 8.6, desno): ulazne vrednosti ๐‘Ž i ๐‘ su cifre brojeva koji se sabiraju,๐‘ je prethodni prenos, a na izlazu su formule koje opisuju cifru zbira ๐‘ โ€ฒ i noviprenos ๐‘„โ€ฒ. Na osnovu dizajna, za svaki izlaz moze se kreirati iskazna formulakoja mu odgovara:

๐‘ = (ยฌ๐‘Ž โˆง ๐‘ โˆง ยฌ๐‘) โˆจ (๐‘Ž โˆง ยฌ๐‘ โˆง ยฌ๐‘) โˆจ (ยฌ๐‘Ž โˆง ยฌ๐‘ โˆง ๐‘) โˆจ (๐‘Ž โˆง ๐‘ โˆง ๐‘)

๐‘„ = (๐‘Ž โˆง ๐‘) โˆจ (๐‘ โˆง ๐‘) โˆจ (๐‘Ž โˆง ๐‘)

๐‘ โ€ฒ = (๐‘Žโˆจ๐‘)โˆจ๐‘

๐‘„โ€ฒ = (๐‘Ž โˆง ๐‘) โˆจ (๐‘Žโˆจ๐‘) โˆง ๐‘

Kola su ekvivalentna ukoliko su formule ยฌ(๐‘ โ‡” ๐‘ โ€ฒ) i ยฌ(๐‘„โ‡” ๐‘„โ€ฒ) nezadovo-ljive. Treba imati u vidu da formule koje se dobijaju iz ovakvih primena moguimati i desetine hiljada pa i stotine hiljada promenljivih, ali da sat resavaciipak uspevaju da provere njihovu zadovoljivost (pre svega zahvaljujuci nekimpravilnostima u strukturi tih formula, a koje se u toku procesa resavanja mogunauciti i iskoristiti).

Page 157: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

155 8. Automatsko rasudivanje u iskaznoj logici

๐‘Ž ๐‘ ๐‘

๐‘„

๐‘

๐‘Ž

๐‘

๐‘

๐‘„โ€ฒ

๐‘โ€ฒ

Slika 8.6: Osnovni i optimizovani dizajn sabiraca.

8.4.7 Ogranicena provera modela

Jedna od najkoriscenijih tehnika u verifikaciji hardvera i softvera je ograni-cena provera modela (eng. bounded model checking). Funkcionisanje hardvera ilisoftvera se moze apstraktno opisati konacnim automatima cija stanja opisujustanja sistema koji se izucava, a grane moguce prelaske sistema iz stanja u sta-nje. Takav konacni automat predstavlja model sistema koji se analizira. Jedanod ciljeva verifikacije je dokazivanje da sistem zadovoljava odredena svojstva,poput svojstva da nikad nece doci u stanje koje predstavlja gresku ili bezbed-nosni rizik. Za sistem koji pruza odgovore na zadate zahteve, primer takvogsvojstva je da, nakon stanja u kojem je primljen zahtev, sistem sigurno dolazi uneko stanje u kojem ce trazeni odgovor biti dat. Ispitivanje ovakvih svojstava,koje se naziva proverom modela, moze predstavljati neodluciv problem. Stogase u praksi obicno koristi ogranicena provera modela koja se svodi na dokazi-vanje da neko svojstvo vazi u svim stanjima u koja se iz polaznog stanja mozedospeti u najvise ๐‘˜ prelaza.

Da bi se sprovela ogranicena provera modela tehnikom svodenja na sat,prvo je potrebno uociti kako se stanja mogu modelovati iskaznim promenlji-vim. Potom je potrebno iskaznim formulama nad tim promenljivim zapisatizeljeno svojstvo, polazne pretpostavke i nacin na koji se promenljive menjajuprilikom prelaska iz stanja u stanje. Potom se, kao i obicno, formule resavajusat resavacem.

Page 158: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.4. Resavanje problema svodenjem na SAT 156

๐‘๐‘ข๐‘™๐‘ ๐‘’

๐ท

๐ท

๐‘1

๐‘0

Slika 8.7: Dizajn brojaca koji broji ciklicno od 0 do 2.

๐‘๐‘–1 ๐‘๐‘–0 ๐‘๐‘–+11 ๐‘๐‘–+1

0

0 0 0 10 1 1 01 0 0 01 1 1 0

Tabela 8.3: Tablica prelaska brojaca koji broji od 0 do 2.

Ogranicenu proveru modela cemo ilustrovati na primeru dvobitnog bro-jaca prikazanog na slici 8.7. Ulaz ๐‘๐‘ข๐‘™๐‘ ๐‘’ daje signal brojacu (tj. njegovim flip-flopovima) kad treba da izracuna nove vrednosti izlaza ๐‘0 i ๐‘1. Te izlaznevrednosti bice kasnije upotrebljene kao nove ulazne vrednosti flip-flopova. Ne-ka su na izlazima ๐‘0 i ๐‘1, na primer, vrednosti 0 i 0. Kada stigne signal ๐‘๐‘ข๐‘™๐‘ ๐‘’,flip-flopovi se aktiviraju, ๐‘1 dobija vrednost 0, a ๐‘0 dobija vrednost izlaza NORkola za ulaze 0 i 0, tj. vrednost 1. Dakle, ako su ulazne vrednosti (๐‘1, ๐‘0) jed-nake (0, 0), izlazne su (0, 1). Slicno, ako su ulazne vrednosti (0, 1), izlazne su(1, 0). Generalno, ako je stanje u trenutku ๐‘– opisano bitovima ๐‘๐‘–0 i ๐‘๐‘–1, iz di-zajna brojaca sledi da za svaka dva uzastopna stanja vazi: ๐‘๐‘–+1

0 โ‰ก ยฌ๐‘๐‘–0 โˆง ยฌ๐‘๐‘–1i ๐‘๐‘–+1

1 โ‰ก ๐‘๐‘–0. Ponasanje brojaca sazeto je dato tabelom prelaska prikazanoj naslici 8.3. Kao sto se vidi iz tabele, ako se krece od stanja (0, 0), ide se u stanje(0, 1), pa u stanje (1, 0), pa u stanje (0, 0), i to se ciklicno ponavlja. Ako sestanja razmatraju kao brojevi u binarnom zapisu, od stanja 0 ide se u stanje1, pa u stanje 2, pa u stanje 0 i to se ciklicno ponavlja, te se zato opisano kolonaziva brojac.

Cilj je dokazati da ako brojac zapocne brojanje od bilo kog stanja (tj. bro-ja) koje nije 3, onda nikada nece doci do broja 3. Zeljeno svojstvo opisuje seformulom ยฌ๐‘๐‘–0 โˆจ ยฌ๐‘๐‘–1. Uslov koji vazi u polaznom stanju je ยฌ๐‘00 โˆจ ยฌ๐‘01. Da bise pokazalo da stanje ๐‘˜ ne odgovara broju 3, treba ustanoviti da je sledecaformula nezadovoljiva:

(ยฌ๐‘00 โˆจ ยฌ๐‘01) โˆง (๐‘10 โ‡” ยฌ๐‘00 โˆง ยฌ๐‘01) โˆง (๐‘11 โ‡” ๐‘00) โˆง . . .

Page 159: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

157 8. Automatsko rasudivanje u iskaznoj logici

โˆง(๐‘๐‘˜0 โ‡” ยฌ๐‘๐‘˜โˆ’10 โˆง ยฌ๐‘๐‘˜โˆ’1

1 ) โˆง (๐‘๐‘˜1 โ‡” ๐‘๐‘˜โˆ’10 ) โˆง (๐‘๐‘˜0 โˆง ๐‘๐‘˜1)

Prvi konjunkt u gornjoj konjunkciji predstavlja polazni uslov, potom sledepo dva konjunkta koji opisuju prelaske izmedu susednih stanja, a poslednjikonjunkt izrazava negaciju zeljenog svojstva u poslednjem stanju. Ukoliko jeformula zadovoljiva za neko ๐‘˜, to znaci da postoji put od polaznog stanjakojim se moze doci do stanja koje ne zadovoljava trazeno svojstvo. U tomslucaju, dobijena valuacija odredivala bi stanja preko kojih se moze doci doproblematicnog stanja, sto moze pomoci u pronalazenju greske u analiziranomsistemu. U nasem primeru, navedena formula nezadovoljiva je za svako ๐‘˜ (alito opste svojstvo ne moze se utvrditi sat resavacem).

8.4.8 Link gramatikeLink gramatike (eng. link grammars) su sintaksicki model prirodnog jezika

u kojem se parovi reci povezuju vezama. U recniku konkretnog jezika, svakojreci jezika pridruzena je lista mogucih konektora razlicitih tipova, od kojih nekipovezuju ulevo a neki udesno. Konektori koji povezuju udesno oznacavaju seznakom โ€ž+โ€œ, a konektori koji povezuju ulevo oznacavaju se znakom โ€žโˆ’โ€œ. Dvereci u recenici mogu biti povezane vezom ako postoji konektor koji levu recpovezuje udesno i konektor istog tipa koji desnu rec povezuje ulevo. Na primer,rec โ€žbigโ€œ moze da ima konektor A+, a rec โ€žcatโ€œ konektor A-, sto omogucavakreiranje fraze โ€žbig catโ€œ. Povezivanje se odnosi na konkretna pojavljivanja nekereci, pa ukoliko neka rec ima dva pojavljivanja, ta dva pojavljivanja razmatrajuse potpuno nezavisno.

Reci mogu da budu povezane sa vise reci i ulevo i udesno. Pojedinacnimrecima pridruzena su i dodatna pravila koja konjunkcijama i disjunkcijama po-vezuju moguce konektore. Ovakvi opisi mogu da sadrze proizvoljno ugnjezdenedisjunkcije i konjunkcije. Na primer, rec โ€žcatโ€œ moze da bude opisana na sledecinacin:

cat (Ds- and (Ss+ or SIs-)) or (A- and Ds- and (Ss+ or SIs-))

Ovaj opis znaci da rec โ€žcatโ€œ mora imati konektor Ds ulevo i, istovremeno,konektor Ss udesno ili SIs ulevo ili, alternativno, konektore A i Ds ulevo i,istovremeno, konektor Ss udesno ili SIs ulevo.

Niz reci cini ispravnu recenicu jezika definisanog gramatikom ako postojinacin da se povezu njegove reci tako da vaze sledeci uslovi:

โ€ข povezanost: vezama su povezane sve reci u recenici;

โ€ข zadovoljenje: 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 over the lazy dogโ€œ:

Page 160: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.4. Resavanje problema svodenjem na SAT 158

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 postojatioko stotinu vrsta konektora). Za engleski jezik, na primer, konektor Ds povezujeclan (the ili a) sa imenicom u jednini, konektor A povezuje atribut sa imenicom,konektor Ss povezuje imenicu-subjekat u jednini sa glagolom, konektor O po-vezuje glagole sa svojim imenicom-objektom. Imena konektora su mnemonickai asociraju na svoje znacenje. Na primer, ime Ds je skovano od engleskih reciโ€ždeterminerโ€œ (sto znaci odredivac) i โ€žsingularโ€œ (sto znaci jednina).

Parser zasnovan na link gramatikama je algoritam koji zadatoj recenici pri-druzuje sintaksicku strukturu sacinjenu od skupa veza izmedu parova reci. Po-znavanje sintaksicke strukture recenice omogucava njeno โ€žrazumevanjeโ€œ, daljuautomatsku obradu, automatsko prevodenje na drugi jezik i slicno.

Prilikom parsiranja recenice potrebno je ispitati veliki broj mogucih pove-zivanja reci. Naime, za svaku rec u recenici potrebno je razmatrati sve mogucekonektore zadate opisom te reci u recniku. Onda je potrebno ispitati da li jetako izabrane konektore moguce povezati na ispravan nacin. Posto se svi uslovimogu svesti na uslove da ima ili nema nekog konektora i ima ili nema neke veze,ocigledno je da se ovakvo parsiranje prirodno moze svesti na problem sat. I,zaista, parseri za link gramatike cesto koriste taj pristup.

Ilustrujmo, pojednostavljeno, na primeru recenice na engleskom jeziku โ€žthebig cat chased Johnโ€œ parsiranje koriscenjem link gramatika. Pretpostavimo daje raspoloziv sledeci sadrzaj recnika:

the Ds+ or Dp+big A+cat (Ds- and (Ss+ or SIs-)) or

(A- and (Ds- and (Ss+ or SIs-)))chased ((Ss- or T-) and O+) or V-John O- or (A- and O-)

Modelujmo iskaznim promenljivim i iskaznim formulama finalno ispravnopovezivanje reci date recenice. Neka iskazna promenljiva K[the, Ds+] oznacavada ce u finalnom povezivanju rec โ€žtheโ€œ (prva rec u recenici, uvek se mislina jednu konkretnu) biti povezana udesno konektorom Ds, neka K[the, Dp+]oznacava da ce u finalnom povezivanju rec โ€žtheโ€œ biti povezana udesno konekto-rom Dp, neka K[cat, (Ds- and (Ss+ or SIs-))] oznacava da ce u finalnompovezivanju rec โ€žcatโ€œ biti povezana tako da zadovoljava uslov (Ds- and (Ss+or SIs-)) i tako dalje. Zbog uslova povezanosti i uslova zadovoljenja morajubiti zadovoljeni uslovi:

K[the, Ds+] โˆจ K[the, Dp+]

Page 161: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

159 8. Automatsko rasudivanje u iskaznoj logici

K[big, A+]K[cat, Ds- and (Ss+ or SIs-)] โˆจ

K[cat, (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 formule

koje opisuju logicku strukturu pravila, na primer:K[cat, Ds- and (Ss+ or SIs-)] โ‡”

K[cat, Ds-] โˆง (K[cat, Ss+] โˆจ K[cat, SIs-])Neka iskazna promenljiva V[the-Ds-cat] oznacava da ce u finalnom pove-

zivanju reci โ€žtheโ€œ i โ€žcatโ€œ biti povezane konektorom Ds. Za svaki par reci koji imaisti konektor usmeren u dva smera, zbog uslova ispravnog povezivanja potrebnoje dodati formule poput:

V[the-Ds-cat] โ‡’ K[the, Ds+] โˆง K[cat, Ds-]Ukoliko bi u recenici postojala jos neka rec sa konektorom Ds- (na primer,

โ€ždogโ€œ), moralo bi da se obezbedi da se (jedna konkretna) rec โ€žtheโ€œ povezujesamo 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 โ€žcatโ€œ i istovremenoreci โ€žbigโ€œ i โ€žJohnโ€œ:ยฌ (V[the-Ds-cat] โˆง 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 povezi-vanje, tj. parsiranje zadate recenice. U navedenom primeru, model je valuacija๐‘ฃ u kojoj vazi:

๐‘ฃ(V[the-Ds-cat]) = 1๐‘ฃ(V[big-A-cat]) = 1๐‘ฃ(V[cat-Ss-chased]) = 1๐‘ฃ(V[chased-O-John]) = 1

sto daje ispravno povezivanje ilustrovano sledecom slikom:

the big cat chased John

A

Ds

Ss O

Izrazajna snaga link gramatika jednaka je izrazajnoj snazi konteksno slo-bodnih gramatika, ali je opisivanje gramatike prirodnog jezika i parsiranje cestoznatno lakse za link gramatike.

Recnici potrebni za parsiranje razlikuju se, naravno, od jezika do jezika.Njihovo kreiranje, posebno za prirodne jezike, zahtevan je zadatak.

Page 162: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

8.4. Resavanje problema svodenjem na SAT 160

8.4.9 SAT resavaci i dimacs-cnf formatKao sto je vec receno, sat resavaci (eng. sat solvers) su programi koji

resavaju instance sat problema. Vecina savremenih sat resavaca zasnovana jena DPLL proceduri, ali je obogacena mnogim tehnikama i heuristikama. Nekiod popularnih sat resavaca su MiniSAT, PicoSAT i zChaff.

sat resavaci obicno ocekuju ulaz u dimacs-cnf formatu. U ovom formatu,prvi red sadrzi informaciju o broju iskaznih promenljivih i broju klauza, anaredni redovi sadrze zapis po jedne klauze. Promenljive su oznacene rednimbrojevima, negirane promenljive odgovarajucim negativnim brojevima i svakired zavrsava se brojem 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).

Page 163: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 9

Automatsko rasudivanje u logiciprvog reda

Logika prvog reda, predikatska logika (eng. first order logic, predicate logic),znatno je izrazajnija od iskazne logike. Kljucna novina u odnosu na iskaznulogiku je uvodenje kvantifikovanja, univerzalnog i egzistencijalnog. Zahvaljujucikvantifikatorima, u logici prvog reda mogu se formulisati tvrdenja koja nijemoguce formulisati na jeziku iskazne logike. U logici prvog reda dozvoljeno jesamo kvantifikovanje promenljivih.1 U okviru logike prvog reda mogu se opisatimnoge matematicke teorije i mnogi prakticni problemi. Za neke probleme (nadkonacnim domenima) pogodnije je resavanje koriscenjem iskazne logike, ali zaneke je opisivanje i resavanje znatno lakse koriscenjem predikatske logike.

Kao i u iskaznoj logici, centralni problemi u predikatskoj logici su ispitivanjeda li je data formula valjana i da li je data formula zadovoljiva. Za razliku odiskazne logike, ovi problemi nisu odlucivi, te ne postoje efektivni algoritmi zanjihovo resavanje. No, problem ispitivanja nezadovoljivosti i problem ispitivanjavaljanosti za predikatsku logiku su poluodlucivi, pa postoje metode koje zasvaku valjanu formulu mogu da dokazu da je ona valjana (ali ne mogu za bilokoju formulu koja nije valjana da utvrde da nije valjana).

Primer 9.1. Razmotrimo jednu jednostavnu varijantu problema slaganjakutija: kutije (oznacene slovima) poredane su jedna na drugu. Za neke sezna da li su ispod ili iznad neke druge kutije, ali nije zadata potpuna infor-macija o poretku svih kutija. U ovom jednostavnom primeru dovoljno je

1U logici viseg reda predikati i funkcije kao argumente mogu imati druge predikate ifunkcije i dozvoljeno je njihovo kvantifikovanje. Na primer, u logici drugog reda predikati ifunkcije mogu za argumente imati predikate i funkcije prvog reda i mogu biti kvantifikovani.Predikati i funkcije reda ๐‘› mogu za argumente imati predikate i funkcije reda ๐‘›โˆ’ 1 i mogubiti kvantifikovani.

161

Page 164: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

162

baratati informacijama o tome koja je kutija iznad neke kutije. Ipak, kori-ste se i informacije o odnosu ispod, cime se ilustruju pogodnosti upotrebejezika koji nije minimalni. U mnogim realnim primenama, od minimalnogjezika znatno je pogodniji neki izrazajniji jezik.

๐ถ

๐ด

๐ต

Pretpostavimo da su nekako naslagane tri kutije ๐ด, ๐ต i ๐ถ i da je po-znato da je ๐ต iznad ๐ด, a da je ๐ถ ispod ๐ด. Pitanje je da li je ๐ต iznadili ispod ๐ถ. Opisani problem mozemo opisati u terminima iskazne logike:iskazna promenljiva ๐‘Ž๐ด๐ต (od engleskog above) moze da oznacava da je ๐ดiznad ๐ต, ๐‘Ž๐ด๐ถ da je ๐ด iznad ๐ถ, ๐‘Ž๐ต๐ด da je ๐ต iznad ๐ด, ๐‘๐ต๐ถ (od engleskogbelow) da je ๐ต ispod ๐ถ, itd. Potrebno je za svake dve kutije obezbediti davazi da ako je prva iznad druge, onda druga nije iznad prve, na primer, zakutije ๐ด i ๐ต vazi: ๐‘Ž๐ด๐ต โ‡’ ยฌ๐‘Ž๐ต๐ด. Potrebno je za svake dve kutije obezbeditida vazi da ako je prva iznad druge, onda je druga ispod prve i obratno, naprimer, za kutije ๐ด i ๐ต vazi: ๐‘Ž๐ด๐ต โ‡” ๐‘๐ต๐ด. Potrebno je za svake tri kutijeobezbediti da vazi: ako je prva iznad druge i druga iznad trece, onda je prvaiznad trece, na primer, za kutije ๐ด, ๐ต i ๐ถ vazi: ๐‘Ž๐ด๐ต โˆง ๐‘Ž๐ต๐ถ โ‡’ ๐‘Ž๐ด๐ถ . Akopostoje tri kutije, onda ovakvih uslova ima 3! = 6, a ako ih ima ๐‘›, onda tihuslova 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 re-da daje takvu mogucnost i zadati problem mogao bi da se elegantno opisesledecim uslovima, pri cemu se ne koriste iskazne promenljive poput ๐‘Ž๐ด๐ต

nego atomicke formule sa argumentima poput ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐ด,๐ต) i ๐‘๐‘’๐‘™๐‘œ๐‘ค(๐ด,๐ต),pri cemu ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐ด,๐ต) oznacava da je ๐ด iznad ๐ต, a ๐‘๐‘’๐‘™๐‘œ๐‘ค(๐ด,๐ต) oznacavada 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 ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ง) ondaje ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ง)โ€œ.

Page 165: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

163 9. Automatsko rasudivanje u logici prvog reda

Za sve navedene, a i druge slicne formule, potrebno je definisati nacinna koji im se pridruzuje vrednost tacno ili netacno.

Za resavanje pocetnog problema, potrebno je iz navedenih uslova i izpretpostavki da vazi ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐ต,๐ด) i ๐‘๐‘’๐‘™๐‘œ๐‘ค(๐ถ,๐ด) izvesti zakljucak ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐ต,๐ถ)ili ๐‘๐‘’๐‘™๐‘œ๐‘ค(๐ต,๐ถ).

9.1 Sintaksa i semantika logike prvog reda

Sintaksa logike prvog reda govori o njenom jeziku โ€” o skupu njenih (isprav-no formiranih) formula i ne razmatra njihovo znacenje i njihove (moguce) isti-nitosne vrednosti. Znacenje formula logike prvog reda uvodi semantika logikeprvog reda.

9.1.1 Sintaksa logike prvog reda

Skup formula logike prvog reda obicno se definise za fiksiran, prebrojiv skuppromenljivih ๐‘‰ , dve logicke konstante โ€” โŠค (te) i โŠฅ (nete), konacan skup osnov-nih logickih veznika: unarnog โ€” negacija i binarnih โ€” konjunkcija, disjunkcija,implikacija, ekvivalencija, kao i dva kvantifikatora (kvantora) โ€” univerzalni iegzistencijalni. Nabrojane komponente cine logicki (ili opsti) deo jezika prvogreda. Pored njih, u izgradnji formula logike prvog reda koriste se elementi sig-nature.

Definicija 9.1 (Signatura). Signaturu โ„’ cine:

โ€ข (najvise prebrojiv) skup funkcijskih simbola (sa svojim arnostima);

โ€ข (najvise prebrojiv) skup predikatskih (relacijskih) simbola (sa svojimarnostima).

Funkcijske simbole arnosti 0 zovemo simbolima konstanti.

Funkcijski simbol ๐‘“ koji ima arnost 2 zapisujemo nekad i kao ๐‘“/2.Pojedinacni jezici prvog reda razliku se po signaturi. Za svaki zaseban pro-

blem (ili matematicku teoriju) bira se specificna, pogodna signatura. Na primer,za resavanje problema kutija (iz primera 9.1), koristice se predikatski simbolikoji odgovaraju polozajima ispod i iznad, u izgradnji geometrije koristice sepredikatski simbol za paralelnost, a u izgradnji aritmetike โ€“ funkcijski simbol+.

Naredna definicija uvodi pojmove termova i formula logike prvog reda (ilikrace โ€“ skup formula) nad nekom (fiksiranom) signaturom โ„’. Termove, atomic-ke formule i formule nad signaturom โ„’ zvacemo, krace, samo termovi (eng. terms),atomicke formule (eng. atomic formulae) i formule (eng. formulae), ako je sig-natura jasno odredena kontekstom ili ako nije relevantna. Intuitivno, termovi

Page 166: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.1. Sintaksa i semantika logike prvog reda 164

odgovaraju elementima nekog domena (na primer, zbiru moze da odgovarabroj), a formulama odgovaraju tvrdenja koja mogu biti tacna ili netacna.

Definicija 9.2 (Skup termova i formula logike prvog reda nad signaturomโ„’). Za signaturu โ„’:

โ€ข promenljive i funkcijski simboli arnosti 0 su termovi; term je i obje-kat dobijen primenom funkcijskog simbola ๐‘“ arnosti ๐‘› na termove๐‘ก1, . . . , ๐‘ก๐‘›; termovi mogu biti dobijeni samo na opisane nacine.

โ€ข atomicka formula je logicka konstanta ili objekat dobijen primenompredikatskog simbola ๐‘ arnosti ๐‘› na termove ๐‘ก1, . . . , ๐‘ก๐‘›;

โ€ข atomicke formule su formule;

โ€ข ako su ๐’œ i โ„ฌ formule, onda su formule i objekti dobijeni kombino-vanjem ovih formula logickim veznicima i kvantifikatorima (sa pro-menljivim);

โ€ข formule mogu biti dobijene samo na nacine opisane u prethodne dvestavke.

Literal (eng. literal) je atomicka formula ili negacija atomicke formule. Kla-uza (eng. clause) je disjunkcija vise literala.

U navedenoj definiciji (u duhu apstraktne sintakse) ne govori se o tomekako se zapisuju ili citaju formule logike prvog reda, vec samo o tome kakose grade na apstraktan nacin (implicitno โ€” u vidu stabla). Nacin na koji selogicki veznici i iskazne formule zapisuju moze se zadati konkretnom sintak-som. Analogno iskaznom slucaju, uobicajeno je da se negacija zapisuje kao ยฌ,konjunkcija kao โˆง, disjunkcija kao โˆจ, implikacija kao โ‡’, ekvivalencija kao โ‡”,univerzalni kvantifikator kao โˆ€, egzistencijalni kao โˆƒ. Primenu funkcijskog sim-bola ๐‘“ na termove ๐‘ก1, . . . , ๐‘ก๐‘› zapisujemo prefiksno kao ๐‘“(๐‘ก1, . . . , ๐‘ก๐‘›) (i analognoza predikatske simbole). Binarne funkcijske i predikatske simbole ponekad cemozapisivati i u infiksnom obliku. U ovakvom konkretnom zapisu (koji ce se kori-stiti u nastavku) ako su ๐’œ i โ„ฌ formule i ๐‘ฅ element skupa ๐‘‰ , onda su formulei (ยฌ๐’œ), (๐’œ โˆง โ„ฌ), (๐’œ โˆจ โ„ฌ), (๐’œ โ‡’ โ„ฌ), (๐’œ โ‡” โ„ฌ), (โˆ€๐‘ฅ)๐’œ, (โˆƒ๐‘ฅ)๐’œ i slicno. Na pri-mer, zapis (โˆ€๐‘ฅ)๐’œ citamo โ€žza svako ๐‘ฅ ๐’œโ€œ, zapis (โˆƒ๐‘ฅ)๐’œ citamo โ€žpostoji ๐‘ฅ takvoda je ๐’œโ€œ, U ovakvom, konkretnom zapisu, neophodno je koristiti zagrade kakobi se izbegla visesmislenost. Da bi se izbeglo koriscenje velikog broja zagra-da obicno se izostavljaju spoljne zagrade a i podrazumeva se prioritet veznikakao u iskaznoj logici, uz dodatak da kvantifikatori imaju visi prioritet od svihveznika.

Uz indeks ili bez indeksa, simbole konstanti obicno (mada ne iskljucivo)oznacavamo simbolima ๐‘Ž, ๐‘, ๐‘, . . . , funkcijske simbole arnosti vece od 0 simboli-ma ๐‘“, ๐‘”, โ„Ž, . . . , predikatske simbole simbolima ๐‘, ๐‘ž, ๐‘Ÿ, . . . , promenljive simbolima๐‘ฅ, ๐‘ฆ, ๐‘ง, . . . , formule simbolima ๐’œ,โ„ฌ, ๐’ž, . . . , skupove formula simbolima ฮ“,ฮ”, . . .

Page 167: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

165 9. Automatsko rasudivanje u logici prvog reda

Ako su dve formule ๐’œ i โ„ฌ identicne (tj. ako su, zapisane u konkretnojsintaksi, jednake kao nizovi simbola), onda to oznacavamo ๐’œ = โ„ฌ a inacepisemo ๐’œ = โ„ฌ.

Primer 9.2. Signatura za problem iz primera 9.1 je โ„’ = ({}, {๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’/2,๐‘๐‘’๐‘™๐‘œ๐‘ค/2}). Za ovu signaturu i skup promenljivih ๐‘‰ = {๐‘ฅ, ๐‘ฆ, ๐‘ง, . . . }, nekeod formula su ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ง), ๐‘๐‘’๐‘™๐‘œ๐‘ค(๐‘ฅ, ๐‘ฆ), โˆ€๐‘ฅ ยฌ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฅ).

Primer 9.3. Za signaturu โ„’ = ({๐‘’/0, โ‹†/2}, {โ‰บ/2}), i skup promenljivih๐‘‰ = {๐‘ฅ, ๐‘ฆ, ๐‘ง, . . . }, neki od termova su: ๐‘’, โ‹†(๐‘ฅ, ๐‘ฆ), a neke od formula suโ‰บ (๐‘ฅ, ๐‘’), โ‰บ (โ‹†(๐‘ฅ, ๐‘ฆ), ๐‘ง), โˆ€๐‘ฅยฌ(โ‰บ (๐‘ฅ, ๐‘ฅ)). Ukoliko se binarni funkcijski i pre-dikatski simboli zapisu infiksno (umesto prefiksno), onda se navedeni ter-movi i formule zapisuju na sledeci nacin: ๐‘’, ๐‘ฅ โ‹† ๐‘ฆ, ๐‘ฅ โ‰บ ๐‘’, (๐‘ฅ โ‹† ๐‘ฆ) โ‰บ ๐‘ง,โˆ€๐‘ฅ ยฌ(๐‘ฅ โ‰บ ๐‘ฅ).

Primer 9.4. Neki od termova nad signaturom โ„’ = ({๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก/0}, {๐‘š๐‘Ž๐‘›/1,๐‘š๐‘œ๐‘Ÿ๐‘ก๐‘Ž๐‘™/1}) i skupom promenljivih ๐‘‰ = {๐‘ฅ, ๐‘ฆ, ๐‘ง, . . . } su: ๐‘ฅ, ๐‘ฆ, ๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก. Nekeod atomickih formula su ๐‘š๐‘Ž๐‘›(๐‘ฅ), ๐‘š๐‘œ๐‘Ÿ๐‘ก๐‘Ž๐‘™(๐‘ฆ), ๐‘š๐‘œ๐‘Ÿ๐‘ก๐‘Ž๐‘™(๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก), a neke odformula su โˆ€๐‘ฅ ๐‘š๐‘Ž๐‘›(๐‘ฅ) i โˆ€๐‘ฅ (๐‘š๐‘Ž๐‘›(๐‘ฅ)โ‡’ ๐‘š๐‘œ๐‘Ÿ๐‘ก๐‘Ž๐‘™(๐‘ฅ)).

Primer 9.5. U neformalnom i poluformalnom matematickom izrazavanju,mogu se sresti konstrukcije poput โˆ€๐‘ฅ < ๐›ฟ . . . Iako, po simbolima kojeukljucuje, podseca na formulu logike prvog reda, ovo ocigledno nije dobrozasnovana 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 9.3 (Slobodno i vezano pojavljivanje promenljive). U formu-lama โˆ€๐‘ฅ๐’œ i โˆƒ๐‘ฅ๐’œ, formula ๐’œ je doseg kvantifikatora.

Pojavljivanje promenljive ๐‘ฅ je vezano u โˆ€๐‘ฅ i โˆƒ๐‘ฅ, kao i ako je u dosegu

Page 168: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.1. Sintaksa i semantika logike prvog reda 166

kvantifikatora โˆ€๐‘ฅ ili โˆƒ๐‘ฅ, a inace je slobodno. Promenljiva je vezana (slo-bodna) u formuli ako i samo ako ima vezano (slobodno) pojavljivanje utoj formuli.

Primetimo da promenljiva moze biti i slobodna i vezana u jednoj formuli.

Primer 9.6. U formuli ๐‘(๐‘ฅ, ๐‘ฆ), pojavljivanje promenljive ๐‘ฅ je slobodno iona je slobodna u ovoj formuli.

U formuli ๐‘(๐‘ฅ, ๐‘ฆ) โ‡’ (โˆ€๐‘ฅ)๐‘ž(๐‘ฅ) prvo pojavljivanje promenljive ๐‘ฅ je slo-bodno, a drugo i trece pojavljivanje je vezano. U ovoj formuli, promenljiva๐‘ฅ je i slobodna i vezana.

U formuli (โˆ€๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ) โ‡’ (โˆ€๐‘ฅ)๐‘ž(๐‘ฅ), sva pojavljivanja promenljive ๐‘ฅ suvezana i promenljiva je vezana u ovoj formuli.

U sva tri primera, pojavljivanja promenljive ๐‘ฆ su slobodna.

Cesto se zapisom ๐’œ(๐‘ฅ1, ๐‘ฅ2, . . . , ๐‘ฅ๐‘›) naglasava da formula ๐’œ ima slobodnepromenljive ๐‘ฅ1, ๐‘ฅ2, . . . , ๐‘ฅ๐‘›.

Priroda vezanih promenljivih u formuli bitno je drugacija od prirode slobod-nih promenljivih. Naime, znacenje formule (โˆ€๐‘ฅ)๐’œ(๐‘ฅ) (koje ce tek u nastavkubiti definisano) ne zavisi od ๐‘ฅ i isto je kao i znacenje formule (โˆ€๐‘ฆ)๐’œ(๐‘ฆ) (slicnokao sto vrednost

โˆซ ๐œ‹

0sin(๐‘ฅ)๐‘‘๐‘ฅ ne zavisi od ๐‘ฅ, iako ๐‘ฅ figurise u ovom izrazu).

Dakle, sva pojavljivanja vezanih promenljivih mogu se preimenovati, bez uti-caja na znacenje formule. Na primer, formula ๐‘(๐‘ฅ, ๐‘ฆ) โ‡’ (โˆ€๐‘ฅ)๐‘ž(๐‘ฅ) iz primera9.6 ima isto znacenje (koje ce biti precizno definisano u nastavku), kao i for-mula ๐‘(๐‘ฅ, ๐‘ฆ)โ‡’ (โˆ€๐‘ง)๐‘ž(๐‘ง). S druge strane, znacenje formula zavisi od slobodnihpromenljivih u njima.

Formule bez slobodnih promenljivih zovu se zatvorene formule ili recenice.Ako formula ๐’œ ima kao slobodne samo promenljive ๐‘ฅ1, ๐‘ฅ2, . . . , ๐‘ฅ๐‘˜ onda for-mulu (โˆ€๐‘ฅ1)(โˆ€๐‘ฅ2) . . . (โˆ€๐‘ฅ๐‘˜)๐’œ nazivamo univerzalnim zatvorenjem formule ๐’œ, aformulu (โˆƒ๐‘ฅ1)(โˆƒ๐‘ฅ2) . . . (โˆƒ๐‘ฅ๐‘˜)๐’œ egzistencijalnim zatvorenjem formule ๐’œ.

9.1.2 ZamenaU logici prvog reda, razmatramo zamene promenljive termom i zamene for-

mule formulom. Zamene promenljive termom bice koriscene u kontekstu uni-fikacije (poglavlje 9.3.3), a zamene formule formulom u kontekstu transformi-sanja formula zarad jednostavnijeg ispitivanja valjanosti ili zadovoljivosti. Udaljem tekstu cemo pod terminom izraz podrazumevati i termove i formule.Izraz koji je rezultat primene zamene ๐œŽ nad izrazom ๐ธ, oznacavamo sa ๐ธ๐œŽ.

Zamena promenljive termom definise se u logici prvog reda u istom duhukao u iskaznoj logici: ako termove i formule reprezentujemo u racunarskomprogramu u vidu stabla, onda zamenu promenljive termom mozemo opisatirekurzivnom funkcijom koja sve listove formule koji odgovaraju zadatoj pro-menljivoj zamenjuje nekim drugim zadatim stablom. U tome postoji jedno

Page 169: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

167 9. Automatsko rasudivanje u logici prvog reda

dodatno pravilo. Ukoliko se primenjuje zamena promenljive ๐‘ฅ termom ๐‘ก, kojuoznacavamo [๐‘ฅ โ†ฆโ†’ ๐‘ก], nijedna promenljiva iz ๐‘ก ne sme da postane vezana (jerbi to menjalo znacenje formule). Zato, ako se, na primer, primenjuje zamena[๐‘ฅ โ†ฆโ†’ ๐‘ก] na formulu (โˆ€๐‘ฆ)๐’œ (ili (โˆƒ๐‘ฆ)๐’œ) a pri tome term ๐‘ก sadrzi promenlji-vu ๐‘ฆ, onda promenljivu ๐‘ฆ najpre treba preimenovati u formuli (โˆ€๐‘ฆ)๐’œ, dajuci(โˆ€๐‘ง)๐’œ[๐‘ฆ โ†ฆโ†’ ๐‘ง] (gde je ๐‘ง neka promenljiva koja se ne pojavljuje ni u ๐’œ ni u ๐‘ก).Time se znacenje formule (โˆ€๐‘ฆ)๐’œ (koje ce tek u nastavku biti definisano) nemenja i isto je kao i znacenje formule (โˆ€๐‘ง)๐’œ[๐‘ฆ โ†ฆโ†’ ๐‘ง]. Zahvaljujuci tom pravilu,na primer, ((โˆƒ๐‘ฆ)๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฅ, ๐‘ฆ))[๐‘ฅ โ†ฆโ†’ ๐‘ฆ] jednako je (โˆƒ๐‘ง)๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฆ, ๐‘ง) a ne (โˆƒ๐‘ฆ)๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฆ, ๐‘ฆ)(sto ima drugacije znacenje).

Definicija 9.4 (Supstitucija i kompozicija supstitucija). Supstitucija (iliuopstena zamena) ๐œŽ je niz uzastopnih zamena [๐‘ฅ1 โ†ฆโ†’ ๐‘ก1], [๐‘ฅ2 โ†ฆโ†’ ๐‘ก2], . . . ,[๐‘ฅ๐‘› โ†ฆโ†’ ๐‘ก๐‘›] gde su ๐‘ฅ๐‘– promenljive, ๐‘ก๐‘– su proizvoljni termovi, vazi ๐‘ฅ๐‘– = ๐‘ฅ๐‘— za๐‘– = ๐‘— i nijedan od termova ๐‘ก๐‘– ne sadrzi nijednu od promenljivih ๐‘ฅ๐‘—. Takvuzamenu zapisujemo krace [๐‘ฅ1 โ†ฆโ†’ ๐‘ก1, ๐‘ฅ2 โ†ฆโ†’ ๐‘ก2, . . . , ๐‘ฅ๐‘› โ†ฆโ†’ ๐‘ก๐‘›].

Za supstitucije ๐œ‘ = [๐‘ฅ1 โ†ฆโ†’ ๐‘ก1, ๐‘ฅ2 โ†ฆโ†’ ๐‘ก2, . . . , ๐‘ฅ๐‘› โ†ฆโ†’ ๐‘ก๐‘›] i ๐œ† = [๐‘ฆ1 โ†ฆโ†’๐‘ 1, ๐‘ฆ2 โ†ฆโ†’ ๐‘ 2, . . . , ๐‘ฆ๐‘š โ†ฆโ†’ ๐‘ ๐‘š], pri cemu nijedan od termova ๐‘ฆ๐‘–, ๐‘ ๐‘– ne sadrzinijednu od promenljivih ๐‘ฅ๐‘—, kompozicija supstitucija ๐œ‘๐œ† je supstitucija[๐‘ฅ1 โ†ฆโ†’ ๐‘ก1๐œ†, ๐‘ฅ2 โ†ฆโ†’ ๐‘ก2๐œ†, . . . , ๐‘ฅ๐‘› โ†ฆโ†’ ๐‘ก๐‘›๐œ†, ๐‘ฆ1 โ†ฆโ†’ ๐‘ 1, ๐‘ฆ2 โ†ฆโ†’ ๐‘ 2, . . . , ๐‘ฆ๐‘š โ†ฆโ†’ ๐‘ ๐‘š].

Primer 9.7. Za ๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐‘“(๐‘ฆ)] i ๐‘  = ๐‘”(๐‘Ž, ๐‘ฅ) vazi ๐‘ ๐œŽ = ๐‘”(๐‘Ž, ๐‘“(๐‘ฆ)).Za ๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐‘“(๐‘ฅ)] i ๐‘  = ๐‘”(๐‘Ž, ๐‘ฅ) vazi ๐‘ ๐œŽ = ๐‘”(๐‘Ž, ๐‘“(๐‘ฅ)).Za ๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐‘“(๐‘ฆ), ๐‘ฆ โ†ฆโ†’ ๐‘Ž], ๐‘  = ๐‘”(๐‘Ž, ๐‘ฅ) i ๐‘ก = ๐‘”(๐‘ฆ, ๐‘”(๐‘ฅ, ๐‘ฆ)) vazi ๐‘ ๐œŽ =

๐‘”(๐‘Ž, ๐‘“(๐‘ฆ)) i ๐‘ก๐œŽ = ๐‘”(๐‘Ž, ๐‘”(๐‘“(๐‘ฆ), ๐‘Ž)).Za ๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก, ๐‘ฆ โ†ฆโ†’ ๐‘๐‘™๐‘Ž๐‘ก๐‘œ๐‘›] i ๐‘  = ๐‘ข๐‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ, ๐‘ฆ) vazi ๐‘ ๐œŽ =

๐‘ข๐‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก, ๐‘๐‘™๐‘Ž๐‘ก๐‘œ๐‘›).Za ๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐‘Ž] i ๐‘  = ๐‘ข(๐‘ฅ, ๐‘ฅ) vazi ๐‘ ๐œŽ = ๐‘ข(๐‘Ž, ๐‘Ž).Za ๐œ‘ = [๐‘ฅ โ†ฆโ†’ ๐‘“(๐‘ฆ)] i ๐œ† = [๐‘ฆ โ†ฆโ†’ ๐‘”(๐‘ง)], vazi ๐œ‘๐œ† = [๐‘ฅ โ†ฆโ†’ ๐‘“(๐‘”(๐‘ง)), ๐‘ฆ โ†ฆโ†’

๐‘”(๐‘ง)].Za ๐œ‘ = [๐‘ฅ โ†ฆโ†’ ๐‘“(๐‘ฆ)] i ๐œ† = [๐‘ฆ โ†ฆโ†’ ๐‘”(๐‘ฅ)], vazi ๐œ‘๐œ† = [๐‘ฅ โ†ฆโ†’ ๐‘“(๐‘”(๐‘ฅ)), ๐‘ฆ โ†ฆโ†’

๐‘”(๐‘ฅ)].

Pored zamene promenljive termom, potreban nam je i pojam zamene for-mule formulom, uveden narednom definicijom.

Definicija 9.5 (Zamena formule formulom). Formulu dobijenu zamenom(supstitucijom) formule โ„ฌ1 formulom โ„ฌ2 u formuli ๐’œ, oznacavamo sa๐’œ[โ„ฌ1 โ†ฆโ†’ โ„ฌ2] i definisemo na sledeci nacin:

โ€ข ako je ๐’œ = โ„ฌ1, onda je ๐’œ[โ„ฌ1 โ†ฆโ†’ โ„ฌ2] = โ„ฌ2;

Page 170: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.1. Sintaksa i semantika logike prvog reda 168

โ€ข ako je formula ๐’œ atomicka i nije jednaka โ„ฌ1, onda je ๐’œ[โ„ฌ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] = (โˆ€๐‘ฅ)๐’œ[โ„ฌ1 โ†ฆโ†’ โ„ฌ2];

โ€ข (โˆƒ๐‘ฅ๐’œ)[โ„ฌ1 โ†ฆโ†’ โ„ฌ2] = (โˆƒ๐‘ฅ)๐’œ[โ„ฌ1 โ†ฆโ†’ โ„ฌ2].

Ako formule reprezentujemo u racunarskom programu u vidu stabla, on-da zamenu formule formulom mozemo, slicno kao u iskaznom slucaju, opisatirekurzivnom funkcijom (ciji su bazni slucajevi opisani prvim dvema stavkamanavedene definicije). Ta funkcija zamenjuje jedno podstablo formule (zapravoโ€” sva podstabla koja odgovaraju istoj formuli) nekim drugim zadatim stablom.

9.1.3 Semantika logike prvog redaSemantika logike prvog reda govori o znacenju formula. Kao i u slucaju

iskazne logike, osnovna ideja semantike je da istinitosne vrednosti formula defi-nise u skladu sa uobicajenim, svakodnevnim rasudivanjem. U odnosu na iskaznislucaj, stvari komplikuju kvantifikatori, kao i drugacija priroda promenljivih.Naime, promenljive se ne preslikavaju, kao u iskaznoj logici, u skup {0, 1}, negose mogu preslikavati u elemente proizvoljnog skupa koji zovemo univerzum (naprimer, u skup celih brojeva ili u skup stanovnika neke drzave).2 Znacenje for-mula, dodatno, nije odredeno samo nacinom na koji su promenljivim pridruzenevrednosti, nego i time sta odgovara funkcijskim i predikatskim simbolima โ€“ toce biti neke konkretne funkcije i relacije nad izabranim domenom. Stoga istini-tosna vrednost formule zavisi od vise izbora i za razlicite izbore moze da budedrugacija. Reci cemo da je formula valjana ako je tacna za svaki od tih izbora.

Razmotrimo, na primer, formulu ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ). Mozemo je interpretirati namnogo razlicitih nacina. Jedan je da smatramo da ๐‘ฅ i ๐‘ฆ oznacavaju kutijenaslagane na nekoj konkretnoj gomili, a da predikatskom simbolu ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’ odgo-vara relacija โ€žbiti iznadโ€œ za kutije na toj konkretnoj gomili. Drugi nacin je dasmatramo da ๐‘ฅ i ๐‘ฆ oznacavaju cele brojeve, a da predikatskom simbolu ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’odgovara relacija > nad celim brojevima. U svakom slucaju, formulama pri-druzujemo znacenje vezano za neki konkretan skup i neke konkretne funkcije irelacije nad njim i u stanju smo da za bilo koje elemente tog skupa efektivno iz-

2Po pridruzenom znacenju, promenljivim iskazne logike u logici prvog reda ne odgovarajupromenljive, vec predikatski simboli arnosti nula (koji se preslikavaju u skup {0, 1}).

Page 171: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

169 9. Automatsko rasudivanje u logici prvog reda

racunamo vrednosti tih funkcija i efektivno odredimo da li je zadovoljena nekarelacija (na primer, u stanju smo da efektivno proverimo da li vazi 3 > 5, to jejednostavan uslov nad celim brojevima). Naredna slika ilustruje dve pomenuteinterpretacije. Na svakoj slici levo je svet sintakse, a desno โ€“ svet semantike,levo su termovi i formule, a desno โ€“ njihovo izabrano znacenje. U interpretacijiilustrovanoj na slici (dole), promenljivim ๐‘ฅ i ๐‘ฆ pridruzene su vrednosti 3 i 5, apredikatskom simbolu ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’ relacija >, te se formula ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ) preslikava uvrednost 0, jer 3 > 5 je netacno nad celim brojevima.

๐‘ฅ

๐‘ฆ

๐‘ง๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ)

๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ฅ)

๐ต

๐ด๐ถ

๐ต je iznad ๐ด

๐ด je iznad ๐ต

๐‘ฅ

๐‘ฆ

๐‘ง๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ)

๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ฅ)

3

511

3 > 5

5 > 3

Uvedimo sada pojam interpretacije precizno. Interpretacija je odredena โ„’-strukturom (univerzumom i izabranim znacenjem funkcijskih i predikatskihsimbola) i valuacijom (vrednoscu promenljivih).

Definicija 9.6 (โ„’-struktura). Za datu signaturu โ„’, โ„’-struktura D je par(๐ท, ๐ผ), gde je ๐ท skup, a ๐ผ funkcija i vazi:

โ€ข ๐ท je neprazan skup i zovemo ga univerzum (ponekad i domen);

โ€ข svakom simbolu konstante ๐‘ iz โ„’ (tj. svakom funkcijskom simboluarnosti 0), funkcija ๐ผ pridruzuje jedan element ๐‘๐ผ iz ๐ท;

โ€ข svakom funkcijskom simbolu ๐‘“ iz โ„’ arnosti ๐‘›, ๐‘› > 0, funkcija ๐ผpridruzuje jednu totalnu funkciju ๐‘“๐ผ iz ๐ท๐‘› u ๐ท;

โ€ข svakom predikatskom simbolu ๐‘ iz โ„’ arnosti ๐‘›, ๐‘› > 0, funkcija ๐ผpridruzuje jednu relaciju, tj. totalnu funkciju ๐‘๐ผ iz ๐ท๐‘› u {0, 1}.

Primer 9.8. Za signaturu โ„’ = ({}, {๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’/2, ๐‘๐‘’๐‘™๐‘œ๐‘ค/2}) (iz primera 9.2),jedna moguca โ„’-struktura je (K, ๐ผ), gde je K konkretan skup kutija pri-

Page 172: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.1. Sintaksa i semantika logike prvog reda 170

kazanih na slici u okviru primera 9.1. Predikatski simboli ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’ i ๐‘๐‘’๐‘™๐‘œ๐‘คpreslikavaju se u relacije โ€žjeste iznadโ€œ i โ€žjeste ispodโ€œ nad tim konkretnimkutijama, u konkretnom odnosu koji imaju.

Primer 9.9. Za signaturu โ„’ = ({๐‘’/0, โ‹†/2}, {โ‰บ/2}), iz primera 9.3, jednamoguca โ„’-struktura je par (N, ๐ผ), gde je N skup prirodnih brojeva, a ๐ผfunkcija koja simbol ๐‘’ preslikava u prirodni broj 1, funkcijski simbol โ‹† uoperaciju mnozenja prirodnih brojeva, a predikatski simbol โ‰บ u relaciju <nad prirodnim brojevima.

Definicija 9.7 (Valuacija). Valuacija ๐‘ฃ za skup promenljivih ๐‘‰ u odnosuna domen ๐ท je preslikavanje koje svakom elementu iz ๐‘‰ dodeljuje jedanelement iz ๐ท. Ako je ๐‘ฃ(๐‘ฅ๐‘–) = ๐‘‘๐‘—, onda kazemo da je ๐‘‘๐‘— vrednost promen-ljive ๐‘ฅ๐‘– u valuaciji ๐‘ฃ.

Ako su ๐‘ฃ i ๐‘ค valuacije za isti skup promenljivih i isti domen, onda sa๐‘ฃ โˆผ๐‘ฅ ๐‘ค oznacavamo da je ๐‘ฃ(๐‘ฆ) = ๐‘ค(๐‘ฆ) za svaku promenljivu ๐‘ฆ razlicitu od๐‘ฅ, pri cemu vrednosti ๐‘ฃ(๐‘ฅ) i ๐‘ค(๐‘ฅ) mogu a ne moraju biti iste.

Primer 9.10. Za domen iz primera 9.8, valuacija ๐‘ฃ moze da slika pro-menljive ๐‘ฅ i ๐‘ฆ u (konkretne) kutije ๐ต i ๐ด , tj. ๐‘ฃ(๐‘ฅ) = ๐ต i ๐‘ฃ(๐‘ฆ) = ๐ด .

Interpretacija prosiruje valuaciju i pridruzuje znacenje i drugim termovimai formulama.

Definicija 9.8 (Interpretacija). Vrednost (ili znacenje) terma ๐‘ก u inter-pretaciji ๐ผ๐‘ฃ, odredenoj โ„’-strukturom D 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), . . . , ๐ผ๐‘ฃ(๐‘ก๐‘›));

Page 173: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

171 9. Automatsko rasudivanje u logici prvog reda

โ€ข ๐ผ๐‘ฃ(ยฌ๐’œ) ={

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 ๐‘ค takvuda je ๐‘ค โˆผ๐‘ฅ ๐‘ฃ vazi ๐ผ๐‘ค(๐’œ) = 1

0, inace

โ€ข ๐ผ๐‘ฃ((โˆƒ๐‘ฅ)๐’œ) =

โŽงโŽจโŽฉ 1, ako postoji valuacija ๐‘ค takvada je ๐‘ค โˆผ๐‘ฅ ๐‘ฃ i ๐ผ๐‘ค(๐’œ) = 1

0, inace

Objasnimo dodatno definiciju znacenja za ๐ผ๐‘ฃ((โˆƒ๐‘ฅ)๐’œ). Cilj je odredivanjevrednosti formule (โˆƒ๐‘ฅ)๐’œ svesti na odredivanje vrednosti jednostavnije formule,formule ๐’œ. Formula ๐’œ zavisi od promenljive ๐‘ฅ, ali i od nekih drugih promenlji-vih (od svih promenljivih koje u njoj imaju slobodna pojavljivanja). Valuacija๐‘ฃ svim tim promenljivim dodeljuje neke vrednosti. I intuitivno je ocekivanoda istinitosna vrednost formule (โˆƒ๐‘ฅ)๐’œ u interpretaciji ๐ผ๐‘ฃ ne zavisi od ๐‘ฃ(๐‘ฅ), alida zavisi od vrednosti drugih slobodnih promenljivih u ๐‘ฃ. Razmotrimo primer(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ) i pitanje da li je ova formula tacna u interpretaciji ๐‘ฃ. Intuitivno,tacna je ako mozemo pogodno da izaberemo vrednost za ๐‘ฅ, da je vrednost ๐‘ฆ ne-promenjena, odredena valuacijom ๐‘ฃ i da je za takve vrednosti promenljivih for-mula ๐‘(๐‘ฅ, ๐‘ฆ) tacna. Ako smo nekako pogodno izabrali vrednost za ๐‘ฅ, a zadrzalivrednost za ๐‘ฆ, time smo, zapravo, definisali novu valuaciju โ€“ ๐‘ค, koja ima is-tu vrednost za ๐‘ฆ kao i valuacija ๐‘ฃ. Dakle, ako smo mogli da izaberemo takvuvaluaciju, onda je ๐ผ๐‘ฃ((โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ)) = 1. Opsti slucaj, slucaj (โˆƒ๐‘ฅ)๐’œ, je analogan:ako mozemo da izaberemo vrednost za ๐‘ฅ, zadrzavsi vrednosti promenljivih kaou ๐‘ฃ, tako da je formula ๐’œ tacna, onda je ๐ผ๐‘ฃ((โˆƒ๐‘ฅ)๐’œ) = 1. Drugim rะตcima, akopostoji 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 (jedinstvena) vrednost ๐ผ๐‘ฃ(๐’œ). Primetimo da ๐ผ๐‘ฃ(๐’œ)zavisi od ๐‘ฃ(๐‘ฅ) samo ako promenljiva ๐‘ฅ ima slobodna pojavljivanja u formuli๐’œ. Vrednost ๐ผ๐‘ฃ(๐’œ), dakle, zavisi samo od slobodnih promenljivih u formuli ๐’œ.Specijalno, ako je ๐’œ recenica, vrednost ๐ผ๐‘ฃ(๐’œ) uopste ne zavisi od ๐‘ฃ.

Page 174: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.1. Sintaksa i semantika logike prvog reda 172

Primer 9.11. Za L-strukturu iz primera 9.8, ako je, na primer, ๐‘ฃ(๐‘ฅ) =๐ต i ๐‘ฃ(๐‘ฆ) = ๐ด , onda je๐ผ๐‘ฃ(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ)) = โ€žjeste iznadโ€œ(๐ผ๐‘ฃ(๐‘ฅ), ๐ผ๐‘ฃ(๐‘ฆ)) = โ€žjeste iznadโ€œ( ๐ต , ๐ด ) = 1,jer za konkretnu gomilu kutija sa slike iz primera 9.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 9.12. Jedna moguca โ„’-struktura za signaturu โ„’ = ({}, {๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’/2,๐‘๐‘’๐‘™๐‘œ๐‘ค/2}) (iz primera 9.2) je i (Z, ๐ผ), gde je Z skup celih brojeva, a ๐ผ jefunkcija 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, jer ne postoji valuacija ๐‘คza koju vazi ๐‘ค โˆผ๐‘ฅ ๐‘ฃ (kako nema relevantnih promenljivih sem ๐‘ฅ, ovoogranicenje nije relevantno) takva da je ๐ผ๐‘ค(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฅ)) = 1, jer ne postojiceo broj ๐‘ (jednak ๐‘ค(๐‘ฅ)) takav da je ๐‘ > ๐‘.

Vrednost ๐ผ๐‘ฃ(โˆ€๐‘ฅ ยฌ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฅ)) jednaka je 1, jer u svakoj valuaciji ๐‘ค vazida je ๐ผ๐‘ค(ยฌ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฅ)) = 1, tj. ๐ผ๐‘ค(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฅ)) = 0, jer je ๐‘ > ๐‘ netacnoza svaki ceo broj ๐‘.

Primer 9.13. Za signaturu โ„’ = ({๐‘’/0, โ‹†/2}, {โ‰บ/2}), iz primera 9.3, jednamoguca โ„’-struktura je par (Z, ๐ผ), gde je Z skup celih brojeva, a ๐ผ funkcijakoja simbol ๐‘’ preslikava u ceo broj 0, funkcijski simbol โ‹† u operaciju sabi-ranja nad celim brojevima, a predikatski simbol โ‰บ u relaciju < nad celimbrojevima. Ako je, na primer, ๐‘ฃ(๐‘ฅ) = 3, ๐‘ฃ(๐‘ฆ) = โˆ’4, onda je (koristeci in-fiksni zapis) ๐ผ๐‘ฃ((๐‘ฅโ‹†๐‘ฆ) โ‰บ ๐‘’)) jednako ๐ผ๐‘ฃ(๐‘ฅ)+๐ผ๐‘ฃ(๐‘ฆ) < ๐ผ๐‘ฃ(0), tj. 3+(โˆ’4) < 0,tj. jednako 1.

๐‘ฅ

๐‘ฆ

๐‘’๐‘ฅ โ‹† ๐‘ฆ

(๐‘ฅ โ‹† ๐‘ฆ) โ‰บ ๐‘’)

3

โˆ’40

3 + (โˆ’4)

3 + (โˆ’4) < 0

Page 175: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

173 9. Automatsko rasudivanje u logici prvog reda

Za istu signaturu moguca je slicna interpretacija, sa univezumom koji jeskup prirodnih, a ne celih brojeva.

Za istu signaturu jedna โ„’-struktura je i par (D, ๐ผ), gde je D skupdana u nedelji โ€” {๐‘๐‘œ๐‘›๐‘’๐‘‘๐‘’๐‘™๐‘—๐‘Ž๐‘˜, ๐‘ข๐‘ก๐‘œ๐‘Ÿ๐‘Ž๐‘˜, ๐‘ ๐‘Ÿ๐‘’๐‘‘๐‘Ž, ๐‘๐‘’๐‘ก๐‘ฃ๐‘Ÿ๐‘ก๐‘Ž๐‘˜, ๐‘๐‘’๐‘ก๐‘Ž๐‘˜, ๐‘ ๐‘ข๐‘๐‘œ๐‘ก๐‘Ž,๐‘›๐‘’๐‘‘๐‘’๐‘™๐‘—๐‘Ž}, a ๐ผ funkcija koja simbol ๐‘’ preslikava (na primer) u element๐‘›๐‘’๐‘‘๐‘’๐‘™๐‘—๐‘Ž, simbol โ‰บ u relaciju โ€žprethodni danโ€œ, itd.

Primer 9.14. Za signaturu โ„’ = ({๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก/0}, {๐‘š๐‘Ž๐‘›/1,๐‘š๐‘œ๐‘Ÿ๐‘ก๐‘Ž๐‘™/1}) iz pri-mera 9.4 jedna moguca โ„’-struktura je par (D, ๐ผ), gde je D skup svihzivih bica, a ๐ผ funkcija koja simbol ๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก preslikava (na primer) u osobu๐‘†๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก, predikatski simbol ๐‘š๐‘Ž๐‘› u relaciju โ€žbiti covekโ€, predikatski simbol๐‘š๐‘œ๐‘Ÿ๐‘ก๐‘Ž๐‘™ u relaciju โ€žbiti smrtanโ€.

๐‘ฅ

๐‘ฆ

๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก๐‘š๐‘Ž๐‘›(๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก)

๐‘š๐‘œ๐‘Ÿ๐‘ก๐‘Ž๐‘™(๐‘ฆ)

Sokrat

PlatonSokrat

Sokrat je covek

Platon je smrtan

Za istu signaturu jedna โ„’-struktura je i par (N, ๐ผ), gde je N skup prirodnihbrojeva, a ๐ผ funkcija koja simbol ๐‘ ๐‘œ๐‘˜๐‘Ÿ๐‘Ž๐‘ก preslikava (na primer) u broj 0,predikatski simbol ๐‘š๐‘Ž๐‘› u unarnu relaciju โ€žbiti slozen brojโ€, predikatskisimbol ๐‘š๐‘œ๐‘Ÿ๐‘ก๐‘Ž๐‘™ u unarnu relaciju โ€žbiti paran brojโ€.

Sve navedeno jos uvek deluje cudno, pa i beskorisno: ukoliko formulamamozemo pridruziti skoro proizvoljno znacenje, kakva korist moze biti od njih?Postoji nekoliko odgovora na ovo pitanje. Jedan odgovor je da se u razma-tranju formula u okviru neke primene cesto razmatra samo jedna konkretnavrsta interpretacija (na primer, nad celim brojevima), prilagodena konkretnojprimeni. Drugi odgovor je da se u mnogim primenama razmatra pitanje da lije neka formula valjana, tj. tacna u svakoj mogucoj interpretaciji. U takvimprimenama, formule su konstruisane na nacin koji eliminise sve nerelevantnemodele. O oba scenarija bice reci u daljem tekstu.

Definicija 9.9 (Zadovoljivost i valjanost). Ako je interpretacija ๐ผ๐‘ฃ odredenaโ„’-strukturom D i valuacijom ๐‘ฃ i ako za โ„’-formulu ๐’œ vazi ๐ผ๐‘ฃ(๐’œ) = 1, ondakazemo da je formula ๐’œ tacna u interpretaciji ๐ผ๐‘ฃ, da je par (D, ๐‘ฃ) model(eng. model) formule ๐’œ i pisemo (D, ๐‘ฃ) |= ๐’œ.โ„’-formula ๐’œ je zadovoljiva (eng. satisfiable) ako postoje โ„’-struktura

D i valuacija ๐‘ฃ takve da vazi (D, ๐‘ฃ) |= ๐’œ, a inace kazemo da je kontradik-torna (eng. contradictory) ili nezadovoljiva (eng. unsatisfiable).

Page 176: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.1. Sintaksa i semantika logike prvog reda 174

Ako je za neku โ„’-strukturu D vazi (D, ๐‘ฃ) |= ๐’œ za svaku valuaciju ๐‘ฃ,onda kazemo da je formula ๐’œ valjana (eng. valid) u D, da je D modelformule ๐’œ i pisemo D |= ๐’œ.

Ako je โ„’-formula ๐’œ valjana u svakoj โ„’-strukturi, onda za tu formulukazemo 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 daje skup ฮ“ nekonzistentan, nezadovoljiv, ili kontradiktoran.

Primer 9.15. Formula โˆƒ๐‘ฅ(๐‘ฅ โ‰บ ๐‘’) tacna je u prvoj interpretaciji iz prime-ra 9.13 (za univerzum celih brojeva), a nije tacna u drugoj interpretaciji(za univerzum prirodnih brojeva). Dakle, ona nije valjana.

Primer 9.16. Formula โˆ€๐‘ฅ(๐‘š๐‘Ž๐‘›(๐‘ฅ) โ‡’ ๐‘š๐‘œ๐‘Ÿ๐‘ก๐‘Ž๐‘™(๐‘ฅ)) je tacna u prvoj in-terpretaciji iz primera 9.14 (za univerzum koji cine sva ziva bica), a nijetacna u drugoj interpretaciji (za univerzum prirodnih brojeva). Dakle, onanije valjana.

Primer 9.17. Formule โˆ€๐‘ฅ (๐‘(๐‘ฅ) โ‡’ ๐‘ž(๐‘ฆ)) i (โˆ€๐‘ฅ ๐‘(๐‘ฅ)) โ‡’ ๐‘ž(๐‘ฆ) koje serazlikuju po dosegu kvantifikatora โˆ€๐‘ฅ mogu imati razlicita znacenja.

Jedna moguca interpretacija ovih formula odredena je domenom kojicine svi studenti koji pohadaju neki kurs, ๐‘(๐‘ฅ) se interpretira kao โ€žstudent๐‘‹ ce poloziti ispit, a ๐‘ž(๐‘ฆ) se interpretira kao โ€žstudent ๐‘Œ ce se obradovatiโ€œ(gde su ๐‘‹ i ๐‘Œ vrednosti promenljivih ๐‘ฅ i ๐‘ฆ u interpretaciji). Prva formu-la se, onda, interpretira kao โ€žza bilo kojeg studenta vazi: ako taj studentpolozi ispit, ๐‘Œ ce se obradovatiโ€œ, tj. โ€žako neki student polozi ispit, ๐‘Œ ce seobradovatiโ€œ, sto odgovara i znacenju formule (โˆƒ๐‘ฅ ๐‘(๐‘ฅ)) โ‡’ ๐‘ž(๐‘ฆ)), a drugakao โ€žako svaki student polozi ispit, ๐‘Œ ce se obradovatiโ€œ.

Primer 9.18. Tvrdnja โ€žpostoji drzava koja se granici sa Italijom i Austri-jomโ€œ moze se formulisati u terminima logike prvog reda na sledeci nacin:โˆƒ๐‘ฅ (drzava(๐‘ฅ) โˆง graniceSe(๐‘–๐‘ก๐‘Ž๐‘™๐‘–๐‘—๐‘Ž, ๐‘ฅ) โˆง graniceSe(๐‘Ž๐‘ข๐‘ ๐‘ก๐‘Ÿ๐‘–๐‘—๐‘Ž, ๐‘ฅ))

gde su ๐‘–๐‘ก๐‘Ž๐‘™๐‘–๐‘—๐‘Ž i ๐‘Ž๐‘ข๐‘ ๐‘ก๐‘Ÿ๐‘–๐‘—๐‘Ž simboli konstanti, a drzava/1 i graniceSe/2 supredikatski simboli.

Univerzum za prirodnu interpretaciju cini skup svih drzava sveta, pre-dikatski simboli su interpretirani na prirodan, intuitivan nacin i u odgova-rajucoj interpretaciji navedena formula je tacna (za proizvoljnu valuaciju).

Vec i na osnovu relativno jednostavnih primera, vidi se da ispitivanje valja-nosti ili valjanosti u nekoj โ„’-strukturi neposredno, na osnovu definicije, moze

Page 177: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

175 9. Automatsko rasudivanje u logici prvog reda

biti veoma mukotrpno. I zaista, takvo ispitivanje se i ne koristi u primenama.Umesto toga, obicno se koriste namenske procedure opisane u narednim pogla-vljima. One implicitno koriste definicije valjanosti i u stanju su da utvrde da lije neka formula valjana.

9.2 Logicke posledice i logicki ekvivalentne formule

Cesto je veoma vazno pitanje da li je neka formula posledica nekih dru-gih formula. Ovo pitanje moze se opisati u terminima pojma logicke posledice,analogno kao u slucaju iskazne logike.

Definicija 9.10 (Logicka posledica i logicka ekvivalencija). Kazemo daje formula ๐’œ logicka posledica (eng. logical consequence) skupa formulaฮ“ nad istom signaturom โ„’ i pisemo ฮ“ |= ๐’œ, ako je svaki model za ฮ“istovremeno i model za ๐’œ.

Kazemo da su formule ๐’œ i โ„ฌ nad istom signaturom โ„’ logicki ekviva-lentne (eng. logically equivalent) 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 kao sto vec zapisujemo valjane formule. Kaoi u iskaznoj logici, ako je skup ฮ“ kontradiktoran, onda je svaka formula njegovalogicka posledica. Specijalno, svaka formula je logicka posledica skupa {โŠฅ}.Ako je skup ฮ“ konacan, onda umesto {โ„ฌ1, โ„ฌ2, . . . , โ„ฌ๐‘˜} |= ๐’œ pisemo krace โ„ฌ1,โ„ฌ2, . . . , โ„ฌ๐‘˜ |= ๐’œ.

Primer 9.19. Ako sa ฮ“ oznacimo skup formula (iz primera 9.2):{ โˆ€๐‘ฅโˆ€๐‘ฆ(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ) โ‡’ ยฌ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ฅ)), โˆ€๐‘ฅโˆ€๐‘ฆ(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ) โ‡” ๐‘๐‘’๐‘™๐‘œ๐‘ค(๐‘ฆ, ๐‘ฅ)),โˆ€๐‘ฅโˆ€๐‘ฆโˆ€๐‘ง(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ) โˆง ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ง)โ‡’ ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ง)) },onda se moze pokazati da vazi: ฮ“ |= โˆ€๐‘ฅโˆ€๐‘ฆโˆ€๐‘ง(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ฅ) โˆง ๐‘๐‘’๐‘™๐‘œ๐‘ค(๐‘ง, ๐‘ฅ) โ‡’๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ง)).

Ako vazi ๐’œ โ‰ก โ„ฌ, tj. ako je svaki model za ๐’œ istovremeno i model za โ„ฌ iobratno, onda u bilo kojoj valuaciji formule ๐’œ i โ„ฌ imaju jednake vrednosti.Tvrdenja oblika ๐’œ โ‰ก โ„ฌ zovemo logickim ekvivalencijama. Relacija โ‰ก je, oci-gledno, relacija ekvivalencije nad skupom formula. Naredna teorema daje vezuizmedu meta i objektnog nivoa: uslov logicke posledice moze se svesti na uslovvaljanosti i obratno. Ako postoji efektivan nacin za resavanje jednog problemaonda postoji i efektivan nacin za resavanje drugog.

Page 178: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.2. Logicke posledice i logicki ekvivalentne formule 176

Teorema 9.1. Za proizvoljne formule ๐’œ, โ„ฌ, โ„ฌ1, โ„ฌ2, . . . ,โ„ฌ๐‘˜ nad istomsignaturom โ„’ vazi:

โ€ข ๐’œ |= โ„ฌ akko je formula ๐’œ โ‡’ โ„ฌ valjana;

โ€ข ๐’œ โ‰ก โ„ฌ akko je formula ๐’œ โ‡” โ„ฌ valjana;

โ€ข โ„ฌ1,โ„ฌ2, . . . ,โ„ฌ๐‘˜ |= ๐’œ akko โ„ฌ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 iskaznaformula zameni formulom logike prvog reda, bice ocigledno dobijena logickaekvivalencija logike prvog reda, na primer, ยฌยฌ๐’œ โ‰ก ๐’œ. Postoje i logicke ekviva-lencije logike prvog reda koje ne mogu biti dobijene na taj nacin.

Primer 9.20. Neke od shema logickih ekvivalencija logike prvog reda su:

ยฌ(โˆƒ๐‘ฅ)๐’œ โ‰ก (โˆ€๐‘ฅ)ยฌ๐’œ 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 kvantifi-katora mogu da zamene mesta, a isto vazi i za egzistencijalne kvantifikatore.To sustinski znaci da u bloku kvantifikatora iste vrste poredak tih kvantifi-katora nije bitan. S druge strane, univerzalni i egzistencijalni kvantifikator nemogu, u opstem slucaju, da razmenjuju mesta. Na primer, formule (โˆ€๐‘ฅ)(โˆƒ๐‘ฆ)๐’œi (โˆƒ๐‘ฆ)(โˆ€๐‘ฅ)๐’œ nisu u opstem slucaju logicki ekvivalentne.

Page 179: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

177 9. Automatsko rasudivanje u logici prvog reda

Logicke ekvivalencije โˆ€๐‘ฅ๐’œ โ‰ก โˆ€๐‘ฆ๐’œ[๐‘ฅ โ†ฆโ†’ ๐‘ฆ] i โˆƒ๐‘ฅ๐’œ โ‰ก โˆƒ๐‘ฆ๐’œ[๐‘ฅ โ†ฆโ†’ ๐‘ฆ] govore otome da se vezane promenljive mogu preimenovati bez uticaja na istinitosnuvrednost formule, kao sto je ranije vec nagovesteno.

Naredna teorema kaze da ako se u formuli ๐’œ zameni neka njena potformulalogicki ekvivalentnom formulom, bice dobijena formula koja je logicki ekviva-lentna formuli ๐’œ.

Teorema 9.2 (Teorema o zameni). Ako vazi โ„ฌ1 โ‰ก โ„ฌ2, onda je ๐’œ โ‰ก๐’œ[โ„ฌ1 โ†ฆโ†’ โ„ฌ2].

Primer 9.21. Na osnovu logickih ekvivalencija iz primera 8.14 i 9.20 vaziยฌ(โˆƒ๐‘ฅ)(๐’œ โˆง ยฌโ„ฌ) โ‰ก (โˆ€๐‘ฅ)ยฌ(๐’œ โˆง ยฌโ„ฌ) โ‰ก (โˆ€๐‘ฅ)(ยฌ๐’œ โˆจ ยฌยฌโ„ฌ) โ‰ก (โˆ€๐‘ฅ)(ยฌ๐’œ โˆจ โ„ฌ) โ‰ก(โˆ€๐‘ฅ)(๐’œ โ‡’ โ„ฌ).

Iz ยฌ(โˆƒ๐‘ฅ)(๐’œ โˆง ยฌโ„ฌ) โ‰ก (โˆ€๐‘ฅ)(๐’œ โ‡’ โ„ฌ), na osnovu teoreme 9.1 sledi da jeformula ยฌ(โˆƒ๐‘ฅ)(๐’œ โˆง ยฌโ„ฌ)โ‡” (โˆ€๐‘ฅ)(๐’œ โ‡’ โ„ฌ) valjana.

9.3 Ispitivanje zadovoljivosti i valjanosti u logici prvog reda

U prakticnim primenama, onda kada je neki cilj formulisan na jeziku logikeprvog reda, centralni problem postaje ispitivanje da li je neka iskazna formulavaljana, da li je zadovoljiva i slicno. Pocetno pitanje je da li su ti problemiuopste odlucivi, tj. da li postoje algoritmi koji uvek mogu da daju odgovor nanjih. Ukoliko takvi algoritmi ne postoje, pitanje je da li postoje za neke klaseformula logike prvog reda. Slicno kao u iskaznoj logici, problemi ispitivanjavaljanosti i zadovoljivosti su povezani: formula je valjana ako i samo ako jenjena negacija nezadovoljiva.

9.3.1 Logika prvog reda i odlucivost

Za razliku od iskazne logike, u logici prvog reda problem ispitivanja valja-nosti nije odluciv, tj. ne postoji algoritam koji za proizvoljnu formulu mozeda utvrdi da li je valjana ili nije. Naravno, isto vazi i za problem ispitivanja(ne)zadovoljivosti. Ipak, ovi problemi su poluodlucivi: postoji algoritam kojiza proizvoljnu valjanu formulu moze da utvrdi da je valjana, ali ne moze zaproizvoljnu formulu koja nije valjana da utvrdi da nije valjana (obicno se utakvim situacijama algoritam ne zaustavlja). Kako je formula valjana akko jenjena negacija nezadovoljiva, ocito je i problem nezadovoljivosti poluodluciv:postoji algoritam koji za proizvoljnu nezadovoljivu formulu moze da utvrdi daje nezadovoljiva, ali ne moze za proizvoljnu zadovoljivu formulu da utvrdi daje zadovoljiva. Kako je problem ispitivanja valjanosti neodluciv, neodluciv je(mada je poluodluciv) i problem ispitivanja da li vazi ฮ“ |= ฮฆ (za proizvoljanskup ฮ“ i formulu ฮฆ). Procedure za proveravanje valjanosti i zadovoljivosti u

Page 180: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 178

logici prvog reda zovu se dokazivaci za logiku prvog reda (a mozemo da ih,neformalno, zovemo i univerzalnim resavacima za logiku prvog reda). Te proce-dure ne ispituju valjanost i zadovoljivost neposredno na osnovu definicije, veckoristeci elegantnije postupke (kao sto je rezolucija koja je opisana u nastavku).Zahvaljujuci takvim opstim procedurama, za mnoge valjane formule moze seefikasno dokazati da su valjane. Za takve formule, onda sledi da su valjane i usvakoj konkretnoj โ„’-strukturi.

U prakticnim primenama, cesto je za neka tvrdenja relevantan samo jednakonkretna โ„’-struktura (na primer, za univerzum koji cine realni brojevi, iligradani neke drzave, ili skup kutija u nekoj sobi). Ukoliko se razmatra samojedna vrsta modela (tj. pitanje ๐’Ÿ |= ฮฆ), onda za neke vrste formula ispitivanjevaljanosti moze da bude odluciv problem.

Primer 9.22. Ako se razmatraju formule nad signaturom (opisanom uprimeru 9.2) โ„’ = ({}, {๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’/2, ๐‘๐‘’๐‘™๐‘œ๐‘ค/2}) i samo โ„’-struktura (opisana uprimeru 9.8) u kojoj je univerzum skup konkretnih kutija prikazanih naslici u okviru primera 9.1, onda je tako specijalizovan problem ispitivanjavaljanosti odluciv (moze se dizajnirati jednostavan algoritam koji resavaovaj problem).

Primer 9.23. Razmotrimo signaturu โ„’ = ({0/0, ๐‘ /1,+/2}, {</2,=/2}) iโ„’-strukturu (Z, ๐ผ), gde je Z skup celih brojeva, a ๐ผ funkcija koja (pri-rodno) simbol 0 preslikava u ceo broj 0, simbol ๐‘  preslikava u operacijusledbenik, funkcijski simbol + u operaciju sabiranja nad celim brojevima,a predikatske simbole < i = u relacije < i = nad celim brojevima. Ova-kva โ„’-struktura odreduje teoriju koju zovemo linearna aritmetika nad ce-lim brojevima i oznacavamo ๐ฟ๐ผ๐ด. Ako je formula ฮฆ valjana u ovoj โ„’-strukturi, onda to zapisujemo |=๐ฟ๐ผ๐ด ฮฆ. Na primer, valjane su u ๐ฟ๐ผ๐ด for-mule โˆ€๐‘ฅโˆƒ๐‘ฆ (๐‘ฅ < ๐‘ฆ+๐‘ (0)) i ๐‘ฅ+๐‘ฆ = ๐‘ฆ+๐‘ฅ (iako nisu valjane u nekim drugiminterpretacijama). Ispitivanje da li vazi |=๐ฟ๐ผ๐ด ฮฆ je odluciv problem.

Za ispitivanje valjanosti u strukturi opisanoj u primeru 9.23 i drugim slicnimsituacijama koriste se specijalizovani algoritmi, koje obicno zovemo smt resavaci(od engleskog satisfiability modulo theory โ€” zadovoljivost u odnosu na teoriju,jer oni obicno problem valjanosti svode na problem zadovoljivosti). Resavacza ispitivanje |=๐ฟ๐ผ๐ด ฮฆ zovemo smt resavac za teoriju ๐ฟ๐ผ๐ด. Postoji mnostvotakvih resavaca i obicno su izgradeni oko nekog sat resavaca. Neki od cesto ko-riscenih smt resavaca su resavaci za linearnu aritmetiku nad celim brojevima,za linearnu aritmetiku nad racionalnim brojevima, za teoriju neinterpretira-nih funkcija, za teoriju nizova, za teoriju lista, itd. smt resavaci imaju brojneprimene, posebno u verifikaciji softvera i hardvera i u resavanju raznovrsnihproblema ogranicenja.

Page 181: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

179 9. Automatsko rasudivanje u logici prvog reda

U nekim primenama, za neka tvrdenja relevantne su samo โ„’-strukture ko-je ispunjavaju odredene uslove. Ti uslovi ๐’œ1,๐’œ2, . . . ,๐’œ๐‘› namecu neke speci-ficnosti zeljenom znacenju formula i cine aksiome konkretne teorije (na primer,geometrije). Tada se ispitivanje valjanosti formule ฮฆ pod zadatim uslovimasvodi na ispitivanje da li vazi ๐’œ1,๐’œ2, . . . ,๐’œ๐‘› |= ฮฆ. Medutim, cesto nije lakonapraviti algoritam koji moze da proveri takva tvrdenja, tj. nije lako napravitispecijalizovani resavac (kakvi su smt resavaci) za proizvoljnu teoriju zadatuaksiomama. U takvim situacijama obicno se dokazivanje tvrdenja oblika:๐’œ1,๐’œ2, . . . ,๐’œ๐‘› |= ฮฆ

svodi na dokazivanje da je naredna formula nezadovoljiva:๐’œ1 โˆง ๐’œ2 โˆง . . . โˆง ๐’œ๐‘› โˆง ยฌฮฆ

Time se od specificnog razmatranja dolazi do opsteg razmatranja i valjanostnavedene formule moze da se ispita nekom opstom procedurom za ispitivanjevaljanosti u logici prvog reda.

9.3.2 Normalne forme

Iako se zadovoljivost i valjanost mogu ispitivati za formule proizvoljnog obli-ka, daleko je jednostavnije algoritme ispitivanja formulisati za formule nekogposebnog oblika. Zbog toga se definisu normalne forme i algoritmi kojima seneka formula transformise u te normalne forme. Pod transformacijom se podra-zumeva konstruisanje formule koja je, na primer, logicki ekvivalentna polaznojformuli i zadovoljava neka sintaksicka ogranicenja. U nastavku ce biti opisanniz koraka koji vodi od formule cija se zadovoljivost razmatra do formule kojaima specificnu sintaksicku formu i zadovoljiva je ako i samo ako je zadovoljivapolazna formula.

Definicija 9.11 (Preneks normalna forma). Kazemo da je formula u pre-neks normalnoj formi ako je ona oblika

๐‘„1๐‘ฅ1๐‘„2๐‘ฅ2 . . . ๐‘„๐‘›๐‘ฅ๐‘›๐’œ

pri cemu je ๐‘„๐‘– ili โˆ€ ili โˆƒ i ๐’œ ne sadrzi kvantifikatore, kao ni slobodnepromenljive osim (eventualno) promenljivih ๐‘ฅ1, ๐‘ฅ2, . . . , ๐‘ฅ๐‘›.

Ako je recenica (zatvorena formula) ๐’œ logicki ekvivalentna formuli โ„ฌ i for-mula โ„ฌ je u preneks normalnoj formi, onda kazemo da je formula โ„ฌ preneks nor-malna forma formule๐’œ. Jedna formula moze da ima vise preneks normalnih for-mi (na primer, i formula (โˆ€๐‘ฅ)(โˆ€๐‘ฆ)(๐’œ(๐‘ฅ)โˆงโ„ฌ(๐‘ฆ)) i formula (โˆ€๐‘ฆ)(โˆ€๐‘ฅ)(โ„ฌ(๐‘ฆ)โˆง๐’œ(๐‘ฅ))su preneks normalne forme formule (โˆ€๐‘ฅ)๐’œ(๐‘ฅ)โˆง (โˆ€๐‘ฆ)โ„ฌ(๐‘ฆ)). Slicno, jedna formu-la koja je u preneks normalnoj formi moze biti preneks normalna forma zavise formula. Transformisanje formule u preneks normalnu formu moze biti re-alizovano procedurom prikazanom na slici 9.1. Kada se u proceduri govori oโ€žprimeni neke logicke ekvivalencijeโ€œ, misli se, kao i ranije, na koriscenje logickih

Page 182: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 180

ekvivalencija na osnovu teoreme o zameni (teorema 9.2). Radi jednostavnostiprocedure i rezultujuce formule, iako to nije neophodno, najpre se eliminisuveznici โ‡” i โ‡’.

Procedura na ulazu ocekuje zatvorenu formulu, formulu bez slobodnih pro-menljivih. To nije bitno ogranicenje, jer se procedura obicno koristi u okvirusireg postupka ispitivanja zadovoljivosti, a tada se, u ranijim fazama, za svakupromenljivu moze odrediti nacin na koji je kvantifikovana.

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 slo-bodna pojavljivanja u โ„ฌ, onda treba najpre preimenovati promenljivu๐‘ฅ u formuli (โˆ€๐‘ฅ)๐’œ (odnosno u formuli (โˆƒ๐‘ฅ)๐’œ).

Slika 9.1: Algoritam PRENEX.

Page 183: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

181 9. Automatsko rasudivanje u logici prvog reda

Primer 9.24. Razmotrimo formulu

โˆ€๐‘ฅ ๐‘(๐‘ฅ) โˆง โˆ€๐‘ฅโˆƒ๐‘ฆโˆ€๐‘ง(๐‘ž(๐‘ฆ, ๐‘ง)โ‡’ ๐‘Ÿ(๐‘”(๐‘ฅ), ๐‘ฆ)) .

Primenom algoritma PRENEX najpre se (u okviru koraka 1) dobija for-mula

โˆ€๐‘ฅ ๐‘(๐‘ฅ) โˆง โˆ€๐‘ฅโˆƒ๐‘ฆโˆ€๐‘ง(ยฌ๐‘ž(๐‘ฆ, ๐‘ง) โˆจ ๐‘Ÿ(๐‘”(๐‘ฅ), ๐‘ฆ)) .

Nakon koraka

โˆ€๐‘ฅ(๐‘(๐‘ฅ) โˆง โˆ€๐‘ฅโˆƒ๐‘ฆโˆ€๐‘ง(ยฌ๐‘ž(๐‘ฆ, ๐‘ง) โˆจ ๐‘Ÿ(๐‘”(๐‘ฅ), ๐‘ฆ))) ,

kako je promenljiva ๐‘ฅ slobodna u ๐‘(๐‘ฅ), najpre cemo preimenovati vezanupromenljivu ๐‘ฅ u ๐‘ข (u okviru formule โˆ€๐‘ฅโˆƒ๐‘ฆโˆ€๐‘ง(ยฌ๐‘ž(๐‘ฆ, ๐‘ง) โˆจ ๐‘Ÿ(๐‘”(๐‘ฅ), ๐‘ฆ))):

โˆ€๐‘ฅ(๐‘(๐‘ฅ) โˆง โˆ€๐‘ขโˆƒ๐‘ฆโˆ€๐‘ง(ยฌ๐‘ž(๐‘ฆ, ๐‘ง) โˆจ ๐‘Ÿ(๐‘”(๐‘ข), ๐‘ฆ))) .

Nakon toga kvantifikatori โˆ€๐‘ข, โˆƒ๐‘ฆ, โˆ€๐‘ง mogu, jedan po jedan, biti pomerenina pocetak formule:

โˆ€๐‘ฅโˆ€๐‘ขโˆƒ๐‘ฆโˆ€๐‘ง(๐‘(๐‘ฅ) โˆง (ยฌ๐‘ž(๐‘ฆ, ๐‘ง) โˆจ ๐‘Ÿ(๐‘”(๐‘ข), ๐‘ฆ))) .

Korektnost navedenog algoritma moze se dokazati slicno kao korektnostprocedure za transformisanje formule u konjunktivnu normalnu formu (teorema8.5).

Teorema 9.3 (Korektnost algoritma PRENEX). Algoritam PRENEX sezaustavlja i zadovoljava sledece svojstvo: ako je ๐’œ ulazna formula, onda jeizlazna formula ๐’œโ€ฒ u preneks normalnoj formi i vazi ๐’œ โ‰ก ๐’œโ€ฒ.

U nekim situacijama moguce je primeniti neki korak navedenog algoritmana vise od jednog nacina. Na primer, formulu (โˆ€๐‘ฅ)๐‘(๐‘ฅ) โˆง (โˆƒ๐‘ฆ)๐‘ž(๐‘ฆ) moguce jetransformisati i u (โˆ€๐‘ฅ)(๐‘(๐‘ฅ) โˆง (โˆƒ๐‘ฆ)๐‘ž(๐‘ฆ)) i u (โˆƒ๐‘ฆ)((โˆ€๐‘ฅ)๐‘(๐‘ฅ) โˆง ๐‘ž(๐‘ฆ)). Obe oveformule su, naravno, logicki ekvivalentne sa polaznom formulom. Ipak, u situa-cijama kada postoji izbor, uvek cemo radije egzistencijalni kvantifikator ucinitispoljnim u odnosu na univerzalni nego obratno. Takav prioritet uvodimo zaradjednostavnijeg koraka skolemizacije (o kojem ce biti reci u nastavku).

Definicija 9.12 (Konjunktivna normalna forma). Formula logike prvogreda koja ne sadrzi kvantifikatore je u konjunktivnoj normalnoj formi akoje oblika

๐’œ1 โˆง ๐’œ2 โˆง . . . โˆง ๐’œ๐‘›

pri cemu je svaka od formula ๐’œ๐‘– (1 โ‰ค ๐‘– โ‰ค ๐‘›) disjunkcija literala.

Page 184: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 182

Konjunktivna normalna forma formule predikatske logike (bez kvantifika-tora) moze se dobiti na isti nacin kao u slucaju iskazne logike (videti poglavlje8.3.2). Dobijena formula logicki je ekvivalentna polaznoj formuli.

Primer 9.25. Konjunktivna normalna forma formule

๐‘(๐‘ฅ) โˆง (๐‘ž(๐‘ฆ, ๐‘ง)โ‡’ ๐‘Ÿ(๐‘”(๐‘ข), ๐‘ฆ))

je formula๐‘(๐‘ฅ) โˆง (ยฌ๐‘ž(๐‘ฆ, ๐‘ง) โˆจ ๐‘Ÿ(๐‘”(๐‘ข), ๐‘ฆ)) .

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 jos pogodnije ako bi svikvantifikatori ๐‘„๐‘– bili univerzalni. Medutim, ne moze se proizvoljna formula (naprimer, formula (โˆƒ๐‘ฅ)๐‘(๐‘ฅ)) transformisati u formulu takvog oblika a da joj je,pri tome, logicki ekvivalentna. No, moguce je nesto drugo: proizvoljna formulamoze se transformisati u formulu oblika โˆ€๐‘ฅ1โˆ€๐‘ฅ2 . . . โˆ€๐‘ฅ๐‘›๐’œ koja je zadovoljivaako i samo ako je zadovoljiva polazna formula (tada kazemo da su te dveformule slabo ekvivalentne). Tu transformaciju, transformaciju koja โ€želiminiseโ€œegzistencijalne kvantifikatore, zovemo skolemizacija (po matematicaru Skolemukoji ih je prvi koristio). Ona se zasniva na prosirivanju polazne signature no-vim funkcijskim simbolima. Te dodatne funkcijske simbole zovemo Skolemovimkonstantama (za funkcijske simbole arnosti 0) i Skolemovim funkcijama.

Pretpostavimo da recenica pocinje egzistencijalnim kvantifikatorom: โˆƒ๐‘ฆ๐’œ.Treba izabrati novi simbol konstante ๐‘‘ koji se ne pojavljuje u signaturi, obrisatikvantifikator i zameniti promenljivu ๐‘ฆ simbolom ๐‘‘. Na taj nacin formula โˆƒ๐‘ฆ๐’œtransformise se u formulu ๐’œ[๐‘ฆ โ†ฆโ†’ ๐‘‘]. Moze se dokazati da je formula โˆƒ๐‘ฆ๐’œzadovoljiva ako i samo ako je formula ๐’œ[๐‘ฆ โ†ฆโ†’ ๐‘‘] zadovoljiva.

Ako recenica pocinje nizom od ๐‘› univerzalnih kvantifikatora: โˆ€๐‘ฅ1 โˆ€๐‘ฅ2 . . .โˆ€๐‘ฅ๐‘› โˆƒ๐‘ฆ ๐’œ, onda uvodimo novi funkcijski simbol ๐‘“ arnosti ๐‘› koji do tada ni-je postojao u signaturi. Polazna formula bice onda transformisana u formu-lu โˆ€๐‘ฅ1โˆ€๐‘ฅ2 . . . โˆ€๐‘ฅ๐‘› ๐’œ[๐‘ฆ โ†ฆโ†’ ๐‘“(๐‘ฅ1, ๐‘ฅ2, . . . , ๐‘ฅ๐‘›)]. Moze se dokazati da je formulaโˆ€๐‘ฅ1โˆ€๐‘ฅ2 . . . โˆ€๐‘ฅ๐‘›โˆƒ๐‘ฆ๐’œ zadovoljiva ako i samo ako je formula โˆ€๐‘ฅ1โˆ€๐‘ฅ2 . . . โˆ€๐‘ฅ๐‘›๐’œ[๐‘ฆ โ†ฆโ†’๐‘“(๐‘ฅ1, ๐‘ฅ2, . . . , ๐‘ฅ๐‘›)] zadovoljiva. (Primetimo da je uvodenje nove konstante samospecijalni slucaj uvodenja novog funkcijskog simbola.)

Teorema 9.4 (Teorema o skolemizaciji). Ako je formula โ„ฌ nad signatu-rom โ„’โ€ฒ dobijena skolemizacijom od recenice ๐’œ nad signaturom โ„’ koja jeu preneks normalnoj formi, onda je ๐’œ zadovoljiva ako i samo ako je โ„ฌzadovoljiva.

Page 185: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

183 9. Automatsko rasudivanje u logici prvog reda

Primer 9.26. Skolemizacijom se formula

โˆ€๐‘ฅโˆ€๐‘ขโˆƒ๐‘ฆโˆ€๐‘ง (๐‘(๐‘ฅ) โˆง (ยฌ๐‘ž(๐‘ฆ, ๐‘ง) โˆจ ๐‘Ÿ(๐‘”(๐‘ข), ๐‘ฆ)))

transformise u formulu

โˆ€๐‘ฅโˆ€๐‘ขโˆ€๐‘ง (๐‘(๐‘ฅ) โˆง (ยฌ๐‘ž(โ„Ž(๐‘ฅ, ๐‘ข), ๐‘ง) โˆจ ๐‘Ÿ(๐‘”(๐‘ข), โ„Ž(๐‘ฅ, ๐‘ข)))) .

Transformisanje formule u preneks normalnu formu, pa transformisanje de-la formule bez kvantifikatora u konjunktivnu normalnu formu, pa eliminisanjeskolemizacijom egzistencijalnih kvantifikatora, jednog po jednog, dovodi do spe-cificne sintaksicke forme koju zovemo klauzalna forma:

Definicija 9.13 (Klauzalna forma). Formula je u klauzalnoj formi akoje oblika

โˆ€๐‘ฅ1โˆ€๐‘ฅ2 . . . โˆ€๐‘ฅ๐‘›๐’œ

gde je ๐’œ formula bez kvantifikatora, u konjunktivnoj normalnoj formi i bezslobodnih promenljivih osim, eventualno, promenljivih ๐‘ฅ1, ๐‘ฅ2, . . . , ๐‘ฅ๐‘›.

Ako je formula โˆ€๐‘ฅ1โˆ€๐‘ฅ2 . . . โˆ€๐‘ฅ๐‘›๐’œ u klauzalnoj formi, onda se cesto u zapi-su izostavljaju kvantifikatori i pise samo ๐’œ, podrazumevajuci da se misli nauniverzalno zatvorenje formule ๐’œ.

Teorema 9.5. Neka je formula โ„ฌ (u klauzalnoj formi) dobijena od recenice๐’œ uzastopnom primenom sledecih postupaka:

โ€ข transformisanje formule u preneks normalnu formu;

โ€ข transformisanje dela formule bez kvantifikatora u konjunktivnu nor-malnu formu;

โ€ข skolemizacija.

Tada je formula ๐’œ zadovoljiva ako i samo ako je โ„ฌ zadovoljiva.

Navedena teorema kaze da transformisanje formule u klauzalnu formu nedaje njoj logicki ekvivalentnu formulu, vec formulu koja joj je samo slabo ekvi-valentna. Medutim, to je dovoljno u kontekstu ispitivanja zadovoljivosti: akose ispituje zadovoljivost recenice ๐’œ, dovoljno je ispitati zadovoljivost formule โ„ฌkoja je u klauzalnoj formi i slabo ekvivalentna sa formulom ๐’œ. To daje i put zadokazivanje da je neka formula ๐’œ valjana: dovoljno je dokazati da je formulaยฌ๐’œ nezadovoljiva, pa je dovoljno i dokazati da je klauzalna forma formule ยฌ๐’œnezadovoljiva.

Page 186: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 184

Primer 9.27. Formula ๐’œ = (โˆ€๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฅ)โ‡’ (โˆ€๐‘ฆ)๐‘(๐‘ฆ, ๐‘ฆ) nad signaturom โ„’je valjana. To se moze dokazati na sledeci nacin.

Formula ยฌ๐’œ je jednaka ยฌ((โˆ€๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฅ) โ‡’ (โˆ€๐‘ฆ)๐‘(๐‘ฆ, ๐‘ฆ)) i njena preneksnormalna forma je (โˆƒ๐‘ฆ)(โˆ€๐‘ฅ)(๐‘(๐‘ฅ, ๐‘ฅ)โˆงยฌ๐‘(๐‘ฆ, ๐‘ฆ)). Skolemizacijom dobijamoformulu ๐‘(๐‘ฅ, ๐‘ฅ)โˆงยฌ๐‘(๐‘, ๐‘), gde je ๐‘ novi simbol konstante. Neka je โ„’โ€ฒ signa-tura dobijena prosirivanjem signature โ„’ simbolom ๐‘. Moze se pokazati daje formula ๐‘(๐‘ฅ, ๐‘ฅ) โˆง ยฌ๐‘(๐‘, ๐‘) nezadovoljiva โ€“ ili neposredno koristeci defi-niciju zadovoljivosti ili koristeci metod rezolucije opisan u nastavku. Kakoje formula ๐‘(๐‘ฅ, ๐‘ฅ) โˆง ยฌ๐‘(๐‘, ๐‘) nezadovoljiva, polazna formula ๐’œ je valjana.

9.3.3 UnifikacijaProblem unifikacije je problem ispitivanja da li postoji supstitucija koja cini

dva izraza (dva terma ili dve formule) jednakim.

Definicija 9.14 (Unifikabilnost i unifikator). Ako za izraze ๐‘’1 i ๐‘’2 postojisupstitucija ๐œŽ takva da vazi ๐‘’1๐œŽ = ๐‘’2๐œŽ, onda kazemo da su izrazi ๐‘’1 i ๐‘’2unifikabilni i da je supstitucija ๐œŽ unifikator (eng. unifier) za ta dva izraza.

Primer 9.28. 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) njihovunifikator. 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 jednaka do na preimenovanje promenljivih ako postojisupstitucija ๐œ† koja je oblika [๐‘ฃโ€ฒ1 โ†ฆโ†’ ๐‘ฃโ€ฒโ€ฒ1 , ๐‘ฃ

โ€ฒ2 โ†ฆโ†’ ๐‘ฃโ€ฒโ€ฒ2 , . . . , ๐‘ฃ

โ€ฒ๐‘› โ†ฆโ†’ ๐‘ฃโ€ฒโ€ฒ๐‘›], pri cemu su ๐‘ฃโ€ฒ๐‘– i

๐‘ฃโ€ฒโ€ฒ๐‘– simboli promenljivih i vazi ๐œŽ1๐œ† = ๐œŽ2.

Primer 9.29. Naredni parovi unifikatora izraza ๐‘”(๐‘ฅ, ๐‘ง) i ๐‘”(๐‘ฆ, ๐‘“(๐‘ฆ)) jednakisu do na preimenovanje promenljivih:

โ€ข ๐œŽ1 = [๐‘ฆ โ†ฆโ†’ ๐‘ฅ, ๐‘ง โ†ฆโ†’ ๐‘“(๐‘ฅ)], ๐œŽ2 = [๐‘ฆ โ†ฆโ†’ ๐‘ฅ, ๐‘ง โ†ฆโ†’ ๐‘“(๐‘ฅ)].

โ€ข ๐œŽ1 = [๐‘ฆ โ†ฆโ†’ ๐‘ฅ, ๐‘ง โ†ฆโ†’ ๐‘“(๐‘ฅ)], ๐œŽ2 = [๐‘ฅ โ†ฆโ†’ ๐‘ฆ, ๐‘ง โ†ฆโ†’ ๐‘“(๐‘ฆ)].

โ€ข ๐œŽ1 = [๐‘ฆ โ†ฆโ†’ ๐‘ฅ, ๐‘ง โ†ฆโ†’ ๐‘“(๐‘ฅ)], ๐œŽ2 = [๐‘ฅ โ†ฆโ†’ ๐‘ข, ๐‘ฆ โ†ฆโ†’ ๐‘ข, ๐‘ง โ†ฆโ†’ ๐‘“(๐‘ข)].

Page 187: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

185 9. Automatsko rasudivanje u logici prvog reda

Definicija 9.15 (Najopstiji unifikator). Supstitucija ๐œŽ je najopstiji uni-fikator (eng. most general unifier) za izraze ๐‘’1 i ๐‘’2 ako svaki unifikator ๐œizraza ๐‘’1 i ๐‘’2 moze biti predstavljen kao kompozicija supstitucije ๐œŽ i nekesupstitucije ๐œ‡.

Svaka dva unifikabilna izraza imaju najopstiji unifikator, jedinstveno dona preimenovanje promenljivih. Na slici 9.2 dat je opis opsteg algoritma zaodredivanje najopstijeg unifikatora za niz parova izraza. Algoritam unifikacijeili vraca trazenu supstituciju ili se zaustavlja sa neuspehom, ukazujuci na to datrazena supstitucija ne postoji. Primetimo da je korak 6 algoritma (application)(kao i neke druge korake algoritma) moguce u opstem slucaju primeniti na visenacina. Bilo koji od tih nacina vodi istom rezultatu โ€” neuspehu (ako ne postojitrazeni unifikator) ili jednom od unifikatora koji se mogu razlikovati samo dona preimenovanje promenljivih.

Primer 9.30. Ilustrujmo rad algoritma Najopstiji unifikator na primerusledeca dva para termova:

(๐‘”(๐‘ฆ), ๐‘ฅ), (๐‘“(๐‘ฅ, โ„Ž(๐‘ฅ), ๐‘ฆ), ๐‘“(๐‘”(๐‘ง), ๐‘ค, ๐‘ง))Primenom koraka 3 (orientation) dobijamo(๐‘ฅ, ๐‘”(๐‘ฆ)), (๐‘“(๐‘ฅ, โ„Ž(๐‘ฅ), ๐‘ฆ), ๐‘“(๐‘”(๐‘ง), ๐‘ค, ๐‘ง)).Primenom koraka 4(๐‘Ž) (decomposition) dobijamo(๐‘ฅ, ๐‘”(๐‘ฆ)), (๐‘ฅ, ๐‘”(๐‘ง)), (โ„Ž(๐‘ฅ), ๐‘ค), (๐‘ฆ, ๐‘ง).Korak 6 (application) moguce je primeniti na vise nacina. Primenom

za par (๐‘ฆ, ๐‘ง) dobijamo(๐‘ฅ, ๐‘”(๐‘ง)), (๐‘ฅ, ๐‘”(๐‘ง)), (โ„Ž(๐‘ฅ), ๐‘ค), (๐‘ฆ, ๐‘ง).Primenom koraka 1 (factoring) dobijamo(๐‘ฅ, ๐‘”(๐‘ง)), (โ„Ž(๐‘ฅ), ๐‘ค), (๐‘ฆ, ๐‘ง).Primenom koraka 3 (orientation) dobijamo(๐‘ฅ, ๐‘”(๐‘ง)), (๐‘ค, โ„Ž(๐‘ฅ)), (๐‘ฆ, ๐‘ง).Primenom koraka 6 (application) dobijamo(๐‘ฅ, ๐‘”(๐‘ง)), (๐‘ค, โ„Ž(๐‘”(๐‘ง))), (๐‘ฆ, ๐‘ง).Ovaj niz parova odreduje trazeni najopstiji unifikator ๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐‘”(๐‘ง),

๐‘ค โ†ฆโ†’ โ„Ž(๐‘”(๐‘ง)), ๐‘ฆ โ†ฆโ†’ ๐‘ง].

Primer 9.31. Razmotrimo sledeci par izraza (๐‘”(๐‘ฅ, ๐‘ฅ), ๐‘”(๐‘ฆ, ๐‘“(๐‘ฆ))) .Primenom koraka 4(๐‘Ž) (decomposition) dobijamo dva para izraza:(๐‘ฅ, ๐‘ฆ), (๐‘ฅ, ๐‘“(๐‘ฆ)).Korak 6 (application) moze se primeniti na samo dva nacina:

โ€ข primenom za par (๐‘ฅ, ๐‘ฆ); tada se dobija (๐‘ฅ, ๐‘ฆ), (๐‘ฆ, ๐‘“(๐‘ฆ)), odakle se,primenom koraka 5 (cycle) dolazi do neuspeha.

Page 188: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 186

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 1 (factoring):}3: ako postoji par koji ima vise od jednog pojavljivanja onda4: obrisi sva njegova pojavljivanja osim jednog;

5: {Korak 2 (tautology):}6: ako postoji par (๐‘ก, ๐‘ก) onda7: obrisi ga;

8: {Korak 3 (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 4(a) (decomposition):}14: dodaj parove (๐‘ข1, ๐‘ฃ1), (๐‘ข2, ๐‘ฃ2), . . . , (๐‘ข๐‘˜, ๐‘ฃ๐‘˜) i obrisi par (๐‘ , ๐‘ก);15: inace

16: {Korak 4(b) (collision):}17: zaustavi rad i kao rezultat vrati neuspeh;

18: {Korak 5 (cycle): }19: ako postoji par (๐‘ฅ, ๐‘ก) takav da je ๐‘ฅ promenljiva i ๐‘ก term koji sadrzi ๐‘ฅ

onda20: zaustavi rad i kao rezultat vrati neuspeh;

21: {Korak 6 (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 9.2: Algoritam Najopstiji unifikator.

Page 189: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

187 9. Automatsko rasudivanje u logici prvog reda

โ€ข primenom za par (๐‘ฅ, ๐‘“(๐‘ฆ)); tada se dobija (๐‘“(๐‘ฆ), ๐‘ฆ), (๐‘ฅ, ๐‘“(๐‘ฆ)), odaklese, primenom koraka 3 (orientation) i koraka 5 (cycle) dolazi doneuspeha.

Dakle, izrazi ๐‘”(๐‘ฅ, ๐‘ฅ) i ๐‘”(๐‘ฆ, ๐‘“(๐‘ฆ)) nisu unifikabilni.

Teorema 9.6 (Korektnost algoritma Najopstiji unifikator). Algoritam Naj-opstiji unifikator zadovoljava sledece uslove:

โ€ข zaustavlja se;

โ€ข ako vrati supstituciju, onda je ona najopstiji unifikator za dati nizparova izraza;

โ€ข ako se algoritam zaustavi i vrati neuspeh, onda ne postoji unifikatorza dati niz parova izraza.

Navedeni algoritam za unifikaciju nije efikasan. Postoje znatno efikasniji al-goritmi i mnogi od njih zasnovani su na koriscenju pogodnih struktura podatakai implicitnom primenjivanju supstitucije (iz koraka 6). Neki od tih algoritamaimaju linearnu vremensku slozenost (po broju polaznih parova) i unifikatorepredstavljaju implicitno (u vidu grafova). No, u opstem slucaju, najopstiji uni-fikator moze imati i eksponencijalnu duzinu (po broju polaznih parova), te ganije moguce eksplicitno predstaviti u linearnom vremenu. To ilustruje sledeciprimer.

Primer 9.32. Za skup parova

(๐‘ฅ1, ๐‘“(๐‘ฅ0, ๐‘ฅ0))

(๐‘ฅ2, ๐‘“(๐‘ฅ1, ๐‘ฅ1))

. . .

(๐‘ฅ๐‘›, ๐‘“(๐‘ฅ๐‘›โˆ’1, ๐‘ฅ๐‘›โˆ’1))

Najopstiji unifikator sadrzi zamenu ๐‘ฅ๐‘› โ†ฆโ†’ ๐‘ก, gde je ๐‘ก term koji sadrzi samosimbole ๐‘ฅ0 i ๐‘“ , pri cemu ima 2๐‘› โˆ’ 1 pojavljivanja simbola ๐‘“ .

Unifikacija ima mnoge primene. Neke od njih su u transformisanju izrazakoriscenjem raspolozivih pravila, a neke u metodu rezolucije.

Primer 9.33. U primeru 8.17, obrazlozeno je zasto se u C programu uslovif (!(!a && !b) || c)

moze zameniti sledecim redom:

Page 190: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 188

if (a || b || c)Kompilatori vrse takve izmene tokom prevodenja, na nacin pojedno-

stavljeno opisan u nastavku. Kompilator moze da ima raspoloziva pravilapoput

!(!x && !y) โ†ฆโˆ’โ†’ x || y.Kompilator razmatra izraz !(!a && !b) || c i njegove podizraze i is-

pituje da li na njih moze da primeni neko od raspolozivih pravila. Pravilo jeprimenljivo ako se njegova leva strana moze unifikovati sa izrazom koji serazmatra. Pritom, promenljive koje figurisu u izrazu iz programa smatrajuse konstantama (zato se ova vrsta unifikacije zove jednosmerna unifikaci-ja). U nasem primeru, !(!x && !y) moze da se unifikuje sa podizrazom!(!a && !b) za unifikator ๐œŽ = [x โ†ฆโ†’ a, y โ†ฆโ†’ b]. Vazi (x || y)๐œŽ = a ||b, te se primenom zamene od izraza if (!(!a && !b) || c) dobija izrazif (a || b || c).

Ovim je, zapravo, opisan i mehanizam primene logickih ekvivalencijau algoritmima PRENEX i KNF.

9.3.4 Metod rezolucijeMetod rezolucije (eng. resolution method) formulisao je Alen Robinson (Alan

Robinson) 1965. godine, sledeci mnogobrojne prethodne rezultate. To je postu-pak za ispitivanje (ne)zadovoljivosti formule logike prvog reda u klauzalnoj for-mi, tj. za ispitivanje (ne)zadovoljivosti skupa klauza logike prvog reda. Metodse moze pojednostaviti tako da je primenljiv za ispitivanje (ne)zadovoljivostiskupa klauza iskazne logike.

Formula koja je u konjunktivnoj normalnoj formi moze da ima konjunktekoji se ponavljaju, a njeni konjunkti mogu da imaju literale koji se ponavljaju.Medutim, na osnovu asocijativnosti i komutativnosti konjunkcije i disjunkci-je, kao i na osnovu logickih ekvivalencija ๐’œ โˆง ๐’œ โ‰ก ๐’œ i ๐’œ โˆจ ๐’œ โ‰ก ๐’œ, takvaponavljanja mogu da se eliminisu i formula koja je u konjunktivnoj normalnojformi moze da se zameni (logicki ekvivalentnom) formulom koja je konjunkcijarazlicitih klauza od kojih je svaka disjunkcija razlicitih literala. Dakle, formulase moze opisati skupom klauza i, dalje, skupom skupova literala. Takva formulaje zadovoljiva ako i samo ako postoji interpretacija u kojoj su sve njene klauzetacne. Klauza je zadovoljiva ako postoji interpretacija u kojoj je bar jedanliteral iz te klauze tacan, pa se smatra da prazna klauza, u oznaci ๏ฟฝ, nijezadovoljiva.

Moze se osigurati da se logicke konstanteโŠค iโŠฅ ne pojavljuju u skupu klauza.Naime, klauza koja sadrzi literal โŠค je u svakoj valuaciji tacna, pa moze bitieliminisana (jer ne utice na zadovoljivost polaznog skupa klauza). Ako klauza๐ถ sadrzi literal โŠฅ, onda taj literal moze biti obrisan, dajuci novu klauzu ๐ถ โ€ฒ

(jer je u svakoj interpretaciji klauza ๐ถ tacna ako i samo ako je tacna klauza๐ถ โ€ฒ).

U slucaju iskazne logike, ako je literal ๐‘™ jednak iskaznom slovu ๐‘, ondasa ๐‘™ oznacavamo literal ยฌ๐‘; ako je literal ๐‘™ jednak negaciji iskaznog slova ๐‘

Page 191: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

189 9. Automatsko rasudivanje u logici prvog reda

(tj. literalu ยฌ๐‘), onda sa ๐‘™ oznacavamo literal ๐‘. Za literale ๐‘™ i ๐‘™ kazemo da sumedusobno komplementni. U slucaju logike prvog reda, ako je literal ๐‘™ jednak๐‘(๐‘ก1, ๐‘ก2, . . . , ๐‘ก๐‘›), onda sa ๐‘™ oznacavamo literal ยฌ๐‘(๐‘ก1, ๐‘ก2, . . . , ๐‘ก๐‘›), a ako je lite-ral ๐‘™ jednak ยฌ๐‘(๐‘ก1, ๐‘ก2, . . . , ๐‘ก๐‘›), onda sa ๐‘™ oznacavamo literal ๐‘(๐‘ก1, ๐‘ก2, . . . , ๐‘ก๐‘›). Zaliterale ๐‘™ i ๐‘™ kazemo da su (medusobno) komplementni.

Metod rezolucije (i za iskaznu i za logiku prvog reda) proverava da li je datiskup klauza (ne)zadovoljiv. Ako je potrebno ispitati da li je formula ฮฆ valjana,dovoljno je metodom rezolucije utvrditi da li je formula ยฌฮฆ nezadovoljiva (ovajvid dokazivanja da je formula ฮฆ valjana zovemo dokazivanje pobijanjem), pricemu je potrebno najpre formulu ยฌฮฆ transformisati u skup klauza. Ako seizvede prazna klauza, onda to znaci da je formula ยฌฮฆ nezadovoljiva, pa je ฮฆvaljana; ako u nekom koraku ne moze da se izvede nijedna nova klauza, ondato 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 izvodebeskonacno, a da se pritom ne izvede prazna klauza.

Metod rezolucije za iskaznu logiku. U metodu rezolucije za iskaznu logikuprimenjuje se pravilo rezolucije sledeceg oblika:

๐ถ โ€ฒ โˆจ ๐‘™ ๐ถ โ€ฒโ€ฒ โˆจ ๐‘™๐ถ โ€ฒ โˆจ ๐ถ โ€ฒโ€ฒ

Klauzu ๐ถ โ€ฒ โˆจ ๐ถ โ€ฒโ€ฒ zovemo rezolventom klauza ๐ถ โ€ฒ โˆจ ๐‘™ i ๐ถ โ€ฒโ€ฒ โˆจ ๐‘™, a klauze ๐ถ โ€ฒ โˆจ ๐‘™i ๐ถ โ€ฒโ€ฒ โˆจ ๐‘™ roditeljima rezolvente. Kazemo da klauze ๐ถ โ€ฒ โˆจ ๐‘™ i ๐ถ โ€ฒโ€ฒ โˆจ ๐‘™ rezolviramopravilom rezolucije.

Pravilo rezolucije moze se zapisati i na sledeci, intuitivniji nacin:

ยฌ๐ถ โ€ฒ โ‡’ ๐‘™ ๐‘™โ‡’ ๐ถ โ€ฒโ€ฒ

ยฌ๐ถ โ€ฒ โ‡’ ๐ถ โ€ฒโ€ฒ

Ilustrujmo taj oblik pravila jednostavnim primerom nad formulama iskazanimprirodnim 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 kojise sastoji od uzastopnog primenjivanja pravila rezolucije (slika 9.3).

U primeni metoda rezolucije, niz klauza (polaznih i izvedenih) oznacavacemoobicno sa ๐ถ1, ๐ถ2, ๐ถ3, . . . Iza izvedene klauze zapisivacemo oznake klauza iz ko-jih je ona izvedena, kao i redne brojeve literala nad kojim je primenjeno pravilorezolucije. Literale u klauzama razdvajacemo obicno simbolom โ€™,โ€™ (umesto sim-bolom โ€™โˆจโ€™).

Page 192: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 190

Algoritam: Metod rezolucije

Ulaz: Skup klauza ๐‘†

Izlaz: Odgovor zadovoljiv/nezadovoljiv

1: ponavljaj2: ako u tekucem skupu klauza postoji prazna klauza (๏ฟฝ) onda3: vrati odgovor da je skup klauza ๐‘† nezadovoljiv;4: ako se pravilom rezolucije moze izvesti neka nova klauza onda5: dodaj odgovarajucu rezolventu u tekuci skup klauza (i u skupu

zadrzi roditelje te rezolvente);6: inace7: vrati odgovor da je skup klauza ๐‘† zadovoljiv.

Slika 9.3: Algoritam Metod rezolucije.

Primer 9.34. 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 9.35. 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 pojavlju-ju u zadatom skupu klauza postoji konacno mnogo klauza, pa samim tim imogucih rezolventi tokom primene metoda rezolucije. Zbog toga se metod re-zolucije zaustavlja za svaku ulaznu formulu (tj. za svaki ulazni skup klauza).Moze se dokazati i vise โ€“ da je metod rezolucije procedura odlucivanja za zado-voljivost skupova klauza iskazne logike:

Teorema 9.7 (Teorema o algoritmu Metod rezolucije). Metod rezolucijezaustavlja se za svaku iskaznu formulu i u zavrsnom skupu klauza postojiprazna klauza ako i samo ako je polazna formula nezadovoljiva.

Page 193: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

191 9. Automatsko rasudivanje u logici prvog reda

Metod rezolucije moze se modifikovati na razne nacine radi efikasnosti.

Metod rezolucije za logiku prvog reda. U iskaznoj logici pravilo rezolucijemoze da se primeni na sledece nacine:

โ€žSokrat je filozofโ€œ โ‡’ โ€žSokrat je covekโ€œ โ€žSokrat je covekโ€œ โ‡’ โ€žSokrat je smrtanโ€œโ€žSokrat je filozofโ€œ โ‡’ โ€žSokrat je smrtanโ€œ

โ€žPlaton je filozofโ€œ โ‡’ โ€žPlaton je covekโ€œ โ€žPlaton je covekโ€œ โ‡’ โ€žPlaton je smrtanโ€œโ€žPlaton je filozofโ€œ โ‡’ โ€žPlaton je smrtanโ€œ

U logici prvog reda pravilo rezolucije (koje ce tek biti uvedeno precizno)moze da se primeni na sledeci nacin:

โ€ž๐‘ฅ je filozofโ€œ โ‡’ โ€ž๐‘ฅ je covekโ€œ โ€ž๐‘ฅ je covekโ€œ โ‡’ โ€ž๐‘ฅ je smrtanโ€œโ€ž๐‘ฅ je filozofโ€œ โ‡’ โ€ž๐‘ฅ je smrtanโ€œ

Ovakvo zakljucivanje je opstije (pa u tom smislu i bolje) jer iz jednog za-kljucka โ€ž๐‘ฅ je filozofโ€œ โ‡’ โ€ž๐‘ฅ je smrtanโ€œ primenom supstitucija [๐‘ฅ โ†ฆโ†’ Sokrat] i[๐‘ฅ โ†ฆโ†’ Platon], mozemo da dobijemo specificna tvrdenja:

โ€žSokrat je filozofโ€œ โ‡’ โ€žSokrat je smrtanโ€œ ,

โ€žPlaton je filozofโ€œ โ‡’ โ€žPlaton je smrtanโ€œ

pa, primenom supstitucije [๐‘ฅ โ†ฆโ†’ Cezar], i

โ€žCezar je filozofโ€œ โ‡’ โ€žCezar je smrtanโ€œ

(iako Cezar nije filozof) i mnoga druga slicna. Ovakvo zakljucivanje, kojeukljucuje promenljive logike prvog reda, ne moze se opravdati u terminimaiskazne logike i za njega je potrebno pravilo rezolucije za logiku prvog reda,motivisano prethodnim primerima. Njegov specijalni slucaj je:

ยฌฮ“โ€ฒ โ‡’ ๐’œ ๐’œโ‡’ ฮ“โ€ฒโ€ฒ

ยฌฮ“โ€ฒ โ‡’ ฮ“โ€ฒโ€ฒ

U navedenom pravilu, veznik negacije koji postoji u formuli ยฌฮ“โ€ฒ โ‡’ ๐’œ tu jesamo radi pogodnijeg zapisa pravila do kojeg cemo doci kasnije. I formule bezte negacije mogu da se rezolviraju analogno.

Napravimo korak dalje. U navedenom pravilu specijalnog oblika, ista for-mula ๐’œ pojavljuje se i u formuli ยฌฮ“โ€ฒ โ‡’ ๐’œ i u formuli ๐’œ โ‡’ ฮ“โ€ฒโ€ฒ. Ona moze dabude instanca formula ๐’œโ€ฒ i ๐’œโ€ฒโ€ฒ koje nisu jednake ali su unifikabilne, tj. formula๐’œ moze da bude jednaka formulama ๐’œโ€ฒ๐œŽ i ๐’œโ€ฒโ€ฒ๐œŽ. To ilustruje naredni primer.

Page 194: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 192

Primer 9.36. Formule ยฌ๐‘(๐‘Ž, ๐‘ฆ) โ‡’ ๐‘ž(๐‘Ž, ๐‘ฆ) i ๐‘ž(๐‘ฅ, ๐‘) โ‡’ ๐‘Ÿ(๐‘ฅ, ๐‘) mogu dase rezolviraju tek ako se na njih primeni supstitucija ๐œŽ takva da vazi๐‘ž(๐‘Ž, ๐‘ฆ)๐œŽ = ๐‘ž(๐‘ฅ, ๐‘)๐œŽ, na primer, ๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐‘Ž, ๐‘ฆ โ†ฆโ†’ ๐‘]. Formule ยฌ๐‘(๐‘Ž, ๐‘) โ‡’๐‘ž(๐‘Ž, ๐‘) i ๐‘ž(๐‘Ž, ๐‘) โ‡’ ๐‘Ÿ(๐‘Ž, ๐‘) se mogu rezolvirati i daju zakljucak ยฌ๐‘(๐‘Ž, ๐‘) โ‡’๐‘Ÿ(๐‘Ž, ๐‘).

Kao sto je nagovesteno, i formule bez veznika negacije koji postoji u formuliยฌฮ“โ€ฒ โ‡’ ๐’œ mogu da se rezolviraju analogno i to ilustruje naredni primer.

Primer 9.37. Pretpostavimo da su date formule๐‘œ๐‘ก๐‘Ž๐‘(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž, ๐‘ฆ) โ‡’ ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž, ๐‘ฆ) i๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ,๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ)โ‡’ ๐‘๐‘Ÿ๐‘’๐‘‘๐‘Ž๐‘˜(๐‘ฅ,๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ).

One mogu da se rezolviraju iako formule ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž, ๐‘ฆ) i ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ,๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ) nisu jednake. Naime, one su unifikabilne i jedan unifikator je๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž, ๐‘ฆ โ†ฆโ†’ ๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ]. Formule

๐‘œ๐‘ก๐‘Ž๐‘(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž,๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ)โ‡’ ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž,๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ) i๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž,๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ)โ‡’ ๐‘๐‘Ÿ๐‘’๐‘‘๐‘Ž๐‘˜(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž, ๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ)

se mogu rezolvirati i daju zakljucak๐‘œ๐‘ก๐‘Ž๐‘(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž,๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ)โ‡’ ๐‘๐‘Ÿ๐‘’๐‘‘๐‘Ž๐‘˜(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž, ๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ).

Primetimo da se na osnovu datih formula ne moze izvesti formula๐‘œ๐‘ก๐‘Ž๐‘(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž, ๐‘ฆ)โ‡’ ๐‘๐‘Ÿ๐‘’๐‘‘๐‘Ž๐‘˜(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž, ๐‘ฆ)).

Pokazano je kako se rezolviraju formule ยฌฮ“โ€ฒ โ‡’ ๐’œโ€ฒ i ๐’œโ€ฒโ€ฒ โ‡’ ฮ“โ€ฒโ€ฒ, kada suformule ๐’œโ€ฒ i ๐’œโ€ฒโ€ฒ unifikabilne. Zapravo se rezolviraju formule (ยฌฮ“โ€ฒ โ‡’ ๐’œโ€ฒ)๐œŽi (๐’œโ€ฒโ€ฒ โ‡’ ฮ“โ€ฒโ€ฒ)๐œŽ tj. formule ยฌฮ“โ€ฒ๐œŽ โ‡’ ๐’œโ€ฒ๐œŽ i ๐’œโ€ฒโ€ฒ๐œŽ โ‡’ ฮ“โ€ฒโ€ฒ๐œŽ, pri cemu je ๐œŽ nekiunifikator za formule ๐’œโ€ฒ i ๐’œโ€ฒโ€ฒ, tj. vazi ๐’œโ€ฒ๐œŽ = ๐’œโ€ฒโ€ฒ๐œŽ:

ยฌฮ“โ€ฒ๐œŽ โ‡’ ๐’œโ€ฒ๐œŽ ๐’œโ€ฒโ€ฒ๐œŽ โ‡’ ฮ“โ€ฒโ€ฒ๐œŽยฌฮ“โ€ฒ๐œŽ โ‡’ ฮ“โ€ฒโ€ฒ๐œŽ

Navedeno pravilo moze se zapisati i na sledeci nacin:

(ฮ“โ€ฒ โˆจ ๐’œโ€ฒ)๐œŽ (ฮ“โ€ฒโ€ฒ โˆจ ยฌ๐’œโ€ฒโ€ฒ)๐œŽ

(ฮ“โ€ฒ โˆจ ฮ“โ€ฒโ€ฒ)๐œŽ

ili, kao sto je uobicajeno:

ฮ“โ€ฒ โˆจ ๐’œโ€ฒ ฮ“โ€ฒโ€ฒ โˆจ ยฌ๐’œโ€ฒโ€ฒ

(ฮ“โ€ฒ โˆจ ฮ“โ€ฒโ€ฒ)๐œŽ

uz uslov da je ๐œŽ unifikator za ๐’œโ€ฒ i ๐’œโ€ฒโ€ฒ.

Primer 9.38. Klauzeยฌ๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฅ, ๐‘ฆ) โˆจ ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ, ๐‘ฆ) iยฌ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ, ๐‘ฆ) โˆจ ๐‘๐‘Ÿ๐‘’๐‘‘๐‘Ž๐‘˜(๐‘ฅ, ๐‘ฆ)

Page 195: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

193 9. Automatsko rasudivanje u logici prvog reda

rezolviraju se na sledeci nacin:

ยฌ๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฅ, ๐‘ฆ) โˆจ ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ, ๐‘ฆ) ยฌ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ, ๐‘ฆ) โˆจ ๐‘๐‘Ÿ๐‘’๐‘‘๐‘Ž๐‘˜(๐‘ฅ, ๐‘ฆ)

ยฌ๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฅ, ๐‘ฆ) โˆจ ๐‘๐‘Ÿ๐‘’๐‘‘๐‘Ž๐‘˜(๐‘ฅ, ๐‘ฆ)

Unifikator ๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž, ๐‘ฆ โ†ฆโ†’ ๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ] daje rezolventu ยฌ๐‘œ๐‘ก๐‘Ž๐‘(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž,๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ) โˆจ ๐‘๐‘Ÿ๐‘’๐‘‘๐‘Ž๐‘˜(๐ด๐‘™๐‘’๐‘˜๐‘ ๐‘Ž,๐ต๐‘Ÿ๐‘Ž๐‘›๐‘˜๐‘œ). Ipak, mnogo opstiji zakljucak je re-zolventa ยฌ๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฅ, ๐‘ฆ) โˆจ ๐‘๐‘Ÿ๐‘’๐‘‘๐‘Ž๐‘˜(๐‘ฅ, ๐‘ฆ), koja se dobija za unifikator ๐œŽ = [ ].

Kao sto pokazuje i prethodni primer, bolje je da su zakljucci sto opstiji,te se u pravilu zahteva da je ๐œŽ najopstiji unifikator za ๐’œโ€ฒ i ๐’œโ€ฒโ€ฒ. Zato pravilorezolucije za logiku prvog reda u nesto opstijem, ali i dalje specijalnom obliku(tzv. binarna rezolucija) glasi ovako:

ฮ“โ€ฒ โˆจ ๐’œโ€ฒ ฮ“โ€ฒโ€ฒ โˆจ ยฌ๐’œโ€ฒโ€ฒ

(ฮ“โ€ฒ โˆจ ฮ“โ€ฒโ€ฒ)๐œŽ

gde su ฮ“โ€ฒ i ฮ“โ€ฒโ€ฒ klauze, a ๐œŽ je najopstiji unifikator za ๐’œโ€ฒ i ๐’œโ€ฒโ€ฒ. Opste pravilorezolucije omogucava rezolviranje vise literala odjednom. Ono moze biti opisanona sledeci nacin:

ฮ“โ€ฒ โˆจ ๐’œโ€ฒ1 โˆจ ๐’œโ€ฒ

2 โˆจ . . . โˆจ ๐’œโ€ฒ๐‘š ฮ“โ€ฒโ€ฒ โˆจ ยฌ๐’œโ€ฒโ€ฒ

1 โˆจ ยฌ๐’œโ€ฒโ€ฒ2 โˆจ . . . โˆจ ยฌ๐’œโ€ฒโ€ฒ

๐‘›

(ฮ“โ€ฒ โˆจ ฮ“โ€ฒโ€ฒ)๐œŽ

gde je ๐œŽ najopstiji unifikator za formule (sve istovremeno) ๐’œโ€ฒ1, ๐’œโ€ฒ

2, . . . ,๐’œโ€ฒ๐‘š, ๐’œโ€ฒโ€ฒ

1 ,๐’œโ€ฒโ€ฒ

2 , . . . ,๐’œโ€ฒโ€ฒ๐‘›.

Primer 9.39. Primenjeno nad klauzama ๐‘Ÿ(๐‘”(๐‘ฆ))โˆจ ๐‘(๐‘ฅ)โˆจ ๐‘(๐‘“(๐‘ฆ)) i ๐‘ž(๐‘ฅ)โˆจยฌ๐‘(๐‘“(๐‘”(๐‘Ž))), uz unifikator [๐‘ฆ โ†ฆโ†’ ๐‘”(๐‘Ž), ๐‘ฅ โ†ฆโ†’ ๐‘“(๐‘”(๐‘Ž))], opste pravilo rezolucijedaje rezolventu ๐‘Ÿ(๐‘”(๐‘”(๐‘Ž))) โˆจ ๐‘ž(๐‘“(๐‘”(๐‘Ž))).

Obe klauze na koje se primenjuje pravilo rezolucije su (implicitno) univer-zalno kvantifikovane. Stoga se svaka od njihovih varijabli moze preimenovati(jer su formule โˆ€๐‘ฅ๐’œ(๐‘ฅ) i โˆ€๐‘ฅโ€ฒ๐’œ(๐‘ฅโ€ฒ) logicki ekvivalentne). Stavise, to je neophod-no uraditi za sve deljene varijable, jer bi, inace, neke primene pravila rezolucijebile (pogresno) onemogucene (jer odgovarajuci literali ne bi bili unifikabilni).

Primer 9.40. Nad klauzama ยฌ๐‘(๐‘ฅ, ๐‘ฆ) โˆจ ยฌ๐‘(๐‘ง, ๐‘ฆ) โˆจ ๐‘(๐‘ฅ, ๐‘ง) i ยฌ๐‘(๐‘, ๐‘Ž) mozese primeniti pravilo rezolucije, jer su literali ๐‘(๐‘ฅ, ๐‘ง) i ๐‘(๐‘, ๐‘Ž) unifikabilni(uz najopstiji unifikator ๐œŽ = [๐‘ฅ โ†ฆโ†’ ๐‘, ๐‘ง โ†ฆโ†’ ๐‘Ž]). Rezolventa ove dve klauze jeklauza ยฌ๐‘(๐‘, ๐‘ฆ) โˆจ ยฌ๐‘(๐‘Ž, ๐‘ฆ).

Ako se pravilo rezolucije primenjuje dalje, onda u dobijenoj klauzi svepromenljive treba da budu preimenovane (treba da dobiju imena koja dotada nisu koriscena): ยฌ๐‘(๐‘, ๐‘ฆโ€ฒ) โˆจ ยฌ๐‘(๐‘Ž, ๐‘ฆโ€ฒ).

Page 196: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 194

Metod rezolucije za logiku prvog reda ima isti opsti oblik kao metod rezo-lucije za iskaznu logiku (slika 9.3), s tim sto se koristi opste pravilo rezolucijeza logiku prvog reda.

Primer 9.41. Dokazimo da je formula ๐‘(๐‘Ž) โ‡’ (โˆƒ๐‘ฅ)๐‘(๐‘ฅ) valjana. Nega-cija date formule je logicki ekvivalentna formuli ๐‘(๐‘Ž) โˆง (โˆ€๐‘ฅ)ยฌ๐‘(๐‘ฅ). Metodrezolucije primenjuje se na skup klauza {๐‘(๐‘Ž),ยฌ๐‘(๐‘ฅ)}. Pravilo rezolucijemoguce je primeniti samo na jedan nacin โ€” literali ๐‘(๐‘Ž) i ยฌ๐‘(๐‘ฅ) se uni-fikuju supstitucijom [๐‘ฅ โ†ฆโ†’ ๐‘Ž] i njime se dobija prazna klauza. Odatle sledida je formula ๐‘(๐‘Ž)โ‡’ (โˆƒ๐‘ฅ)๐‘(๐‘ฅ) valjana.

Primer 9.42. Dokazimo metodom rezolucije za logiku prvog reda da for-mula (โˆ€๐‘ฅ)(โˆƒ๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ)โ‡’ (โˆƒ๐‘ฆ)(โˆ€๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ) nije valjana. Negacija date formu-le je logicki ekvivalentna sa formulom (โˆ€๐‘ฅ)(โˆƒ๐‘ฆ)(๐‘(๐‘ฅ, ๐‘ฆ)โˆง(โˆ€๐‘ฆ)(โˆƒ๐‘ฅ) ยฌ๐‘(๐‘ฅ, ๐‘ฆ))i sa formulom (โˆ€๐‘ฅ)(โˆƒ๐‘ฆ)(โˆ€๐‘ข)(โˆƒ๐‘ฃ)(๐‘(๐‘ฅ, ๐‘ฆ) โˆง ยฌ๐‘(๐‘ฃ, ๐‘ข)). Od nje se skolemiza-cijom dobija skup od dve klauze: {๐‘(๐‘ฅ, ๐‘“(๐‘ฅ)),ยฌ๐‘(๐‘”(๐‘ฅ, ๐‘ข), ๐‘ข)}. Pravilo rezo-lucije nije moguce primeniti na ove dve klauze, odakle sledi da je formula(โˆ€๐‘ฅ)(โˆƒ๐‘ฆ) (๐‘(๐‘ฅ, ๐‘ฆ) โˆง (โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)ยฌ๐‘(๐‘ฅ, ๐‘ฆ)) zadovoljiva, tj. polazna formula nijevaljana.

U primerima izvrsavanja metoda rezolucije, niz klauza (polaznih i izvedenih)oznacavacemo cesto sa ๐ถ๐‘– (๐‘– = 1, 2, . . . ). Iza izvedene klauze zapisivacemooznake klauza iz kojih je ona izvedena, redne brojeve literala u tim klauzama,iskorisceni najopstiji unifikator, kao i supstituciju pomocu koje se preimenujupromenljive.

Primer 9.43. Dokazimo da je formula (โˆ€๐‘ฅ)(โˆƒ๐‘ฆ)๐‘ž(๐‘ฅ, ๐‘ฆ) logicka posledicaskupa formula {(โˆ€๐‘ฅ)(โˆƒ๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ), (โˆ€๐‘ฅ)(โˆ€๐‘ฆ)(๐‘(๐‘ฅ, ๐‘ฆ)โ‡’ ๐‘ž(๐‘ฅ, ๐‘ฆ))} .

Dovoljno je dokazati da je formula

๐’œ = ((โˆ€๐‘ฅ)(โˆƒ๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ) โˆง (โˆ€๐‘ฅ)(โˆ€๐‘ฆ)(๐‘(๐‘ฅ, ๐‘ฆ)โ‡’ ๐‘ž(๐‘ฅ, ๐‘ฆ)))โ‡’ (โˆ€๐‘ฅ)(โˆƒ๐‘ฆ)๐‘ž(๐‘ฅ, ๐‘ฆ)

valjana. Preneks normalna forma negacije ove formule je

(โˆƒ๐‘ค)(โˆ€๐‘ฅ)(โˆƒ๐‘ฆ)(โˆ€๐‘ข)(โˆ€๐‘ฃ)(โˆ€๐‘ง)(๐‘(๐‘ฅ, ๐‘ฆ) โˆง (ยฌ๐‘(๐‘ข, ๐‘ฃ) โˆจ ๐‘ž(๐‘ข, ๐‘ฃ)) โˆง ยฌ๐‘ž(๐‘ค, ๐‘ง)) .

Nakon skolemizacije, ova formula dobija oblik:

(โˆ€๐‘ฅ)(โˆ€๐‘ข)(โˆ€๐‘ฃ)(โˆ€๐‘ง)(๐‘(๐‘ฅ, ๐‘”(๐‘ฅ)) โˆง (ยฌ๐‘(๐‘ข, ๐‘ฃ) โˆจ ๐‘ž(๐‘ข, ๐‘ฃ)) โˆง ยฌ๐‘ž(๐‘, ๐‘ง)) ,

Page 197: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

195 9. Automatsko rasudivanje u logici prvog reda

pri cemu je ๐‘ nova Skolemova konstanta, a ๐‘” nova Skolemova funkcija.Konjunktivna normalna forma formule

๐‘(๐‘ฅ, ๐‘”(๐‘ฅ)) โˆง (ยฌ๐‘(๐‘ข, ๐‘ฃ) โˆจ ๐‘ž(๐‘ข, ๐‘ฃ)) โˆง ยฌ๐‘ž(๐‘, ๐‘ง)

je ista ta formula, pa pocetni skup cine sledece klauze:๐ถ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 9.44. Dokazimo da je formula

(โˆ€๐‘ฅ)(โˆ€๐‘ฆ)(โˆ€๐‘ง)(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ฅ) โˆง ๐‘๐‘’๐‘™๐‘œ๐‘ค(๐‘ง, ๐‘ฅ)โ‡’ ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ง))

logicka posledica skupa formula{ (โˆ€๐‘ฅ)(โˆ€๐‘ฆ)(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ)โ‡’ ยฌ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ฅ)),(โˆ€๐‘ฅ)(โˆ€๐‘ฆ)(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ)โ‡” ๐‘๐‘’๐‘™๐‘œ๐‘ค(๐‘ฆ, ๐‘ฅ)),(โˆ€๐‘ฅ)(โˆ€๐‘ฆ)(โˆ€๐‘ง)(๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ฆ) โˆง ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฆ, ๐‘ง)โ‡’ ๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ, ๐‘ง)) }

(videti primere 9.1 i 9.19). 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)โˆจ (treci deo hipoteze)

๐‘Ž๐‘๐‘œ๐‘ฃ๐‘’(๐‘ฅ4, ๐‘ง4)๐ถ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, 2;๐ถ9, 1), [๐‘ฆ3 โ†ฆโ†’ ๐‘๐‘ฅ, ๐‘ฅ3 โ†ฆโ†’ ๐‘๐‘ง];๐ถ11 : ๏ฟฝ (๐ถ6, 1;๐ถ10, 1), [ ]

Page 198: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 196

Primer 9.45. Formula โˆ€๐‘ฅโˆ€๐‘ฆ (๐‘(๐‘ฅ, ๐‘ฆ) โ‡’ ๐‘(๐‘ฆ, ๐‘ฅ)) je logicka posledica for-mula โˆ€๐‘ฅ ๐‘(๐‘ฅ, ๐‘ฅ) i โˆ€๐‘ขโˆ€๐‘ฃโˆ€๐‘ค (๐‘(๐‘ข, ๐‘ฃ) โˆง ๐‘(๐‘ค, ๐‘ฃ)โ‡’ ๐‘(๐‘ข,๐‘ค)), jer 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 jeformula ๐’œ1 โˆง ๐’œ2 โˆง . . . โˆง ๐’œ๐‘› โˆง ยฌโ„ฌ nezadovoljiva. Ako formule ๐’œ1, ๐’œ2, . . . ,๐’œ๐‘›,โ„ฌ nemaju slobodne promenljive, onda ne moramo da u klauzalnu formu trans-formisemo navedenu formulu, dovoljno je da u klauzalne forme transformisemoformule ๐’œ1, ๐’œ2, . . . ,๐’œ๐‘›, โ„ฌ pojedinacno. Time ce se dobiti isti skup klauza, alina jednostavniji nacin, primenljiv i na prethodne primere.

Teorema 9.8 (Saglasnost i potpunost metoda rezolucije). Metod rezolu-cije je saglasan: ako je primenom metoda dobijena prazna klauza, onda je ipolazni skup klauza nezadovoljiv (ili, drugim recima, iz zadovoljivog skupaklauza moze se dobiti samo zadovoljiv skup klauza).

Metod rezolucije je potpun za pobijanje: iz svakog nezadovoljivog skupaklauza moguce je izvesti praznu klauzu.

Navedena teorema odnosi se na opste pravilo rezolucije. Navedena svojstvavaze i za binarno pravilo ako se pored njega koristi i dodatno pravilo โ€” fak-torizacija (ili grupisanje) koje grupise i unifikuje unifikabilne literale u okvirujedne klauze.

Problem ispitivanja valjanosti u logici prvog reda nije odluciv, ali metodrezolucije pruza najvise sto se moze dobiti: njime se iz svakog nezadovoljivogskupa klauza moze izvesti prazna klauza (cime je dokazano da je nezadovoljiv),ali ne moze se za svaki zadovoljiv skup klauza dokazati da je zadovoljiv (na-ime, moguce je izvesti beskonacno mnogo rezolventi). Dualno, pobijanjem semetodom rezolucije moze za svaku valjanu formulu dokazati da je valjana, aline moze se za svaku formulu koja nije valjana utvrditi da nije valjana.

Page 199: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

197 9. Automatsko rasudivanje u logici prvog reda

Primetimo da u opisu metoda rezolucije nije zadat nacin na koji se birajuklauze nad kojim se primenjuje pravilo rezolucije. Takode, teorema 9.8 tvrdi dase iz svakog nezadovoljivog skupa klauza moze izvesti prazna klauza, a ne tvrdida se iz svakog nezadovoljivog skupa klauza mora izvesti prazna klauza bezobzira na izbor klauza koje ce biti rezolvirane. Naime, u zavisnosti od izboraklauza na koje se primenjuje pravilo rezolucije moguce je da se i za nezadovoljivskup klauza metod rezolucije ne zaustavlja. Dakle, primena metoda rezolucijemoze se razmatrati i kao problem pretrage. Nacin na koji se biraju klauzena koje se primenjuje pravilo rezolucije cini strategiju za navodenje metodarezolucije.

Jedna od mogucnosti za obezbedivanje potpunosti metoda rezolucije u stro-zijem smislu (da postoji strategija za navodenje metoda rezolucije takva da seiz svakog nezadovoljivog skupa klauza nuzno izvodi prazna klauza u konacnomnogo koraka) je sistematsko izvodenje svih rezolventi iz skupa klauza koji sesiri tokom primene metoda. Sistematski metod rezolucije moze se definisati nasledeci nacin: metod se primenjuje u iteracijama; prvu iteraciju cini kreiranjepocetnog skupa klauza; neka pre ๐‘–-te iteracije tekuci skup klauza cine klauze๐ถ1, ๐ถ2, . . . , ๐ถ๐‘›, ๐‘–-ta iteracija sastoji se od izvodenja (i dodavanja tekucem skupuklauza) svih mogucih rezolventi iz po svake dve klauze iz skupa ๐ถ1, ๐ถ2, . . . , ๐ถ๐‘›

(broj tih klauza je konacan); metod se zaustavlja ako se u nekom koraku izvedeprazna klauza ili ako se u nekoj iteraciji ne moze izvesti nijedna nova klauza.Ako je razmatrani skup klauza ฮ“ nezadovoljiv, onda se, na osnovu teoreme 9.8,iz njega metodom rezolucije moze izvesti prazna klauza, tj. postoji niz rezol-venti ๐‘…1, ๐‘…2, . . . , ๐‘…๐‘› (koje se izvode iz pocetnih i izvedenih klauza) od kojih jeposlednja u nizu prazna klauza. Ako se na skup klauza ฮ“ primeni sistematskimetod rezolucije, u nekoj iteraciji bice (ako vec pre toga nije izvedena praznaklauza) izvedene sve klauze iz skupa ๐‘…1, ๐‘…2, . . . , ๐‘…๐‘›, pa i prazna klauza. Iznavedenom razmatranja sledi naredna teorema.

Teorema 9.9 (Potpunost sistematskog metoda rezolucije). Ako je ฮ“ ne-zadovoljiv skup klauza, onda se iz njega sistematskim metodom rezolucijemora izvesti prazna klauza.

Ocigledno je da je sistematski metod rezolucije izuzetno neefikasan. Postojivise strategija koje obezbeduju nuzno izvodenje prazne klauze iz nezadovolji-vog skupa klauza (tj. sprecavaju beskonacne petlje), ali na efikasniji nacin.Smanjivanje izvodenja nepotrebnih klauza jedan je od najvaznijih ciljeva u di-zajniranju strategija za metod rezolucije.

9.3.5 Prirodna dedukcija

Pojam valjanosti je semanticke prirode, a koncept dokazivanja i sistema zadedukciju vodi do pojma teoreme koji je sintaksicko-deduktivne prirode. Pojamteoreme je deduktivni pandan semantickog pojma valjane formule. Izmedu ova

Page 200: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 198

dva pojma postoji veza i deduktivni sistemi obicno imaju svojstvo potpunosti isaglasnosti: ako je neka formula valjana, onda ona moze biti dokazana u okvirudeduktivnog sistema, a ako za neku formulu postoji dokaz u okviru deduktivnogsistema, onda je ona sigurno valjana.

Sistemi za dedukciju su cisto sintaksicke prirode โ€” primenjuju se kroz kom-binovanje simbola, ne razmatrajuci semantiku formula. Sisteme za dedukcijuzovemo i racunima โ€“ (iskazni racun u slucaju iskazne logike i predikatski racunu slucaju logike prvog reda). Postoji vise razlicitih deduktivnih sistema. U na-stavku ce biti opisan samo jedan โ€” prirodna dedukcija (eng. natural deduction).

Sistem prirodne dedukcije (racun prirodne dedukcije) uveo je, 1935. godine,Gerhard Gencen (Gerhard Gentzen) sa namerom da prirodnije opise uobicajenozakljucivanje matematicara.

U prirodnoj dedukciji koriste se logicki veznici ยฌ, โˆง, โˆจ, โ‡’, kao i logickakonstanta โŠฅ. Formula ๐’œ โ‡” โ„ฌ je kraci zapis za (๐’œ โ‡’ โ„ฌ) โˆง (โ„ฌ โ‡’ ๐’œ), a formulaโŠค kraci zapis za ๐’œ โ‡’ ๐’œ. Skup formula definise se na uobicajeni nacin.

Pravila izvodenja sistema prirodne dedukcije data su na slici 9.4. Primetimoda za svaki logicki veznik i svaki kvantifikator postoje pravila koja ga uvode(pravila ๐ผ-tipa) i pravila koja ga eliminisu (pravila ๐ธ-tipa). Pravilo ๐‘’๐‘“๐‘ž (Exfalso quodlibet) je jedino pravilo koje ne uvodi niti eliminise neki logicki veznik.Skup pravila sistema prirodne dedukcije za iskaznu logiku cine sva pravila saslike 9.4 izuzev onih koja ukljucuju kvantifikatore.

U pravilima izvodenja prikazanim na slici 9.4, simbol ๐‘ก oznacava proizvoljanterm. Dodatni uslov za pravilo โˆ€๐ผ je da vazi da je ๐‘ฅ = ๐‘ฆ ili da promenljiva ๐‘ฆnije slobodna u ๐’œ, kao i da vazi da ๐‘ฆ nije slobodna ni u jednoj neoslobodenojpretpostavci u izvodenju formule ๐’œ[๐‘ฅ โ†ฆโ†’ ๐‘ฆ]. Dodatni uslov za pravilo โˆƒ๐ธ je davazi da je ๐‘ฅ = ๐‘ฆ ili da promenljiva ๐‘ฆ nije slobodna u ๐’œ, kao i da vazi da ๐‘ฆ nijeslobodna u โ„ฌ niti u bilo kojoj neoslobodenoj pretpostavci u izvodenju formuleโ„ฌ osim, eventualno, u formuli ๐’œ[๐‘ฅ โ†ฆโ†’ ๐‘ฆ].

Postoji sistem prirodne dedukcije za klasicnu logiku, sistem NK, i sistemprirodne dedukcije za intuicionisticku logiku, sistem NJ. U sistemu NK postojijedna aksiomska shema โ€“ ๐’œ โˆจ ยฌ๐’œ (tertium non datur), a sistem NJ nemaaksioma.

Tokom izvodenja dokaza u sistemu prirodne dedukcije mogu se koristiti(nedokazane) pretpostavke, ali one moraju biti eliminisane (โ€žoslobodeneโ€œ) prekraja izvodenja. U zapisu pravila, [โ„ฑ ] oznacava da se nekoliko (mozda i nula)pojavljivanja pretpostavke โ„ฑ oslobada (kao nedokazane, neraspolozive pretpo-stavke) neposredno nakon primene pravila. Pritom, ta primena pravila mozeostaviti i nekoliko neoslobodenih pojavljivanja pretpostavke โ„ฑ . Pretpostavka-ma su pridruzene oznake (obicno prirodni brojevi), koje se zapisuju i u okviruzapisa primenjenog pravila (kako bi se znalo koja pretpostavka je oslododenau kojem koraku).

U sistemu prirodne dedukcije, dokaz je stablo cijem je svakom cvoru pri-druzena formula, a svakom listu ili pretpostavka ili aksioma. Formula ๐’œ jeteorema prirodne dedukcije ako postoji dokaz u cijem je korenu ๐’œ i koji ne-ma neoslobodenih pretpostavki i tada pisemo โŠข ๐’œ i kazemo da je formula ๐’œ

Page 201: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

199 9. Automatsko rasudivanje u logici prvog reda

[๐’œ]๐‘ข....โŠฅยฌ๐’œ ยฌ๐ผ, ๐‘ข

๐’œ ยฌ๐’œโŠฅ ยฌ๐ธ

๐’œ โ„ฌ๐’œ โˆง โ„ฌ โˆง๐ผ

๐’œ โˆง โ„ฌ๐’œ โˆง๐ธ ๐’œ โˆง โ„ฌ

โ„ฌ โˆง๐ธ

๐’œ๐’œ โˆจ โ„ฌ โˆจ๐ผ

โ„ฌ๐’œ โˆจ โ„ฌ โˆจ๐ผ

๐’œ โˆจ โ„ฌ

[๐’œ]๐‘ข....๐ถ

[โ„ฌ]๐‘ฃ....๐ถ

๐ถโˆจ๐ธ, ๐‘ข, ๐‘ฃ

[๐’œ]๐‘ข....โ„ฌ

๐’œ โ‡’ โ„ฌ โ‡’ ๐ผ, ๐‘ข ๐’œ ๐’œ โ‡’ โ„ฌโ„ฌ โ‡’ ๐ธ

๐’œ[๐‘ฅ โ†ฆโ†’ ๐‘ฆ]

(โˆ€๐‘ฅ)๐’œ โˆ€๐ผ(โˆ€๐‘ฅ)๐’œ๐’œ[๐‘ฅ โ†ฆโ†’ ๐‘ก]

โˆ€๐ธ

uz dodatni uslov

๐’œ[๐‘ฅ โ†ฆโ†’ ๐‘ก]

(โˆƒ๐‘ฅ)๐’œ โˆƒ๐ผ(โˆƒ๐‘ฅ)๐’œ

[๐’œ[๐‘ฅ โ†ฆโ†’ ๐‘ฆ]]๐‘ข....โ„ฌ

โ„ฌ โˆƒ๐ธ, ๐‘ข

uz dodatni uslov

โŠฅ๐ท

๐‘’๐‘“๐‘ž

Slika 9.4: Pravila izvodenja sistema prirodne dedukcije.

dokaziva u sistemu prirodne dedukcije. Ako postoji dokaz u cijem je korenuformula ๐’œ i koji ima neoslobodene pretpostavke koje pripadaju nekom skupuฮ“, onda kazemo da je formula ๐’œ deduktivna posledica skupa ฮ“ i tada pisemoฮ“ โŠข ๐’œ. Elemente skupa ฮ“ tada zovemo i premisama ili hipotezama dokaza. Akoje skup ฮ“ jednak {โ„ฌ1,โ„ฌ2, . . . ,โ„ฌ๐‘›}, onda pisemo i โ„ฌ1,โ„ฌ2, . . . ,โ„ฌ๐‘› โŠข ๐’œ.

Dokaz u sistemu prirodne dedukcije obicno se prikazuje u vidu stabla cijisu listovi na vrhu, a koren na dnu. To stablo se prikazuje pojednostavljeno,stilizovano (videti sliku 9.5).

U narednim primerima prikazani su dokazi nekoliko teorema. To su teoremei klasicne i intuicionisticke logike jer se u dokazima ne koriste aksiome tertium

Page 202: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.3. Ispitivanje zadovoljivosti i valjanosti u logici prvog reda 200

โˆ†1

...โˆ†2

...

โˆ†3

โˆ†4...

....โˆ†1

....โˆ†2

โˆ†3

โˆ†4....

Slika 9.5: Deo dokaza i njegov pojednostavljeni prikaz.

non datur, tj. ๐’œ โˆจ ยฌ๐’œ. Ako se neka formula moze dokazati samo uz koriscenjetakvih aksioma, onda je ona teorema klasicne, ali ne i intuicionisticke logike.

Primer 9.46. Formula (๐’œ โˆจ โ„ฌ) โ‡’ (โ„ฌ โˆจ ๐’œ) je teorema sistema prirodnededukcije, tj. vazi โŠข (๐’œ โˆจ โ„ฌ)โ‡’ (โ„ฌ โˆจ ๐’œ):

[๐’œ โˆจ โ„ฌ]1[๐’œ]2

โ„ฌ โˆจ ๐’œ โˆจ๐ผ[โ„ฌ]3

โ„ฌ โˆจ ๐’œ โˆจ๐ผ

โ„ฌ โˆจ ๐’œ โˆจ๐ธ, 2, 3

(๐’œ โˆจ โ„ฌ)โ‡’ (โ„ฌ โˆจ ๐’œ)โ‡’ ๐ผ, 1

Primer 9.47. U sistemu prirodne dedukcije vazi: ๐’œ โ‡’ โ„ฌ,โ„ฌ โ‡’ ๐’ž โŠข ๐’œ โ‡’๐’ž:

[๐’œ]1 ๐’œ โ‡’ โ„ฌโ„ฌ โ‡’ ๐ธ โ„ฌ โ‡’ ๐’ž

๐’ž โ‡’ ๐ธ

๐’œ โ‡’ ๐’ž โ‡’ ๐ผ, 1

Primer 9.48. U sistemu prirodne dedukcije vazi โŠข ๐’œ โ‡’ (๐’œโˆจโ„ฌ)โˆง(๐’œโˆจ๐’ž):

[๐’œ]1

๐’œ โˆจ โ„ฌ โˆจ๐ผ[๐’œ]1

๐’œ โˆจ ๐’ž โˆจ๐ผ

(๐’œ โˆจ โ„ฌ) โˆง (๐’œ โˆจ ๐’ž) โˆง๐ผ

๐’œ โ‡’ (๐’œ โˆจ โ„ฌ) โˆง (๐’œ โˆจ ๐’ž)โ‡’ ๐ผ, 1

U prethodnom dokazu, primenom pravilaโ‡’ ๐ผ nisu morala da budu oslobode-

Page 203: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

201 9. Automatsko rasudivanje u logici prvog reda

na sva pojavljivanja pretpostavke ๐’œ. Na primer:

[๐’œ]1

๐’œ โˆจ โ„ฌ โˆจ๐ผ๐’œ๐’œ โˆจ ๐’ž โˆจ๐ผ

(๐’œ โˆจ โ„ฌ) โˆง (๐’œ โˆจ ๐’ž) โˆง๐ผ

๐’œ โ‡’ (๐’œ โˆจ โ„ฌ) โˆง (๐’œ โˆจ ๐’ž)โ‡’ ๐ผ, 1

Ovaj dokaz je dokaz tvrdenja ๐’œ โŠข ๐’œ โ‡’ (๐’œ โˆจ โ„ฌ) โˆง (๐’œ โˆจ ๐’ž) (sto je slabijetvrdenje od tvrdenja โŠข ๐’œ โ‡’ (๐’œ โˆจ โ„ฌ) โˆง (๐’œ โˆจ ๐’ž)).

Primer 9.49. U sistemu prirodne dedukcije vazi โˆ€๐‘ฅ๐’œ,โˆ€๐‘ฅ(๐’œ โ‡’ โ„ฌ) โŠข โˆ€๐‘ฅโ„ฌ:

โˆ€๐‘ฅ๐’œ๐’œ โˆ€๐ธ

โˆ€๐‘ฅ(๐’œ โ‡’ โ„ฌ)๐’œ โ‡’ โ„ฌ โˆ€๐ธ

โ„ฌ โ‡’ ๐ธ

โˆ€๐‘ฅโ„ฌ โˆ€๐ผ

Primer 9.50. Formula ยฌ(โˆƒ๐‘ฅ)๐‘(๐‘ฅ) โ‡’ (โˆ€๐‘ฆ)ยฌ๐‘(๐‘ฆ) je teorema sistema pri-rodne dedukcije:

[๐‘(๐‘ง)]1

(โˆƒ๐‘ฅ)๐‘(๐‘ฅ) โˆƒ๐ผ [ยฌ(โˆƒ๐‘ฅ)๐‘(๐‘ฅ)]2

โŠฅ ยฌ๐ธ

ยฌ๐‘(๐‘ง)ยฌ๐ผ, 1

(โˆ€๐‘ฆ)ยฌ๐‘(๐‘ฆ) โˆ€๐ผ

ยฌ(โˆƒ๐‘ฅ)๐‘(๐‘ฅ)โ‡’ (โˆ€๐‘ฆ)ยฌ๐‘(๐‘ฆ)โ‡’ ๐ผ, 2

Primer 9.51. Formula (โˆƒ๐‘ฅ)(โˆ€๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ) โ‡’ (โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ) je teorema si-stema prirodne dedukcije (i za klasicnu i za intuicionisticku logiku). Nekimatematicar bi ovu formulu (neformalno) dokazao na sledeci nacin:

1. Pretpostavimo da vazi (โˆƒ๐‘ฅ)(โˆ€๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ).

2. Pretpostavimo da vazi (โˆ€๐‘ฆ)๐‘(๐‘ฅโ€ฒ, ๐‘ฆ) za neko ๐‘ฅโ€ฒ.

3. Neka je ๐‘ฆโ€ฒ proizvoljni objekat. Tada vazi ๐‘(๐‘ฅโ€ฒ, ๐‘ฆโ€ฒ).

4. Iz ๐‘(๐‘ฅโ€ฒ, ๐‘ฆโ€ฒ) sledi da vazi (โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆโ€ฒ).

5. Objekat ๐‘ฆโ€ฒ je proizvoljan, pa vazi (โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ).

Page 204: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.4. Resavanje problema svodenjem na problem valjanosti 202

6. Iz (โˆƒ๐‘ฅ)(โˆ€๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ) i iz toga sto pretpostavka (โˆ€๐‘ฆ)๐‘(๐‘ฅโ€ฒ, ๐‘ฆ) ima za po-sledicu (โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ) (a (โˆ€๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ) ne zavisi od ๐‘ฅโ€ฒ), sledi formula(โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ).

7. Kako je dokazano da iz formule (โˆƒ๐‘ฅ)(โˆ€๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ) sledi (โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ),time je dokazana formula (โˆƒ๐‘ฅ)(โˆ€๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ) โ‡’ (โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ).

Ovaj dokaz moze se precizno opisati u vidu dokaza u sistemu prirodnededukcije:

[(โˆƒ๐‘ฅ)(โˆ€๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ)]2

[(โˆ€๐‘ฆ)๐‘(๐‘ฅโ€ฒ, ๐‘ฆ)]1

๐‘(๐‘ฅโ€ฒ, ๐‘ฆโ€ฒ)โˆ€๐ธ

(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆโ€ฒ) โˆƒ๐ผ

(โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ) โˆ€๐ผ

(โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ)โˆƒ๐ธ, 1

(โˆƒ๐‘ฅ)(โˆ€๐‘ฆ)๐‘(๐‘ฅ, ๐‘ฆ)โ‡’ (โˆ€๐‘ฆ)(โˆƒ๐‘ฅ)๐‘(๐‘ฅ, ๐‘ฆ)โ‡’ ๐ผ, 2

Naredna teorema povezuje semanticka i deduktivna svojstva klasicne logike(ona vazi i za iskaznu i za predikatsku logiku).

Teorema 9.10. Formula je teorema sistema prirodne dedukcije za kla-sicnu logiku ako i samo ako je valjana.

9.4 Resavanje problema svodenjem na problem valjanosti

U ovom poglavlju bice prikazano nekoliko primera resavanja problema svo-denjem na problem valjanosti, na nacine koji su nagovesteni u poglavlju 9.3.1.

9.4.1 Porodicni odnosiU bazama podataka drzavne uprave postoje informacije o svim gradanima

koji ukljucuju informacije o oba roditelja. Drzavnoj upravi je ponekad potrebnoda proveri da li su neke dve osobe u nekom porodicnom odnosu, ali bilo biiracionalno da se svi moguci rodbinski odnosi cuvaju eksplicitno u bazamapodataka. Umesto toga, moguce je proveriti neke konkretne porodicne odnosei neka opsta tvrdenja koriscenjem logickog rasudivanja.

Porodicni odnosi (kao sto su โ€žbiti otacโ€œ, โ€žbiti majkaโ€œ, โ€žbiti bratโ€œ, โ€žbiti tetkaโ€œi slicno) mogu se opisati formulama logike prvog reda. Na primer,๐’œ = โˆ€๐‘ฅโˆ€๐‘ฆ(๐‘๐‘Ÿ๐‘Ž๐‘ก(๐‘ฅ, ๐‘ฆ)โ‡” ๐‘š๐‘ข๐‘ ๐‘˜๐‘œ(๐‘ฅ)โˆง๐‘ฅ = ๐‘ฆโˆงโˆƒ๐‘ง(๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ง, ๐‘ฅ)โˆง๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ง, ๐‘ฆ)))โ„ฌ = โˆ€๐‘ฅโˆ€๐‘ฆ(๐‘๐‘Ÿ๐‘Ž๐‘ก(๐‘ฅ, ๐‘ฆ) โˆง๐‘š๐‘ข๐‘ ๐‘˜๐‘œ(๐‘ฆ)โ‡” ๐‘๐‘Ÿ๐‘Ž๐‘ก(๐‘ฆ, ๐‘ฅ) โˆง๐‘š๐‘ข๐‘ ๐‘˜๐‘œ(๐‘ฅ))

Navedene formule mogu se interpretirati na razlicite nacine. Ali ako se in-terpretiraju nad nekim konkretnim skupom osoba a predikatski simboli se in-terpretiraju na prirodan nacin (na primer, relacijski simbol ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘— preslikavase u uobicajenu relaciju โ€žbiti roditeljโ€œ nad skupom osoba), njihovo znacenje

Page 205: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

203 9. Automatsko rasudivanje u logici prvog reda

se poklapa sa intuitivnim i moze se razmatrati njihova valjanost na osnovuznanja o porodicnim odnosima. Na primer, formula โ„ฌ valjana je za svaki skuposoba i prirodno interpretirane predikatske simbole. To se moze utvrditi neka-kvim โ€žresavacem za porodicne odnoseโ€œ koje vecina ljudi ima u svojim glavamaiako obicno ne u nekom eksplicitnom obliku. O valjanosti formule โ„ฌ i slicnihmozemo da rasudujemo koriscenjem takvog resavaca (ako ga imamo) ili ko-riscenjem โ€žuniverzalnog resavacaโ€œ, tj. dokazivaca za logiku prvog reda, kao stoje opisano u nastavku.

Formula โ„ฌ valjana je za svaki skup osoba i prirodno interpretirane pre-dikatske simbole, ali nije valjana (nije valjana u svakoj โ„’ strukturi). Ona je,medutim, logicka posledica formule ๐’œ. โ€žUniverzalni resavacโ€œ cemo, dakle, mocida upotrebimo da proverimo da li je formula โ„ฌ logicka posledica formule ๐’œ,tj. da proverimo da li je vazi ๐’œ |= โ„ฌ, tj. da proverimo da li je formula ๐’œ โ‡’ โ„ฌvaljana. Na opisani nacin proveravamo tvrdenja oblika ฮ“ |= โ„ฌ. Ovim pristupomrazmatra se โ€žopstaโ€œ valjanost ali skup ฮ“ ima ulogu da efektivno ogranici skupinterpretacija koje se razmatraju: ovakvim razmatranjem pokrivene su samointerpretacije u kojima su formule skupa ฮ“ valjane. Formule ฮ“ imaju ulogusvojevrsnih aksioma i matematicke teorije se grade u istom duhu. Da bi vaziloฮ“ |= โ„ฌ za sirok skup formula โ„ฌ, u skup ฮ“ dodacemo vise jednostavnih svojstavaporodicnih odnosa, kao sto su:โˆ€๐‘ฅโˆ€๐‘ฆ (๐‘ ๐‘’๐‘ ๐‘ก๐‘Ÿ๐‘Ž(๐‘ฅ, ๐‘ฆ) โ‡” ๐‘ง๐‘’๐‘›๐‘ ๐‘˜๐‘œ(๐‘ฅ) โˆง ๐‘ฅ = ๐‘ฆ โˆง โˆƒ๐‘ง(๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ง, ๐‘ฅ) โˆง

๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ง, ๐‘ฆ)))โˆ€๐‘ฅโˆ€๐‘ฆ (๐‘š๐‘Ž๐‘—๐‘˜๐‘Ž(๐‘ฅ, ๐‘ฆ) โ‡” ๐‘ง๐‘’๐‘›๐‘ ๐‘˜๐‘œ(๐‘ฅ) โˆง ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ, ๐‘ฆ))โˆ€๐‘ฅโˆ€๐‘ฆ (๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฅ, ๐‘ฆ) โ‡” ๐‘š๐‘ข๐‘ ๐‘˜๐‘œ(๐‘ฅ) โˆง ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ, ๐‘ฆ))โˆ€๐‘ฅโˆ€๐‘ฆ (๐‘ก๐‘’๐‘ก๐‘˜๐‘Ž(๐‘ฅ, ๐‘ฆ) โ‡” โˆƒ๐‘ง(๐‘ ๐‘’๐‘ ๐‘ก๐‘Ÿ๐‘Ž(๐‘ฅ, ๐‘ง) โˆง ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ง, ๐‘ฆ)))

Ako u skup ฮ“ dodamo, na primer, i formule:๐‘š๐‘ข๐‘ ๐‘˜๐‘œ(๐‘€๐‘Ž๐‘Ÿ๐‘˜๐‘œ๐ฝ๐‘Ž๐‘›๐‘˜๐‘œ๐‘ฃ๐‘–๐‘)๐‘š๐‘ข๐‘ ๐‘˜๐‘œ(๐ฟ๐‘Ž๐‘ง๐‘Ž๐‘Ÿ๐ฝ๐‘Ž๐‘›๐‘˜๐‘œ๐‘ฃ๐‘–๐‘)๐‘œ๐‘ก๐‘Ž๐‘(๐ฝ๐‘œ๐‘ฃ๐‘Ž๐‘›๐ฝ๐‘Ž๐‘›๐‘˜๐‘œ๐‘ฃ๐‘–๐‘,๐‘€๐‘Ž๐‘Ÿ๐‘˜๐‘œ๐ฝ๐‘Ž๐‘›๐‘˜๐‘œ๐‘ฃ๐‘–๐‘)๐‘œ๐‘ก๐‘Ž๐‘(๐ฝ๐‘œ๐‘ฃ๐‘Ž๐‘›๐ฝ๐‘Ž๐‘›๐‘˜๐‘œ๐‘ฃ๐‘–๐‘, ๐ฟ๐‘Ž๐‘ง๐‘Ž๐‘Ÿ๐ฝ๐‘Ž๐‘›๐‘˜๐‘œ๐‘ฃ๐‘–๐‘)

onda moze da se pokaze da vazi i ฮ“ |= ๐‘๐‘Ÿ๐‘Ž๐‘ก(๐‘€๐‘Ž๐‘Ÿ๐‘˜๐‘œ๐ฝ๐‘Ž๐‘›๐‘˜๐‘œ๐‘ฃ๐‘–๐‘, ๐ฟ๐‘Ž๐‘ง๐‘Ž๐‘Ÿ๐ฝ๐‘Ž๐‘›๐‘˜๐‘œ๐‘ฃ๐‘–๐‘).Dakle, opisanim mehanizmom moze se rasudivati o porodicnim odnosima medukonkretnim osobama.

9.4.2 Verifikacija softveraU poglavlju 8.4.5 bilo je reci o verifikaciji softvera i razmatrano je da li je

narednu funkciju f napisanu na programskom jeziku C:

int f(int y){

int x;x = x ^ y;y = x ^ y;

Page 206: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.4. Resavanje problema svodenjem na problem valjanosti 204

x = x ^ y;return x * x;

}

moguce zameniti narednom funkcijom g (to je uvek tako, bez obzira na to stopromenljiva x nije inicijalizovana u funkciji f i njena inicijalna vrednost moglabi da bude bilo sta):

int g(int n){

return n * n;}

Pokazano je da u ovom konkretnom slucaju moze da se razmatra dejstvobitovskih operatora nad pojedinacnim bitovima i sredstvima iskazne logike po-kazano je da je svaki bit programske promenljive x pre naredbe return x * x;u funkciji f jednak odgovarajucem bitu programske promenljive n pre naredbereturn n * n; u funkciji g, cime je dokazana ekvivalentnost dve funkcije.

Sredstvima logike prvog reda to tvrdenje moze se dokazati na drugacijinacin, primenljiv u sirem skupu situacija. Dokaz ce vaziti za bilo koju sirinu tipaint. Kao u iskaznom slucaju, pogodno je u razmatranje uvesti i promenljiveza 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 formulaโˆ€x โˆ€x1 โˆ€x2 โˆ€y โˆ€y1 x1 = (x ^ y) โˆง y1 = (x1 ^ y) โˆง x2 = (x1 ^ y1)

โ‡’ x2 = yvaljana u strukturi koju cine moguce vrednosti tipa int. Ukoliko nemamoresavac specijalizovan za tu strukturu, moramo da se okrenemo โ€žuniverzalnomresavacuโ€œ za logiku prvog reda. Ali tada moramo da u igru uvedemo uslove ฮ“koji opisuju strukturu vrednosti tipa int sa operatorom ^. Moze se dokazati(sto necemo ovde uraditi) da za tu strukturu i operator ^ vaze sledeca tvrdenjakoje cemo koristiti kao aksiome:โˆ€u โˆ€v (u ^ v) = (v ^ u)โˆ€u โˆ€v ((u ^ v) ^ v) = uPrimenom metoda rezolucije moze se pokazati da je navedena formula lo-

gicka posledica navedenih aksioma i aksioma jednakosti (videti poglavlje 9.4.5).

9.4.3 Rezanje plocaNamestaj se cesto pravi od plocastih materijala i tada je od velike vaznosti

rasporedivanje komponenti namestaja po pojedinacnim plocama. Sto manjeupotrebljenih ploca โ€“ veca isplativost. Razmotrimo jednostavnu instancu ovog

Page 207: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

205 9. Automatsko rasudivanje u logici prvog reda

problema: da li je moguce od ploce dimenzija 100 ร— 60 napraviti komade di-menzija 80ร—30 i 50ร—40? Pretpostavimo, jednostavnosti radi, da duze stranicemoraju da budu paralelne duzim stranicama osnovne ploce (to, zbog tekstureplocastog materijala, moze da bude realan zahtev). Pretpostavimo i da je re-zove moguce vrsiti samo na celobrojnim rastojanjima. Dokazacemo da trazenorezanje nije moguce.

Smestimo sve elemente u koordinatni sistem: neka je donji levi ugao ploceu tacki (0, 0) i neka su (๐‘ฅ1, ๐‘ฆ1) i (๐‘ฅ2, ๐‘ฆ2) donji levi uglovi dva zeljena plocastadela. 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 โ‰ค 60

Dva elementa nemaju presek ako i samo ako postoji horizontalna ili verti-kalna prava koja ih razdvaja, tj. ako vazi formula โ„ฌ:

๐‘ฅ1 + 80 โ‰ค ๐‘ฅ2 โˆจ ๐‘ฅ2 + 50 โ‰ค ๐‘ฅ1 โˆจ ๐‘ฆ2 + 40 โ‰ค ๐‘ฆ1 โˆจ ๐‘ฆ1 + 30 โ‰ค ๐‘ฆ2Da bismo dokazali da trazeno rezanje nije moguce, dovoljno je da dokazemo

da vazi ๐’œ |= ยฌโ„ฌ, tj. da dokazemo da je univerzalno zatvorenje formule ๐’œ โ‡’ ยฌโ„ฌvaljana formula. Ta formula, medutim, nije valjana. No, ona je valjana u struk-turi celih brojeva sa prirodno interpretiranim simbolima + i <, a to je jedinainterpretacija koja nas zanima. Valjanost u toj strukturi moze da dokaze smtresavac za linearnu aritmetiku nad celim brojevima. Valjanost univerzalnog za-tvorenja formule ๐’œ โ‡’ ยฌโ„ฌ smt resavac dokazuje tako sto dokazuje da je formula๐’œ โˆง โ„ฌ nezadovoljiva (poglavlje 9.4.5).

9.4.4 PROLOG

Jezik prolog najznacajniji je predstavnik paradigme logickog programira-nja, u kojoj se koristi logika kao deklaritivni jezik za opisivanje problema, adokazivac teorema kao mehanizam za resavanje. Ime prolog dolazi od engle-skih reci โ€žPROgramming in LOGicโ€œ. Jezik prolog i prvi interpretator za njegarazvijeni su na Univerzitetu u Marseju 1972. godine. Vreme najvece popularno-sti prolog-a je proslo, ali se on i dalje siroko koristi, uglavnom za probleme izoblasti vestacke inteligencije: od medicinskih sistema pa do istrazivanja podata-ka. Pogodan je za brz razvoj prototipova jer se obrada ulaza i izlaza, parsiranjei druge slicne operacije implementiraju jednostavno, a mehanizam za netrivi-jalno rasudivanje je jednostavno raspoloziv. U nastavku ce biti ukratko opisanasamo neka svojstva jezika prolog.

Mehanizam izvodenja zakljucaka u prolog-u zasniva se na metodu rezolu-cije i na koriscenju Hornovih klauza โ€” klauza u kojima postoji najvise jedanliteral koji nije pod negacijom. Za ispitivanje zadovoljivosti skupova klauza,zahvaljujuci njihovoj specificnoj formi, koristi se algoritam koji je polinomskeslozenosti. Cetiri vrste Hornovih klauza i odgovarajuce formule logike prvog re-da prikazani su u narednoj tabeli (formule ๐’œ๐‘– su atomicke). Moze se dokazati

Page 208: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.4. Resavanje problema svodenjem na problem valjanosti 206

da svaki nezadovoljiv skup Hornovih klauza mora da sadrzi bar jednu cinjenicui bar jednu ciljnu klauzu.

Vrsta logika prvog reda prologimplikaciona klauza ยฌ๐’œ1 โˆจ . . . โˆจ ยฌ๐’œ๐‘› โˆจ ๐’œ ๐’œ : โˆ’๐’œ1, . . . ,๐’œ๐‘›.ciljna klauza ยฌ๐’œ1 โˆจ . . . โˆจ ยฌ๐’œ๐‘› ?โˆ’๐’œ1, . . . ,๐’œ๐‘›.cinjenica ๐’œ ๐’œ.prazna klauza ๏ฟฝ false

prolog sistemi obicno sadrze interaktivni interpretator a neki sistemi omo-gucavaju i kompiliranje koda. Komunikacija sa prolog interpretatorom odvijase kroz komandni prozor, a prompt interpretatora obicno izgleda ovako: ?-.prolog konvencija je da se konstante zapisuju malim pocetnim slovom, a pro-menljive velikim pocetnim slovom.

Primer 9.52. Pretpostavimo da je zadata cinjenica

man(sokrat).

(nova cinjenica moze se ucitati iz datoteke, kao deo programa a moze sezadati i interaktivno, na sledeci nacin: ?- assert(man(sokrat)).) Nakonovoga, upit

?- man(sokrat).

uspeva, tj. daje rezultat Yes. Da bi zadati upit bio zadovoljen, cinjenicaman(sokrat) je bila rezolvirana sa klauzom dobijenom iz upita (to jeklauza ยฌ man(sokrat)) i to je dalo praznu klauzu, kao sto je i trebalo.Time je, prakticno, dokazano da je man(sokrat) โ‡’ man(sokrat) valja-na formula. Pretpostavimo da je zadato i sledece pravilo (na primer, sa?- assert(mortal(X) :- man(X)).):

mortal(X) :- man(X).

U ovom pravilu, predikat mortal(X) je glava pravila a (jednoclani) nizpredikata 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 zadatog pravila) rezolvira se sa klauzom dobije-nom iz upita ยฌmortal(sokrat) 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:

Page 209: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

207 9. Automatsko rasudivanje u logici prvog reda

? - mortal(X).

onda se metodom rezolucije pokusava dokazivanje nezadovoljivosti skupaklauza:

man(sokrat)ยฌman(X) โˆจ mortal(X)ยฌmortal(Y)

Primetimo da je u trecoj klauzi promenljiva preimenovana u Y, da ne bidoslo do poklapanja imena promenljive u dve klauze. Ciljna (treca) klauzamoze da se rezolvira sa drugom klauzom, koriscenjem unifikatora [Y โ†ฆโ†’ X]dajuci novi ciljยฌman(X)

i nakon preimenovanja promenljive X:ยฌman(Xโ€™)

Rezolviranjem ove klauze sa prvom klauzom iz pocetnog skupa, koriscenjemunifikatora [Xโ€™ โ†ฆโ†’ sokrat] dobija se prazna klauza, pa je dokazana neza-dovoljivost datog skupa klauza i prolog vraca rezultat:

Yes

i daje odgovor:

X = sokrat

To je jedino moguce resenje i ako ukucamo simbol ; (cime trazimo drugemoguce unifikatore) dobicemo odgovor No. Naravno, upiti

?- man(platon).

i

? - mortal(platon).

ne uspevaju i daju odgovor No (sem ako nije zadata i cinjenica man(platon)).

Primer 9.53. Definisanje odnosa u prolog-u moze se ilustrovati na pri-meru porodicnih odnosa (kao sto su otac, majka, brat, tetka i slicno) (vi-deti poglavlje 9.4.1) i to nad skupom starogrckih bozanstava, cije su vezeprikazane na narednoj slici (u vidu porodicnog stabla):

Page 210: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.4. Resavanje problema svodenjem na problem valjanosti 208

๐‘…๐‘’๐‘—๐‘Ž๐พ๐‘Ÿ๐‘œ๐‘›

๐‘๐‘’๐‘ฃ๐‘ ๐‘ƒ๐‘œ๐‘ ๐‘’๐‘—๐‘‘๐‘œ๐‘› ๐ท๐‘’๐‘š๐‘’๐‘ก๐‘Ÿ๐‘Ž๐ฟ๐‘’๐‘ก๐‘œ

๐ด๐‘Ÿ๐‘ก๐‘’๐‘š๐‘–๐‘‘๐‘Ž๐ด๐‘๐‘œ๐‘™๐‘œ๐‘›

๐ด๐‘š๐‘“๐‘–๐‘ก๐‘Ÿ๐‘–๐‘ก๐‘Ž

๐‘‡๐‘Ÿ๐‘–๐‘ก๐‘œ๐‘›

๐ฝ๐‘Ž๐‘ ๐‘–๐‘œ๐‘›

๐‘ƒ ๐‘™๐‘ข๐‘ก๐‘œ๐‘›

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

Page 211: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

209 9. Automatsko rasudivanje u logici prvog reda

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 jeX razlicito od Y. U suprotnom, ima vrednost netacno. U nastavku je datonekoliko primera upita i rezultata koje sistem daje.

?- 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 za to je sto zadovoljavanje ovog ciljazavisi od zadovoljavanja podcilja brat(X,Z), koji zavisi od zadovoljavanja

Page 212: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.4. Resavanje problema svodenjem na problem valjanosti 210

podciljeva roditelj(W,X) i roditelj(W,Z). Ako vazi X=zevs, Y=plutoni Z=demetra, onda postoje dve mogucnosti za W, sto su kron i reja. Ka-ko sistem dva puta nalazi nacin da zadovolji sve potciljeve u kojima vaziX=zevs i Y=pluton, dva puta navodi tu kombinaciju kao resenje. Slucajupita sestraodstrica(X,Y) je analogan.

Primetimo da pravilu

otac(X,Y) :- musko(X), roditelj(X,Y).

odgovara formula โˆ€๐‘ฅโˆ€๐‘ฆ (๐‘š๐‘ข๐‘ ๐‘˜๐‘œ(๐‘ฅ) โˆง ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ, ๐‘ฆ) โ‡’ ๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฅ, ๐‘ฆ)), kojaje slabija od formule (iz poglavlja 9.4.1):โˆ€๐‘ฅโˆ€๐‘ฆ (๐‘œ๐‘ก๐‘Ž๐‘(๐‘ฅ, ๐‘ฆ) โ‡” ๐‘š๐‘ข๐‘ ๐‘˜๐‘œ(๐‘ฅ) โˆง ๐‘Ÿ๐‘œ๐‘‘๐‘–๐‘ก๐‘’๐‘™๐‘—(๐‘ฅ, ๐‘ฆ))

prolog iz navedenih cinjenica moze da pokaze da vazi otac(kron,zevs).No, da nije data cinjenica roditelj(kron,zevs), prolog ne bi mogaoda je izvede cak i da ima na raspolaganju cinjenicu otac(kron,zevs).Naime, navedeni prolog program dizajniran je tako da iz informacija oroditeljstvu izvodi sve druge porodicne odnose. Ukoliko je potrebno i obrat-no, onda u program treba dodati dodatna pravila.

Da bi prolog mogao da bude upotrebljiv kao programski jezik, u njegovojsemantici postoje odstupanja od semantike logike prvog reda (na primer, ume-sto negacije koja je kao u logici prvog reda, u prolog-u se koristi takozvanaโ€žnegacija kao neuspehโ€œ).

9.4.5 FOL dokazivaci i SMT resavaci i njihovi ulazni formati

Programe koji resavaju instance problema valjanosti ili zadovoljivosti u logi-ci prvog reda zovemo obicno FOL dokazivaci (eng. FOL-provers, od first-orderlogic). Vecina savremenih FOL dokazivaca zasnovana je na metodi rezolucije,obogacenoj mnogim dodatnim tehnikama i heuristikama. Neki od danas popu-larnih FOL dokazivaca su Vampire, E i Spass. FOL dokazivaci obicno ocekujuulaz u nekom od tptp3 formata, kao sto je fof format. U ovom formatu, for-mule se navode jedna po jedna sa oznakama o tome da li se radi o aksiomi ilio tvrdenju koje dokazivac treba da dokaze. U slucaju primera 9.44, problemmoze da se zapise na sledeci nacin.

fof(a1, axiom, (![X,Y] : (above(X,Y) => ~above(Y,X)))).fof(a2, axiom, (![X,Y] : (above(X,Y) <=> below(Y,X)))).fof(a3, axiom, (![X,Y,Z] : ((above(X,Y) & above(Y,Z)) =>

above(X,Z)))).fof(cn, conjecture, (![X,Y,Z] : ((above(Y,X) & below(Z,X)) =>

above(Y,Z)))).

3tptp (Thousands of Problems for Theorem Provers) je biblioteka problema za automat-ske dokazivace teorema. U okviru nje definisano je i nekoliko formata za zapis formula logikeprvog reda.

Page 213: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

211 9. Automatsko rasudivanje u logici prvog reda

Za navedeni opis problema (u vidu datoteke above.tptp), na primer, do-kazivac Vampire vratice odgovor da je odgovarajuci skup klauza nezadovoljiv,tj. da je navedena formula logicka posledica navedenih aksioma:

% Refutation found.% SZS status Theorem for above% SZS output start Proof for above2. ! [X0,X1] : (above(X0,X1) <=> below(X1,X0)) [input]3. ! [X0,X1,X2] : ((above(X1,X2) & above(X0,X1)) => above(X0,X2)) [input]4. ! [X0,X1,X2] : ((below(X2,X0) & above(X1,X0)) => above(X1,X2)) [input]5. ~! [X0,X1,X2] : ((below(X2,X0) & above(X1,X0)) => above(X1,X2))

[negated conjecture 4]7. ! [X0,X1,X2] : (above(X0,X2) | (~above(X1,X2) | ~above(X0,X1)))

[ennf transformation 3]8. ! [X0,X1,X2] : (above(X0,X2) | ~above(X1,X2) | ~above(X0,X1))

[flattening 7]9. ? [X0,X1,X2] : (~above(X1,X2) & (below(X2,X0) & above(X1,X0)))

[ennf transformation 5]10. ? [X0,X1,X2] : (~above(X1,X2) & below(X2,X0) & above(X1,X0))

[flattening 9]11. ! [X0,X1] : ((above(X0,X1) | ~below(X1,X0)) & (below(X1,X0) |

~above(X0,X1))) [nnf transformation 2]12. ? [X0,X1,X2] : (~above(X1,X2) & below(X2,X0) & above(X1,X0)) =>

(~above(sK1,sK2) & below(sK2,sK0) & above(sK1,sK0)) [choice axiom]13. ~above(sK1,sK2) & below(sK2,sK0) & above(sK1,sK0) [skolemisation 10,12]16. ~below(X1,X0) | above(X0,X1) [cnf transformation 11]17. ~above(X1,X2) | above(X0,X2) | ~above(X0,X1) [cnf transformation 8]18. above(sK1,sK0) [cnf transformation 13]19. below(sK2,sK0) [cnf transformation 13]20. ~above(sK1,sK2) [cnf transformation 13]23. above(sK0,sK2) [resolution 16,19]28. ~above(X1,sK0) | above(X1,sK2) [resolution 17,23]29. above(sK1,sK2) [resolution 28,18]30. $false [subsumption resolution 29,20]% SZS output end Proof for above% ------------------------------% Version: Vampire 4.2.2 (commit e1949dd on 2017-12-14 18:39:21 +0000)% Termination reason: Refutation

% Memory used [KB]: 4733% Time elapsed: 0.103 s

Tvrdenje iz poglavlja 9.4.2 moze se opisati na sledeci nacin:

fof(a1, axiom, (![U,V] : ( xor(xor(U,V),V)=U ))).fof(a1, axiom, (![U,V] : ( xor(U,V)=xor(V,U)))).fof(cn, conjecture, (![X,X1,X2,Y,Y1] :

((X1=xor(X,Y) & Y1=xor(X1,Y) & X2=xor(X1,Y1)) =>X2=Y))).

Dokazivac Vampire vratice odgovor da je odgovarajuci skup klauza nezado-voljiv, tj. da je navedena formula logicka posledica navedenih aksioma i aksiomajednakosti (nije potrebno eksplicitno zadavati aksiome jednakosti).

Page 214: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

9.4. Resavanje problema svodenjem na problem valjanosti 212

Za mnoge prakticne probleme, umesto โ€žuniverzalnog resavacaโ€œ, FOL doka-zivaca, pogodno je koristiti specijalizovane resavace za neke konkretne teorijeili konkretne strukture.

Na primer, za dokazivanje nezadovoljivosti formule iz primera sa rezanjemploca (poglavlje 9.4.3) pogodno je koristiti specijalizovani smt resavac za line-arnu aritmetiku nad celim brojevima i to za fragment bez kvantifikatora (jer susve promenljive implicitno egzistencijalno kvantifikovane) โ€“ ta teorija obicno seoznacava sa qf_lia. Potrebno je dokazati da je formula ๐’œโˆงโ„ฌ nezadovoljiva itaj zadatak moze se opisati u vidu datoteke ploce.smt sa narednim sadrzajemu formatu smt-lib:

(set-logic QF_LIA)(declare-const x1 Int)(declare-const y1 Int)(declare-const x2 Int)(declare-const y2 Int)

(assert (<= 0 x1))(assert (<= 0 (+ x1 80) 100))(assert (<= 0 y1))(assert (<= 0 (+ y1 30) 60))(assert (<= 0 x2))(assert (<= 0 (+ x2 50) 100))(assert (<= 0 y2))(assert (<= 0 (+ y2 40) 60))(assert (or (<= (+ x1 80) x2) (<= (+ x2 50) x1)

(<= (+ y1 30) y2) (<= (+ y2 40) y1)))(check-sat)(get-model)

Za navedeni opis problema (u vidu datoteke ploce.smt), na primer, resavacz3 vratice odgovor unsat (sto znaci da je polazni skup formula nezadovoljiv ustrukturi celih brojeva):

unsat

Ukoliko dimenzije drugog komada nisu 50 ร— 40 nego, na primer, 20 ร— 40,onda za odgovarajucu smt datoteku (samo je vrednost 50 zamenjena sa 20),resavac z3 daje odgovor koji sadrzi i jedno resenje kako treba iseci trazenekomade ploce:

sat(model

(define-fun x2 () Int80)

Page 215: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

213 9. Automatsko rasudivanje u logici prvog reda

(define-fun y1 () Int0)

(define-fun x1 () Int0)

(define-fun y2 () Int0)

)

Ovo resenje, ovaj model zadate formule govori da postoji (barem jedno)zeljeno rezanje i u njemu je donji levi ugao prvog komada u tacki (๐‘ฅ1, ๐‘ฆ1) =(0, 0), a donji levi ugao drugog komada u tacki (๐‘ฅ2, ๐‘ฆ2) = (80, 0), kao sto jeilustrovano na narednoj slici:

0 10 20 30 40 50 60 70 80 90 100

10

20

30

40

50

60

Page 216: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 217: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Deo III

Masinsko ucenje

Page 218: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 219: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 10

Resavanje problema koriscenjemmasinskog ucenja

Resavanje problema koriscenjem automatskog rasudivanja pociva na for-malnom i obicno potpunom opisu problema koji je potrebno resiti. Na primer,da bismo resili problem ๐‘› dama, potrebno je precizno definisati sva pravila kojase ticu rasporedivanja figura i njihovog napadanja. Ako je potrebno donositizakljucke o geometrijskim problemima, potrebno je potpuno precizno zadatiaksiome geometrije i tvrdenje koje je potrebno dokazati. Medutim, u velikombroju prakticnih problema nije moguce potpuno precizno opisati pravila svetau kojem se resava problem, pa ni svojstva resenja. Na primer, u slucaju prepo-znavanja lica nije lako precizno definisati sta je lice. Prirodan pokusaj da se licedefinise u terminima njegovih delova dalje povlaci pitanje definicija tih delova,kao i odnosa medu njima. Ipak, odredena pravilnost nesporno postoji. Slican jei problem prevodenja recenica sa jednog jezika na drugi. Iako je poznato da je-zik ima jaku strukturu, ona je previse komplikovana i prepuna izuzetaka koji sudovoljni da ucine formalno preciziranje pravila previse teskim. Samim tim josje veci problem opisati kako se struktura jednog jezika preslikava u strukturudrugog jezika na koji je potrebno izvrsiti prevodenje.

Da bi neki problem bio resen potrebno je da postoji njegova specifikacija. Uprethodnim primerima tesko je dati eksplicitnu i preciznu specifikaciju. Speci-fikacija moze biti i implicitna, data velikom kolicinom primera onoga sto jesteresenje i onoga sto nije resenje problema, odnosno kroz konkretne podatke.Ovakva specifikacija nuzno je slabija od formalne, ali nekada je najbolje stomozemo uraditi u praksi. Masinsko ucenje bavi se upravo resavanjem proble-ma za koje je tesko dati formalnu specifikaciju, ali je dostupna velika kolicinapodataka koji na neki nacin ilustruju resenja pojedinacnih instanci problema.Zadatak metoda masinskog ucenja je da u pruzenim podacima uoce relevantnezakonitosti i da ih formulisu u vidu nekog matematickog modela. Kljucni ciljmetoda masinskog ucenja je, dakle, dobra generalizacija, tj. dobro ponasanje

217

Page 220: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

218

dobijenog matematickog modela u situacijama koje nisu bile opisane podaci-ma na osnovu kojih je model dobijen. Drugim recima, kljucni cilj je dobijanjemodela koji ce biti koristan u resavanju buducih instanci problema.

U modelovanju podataka greske su nepozeljne ali moguce. Greske modelamogu da postoje u odnosu na podatke iz kojih je model dobijen ili u odnosu napodatke u kasnijoj primeni. Vaznije su ove druge, jer je kljucni cilj masinskogucenja, kao sto je receno, kreiranje modela koji ce biti korisni u resavanjubuducih instanci problema.

Raspolozivi podaci nekada mogu sadrzati greske, pa i protivrecnosti. Takode,mogu davati nepotpunu sliku problema koji se resava. Otud je jasno da logikanije pogodan formalni okvir za masinsko ucenje, te metode masinskog ucenjanisu deduktivne, vec induktivne metode zakljucivanja, obicno zasnovane naverovatnoci i statistici. Verovatnosni okvir pruza im robusnost u odnosu nagreske u podacima, a cesto omogucava i kvantifikaciju pouzdanosti ponudenogresenja. Algoritmi ucenja i algoritmi koji budu nauceni obicno nemaju svoj-stvo potpunosti: nema garancija da ce biti naucen trazeni algoritam, niti da cealgoritam koji je naucen da uspesno resava svaku instancu problema. Uprkosovome i imanentnom postojanju gresaka, masinsko ucenje u mnogim poljimadaje sjajne rezultate koji daleko nadmasuju druge pristupe.

Metode masinskog ucenja tipicno vrse odlucivanje veoma brzo (znatno brzenego, na primer, metode automatskog rasudivanja koje svoju egzaktnost placajuvisokom racunskom zahtevnoscu prilikom odlucivanja). Otud je njihova prime-na preferirana i u nekim slucajevima kada jeste moguce u potpunosti preciziratiproblem, ali je prostor pretrage ogroman. Takav je primer igranja igre go u ko-joj je metodama masinskog ucenja pobeden ljudski svetski sampion. Ipak, uresenjima zasnovanim na masinskom ucenju greske se uvek mogu ocekivati tetaj pristup nije primeren domenima u kojima greska nije dozvoljena (na primer,u automatskoj kontroli metroa).

U nastavku teksta, osnovni koncepti masinskog ucenja bice ilustrovani kroznaredni primer.

Primer 10.1. Pretpostavimo da je potrebno napraviti specijalizovani pre-trazivac interneta koji omogucuje korisnicima da pretrazuju samo racunar-ske clanke. Pored mnostva elemenata koje ovaj sistem mora da ima, poputonih vezanih za komunikaciju na internetu, skladistenje informacija, inter-fejs prema korisniku i tako dalje, potrebno je da ima i specijalizovan modulkoji se bavi razvrstavanjem, odnosno klasifikacijom clanaka na clanke izoblasti racunarstva i na clanke iz svih ostalih oblasti. Razmotrimo kako bielementarna varijanta ovakvog modula mogla biti osmisljena.

Apstraktni aspekti teksta, poput semantike, stila i slicnih, iako vrlo re-levantni za navedeni problem, ne dopustaju laku analizu od strane masine.Otud bi se elementarna varijanta sistema za razvrstavanje clanaka moralazasnivati na neposredno dostupnim aspektima teksta. To su pre svega reci

Page 221: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

219 10. Resavanje problema koriscenjem masinskog ucenja

od kojih se tekst sastoji. Na srecu, reci mogu biti vrlo indikativne po pita-nju oblasti kojoj tekst pripada, posto mogu predstavljati strucne termine.Otud je zamislivo da se pomenuti problem moze u zadovoljavajucoj meriresiti razmatranjem frekvencija pojavljivanja pojedinih, pogodno odabranihreci. U pojednostavljenom pristupu, moguce je osloniti se na frekvencijustrucnih reci โ€žracunarโ€œ i โ€ždatotekaโ€œ, cime se svaki tekst predstavlja kaotacka u dvodimenzionoj ravni. Ocekuje se da ce racunarski tekstovi u tomslucaju biti predstavljeni tackama koje su daleko od koordinatnog pocetka,a da ce ostali tekstovi biti blizu koordinatnog pocetka, kao sto je prikazanona sledecoj slici. Plavi krugovi predstavljaju racunarske clanke, a crveniostale. ๐‘ฅ koordinata predstavlja frekvenciju reci โ€žracunarโ€œ, a koordinata ๐‘ฆpredstavlja frekvenciju reci โ€ždatotekaโ€œ.

0

U idealnoj situaciji, te dve grupe tacaka su razdvojene i izmedu njih po-stoji prava koja ih razdvaja. U tom slucaju, kasnije je moguce jednostavnoodgovoriti na pitanje da li je clanak racunarski samo na osnovu toga sakoje strane te prave se nalazi tacka koja odgovara tom clanku. Ukoliko nepostoji prava koja razdvaja dve grupe tacaka, potrebno je naci neku pravukoja vecinu tacaka razdvaja ispravno. Vazno pitanje je kako se i u takvomslucaju moze odrediti prava koja najbolje razdvaja dve grupe clanaka. Ta-kvih algoritama ima vise, a intuitivno, osnovna ideja je da se krene odbilo koje prave i da se ona postepeno pomera dok se ne pozicionira naj-bolje moguce (po nekom preciznom kriterijumu) izmedu dve grupe tacaka,tj. izmedu dve klase. Detalji jednog takvog algoritma bice dati kasnije.

Primeri primena masinskog ucenja. Masinsko ucenje uspesno se prime-njuje u mnostvu prakticnih problema. Jedan od najstarijih, a jos uvek zanimlji-vih prakticnih rezultata postignut je od strane sistema ALVINN zasnovanog naneuronskoj mrezi, krajem osamdesetih godina dvadesetog veka, koji je naucenda bez ljudske pomoci vozi automobil auto-putem u prisustvu drugih vozila ibrzinom od oko 110km/h. Sistem je uspesno vozio na putu duzine oko 140km.Sa razvojem dubokih neuronskih mreza, sredinom prve decenije ovog veka,

Page 222: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

220

projekat razvoja autonomnih vozila dobio je novi zamah. Mnoge kompanijetrenutno razvijaju vozila koja treba da budu u stanju da samostalno ucestvujuu gradskoj voznji, koja je znacajno komplikovanija od voznje na auto-putu.Izazovi za tehnike masinskog ucenja u ovom problemu ukljucuju kako prepo-znavanje puta i ucesnika u saobracaju, tako i donosenje odluka. Slicne metodekoriste se i za ucenje upravljanja kvadrotorima (malim letilicama sa cetiri pro-pelera) u cilju prenosenja predmeta. Kompanija Amazon razmatra mogucnostovakvog nacina dostavljanja svojih posiljki u gradskim sredinama.

Jedan od najpoznatijih ranih primera primene masinskog ucenja je i si-stem TD-Gammon za igranje igre Backgammon konstruisan devedesetih godi-na proslog veka. Igrajuci protiv sebe vise od milion partija i nastavljajuci dauci u igri sa ljudskim igracima, sistem je dostigao nivo igre u rangu svetskogsampiona. Na slicnim principima, ali koristeci modernije algoritme ucenja kon-struisan je sistem AlphaGo koji je 2015. i 2016. ubedljivo pobedio evropskog,a zatim i svetskog sampiona u igri go. Ova igra poznata je kao jedan od, do sa-da, najozbiljnijih izazova vestackoj inteligenciji u domenu igranja igara, postopo broju mogucih stanja daleko prevazilazi i sah, sto drasticno otezava prime-nu tradicionalnih tehnika vestacke inteligencije poput algoritma minimaks saalfa-beta odsecanjem.

Kompanije poput Amazona, koje se bave internet prodajom, odavno koristesisteme koji na osnovu primera kupovnih transakcija korisnika uce kako da bu-ducim korisnicima preporucuju proizvode koji bi ih mogli interesovati. Ovakvisistemi i odgovarajuci algoritmi ucenja nazivaju se sistemima za preporucivanje(eng. recommender systems).

Sistemi za prepoznavanje govora takode koriste masinsko ucenje u nekoj for-mi. Sistem Sphinx, takode sa kraja osamdesetih, bio je u stanju da prepoznaizgovorene reci uz prilagodavanje izgovoru razlicitih ljudi, razlicitim karakteri-stikama mikrofona, pozadinskoj buci i slicno. U meduvremenu su takvi sistemiznacajno napredovali, usli u siroku upotrebu na mobilnim telefonima, a u stanjusu i da vode dijaloge, daju preporuke relevantne korisniku i slicno.

Masinsko ucenje najvece uspehe do sada postiglo je verovatno u obradislika i video zapisa. Tipicni problemi su prepoznavanje i lokalizacija objekatana slikama i video zapisima, pracenje objekata u video zapisima, generisanjerealisticnih slika i video zapisa visoke rezolucije, automatsko opisivanje slikaprirodnim jezikom i slicno.

Sveprisutnost drustvenih mreza dala je veliki impuls razvoju metoda masin-skog ucenja nad grafovima. Drustvena mreza moze se smatrati grafom cijicvorovi predstavljaju ucesnike mreze, a grane postoje izmedu ucesnika koji supovezani u mrezi (poput prijateljstva na mrezi Facebook). Metode masinskogucenja se u ovom kontekstu koriste za predvidanje buducih veza medu uces-nicima, recimo prilikom preporucivanja ucesnicima mreze sa kime se mogupovezati. Razvijene su i metode za otkrivanje postojecih, ali neopazenih vezau drustvenim mrezama (koje ne moraju biti samo mreze na internetu, vec iu realnom zivotu). Jedna od motivacija za razvoj ovih metoda je otkrivanjepovezanosti u teroristickim i kriminalnim grupama.

Page 223: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

221 10. Resavanje problema koriscenjem masinskog ucenja

Veliki proboj u bioinformatici napravljen je metodama masinskog ucenjakada je resen problem savijanja proteina. Proteini su u sredistu vecine bio-loskih procesa, pa je razumevanje njihove funkcije u zivim organizmima odvelikog znacaja i moze voditi razvoju novih lekova i novih metoda lecenja raz-nih bolesti. Funkcija proteina tesno je povezana sa njegovim sastavom โ€“ nizomaminokiselina i njegovom trodimenzionalnom strukturom, koja se moze opisa-ti koordinatama pomenutih aminokiselina. Problem savijanja proteina sastojise u odredivanju trodimenzionalne strukture na osnovu sekvence amino kise-lina. Utvrdivanje same sekvence nije tezak problem, ali je resavanje problemaodredivanja nacina savijanja na osnovu te sekvence trajalo oko pedeset godina,do 2020. godine, kada je sistem AlphaFold dao odlicne rezultate na referentnomskupu instanci.

Faze resavanja problema masinskim ucenjem. Tok resavanja problemapomocu masinskog ucenja obicno obuhvata sledece osnovne korake:

โ€ข Modelovanje problema;

โ€ข Resavanje problema, odnosno treniranje modela;

โ€ข Evaluacija dobijenog resenja, odnosno modela.

Kod pretrage i automatskog rasudivanja, treci korak moze biti vazan, ali je ne-kada i trivijalan ili nepostojeci. Masinsko ucenje ukljucuje evaluaciju dobijenogresenja kao sustinski vazan korak zbog pomenute mogucnosti gresaka. Ukolikoje proces resavanja dao nezadovoljavajuce rezultate, kroz sve navedene korakeprolazi se iznova, primenjujuci druge moguce pristupe.

U ostatku teksta, bice dosledno koriscena naredna notacija. Obicnim ma-lim slovima poput ๐‘ฅ oznacavaju se skalari. Podebljanim malim slovima poput xoznacavaju se vektori, a podebljanim velikim poput X oznacavaju se matrice.U kontekstu u kojem se javljaju podebljano slovo i obicno slovo sa indeksima,podrazumeva se da obicno slovo predstavlja koordinatu vektora ili element ma-trice oznacene odgovarajucim podebljanim slovom. Na primer, ๐‘ฅ๐‘– ce oznacavati๐‘–-tu koordinatu vektora x, a ๐‘ฅ๐‘–๐‘— odgovarajuci element matrice X. S druge stranex๐‘– oznacava ๐‘–-ti vektor x, a ne ๐‘–-tu koordinatu vektora x i slicno za matrice.

10.1 Modelovanje problema

Modelovanje problema polazni je deo procesa masinskog ucenja i on cestozahteva najvise znanja i inventivnosti. Konkretni koraci variraju od problemado problema, ali postoje neki koraci zajednicki za vecinu slucajeva i to su:

โ€ข Uocavanje opsteg okvira ucenja adekvatnog za dati problem, koji je presvega uslovljen vrstom informacije date u primerima iz kojih se uci;

โ€ข Izbor reprezentacije podataka iz kojih se uci;

Page 224: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

10.1. Modelovanje problema 222

โ€ข Izbor forme modela zakonitosti u podacima, odnosno skupa dopustivihmodela;

โ€ข Izbor funkcije greske koja meri koliko model odgovara podacima na koji-ma se vrsi trening.

Ovi koraci bice objasnjeni u nastavku.

10.1.1 Nadgledano, nenadgledano i ucenje potkrepljivanjemKoliko god primene masinskog ucenja bile raznovrsne, postoje odredene

zajednicke karakteristike zadataka i procesa ucenja koje se cesto srecu. Po-stoje tri glavna okvira problema ucenja: nadgledano ucenje (eng. supervisedlearning), nenadgledano ucenje (eng. unsupervised learning) i ucenje potkreplji-vanjem (eng. reinforcement learning).

Nadgledano ucenje odnosi se na situacije u kojima se algoritmu, zajedno sapodacima iz kojih uci, daju i zeljeni izlazi, to jest vrednosti takozvane ciljnepromenljive. Algoritam treba da nauci da za date podatke pruzi odgovara-juce izlaze. Ocekuje se da izlazi dati za podatke na kojima nije vrseno ucenjetakode budu dobri. Neki primeri problema nadgledanog ucenja su predvidanjeda li je clanak racunarski ili nije, da li odredeno elektronsko pismo predstavljanezeljenu postu (eng. spam) ili ne i predvidanje cene nekih akcija u zavisnostiod kretanja cene tih akcija u proslosti i kretanja cena drugih akcija.

U nenadgledanom ucenju algoritmu koji uci pruzaju se samo podaci bezizlaza. Od algoritma koji uci ocekuje se da sam uoci neke zakonitosti u datimpodacima. Primer nenadgledanog ucenja je takozvano klasterovanje โ€“ uocavanjegrupa na neki nacin slicnih objekata kada ne postoji pouzdano znanje o tomekoliko grupa postoji ili koje su njihove karakteristike. Jedan primer primeneklasterovanja je smanjenje skupa boja slike. Pikseli slike se mogu grupisati kla-sterovanjem po njihovoj blizini u RGB prostoru boja, a potom se iz svakogklastera moze izabrati po jedna boja koja bi ga predstavljala i kojom bi biliobojeni svi pikseli koji pripadaju tom klasteru. Drugi primer primene klaste-rovanja je grupisanje (prirodnih) jezika u grupe jezika srodnog porekla.

Ucenje potkrepljivanjem odnosi se na situacije u kojima je nizom akcijapotrebno postici neki cilj pri cemu u podacima nije poznato koja akcija je biladobra u kojoj situaciji, vec samo finalni ishod citavog niza akcija. Cilj je naucitikoje su akcije dobre u kojim stanjima. Tipican primer problema pogodnih zaovu vrstu ucenja je igranje igara. Naime, u igrama cesto nije uvek jasno kojipotez je bio dobar (ili kljucan), a koji nije, ali je poznato da li je partija nakraju dobijena ili izgubljena.

Primer 10.2. Problem prepoznavanja racunarskih clanaka ocito spada uokvir nadgledanog ucenja. Naime, postoji konkretna ciljna promenljiva โ€”da li je clanak racunarski ili nije i nju je potrebno predvideti, i moguce

Page 225: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

223 10. Resavanje problema koriscenjem masinskog ucenja

je zajedno sa podacima iz kojih se uci (clancima) pruziti i vrednosti oveciljne promenljive. Ovaj problem ne uklapa se u druga dva opisana okvira.Ne moze se ocekivati da bi se nenadgledanim pristupom mogli izdiferenci-rati racunarski i ostali clanci. Iako nenadgledano ucenje cesto omogucavagrupisanje, tesko je obezbediti da grupisanje bude izvrseno bas u skladu sajednim aspektom teme clanka โ€“ njenom pripadnoscu oblasti racunarstva.Sasvim je moguce da bi neki postojeci algoritam grupisao clanke po nekomdrugom kriterijumu, koji najverovatnije ne bi ni bio lako razumljiv covekuili dovoljno precizan za potrebe ovog problema. Na kraju, ovaj problemse ne uklapa ni u okvir ucenja potkrepljivanjem, posto resenje predstavljajednostavan odgovor da li je clanak racunarski, a ne niz akcija cijim sezajednickim efektom postize neki cilj (kao u igranju igara).

Kako je prepoznato da se radi o problemu nadgledanog ucenja i dapodaci pripadaju dvema klasama, za uspesno resavanje problema potrebnoje obezbediti odredeni skup primera koji sadrzi kako racunarske, tako iclanke iz drugih oblasti.

10.1.2 Reprezentacija podataka

Kao sto je receno na pocetku, podacima se opisuju konkretni primerci,tj. instance nekog problema. Primera radi, iako mozemo govoriti o opstemproblemu prepoznavanja racunarskih clanaka, u praksi se uvek susrecemo sanjegovim konkretnim primercima โ€“ uvek je za neke konkretne clanke potrebnoustanoviti da li su racunarski ili nisu. Otuda se, kada se govori o podacima,cesto govori o instancama podataka pri cemu se podrazumeva da jedna instancapodataka opisuje jedan konkretan primerak problema koji treba resiti.

Instance koje cine podatke treba da budu zapisane u obliku koji je pogo-dan za primenu algoritama ucenja. Najpogodniji i najcesce korisceni nacin kojise koristi u algoritmima masinskog ucenja je predstavljanje instanci pomocunekih njihovih relevantnih svojstava, tj. atributa, odlika ili obelezja (eng. fea-ture, attribute). Svojstva predstavljaju karakteristike instanci kao sto su boja,velicina, tezina i slicno. Svako od izabranih svojstava moze imati vrednost kojapripada nekom unapred zadatom skupu. Te vrednosti su nekad numericke, kaou slucaju tezine, koja je skalarna velicina i koja se najbolje opisuje brojem.Primer numericke vrednosti moze biti i frekvencija reci u nekom clanku, kaosto je to bio slucaj u primeru sa klasifikacijom clanaka. Svojstva takode mogubiti i kategoricka โ€” mogu predstavljati imena nekih kategorija kojima se nemogu dodeliti smislene numericke vrednosti ili pridruziti uredenje. Primer ka-tegorickog svojstva moze biti grad u kome osoba zivi, pol, nacionalnost i slicno.Skup svojstava koji ce se koristiti u zapisu instance generalno nije unapred za-dat, vec ga je potrebno odabrati u skladu sa time koje su karakteristike instancibitne za dati problem ucenja. Na primer, za predvidanje ocene na ispitu nijebitna boja ociju studenta. Kada su izabrana svojstva pomocu kojih se instanceopisuju, svaka instanca moze se predstaviti vektorom vrednosti svojstava kojajoj odgovaraju.

Page 226: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

10.1. Modelovanje problema 224

S druge strane, podaci se nekada mogu dati algoritmu ucenja i u sirovoj for-mi, poput matrice piksela koji cine sliku bez opisivanja slike nekim specificnimsvojstvima. Nisu svi algoritmi ucenja dizajnirani da dobro rade sa takvim re-prezentacijama.

Primer 10.3. U slucaju prepoznavanja racunarskih clanaka, instanca jejedan clanak. Instance ce biti u racunaru predstavljene pomocu nekih po-dataka koji ih opisuju. Ciljna promenljiva ๐‘ฆ koja predstavlja klasu mozebiti 1 za racunarske clanke i โˆ’1 za ostale. Iako je predstavljena brojem,ovo je kategoricka vrednost, posto se radi o dve kategorije za koje su ovibrojevi proizvoljno izabrani.

Da bi bilo sprovedeno ucenje, potrebno je raspolozive clanke predstavitiu nekom obliku koji je pogodan za algoritam ucenja i koji bi mogao da naneki nacin sazme osnovne karakteristike na osnovu kojih se clanci iz ovedve kategorije mogu razlikovati. Kao sto je ranije zapazeno, ocekivano jeda ce u clancima iz racunarstva biti cesce pominjani racunarski pojmo-vi nego u ostalim clancima. To svojstvo bi se moglo iskoristiti za razli-kovanje clanaka. U skladu sa ovim, mogu se nabrojati sve reci iz nekogrecnika racunarske terminologije. Svaki clanak moze biti predstavljen vek-torom frekvencija ovih reci (frekvencija neke reci u clanku se racuna takosto se broj pojavljivanja te reci podeli ukupnim brojem pojavljivanja svihreci u clanku). Ako je x vektor koji odgovara nekom clanku, onda ce ๐‘ฅ๐‘–

oznacavati frekvencije izabranih pojedinacnih reci.Opisani vektori frekvencija predstavljaju tacke u euklidskom prostoru.

Kao sto je diskutovano ranije, ako se u pojednostavljenom recniku nala-ze samo dve reci โ€” โ€žracunarโ€œ i โ€ždatotekaโ€œ, ove tacke mogu izgledati kaona slici ??. Ukoliko su u clancima iz jedne kategorije ovi racunarski ter-mini visokofrekventni, a u drugim niskofrekventni, tacke koje odgovarajuracunarskim clancima ce se grupisati dalje od koordinatnog pocetka, dokce se ostale grupisati blize njemu.

10.1.3 Skup dopustivih modela

Proces ucenja moze se razumeti kao proces pronalazenja zakonitosti u po-dacima ili, preciznije, zavisnosti medu promenljivim koje ih opisuju, a koje cinesvojstva i ciljna promenljiva. Kako bi se ucenje moglo automatizovati, potreb-no je da opsta forma tih zavisnosti bude matematicki definisana. Matematickereprezentacije zavisnosti medu promenljivim nazivamo modelima. Ovaj pojamvrlo je blizak pojmu modela u empirijskim naukama, koji takode ustanovlja-va 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 imoguce je uociti skup dopustivih modela. U primeru prepoznavanja racunarskihclanaka, kao skup dopustivih modela koristi se skup linearnih funkcija {๐‘ค1๐‘ฅ1+

Page 227: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

225 10. Resavanje problema koriscenjem masinskog ucenja

๐‘ค2๐‘ฅ2 + ๐‘ค3 | ๐‘ค1, ๐‘ค2, ๐‘ค3 โˆˆ R}, odnosno njima odgovaraucih pravih. Forme mo-dela mogu biti raznovrsne: modeli mogu biti pravila oblika IF...THEN (npr.IF x1>3 and x2<2 THEN y=1), linearne funkcije svojstava (npr. ๐‘ฆ = ๐‘ค1๐‘ฅ1 +๐‘ค2๐‘ฅ2), nelinearne funkcije svojstava (npr. ๐‘ฆ = log(๐‘ค1๐‘ฅ1 + ๐‘ค2๐‘ฅ2)) i tako dalje.

Primer 10.4. U slucaju prepoznavanja racunarskih clanaka, pretposta-vimo da se clanci prepoznaju na osnovu frekvencija dve reci. Izmedu dvegrupe tacaka mozda postoji prava koja ih razdvaja, kao na sledecoj slici.

0

Ako je ova prava poznata, onda neki nov, nepoznati clanak moze biti pre-poznat kao clanak iz oblasti racunarstva ukoliko se tacka koja mu odgovaranalazi sa iste strane prave kao i tacke racunarskih clanaka koji su nam po-znati. U suprotnom, smatra se da clanak nije iz oblasti racunarstva. Uovom slucaju dobar izbor modela je funkcija oblika

๐‘ฆ = ๐‘ค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 kvalitetucenja. Ukoliko ovaj skup nije dovoljno bogat, onda ucenje, jasno, ne moze bitidovoljno dobro. Naizgled paradoksalno, i preterano bogatstvo skupa dopustivihmodela moze da dovede (i cesto dovodi) do losih rezultata. Ovaj fenomen bicediskutovan u delu 11.3.

10.1.4 Funkcija greskeU masinskom ucenju greska je nuzno prisutna, ali je i nepozeljna. Stoga je

potrebno meriti kolike su greske koje model pravi. Tome sluzi funkcija greske(eng. loss) koja se moze razlikovati od problema do problema.

U slucaju nadgledanog ucenja, ova funkcija treba da kvantifikuje odstupanjepredvidene od stvarne vrednosti ciljne promenljive za neku instancu. U slucajunenadgledanog ucenja, ako je potrebno, na primer, izvrsiti identifikaciju grupa

Page 228: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

10.2. Resavanje problema 226

u podacima, greska treba da kvantifikuje raznolikost podataka unutar grupa,posto je pozeljno da podaci unutar jedne grupe budu sto slicniji. U slucajuucenja potkrepljivanjem, obicno se govori o nagradi umesto o gresci, a nagradaje utoliko veca ukoliko je posao bolje obavljen nizom akcija koje se preduzimaju.Funkcija greske se definise za jednu instancu, ali je pozeljno da model dobijentreningom pravi malu ukupnu gresku, koja se obicno definise kao suma ili prosekgresaka na pojedinacnim instancama. Funkcije greske obicno se biraju tako dapored smislenosti u odnosu na problem imaju i neka pozeljna svojstva poputneprekidnosti, diferencijabilnosti, konveksnosti i slicno.

Primer 10.5. U primeru prepoznavanja racunarskih clanaka, moguci surazliciti izbori funkcije greske. Jedan izbor bi mogao biti 1 ako je instancalose klasifikovana, a 0 ako je dobro klasifikovana, ali ta funkcija nemadobra tehnicka svojstva i otud se ne koristi. Drugi prirodan izbor bi semogao voditi idejom da je greska utoliko veca ukoliko je instanca dalje odprave koja razdvaja klase, a sa njene pogresne strane. Ukoliko je tacka saispravne strane ove prave, znak funkcije

๐‘ค1๐‘ฅ1 + ๐‘ค2๐‘ฅ2 + ๐‘ค3

se poklapa sa znakom ciljne promenljive ๐‘ฆ (1 ili โˆ’1) i proizvod ๐‘ฆ ยท (๐‘ค1๐‘ฅ1+๐‘ค2๐‘ฅ2 + ๐‘ค3) je pozitivan. Ukoliko je tacka sa pogresne strane, taj proizvodje 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 izrazmoze se zameniti sledecim

max(0,โˆ’๐‘ฆ ยท (๐‘ค1๐‘ฅ1 + ๐‘ค2๐‘ฅ2 + ๐‘ค3))

tako da je u slucaju tacne klasifikacije greska jednaka nuli. Onda prava kojaispravno razdvaja sve clanke pravi gresku 0 na svim clancima. Dodatno,ova funkcija je neprekidna, konveksna i diferencijabilna svugde osim ujednoj tacki.

Ponovimo da su oznake klasa 1 i โˆ’1 zapravo kategoricke vrednosti.Ovakav izbor vrednosti predstavlja tehnicku pogodnost, a moguci su i drugiizbori.

10.2 Resavanje problema

Resavanje problema u masinskom ucenju svodi se na pronalazenje modelakoji pravi najmanju gresku (prema izabranom kriterijumu) na datim podacima.To resavanje se onda moze razumeti i kao pretraga skupa dopustivih modela

Page 229: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

227 10. Resavanje problema koriscenjem masinskog ucenja

vodena podacima, a koju realizuje algoritam ucenja. Taj algoritam cesto sesvodi na neki optimizacioni metod poput gradijentnog spusta nad funkcijomgreske definisanom prilikom modelovanja. Proces pronalazenja adekvatnog mo-dela naziva se treningom.

Algoritam: Algoritam za klasifikaciju clanaka

Ulaz: Trening skup ๐‘‡ , brzina ucenja ๐›ผ i preciznost ๐œ€

Izlaz: Koeficijenti modela w = (๐‘ค1, ๐‘ค2, ๐‘ค3)

1: postavi w na (0, 0, 0);

2: ponavljaj3: postavi wโ€ฒ na w;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 โ€–w โˆ’wโ€ฒโ€– โ‰ค ๐œ€;

10: vrati w kao resenje.

Slika 10.1: Algoritam za klasifikaciju clanaka.

Primer 10.6. U primeru prepoznavanja racunarskih clanaka, pronalazenjezeljene prave moze se izvesti โ€žpomeranjemโ€œ neke polazne prave dok onane bude pozicionirana izmedu tacaka koje treba da razdvaja, odnosno dokgreska ne postane jednaka nuli ili, ako je to nemoguce, sto manja mo-guca. Ovo pomeranje vrsi se postepenim modifikacijama koeficijenata ๐‘ค1,๐‘ค2 i ๐‘ค3. Velicinu tog pomeraja odreduje vrednost koju nazivamo brzinomucenja (eng. learning rate). Jedan takav algoritam, poznat kao perceptron,dat je na slici 10.1.

Vazno pitanje je da li azuriranje koeficijenata u predlozenom algorit-mu vodi poboljsanju naucene funkcije (tj. tekuceg modela). Pre svega, al-goritam ne menja vrednosti parametara ๐‘ค u slucaju da je instanca tacnoklasifikovana, vec samo ako nije, sto deluje dobro. Dalje, vrednost ๐œ‚, ko-ja kontrolise velicinu korekcije (๐œ‚๐‘ฆ๐‘ฅ1, ๐œ‚๐‘ฆ๐‘ฅ2, ๐œ‚๐‘ฆ), mora biti mala kako bikorekcije bile male i postepene. Vrednosti ๐‘ฅ1 i ๐‘ฅ2 su uvek nenegativne istoga znak korekcije zavisi samo od znaka vrednosti ๐‘ฆ. Ukoliko je vrednost๐‘ฆ negativna, koeficijenti se smanjuju cime se i vrednost ๐‘ค1๐‘ฅ1 +๐‘ค2๐‘ฅ2 +๐‘ค3

smanjuje. Ako pritom ta vrednost postane negativna, greska na toj instan-ci je eliminisana. Analogno u slucaju da je vrednost ๐‘ฆ pozitivna. Stoga,

Page 230: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

10.3. Evaluacija resenja 228

naslucujemo da se ovim algoritmom vrednosti ๐‘ค1๐‘ฅ1 +๐‘ค2๐‘ฅ2 +๐‘ค3 po znakupriblizavaju vrednostima ๐‘ฆ. Korekcije su proporcionalne vrednostima ๐‘ฅ1 i๐‘ฅ2, odnosno vece su za koeficijente cija promena moze vise doprineti pro-meni vrednosti ๐‘ค1๐‘ฅ1 + ๐‘ค2๐‘ฅ2 + ๐‘ค3 za dati primer. Ovaj postupak lici nagradijentni spust kojim se minimizuje ranije definisana funkcija greske:

max(0,โˆ’๐‘ฆ ยท (๐‘ค1๐‘ฅ1 + ๐‘ค2๐‘ฅ2 + ๐‘ค3)).

10.3 Evaluacija resenja

Ucenje uvek polazi od nekih podataka. Podaci na osnovu kojih se vrsi gene-ralizacija, nazivaju se podacima za trening, a njihov skup trening skup. Evalu-acija naucenog znanja na podacima na osnovu kojih je uceno obicno dovodi doznacajno boljih rezultata od onih koji se mogu kasnije dobiti u primenama, stone bi trebalo da iznenaduje. Naime, i u slucaju ljudskog ucenja, lakse je resavatiprobleme koji su vec upoznati u procesu ucenja, nego potpuno nove probleme.Stoga je pre upotrebe potrebno proceniti kvalitet naucenog znanja na novim,nepoznatim podacima. To se obicno radi tako sto se razmatra koliko je naucenoznanje kvalitetno u odnosu na neke unapred date podatke za testiranje cija jeuloga da u evaluaciji simuliraju (nepoznate) podatke na kojima ce model bitiprimenjivan u buducnosti. Podaci za testiranje cine test skup. Test skup trebada bude disjunktan sa trening skupom. Kvalitet modela na test skupu mozese meriti racunanjem razlicitih statistika cija je uloga da sto bolje opisu po-klapanje predvidanja modela sa stvarnim podacima. U praksi, trening i testskup se dobijaju tako sto se raspolozivi podaci podele na dva dela. Naravno,kako razlicite podele na trening i test skup mogu uroditi razlicitim rezultatima,slucajno deljenje nije najbolji nacin formiranja trening i test skupa, posebnoako kolicina raspolozivih podataka nije veoma velika. U praksi se koriste nestokomplikovanije sheme evaluacije, o cemu ce biti reci kasnije.

Primer 10.7. U primeru prepoznavanja racunarskih clanaka, pre treningamogli smo odvojiti, na primer, trecinu ukupnih raspolozivih podataka zatestiranje, a trening sprovesti nad preostale dve trecine. Kad su clanciklasifikovani, kao mera kvaliteta ucenja moze se na test skupu izracunatiudeo dobro klasifikovanih clanaka u ukupnom broju clanaka. Pozeljno jeda on bude sto veci.

Page 231: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 11

Nadgledano masinsko ucenje

Nadgledano masinsko ucenje karakterise se time da su za sve raspolozivepodatke poznate vrednosti ciljne promenljive. U nastavku su opisani osnovniproblemi nadgledanog ucenja โ€“ klasifikacija i regresija, zatim pojmovi zajed-nicki za vecinu algoritama nadgledanog masinskog ucenja, potom konkretnimodeli nadgledanog ucenja i algoritmi za njihovo treniranje i, na kraju, prime-ri prakticnih primena.

11.1 Klasifikacija i regresija

Problemi nadgledanog masinskog ucenja najcesce se mogu svrstati u jednuod dve kategorije โ€“ u probleme klasifikacije ili u probleme regresije.

Klasifikacija se sastoji u razvrstavanju nepoznate instance u jednu od una-pred ponudenih kategorija, tj. klasa. Neki od primera klasifikacije su razvrsta-vanje bankovnih transakcija u rizicne, koje mogu predstavljati prevaru ili unerizicne, koje predstavljaju uobicajene transakcije, odredivanje autorstva tek-stova pri cemu se tekstu nepoznatog autora pridruzuje jedan od nekoliko una-pred ponudenih autora, razvrstavanje elektronske poste u zeljenu i nezeljenu islicno. U navedenim primerima, svakoj instanci (bankovna transakcija, tekst,elektronska poruka) odgovara vektor vrednosti nekih izabranih svojstava. Sva-koj instanci takode odgovara i oznaka klase kojoj ta instanca pripada. Problemklasifikacije sastoji se u odredivanju vrednosti klase na osnovu preostalih svoj-stava instance. Kljucno zapazanje je da je ciljna promenljiva u ovom problemudiskretna i da se, u opstem slucaju, oznakama klasa ne mogu smisleno dode-liti numericke vrednosti, niti uredenje. Dakle, klasa, ciju je vrednost potrebnoodrediti, kategoricko je svojstvo.

Problem regresije predstavlja problem u kojem pored vrednosti svojstavasvakoj instanci odgovara i neka neprekidna numericka vrednost koju je po-trebno predvideti. Primene regresije su mnogobrojne. One ukljucuju procenurizika u finansijskim ulaganjima, modelovanje zagadenja zivotne sredine, pro-

229

Page 232: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.2. Minimizacija greske modela 230

cenu smrtnosti u zavisnosti od zivotnih navika, odredivanje pozicija objekatana slikama i slicno.

11.2 Minimizacija greske modela

Masinsko ucenje obicno pronalazi veze izmedu nekih velicina. Te veze zove-mo modelima i predstavljamo ih matematickim funkcijama.

Definicija 11.1 (Model). Model je funkcija ๐‘“w(x) koja izrazava zavisnostiizmedu promenljivih u masinskom ucenju. Vektor w je vektor parametaramodela koji ga odreduju.

Primer modela su vec pominjane linearne funkcije.Odstupanja stvarnih vrednosti ciljne promenljive od predvidanja modela

zovemo greskama. Greska se kvantifikuje funkcijom greske (eng. loss). Mnogialgoritmi klasifikacije i regresije zasnivaju se na minimizaciji greske. Cak i ka-da greska ne figurise eksplicitno u formulaciji problema ucenja, cesto se mozeuociti pazljivom analizom. Diskusija u nastavku pretpostavlja da ce funkcijagreske biti eksplicitno formulisana. Cest izbor funkcije greske predstavlja kva-drat razlike predvidene realne vrednosti ๐‘“w(x) i ciljne vrednosti ๐‘ฆ

๐ฟ(๐‘“w(x), ๐‘ฆ) = (๐‘“w(x)โˆ’ ๐‘ฆ)2.

Naravno, za njenu primenu potrebno je da su nad vrednostima ciljne promen-ljive definisane aritmeticke operacije, sto ne mora da vazi u opstem slucaju.Ipak, tamo gde je primenljiva, ova funkcija ponasa se intuitivno โ€” velike ra-zlike izmedu predvidene i stvarne vrednosti proizvode veliku vrednost greske,a takode je i matematicki pogodna zbog svoje diferencijabilnosti. Zbog togapredstavlja cest izbor funkcije greske, mada nije najbolji izbor ni uvek kada jeprimenljiva.

Funkcija greske primenjuje se na jednu instancu podataka, sto nije dovoljnoda bi se okarakterisao kvalitet predvidanja modela. Za to se koristi narednipojam greske modela (koji se nekad naziva i rizikom).

Definicija 11.2 (Greska modela). Ako je ๐ฟ funkcija greske, onda segreska modela ๐‘“w definise kao ocekivanje funkcije greske u odnosu na ras-podelu podataka koji se modeluju:

๐ธ(w) = E(x,๐‘ฆ)๐ฟ(๐‘“w(x), ๐‘ฆ)

gde je E(x,๐‘ฆ) matematicko ocekivanje po svojstvima i ciljnoj promenljivoj.

Za izracunavanje matematickog ocekivanja E(x,๐‘ฆ), potrebno je poznavati ras-podelu promenljivih x i ๐‘ฆ, koja obicno nije poznata. Medutim, ono sto u praksi

Page 233: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

231 11. Nadgledano masinsko ucenje

jeste poznato jะต uzorak podataka iz trening skupa {(x๐‘–, ๐‘ฆ๐‘–) | ๐‘– = 1, . . . , ๐‘}.Zbog toga se greska modela aproksimira njenim uzorackim prosekom koji jed-nostavnosti radi takode nazivamo greskom modela:

๐ธ(w) โ‰ˆ 1

๐‘

๐‘โˆ‘๐‘–=1

๐ฟ(๐‘“w(x๐‘–), ๐‘ฆ๐‘–)

U slucaju potrebe za boljim razlikovanjem, moze se govoriti o stvarnoj i empi-rijskoj gresci.

Primer 11.1. U primeru klasifikacije clanaka, greska modela data je funk-cijom:

๐ธ(w) =1

๐‘

๐‘โˆ‘๐‘–=1

max(0,โˆ’๐‘ฆ ยท (๐‘ค1๐‘ฅ1 + ๐‘ค2๐‘ฅ2 + ๐‘ค3)).

Kada su definisani forma modela i greska modela, lako je formulisati krite-rijume za izbor najboljeg modela โ€” to je model koji pravi najmanju gresku, tojest, pravi najmanju ocekivanu gresku nad podacima na kojima ce biti koriscen.

Definicija 11.3 (Najbolji model). Najbolji model je model odreden pa-rametrima koji su resenje sledeceg problema minimizacije:

minw

E(x,๐‘ฆ)๐ฟ(๐‘“w(x), ๐‘ฆ).

Moze se dokazati da, pod odredenim uslovima, vrednosti parametara w do-bijene minimizacijom empirijske greske modela dobro aproksimiraju vrednostiparametara koje bi bile dobijene minimizacijom stvarne greske. Stoga se vred-nosti parametara w i biraju minimizacijom vrednosti empirijske greske modela.Kako prosek i suma imaju isti minimum, obicno se prilikom minimizacije nevodi racuna o tome da li je izvrseno deljenje brojem instanci. To ce biti vidljivoi u minimizacionim problemima u nastavku.

Za minimizaciju greske modela koriste se metode matematicke optimizaci-je. Jedna od klasicnih metoda koriscenih u ovom kontekstu je gradijentni spust(poglavlje 4.1). Taj metod zahteva da je funkcija koja se minimizuje diferen-cijabilna. Postoje i druge optimizacione metode koje mogu biti pogodnije zaoptimizacioni problem koji se razmatra. Nekada se za novi problem formu-lise i nova metoda optimizacije koja je posebno pogodna za njega. Temeljnijeupucivanje u metode matematicke optimizacije izlazi iz okvira ove knjige.

11.3 Preprilagodavanje i regularizacija

Ocigledno, sto je greska modela manja, to je prilagodenost modela podacimaza trening veca i obratno. Dakle, vrednost greske modela moze da ima ulogumere prilagodenosti modela podacima za trening.

Page 234: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.3. Preprilagodavanje i regularizacija 232

Uslovi pod kojima se minimizacijom greske dobro aproksimira polazni pro-blem nisu uvek ispunjeni, pa prethodno opisani postupak minimizacije i izboramodela ne vodi nuzno dobrim rezultatima ucenja. Razmatranje ovog problemapredstavlja najplodniji aspekt teorije masinskog ucenja i pruza najdublje uvideu prirodu procesa generalizacije, ali prevazilazi okvire ove knjige. Ipak, osnovnizakljucak moze se kratko formulisati: osnovna prepreka dobroj aproksimacijioptimalnih vrednosti parametara, a time i uspesnoj generalizaciji, je preteranobogatstvo skupa dopustivih modela. Ukoliko je taj skup toliko bogat da u njemuza svaki trening skup postoji model koji ga savrseno opisuje, onda ne postojegarancije za uspesno ucenje. Dodatno, sto je skup dopustivih modela bogatiji,to je potrebno vise podataka za uspesno ucenje. Ilustrovacemo ovaj uvid krozdva primera, od kojih se prvi odnosi na klasifikaciju, a drugi na regresiju.

Primer 11.2. Neka je dat trening skup instanci koje predstavljaju clanke,od kojih su neki racunarski, a neki ne. Taj skup prikazan je na sledecojslici.

U tom skupu postoje i neki racunarski clanci sa niskom frekvencijom reci izspecificno racunarske terminologije, ali i neki clanci koji nisu racunarski, aipak imaju visoku frekvenciju racunarskih termina. U praksi je cesta situ-acija da, iz razlicitih razloga, odredeni broj instanci odstupa od ocekivanja.

Pretpostavimo da je forma modela linearna, kao i do sada โ€” ๐‘“w(x) =๐‘ค1๐‘ฅ1+๐‘ค2๐‘ฅ2+๐‘ค3 i da su koeficijenti w odredeni minimizacijom greske pricemu je za funkciju greske koriscen kvadrat razlike ciljne i predvidene vred-nosti (u ovom konkretnom problemu postoje i pogodnije funkcije greske, alice za potrebe ovog primera i kvadrat razlike biti dovoljno dobra funkcija).Naredna slika ilustruje resenje u tom slucaju. Tacke u ravni za koje modeldaje pozitivnu vrednost oznacene su plavo, a tacke za koje daje negativnuvrednost, oznacene su crveno.

Page 235: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

233 11. Nadgledano masinsko ucenje

Moze se primetiti da model nije saglasan sa svim instancama, odnosno dapostoje racunarski clanci koji nisu prepoznati i clanci koji su prepoznatikao racunarski, a to nisu. Medutim, to ne bi trebalo da bude zabrinjava-juce, posto je za vecinu clanaka klasifikacija ispravna. Clanci koji su po-gresno klasifikovani odstupaju od trenda ucestalog koriscenja reci racunari datoteka u takvim clancima, ali ih nema dovoljno da bi sugerisali da idrugi clanci u kojima se te reci retko koriste treba da budu klasifikovanikao racunarski.

Naredna slika prikazuje klasifikaciju datih podataka koriscenjem modelaiz skupa svih polinoma dve promenljive proizvoljnog stepena, odnosno uslucaju da se za modele koristi sledeca forma:

๐‘“w(x) =

๐‘›โˆ‘๐‘–=0

๐‘–โˆ‘๐‘—=0

๐‘ค๐‘–๐‘—๐‘ฅ๐‘—1๐‘ฅ

๐‘–โˆ’๐‘—2

dok je funkcija greske ista.

Izabrani model saglasan je sa svim instancama iz trening skupa i zbog to-ga je greska jednaka nuli. Medutim, zakonitost koju ovaj model opisujene izgleda uverljivo. Naime, intuitivno je da su racunarski clanci koji nesadrze racunarske termine redak izuzetak, a ne da postoje velike oblasti

Page 236: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.3. Preprilagodavanje i regularizacija 234

prostora svojstava koje odgovaraju niskim frekvencijama racunarskih ter-mina, a koje se ipak odnose na racunarske clanke. Vredi primetiti i da seu oblasti za koju bi se ocekivalo da je plava, nalazi veliki potprostor obojencrvenom bojom, a u kojem medu trening instancama ne postoji nijednacrvena tacka. Ovakve โ€žzakonitostiโ€œ cine koriscenje ovakvog modela u pre-dikciji potpuno nepouzdanim i izvesno je da je stvarna greska daleko vecaod nule.

Primer 11.3. Pretpostavimo da je dat trening skup od 20 instanci koje sesastoje od jednog svojstva (visine) i vrednosti ciljne promenljive (telesnemase). Pretpostavimo da je forma razmatranih modela linearna โ€” ๐‘“w(x) =๐‘ค1๐‘ฅ+ ๐‘ค2 i da su koeficijenti w odredeni minimizacijom greske, pri cemuje za funkciju greske koriscen kvadrat razlike ciljne i predvidene vrednosti.Naredna slika (levo) ilustruje takav pristup.

160 170 180 190

60

80

100

160 170 180 190

60

80

100

Moze se primetiti da model nije u potpunosti saglasan ni sa jednom in-stancom, odnosno za svaku trening instancu postoji manja ili veca greska upredvidanju. Dakle, jednostavan linearni model nije dovoljno fleksibilan dase moze potpuno prilagoditi podacima za trening. S druge strane, ociglednoje da on dobro opisuje opsti linearni trend koji u podacima postoji i, po-sebno vazno, za ocekivati je da greska na novim podacima iz iste raspodelebude priblizno jednaka gresci na poznatim, trening podacima.

Prethodna slika (desno) prikazuje aproksimaciju datih podataka koris-cenjem modela iz skupa svih polinoma proizvoljnog stepena, odnosno uslucaju da se za modele koristi forma ๐‘“w(x) =

โˆ‘๐‘›๐‘–=0 ๐‘ค๐‘–๐‘ฅ

๐‘–. Izabrani modelsaglasan je sa svim instancama iz trening skupa i stoga je greska modelajednaka nuli. Medutim, posmatrajuci globalni izgled izabranog modela, vidise da on zapravo ne opisuje nikakvu zakonitost u podacima. Oscilacije

Page 237: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

235 11. Nadgledano masinsko ucenje

koje pravi izmedu tacaka cine njegovo koriscenje u buducem predvidanjupotpuno nepouzdanim i izvesno je da je stvarna greska ovog modela dalekoveca od nule.

Problem koji se u prethodnim primerima javlja proistice upravo iz toga stoskup svih polinoma cini previse bogat skup mogucih modela. Za svaki treningskup moze se naci model koji ga savrseno opisuje. Medutim, prilagodavajucise trening podacima do krajnosti, gubi se svaka moc generalizacije. Takav za-kljucak vazi i za druge previse bogate skupove dopustivih modela, a ne samoza polinome. Ilustrovani fenomen naziva se preprilagodavanje (eng. overfitting)i predstavlja glavnu opasnost u masinskom ucenju.

U svetlu prethodnog zakljucka, tezi se ogranicavanju bogatstva skupa do-pustivih modela, sto se moze postici smanjenjem fleksibilnosti forme modela.Primera radi, linearna forma modela sa ogranicenim brojem koeficijenata mozese smatrati nefleksibilnom.

Zanimljivo je da za smanjenje fleksibilnosti modela nije neophodno unapredizabrati skup dopustivih modela tako da bude siromasan, vec je dovoljno mo-difikovati funkciju koja se minimizuje tako da veliki broj modela ima visokuvrednost te funkcije. Cesto koriscen i sistematican nacin da se to postigne jepostupak regularizacije, koji moze biti sproveden na razlicite nacine a ovde cebiti prikazan najstariji i najuobicajeniji. Umesto minimizacije greske, vrsi seminimizacija regularizovane greske, odnosno, resava se problem

minw

๐ธ(w) + ๐œ†ฮฉ(w)

gde je ฮฉ(w) regularizacioni izraz, a ๐œ† regularizacioni hiperparametar,1 pri cemuvazi ๐œ† โ‰ฅ 0. Regularizacioni izrazi obicno su zasnovani na normama, pa suuobicajeni izbori poput

ฮฉ(w) = โ€–wโ€–22 =

๐‘›โˆ‘๐‘–=1

๐‘ค2๐‘–

ili

ฮฉ(w) = โ€–wโ€–1 =

๐‘›โˆ‘๐‘–=1

|๐‘ค๐‘–|

ali se koriste i drugi. Minimizacija greske, koja meri prilagodenost modela po-dacima, zahteva odstupanje koeficijenata ๐‘ค๐‘– od nule. Medutim, dodavanjemregularizacionog izraza, takvo odstupanje kaznjava se utoliko vise sto je odstu-panje vece. Time se otezava preveliko prilagodavanje modela podacima, tj. flek-sibilnost modela se smanjuje. Mera u kojoj regularizacioni izraz umanjuje flek-sibilnost modela kontrolise se izborom hiperparametra ๐œ†. Visoke vrednosti nisupozeljne jer se nefleksibilni modeli koji se tako dobijaju ne mogu dovoljno pri-lagoditi podacima, pa je kvalitet ucenja u tom slucaju los.

1Terminom hiperparametar pravi se razlika izmedu velicina koje se uce poput vektoraw i velicina koje su zadate unapred i ucestvuju u definiciji optimizacionog problema, poputvrednosti ๐œ†.

Page 238: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.4. Linearni modeli 236

Primer 11.4. Neka se u primeru klasifikacije clanaka koristi forma mo-dela koja odgovara polinomu dve promenljive, kao funkcija greske neka sekoristi kvadrat razlike ciljne i predvidene vrednosti i neka se koristi regu-larizacija. Tada je potrebno resiti sledeci problem minimizacije:

minw

๐‘โˆ‘๐‘–=1

โŽ›โŽ ๐‘›โˆ‘๐‘—=0

๐‘—โˆ‘๐‘˜=0

๐‘ค๐‘—๐‘˜๐‘ฅ๐‘˜๐‘–1๐‘ฅ

๐‘—โˆ’๐‘˜๐‘–2 โˆ’ ๐‘ฆ

โŽžโŽ 2

+ ๐œ†

๐‘›โˆ‘๐‘—=0

๐‘—โˆ‘๐‘˜=0

๐‘ค2๐‘—๐‘˜

Za vrednosti regularizacionog hiperparametra ๐œ† = 10โˆ’9, 10โˆ’6, 10โˆ’3, 1, 10,100, dobijaju se modeli prikazani na slici 11.1. Ocigledno je da povecavanjeregularizacionog hiperparametra ๐œ† smanjuje mogucnost preprilagodavanjamodela, ali i da njegovo preterano povecavanje vodi njegovoj potpunoj ne-prilagodljivosti, usled cega, za vrednost ๐œ† = 100, svi clanci bivaju klasifi-kovani kao racunarski samo zato sto ih u trening skupu ima vise.

Na slici 11.2 prikazane su tri krive koje ilustruju uobicajeno ponasanje mo-dela u zavisnosti od vrednosti hiperparametra ๐œ†. Jedna, rastuca, predstavljagresku na trening skupu u zavisnosti od vrednosti hiperparametra ๐œ†. Kako tavrednost predstavlja ocenu greske, gresci se moze pridruziti interval poverenja2

u odnosu na tu ocenu. Sirina intervala poverenja predstavljena je drugom, opa-dajucom, krivom. U slucaju visoke empirijske greske, na osnovu uskog intervalapoverenja, mozemo biti relativno sigurni da ce i stvarna greska biti visoka. Uslucaju vrlo niske vrednosti empirijske greske, na osnovu sirokog intervala po-verenja, nemamo nikakve garancije da ce i stvarna greska biti niska. Treca krivaje zbir prethodne dve i predstavlja gornju granicu greske. Kao sto je vec receno,i premale i prevelike vrednosti hiperparametra ๐œ†, koji kontrolise fleksibilnostmodela, vode losim rezultatima. Prve usled preprilagodavanja, a druge zbognefleksibilnosti. Vise o nacinu na koji se vrednost ovog hiperparametra mozebirati u praksi bice reci kasnije.

Pored opisanog nacina regularizacije postoje i drugi. Termin regularizacijacesto se koristi i slobodnije tako da obuhvata i druge modifikacije optimizaci-onog problema kojima se kontrolise fleksibilnost modela, cime se omogucavaizbor modela koji nije preprilagoden i dobro generalizuje.

11.4 Linearni modeli

Linearni modeli polaze od pretpostavke da se veza izmedu ciljne promenlji-ve i svojstava moze priblizno modelovati linearnom funkcijom, uz eventualnujednostavnu nelinearnu transformaciju povrh toga.

2Za ovu diskusiju nije bitna konkretna verovatnoca pridruzena intervalu poverenja (naprimer, 95% ili 90%).

Page 239: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

237 11. Nadgledano masinsko ucenje

(a) ๐œ† = 10โˆ’9 (b) ๐œ† = 10โˆ’6

(c) ๐œ† = 10โˆ’3 (d) ๐œ† = 1

(e) ๐œ† = 10 (f) ๐œ† = 100

Slika 11.1: Polinomski modeli dobijeni za razlicite vrednosti regularizacionoghiperparametra.

Page 240: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.4. Linearni modeli 238

๐ธ๐ถ

๐ธ๐‘”

๐œ†

Slika 11.2: Empirijska greska ๐ธ, sirina intervala poverenja ๐ถ i gornja granicastvarne greske ๐ธ๐‘” u zavisnosti od vrednosti hiperparametra ๐œ†.

Definicija 11.4 (Linearni model). Linearni model je model oblika

๐‘“w(x) = ๐‘”(w ยท x) = ๐‘”

(๐‘šโˆ‘๐‘–=1

๐‘ค๐‘–๐‘ฅ๐‘–

)(11.1)

za neku funkciju ๐‘”.

Jasno je da se ovako definisan model ne uklapa u standardnu matematickudefiniciju linearne funkcije (zbog transformacije ๐‘”), ali za potrebe diskusije omasinskom ucenju, koristicemo ovaj naziv. Takode, kada se govori o linearnommodelu bitno je naglasiti da se izraz โ€žlinearniโ€œ odnosi na linearnost relacije poparametrima w, a da sama svojstva mogu biti nelinearno transformisana.

Primer 11.5. Primeri linearnih modela su:

โ€ข ๐‘“w(x) = ๐‘ค0 + ๐‘ค1๐‘ฅ1 + ๐‘ค2๐‘ฅ2

โ€ข ๐‘“w(x) = ๐‘ค0 + ๐‘ค1 cos(๐‘ฅ1) + ๐‘ค2๐‘ฅ22 + ๐‘ค3๐‘’

๐‘ฅ3

โ€ข ๐‘“w(x) = ๐‘ค0 + ๐‘ค1๐‘ฅ1 + ๐‘ค2๐‘ฅ2 + ๐‘ค3๐‘ฅ1๐‘ฅ2

Sledeci primeri ne predstavljaju linearne modele:

โ€ข ๐‘“w(x) = ๐‘ค1๐‘ฅ1

๐‘ค2+๐‘ฅ2

โ€ข ๐‘“w(x) = cos(๐‘ค1๐‘ฅ1)๐‘ค2๐‘ฅ2

๐‘’๐‘ค3๐‘ฅ3

โ€ข ๐‘“w(x) = ๐‘ค1โˆš๐‘ค2

1+๐‘ค22

๐‘ฅ1 +๐‘ค2โˆš

๐‘ค21+๐‘ค2

2

๐‘ฅ2

Page 241: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

239 11. Nadgledano masinsko ucenje

U nastavku diskutujemo osnovne varijante linearnih modela za regresiju iklasifikaciju.

11.4.1 Linearna regresijaLinearna regresija predstavlja metod regresije zasnovan na linearnom mo-

delu. Pretpostavka je da je funkcija ๐‘” u formuli (11.1) identitet tj. da sepredvidanje dobija kao linearna kombinacija vrednosti svojstava.

Definicija 11.5 (Model linearne regresije). Model linearne regresije jelinearna kombinacija ulaznih svojstava:

๐‘“w(x) = w ยท x =

๐‘šโˆ‘๐‘–=1

๐‘ค๐‘–๐‘ฅ๐‘–.

Kako bi prethodni zapis ukljucivao i modele koji imaju slobodan clan, obicnose podaci prosiruju novim svojstvom koje za sve instance ima vrednost 1.3Zadatak linearne regresije je odredivanje vrednosti parametara w koji najboljeodgovaraju trening podacima, tj. najbolje odgovaraju opazanjima iz iskustva.

Pored osnovnog zadatka pronalazenja prediktivnog modela, linearna regre-sija korisna je i za ustanovljavanje jacine uticaja nekog svojstva na vrednostciljne promenljive. Naime, vece apsolutne vrednosti koeficijenata ๐‘ค๐‘– oznacavajujaci uticaj svojstava ๐‘ฅ๐‘– uz koji stoje. Znak koeficijenta odreduje smer uticajasvojstva. Moze se meriti i statisticka znacajnost ovog uticaja ali se, jedno-stavnosti radi, u nastavku fokusiramo samo na osnovni problem odredivanjaoptimalnih vrednosti koeficijenata w i proveru kvaliteta naucenog modela.

Najjednostavniji slucaj linearne regresije je predvidanje vrednosti ๐‘ฆ na osno-vu samo jednog svojstva ๐‘ฅ. Primera radi, mozemo razmatrati predvidanje tele-sne mase na osnovu visine. Primetna je zakonitost da su visoki ljudi uglavnomtezi od niskih ljudi. Potrebno je modelovati tu zavisnost. Od nje postoje i od-stupanja, ali kao i inace, u masinskom ucenju prihvatamo cinjenicu da ce greskepostojati. Dakle, u ovom slucaju razmatracemo linearni model oblika

๐‘“w(๐‘ฅ) = ๐‘ค0 + ๐‘ค1๐‘ฅ

sto je standardna jednacina linearne funkcije.Na vec diskutovanoj slici iz primera 11.3 prikazano je 20 tacaka pri cemu

svaka odgovara jednoj instanci, tj. jednom ispitaniku. Koordinata ๐‘ฅ predsta-vlja visinu, a ๐‘ฆ telesnu masu. Na slici se moze primetiti opsti trend linearnogpovecanja telesne mase u zavisnosti od visine, koji je prikazan pravom. Takode,primetno je i da jedan, vrlo mali broj tacaka znacajno odstupa. Ovakve tackenazivamo odudarajucim podacima (eng. outliers). Prikazana prava predstavlja

3U praksi se slobodni clan uvek izostavlja iz regularizacinog izraza.

Page 242: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.4. Linearni modeli 240

linearni model datih podataka. Metod kojim se do njega dolazi bice prikazanu nastavku.

Ako se koristi opsta jednacina linearnog modela (11.1), moguce je ukljucitiveci broj svojstava u predvidanje vrednosti ciljne promenljive. Naime, visinanije dovoljna da u potpunosti objasni variranje telesne tezine. Dodatna svojstvakoji bi vodila ka poboljsavanju predvidanja mogu da se odnose na nacin zivotapojedinaca โ€” koliko vremena dnevno provode u sedecem polozaju, koliko sebave sportom, koliko kalorija unose dnevno i slicno. Umesto prave, u ovakvomslucaju regresioni model bi predstavljao jednu hiperravan.

Osnovni kriterijum izbora vrednosti koeficijenata linearnog modela je sma-njivanje odstupanja izmedu vrednosti koje model predvida i vrednosti kojeciljna promenljiva ima u podacima. Ovaj problem obicno se formulise kao pro-blem minimizacije srednjekvadratne greske. Funkcija greske je ๐ฟ(๐‘“w(x), ๐‘ฆ) =(w ยท xโˆ’ ๐‘ฆ)2, pa je odgovarajuci minimizacioni problem

minw

๐‘โˆ‘๐‘–=1

(w ยท x๐‘– โˆ’ ๐‘ฆ๐‘–)2 + ๐œ†ฮฉ(w)

pri cemu je ๐‘ broj instanci u trening skupu, ๐œ† regularizacioni hiperparametar,a ฮฉ(w) regularizacioni izraz (videti poglavlje 11.3). Alternativno, u matricnojnotaciji, isti problem moze se zapisati kao

minwโ€–Xw โˆ’ yโ€–22 + ๐œ†ฮฉ(w)

U slucaju da je ฮฉ(w) = โ€–wโ€–22, ispostavlja se da za postavljeni problem postojijednostavno resenje koje ne zahteva koriscenje optimizacionih metoda:

w = (XโŠคX+ ๐œ†I)โˆ’1XโŠคy

pri cemu je I jedinicna matrica i vazi

X =

โŽกโŽขโŽขโŽขโŽฃ1 ๐‘ฅ11 ๐‘ฅ12 ยท ยท ยท ๐‘ฅ1๐‘›

1 ๐‘ฅ21 ๐‘ฅ22 ยท ยท ยท ๐‘ฅ2๐‘›

......

. . ....

1 ๐‘ฅ๐‘1 ๐‘ฅ๐‘2 ยท ยท ยท ๐‘ฅ๐‘๐‘›

โŽคโŽฅโŽฅโŽฅโŽฆ y =

โŽกโŽขโŽขโŽขโŽฃ๐‘ฆ1๐‘ฆ2...๐‘ฆ๐‘

โŽคโŽฅโŽฅโŽฅโŽฆ

Primer 11.6. Potrebno je modelovati vazdusno zagadenje izrazeno u ter-minima indeksa kvaliteta vazduha (vece vrednosti su nepozeljnije), a uzavisnosti od populacije, maksimalne brzine vetra i indikatora da li je gradu kotlini ili ne. Raspolozivi su (stvarni) podaci za cetiri dana โ€“ 5, 10, 15. i20. januar 2020. godine u Beogradu, Sarajevu i Temisvaru. Zelimo da do-bijemo model kojim je moguce predvidati zagadenje, ali i koji je moguceanalizirati. Naime, apsolutna vrednost koeficijenata i njihov znak govorenam koliko je koje svojstvo bitno i u kom smeru njegova promena utice napromenu ciljne promenljive.

Page 243: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

241 11. Nadgledano masinsko ucenje

Matrice X, X i vektor y, dati u nastavku sadrze podatke na osnovukojih treba trenirati model linearne regresije. Primetimo da je prva kolo-na matrica X i X jednaka jedinici. Ovo omogucava postojanje slobodnogparametra ๐‘ค0 u linearnom modelu (koji nije eksplicitno predviden opstomformom linearnog modela (11.1)), sto je korisna praksa. Takode, svojstvokoje oznacava da li se grad nalazi u kotlini ili ne je kategoricke prirode.Posto je to svojstvo binarno, njegove vrednosti moguce je kodirati brojevi-ma 0 i 1 (u slucaju kategorickih svojstava sa vise vrednosti, bilo bi potrebnonesto komplikovanije kodiranje u koje ovde ne ulazimo). Dalje, promenlji-ve koje koristimo u modelu izrazavaju se na razlicitim skalama. Velicinakoeficijenata u modelu zavisi od skale na kojoj se mere vrednosti svojstava.Kako bi koeficijenti bili uporedivi, sva svojstva treba da uzimaju vrednostiu slicnom rasponu. Jedan nacin da se to postigne je da se kolone matriceX (osim kolone jedinica) standardizuju โ€“ od svake vrednosti u koloni seoduzima njen prosek, a potom se sve vrednosti dele standardnom devijaci-jom kolone. Tako se od matrice X dobija matrica X (uz zaokruzivanje nadve decimale):

X =

โŽกโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽฃ

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

โŽคโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฆ

X =

โŽกโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽฃ

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

โŽคโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฆ

y =

โŽกโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽฃ

7016818114112124524711263806761

โŽคโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฆ

Page 244: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.4. Linearni modeli 242

Primenom formule

w = (X๐‘‡ X)โˆ’1X๐‘‡y

dobija se vektor parametara

w =

โŽกโŽขโŽขโŽฃ129.6724.19โˆ’46.1129.83

โŽคโŽฅโŽฅโŽฆDobijene vrednosti parametara sugerisu odredene zakonitosti โ€“ naseljenostgrada je pozitivno korelisana sa zagadenjem, vetrovitost negativno, a za-tvorenost u kotlinu, takode pozitivno. Pritom, model sugerise da je vetro-vitost najvazniji od pomenuta tri svojstva. Ipak, koliko mozemo verovatiovim zakljuccima? Najbolje bi bilo primeniti model na podatke na kojimanije treniran, kako bi se videlo koliko precizno predvida. Takode, moguce jeproveriti da li se model uopste uspesno prilagodio podacima za trening. Oevaluaciji modela ce biti reci kasnije, ali mozemo proveriti koren srednje-kvadratne greske modela. On ima vrednost 29. Poredenja radi, standardnadevijacija vrednosti ciljne promenljive je 65. Standardna devijacija je korensrednjekvadratne greske u odnosu na model koji konstantno predvida pro-secnu vrednost promenljive ๐‘ฆ, te se moze zakljuciti da su predvidanja ovdeopisanog modela znacajno bolja od takvog jednostavnog modela. Ipak, imajos dosta prostora za njegovo unapredenje, sto nije ni neobicno imajuci uvidu da model ne uzima u obzir sve parametre koji uticu na zagadenje.

Osnovni problem pri odredivanju optimalnih vrednosti koeficijenata w jepotencijalna losa uslovljenost matrice X (za male promene elemenata polaznematrice, moguce su ogromne promene elemenata inverzne matrice). Naime,moguce je da su neka svojstva linearno zavisna ili da su jako korelirana. Utom slucaju, matrica X, pa i matrica XโŠคX je neinvertibilna ili lose uslovljena,pa se, ako je ๐œ† = 0, optimalne vrednosti koeficijenata w ne mogu izracunatiili su previse nestabilne. Stoga se preporucuje da se prilikom linearne regresijeuvek koristi regularizacija, pri cemu se kao regularizacioni izraz najcesce koristikvadrat euklidske norme (eng. ridge regression). Moguce je koristiti i drugenorme kako u regularizacionom izrazu, tako i u funkciji greske, sto dovodi dovarijanti metode sa razlicitim osobinama.

U gore navedenom resenju problema regularizovane linearne regresije

w = (XโŠคX+ ๐œ†I)โˆ’1XโŠคy

moguce je da je dimenzija matrice XโŠคX+ ๐œ†I velika i da je njeno invertovanjeracunski previse zahtevno. U takvim situacijama minimizacija se vrsi metoda-ma optimizacije poput gradijentnog spusta.

Osnovna i ocigledna pretpostavka linearne regresije je da linearni modeladekvatno izrazava vezu izmedu svojstava i ciljne promenljive. Ipak, ne moze

Page 245: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

243 11. Nadgledano masinsko ucenje

se ocekivati da vrednosti ciljne promenljive budu uvek jednake vrednostimamodela zbog postojanja suma, odnosno slucajne greske u podacima. Poreklosuma moze biti nesavrsenost opreme kojom se vrsi merenje, slucajna prirodasamog fenomena ili to sto izbor linearne zavisnosti predstavlja svesnu odluku dase inace kompleksna zavisnost donekle pojednostavi radi lakse analize. Stoga,obicno se pretpostavlja da ciljna promenljiva ima oblik

๐‘ฆ = w ยท x+ ๐œ€

gde je ๐œ€ โˆผ ๐’ฉ (0, ๐œŽ2) normalno raspodeljena slucajna promenljiva koja oznacavasum, pri cemu je standardna devijacija ๐œŽ konstantna.4 Neformalno, time sepretpostavlja da se greske โ€žponistavajuโ€œ, odnosno da se prebacivanja i podba-civanja javljaju jednako cesto, da su pritom velike greske vrlo malo verovatne,kao i da velicina greske ne zavisi od vrednosti ๐‘ฆ (posto je ๐œŽ konstantno).

11.4.2 Logisticka regresija

Logisticka regresija predstavlja jednu od najkoriscenijih metoda klasifikaci-je. Glavni razlozi za to su jednostavnost, efikasno treniranje i postojanje vero-vatnosne interpretacije rezultata. Ogranicenje ove metode je da je primenljivasamo na binarnu klasifikaciju โ€” na slucaj kada svaka instanca moze pripadatijednoj od dve klase koje se mogu oznaciti brojevima 1 i โˆ’1. Ovakav izbor bro-jeva samo je tehnicka pogodnost i za njega ne postoji nikakav sustinski razlog,posto su oznake klasa zapravo kategoricke vrednosti. Osnovna ideja logistickeregresije je da se vrsi predvidanje verovatnoce ๐‘ƒ (๐‘ฆ = 1|x) = ๐‘“w(x) da instancax pripada klasi 1. Ocigledno, mora vaziti ๐‘“w(x) โˆˆ [0, 1]. Tada je verovatnocapripadnosti drugoj klasi ๐‘ƒ (๐‘ฆ = โˆ’1|x) = 1โˆ’ ๐‘ƒ (๐‘ฆ = 1|x) = 1โˆ’ ๐‘“w(x).5

Postavlja se pitanje sta je pogodna forma za modele logisticke regresije. Dabi se modelovala verovatnoca, potrebno je da model bude funkcija koja uzimasve vrednosti u intervalu [0, 1]. Da bi se to postiglo pomocu linearnog modelaw ยทx, potrebno je izabrati funkciju ๐‘” (koja figurise u formi modela (11.1)) takoda slika interval [โˆ’โˆž,โˆž] u interval [0, 1]. Jedna takva funkcija je sigmoidnafunkcija: ๐œŽ(๐‘ฅ) = 1/(1 + ๐‘’โˆ’๐‘ฅ). Ovo nije jedina funkcija koja zadovoljava pome-nuti zahtev, ali je pogodna i iz tehnickih razloga, poput jednostavnosti izvoda(๐œŽโ€ฒ(๐‘ฅ) = ๐œŽ(๐‘ฅ)(1โˆ’ ๐œŽ(๐‘ฅ)) i cesto se koristi u masinskom ucenju. Grafik sigmoid-ne funkcije prikazan je na slici 11.3. Zahvaljujuci ovim pojmovima moguce jedefinisati model logisticke regresije.

4Imajuci u vidu da se smatra da vazi ๐‘ฆ = w ยท x + ๐œ€ i pretpostavku ๐œ€ โˆผ ๐’ฉ (0, ๐œŽ2), vazi๐‘ฆ โˆผ ๐’ฉ (w ยท x, ๐œŽ2) za svaki vektor vrednosti svojstava x. Ova konstatacija pruza drugi pogledna linearnu regresiju โ€” da se zapravo radi o izboru normalne raspodele sa promenljivimprosekom koja najbolje opisuje raspodelu podataka.

5Kao sto je konstatovano da linearna regresija predstavlja izbor normalne raspodele sapromenljivim prosekom koja najbolje opisuje podatke, tako se, na osnovu navedenog, mozekonstatovati da logisticka regresija predstavlja izbor Bernulijeve raspodele โ„ฌ(๐‘“w(x)), takveda vazi ๐‘ฆ โˆผ โ„ฌ(๐‘“w(x)).

Page 246: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.4. Linearni modeli 244

โˆ’2 โˆ’1 0 1 2

โˆ’2

โˆ’1

0

1

2

Slika 11.3: Grafik sigmoidne funkcije.

Definicija 11.6 (Model logisticke regresije). Model logisticke regresije jekompozicija sigmoidne i linearne funkcije ulaznih svojstava i ima sledecuformu:

๐‘“w(x) =1

1 + ๐‘’โˆ’wยทx .

Primer sa kategorizacijom clanaka na racunarske i ostale, tipican je primersituacije u kojoj je prirodno primeniti logisticku regresiju. Kada vazi w ยท x > 0logisticki model predvida verovatnocu vecu od 0.5 da instanca x pripada klasi1, a kada vazi w ยท x < 0, verovatnocu manju od 0.5 (tada je verovatnoca dapripada klasi โˆ’1 veca od 0.5). Sledi da se, kao i metoda navedena u prime-ru kategorizacije clanaka, i logisticka regresija moze interpretirati kao metodakoja trazi razdvajajucu hiperravan izmedu instanci dve klase. Pritom, sto jeneka tacka dalja od razdvajajuce hiperravni, to je vrednost w ยท x veca po ap-solutnoj vrednosti, a samim tim je i vrednost ๐œŽ(w ยท x) bliza vrednosti 0 ili 1u zavisnosti od znaka vrednosti w ยท x. Drugim recima, sto je instanca dubljeu oblasti prostora koji pripada nekoj klasi, to model izrazava vecu sigurnostda ona pripada toj klasi. Ovo ponasanje potpuno je u skladu sa intuicijom.Na slici 11.4 prikazan je primer skupa podataka i prava dobijena logistickomregresijom koja ih klasifikuje.

Kao sto je navedeno u motivaciji logisticke regresije, verovatnoca ๐‘ƒw(๐‘ฆ =1|x) predvida se formulom

๐‘ƒw(๐‘ฆ = 1|x) = ๐‘“w(x) =1

1 + ๐‘’โˆ’wยทx

Page 247: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

245 11. Nadgledano masinsko ucenje

Slika 11.4: Podaci koji se sastoje od dve klase i prava koja ih razdvaja. Boje uka-zuju na regione prostora koji pripadaju razlicitim klasama (slika je generisanapomocu alata A Neural Network Playground).

Takode, vazi

๐‘ƒw(๐‘ฆ = โˆ’1|x) = 1โˆ’ ๐‘ƒw(๐‘ฆ = 1|x) = ๐‘’โˆ’wยทx

1 + ๐‘’โˆ’wยทx =1

๐‘’wยทx + 1=

1

1 + ๐‘’wยทx

Odavde se moze izvesti opsti zakljucak:

๐‘ƒw(๐‘ฆ|x) = 1

1 + ๐‘’โˆ’๐‘ฆwยทx .

S obzirom na to da postoji verovatnosna interpretacija, intuitivno je vredno-sti parametara izabrati tako da verovatnoca javljanja instanci koje cine treningskup bude maksimalna pri izabranim vrednostima parametara. Pod standard-no koriscenom pretpostavkom da instance predstavljaju nezavisne uzorke, taverovatnoca jednaka je proizvodu

๐‘โˆ๐‘–=1

๐‘ƒw(๐‘ฆ๐‘–|x๐‘–)

koji se naziva funkcijom verodostojnosti parametra (eng. likelihood function).Koriscenje proizvoda je iz tehnickih razloga6 nepreporucljivo, pa se umestofunkcije verodostojnosti koristi njen logaritam. Posto je logaritam monotonorastuca funkcija, maksimumi funkcije verodostojnosti i njenog logaritma koin-cidiraju. Kako je logaritam broja koji je izmedu 0 i 1 negativan, umesto mak-simizacije logaritma verodostojnosti, moze se minimizovati njegova negativnavrednost

โˆ’ log

๐‘โˆ๐‘–=1

๐‘ƒw(๐‘ฆ๐‘–|x๐‘–) = โˆ’๐‘โˆ‘๐‘–=1

log๐‘ƒw(๐‘ฆ๐‘–|x๐‘–) =

6Proizvod velikog broja vrednosti izmedu 0 i 1 lako moze postati 0 usled potkoracenja.

Page 248: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.5. Neuronske mreze 246

โˆ’๐‘โˆ‘๐‘–=1

log1

1 + ๐‘’โˆ’๐‘ฆ๐‘–wยทx๐‘–=

๐‘โˆ‘๐‘–=1

log(1 + ๐‘’โˆ’๐‘ฆ๐‘–wยทx๐‘–)

Ova velicina (podeljena brojem instanci) je greska modela koja odgovara logi-stickoj funkciji greske: ๐ฟ(๐‘ฆ, ๐‘“w(x)) = log(1 + ๐‘’โˆ’๐‘ฆwยทx). Po dodavanju regulari-zacije, minimizacioni problem koji se resava postaje:

minw

๐‘โˆ‘๐‘–=1

log(1 + ๐‘’โˆ’๐‘ฆ๐‘–wยทx๐‘–) + ๐œ†ฮฉ(w)

Ovaj problem nema jednostavno algebarsko resenje kao u slucaju linearneregresije, vec se mora sprovesti postupak optimizacije. U tu svrhu moguce jekoristiti gradijentni spust, ali se cesto koriste i efikasnije metode poput Njut-nove. Posebna pogodnost za optimizaciju u slucaju logisticke regresije je sto seminimizuje konveksna funkcija koja ima jedan globalni minimum i ne postojimogucnost da proces optimizacije zavrsi u nekom neoptimalnom lokalnom mi-nimumu, sto je problem sa nekim drugim metodama ucenja, poput neuronskihmreza.

Treba imati u vidu da za primenu logisticke regresije nije neophodno daklase budu linearno razdvojive. Trening logisticke regresije sigurno konvergirazahvaljujuci tome sto metode optimizacije koje se koriste u ovom problemusigurno uspesno aproksimiraju minimum konveksne funkcije. Naravno, preci-znost dobijenog modela ne moze biti savrsena ako se radi o linearno nerazdvo-jivom problemu.

11.5 Neuronske mreze

Neuronske mreze predstavljaju jedan od najstarijih i najuspesnijih pristu-pa masinskom ucenju. Datiraju iz 50-ih godina dvadesetog veka i vise putasu u svojoj istoriji bile u prvom planu istrazivanja, a potom potiskivane odstrane drugih metoda. Njihov poslednji uspon pocinje 2006. godine sa poja-vom takozvanih dubokih neuronskih mreza, a novi zalet dobijaju 2012. godinekada duboke mreze po prvi put znacajno nadilaze postojece metode u proble-mima racunarskog vida (eng. computer vision). Od tada su neuronske mrezepostigle velike uspehe i u mnogim drugim oblastima, primarno u obradi prirod-nog jezika, obradi govora, igranju igara, itd. U nekim problemima, prevazislesu i mogucnosti ljudskih eksperata. Trenutno predstavljaju metod masinskogucenja sa najsirim spektrom primena.

Postoje razlicite vrste neuronskih mreza, cesto specijalizovanih za konkretneprimene. Ipak, sve su prepoznatljive po svojoj kompozitnoj strukturi โ€” svakamreza sastoji se od odredenog broja elementarnih jedinica koje nazivamo ne-uronima. Neuroni, po gruboj analogiji sa bioloskim neuronima u mozgu, jednidrugima prosleduju signale i izracunavaju nove signale na osnovu onih koji suim prosledeni. Tacna struktura povezanosti neurona i nacin na koji oni vrseizracunavanja cine takozvanu arhitekturu mreze i precizno odreduju o kakvoj

Page 249: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

247 11. Nadgledano masinsko ucenje

mrezi se radi. Arhitekturu mreze definise ekspert, imajuci u vidu specificnostiproblema koji se resava. U nastavku ce najpre biti opisana struktura poje-dinacnih neurona, a potom kako se oni organizuju u razlicite fundamentalnearhitekture. Pri kraju ove glave bice diskutovane smernice vezane za njihvuprimenu i bice opisano kako se neuronske mreze primenjuju u razlicitim prak-ticnim problemima.

11.5.1 NeuronNeuroni su osnovne jedinice izracunavanja cijim se povezivanjem grade ne-

uronske mreze. Po uzoru na bioloske neurone, oni kao ulaze primaju signaleod drugih neurona i transformisu ih na neki nacin cime proizvode svoj izlaznisignal. Svi signali predstavljeni su realnim brojevima, a njihova obrada vrsi senekom jednostavnom matematickom funkcijom koja obicno ukljucuje linear-nu kombinaciju ulaznih signala, a potom nelinearnu transformaciju te linearnekombinacije.

Definicija 11.7 (Neuron). Neuron je funkcija ๐‘› argumenata ๐‘ฅ1, . . . , ๐‘ฅ๐‘›

koja ima opsti oblik:

๐‘”

(๐‘ค0 +

๐‘›โˆ‘๐‘–=1

๐‘ค๐‘–๐‘ฅ๐‘–

)(11.2)

gde su ๐‘ค0, ๐‘ค1, . . . , ๐‘ค๐‘› parametri ili tezine neurona, kojima se vrsi linearnokombinovanje ulaza, a ๐‘” : Rโ†’ R je nelinearna aktivaciona funkcija kojomse ta linearna kombinacija transformise.

U definiciji se postavlja uslov da je aktivaciona funkcija nelinearna, jer selinearnom transformacijom ne bi mogla dobiti dodatna izrazajnost u odnosuna ulaznu linearnu kombinaciju. Naime, linearna kombinacija razlicitih linear-nih kombinacija ulaznih promenljivih je i dalje linearna kombinacija ulaznihpromenljivih.

Aktivaciona funkcija nije jednoznacno odredena i postoji vise mogucih izbo-ra pri definisanju neurnske mreze. Aktivacione funkcije najcesce su monotone,neprekidne i skoro svuda diferencijabilne. Neki od cesto koriscenih izbora susigmoidna funkcija:

๐œŽ(๐‘ฅ) =1

1 + ๐‘’โˆ’๐‘ฅ,

hiperbolicki tangens:

tanh(๐‘ฅ) =๐‘’2๐‘ฅ โˆ’ 1

๐‘’2๐‘ฅ + 1,

ispravljena linearna jedinica (eng. rectified linear unit โ€“ ReLU):

ReLU(๐‘ฅ) = max(0, ๐‘ฅ)

Page 250: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.5. Neuronske mreze 248

โˆ’2 โˆ’1 0 1 2

โˆ’2

โˆ’1

0

1

2

โˆ’2 โˆ’1 0 1 2

โˆ’2

โˆ’1

0

1

2

โˆ’2 โˆ’1 0 1 2

โˆ’2

โˆ’1

0

1

2

Slika 11.5: Sigmoidna funkcija, hiperbolicki tangens i ispravljena linearna jedi-nica.

i njene varijacije. Grafici ovih funkcija prikazani su na slici 11.5. U skorije vremenajcesce se u svim slojevima mreze osim u poslednjem koristi neka varijantaispravljene linearne jedinice zbog njenih pozeljnih tehnickih svojstava.

Zbog monotonosti aktivacione funkcije, sto je vrednost linearne kombinacijeveca, to je izlazni signal jaci. Ocito, visoke tezine nekih ulaza vode jakom uticajutih ulaza na izlazni signal, a vrednosti bliske nuli umanjuju uticaj tih ulaza.Znak tezine odreduje da li neki ulaz potkrepljuje ili inhibira ispoljavanje signala.

Moze se primetiti da, u slucaju da se za aktivacionu funkciju izabere sigmo-idna funkcija, neuron predstavlja model logisticke regresije, dok u slucaju da seza aktivacionu funkciju izabere identititet, neuron predstavlja model linearneregresije. Zato neuronske mreze predstavljaju uopstenja ovih modela, a takodesu sposobne da vrse klasifikaciju i regresiju.

11.5.2 Potpuno povezane neuronske mrezePotpuno povezane neuronske mreze (eng. fully connected neural networks)

predstavljaju najstariji od trenutno koriscenih modela neuronskih mreza. Na-ziv su dobile po strukturi povezanosti neurona โ€“ neuroni se slazu u slojeve,grupe neurona, i povezuju se tako sto svi neuroni jednog sloja kao ulaze prima-ju vrednosti svih neurona prethodnog sloja, a svoje vrednosti prosleduju svimneuronima narednog sloja. Arhitektura potpuno povezane neuronske mreze pri-kazana je na slici 11.6. Na njoj su prikazani ulazi, koji ne predstavljaju neurone,vec numericke vrednosti, jedan sloj neurona koji se naziva skrivenim jer se nje-gove vrednosti koriste iskljucivo unutar modela i jedan koji se naziva izlaznim,posto daje predvidanja koja model izracunava. Skrivenih slojeva moze biti viseod jednog i u tom slucaju se govori od dubokim neuronskim mrezama (eng. deepneural networks). Mreze koje se danas koriste u praksi su mahom duboke.

Mreza sa ๐ฟ slojeva moze se precizno definisati na sledeci nacin.7

7Data definicija predstavlja najcesci slucaj. Ipak, moze se na razne nacine odstupiti od

Page 251: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

249 11. Nadgledano masinsko ucenje

ฮฃ ๐‘”

+1

๐‘ฅ1

๐‘ฅ2

๐‘ฅ3

๐‘ฅ๐‘›

๐‘ค0

๐‘ค1

๐‘ค2

๐‘ค3

๐‘ค ๐‘›

๐‘”

(๐‘ค0 +

๐‘›โˆ‘๐‘–=1

๐‘ค๐‘–๐‘ฅ๐‘–

)

...

๐ผ1

๐ผ2

๐ผ3

UlaziSkriveni

slojIzlaznisloj

๐‘‚1

๐‘‚2

Slika 11.6: Arhitektura potpuno povezane neuronske mreze i struktura neurona(slika je, uz modifikacije, preuzeta iz kolekcije [22]).

Definicija 11.8 (Potpuno povezana mreza). Potpuno povezana neuron-ska mreza je funkcija ๐‘“w definisana na sledeci nacin:

h0 = xh๐‘– = ๐‘”(W๐‘–h๐‘–โˆ’1 + b๐‘–), ๐‘– = 1, . . . , ๐ฟ๐‘“w(x) = ๐‘”(h๐ฟ)

gde x predstavlja ulazni vektor, ๐ฟ je broj slojeva, h๐‘– za ๐‘– = 1, . . . , ๐ฟ predsta-vlja vektor vrednosti ๐‘–-tog sloja, W๐‘– je matrica parametara cije vrste pred-stavljaju vektore parametara neurona ๐‘–-tog sloja koji mnoze ulazne vredno-sti, b๐‘– je vektor slobodnih koeficijenata tih neurona, a ๐‘” i ๐‘” su aktivacionefunkcije. Matrice W๐‘– i vektori b๐‘– cine parametre w.

U navedenoj definicji, pod primenom aktivacione funkcije ๐‘” na vektor, pod-razumeva se primena funkcije ๐‘” na svaku koordinatu vektora pojedinacno.Ocito, izracunavanje koje mreza vrsi sastoji se od linearnih matricnih transfor-macija i primena aktivacionih funkcija. Funkcija ๐‘” moze predstavljati drugacijuaktivacionu funkciju od funkcije ๐‘”, sto je i uobicajeno za poslednji sloj mreze.Izbor funkcije ๐‘” zavisi od toga u koju svrhu se mreza koristi. Obicno se u slucajuregresije koristi identicka funkcija, a poslednji sloj ima samo jedan neuron cijavrednost predstavlja ocenu ciljne promenljive. U ovom slucaju, mreza se mozerazumeti kao linearna regresija nad izlazima pretposlednjeg sloja mreze, a svislojevi zakljucno sa njim se mogu razumeti kao mehanizam konstrukcije no-vih svojstava iz ulaznih podataka. U slucaju klasifikacije, podrazumeva se daposlednji sloj mreze ima onoliko neurona koliko ima klasa i da se instanca kla-sifikuje u klasu koja odgovara neuronu koji ima najvisu vrednst. U tom slucaju

ove definicije ukoliko za to u konkretnom problemu postoji potreba. Na primer, aktivacionefunkcije ne moraju biti iste za sve slojeve, struktura povezanosti ne mora uvek biti takva dasvi neuroni jednog sloja prosleduju svoje izlaze bas svim neuronima sledeceg sloja, itd.

Page 252: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.5. Neuronske mreze 250

na poslednjem sloju koristi se sledeca vektorska aktivaciona funkcija:

softmax(๐‘Ž1, . . . , ๐‘Ž๐‘š) =

(๐‘’๐‘Ž1โˆ‘๐‘š๐‘–=1 ๐‘’

๐‘Ž๐‘–, . . . ,

๐‘’๐‘Ž๐‘šโˆ‘๐‘š๐‘–=1 ๐‘’

๐‘Ž๐‘–

)(11.3)

Kako su koordinate ovog vektora nenegativne i imaju zbir 1, ovaj vektor semoze interpretirati kao raspodela verovatnoce nad ๐‘š razlicitih klasa.

Primer 11.7. Neka je potrebno uraditi klasifikaciju neke instance u jed-nu od tri moguce klase. Tada neuronska mreza ima tri izlazna neuronaod kojih svaki izracunava linearnu kombinaciju svojih ulaza i odgovarajucielement funkcije softmax. Neka su vrednosti tih linearnih kombinacija re-cimo ๐‘Ž1 = 2, ๐‘Ž2 = 0 i ๐‘Ž3 = โˆ’1. Na njih se primenjuje funkcija softmax.Eksponencijalne vrednosti su onda ๐‘’๐‘Ž1 = 7.389, ๐‘’๐‘Ž2 = 1.000 i ๐‘’๐‘Ž3 = 0.368.Normiranjem ovih vrednosti njihovom sumom dobija se raspodela vero-vatnoce po klasama (0.844, 0.114, 0.042). Otud, najverovatnije je da datainstanca pripada prvoj klasi, a izracunate verovatnoce daju i procenu po-uzdanosti tog izbora.

Primetimo da je u slucaju binarne klasifikacije umesto dva izlaza i funkci-je softmax dovoljno koristiti jedan izlaz i sigmoidnu funkciju. Takva varijantaarhitekture se moze razumeti kao logisticka regresija nad pretposlednjim slo-jem mreze. Ilustrujmo primerom da je neuronska mreza mocnija od logistickeregresije.8

Primer 11.8. Logisticka regresija je pogodna za probleme nalik onim ilu-strovanim na slici 11.4. Cak i ako ima nekog preklapanja klasa, ako jemoguce uociti dve grupe koje se u velikoj meri mogu razdvojiti pravom,logisticka regresija ce naci tu pravu. S druge strane, u slucaju skupa po-dataka datog na sledecoj slici (levo), logisticka regresija je nemocna, dokneuronska mreza moze da nauci razdvajanje klasa koje je prikazano. Plavaoblast predstavlja vrednosti bliske jedinici, a narandzasta vrednosti bliskenuli. Zanimljivo je analizirati kako neuronska mreza to radi.

Neuronska mreza koriscena u ovom primeru ima jedan skriveni sloj satri neurona i jedan neuron u izlaznom sloju. Svi ti neuroni imaju ima-

8Slike su generisane pomocu alata A Neural Network Playground.

Page 253: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

251 11. Nadgledano masinsko ucenje

ju sigmoidne aktivacione funkcije. Izlazni neuron, kao u slucaju logistickeregresije, izracunavaju verovatnocu da instanca pripada jednoj izabranojklasi. Svaki od neurona u skrivenom sloju uci neku transformaciju podata-ka. Prethodna slika ilustruje te transformacije. Primetimo da prvi i trecineuron (druga i cetvrta slika) daju visoke vrednosti uglavnom plavim in-stancama, a da im drugi (treca slika) uglavnom daje niske vrednosti. Alinijedan od njih nije u stanju da ispravno razdvoji klase. Ipak, ako se te trivrednosti daju kao ulaz dodatnom, izlaznom neuronu, on moze da da viso-ku izlaznu vrednost ako prvi i treci neuron daju visoku vrednost, a druginisku, a da da nisku vrednost u suprotnom. Ovo moze biti postignuto takosto ce prvi i treci parametar izlaznog neurona biti pozitivni, a drugi nega-tivan. Mreza zaista uci takve parametre pri minimizaciji greske na ovomskupu podataka.

Kako bi se neuronska mreza trenirala da obavlja neki zadatak, potrebnoje definisati i funkciju greske, a potom obezbediti algoritam ucenja. Funkcijegreske mogu varirati od primene do primene, ali postoje neki uobicajeni izbori.U slucaju regresije, to je obicno kvadratna greska:

๐ฟ(๐‘“w(x), ๐‘ฆ) = (๐‘“w(x)โˆ’ ๐‘ฆ)2

U slucaju klasifikacije u ๐‘š klasa, potrebno je prvo definisati pogodnu reprezen-taciju kategoricke promenljive. Najcesce koriscena reprezentacija pretpostavljada je klasa definisana vektorom y dimenzije ๐‘š, koji se sastoji od ๐‘šโˆ’ 1 nula ijedne jedinice, pri cemu je jedinica na poziciji ๐‘— ako i samo ako vektor y pred-stavlja klasu ๐‘—. Pri toj reprezentaciji, svakoj instanci pridruzen je jedan takavvektor y u skladu sa klasom kojoj instanca pripada. Najcesce koriscena funkcijagreske za kategoricke ciljne promenljive koja se oslanja na tu reprezentaciju jeunakrsna entropija. Ona se definise na sledeci nacin:

๐ฟ(๐‘“w(x),y) = โˆ’๐‘šโˆ‘๐‘–=1

๐‘ฆ๐‘– log ๐‘“(๐‘–)w (x)

gde ๐‘“ (๐‘–)w oznacava ๐‘–-tu koordinatu vektorske funkcije ๐‘“w, tj. procenjenu verovat-

nocu klase ๐‘–. Ova funkcija moze se izvesti iz statistickog principa maksimalneverodostojnosti, ali ovde nece biti navedeno to izvodenje. Ipak, nije tesko in-tuitivno razumeti ovu funkciju. Naime, ukoliko je verovatnoca stvarne klase ๐‘–

visoka, logaritam vrednosti ๐‘“ (๐‘–)w (x) je blizak nuli i doprinos sumi koji mu odgo-

vara je mali. Ostali sabirci jednaki su nuli jer su sve vrednosti vektora y osim ๐‘ฆ๐‘–jednake nuli (podrazumeva se da vazi 0 log 0 = 0). Dakle, kada model ispravnoproceni verovatnoce klasa, greska je mala. Ukoliko model ispravnoj klasi dajeverovatnocu blisku nuli, negativna vrednost logaritma te verovatnoce je velika,mnozi se vrednoscu ๐‘ฆ๐‘– koja je za pravu klasu jednaka 1, dok su ostali sabircikao i pre jednaki nuli, pa je ukupna suma velika. Ovo je upravo ponasanje kojese ocekuje od dobre funkcije greske.

Page 254: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.5. Neuronske mreze 252

Kada je definisana greska modela, treba je minimizovati po parametrimamodela. Ovo se u slucaju neuronskih mreza uvek radi nekom od gradijent-nih metoda optimizacije koje obicno predstavljaju modifikacije gradijentnogspusta. Algoritam za izracunavanje gradijenta u slucaju neuronskih mreza na-ziva se algoritmom propagacije unazad (eng. backpropagation).9 Kako je mrezasastavljena od linearnih matricnih transformacija i primena aktivacionih funk-cija, algoritam za izracunavanje gradijenta se prosto sastoji od mnozenja izvodatih aktivacionih funkcija i odgovarajucih matrica u skladu sa pravilom izvodaslozene funkcije. Zato nece biti reci o detaljima ovog algoritma. Iz prethodnoggrubog opisa moze se naslutiti jedan opsti problem dubokih neuronskih mreza,a to je da u slucaju njihove velike dubine dolazi do velikog broja pomenutihmnozenja. Zato koordinate gradijenta cesto bivaju bliske nuli ili ogromne poapsolutnoj vrednosti, sto vodi ili previse sporoj konvergenciji gradijentog spu-sta ili velikoj nestabilnosti ovog postupka. Postoje nacini da se takvo ponasanjeublazi, ali se time necemo baviti.

Imajuci u vidu da je broj ulaza fiksiran, potpuno povezane neuronske mrezesu specijalizovane za primenu nad podacima predstavljenim u vidu vektorasvojstava fiksne duzine. Zbog toga se potpuno povezane neuronske mreze nemogu jednostavno primeniti na neke vrste podataka, poput slika (koje mogubiti razlicitih dimenzija), recenica prirodnog jezika, bioinformatickih sekvencii vremenskih serija koje prirodno imaju razlicite duzine. Ipak, korisne su uslucaju modelovanja tabelarnih podataka ili, cesto, kao komponenta drugihvrsta neuronskih mreza.

Definisanje arhitekture neuronske mreze je netrivijalan posao. Pogodan brojslojeva i neurona u njima u velikoj meri zavisi od konkretnog problema. Umnogim problemima sa tabelarnim podacima, dva skrivena sloja mogu datizadovoljavajuce rezultate. S druge strane, u slucaju obrade slika (primenomkonvolutivnih mreza koje su opisane u daljem tekstu) neretko je potrebno ivise desetina slojeva. Uspesno dizajniranje mreze u velikoj meri se oslanja naiskustvo, kao i na visestruke pokusaje radi izbora pogodnih vrednosti hiperpa-rametara.

11.5.3 Konvolutivne neuronske mrezeZahvaljujuci konvolutivnim neuronskim mrezama, ostvareni su najveci po-

maci u prakticnim primenama masinskog ucenja, pre svega u oblasti racunarskogvida. Razmotrimo najpre motivaciju za njihovo uvodenje.

Masinsko ucenje moze se koristiti nad slikama za raznovrsne zadatke, naprimer, za odredivanje da li se na slici nalazi zgrada, da li se nalazi semafor, dali je na slici macka ili pas, da li je slika ispravno orijentisana, itd. Jedan pristupza resavanje takvih problema moze biti da se najpre primene vesto osmisljene

9Treba imati u vidu da neuronske mreze najcesce predstavljaju diferencijabilne funkcije,jer najcesce nastaju komponovanjem diferencijabilnih funkcija. Nekada se koriste nediferen-cijabilne aktivacione funkcije poput ReLU. U takvim slucajevima skup tacaka nediferencija-bilnosti je mere nula, pa ne predstavlja problem u praksi.

Page 255: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

253 11. Nadgledano masinsko ucenje

transformacije koje od slike proizvode novu sliku istih ili slicnih dimenzija. Tetransformacije mogu biti fokusirane na razlicite aspekte slike i mogu sluziti da seslika ili njen deo izostri, zatamni, da joj se pojaca kontrast, da se istaknu ivice,itd. Izlazi takvih transformacija โ€“ neke nove slike โ€“ onda mogu da se koristekao svojstva na osnovu kojih bi model (poput logisticke regresije ili potpunopovezane mreze) mogao da uci. Na primer, ako je potrebno detektovati da li sena slici nalazi zgrada, onda bi lokacije vertikalnih i horizontalnih ivica verovatnopredstavljale vrlo korisnu informaciju. Transformacije koje na slici izdvajajuvertikalne i horizontalne ivice, kao i mnoge druge slicne, odavno su dizajnirane(od strane coveka) u okviru klasicne obrade signala i obrade slika. Raznovrsnetransformacije slika mogu se vrsiti primenom operacije konvolucije dve matriceโ€“ jedna matrica predstavlja ulazni signal (tj. sliku), a druga matrica, filter,odreduje samu obradu koja se vrsi.

Definicija 11.9 (Konvolucija matrica). Konvolucija matrica A โˆˆ R๐‘šร—๐‘›

i B โˆˆ R๐‘ร—๐‘ž je matrica dimenzija (๐‘šโˆ’๐‘+1)ร— (๐‘›โˆ’๐‘ž+1) koja se oznacavaA *B i definise na sledeci nacin:

(A *B)๐‘–,๐‘— =

๐‘โˆ’1โˆ‘๐‘˜=0

๐‘žโˆ’1โˆ‘๐‘™=0

A๐‘–+๐‘˜,๐‘—+๐‘™B๐‘˜,๐‘™ ๐‘– = 0, . . . ,๐‘šโˆ’ ๐‘, ๐‘— = 0, . . . , ๐‘›โˆ’ ๐‘ž

(11.4)

Strogo govoreci, operacija navedena u prethodnoj definiciji nije konvolu-cija, vec unakrsna korelacija (eng. cross-correlation), ali je razlika u slucajuneuronskih mreza nepostojeca i u praksi se operacija konvolucije implementirana prikazani nacin.

1

2

1

0

1

1

2

0

2

0

1

2

1

1

0

0

2

0

0

1

1

2

1

1

0

0

1

1

0

1

1

0

0

1

0

0

0

1

1

0

2

1

1

2

1

0

0

2

1

0

โˆ’1

2

1

2

0

1

1

0

4

3

6

6

8

1

8

6

0

4

9

3

2

2

4

3

3

3

3

5

4

4

4

3

5

* =

A

B

A *B

Slika 11.7: Ilustracija konvolucije: element rezultujuce matrice u zelenom poljudobija se kao skalarni proizvod crveno obojenog dela matrice A i matrice B.Ostatak rezultujuce matrice dobija se analogno. U opstem slucaju matrice nemoraju biti kvadratne (slika je napravljena po uzoru na sliku iz kolekcije [22]).

Page 256: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.5. Neuronske mreze 254

Dakle, konvolucija za svako ๐‘– i ๐‘— izracunava skalarni proizvod elemenatamatrice B sa odgovarajucim elementima dela matrice A koji je istih dimen-zija kao matrica B.10 Moze se zamisliti da se matrica B pomera duz matriceA i racuna skalarne proizvode na razlicitim lokacijama i tako daje rezultatkonvolucije (slika 11.7).

Primer 11.9. Razmotrimo zadatak odredivanja horizontalnih i vertikal-nih ivica na slici. Ivice su granice izmedu predmeta ili oblasti na slici inajcesce predstavljaju nagle promene boje. Pretpostavimo da se obradujerasterizovana slika (tj. slika opisana pikselima) u nijansama jedne boje,data u vidu matrice. Horizontalne ivice mogu biti predstavljene razlikamavrednosti piksela i piksela ispod njih. Ako je ta razlika velika, velike su isanse da se na tom pikselu nalazi neka ivica. Analogno, vertikalne ivicemogu biti predstavljene razlikama vrednosti piksela i piksela desno od njih.Ako je slika data u vidu matrice A โˆˆ R๐‘šร—๐‘›, sve opisane razlike vrednostipiksela i vrednosti piksela ispod njih (tj. sve horizontalne ivice), mogu seprimenom konvolucije dobiti na sledeci nacin:

A *[

1โˆ’1

]a razlike vrednosti piksela i vrednosti piksela desno (tj. sve vertikalne ivice)mogu se dobiti na slican nacin:

A * [1 โˆ’ 1] .

Naredna slika prikazuje izvornu sliku i izracunate horizontalne i vertikal-ne ivice (visoke vrednosti koje odgovaraju velikim razlikama u osvetljenjususednih piskela, predstavljene su belom bojom).

10Iako obicno razmisljamo o skalarnom proizvodu vektora, nema nicega problematicnogu ideji skalarnog mnozenja dve matrice โ€“ sabiranjem proizvoda elemenata na odgovarajucimlokacijama.

Page 257: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

255 11. Nadgledano masinsko ucenje

Koriscene matrice dimenzija 1ร—2 i 2ร—1 su primeri filtera. Sustinski, filteriopisuju obrasce koje โ€žtrazeโ€œ na slikama โ€“ u delovima slike koji sadrze teobrasce, vrednosti skalarnog proizvoda su velike.

Pristup za koriscenje masinskog ucenja nad slikama koji bi se zasnivao naovakvim transformacijama slike, iako moguc, nije pogodan u praksi jer zahtevaekspertsko znanje o slikama i veliku inventivnost u izboru i dizajniranju rele-vantnih transformacija, a moguce je da ni eksperti nisu u stanju da definisudovoljno dobre filtere za neke zadatke. Alternativna ideja je da se te pogodnetransformacije ne moraju unapred definisati (od strane coveka), vec da se mo-del moze definisati tako da kao svoj sastavni deo nauci i same te transformacije(a ne samo zakljucivanje na osnovu njihovih izlaza). To je osnovna ideja kon-volutivnih neuronskih mreza. Objasnimo najpre kako se koncept konvolutivnihfiltera uklapa u okvire neuronskih mreza. Kao sto je vec receno, moze se zami-sliti da se, prilikom izracunavanja konvolucije, matrica B pomera duz matriceA, pri cemu se racunaju skalarni proizvodi na razlicitim lokacijama. Svaki odovih skalarnih proizvoda moze se izracunati u zasebnom neuronu, definisanomformulom (11.2).11 Na taj nacin jednoj primeni operacije konvolucije moze sepridruziti grupa neurona. Ono sto je specificno je da svi neuroni iz te grupeimaju iste vrednosti parametara โ€“ one koje cine filter. To deljenje vrednsti para-metara medu neuronima cini prepoznatljivo svojstvo konvolutivnih neuronskihmreza.

Nacelno, konvolutivna mreza obucava se tako da minimizuje greske svo-jih izlaza na datim ulazima, a u tom procesu uci filtere koji realizuju korisnetransformacije nad ulaznom slikom. Iako je iz prethodnog razmatranja jasnoda konvolutivni filteri, u principu, mogu biti nauceni, i dalje je potrebno defini-sati arhitekturu mreze koja to moze uspesno da radi. Shema jedne arhitekturekonvolutivne mreze prikazana je na slici 11.8. Na njoj se vidi da se ulaz trans-formise nizom konvolucija, aktivacionih funkcija i agregacija koji se medusobnopreplicu, a da se na kraju nalazi potpuno povezana mreza koja, u ovom pri-meru, vrsi finalnu klasifikaciju ulaza. U nastavku cemo detaljnije opisati ovustrukturu.

Da bismo objasnili kako se konvolucije primenjuju u konvolutivnoj mrezi,primetimo da je u mnogim situacijama, kao u obradi slika, potrebno imati viseulaznih kanala (na primer, kanale crvene, zelene i plave boje), tako da ulazne predstavlja nuzno matricu vec trodimenzionalni niz koji predstavlja vrstutenzora (๐‘› dimenzionalnog niza). Korisno je trodimenzionalni niz posmatrati ikao kolekciju dvodimenzionalnih tenzora (odnosno matrica), koje cemo nazivatikanalima. Shodno tome, i operacija konvolucije se uopstava na tri dimenzije.I ulazni tenzor i filter bice trodimenzionalni tenzori, ali ce izlaz, kao i pre bitiobicna matrica.

11Pri tome, elementi podmatrice matrice ๐ด i elementi matrice ๐ต tretiraju se kao vektori.

Page 258: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.5. Neuronske mreze 256

. . .

......

...

softmax

Slika 11.8: Shema konvolutivne neuronske mreze. Konvolutivni slojevi su pri-kazani zelenom bojom, a slojevi agregacije narandzastom. Na desnoj strani jeprikazana potpuno povezana mreza bez skrivenih slojeva kojom se konvolutiv-na mreza zavrsava. Prvi, narandzasti element predstavlja preoblikovanu formuposlednjeg izlaznog tenzora u oblik u kojem potpuno povezana mreza moze daga prihvati kao svoj ulaz. Drugi, ljubicasti element predstavlja rezultat line-arne transformacije nad narandzastim delom, a poslednji element predstavljarezultat primene funkcije softmax nad prethodnim.

Definicija 11.10 (Konvolucija tenzora). Konvolucija tenzora A โˆˆ R๐‘šร—๐‘›ร—๐‘

i B โˆˆ R๐‘ร—๐‘žร—๐‘ je matrica dimenzija (๐‘šโˆ’๐‘+1)ร—(๐‘›โˆ’๐‘ž+1) koja se definisese na sledeci nacin:

(A*B)๐‘–,๐‘— =

๐‘โˆ’1โˆ‘๐‘˜=0

๐‘žโˆ’1โˆ‘๐‘™=0

๐‘โˆ’1โˆ‘๐‘ก=0

A๐‘–+๐‘˜,๐‘—+๐‘™,๐‘กB๐‘˜,๐‘™,๐‘ก ๐‘– = 0, . . . ,๐‘šโˆ’๐‘, ๐‘— = 0, . . . , ๐‘›โˆ’๐‘ž

(11.5)

U ovoj definiciji pretpostavlja se da je poslednja dimenzija oba niza jedna-ka ๐‘, sto je dovoljno za potrebe konvolutivnih mreza u kojima ta dimenzijapredstavlja broj ulaznih kanala konvolucije poput RGB kanala kod slika.

Neuronska mreza u svakom sloju uci odredeni broj filtera. Skup filtera kojideluju nad istim ulazom nazivamo konvolutivnim slojem. On na svom izlazudaje tenzor ciji svaki kanal odgovara izlazu jednog filtera. Jedan filter mozenauciti da detektuje vertikalne ivice, drugi horizontalne, treci kose i slicno. Svakikanal transformise se nelinearnom aktivacionom funkcijom kao i kod potpunopovezanih neuronskih mreza. Nad izlazom jednog konvolutivnog sloja moguce jeizgraditi sledeci konvolutivni sloj i tako dalje. Stoga, filteri visih konvolutivnihslojeva konstruisu nova svojstva nad svojstvima koje su konstruisali nizi slojevi.Na taj nacin oni traze slozenije obrasce u slici od filtera nizeg nivoa, a koji su

Page 259: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

257 11. Nadgledano masinsko ucenje

obrasci bitni za dati problem, uci se minimizacijom greske koju mreza pravi napodacima.

Primer 11.10. Naredna slika prikazuje ilustraciju dejstva konvolutivnogsloja.

*

*

=

=

Sloj kao ulaz uzima tenzor koji se u ovom primeru sastoji od tri kanaladimenzija 6ร—6. Sloj se sastoji od dva filtera. Primetimo da filter takode imatrecu dimenziju koja se poklapa sa brojem kanala ulaznog tenzora. Svakiod ovih filtera proizvodi jedan izlazni kanal. Kako konvolucija smanjujedimenzije ulaznih kanala, izlazni su dimenzija 4ร—4. Na njih se primenjujeaktivaciona funkcija. Od dva tako dobijena tenzora dimenzija 4ร—4, formirase jedan izlazni tenzor dimenzija 4ร— 4ร— 2.

Pored konvolutivnih slojeva, cesto se koriste i slojevi agregacije (eng. poolinglayer) koji sluze agregaciji informacije u cilju smanjenja kolicine izracunavanjai broja parametara u mrezi. Obicno se realizuju tako sto se svaki kanal ulaznogtenzora podeli na delove odredenih dimenzija koji se zamene jednom vrednoscupoput maksimuma vrednosti u tom tenzoru. Konkretan izbor maksimuma jecest i intuitivan. Naime, visoke vrednosti u tenzoru znace da je filter koji jeproizveo tu vrednost na nekom mestu u svom ulazu naisao na obrazac kojitrazi (tj. koji daje veliku vrednost skalarnog proizvoda). Uprosecavanjem bi sevisoke vrednosti izgubile zbog prisustva niskih, dok maksimum cuva informacijuo tome da je trazeni obrazac pronaden. Ipak, agregacijom se gubi informacijao tacnoj lokaciji maksimuma. Znacaj tog gubitka zavisi od konkretne primene.

Primer 11.11. Naredna slika prikazuje ilustraciju agregacije maksimu-mom dimenzija 2 ร— 2. Primetimo da se za razliku od konvolucije, mak-simum ne racuna nad preklapajucim delovima ulaznog kanala, vec se on

Page 260: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.5. Neuronske mreze 258

deli na susedne i disjunktne delove koji odgovaraju dimenzijama agregacije.Ukoliko ulazni sloj ima vise kanala, svaki se obraduje nezavisno.

1

5

3

1

1

6

2

2

2

7

1

3

4

8

0

4

6 8

3 4

U ovom primeru je svaka dimenzija slike deljiva odgovarajucom di-menzijom filtera. Ukliko to ne bi bio slucaj, odredeni broj (koji odgovaraostatku pri deljenju) kolona, odnosno vrsta, bio bi zanemaren. Na primer,u slucaju da je slika dimenzija 7 ร— 8, a filter dimenzija 3 ร— 3, poslednjavrsta i dve poslednje kolone ulazne slike, bice zanemarene, a slika dobijenaagregacijom bice dimenzija 2ร— 2.

Na kraju, neretko se, kao na slici 11.8, na krajnje izlaze takve mreze na-dovezuje potpuno povezana mreza koja kao svoje ulaze uzima sve vrednostikrajnjeg tenzora dobijenog iz konvolutivnog dela. Upotreba potpuno poveza-ne mreze ipak nije neophodna i postoje arhitekture koje je ne ukljucuju. Naosnovu ovog razmatranja, konvolutivne mreze moguce je i formalno definisati.

Definicija 11.11 (Konvolutivna mreza). Konvolutivna neuronska mrezaje funkcija ๐‘“w definisana na sledeci nacin:

h0 = xh๐‘– = ๐‘”(๐‘Ž(W๐‘– * h๐‘–โˆ’1 +B๐‘–)), ๐‘– = 1, . . . , ๐ฟ๐‘“w(x) = ๐‘”w(h๐ฟ)

gde x predstavlja ulazni tenzor, ๐ฟ je broj konvolutivnih slojeva, h๐‘– za ๐‘– =1, . . . , ๐ฟ predstavlja izlazni tenzor ๐‘–-tog sloja, W๐‘– je tenzor parametara ๐‘–-tog sloja, B๐‘– tenzor slobodnih koeficijenata koji po dimenzijama odgovaratenzoru W๐‘– * h๐‘–โˆ’1, ๐‘Ž je funkcija agregacije, ๐‘” je aktivaciona funkcija, ๐‘”wje potpuno povezana neuronska mreza. Tenzori W๐‘–, B๐‘– i vektor w cineparametre w.

Trening konvolutivnih mreza u svrhe klasifikacije i regresije algoritamskise ne razlikuje od treninga potpuno povezanih mreza. Specificnosti vezane zaneke druge vrste zadataka bice diskutovane kasnije kada bude reci o prakticnimprimenama.

11.5.4 Rekurentne neuronske mrezeMnogi zadaci masinskog ucenja vezani su za sekvencijalne podatke, tj. po-

datke koji se mogu predstaviti u vidu niski jednostavnih elemenata. Primeritakvih zadataka su klasifikacija tekstova prema njihovoj temi ili sentimentu

Page 261: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

259 11. Nadgledano masinsko ucenje

(osecanju, raspolozenju, afektivnom tonu), kreiranje sazetaka tekstova, prevode-nje recenica sa jednog prirodnog jezika na drugi, predvidanje kretanja cenaakcija na berzi, predvidanje buduceg stanja pacijenta na osnovu zdravstveneistorije i tako dalje. Sekvencijalni podaci najcesce su podaci promenljive duzine.Potpuno povezane mreze ocekuju kao ulaze vektorske reprezentacije fiksne di-menzije i stoga su neprimerene obradi ovakvih podataka. Dodatno, redosledreci u recenici ili redosled njenih delova nekada se moze menjati bez promenesmisla recenice. S druge strane, u slucaju potpuno povezanih mreza, redosledsvojstava u vektorskoj reprezentaciji podataka ne moze se slobodno menjati jermreza uci razlicite vrednosti parametara za razlicita svojstva. U skorije vreme,napravljeni su veliki pomaci u obradi sekvencijalnih podataka konvolutivnimmrezama, ali modeli koji su konstruisani za ovu namenu i koji su dugo domi-nirali primenama nad ovakvim podacima su rekurentne neuronske mreze.

Osnovna ideja rekurentnih neuronskih mreza je da se sekvenca cita elementpo element, pri cemu se odrzava stanje procesa obrade u vidu vektora koji semenja iz koraka u korak. Da bi ovaj proces funkcionisao, potrebno je definisatikako naredno stanje zavisi od prethodnog stanja i od tekuceg ulaza. Takode,posto mreza treba da daje i izlaze, potrebno je definisati i na koji nacin izlaz usvakom koraku zavisi od tekuceg stanja. Ove zavisnosti se, kao i u prethodnimslucajevima neuronskih mreza, izrazavaju linearnim transformacijama sa ne-linearnom aktivacionom funkcijom, pri cemu se matrice koje definisu linearnetransformacije uce.

Definicija 11.12 (Rekurentna mreza). Rekurentna neuronska mreza jefunkcija ๐‘“w definisana na sledeci nacin:

h0 = 0h๐‘ก = ๐‘”(Uh๐‘กโˆ’1 +Wx๐‘ก + bโ„Ž), ๐‘ก = 1, . . . , ๐‘‡o๐‘ก = ๐‘”(Vh๐‘ก + b๐‘œ), ๐‘ก = 1, . . . , ๐‘‡

gde ๐‘‡ predstavlja duzinu sekvence, ๐‘ฅ๐‘ก element ulazne sekvence, h๐‘ก predsta-vlja vektor skrivenog stanja u koraku ๐‘ก, o๐‘ก izlaz mreze u koraku ๐‘ก, matricaU definise zavisnost novog od prethodnog skrivenog stanja, matrica Wzavisnost novog skrivenog stanja od novog ulaza, matrica V definise za-visnost izlaza od tekuceg skrivenog stanja, a funkcije ๐‘” i ๐‘” su aktivacionefunkcije. Vektori bโ„Ž i b๐‘œ su vektori slobodnih clanova. Pomenute matricei slobodni clanovi skupa cine parametre w rekurentne mreze.

Bitno je primetiti da parametri w ne zavise od koraka ๐‘ก. Vrednost modela๐‘“w(x1, . . . ,x๐‘‡ ) moze biti bilo koji podskup izracunatih izlaznih vrednosti, za-visno od namene modela. Potom je nad datim izlazom moguce izracunati greskuu odnosu na zadate izlaze i formirati funkciju greske koju je moguce optimizo-vati gradijentnim metodama.

Page 262: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.5. Neuronske mreze 260

Primer 11.12. Razmotrimo klasifikaciju sentimenta teksta u pozitivnu,neutralnu i negativnu kategoriju na primeru komentara kupaca na stra-ni neke prodavnice. Za potrebe primera, smatracemo da se trening skupsastoji samo od naredna tri komentara:

โ€ข โ€žVise nikad necu kupovati kod vas.โ€œ

โ€ข โ€žDo kada radite?โ€œ

โ€ข โ€žIsporuka je bila brza.โ€œ

Prvi komentar se moze smatrati negativnim, drugi neutralnim, a treci po-zitivnim. Na narednoj slici, prikazana je primena rekurentne mreze nadovim recenicama, koju cemo objasniti u ostatku ovog primera.

W

V

U

W

V

U

W

V

U

W

V

Isporuka je bila brza

๐ฟ

W

V

U

W

V

U

W

V

Do kada radite

๐ฟ

W

V

U

W

V

U

W

V

U

W

V

U

W

V

U

W

V

Vise nikad necu kupovati kod vas

๐ฟ

๐ธ

Kako bi se primenila rekurentna mreza, svaka od reci iz trening sku-pa mora se predstaviti u numerickom obliku i za to se koristi standardnareprezentacija kategorickih vrednosti. Ako u trening skupu postoji ukupno๐‘› reci, one se predstavljaju binarnim vektorima duzine ๐‘›, pri cemu vektorkoji odgovara ๐‘–-toj reci na ๐‘–-toj poziciji sadrzi jedinicu, a na svim osta-lim pozicijama sadrzi nule. U slucaju datog trening skupa, reprezentacijadimenzije 13 je dovoljna. Na slici je reprezentacija svake reci prikazananeposredno iznad nje. U reprezentaciji reci, tamnije polje oznacava jedi-nicu, dok svetlija polja oznacavaju nule.

Page 263: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

261 11. Nadgledano masinsko ucenje

Pretpostavimo da je dimenzija vektora skrivenog stanja jednaka 4 (stobi se moralo eksperimentalno podesiti tako da rezultati budu sto bolji). Ta-da je matrica W dimenzija 4 ร— 13, a matrica U dimenzija 4 ร— 4. Kakose klasifikacija vrsi u 3 klase, matrica ๐‘‰ je dimenzija 3ร— 4. Za aktivacio-nu funkciju moze se koristiti ReLU, osim na izlazu gde se koristi funkcijasoftmax. Za svaku rec neke recenice, njena reprezentacija mnozi se matri-com W. Tako dobijen vektor sabira se sa vektorom koji se dobija primenommatrice U na skriveno stanje prethodne reci (za koji se uzima nula vek-tor ako prethodna rec ne postoji) i vektorom slobodnih clanova, cime seuz primenu aktivacione funkcije dobija skriveno stanje za datu rec. Raz-licite vrednosti skrivenog stanja su na slici prikazane razlicitim nijansamazute boje. Izracunavanje skrivenih stanja vrsi se za svaku recenicu poseb-no. Ocigledno, izracunavanje se mora vrsiti sekvencijalno, rec po rec, jerje za izracunavanje skrivenog stanja jedne reci potrebno skriveno stanjeprethodne. Broj skrivenih stanja ๐‘‡ je za svaku recenicu razlicit i jednakbroju reci u njoj. Za svako skriveno stanje, izracunava se izlaz mreze. To uovom primeru nije potrebno jer nema smisla suditi o sentimentu recenicenakon prve obradene reci, pa su zato izlazi obojeni bledom bojom. U opstemslucaju obrade sekvencijalnih podataka, moze biti potrebno racunati izlazeu svakom koraku. Relevantan izlaz za svaku recenicu je poslednji. Kla-sa koju mreza predvida je oznacena tamnijom nijansom. Funkcija greske๐ฟ se primenjuje samo na poslednje izlaze, a uprosecavanjem gresaka porecenicama dobija se prosecna greska ๐ธ, cijom optimizacijom po matrica-ma U, W, V i vektorima bโ„Ž i b๐‘œ se trenira mreza.

Kada je mreza istrenirana, recenice se klasifikuju tako sto se mreza,kao i prilikom treninga, primeni na sve njene reci, nakon cega se ocitaizlaz za poslednju rec recenice.

Moderne rekurentne mreze ukljucuju mnostvo unapredenja u odnosu naosnovni princip koji je ovde izlozen, ali njihovo razmatranje izlazi van okviraovog teksta.

11.6 Metoda ๐‘˜ najblizih suseda

Metoda ๐‘˜ najblizih suseda je jedna od metoda ucenja zasnovanih na in-stacama. Osnovna karakteristika ovakvih metoda je da ne grade eksplicitanmodel podataka u vidu neke funkcije kao sto to radi vecina metoda masinskogucenja. Umesto izgradnje modela, instance predvidene za treniranje se cuvajui bivaju upotrebljene tek kad je potrebno izvrsiti predvidanje za novu, nepo-znatu instancu. Time se vecina izracunavanja premesta iz faze ucenja u fazuprimene. Ove metode cesto ne ukljucuju sva cetiri pomenuta elementa dizajnaalgoritama nadgledanog ucenja. Na primer, algoritam ๐‘˜ najblizih suseda nemaeksplicitnu formu modela, funkciju greske, niti koristi optimizaciju.

Metoda ๐‘˜ najblizih suseda zasniva se na vrlo jednostavnoj ideji โ€” pro-naci ๐‘˜ instanci najslicnijih nepoznatoj instanci, takozvanih suseda i predvideti

Page 264: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.6. Metoda ๐‘˜ najblizih suseda 262

vrednost njene ciljne promenljive na osnovu vrednosti koje odgovaraju susedi-ma. U slucaju klasifikacije, predvidanje odgovara najcescoj klasi medu klasamasuseda, a u slucaju regresije, predvidanje moze biti prosecna vrednost ciljnepromenljive suseda. Tekst u nastavku se odnosi na problem klasifikacije, alianalogni zakljucci mogu se izvesti i u slucaju regresije. Pojam slicnosti instancinajjednostavnije se formalizuje preko funkcija rastojanja.

Definicija 11.13 (Rastojanje). Neka je ๐‘‹ skup instanci. Funkcija ๐‘‘ :๐‘‹ร—๐‘‹ โ†’ R predstavlja rastojanje na skupu ๐‘‹ ukoliko zadovoljava sledeceuslove:

1. ๐‘‘(x,y) โ‰ฅ 0, pritom ๐‘‘(x,y) = 0โ‡” x = y (pozitivna definitnost)

2. ๐‘‘(x,y) = ๐‘‘(y,x) (simetricnost)

3. ๐‘‘(x, z) โ‰ค ๐‘‘(x,y) + ๐‘‘(y, z) (nejednakost trougla)

Primer 11.13. Neki primeri rastojanja su:

โ€ข ๐‘‘(x,y) = ๐‘›โˆšโˆ‘

๐‘–(๐‘ฅ๐‘– โˆ’ ๐‘ฆ๐‘–)๐‘›

โ€ข ๐‘‘(x,y) =

{0, x = y1, x = y

Intuitivno, sto je rastojanje izmedu dva objekta vece, to je slicnost izmedunjih manja i obratno.12 Drugim recima, rastojanje izmedu objekata predstavljameru njihove razlicitosti. Moguce je izabrati raznovrsne funkcije rastojanja, anaravno pozeljno je izabrati funkciju koja stvarno oslikava razlicitost izmedudva objekta, u smislu relevantnom za razmatrani problem.

Analizirajmo detaljnije metodu ๐‘˜ najblizih suseda. Razmotrimo nepoznateinstance ๐ด i ๐ต prikazane na slici 11.9. Metodom ๐‘˜ najblizih suseda uz ko-riscenje euklidskog rastojanja, instanca ๐ด biva klasifikovana u crvenu klasu zasve vrednosti ๐‘˜ od 1 do 5. Klasifikacija instance ๐ด je postojana zato sto se onanalazi blizu crvenih instanci, a udaljena je od plavih instanci. S druge strane,klasa instance ๐ต moze da varira u zavisnosti od 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 ๐ต ponovo se 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 instancejedne klase, ali je nepostojana na obodu te oblasti. Nepostojanost klasifikaci-je moze se demonstrirati menjanjem parametra ๐‘˜. Ali i za fiksiranu vrednost

12Kao mere slicnosti, nekad se koriste i funkcije koje nisu zasnovane na rastojanjima kao,na primer, funkcija cos(โˆ (x,y)) = (x ยท y)/(

โˆšx ยท xโˆšy ยท y).

Page 265: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

263 11. Nadgledano masinsko ucenje

0

๐ด

๐ต

Slika 11.9: Stabilnost klasifikacije pomocu algoritma ๐‘˜ najblizih suseda.

parametra ๐‘˜ moze se uociti nepostojanost pri variranju vrednosti svojstavainstance, jer instanca iz oblasti jedne klase moze takvim variranjem preci uoblast druge klase. Ovakvo ponasanje bi se moglo uociti i kod drugih metodaklasifikacije.

Kao sto se moze videti u slucaju metode najblizih suseda, bitno svojstvometoda zasnovanih na instancama je njihova lokalnost. Nepoznata instanca kla-sifikuje se iskljucivo ili uglavnom na osnovu poznatih instanci koje se nalaze unjenoj blizini. Ovo svojstvo doprinosi fleksibilnosti modela koje ove metode (im-plicitno) grade. Samim tim, za manje vrednosti parametra ๐‘˜ dobijaju se fleksi-bilniji modeli, koji su stoga skloniji preprilagodavanju, dok se za vece vrednostiparametra ๐‘˜ dobijaju manje fleksibilni modeli manje skloni preprilagodavanju.Naravno, premala fleksibilnost vodi modelima koji se ne mogu dovoljno prila-goditi podacima i stoga lose uce, pa ni premala ni prevelika vrednost parametra๐‘˜ nije dobra. Ocigledno, parametar ๐‘˜ ima ulogu slicnu ulozi regularizacionoghiperparametra ๐œ†. Odredivanje njihovih vrednosti bice zajednicki diskutovanokasnije.

Kako ovaj metod ne ukljucuje trening, vec se instance koriste u vreme klasi-fikacije, trening skup se uvek moze azurirati, recimo dodavanjem novih instanci,bez utroska vremena na ponovni trening kao u slucaju drugih algoritama.

Razmotrimo primer primene algoritma ๐‘˜ najblizih suseda u problemu re-gresije.

Primer 11.14. Vratimo se na primer procene zagadenja vazduha. U na-stavku ponavljamo standardizovane podatke, ali bez kolone jedinica. Naime,u slucaju primene algoritma najblizih suseda nema slobodnog clana pa nidodatna kolona nije potrebna.

Page 266: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.7. Stabla odlucivanja 264

X =

โŽกโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽฃ

1.41 1.81 โˆ’0.711.41 โˆ’0.44 โˆ’0.711.41 โˆ’0.75 โˆ’0.711.41 โˆ’0.44 โˆ’0.71โˆ’0.63 0.38 1.41โˆ’0.63 โˆ’1.26 1.41โˆ’0.63 โˆ’1.26 1.41โˆ’0.63 โˆ’0.44 1.41โˆ’0.78 2.01 โˆ’0.71โˆ’0.78 0.17 โˆ’0.71โˆ’0.78 0.38 โˆ’0.71โˆ’0.78 โˆ’0.14 โˆ’0.71

โŽคโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฆ

y =

โŽกโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽฃ

7016818114112124524711263806761

โŽคโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฆNeka je potrebno predvideti zagadenje za novu instancu (1000000, 15, 0)

koja predstavlja grad od milion stanovnika, van kotline, na dan kada vetarduva brzinom od 15 kilometara na sat. Prvo je potrebno izvrsiti standar-dizaciju ove instance kako bi promenljive koje je opisuju bile izrazene naistoj skali kao promenljive u matrici podataka, cime se dobija instanca(0.17,โˆ’0.24,โˆ’0.71). Vektor rastojanja do datih instanci je:

d =

โŽกโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽขโŽฃ

2.391.251.341.251.012.492.492.283.241.041.130.96

โŽคโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฅโŽฆRegresija moze biti izvedena na primer pomocu tri najbliza suseda, upro-secavanjem njihovih vrednosti. To su instance sa rastojanjima 0.96, 1.01i 1.04, a prosek njihovih ๐‘ฆ vrednosti je 87.33, sto je konacno predvidanje.

11.7 Stabla odlucivanja

Razmotrimo โ€žigru 20 pitanjaโ€œ. Jedan igrac zamislja neki predmet, a drugitreba da pogodi o kom je predmetu rec. Kako bi pogodio o kom predmetu seradi, igrac koji pogada ima pravo da postavi 20 pitanja na koje odgovor mozebiti โ€ždaโ€œ ili โ€žneโ€œ. Kada smatra da je postavio dovoljno pitanja, igrac moze datisvoj sud o kom predmetu se radi i igra se zavrsava. Ocito, proces ispitivanja

Page 267: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

265 11. Nadgledano masinsko ucenje

moze se predstaviti u vidu stabla koje u svakom cvoru ima po jedno pitanje,osim u listovima u kojima se nalazi sud igraca o nepoznatom predmetu. Izsvakog cvora, osim listova polaze dve grane oznacene sa โ€ždaโ€œ ili โ€žneโ€œ, koje vodeu podstablo koje odgovara nastavku ispitivanja posle razmatranog pitanja. Ovoje primer stabla odlucivanja. Ovakva stabla mogu se uopstiti odbacivanjemogranicenja na 20 pitanja i tako sto bi se dozvolilo da odgovori ne moraju bitisamo โ€ždaโ€œ ili โ€žneโ€œ, vec da mogu pripadati nekom drugom skupu.

Stabla odlucivanja mogu se automatski nauciti iz skupa primera koji zasvaku instancu ukljucuju vrednosti njenih bitnih svojstava i vrednost ciljnepromenljive. Mogu se primeniti i na probleme klasifikacije i na probleme regre-sije. Slicno โ€žigri 20 pitanjaโ€œ, svakom cvoru takvog stabla odgovara test nekogsvojstva instance, a grane koje izlaze iz cvora razlicitim vrednostima tog svoj-stva. Listovima odgovaraju predvidene vrednosti ciljne promenljive. Instancesu opisane vrednostima svojih svojstava. Predvidanje se vrsi polazeci od kore-na, spustajuci se niz granu koja odgovara vrednosti testiranog svojstva instanceza koju se vrsi predvidanje. Predvidanje se dodeljuje instanci kad se dode dolista.

Ucenje stabala odlucivanja uspesno se primenjuje u razlicitim problemima.Jos sredinom devedesetih godina proslog veka, stabla odlucivanja primenjenasu u klasifikaciji tumora i prognozi njihovog ponasanja. Svaka trening instancaopisivana je pomocu 31 svojstva, a klasifikacije su date nezavisno od strane visestrucnjaka. U astronomiji su stabla odlucivanja primenjena u cilju razlikovanjazvezda i tragova kosmickih zraka na snimcima teleskopa Habl. Na osnovu 20numerickih svojstava, sa stablima dubine do 9 cvorova, postignuta je preciznostklasifikacije od 95%. Postoje primene stabala odlucivanja i u ekonomiji i drugimoblastima. Odredivanje poze igraca kakvo vrsi Majkrosoftov proizvod Kinektbice detaljnije diskutovano kasnije.

Koriscenje stabla odlucivanja nije podjednako pogodno za sve problemeucenja. Pozeljno je da skup vrednosti svojstava bude diskretan i mali, madapostoje varijante koje rade sa neprekidnim svojstvima. Stabla odlucivanja suposebno pogodna u slucajevima kada je potrebno izraziti model na interpreta-bilan nacin. Ukoliko stablo odlucivanja instanci dodeljuje neko predvidanje, toznaci da instanca ispunjava sve uslove koji su definisani putanjom od korenado odgovarajuceg lista kroz stablo i oblika su svojstvo=vrednost. Stoga putanjekroz stablo predstavljaju konjunkcije ovakvih uslova. U slucaju klasifikacije,za svaku klasu moguce je uociti putanje koje se zavrsavaju listovima koji od-govaraju toj klasi. Disjunkcija svih takvih konjunkcija definise instance kojepripadaju datoj klasi prema datom stablu. Pravilo izrazena u vidu disjunkcijekonjunkcija elementarnih uslova omogucava interpretabilnost, odnosno razu-mevanje nacina na koji model donosi odluke od strane coveka.

Jedan od najpoznatijih algoritama za ucenje stabla odlucivanja je ID3, nakoji cemo se fokusirati. Ovaj algoritam primenjuje se samo na instance kojesu opisane iskljucivo kategorickim atributima. On konstruise stablo od kore-na ka listovima, odredujuci u svakom cvoru najbolje svojstvo koje se u tomcvoru moze testirati. To svojstvo se odreduje statistickim kriterijumom koji

Page 268: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.7. Stabla odlucivanja 266

meri koliko dobro neko svojstvo samostalno klasifikuje podatke. Za sve vred-nosti odabranog svojstva kreiraju se grane do cvorova naslednika, a podaci zatreniranje se dele izmedu ovih cvorova tako da svaki od njih nasleduje primerekoji imaju odgovarajucu vrednost prethodno testiranog svojstva. Za svaki odcvorova naslednika ovaj postupak se primenjuje rekurzivno sve dok nije ispu-njen bar jedan od sledeca dva uslova: (1) u putanji od korena do trenutnogcvora iskoriscena su sva svojstva, (2) sve instance za trening koje su pridruzenetrenutnom cvoru imaju istu vrednost ciljne promenljive. Svakom listu se pri-druzuje najcesca oznaka instanci za trening koje su mu pridruzene. Algoritamje preciznije opisan na slici 11.10.

Algoritam: ID3

Ulaz: Skup instanci za trening ๐ท, ๐‘› dimenzija instanci

Izlaz: Stablo odlucivanja koje odgovara datim instancama

1: inicijalizuj ๐‘† = {1, 2, . . . , ๐‘›};2: napravi koreni cvor stabla ๐‘…;

3: ako sve instance iz ๐ท pripadaju istoj klasi onda4: vrati cvor ๐‘… sa oznakom te klase;

5: ako je ๐‘† prazan skup onda6: formiraj cvor ๐‘… oznacen oznakom najcesce klase koja se javlja u ๐ท;

7: inace8: neka je ๐‘— โˆˆ ๐‘† indeks najboljeg svojstva (prema nekom statistickom

kriterijumu) za testiranje u odnosu na ๐ท;9: oznaci cvor ๐‘… ๐‘—-tim svojstvom;

10: za svaku mogucu vrednost ๐‘ฃ ๐‘—-tog svojstva radi11: dodaj granu iz ๐‘… koja odgovara testu ๐‘ฅ๐‘— = ๐‘ฃ;12: neka je ๐ท๐‘ฃ podskup od ๐ท takav da za sve njegove elemente vazi

๐‘ฅ๐‘— = ๐‘ฃ;13: ako je skup ๐ท๐‘ฃ prazan onda14: na dodatu granu iz ๐‘… dodaj list sa oznakom najcesce klase u

๐ท;15: inace16: na dodatu granu nadovezi podstablo ID3(๐ท๐‘ฃ,๐‘† โˆ– {๐‘—});17: vrati ๐‘….

Slika 11.10: Algoritam ID3.

Veoma je vazno pitanje statistickog kriterijuma koji se koristi za izbor naj-boljeg svojstva za testiranje u nekom cvoru. Algoritam ID3 obicno bira svojstvokoje maksimizuje dobitak informacije na skupu instanci koje su pridruzene raz-matranom cvoru. Dobitak informacije predstavlja razliku entropije u odnosu

Page 269: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

267 11. Nadgledano masinsko ucenje

na ciljnu promenljivu skupa instanci za trening ๐ท pre deljenja i prosecne en-tropije posle deljenja prema nekom svojstvu ๐‘†. Entropija predstavlja meruneuredenosti nekog sistema. Ako sa ๐‘๐‘– oznacimo verovatnocu da instanca pri-pada ๐‘–-toj klasi, onda se entropija moze definisati sledecim izrazom (pri cemusmatramo da vazi 0 ยท log2 0 = 0):

๐ป(๐ท) = โˆ’๐‘โˆ‘

๐‘–=1

๐‘๐‘– log2 ๐‘๐‘–

gde je ๐‘ broj klasa, tj. broj mogucih vrednosti ciljne promenljive, ๐‘๐‘– udeo in-stanci iz skupa ๐ท koje pripadaju klasi ๐‘– u celom skupu ๐ท. Dobitak informacijestoga predstavlja smanjenje u potrebnom broju bitova za kodiranje klase proi-zvoljne instance, kada je poznata vrednost koju na njoj ima svojstvo ๐‘†. Dobitakinformacije se formalno definise na sledeci nacin:

๐บ(๐ท, ๐‘—) = ๐ป(๐ท)โˆ’โˆ‘

๐‘ฃโˆˆ๐‘‰ (๐‘—)

|๐ท๐‘ฃ||๐ท|

๐ป(๐ท๐‘ฃ) (11.6)

gde ๐‘‰ (๐‘—) predstavlja skup svih mogucih vrednosti ๐‘—-tog svojstva, a ๐ท๐‘ฃ = {x โˆˆ๐ท|๐‘ฅ๐‘— = ๐‘ฃ}.

Pored entropije, postoje i druge mere koje se mogu koristiti za merenjeneuredenosti nekog skupa. Jedna jednostavna mera je greska klasifikacije. Onapredstavlja gresku koja se cini ukoliko se sve instance nekog skupa klasifikujuu najbrojniju klasu u tom skupu. Stoga, ako je ๐‘๐‘– verovatnoca da instancapripada ๐‘–-toj klasi, greska klasifikacije za skup podataka ๐ท definise se izrazom

๐ธ๐‘Ÿ๐‘Ÿ(๐ท) = 1โˆ’max๐‘–

๐‘๐‘–

Za ovu meru moze se definisati dobitak analogan opisanom dobitku informacijeukoliko se u izrazu (11.6) entropija zameni greskom klasifikacije.

Primer 11.15. U narednoj tabeli date su instance koje opisuju razlicitezivotinje, sa datom klasifikacijom koja oznacava da li je zivotinja opasnapo coveka. Izdvojeno je nekoliko karakteristika koje bi mogle biti relevant-ne u odredivanju vrednosti ciljne promenljive, ali su namerno dodata dvasvojstva koji nisu relevantna โ€” broj nogu i da 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

Komodozmaj Velika Meso Da 4 Ne Da

Page 270: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.7. Stabla odlucivanja 268

Da bi se izgradilo stablo odlucivanja, za svako od svojstava je potreb-no izracunati dobitak informacije pri deljenju skupa podataka prema tomsvojstvu. U prvom koraku, vazi:

๐ป(๐ท) = โˆ’2

5log2

2

5โˆ’ 3

5log2

3

5= 0.971

Ukoliko se izvrsi podela instanci po vrednosti prvog svojstva, 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

gde zarad citljivosti, umesto indeksa svojstva pisemo naziv. Slicno se do-bija:

๐บ(๐ท, ๐ผ๐‘ โ„Ž๐‘Ÿ๐‘Ž๐‘›๐‘Ž) = 0.42

๐บ(๐ท,๐‘‚๐‘ก๐‘Ÿ๐‘œ๐‘ฃ๐‘›๐‘œ๐‘ ๐‘ก) = 0.322

๐บ(๐ท,๐‘๐‘œ๐‘”๐‘’) = 0

๐บ(๐ท,๐ธ๐‘ฃ๐‘Ÿ๐‘œ๐‘๐‘Ž) = 0.42

Odavde se vidi da je najbolje svojstvo za testiranje u prvom cvoru svoj-stvo Velicina. Stablo koje se u ovom slucaju dobija primenom algoritmaID3 je dato na narednoj slici. U slucaju datih primera za ucenje, dobijenostablo je bilo ocigledan izbor i bez primene bilo kakve metodologije.

VELICINA

NE

mala

DA

velika

Nesto komplikovanije stablo odlucivanja moze se dobiti dodavanjemprimera iz naredne tabele.

Page 271: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

269 11. Nadgledano masinsko ucenje

Zivotinja Velicina Ishrana Otrovnost Noge Evropa OpasnaZmija Mala Meso Da 0 Da DaPcelaubica Mala Biljke Da 6 Ne Da

Morskakrava Velika Biljke Ne 0 Ne Ne

Jedno rucno konstruisano stablo koje je saglasno sa podacima za tre-ning dato je na narednoj slici.

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

Izbor loseg svojstva za testiranje u korenom cvoru je namerno ucinjen.To dovodi do potrebe za ponavljanjem istih testova u levom i desnom pod-stablu, posto informacija dobijena testiranjem u korenu nije relevantnaza odredivanje klase instance. Takode, u slucaju zivotinja koje ne zive uEvropi, prisutan je nepotreban test vezan za njenu ishranu. U oba slucajaklasa je ista, pa se cvor sa tim testom moze zameniti listom sa klasom๐ท๐ด. Upotreba algoritma ID3 daje bolje 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 svojstva, 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

Page 272: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.7. Stabla odlucivanja 270

Slicno se dobija:

๐บ(๐ท, ๐ผ๐‘ โ„Ž๐‘Ÿ๐‘Ž๐‘›๐‘Ž) = 0.189

๐บ(๐ท,๐‘‚๐‘ก๐‘Ÿ๐‘œ๐‘ฃ๐‘›๐‘œ๐‘ ๐‘ก) = 0.549

๐บ(๐ท,๐‘๐‘œ๐‘”๐‘’) = 0

๐บ(๐ท,๐ธ๐‘ฃ๐‘Ÿ๐‘œ๐‘๐‘ ๐‘˜๐‘Ž) = 0.02

Posle dodavanja novih instanci, najbolja svojstva za testiranje su Otrov-nost i Ishrana. Rekurzivnom primenom ovog postupka dobija se stablo pri-kazano na narednoj slici. Ono je ocigledno manje od rucno konstruisanogi ima relevantnija svojstva pri vrhu stabla, dok se dva nebitna svojstvauopste ne testiraju.

OTROVNOST

VELICINA

ne

DA

da

NE

mala

ISHRANA

velika

NE

biljke

DA

meso

Stabla odlucivanja mogu se koristiti i za probleme regresije. U tom slucaju,za merenje neuredenosti skupa instanci prirodan izbor je disperzija vrednosticiljne 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 definisatikao prosek instanci koje su prilikom treninga pridruzene listu.

Kao i drugi metodi ucenja, ID3 se moze shvatiti kao pretraga skupa do-pustivih modela za onim koji najvise odgovara podacima za trening. Prostorpretrage je potpun prostor svih stabala odlucivanja. Svaka diskretna funkci-ja moze se predstaviti nekim stablom odlucivanja, tako da se ucenjem stabalaodlucivanja moze postici greska 0 na trening podacima ukoliko podaci nisu pro-tivrecni. Posto nema vracanja u pretrazi (tj. nema bektrekinga), vec se stablogradi od jednostavnijeg ka slozenijem, postoji opasnost od dostizanja lokalnihoptimuma koji nisu globalni.

Page 273: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

271 11. Nadgledano masinsko ucenje

Algoritam ID3 preferira stabla manje dubine, kao i stabla u kojima se svoj-stva koja nose veci dobitak informacije nalaze blize korenu. Afinitet premakracim stablima je zanimljivo svojstvo jer je u skladu i sa odavno poznatimfilozofskim principom kojim se cesto vode i naucnici โ€” Okamovom ostricom:entitete ne treba umnozavati preko potrebe, tj. najjednostavnije objasnjenje jeverovatno i najbolje. Svakoj putanji od korena do nekog od listova odgovarapo jedno pravilo oblika

if ๐‘ฅ1 = ๐‘ฃ1 โˆง ๐‘ฅ2 = ๐‘ฃ2 โˆง ... โˆง ๐‘ฅ๐‘› = ๐‘ฃ๐‘› then

๐พ๐‘™๐‘Ž๐‘ ๐‘Ž = ๐‘˜๐‘™๐‘Ž๐‘ ๐‘Ž ๐‘˜๐‘œ๐‘—๐‘Ž ๐‘œ๐‘‘๐‘”๐‘œ๐‘ฃ๐‘Ž๐‘Ÿ๐‘Ž ๐‘™๐‘–๐‘ ๐‘ก๐‘ข

gde su ๐‘ฅ๐‘– 0 โ‰ค ๐‘– โ‰ค ๐‘› svojstva koja se testiraju na putanji od korena do odgova-rajuceg cvora, a ๐‘ฃ๐‘– neke njihove moguce vrednosti. Kako stabla odlucivanja samanjom dubinom imaju manji broj listova, ona predstavljaju manje skupoveovakvih pravila, te ih mozemo smatrati jednostavnijim.

Osvrnimo se i na problem preprilagodavanja. Sa povecanjem dozvoljene du-bine stabla, povecava se moc ucenja, odnosno verovatnoca da ce u skupu dopu-stivih modela biti naden onaj koji dobro opisuje podatke. Zato se sa povecanjemdozvoljene dubine stabala, smanjuje greska na trening podacima. Medutim, akonema ogranicenja na dubinu stabla, takav skup modela je ocigledno vrlo bogat istoga postoji opasnost od preprilagodavanja. Jedan pristup resavanju ovog pro-blema je ogranicavanje maksimalne dubine stabla nakon koje algoritam ucenjanece dalje razgranavati stablo. O nacinu na koji se vrsi izbor maksimalne dubi-ne bice reci kasnije, posto se bira na slican nacin kao vrednost regularizacionoghiperparametra ๐œ†. Zapravo, kako se ovom tะตhnikom smanjuje fleksibilnost mo-dela u vreme ucenja, ona upravo jeste vid regularizacije.

11.8 Evaluacija modela i konfigurisanje algoritama ucenja

Za primenu modela u praksi, od presudnog je znacaja znati koliko dobro mo-del generalizuje, odnosno koliko su mu dobra predvidanja. Za to je s jedne stra-ne potrebno imati nekakve mere kvaliteta, s druge procedure koje obezbedujuda se tako izracunatim merama moze dovoljno verovati.

Kao sto se moglo primetiti, algoritmi masinskog ucenja su konfigurabil-ni. Naime, moguce je podesavati regularizacioni hiperparametar kod linearnihmodela, ๐‘˜ kod algoritma ๐‘˜ najblizih suseda, maksimalnu dubinu stabla od-lucivanja, arhitekturu mreze, itd. Izbor razlicite konfiguracije vodi razlicitomoptimizacionom problemu i stoga razlicitom resenju. Pozeljno je izabrati kon-figuraciju koja vodi dobrom resenju. Ovo ne mora biti trivijalan posao.

11.8.1 Mere kvaliteta regresije

Osnovna mera kvaliteta regresije je srednjekvadratna greska, koja meri od-stupanje predvidenih vrednosti na nekom test skupu od stvarnih.

Page 274: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.8. Evaluacija modela i konfigurisanje algoritama ucenja 272

Definicija 11.14 (Srednjekvadratna greska). Za date podatke {(x๐‘–, ๐‘ฆ๐‘–)|๐‘– =1 . . . , ๐‘}, srednjekvadratna greska modela ๐‘“๐‘ค data je sledecom formulom:

๐ธ(w) =1

๐‘

๐‘โˆ‘๐‘–=1

(๐‘ฆ๐‘– โˆ’ ๐‘“w(x))2.

Obicno je bolje posmatrati njen koren, posto se izrazava na istoj skali kaoi velicina ๐‘ฆ, pa je taj broj razumljiviji u kontekstu domena. Pozeljno je dasrednjekvadratna greska bude sto manja, medutim ukoliko nemamo konkretanzahtev za postizanjem odredene srednjekvadratne greske, tesko je reci da li jeucenje uspesno ili ne. Zbog toga se cesto koriste i druge mere. Cesta je upotrebakoeficijenta determinisanosti.

Definicija 11.15 (Koeficijent determinisanosti). Koeficijent determinisa-nosti modela ๐‘“๐‘ค na datim podacima {(x๐‘–, ๐‘ฆ๐‘–)|๐‘– = 1 . . . , ๐‘} dat je sledecomformulom:

๐‘…2w = 1โˆ’

โˆ‘๐‘๐‘–=1(๐‘ฆ๐‘– โˆ’ ๐‘“w(x))2โˆ‘๐‘

๐‘–=1(๐‘ฆ๐‘– โˆ’ ๐‘ฆ)2

gde ๐‘ฆ oznacava prosek uzorka promenljive ๐‘ฆ.

Vrednost 1 koeficijenta determinisanosti oznacava potpuno podudaranje stvar-nih i predvidenih vrednosti. Sto je vrednost koeficijenta manja, to je poklapanjelosije. Cesto se kaze da ๐‘…2(w) predstavlja udeo varijanse vrednosti ciljne pro-menljive ๐‘ฆ koji model objasnjava. Smisao ovog tvrdenja je sledeci. Ukoliko seodreknemo modelovanja vrednosti ๐‘ฆ na osnovu nekih svojstava, najmanju sred-njekvadratnu gresku ocekujemo ukoliko uvek predvidamo vrednost ๐‘ฆ, tj. akokao prediktivni model za vrednosti ๐‘ฆ koristimo prosek opazenih vrednosti ๐‘ฆ๐‘–.Srednjekvadratna greska proseka je

๐ธ(๐‘ฆ) =1

๐‘

๐‘โˆ‘๐‘–=1

(๐‘ฆ๐‘– โˆ’ ๐‘ฆ)2

odnosno uzoracka varijansa za ๐‘ฆ. Rastojanja koja ulaze u ovu gresku prikazanasu na slici 11.11, levo.

U slucaju koriscenja linearnog regresionog modela, srednjekvadratna greskaili varijansa vrednosti ๐‘ฆ u odnosu na model jednaka je

๐ธ(w) =1

๐‘

๐‘โˆ‘๐‘–=1

(๐‘ฆ๐‘– โˆ’w ยท x)2

Rastojanja koja ulaze u ovu gresku prikazana su na slici 11.11, desno. Ova,preostala, varijansa se ne moze objasniti zavisnoscu od koriscenih svojstava,

Page 275: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

273 11. Nadgledano masinsko ucenje

0 1 2 3 4 5 6

0

1

2

3

4

5

6

0 1 2 3 4 5 6

0

1

2

3

4

5

6

Slika 11.11: Grafici gresaka u odnosu na prosek (levo) i u odnosu na model(desno).

odnosno tu preostalu varijansu mozemo smatrati neobjasnjenom. Njen kolicniksa ๐ธ(๐‘ฆ) moze se onda smatrati udelom neobjasnjene varijanse, a koeficijentdeterminisanosti udelom objasnjene varijanse.

Primer 11.16. Neka u primeru predvidanja telesne tezine na osnovu vi-sine, koeficijent determinisanosti iznosi 0.51. To znaci da promenljiva xobjasnjava oko pola varijanse promenljive ๐‘ฆ i da postoji prostor da se pre-dikcija dalje popravi dodavanjem novih svojstava.

11.8.2 Mere kvaliteta klasifikacije

Kvalitet klasifikacije zavisi od broja i vrste gresaka koje klasifikator pra-vi. Polazna tacka u definisanju mera kvaliteta klasifikacije je prepoznavanjemogucih ishoda rada klasifikatora. U nastavku razmatramo slucaj binarne kla-sifikacije, ali je to razmatranje moguce generalizovati i na veci broj klasa. Podstvarno pozitivnim instancama podrazumevamo pozitivne instance koje su odklasifikatora prepoznate kao pozitivne. Pod stvarno negativnim, instance kojesu negativne i prepoznate su kao negativne. Pod lazno pozitivnim podrazu-mevamo instance koje su negativne, ali su greskom u klasifikaciji proglasenepozitivnim i pod lazno negativnim podrazumevamo instance koje su pozitivne,ali su greskom klasifikovane kao negativne. Brojeve ovih instanci oznacavamoredom ๐‘†๐‘ƒ , ๐‘†๐‘ , ๐ฟ๐‘ƒ i ๐ฟ๐‘ . Ove brojeve obicno zapisujemo u takozvanoj ma-trici konfuzije koja po vrstama prikazuje kako su instance klasifikovane, a pokolonama prikazuje koje su stvarne klase instanci. Ova matrica je prikazana uvidu tabele 11.1.

Page 276: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.8. Evaluacija modela i konfigurisanje algoritama ucenja 274

P NKP ๐‘†๐‘ƒ ๐ฟ๐‘ƒKN ๐ฟ๐‘ ๐‘†๐‘

Tabela 11.1: Vrste matrice konfuzije u zbiru daju broj instanci koje su klasi-fikovane pozitivno (KP) i broj instanci koje su klasifikovane negativno (KN).Kolone u zbiru daju broj instanci koje su zaista pozitivne (P) ili negativne (N).

U slucaju problema klasifikacije, zbog svoje intuitivnosti, najcesce koriscenamera kvaliteta je tacnost (eng. accuracy).

Definicija 11.16 (Tacnost). Za datu matricu konfuzije modela, tacnostmodela predstavlja udeo tacno klasifikovanih medu svim instancama:

tacnost =๐‘†๐‘ƒ + ๐‘†๐‘

๐‘†๐‘ƒ + ๐ฟ๐‘ƒ + ๐‘†๐‘ + ๐ฟ๐‘. (11.7)

U primeru sa prepoznavanjem racunarskih clanaka, koristili smo upravo tacnostkao meru kvaliteta.

U nekim slucajevima tacnost nije adekvatna mera. Ukoliko postoje dve klasei jedna je znacajno manja od druge, moguce je dobiti visoku tacnost tako stoce se sve instance klasifikovati u vecu klasu. Takav je slucaj sa testovima kojiustanovljavaju da li je pacijent oboleo od neke bolesti. Ako bolest ima samo 1%ljudi u populaciji, test koji bi uvek prijavljivao da pacijent nema bolest imaobi tacnost od 99%, ali bi bio neupotrebljiv. Otud se koriste i druge mere. Dvecesto koriscene mere su preciznost (eng. precision) i odziv (eng. recall).

Definicija 11.17 (Preciznost i odziv). Za datu matricu konfuzije modela,preciznost modela predstavlja udeo stvarno pozitivnih instanci medu onimakoje su klasifikovane kao pozitivne:

๐‘๐‘Ÿ๐‘’๐‘ =๐‘†๐‘ƒ

๐‘†๐‘ƒ + ๐ฟ๐‘ƒ

a odziv modela predstavlja udeo instanci koje su klasifikovane kao pozitivnemedu onima koje zaista jesu pozitivne:

๐‘œ๐‘‘๐‘ง๐‘–๐‘ฃ =๐‘†๐‘ƒ

๐‘†๐‘ƒ + ๐ฟ๐‘

Intuitivno, prva mera nam kaze koliko cesto smo u pravu kada tvrdimo daje neka instanca od interesa, dok druga govori koliki udeo instanci od interesauspevamo da detektujemo. Pozeljno je da ove vrednosti budu sto vece. Svaka odove dve mere lako se maksimizuje odvojeno, te je uvek potrebno razmatrati ih

Page 277: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

275 11. Nadgledano masinsko ucenje

zajedno. Ako nikad ne tvrdimo da je neka instanca pozitivna, nikad ne gresimou pozitivnoj klasifikaciji i preciznost je jednaka 1 (implicitno definisemo da jeu ovom kontekstu 0/0 jednako 1), ali ce tada odziv biti 0. S druge strane, akosve instance proglasimo za pozitivne odziv je jednak 1, ali ce preciznost bitimala (jednaka udelu pozitivne klase). Kako je ponekad tesko razmatrati dvemere paralelno, posebno kada se zeli poredenje dva ili vise razlicitih modela,cesto se koristi njihova harmonijska sredina, takozvana ๐น1 mera. Harmonijskasredina bliza je nizoj od dve vrednosti koje se usrednjavaju, tako da se na tajnacin dobija stroza ocena od aritmeticke sredine. Primer konteksta u kojem seova mera koristi je pronalazenje dokumenata iz neke kolekcije koji odgovarajunekom upitu, na primer prilikom pretrage na vebu. Korisna je i jer, za razlikuod tacnosti, ne daje nerealisticnu sliku u slucaju neizbalansiranih klasa.

Primer 11.17. Neka je testirano 400 ispitanika. Od toga 5 imaju bolestzbog koje se testiraju, a ostali ne. Neka je test dao pozitivnu klasifikaci-ju u slucaju 3 osobe koje sve tri imaju bolest. Matrica konfuzije data jenarednom tabelom.

P NKP 3 0KN 2 395

Odavde se mogu izracunati mere kvaliteta:

tacnost =398

400= 0.995

๐‘๐‘Ÿ๐‘’๐‘ =3

3= 1

๐‘œ๐‘‘๐‘ง๐‘–๐‘ฃ =3

5= 0.6

๐น1 = 21 ยท 0.61 + 0.6

= 0.75

Tacnost je izuzetno visoka i sugerise odlicno ponasanje klasifikatora.Preciznost sugerise isto, ali poznavanje udela stvarno pozitivnih otkriva daje ovaj utisak lazan zato sto je identifikovan mali broj elemenata pozitivneklase. Kako ๐น1 mera uzima u obzir i preciznost i odziv i po njoj se vidi daklasifikator ipak nije dobar kao sto deluje na osnovu tacnosti.

Primer 11.18. Pretpostavimo da je potrebno razviti sistem koji prepo-znaje potencijalne teroriste medu putnicima na nekom aerodromu. Krozaerodrom prode dnevno oko 100000 putnika, a ocekivani broj potencijalnihterorista je, na primer, 4. Sistem procenu pravi na osnovu vise informaci-

Page 278: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.8. Evaluacija modela i konfigurisanje algoritama ucenja 276

ja, ukljucujuci starosnu dob putnika, drzavljanstvo, zemlje iz koje putuje izemlje u koju putuje, arhivu ekstremistickih pokreta i slicno. Svaki putnikoznacen kao potencijalni terorista mora da prode kroz detaljnu dodatnuproveru.

Ako bi sistem trivijalno za svakog putnika davao odgovor โ€žneโ€œ (tj. pro-cenu da nije potencijalni terorista), onda bi sistem imao odlicnu tacnost(99996/100000 = 99.996%), ali je jasno da je takav sistem potpuno besko-ristan. Upotrebljivost ovakvog sistema mora se proveriti kroz druge merekvaliteta. U ovom slucaju, preciznost je savrsena (jednaka 1) jer sistemnikoga nije pogresno oznacio kao teroristu, ali odziv je jednak 0, sto jasnoukazuje da je sistem beskorisan. ๐น1 mera je takode jednaka 0.

Upotrebljivost ima razlicite aspekte i ponekad postavlja suprotstavljenezahteve. U ovom konkretnom problemu, sa aspekta bezbednosti, potrebnoje da odziv bude jednak 1 ili sto blizi toj vrednosti. Da bi se to obezbedi-lo, potrebno je sprovoditi dodatne provere nad sto vecim brojem putnika.Medutim, s druge strane, sa aspekta aerodromske logistike i ugodaja putni-ka, potrebno je da i preciznost bude sto veca, jer nije moguce organizovatidodatni pregled za veliki broj putnika, niti je pozeljno izlagati putnike ne-prijatnosti i gubitku vremena.

Pretpostavimo da je ponasanje sistema opisano matricom konfuzije ko-ja je data u narednoj tabeli.

P NKP 3 5996KN 1 94000

Odatle se mogu izracunati mere kvaliteta:

tacnost =94003

100000= 0.94003

๐‘๐‘Ÿ๐‘’๐‘ =3

5999โ‰ˆ 0.0005

๐‘œ๐‘‘๐‘ง๐‘–๐‘ฃ =3

4= 0.75

๐น1 = 20.0005 ยท 0.75

0.7505โ‰ˆ 0.001

Tacnost je losija nego kod prethodnog, trivijalnog sistema, ali i daljedeluje visoka. Ipak, poredenjem ๐น1 mera moglo bi se zakljuciti da ovajsistem nije mnogo bolji od prethodnog sistema, ali se razlozi bolje videanalizom ostalih mera. Preciznost je ocito vrlo niska, a ni odziv verovatnonije dovoljno visok za prakticnu upotrebljivost ovakvog sistema.

Page 279: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

277 11. Nadgledano masinsko ucenje

11.8.3 Tehnike evaluacije i konfigurisanja algoritama ucenja

Pored izbora mere kvaliteta, bitno je izabrati i nacin na koji se ta meraocenjuje. Cesta praksa je da se model trenira na trening skupu, a da se evaluirana odvojenom skupu podataka za testiranje. Pritom se podela raspolozivihpodataka na podatke za trening i podatke za testiranje vrsi slucajnim izborompodataka za testiranje. Postoje i naprednije i pouzdanije tehnike evaluacije.

Iako nije ocigledno da je u vezi sa tehnikama evaluacije, u nastavku ce bitirazmotreno dugo odlagano pitanje izbora vrednosti regularizacionog hiperpa-rametra ๐œ†, kao i broja suseda ๐‘˜ i maksimalne dubine stabla odlucivanja za kojesmo najavili da cemo ih razmatrati skupa. Izbor vrednosti ovih parametarapredstavlja samo primer opstijeg problema konfigurisanja algoritama ucenja.U opstem slucaju, algoritmi ucenja se mogu podesavati na razlicite nacine, pricemu razlicite konfiguracije daju razlicite modele za iste ulazne podatke. Unastavku ce biti reci samo o izboru parametra ๐œ†, ali se diskusija odnosi i naprobleme konfigurisanja algoritama ucenja u opstijem smislu.

Za dati skup podataka, svakoj vrednosti parametra ๐œ† odgovara neka vred-nost optimalnih koeficijenata w๐œ† i samim tim neki model ๐‘“w๐œ†

(x). Postavlja sepitanje koji od ovih modela je najbolji. Osim ako je dostupna velika kolicina po-dataka, male vrednosti parametra ๐œ† uzrokuju lose rezultate zbog preprilagoda-vanja, a velike vrednosti uzrokuju lose rezultate zbog premale fleksibilnosti mo-dela. Pozeljne vrednosti parametra se obicno nalaze negde izmedu dva ekstre-ma. 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] je verovatno dovoljno sirok u vecini slucajeva. Po-tom se formira niz vrednosti parametra koje se ispituju. Na primer, cesto sekoristi geometrijska progresija ๐œ†1 = 10โˆ’10, ๐œ†2 = 10โˆ’9, . . . , ๐œ†16 = 105. Potom semodel za svaku od tih vrednosti evaluira i bira se najbolji. Ipak, postavlja sepitanje kako se vrsi evaluacija.

Prva ideja bi bila da se za svaku od izabranih vrednosti parametra izvrsitreniranje na trening skupu i da se dobijeni model evaluira na test skupu nekommerom kvaliteta i da se izabere najbolji od njih. Pazljivijim razmatranjem seuvida da je ovaj postupak pogresan. Naime, na ovaj nacin se podaci iz testskupa koriste pri izboru modela, sto je sve deo treninga i samim tim i onipredstavljaju deo trening skupa. Medutim, disjunktnost trening i test skupa jeosnovno pravilo evaluacije modela u masinskom ucenju. Korektan postupak bibio da se umesto podele ukupnog skupa podataka na trening i test skup izvrsinjegova podela na trening skup, validacioni skup i test skup. Tada se na treningskupu vrsi treniranje svakog od modela (dobijenih za razlicite vrednosti ๐œ†๐‘–),na validacionom skupu se vrsi evaluacija na osnovu koje se bira najbolji modeli potom se taj model evaluira na test skupu i tako dobijena mera predstavljafinalnu meru kvaliteta modela.

Hiperparametar koji se obicno ne bira pomocu validacionog, vec pomocutreining skupa je brzina ucenja. Naime, brzina ucenja bitno utice na postizanjei brzinu konvergencije procesa minimizacije greske. Kako se ta minimizacija

Page 280: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.9. Ilustracija prakticne primene masinskog ucenja 278

vrsi na trening skupu, na njemu se i posmatra njen napredak. Nasuprot tome,ostali hiperparametri (poput regularizacionog hiperparametra ili broja neuronai broja slojeva neuronske mreze) sustinski su vezani za kvalitet generalizacijemodela na druge podatke, te se oni biraju na validacionom skupu.

11.9 Ilustracija prakticne primene masinskog ucenja

Sirenje industrijskih primena metoda masinskog ucenja dovelo je do potre-be za olaksavanjem njihovog implementiranja i za nekim vidom standardizacijekoda. To je dovelo do razvoja velikog broja biblioteka koje olaksavaju rad sametodama masinskog ucenja, zahvaljujuci kojima korisnici sve rede sami imple-mentiraju izabrane algoritme. Umesto toga, koriste se gotove implementacije ikorisnici se fokusiraju na resavanje i modelovanje problema na nesto apstrakt-nijem nivou. Naredna diskusija i primer koji sledi stavljaju akcenat na metodenadgledanog ucenja i neuronske mreze, ali situacija je vrlo slicna i u drugimoblastima masinskog ucenja.

Jedna od najsire koriscenih biblioteka za masinsko ucenje je bibliotekascikit-learn koja pruza mogucnost korisnicima da na jednostavan nacin,cesto u svega nekoliko linija, primene sirok spektar algoritama i pomocnihalata. Ipak, ta jednostavnost dolazi i sa ogranicenjima koja su posebno vidljivau radu sa neuronskim mrezama, te su meduvremenu razvijene i druge, slozenijei fleksibilnije biblioteke.

Dostupne biblioteke za trening neuronskih mreza znacajno variraju po ni-vou apstrakcije koji omogucavaju korisniku. Neke od njih, poput pomenutebiblioteke scikit-learn, pokusavaju da definisanje mreze maksimalno pojed-nostave, po cenu znacajnih ogranicenja fleksibilnosti. U takvim bibliotekamaod korisnika se obicno ocekuje da jednoj ili manjem broju funkcija koje vrsetrening, kao argumente prosledi informacije o arhitekturi mreze (poput brojaslojeva, broja neurona po sloju i vrste aktivacione funkcije), osnovne hiperpa-rametre (poput brzine ucenja, regularizacionog hiperparametra i drugih), kao ipodatke na kojima je potrebno trenirati mrezu. Druge biblioteke, poput bibli-oteka TensorFlow i PyTorch, korisniku pruzaju maksimalnu fleksibilnost, pocenu potrebe za dubljim razumevanjem modela, strukture biblioteke i obim-nijeg pisanja programskog koda. U slucaju ovakvih biblioteka, korisnik piseprogramski kod kojim se definise arhitektura mreze, mehanizam ucitavanja ipretprocesiranja podataka, metoda za optimizaciju i procedura kojom se po-menuti elementi koriste kako bi se izvrsio trening, belezile statistike treningai vrsila validacija i testiranje modela. Ovaj pristup ilustrovan je detaljnije unastavku. Neke biblioteke kao sto je Keras, pokusavaju da pronadu srednji putizmedu ova dva ekstrema.

Primer treniranja neuronske mreze za klasifikaciju slika. Trenira-nje neuronske mreze je netrivijalan posao. Podsetimo se โ€” neuronska mrezaodredena je svojom arhitekturom i vrednostima parametara. Za datu arhitek-

Page 281: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

279 11. Nadgledano masinsko ucenje

Slika 11.12: Uzorak skupa podataka MNIST. Slika je preuzeta sa Vikipedije.

turu, vrednosti parametara dobijaju se minimizacijom greske. Izbor arhitekturepredstavlja veci izazov, pa ce u daljem tekstu akcenat biti na njemu. Sve fazetreniranja bice ilustrovane kodom u programskom jeziku Python uz koriscenjebiblioteke PyTorch. Proces treniranja bice ilustrovan u pojednostavljenom obli-ku na primeru prepoznavanja rukom pisanih cifara.

Za ilustraciju procesa treninga mreze bice koriscen skup MNIST, koji secesto koristi za poredenje razlicitih modela masinskog ucenja. Ovaj skup sadrzideset klasa, sa jednakim brojem slika, koje odgovaraju razlicitim ciframa. Slikesu crno-bele, dimenzija 28ร—28, ali se same cifre uklapaju u kvadrate dimenzija20ร— 20 u sredistu slike. Skup se sastoji se od 60000 instanci za trening i 10000instanci za testiranje. Uzorak skupa moze se videti na slici 11.12.

Podatke je obicno potrebno ucitati i na neki nacin transformisati u pogodanoblik. Naredni deo koda prikazuje jednostavan nacin da se sa interneta dopremeMNIST podaci, da se konvertuju u PyTorch tenzore i da se transformisu takoda vrednosti piksela imaju prosek 0 i standardnu devijaciju 1.

transform = Compose([transforms.ToTensor(),transforms.Normalize((0), (1))])

train_set = MNIST(root=โ€™./dataโ€™,train=True,download=True,transform=transform)

test_set = MNIST(root=โ€™./dataโ€™,train=False,download=True,transform=transform)

Page 282: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.9. Ilustracija prakticne primene masinskog ucenja 280

Izbor arhitekture i njeno podesavanje nosi sa sobom ozbiljnu opasnost odnepravilne evaluacije modela i najpre cemo se fokusirati na to pitanje. Kaosto je ranije receno, model se bira koriscenjem validacionog skupa (a ne ko-riscenjem test skupa). Validacioni skup kreira se kao reprezentativan podskuppolaznog trening skupa od 60000 instanci: novi trening skup cinice 50000 in-stanci, a validacioni skup cinice 10000 preostalih instanci. Ova podela sprovodise slucajnim izborom instanci, ali koristeci stratifikaciju, tako da svaka klasaima jednako instanci i u trening i u validacionom skupu.

targets = train_set.targetsindices = np.arange(len(targets))train_idx, valid_idx = train_test_split(indices,

test_size=1/6,shuffle=True,stratify=targets)

Funkcija train_test_split vraca indekse instanci (a ne same instance) izpolaznog skupu koje ce ciniti novi trening i validacioni skup. Poslednji korakkoji se tice pripreme podataka je definisanje objekata koji ce vrsiti ucitavanjepodataka u radnu memoriju u toku treninga. Usled podele trening skupa po-sredstvom skupova indeksa, definisanje ovih objekata za trening i validacioniskup je malo komplikovanije nego za test skup.

train_sampler = SubsetRandomSampler(train_idx)valid_sampler = SubsetRandomSampler(valid_idx)

train_loader = DataLoader(train_set,batch_size=50,sampler=train_sampler)

valid_loader = DataLoader(train_set,batch_size=len(valid_sampler),sampler=valid_sampler)

test_loader = DataLoader(test_set,batch_size=len(test_set))

Ucitavanje podataka vrsi se po zahtevu u glavnoj proceduri treninga i uovom kodu se pretpostavlja da ce biti isporucivani paketi od 50 instanci prisvakom takvom zahtevu. Naime, u kontekstu neuronskih mreza uobicajeno jeda se gradijentni spust ne primenjuje na ceo skup podataka, vec se u svakomkoraku racuna gradijent greske na nekom podskupu podataka. Jedan razlog zato je sto velicina podataka moze biti prevelika imajuci u vidu memorijska ogra-nicenja, ali ima i drugih koji se ticu brzine optimizacije i kvaliteta generalizacije(i u te razloge necemo ulaziti). Velicina podskupa cesto se meri desetinama ilistotinama. U nasem slucaju, koristice se velicina 50 (naknadno je provereno daje trening robustan na promene ove velicine, odnosno da se postizu prakticno

Page 283: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

281 11. Nadgledano masinsko ucenje

isti rezultati sa nesto vecim ili manjim vrednostima). Podskupovi se biraju takosto se instance trening skupa nasumice podele u podskupove zadate velicine ikoriste se nekim redom bez ponavljanja dok se ne iskoriste sve. Jedan prolazkroz sve podatke u toku optimizacije se naziva epohom. Sledeca epoha sastojise od novog prolaza. Kako se validacioni i test skup ne koriste pri gradijentnomspustu, a mogu da stanu u radnu memoriju, oni se u ovom primeru ucitavajuu celosti.

Namece se pitanje od kakve arhitekture krenuti i kako je modifikovati. Kakose radi o slikama, bice koriscena konvolutivna mreza. Filteri koji se koriste uobradi slika najcesce su dimenzija 3ร—3 ili 5ร—5. Probacemo da koristimo filteredimenzija 3ร— 3. Mreza bi trebalo da ima nekoliko slojeva kako bi bila u stanjuda konstruise nesto slozenije atribute i kako bi neuroni na visim slojevima uspe-li da obuhvate informacije sa veceg dela slike. Ukoliko se koriste 3 sloja i nakonsvakog se upotrebi agregacija dimenzija 2ร— 2, svi izlazi nakon poslednjeg slojaagregacije ce biti dimenzija 1ร—1 i mogu se proslediti potpuno povezanoj mrezi.Zato mozemo krenuti od mreze od 3 sloja konvolucija 3 ร— 3, pracenih agrega-cijama 2 ร— 2 i ReLU aktivacionim funkcijama. Pitanje je koliko filtera stavitiu svaki sloj. Tipicno se sa dubinom smanjuju dimenzije matrica koje su izlazikonvolutivnih slojeva, ali se povecava broj filtera kako bi se ocuvala informacijaiz polazne slike, te se broj filtera cesto udvostrucuje u odnosu na prethodni sloj.Krenucemo od minimalistickog dizajna i pretpostaviti da prvi sloj ima 2 filtera,drugi 4 i treci 8. Potpuno povezani sloj ce biti jedan i uvek ce imati onolikoulaza koliko ima filtera na poslednjem sloju i 10 izlaza, posto postoji 10 cifara.Ovakva arhitektura verovatno je premala za bilo kakve prakticne primene i neocekujemo da moze da se dovoljno prilagodi podacima, ali moze posluziti kaopolazna tacka u ovom jednostavnom primeru. Svaka sledeca arhitektura kojubudemo isprobali ce imati dvostruko vise filtera u prvom sloju nego prethodna,a svaki njen sloj ce imati dvostruko vise filtera nego prethodni. Arhitekturucemo birati tako sto cemo pratiti tacnost modela na validacionom skupu i po-vecavati arhitekturu dok dobijena tacnost raste. Na kraju cemo se opredilitiza arhitekturu koja postize maksimalnu tacnost na validacionom skupu. Takoizabranu arhitekturu na kraju cemo evaluirati na test skupu.

Polazna arhitektura definisana je narednim kodom. U konstruktoru se de-finisu konvolutivni slojevi, slojevi agregacije maksimumom i potpuno povezanisloj. Konvolutivni slojevi se definisu navodenjem broja ulaznih kanala, brojaizlaznih kanala i velicine kernela (u ovom slucaju uvek 3 ร— 3). Slojevi agrega-cije definisu se navodenjem dimenzija agregacije (u ovom slucaju uvek 2 ร— 2).Potpuno povezani sloj slika vrednosti poslednjih 8 kanala u 10 novih vredno-sti. U funkciji forward definise se izracuavanje koje mreza vrsi. Pored primenaslojeva definisanih u konstruktuoru primecuje se i primena ReLU atkviacionefunkcije. Primetimo da se funkcija softmax ne primenjuje u datom kodu. Na-ime, nju biblioteka sama izracunava pri izracunavanju unakrsne entropije kaofunkcije greske.

Page 284: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.9. Ilustracija prakticne primene masinskog ucenja 282

class Net(nn.Module):def __init__(self):

super(Net, self).__init__()self.conv1 = nn.Conv2d(1, 2, 3)self.conv2 = nn.Conv2d(2, 4, 3)self.conv3 = nn.Conv2d(4, 8, 3)self.pool1 = nn.MaxPool2d(2, 2)self.pool2 = nn.MaxPool2d(2, 2)self.pool3 = nn.MaxPool2d(2, 2)self.fc1 = nn.Linear(8, 10)

def forward(self, x):x = self.pool1(F.relu(self.conv1(x)))x = self.pool2(F.relu(self.conv2(x)))x = self.pool3(F.relu(self.conv3(x)))x = x.view(-1, 8)x = self.fc1(x)return x

Naredni kod instancira mrezu, funkciju greske i metod optimizacije. Kaofunkciju greske koristimo uobicajeni izbor unakrsne entropije. โ€žAdamโ€œ je upraksi cesto korisceno unapredenje gradijentnog spusta. Potrebno je prosleditimu parametre mreze i brzinu ucenja.

net = Net()loss_fn = nn.CrossEntropyLoss()optimizer = optim.Adam(net.parameters(), lr=0.001)

Brzina ucenja je vrlo bitan hiperparametar i u eksperimentima necemo ko-ristiti jednu fiksiranu vrednost kao u ovom primeru koda, vec cemo je biratiempirijski, isprobavsi razlicite vrednosti ovog hiperparametra. Konacno ce bitikoriscena ona koja najbrze smanjuje vrednost greske. Detalji ce biti prikazanikasnije.

Evaluacija modela vrsi se kako na validacionom skupu u toku treninga,tako i na test skupu na kraju celokupnog procesa treninga. U ovom primeruevaluacija se sastoji od izracunavanja tacnosti (definisane u poglavlju 11.8.2).Imajuci u vidu da su sve klase jednako bitne i da su sve podjednako zastuplje-ne u sva tri skupa, tacnost je adekvatna mera kvaliteta klasifikacije. Narednikod izracunava tacnost na nekom skupu podataka. Kontekst torch.no_grad()govori da se izracunavanja vrse bez cuvanja informacija koje algoritmu propa-gacije unazad sluze da izracuna gradijent (sto se u toku validacije i testiranjai ne radi).

Page 285: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

283 11. Nadgledano masinsko ucenje

def accuracy(model, data_loader):images, labels = next(iter(data_loader))with torch.no_grad():

outputs = model(images)_, predicted = torch.max(outputs.data, dim=1)correct = (predicted == labels).sum().item()return 100 * correct / labels.size(0)

Naredni kod prikazuje proceduru treninga. Koristicemo 10 epoha. Ako bise uocilo da tacnost i dalje raste u poslednjim epohama, trening bi mogao bitiproduzen. U svakoj epohi prolazi se kroz ceo trening skup i za svaki od podksu-pova na kojima se vrsi trening mreze radi se sledece: anulira se tekuca vrednostgradijenta, izracunavaju se izlazne vrednosti mreze, izracunava se greska, po-ziva se algoritam propagacije unazad i vrsi se korak optimizacije. Nakon sto jetrening u datoj epohi zavrsen, pre prelaska na sledecu, vrsi se validacija.

for epoch in range(10):for inputs, labels in train_loader:

optimizer.zero_grad()outputs = net(inputs)loss = loss_fn(outputs, labels)loss.backward()optimizer.step()

print(accuracy(net, valid_loader))

Na kraju celokupnog treninga, sto ukljucuje izbor arhitekture i svih hiperpa-rametara, testiranje se vrsi naredbom print(accuracy(net, test_loader)).

Varirajmo brzinu ucenja za polaznu arhitekturu sa dva filtera u prvomsloju. Vrednosti poput 1 su tipicno vrlo visoke, pa cemo isprobati niz vrednosti1, 0.1, 0.01, 0.001 i 0.0001, a ako bude potrebe, mozemo nastaviti dalje. Na slici11.13 prikazano je kako se smanjuje vrednost funkcije greske na trening skupukroz 10 epoha za razlicite brzine ucenja. Zarad racunske efikasnosti treninga,vrednost greske ๐‘’๐‘ก se u svakom koraku ๐‘ก izracunava samo na tekucem podskuputrening skupa (u nasem slucaju velicine 50). Takve vrednosti se uprosecavajuu svakom koraku tako sto se od tekuceg proseka ๐‘š๐‘กโˆ’1 izracunava novi poformuli ๐‘š๐‘ก = 0.9๐‘š๐‘กโˆ’1 + 0.1๐‘’๐‘ก. Na grafiku je prikazana ova vrednost na krajusvake epohe. Primecuje se da su vrednosti 1 i 0.1 toliko velike da se greskane smanjuje. Za sve ostale, greska se smanjuje, ali je vrednost 0.001 najbolja.Primetimo da je u slucaju vrednosti 0.0001 optimizacija sporija i stoga necemoni isprobavati manje vrednosti. U ovom primeru, brzina ucenja birana je naosnovu rezultata na trening skupu, a ne na validacionom skupu, za razliku odizbora drugih hiperparametera. Ova praksa diskutovana je u poglavlju 11.8.Na slici 11.14 je prikazano i ponasanje tacnosti na validacionom skupu, alizakljucak o brzini ucenja je isti.

Page 286: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.9. Ilustracija prakticne primene masinskog ucenja 284

0 1 2 3 4 5 6 7 8 9

0

1.0

2.0

3.0

100

10โˆ’1

10โˆ’2

10โˆ’3

10โˆ’4

Slika 11.13: Ponasanje funkcije greske na trening skupu kroz 10 epoha treningaza razlicite brzine ucenja.

0 1 2 3 4 5 6 7 8 9

0

20

40

60

80

100

100

10โˆ’1

10โˆ’2

10โˆ’3

10โˆ’4

Slika 11.14: Ponasanje tacnosti na validacionom skupu kroz 10 epoha treningaza razlicite brzine ucenja.

Page 287: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

285 11. Nadgledano masinsko ucenje

0 1 2 3 4 5 6 7 8 9

0

20

40

60

80

100

2

4

8

16

32

64

Slika 11.15: Ponasanje tacnosti na validacionom skupu kroz 10 epoha treningaza razlicite velicine arhitekture. Brojevi u legendi predstavljaju broj konvolu-tivnih filtera u prvom sloju mreze.

Za svaku velicinu arhitekture koju cemo isprobati, koristicemo prethodninacin izbora brzine ucenja i taj postupak nadalje necemo komentarisati. Na slici11.15 prikazano je ponasanje tacnosti na validacionom skupu kroz 10 epoha zarazlicite velicine arhitekture. U svim slucajevima osim za najmanju arhitekturu,ucenje je zavrsavano u 10 epoha. Arhitekture sa 32 i 64 filtera u prvom slojuocito se ponasaju najbolje, ali se sa povecanem sa 32 na 64 ne dobija na tacnosti.Isti rezultat โ€” 98.85%, dobija se i sa 128 filtera u prvom sloju, tako da cemose odluciti za 32. Konacno, evaluiranjem na test skupu modela naucenog saovom arhitekturom dobija se tacnost od 98.57%. Ona odgovara tacnosti savalidacionog skupa, sto znaci da izabrani model dobro generalizuje.

Treba imati u vidu da je prethodni postupak pojednostavljen i da je zaresavanje realnih problema, ipak potrebno vise znanja i iskustva. Najcesce seumesto samostalnog dizajna arhitekture koriste vec postojece arhitekture, kojesu cesto definisane u razlicitim velicinama, tako da je moguce, u prethodnoopisanom duhu, birati jednu od njih. Cesto se koriste i modeli koji su vecistrenirani na nekom bogatom skupu slika, pa se samo prilagodavaju skupukojim raspolaze korisnik. Slicna je situacija i u slucaju drugih vrsta podataka.

11.10 Primeri primena nadgledanog ucenja

Primeri prakticnih primena nadgledanog ucenja su u poslednjoj deceniji svebrojniji. Najuzbudljivije i prakticno najvaznije primene odnose se na neuronskemreze, pa ce i akcenat u daljem tekstu biti na njima, pre svega na obradi slikai teksta. Ipak, bice diskutovane i primene drugih metoda.

Page 288: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.10. Primeri primena nadgledanog ucenja 286

11.10.1 Prepoznavanje rukom pisanih cifara

Problem prepoznavanja rukom pisanih cifara predstavlja โ€žhello worldโ€œ pro-blem za neuronske mreze. On je specijalan slucaj opstijeg problema prepoznava-nja rukom pisanog teksta i vazan je u mnogim kontekstima, poput digitalizacijepisanog teksta, prepoznavanja teksta na tabletima i slicno. Kao skup podatakau epskerimentima vezanim za ovaj problem obicno se koristi vec pomenuti skupMNIST sa 60000 slika za trening i 10000 slika za testiranje, dimenzija 28ร— 28.

Na ovom skupu testirano je, tokom prethodnih godina, mnogo razlicitihtehnika masinskog ucenja. Rani, jednostavniji pristupi, pravili su relativno ve-like greske. Na primer, neuronska mreza bez skrivenih slojeva imala je tacnostod 88%, a sa dodatnim pretprocesiranjima podataka tacnost 91.6%. Metod๐‘˜ najblizih suseda sa euklidskim rastojanjem postigao je 95% tacnosti, a uzodredeno pretprocesiranje podataka i izmenu metrike cak 98.8%. Potpuno po-vezana mreza sa 5 skrivenih slojeva (sa 500 do 2500 neurona po sloju) i do-datnim pretprocesiranjima podataka postigla je tacnost od 99.6%. Od potpunopovezanih mreza sa jednim ili dva skrivena sloja moze se ocekivati tacnost odoko 98%. Konvolutivne neuronske mreze lako postizu tacnost od preko 99%i bez pretprocesiranja podataka, sto je i ocekivano imajuci u vidu da su na-menjene obradi slika. Najbolji rezultat prikazan na zvanicnoj strani MNIST-apostignut je od strane skupa od 35 dubokih konvolutivnih mreza koje su gla-sanjem vrsile klasifikaciju i iznosi 99.8%. Imajuci u vidu dostignute procente,moze se smatrati da je ovaj problem lak. Ipak, treba imati u vidu da je skuppodataka pazljivo sastavljen i da bi u realisticnijem kontekstu bio tezi. Naprimer, prepoznavanje cifara sa fotografija papira pri razlicitim osvetljenjima,odstojanjima i slicno sigurno bi predstavljalo veci izazov.

Razmotrimo primer jedne konkretne arhitekture, nesto pojednostavljenuvarijaciju mreze LeNet-5 iz 1998. godine. Ova arhitektura prikazana je she-matski na slici 11.16. Sastoji se od dva konvolutivna sloja isprepletana sa dvasloja agregacije, iza kojih slede tri potpuno povezana sloja. Prvi konvolutivnisloj sastoji se od 6 filtera dimenzija 5 ร— 5, a drugi od 16 filtera istih dimenzi-ja. Oba sloja agregacije vrse agregaciju uprosecevanjem dimenzija 2 ร— 2, takoda su njihovi izlazi dvostruko manjih dimenzija nego ulazi. Potpuno povezanislojevi imaju 120, 84 i 10 neurona. Aktivacione funkcije na svim nivoima osimposlednjeg su hiperbolicki tangens, a na poslednjem softmax. Primetimo da sudimenzije ulaza 32 ร— 32, iako su slike u MNIST skupu dimenzija 28 ร— 28, aunutar njih sam broj staje u centralnu oblast dimenzija 20 ร— 20. Postavlja sepitanje zasto je bilo potrebno ovakvo prosirivanje ulaza. Svaki neuron u prvomnivou slike โ€žvidiโ€ 5 ร— 5 vrednosti iz ulazne slike. Neuroni koji su u slojevimablizim izlazu โ€žvideโ€ vece delove slike jer vrse izracunavanja nad izlazima viseneurona prethodnog sloja. Deo slike koji neuron โ€žvidiโ€ naziva se receptivno po-lje. Prosirivanje slike na dimenzije 32ร— 32 vrsi se kako bi se osiguralo da je zasvaki sloj, svaki piksel iz centralnog kvadrata dimenzija 20 ร— 20 u centru re-ceptivnog polja nekog neurona. Ova arhitektura postigla je tacnost od 98.6%.Originalna, nesto komplikovanija, meza LeNet-5, postigla je tacnost od 99.1%

Page 289: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

287 11. Nadgledano masinsko ucenje

Slika 11.16: Arhitektura mreze LeNet-5 (slika je preuzeta iz izvornog rada uzmodifikacije [9]).

11.10.2 Detekcija objekata na slikamaPrepoznavanje objekata na slikama je problem od velikog prakticnog znacaja.

U autonomnoj voznji bitno je prepoznati druge ucesnike u saobracaju, sao-bracajne znake i slicno. Prepoznavanje lica moze sluziti identifikaciji ljudi urazlicite svrhe (koje se mogu smatrati legitimnim ili ne). Pristupi resavanjuovih problema su raznovrsni. Ovde ce biti diskutovan jedan pristup, poznatijikao YOLO (you only look once), poznat po svojoj brzini i preciznosti.13 Primerdetekcije objekata dat je na slici 11.17.

Slika 11.17: Detekcija objekata na slici pomocu YOLO mreze (slika je preuzetaiz izvornog rada [17]).

YOLO pretpostavlja da se slika deli na ๐‘† ร— ๐‘† disjunktnih pravougaonihcelija, kao sto je prikazano na slici 11.18 (levo). Svaka celija zaduzena je za de-tekciju jednog objekta ciji je centar u njoj. Za celiju je vezan konvolutivni klasi-fikator kojim se objekat prepoznat u toj celiji klasifikuje u jednu od kategorija,pritom dajuci informaciju o verovatnoci te klasifikacije. Klasifikacija je ilustro-vana slikom 11.18 (dole). Pored toga, za svaku celiju vezano je ๐ต regresionihkonvolutivnih modela cija je svrha da predvide pouzdanost pomenute detekcije

13Ovaj sistem ima vise verzija. Akcenat nije na njegovim najmodernijim detaljima, vecna osnovnom pristupu.

Page 290: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.10. Primeri primena nadgledanog ucenja 288

objekta, kao i pravougaonik14 koji sadrzi ceo objekat od znacaja (za razliku odpravougaonika koji definise celiju i koji treba da sadrzi centar objekta). Pra-vougaonik se predvida predvidanjem ๐‘ฅ i ๐‘ฆ koordinata centra pravougaonika injegove sirine i visine. Predvideni pravougaonici prikazani su na slici 11.18 (go-re). Pouzdanost predvidanja definise se kao proizvod dve relevantne velicine.Prva je verovatnoca koju daje klasifikator i koja odrazava sigurnost klasifika-tora u predlozenu klasu objekta. Druga je kolicnik povrsina preseka i unijepredvidenog pravougaonika i stvarnog pravougaonika koji obuhvata objekat naslici โ€“ IoU (eng. intersection over union). Ona odrazava preciznost detekcije.Na ovaj nacin se pojedinacne pouzdanosti klasifikacije i preciznosti detekcijeobjedinjuju u jedan skor koji odrazava ukupan kvalitet detekcije, koji mrezatakode predvida. Imajmo u vidu da, posto se radi o nadgledanom ucenju, svevelicine koje model treba da predvidi moraju u vreme treninga biti date upodacima iz kojih se uci. Iz prethodnog opisa je jasno da broj objekata kojeYOLO moze da detektuje zavisi od broja celija ๐‘† ร— ๐‘†, pa je taj broj znacajanhiperparametar. Primer pravougaonika vezanih za celiju moze se videti na slici11.18 (levo), a gruba shema modela vezanog za celiju na slici 11.19.

Slika 11.18: Ilustracija rada YOLO mreze (slika je preuzeta iz izvornog rada[17]). Levo je prikazana ulazna slika izdeljena na celije. Dole su razlicitim bo-jama prikazane razlicite klase objekata koji se prepoznaju u svakoj celiji. Goresu prikazana predvidanja svih pravougaonika koji obuhvataju objekte, pritomse znacajno preklapajuci. Desno je prikazan finalni izlaz nakon izbora manjegbroja relevantnih pravougaonika.

Pri primeni modela, dolazi do znacajnog preklapanja velikog broja pravo-ugaonika (kao sto prikazuje slika 11.18) koji mogu prepoznavati iste ili raz-licite objekte, sa razlicitim pouzdanostima. Heuristika koja se koristi kako bise otklonio ovaj problem podrazumeva sortiranje predlozenih pravougaonikapo pouzdanosti i njihovu selekciju na sledeci nacin. Bira se pravougaonik sa

14Podrazumeva se da su strane pravougaonika paralelne kooridnatnim osama.

Page 291: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

289 11. Nadgledano masinsko ucenje

celija(1,1)

. . .

celija(S,S)

automobil: 0.05osoba: 0.10. . .kamion: 0.02

(๐‘ฅ, ๐‘ฆ, ๐‘ค, โ„Ž) pouzdanost+

(๐‘ฅ, ๐‘ฆ, ๐‘ค, โ„Ž) pouzdanost+

YOLO

Slika 11.19: Shema modela pridruzenog celiji.

najvecom pouzdanoscu, koji se zadrzava. Odbacuju se svi pravougaonici cijije IoU skor sa tim pravougaonikom veci od nekog unapred odabranog praga.Postupak se nastavlja nad preostalim pravougaonicima dok se svi ne obrade.Izabrani pravougaonici cine predvidanje modela. Ilustrovani su slikom 11.18(desno).

YOLO objedinjuje vise klasifikacionih i regresionih modela. Za svaku celijupostoji vise regresionih modela i jedan klasifikacioni. Regresioni modeli u jednojceliji obicno se ne slazu i ne bi ni imalo smisla da se slazu jer bi u tom slucajubio dovoljan jedan. Postavlja se pitanje kako ovakav model treba trenirati.Pre svega, podaci treba da budu obelezeni tako da su dati svi pravougaoniciod znacaja i tacne klase objekata u tim pravougaonicima. Za svaki od datihpravougaonika postoji regresioni model koji daje pravougaonik koji se najvisepreklapa sa datim pravougaonikom. Taj model je odgovoran za dati pravougao-nik. Informacija o gresci u odnosu na dati pravougaonik uticace samo na modelkoji je odgovoran za njega. To dovodi do toga da ce se razliciti modeli vezaniza istu celiju specijalizovati za objekte razlicitih dimenzija (neki za male, nekiza velike, neki za horizontalno izduzene, neki za vertikalno izduzene i slicno).

Definisimo funkciju greske. Oznaka 1๐‘–๐‘— oznacava vrednost 1 ako je za obje-kat u celiji ๐‘– (celija moze detektovati najvise jedan objekat) odgovoran ๐‘—-tiregresioni model, a 0 u suprotnom. Oznaka 1๐‘– slicno oznacava da li se u celiji ๐‘–nalazi objekat. Vrednosti ๐‘ฅ๐‘– i ๐‘ฆ๐‘– su stvarne koordinate centara pravougaonikakoji obuhvataju objekat ciji je centar u ๐‘–-toj celiji, a ๏ฟฝ๏ฟฝ๐‘–๐‘— i ๐‘ฆ๐‘–๐‘— predvidanja odstrane ๐‘—-tog regresionog modela vezanog za tu celiju. Analogno vazi za visinui sirinu โ„Ž๐‘– i ๐‘ค๐‘–. Za klasu ๐‘—, ๐‘ƒ (๐‘—|๐‘–) oznacava predvidenu verovatnocu klase ๐‘— zaobjekat u ๐‘–-toj celiji (moze imati proizvoljnu vrednost ukoliko se u toj celijine nalazi objekat). ๐‘๐ถ je ukupan broj klasa. ๐‘๐‘–๐‘— je 1 ukoliko objekat u celiji๐‘– stvarno pripada klasi ๐‘—, a 0 u suprotnom (moze imati proizvoljnu vrednost

Page 292: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.10. Primeri primena nadgledanog ucenja 290

ukoliko se u toj celiji ne nalazi objekat). ๐ถ๐‘–๐‘— oznacava stvarnu pouzdanost (IoUskor stvarnog i predvidenog pravougaonika pomnozen verovatnocom najvero-vatnije klase) za ๐‘—-ti predvideni pravougaonik u ๐‘–-toj celiji, a ๐ถ๐‘–๐‘— odgovarajucupredvidenu pouzdanost. Greska modela data je izrazom:

๐œ†๐‘๐‘

๐‘†2โˆ‘๐‘–=1

๐ตโˆ‘๐‘—=1

1๐‘–๐‘—

[(๐‘ฅ๐‘– โˆ’ ๏ฟฝ๏ฟฝ๐‘–๐‘—)

2 + (๐‘ฆ๐‘– โˆ’ ๐‘ฆ๐‘–๐‘—)2]

+๐œ†๐‘๐‘

๐‘†2โˆ‘๐‘–=1

๐ตโˆ‘๐‘—=1

1๐‘–๐‘—

[(โˆš๐‘ค๐‘– โˆ’

โˆš๏ฟฝ๏ฟฝ๐‘–๐‘—)

2 + (โˆšโ„Ž๐‘– โˆ’

โˆšโ„Ž๐‘–๐‘—)

2

]

+๐œ†๐‘๐‘œ๐‘›๐‘“

๐‘†2โˆ‘๐‘–=1

๐ตโˆ‘๐‘—=1

1๐‘–๐‘—(๐ถ๐‘–๐‘— โˆ’ ๐ถ๐‘–๐‘—)2

+๐œ†๐‘›๐‘๐‘œ๐‘›๐‘“

๐‘†2โˆ‘๐‘–=1

๐ตโˆ‘๐‘—=1

(1โˆ’ 1๐‘–๐‘—)(๐ถ๐‘–๐‘— โˆ’ ๐ถ๐‘–๐‘—)2

+๐œ†๐‘๐‘™๐‘Ž๐‘ ๐‘ 

๐‘†2โˆ‘๐‘–=1

1๐‘–

๐‘๐ถโˆ‘๐‘—=1

๐‘๐‘–๐‘— log๐‘ƒ (๐‘—|๐‘–)

(11.8)

Podsetimo, ๐‘†2 je broj celija, ๐ต broj regresionih modela po celiji, a ๐‘๐ถ brojklasa. Poslednji sabirak predstavlja vec diskutovanu unakrsnu entropiju. Hiper-parametri ๐œ† omogucavaju podesavanje tezina razlicitih delova greske. Primeti-mo da prethodni izraz ne daje istu tezinu greskama u pouzdanosti za modelekoji su odgovorni za neke objekte i za one koji to nisu. Kako ce vecina celijaobicno biti prazna, a medu onima koje sadrze objekat, samo ce jedan modelbiti odgovoran za njega, dolazi do neizbalansiranosti broja sabiraka izmeduove dve grupe modela. Koriscenje odvojenih hiperparametara omogucava da seizbalansiraju redovi velicine ovih izraza. I na kraju, dimenzije pravougaonikasu korenovane kako bi se povecala preciznost u detekciji malih objekata. Nai-me, ukoliko koren ne bi bio primenjen, greske u predvidanju dimenzija velikihobjekata bi drasticno dominirale u odnosu na greske u predvidanju dimenzijamalih objekata, sto bi znacajno narusilo preciznost njihove detekcije.

Da sumiramo, svaka celija detektuje najvise jedan objekat za koji predvidaklasu, pravougaonik u kojem se nalazi i pouzdanost. Posebna funkcija greskekombinuje vrednosti gresaka koje se prave u klasifikaciji, lokalizaciji objektai u proceni pouzdanosti detekcije. U ovom opisu nismo diskutovali konkretnuarhitekturu mreze posto detalji arhitekture nisu jednoznacno definisani.

11.10.3 Prepoznavanje poze sa slikaJedna od primena konvolutivnih mreza je i prepoznavanje poza u kojima se

osobe nalaze na slikama. Primer prepoznatih poza dat je na slici 11.20. Jedan odkljucnih elemenata u resavanju ovog problema je odredivanje pozicija zglobova.

Page 293: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

291 11. Nadgledano masinsko ucenje

Slika 11.20: Primer prepoznavanja poza na slici (slika je preuzeta iz izvornograda [4]).

Ipak, pozicije zglobova nisu dovoljne za odredivanje poze. Naime, pitanje je kojizglob treba povezati sa kojim. Cak i u slucaju da se na slici nalazi samo jednaosoba i da su poznate lokacije svih njenih zglobova, iako je jasno da trebapovezati njeno koleno sa clankom, u nekim pozama clanak jedne noge mozebiti blizi kolenu druge, pa moze doci do greske. U slucaju da slika sadrzi vecibroj osoba, ovaj problem jos je izrazeniji. Zato je, pored detektovanja zglobova,potrebno predvideti i orijentacije delova tela (podlaktice, potkolenice, itd).

Metod OpenPose vrsi prepoznavanje poze tela u dve faze. U prvoj faziodreduje pozicije zglobova i orijentacije delova tela, a u drugoj fazi povezujezglobove i tako vrsi prepoznavanje poze. Na masinskom ucenju zasnovana je ovaprva faza i ona ce biti grubo opisana u nastavku. Koristi se konvolutivna mrezakoja se trenira na mnostvu slika i rucno napravljenih izlaza โ€” slika na kojimasu pogodno oznacene pozicije zglobova i orijentacije delova tela. Za svaku novuulaznu sliku, model daje dve vrste izlaza: mape pouzdanosti i vektorska polja.Pozicije zglobova odreduju se mapama pouzdanosti, a orijentacije delova telavektorskim poljima. Postoji po jedna mapa pouzdanosti za svaku vrstu zglobai to je slika istih dimenzija kao sto je ulazna. Konkretno, mapa koja odgovaralevom laktu detekuje leve laktove svih ljudi na zadatoj ulaznoj slici, a mapakoja odgovara levom ramenu detektuje sva leva ramena na zadatoj ulaznojslici. Mapa pouzdanosti ima visoku vrednost tamo gde je najverovatnije da sena slici nalazi konkretan zglob, a nisku tamo gde to nije verovatno. Postojipo jedno vektorsko polje za svaki deo tela (na primer, desna podlaktica) i onosvakom pikselu ulazne slike pridruzuje dvodimenzioni vektor koji predstavljakoordinate vektora koji odrะตduje kako je orijentisan deo tela kojem taj pikselpripada. Ovo je ilustrovano na slici 11.21.

Kao funkcija greske za obe vrste predvidanja koristi se kvadratna greskaizmedu predvidene i stvarne vrednosti kako za mapu pouzdanosti, tako i zavektorska polja koja odreduju orijentaciju delova tela.

U drugoj fazi, metod OpenPose na osnovu dobijenih mapa pouzdanosti i

Page 294: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.10. Primeri primena nadgledanog ucenja 292

Slika 11.21: Primer ulazne slike (levo), mapa pouzdanosti za dve vrste zglo-ba (gore desno) i vektorskog polja koje definise orijentaciju dela tela koji ihpovezuje (dole desno) (slika je preuzeta iz izvornog rada [4]).

vektorskih polja odreduje sta se sa cime povezuje. To nije trivijalno uraditicak ni kad su raspolozive savrsene mape pouzdanosti i vektorska polja. Ovajproblem moze se modelovati kao NP-tezak problem kombinatorne optimizacije(gde je dimenzija problema ukupan broj zglobova svih osoba na slici). Za njegapostoji efikasno aproksimativno resenje ciji je kvalitet dovoljan za prakticnepotrebe, ali nece biti ovde opisan.

11.10.4 Masinsko prevodenje i srodni problemi

Rekurentne mreze najcesce nalaze svoju primenu u obradi prirodnog jezi-ka. Jedna od najzanimljivijih takvih primena je masinsko prevodenje tekstasa jednog jezika na drugi. Prvo ce biti opisan nacin na koji se vrsi masinskoprevodenje pomocu rekurentnih mreza, a onda ce biti dat osvrt na to kako se naslicnan nacin mogu resiti problemi sumiranja teksta i opisivanja slika tekstom.

Osnova masinskog prevodenja pomocu neuronskih mreza je enkoder-dekoderarhitektura. Sastoji se od dve rekurentne mreze. Prva se naziva enkoderom iuloga joj je da procita ulaznu recenicu (ukljucujuci znak za kraj recenice) i dau poslednjem koraku pruzi njenu reprezentaciju u vidu vektora fiksne dimen-zije โ€“ svog skrivenog stanja. Druga se naziva dekoder i uloga joj je da polazeciod tog vektora kao svog inicijalnog skrivenog stanja, generise prevod polaznerecenice na drugi jezik (ukljucujuci znak za kraj recenice). Ova arhitektura (urazmotanom obliku) ilustrovana je na slici 11.22.

Ako je x1, . . . ,x๐‘‡ polazna recenica, c reprezentacija generisana od straneenkodera, a y1, . . . ,y๐‘‡ โ€ฒ tacan prevod, ucenje se vrsi maksimizovanjem verodo-

Page 295: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

293 11. Nadgledano masinsko ucenje

Slika 11.22: Ilustracija enkoder-dekoder arhitekture (slika je preuzeta iz izvor-nog rada [21]). Slova ๐ด, ๐ต i ๐ถ predstavljaju ulazne reci, a ๐‘Š , ๐‘‹, ๐‘Œ i ๐‘ izlaznereci, a ๐ธ๐‘‚๐‘† kraj sekvence.

stojnosti parametara w:

๐‘ƒw(y1, . . . ,y๐‘‡ โ€ฒ |x1, . . . ,x๐‘‡ ) =

๐‘‡ โ€ฒโˆ๐‘ก=1

๐‘ƒw(y๐‘ก|c,y1, . . . ,y๐‘กโˆ’1)

Pritom, raspodela ๐‘ƒw(y๐‘ก|c,y1, . . . ,y๐‘กโˆ’1) se definise pomocu funkcije softmaxnad izlazima mreze. Naravno, kao i ranije, ne maksimizuje se verodostojnost,vec se minimizuje negativna vrednost logaritma verodostojnosti u odnosu naneki skup parova recenica na dva razlicita jezika.

U ranim eksperimentima sa ovim modelom, ustanovljeno je da lakse ucikada se obrne redosled reci ulazne recenice, posto je za generisanje prvih reciprevoda potrebno imati informacije iz prvih reci ulazne recenice, koje su pou-zdanije sacuvane u skrivenom stanju enkodera ukoliko se te reci pojave na kraju.Naravno, ovo znaci da ce generisanje poslednjih reci prevoda biti teze. Trebaimati u vidu da je ovaj problem svojstven i coveku. Naime, kada procitamorecenicu na jednom jeziku, ako je ona duga i komplikovana, nije nam lako daje celu prevedemo odjednom na drugi jezik. Obicno cemo u toku prevodenja svremena na vreme obracati paznju na razlicite delove ulazne recenice dok nekompletiramo prevod. Ovo je inspirisalo mehanizam paznje (eng. attention) ko-ji danas predstavlja nezaobilazan deo neuronskih modela za obradu prirodnogjezika. Objasnicemo ga detaljnije. Neka su h1, . . . ,h๐‘‡ skrivena stanja enkodera.Prethodni model koristi samo poslednje stanje enkodera i koristi ga da inicija-lizuje prvo stanje dekodera. Umesto toga, mehanizam paznje pretpostavlja dase izlaz generise na osnovu stanja dekodera s๐‘– i vektora konteksta c๐‘– koji seracuna u svakom koraku na sledeci nacin:

c๐‘– =

๐‘‡โˆ‘๐‘—=1

exp(๐‘Žw(s๐‘–,h๐‘—))โˆ‘๐‘‡๐‘˜=1 exp(๐‘Žw(s๐‘–,h๐‘˜))

h๐‘—

Primetimo da su vrednosti

exp(๐‘Žw(s๐‘–,h๐‘—))โˆ‘๐‘‡๐‘˜=1 exp(๐‘Žw(s๐‘–,h๐‘˜))

Page 296: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.10. Primeri primena nadgledanog ucenja 294

nenegativne i da u zbiru daju vrednost 1. Otud vektor c๐‘– predstavlja tezinskiprosek stanja enkodera. Kojim stanjima ce biti data veca tezina, odnosno na ko-je delove ulazne recenice ce biti obracena paznja, zavisi od vrednosti ๐‘Žw(s๐‘–,h๐‘—).Funkcija ๐‘Žw predstavlja potpuno povezanu neuronsku mrezu cija je uloga daprepozna relevantna stanja enkodera h๐‘— za dato stanje dekodera s๐‘– i da im pri-druzi vecu vrednost. Kako sada dekoder ima pristup svim skrivenim stanjimaenkodera i ima mehanizam njihovog izbora (mehanizam paznje) u svakom kora-ku, posao enkodera je znacajno olaksan โ€“ vise nije neophodno da sve relevantneinformacije, ukljucujuci one sa pocetka recenice, budu sacuvane u jednom vek-toru.

Za treniranje ovog modela koriscen je dvojezicni paralelni korpus koji svakurecenicu uparuje sa njenim prevodom. Ukupna velicina korpusa bila je 348miliona reci. Korpusi pomocu kojih se treniraju najnoviji modeli za prevodenjei razne druge poslove obrade prirodnog jezika su znacajno veci.

Vrlo slicni modeli predstavljaju osnovu i za problem sumiranja teksta โ€“generisanje kratkih sazetaka teksta koji sadrze najvaznije informacije iz njega.Taj problem moze se smatrati problemom masinskog prevodenja na isti jeziksa gubitkom. Otud i slicnost osnovnog mehanizma.

Jos jedan srodan problem je opisivanje slika. Naime, o tom problemu moze serazmisljati kao o problemu prevodenja sa โ€ž jezika slikeโ€œ na, recimo, srpski jezik.Pritom se enkoder implementira pomocu konvolutivne mreze koja predstavljaprirodan izbor za obradu slika. Poslednji sloj mreze predstavlja skriveno stanjekoje se predaje dekoderu.

Ovi primeri ukazuju na jedan zanimljiv opstiji zakljucak โ€“ skriveno stanjepredstavlja znacenje ulaznog sadrzaja. Enkoder ekstrahuje to znacenje iz ulaznereprezentacije, a dekoder ga transformise u izlaznu reprezenzaciju. Postoji josargumenata koji opravdavaju razmisljanje o vektorskim reprezenzacijama kojedaju skrivena stanja enkodera kao o znacenju i javljaju se i u mnogim drugimkontekstima. Na primer, uoceno je da je vektorska aritmetika nad tim repre-zentacijama cesto saglasna sa znacenjima ulaznih objekata. Konkretno, ako sua,b, c,d vektorske reprezentacije (dobijene iz enkodera) reci Pariz, Francuska,Rim i Italija, ispostavlja se da vazi a โˆ’ b + d โ‰ˆ c, iako enkoder uopste nijetreniran da prepoznaje relaciju glavni grad, vec je treniran na velikom neobe-lezenom skupu podataka samo pokusavajuci da za svaku rec sto bolje pogodireci u njenoj okolini pri svakom njenom pojavljivanu u tekstu. Stavise, istozapazanje vazi i za mnoge druge relacije i cak je na ovaj nacin moguce odgo-varati na pitanja o analogijama. Ovo i druga slicna zapazanja stvorila su novupodoblast obrade prirodnog jezika โ€“ razumevanje prirodnog jezika, ali daljadiskusija na tu temu izlazi iz okvira ove knjige.

11.10.5 Klasifikacija teksta algoritmom ๐‘˜ najblizih susedaMnoge metode masinskog ucenja, pa i algoritam ๐‘˜ najblizih suseda, for-

mulisane su tako da se jednostavno primenjuju na numericke podatke, alitesko na tekst. Rekurentne mreze prirodno rade sa tekstualnim podacima, ali

Page 297: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

295 11. Nadgledano masinsko ucenje

nose mnostvo tehnickih izazova poput hardverske zahtevnosti i trikova kojiolaksavaju trening i, pored toga, traze velike kolicine podataka. Otud ne mora-ju u svim primenama biti prvi izbor. Kako bi se primenili stariji i jednostavnijialgoritmi, potrebni su nacini da se tekstualni podaci predstave u numerickomobliku. U obradi teksta, proteinskih sekvenci i slicnih podataka, cesto se zapredstavljanje podataka u numerickom obliku koriste ๐‘›-gramski profili.

Ako je data niska ๐‘† = ๐‘ 1๐‘ 2 . . . ๐‘ ๐‘ nad azbukom ฮฃ, gde je ๐‘ pozitivan ceobroj, ๐‘›-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.

๐‘ -gramski profil niske je lista uredenih parova (๐‘›-gram, frekvencija), gdesu frekvencije izracunate za sve ๐‘›-grame niske.

Osnovne prednosti koriscenja ๐‘›-grama su robusnost (na primer, nisu mnogoosetljivi na greske u kucanju ili na pojavljivanje reci u razlicitim gramatickimoblicima), nezavisnost od domena koji se analizira, efikasnost (dovoljan je jedanprolaz kroz tekst) i jednostavnost. Mana je eksponencijalna zavisnost brojamogucih ๐‘›-grama u odnosu na duzinu ๐‘›-grama.

๐‘ -gramski profili uspesno se koriste u razlicitim primenama koje ukljucujuprepoznavanje autorstva tekstova, prepoznavanje jezika kojim je tekst pisan,prepoznavanje govora i odredene probleme iz oblasti bioinformatike. ๐‘›-gramskiprofili cesto se koriste u sadejstvu sa metodom ๐‘˜ najblizih suseda.

Razmotricemo na konkretnom primeru klasifikaciju tekstova na osnovu jezi-ka. Srpski i engleski jezik bice predstavljeni po jednim kracim tekstom oznacenimsa S1 i E1. Posto se izracunaju frekvencije ๐‘›-grama za ta dva teksta, njihovi๐‘›-gramski profili cine trening skup. Test skup ce biti dobijen na osnovu cetirikratka teksta od kojih su dva na srpskom oznacena sa S2 i S3, a dva na en-gleskom jeziku oznacena sa E2 i E3.15 Klasifikacija ce biti izvrsena pomocualgoritma jednog najblizeg suseda. U tekstovima na srpskom jeziku nisu ko-riscena srpska slova kako bi se izbegla laka identifikacija na osnovu pisma.

S1: U prethodnom delu prikazani su teorijski okviri i algoritmi pomocu kojihje moguce sprovoditi logicko zakljucivanje. Iako zakljucci moraju nuzno sledi-ti iz zadatih pretpostavki, proces njihovog dokazaivanja nije pravolinijski vecukljucuje odredene odluke o pravcu u kome ce se postupak sprovoditi. Drugimrecima, uocljivo je traganje za dokazom nekog tvrdenja. Primera radi, u prime-ni procedure DPLL moguce je uociti i korake zakljucivanja 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 za-kljucivanje, potrebno je pretpostaviti vrednost iskazne promenljive. U daljemtoku dokazivanja, ta akcija ce se pokazati kao opravdana ili neopravdana. U

15Tekst S1 potice iz radne verzije ove knjige, S2 je preuzet iz knjige Programiranje 1 FilipaMarica i Predraga Janicica, a S3 sa Vikipedije. Tekst E1 preuzet je iz clanka The AI ChasersPatrika Takera, E2 iz Rata Svetova H. Dz. Velsa, a E3 iz Stenfordske enciklopedije filozofije.

Page 298: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.10. Primeri primena nadgledanog ucenja 296

slucaju da se pokaze kao neopravdana, preduzima se alternativna akcija. Znaci,situacija u kojoj nije moguce izvrsiti direktno zakljucivanje zahteva primenupretrage.

Manje apstraktan primer je upravljanje robotskom rukom. Pretpostavimoda robotska ruka ima nekoliko mehanickih zglobova cije se kretanje kontroliseelektricnim impulsima. Pritom, neki zglobovi omogucavaju rotacije samo okojedne ose (kao ljudski lakat ili zglobovi na pristima), a drugi rotaciju oko vecegbroja osa (kao ljudsko rame ili zglobovi u korenu prstiju). Pokret hvatanjacase ovakvom robotskom rukom je netrivijalan zadatak, ali se moze razbiti nasekvencu atomicnih koraka โ€” pokreta pojedinacnih zglobova oko razlicitih osaza odreden ugao. Mozemo zamisliti da se ovi koraci izvrsavaju strogo jedan pojedan u kom bi slucaju kretanje ruke bilo znacajno razlicito od ljudskog i sporo,ali bi problem bio laksi jer ne bi bila potrebna sinhronizacija razlicitih zglobovai svaki bi se pojedinacno dovodio u zeljeni polozaj. Druga mogucnost je da sekretanja zglobova izvode simultano, kao kod coveka, pri tom povecavajuci brojmogucih kombinacija u svakom trenutku.

Dati primeri motivisu razmisljanje o pretrazi kao o nalazenju niza akcijakojima se ostvaruje cilj kada to ne moze biti ostvareno pojedinacnim akcijama.Iako u opstem slucaju ovakva definicija ne mora delovati adekvatno, u kontekstuvestacke inteligencije u kome obicno pretpostavljamo postojanje nekog entitetakoji deluje preduzimanjem nekih akcija (agenta), ona je prirodna.

E1: There are two paths to achieving an AGI, says Peter Voss, a softwaredeveloper and founder of the firm Adaptive A.I. Inc. One way, he says, is tocontinue developing narrow AI, and the systems will become generally compe-tent. It will become obvious how to do that. When that will happen or howit will come about, whether through simbots or some DARPA challenge orsomething, I dont know. It would be a combination of those kinds of things.The other approach is to specifically engineer a system that can learn andthink. Thats the approach that [my firm] is taking. Absolutely I think thatspossible, and I think its closer than most people think five to 10 years, tops.The two approaches outlined by Vosseither tinkering with mundane programsto make them more capable and effective or designing a single comprehensiveAGI system speak to the long-standing philosophical feud that lies at the he-art of AI research: the war between the neats and the scruffies. J. Storrs Hall,author of Beyond AI: Creating the Conscience of the Machine (Prometheus Bo-oks, 2007), reduces this dichotomy to a scientific approach vs. an engineeringmind-set. The neats are after a single, elegant solution to the answer of humanintelligence, Hall says. Theyre trying to explain the human mind by turning itinto a math problem. The scruffies just want to build something, write narrowAI codes, make little machines, little advancements, use whatever is available,and hammer away until something happens. The neat approach descends fromcomputer science in its purest form, particularly the war game studies of VonNeumann and his colleagues in the 1930s and 1940s. The 1997 defeat of worldchess champion Garry Kasparov by IBMs Deep Blue computer is considered

Page 299: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

297 11. Nadgledano masinsko ucenje

by many the seminal neat success. Up until that moment, the mainstream sci-entific community generally accepted the premise that AIs could be writtento perform specific tasks reasonably well, but largely resisted the notion ofsuperhuman computing ability. Deep Blue proved that an AI entity could out-perform a human at a supposedly human task, perceiving a chess board (DeepBlue could see 200 million board positions per second) and plotting a strategy(74 moves ahead as opposed to 10, the human record).

S2: Precizni postupci za resavanje matematickih problema postojali su u vre-me starogrckih matematicara (npr. Euklidov algoritam za odredivanje najvecegzajednickog delioca dva broja), a i pre toga. Ipak, sve do pocetka dvadesetogveka nije se uvidala potreba za preciznim definisanjem pojma algoritma. Tadaje, u jeku reforme i novog utemeljivanja matematike, postavljeno pitanje da lipostoji algoritam kojim se (pojednostavljeno receno) mogu dokazati sve mate-maticke teoreme. Da bi se ovaj problem uopste razmatrao, bilo je neophodnonajpre definisati (matematicki precizno) sta je to precizan postupak, odnosnosta je to algoritam.

S3: Dositej Obradovic (svetovno ime Dimitrije) (Cakovo, 1744 โ€” Beograd,1811) je bio srpski prosvetitelj i reformator revolucionarnog perioda nacional-nog budjenja i preporoda. Rodjen je u rumunskom delu Banata tadasnje Au-strije. Skolovao se za kaludjera, ali je napustio taj poziv i krenuo na putovanjapo celoj Evropi, gde je primio ideje evropskog prosvetiteljstva i racionalizma.Ponesen takvim idejama radio je na prosvecivanju svog naroda, prevodio jerazna dela medju kojima su najpoznatije Ezopove basne, a potom je i sam pi-sao dela, prvenstveno programskog tipa, medju kojima je najpoznatije โ€žZivoti prikljucenijaโ€œ. Dositej je bio prvi popecitelj (ministar) prosvete u Sovjetu itvorac 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 thesun at a mean distance of 140,000,000 miles, and the light and heat it receivesfrom the sun is barely half of that received by this world. It must be, if thenebular hypothesis has any truth, older than our world; and long before thisearth ceased to be molten, life upon its surface must have begun its course.The fact that it is scarcely one seventh of the volume of the earth must haveaccelerated its cooling to the temperature at which life could begin. It has airand water and all that is necessary for the support of animated existence.

E3: Principia Mathematica, the landmark work in formal logic written byAlfred North Whitehead and Bertrand Russell, was first published in threevolumes in 1910, 1912 and 1913. Written as a defense of logicism (the viewthat mathematics is in some significant sense reducible to logic) the book wasinstrumental in developing and popularizing modern mathematical logic. It

Page 300: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.10. Primeri primena nadgledanog ucenja 298

also served as a major impetus for research in the foundations of mathematicsthroughout the twentieth century. Along with the Organon written by Aristotleand the Grundgesetze der Arithmetik written by Gottlob Frege, it remains oneof the most influential books on logic ever written.

Koriste se ๐‘›-grami duzine 3, tj. koristi se vrednost ๐‘› = 3. Iz tekstova S1i E1 izdvojeno je po 10 najfrekventnijih ๐‘›-grama. Ovi ๐‘›-gramski profili cinicesvojstva instanci. Svojstva trening i test skupa dati su u tabeli 11.2.

๐‘›-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 11.2: Trening i test skup za klasifikaciju tekstova prema jeziku. Za svaki3-gram prikazana je njegova frekvencija u tekstu S1 i E1.

Prilikom klasifikacije bice korisceno Euklidsko rastojanje

๐‘‘(x,y) =

โŽฏโŽธโŽธโŽท ๐‘šโˆ‘๐‘–=1

(๐‘ฅ๐‘– โˆ’ ๐‘ฆ๐‘–)2

Potrebno je ispitati rastojanja od instanci test skupa do instanci trening skupa.

๐‘‘(๐‘†2, ๐‘†1) = 0.0124

Page 301: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

299 11. Nadgledano masinsko ucenje

๐‘‘(๐‘†2, ๐ธ1) = 0.0417

๐‘‘(๐‘†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, zakljucujese da je S1 najblizi sused instance S2. Zbog toga se instanca S2 prepoznajekao tekst na sprskom jeziku. Slicno se ispravno zakljucuje i da je S3 tekstna srpskom, E2 tekst na engleskom i E3, takode, tekst na engleskom jeziku.Posebno je zanimljivo da tekstovi S3 i E2 po svom sadrzaju nemaju dodira sainstancama za trening S1 i E1, sto ne ometa uspesnu klasifikaciju.

11.10.6 Prepoznavanje poze i delova tela iz dubinskih slikastablima odlucivanja

Majkrosoftov sistem Kinekt (eng. Microsoft Kinect) sa svojom mogucnoscuprepoznavanja poze tela igraca predstavlja jedan od zanimljivijih primera pri-mene masinskog ucenja koja je doprla do velikog broja ljudi. Sistem prepoznajepoze i pokrete igraca i preduzima akcije u igri u skladu sa njima. Kinekt je prvisistem koji je omogucio prepoznavanje punog spektra pokreta i veliku robu-snost u odnosu na oblik tela, odecu i slicno, a pri brzini od 200 slika u sekundi.Ovakva brzina posledica je dve odluke u dizajnu sistema. Prvo, svojstva naosnovu kojih se uci definisana su tako da se izrazito brzo izracunavaju. Dru-go, koriste se stabla odlucivanja, a kod njih je postupak predvidanja vrlo brz,znacajno brzi nego kod modernih neuronskih mreza: u slucaju izbalansiranihstabala, vreme je logaritamsko u odnosu na velicinu stabla. Sistem se u potpu-nosti oslanja na slike dubinske kamere koje kao vrednost svakog piksela dajudubinu โ€” rastojanje od kamere do lokacije na objektu na kojoj se taj pikselnalazi.

Sistem je treniran na osnovu vise stotina hiljada dubinskih slika (pravih isimuliranih), pri cemu je za svaku takvu sliku dostupna i druga, njoj odgova-rajuca slika sa datim informacijama o delovima tela kojima pikseli pripadaju(ilustracija na slici 11.23). Prepoznavanje dela tela vrsi se za svaki piksel po-mocu skupa stabala odlucivanja, takozvane slucajne sume. Kao i svaki model,i ovaj zahteva svojstva na osnovu kojih ce se vrsiti predvidanja. Svaki pikselopisan je skupom svojstava uniformne strukture. Za dati piksel, svako svojstvopredstavlja razliku izmedu dubina neka dva, pogodno odabrana, piksela bli-ska polaznom. Neka je ๐‘‘I(x) dubina piksela na poziciji x na slici I (u slucajupozicija koje su van slike ili na pozadini, za dubinu se uzima velika pozitiv-na vrednost). Onda, za par vektora ๐œƒ = (u,v) u prostoru koordinata slike,

Page 302: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

11.10. Primeri primena nadgledanog ucenja 300

odgovarajuce svojstvo piksela x definisano je na sledeci nacin:

๐‘“๐œƒ(I,x) = ๐‘‘I

(x+

u

๐‘‘I(x)

)โˆ’ ๐‘‘I

(x+

v

๐‘‘I(x)

)Razmotrimo smisao ovog svojstva. Za dati piksel x, x + u/๐‘‘I(x) predstavljapiksel u relativnom susedstvu u smeru vektora u. Deljenje dubinom pikselax sluzi da umanji pomeraj na slici u slucaju daljih piksela kako bi relativniodnos pomeraja za piksele na razlicitim dubinama ostao isti. Onda svojstvodefinisano za dati par ๐œƒ predstavlja razliku dubina odgovarajucih suseda datogpiksela x. Mnostvo ovakvih svojstava za razlicite parove ๐œƒ opisuje oblik oko-line piksela x, sto moze dati dovoljno informacija za prepoznavanje dela tela.Jedan od kljucnih motiva za izbor ovakvih svojstava je njihovo izrazito brzoizracunavanje. Konkretno, za izracunavanje jednog svojstva potrebno je izvrsitisamo tri citanja iz memorije kako bi se odredile dubine i pet aritmetickih ope-racija kako bi se izracunala njegova vrednost.

Slika 11.23: Dubinske slike i odgovarajuce slike sa obelezenim delovima tela(slika je preuzeta iz izvornog rada [20]).

Algoritam ucenja je po duhu slican algoritmu ID3 koji je predstavljen upoglavlju 11.7, ali kako su vrednosti svojstava neprekidne, ID3 se ne mozedirektno primeniti. Dodatno, jedno stablo je manje mocno od veceg broja re-lativno nezavisnih stabala, pa se umesto jednog koristi suma stabala. Najprecemo opisati kako se trenira jedno stablo, a potom kako se vrsi zajednickoodlucivanje pomocu veceg broja stabala.

Algoritam ucenja primenjuje se nad skupom piksela ๐ท koji je dobijen nasu-micnim izborom po 2000 piksela sa svake slike. Algoritam je odreden sledecomrekurzivnom procedurom:

1. Nasumice generisati testove kao parove ๐œ‘ = (๐œƒ, ๐œ), gde je ๐œ skalar.

2. Za svaki test ๐œ‘, izracunati dobitak informacije kada se podaci podele naskup ๐ท๐‘™(๐œ‘) u kojem su pikseli za koje je vrednost svojstva ๐‘“๐œƒ manja odpraga ๐œ i na skup ๐ท๐‘Ÿ(๐œ‘) koji sadrzi ostale piksele.

Page 303: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

301 11. Nadgledano masinsko ucenje

3. Izabrati za koren stabla test ๐œ‘* za koji je dobitak informacije maksimalan.

4. Rekurzivno konstruisati levo podstablo nad skupom piksela ๐ท๐‘™(๐œ‘*) i de-

sno nad skupom ๐ท๐‘Ÿ(๐œ‘*).

Svako stablo ๐‘ก u svakom listu definise raspodelu po klasama ๐‘ƒ๐‘ก(๐‘|I,x) gde jeverovatnoca svake klase ๐‘ propocionalna broju piksela iz trening skupa koji supridruzeni tom listu, a pripadaju klasi ๐‘. Naravno, nije za svaki list potrebnocuvati sve instance koje su mu u treningu pridruzene, vec samo (diskretnu)raspodelu verovatnoce po klasama. Kada je na ovaj nacin generisano ๐‘‡ stabala,raspodela verovatnoce po klasama se definise kao

๐‘ƒ (๐‘|I,x) = 1

๐‘‡

๐‘‡โˆ‘๐‘–=1

๐‘ƒ๐‘ก(๐‘|I,x),

a za datu sliku ๐ผ i piksel x, klasa se prirodno bira kao najverovatnija klasa uodnosu na ovu raspodelu.

Primetimo da pomenuta relativna nezavisnost stabala dolazi iz nasumicnogizbora podataka i testova pri njihovoj izgradnji. Osnovna ideja algoritma je dace ovako generisana stabla gresiti nezavisno jedna od drugih, pa ako je svakood njih bolje od slucajnog pogadanja, vecina stabala ce biti u pravu i moci ceda nadglasa manjinu koja gresi na datoj instanci.

Na ovaj nacin, moguce je oznaciti sve piksele najverovatnijim klasama kojese odnose na delove tela. Ipak, za potrebe pracenja pokreta, to je previse si-rova informacija. Umesto da se koriste pozicije svih piksela koji cine neki deotela, pozeljnije je koristiti svega nekoliko reprezentativnih tacaka. Ovo se po-stize klasterovanjem odnosno grupisanjem svih tacaka koje cine neki deo telai uzimanjem centralnih tacaka tih klastera koje nadalje predstavljaju taj deotela. Na ovaj nacin je moguce oceniti pozicije razlicitih delova tela, a u procesuklasterovanja se eliminise i sum koji nastaje usled pogresne klasifikacije malogbroja piksela.

Page 304: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 305: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 12

Nenadgledano masinsko ucenje

Nenadgledano ucenje je vid masinskog ucenja kod kojeg nisu date vrednosticiljne promenljive. Naravno, masinsko ucenje ne moze dati korisnu informacijuni iz cega. Algoritmi nadgledanog ucenja su takvi da cesto mogu uciti bilokakve zakonitosti u datim podacima, a da se to sto se uci definise vrednostimaciljne promenljive. Kako u slucaju nenadgledanog ucenja tih ciljnih vrednostinema, ono sto se uci mora biti definisano samim algoritmom. Dakle, algoritminenadgledanog ucenja su algoritmi specificne namene.

Vecina problema koji odgovaraju ovoj grupi potpada pod probleme klaste-rovanja, ucenja reprezentacije i detekcije anomalija:

Klasterovanje predstavlja uocavanje grupa u podacima, sto mgovori nesto ostrukturi podataka i moze biti korisno u razlicite svrhe, o kojima ce bitireci u nastavku.

Ucenje reprezentacije predstavlja sve znacajniju vrstu zadataka u masin-skom ucenju. Neretko podaci nisu u obliku u kojem ih algoritam ucenjaili covek mogu lako iskoristiti. Na primer, algoritmi masinskog ucenjaobicno zahtevaju vise parametara ukoliko podaci imaju vise dimenzija izahtevaju vise racunskih operacija, a podaci su cesto visokodimenzionalniโ€“ recimo, 1.000.000 dimenzija u slucaju slika kod kojih svaki piksel pred-stavlja jednu dimenziju ili 100.000 dimenzija u slucaju obrade teksta gdese za svojstva koriste frekvencije pojedinih reci. Medutim, ovako visokadimenzionalnost najcesce je posledica izbora reprezentacije podataka. Naprimer, slike lica, cak i u rezoluciji 1.000ร— 1.000, ne popunjavaju ravno-merno 1.000.000-dimenzionalni prostor, vec samo njegov delic. Ostatakodgovara drugim slikama, od kojih mnoge ne predstavljaju nista prepo-znatljivo coveku. To sugerise da postoji reprezentacija manje dimenzi-onalnosti koja takode opisuje sva lica. Nalazenje takvih reprezentacija iucenje nad njima znacajno povecava uspesnost algoritama ucenja. Nekadaovakvi algoritmi sluze i za smanjenje dimenzionalnosti podataka na dve

303

Page 306: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

12.1. Klasterovanje 304

ili tri dimenzije koje najbolje oslikavaju njihovu varijabilnost, sto omo-gucava coveku da u nekim slucajevima posmatranjem uoci neke vazneaspekte podataka.

Detekcija anomalija se tice uocavanja podataka koji odudaraju od ostalih,bilo kako bi se izbacili iz skupa podataka, cime se cesto olaksava njiho-vo modelovanje i analiza, bilo kako bi se dalje analizirali. Primera radi,transakcije kreditnim karticama koje predstavljaju prevaru, lako moguodudarati od uobicajenog nacina na koji korisnik koristi karticu, bilo povremenu upotrebe, bilo po vrsti usluge ili proizvoda koji se kupuje, bilopo iznosu transakcije. Slicno vazi i za upade u racunarske sisteme โ€“ tavrsta ponasanja cesto odudara od uobicajenog ponasanja korisnika.

U nastavku cemo se fokusirati na problem klasterovanja.

12.1 Klasterovanje

Klasterovanje predstavlja identifikaciju grupa u datim podacima. Potrebaza resavanjem ovakvog zadatka moze se javiti u razlicitim prakticnim proble-mima, poput identifikacije zajednica u drustvenim mrezama (na primer, zapotrebe oglasavanja), detekcije raznorodnih tkiva na medicinskim snimcima,ustanovljavanja zajednickog porekla jezika, identifikacije grupa zivih bica i,specificno, ljudskih zajednica i slicno. Pored primena koje u sebi direktno krijuproblem klasterovanja, ova tehnike korisne su i u pretprocesiranju podataka nakoje kasnije treba da budu primenjene metode nadgledanog ucenja. Na primer,u slucaju obrade ogromnog broja prodataka, cele grupe podataka mogu bitizamenjene svojim reprezentativnim predstavnicima. Ovo nije uvek idealno satacke gledista kvaliteta dobijenog prediktivnog modela, ali sa tacke gledistavremenske i memorijske efikasnosti moze biti isplativo.

Pojam klasterovanja nije jednoznacno definisan. Kao sto primer prikazanna slici 12.1 ukazuje, u jednom skupu moze se identifikovati vise razlicitih gru-pisanja, cesto razlicite granularnosti. Pritom, takvi slucajevi nisu posledicanedovoljnog promisljanja definicije klasterovanja, vec raznovrsnosti kontekstau kojima se grupisanje moze vrsiti i ciljeva koji se pomocu klasterovanja zelepostici. Za ocekivati je da je nekada potrebno izvrsiti grublje klasterovanje โ€“ umanji broj klastera, a nekada finije โ€“ u veci broj klastera. Algoritmi klastero-vanja obicno omogucavaju podesavanje nivoa granularnosti tj. broja klasterakoji se u podacima pronalazi.

Pojam klasterovanja nije jednoznacno definisan ne samo u odnosu na brojklastera koji se u podacima mogu naci, vec i u odnosu na ideju sta jednu gru-pu instanci cini klasterom. U odnosu na to, postoji vise neformalnih definicijaklasterovanja. Globularni ili centricni klasteri su grupe tacaka koje popunjava-ju unutrasnjost lopte ili, opstije, elipsoida. Dobro razdvojeni klasteri su grupetacaka koje su blize drugim tackama svoje grupe nego bilo kojoj tacki iz nekedruge grupe. Gustinski klasteri su klasteri cije su tacke razdvojene od tacaka

Page 307: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

305 12. Nenadgledano masinsko ucenje

Slika 12.1: Razlicita klasterovanja nad istim podacima: jedan klaster (gore le-vo), dva klastera (gore desno), cetiri klastera (dole levo), sest klastera (doledesno).

drugih klastera regionima manje gustine. Hijerarhijski klasteri su ili pojedi-nacne tacke ili klasteri cije su tacke takode organizovane u strukturu hijerar-hijskih klastera.

U nastavku je prikazano nekoliko jednostavnih, a cesto koriscenih algorita-ma klasterovanja.

12.1.1 Algoritam ๐‘˜ sredina

Algoritam ๐‘˜ sredina pronalazi ๐‘˜ klastera koje predstavlja pomocu ๐‘˜ tezistatih klastera, od kojih se svako dobija uprosecavanjem elemenata datog kla-stera. Taj korak cini algoritam primenljivim samo na podatke koji se moguuprosecavati, poput vektora. Postoje uopstenja algoritma i na drugacije vrstepodataka, ali o njima ovde nece biti reci. Polaznih ๐‘˜ tezista bira se nasumicno(mada, ako korisnik zna nesto o strukturi svojih podataka, mogu biti i unapreddata), a potom se ponavljaju koraci pregrupisavanja tacaka u nove klastereprema bliskosti sa postojecim tezistima i preracunavanja novih tezista sve dokse ona menjaju. Algoritam je preciznije formulisan na slici 12.2.

Primer klastera koje pronalazi ovaj algoritam, dat je na slici 12.3. Moze sepokazati da ovaj algoritam minimizuje velicinu

๐‘˜โˆ‘๐‘–=1

โˆ‘xโˆˆ๐ถ๐‘–

๐‘‘(x, c๐‘–)2

Page 308: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

12.1. Klasterovanje 306

Algoritam: Algoritam ๐‘˜ sredina

Ulaz: Trening skup ๐‘‡ โŠ‚ R๐‘›, broj klastera ๐‘˜

Izlaz: Particionisanje skupa ๐‘‡ na disjunktne neprazne podskupove ๐ถ1, . . . , ๐ถ๐‘˜

1: Nasumice izaberi tezista c1, . . . , c๐‘˜ iz skupa ๐‘‡ ;

2: ponavljaj3: Postavi skupove ๐ถ1, . . . , ๐ถ๐‘˜ na prazne skupove;4: za svaku instancu x โˆˆ ๐‘‡ radi5: pronadi teziste c๐‘– koje je najblize instanci x;6: dodaj x u skup ๐ถ๐‘–;7: Izracunaj proseke c1, . . . , c๐‘˜ instanci iz skupova ๐ถ1, . . . , ๐ถ๐‘˜;

8: dok nije ispunjen uslov da su tezista ista kao u prethodnoj iteraciji;

9: vrati ๐ถ1, . . . , ๐ถ๐‘˜ kao resenje.

Slika 12.2: Algoritam klasterovanja ๐‘˜ sredina.

gde je ๐‘‘ euklidsko rastojanje, ๐ถ๐‘– ๐‘–-ti klaster, a c๐‘– njegovo teziste. Na osnovutoga moze se nesto zakljuciti i o njegovom ponasanju. Zahvaljujuci tome stoje zasnovan na minimizaciji euklidskog rastojanja, algoritam tezi pronalazenjuklastera u obliku lopte. Kako je rastojanje kvadrirano, algoritam je osetljiv napodatke koji znacajno odudaraju od ostalih. Naime, u slucaju takvog podatka,vece rastojanje ce uticati na ukupnu gresku neproporcionano u odnosu na osta-la rastojanja i takav podatak ce neproporcionalno uticati na lokaciju tezista.Takode, ako gustina podataka, tj. tacaka prostora ne varira drasticno i rastoja-nja medu klasterima nisu velika, algoritam preferira klastere sa slicnim brojemtacaka u njima, posto bi u suprotnom brojan klaster sadrzao i tacke dalje odtezista koje bi znacajno povecavale sumu kvadrata rastojanja.

Cinjenica da algoritam ๐‘˜ sredina minimizuje navedenu sumu navodi na nje-nu dalju analizu. Bitno je pitanje da li ona ima jedan globalni minimum, odno-sno da li je najbolje klasterovanje u odnosu na datu sumu kvadrata rastojanjajedinstveno. Odgovor na ovo pitanje je negativan. Moguce je da postoji vecibroj klasterovanja jednakog kvaliteta. Jedan primer u kojem bi to bilo i intu-itivno je kada su tacke uniformno rasporedene unutar kruga i potrebno ih jepodeliti na dva klastera. Rotiranje dobijenih tezista u odnosu na centar krugadaje podjednako dobro klasterovanje. Drugim recima, u slucaju takvog skupapodataka, postoji puno globalnih, i samim tim podjednako dobrih, minimuma.Takva situacija nije zabrinjavajuca. Ipak, ispostavlja se da mogu postojati i lo-kalni minimumi slabijeg kvaliteta od globalnog i da algoritam moze naci takavminimum, sto nije dobro. Ovaj problem ublazava se tako sto se klasterovanjepokrece veci broj puta sa razlicitim inicijalnim tezistima, a za rezultat se uzima

Page 309: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

307 12. Nenadgledano masinsko ucenje

Slika 12.3: Klasteri pronadeni algoritmom ๐‘˜ sredina.

klasterovanje sa najmanjom vrednosci sume kvadrata rastojanja.Algoritam ๐‘˜ sredina omogucava fleksibilnost pri pronalazenju klastera kroz

mogucnost podesavanja broja ๐‘˜. Ipak, ta fleksibilnost cesto vodi do nedoumicajer u praksi cesto nije jasno kako izabrati broj ๐‘˜. Jedno heuristicko pravilo jeโ€žpravilo laktaโ€œ koje sugerise da se za razlicite vrednosti broja ๐‘˜ izvrsi klastero-vanje, da se nacrta grafik zavisnosti sume kvadrata rastojanja u zavisnosti od๐‘˜ i da se izabere klasterovanje koje odgovara broju ๐‘˜ koji odgovara tacki na-gle promene brzine opadanja grafika, tj. na njegovom โ€žlaktuโ€œ. Ovakva situacijaprikazana je na grafiku 12.4. Intuitivno obrazlozenje je da su nakon โ€žlaktaโ€œ kla-steri vec homogeni i dodavanje novih tezista ne doprinosi znacajno smanjenjusume kvadrata rastojanja.

0 1 2 3 4 5 6 7 8 9 10 11 12 ๐‘ฅ

0

100

200

300

400

500

600

๐‘ฆ

Slika 12.4: Pravilo lakta sugerise da za broj ๐‘˜ treba uzeti vrednost koja odgovarauspravnoj isprekidanoj liniji. Na ๐‘ฅ osi je broj klastera, a na ๐‘ฆ osi suma kvadratarastojanja.

Page 310: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

12.1. Klasterovanje 308

12.1.2 DBSCAN

Algoritam DBSCAN (eng. density-based spatial clustering of applicationswith noise) sluzi za detekciju gustinskih klastera i nije ogranicen njihovim obli-kom. Algoritam zahteva dva parametra โ€“ rastojanje ๐œ€ i minimalan broj tacaka๐œ‡. Algoritam razvrstava tacke na tacke koje cine jezgro โ€” cija ๐œ€ okolina sadrzibar ๐œ‡ tacaka, granicne tacke โ€” koje u svojoj okolini imaju neku tacku koja cinijezgro i tacke koje cine sum โ€” koje nisu ni granicne niti cine jezgro. Tacke kojecine sum se zanemaruju, dok se ostale grupisu u razlicite klastere na osnovubliskosti. Ilustracija vrsta tacaka data je na slici 12.5. Algoritam je preciznijeopisan na slici 12.6.

๐œ€

Slika 12.5: Tri vrste tacaka kojima operise algoritam DBSCAN (za vrednost๐œ‡ = 4): (zelenim) kruzicima oznacene su tacke jezgra, (zutim) kvadraticimagranicne tacke, a (crvenim) trouglicima tacke koje cine sum.

DBSCAN ocigledno ne pretpostavlja oblik klastera, tako da se moze ko-ristiti za detekciju klastera najrazlicitijih oblika ako ih je moguce razdvojitiregionima nize gustine. Jos jedna dobra strana ovog algoritma je to sto mozeodstraniti odudarajuce podatke kao sto je sum (dok je algoritam ๐‘˜ najblizihsuseda vrlo osetljiv na njihovo prisustvo). Potencijalni problem nastaje kadasu klasteri, iako razdvojeni, sami vrlo razlicite gustine. Naime, u okolini vrlogustog klastera, sum moze imati vecu gustinu nego ceo drugi klaster (koji ipakmoze biti prepoznatljiv po tome sto ce znacajno odudarati po gustini od svojeokoline). Kao i u slucaju algoritma ๐‘˜ sredina, nema jasnih opstih pravila zaizbor vrednosti ๐œ€ i ๐œ‡.

Page 311: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

309 12. Nenadgledano masinsko ucenje

Algoritam: Algoritam DBSCAN

Ulaz: Trening skup ๐‘‡ , rastojanje ๐œ€ i broj ๐œ‡

Izlaz: Particionisanje skupa ๐‘‡ na disjunktne neprazne podskupove ๐ถ1, . . . , ๐ถ๐‘˜

1: Formiraj skup ๐’ž svih tacaka cija ๐œ€ okolina sadrzi bar ๐œ‡ tacaka;

2: Formiraj skup โ„ฌ svih tacaka iz ๐‘‡ โˆ– ๐’ž koje u svojoj ๐œ€ okolini imaju barjednu tacku iz ๐’ž;

3: Formiraj graf ๐บ ciji su cvorovi tacke iz ๐’ž โˆช โ„ฌ, a grana postoji izmedusvake dve tacke koje su na rastojanju najvise ๐œ€;

4: vrati komponente povezanosti ๐ถ1, . . . , ๐ถ๐‘˜ grafa ๐บ kao resenje.

Slika 12.6: Algoritam klasterovanja DBSCAN.

12.1.3 Hijerahijsko klasterovanjeHijerarhijsko klasterovanje konstruise stablo u cijim se listovima nalaze in-

stance trening skupa, a unutrasnji cvorovi definisu strukturu klastera. Klasterkoji odgovara nekom unutrasnjem cvoru sastoji se iz klastera koji odgovara-ju njegovim direktnim potomcima. Problem klasterovanja svodi se na problemkonstrukcije ovakvog stabla. Postoji vise pristupa resavanju ovog problema. Je-dan koji se cesto koristi je hijerarhijsko aglomerativno klasterovanje pri kojemse skup klastera inicijalizuje pojedinacnim instancama, a potom se u svakomkoraku, spajaju dva najslicnija klastera u jedan, cime se konstruise binarnostablo. Takvo stablo naziva se dendogram i ilustrovano je na slici 12.7. Slicnostnad klasterima nije trivijalno definisati i ne postoji jedan izbor. Najcesce sedefinise neka mera slicnosti ili rastojanja nad pojedinacnim instancama (po-put euklidskog rastojanja), pa se mera slicnosti ili rastojanja klastera definisena osnovu nje. Na primer, rastojanje izmedu dva klastera moze se definisatikao minimum, prosek ili maksimum rastojanja njihovih elemenata. Precizni-ji opis hijerarhijskog aglomerativnog klasterovanja dat je na slici 12.8. Ovajopis koristi meru rastojanja, ali se algoritam lako moze izraziti i u terminimaslicnosti.

Secenjem stabla na razlicitim nivoima mogu se dobiti klasterovanja razlicitegranularnosti. Konkretno, za neku vrednost rastojanja ๐‘‘, na osnovu stabla mo-guce je identifikovati poslednji skup ๐’ž koji je u toku kreiranja stabla nastaospajanjem cvorova cije rastojanje ne prelazi datu vrednost ๐‘‘. Dobra strana ova-kvog klasterovanja je to sto pruza vise informacija nego algoritmi koji pronala-ze samo jednu podelu podataka na klastere. Takode, razlicitim izborima mereslicnosti nad klasterima mogu se dobiti razliciti klasteri. Losa strana algoritmaje to sto u toku rada izracunavanje slicnosti svih klastera sa svim klasterima vo-di visokoj vremenskoj, a najcesce i prostornoj slozenosti zbog cuvanja matrice

Page 312: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

12.2. Primeri primena klasterovanja 310

francuskiladinskikatalonskispanskisardinskirumunskiafrikanerskinemackiengleskiirskiceskislovackiruskibeloruskibugarskibengalskinepalskihindipendzapskilandakasmirskisinhaleskifarsigrckijermenski

Slika 12.7: Primer hijerarhijskog klasterovanja nekih indoevropskih jezika.

rastojanja.

12.2 Primeri primena klasterovanja

Kao sto je vec navedeno, klasterovanje se cesto koristi kao korak pretprocesi-ranja podataka za potrebe nadgledanog ucenja. Ipak, zanimljivije je razmotritiprimere primena u kojima je rezultat klasterovanja relevantan sam za sebe. Unastavku diskutujemo dve takve primene.

12.2.1 Utvrdivanje srodnosti prirodnih jezikaJedno od kljucnih pitanja uporedne lingvistike je ustanovljavanje srodnosti

izmedu postojecih prirodnih jezika. Smatra se da se svi jezici mogu hijerar-hijski grupisati u skladu sa njihovom srodnoscu koja je posledica nastankavise jezika od zajednickog pretka, takozvanog proto jezika. Ovaj postupak gru-pisanja moze se hijerarhijski ponavljati. Iako ne postoji saglasnost u vezi satacnim brojem grupa i njima odgovarajucih proto jezika, obicno postoji sa-

Page 313: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

311 12. Nenadgledano masinsko ucenje

Algoritam: Algoritam aglomerativnog hijerarhijskog klasterovanja

Ulaz: Trening skup ๐‘‡ = {x1, . . . ,x๐‘}, mera rastojanja izmedu klastera ๐‘‘

Izlaz: Stablo klasterovanja ๐’ฏ

1: Inicijalizuj skup ๐’ž na skup listova {{(x1, 0)}, . . . , {(x๐‘ , 0)}};2: ponavljaj3: Izracunaj rastojanja ๐‘‘๐‘–๐‘— = ๐‘‘(c๐‘–, c๐‘—) medu svim elementima

(c๐‘–, ๐‘‘๐‘–), (c๐‘— , ๐‘‘๐‘—) โˆˆ ๐’ž;4: Pronadi najblizi par elemenata (c๐‘–, ๐‘‘๐‘–), (c๐‘— , ๐‘‘๐‘—) iz ๐’ž;5: Konstruisi unutrasnji cvor (c๐‘– โˆช c๐‘— , ๐‘‘๐‘–๐‘—) i dodaj mu cvorove (c๐‘–, ๐‘‘๐‘–) i

(c๐‘— , ๐‘‘๐‘—) kao direktne potomke;6: ๐’ž โ† (๐’ž โˆ– {(c๐‘–, ๐‘‘๐‘–), (c๐‘— , ๐‘‘๐‘—)}) โˆช {(c๐‘– โˆช c๐‘— , ๐‘‘๐‘–๐‘—)};7: dok nije ispunjen uslov da je skup ๐’ž jednoclan;

8: Vrati stablo ciji je koren jedini cvor u skupu ๐’ž.

Slika 12.8: Algoritam aglomerativnog hijerarhijskog klasterovanja.

glasnost do nekog nivoa grupisanja. Na primer, neke jezicke grupe su grupeindo-evropskih, sino-tibetanskih, turkijskih i uralskih jezika. Neke od podgru-pa indo-evropskih jezika su germanska, balto-slovenska, indo-iranska i keltska.Ove grupe se mogu dalje deliti. Ovakvo grupisanje obicno se ustanovljava te-meljnom visedecenijskom analizom koju sprovode zajednice lingvista koje sebave ovim problemima. Nekada postoje neslaganja u vezi sa pripadnostima ne-kih jezika odredenim podgrupama, posebno u vezi sa starim jezicima na kojimanema mnogo pisanih dokumenata (cesto su to samo natpisi u kamenu).

Zanimljivo je da se ovakva grupisanja vrse i automatskim metodama โ€“ meto-dama hijerarhijskog klasterovanja koje prirodno formiraju ugnezdene klastere.Naravno, pitanje je kako predstaviti jezike tako da se nad njima moze izvrsitiklasterovanje i kako meriti slicnost izmedu njih. Jedan nacin da se ovo uradisastoji se u uparivanju odgovarajucih reci razlicitih jezika. Slicnost dva jezikase onda moze kvantifikovati zbirom edit rastojanja po svim parovima odgova-rajucih reci za ta dva jezika. Koristeci te informacije, moguce je primeniti nekuod diskutovanih tehnika hijerarhijskog klasterovanja. Izbor skupa reci kojimace biti predstavljeni jezici moze uticati na ishode klasterovanja. Na primer, sko-rasnja preuzimanja iz stranih jezika verovatno ce mnoge jezike uciniti naizgledsrodnim sa engleskim jezikom. Otud je u tom izboru potrebno ucesce strucnjakakoji bi sugerisali koje grupe reci su bolje za ovakva istrazivanja (na primer, reciza male brojeve, floru, faunu, zemljoradnju i slicno). Naravno, postupak mozebiti i slozeniji od opisanog ili zasnovan na drugacijoj reprezentaciji. Recimo,jezik bi se mogao predstaviti frekvencijama bigrama izracunatih iz velikog ne-obelezenog korpusa. Takvi vektori mogu se porediti euklidskim rastojanjem.

Page 314: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

12.2. Primeri primena klasterovanja 312

Ishod hijerarhijskog klasterovanja nekih predstavnika indoevropskih jezika za-snovanog na bigramskoj reprezentaciji i euklidskom rastojanju dat je na slici12.7. Jasno se mogu prepoznati karakteristicne podgrupe ove familije jezika.

Primetimo da je ovakav postupak mogao biti primenjen (i primenjuje se)i za utvrdivanje srodnosti zivih bica, na osnovu njihovog genetskog materijalakoji se takode moze predstaviti tekstom u vidu nizova aminokiselina od kojihsvakoj odgovara po jedno slovo.

12.2.2 Smanjenje palete boja slikeNekada je potrebno smanjiti broj razlicitih nijansi boja koje su prisutne

na slici. Ovo moze biti radeno u svrhe smanjenja zapisa slike ili zbog potrebastampe. Jedan od mogucih pristupa bi bio uocavanje slicnih nijansi i njiho-va zamena jednom nijansom koja je u nekom smislu najslicnija svima njima.Pretpostavimo da se slika predstavlja pomocu 24-bitnog zapisa u kojem su bojepredstavljene pomocu intenziteta crvene, zelene i plave boje (tzv. RGB sistemboja) tako da se intenzitet svake od njih predstavlja pomocu jednog bajta bro-jevima od 0 do 255. Ovakav zapis dozvoljava opisivanje preko 16 miliona boja.Za zapis slike rezolucije 1000 ร— 1000, potrebno je 3 miliona bajtova. Ukolikobi se broj razlicitih boja sveo na 256, bilo bi potrebno, bez ikakve kompresije,milion bajtova za zapis slike u kojem bi svakom pikselu bio pridruzen jedno-bajtni kod boje i bilo bi potrebno 256 ร— 3 bajtova za predstavljanje palete โ€“niza od 256 24-bitnih brojeva koji predstavljaju izbor 256 koriscenih nijansi izpolaznog 24-bitnog sistema. Problem se sastoji u identifikaciji izbora podsku-pa, odnosno palete boja koje ce posluziti za aproksimaciju svih ostalih boja naslici. Pritom, ta paleta moze da varira od slike do slike i bira se tako da budepogodna za konkretnu sliku.

Jedan jednostavan pristup smanjenju palete sastoji se u klasterovanju pik-sela pomocu algoritma ๐‘˜ sredina u onoliko klastera kolika je zeljena velicinapalete. Kao sto je receno, ovaj algoritam minimizuje sume kvadrata rastojanjapodataka od odgovarajucih tezista. Neka su podaci svi pikseli na slici, predsta-vljeni RGB vrednostima svojih boja. Nakon izvrsavanja algoritma, za aprok-simaciju svake boje moze se koristiti odgovarajuce teziste koje se interpretirakao boja u RGB sistemu. Ona su izabrana tako da budu u proseku najslicnijasvim bojama iz klastera. Na slici 12.9 dat je primer smanjenja palete polazneslike na ukupno 10 boja, na dva nacina โ€“ nasumicnim izborom od 166075 bojasa polazne slike i pomocu klasterovanja algoritmom ๐‘˜ sredina. U oba slucaja,rezultujuce slike se dobijaju tako sto se boja svakog piksela zameni najblizombojom iz palete. Ocigledno, pristup zasnovan na klasterovanju daje bolji rezul-tat, iako se moze primetiti jasna granica izmedu dve nijanse neba, nedostatakcrvene boje u markaciji na kamenu i sivkasta boja zemljista.

Page 315: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

313 12. Nenadgledano masinsko ucenje

Slika 12.9: Slika durmitorskog vrha Zupci, slika koja je od nje dobijena smanje-njem palete na 10 nasumicno izabranih od 166075 boja sa polazne slike i slikakoja je od polazne dobijena smanjenjem palete pomocu algoritma ๐‘˜ sredina.

Page 316: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 317: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Glava 13

Ucenje potkrepljivanjem

Mnogi problemi prirodno se resavaju nizom akcija koje svojim zajednickimefektom dovode do cilja. Ocigledan primer je igranje strateskih igara poputsaha, ali i mnogi problemi robotike, planiranja, upravljanja i slicno. U takvimproblemima, cesto za neku akciju u nizu nije lako reci da li je bila ispravna ilinije. U sahu, na primer, gubitak figure cesto je los, ali se u nekim situacijamafigure namerno zrtvuju kako bi na duze staze bio postignut neki cilj. U takvimproblemima obicno je lako reci samo da li je problem uspesno resen citavimnizom akcija, a netrivijalna je preraspodela zasluga za uspeh ili neuspeh napojedinacne akcije. Dodatno, ishod neke konkretne akcije zavisi od konteksta ukojem je preduzeta. U sahu, uzimanje protivnikove figure moze imati razliciteposledice zavisno od toga da li je ta figura bila cuvana ili nije. Ovo je tipicanscenario u kojem se koristi takozvano ucenje potkrepljivanjem (eng. reinforce-ment learning), koje predstavlja pristup masinskom ucenju inspirisan ucenjempomocu pokusaja i gresaka, cesto prisutnim kod zivotinja. Cilj ove vrste ucenjaje da se, na osnovu iskustava iz mnostva pokusaja resavanja problema, naucikako da se biraju adekvatne akcije u razlicitim situacijama u toku resavanjaproblema.

Ucenje potkrepljivanjem pretpostavlja postojanje agenta koji svojim ak-cijama moze da interaguje sa okruzenjem. Pri svakoj akciji menja se stanjeokruzenja, a agent dobija odredenu nagradu predstavljenu realnim brojem. Po-litika je preslikavanje iz skupa stanja u skup akcija i nju agent koristi za od-lucivanje, tj. za izbor akcije. U cilju resavanja zadatog problema, agent trebada nauci politiku koja maksimizuje sumu svih nagrada koje dobija u procesuinteragovanja. Kako bi se to ostvarilo, algoritmi ucenja potkrepljivanjem tra-gajuci za optimalnom politikom preraspodeljuju ukupnu dobijenu nagradu naakcije koje su bile zasluzne za njeno dobijanje, iako ta informacija nije dostupnaeksplicitno. Pomenuti pojmovi bice definisani precizno u nastavku.

U nekim problemima akcije se preduzimaju u diskretnim vremenskim ko-racima, dok je u nekim problemima vreme neprekidno i postoji mogucnostpreduzimanja akcija u bilo kom trenutku. U skladu sa tim, razlikujemo dis-

315

Page 318: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

316

kretne i neprekidne probleme ucenja potkrepljivanjem. Ova glava odnosi se nadiskretne probleme.

Resavanje problema pomocu ucenja potkrepljivanjem zahteva najpre uocava-nje pomenutih elemenata u datom problemu. Skupovi akcija i stanja nekad suodredeni samom definicijom problema, ali ih je nekada moguce i pogodno de-finisati ili aproksimirati u fazi modelovanja a u cilju efikasnijeg resavanja pro-blema. U resavanju problema ovim pristupom, jedan od najvaznijih izbora jenacin na koji se definise nagrada. Potrebno je definisati i formu politike, ali tone ilustrujemo u pocetnim primerima.

Veoma su vazni koncept stanja i odnos agenta i okruzenja. Razmotrimo pri-mer robota ciji je cilj da podigne neki predmet sa poda ispred sebe. Verovatnoje prva intuitivna pretpostavka da je pogodno da se robot modeluje kao agent,a da prostor u kojem se krece i objekti u njemu, ukljucujuci predmet od in-teresa, predstavljaju okruzenje. Medutim, pazljivijim razmatranjem problemazakljucuje se da je kljucni problem nauciti kako pomocu elektricnih impulsakoji se salju motorima robotskih ruku i nogu postici njihovo adekvatno pokre-tanje. Zato je pogodnije da se i ti motori, odnosno ruke i noge robota, smatrajudelom okruzenja, a ne agenta. Obicno je pogodno da granica izmedu agenta iokruzenja ne koincidira sa nama intuitivnom fizickom granicom, vec da budepostavljena blize agentu.

Primer 13.1. U slucaju saha, agent je igrac. Okruzenje cine igrac-protivniki tabla sa figurama (pretpostavljamo da se ne koristi sat). Stanja su uredene64-orke od kojih svaka moze biti jedna sahovska figura ili prazno polje. Ak-cije koje agent moze da preduzme su legalni sahovski potezi u datoj poziciji.Akcije se preduzimaju u diskretnim koracima, pa je problem ocito diskre-tan. Nagrada moze biti 1 za potez kojim agent neposredno dobija partiju,โˆ’1 za potez neposredno nakon kojeg ga drugi igrac matira, a 0 u svimostalim potezima. Tipicna greska u modelovanju ovog problema bila bi dase nagrade definisu kao pozitivne vrednosti pri svakom potezu kojim agentuzima protivnicku figuru. Na ovaj nacin agent bi mogao da nauci da uz-me veliki broj protivnickih figura, cak i po cenu da ubrzo izgubi partiju.Zbog toga je prilikom definisanja nagrada vrlo vazno voditi racuna o tomeda politika koja vodi maksimalnoj nagradi zaista vodi resenju problema.U slucaju saha, kako je cilj igre matirati protivnika, a ne imati sto visefigura, najbezbednije je nagradu definisati strogo u skladu sa tim ciljem,kao sto je predlozeno u ovom primeru.

Primer 13.2. U racunarskoj igri Pong dva igraca se reketima dobacu-ju lopticom sa ciljem da suprotni igrac ne uspe da vrati lopticu. Igra sezavrsava kada se loptica nade iza reketa jednog od igraca. Taj igrac je iz-gubio igru, a drugi je pobedio. Oba igraca imaju po jedan reket i oni se

Page 319: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

317 13. Ucenje potkrepljivanjem

krecu duz vertikalnih ivica ekrana. Agent je ponovo igrac. Moguce akcijesu pomeranje reketa ili nagore ili nadole i preduzimaju se, vise puta u se-kundi ali u diskretnim koracima. Dakle, problem je diskretan. Okruzenjecine loptica i drugi igrac. Stanja su u idealnom slucaju odredena lokacijomloptice, njenim vektorom brzine, lokacijama reketa oba igraca i njihovimvektorima brzine. Ovde se javlja jedan od kljucnih problema vezanih zapredstavljanje stanja. Naime, igra Pong ne daje neposredno informacije ovektorima kretanja i brzini objekata, vec samo generise slike jednu za dru-gom u skladu sa kretanjem objekata. Stoga ove velicine nisu neposrednodostupne i ne mogu se direktno koristiti prilikom ucenja. Ove informacijemogle bi se aproksimirati tako da se stanje definise kao razlika dve slikedobijene u susednim trenucima. Sve pomenute velicine vidljive su u ta-kvoj reprezentaciji, kao sto je ilustrovano narednim slikama koja prikazujecetiri takva stanja. Pretpostavlja se da su boje na slikama kodirane bro-jevima 0 i 1. Na slici zuta boja oznacava vrednost 1, a tamno ljubicastavrednost โˆ’1. U prvom stanju se vidi da se loptica krece gore desno, a obareketa nagore, pri cemu desni znacajno brze nego levi. Na drugoj se lopticakrece dole desno, levi reket sporo nadole, a desni sporo nagore.

Problem je pogodno modelovati tako da se daje nagrada 1 u koraku ukom je agent neposredno dobio partiju (sto je korak u kojem se lopticanade iza protivnikovog reketa), โˆ’1 kada ju je izgubio (odnosno kad seloptica nade iza njegovog reketa) i 0 u svakom drugom koraku. Na prvipogled, mozda bi imalo smisla dati agentu nagradu 1 kad god uspesno vratilopticu. Medutim, u tom slucaju bi trazena politika (ona koja maksimizujeukupnu ostvarenu nagradu) bila takva da agent svaki put vrati lopticu, alitako da i protivnik takode moze lako da je vrati. Naime, sto se igra duzeigra, ovakva politika vodi vecoj ukupnoj nagradi.

U prethodnim primerima, nagrade razlicite od nule dobijaju se vrlo retko โ€“na kraju partije. Takve nagrade nazivaju se proredenim. Opravdana je bojazanda na osnovu tako definisanih nagrada agent ne moze lako nauciti da resavaslozene probleme, sto moze biti motivacija da se nagrade definisu drugacije ida se agent nagraduje cesce (recimo prilikom ostvarivanja nekih potciljeva).Ipak, kao sto je ilustrovano prethodnim primerima, ljudska procena moze bitipogresna te agent moze da nauci nezeljeno ponasanje koje zaista maksimizujelose definisanu nagradu. Jedan od nacina da se ovo izbegne je da se agentudaje pozitivna nagrada samo kada ostvari konacni cilj, odnosno da se nagradom

Page 320: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

318

agentu ukazuje na to koji cilj treba da ostvari, a ne kako treba da ga ostvari.Problem ucenja iz proredenih nagrada je predmet aktivnih istrazivanja koja suvec urodila nizom vrlo sofisticiranih algoritama ucenja potkrepljivanjem.

Primer 13.3. Neka je potrebno upravljati helikopterom tako da se kreceunapred zadatom putanjom od jedne do druge tacke u praznom prostoru.Pozeljno je zadati put preci sto brze. Kako su helikopteri skupi, pretpo-stavka je da se ucenje primarno obavlja u simulatoru. Agent je pilot heli-koptera, a okruzenje je fizicki prostor u kojem se nalazi helikopter. Stanjebi moglo biti definisano vektorom polozaja tezista helikoptera u odnosu naneki fiksirani koordinatni sistem, izvodom tog vektora u odnosu na vre-me (sto je vektor brzine kretanja), vektorom orijentacije helikoptera (naprimer, vektorom teziste-nos) i njegovim izvodom u odnosu na vreme. Ova-kva definicija stanja ima nekoliko manjkavosti. Prvo, ona mozda ne sadrzisve relevantne informacije. Na primer, drugi izvodi pomenutih vektora sutakode relevantni jer predstavljaju ubrzanja. Drugo, ove velicine su ne-prekidne, sto nosi odredene izazove u procesu ucenja. Ukoliko se ovakvadefinicija stanja ispostavi manjkavom u praksi, moze se probati sa dru-gacijom. Akcije se mogu definisati u terminima komandi koje pilot ima naraspolaganju. I takve akcije su neprekidne jer ukljucuju pomeranje upra-vljacke palice u neprekidnom prostoru. Ove akcije mogu se diskretizovati,ali postoje i algoritmi ucenja koji to ne zahtevaju.

U ovom primeru i vreme je neprekidno, pa se u ovom slucaju radi okontinualnom problemu ucenja potkrepljivanjem. To znaci da je potrebnoili diskretizovati vreme ili koristiti komplikovanije algoritme ucenja koji bi,umesto sumiranja, vrsili integraljenje nagrade. U ostatku primera pretpo-stavicem da se vrsi diskretizacija vremena.

Potrebno je definisati i nagrade. Helikopter treba da ostvari dva cilja.Prvi je da se drzi zadate putanje, a drugi je da brzo prede put. Nagra-da koja se daje u svakom koraku mogla bi biti definisana kao zbir sledecedve komponente. Jedna bi bila negativno rastojanje od definisane putanje,cime se favorizuje let po putanji ili u njenoj bliskoj okolini. Druga kom-ponenta bila bi โˆ’1 cime bi bilo favorizovano brze kretanje. Naime, akosvaki korak nosi negativnu nagradu, kako bi ukupna nagrada bila veca, po-trebno je problem resiti u manjem broju koraka. Ove komponente moguimati razlicite tezinske faktore pri sumiranju. Ti tezinski faktori treba daodgovaraju relativnom znacaju navedenih ciljeva.

U navedenim primerima, od prvog ka poslednjem raste sloboda u mode-lovanju relevantnih elemenata problema ucenja, pa cak i u definisanju samogproblema, kao i kompleksnost resenja. U praksi, situacija je cesto slicna situacijiopisanoj u primeru 13.3. Ipak, primer 13.1 sakriva pravu slozenost problemakoji se razmatra. To sto je ponekad, kao u tom primeru, lako definisati osnovneelemente problema ucenja, ne znaci da je tako kreiran model problema pogodan

Page 321: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

319 13. Ucenje potkrepljivanjem

za uspesno ucenje. U konkrentom primeru zaista i nije, sto ce postati jasnijekroz dalju diskusiju.

Primetimo da se problem ucenja potkrepljivanjem moze prirodno poveza-ti sa pretragom. I u pretrazi figurisu odredena stanja i mogu se preduzimatiakcije (na primer, izbor grada u koji ce se otici). Pretraga se obicno spro-vodi primenom racunski zahtevnih algoritama na instancu problema koju jepotrebno resiti kako bi se naslo optimalno ili priblizno optimalno resenje. Uslucaju ucenja potkrepljivanjem, racunski zahtevan proces ucenja obavlja sena mnostvu instanci datog problema u fazi treninga kako bi se dobila politika.Potom se ona primenjuje za (obicno) vrlo brzo aproksimativno resavanje noveinstance.

Naredna poglavlja bave se trima vaznim temama. Prva je postavljanje for-malnog okvira, Markovljevog procesa odlucivanja, koji formalno opisuje okruze-nje i u kojem se razmatra interakcija agenta sa okruzenjem. Druga je prona-lazenje optimalnih politika u odnosu na tako definisano okruzenje pri cemu pret-postavljamo da nam je njegov formalni opis (Markovljev proces odlucivanja)potpuno poznat. Ta pretpostavka obicno nije ispunjena. Dodatno, nalazenjeoptimalne politike pod takvom pretpostavkom ne predstavlja ucenje jer se neoslanja na podatke iz iskustva, vec predstavlja egzaktno resavanje na osnovuformalnog opisa problema. Ipak, koncepti i algoritmi koji ce biti diskutova-ni pod ovom pretpostavkom (da je okruzenje potpuno poznato) predstavljajuvazan korak ka trecoj temi โ€“ algoritmima ucenja u nepoznatom okruzenju naosnovu iskustva iz interakcije sa njim.

13.1 Markovljevi procesi odlucivanja

Markovljev proces odlucivanja je uobicajeni formalni okvir u kojem se opi-suju problemi koji se resavaju ucenjem potkrepljivanjem. Njegovo razumevanjeje prvi korak ka konstrukciji algoritama u ovoj oblasti.

Definicija 13.1 (Markovljev proces odlucivanja). Markovljev proces odlu-civanja (eng. Markov decision process) je uredena petorka (๐’ฎ,๐’œ,โ„›, ๐œ, ๐‘)gde je ๐’ฎ skup stanja, ๐’œ je skup akcija, โ„› โŠ† R je skup nagrada, ๐œ jetrajektorija, 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 za svako ๐‘ก โ‰ฅ 0 vazi

๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž) = ๐‘ƒ (๐‘†๐‘ก+1 = ๐‘ โ€ฒ, ๐‘…๐‘ก = ๐‘Ÿ|๐‘†๐‘ก = ๐‘ ,๐ด๐‘ก = ๐‘Ž).

Ukoliko se iz nekog stanja ne moze preci ni u jedno drugo, to stanje senaziva zavrsnim stanjem.

Page 322: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.1. Markovljevi procesi odlucivanja 320

U ovoj definiciji i u nastavku, ๐‘ƒ oznacava verovatnocu. Uloga funkcije pre-laska je da definise verovatnoce sa kojima se iz nekog stanja pri preduzetojakciji prelazi u neko drugo stanje, a da se pri tome dobija odredena nagrada.Primetimo da su funkcijom prelaska, izmedu ostalog, odredene nagrade u kon-kretnim situacijama, kao i da li se iz jednog stanja uopste moze doci u drugostanje. Ukoliko se iz ๐‘  ne moze doci u ๐‘ โ€ฒ, onda je ๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž) = 0 za svaku vred-nost ๐‘Ž i svaku vrednost ๐‘Ÿ. Ukoliko se iz ๐‘  moze doci u ๐‘ โ€ฒ, onda je ๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž)razlicito od nule makar za jednu vrednost ๐‘Ž i jednu vrednost ๐‘Ÿ.

Ukoliko je za neki problem Markovljev proces odlucivanja poznat, govorimoo problemu sa poznatim okruzenjem. U suprotnom, govorimo o problemu sanepoznatim okruzenjem. Isti problem moze biti problem sa poznatim ili nepo-znatim okruzenjem, u zavisnosti od toga da li je Markovljev proces odlucivanjakoji ga opisuje poznat ili ne. Jedan isti problem moze da modeluje vise razlicitihMarkovljevih procesa odlucivanja.

Definicija 13.2 (Deterministicko i stohasticko okruzenje). Ako u datomMarkovljevom procesu odlucivanja za svako stanje ๐‘  i svaku akciju ๐‘Ž, zatacno jedan par vrednosti ๐‘ โ€ฒ i ๐‘Ÿ vazi ๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž) = 1, dok za ostale parovevazi ๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž) = 0, onda se za funkciju prelaska i za okruzenje kaze dasu deterministicki. U suprotnom, kaze se da su stohasticki.

Primer 13.4. Prethodni primeri predstavljaju Markovljeve procese i vecilustruju koncepte stanja, akcija i nagrada, pa samim tim i koncepta tra-jektorije koja predstavlja niz tih velicina. Funkcija prelaska u slucaju sahai igre Pong je deterministicka. Na primer, u slucaju saha, potezom ๐‘Ž izdatog stanja ๐‘  prelazi se u jedinstveno odredeno stanje ๐‘ โ€ฒ, pri cemu se do-bija (jednoznacno odredena) nagrada ๐‘Ÿ u skladu sa opisanom definicijomnagrada. Verovatnoca da se odigravanjem istog poteza u istom polaznomstanju prede u neko stanje ๐‘ โ€ฒโ€ฒ = ๐‘ โ€ฒ ili da se pri tome dobije neka nagrada๐‘Ÿโ€ฒ = ๐‘Ÿ jednaka je 0.

U slucaju voznje helikoptera, prakticno upotrebljiv opis stanja ne mozeuzeti u obzir sve zamislive faktore koji uticu na kretanje helikoptera. Zato,u zavisnosti od faktora koji nisu uzeti u obzir, helikopter iz jednog stanjapri datoj akciji moze preci u razlicita, iako bliska, nova stanja. Odatle sledida funkcija prelaska ne mora biti deterministicka.

Razmotrimo dva jednostavna primera na kojima cemo ilustrovati glavnekoncepte koji se izlazu u ovoj glavi, kako ih budemo uvodili.

Primer 13.5. Pas ima vlasnika. Pas predstavlja agenta, a vlasnik okruzenje.Pas moze da stoji ili da sedi, tj. moze da preduzme akcije โ€žustatiโ€œ i โ€žse-stiโ€œ, po svom izboru. Vlasnik moze psu izdati komandu โ€žsedi!โ€œ ili โ€žstoj!โ€œ

Page 323: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

321 13. Ucenje potkrepljivanjem

(tj. moze traziti psu da sedi ili da stoji) โ€” to su moguca stanja okruzenja.Pored njih, smatracemo da postoji jos samo zavrsno stanje โ€žkrajโ€œ. Pocetnostanje moze biti jedno od ta dva, sa jednakim verovatnocama. Ukoliko pasuradi kako mu vlasnik kaze, dobija keks. U suprotnom, ne dobija nista.Dakle, nagrade mogu biti 1 ili 0. Pri bilo kojoj preduzetoj akciji, prelazi seu zavrsno stanje.

Primer 13.6. Razmotrimo igru koja se odvija u jednostavnom svetu โ€“na tabli dimenzija 5ร— 5 polja, koja ima rupu umesto polja (3, 3) i cilj napolju (3, 1). Indeksiranje pocinje od 0 i prvi indeks oznacava vrstu, a drugikolonu. Tabla je prikazana narednom slikom.

Agent se moze kretati po tabli, a zadatak mu je da dode do ciljnog polja.On moze da se krece po tabli po jedno polje levo, desno, gore ili dole. Skupstanja prirodno je skup polja table, a skup akcija je skup smerova kretanja{โ†,โ†’, โ†‘, โ†“}. Preduzimanje jedne takve akcije ne mora uvek da vodi dopolja koje se nalazi u smeru odredenom preduzetom akcijom, vec se todesava sa verovatnocom ๐›ฝ, a sa verovatnocom 1 โˆ’ ๐›ฝ agent ide nasumiceu jednom od preostala tri smera. Pad sa table (u rupu ili preko ivice)rezultuje nagradom โˆ’1 i krajem igre, dostizanje cilja nagradom 1 i krajemigre, a ostali ishodi nagradom 0.

Definicija Markovljevog procesa odlucivanja podrazumeva da, pri predu-zimanju neke akcije, verovatnoca prelaska iz jednog stanja u drugo uz nekupratecu nagradu ne zavisi ni od cega drugog osim od neposredno prethodnogstanja i preduzete akcije. Drugim recima, za Markovljev proces odlucivanjavazi:

๐‘ƒ (๐‘†๐‘ก, ๐‘…๐‘กโˆ’1|๐‘†0, ๐ด0, ๐‘…0, . . . , ๐‘†๐‘กโˆ’1, ๐ด๐‘กโˆ’1) = ๐‘ƒ (๐‘†๐‘ก, ๐‘…๐‘กโˆ’1|๐‘†๐‘กโˆ’1, ๐ด๐‘กโˆ’1)

Ovo svojstvo se naziva Markovljevim svojstvom i govori da ako je poznatotrenutno stanje procesa, za zakljucivanje o njegovoj buducnosti nije potreb-no poznavanje njegove proslosti. Drugim recima, ako znamo trenutno stanje,nije bitno kako se do njega stiglo. Na primer, u slucaju saha, stanje table iinformacija o tome koji je igrac na potezu daju dovoljno podataka za analizu

Page 324: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.1. Markovljevi procesi odlucivanja 322

daljeg toka igre. Kako se do tog stanja stiglo, za potrebe buduceg razmatranjapotpuno je nebitno.

Trajektorija izrazava interakcije agenta sa okruzenjem. Otud, ona zavisi de-lom od funkcije prelaska koja definise okruzenje, a delom od ponasanja agenta.Ponasanje agenta formalizuje se pomocu pojma politike.

Definicija 13.3 (Politika). Neka je dat Markovljev proces odlucivanja saskupom akcija ๐’œ i skupom stanja ๐’ฎ. Uslovna raspodela verovatnoce nadakcijama ๐‘Ž โˆˆ ๐’œ za dato stanje ๐‘  โˆˆ ๐’ฎ naziva se politika (eng. policy)i oznacava ๐œ‹(๐‘Ž|๐‘ ). Politika je deterministicka ukoliko je za svako stanjeverovatnoca jedne od akcija jednaka 1, dok su verovatnoce ostalih akcijajednake 0. U suprotnom, politika je stohasticka.

Agent u stanju ๐‘  preduzima akciju ๐‘Ž sa verovatnocom ๐œ‹(๐‘Ž|๐‘ ). Kako je ponasanjeagenta opisano iskljucivo politikom, pojmovi agenta i njegove politike mogu sepoistovetiti.

Primetimo da stohasticnost politike nema veze sa stohasticnoscu okruzenja.I u deterministickom i u stohastickom okruzenju ponasanje agenta moze semodelovati i deterministickom i stohastickom politikom.

Primer 13.7. Pas iz primera 13.5, moze se voditi razlicitim politikama.Na primer, moze uvek uraditi ono sto vlasnik trazi. Moze uvek da uradisuprotno. Ili moze uvek stajati ili uvek sedeti, nezavisno od toga sta vla-snik kaze. Ovo su sve moguce deterministicke politike. Jedna stohastickapolitika bila bi da sa jednakom verovatnocom bira jednu od dve moguceakcije.

Primer 13.8. U slucaju problema iz primera 13.6, mozemo formulisatirazlicite politike. Na primer, jedna deterministicka politika za svako stanjepridruzuje verovatnocu 1 akciji kretanja udesno, a verovatnocu 0 svimostalim akcijama. Mozemo formulisati takve jednostavne politike i za drugesmerove. Pored ovako jednostavnih konstantnih politika, mogli bismo usvakom polju izabrati tacno jedan smer kretanja koji bi imao verovatnocu1, dok bi svi ostali imali verovatnocu 0. Deterministickih politika ima 423,jer za svako od 23 polja osim rupe i cilja mozemo izabrati jedan smer na 4nacina. Jednostavna primer stohasticke politike je politika koja u svakomstanju svakoj akciji pridruzuje verovatnocu 0.25.

Kada je poznata politika ๐œ‹ na osnovu koje agent donosi odluke, moguce jedefinisati zajednicku raspodelu promenljivih koje cine trajektoriju

๐œ = ๐‘†0, ๐ด0, ๐‘…0, ๐‘†1, ๐ด1, ๐‘…1, ๐‘†2, ๐ด2, ๐‘…2, . . .

Page 325: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

323 13. Ucenje potkrepljivanjem

Ako je ๐‘ƒ (๐‘†0) raspodela mogucih polaznih stanja agenta, ๐œ‹ politika prema kojojagent donosi odluke i ๐‘ funkcija prelaska, ta zajednicka raspodela jednaka je:

๐‘ƒ (๐œ) = ๐‘ƒ (๐‘†0)

โˆžโˆ๐‘ก=0

๐œ‹(๐ด๐‘ก|๐‘†๐‘ก)๐‘(๐‘†๐‘ก+1, ๐‘…๐‘ก|๐‘†๐‘ก, ๐ด๐‘ก) (13.1)

Niz konkretnih vrednosti slucajnih promenljivih koje cine trajektoriju, naziva-mo epizodom. Primetimo da u slucaju nekih problema ima smisla govoriti okonacnim epizodama, kao u slucaju saha ili u primeru sa psom, dok u nekim,kao u slucaju sveta iz primera 13.6, ima smisla govoriti o beskonacnim epi-zodama. Kako bi se izbegla diskusija po ovim slucajevima prilikom razvijanjateorije ucenja potkreljivanjem, pretpostavlja se da je trajektorija beskonacnauz dodatni trik u slucaju potrebe za konacnim epizodama: u takvim problemi-ma, uvodi se novo finalno stanje u koje se prelazi bilo kojom akcijom iz svakogstanja u kojem se epizoda prirodno zavrsava. U tom, finalnom stanju, svakaakcija ponovo vodi u to isto stanje. Dodatno, nagrada pri bilo kom prelaskuu finalno stanje jednaka je nuli. Zahvaljujuci ovome, moci cemo da smatramoda su epizode beskonacne. Time je zaokruzen formalni okvir u kojem se obicnorazmatra ponasanje agenta u nekom okruzenju.

Primer 13.9. U slucaju primera sa psom jedna epizoda bi mogla biti

sedi!, ustati, 0, kraj.

Ova epiozda se u skladu sa prethodnom konvencijom moze beskonacnoproduziti, ali uvek prelazeci u finalno stanje sa nagradom 0. U slucajuproblema iz primera 13.6, epizoda bi mogla biti

(0, 0) โ†“, 0, (1, 0) โ†“, 0, (2, 0) โ†“, 0(3, 0)โ†’, 1, (3, 1).

I ona bi se mogla beskonacno produziti.

13.2 Resavanje Markovljevih procesa odlucivanja

Pod resavanjem Markovljevih procesa odlucivanja podrazumeva se prona-lazenje optimalne politike za agenta koji dela u okruzenju definisanom timMarkovljevim procesom odlucivanja. Potrebno je najpre ustanoviti kako se me-ri kvalitet politika i sta znaci da je politika optimalna. U tom cilju se uvodinekoliko vaznih pomocnih koncepata. Potom je potrebno razmatrati algoritam-ske aspekte njenog izracunavanja. Kao sto je vec najavljeno, ovo poglavlje nebavi se ucenjem jer se u njemu ne vrsi ocenjivanje vrednosti parametara nekogmodela na osnovu podataka iz iskustva, vec se Markovljev proces odlucivanjaresava egzaktno na osnovu poznatih verovatnoca prelaska. O ucenju, kada teverovatnoce nisu poznate, bice reci u narednom poglavlju.

Page 326: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.2. Resavanje Markovljevih procesa odlucivanja 324

Naredna definicija uvodi pojam ukupnog dobitka koji agent (za fiksiranupolitiku) ostvaruje u toku jedne epizode. Primetimo da, iako nije eksplicitnooznaceno, dobitak zavisi od politike.

Definicija 13.4 (Dobitak). Za dati Markovljev proces odlucivanja, dobi-tak (eng. gain) pocev od koraka ๐‘ก definise se kao red

๐บ๐‘ก =

โˆžโˆ‘๐‘˜=0

๐›พ๐‘˜๐‘…๐‘ก+๐‘˜

gde je ๐›พ realan broj iz intervala [0, 1] koji se naziva faktorom umanjenja(eng. discount factor). Podrazumeva se da vazi 00 = 1.

Razmotrimo ulogu hiperparametra ๐›พ. U slucaju da su nagrade ogranicene,sto je prihvatljiva pretpostavka, ako vazi ๐›พ < 1, dobitak konvergira. Poredtoga, faktor umanjenja ima i intuitivni smisao โ€” omogucava nam da vagamoznacaj kratkorocnih i dugorocnih nagrada. Ukoliko vazi ๐›พ = 0, politika kojamaksimizuje dobitak bila bi pohlepna โ€“ u svakom koraku bila bi izabrana akcijakoja nudi najvecu nagradu koja se moze dobiti u tom koraku. Sto su vrednosti๐›พ vece, to dobitak sa vecom tezinom uzima u obzir buduce nagrade.

Primer 13.10. Ukoliko pas iz primera 13.5, kada mu vlasnik kaze โ€žsedi!โ€œ,zaista sedne, dobice nagradu 1. Kako se epizoda time zavrsava i dobitak cebiti jednak 1 (bez obzira na to kolika je vrednost hiperparametra ๐›พ). Slicnoje i ako stoji kada mu vlasnik kaze โ€žstoj!โ€œ. Ukoliko uradi suprotno, dobitaku takvoj epizodi ce biti 0.

Primer 13.11. U slucaju sveta iz primera 13.6, agent se moze kretati odgornjeg levog ugla tri koraka udesno, pa tri koraka nadole. Podsetimo se,pad sa table rezultuje nagradom โˆ’1, dostizanje cilja nagradom 1, a ostaliishodi nagradom 0. Ako je faktor umanjenja ๐›พ jednak 0.9, vrednost dobitkaod polaznog trenutka je:

1 ยท 0 + 0.9 ยท 0 + 0.92 ยท 0โŸ โž udesno

+0.93 ยท 0 + 0.94 ยท 0 + 0.95 ยท (โˆ’1)โŸ โž nadole

= โˆ’0.59

U slucaju da je faktor umanjenja jednak 0.99, vrednost dobitka jednaka jeโˆ’0.95.

Kao i kod igranja igara, u ucenju potkrepljivanjem vazan je pojam vrednostistanja (analogan vrednosti pozicije). Vrednost stanja je u vezi sa dobitkom kojiagent ostvaruje od tog stanja. Medutim, kako i okruzenje i politika mogu bitistohasticki, dobitak od datog stanja moze biti razlicit u zavisnosti od akcija

Page 327: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

325 13. Ucenje potkrepljivanjem

koje agent preduzme. Zbog toga se vrednost stanja definise pomocu ocekivanjadobitka, pri cemu se misli na ocekivanje u odnosu na zajednicku raspodelu ๐‘ƒ (๐œ)svih promenljivih u trajektoriji, to jest, na ocekivanje po svim epizodama.

Definicija 13.5 (Funkcije vrednosti). Za dati Markovljev proces odlucivanja,ocekivana nagrada koju agent dobija prateci politiku ๐œ‹ iz nekog stanja ๐‘ jednaka je

๐‘ฃ๐œ‹(๐‘ ) = E[๐บ๐‘ก|๐‘†๐‘ก = ๐‘ ]

i naziva se funkcija vrednosti stanja (eng. state value function). Ocekivananagrada koju agent dobija prateci politiku ๐œ‹ nakon sto u stanju ๐‘  preduzmeakciju ๐‘Ž jednaka je

๐‘ž๐œ‹(๐‘ , ๐‘Ž) = E[๐บ๐‘ก|๐‘†๐‘ก = ๐‘ ,๐ด๐‘ก = ๐‘Ž]

i naziva se funkcija vrednosti akcije u stanju (eng. state-action value func-tion). U oba slucaja, ocekivanje dobitka ๐บ๐‘ก racuna se u odnosu na raspo-delu datu formulom (13.1).

Primetimo da je zbog Markovljeve pretpostavke u prethodnoj definiciji nebitnoo kom trenutku ๐‘ก se radi.

Primer 13.12. Razmotrimo tri politike kojima se moze voditi pas iz pri-mera 13.5. Politika ๐œ‹1 pretpostavlja da ce pas sa verovatnocom 1 poslusativlasnika. Politika ๐œ‹2 pretpostavlja da ce sa verovatnocom 1 uraditi suprot-no. Politika ๐œ‹3 pretpostavlja da ce akcija biti izabrana nausmice izmedudve moguce akcije sa jednakom verovatnocom.

Izracunajmo funkcije vrednosti stanja u odnosu na ove politike. Kakoce epizode sadrzati samo jednu nagradu, vrednost hiperparametra ๐›พ nijebitna. U svim primerima pretpostavljamo da se prvom akcijom smatraakcija โ€žsestiโ€œ, a drugom akcija โ€žustatiโ€œ. Vrednost stanja kraj ce biti 0,imajuci u vidu da je to zavrsno stanje i da nema daljih nagrada.

๐‘ฃ๐œ‹1(sedi!) = E๐œ‹1

[๐บ0|๐‘†0 = sedi!]= E๐œ‹1

[๐‘…0 + ๐›พ๐บ1|๐‘†0 = sedi!]= 1 ยท (1 + ๐›พE๐œ‹1

[๐บ1|๐‘†1 = kraj]) + 0 ยท (0 + ๐›พE๐œ‹1[๐บ1|๐‘†1 = kraj])

= 1 ยท 1 + 0 ยท 0 = 1

Pri prelasku sa drugog na treci red, upotrebljena je definicija matematickogocekivanja (u odnosu na raspodelu definisanu politikom), njegova linear-nost i poznavanje funkcije prelaska.

Page 328: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.2. Resavanje Markovljevih procesa odlucivanja 326

๐‘ฃ๐œ‹1(stoj!) = E๐œ‹1

[๐บ0|๐‘†0 = stoj!]= E๐œ‹1

[๐‘…0 + ๐›พ๐บ1|๐‘†0 = stoj!]= 0 ยท (0 + ๐›พE๐œ‹1

[๐บ1|๐‘†1 = kraj]) + 1 ยท (1 + ๐›พE๐œ‹1[๐บ1|๐‘†1 = kraj])

= 0 ยท 0 + 1 ยท 1 = 1

๐‘ฃ๐œ‹2(sedi!) = E๐œ‹1 [๐บ0|๐‘†0 = sedi!]= E๐œ‹2 [๐‘…0 + ๐›พ๐บ1|๐‘†0 = sedi!]= 0 ยท (1 + ๐›พE๐œ‹2 [๐บ1|๐‘†1 = kraj]) + 1 ยท (0 + ๐›พE๐œ‹2 [๐บ1|๐‘†1 = kraj])= 0 ยท 1 + 1 ยท 0 = 0

๐‘ฃ๐œ‹2(stoj!) = E๐œ‹1

[๐บ0|๐‘†0 = stoj!]= E๐œ‹2

[๐‘…0 + ๐›พ๐บ1|๐‘†0 = stoj!]= 1 ยท (0 + ๐›พE๐œ‹2

[๐บ1|๐‘†1 = kraj]) + 0 ยท (1 + ๐›พE๐œ‹2[๐บ1|๐‘†1 = kraj])

= 1 ยท 0 + 0 ยท 1 = 0

๐‘ฃ๐œ‹3(sedi!) = E๐œ‹1 [๐บ0|๐‘†0 = sedi!]= E๐œ‹3 [๐‘…0 + ๐›พ๐บ1|๐‘†0 = sedi!]= 0.5 ยท (1 + ๐›พE๐œ‹3 [๐บ1|๐‘†1 = kraj]) + 0.5 ยท (0 + ๐›พE๐œ‹3 [๐บ1|๐‘†1 = kraj])= 0.5 ยท 1 + 0.5 ยท 0 = 0.5

๐‘ฃ๐œ‹3(stoj!) = E๐œ‹1

[๐บ0|๐‘†0 = stoj!]= E๐œ‹3

[๐‘…0 + ๐›พ๐บ1|๐‘†0 = stoj!]= 0.5 ยท (0 + ๐›พE๐œ‹3

[๐บ1|๐‘†1 = kraj]) + 0.5 ยท (1 + ๐›พE๐œ‹3[๐บ1|๐‘†1 = kraj])

= 0.5 ยท 0 + 0.5 ยท 1 = 0.5

Page 329: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

327 13. Ucenje potkrepljivanjem

Mozemo vrlo jednostavno izracunati i odgovarajuce funkcije vrednostiakcije u stanju. Uradicemo to samo za politiku ๐œ‹1.

๐‘ž๐œ‹1(sedi!, sesti) = E๐œ‹1

[๐บ0|๐‘†0 = sedi!, ๐ด0 = sesti]= E๐œ‹1

[๐‘…0 + ๐›พ๐บ1|๐‘†0 = sedi!, ๐ด0 = sesti]= 1 + ๐›พE๐œ‹1

[๐บ1|๐‘†1 = kraj])= 1

๐‘ž๐œ‹1(sedi!, ustati) = E๐œ‹1

[๐บ0|๐‘†0 = sedi!, ๐ด0 = ustati]= E๐œ‹1

[๐‘…0 + ๐›พ๐บ1|๐‘†0 = sedi!, ๐ด0 = ustati]= 0 + ๐›พE๐œ‹1

[๐บ1|๐‘†1 = kraj])= 0

๐‘ž๐œ‹1(stoj!, sesti) = E๐œ‹1

[๐บ0|๐‘†0 = stoj!, ๐ด0 = sesti]= E๐œ‹1

[๐‘…0 + ๐›พ๐บ1|๐‘†0 = stoj!, ๐ด0 = seseti]= 0 + ๐›พE๐œ‹1

[๐บ1|๐‘†1 = kraj])= 0

๐‘ž๐œ‹1(stoj!, ustati) = E๐œ‹1

[๐บ0|๐‘†0 = stoj!, ๐ด0 = ustati]= E๐œ‹1

[๐‘…0 + ๐›พ๐บ1|๐‘†0 = stoj!, ๐ด0 = ustati]= 1 + ๐›พE๐œ‹1

[๐บ1|๐‘†1 = kraj])= 1

Funkcija vrednosti stanja i funkcija vrednosti akcije u stanju mogu se jed-nostavno povezati:

๐‘ฃ๐œ‹(๐‘ ) = E[๐บ๐‘ก|๐‘†๐‘ก = ๐‘ ] =โˆ‘๐‘Ž

๐œ‹(๐‘Ž|๐‘ )E[๐บ๐‘ก|๐‘†๐‘ก = ๐‘ ,๐ด๐‘ก = ๐‘Ž] =โˆ‘๐‘Ž

๐œ‹(๐‘Ž|๐‘ )๐‘ž๐œ‹(๐‘ , ๐‘Ž)

Moguce je i izraziti funkciju ๐‘ž preko funkcije ๐‘ฃ:

๐‘ž๐œ‹(๐‘ , ๐‘Ž) = E[๐บ๐‘ก|๐‘†๐‘ก = ๐‘ ,๐ด๐‘ก = ๐‘Ž]

= E[๐‘…๐‘ก + ๐›พ๐บ๐‘ก+1|๐‘†๐‘ก = ๐‘ ,๐ด๐‘ก = ๐‘Ž]

=โˆ‘๐‘ โ€ฒ,๐‘Ÿ

๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž) (๐‘Ÿ + ๐›พE[๐บ๐‘ก+1|๐‘†๐‘ก+1 = ๐‘ โ€ฒ])

=โˆ‘๐‘ โ€ฒ,๐‘Ÿ

๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž) (๐‘Ÿ + ๐›พ๐‘ฃ๐œ‹(๐‘ โ€ฒ))

Page 330: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.2. Resavanje Markovljevih procesa odlucivanja 328

Primetimo da je lakse iz funkcije ๐‘ž izraziti funkciju ๐‘ฃ nego obratno. Naime,prvi smer podrazumeva da je, pored vrednosti funkcije ๐‘ž, poznata i politika ๐œ‹sto je u praksi obicno slucaj, posto se politika koristi za upravljanje agentom.Drugi smer podrazumeva da je, pored vrednosti funkcije ๐‘ฃ, poznata i funkcijaprelaska, to jest, da je poznato funkcionisanje okruzenja, sto cesto nije tacno,jer je okruzenje tesko precizno modelovati (osim u retkim slucajevima, poputnekih igara). Na primer, u slucaju voznje helikoptera tesko je precizno modelo-vati kretanja vazduha koja bi mogla uticati na ishode akcija pilota u odredenimstanjima. Kako je u svakom stanju potrebno birati akciju, pa stoga i poznavatinjenu vrednost u datom stanju, algoritmi ucenja potkrepljivanjem u nepozna-tom okruzenju (koji ce biti prikazani u narednim poglavljima) bice zasnovanina aproksimaciji funkcije ๐‘ž๐œ‹, a ne na aproksimaciji funkcije ๐‘ฃ๐œ‹.

Funkcije vrednosti omogucavaju merenje kvaliteta politika i definisanje par-cijalnog poretka nad njima.

Definicija 13.6 (Parcijalni poredak nad politikama). Ukoliko u nekomMarkovljevom procesu odlucivanja za sva stanja ๐‘  โˆˆ ๐’ฎ vazi

๐‘ฃ๐œ‹1(๐‘ ) โ‰ฅ ๐‘ฃ๐œ‹2

(๐‘ )

onda pisemo ๐œ‹1 โ‰ฅ ๐œ‹2 i kazemo da je politika ๐œ‹1 bolja ili jednaka od politike๐œ‹2 za taj Markovljev proces odlucivanja.

Sledeca teorema izrazava fundamentalno svojstvo Markovljevih procesa od-lucivanja.

Teorema 13.1. Za svaki Markovljev proces odlucivanja postoji bar jednapolitika ๐œ‹* takva da za svaku politiku ๐œ‹ vazi ๐œ‹* โ‰ฅ ๐œ‹. Bilo koja takva politikanaziva se optimalnom politikom.

Primer 13.13. Za psa iz primera 13.5, politika ๐œ‹1 po kojoj pas slusagazdu bolja je od politike ๐œ‹2 po kojoj radi suprotno ili politike ๐œ‹3 pri kojojse ponasa nasumice. Stavise, politika ๐œ‹1 je optimalna.

Sve optimalne politike dele istu funkciju vrednosti stanja i istu funkcijuvrednosti akcije u stanju:

๐‘ฃ*(๐‘ ) = max๐œ‹

๐‘ฃ๐œ‹(๐‘ )

๐‘ž*(๐‘ , ๐‘Ž) = max๐œ‹

๐‘ž๐œ‹(๐‘ , ๐‘Ž)

za sve ๐‘  โˆˆ ๐’ฎ i ๐‘Ž โˆˆ ๐’œ. Ove funkcije vrednosti nazivamo optimalnim funkcijamavrednosti. Mogucnost da se optimalne politike razlikuju iako imaju iste funkcijevrednosti moze delovati neintuitivno. Razmotrimo deterministicku varijantu

Page 331: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

329 13. Ucenje potkrepljivanjem

okruzenja iz primera 13.6. Da bismo dosli do cilja iz polja u gornjem levomuglu, svejedno je da li cemo prvo krenuti nadole ili udesno. Zbog toga postojebarem dve optimalne politike koje se razlikuju u akciji koju preduzimaju naovom polju, a vrednost polja je ista ako se agent nadalje ponasa optimalno.

Primetimo i neke prirodne veze izmedu optimalnih funkcija vrednosti. Naprimer, vazi

๐‘ฃ*(๐‘ ) = max๐‘Ž

๐‘ž*(๐‘ , ๐‘Ž)

posto se najveci ocekivani dobitak u nekom stanju dobija preduzimanjem naj-bolje akcije u tom stanju. Naravno, ovo se moze i formalno dokazati.

Primetimo da poznavanje funkcije ๐‘ž* omogucava izracunavanje bar jedneoptimalne politike. Kako je u svakom stanju najpozeljnija akcija ona koja dajenajvecu ocekivanu nagradu u datom stanju, sledeca politika je optimalna:

๐œ‹*(๐‘Ž|๐‘ ) ={

1 ako vazi ๐‘Ž = argmax๐‘Ž ๐‘ž*(๐‘ , ๐‘Ž)0 inace

Jedan nacin da se izracuna funkcija ๐‘ž* pruzaju takozvane Belmanove jedna-kosti koje izrazavaju rekurentne veze funkcija vrednosti. Konkretno, za funkciju๐‘ฃ* vazi:

๐‘ฃ*(๐‘ ) = max๐‘Ž

๐‘ž*(๐‘ , ๐‘Ž)

= max๐‘Ž

E๐œ‹* [๐บ๐‘ก|๐‘†๐‘ก = ๐‘ ,๐ด๐‘ก = ๐‘Ž]

= max๐‘Ž

E๐œ‹* [๐‘…๐‘ก + ๐›พ๐บ๐‘ก+1|๐‘†๐‘ก = ๐‘ ,๐ด๐‘ก = ๐‘Ž]

= max๐‘Ž

โˆ‘๐‘ โ€ฒ,๐‘Ÿ

๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž)(๐‘Ÿ + ๐›พE๐œ‹* [๐บ๐‘ก+1|๐‘†๐‘ก+1 = ๐‘ โ€ฒ])

= max๐‘Ž

โˆ‘๐‘ โ€ฒ,๐‘Ÿ

๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž)(๐‘Ÿ + ๐›พ๐‘ฃ*(๐‘ โ€ฒ))

Belmanova jednakost za funkciju ๐‘ž* je:

๐‘ž*(๐‘ , ๐‘Ž) =โˆ‘๐‘ โ€ฒ,๐‘Ÿ

๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž)(๐‘Ÿ + ๐›พmax

๐‘Žโ€ฒ๐‘ž*(๐‘ 

โ€ฒ, ๐‘Žโ€ฒ))

Intuitivni smisao poslednje jednakosti je sledeci: dobitak pri preduzimanju ak-cije ๐‘Ž u stanju ๐‘  zavisi od neposredno dobijene nagrade i najveceg dobitka kojise moze dobiti iz stanja u koje se dospe nakon preduzimanja akcije. Pritom,kako su razliciti prelasci u naredna stanja razlicito verovatni, potrebno je nepo-sredno dobijene nagrade i buduce dobitke mnoziti verovatnocama tih prelazakao tezinskim faktorima.

Ove jednacine omogucavaju izracunavanje funkcija vrednosti narednim ite-rativnim postupcima, poznatim kao iteriranje vrednosti (eng. value iteration):

๐‘ฃ(๐‘ )โ† max๐‘Ž

โˆ‘๐‘ โ€ฒ,๐‘Ÿ

๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž)(๐‘Ÿ + ๐›พ๐‘ฃ(๐‘ โ€ฒ))

Page 332: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.3. Ucenje u nepoznatom okruzenju 330

za svako ๐‘ , kao i

๐‘ž(๐‘ , ๐‘Ž)โ†โˆ‘๐‘ โ€ฒ,๐‘Ÿ

๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž)(๐‘Ÿ + ๐›พmax

๐‘Žโ€ฒ๐‘ž(๐‘ โ€ฒ, ๐‘Žโ€ฒ)

)za svako ๐‘  i ๐‘Ž. U slucaju konacnih skupova ๐’ฎ i ๐’œ, iteriranje vrednosti konvergiraza proizvoljne inicijalne vrednosti funkcija ๐‘ฃ i ๐‘ž.

Kada su funkcije vrednosti aproksimirane, moguce je na osnovu njih aprok-simirati optimalnu politiku, cime je Markovljev proces odlucivanja priblizno (acesto i tacno) resen. Ipak, ako su skupovi stanja i akcija velike kardinalnosti,algoritam iteriranja vrednosti ce biti previse spor za prakticnu upotrebu. Akosu beskonacni, onda ovaj algoritam nije ni primenljiv. Takode, kao sto je recenoranije, ovaj postupak ne smatramo ucenjem jer se radi o egzaknom resavanjuproblema na osnovu formalnog opisa, a ne o ocenjivanju parametara na osnovupodataka dobijenih iz iskustva.

Primer 13.14. U kontekstu primera 13.6, razmotrimo pitanje kakva jeoptimalna funkcija vrednosti stanja ๐‘ฃ* za neke konkretne vrednosti para-metara ๐›ฝ i ๐›พ. Funkcija ๐‘ฃ* ilustrovana je na slici 13.1 za razlicite vrednostitih parametara: optimalna politika je da se za svako polje izabere akcija kanajsvetlijem susednom polju.

Opsti je trend da su vrednosti stanja vise ako je polje blize cilju, a da-lje od rupe i ivica, a da su manje ako je polje dalje od cilja, a blize rupi iivicama. U slucaju ๐›ฝ = 1 i ๐›พ = 1, svako polje osim rupe ima vrednost 1.To je tako jer je sa svakog drugog polja moguce bez greske doci do cilja.Za ๐›ฝ = 1, smanjivanjem faktora umanjenja, ocekivano, polja bliza ciljupostaju vrednija. Preciznije, ako je ๐›ฝ = 1, vrednost svakog polja osim ciljai rupe je ๐›พ๐‘˜โˆ’1 gde je ๐‘˜ minimalan broj poteza potrebnih za dolazak do cilja.Ipak, to nije nuzno tako i za druge vrednosti parametra ๐›ฝ. Za ๐›ฝ = 0.25,tj. u slucaju nasumicnog kretanja, polja iznad ciljnog postaju vrednija sasmanjenjem parametra ๐›พ. Naime, polje neposredno iznad postaje vredni-je zbog neposredne nagrade kojoj doprinosi i mogucnost poteza nadole savrednoscu 1, a koja se otezava vise nego dugorocne negativne nagrade kojedominiraju tablom. Povecanje vrednosti tog polja dalje pogoduje povecanjuvrednosti njemu okolnih polja.

Pri smanjivanju vrednosti parametra ๐›ฝ, ponasanje agenta postaje svenasumicnije i sanse da naide na polje sa nagradom se smanjuju, sto sevidi kroz vrednosti polja.

13.3 Ucenje u nepoznatom okruzenju

Algoritam iteriranja vrednosti primenljiv je samo ako je okruzenje poznato,odnosno ako je poznat Markovljev proces odlucivanja (skupovi stanja i akcija i

Page 333: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

331 13. Ucenje potkrepljivanjem

Slika 13.1: Prikaz optimalne funkcije vrednosti stanja za razlicite vrednostiparametara ๐›พ i ๐›ฝ. Zuta boja oznacava vrednost 1, a tamno ljubicasta vrednostโˆ’1. Po redovima, vrednosti parametra ๐›ฝ su 1, 0.7 i 0.25. Po kolonama, vrednostiparametra ๐›พ su 1, 0.9 i 0.5.

Page 334: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.3. Ucenje u nepoznatom okruzenju 332

funkcija prelaska). U realnim primenama to je retko ispunjeno. Iako nam funk-cionisanje razlicitih okruzenja moze biti razumljivo na nekom nivou intuicije, tonije dovoljno za primenu prethodnog algoritma. U takvim situacijama, potreb-no je paralelno sa odredivanjem optimalne politike upoznavati i okruzenje ukojem agent dela, sto sugerise da agent mora istrazivati svoje okruzenje predu-zimajuci akcije koje ce ga odvesti u razlicita stanja. Agent bi to mogao posticipreduzimanjem nasumicnih akcija u razlicitim stanjima, ali bi takav algoritambio previse spor jer ne bi koristio nikakvu informaciju iz okruzenja kao smernicuza efikasnije ucenje. Postoji vise principa na kojima se konstruisu upotrebljivialgoritmi ucenja u nepoznatom okruzenju i u ovom poglavlju cemo razmotritidva. Pritom, razmoticemo najpre ucenje u konacnim prostorima stanja i akcija,a potom i ucenje u beskonacnim prostorima koje nosi nove izazove.

13.3.1 Ucenje u konacnim prostorima stanja i akcijaPrimetimo da u Belmanovim jednakostima figurise ocekivanje zbira tekuce

nagrade i vrednosti buduceg stanja:

๐‘ž*(๐‘ , ๐‘Ž) =โˆ‘๐‘ โ€ฒ,๐‘Ÿ

๐‘(๐‘ โ€ฒ, ๐‘Ÿ|๐‘ , ๐‘Ž)(๐‘Ÿ + ๐›พmax

๐‘Žโ€ฒ๐‘ž*(๐‘ 

โ€ฒ, ๐‘Žโ€ฒ))

Ocekivanja se cesto ocenjuju uzorackim prosekom, pri cemu se uzorak mozedobiti tako sto ce agent interagovati sa okruzenjem. U ekstremnom slucaju, tajuzorak moze sadrzati samo jedno opazanje koje se dobija preduzimanjem nekeakcije ๐‘Ž u nekom stanju ๐‘ , pri cemu se prelazi u stanje ๐‘ โ€ฒ i dobija nagrada ๐‘Ÿ:

๐‘ž*(๐‘ , ๐‘Ž) โ‰ˆ ๐‘Ÿ + ๐›พmax๐‘Žโ€ฒ

๐‘ž*(๐‘ โ€ฒ, ๐‘Žโ€ฒ)

Ocigledan problem u ovom pristupu je to sto funkcija ๐‘ž* nije poznata โ€“ upravoona se ocenjuje. Kljucni korak u izvodenju novog algoritma je da se, umestokoriscenja stvarne vrednosti funkcije ๐‘ž*, koristi funkcija kojom je aproksimi-ramo. Tu funkciju oznacicemo jednostavno sa ๐‘ž. Kako se ta funkcija menja utoku procesa njenog ocenjivanja, ovaj postupak potrebno je sprovoditi itera-tivno. Iterativni postupak omogucava i sakupljanje veceg broja opazanja. Onase usrednjavaju pokretnim prosekom ocena funkcije vrednosti koje se dobijajuu razlicitim koracima. Preciznije, algoritam ocene funkcije vrednosti akcije ustanju zasniva se na sledecem pravilu azuriranja koje se sprovodi pri prelazu izstanja ๐‘  u stanje ๐‘ โ€ฒ preduzimanjem akcije ๐‘Ž uz nagradu ๐‘Ÿ:

๐‘ž(๐‘ , ๐‘Ž)โ† (1โˆ’ ๐›ผ๐‘ก)๐‘ž(๐‘ , ๐‘Ž) + ๐›ผ๐‘ก(๐‘Ÿ + ๐›พmax๐‘Žโ€ฒ

๐‘ž(๐‘ โ€ฒ, ๐‘Žโ€ฒ))

gde je ๐›ผ๐‘ก โˆˆ [0, 1] parametar koji i ovde zovemo brzinom ucenja, odnosno para-metar koji vaga znacaj tekuce i novodobijene ocene u koraku ๐‘ก. Kao i u slucajugradijentnog spusta, za konvergenciju je dovoljno da niz ๐›ผ๐‘ก zadovoljava uslove:

โˆžโˆ‘๐‘ก=0

๐›ผ๐‘ก =โˆžโˆžโˆ‘๐‘ก=0

๐›ผ2๐‘ก <โˆž .

Page 335: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

333 13. Ucenje potkrepljivanjem

Iako je definisano pravilo azuriranja ocene pri jednoj akciji, algoritam nijedo kraja definisan. Naime, pitanje je koju akciju agent preduzima u nekom sta-nju kako bi generisao prelaz. Moze se pokazati da je za konvergenciju dovoljnopreduzimati akcije tako da se svi parovi stanja i akcija posecuju beskonacno pu-ta. Naravno, u prakticnim primenama ce se taj proces odvijati u samo konacnomnogo koraka. Nacin na koji se ovo realizuje u praksi je koriscenje ๐œ€-pohlepnepolitike. ๐œ€-pohlepna politika u odnosu na datu funkciju ๐‘ž je politika koja saverovatnocom 1 โˆ’ ๐œ€ bira najbolju akciju u odnosu na funkciju ๐‘ž, a preostaleakcije sa medusobno jednakim verovatnocama, odnosno:

๐œ‹๐‘ž,๐œ€(๐‘Ž|๐‘ ) ={

1โˆ’ ๐œ€ ako ๐‘Ž = argmax๐‘Žโ€ฒ ๐‘ž(๐‘ , ๐‘Žโ€ฒ)๐œ€

|๐’œ|โˆ’1 inace

Parametar ๐œ€ treba da bude strogo veci od 0, ali se tipicno smanjuje tokomtreninga. Jedna varijanta ovakvog postupka precizirana je algoritmom 13.2 inaziva se ๐‘ž-ucenje (eng. ๐‘ž-learning). U datom algoritmu vazi ๐›ผ๐‘ก = 1/๐‘ก i ๐œ€๐‘ก = 1/๐‘ก,ali moguci su i drugi izbori. Kada se zavrsi jedna epizoda, pokrece se nova, kakobi se nastavilo ucenje.

Algoritam: Algoritam ๐‘ž-ucenja.

Ulaz: Broj iteracija ๐‘

Izlaz: Aproksimacija funkcije ๐‘ž*

1: inicijalizuj ๐‘ž na 0 za sve parove ๐‘  i ๐‘Ž;

2: inicijalizuj stanje ๐‘  na polazno stanje;

3: ๐‘กโ† 1;

4: ponavljaj5: preduzmi akciju ๐‘Ž โˆผ ๐œ‹๐‘ž,1/๐‘ก(๐‘Ž|๐‘ ) i opazi nagradu ๐‘Ÿ i novo stanje ๐‘ โ€ฒ;6: ๐›ผ๐‘ก = 1/๐‘ก;7: ๐‘ž(๐‘ , ๐‘Ž)โ† (1โˆ’ ๐›ผ๐‘ก)๐‘ž(๐‘ , ๐‘Ž) + ๐›ผ๐‘ก(๐‘Ÿ + ๐›พmax๐‘Žโ€ฒ ๐‘ž(๐‘ โ€ฒ, ๐‘Žโ€ฒ));8: ako je stanje ๐‘ โ€ฒ zavrsno onda9: postavi stanje ๐‘  na polazno stanje;

10: inace11: postavi stanje ๐‘  na ๐‘ โ€ฒ;12: ๐‘กโ† ๐‘ก+ 1;

13: dok nije ispunjen uslov ๐‘ก = ๐‘ ;

14: vrati ๐‘ž kao resenje.

Slika 13.2: Algoritam ๐‘ž-ucenja.

Algoritam ๐‘ž-ucenja je, naravno, moguce primeniti i na probleme u kojimaje okruzenje poznato. Na primer, za probleme sa velikim brojem stanja i akcija

Page 336: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.3. Ucenje u nepoznatom okruzenju 334

cesto se koriste varijante algoritama za ucenje u nepoznatom okruzenju, jer jeza njih algoritam iteriranja vrednosti prakticno neprimenljiv.

Primer 13.15. Primer 13.5 je izrazito jednostavan i potpuno nezanimljivza resavanje ako je okruzenje poznato. U slucaju da pretpostavimo da pasne poznaje okruzenje, tj. ne razume smisao komandi svog vlasnika, primerpostaje ilustrativniji.

Algoritam ๐‘ž-ucenja koji primenjujemo u ovom primeru koristi kon-stantnu brzinu ucenja ๐›ผ๐‘ก = 0.1 za svako ๐‘ก. Hiperparametar ๐œ€ jednak je 1/๐‘กukoliko je ta vrednost veca od 0.1, a u suprotnom je jednak 0.1. Vrednost๐›พ nije bitna posto su epizode duzine 1. Koristicemo 100 epizoda. Funkcija๐‘ž je na pocetku inicijalizovana vrednoscu 0 za sva stanja i akcije. Nakonsvake epizode, evaluira se pohlepna politika izvedena iz tekuce funkcije ๐‘ž:izracunava se prosecna nagrada na osnovu 20 epizoda (u kojima se ne uci,vec se samo pamte nagrade). Na narednoj slici (levo) prikazan je grafiktakvih nagrada u odnosu na broj epizoda iz kojih je agent ucio. Vidimo daje nakon 6 epizoda pas naucio optimalnu politiku (odnosno da uvek trebada poslusa komande vlasnika). Pretpostavimo da pas na pocetku iz nekograzloga ima potpuno suprotno razumevanje vlasnikovih komandi. U tomslucaju, ucenje je znacajno sporije. Sa naredne slike (desno), vidi se da jepotrebno mnogo vise epizoda da bi se naucilo optimalno ponasanje.

0 10 20 30 40 50 60

0

0.2

0.4

0.6

0.8

1.0

0 10 20 30 40 50 60

0

0.2

0.4

0.6

0.8

1.0

Zanimljivo je prikazati i funkciju ๐‘ž u toku ucenja. Na narednoj slici (go-re), prikazane su vrednosti funkcije ๐‘ž kroz 100 epizoda pod pretpostavkomda je funkcija ๐‘ž inicijalizovana nulama. Svaka slicica predstavlja matricudimenzija 2 ร— 2 gde vrste odgovaraju stanjima (0 - โ€žsedi!โ€œ, 1 - โ€žstoj!โ€œ), akolone akcijama (0 - โ€žsestiโ€œ, 1 - โ€žustatiโ€œ). Boja odrazava njihovu vrednost.Vidi se da algoritam jos dugo konvergira ka pravim vrednostima funkcije๐‘ž i nakon sto je naucena optimalna politika. Ocenjivanje vrednosti ๐‘ž funk-cije i jeste zahtevniji problem od ucenja optimalne politike, ali u praksinajcesce nije neophodno. Prikaz funkcije ๐‘ž u toku ucenja kada je inicija-

Page 337: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

335 13. Ucenje potkrepljivanjem

lizovana tako da pas bira suprotnu akciju od gazdine komande takode jeprikazan na narednoj slici (dole).

Primetimo iz prethodnog primera da epizoda moze biti vrlo kratka i u tomslucaju, ucenje se vrsi iz potencijalno velikog broja epizoda. Takode, proceduraevaluacije upotrebljena u tom primeru, pa i u narednim, ne bi se koristilau praksi jer generise veliki broj epizoda koje se ne koriste za ucenje, ali jeza potrebe ilustracije taj pristup dobar jer daje nepristrasnu ocenu kvalitetatekuce politike.

Primer 13.16. Demonstrirajmo ponasanje algoritma ๐‘ž-ucenja i na okruze-nju iz primera 13.6. I u ovom okruzenju Markovljev proces odlucivanja jepoznat, sto omogucava poredenje sa algoritmom iteriranja vrednosti. Zapocetak, pretpostavimo da je okruzenje deterministicko, odnosno da ce seagent sigurno kretati u smeru koji odabere.

Algoritam ๐‘ž-ucenja u ovom primeru koristi brzinu ucenja ๐›ผ๐‘ก = 0.01 zasvako ๐‘ก. Kao i u proslom primeru, hiperparametar ๐œ€ je jednak 1/๐‘ก ukolikoje ta vrednost veca od 0.1, a u suprotnom je jednak 0.1. Vrednost ๐›พ jednakaje 0.99. Svaka epizoda pocinje na nasumicno odabranom polju koje nije nirupa ni ciljno polje. Algoritam uspeva da nauci politiku koja uvek vodi dociljnog stanja za oko 3000 epizoda (ovaj broj moze da varira zbog slucajnogizbora akcija pri ucenju). Naucena politika ilustrovana je u narednoj tabeli.Strelice predstavljaju akciju sa najvecom vrednoscu u datom stanju. Ciljnopolje i rupa su prazni.

Page 338: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.3. Ucenje u nepoznatom okruzenju 336

โ†“ โ†“ โ† โ†“ โ†โ†’ โ†“ โ†“ โ† โ†‘โ†’ โ†“ โ† โ† โ†โ†’ โ† โ†“โ†‘ โ†‘ โ† โ† โ†

Primetimo da akcija kretanja nagore na polju (1, 4) nije optimalna u smislunajveceg umanjenog dobitka. Naime, finalna nagrada bila bi nesto manjeumanjena ako bi put do cilja bio kraci, sto bi se moglo postici kretanjemulevo ili nadole. To ukazuje da je bilo prostora za dalje ucenje. Ipak, i ovapolitika uvek vodi do ciljnog polja.

Uporedimo ponasanje ๐‘ž-ucenja sa algoritmom iteriranja vrednosti. Oce-kuje se da algoritam iteriranja vrednosti brze dolazi do optimalne politike,imajuci u vidu da koristi znanje o poznatom Markovljevom procesu od-lucivanja, dok ๐‘ž-ucenje ne koristi tu informaciju. Ipak, kako je priroda ovadva algoritma znacajno razlicita nije ih lako uporediti. U slucaju ๐‘ž-ucenjamogli bismo pratiti unapredenje naucenog znanja u odnosu na broj epizo-da iz kojih algoritam uci, ali kod iteriranja vrednosti ne postoji konceptepizoda. Ono sto je zajednicko za oba algoritma je da vrse izracunavanjatekuce aproksimacije funkcije ๐‘ž i broj tih izracunavanja moze se uzeti kaomera ulozenog racunskog truda u odnosu na koju se moze izraziti kvali-tet naucenog znanja. Taj kvalitet moze se evaluirati jednostavnim eksperi-mentom, kao u primeru 13.15. U ovom slucaju je korisceno 100 epizodaza izracunavanje prosecne nagrade. Na narednoj slici (levo) prikazani sugrafici prosecne nagrade u odnosu na broj izacunavanja vrednosti funkcije๐‘ž za iteriranje vrednosti (plavo) i za ๐‘ž-ucenje (narandzasto). Vidi se daiteriranje vrednosti brze i stabilnije postize maksimalnu nagradu, sto je iocekivano.

0 10000 20000 30000 40000 50000

0

0.2

0.4

0.6

0.8

1.0

0 10000 20000 30000 40000 50000

0

0.2

0.4

0.6

0.8

1.0

Razmotrimo i slucaj stohastickog okruzenja, pri cemu je verovatnocakretanja u izabranom smeru 0.7, a u svakom od preostalih 0.1. Grafici pro-

Page 339: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

337 13. Ucenje potkrepljivanjem

secne nagrade za oba algoritma prikazani su na prethodnoj slici (desno).U slucaju oba algoritma vidljiva je odredena nestabilnost performansi. Uslucaju iteriranja vrednosti, ona potice samo od stohasticnosti okruzenjaprilikom evaluacije. U toku ucenja, iteriranje vrednosti ima potpunu infor-maciju o okruzenju i koristi tacne verovatnoce prelaska. S druge strane,๐‘ž-ucenje je podlozno i stohasticnosti u vreme ucenja i zbog toga dostizenesto nize vrednosti prosecne nagrade.

Ovaj algoritam resava problem nepoznavanja okruzenja, ali ne i problemvelikih ili beskonacnih skupova stanja i akcija, kakav je slucaj u diskutovanomprimeru igranja saha. Naime, u takvom slucaju nije jasno kako cuvati informa-cije o aproksimaciji ๐‘ž(๐‘ , ๐‘Ž) u racunaru i kako dovoljno puta posetiti sve parovestanja i akcija tako da aproksimacija bude dovoljno dobra za prakticne potre-be. U slucaju saha, nezamislivo je da ce sva moguca stanja biti videna prilikomtreninga. Dodatno, ovako treniran agent se ne moze snaci ni u jednom stanjukoje ranije nije video, cak i ako je to stanje slicno vec videnim. Drugim rะตcima,algoritam ne generalizuje na nepoznate situacije te je i njega tesko smatratialgoritmom ucenja. Ovi problemi se otklanjaju pristupima kakve diskutujemou narednom potpoglavlju.

13.3.2 Ucenje u beskonacnim prostorima stanja i akcijaU velikom broju prakticno relevantnih primena, prostor stanja je besko-

nacan ili je konacan ali previse veliki za prethodno izlozene metode. Nekadanije ni diskretan kao sto te metode pretpostavljaju, vec kontinualan. Zbogtoga je potrebno uopstiti prethodne pristupe ili definisati nove, sustinski dru-gacije. Resenje ovog problema diskutovacemo najpre zadrzavsi pretpostavku okonacnosti skupa akcija, sto je dovoljno dobro za mnostvo primena.

Primer 13.17. Problem balansiranja stapa na kolicima dobro je poznatprimer problema upravljanja u neprekidnim a samim tim i beskonacnimprostorima stanja. Pretpostavlja se da kolica mogu da se krecu levo-desnopo podlozi bez trenja i da je stap za njih zakacen pomocu zgloba oko ko-jeg moze slobodno da rotira. Na narednom prikazu iz kolekcije okruzenjaOpenAI Gym, stap je prikazan braon bojom, a kolica crnom.

Page 340: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.3. Ucenje u nepoznatom okruzenju 338

U polaznom stanju, stap je skoro uspravan, stoji pod malim uglom u od-nosu na vertikalu. Na kolica je moguce primenjivati jedinicnu silu ulevoili udesno, sto dovodi do njihovog kretanja u datom smeru. Interakcijase odvija u diskretnim trenucima, sa razmakom od 0.02 sekunde. Epizo-da se zavrsava ako se kolica udalje 2.4 jedinice od polaznog stanja, ako jeugao stapa u odnosu na vertikalu veci od 12 stepeni ili ako je proslo 200koraka. U ovom problemu, skup akcija je ocigledan โ€“ primeniti silu na ko-lica ili ulevo ili udesno. Skup stanja je skup cetvorki realnih brojeva, kojeukljucuju koordinatu kolica duz ose levo-desno, brzinu kolica, ugao stapai ugaonu brzinu stapa. Ovo su ocito neprekidne velicine. Nagrada je 1 zasvaki korak do kraja epizode. Kao i uvek, cilj je maksimizovati dobitak odpocetnog trenutka.

Kljucno zapazanje ucenja potkrepljivanjem u beskonacnim prostorima sta-nja je da se funkcija ๐‘ž* moze uciti, kao i u drugim pristupima masinskog ucenja,uvodenjem parametrizovanog modela ๐‘žw nad nekom reprezentacijom stanja iakcija. Kada je skup akcija konacan (sto je tekuca pretpostavka), nije neop-hodno traziti posebnu reprezentaciju za njih โ€“ mogu se tretirati kao bilo kojekategoricke promenljive. Sto se tice stanja, ili je potrebno predstaviti ih una-pred definisanim skupom svojstava ili je potrebno upotrebiti model koji je ustanju da sam izabere takva svojstva i time kreira pogodnu reprezentaciju (kaosto mogu duboke neuronske mreze ako se stanja predstavljaju slikama kao, naprimer, u video igrama). Razmotricemo jedan algoritam inspirisan algoritmom๐‘ž-ucenja. Pravilo azuriranja aproksimacije funkcije ๐‘ž u ๐‘ž-ucenju je:

๐‘ž(๐‘ , ๐‘Ž)โ† (1โˆ’ ๐›ผ๐‘ก)๐‘ž(๐‘ , ๐‘Ž) + ๐›ผ๐‘ก(๐‘Ÿ + ๐›พmax๐‘Žโ€ฒ

๐‘ž(๐‘ โ€ฒ, ๐‘Žโ€ฒ))

gde je ๐‘ โ€ฒ stanje u koje se prelazi preduzimanjem akcije ๐‘Ž u stanju ๐‘  i koje jepoznato iz konkretne epizode i gde je ๐‘ก redni broj iteracije, a ๐›ผ๐‘ก brzina ucenja.Jednostavnim preuredivanjem clanova dobija se sledece:

๐‘ž(๐‘ , ๐‘Ž)โ† ๐‘ž(๐‘ , ๐‘Ž) + ๐›ผ๐‘ก(๐‘Ÿ + ๐›พmax๐‘Žโ€ฒ

๐‘ž(๐‘ โ€ฒ, ๐‘Žโ€ฒ)โˆ’ ๐‘ž(๐‘ , ๐‘Ž))

Algoritam inspirisan ovim pravilom, a koji je zasnovan na parametarskoj aprok-simaciji ๐‘žw funkcije ๐‘ž, koristi sledece pravilo azuriranja parametara:

wโ† w + ๐›ผ๐‘ก(๐‘Ÿ +max๐‘Žโ€ฒ

๐‘žw(๐‘ โ€ฒ, ๐‘Žโ€ฒ)โˆ’ ๐‘žw(๐‘ , ๐‘Ž))โˆ‡w๐‘žw(๐‘ , ๐‘Ž) (13.2)

Ostatak algoritma bice isti kao u ๐‘ž-ucenju (algoritam 13.2). Primetimo da nave-dene dve iterativne operacije imaju jedan analogni element, ali da se razlikujupo tome sto se u prvoj azurira vrednost ๐‘ž(๐‘ , ๐‘Ž) a u drugoj vrednost w, kao i potome sto se u drugoj operaciji javlja gradijent aproksimacije ๐‘žw po parametrimaw.

Ukoliko funkcija ๐‘žw(๐‘ , ๐‘Ž) predstavlja duboku neuronsku mrezu, prethodnialgoritam naziva se dubokim ๐‘ž-ucenjem (eng. deep ๐‘ž-learning). Kljucni pro-blem u primeni ovakvog algoritma je to sto on ne mora konvergirati. Postoji

Page 341: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

339 13. Ucenje potkrepljivanjem

niz poboljsanja koja vode ka pouzdanijoj i brzoj konvergenciji, ali po pravilusu algoritmi ucenja potkrepljivanjem, zbog nestabilnosti optimizacije, tezi zaprimenu od algoritama nadgledanog ucenja.

Primer 13.18. Pri primeni algoritma dubokog ๐‘ž-ucenja u problemu balan-siranja stapa, za aproksimaciju ๐‘žw funkcije ๐‘ž, koristicemo vrlo jednostavnuneuronsku mrezu.

U slucaju konacnog skupa stanja i akcija, aproksimacija funkcije ๐‘ž pri-rodno se predstavlja tabelom koja se indeksira stanjem i akcijom. U slucajukoriscenja neuronske mreze, obicno se stanje smatra ulazom mreze, a ume-sto da akcija takode predstavlja ulaz, mreza obicno ima onoliko izlaza ko-liko ima akcija, a svaki od tih izlaza daje vrednost ๐‘žw(๐‘ , ๐‘Ž) odgovarajuceakcije ๐‘Ž u datom stanju ๐‘ . Razmotrimo arhitekturu mreze. Mreza moraimati 4 ulaza, posto je stanje opisano pomocu 4 realna broja. Mora ima-ti dva izlaza koji aproksimiraju vrednosti funkcije ๐‘ž za dve akcije (levo idesno) u datom ulaznom stanju. Koristicemo 3 sloja sa po 20 neurona iReLU aktivacione funkcije. Parametar ๐œ€ ๐œ€-pohlepne politike je 1/๐‘ก gde je๐‘ก redni broj epizode. Za brzinu ucenja ๐›ผ koriscena je vrednost 0.005.

Evaluacija se sprovodi kao u primeru 13.15. Nakon svake epizode ucenja,racuna se prosecna nagrada (uprosecena na 100 epizoda testiranja) za te-kucu politiku. Naredna slika (levo) prikazuje prosecnu nagradu u odnosuna do tada upotrebljeni broj epizoda za treniranje.

0 100 200 300 400 500

0

50

100

150

200

0 100 200 300 400 500

0

50

100

150

200

Sa slike se vidi da je algoritam u stanju da resi problem (odnosno da do-stigne ukupnu nagradu 200) u prvih 200 epizoda ucenja, ali se takode vidi inestabilnost usled koje model moze da izgubi na kvalitetu, ali i da se potomponovo popravlja. Ukoliko algoritam u nekoj iteraciji uspe da nade dobarmodel, nije ni bitno da li ce posle toga oscilovati. Naime moguce je za-pamtiti tekuci model kad god on po prosecnoj nagradi prevazide prethodnozapamceni. Kada se trening zavrsi, u primeni se moze koristiti poslednjizapamceni model.

Page 342: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.3. Ucenje u nepoznatom okruzenju 340

U slucaju beskonacnih prostora akcija, algoritam dubokog ๐‘ž-ucenja nije lakoupotrebljiv. Naime, cak i ako bi uspesno bila aproksimirana funkcija ๐‘ž*(๐‘ , ๐‘Ž),za zadato stanje ๐‘ , najbolja akcija ๐‘Ž (jedna od beskonacno mnogo) bi se uvekmorala traziti nekim optimizacionim algoritmom nad funkcijom ๐‘žw(๐‘ , ๐‘Ž). Funk-cija vrednosti ๐‘ž, u slucaju beskonacnog skupa akcija, jednostavno ne predstavljapogodnu reprezentaciju za odredivanje trazene politike. Umesto nje, alterna-tivni pristup, koji se cesto koristi u ucenju potkrepljivanjem, zasniva se nadirektnom ucenju politike, umesto ucenja funkcije ๐‘ž. Primetimo da je u slucajuneprekidnih akcija koje odgovaraju realnom intervalu, politiku ๐œ‹w(๐‘Ž|๐‘ ) mo-guce modelovati, na primer, normalnom raspodelom ๐’ฉ (๐‘“w(๐‘ ), ๐œŽ2) za neko ๐œŽ2,gde ๐‘“w(๐‘ ) moze da predstavlja regresionu neuronsku mrezu. U tom slucaju, tamreza za dato ๐‘  direktno izracunava preporucene akcije. Naredni pristup mozese koristiti i u slucaju neprekidnih i u slucaju diskretnih skupova akcija.

Kao sto je receno, cilj ucenja potkrepljivanjem je maksimizovanje ocekivanogdobitka u odnosu na zajednicku raspodelu promenljivih u trajektoriji definisa-nu jednakoscu (13.1), tj. maksimizovanje velicine:

๐ฝ(w) = E๐‘ƒw [๐บ0]

pri cemu je ๐‘ƒw pomenuta zajednicka raspodela u slucaju koriscenja politike๐œ‹w:

๐‘ƒw(๐œ) = ๐‘ƒ (๐‘†0)

โˆžโˆ๐‘ก=0

๐œ‹w(๐ด๐‘ก|๐‘†๐‘ก)๐‘(๐‘†๐‘ก+1, ๐‘…๐‘ก|๐‘†๐‘ก, ๐ด๐‘ก)

Za maksimizaciju ocekivanja mozemo, kao i u drugim slicnim situacijama,da koristimo metod gradijentnog uspona. Gradijent โˆ‡w๐ฝ(w) se moze izvestikao u nastavku (nisu navedena obrazlozenja izvodenja). Pritom, u izvodenjuvodimo racuna da ne mesamo slucajne promenljive i njihove konkretne vred-nosti. Ocekivanja se primenjuju na slucajne promenljive, a izracunavaju seuobicajeno, tako sto se integrale njihove vrednosti u odnosu na njihovu raspo-delu verovatnoce. Stoga e oznacava epizodu u odnosu na trajektoriju ๐œ , a ๐‘Ÿ(e)konkretnu vrednost

โˆ‘โˆž๐‘ก=0 ๐›พ

๐‘ก๐‘Ÿ๐‘ก odgovarajuceg dobitka ๐บ0.

โˆ‡w๐ฝ(w) = โˆ‡wE๐‘ƒw [๐บ0]

= โˆ‡w

โˆซ๐‘Ÿ(e)๐‘ƒw(e)๐‘‘e

=

โˆซ๐‘Ÿ(e)โˆ‡w๐‘ƒw(e)๐‘‘e

=

โˆซ๐‘Ÿ(e)โˆ‡w๐‘ƒw(e)

๐‘ƒw(e)๐‘ƒw(e)๐‘‘e

=

โˆซ๐‘Ÿ(e) (โˆ‡w log๐‘ƒw(e))๐‘ƒw(e)๐‘‘e

= E๐‘ƒw [๐บ0โˆ‡w log๐‘ƒw(๐œ)]

Page 343: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

341 13. Ucenje potkrepljivanjem

Dalje, vazi

โˆ‡w log๐‘ƒw(e) = โˆ‡w

(log๐‘ƒ (๐‘ 0) +

โˆžโˆ‘๐‘ก=0

(log ๐œ‹w(๐‘Ž๐‘ก|๐‘ ๐‘ก) + log ๐‘(๐‘ ๐‘ก+1, ๐‘Ÿ๐‘ก|๐‘ ๐‘ก, ๐‘Ž๐‘ก))

)

=

โˆžโˆ‘๐‘ก=0

โˆ‡w log ๐œ‹w(๐‘Ž๐‘ก|๐‘ ๐‘ก)

odnosno

โˆ‡w๐ฝ(w) = E๐‘ƒw

[๐บ0

โˆžโˆ‘๐‘ก=0

โˆ‡w log ๐œ‹w(๐‘Ž๐‘ก|๐‘ ๐‘ก)

]

Navedeni gradijent, koji je izrazen ocekivanjem, uobicajeno se aproksimira uzo-rackim prosekom:

โˆ‡w๐ฝ(w) โ‰ˆ 1

๐‘

๐‘โˆ‘๐‘–=1

๐‘Ÿ(e๐‘–)

๐‘‡๐‘–โˆ‘๐‘ก=0

โˆ‡w log ๐œ‹w(๐‘Ž๐‘–๐‘ก|๐‘ ๐‘–๐‘ก).

gde je ๐‘‡๐‘– duzina ๐‘–-te epizode. Na ovoj cinjenici zasnovan je algoritam Reinforceprikazan u svom najjednostavnijem obliku algoritmom 13.3. U ovoj formulacijipretpostavlja se da se gradijent aproksimira na osnovu uzorka koji cini samojedna epizoda:

โˆ‡w๐ฝ(w) โ‰ˆ ๐‘Ÿ(e)

๐‘‡โˆ‘๐‘ก=0

โˆ‡w log ๐œ‹w(๐‘Ž๐‘ก|๐‘ ๐‘ก).

Dati algoritam osnova je vise algoritama ucenja potkrepljivanjem koriscenihu praksi. Njegova mana u odnosu na algoritme zasnovane na ๐‘ž funkciji je vecanestabilnost treninga koja se cesto ublazava dodatnim tehnikama koje izlaze izokvira ove knjige.

Primer 13.19. Algoritam Reinforce se takode moze primeniti na problembalansiranja stapa. Za mrezu je koriscena ista arhitektura i ista brzinaucenja kao za algoritam dubokog ๐‘ž-ucenja, uz koriscenje softmax funkcijena izlazima, kako bi se modelovala politika koja predstavlja raspodelu naddve moguce akcije. Sa slike iz primera 13.18 (desno), vidi se da je i algori-tam Reinforce uspesan u resavanju ovog problema, ali da do resenja dolazitek nakon skoro 400 epizoda. Sprovedeni eksperimenti sugerisu da se algo-ritam dubokog ๐‘ž ucenja pokazao znatno boljim pri resavanju ovog problemakako po brzini resavanja problema, tako i po obimu eksperimenata koji jebio dovoljan da se dode do zadovoljavajucih rezultata. Ipak, taj zakljucakse ne moze lako uopstiti na druge probleme, pa je u praksi cesto potrebnorazmotriti vise razlicitih algoritama.

Page 344: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.4. Primene ucenja potkrepljivanjem 342

Algoritam: Algoritam Reinforce.

Ulaz: Broj iteracija ๐‘

Izlaz: Aproksimacija ๐œ‹w optimalne politike

1: nasumicno inicijalizuj w;

2: ๐‘กโ† 1;

3: ponavljaj4: generisati epizodu e = ๐‘ 0, ๐‘Ž0, ๐‘Ÿ0, ๐‘ 1, . . . , ๐‘ ๐‘‡ , ๐‘Ž๐‘‡ , ๐‘Ÿ๐‘‡ koriscenjem poli-

tike ๐œ‹w;5: izracunati nagradu ๐‘Ÿ(e);6: wโ† w + ๐›ผ

(๐‘Ÿ(e)

โˆ‘๐‘‡๐‘ก=0โˆ‡w log ๐œ‹w(๐‘Ž๐‘ก|๐‘ ๐‘ก)

);

7: ๐‘กโ† ๐‘ก+ 1;

8: dok nije ispunjen uslov ๐‘ก = ๐‘ ;

9: vrati ๐œ‹w kao resenje.

Slika 13.3: Algoritam Reinforce.

13.4 Primene ucenja potkrepljivanjem

U nastavku prikazujemo nekoliko primera primena ucenja potkrepljivanjem.Naglasimo da do sada diskutovani algoritmi, iako se mogu primeniti na dateprobleme, ne bi na njima dali rezultate upotrebljive u praksi. Algoritmi stvarnokorisceni u praksi su, iako izgradeni na slicnim osnovima, ipak znatno kompli-kovaniji.

13.4.1 Igranje igara sa AtarijaIako nije zaista prakticna, jedna od poznatijih primena ucenja potkrepljiva-

njem je igranje igara sa Atarija 2600,1 poput prethodno pomenute igre Pong,Space Invaders i drugih. Jedna situacija iz igre Space Invaders prikazana je naslici 13.4.

Za svaku igru, treniran je zaseban agent zasnovan na konvolutivnoj mrezi.Potrebno je da agent igra igru samo na osnovu slika ekrana, isto kao i covek.Model agenta je konvolutivna mreza ciji je ulaz reprezentacija stanja dobijenana osnovu slika, poput stanja diskutovanog za igru Pong iz primera 13.2. Poredulaza, algoritam ucenja dobija i nagrade na kraju partije. U slucaju Ponga,nagrada je 1 kad god je partija dobijena, a โˆ’1 kad je izgubljena.

Konvolutivna mreza koja se koristi u svim igrama modeluje funkciju vred-nosti stanja i akcije. Ilustrovana je na slici 13.5. Umesto dva ulaza โ€“ stanja i

1Igracka konzola iz 1977.

Page 345: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

343 13. Ucenje potkrepljivanjem

Slika 13.4: U igri Space Invaders igrac upravlja topom pri dnu slike koji mozeda se krece levo-desno i da puca na vanzemaljce koji se spustaju na Zemlju(slika je preuzeta iz kolekcije okruzenja OpenAI Gym).

akcije, ima samo jedan ulaz โ€“ sliku koja predstavlja stanje, dok za svaku akcijuima po jedan izlaz koji daje vrednost te akcije u datom stanju. Ovakva odlukaje doneta kako se pri izboru poteza u datom stanju ne bi za svaku akciju izpocetka vrsilo izracunavanje u mrezi, vec se izracunavanje vrsi samo jednom iodjednom se dobijaju vrednosti svih akcija i preduzima se najbolja.

Algoritam koriscen za treniranje agenta zasnovan je na pravilu 13.2 du-bokog ๐‘ž-ucenja. Sadrzi i nekoliko poboljsanja ciji je cilj da stabilizuju procesucenja, sto je potvrdeno empirijski. Prvo, trojke stanja akcija i nagrada cuvajuse u jednom baferu unapred definisane velicine kako bi se iz njih moglo ponovouciti bez potrebe da se ponovo dogode u igri. Mreza se u svakom koraku ucenjatrenira na osnovu uzorka trojki izabranog iz tog bafera, a ne na osnovu posled-nje trojke. Drugo, vrednosti ๐‘žw(๐‘ , ๐‘Ž) i โˆ‡w๐‘žw(๐‘ , ๐‘Ž) izracunavaju se na osnovutekuce verzije mreze, dok se vrednost ๐‘Ÿ+max๐‘Žโ€ฒ ๐‘žw(๐‘ โ€ฒ, ๐‘Žโ€ฒ) izracunava na osnovutakozvane โ€žzamrznuteโ€œ verzije te mreze ciji se parametri ne azuriraju u svakomkoraku ucenja, vec povremeno, na primer โ€“ na nekoliko hiljada gradijentnihkoraka, jednostavno preuzimajuci parametre iz tekuce mreze.

Ovaj algoritam postize rezultate u nivou profesionalnih ljudskih igraca na49 razlicitih igara sa Atarija.

13.4.2 Opisivanje slika tekstom

U glavi o nadgledanom ucenju (glava 11), pomenut je jedan pristup opi-sivanju slika koji se zasniva na enkoder-dekoder arhitekturi, nalik prevodenjuteksta sa jednog na drugi jezik. Pri tome, slika se kodira pomocu konvolutivne

Page 346: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.4. Primene ucenja potkrepljivanjem 344

Slika 13.5: Arhitektura mreze za igranje igara sa Atarija (slika je preuzeta izizvornog rada [11]).

mreze, a potom se generisanje teksta, tj. dekodiranje vrsi rekurentnom mrezom,kao sto je ilustrovano na slici 13.6. Pretpostavlja se da je za svaku sliku datonekoliko tacnih recenica, imajuci u vidu da razliciti ljudi ne bi istovetno opisalisliku. Kako je izbor reci u svakom koraku generisanja klasifikacioni problem,osnovni pristup podrazumevao bi koriscenje unakrsne entropije kao funkcijegreske prilikom treniranja mreze. Medutim, primeceno je da recenice koje sedobijaju cesto ne lice dovoljno na recenice kakve bi formulisali ljudi, sto mo-tivise koricenje drugacijih ciljnih funkcija. Postoji mnostvo metrika koje se uevaluaciji koriste za poredenje pravih tekstova sa masinski generisanim tek-stovima. Jedna takva mera slicnosti je BLEU. Neka je data jedna generisanarecenica od ๐‘ reci i nekoliko referentnih recenica koje se smatraju ispravnim.Tada je za svaku rec generisane recenice moguce izracunati maksimalan broj ๐‘šnjenih pojavljivanja medu referentnim recenicama i broj njenih pojavljivanja๐‘› u generisanoj recenici. Tada se toj reci moze pridruziti ocena min(๐‘š,๐‘›)/๐‘ ,a ovakve ocene mogu se uproseciti po svim generisanim recima, sto predstavljaBLEU metriku. Pored ove, postoji mnostvo drugih metrika koje odrazavajurazlicita svojstva generisanog teksta, a najnaprednije pocivaju na definisanjugrafova koji odrazavaju semantiku recenica i cijim uparivanjem se racuna po-klapanje recenica po smislu. Ovakve metrike cesto se linearno kombinuju kakobi ukupna metrika uzela u obzir sve aspekte koje pojedinacne metrike mere.Dodatno, istrazivanja sa ljudskim ispitanicima su pokazala da neke od ovihmetrika dobro koreliraju sa ljudskim sudom o dobrom prevodu. Zbog toga, bi-lo bi pozeljno koristiti ovakve metrike za definisanje funkcije greske u procesutreniranja. Medutim, one nisu diferencijabilne i cak su deo po deo konstantne

Page 347: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

345 13. Ucenje potkrepljivanjem

Slika 13.6: Gruba ilustracija arhitekture enkoder-dekoder mreze za opisivanjeslika (slika je preuzeta iz izvornog rada [12]).

u odnosu na parametre modela, sto predstavlja veliki problem za gradijentnemetode. Jedna od ideja kako bi se ucenje zasnovalo na optimizaciji ovakvihmetrika pociva na ucenju potkrepljivanjem.

Primetimo da ovaj problem predstavlja problem nadgledanog ucenja ima-juci u vidu da su za slike dati tacni opisi. Namece se pitanje zasto bi se ucenjepotkrepljivanjem koristilo u ovakvom kontekstu. U uobicajenom kontekstu nad-gledanog ucenja, ocekuje se da funkcija greske ima upotrebljiv gradijent, stoovde, kao sto je vec konstatovano, nije slucaj. S druge strane, u ucenju pot-krepljivanjem, informacija o kvalitetu modela moze se dati nagradom, za kojunema zahteva da bude diferencijabilna u odnosu na parametre modela. Dakle,kljucni razlog za koriscenje ucenja potkrepljivanjem je tehnicki, a ne sustinski,ali nista manje vazan ukoliko je potrebno optimizovati pomenute metrike.

Problem opisivanja slike tekstom formulise se kao problem ucenja pot-krepljivanjem na sledeci nacin. Agent se modeluje rekurentnom neuronskommrezom poput one na slici 13.6. Stanje agenta predstavlja se skrivenim sta-njem mreze koje se na pocetku inicijalizuje na izlaz konvolutivnog enkodera.Akcije su reci. Epizoda se sastoji u generisanju recenice kao niza uzastopnopreduzetih akcija โ€“ pojedinacnih reci. Nagrada je 0 u svakom koraku, osim uposlednjem, kada je nagrada jednaka vrednosti metrike koja se optimizuje zatako generisanu recenicu i skup referentnih recenica. Algoritam koji se koristi utreningu zasnovan je na algoritmu Reinforce, ali koristi niz relativno naprednihtrikova koji stabilizuju i ubrzavaju proces optimizacije.

Ovaj primer pruza jos vazniji nauk od toga kako opisivati slike pomocumasinskog ucenja. On ukazuje da je generalno moguce optimizovati nedife-

Page 348: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.4. Primene ucenja potkrepljivanjem 346

rencijabilne funkcije greske ako se problem nadgledanog ucenja formulise kaoproblem ucenja potkrepljivanjem. Pritom se placa cena sporijeg i nestabilnijegtreninga, kao i kompleksnijeg dizajna algoritma kojim se nastoje ublaziti tiproblemi.

13.4.3 Automatski dizajn novih lekovaAutomatski dizajn novih jedinjenja predstavlja vazan problem farmaceutske

industrije i aktivnu oblast istrazivanja vise od petnaest godina. Raniji pristu-pi obicno su se zasnivali na optimizacionim metodama primenjenim na nekufunkciju koja oslikava zeljena svojstva molekula. Ovaj problem je vrlo tezakjer se procenjuje da je broj molekula koji se mogu sintetizovati, a koji pred-stavljaju potencijalne lekove izmedu 1030 i 1060. Ovde ce biti prikazan jedanpristup, nazvan ReLeaSE (eng. reinforcement learning for structural evolution)zasnovan na ucenju potkrepljivanjem.

Arhitektura podrazumeva postojanje dve mreze โ€“ jedne generativne, kojapredlaze nove hemijski moguce molekule i igra ulogu agenta, odnosno politikei druge prediktivne, koja predvida razlicita svojstva od interesa predlozenogmolekula (poput tacke topljenja, hidrofobnosti, broja benzenovih prstena, brojahemijskih grupa poput -OH, -NH2, itd) i koja predstavlja pomocni element usvrhe definisanja nagrade. Obe mreze prvo se treniraju nadgledanim ucenjempomocu dostupnih obelezenih podataka (koje cini preko milion jedinjenja), apotom se generativna mreza trenira ucenjem potkrepljivanjem.

Molekuli su visoko strukturirani objekti kojima je teze baratati nego slikamai vektorima. Otud se prvo postavlja pitanje njihove reprezentacije u kontekstuneuronskih mreza. Na srecu, postoje tekstualna kodiranja grafova i specificno,hemijskih struktura. Jedna takva reprezentacija naziva se SMILES. U njoj se,na primer, molekul aspirina zapisuje kao [CC(=O)OC1=CC=CC=C1C(=O)O],ali necemo ulaziti u detalje te sintakse. Onda se skup stanja agenta moze pred-staviti kao skup validnih SMILES niski do neke unapred predvidene duzine.Akcije odgovaraju slovima SMILES azbuke. Nagrade su 0 u svim nezavrsnimstanjima, a u zavrsnom stanju ๐‘  se definisu kao

๐‘Ÿ(๐‘ ) = ๐‘“(๐‘ƒ (๐‘ ))

gde je ๐‘ƒ prediktivna mreza, a ๐‘“ rucno dizajnirana funkcija ciji izbor zavisiod zeljenih svojstava jedinjenja. Na primer, ako je potrebno maksimizovatitacku topljenja i minimizovati hidrofobnost jedinjenja, funkcija ๐‘“ bi bila razlikapredvidene tacke topljenja i predvidene hidrofobnosti, pri cemu su te procenedobijene od strane mreze ๐‘ƒ . Ucenje se sprovodi algoritmom Reinforce, pri cemutreba imati u vidu da se prediktivna mreza ne trenira nakon inicijalnog treninganadgledanim ucenjem.

Sintaksa SMILES niski, odnosno struktura molekula koju predstavljaju,nije jednostavna i obicne rekurentne mreze nisu se pokazale dovoljno dobrimu njihovoj obradi, tako da se umesto njih koriste specijalizovane arhitektu-re. Generativna mreza predstavlja rekurentnu mrezu sa pridruzenim stekom,

Page 349: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

347 13. Ucenje potkrepljivanjem

Slika 13.7: Lebdenje helikoptera u mestu u obrnutom polozaju (slika je preuzetaiz izvornog rada [13]).

kojim je ona u stanju da upravlja โ€“ da na njemu cuva medurezultate svojihizracunavanja i da odlucuje kada ce im ponovo pristupiti zarad daljeg izracu-navanja. Prediktivna mreza je takode rekurentna, ali bez steka.

Veliki problem ranijih mehanizama za dizajn novih molekula je to sto cestogenerisu hemijski neispravne kandidate. Ispostavlja se da generativna mrezatrenirana na opisani nacin generise validne molekule u 95% slucajeva, od cegamanje od 0.1% od milion generisanih struktura predstavljaju molekule iz tre-ning skupa, tj. mreza nije samo naucila trening podatke napamet. Stavise,prema standardnoj metodologiji procene tezine hemijske sinteze predlozenihmolekula, mreza skoro uvek predlaze molekule koje je lako sintetizovati.

13.4.4 Autonomno upravljanje helikopterom

Autonomno upravljanje helikopterima smatra se tezim problemom od upra-vljanja vazduhoplovima sa fiksiranim krilima. Upravljanje helikopterom pri ma-lim brzinama posebno je tesko. Dodatno, pri malim brzinama, jedan od najtezihmanevara je lebdenje u mestu u obrnutom polozaju โ€” sa elisom nanize, kaosto prikazuje slika 13.7. U ovom polozaju poseban izazov je stabilnost, posto jecentar mase visoko. Ovaj manevar nije od velikog prakticnog znacaja, ali je za-nimljiv kao ozbiljan izazov za automatizaciju upravljanja, pa zato diskutujemokako je resen ucenjem potkrepljivanjem. Navedeni pristup moze se upotrebiti zaucenje lebdenja i u drugim polozajima, pretpostavljajuci da su fizicki odrzivi. Ueksperimentima je koriscen helikopter na daljinsko upravljanje duzine 150cm,visine 56cm i tezine oko 8kg i motorom od 46 kubika.

Opisimo prvo nacin upravljanja helikopterom. Vecinom helikoptera se upra-vlja pomocu cetiri kontrole:

Page 350: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

13.4. Primene ucenja potkrepljivanjem 348

โ€ข uzduzni nagib helikoptera, cime se helikopter naginje napred ili nazad,cime se kontrolise ubrzanje u smeru duz helikoptera;

โ€ข nagib helikoptera u stranu, cime se helikopter naginje levo ili desno, cimese kontrolise ubrzanje u stranu;

โ€ข nagib ostrica glavne elise, cime se kontrolise potisak glavne elise;

โ€ข nagib ostrica pomocne elise, cime se kontrolise rotacija helikoptera okouspravne ose.

Bitan problem u ucenju upravljanja helikopterom je taj sto se ne mozeeksperimentisati sa nasumicno izabranim akcijama, kao sto ucenje potkreplji-vanjem pretpostavlja, posto su helikopteri skupi, a takve akcije mogu voditinjihovom padu. Zato je prvi korak izgradnja verodostojnog simulatora u kojemce potom biti vrseno treniranje. Simulator je modelovan nadgledanim ucenjemna osnovu 391 sekunde ljudski kontrolisanog leta u toku kojeg je helikopter leteou obrnutom polozaju. Pritom su pamcene informacije o letu 10 puta u sekundi.Svaki od ovih zapisa sadrzi informaciju o stanju helikoptera i preduzetoj akcijipilota. Na osnovu ovih podataka, treniran je model nadgledanog ucenja kojimse za dato stanje i akciju predvida buduce stanje. Simulator na to predvidanjedodaje odredeni sum, kako bi modelovao stohasticnost okruzenja. Vazno pi-tanje je, naravno, sta su akcije i stanja. Akcije su cetiri nabrojane kontrolenumericki predstavljene realnim brojevima iz intervala [โˆ’1, 1]. Reprezentacijastanja je nesto komplikovanija. Ona treba da izrazi poziciju, orijentaciju i br-zinu helikoptera. Ako bi se koordinatni sistem vezao za neku fiksiranu tackuspoljnog sveta i imao fiksiranu orijentaciju, modelu simulatora bilo bi tesko danauci invarijantnost zakona fizike u odnosu na translacije i rotacije. Naime, akoje helikopter u jednoj tacki prostora za datu akciju imao odredenu promenustanja, model bi usled malog uzorka mogao nauciti da je za tu promenu stanjabila bitna i lokacija na kojoj se helikopter nalazio, iako nije. Otud se spoljnikoordinatni sistem koristi za definisanje uglova rotacije helikoptera oko tri ose(eng. roll, pitch, yaw) i ugaone brzine rotacije oko tih osa, ali se za lokacijui ubrzanje koristi referentni sistem vezan za sam helikopter. Kako je u njemulokacija konstantna, ona se ni ne cuva eksplicitno, vec samo brzina duz osatog koordinatnog sistema. Stanje se onda definise vektorom ubrzanja, uglovarotacije i ugaonih brzina. Prilikom modelovanja simulatora, model ne mora dapredvida uglove rotacije, posto se oni uvek mogu dobiti integracijom na osnovuugaonih brzina.

Kada je nadgledanim ucenjem definisan simulator, koristi se ucenje potkre-pljivanjem kako bi se trenirao helikopter da leti u nekom (recimo obrnutom)polozaju u tom simulatoru. Akcije su ocito kontinualne, pa je pogodno koristitialgoritam Reinforce, a politiku predstaviti normalnom raspodelom u odnosu naizlaze mreze koja predvida vrednosti za 4 akcije. Nagrada se moze definisati nasledeci nacin:

โˆ’(๐›ผxโ€–xโˆ’ x*โ€–22 + ๐›ผxโ€–xโ€–22 + ๐›ผฯ†โ€–ฯ†โˆ’ ฯ†*โ€–22 + ๐›ผฯ†โ€–ฯ†โ€–22)

Page 351: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

349 13. Ucenje potkrepljivanjem

pri cemu vektori x i ฯ† oznacavaju vektore pozicije i uglova rotacije helikoptera,zvezdica oznacava zeljene vrednosti, a tacka brzinu, odnosno izvod u odnosuna vreme. Koeficijenti ๐›ผ su empirijski izabrani tako da svi izrazi budu istogreda velicine. Ova nagrada je utoliko veca ukoliko je helikopter blize zeljenojtacki i orijentaciji i sto je mirniji.

Page 352: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Page 353: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)Literatura

[1] D. Bahdanau, K. Cho, and Y. Bengio. Neural Machine Translation byJointly Learning to Align and Translate. ICLR 2015, 2015.

[2] A. Biere, M. Heule, H. Van Maaren, and T. Walsh. Handbook of Satisfia-bility. IOS Press, 2009.

[3] C. Bishop. Pattern Recognition and Machine Learning. Springer, 2006.

[4] Z. Cao, G. Hidalgo, T. Simon, S.-E. Wei, and Y. Sheikh. Openpose: Real-time Multi-Person 2D Pose Estimation Using Part Affinity Fields. IEEETransactions on Pattern Analysis and Machine Intelligence, 2019.

[5] D. Gabbay, C. J. Hogger, and A. Robinson. Handbook of Logic in ArtificialIntelligence and Logic Programming. Clarendon Press, 1998.

[6] B. Goertzel, N. Geisweiller, L. Coelho, P. Janicic, and C. Pennachin. Real-World Reasoning: Toward Scalable, Uncertain Spatiotemporal, Contextualand Causal Inference. Atlantis Thinking Machines, 2011.

[7] I. Goodfellow, Y. Bengio, and A. Courville. Deep Learning. MIT Press,2016.

[8] P. Janicic. Matematicka logika u racunarstvu. Matematicki fakultet, 2009.

[9] Y. Lecun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-Based LearningApplied to Document Recognition. Proceedings of the IEEE, 1998.

[10] G. Luger. Artificial Intelligence: Structures and Strategies for ComplexProblem Solving. Pearson, 2009.

[11] V. Mnih, K. Kavukcuoglu, D. Silver, A. Rusu, J. Veness, M. G. Bellema-re, A. Graves, M. Riedmiller, A. K. Fidjeland, G. Ostrovski, S. Petersen,C. Beattie, A. Sadik, I. Antonoglu, H. King, D. Kumaran, D. Wiestra,S. Legg, and D. Hassabis. Human-Level Control Through Deep Reinfor-cement Learning. Nature, 2015.

351

Page 354: (2021) - University of Belgrade

Elektr

onska

verzij

a (2021)

Literatura 352

[12] K. Murphy, N. Ye, S. Guadarrama, S. Liu, and Z. Zhu. Improved ImageCaptioning via Policy Gradient Optimization of SPIDEr. ICCV 2017,2017.

[13] A. Y. Ng, A. Coates, M. Diel, V. Ganapathi, J. Schulte, B. Tse, E. Berger,and E. Liang. Autonomous Inverted Helicopter Flight via ReinforcementLearning. Experimental Robotics IX, 2006.

[14] M. Nikolic and A. Zecevic. Masinsko ucenje. U pripremi, 2021.

[15] F. Petroni. Language Distance and Tree Reconstruction. Journal of Sta-tistical Mechanics Theory and Experiment, 2008.

[16] M. Popova, O. Isayev, and A. Tropsha. Deep Reinforcement Learning forde Novo Drug Design. Science Advances, 2018.

[17] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi. You Only Look Once:Unified, Real-Time Object Detection. CVPR 2016, 2016.

[18] A. Robinson and A. Voronkov. Handbook of Automated Reasoning. Else-vier, 2001.

[19] S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach.Pearson, 2020.

[20] J. Shotton, A. Fitzgibbon, M. Cook, T. Sharp, M. Finocchio, R. Moore,A. Kipman, and A. Blake. Real-Time Human Pose Recognition in Partsfrom Single Depth Images. CVPR 2011, 2011.

[21] I. Sutskever, O. Vinyals, and Q. V. Le. Sequence to Sequence Learningwith Neural Networks. NIPS 2014, 2014.

[22] P. Velickovic. Collection of PGF/TikZ figures. https://github.com/PetarV-/TikZ, 2018.