(2021) - university of belgrade
TRANSCRIPT
Elektr
onska
verzij
a (2021)
Elektr
onska
verzij
a (2021)
Elektr
onska
verzij
a (2021)
Predrag Janicic Mladen Nikolic
VESTACKA INTELIGENCIJA
Beograd2021.
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.
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
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
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
Elektr
onska
verzij
a (2021)
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
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.
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
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-
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
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
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.
Elektr
onska
verzij
a (2021)
Elektr
onska
verzij
a (2021)
Deo I
Pretraga
Elektr
onska
verzij
a (2021)
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
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
. . .
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
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
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.
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.
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:
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-
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
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.
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
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-
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.
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.
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
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.
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).
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
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
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:
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)
Elektr
onska
verzij
a (2021)
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
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).
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
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-
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
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
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).
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
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);
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.
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
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:
๐(๐) = ๐(๐) + โ(๐),
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 ๐.
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
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).
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).
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 โ(๐) โค โ*(๐).
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. ๏ฟฝ
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. ๏ฟฝ
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).
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
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.
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.
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
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-
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.
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
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).
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.
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.
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
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
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.
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.
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
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.
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
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
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
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
. . .
. . .
. . . . . . . . .
๐ฝ
๐ผ
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.
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).
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.
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
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.
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
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.
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.
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
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
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.
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.
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
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.
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.
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โ โ ๐
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)
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).
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
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,
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.
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).
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.
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
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
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
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.
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
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.
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.
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).
Elektr
onska
verzij
a (2021)
Elektr
onska
verzij
a (2021)
Deo II
Automatsko rasudivanje
Elektr
onska
verzij
a (2021)
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
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;
}
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.
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
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.
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
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โ,
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).
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
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.
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.
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.
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
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 {๐, ๐, ๐, ๐โ ๐, (๐โ๐) โจ ๐}.
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.
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-
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.
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 ๐ด โก ๐ต.
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:
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
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 (๐ โง (๐ โ ๐))[๐ โ ๐ โฆโยฌ๐ โจ ๐] = ๐ โง (ยฌ๐ โจ ๐) โก ๐ โง (๐ โ ๐).
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
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:
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-
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 ๐(ยฌ(๐ด โจ
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 ๐(๐น )).
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))โง
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.
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.
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.
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).
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.
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โ): โ
๐,๐โ๐ผ,๏ฟฝ๏ฟฝ=๐
ยฌ๐๐ฃ,๐ โจ ยฌ๐๐ฃ,๐
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โ:
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).
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 ๐๐ ๐ก ๐ข
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.
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
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;
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;
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
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).
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.
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) โง . . .
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โ:
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+]
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.
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).
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
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 ๐๐๐๐ฃ๐(๐ฅ, ๐ง)โ.
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
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 ฮ,ฮ, . . .
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
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
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;
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}).
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-
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), . . . , ๐ผ๐ฃ(๐ก๐));
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 ๐ฃ.
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
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).
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
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.
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.
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
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.
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
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.
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.
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.
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.
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 = [๐ฅ โฆโ ๐ข, ๐ฆ โฆโ ๐ข, ๐ง โฆโ ๐(๐ข)].
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.
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.
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:
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 ๐
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 โโจโ).
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.
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.
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ยฌ๐๐๐๐๐ก๐๐๐(๐ฅ, ๐ฆ) โจ ๐๐๐๐๐๐(๐ฅ, ๐ฆ)
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): ยฌ๐(๐, ๐ฆโฒ) โจ ยฌ๐(๐, ๐ฆโฒ).
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:
(โ๐ฅ)(โ๐ข)(โ๐ฃ)(โ๐ง)(๐(๐ฅ, ๐(๐ฅ)) โง (ยฌ๐(๐ข, ๐ฃ) โจ ๐(๐ข, ๐ฃ)) โง ยฌ๐(๐, ๐ง)) ,
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), [ ]
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.
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
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 ๐
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
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-
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 (โ๐ฆ)(โ๐ฅ)๐(๐ฅ, ๐ฆ).
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
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;
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
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
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:
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):
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).
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
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.
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).
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)
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
Elektr
onska
verzij
a (2021)
Elektr
onska
verzij
a (2021)
Deo III
Masinsko ucenje
Elektr
onska
verzij
a (2021)
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
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
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,
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.
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;
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
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.
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+
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
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
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,
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.
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
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
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.
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.
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
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
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 ๐.
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%).
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.
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
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.
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.
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
โคโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฅโฆ
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
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)).
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
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.
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
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, ๐ฅ)
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
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.
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.
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.
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.
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]).
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.
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.
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
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
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
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.
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.
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
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).
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.
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
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
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
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
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.
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
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.
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.
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,
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.
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
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-
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.
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
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-
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)
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
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.
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).
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.
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.
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.
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%
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.
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.
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
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.
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
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-
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๐))
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
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.
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
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
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
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,
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.
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.
Elektr
onska
verzij
a (2021)
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
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
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
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
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.
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 ๐.
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
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-
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.
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.
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.
Elektr
onska
verzij
a (2021)
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
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
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
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
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.
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!โ
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
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, . . .
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.
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
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.
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
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 = ๐ โฒ])
=โ๐ โฒ,๐
๐(๐ โฒ, ๐|๐ , ๐) (๐ + ๐พ๐ฃ๐(๐ โฒ))
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
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๐
โ๐ โฒ,๐
๐(๐ โฒ, ๐|๐ , ๐)(๐ + ๐พ๐ฃ(๐ โฒ))
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
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.
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๐ก <โ .
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
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-
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.
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-
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.
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
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.
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(๐)]
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.
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.
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
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
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-
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,
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:
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)
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.
Elektr
onska
verzij
a (2021)
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
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.