Download as pdf or txt
Download as pdf or txt
You are on page 1of 148

Seminarski rad: Osnove vetake inteligencije I s c

Popovi Zoran, Tanja Vukovi c c Centar za multidisciplinarne studije Univerzitet u Beogradu 18. decembar 2006

Saetak z Ovaj tekst je saetak knjiga [JL] i [GN] i predstavlja pregled osz novnih koncepat vetake inteligencije. Tekst je napisan kao deo ispita s c iz predmeta Uvog u vetaku inteligenciju. s c

Profesor: Predrag Janii cc

Osnove vetake inteligencije I s c

Sadraj z
1 Poglavlje 1 - vetaka inteligencija, istorijski razvoj i uvod s c 1.1 Denicija i oblasti bavljenja VI . . . . . . . . . . . . . . . . . 1.2 Kratak uspon i pad, zatim renesansa . . . . . . . . . . . . . . 1.3 Oblasti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 8 9

2 Poglavlje 2 - Predstavljanje problema 11 2.1 Pojam problema . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Reavanje problema, uopteni koraci . . . . . . . . . . . . . . 11 s s 2.3 Notacije, naini reprezentovanja . . . . . . . . . . . . . . . . . 12 c 2.4 Modeli grafova u VI . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4.1 Reprezentovanje znanja u automatskom reavanju probs lema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4.2 Grako reprezentovanje znanja u automatskom reavanju c s problema . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.3 Graka reprezentacija i prirodni jezik . . . . . . . . . 18 c 2.5 Traenje pravog reprezentovanja . . . . . . . . . . . . . . . . . 18 z 2.6 Programski jezici PROLOG i LISP . . . . . . . . . . . . . . . 19 2.7 Grafovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.7.1 Petri-mree . . . . . . . . . . . . . . . . . . . . . . . . 20 z 3 Formalni sistemi - deklarativno znanje i zakljuivanje c 3.1 Denicija formalnih sistema . . . . . . . . . . . . . . . . . . . 3.2 Iskazni raun i predikatski raun prvog reda . . . . . . . . . . c c 3.3 Zakljuivanje . . . . . . . . . . . . . . . . . . . . . . . . . . . c 4 Rezolucija 4.1 Klauzalna forma . . . . . . . . . . 4.2 Unikacija . . . . . . . . . . . . . . 4.3 Princip rezolucije . . . . . . . . . . 4.4 Rezolucija i jednakost . . . . . . . . 4.5 Strategije rezolucije . . . . . . . . . 4.5.1 Strategije brisanja . . . . . 4.5.2 Jedinina rezolucija . . . . . c 4.5.3 Ulazna rezolucija . . . . . . 4.5.4 Linearna rezolucija . . . . . 4.5.5 Rezolucija skupom podrke s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 23 25 29 30 30 31 32 34 35 35 36 36 36 36

2 4.5.6 4.5.7 4.5.8

Seminarski rad Ured ena rezolucija . . . . . . . . . . . . . . . . . . . . 37 Usmerena rezolucija . . . . . . . . . . . . . . . . . . . 37 Sekvencijalno zadovoljenje uslova . . . . . . . . . . . . 37 38 38 40 41 43 46 48 48 51 56 56 57 58 59 60 64 64 64 64 66 67 67 68 69 70 70 72 72 75

5 Zakljuivanje sa nesigurnim uverenjima i drugi naini zac c kljuivanja c 5.1 Nemonotono zakljuivanje . . . . . . . . . . . . . . . . . . . . c 5.2 Taksonomijske hijerarhije i pretpostavljeno zakljuivanje (dec fault reasoning) . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Indukcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Zakljuivanje sa nesigurnim uverenjima . . . . . . . . . . . . . c 5.5 Jedno formalno zasnivanje verovatnosne logike . . . . . . . . . 5.6 Znanja i uverenja . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1 Iskazna logika uverenja . . . . . . . . . . . . . . . . . . 5.7 Meta-znanje i meta-zakljuivanje . . . . . . . . . . . . . . . . c 6 Stanje i akcije 6.1 Stanja . . . . . 6.2 Akcije . . . . . 6.3 Problem okvira 6.4 Redosled akcija 6.5 Uslovljenost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 Planiranje 7.1 Poetno stanje . . . . . . . . . . . . c 7.2 Ciljevi . . . . . . . . . . . . . . . . 7.3 Akcije . . . . . . . . . . . . . . . . 7.4 Planovi . . . . . . . . . . . . . . . . 7.5 Grinov metod . . . . . . . . . . . . 7.6 Blokovi akcija . . . . . . . . . . . . 7.7 Uslovni planovi . . . . . . . . . . . 7.8 Smer planiranja . . . . . . . . . . 7.9 Odsecanje nedostinou . . . . . . z sc 7.10 Poravnavanje stanja (usaglaavanje) s 7.11 Ukidanje aksioma okvira . . . . . . 7.12 Ciljna regresija . . . . . . . . . . . 7.13 Razlike stanja . . . . . . . . . . .

Osnove vetake inteligencije I s c 8 Arhitektura inteligentnih agenata 8.1 Tropistini agenti . . . . . . . . . c 8.2 Histeretini agenti . . . . . . . . . c 8.3 Agenti nivoa znanja . . . . . . . . 8.4 Agenti znanja u koracima . . . . 8.5 Agenti s namerom . . . . . . . . . 8.6 Promiljeni agenti . . . . . . . . . s

3 77 77 79 80 83 86 90 92 98 100 101 106 106 107 107 108 108 110 112 115 117 117 117 118 120 122 122

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

9 Klasine metode reavanja problema c s 9.1 Algoritmi za koje su poznata polinomijalna reenja . . . . . . s 9.2 Klasikacija problema prema sloenosti . . . . . . . . . . . . . z 9.3 klasa NP: nedeterministiki polinomijalni problemi . . . . . . c 10 Reavanje problema propagiranjem i nabrajanjem s 10.1 Gradijent metode . . . . . . . . . . . . . . . . . . . 10.2 Linearno programiranje . . . . . . . . . . . . . . . . 10.3 Gradijent metoda u teoriji grafova . . . . . . . . . . 10.4 Heuristiko pretraivanje . . . . . . . . . . . . . . . c z 10.5 A algoritam . . . . . . . . . . . . . . . . . . . . . . 10.6 Implicitno nabrajanje propagiranjem uslova . . . . 10.7 Dinamiko programiranje . . . . . . . . . . . . . . . c 10.8 GPS - General Problem Solver . . . . . . . . . . . . 11 Programi - igre, psihologija reavanja problema s 11.1 Drvo pretraivanja (drvo ispravnih poteza) . . . . z 11.2 Evaluacija pozicije . . . . . . . . . . . . . . . . . 11.3 MINIMAX izbor i algoritam, alfa-beta algoritam . 11.4 - kresanje (odsecanje) . . . . . . . . . . . . . . 11.5 Psiholoka izuavanja reavanja problema i igranja s c s 11.6 Teorija igara . . . . . . . . . . . . . . . . . . . . . 12 Ekspertni sistemi 12.1 MYCIN - primer . . . . . . . . . . . . . . . . . 12.2 Produkcioni sistemi . . . . . . . . . . . . . . . . 12.3 Ekspertni sistemi zasnovani na logici prvog reda 12.4 Deklarativno-proceduralna kontroverza . . . . . 12.5 Razliiti tipovi znanja i njihova reprezentacija . c 12.5.1 Reprezentovanje znanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

127 . 127 . 129 . 132 . 132 . 134 . 135

Seminarski rad 12.5.2 Osobine sistema produkcionih pravila . . . . . . . . . . 136

13 Uenje c 138 13.1 Primer STRIPS . . . . . . . . . . . . . . . . . . . . . . . . . . 140 13.2 Uenje pravila i planova . . . . . . . . . . . . . . . . . . . . . 140 c 13.3 Uenje karakteristika i koncepta, Vereov primer . . . . . . . . 141 c

Osnove vetake inteligencije I s c

Poglavlje 1 - vetaka inteligencija, istoris c jski razvoj i uvod

Istorijski gledano, jo je Lajbnic pominjao ,,univerzalnu algebru kojom s bi se svekolika ljudska znanja (ukljuujui i etiku i metaziku) obuhvatila c c jednog dana u jedinstvenom deduktivnom sistemu. Frege, jedan od osnivaa c moderne simbolike logike, je predloio notacioni sistem za mehaniko rec z c zonovanje. Carls Bebid 1834. konstruie mehaniku ,,analitiku mainu koja z s c c s rauna i tampa neke matematike proraune, imao je nameru da napravi i c s c c mainu za igranje aha. Tek napretkom informatike i tehnologije 1940-tih i s s 1950-tih nastaju prvi rezultati koji spadaju u domen VI. McCulloch i Walter Pits jo 1943. godine predla prvi model vetake neuronske mree, a s z s c z 1951. godine Marvin Minsky i Dave Edmonds prave prvi elektronski raunar c (SNARC, sa 3000 vakuumskih cevi) zasnovan na takvoj mrei (u okviru dokz torske disertacije za iju je komisiju bilo diskutabilno da li se moe takav c z rad svrstati u matematiku - lan komisije, Jonh von Neumann, izjavio je c da e biti jednog dana ako ve nije - ironino, upravo je Minski teorijskim c c c rezultatima ,,pokopao neto kasnije ovu oblast za narednih par decenija). s Nekoliko istraivaa na Dartmut koledu 1956. g. (Dartmouth College) z c z uestvuje u seminaru koji organizuje McCarthy na temu VI (koji je prvi c predloio upravo taj naziv za tu oblast, a poznat je i kao otac LISP-a koji je z bio znaajan alat u VI, a i dans je u izvesnom obimu) gde su Allen Newell i c Herbert Simon prezentovali ,,Logic Theorist - prvi program za automatsko dokazivanje teorema (Bertrand Rasel je bio zadovoljan rezultatima, pogotovu jednim generisanim dokazom koji je bio krai nego jedan naveden u ,,Princ cipia Mathematica - svi su ipak bili svesni da su to samo poetni rezultati), c gde su uestvovali i Minski, Senon, Semjuel, Solomonov i drugi. Vetaka inc s c teligencija belei prve uspehe akademske prirode kao to su prvi program za z s igranje aha (Claude Shannonn, 1955, poznat i kao otac savremene statistike s c informacione teorije - zajedno sa Alanom Tjuringom - ovo se smatra jednim od najbitnijih presudnih rezultata u istoriji VI) ili dama (Arthur Samuel, 1963), automatsko dokazivanje teorema (pomenuti ,,Logic Theorist, Simon i Newell), kao i ambiciozan pokuaj ostvarivanja opteg sistema za reavanje s s s problema GPS (General Problem Solver - Newell, 1960). Sajmon i Njuel daju 1963. pretpostavku sistema zikih simbola koja je uspeno naknadno osporac s vana, ali je vaan deo istorije: svaki sistem (ljudski ili vetaki) koji se smatra z s c inteligentnim mora da radi tako da uzima zike ablone (simbole, ,,physical c s

Seminarski rad

patterns), kombinuje ih u strukture (izraze) i rukuje njima (koristei proc cese) da bi proizveo nove strukture (izraze). Sutina zablude, ije su posledice s c razvejane tek pojavom prvih ekspertnih sistema, jeste nedostatak domenskog znanja potrebnog inteligentnim sistemima umesto iskljuivog oslanjanja na c sintaksnu analizu.

1.1

Denicija i oblasti bavljenja VI

Denicija 1.1 Bilo koji problem za koji ne postoji ekasno algoritamsko reenje je problem vetake Inteligencije (VI). s s c Ovu deniciju i jedan dobar deo strukture ovog teksta dugujem [JL] i [GN]. Ovakva denicija daje praktiniji i bolji pogled na pojam VI od uobiajene c c Makartijeve (MIT) denicije da je to oblast raunarstva iji je cilj rezonoc c vanje na raunaru na nain koji je slian ljudskom. Iako ova potonja denicija c c c daje intuitivniji i u nekom smislu precizniji opis oblasti kojima se bavi VI, ona vodi ka ozbiljnim ontolokim pitanjima i problemima: imamo sliku o s ljudima kao svesnim, slobodim, umnim i racionalnim biima, a u isto vreme c ljudi su agenti u zikom svetu ustrojenom u naunom smislu deterministiki c c c i materijalno, lienom smisla (mehanicistiki i partikularno, gde estice nes c c maju svest). Kako to onda da u takvom svetu postoje ljudi kao bia sa c sveu i namerom ? Da li je mogue um preneti iz jednog organskog bia sc c c u punom smislu u neki ziki sistem zasnovan iskljuivo na postojeoj ili c c c buduoj informacionoj tehnologiji ? Ovo su samo neka pitanja koje Don c z Serl veto postavlja u [JS], povezuje ih i odgovara na njih, a na poslednje pis tanje uglavnom daje negativan odgovor. Med utim, to ne znai da su oblasti c VI rekle sve to imaju (daleko od toga), naprotiv - te oblasti ve su ostvarile s c sjajne rezultate, i u mnogome pomogle kao alati i ljudima i nauci. Kognitivne nauke, ali i one koje su u vezi sa njom a nisu u direktnoj vezi sa VI i raunarstvom, mogu pomoi istraivanjima u oblasti VI, ali esto se deava c c z c s i obratno. Na kraju, ne postoji potpuno dobra denicija VI jer ne postoji ni potpuno dobra denicija inteligencije i pojmova u vezi nje. Ekasnost se moe jasno, pa ak i formalno denisati komplesnou alz c sc goritma - npr. polinomijalna kompleksnost (i NP) je dobra i poeljna (u z smislu ekasnosti) - prvi teorijski rezultati nastaju tek poetkom 1970-tih c godina (Steven Cook, Richard Karp). VI se moe smatrati eksperimentalz nom naukom u kojoj se eksperimenti vre na raunaru u okviru modela koji s c

Osnove vetake inteligencije I s c

su izraeni programima i ijim se testiranjem i dorad z c ivanjem postiu neki z modeli ljudske inteligencije (kojima se ova npr. moe bolje razumeti - ne z postoji realno oekivanje niti cilj da VI zameni ljudsku inteligenciju osim u c nekim specinim oblastima ljudske delatnosti i primenama raunarstva ije c c c granice pomera VI). Pod algoritmom obino podrazumevamo ured konaan c en c niz precizno denisanih operacija koje mogu biti izvrene (na raunaru). Ali s c to ne znai da e biti izvrene u nekom ,,razumnom vremenu - postoji c c s matematiki formalizam kojim se ovo moe preciznije obuhvatiti i denisati c z kao to su to npr. Tjuringove maine i slini formalizmi (Alan Tjuring, inae s s c c je jedan od prvih informatiara i jedan od prvih istraivaa VI na digitalnim c z c raunarima, ustanovio je prvi praktian test programa VI u kome razdvojeni c c uestvuju ljudi, programi i ispitivai) . Na primer, ne postoji ,,klasian algoc c c ritam za igranje aha koji bi mogao da se koristi upotrebljivo jer bi algoritmu s koji bi ispitao sve mogue pozicije za svaki potez bile potrebni barem milioni c godina i na najbrim postojeim raunarskim sistemima. z c c Osnovne dve osobine oblasti kojima se bavi VI (bez osvrta na neke odred ene dobro denisane metode): 1. tiu se obrade simbolikih podataka (nasuprot tradicionalnoj numerikoj c c c obradi kao primeni raunara) c 2. uvek ukljuuju nekakav element izbora: nedeterminizam kojim se kae c z da ne postoji algoritam na osnovu koga bi izabrali neku opciju u skupu moguih za datu situaciju c Raunari danas sve bolje rukuju multimedijalnim sadrajima ali je to rukoc z vanje i njihova obrada jo uvek daleko od onoga to ljudska ula i svest s s c pruaju u opaanju i razumevanju sveta. Zato prva osobina nudi osnovu z z reavanja prvog problema na koji se nailazi u VI - sakupljanje informacija. s Postoje dobro ustanovljeni formalizmi i u matematici i u igrama koji ine c simbolike (nenumerike) podatke posebno znaajnim. S druge strane, prec c c poznavanje i obrada (pattern recognition) zvunih i vizuelnih signala predc stavlja izazov za sebe, ali je posebno zanimljivo razumevanje i zakljuivanje c koje sledi nakon toga.

Seminarski rad

1.2

Kratak uspon i pad, zatim renesansa

Nakon poetnog entuzijazma nastalog pod uticajem tehnolokog razvoja c s raunara do poetka 70-tih brzo se dolo do zakljuka o pravoj teini probc c s c z lema VI, npr. da za automatsko prevod enje nisu dovoljni samo sintaksna analiza, renik i dobri algoritmi pretrage ve i znanje o semantici jezika, pa i c c opte znanje i iskustvo (poznat je primer o programima za automatsko pres vod enje, kada se izmed bar dva jezika nekoliko puta ista reenica prevede u c anegdota kae da je od engleske poslovice ,,Daleko od oiju, od srca tako z c dobijen ,,nevidljivi idiot). Takvi problemi su naruili nerealno idealnu sliku s o VI i oznaili period njene krize, o emu npr. pie Dreyfys 1972. i kasnije c c s Lighthill 1973. iji preterano kritian izvetaj utie na sudbine mnogih isc c s c traivakih projekata (problem nije bio u VI ve u zahtevima od tada mlade z c c oblasti). Prvi uspeni ekspertni sistemi kao to je to bio DENDRAL i MYCIN s s (Edward Feigenbaum) predstavljaju poetak izlaska iz te krize. Osnovu c izlaska ini i posmatranje domenskog (deklarativnog) znanja inteligentnih sisc tema, gde su vani bili uopteni alati kao to su frejmovi (okviri, poetkom z s s c 1970-tih) Minskog kojima se to znanje formalizuje ali i praktino koristi. c Minski je bio poznat i kao tvorac mirkosvetova kao probnih formalnih poligona za revanje problema VI (koje je davao svojim studentima), kakav je s bio i Svet blokova (sistem SHRDLU koji je razvio Terry Winograd 1971. je bio veoma uspean u reavanju njegovih problema, ali je bio potpuno nepris s menjiv za bilo kakvo uoptavanje zbog nedostatka domenskog znanja, koje s je u tom sluaju bilo ,,utkano u sintaksnu analizu tog sistema). Negde c 1972. Alain Colmerauer je razvio Prolog, sledei jezik VI (posle LISP-a) koji c pored ostalih klasikacija spada u deklarativne programske jezike i jedan je od najznaajnijih alata VI. Od 1980-tih godina nakon prvih pokuaja indusc s trijalizacije VI (i raunari 5. generacije, pored jezika) i eksplozije PC inc dustrije poinje zreliji period razvoja VI sa akcentom na primeni postojeih c c teorija, novim metodama i teorijskoj potvrdi novih metoda - neki rezultati u oblasti prepoznavanja govora ili raunarske vizije su tako blii realnom svetu c z (naspram teorijskih mikrosvetova) i praktinoj upotrebi. Mainsko uenje koc s c risti dostignua matematike statistike, ali i nove metode ija je primena ve c c c c sada nezamenljiva. Ideja inteligentnog samostalnog entiteta ili agenta koji kontinualno funkcionie u stvarnom svetu sa usad s enom inteligencijom (situated intelligence) takod postaje sve aktuelnija (predlog uoptenog reenja e s s kroz SOAR arhitekturu kao primer - Newell, Rosenbloom, John Laird, ili life-long learning, Tom M. Mitchell). Ideja deklarativnog znanja razvojem

Osnove vetake inteligencije I s c

WWW-a postaje sve aktuelnija idejom semantikog web-a (Tim Bernersc Lee, koji je ujedno i idejni tvorac web-a zasnovanog na HTTP i HTML, regulisanog W3C), gde pojam web ontologije prirodno nasled uje okvire Marvina Minskog.

1.3

Oblasti

Inteligentnim sistemima nazivamo programske sisteme i druge praktine c rezultate VI, odnosno posledicu jedne od neformalnih denicija VI (kao oblasti raunarstva koja je posveena inteligentnim sistemima): entiteti koji c c imaju sposobnost inteligentnog ponaanja koje sreemo kod ljudi. Med s c utim, ovakav pristup denisanju ima dodatnu slabost - u oblastima kakve su mainsko s uenje ili ekspertni sistemi, javlja se potreba za reavanjem problema kojima c s treba prevazii neki ljudski nedostatak. Na primer, velika koliina znanja koc c jim je teko upravljati ak i uz pomo veeg broja ljudi - formalna denicija s c c c u uvodnom poglavlju ne ostavlja nedoumice u tom pogledu, ali ne objanjava s potrebu i nain na koji ljudi ele da upravljaju znanjem. Oblasti vetake c z s c inteligencije sa nekim podoblastima i tipovima inteligentnih sistema (neke od njih ili bar najvei deo bie objanjen u ovom tekstu detaljnije) jesu: c c s ekspertni sistemi - sistemi kojima se uva i eksploatie znanje na nain c s c slian ljudskim ekspertima c mainsko uenje - metode klasikacije, otkrivanja znanja (Data Mins c ing), dobavljanje informacija (information retrieval), indukcija, prepoznavanje ablona (pattern recognition) s igre - teorija igara i primene, ah ... s predstavljanje znanja - jezici predstavljanja znanja, strukture rasud ivanje (rezonovanje) - pretraivanje, razliite metode rasud z c ivanja (od Aristotelovih silogizama do danas) i automatsko dokazivanje teorema, formalno automatsko dokazivanje ispravnosti obrada prirodnog jezika - mainsko prevod s enje, razumevanje i analiza dijaloga, automatsko ispravljanje i generisanje agenti - multi-agentski sistemi i primene, softboti, web mining

10

Seminarski rad govor - problemi prepoznavanje, generisanje i razumevanja govora, prepoznavanje govornika i autentikacija vizija - problemi interpretacije i razumevanja slika raunska inteligencija (soft computing) - fazi logika i sistemi, neuronske c mree, genetski algoritmi, primene u automatskom odluivanju i upz c ravljanju robotika kognitivne nauke (multidisciplinarna oblast u kojoj se prepliu VI i c psihologija, lozoja, neurologija, biologija, lingvistika, antropologija): uverenja, kreativnost, emocije, pamenje, percepcija, priroda inteligenc cije i svesti, usad ena sposobnost saznavanja (kognicija), i mnoge ,,kombinacije kakva je i evolutivna psihogija (uticaj bioloke strukture ors ganizma na psihu i obratno - jedinke kao eksponenti DNK) edukacija - inteligentni tutorski sistemi inteligentni interfejsi - modeliranje korisnika, dijaloga i objanjenja, s veza sa tehnologijom lozofski aspekti, etike i drutvene implikacije c s

Naredno poglavlje ima takod uvodni karakter, gde se pre svega ilustruje e znaaj pojmova problema i reenja, znanja i njegovog reprezentovanja. Poglavlja c s 8, 12 i 13 (i donekle 7) izlaze izvan okvira ovog teksta, ali predstavljaju dobar nagovetaj daljih saznanja u vezi ostalih osnovnih pojmova VI. s

Osnove vetake inteligencije I s c

11

2
2.1

Poglavlje 2 - Predstavljanje problema


Pojam problema

Problema postajemo svesni kada elimo da neto postignemo ali ne znamo z s kako da do toga dod emo, ne znamo njegovo reenje (ili postupak, algoris tam kojim bismo doli do toga). Problem uvek podrazumeva i neko reenje s s ili potragu za reenjem. Za razliku od problema u svakodnevnom ivotu, s z problemi kolskog tipa su obino precizno opisani zajedno sa ponud s c enim podacima neophodnim za njegovo reavanje, pogotovu matematiki problemi s c ili igre. U realnom svetu problem moe biti opisan prirodnim jezikom (ije z c razumevanje u smislu interpretacije predstavlja jedan od osnovnih primera problema VI) koji sa take gledita reavanja problema ima barem etiri c s s c ozbiljna nedostatka: nekompletnost (bez konteksta lako moe doi do nesz c porazuma u razgovoru), redundantnost, nejasnoa tj. viesmislenost i grac s matika neispravnost. Potrebno je zato najpre nai formu zapisa problema c c tako da se ovi nedostaci izbegnu. Primer za to su zatvoreni izrazi: x X : K(x) gde se pod tim podrazumeva da za dati skup X (ime je implicitno data c struktura skupa sa svojim operacijama) treba nai sve njegove elemente x c za koje je ispunjen skup ogranienja K(x). Ovo obino vodi ka postupku c c traenja prvog reenja koje smanjuje dalji prostor reenja koji treba prez s s traiti i dozvoljenim transformacijama se tako iterativno dolazi do konanog z c zatvorenog izraza koji daje direktno reenje. Variajante ovakvih problema s mogu biti reavanje slagalice (gde je lako navesti sve dozvoljene transofors macije od poetnog stanja do zavrnog) ili dokazivanje jednaine gde izbor i c s c broj transformacija uopte nije jednostavno nai. s c

2.2

Reavanje problema, uopteni koraci s s

Uobiajen redosled koraka u reavanju problema mogao bi biti: c s 1. Proitaj ili upamti problem s razumevanjem c c c z c 2. Izvedi neposredne zakljuke o tome ako je mogue (time se moe doi do nedostajuih podataka i elegantnije formulacije) c c c c 3. Poigraj se sa dobijenim zakljucima i upamenim injenicama (veoma bitan korak ljudima)

12 4. Porazmisli o svemu, ostavi da stvari sazru 5. Potrai bolju formulaciju, uoi zatvoren izraz z c

Seminarski rad

6. Nad delimino reenje i vrati se na 2. korak ili nad konano reenje i c s i c s 7. Proveri ispravnost reenja, potrai mogue uoptenje s z c s Postupak koji je predloio George Polya (1956) se moe uporediti sa prethodz z nim: 1. Shvati problem (podaci, nepoznate, uslovi, crte, itd.) z 2. Napravi plan (veza podataka i nepoznatih, potproblemi i ranije reavani s problemi, drugaija formulacija, i sl.) c 3. Sprovedi plan (da li su svi koraci jasni i da li se mogu potkrepiti dokazima ?) 4. Proui dobijeno reenje (da li je ispravno, da li se moe primeniti na c s z neke druge probleme) Dakle, inteligentno reavanje problema pretpostavlja stvaranje plana za njes govo reavanja. s

2.3

Notacije, naini reprezentovanja c

Kao to je pomenuto, nain zapisivanja i reprezentovanja problema je s c veoma bitan deo reavanja jer pojednostavljuje i esto ubrzava reavanje. s c s Ljudski um se u svakodnevnom ivotu rukovodi apstraktnim modelima to z s zapoinje u razliitim slojevima od samih ula sve do psihikih procesa. Koc c c c riste se nizovi simbola i eme za zapis teksta, muzike ili matematikih izraza s c koji su sutinski grakog karaktera. Matematike notacije su polazna osnova s c c za izgrad ivanje formalizama koji su nam neophodni za prouavanje ovakvih c modela. Svi notacioni sistemi uopteno se sastoje od simbola objekata i simbola ops eratora (arnost - koliko objekata napadaju) koji predstavljaju mogue akc cije nad objektima. Linearne notacije predstavljaju niske ovakvih simbola. Pravilno formirane niske denisane prema redosledu objekata i operatora daju izraze koji mogu imati vrednost (primeri: inksni, preksni (poljski) i

Osnove vetake inteligencije I s c

13

postskni zapisi aritmetikih izraza, izraza teorije skupova ili logikih izraza). c c Korienjem grafova tj. drveta kao specijalne vrste grafova koji su primer sc ,,dvodimenzione notacije se ovakvi izrazi mogu takod zapisati (vorovi su e c operatori, listovi objekti, a redosledom obilaska i itanja drveta se moe doc z biti linearan zapis i obratno). Ovo nas dovodi do zapisa koji su upotrebljivi u algoritmima i programima (liste su znaajne zbog toga posebno, pogotovu u nekim programskim jezicima c kao to je LISP) i takod se mogu pokazati ekvivalentnim nekim prethodnim s e strukturama. Liste se mogu posmatrati kao ured ene trojke (S,L,R) gde je S ,,glava ili operator, a L i R su takod liste ili ,,rep(leva i desna ,,sestra, e redosled kao kod obrnute poljske notacije). Naravno, niz ovakvih trojki je u memoriji indeksiran i poinje sa pomenutom trojkom, dok su L i R zapravo c pokazivai na lanove niza, i listovi imaju objekte umesto operatora (listovi c c imaju ,,L=R=null, null je oznaka prazne liste). Transformacije nad ovakvim strukturama kao to su zamena podliste drugom listom ili brisanje podliste s - u uobiajenoj inksnoj notaciji se svode na zamenu ili brisanje podterma c ili grane na drvetu.
  d d d

 

S
d  d  

2.4

Modeli grafova u VI

Grafovi su znaajan alat za reprezentaciju objekata i znanja kao dva bitna c nivoa prisutna kako u matematici (npr. objekti, izrazi naspram relacija, teorema) tako i drugim oblastima. U vetakoj inteligenciji se tako mogu s c lake razmatrati problemi mainskog dokazivanja teorema, problemi vizije s s i govora, automatskog reavanja problema i razumevanja prirodnog jezika. s Upotreba grafova je i u tome od znaaja kako ljudima, tako i programima c

14

Seminarski rad

i reenjima VI u smislu modela grafova. U jednom od narednih odeljaka s bie kratko navedene formalne denicije grafova i njihovih osobina, a ve c c naeta tema reprezentacije znanja (i strukture znanja) bie dalje pojanjena. c c s Grafovi takod predstavljaju i jedan od bitnih spojeva razliitih formalno e c denisanih problema i njihovih praktinih reenja u VI. c s 2.4.1 Reprezentovanje znanja u automatskom reavanju problema s

'

$ ' E

Formalni iskaz problema


&

Formalni iskaz reenja s


T %

% &

Spoljanja reprezentacija s ... transformacija ...


' c $ ' E

Interni iskaz problema


&

Interni iskaz reenja s


%

% &

Interna reprezentacija
(ilustracija odnosa formalnog i internog reprezentovanja problema i reenja) s

Interna reprezentacija je zapravo prostor reenja u kome se od nekog poetnog s c stanja nekim postupkom reavanja stie do reenja (prostor reenja je dens z s s isani podskup prostora stanja). Relacija (time i graf kao nain prikaza relacije) moe imati osobine koje c z je ine relacijom ekvivalencije (R,S,T) ili relacijom poretka. Takvi grafovi c su korisni u algoritmima za mainsko dokazivanje gde se heuristike stans dardnih algoritama za rad sa grafovima svode na heuristike u dokazivanju. Graf moe biti od pomoi kao vizuelno i intuitivno pomagalo oveku i ekviz c c valentna struktura u programu, ili moe biti od pomoi kao struktura koja z c opisuje postupke u reavanju problema i odnose med objektima (nosei njis u c hovu sintaksu i semantiku). Heuristike (kao preice u postupku reavanja c s nekog problema koje daju ekasnije algoritme) se porede npr. s internim znanjem nekog matematiara kada reava neki problem i uopte su veoma c s s

Osnove vetake inteligencije I s c

15

znaajne za VI, kao i razdvajanje eksterne (,,sintaksnog) reprezentovanja c znanja i internog (,,semantikog). Nekoliko interesantnih primera / skica c automatskog dokaza teorema u geometriji i teoriji skupova: Primer 1 - polazei od topolokog reprezentovanja skupova (Merialdo, 1979) c s umesto Venovih dijagrama:
A B

mogu se dobiti pregledniji grafovi kao pomo u reavanju. Primer: c s z ako je A zatvorenje skupa A (najmanji zatvoren skup koji sadri A) i A = A C(A) njegova granica, vai: z Teorema 1 A = (A A) (C(A) A)
A A

C(A)

C(A)

16

Seminarski rad Na grafu se ,,vidi da su ,,atomski elementi(zapravo reprezenti klasa elemenata datih osobina) granice - atomi 2 i 4, a tvrd enje sledi poto s isto tako vai da je A A = atom 2 i C(A) A = atom 4. z

Primer 2 Traenje geometrijskog mesta taaka ili konstrukcija lenjirom i z c estarom su takod mogua primena upotrebe grafova u VI. Primer s e c problema: ako je dat krug k i dve take A i B van tog kruga konc struisati pravu p kroz A tako da su njeni preseci C i D sa k jednako udaljeni od B.
(d)

D k I

C O

(d) A

Program moe kao i ovek da pod od pretpostavke da gotovo reenje z c e s postoji kao u dijagramu iznad, konstruiui dva bitna objekta - pravu s c d i taku I koja polovi CD. Elementi ovakvog dijagrama se predstavlc jaju u tabeli iji su redovi oblika: naziv objekta (d), tip (prava), stepen c slobode (1), predstavnici (B, I - pripadaju d) - ovakav red se nalazi na poetku reavanja problema. Stepen slobode govori koliko je elec s ment odred (npr. prava je odred en ena dvema razliitim takama, B je c c zadata a I tek treba odrediti). Prava d potpuno zadata takama O c i B koincidira sa d poto su trouglovi BCD i OCD jednakostranini, s c OI i BI bisektrise CD i time ista (jedinstvena) prava, to daje red u s pomenutoj tabeli: d prava 0 d , B, I, O. Vai da I pripada OB. z Poto je ugao AIB prav to znai da I pripada krugu nad prenikom s c c

Osnove vetake inteligencije I s c

17

AB koji je time potpuno odred a time i I kao njegov presek sa d. en Odatle sledi da je p potpuno odred ena takama I i A. c Primer 3 Primer iz teorije skupova sa preslikavanjima i kompozicijama koji je uspeno reio program DATE (Pastre, 1978) kao i jo oko 150 teos s s rema u vezi teorije skupova, preslikavanja, kongruencija i kardinalnostu. Primer teoreme koju DATE moe da dokae: z z Teorema 2 Ako su f : A B, g : B C, h : C A tri preslikavanja i ako za dva od bilo koja od tri preslikavanja k1 = hg f , k2 = f h g, k3 = g f h vai da su surjekcije (NA) i da je tree z c injekcija (1-1), onda su sva tri preslikavanja f , g i h bijekcije. 2.4.2 Grako reprezentovanje znanja u automatskom reavanju c s problema

O automatskom reavanju i razvijanju grafa moe se govoriti i kroz primer s z I - ILI drveta traenja reenja (npr. logiki iskaz se razvije i od korena ,,diskuz s c tuje prema listovima):
CVOR ,,I"

PG1

PG2

...

PGn

CVOR ,,ILI"

PG11

PG12

...

PG1p

Cvorovi ,,ILI se odnose na disjunkcije a vorovi ,,I se odnose na konc junkcije. Svaka podgrana (PG) predstavlja podcilj u pretrazi koji se moe z reavati posebnim metodama koje opet mogu proizvesti svoje podgrane (pods ciljeve). Tada je veoma poeljno svesti takvo drvo na jednu granu (da li zbog z naina pretraivanja ili zbog samog problema nedeterminizma prisutnog u c z VI to je teko dostino). Razbijanje problema na podprobleme kao i drveta s z na poddrvee je korisna osobina i jednog i drugog - primeri (neki detalji su c

18

Seminarski rad

u [JL]): PRET (reavanje trigonometrijskih problema, Grandbastien, 1974), s PARI (problemi celobrojne aritmetike, Burgoin, 1978) ili automatsko dokazivanje teorema iskaznog rauna (Pitrat, 1966). Primer je i upored c ivanje problema optimizacije u operacionim istraivanjima gde se iskazi oblika ,,proces z prethodi procesu uz potrebna vremena za izvrenje i ,,procesi se nemogu s paralelno izvriti reavaju algoritimima optimizacije putanje kroz graf i s s bojenja grafa, redom. 2.4.3 Graka reprezentacija i prirodni jezik c

Veza sintakse i semantike jezika je presudna kod problema razumevanja prirodnog jezika u cilju automatskog prevod enja. Prvi pokuaji koji su se s oslanjali samo na sintaksu i prevod rei u re su se pokazali nedovoljnim, c c ve je potrebno u reniku dati nekakvo semantiko znaenje na osnovu koc c c c jeg program gradi semantiku konstrukciju dela teksta, kao i dosta pragc matinog ljudskog znanja o svetu uopte. Kontekstno slobodne gramatke c s Noama Comskog s pravilima transformacija (npr. LR1) su morale biti nadograd ene gramatikama u kojima bi jeziki automat u nekom trenutku analc ize se vraao na prethodne nivoe obilaska drveta transformacija i razreio c s neke semantike probleme da bi nastavio analizu (rekurzivne gramatike vieg c s reda). Proirene Mree Prelaska (Augmented Transition Networks - ATN, Woods, s z 1975) mogu se koristiti za sintaksno-semantiku analizu i predstavljaju grafove c iji su vorovi ili rei, ili semantike familije ili podgrafovi (tako da je ovakva c c c c reprezentacija sutinski rekurzivna). Ono to je interesantno za njih je da s s jeziki procesor koji ovako tekst analizira gradi na osnovu semantikih pravc c ila internu formu koja se zove semantika mrea (semantic network) i koja c z predstavlja rezultat obrade reenice prirodnog jezika (u [JL] dat je primer c vezan za analizu elektrinih kola). Grafovi su korisni i kao formalni oblik c reprezentacije podataka i znanja, ali i kao intuitivan ljudski alat za reavanje s problema.

2.5

Traenje pravog reprezentovanja z

Traenje pravog naina reprezentovanja problema je skoro uvek najznaijniji z c c korak u reavanju problema - primer problema: dva crna skakaa s jedne s c strane i dva bela s druge na 3x3 ahovskoj tabli treba da zamene mesta u to s s

Osnove vetake inteligencije I s c

19

manjem broju koraka. Kada se uoi da su pozicije skakaa elementi skupa c c cikline strukture reda 8 onda se lako uoi i reenje. c c s

2.6

Programski jezici PROLOG i LISP

PROLOG i LISP su jedni od najznaajnijih programskih jezika bitnih za c VI. Njihov znaaj i primene u vetakoj inteligenicji (pored istorijskih) su c s c brojne. Lista kao osnovna struktura podataka u LISP-u je ujedno i nain c reprezentovanja znanja (sam program je takod lista pa se npr. u nekim e genetskima algoritmima koristi kao struktura koja se rekombinuje; mnogi sistemi kao to je to npr. CLIPS su inspirisani ovim jezikom, itd). Jednom s usvojeno iskustvo sa ovakvom strukturom i funkcionalnom lozojom programiranja se lako prenosi i u druge pristupe programiranju i VI. Njegova sintaksa se moe vrlo jednostavno denisati z <S-izraz> := <atom> | <lista> <lista> := ( <telo> ) <telo> := <nil>| <S-izraz> | <S-izraz> <telo> <atom> := niska alfanumerika bez razmaka (standardni identifikator) i specijalnih znakova. gde je nil je prazna lista bez elemenata. Prvi atom liste je funkcija koja moe z biti ugrad ena (npr. funkcija QUOTE koja zaustavlja evaluaciju L za (QUOTE L) ili skraeno L) a evaluacija funkcije tako zadate listom je izvravanje LISP c s programa. U ostatku teksta e se uglavnom koristiti ,,kvazi-predikatski jezik i rec prezentacija znanja koja ukazuje na predikatski raun prvog reda ili bliske c forme. Ako se uzmu u obzir Hornove klauzule i rezolucija, takav nain c reprezentovanja znanja i jezik su najblii PROLOG-u. PROLOG takod z e koristi liste (sintaksa oblika [e1 , ,en ] ili [glava|rep], dok se u tekstu koristi ,,. taka umesto vertikalne crte ,,|) ali ne kao osnovnu strukturu c podataka, odnosno nain reprezentovanja znanja. c

2.7

Grafovi

Formalna matematika denicija grafa je: c

20

Seminarski rad

Denicija 2.1 Struktura G = (X, R) je graf gde je X skup vorova ili c temena grafa, a R je binarna relacija nad skupom X (R X X). Ako je R simetrina, kae se da graf nije orijentisan i veze izmed vorova su c z u c ivice, a ako je antisimetrina (bitan je redosled temena) onda su veze izmed c u temena lukovi. Denicija 2.2 G = (Y, V ) je parcijalni graf grafa G = (X, U ) akko Y = X i V U. G je pod-graf grafa G akko Y X i V = U W gde je W = { (v, w) | v X Y w X Y } (uklonjena su neka temena zajedno s lukovima). Stepen vora je broj suseda tj. ukupan broj prethodnika i naslednika (ulaznih c i izlaznih lukova). Putanja od temena a do temena b u G je konani niz temena c1 , ..., cn c td. je a = c1 i b = cn i svaki (ci , ci1 ) U . Ako graf nije orijentisan onda je dovoljno da (ci , ci1 ) U ili (ci1 , ci ) U i onda je putanja lanac koji povezuje a i b. Ciklus je zatvoren lanac tj. a = b. Ako za za svaka dva vora grafa postoji lanac koji ih povezuje kae se da c z je graf povezan, a ako ih povezuje putanja (graf je orijentisan) onda je jako povezan. Postoji mnogi alati teorije grafova i algoritmi koji su korisni i u mnogim konkretnim primenama (npr. Warshall-ov algortiam za tranzitivno zatvorenje, problemi najkraih puteva i drugo). Jedno od veoma korisnih proirenja poc s jma grafa su Petri mree (i njeni derivati). z 2.7.1 Petri-mree z

Osnovnu postavku Petri mrea u svojoj doktorskoj disertaciji dao je Carl z Adam Petri, ija se formalna denicija odnosi na standardne ili obine Petri c c

Osnove vetake inteligencije I s c

21

mree kao najrasprostanjeniji dijalekat (vrsta). Postoje i mnoga proirenja, z s primene i posledice ovog alata. Petri mrea kao struktura se oslanja na pojam z multi-skupa (skup u kome je dozvoljeno ,,ponavljanje elementa - multiset, bag - formalno par (S, f ) gde je f : S N preslikavanje koje slika element osnovnog skupa S u broj ponavljanja - u sutini dovoljno je f kao multiskup s ako se S podrazumeva), broj ponavljanja elementa x multiskupa B, x B, se oznaava i sa #(x, B) (njegova kardinalnost). c Denicija 2.3 Petri mrea je petorka C = (P, T, B, F, ), gde je: z P = {p1 , ..., pn } neprazan skup mesta, T = {t1 , ..., tm } neprazan skup prelaza td. P T = , F : T NP , ulazna funkcija preslikava prelaz u multiskup ulaznih mesta, B : T NP , izlazna funkcija preslikava prelaz u multiskup izlaznih mesta, : P N je funkcija markiranja koja dodeljuje nenegativan ceo broj mestu, ali moe predstavljena i kao n-dimenzionalni vektor markiranja z = (p1 , ..., pn ), n = |P | gde je i broj tokena u mestu pi . Prelaz ti T moe biti upaljen ako je: z (pi P )pi #(pi , F (tj )) Paljenjem prelaza tj T dolazi do promene vektora markiranja u novi vektor takav da je: (pi P )i = pi #(pi , F (tj )) + #(pi , B(tj )) p Nizom paljenja prelaza se denie izvravanje Petri mree. s s z Graf Petri mree G = (V, A) je takav da skup vorova V = {v1 , ..., vs } z c koga ine dva disjunktna skupa V = P T , P T = (skup mesta i skup c prelaza), i A = {a1 , ..., ar } skup lukova gde vredi: (ai A)ai = (vj , vk ) (vj P vk T ) (vj T vk P ) Graka reprezentacija mesta je obino krug ili elipsa (sa nekom oznakom c c tokena oznaavanja), a prelaz pravougaonikom ili vertikalnom crtom. Tako c se graf sastoji pre svega iz dva tipa lukova:

22

Seminarski rad ulaznih (od mesta ka prelazu - vai ako je F (tj , pi ) > 0, ako je vrednost z vea od 1 upisuje se iznad luka) c z izlaznih (od prelaza ka mestu - vai ako je B(tj , pi ) > 0, ako je vrednost vea od 1 upisuje se iznad luka) c

Mogue su mnoge primene i primeri ovakvih struktura: modeli i formalna c verikacija distribuiranih sistema (multi-agentskih sistema, primera radi), komunikacionih protokola, upavljanje projektima i planiranje, modeli multiprocesorksih sistema, itd.

Osnove vetake inteligencije I s c

23

Formalni sistemi - deklarativno znanje i zakljuivanje c

Formalno predstavljanje znanja je neophodan korak u reprezentovanju znanja i izgrad ivanju osnovnih struktura u programu pa i u VI. Formalni sistemi su vrsta apstraktnih struktura kojima se mogu strogo matematiki c zasnovati formalni jezici, matematika logika ili druge strukture i osnovne c matematike oblasti koje su neophodne kao osnovni primeri formalnog reprezenc tovanja znanja i zakljuivanja o njemu - za strogo zasnivanje neophodno bi c bilo denisati pojmove kao to su: niz, nizovi simbola (niske - je prazna re s c duine 0, n je skup svih niski duine n nad alfabetom , = iN i ), z z jezik kao podskup svih niski datog alfabeta iji su elementi reenice, forc c malna (kontekstno slobodna) gramatika kao struktura G = (V, T, P, S) (gde su V neterminalni simboli, T terminalni, P skup produkcija tj. relacija med reenicama kojima se zadaju pravila izvod u c enja (koraka transformacije) reenica, S je poetni neterminalni simbol) i jezik L(G) njome denisan, itd. c c

3.1

Denicija formalnih sistema

Denicija 3.1 Formalni sistem (FS) je ured ena petorka (, G, A, P, T ) gde je: 1. konani alfabet (iji su elementi terminalni simboli jezika formalnog c c sistema) 2. G formalna gramatika - kao nain strogog denisanja pravila formiranja c ispravnih reenica (w - well formed formulas) odnosno formula FS c 3. A skup reenica koje predstavljaju aksiome - formule FS koje imaju c posebnu ulogu u FS. 4. P konaan skup pravila izvod c enja (ili dedukcija, zakljuivanja) reenica c c (ispravnih u sistemu) u obliku relacija reenica: c U1 , U2 , ...Up W1 , W2 , ...Wn ime se oznaava izvod c c enje iz rei Ui (1 i p) u rei Wj (1 j n) c c 5. T skup teorema - formula FS koje se mogu izvesti iz aksioma, ukljuujui c c i aksiome

24

Seminarski rad

Dokaz je konaan niz rei M1 , ..., Mr iji su lanovi ili aksiome ili rei izvec c c c c dene iz prethodnih lanova tog niza prema pravilima izvod c enja (4). Teorema t je re (formula) za koju postoji dokaz tako da je Mr t i pie se c s t. Aksiome su teoreme po deniciji. Dok se za nisku moe u konanom z c broju koraka odrediti da li je ispravna reenica, za pitanje da li je formula c teorema to ne mora biti tako. Vai: T L(G) . Kao to postoje neterminalni simboli kod formalz s nih gramatika koji nisu deo alfabeta ali uestvuju u produkcijama (svojevrsne c promenljive, konano izvedena reenica ih ne sadri), tako se i u aksiomama i c c z pravilima izvod enja mogu koristiti gde zamenjuju bilo koju ispravnu reenicu c FS (praktino se mogu shvatiti i interpretirati kao sheme aksioma i pravila c npr. jedna aksioma sa takvim simbolom predstavlja zapis prebrojivo mnogo aksioma, koliko ima i formula FS). Pravila koja sadre takve promenljive zovu z se prepravljanja (re-writing - odnose se na deo reenice leve strane pravila), c inae su zovu produkcijama. Pretpostavka je da je broj aksioma i reenica c c rekurzivno prebrojiv (postoji pravilo, algoritam po kome se moe doi do z c svakog u konanom broju koraka). c Pored ovih apstraktnih struktura, znaajan je i pojam konceptualizacije kao c modela univerzalne algebre, odnosno trojke (, F, R) gde je skup elemenata domena, F skup funkcija (elementi su f : n , razliitih arnosti n), c R skup relacija konceptualizacije (elementi su m , razlitih arnosti m). c Uz predikatski raun prvog reda (PR1) kao odgovarajui jezik konceptualc c izacije dobijamo sintaksni nivo deklarativnog znanja koji odred uje alfabet sa tri klase: simbolima konstanti domena, konstanti funkcija i konstanti relacija, a uz interpretaciju (preslikavanje ovakvih elemenata jezika u odgovarajue elc emente konceptualizacije tj. modela) dobija se deklarativna semantika, veza izmed sintakse (jezika) i semantike (konceptualizacije). Znanje formalizou vano ovakvim strukturama se naziva deklarativnim znanjem. Znaaj pojma c konceptualizacije je i taj da ne mora da zavisi od izbora jezika, tako da umesto PR1 to moe da bude jezik binarne tabele, semantike mree, okvira z c z (koji se uglavnom mogu svesti na PR1, proceduralni deo okvira se jedino ne uklapa) ili neki drugi.

Osnove vetake inteligencije I s c

25

Pomenuti formalni sistemi su osnova za denisanje pojma formalnog matematikog c dokaza, gde se obino podrazumeva Hilbertov sistem dedukcije koji posmatra c logiku sa isto sintaksnog aspekta, dok teorija modela (univerzalna algebra c + logika) tei semantikom pogledu. Denicija FS potie iz knjige [JL], o forz c c malnim jezicima se moe saznati vie iz [HU], dok se o deklarativnom znanju z s i zakljuivanju moe saznati vie iz [GN]. Slede primeri i pojanjenja. c z s s

3.2

Iskazni raun i predikatski raun prvog reda c c

Tako je iskazni raun jedan od najpoznatijih primera formalnih sistema c (klasian oblik matematike logike u uem smislu, kao i Bulova algegbra, c c z dok se u irem smislu podrazumeva i teorija modela, teorija skupova i teorija s izraunljivosti), i mnogo vie od toga - prethodi deniciji predikatskog rauna c s c prvog reda (PR1), koji je osnova mnogih praktinih inteligentnih sistema c i osnovni primer matematikog jezika i zakljuivanja kao modela ljudskog c c razmiljanja - PR1 se moe formalizovati (u smislu prethodno denisanih s z FS) i praktino koristiti kao reprezentacija znanja, ali i kao metod dedukcije c (zakljuivanja o znanju i njegovim posledicama): c alfabet: {p,q,r,s...,,,,,(,)} ako su w, w1 i w2 pravilne reenice onda su to i: c slovo alfabeta, (w), w, w1 w2, w1 w2, w1 w2 ema aksioma (koje ukljuuju i iako se moe sistem denisati potpuno s c z bez disjunkcije koja se onda naknadno denie: p q (p q), i s time se neto smanji broj aksioma, ali to ne znai da je onda dedukcija s c ekasnija): p (q p) (p (q r)) ((p q) (p r)) pq p pq q (1) (2) (3) (4)

26 p (q (p q)) ppq q qq (p q) ((r q) (p r q)) (p q) ((p q) p) p (p q) p p

Seminarski rad (5) (6) (7) (8) (9) (10) (11)

(umesto (2) moe (p q) ((p (q r)) (p r)), z i umesto (9) i (10) moe p p) z modus ponens je dovoljan kao jedino pravilo izvod enja: w1 , w1 w2 w2 (mada se mogu koristiti i druga kao to su to npr. modus tolens: w2 , s w1 w2 w1 , -eliminacija: w1 w2 w1 , w2 , -uvod enje: w1 , w2 w1 w2 , itd.) Kod iskaznog rauna preslikavanje rei u izraz sa funkcijama kao interc c pretacijama logikih operatora nad skupom B - takvo preslikavanje u izraz c koji zavisi samo od slova u njemu je interpretacija (bez vrednosti promenljivih), a za niz koknretnih vrednosti slova u B se kae da je valuacija promenljivih. z Ako se tako denie semantika rei iskaznog rauna nad skupom B = { , } s c c (Bulova algebra), onda su validne rei (tautologije) one ija je istinitosna c c vrednost uvek (ili istinite) bez obzira na vredost promenljivih i interpretaciju (i pokazuje se da je svaka tautologija teorema iskaznog rauna, c Emil Post, 1921). Vane osobine ovog formalnog sistema su (ili nekog drugog formalnost sisz tema prvog reda): nekontradiktornost (konzistentnost), kompletnost (svaka validna re ili njena negacija su teoreme sistema), odluive (uvek postoji posc c tupak kojim se u konano mnogo koraka za bilo koju re utvrd c c uje da li jeste ili nije teorema). Sledei vaan primer formalnog sistema je predikatski raun prvog reda (PR1) c z c gde se uvode i pojmovi predikata odnosno relacije (odred ene arnosti), univerzalni kvantikator , promenljive i konstante (kvantikator se denie s

Osnove vetake inteligencije I s c sa (x)P (x)P ). Dodatne aksiome pored aksioma iskaznog rauna: c (x)P (x) P (u) (aksiom partikularizacije), ((x)(w1 w2 )) (w1 (x)w2 ), x nije slobodna u w1 . Dodatna pravila izvod enja: generalizacija: w (x)w, gde je x slobodna u w).

27

Denicija interpretacije je takod proirena uz pojmove apstraktne strukture, e s konceptualizacije (koja uz PR1 daje model deklarativnog znanja), kao trojke (, F, R) gde je domen - skup iz koga interpretacije mogu uzimati vrednosti, F je skup funkcija, R je skup relacija tako da su ti objekti slike (pie s I se npr. I() = ) funkcionalnih i relacionih konstanti kojima su grad eni termi (izrazi nad konstantama, promenljivama i funkcijama, npr. formalna aritmetika) i atomski iskazi redom (kojima se ,,proiruju formule iskaznog s rauna). Formule mogu biti i kvantikovane - stroga denicija je rekurzivnog c karaktera. Tada se moe denisati: |=I [V ] ili re je zadovoljena akko posz c toji interpretacija I i valucija V td. je istinita. Interpretacija I je model rei (formule) ako je zadovoljena za svaku valuaciju. Ako je re zadovoljena c c bez obzira na interpretaciju onda je tautologija (|= ). Formula moe se z izvesti koristei se i formulama nekog skupa formula (hipoteza, npr. baza c podataka u PROLOG programu, ,,baza znanja) kao da su aksiome to se s zapisuje kao . Ako je formula zadovoljena za svaku interpretaciju za koju je zadovoljen i skup hipoteza onda se kae da je logika posledz c ica ili implikacija tog skupa formula i pie se |= . Skup je teorija s ako je zatvoren logikom implikacijom (ne postoji teorema izvan njega koja c proizilazi iz tog skupa) i moe kao deo formalnog sistema isto biti konzistenz tan, kompletan ili odluiv. Teorija je konano aksiomatizabilna ako postoji c c konana baza (podskup rei) iz kojih se mogu izvesti svi elementi . Teorija c c je nekonzistentna ako ne postoji interpretacija i valuacija tako da je svaki element zadovoljen. Takod moe se pokazati e, z |= za datu PR1 teoriju . Za datu teoriju (ili sistem) i njene dve interpretacije I, J se kae da su elementarno ekvivalentne (I J) akko vai |=I |=J za z z proizvoljnu teoremu .

28

Seminarski rad

Za PR1 kao formalni sistem se pokazuje da jeste nekontradiktoran, kompletan (Gedelova teorema kompletnosti kojom se praktino pokazuje da je u c PR1 zadoljovost ekvivalentna konzistentnosti, odnosno semantika vrednost c formule ekvivalentna je sintaksnoj - ovo je povezano i sa osobinom kompaktnosti: po teoremi kopmaktnosti svaki nekonzistentan skup formula u PR1 ima konaan nekonzistentan podskup tj. skup je konzistentan ako je takav i c svaki njegov konaan podskup - ovu lepu osobinu nema, recimo, PR2 gde se c kvantikuju i predikati pored promenljivih) ali da nije odluiv (Church-ova c teorema: postoje neodluivi formalni sistemi, Gedelova teorema nekompletc nosti), kao ni teorija grupa, prstena i polja (to je Tarski pokazao - dok su npr. s projekivna geometrija i teorija zatvorenih realnih polja odluive). Formalna c aritmetika (Peano zasnovao oslanjajui se na PR1) nije kompletna (Gedelov c dokaz aritmetizacijom). Znaajna ogranienja formalnih sistema pokazuje i c c teorema Tarskog - postoje formalni sistemi u kojima za svaku interpretaciju postoji valjana re za koju ne postoji dokaz. c Sledee teoreme su praktino veoma korisne: c c Teorema 3 (Teorema Dedukcije) Ako je {} onda je ( ). Teorema 4 (Pravilo T) Ako je 1 , ..., n i {1 , ..., n }

tada je

Teorema 5 (Teorema kontrapozicije) {} akko {} . Teorema 6 (Teorema odbacivanja) Ako je {} nekonzistentna tada je

Teorema 7 (Teorema generalizacije) Ako je i je promenljiva koja se pojavljuje kao slobodna u onda (). Ovim teoremama se npr. moe skratiti formalan dokaz ako se koriste kao svoz jevrsna heuristika (kao i dodatnim pravilim zakljuivanja). Postoje i mnoge c alternativne logike i njihovi formalni sistemi sa svojim osobinama i domenima primene - npr. intuicionistika (naglaava matematiki konstruktivizam pre c s c

Osnove vetake inteligencije I s c

29

nego pojam istine, npr. u PR1 problem egzistencije stepena iracionalnih bro 2 2 2 jeva koji je racionalan: 2 = 2 Q iako o osnovi 2 ne moramo da znamo da li je takva - kod intuicionistike logike to nije dokaz), modalna, c temporalna, itd.

3.3

Zakljuivanje c

Automatsko dokazivanje teorema s obzirom na sve prethodno moe da z bude veoma teak problem. Neki metod zakljuivanja tj. dokazivanja teoz c rema je ispravan ako je svaki zakljuak dobijen postupkom tog metoda iz c njegove baze znanja logika posledica te baze (kompletan ako vai i obratno) c z u smislu logike implikacije i zakljuivanja u PR1. Postoje klase formalnih c c sistema i metodi koji su u tome uspeni, a jedan od poznatijih je algoritam s rezolucije (na kome se bazira interpretacija PROLOG programa). Procedura zakljuivanja predstavlja izbor narednog koraka zakljuivanja kao c c to je to npr. Markovljeva funkcija next koja slika skup reenica baze znanja s c (kojima su zadate polazne pretpostavke i izvedene posledice) u naredni, izvedeni skup reenica baze znanja. Moe da zavisi od prethodnih zakljuaka c z c (istorije) makar implicitno zbog same prirode procedure. Ako se baza znanja u svakom koraku izvod enja uveava tj. ako je svaki naredni korak nadskup c prethodnog onda je procedura zakljuivanja inkrementalna. c

30

Seminarski rad

Rezolucija

Rezolucija je primer metode zakljuivanja koja se moe ekasno automac z tizovati, i u odred enim sluajevima se pokazuje da je to ispravna i kompletna c procedura zakljuivanja. c

4.1

Klauzalna forma

Rezolucija se primenjuje nad jednim pojednostavljenim oblikom izraza PR1 iji su osnovni elementi klauzule. Klauzule se sastoje od literala koji su c zapravo atomski predikati (pozitivni literali) ili njihove negacije (negativni literali), a klauzula je disjunkcija literala. Od posebnog znaaja su Hornove c klauzule koje sadre najvie jedan pozitivan literal. Klauzalna forma je konz s junkcija klauzula. Skica algoritma za pretvaranje iskaza PR1 u klauzalnu formu je (oblik PRENEX algoritma za normalnu formu iskaza): 1. izbacivanje implikacija: se zamenjuje sa se zamenjuje sa se zamenjuje sa ( ) ( ) 2. ulazak negacije: se zamenjuje sa ( ) se zamenjuje sa ( ) se zamenjuje sa se zamenjuje sa zamenjuje se sa 3. standardizovanje promenljivih - za svaki kvantikator posebna promenljiva: npr. (xP (x)) (xP (x)) zamenjuje se sa (xP (x)) (yP (y)) 4. eliminacija kvantikatora - eliminacija egzistencijalnog kvantikatora, skolemizacija: svaka formula koja nije pod dejstvom univerzalnog kvantikatora oblika (x)P (x) se zamenjuje formulom P (C) gde je C (Skolemova) konstanta koja se ne javlja ni u jednoj drugoj formuli.

Osnove vetake inteligencije I s c

31

Svaka formula prethodnog oblika koja je i pod dejstvom univerzalnog kvantikatora se zamenjuje formulom u kojoj je promenljiva pod dejstvom egzistencijalnog kvantikatora zamenjena (Skolemovom) funkcijom (argumenti su promenljive pod dejstvom univerzalnog kvantikatora) koja se ne javlja ni u jednom drugoj formuli. Npr. xyP (x, y, F (x, y)) umesto xyzP (x, y, z). 5. eliminacija kvantikatora - eliminacija univerzalnog kvantikatora: poto drugih kvantikatora nema, nema ni zabune ako se uklone svi s kvantikatori (slino generalizaciji). c 6. svod enje na disjukntivnu normalnu formu: ( ) se zamenjuje sa ( ) ( ) 7. zapis klauzalne forme: npr. umesto P (Q R) pie se: {P }, {Q, R} s 8. standardizacija promenljivih: zamene se promenljive td. se ni jedna promenljiva ne javlja u vie s klauzula od jedne.

4.2

Unikacija

Unikacija je postupak u kojem se dva izraza izjednaavaju (ukoliko je to c mogue) zamenama promenljivih odgovarajuim termovima. Vie takvih zac c s mena (,,vezivanja) promenljivih x1 , ..., xn termovima t1 , ..., tn je supstitucija = {x1 /t1 , ..., xn /tn } pod uslovom da se ni jedna od navedenih promenljivih ne javlja ni u jednom od termova. Supstitucija primenjena na neku formulu predstavlja jednu instancu te formule. Ako supstitucija nema nijednu promenljivu koju ima supstitucija onda je razliita od . Kompozicija c dveju takvih supstitucija (zapisuje se postksno, kao i primena supstitucije na izraz) se dobija tako to se najpre primene zamene iz na a onda se s dobijenom dodaju zamene iz . Supstitucija je optija ili jednako optija s s od ako () = . Najoptiji unikator (nou) izraza i je optiji od s s bilo koje druge supstitucije koja koja izjednaava ta dva izraza ( = ) c tj. () = = . Jedinstven je do na imenovanje promenljivih. Rekurzivni algoritam za traenje nou za dva izraza je (moe se uoptiti): z z s

32

Seminarski rad

Nou(x,y) if x=y ==> Return() if Var(x) ==> Return(Nouvar(x,y)) if Var(y) ==> Return(Nouvar(y,x)) if Const(x) or Const(y) ==> Return(FALSE) if Not(Length(x)==Length(y)) ==> Return(FALSE) i=0, g=[] loop if i==Length(x) ==> Return(g) s=Nou(Part(x,i),Part(y,i)) if s==FALSE ==> Return(FALSE) g=Compose(g,s) x=Substitute(x,g) y=Substitute(y,g) i=i+1 end loop end Nou Nouvar(x,y) if Includes(x,y) ==> Return(FALSE) Return([x/y]) end Nouvar Objanjenje, ukratko: ,,ve implementiran predikat Var tj. funkcija je iss c tinita ako je argument promenljiva, Cons ako je argument konstanta (ukljuujui c c i funkcijsku konstantu tj. ime funkcije - npr. Part(F(A,B,C),0) == F, Part(F(A,B,C),1) == A, itd. a vai Const(F)=TRUE), Compose spaja dve z liste, Substitute primenjuje na izraz listu zamena (supstituciju). je faktor ako ( )() = nou() td. = .

4.3

Princip rezolucije

Slino modus ponensu - ako se primeni na jednostavan sluaj prikazan c c klauzulama sa prostim literalima izgleda ovako: {R,P}, {Q, P} {R,Q}

Osnove vetake inteligencije I s c

33

Horizontalnom crtom je razdvojena rezolventa (izvedena klauzula) od polaznih klauzula, slino zapisu pravila u PR1. Pozitivne (bez ) i negativne c instance literala (sa ) P koje se javljaju u polaznim klauzulama se ,,potiru. U optem sluaju, literali sadre terme sa promenljivama i tada je neophodan s c z algoritam unikacije da bi se primenilo pravilo rezolucije: , , ( {}) ( {}), td. je = nou(, )

Ako je rezolventa (zakljuak principom rezolucije) prazna klauzula, to znai c c da je u pitanju kontradikcija med pretpostavkama tj. postoji kontradikcija u u bazi znanja. Dedukcija (zakljuak) rezolucijom na osnovu baze (znanja) je niz klauzula c iji je element i iji je svaki lan dobijen primenom principa rezolucije ili c c c na klauzulu iz ili na nekog prethodnog lana niza. Kada se prikazuje niz c koraka zakljuivanja dodaje se na kraju ako pripada bazi ili redni broj c koraka na osnovu kojih se zakljuuje, ili ako je u pitanju negirani cilj (ako c je cilj pokazati ispravnost upita zadatog klauzulom ili literalom onda se njegova negacija ,,privremeno ubaci u bazu da bi se dolo do kontradikcije s odbacivanje rezolucijom, sistem je nezadovoljiv). Algoritam kojim se realizuje automatska dedukcija rezolucijom se svodi na grad enje stabla zakljuivanja (po nivoima, poevi od baze kao polaznog c c s nivoa, ,,resolution trace, npr. dva pokazivaa (jedan ,,sporije, jedan ,,bre) c z prolaze kroz sve rezolvente ukljuujui i novonastale) sve do ispunjenja uslova. c c Uslov je obino ili prazna klauzula kojom se trai odgovor ISTINA / NEISTINA c z na postavljen cilj (zadatu klauzulu), ili se trae vrednosti promenljivih (,,llz in-the-blank) koje zadovoljavaju postavljeni cilj gde se onda koristi pomoni c predikat Ans(X1 , ...) onolike arnosti koliko nepoznatih uestvuje u upitu. c Primer - upit glasi P(z,Jon): 1. 2. 3. 4. {F(Art,Jon)} {F(Bob,Kim)} {F(x,y),P(x,y)} {P(z,Jon),Ans(z)}

34

Seminarski rad

5. {P(Art,Jon)} 1, 3 6. {P(Bob,Kim)} 2, 3 7. {F(w,Jon),Ans(w)} 3, 4 8. {Ans(Art)} 9. {Ans(Art)} 4, 5 1, 7

Pokazuje se da je princip rezolucije ispravan i kompletan metod dedukcije (koristei Erbranove teoreme, Erbranov svet konstantnih terma ...). c

4.4

Rezolucija i jednakost

Programsko prikljuenje (procedural attachment) je korisno proirenje c s postupka rezolucije (kao i bilo koje druge dedukcione procedure) - predikat (literal) ili funkicja se evaluira tako to se izvri program tj. kod koji vraa s s c njegovu vrednost. Time se moe smanjiti broj koraka dedukcije, ali to z moe biti i problem jer u takvim sluajevima princip rezolucija nemora biti z c dovoljno moan pa se mora pribei ipak doslednom aksiomatskom denc c isanju. Primer je relacija jednakosti koja ima podrazumevane osobine, recimo klasina rekurzivna denicja faktorijala: c f act(0) = 1, f act(k) = k f act(k 1)) Rezolucija nije dovoljna za takvu deniciju, ve se ili mora preformulisati c tako da su svi termi bez promenljivih na prvom nivou literala u kojima se javljaju: F act(0) = 1 k 1 = j F act(j) = m k m = n F act(k) = n ili se aksiomatizuje jednakost a onda i aksiome supstitucije terma termima za svaku relaciju i funkciju: x x = x xy x = y y = x xyz x = y y = z x = z kjm k = j F act(j) = m F act(k) = m

Osnove vetake inteligencije I s c kjmn j = m k m = n k j = n

35

4.5

Strategije rezolucije

Drvo rezolucije lako moe da ekplozivno naraste i time postupak dedukcije z postaje neekasan. U ovom poglavlju se razmatraju varijante kao strategije i heuristike kojima se to moe izbei. Osnovna osobina svih ovih strategija z c je upotreba Hornovih klauzula. Moe se pokazati da ako se baza znanja z sastoji samo od Hornovih klauzula, da je svaka od ovih strategija ispravan i kompletan metod dedukcije.

4.5.1

Strategije brisanja

Jedan nain poboljanja rezolucije je brisanje nepotrebnih klauzula iz c s baze u odred enim sluajevima. c Eliminacija istih literala: c Literal je ist ako se nigde u bazi znanja ne pojavljuje nijednja njegova komc plementarna instanca. Klauzule koje ga sadre su beskorisna za odbacivanje z rezolucijom i zato se mogu brisati iz baze. Dovoljno je jednom primeniti ovo pravilo na poetku procesa rezolucije. c Eliminacija tautologija: Tautologija je klauzula koja sadri komplementarne literale. Pokazuje se da z zadovoljivost baze znanja ne zavisi uopte od takvih klauzula, prema tome s mogu biti brisane. Unikacija se ne koristi, za razliku od prethodnog, da bi se dolo do tautologija, i ovo pravilo moe biti upotrebljeno nakon svakog s z dedukcionog koraka. Eliminacija podklauzula: Klauzula je podklauzula (,,subsumption) klauzule akko postoji supstitucija td. . Podklauzule se mogu brisati i ovo pravilo kao i prethodno se moe primenjivati nakon svakog koraka dedukcije. z

36 4.5.2 Jedinina rezolucija c

Seminarski rad

Jedinina rezolventa je ona kojoj je bar jedan roditelj jedinina klauzula, c c tj. sa samo jednim literalom (singlton). Jedinina rezolucija je ona u kojoj c su sve rezovlente jedinine. Jedinino odbacivanje je ono koje je dostignuto c c jedininom dedukcijom. c

4.5.3

Ulazna rezolucija

Ulazna rezolventa je ona kojoj je bar jedan roditelj element baze znanja. Ulazna rezolucija je ona u kojoj su sve rezovlente ulazne. Ulazno odbacivanje je ono koje je dostignuto ulaznom dedukcijom.

4.5.4

Linearna rezolucija

Linearna rezolucija (ancestry-ltered) je vid uoptenja ulazne rezolucije. s Linearna rezolventa ima bar jednog roditelja koji je ili u bazi znanja ili je predak svog drugog roditelja. Linearna rezolucija poinje gornjom klauzulom c (iz baze znanja), i svaki sledei korak sledi iz poslednje rezolvente (bliski c roditelj) i klauzule koja je u bazi znanja ili predak prvog / bliskog roditelja (daleki roditelj). 4.5.5 Rezolucija skupom podrke s

Ako odbacime sve rezolvente iskljuivo nad klauzulama iz skupa znanja c koji je zadovoljiv pokazuje se da to ne utie na odbacivanje rezolucijom. c Podskup skupa (baze znanja) td. je zadovoljiv zove se skupom podrke za . Rezolvetna skupom podrke ima uvek jednog roditelja iz ili s s je potomak od . Dedukcija skupom podrke se sastoji od rezolventi skupom s podrke. s Ako je baza zadovoljiva onda su negirane klauzule cilja upravo skup podrke. Dokazi dobijeni ovom metodom polaze od cilja unatrag i obino s c su ,,itkiji od drugih. c

Osnove vetake inteligencije I s c 4.5.6 Ured ena rezolucija

37

Ova strategija je veoma restriktivna ali i veoma ekasna. Klauzule se tretiraju kao ured eni nizovi literala i rezolvente mogu biti samo nad prvim literalima u klauzuli. 4.5.7 Usmerena rezolucija

Ovo je vid ured ene rezolucije u kojem se klauzule razvrstavaju u dve grupe Hornovih klazula: prednje (pozitivni literal je na kraju) i zadnje (pozitivni literal je na poetku). Tako onda imamo dve vrste rezolventi i rezolucija: unc apred (u kojem uestvuju prednje) i unazad (u kojem uestvuju zadnje). Za c c neke upite je ekasnije koristiti jednu podstrategiju od druge. Sam problem biranja podstrategije je NP-kompletan. 4.5.8 Sekvencijalno zadovoljenje uslova

Ovo je strategija koja se koristi za ciljeve gde se trae vrednosti i gde su z upiti oblika npr.: P QR ... gde se trae vrednosti promenljivih za koje je zadovoljen. Sam redosled z formula u konjunkciji upita je bitan u odnosu na broj konstantnih literala po svakom konjunktu u bazi znanja. Pokazuje se da je optimalan redosled odred td. se pretraivanje procena kotanja minimizuje kao i samo kotanje en z s s redosleda tj. broj dedukcionih koraka potrebnih da bi se dolo do cilja. s

38

Seminarski rad

5
5.1

Zakljuivanje sa nesigurnim uverenjima i c drugi naini zakljuivanja c c


Nemonotono zakljuivanje c

U ovom poglavlju se razmatraju metodi dedukcije u kojima dodavanje formule skupu pretpostavki utie na zakljuak. Kod logikog zakljiivanja u c c c c PR1 to nije bio sluaj i zato se zove monotonim. Nemonotono zakljuivanje c c moe zavisiti i od celog skupa pretpostavki a ne od njegovog podskupa, ili z od formula koje ne pripradaju skupu pretpostavki. Ovakvo proerenje zas kljuivanja moe biti od znaaja za sistem koji npr. treba da se prilagodi c z c nepotpunoj bazi znanja. Skup formula se moe zatvoriti logikom implikacijom () ali to nemora z c dati kompletnu teoriju. Najjednostavniji metod kompletiranja je pretpostavka zatvorenog sveta (PZS, ,,closed-world assumption). Jednostavno, ako se za konstantni literal ne moe izvesti da pripada teoriji niti njegova negacija, z onda se njegova negacija dodaje u skup uverenja pu - pretpostavljena uverenja, pored skupa ispravnih aksioma teorije, pu je onda dopunjena teorija. P ZS() akko ( pu ) |= . Pokazuje se da ako je konzistentna baza i sastoji od Hornovih klauzula onda je i P ZS() konzistentna. Uz PZS se obino koristi i pretpostavka jedinstvenih imena c (PJI, ,,unique names assumption) koja primenjuje princip PZS na jednakost ( (t1 = t2 ) {t1 = t2 } pu ), kao i pretpostavka zatvorenja domena (PZD, ,,domain closure assumption), kojom se praktino svaki kvantikac tor moe zameniti konanim disjunkcijama i konjunkcijama. PZD je zadat z c aksiomom ({(x)x = t1 x = tn } pu ), gde su ti konstante objekata jezika, pod uslovom da nema funkcijskih konstanti u jeziku (inae postoji c beskonaan broj termova nad konstantama koje bi trebalo staviti u ovakvu c aksiomu ili ih kvantikovati). PZD prevazilazi ogranienje da su jedino one c konstante objekata koje se javljaju u bazi mogue. c Baza se takod moe kompletirati u odnosu na svoje predikate tako da e z se pretpostavlja da zadate injenice u bazi deniu sve zadovoljive vrednosti c s predikata. Moe se pokazati da je ovo ekvivalentno postupku PZS uz neke z pretpostavke. Sutinu ini COM P [; P ] kompletiranje predikata P u bazi s c koje daje proirenje baze tako da P vai samo za one vrednosti za koje je s z

Osnove vetake inteligencije I s c

39

P istinit u bazi, za koje baza to ,,dozvoljava. Npr. ako je = {P (A)} onda vai P (A) ((x)x = A P (x)) a formula (x)P (x) x = A daje z potreban uslov da bude zadovoljeno iskljuivo jedino P (A). U tom sluaju c c je COM P [; P ] ( ((x)P (x) x = A)) ((x)P (x) x = A) (moe se odmah koristiti i ekvivalencija umesto implikacije). Ako je = z {P (A), P (B)} onda vai COM P [; P ] ((x)P (x) x = A x = B). z Kompletiranje predikata odgovara PZS u odnosu na predikat gde se PZS primenjuje samo u odnosu na zadati skup predikata (ako je to skup svih predikata u bazi onda se poklapa sa PZS, npr. iz = {(x)Q(x) P (x), Q(A), R(B) P (B)} se dobija R(B) i P (B) u optem sluaju, a s c u odnosu na predikat P se dobija samo P (B) to posle dovodi do zakljuka s c R(B)) - tu se javlja problem nekonzistentnosti iako se koristi baza Hornovih klauzula u odnosu na predikat (npr. ako je = {P (A)Q, P (B)Q} onda se u odnosu na P dobija i P (A) i P (B), to je nekonzistentno sa ). Zato se s kompletiranje radi samo sa predikatima usamljenim u bazi - skup klauzula je usamljen u P akko svaka klauzula sa pozitivnim pojavljivanjem (instancom) P ima najvie jedno takvo pojavljivanje. Usamljene klauzule u odnosu s na predikat jesu Hornove, ali obratno ne vai. Postoji postupak paralelnog z kompletiranja usamljenih klauzula za skup predikata u bazi, za koji se moe z pokazati da uva konzistentnost, i u kojem se pazi da ne dod do cirkularnih c e denicija (predikati = {P1 , , Pn } su uredeni : za svaku (x)Ei Pi (x) disjunkciju klauzula iz baze za Pi , Ei da sadri nijedan iz {Pi , , Pn } niti z negativne instance iz {P1 , , Pi1 }) i gde se kompletiranje skupa predikata dobija kao konjunkcija kompletiranja pojedinih predikata. U optem sluaju s c kompletiranje je COM P [; P ] def ((x)P (x) Ei ) gde su Ei leve strane implikacija klauzula u normalnoj formi u bazi (x)Ei P (x) koje se mogu grupisati disjunkcijom. Normalna forma klauzula je oblika x(y(x = t) Q1 Qm ) P (x) gde se pod x = t podrazumeva x1 = t1 xn = tn , ti su termi, x promenljive koje se ne javljaju u ti a Qi literali u kojima se ne javlja P . Ovo se moe uoptiti minimalnim modelom, konstrukcijom u PR2 (kvanz s tikuju se predikati) td. kompletiranje predikata ,,radi i za formule oblika P (A) P (B) koje nisu usamljene u bazi (cirkumskripcija): CIRC[, P ] ((P )((P ) P P ) P P ) gde je A B def ((x)A(x) B(x)) a x moe biti i n-torka promenljivih. z

40

Seminarski rad

5.2

Taksonomijske hijerarhije i pretpostavljeno zakljuivanje c (default reasoning)

Cesto je potrebno predstaviti bazu znanja u obliku eme odnosa med obs u jektima, kao o je to npr. ,,Noj(x) Ptica(x), odnosno upotrebom relacije t ,,JESTE koja je parcijalno ured ena i tranzitivna (Noj JESTE Ptica). Mogu postojati izuzeci u ovakvom odnosu nasled ivanja koji se opisuju pravilima prekidanja nasled ivanja (inheritance cancellation rules). Svaki objekat moe z imati neke opisane osobine koje su date skupom reenica osobina P , a c prethodne reenice o odnosima i izuzecima odnosa daju H - taksonomijsku c hijerarhiju. Dobro je takva pravila napisati dovoljno uopteno - npr. ako je s data reenica u P : Stvar(x) Ab1(x) leti(x) gde je opisana c osobina letenja stvari, onda je pravilo izuzetka u H : Ptica(x) Ab1(x), gde je Ab1 predikat koji se vezuje za odred eni tip izuzetka, abnormalnosti. Da bi primer bio kompletan, u H se mogu uvrstiti onda: Stvar(Tviti) Ptica(x) Stvar(x) Ptica(x) Ab1(x) Noj(x) Ptica(x) Noj(x) Ab2(x) Letei-Noj(x) Noj(x) c Letei-Noj(x) Ab3(x) c to se moe prikazati i grafom, dok se u P mogu uvrstiti reenice: s z c Stvar(x) Ab1(x) leti(x) Ptica(x) Ab2(x) leti(x) Noj(x) Ab3(x) leti(x) Letei-Noj(x) leti(x) c Kompletiranjem (paralelnim) predikata u H se dobijaju reenice: c 1. 2. 3. 4. 5. Stvar(x) Ptica(x) x=Tviti Ptica(x) Noj(x) Noj(x) Letei-Noj(x) c Letei-Noj(x) c Ab1(x) Ptica(x)

Osnove vetake inteligencije I s c 6. 7. Ab2(x) Noj(x) Ab3(x) Letei-Noj(x) c

41

Iz toga se moe zakljuiti da Tviti ne leti jer je stvar, ali ako se izmeni tvrdnja z c i pretpostavi da je Tviti ptica onda se kompletirane formule o stvarima i pticama menjaju (Stvar(x) Ptica(x), Ptica(x) Noj(x) x=Tviti) i moe zakljuiti da Tviti leti. Tako se sistem vremenom menja u toku samog z c uenja injenica. Ovaj proces deliminog kompletiranja u bazi naziva se razdc c c vojenim kompletiranjem (delimited completion). Moe biti korisno, opet z primera radi, zakljuiti da sve ptice lete osim onih za koje se ekplicitno tvrdi c da ne lete. Nemonotono zakljuivanje moe biti i posledica nestandardnih c z pravila zakljuivanja, pretpostavljenih (prototipnih) pravila (default rules) c i pretpostavljenih teorija: (x) : (x) (x). Proirenje (, D) baze s skupom pretpostsavljenih pravila D sadri (X0 ) ako postoji instanca X0 z za x td. (X0 ) sledi iz (, D) i (X0 ) je konzistentna sa (, D). Npr. ptica(x) : leti(x) leti(x) (ovo ujedno primer normalnih pravila kod kojih je = ), ili PZS u odnos na predikat P : :P (x) P (x) Problem sa univerzalno kvantikovanim reenicama sa implikacijom i izuzecc ima kao kod taksonomijskih hijerarhija je poznat kao problem kvalikacije (Lifschitz, 1986). Zato je zgodno koristiti proceduru zakljuivanja sa privrec menim pretpostavkama odnosno pretpostavljenim rasud ivanjem.

5.3

Indukcija

Veoma vana osobina zakljuivanja je i uoptavanje zakljuivanja. Bazu z c s c znanja delimo na bazu uverenja nad kojom se rade uoptavanja i pozadins sku teoriju td. ( |= ). Tada je induktivni zakljuak ( ) c akko: 1. hipoteza je konzistenta sa pozadinskom teorijom: ( |= ) s 2. hipoteza objanjava bazu: {} |=

42

Seminarski rad

Indukcija je pomak od pojedinog ka optem pod nekim uslovima, nain zas c kljuivanja opravdan induktivnom hipotezom (IH, poznat je primer Peanovog c modela prirodnih brojeva) - na primer, ako vai P (A) onda vai P (x), pod z z uslovom da nije P (x) (ne postoji negativan primer). Indukcija je povezana je i sa problemima (mainskog) uenja i verovatnosnog zakljuivanja. Primer s c c moe biti i problem klasikacije injenica prema nekim atributima i kriterz c ijumima (kao u sistemu i algoritmu ID3 gde se generie pravilo klasikacija s ulaznih injenica). Primer postupka induktivnog zakljuivanja je i problem c c formacije koncepta. Denie se formalno etvorka (P, N, C, ) kao problem s c formacije koncepta gde je P skup pozitivnih instanci koncepta (potvrd uju ga), N skup negativnih, C skup svih koncepata koji se koriste da bi se denisao koncept (konceptualni bias - PR1 zakljui moraju pripadati denc isanom reniku) i je logiki bias (zakljui moraju biti odred c c c ene forme zadate jezikom ) i uvodi se pojam prihvatljve relacije (ako zadovoljava biase, denisana nad C u jeziku ). Prihvatljiva relacija je karakteristina ako c zadovoljena za sve iz P , diskriminanta ako ne zadovoljava nijednu iz N i dopustljiva je ako zadovoljava oba uslova. Skup svih dopustljivih relacija je skup verzija V , a graf verzija u kojem su orijentisani lukovi relacijom optosti s - vor p je manje opti od vora q ako je p q (ispravni podskup relacije c s c kao skupa, ili vie specian). Skup V je dobro formiran ako za svaki lanac s c u grafu postoji minimalni i maksimalni element, S skup (specina granica) c minimalnih a G (generalna, uoptena granica) maksimalnih elemenata. Tada s vai: z Teorema 8 Za (P, N, C, ) sa dobro formiranim V i S, G skupovima tada r V akko je ograniena elementima iz S i G. c Postoji postupak eliminacije kandidata kojim se za svaku (pozitivnu i negativnu simetrino) instancu tj. uneti podatak prepravljaju skupovi G i S c (umesto celog prostora V ) td. je pokrivena nova injenica. Algoritam dovodi c do S = G tj. ostaje samo jedna instanca u V . Prethodna teorema (kao i sam postupak i njegove osobine) garantuje reenje i to u konanom broju koraka. s c Zavisno od prirode problema neki put je mogue uticati na izbor naredne c instance i traiti informacije o njenoj klasikaciji - mogue je vriti eksperz c s imente. Ovo nudi mogunost dodatnog poboljavanja postupka. Osnovni c s tip poboljanja je npr. izbor instance koja e prepoloviti prostor verzija, ali s c esto samo traenje takve instance moe da bude zahtevno samo po sebi. c z z Ako se denie proizvod prostora verzija, a time i faktorizacija, mogue je s c

Osnove vetake inteligencije I s c

43

dobiti bolje rezultate i varijante algoritma. Pored formacije koncepta nezavisne od domena postoje i sistemi kao to su to npr. Meta-DENDRAL ili ID3 s koji su ,,model-driven tj. koji su manje ili vie zavisni od domena jer prets postavljaju da su svi podaci na raspologanju na samom poetku, dok su ostali c inkrementalni (data-driven). Vie o ovome i o nemonotonom zakljuivanju s c se moe nai u [GN]. z c

5.4

Zakljuivanje sa nesigurnim uverenjima c

Potrebno je povezati pojam iskaza sa pojmom sluajne promenljive tako c to e svaki iskaz imati distribuciju sluajne promenljive sa dve vrednosti s c c {1-p,p}. Tako atom P (dogad aj) je istinit sa verovatnoom p, a P sa c verovatnoom 1 p. Sa dva konstantna atoma moemo formirati raspodelu c z viedimenzionalne sluajne promenljive (za sloene dogad {P, Q}, {P, Q}, s c z aje {P, Q}, {P, Q}) i njihove verovatnoe: c p(P Q) = p1 p(P Q) = p2 p(P Q) = p3 p(P Q) = p4 tada su verovatnoe dogad c aja odnosno konstantnih atoma P i Q verovatnoe c marginalnih raspodela takve viedimenzionalne sluajne promenljive za {P, Q}: s c p(P ) = p1 + p2 = p(Q) = p1 + p3 =
i

p(P |Q = Qi ) i p(Q|P = Pi )

Najee nisu date sloene verovatnoe i bez njihove distribucije je teko o c sc z c s njima znati dovoljno na osnovu distribucije marginalnih promenljivih. Tako se Bajesovo pravilo moe upotrebiti slino modus ponensu: ako je p(Q|P ) z c uslovna verovatnoa dogad c aja Q ako je P ispunjeno. To je deo sluajeva c p1 za koje je P ispunjeno kada je i Q ispunjeno: p(Q|P ) = p1 +p2 = p(P,Q) , p(P ) p(P, Q) = p(P Q). Obrnuto, p(P |Q) = p(P, Q)/p(Q) i odatle sledi: p(Q|P ) = p(P |Q)p(Q) p(P )

44

Seminarski rad

Dakle, Bajesovo pravilo nudi mogunost da se zakljui neto i o uzroku na c c s osnovu posledice. p(P |Q)p(Q) p(Q|P ) = p(P ) p(Q|P ) p(P |Q)p(Q) = p(Q|P ) p(P |Q)p(Q) O(E) =def p(E) p(E) = p(E) 1 p(E)
p(P |Q) p(P |Q)

(,,izgledi za E) pa ako je (faktor dovoljnosti) =def nosti) =def


p(P |Q) p(P |Q)

i (faktor potreb-

onda je:

O(Q|P ) = O(Q), O(Q|P ) = O(Q) Postoji povezanost vrednosti i : = 1 p(P |Q) 1 p(P |Q)

ali su obe neophodne da bi se nala uslovna verovatnoa za Q ako je P ili s c P posebno. Poto je je 0 < p(P |Q) < 1, ako je < 1 onda je > 1 s i obratno, kao i = 1 akko = 1. O tome treba voditi rauna prilikom c grad enja baze znanja. Cesto se koriste logaritmi ovih koecijenata l = log koji se nazivaju indeksi dovoljnosti (to je vei to je i p(Q|P ) vee) i l = log s c c indeks potrebnosti (to je manji to je i p(Q|P ) manje). Takod vai veza s e, z izmed p(Q) i O(Q): u p(Q) = O(Q)/(O(Q) + 1) Na osnovu ovoga svega, ako je poznato p(Q) i ako se pretpostavi P ili P onda se moe izraunati uslovna verovatnoa za Q. Ekspertni sistemi (rulez c c based) koriste bazu znanja u kojima se nalaze i pravila oblika P Q da Q moe slediti iz P . U PR1 to znai da se moe zakljuiti Q uz to pravilo z c z c ako je P istinito, ali u verovatnosnom zaljuivanju to nije tako, ili bar nije c jednostavno doi do verovatnoe p(Q) uz p(P Q) pored p(P ), ali ako c c c uz pravilo se vee i njegovo i onda je to mogue. A ako se sa P izrazi z nesigurnost u pretpostavku P (tj. P ) i sa p(P |P ) verovatnoa da je P onda c

Osnove vetake inteligencije I s c

45

se moe pretpostaviti da je p(Q|P, P ) = p(Q|P ) i p(Q|P, P ) = p(Q|P ) z (P i P su zavisne u tom smislu) i vai: z p(Q|P ) = p(Q, P |P )+p(Q, P |P ) = p(Q|P, P )p(P |P )+p(Q|P, P )p(P |P ) gde je onda p(Q|P ) linearna interpolacija verovatnoe izmed kranjih vredc u nosti da je P tano ili nije znajui verovatnou da je P . Zanimljivo, ako c c c je p(P |P ) = p(P ) onda je p(Q|P ) = p(Q) - gubi se informacija o uticaju P na Q. Slino prethodnom, ako su {P1 , ..., Pn } hipoteze koje su uslovno c nezavisne (jaka pretpostavka, moe se samo opravdati samo do izvesne mere, z aproksimativno), onda se verovatnoa zakljuka Q moe izraunati, kao i c c z c da se uslove verovatnoe za Pi nekakvim uverenjima Pi . Tada uz pomenutu c pretpostavku i pretpostavku da su obzervacije Pi nezavisne od Pj osim odgovarajue ,,svojePi , i da Q ne zavisi dodatno od Pi , vai: c z p(Q|P2 , P1 ) = p(Q|P2 , P1 )p(P2 |P2 ) + p(Q|P2 , P1 )p(P2 |P2 ) gde je O(Q|P2 , P1 ) = 2 O(Q|P1 ) i O(Q|P2 , P1 ) = 2 O(Q|P1 ). Tu se nasluuje iterativni postupak u kome se koristi prethodno izraunato O(Q|P1 ) c c gde se za svako Pi vezuje odgovarajui par i i i . c Tako se mogu graditi mree zakljuivanja (inference networks) - npr. ako z c su P1 , P2 , P3 , P4 uslovno nezavisne, A zavisi od P1 , P2 i B zavisi od P3 , P4 onda su i A i B uslovno nezavisne i zakljuak Qf koji sledi iz A, B zavisi od njih. c Mnogi ekspertni sistemi ih koriste. Zakljuivanje unapred (forwad-chaining) c propagiranjem pravila nad injenicama sve do zakljuka nalazi verovatnou c c c zakljuka u mrei. Zakljuivanje unazad (backward-chaining - slian mehac z c c nizam, ,,forward-propagation i ,,back-propagation, postoji kod nekih klasa neuronskih mrea kao to je perceptron, gde se takorei menjaju koecijenti z s c pravila na osnovu poetnih pretpostavki, izraunatog i zadatog zakljuka) c c c npr. analizira drvo mree zakljuivanja traei poetnu pretpostavku koja z c z c c najvie utie na zakljuak - onda se interaktivno unosi verovatnoa takvih s c c c pretpostavki ako je potrebno dok se ne potvrdi uticaj na zakljuak. Probc lem je ako neki od med uzakljuaka zavisi od nekih drugih med c uzakljuaka c iako se pretpostavlja da su nezavisni iz bilo kog razloga. To se reava obino s c dodatnim ad hoc mehanizmima i podeavanjima. Ako imamo pravilo obs lika P1 ... Pn Q onda treba najpre izaraunati zavisnu verovatnou za c c P = P1 ... Pn , iskaz koji nije atom - npr. neki ekspertni sistemi koriste p(P ) = mini [p(Pi )] ili p(P1 ... Pn ) = maxi [p(Pi )] iako bi uz pretpostavku

46

Seminarski rad

da su Pi nezavisne verovatnoa konjunkcije bila manja od navedenog minuc muma, ali u kranjem sluaju gde sve verovatnoe imaju vrednosti 0 ili 1 i c c jedno i drugo se svodi na Bulovu algebru (koja se poklapa sa fuzzy teorijom skupova u ovakvom specijalnom sluaju - Zadeh, 1965-1975 - svakom elec mentu i podskupu dodeljena je funkcija koja meri pripadnost skupu, to bi s moglo da se tumai kao verovatnoa, ali to onda nije fuzzy teorija u optem c c s sluaju). c

5.5

Jedno formalno zasnivanje verovatnosne logike

Formalno zasnivanje verovatnosne logike se vezuje za formalno zasnivanje sluajnih promenljivih i verovatnoe. Ako je reenica u svetu W1 istinita, c c c a u svetu W2 nije, poto ne znamo u kojem od ta dva sveta zaista jeste s (,,u stvarnom svetu moe biti samo u jednom od ta dva) to se izraava z z verovatnoom p da pripada W1 , odnosno 1 p da pripada W2 . Ako imamo c vie rei onda ima i vie kombinacija svetova u kojima su tane, ali npr. s c s c za 1 2 ne uzimaju se u obzir svetovi gde je 1 tano kao i 1 2 , a c 2 nije. Za skup reenica je mogue napraviti semantiko drvo i tako c c c odrediti mogue svetove - svaka reenica moe biti tana ili ne (pozitivni ili c c z c negativni literal je taan), na svakom nivou po jedna iz , i od korena (prve c reenice) do lista (zadnje reenice) postoje putevi koji daju konzistentne c c skupove (kombinacije), ostali se odbacuju (moe se prikazati tabelarno - ima z 2broj slova || ih praktino 2 c a ne 2 , gde su slova iskazne promenljive, odnosno osobine za koje se vezuju elementarni dogad aji). Verovatnoa reenica je c c onda zbir verovatnoa svetova u kojima je tana. Neka ima K nepraznih c c skupova u K = {Wi } moguih svetova za L reenica iz , i ako su nabrojani, c c neka je onda P kolona dimenzije K veorvatnoa [pi ]T vezanih za odred c eni skup svetova Wi . Neka su reenice j u nabrojane, L-dimenzioni vektori c V1 , ..., VK odgovaraju konzistentnim valuacijama reenica u td. i-tom c T skupu svetova Wi odgovara Vi = [vji ] gde je: vji = 1, j tana u Wi c 0, j netana u Wi c

Neka je onda L K matrica V = [V1 , ..., VK ]. Ako je L-dimenziona kolona = [j ]T verovatnoa reenica j iz onda je: c c = VP

Osnove vetake inteligencije I s c

47

uz uslov i pi = 1 za 0 pi 1 (*). Ako je skup uverenja (belief) - reenica sa njihovim poznatim i verovatnoama, verovatnosna derivacija c c (probabilistic entailment) reenice iz se moe svesti na problem reavanja c z s sistema linearnih nejednaina gde je = {} i V je dobijeno npr. sec mantikim drvetom - ova metoda se moe proiriti Skolemizacijom i na PR1. c z s se moe proiriti sa i V sa jednim redom (npr. prvi red) za tu formulu z s da bi se dodao i uslov (*). Ako se doda kao poslednji red = [vi ] u V tada je: 1 1 1 1 . v11 v12 v1K . . . .. = j = . P . . . . vL1 vL2 vLK . v1 v2 vK Ako se sa V oznai V bez poslednjeg reda (za ) i sa kolona bez zadnjeg c lana u , tada se najpre reavanjem po P sistema = V P dobija c s = p() = P. Sistem najee ima mnogo reenja i zato je interesantno c sc s nai interval u kome se kree reenje. c c s Primer: = {(y)P (y), (x)P (x) Q(x)}, = (z)Q(z) (npr. prvi nivo semantikog drveta ima dve grane: P (A) i P (y), sledei je naredna c c formula u i njena negacija, i trei je i njena negacija - za svaki list onda c imamo kolona nula i jedinica za formule i negacije po nivoima). Tada se moe pokazati da je: z p((y)P (y)) + p((x)P (x) Q(x)) 1 p((z)Q(z)) 1 Ovo se moe dobiti tako to se 2. i 3. jednaina za V saberu i od toga z s c se oduzme prva odakle se dobije da je p1 = 1 + 2 1 i na osnovu toga p3 = 1 + 2 1 + p2 + p4 (3 jednaine, poto je zadnja ona kojom se rauna c s c verovatnoa , i 4 nepoznatih pi ). Ovaj diedar kada se presee jedininom c c c kockom [0, 1]L u prostoru vektora kao slika vektora P [0, 1]K je konveksna oblast (kao slika konveksne oblasti linearnim preslikavanjem V) i predstavlja oblast gde su verovatnoe j konzistentne i u optem sluaju je poliedar c s c omed hiperravnima u L-dimenzionom prostoru (i ima K temena). Ovo se en moe i geometrijski shvatiti i pokazati: jedinine vektore V (kao operator) z c slika u temena te oblasti koja su zapravo kolone matrice V. Dakle, treba u sistemu ovakvog verovatnosnog zakljuivanja voditi o tome rauna (npr. ako c c

48

Seminarski rad

neka verovatnoa nije u toj oblasti onda se menjanjem ostalih parametara c dovede u tu oblast). Kanonizacijom V i drugim standardnim postupcima se moe optimizovati reavanje ovakvih sistema. Ovo, naravno, ima smisla z s samo ako je matrica V dovoljno mala (pa se mogu primeniti metode linearnog programiranja), to u praksi nije est sluaj i zato se koriste aproksimativne s c c metode. Cesto se koriste intervali verovatnoa, kako je pomenuto, u smislu c gornjih i donjih granica verovatnoa umesto jedinstvenih vrednosti. c

5.6

Znanja i uverenja

Ve je pomenuta razlika izmed znanja u smislu baze znanja u vezi PR1 i c u uverenja u smislu verovatnosnog zakljuivanja (derivacije). Npr. inteligentni c agent sa svojom konceptualizacijom tako raspolae uverenjima pre nego znanz jem, jer uvek mora da zadri mogunost da neka informacija ili zakljuak nisu z c c tani. S avie, nije dovoljno pretpostaviti da agent veruje logikom zatvorenju c s c svoje baze znanja ve se najee koristi i prikladnije je da agent veruje onim c c sc reenicama koje moe da zakljui u zadatom vremenskom roku uz zadatu c z c proceduru zakljuivanja. c 5.6.1 Iskazna logika uverenja (Sentential Logic of Belief) Konstruie se proirenje PR1 na sledei nain - ispravne rei su: s s c c c 1. PR1 ispravne rei c 2. Atomi uverenja: ako je obina PR1 zatvorena formula i je konc stantni term, onda je B(, ) ispravna re (B ()) c 3. Ako su i ispravne rei onda su iskazne formule nad njima takod c e ispravne rei c Agent a je odred svojim skupom pravila zakljuivanja a i skupom uven c erenja a . Tada je teorija Ta zatvorenje a svojim pravilima zakljuivanja c (P Ta akko a a P ). Zakljuivanje a,b sa ugnjedenim verovanjem se c z zasniva na modelu u b zakljuivanja u a. Skolemova konstanta se alocira i c obeleava simbolom Sk. Problem nastaje kada ta Skolemova konstanta ide z i unutar modalnog kvantikatora - agent (,,vernik) na osnovu svojih uverenja i zakljuivanja u svom modelu moe izabrati odgovarajuu konstantu c z c

Osnove vetake inteligencije I s c

49

koja uopte nemora biti ista. Zbog toga se uvodi pomoni operator koji se s c obeleava sa (,,metak) i pie se ispred (zavisne) Skolemove konstante pod z s kvantikatorom - npr. Q(x) B(A, P (x)) postaje Q(Sk) B(A, P (Sk)). Obini kvantikatori mogu da etaju unutar i izvan modalnog kvantikatora c s B. Slino, supstitucija podizraza logiki ekvivalentnom podizrazom u forc c muli ispod modalnog kvantikatora nije dozvoljena kao to je to mogue kod s c iskaznih operatora. Moe se uvesti dodatno skup javnih konstanti C koje z specijalno imaju istu vrednost med svim agentima po deniciji. u Koristi se pravilo zakljuivanja prikljuenja eme (,,schema attachment, c c s slino rezoluciji - koriste se klauzule, ali ne transformiu se formule ispod c s modalnih kvantikatora): Iz: B(, 1 ) n B(, 2 ) 2 . . . B(, n ) n B(, n+1 ) n+1 1 n n+1 Sledi: 1 n+1 Jedna denicija modalnog kvantikatora znanja K glasi K () B () (nemoe neko znati neto to nije tano). Da bi se formalnije denisala sez s s c mantika modalnih kvantikatora potrebno je uvesti pojam logike moguih c svetova. Svetovi w0 , w1 , ..., wi mogu biti apstraktne alternative kao konceptulazacije znanja (u smislu ranije pomenutih konceptuazicija koje mogu biti brojevi ili neki drugi objekti, manje bitno), ... i relacija dostupnosti (accessibility) sveta wj iz sveta wi za agenta : k(, wi , wj ), gde interpretacija za datu konceptualizaciju moe imati slike u bilo kojem od svetova. U jednom z svetu neki agent moe znati neku injenicu, a u drugom ne. Semantikom z c moguih svetova se objanjavaju konstrukcije iskazne logike verovanja. Kae c s z se da atom znanja K(, ) ima istinitu vrednost za svet wi akko je istinita

50

Seminarski rad

za svaki svet dostupan iz wi , a time se namerava znaenje da agent zna c formulu . To se moe dalje rekurzivno primenjivati. Seme aksioma i pravila z zakljuivanja za rad sa K (formalna sintaksna denicija): c (A1) K () K ( )) K () ili ekvivalentno: K ( ) K () K () (aksioma distribucije) (A2) K () (aksioma znanja, dostupnost je reeksivna) (A3) K () K (K ()) (pozitivna introspekcija - dostupnost je tranzitivna relacija) (A4) K () K (K ()) (negativna introspekcija, dostupnost je euklidska tj. k(, w1 , w2 ) k(, w1 , w3 ) k(, w2 , w3 )) pravilo (P1) (epistemina obaveznost, ,,epistemic necessity): c ako onda je K () pravilo (P2): ako i K () onda je K () pravilo ekvivalentno prethodnom (P2): ako onda je K () K () Iz (P2) npr. se moe zakljuiti distributivnost (K) nad konjunkcijom. Priz c padnost aksioma jw med usobno uslovljene osobinama dostupnosti (RST). Dodatne osobine verovanja: (A5) B (F ) (A6) B () B (B ()) (A7) B () K (B ()) (A8) B (B ()) B () (A9) B1 (B2 ()) B1 ()

Osnove vetake inteligencije I s c

51

Koriste se grupe agenata i dodatni modalni operatori (pomoni): za konanu c c grupu G IK(G, ) znai da grupa G ima implicitno znanje o akko postoji c skup {i } td. {i } i za svako i postoji agent Ak G td. K(Ak , i ). Dalje, neki agent iz G zna : SK(G, )
Ai G

K(Ai , )

Svaki agent zna: EK(G, )


Ai G

K(Ai , )

EK Opte znanje u grupi: s

k+1

(G, ) EK(EKk (G, ))

CK(G, ) EK(G, ) EK2 (G, ) Iako je beskonana konjunkcija, CK se moe koristiti slino kao i K u c z c aksiomama, kao i pravilo zakljuivanja: ako c onda CK() (G se podrazumeva).

5.7

Meta-znanje i meta-zakljuivanje c

Potrebno je neki put znati kako se dolo reenja i obrazloiti to na prihs s z vatljiv nain a ne samo nai reenje. Prethodno poglavlje i opisana modalna c c s logika se ovde tretiraju kao polazni domen nad kojim se gradi formalna konceptualizacija i PR1 renik kojim se opisuje formalno zakljuivanje nad c c ovakvim domenom. Kao posledica toga mogu se konstruisati agenti koji su u stanju da zakljuuju o verovanjima i zakljuivanju drugih agenata (ili se c c moe dodatno optimizovati njihov proces zakljuivanja). Introspekcija je osz c obina agenta da samog sebe objanjava tj. svoje zakljuke i verovanja. s c Meta-jezik kojim e ovaj koncept biti opisan je PR1 (formalnim jezikom c se opisuje slian formalni jezik). Koriste se znaci navoda da bi se time c naznailo da je re o simbolu kao meta-objektu - npr. Kratko(Osoba) moe c c z znaiti da je simbol Osoba kratak (do 5 karaktera) a Visoka(Osoba) moe c z biti reenica jezika kojom se utvrd c uje (c)injenica o osobi a Visoka(Osoba)je izraz kojim je to zapisano (mada se izraz ne tretira kao niska karaktera ve c ima PR1 strukturu). Koristi se klauzalna forma (kao liste literala ...), a

52

Seminarski rad

kao mehanizam zakljuivanja rezolucija (formalno se zapisuju meta-jezikom c reenice kojima se deniu predikati (pretpostavljaju se predikati Objconst, c s Variable, Funconst, Relconst, ,,. je operator konkatenacije elementa i liste) Costant, Term, Termlist (uz implicitnu deniciju lana liste Member), c Funexpr, Atom, Literal, Clause, Database, npr.: x Constant(x) Objconst(x) Funconst(x) Relconst(x). x Term(x) Objconst(x) Variable(x) Funexpr(x) l Termlist(l) (x Member(x,l) Term(x)) f l Funexpr(f.l) (Funconst(f) Termlist(l)) f l Atom(r.l) (Relconst(x) Termlist(l)) x Literal(x) (Atom(x) (z x="<z>" Atom(z))) c Clause(c) (x Member(x,c) Literal(x)) (d Database(d) (x Member(x,d) Clause(x)) Za potrebe unikacije i rezolucije deniu se Subst, Extend, Combine, Mgu s (Nou, ,,Most General Unier), Resolvent, Among, Append, Delete), npr.: x Subst(x,[ ])=x xs Constant(x) Subst(x,s)=x xzs Variable(x) Subst(x,(x/z).s)=z xyzs Variable(x) y = z Subst(x,(y/z).s)=Subst(x,s) xls Subst(x.l,s)=Subst(x,s).Subst(l,s) xz Extend([ ],x,z)=[x/z] uvxzs Extend((u/v).s,x,z)=(u/Subst(v,[x/z])).Extend(s,x,z) s Combine(s,[ ])=s stxz Combine(s,(x/z).t)=Combine(Extend(s,x,z),t) x Mgu(x,x,[ ]) xy Variable(x) Among(x,y) Mgu(x,y,[x/y]) xy Variable(x) Variable(y) Among(y,x) Mgu(x,y,[y/x]) xylmst Mgu(x,y,s) Mgu(Subst(l,s),Subst(m,s),t) Mgu(x.l,y.m,Combine(s,t)) xys Mgu(x,y,s) Resolvent(x.l,"<y>".m,Subst(Append(l,m),s)) cdxys (Member(x,c) Member("<y>",d) Mgu(x,y,s))

Osnove vetake inteligencije I s c Resolvent(c,d,Subst(Append(Delete(x,c),Delete("<y>",d)),s))

53

Procedura zakljuivanja opisuje se Markovljevom funkcijom koja slika bazu c u bazu naslednika (Concs(c,d) daje sve rezolvente klauzule i baze, i ako se koriste samo Hornove klauzule i upiti samo kao konjunkcije pozitivnih literala onda vai Next(d)=Append(Concs(Car(d),d),Cdr(d))): z d Step(d,1)=d dn n>1Step(d,n)=Next(Step(d,n-1)) Denie se dalje Derivable(d,r) (da li r proizilazi iz d po rezoluciji), Provable s je onda dokaz odbacivanjem (refutation) tako da se zakljui [ ] (prazna c klauzula). Konano, ako Data mapira agenta u listu reenica (njegovu bazu), c c predikat Bel ima znaenje modalnog kvanitikatora verovanja: c dr Derivable(d,r) Member(r,d) (pq Derivable(d,p) Derivable(d,q) Resolvent(p,q,r)) dp Derivable(d,p) (n Member(p,Step(d,n))) dp Provable(d,p) Derivable(Append(Clauses("<p>"),d),[ ]) ap Bel(a,p) Provable(Data(a),p) Osnovna prednost ovakvog pristupa formalnog denisanja metaznanja je mogunost odgovora na pitanja o procesu zakljuivanja - meta-zakljuivanje. c c c Neophodno je u ranije opisani mehanizam dodati nekoliko izmena da bi radio na takav nain - predikati koji potrd c uju promenljive i konstante deniu se s programskim prikljuenjem (npr. Variable("v") vraa da v jeste promenljiva c c ako jeste i brie klauzulu iz baze jer ne moe da uestvuje u rezoluciji dalje, s z c inae je netaan literal i brie se iz klauzule). Takod modikuje se algoritam c c s e, unikacije da bi se upored ivali i izrazi pod navodnicima i poto je ravnopras van zapis u obliku liste sa izrazom pod navodnicima - npr. za "P(A,B)" i ["P",x,"B"] dobija se lista vezivanja [x/"A"]. Osnovno (baselevel) i meta (metalevel) zakljuivanje su mononivoovska (moc nolevel) jer koriste iskljuivo reenice jednog tipa. Dvonivoosko zakljuivanje c c c (bilevel) sadri reenice oba tipa. Reenice nemogu da budu i jednog i drugog z c c

54

Seminarski rad

tipa niti meta-meta tipa. Ako se pretpostavi da baza moe da se razdvoji z na data(,1) osnovni i data(,2) meta nivo, i ako se dva nivoa posebno obrad uju onda je next()=append(next(data(),2)),next(data(,1))). Med utim, u realnosti je potrebna veza izmed dva nivoa jer meta-nivo utie u c na osnovni. Ako Markovljeva funkcija next vraa bazu prema pravilima c u data(,2) ako ih ima i nikada ne vraa bazu koja nije po pravilima u c data(,2) onda je introspektivno verna u bazi . Ne postoje procedure zakljuivanja koje su introspektivno verne nad svim bazama (teorema c dokaz sledi iz primera koji sadri kontradikciju u metabazi). Metabaza je inz trospektivno kompletna ako propisuje svaki korak zakljuivanja osnovne baze c (svako pravilo zakljuivanja nad osnovnom bazom potie od metabaze). Ako c c se pri svakom koraku rezolucijom iz metabaze dobija pravilo u kojem se zakljui nad osnovnom bazom i dobijeni zakljuak osnovnog tipa pridrui bazi, c c z ovakvo zakljuivanje dvonivoovska baze se zove kompulsivna introspekcija. c Pokazuje se da je kompulsivna introspekcija introspektivno verna za svaku konzistentnu i introspektivno kompletnu bazu. Proces u kome se prekida trenutni nain zakljiivanja, u kome se zakljuuje c c c o zakljuivanju i utie (menja mehanizam) na zakljuivanje zove se reekc c c sija. Proces zakljuivanja na jednom ili vie nivoa vienivoovkse baze (uzc s s ima se najnii nivo k u obzir) moe da promeni bazu (data(next(),k) = z z data(,k)). Proces zakljuivanja je reeksivan akko obuhvata vie nivoa. c s Interesantno je kada postoji veza izmed razlitih nivoa. Npr. Unverzalno u c pravljenje podciljeva (universal subgoaling) se denie tako da ako u ranis joj deniciji next funkcije imamo 5 ili manje zakljuaka ostaje kako jeste, c inae se primenjuje reeksija (preveliki broj ili nedostatak zakljuaka okidaju c c reeksiju u kojoj se npr. postavlja negacija cilja i dodaje prikladan skup reenica ) next()=reflect()=[Next("") = d, Ans(d)]. - ovaj c skup npr. denie i primeni Add i Order kojim se ,,prerasporede klauzule s po broju zakljuaka td. manja ide ispred. Postoji ekasnija varijanta je da se c doda metabazi i da se koriste duine klauzula (broj literala) umesto broja z zakljuaka. c Kompulsivna reeksija - za svaki korak se konsultuje metabaza i pri tome se, za razliku od kompulsivne introspekcije, zakljuuje i o metabazi: c newmeta()=[Next("") = d, Ans(d)]

Osnove vetake inteligencije I s c

55

Ans("") / next()=append(concs(car(data(,2)),data(,2)),data(,1)) Ans("") next()=append(data(,2)-answers(data(,2)), newmeta(), )

Trai se zakljuak o next funkciji i kada se nad odgovor na osnovu pravila z c e metabaze, baza se isti od Ans literala i dodaje se odgovor osnovnoj bazi i c time je spremna za sledei korak. c

56

Seminarski rad

6
6.1

Stanje i akcije
Stanja

Pojam stanja je osnovni pojam u konceptualizaciji zikog sveta. Stanje, c ili situacija, je snimak sveta u datom trenutku. U razliitim trenucima svet c moe biti u razliitim stanjima. Ova ideja je lepe ilustrovana u kontekstu z c s mikrokosmosa kakav je poznati primer Sveta blokova. Posmatrajmo varijaciju ovog sveta u kojem postoje samo tri kutije. Svaka kutija moe biti z negde: na tabli ili na vrhu, iznad samo jedne kutije. Razliita stanja odnose c se na razliite konguracije kutija(blokova). Ilustrujmo primer: c
b a c a b c

Oznaimo sa S1 i S2 objekte prostora pretrage. Oznaka stanja (state designac tor) e oznaavati stanja tih objekata. Da bismo oznaili da je objekat stanje c c c koristimo konstantu unarne relacije (unary relation constant) State(S1). Najjednostavniji nain da se opie stanje je da se koriste jednostavnije funkcije c s ili relacije za svaku vrstu informacija vezane za stanje. Primer: On(B,A,S1) Clear(C,S1) Clear(B,S1) Table(A,S1) itd. Postoji alternativa ovom pristupu u kojem predstavljamo svojstva koja zavise od stanja kao funkcije koje ne zavise od stanja. Te funkcije preslikavaju objekte u skupove stanja u kojima ti objekti imaju asocirana obeleja zavz isnih stanja. Na primer, koristimo On(A,B) kao konstantu binarne funkcije (binary function constant) koja oznaava skup stanja u kojima je blok A c na bloku B. Ovaj term, On(A,B), nazivamo deskriptor stanja (state descriptor), a skup stanja koje odred uje nazivamo uentom. Da bismo sada zapisali

Osnove vetake inteligencije I s c

57

reenice koje zavise od stanja koristimo konstantu binarne relacije T (binary c relation constant), T(On(C,A),S1) koja se interpretira kao ,,Tano je da je C na A u stanju S1. c Poto deskriptori stanja oznaavaju skupove stanja, moemo govoriti o s c z kompoziciji deskriptora stanja koji predstavljaju komplement, uniju i presek tih skupova. Moemo pisati takve kompozicije sa obinim skupovnim z c operatorima, ali obino koristimo simbole identine logikim operatorima da c c c naglasimo da deskriptori predstavljaju osobine stanja. Koristimo operator negacije za komplement, konjukciju i disjunkciju za i i implikaciju da bismo izrazili da je uzrok podskup posledice. Primer: p p p p s q q q T(p,s) T(p,s) s T(pq,s) (T(p,s) T(q,s)) s T(pq,s) (T(p,s) T(q,s) s T(pq,s) (T(p,s) T(q,s))

Neke injenice su tane u svim stanjima iako sadre funkcije ili relacije zavisc c z nih stanja. Takve injenice nazivamo ogranienja stanja (state constraints). c c Evo samo jednog primera: x s T(Table(x),s) y T(On(x,y),s)

tj. Objekat je na tabli akko nije na nekom drugom objektu.

6.2

Akcije

Svet egzistira u jednom stanju dok akcija menja to stanje u novo stanje. U naem prostoru pretrage akcije konceptualizujemo kao i stanja kao objekte. s Na primer, akcija M(a,b,c) pomera blok a od bloka b do bloka c i sl. Operator je funkcija izmed objekata i akcija koja preslikava grupu obu jekata u zajedniki nain manipulisanja tim objektima. Npr., operator presc c likava 3 objekta (blokove, kutije, A, B i C) koja su ukljuena u akciju move c (M). Slino, akcija unstack(U) skida blok sa vrha i smeta ga na tablu, a c s akcija stack (S) stavlja jedan blok na drugi.

58

Seminarski rad

c a b S(C,A) c U(C,A) a b

S(C,A) - stavlja blok C na blok A, U(C,A) - skida blok C sa bloka A i smeta s ga na tablu. Akcije u dometu operatora se esto nazivaju instancama tog c operatora. Uopte, da bismo opisali operatore i akcije prvo im dajemo imena kao to s s smo ve i uinili. Ovakvom notacijom imenujemo svaku akciju, a te terme c c (npr. M(C,A,B) ) nazivamo oznake akcija (action designator). Cinjenicu da je neki operator akcija moemo izraziti koristei unarnu relaciju Action(M(C,A,B)) z c ije su vrednosti T (true) ili F (false) u zavisnosti od toga da li je term koji c je argument relacije akcija ili ne. Efekte akcija moemo koncipirati u obliku funkcije: z do: A S S

koja preslikava par (akcija, stanje) u novo stanje. Na primer: do(M(C,A,B),S15) - gde je rezultat stanje nakon delovanja akcije M u stanju S15. Operator U moemo opisati na sl. nain z c T(On(x,y),s) T(Clear(x),s) T(Table(x),Do(U(x,y),s) T(Clear(y),Do(U(x,y),s)

6.3

Problem okvira

Opisi operatora nisu kompletni. Oni opisuju injenice koje postaju istic nite (tane) kao rezultat izvravanja instanci svakog operatora i indirektno c s opisuju injenice koje postaju netane. Ponekad, oni ne oznaavaju nita c c c s

Osnove vetake inteligencije I s c

59

vezano za injenice koje su pre toga bile istinite i ostaju istinite posle toga, c ili oznaavaju neto vezano za injenice koje su bile netane pre i koje ostaju c s c c netane posle. c U naem primeru, razmotrimo sl.: blok b je u nekom stanju na tabli i on je s na tabli posle premetanja bloka c sa bloka a na blok b. s c a c b

Problem koji se karakterie aspektima stanja koja se ne menjaju akcijama s naziva se problem okvira. Naziv potie iz analogije sa svetom animacija. c Animatori esto prvo nacrtaju okvir, pozadinu. Zatim to ostave i u naredc nim sliicama, a u prvom planu postavljaju akcije. Problem okvira razlikuje c pozadinu, nemenjanu akcijama, od prvog plana u kojem akcije dovode do izmena. Jedan od naina da se to uradi je da se piu aksiome okvira (frame c s axioms) koje ukazuju na osobine koje ostaju nepromenjene delovanjem akcija. Npr., razmotrimo sl. aksiomu okvira za U operator: T(Clear(u),s) T(Clear(u), Do(U(x,y), s)) - aksioma izraava da je blok clear posle akcije U, ako je clear pre te akz cije, i sl. Izostavljamo navod enje ostalih aksioma okvira za U operator, kao i za opertore S, M i Noop. Napomenimo samo da je broj aksioma okvira proporcionalan proizvodu broja relacija i broja operacija. U svetu realne sloenosti z postoji veliki broj relacija i operacija pa je i broj aksioma okvira velik.

6.4

Redosled akcija

Sloene akcije dobijamo kao kompoziciju jednostavnih akcija uz pretz postavku da se one odvijaju u odred enom redosledu, bez preklapanja. Dakle, klju uspeha pri analizi sloenih akcija je redosled akcija. c z Blok akcija je konaan niz akcija. Poto ne postoji granica broja akcija c s u bloku, moemo formirati neogranieno mnogo takvih objekata iz svakog z c nepraznog skupa takvih akcija. Rezultat svake od akcija u nizu je stanje na koje deluje sledea akcija. Blok akcija oznaavamo na sledei nain (kao c c c c listu), npr.: [U(C,A),S(B,C),S(A,B)].

60

Seminarski rad

Kada govorimo o rezultatima izvravanja bloka akcije proirujemo Do funkciju. s s Rezultujue stanje posle izvravanja praznog bloka u stanju s je s. Rezultat c s izvrenja nepraznog bloka sa poetnom akcijom a i ostatka (repa) bloka l s c u stanju s je stanje dobijeno izvravanjem bloka l u stanju koje je rezultat s izvravanja a u s, tj. s Do([ ],s) = s Do(a.l,s) = Do(l,Do(a,s)) Primetimo da je predstavljanju ove kompozicije preslikavanja redosled akcija obrnut od redosleda elemenata u listi, tj. Do([a,b],s) = Do(b,Do(a,s)). Isto tako, opisujemo i efekte bloka akcija u znaenjima osobina tih stanja. c Sledee reenice koriste relaciju T u izraavanju prethodnih denicija u ovom c c z alternativnom obliku. T(p,s) T(p,Do([ ],s)) T(p,Do(l,Do(a,s))) T(p,Do(a.l,s)) Ovde je vano da se naglasi da moemo redukovati pitanja vezana za efekte z z blokova akcija u pitanja vezana za efekte akcija sadranih u tim blokovima. z Razmotrimo problem opisivanja beskonanog niza akcija. Naravno, ne moe c z se koristiti beskonana lista,pa se kao reenje koriste razliiti koncepti rec s c dosleda akcija. Sekvencijalna procedura je funkcija pozitivnih celih brojeva koja se slika u beskonaan niz akcija f : N A. c Opisujui sekvencijalnu proceduru, mi implicitno karakteriemo niz akcija c s koji se na nju odnosi. Primer - reenice koje deniu sekvencijalnu proceduru c s koja diktira tri akcije nakon kojih sledi niz Noop akcija: F(1)=U(C,A) F(2)=S(B,C) F(3)=S(A,B) n 3 F(n)=Noop

6.5

Uslovljenost

Cesto elimo razgovarati o akcijama koje su izvrene samo pod odred z s enim uslovima. Diskutovaemo o tri pristupa formalizovanja uslovljavanja: uslovne c

Osnove vetake inteligencije I s c akcije, produkcioni sistemi i Markovljeve procedure.

61

Uslovna akcija se sastoji od uslova i dve akcije. Ako je uslov zadovoljen primenjuje se prva akcija, a ako nije druga akcija. Uslovne akcije oznaavamo uslovnim izrazima (upitima): If(,,), gde c je If ternarna funkcija konstante, deskriptor (opisiva) stanja, a i akc cije. Produkciona pravila su parovi koji se sastoje od uslova i akcije. Produkcioni sistem je konaan skup produkcionih pravila. c Izvravanje produkcionog sistema u poetnom stanju moe ukljuiti mnogo s c z c koraka. U svakom koraku, izvrena akcija je deo akcije prvog produkcionog s pravila u nizu uslova koji su zadovoljeni. Izvravanje se zavrava akko ne s s postoji produkciono pravilo iji je uslov zadovoljen. c Produkciona pravila su oblika , pri emu je deskriptor stanja, a c oznaka akcija. Da bismo formalizovali efekte izvravanja produkcionog s sistema deniemo relaciju ozanaenu sa Dictates, koja za dati produkcioni s c sistem, stanje i akciju vai akko produkcioni sistem diktira specinu akciju z c u datom stanju: T(p,s) Dictates((pa).l,s,a) T(p,s) Dictates(l,s,b) Dictates((pa).l,s,b)

Ako sistem ne diktira neku akciju za dato stanje, rezultat je njegovo postojee c stanje. Inae, rezultat izvravanja produkcionog sistema u datom stanju je c s stanje dobijeno izvravanjem diktirane akcije: s (a Dictates(p,s,a)) Do(p,s)=s Dictates(p,s,a) Do(p,s)=Do(p,Do(a,s)) Navedena denicija relacije Dictates zahteva da se uvek uzme prvo pravilo iz liste koje ispunjava uslove tako da je svaka dvosmislenost eliminisana. Neki produkcioni sistemi koriste razliite strategije za razreavanje koniktne rec s zolucije. Jedna lepa posledica ove politike razreavanja koniktne rezolucije s (postupanja u koniktnim situacijama) jeste da moemo koristiti redosled z

62 pravila.

Seminarski rad

Markovljeva procedura f je funkcija f : S A. Produkcioni sistem je samo specian deo Markovljeve procedure. Markovljev program opisuje Markovc ljevu proceduru formalnim programskim jezikom. Koristimo predikatski jezik kao opisni jezik pa se tako Markovljev program sasatoji od konstante funkcije (function constant) koja opisuje proceduru i skupa reenica predikatskog c jezika koje opisuju tu proceduru. Markovljev program je kompletan ako i samo ako opisuje samo jednu akciju u svakom stanju. Naravno, Markovljev program nije uvek kompletan. Cak i ako procedura opisana programom diktira jednu akciju za svako stanje, taj opis moe biti nekompletan. U nekim sluajevima moemo imati opis koji z c z ograniava skup akcija, u drugim sluajevima program moe specicirati akc c z cije za neka stanja dok za druga ne i takvi parcijalni programi su karakteristini za VI (vetaku inteligenciju). Primer pravila koje je ukljueno u c s c c Markovljevu proceduru za parcijalni program P1: T(Clear(C),s) T(On(C,z),s) P1(s)=U(C,z) koje odgovara zapisu pravila produkcionog sistema: Clear(C) On(C,z) U(C,z), itd. Markovljev program je lokalni ako i samo ako svaka reenica sadri najvie c z s jedan term oznake stanja, ili viestruka pojavljivanja tog terma, i ako postoji s oznaka stanja je promenljiva stanja kvantikovana univerzalnim kvantikatorom. Prisustvo deskriptora stanja nee naruiti ovu deniciju. Znaaj ove c s c osobine je u tome da je onda akcija odred ena iskljuivo osobinama stanja. c Kada je Markovljev program lokalni, jednostavno se konvertuje u produkcioni sistem: formira se lista reenica, iz svake reenice izostavljamo ime c c procedure (kao i T relacije) i sve promenljive stanja. Konano menjamo c u . Ipak ne moe svaki Markovljev program biti napisan na ovakav nain. z c Problem nastaje kada program sadri reenice koje ne zavravaju vrednosz c s tima koje su denisane za tu proceduru, kada zakljuak nije pozitivan i kada c se pojavljuju viestruki razliiti termi stanja. s c

Uz problemu okvira i ranije pominjan problem kvalikacije (Lifschitz, 1986) javlja se i alternativni metod nepoznavanja hronologije (chronological ignorance, Shoham, 1986).

Osnove vetake inteligencije I s c

63

Klasini modeli stanje-akcija, opisani u ovom poglavlju mogu biti generc alizovani u tri pravca. Prvo - potrebno je direktno shvatanje hronologije (obino formulacije stanja ne pominju hronologiju eksplicitno, mada je oic c gledna implicitna veza), drugo - pretpostavkom konceptualizacije koja ukljuuje hronologiju momo posmatrati kontinuitet akcija, i tree - od znaaja c z c c su i simultane akcije koje se javljaju pored akcija u reenicama. c Pored ovih smernica, u vetakoj inteligencijiji u oblasti problema shvatanja s c hronologije neka reenja ukljuuju argument vremena u same relacije, dok s c neka druga pribegavaju modalnoj temporalnoj logici.

64

Seminarski rad

Planiranje

Sposobnost planiranja unapred je kljuni aspekt inteligentnog ponaanja. c s Znanjem posledica preduzetih akcija i korienjem tog znanja mi stiemo sc z do cilja izbegavajui opasnosti i dobro ekonomiui resursima. U planiranju c s c zapoinjemo sa skupom eljenih osobina i pokuavamo smisliti plan kako do c z s cilja doi. U ovom poglavlju prvo emo razmotriti ulaz procesa planiranja, c c zatim njegov izlaz, a potom metode za planiranja bloka akcija i uslova planiranja.

7.1

Poetno stanje c

Poetno stanje u problemu planiranja je stanje u kojem izvrilac oekuje c s c poetak akcije. Oznaka poetnog stanja je nae ime za ovo stanje i mi ga c c s koristimo za pisanje reenica vezanih za poetno stanje. Npr.: c c T(Clear(C),S1) -u poetnom stanju S1 na bloku C nema nita , itd. dok se u potpunosti c s ne opie poetno stanje. s c

7.2

Ciljevi

Uopteno govorei, cilj moe biti svako dostignuto stanje. U nekim planis c z ranjima postoji samo jedno ciljno stanje. Ove mogunosti predstavljaju konc cepte ciljeva kao unarnu relaciju stanja. Kaemo da je stanje ciljno stanje z ako i samo ako zadovoljava tu relaciju. U opisivanju ciljeva koristimo konstantu relacije Goal koja oznaava cilj relacije. Npr.: c T(On(A,B),t) T(On(B,C),t) Goal(t)

7.3

Akcije

Skup oznaka akcija u planiranju problema ukljuuje term za svaku primc itivnu ili sloenu akciju koja konvertuje poetno stanje u ciljno. Iako posz c toji konano mnogo oznaka primitivnih akcija, moe postojati beskonano c z c

Osnove vetake inteligencije I s c

65

mnogo sloenih akcija u tom skupu. Kada je ovo sluaj, ne moemo uzeti z c z ovakav skup kao argument za nae planiranje , i zato, umesto toga specis ramo izraunljivu metanivoovsku relaciju koja je istinita za svaki term u c skupu i samo ti termi su u skupu. Razlog za ukljuivanje ove informacije kao c ulaza planiranja je ograniavanje planova koji ih proizvode kako bi mogli biti c upotrebljeni od strane izvrioca kojeg imamo na umu. Npr. neprikladno je s dopustiti deskriptoru stanja Color(A,Blue) da bude upotrebljen u uslovnim akcijama ako znamo da izvrilac ne moe odrediti boju blokova. s z Uzimajui u obzir elemente skupa oznaka akcija u planiranju problema, c imamo prikladne deskriptore akcija i aksiome kojima su zadati. One ukljuuju c opise operatora i aksiome okvira za primitivne akcije, obine denicije za c sloene akcije kao to su blokovi akcija i uslovne akcije, i ogranienja stanja z s c koja moraju biti istinita u svakom stanju, tj. veze koje se ne menjaju ni za jednu akciju. Primer aksioma: T(On(x,y),s) T(Clear(x),s) T(Table(x),Do(U(x,y),s))) T(Clear(y),Do(U(x,y),s))) T(Table(x),s) T(Clear(x),s) T(Clear(y),s) x =y T(On(x,y),Do(S(x,y),s)) Aksiome za blokove akcija: T(p,s) T(p,Do([ ],s)) T(p,Do(l,Do(a,s))) T(p,Do(a.l,s)) Aksiome ogranienja stanja: c T(Table(x),s) y T(On(x,y),s) T(Clear(y),s) x T(On(x,y),s) T(On(x,y),s) y=z T(On(x,z),s) Aksiome uslovnih akcija: T(p,s) T(q,Do(a,s)) T(q,Do(If(p,a,b),s)) T(p,s) T(q,Do(b,s)) T(q,Do(If(p,a,b),s))

66

Seminarski rad

Neke karakteristike stanja nisu obuhvaene ovim operatorima kao to su c s sledeim aksiomama okvira koje ukljuuju i Noop akciju. c c T(Table(u),s) T(Table(u),Do(U(x,y),s)) T(Clear(u),s) T(Clear(u),Do(U(x,y),s)) T(On(u,v),s) u =x T(On(u,v),Do(U(x,y),s)) T(Table(u),s) u =x T(Table(u),Do(S(x,y),s)) T(Clear(u),s) u =y T(Table(u),Do(S(x,y),s)) T(On(u,v),s) T(On(u,v),Do(S(x,y),s)) T(p,s) T(p,Do(Noop,s)) ... itd.

7.4

Planovi

Problem planiranja se sastoji od oznake poetnog stanja , oznake ciljne c relacije , skupa oznaka akcija , baze podataka koja ukljuuje reenice c c koje opisuju poetno stanje, ciljnu relaciju i upotrebljive akcije. c Oznaka akcije je plan za planiranje problema ove vrste ako i samo ako zadovoljava sledee uslove: c 1. Oznaka akcije mora biti elemenat skupa oznaka akcija, tj. . 2. Za mora biti dokazano postie zadovoljavajue stanje kada je z c izvrena u stanju : s |= ((Do(, ))) Npr., razmotrimo situaciju u kojoj je S1 oznaka poetnog stanja i Goal ime c ciljne relacije. Pretpostavimo da ukljuuje imena za sve obine primitivne c c akcije Sveta blokova i stoga sve konane reenice. Deskriptor poetnog stanja c c c tvrdi da je blok C na bloku A i blokovi A i B da su na tabli. Deskriptor cilja tvrdi da stanje zadovoljava ciljeve ako i samo ako je blok A na bloku B i blok B je na na bloku C. Term [U(C,A),S(B,C),S(A,B)] je plan za reavanje ovog problema. On s je, jasno, elemenat , a koristei informacije iz dokazujemo da ovaj plan c radi, tj. Goal(Do([U(C,A),S(B,C),S(A,B)],S1)).

Osnove vetake inteligencije I s c

67

7.5

Grinov metod

Grinov metod je procedura planiranja zasnovana na rezoluciji. Ovaj metod uzima kao argumente : term koji oznaava poetno stanje, konstantu c c unarne relacije koja oznaava ciljnu relaciju, predikat zadovoljen planovima c izvravanja i samo njima , i bazu podataka vezanu za poetno stanje, relaciju s c cilja i raspoloive operacije. z Osnova ovog metoda je popunjavanje praznine rezolucije dobijene kao sporedni efekat korektnog plana prilikom dokaza njegovog postojanja. Dati su term poetnog stanja i konstante ciljne relacije . Pokuavamo da doc s bijemo tvrd enje postojanja plana(plan-existence): (Do(,)) Koristimo predikate koji se izvravaju da bismo oznaili svaki odgovor dos c bijen ovim procesom. Ako pronad emo odgovor koji zadovoljava ovaj predikat dobijamo taj term kao odgovor na problem planiranja. Inae, nastavljamo c nabrajanjem reenja. s Kako je Grinov metod zasnovan na rezoluciji mogue je dokazati neke jae c c karakteristike vezane za njegove sposobnosti planiranja. Metod je siguran u smislu da produkuje samo korektne planove. On je i kompletan i to garantuje produkovanje korektnih planova kad god oni postoje. Ne postoje ogranienja c vezana za tip ukljuenih planova. c Na alost, Grinov metod, kao i sve procedure planiranja, mogu biti ekstremno z neekasne.

7.6

Blokovi akcija

Jednostavna primena Grinovog metoda je u poznatom primeru odred ivanja niza akcija u svetu blokova. Primer: Uzmimo da je S1 poetno stanje u kojem je blok A na bloku B i blok B na c bloku C. T(Clear(A),S1) T(On(A,B),S1) T(On(B,C),S1) T(Table(C),S1)

68

Seminarski rad

Deniimo cilj sa s T(Table(a),t) Goal(t) Planiranje procesa zapoinjemo sa (plan-existence) tvrd c enjem postojanja plana, konvertujui ga u klauzalnu formu, i dodajui literal odgovora doc c bijamo: 1.{Goal(Do(a,S1)), Ans(a)} 2.{T(Table(A), Do(a,S1)), Ans(a)} 3.{T(On(A,y),S1), =T(Clear(A),S1), Ans(U(A,y))} 4.{T(Clear(A),S1), Ans (U(A,B) )} 5.{Ans(U(A,B))} Ans(a) je ,,answer literal, tj. literal sa odgovorom.

7.7

Uslovni planovi

Kada informacija nedostaje u toku planiranja, ponekad je nemogue planic rati blok akcija koji garantuje postizanje cilja. Na sreu momo reiti probc z s leme ove vrste pomou uslovnih akcija. c Npr. koristei Grinov metod za generisanje uslovnog plana, razmatramo c problem planiranja u kojem znamo da na bloku a nema nita u poetnom s c stanju i ne znamo nita vie. Tako imamo, s s T(Clear(A),S1) Cilj nam je da blok A bude natabli, tj. T(Table(A),t) Goal(t) Problem ne moemo ograniiti u smislu da blok A moe biti na tabli ili na z c z tabli mogu biti blok B ili blok C. Stoga ne postoji jedna akcija koja garantuje reenje problema, ali moemo napisati uslovni program za reavanje probs z s lema . Npr., 1. {Goal(Do(a,S1)), Ans(a)}

Osnove vetake inteligencije I s c 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

69

{T( Table(A), Do(a,S1)), Ans(a)} {T(p,S1), T(Table(A),Do(a,S1)), Ans(If(p,a,b))} {T(p,S1), T(On(A,y),S1), T(Clear(A),S1), Ans(If(p,U(A,y),b))} {T(p,S1), T(On(A,y),S1), Ans(If(p,U(A,y),b))} {T(On(A,y),S1), Ans(If(On(A,y),U(A,y),b))} {T(p,S1), T(Table(A),Do(b,S1)), Ans(If(p,a,b))} {T(p,S1), T(Table(A),S1), Ans(If(p,a,Noop))} {T(p,S1), T(On(A,K),S1), Ans(If(p,a,Noop))} {T(On(A,K),S1), Ans(If (On(A,K),a,Noop))} {Ans(If(On(A,K),a,Noop)), Ans(If(On(A,K),U(A,K),b)} {Ans(If(On(A,K),U(A,K),Noop))}

K je Skolemova konstanta za promenljivu iza egzistencijalnog kvantikatora poteklu od od ogranienja za stanje. Generalizacijom K se dobija eljeni c z plan.

7.8

Smer planiranja

Jedan od naina za poveanje ekasnosti planiranja je smer planiranja c c (planning direction). U nekom sluaju je bolje da planiramo unapred poev c c od poetnog stanja, u drugim sluajevima bolje je da idemo unazad, od cilja, c c dok je u nekim najbolje korienje oba metoda. sc U planiranju zasnovanom na rezoluciji moemo uticati na smer koriez sc njem restrikcione strategije modikovanog skupa podrke u kojoj slabimo s pretpostavku da je komplement tog skupa zadovoljiv. Ako uzmemo reenice c dobijene iz negacije (plan-existence statement) postojanja plana kao skupa podrke, rezultat je planiranje unazad. Ako uzmemo reenice koje opisuju s c poetno stanje naeg skupa dobijamo planiranje unapred. A ako posmatramo c s uniju ovih skupova dobijamo treu varijantu - primenu oba metoda. c Svi proizvodi prethodnih primera su instance planiranja unazad. U svakom od njih, poinjemo negacijom cilja, redukujemo cilj na podciljeve, i tako dok c ne dobijemo uslove poetnog stanja. c Jedan od problema korienja (set-of-support) strategije podranog skupa sc z i njegove implementacije unapred jeste taj da on ne mora biti kompletan. Npr. razmotrimo problem planiranja u kojem ne postoje informacije vezane za poetno stanje i u kojem ne postoji akcija koja zadovoljava cilj u svakom c stanju. Koristei u ovoj situaciji planiranje unazad moemo dobiti plan koji c z neemo moi dedukovati unapred. U mnogim sluajevima i jedno i drugo c c c

70 planiranje su jednako kompetentni.

Seminarski rad

Sa druge strane, postoje situacije u kojima je nepraktino primeniti planic ranje unazad. Na primer, problem pobed ivanja u igranju aha. Moemo, s z idui unazad, poev od pozicije koja je donela pobedu, da odredimo svaki c c na sledei potez. Problem e biti velik broj mogunosti. Alternativa je uzeti s c c c u obzir nekoliko koraka unapred, zamena cilja pobede ciljem iju vrednost c menjamo evaluacionom funkcijom stanja. Izbor naina planiranja pravimo c vodei se ekasnou. Ako broj mogunosti koje se koriste u smeru unapred c sc c premauje broj onih koje se koriste u smeru unazad, tada koristimo planis ranje unazad. Ako faktor grananja u smeru unazad premauje isti u direkciji s unapred, bolje je koristiti planiranje unapred.

7.9

Odsecanje nedostinou z sc

Jedan razlog izraunljive slabosti u planiranju unazad je rad na reenicama c c koje opisuju nedostignuta stanja. Npr. nemogue je stanje u kojem ja A na c B, a B je Clear (tj. na B nije postavljen nijedan drugi blok). Stoga, takva tvrd enja odsecamo. Jedan nain da detektujemo takve sluajeve je da postavimo rezolucioni potc c proces koji testira validnost reenica (klauzula). Ako ovaj test pokae da je c z reenica validna (njena negacija nije nekonzistentna sa ogranienjima stanja), c c ta reenica se izuzima iz daljeg razmatranja. Ovakva strategija brisanja se c ponekad zove odsecanje nedostinou. z sc Baza podataka za testiranje loginosti sastoji se od (1) aksioma ogranienja c c u problemu planiranja, i (2) reenica dobijenih iz negiranog tvrd c enja koje je pitanju. Za mnoge baze znanja moe se pokazati da je rezolucioni posz tupak garantovano odred uz pokazivanje konzistentnosti ili nekonzistenten nosti. Postoje i sluajevi za koje je nemogue znati da li e se desiti probc c c lem ako originalni rezolucioni proces eka kompletiranje ovog rezolucionog c potprocesa. Jedan od naina za reavanje ove situacije je ograniavanje c s c utroenog vremena u kontrolisanju loginosti. Drugi pristup je isprepletena s c provera konzistentnosti procesa sa procesom planiranja.

7.10

Poravnavanje stanja (usaglaavanje) s

Tokom procesa planiranja moemo se sresti sa situacijom u kojoj postoji z nekoliko uslova koji moraju biti zadovoljeni u jednom stanju. Kada koris-

Osnove vetake inteligencije I s c

71

timo operator (operator description axiom) koji zadovoljava jedan od ovih uslova, dolazimo do potproblema u kojem preduslovi operatora moraju biti u jednom stanju, a ostali uslovi se moraju nalaziti u sledeim stanjima. c Npr., 1. 2. {T(On(A,B),Do(a,S1)), T(Table(B), Do(a,S1))} {T(On(A,B),Do(U(B,y),S1)), T(On(B,y), S1),

T(Clear(B),S1)} Prva reenica izraava da je cilj da je A na B i B na tabli. Posle korienja c z sc operatora opisa aksioma za U, redukujemo jedan od uslova u stanju oznanom c sa Do(a,S1), dobijamo na kraju reenicu koja ukljuuje dva uslova u stanju c c S1 i preostali uslov u Do(a,S1). Obino je taj podcilj nedostian, ali mi ne c z moemo koristiti nedostina odsecanja, sve dok stanja ne budu poravnata z z (usaglaena). Sada imamo mogunost izbora: da li da redukujemo uslove u s c stanju S1 ili da redukujemo preostale uslove u Do(U(B,y),S1). Poravnanje stanja (state alignment) je strategija restrikcije (redukcije) koja iskljuuje bilo kakvu rezoluciju nad literalom koji sadri term stanja c z kada postoji drugi literal u istoj reenici koji sadri (state term) term stanja c z Do(, ). Naa je namera da izbegnemo redukcije uslova u jednom stanju s dok postoji jo uslova u sledeim stanjima koje treba redukovati. s c Kada koristimo odsecanje nedostinou, poravnanje stanja moe biti z sc z vod eno sutinskim poboljanjima u planiranju ekasnosti. Poravnanjem us s slova u reenici u jednom stanju ponekad sreemo protivrene reenice na c c c c koje inae ne bismo nailazili. Kao rezultat, moemo eliminisati takve reenice c z c i potedeti se daljeg posla oko njih. Npr. moemo odsei drugu reenicu u s z c c prethodnom primeru, zato to je nemogue dostii stanje u kojem na B nema s c c nita i u kojem je A na B. Ovaj problem se ne bi desio da smo primenili odses canje nedostinou u prvoj reenici. z sc c

Jasno je da upotreba poravnanja stanja moe naruiti kompletnost Griz s novog metoda kada se upotrebljava na proizvoljnom skupu aksioma. Ponekad, ako su sve te aksiome napisane u formi opisa operatora ili aksioma okvira to se nee desiti. c

72

Seminarski rad

7.11

Ukidanje aksioma okvira

Pokazuje se da je esto korisno ukinuti rezoluciju u kojoj se primenjuje c aksioma okvira kao ogranienje za promenljivu akcije tj. gde se zakljuuje c c iz literala koji je uslov za term stanja oblika Do(,) gde je promenljiva. Ovo je pored pomenutog odsecanja takod nain da se povea ekasnost e c c planiranja.

7.12

Ciljna regresija

Interesantno je pomenuti da svi operatori koji se opisuju u naim primes rima imaju prilino jednostavnu formu. Efekti svakog operatora su karakterc isani jednom reenicom (ne raunajui aksiome okvira i ogranienja stanja). c c c c Reenica je u svakom sluaju implikacija u kojoj je premisa uslov o stanju c c koje je neophodno da bi operator imao efekte koji se javljaju u zakljuku. c Ishod svega ovog je to da kada imamo opise operatora ove vrste, moemo koz ristiti veoma jednostavnu ali monu strategiju planiranja poznatu kao ciljna c regresija (goal regression). Prvo prevedemo na operator u ekvivalentan, ali jednostavniji oblik. s Svaki primer operatora se karakterie skupom preduslova, skupom pozitivnih s i skupom negativnih efekata. Preduslovi Pre(a) akcije a su uslovi koji moraju biti tani da bi akcija a imala eljene efekte. Pozitivni efekti Add(a) su efekti c z koji postaju tani posle izvravanja akcije. Negativni efekti Del(a) su uslovi c s koji postaju netani. c Npr., razmotrimo kako moemo drugaije zapisati opis operatora U. Posz c matrajui opis operatora primeujemo da uslovi u primeru oblika U(x,y) c c ukljuuju deskriptore stanja Clear(x) i On(x,y). Pozitivni efekti ukljuuju c c Table(x) i Clear(y). Postoji samo jedan negativan efekat, On(x,y). Pre(U(x,y)) = {On(x,y),Clear(x)} Add(U(x,y)) = {Table(x),Clear(y)} Del(U(x,y)) = {On(x,y)} U ovoj formulaciji deniemo ciljni skup (goal set), koji predstavlja skup s skupova stanja, tako da je svako stanje koje je u preseku ovih skupova zadovoljeno. Npr. sledei ciljni skup opisuje skup stanja u kojima su blokovi A i c

Osnove vetake inteligencije I s c B na tabli: {Table(A), Table(B)}

73

Osnovni korak u ciljnoj regresiji je redukcija jednog cilja na podcilj na osnovu opisa akcija. Redukcija mora imati osobine da izvravanje opisane s akcije u stanju u kojem je podcilj zadovoljen dovodi do stanja u kojem je cilj zadovoljen. Shodno prethodnoj deniciji vidimo da se podcilj Reg(q,a), koji proizilazi iz regresije za q kroz akciju a, sastoji od preduslova za a zajedno sa lanovima u q med kojima nisu pozitivni efekti za a. Da bi se akcija c u primenila ne sme biti preklapanja negativnih efekata akcije i uslova u cilju. (q Del(a)) = {} Reg(q,a) = Pre(a) (q-Add(a)) Npr. regresirajui ovaj ciljni skup kroz akciju U(A,B) dolazimo do sledeeg c c ciljnog skupa. Nijedan od originalnih ciljeva ne predstavlja negativan efekat ove akcije, tako da ova denicija vai. z Podciljni skup se sastoji iz preduslova za U(A,B) zajedno sa onim ciljem koji nije sadran u pozitivnim efektima akcija. z {Clear(A), On(A,B), Table(B)} Dalje, deniimo ternarnu relaciju Plan, koja je tana za dati ciljni skup, s c stanje, i niz akcija akko je stanje koje je rezultat izvravanja niza akcija u s datom stanju u ciljnom skupu. Plan(q,s,l) T(q,Do(l,s) Konano moemo iskoristiti deniciju regresije da damo uslove unutar c z kojih je niz akcija plan. Prazan niz je plan za ciljni skup q u stanju s ako s zadovaljava elemente u q. Niz a.l je plan za ciljni skup q ako: (1) a je akcija pozitivnih efekata sa nekim elementom iz q i (2) l je plan koji postie ciljni skup dobijen pomou regresiranjem q kroz a. z c T(q,s) Plan(q,s,{}) (q Add(a)) = {} Plan(Reg(q,a),s,l) Plan(q,s,a.l) Ako je inicijalno stanje (deskriptor) , cilj , ciljna regresija je onda

74

Seminarski rad

pronalaenje td. vai Plan(,,). z z Kao primer ciljne regresije posmatrajmo sledei primer: U poetnom c c stanju blok C je na bloku A i blokovi A i B su na tabli. Cilj je doi u stanje c u kojem je A na B i B na C. Postoje dve akcije sa pozitivnim efektima koje ukljuuju elemente naeg cilja. Akcija S(A,B) izvrava akciju On(A,B) i akc s s cija S(B,C) akciju On(B,C). Skupovi podciljeva koji se dobiju iz regresije cilja kroz ove dve akcije su pokazani ispod cilja i relevantne akcije su indukovane pomou oznaka na granama. c

On(A,B) On(B,C)

S(A,B)

Table(A) Clear(A) Clear(B) On(B,C)

Table(B) Clear(B) Clear(C) On(A,B)

U(A,y)

U(x,A) Clear(x) On(x,A) Table(A) Clear(B) On(B,C)

U(x,B) Clear(x) On(x,B) Table(A) Clear(A) On(B,C)

S(B,C) Table(B) Clear(B) Clear(C) Table(A) Clear(C)

Clear(A) On(A,y) Clear(B) On(B,C)

U(C,A) Clear(x) On(x,A) Table(B) Clear(B) Clear(C) Table(A)

Podcilj desno moe biti naputen. On zahteva da B bude ,,ist, tj. da na B z s c nema nita i da A bude na B. Vidimo da je to nemogue. s c Podcilj levo ima etiri mogua podcilja. Krajnji levi je nemogu. Promenljiva c c c y ne moe biti A poto blok ne moe biti na vrhu. Isto tako y ne moe biti z s z z B poto B mora biti ,,ist i ne moe biti C jer je B na C. Slino, drugi i trei s c z c c podcilj su nekonzistentni (nesaglasni ) i mogu biti odseeni. c Poslednji podcilj se odnosi na akciju S(B,C), i ovaj cilj je saglasan. U stvari, ovaj cilj ima podcilj koji smo videli i on je taan u poetnom stanju ako x c c

Osnove vetake inteligencije I s c

75

zamenimo sa C. U toj taki moemo nai korektan plan itajui akcije sa c z c c c stabla u obrnutom poretku (unazad). Prvo, skinemo C sa A, zatim stavimo B na C, i na kraju, stavimo A na B. Iako se ciljna regresija veoma razlikuje od predhodnih strategija planiranja, ak i male analize pokazuju da su sline. U stvari, ciljna regresija je c c ekvivalentna Grinovom metodu kada se on koristi u konjukciji sa poravnanjem stanja i aksiomama okvira.

7.13

Razlike stanja

Iako je u nekoj restrikcionoj strategiji mogue eliminisati sve pretrage, c ovakav ishod je prilino nemogu. Ostaje nam problem odluivanja kojim c c c redom izvravati odluke koje dozvoljava ta strategija. Jedan uobiajeni nain s c c pravljenja ovog izbora je korienje mere neslinosti izmed stanja. sc c u Funkcija razlikovanja stanja (state-dierence function) je binarna funkcija stanja koja vraa broj koji odgovara stepenu slinosti izmed stanja. Vea c c u c vrednost funkcije oznaava da se stanja vie razlikuju. Ako je vrednost c s funkcije nula, stanja su identina. Razmotrimo funkciju razlikovanja stanja c u primeru Sveta blokova. Ukupna vrednost je suma razlike lokacija i razlika koje se odnose na to da li je na bloku smeten neki drugi blok (clearness s dierence-razlika popunjenosti). Razlika lokacije ukazuje na to da li je blok smeten na razliitom mestu u dva razliita stanja. Ako su dva razliita bloka s c c c u dva razliita stanja na istom bloku, vrednost razlike lokacije je 1. Razlika c popunjenosti za blok je 1 ako se dva stanja ralikuju po tome da li je jedan blok u jednom stanju popunjen, a u drugom ne. Redosled stanja (state ordering) je rezoluciona strategija u kojoj se redosled rezolucije (odluke) na klauzulama poravnanja stanja odred uje pomou c funkcije razlikovanja stanja. Da bi funkcija razlikovanja stanja bila u potpunosti iskoritena za poboljanje s s ekasnosti planiranja mora postojati korelacija izmed funkcije razlike i planiu ranja da bi se jedno stanje konvertovalo u drugo. U ekstremnim sluajevima, c kada je funkcija stanja monotona i kada je u pitanju tekoa planiranja s c moemo koristiti hillclimbing. Kada funkcija razlikovanja stanja nije monoz tona moramo se osloniti na strategiju sa (backup) podrkom kao, na primer, s sa procedurom ,,najbolji prvi.

76

Seminarski rad

Iako smo govorili samo o tekoi planiranja uobiajeno je da saberemo s c c razlike stanja i da izraunamo trokove plana da bi doli do komplikovanijih c s s pravila redosleda. Koristei ovo kombinovano merenje u proceduri ,,najbolji c prvi dolazimo do procedure A . Moemo eliminisati neekasnost proirujui z s c pojam razlike stanja na skupove stanja. Ovo dobijamo na osnovu veliine c preseka izmed dva skupa stanja. u

Osnove vetake inteligencije I s c

77

Arhitektura inteligentnih agenata

Agenti su formalizmi slini konanim automatima i Tjuringovim mainama, c c s ali imaju i dodatne osobine. Ovde se kratko razmatraju vrste agenata koji deluju usamljeni u svetu, iako je u oblasti vetake inteligencije est sluaj s c c c da ih je vie (razliitih vrsta) i da interaguju med s c usobno.

8.1

Tropistini agenti c

Tropizam je tendencija biljaka i ivotinja da (odgovaraju) reaguju na z spoljanje uticaje. Tako je i aktivnost ove klase agenata vezana iskljuivo s c za spoljanji uticaj. U ovom poglavlju govorimo o agentima sa unutranjim s s stanjima (memorijom), ali za sada emo ignorisati tu mogunost. c c Razliiti agenti e opaziti (reagovati) na razliita spoljanja stanja, pa rec c c s cimo, u naem primeru, neki registruju boju blokova, neki njihovu teinu i sl. s z Karakteriui senzorne sposobnosti agenata delimo skup S spoljanjih stanja s c s u skup T nepovezanih podskupova. Uvodei funkciju see koja preslikava c stanje iz S u particiju kojoj pripada, povezujemo stanja iz S sa odgovarajuim c particijama. Funkciju ove vrste nazivamo senzorna funkcija (sensory function). see : S T Slino senzornim sposobnostima, razliiti agenti mogu imati i sposobnosti c c pravljenja razliitih efekata (eectory capabilities). Neki agenti mogu crtati c blokove, ali ih ne mogu pokretati, drugi ih mogu pokretati ali ne mogu menjati njihovu boju i sl. Karakteriui efekte ovih akcija deniemo funkciju s c s do koja preslikava svaku akciju i stanje u stanje koje nastaje posle primene date akcije u prvobitnom stanju. Funkciju ove vrste nazivamo sposobnost delovanja (eectory function). do : A S S Posmatrajui aktivnost agenata deniemo funkciju action koja preslikava c s particiju kojoj stanje pripada u akciju. action : T A Konano, deniemo tropistine agente kao estorku (S,T ,A,see,do,action) c s c s

78 S - skup stanja spoljnog sveta

Seminarski rad

T - skup particija od S, slue da bi se opisao tok rada, ,,algoritam z A - skup akcija see : S T do : A S S action : T A Moemo ovako sumirati delovanje tropistinih agenata: u svakom ciklusu z c agentovo okruenje je u nekom stanju s ; agent posmatra particiju t koja se z odnosi na senzornu funkciju see(s); koristi action da nad akciju a koja je e dodeljena particiji t; na kraju izvrava akciju ,ime produkuje stanje do(a, s); s c ciklus se ponavlja. Jednostavan primer jeste Svet lavirinta gde imamo 33 povezana kvadratia, c kolica i zlato. Cilj je da se u kolica natovari zlato. Postoji 90 moguih stanja c : kolica mogu biti u 9 polja i za svaku takvu mogunost zlato se moe nai u c z c nekom od 9 polja ili u kolicima (razlikuje se situacija kada su zlato i kolica u istom polju i kada je zlato u kolicima). Sa nae take gledita, mogue je iz s c s c bilo kog stanja dostii svako od stanja. Za razliku od toga, inteligentni agent c sa senzorima na kolicima moe rei svoju lokaciju, ali kada je u pitanju zlato z c moe samo rei da li je zlato u kamionu, u nekom polju ili negde drugde. z c Ova senzorna ogranienja dele skup od 90 stanja u 27 podskupova. Stanje c u svakom podskupu se slae sa pozicijom kolica. Ono se, takod slae sa z e, z pozicijom zlata u odnosu na kolica, ali se ne slae sa tanom pozicijom zlata z c kada je ono locirano u razliitom polju u odnosu na kolica. c Pored senzorne ogranienosti, ovi agenti imaju i ogranieno delovanje c c (ograniene efekte). U naem primeru oni mogu pomeriti kolica od polja do c s polja i mogu manipulisati zlatom kad god je ono u kolicima ili na nekom polju. Efekte koje proizvode agenti moemo grupisati u sedam akcija z agent moe pomeriti kolica gore, dole, levo i desno ( 4 ) z z moe da stavi zlato u kolica moe da premesti zlato z

Osnove vetake inteligencije I s c moe da ne proizvodi nikakav efekat (ne radi nita) z s

79

Razmotrimo problem dizajniranja akcija za agente sa ovim ogranienjima. c Pretpostavimo da su u poetnom stanju kolica u gornjem levom polju lavirc inta. Cilj nam je da dod emo do zlata koje je u donjem desnom polju. 1. ako su kolica na izlazu i ako je zlato u istom polju, agent ne radi nita s 2. ako su kolica na izlazu i ako je zlato u kolicima, agent pomera zlato 3. ako su kolica na bilo kom polju i ako je zlato na istom polju, agent stavlja zlato u kolica 4. ako kolica nisu na izlazu i ako je zlato u kolicima, agent pomera kolica ka izlazu 5. inae, agent pomera kolica kroz lavirint dok zlato ne bude pronad c eno i to tako to ga pomera prvo kroz prvu vrstu, pa se sputa u krajnje s s desno polje druge vrste i na kraju iz prvog polja druge vrste prelazi u prvo polje tree vrste c

8.2

Histeretini agenti c

Agent moe biti u nekom od stanja iz skupa unutranjih stanja I. Pretz s postavimo da agent moe dostii bilo koje stanje iz bilo kog drugog stanja z c te ovde nije potrebno particionisanje skupa I u podskupove (particije) ili denisanje senzorne funkcije. Isto tako pretpostavimo da agent moe transz formisati I u neki od elemenata istog u jednom koraku. Vana razlika izmed tropistinih i histeretinih agenata je to da funkcija z u c c akcije za histeretinog agenta uzima u obzir interna stanja kao i opaanja u c z diktirajuim akcijama. c action : I T A Kod histeretinih agenata takod postoji memorija koja pokree funkciju c e c koja preslikava unutranje i posmatrano stanje u sledee untranje stanje. s c s internal : I T I

80 Histeretini agenti se deniu kao osmorka c s (I, S, T, A, see, do, internal, action) gde su : I skup unutranjih stanja s S skup spoljanjih stanja s A skup akcija see funkcija iz S u T do funkcija iz A S u S internal funkcija iz I T u I action funkcija iz I T u A

Seminarski rad

Kada je u pitanju na primer, agenti sa senzornim ogranienjima dele s c skup od 90 stanja u tri podskupa. Prvi podskup sadri 9 stanja u kojima z je zlato u kolicima. Drugi se odnosi na 9 stanja u kojima su zlato i kolica u istom polju, ali da pri tom zlato nije u kolicima. I trei podskup sadri 72 c z stanja u kojima je zlato u drugim poljima i pri to nije u kolicima. Funkcijom see preslikavamo svako stanje u odgovarajuu particiju (podskup). Sada c deniemo skup unutranjih stanja koja emo predstaviti brojevima od 1 do s s c 9 i koja oznaavaju polja u lavirintu(umesto podataka koji odgovaraju vrsti c i koloni). I u ovom sluaju e situacije u kojima su kolica na izlazu a zlato c c negde dalje biti nemogue. c

8.3

Agenti nivoa znanja

Problem je to za ciljeve vetake inteligencije nije potrebno predstavljati s s c problem uvek na visokom nivou, tj. sa mnogo detalja (npr. nije potrebno znati svako kolo raunara da bismo znali kako raunar radi). Zelimo samo c c dizajn u kojem su ziki elementi predstavljeni apstraktno. c U ovom poglavlju ispitujemo koncept agenata koje nazivamo nivoi znanja u kojem se sav viak detalja eliminie. U ovoj apstrakciji unutranja stanja s s s agenta sadre samo baze podataka reenica predikatskog rauna, i agentove z c c

Osnove vetake inteligencije I s c

81

mentalne akcije koje predstavljaju zakljuke koji su dobijeni iz tih baza poc dataka. Funkcija akcije ,action, za agenta nivoa znanja, preslikava bazu podataka i particiju skupa stanja T u akciju koja e biti izvrena od strane c s agenta . action : D T A Funkcija osveavanja baze podataka database preslikava bazu podataka z particiju stanja T u novu internu bazu podataka. database : D T D Agenta nivoa znanja predstavljamo osmorkom. Skup D ovde predstavlja proizvoljan skup predikatskog rauna baze podataka, S je skup spoljanih c s stanja, T je skup particija od S, A je skup akcija, see je funkcija iz S u T , do je funkcija iz A S u S, database je funkcija iz D T u D i action je funkcija iz D T u D. (D, S, T, A, see, do, database, action) Odavde vidimo da je svaki agent nivoa znanja ujedno i histeretini agent. c Celobrojne vrednosti kojima smo oznaili unutranja stanja u prethodnom c s poglavlju ovde zamenjujemo reenicama predikatskog rauna baze podataka. c c U naem primeru lavirinta imenujmo 9 polja simbolima AA, AB, AC, BA, s BB, BC, CA, CB i CC. Imamo tri mogue particije stanja IC (in the cart, u c kolicima), SC (in the same cell, u istom polju) i EW (elsewhere, drugde). Uzmimo relacioni simbol Cart koji oznaava unarnu relaciju koja sadri polje c z na kojem su kolica, i simbol Gold koji oznaava unarnu relaciju koja sadri c z onu particiju stanja koja se odnosi na lokaciju na kojoj je zlato. Umesto da startujemo sa 1 kao poetnim stanjem mi startujemo sa sl. jednolanim c c skupom : Cart(AA) Poto je unutranje stanje promenjeno, treba da redeniemo agentovu funkciju s s s akcije tako da ona uzima u obzir bazu podataka umesto brojeva. Takod treba da deniemo funkciju baze podataka koja preslikava bazu poe s dataka i particiju stanja u baze podataka koje odgovaraju celim brojevima u unutranjem stanju kod prethodnih agenata. s Za ove agente je karakteristino ekstremno ogranienje sposobnosti. Iako c c i

82

Seminarski rad

je njihovo ponaanje razliito shodno poloaju zlata ono predstavlja ksirs c z anu pretragu u nalaenju zlata i sledi ksiranu putanju do izlaza ako je zlato z pronad eno. Modikacija ove vrste nije mogua bez denisanja potpuno nove c funkcije za agenta. Ako elimo modikovati zikog agenta i kao i njegove z c funkcije implementirane u hardver, izmena e biti velika. Alternativa je denc isanje eksibilnijih agenata koji e biti programirani pomou izmena reenica c c c u agentovoj bazi podataka. Ilustrujmo, kratko, primerom. Potreban nam je renik te koristimo simbole R, L, U i D za akcije desno, levo, gore i dole. c Simbolima I i O oznaimo akcije stavljanja zlata u kolica i izlaska van lavirc inta (in, out), te simbol N za null akciju. Sa M ust oznaimo akciju koju c elimo da preduzme agent u datom trenutku. z Cart(AA) Gold(IC) M ust = R Cart(AA) Gold(SC) M ust = I Cart(AA) Gold(EW ) M ust = R . . . Cart(CC) Gold(IC) M ust = O Cart(CC) Gold(SC) M ust = N Pretpostavimo da poetno stanje sadri reenicu koja opisuje lokaciju kolica c z c u poetnom stanju. c Cart(AA) Deniimo, zatim, pomonu funkciju e. Levo emo navesti imena particija a s c c desno akcija.

( ) ( ) ( )

= IC

e(left) = L e(right) = R e(up) = U

= SC

e(down) = D e(in) = I e(out) = O

=EW

e(noop) = N

Osnove vetake inteligencije I s c

83

Kada baza podataka

sadri reenicu Cart() i z c

Cart() Gold(e(t)) M ust = e(a) tada agent izvrava akciju a . s action( , t) = a Funkcija baze podataka diktira novu bazu koja sadri sve reenice stare baze z c osim one koja opisuje lokaciju kolica koja se kroz funkciju next prepravlja u novu lokaciju. database( , t) = ( Cart()) Cart(next( , t))

Primeujemo da ovaj agent izvrava opisanu proceduru u svojoj poetnoj c s c bazi, pa zakljuujemo da moemo izmeniti proceduru menjajui bazu poc z c dataka. Iako je oblik reenica u opisu neto stroi, moemo denisati i jedc s z z nako mone agente koji e biti mnogo eksibilniji, a to emo videti u sl. c c c poglavlju.

8.4

Agenti znanja u koracima

Agenti opisani u prethodnom poglavlju nisu monotoni: reenice mogu biti c izmenjene ili dodavane u bazu. Razlog za ovo je to to na koncept relacija s s zavisnosti od stanja ne obuhvata stanje - na primer lokacija kolica. Svaka baza opisuje samo jedno stanje; posle svake akcije stanje je promenjeno i opis mora biti promenjen tako da se odnosi na stanje koje nastaje posle dejstva akcije. Ovo razmatranje namee pitanje da li je mogue dizajnirati monotone c c agente u kojima su nove reenice dodane u unutranju bazu ali nisu premetane c s s (dodavanje da, premetanje-uklanjanje ne). Ovo je zaista mogue, ali je s c potrebno napraviti neke izmene. Prvo je potrebno primeniti koncept zasnovan na stanjima. Koristiemo c relaciju T za opisivanje karakteristika individualnih stanja. Zatim treba da konvertujemo relacioni simbol, kao to je Cart, u funkcijski simbol; koristimo s

84

Seminarski rad

unarni funkcijski simbol Ext koji oznaava funkciju koja preslikava svaki pozc itivan ceo broj u spoljanje stanje ciklusa agentove operacije koji odgovara s tom celom broju. Primetimo da Ext preslikava ceo broj u spoljanje stanje s a ne u pariciju stanja. Sa ovim renikommoemo opisati poetno stanje c z c u primeru Lavirinta. Naravno ovaj opis nee biti kompletan jer ne uzima u c obzir poloaj zlata. z T (Cart(AA), Ext(1)) Ovaj renikmoemo koristiti i za opis agentovih procedura prema prethodc z nom sluaju. U ovom sluaju koristimo promenljivu n koja oznaava redosled c c c kroz ciklus agentove operacije i imamo konvertovan objekat konstante M ust u funkcijsku konstantu. T (Cart(AA), Ext(n)) T (Gold(IC), Ext(n)) M ust(n) = R T (Cart(AA), Ext(n)) T (Gold(SC), Ext(n)) M ust(n) = I T (Cart(AA), Ext(n)) T (Gold(EW ), Ext(n)) M ust(n) = R . . . T (Cart(CC), Ext(n)) T (Gold(IC), Ext(n)) M ust(n) = O T (Cart(CC), Ext(n)) T (Gold(SC), Ext(n)) M ust(n) = N Na alost ove izmene same po sebi nisu dovoljne da dozvole isto monotono z c ponaanje. Agent ipak treba da zna koji ciklus se izvrava da bi koristio s s informaciju zabeleenu u bazi podataka. On ne moe uvati informacije z z c vezane za tekui ciklus u svojoj bazi, poto se informacije menjaju posle c s svake akcije. Alternativa je denisati novu vrstu agenta nivoa znanja u kojem unutranje stanje ukljuuje broja isto kao i njegova baza reenica. Agenti s c c c nivoa znanja u koracima su osmorka (D, S, T, A, see, do, database, action) gde su: c D -skup baza podataka predikatskog rauna S -skup spoljanjih stanja s T -skup particija od S

Osnove vetake inteligencije I s c A -skup akcija see -funkcija iz S u T do -je funkcija iz A S u S database -je funkcija D N T u D action -je funkcija iz D N T n u A

85

Primetimo da je jedina razlika izmed agenata nivoa znanja u koracima i u obinih agenata nivoa znanja zavisnost baze podataka i funkcija akcija od c agentovog rednog broja ciklusa. Redni broj ciklusa uva se van baze poc dataka. Sasvim je jednostavno modikovati akcije i bazu funkcija za programibilne agente u prethodnom poglavlju tako da zadovoljavaju deniciju i uslove eljenog ponaanja. Oni treba da budu malo komplikovaniji da bi upravljali z s promenljivima u bazi, a inae su identini. c c Za cilj analize, esto je korisno karakterisati kako se unutranje stanje, spoljanje c s s stanje, posmatranje i akcije u agentima nivoa znanja u koracima menjaju s obzirom na redni broj ciklusa. Funkcija int ,s preslikava ceo broj n u unutranje stanje koje je rezultat n-tog ciklusa agenta nivoa znanja u koracima s sa poetnom bazom podataka c i poetnm spoljanjim stanjem s. Funkcija c s ext ,s preslikava ceo broj u spoljanje stanje koje je rezultat aktivnosti u ns tom ciklusu. Funkcija obs ,s preslikava ceo broj n u skup stanja posmatran od strane agenta u n-tom ciklusu. Funkcija act ,s preslikava ceo broj n u akciju koju uzima agent u n-tom ciklusu. Pogledajmo ta se deava sa poetnim vrednostma. Unutranje stanje prs s c s vog ciklusa agentovih opercija je agentova poetna baza podataka i spoljanje c s stanje prvog cikusa je poetno spoljanje stanje. Prvo agentovo opaanje se c s z odnosi na primenu funkcije see u poetnom spoljanjem stanju, i agentova c s prva akcija je odred ena njegovom poetnom bazom oznaenom brojem 1 i c c agentovim poetnim opaanjem. c z int ext obs
,s (1) ,s (1)

= =s

,s (1)

= see(s)

86 act
,s (1)

Seminarski rad = action( , 1, see(s))

Denicije za ove funkcije slede posle prvog ciklusa. Unutranje stanje u s svakom ciklusu je rezultat delovanja agentove funkcije memorije u prethodnom unutranjem stanju, prethodnom (rednom) broju ciklusa, i agentovog s posmatranja prethodnog spoljanjeg stanja. Spoljanje stanje je rezultat s s izvravanja akcije oznaene u prethodnom ciklusu prethodnim spoljanjim s c s stanjem. Agentovo opaanje (posmatranje) je particija stanja koja sadri z z spoljanje stanje. Akcija koja e biti izvrena je odred s c s ena primenom funkcije action u tekuem unutranjem stanju, tekuem broju ciklusa, i agentovim c s c opaanjem tekueg spoljanjeg stanja. z c s int
,s (n)

= database(int
,s (n)

,s (n ,s (n

1), n 1, obs 1), ext


,s (n

,s (n

1)

ext

= do(act
,s (n)

1)

obs act
,s (n)

= see(ext

,s (n))

= action(int

,s (n), n, obs ,s (n))

Agent nivoa znanja sa poetnom bazom i poetnim spoljanjim stanjem c c s postoji ako i samo ako njegova baza podataka postoji u svakom ciklusu. Agent nivoa znanja pamti bazu podataka (database retentive) ako i samo ako njegova baza u svakom ciklusu posle prvog logiki implicira bazu prethodnog c cikusa. int ,s (n) |= int ,s (n 1) Jednostavniji tip (database retentive) agenata koji pamte bazu podataka je onaj kod kojeg su sve reenice iz int ,s (n 1) sadrane u int ,s (n) c z

8.5

Agenti s namerom

Posmatrajui agente opisane u prethodnom poglavlju, interesantno je c primetiti da pod uobiajenom interpretacijom simbola u reniku ovog agenta c c baza podataka svakog ciklusa korektno opisuje svoje spoljanje okruenje. s z Poto se agent pomeri desno u poetnom stanju kolica su u polju AB kao s c to je specicirano u bazi podataka tog ciklusa. Ako bi permutovali baze pos dataka sistematski i modikovali bazu podataka agenta kao i funkcije akcije, agent bi reio problem podjednako dobro, ali reenice u bazi podataka e s c c biti netane pod uobiajenom interpretacijom. Sa druge strane, analizirajui c c c

Osnove vetake inteligencije I s c

87

nivo znanja agenta mi obino elimo da priamo o ponaanju agenta uzic z c s majui u obzir neke interpretacije ili parcijalne interpretacije za reenice u c c bazi podataka. Uopte, ne moemo oekivati od agenta da se povinuje naoj s z c s interpretaciji za sve simbole u njegovom reniku. Ipak, interesantno je poglec dati agentove osobine ako pretpostavimo da se slau sa nama u pogledu nekih z simbola u njegovom reniku. Sledee veze su posebno korisne. c c Funkcija obsrecord preslikava pozitivne cele brojeve n i particiju stanja T u skup reenica tvrde da je spoljanje stanje u ciklusu n lan particije T . U c c s c prethodnom primeru posmatranje prvog ciklusa i particije stanja u kome se zlato nalazi na nekom drugom mestu je baza podataka koja se sastoji od jednostruke reenice T (Gold(EW ), Ext(1)). c

obsrecord

(
1,

={T(Gold(EW),Ext(1))}

Da bismo kodirali naredbe u bazi podataka agenta potreban nam je renik c koji opisuje akcije koje bi agent trebalo da radi. Funkcija mustrecord preslikava pozitivan ceo broj n i akciju a u skup reenica tvrdei da bi agent c c trebalo da izvri akciju a u ciklusu n. Npr. moemo kodirati injenicu da se s z c agent kree desno u svom prvom ciklusu: c mustrecord(1, right) = M ust(1) = R Funkcija mustnotrecord preslikava pozitivan ceo broj n i particiju stanja T u skup reenica tvrdei da bi agent trebalo da izbegava akciju a u ciklusu n. c c Npr.,moemo kodirati injenicu da se agent ne pomera desno u svom prvom z c ciklusu kao to je prikazano : s mustnotrecord(1, right) = M ust(1) = R Funkcija actrecord preslikava pozitivan ceo broj n i akciju a u skup reenica c tvrdei da agent u stvari izvrava akciju a u ciklusu n. Moemo npr.,kodirati c s z injenicu da se agent pomera desno u svom prvom ciklusu reenicom : c c act(1) = R actrecord(1, right) = Act(1) = R

88

Seminarski rad

Kao ostale aspekte operacija agenta, pogodno je da se napravi koncept funkcija koji denie zapise (record) za opaanje i akcije agenta. Deniemo s z s obsrec ,s koja preslikava broj ciklusa u zapis posmatranja za n-ti ciklus aktivnosti agenta nivoa znanja sa poetnom bazom podataka c i poetnim c spoljanjim stanjem s. Funkcija actrec ,s preslikava broj ciklusa u odgos varajui zapis akcije. Koristei terminologiju iz zadnjeg odeljka moemo c c z denisati obsrec ,s = obsrecord(n, obs ,s (n)) actrec
,s

= actrecord(n, act

,s (n))

Kaemo da je agent (observation retentive) pamti opaanja ako i samo z z ako zapisuje svoja zapaanja u svakom ciklusu u svoju bazu, tj. u svakom z ciklusu, posle prvog, agentova baza logiki povlai zapis opaanja prethodnog c c z ciklusa. int ,s (n) |= obsrec ,s (n 1) Agent uva (pamti) akcije (action retentive ) ako i samo ako je zapis njegovih c akcija u svakom ciklusu u njegovoj bazi, tj. ako u svakom ciklusu, posle prvog, agentova baza logiki povlai zapis akcije prethodnog ciklusa. c c int
,s (n)

|= actrec

,s (n

1)

Kaemo da baza podataka z zapisuje akciju a u ciklusu n agentove operacije (P ( , n, a)) ako i samo ako logaki povlai da akcija mora biti c c izvrena u n-tom koraku. s |= mustrecord(n, a) Koristei ovu notaciju moemo denisati ta se podrazumeva pod zabranc z s jenom akcijom. Kaemo da zabranjuje akciju a u n-tom ciklusu agentovih z operacija (F ( , n, a), ako i samo ako triangle logiki povlai da akcija a ne c c sme biti izvrena u koraku n. s |= mustnotrecord(n, a) Agent nivoa znanja je lokalno ,,veran (locally faithful) ako i samo ako svaki ciklus njegovih operacija zadovoljava sl.uslove: 1. Agent izvrava svaku akciju koja je zapisana pomou agentove baze s c podataka i njegovih opaanja u tekuem stanju. z c P (int
,s (n)

obsrec

,s (n), n, a)

act

,s (n)

=a

Osnove vetake inteligencije I s c

89

2. Agent izbegava (ponitava) svaku akciju koja je zabranjena pomou s c njegove baze podataka i njegovog opaanja u tekuem stanju. z c F (int
,s (n)

obsrec

,s (n), n, a)

act

,s (n)

=a

Kod nekih agenata nivoa znanja ovi su uslovi redukovani. Npr. pretpostavimo da agentova baza ima aksiome koje tvrde da postoji samo jedna zapisana akcija za svaki ciklus i pretpostavimo da, takod postoje aksiome koje tvrde e, nejednakost agentovih razliitih akcija. Tada, ako baza odredi (zapie) akcije c s za svaki ciklus, agent zabranjuje sve ostale akcije; i ako baza zabrani sve akcije osim jedne, neophodno je odrediti (zapisati) remaining akcije. Sa druge strane, ne moemo izostaviti uslove vezane za zabranjene akcije. Zato posz toji baza za zabranjene akcije u kojoj nisu zapisane ostale akcije i mi elimo z biti sigurni da agent nee selektovati zabranjenu akciju. Slino, ne moemo c c z nita raditi bez zapisanih uslova pa zato postoje baze koje zapisuju neke aks cije koje ne zabranjuju druge akcije i mi ne elimo da agent izvrava samo z s nezabranjenu akciju kada postoje neke druge (odred ene) zapisane akcije. Teorema 9 Saglasnost je neophodan uslov za lokalnu vernost. Istorijski zapis (history record) za partikularne korake agentove operacije je skup opaanja i akcija koje se zapisuju za svaki korak i za sve prethodne z korake. Funkcija histrec preslikava broj u odgovarajui istorijski zapis. c histrec =
,s (n)

= n=0 c ,s (n 1) obsrec ,s (n) actrec ,s (n) inae

{} histrec

Primetimo da prethodne informacije vezane za istoriju u agentovoj bazi esto doputaju agentu izvod c s enje zakljuaka koji inae ne bi bili mogui. c c c Npr., posle uoavanja da zlato nije u eliji AA i posle pomeranja u eliju AB, c c c agent moe zakljuiti da zlato nije locirano u AA, iako on nije dugo razmatrao z c tu injenicu. Agent koji razmilja je globalno veran (globally faithful) akko c s on postupa u skladu sa njegovom poetnom bazom, njegovom istorijom i c tekuim opaanjem, tj. c z 1. agent izvrava svaku akciju koja je oded s ena njegovom poetnom bazom, c istorijom i opaanjem u tekuem stanju z c P( histrec
,s (n

1) obsrec

,s (n), n, a)

act

,s (n)

=a

90

Seminarski rad 2. agent izbegava svaku akciju koja je zabranjena njegovom poetnom c bazom, istorijom i opaanjem u tekuem stanju z c F( histrec
,s (n

1) obsrec

,s (n), n, a)

act

,s (n)

=a

Teorema 10 Pamenje baze podataka, opaanja i akcija i lokalna vernost c z impliciraju globalnu vernost.

8.6

Promiljeni agenti s

U ovom poglavlju deniemo klasu neto specinijih agenata nivoa znanja s s c od globalno vernih. Kljuna ideja u denisanju agenata ove klase je korienje c sc metode automatskog zakljuivanja kao to su rezolucija u proizvod c s enju reenice c koja ukazuje na traenu akciju u svakom ciklusu. Agent ove vrste je promiljen z s u tome to razmilja u svakom ciklusu o spoljanjoj akciji koju treba izvriti. s s s s Ako je u ciklusu n mogue dokazati mustrec(n,a) za tekuu bazu i zapis c c opaanja koristei rezoluciju ili drugu proceduru zakljuivanja, tada agent z c c izvrava akciju a. s action( , n, t) = a whenever obsrecord(n, t) |= mustrecord(n, a) Agentova baza je aurirana usled opaanja i akcija u ciklusu. z z database( , n, t) = obsrecord(n, t) actrecord(n, a) whenever obsrecord(n, t) |= mustrecord(n, a) Procedure Begin Tag CD(DB) CYCLE := 1 OBS := OBSERVE(CYCLE) DB := APPEND([T(OBS,Ext(CYCLE)=k,DB) ACT := FIND(k,Must(CYCLE)=k,DB) EXECUTE(ACT) DB := APPEND([Act(CYCLE)=ACT],DB) CYCLE := CYCLE+1 GOTO Tag

End

Osnove vetake inteligencije I s c

91

Program CD uzima poetnu bazu kao argument i manipulie sa 4 c s promenljive: CYCLE - broj tekueg satnja, OBS - opisiva stanja, DB - uva c c c poetnu bazu, sva opaanja i zapise akcija i ACT - je ime akcije koja e biti c z c izvrena. Agentova senzorna sposobnost je implementirana u potprogramu s OBSERVE (argument joj je redni broj ciklusa i kada je izvrena u stanju s s vraa kao vrednost obsrecord(n, see(s)) ). Agentov renik ekasnosti je c c implementiran u primitivnoj potprogramu EXECUTE (argument joj je oznaka akcije i kada je pozvana izvrava odgovarajuu akciju). s c Kod denie jednostavnu slobodno-izlaznu petlju. U svakom trenutku s petlje, agent prolazi kroz jednostavan ciklus njegove istorije. Prvo, okolina je posmatrana i u bazu je upisana karakteristina reenica. Tada agent izvodi c c zakljuak na bazi dok dedukuje akciju za izvod c enje. To povlai akciju i c auriranje baze i broja ciklusa. Tada se ciklus ponavlja. z Iz ove denicije lako se vidi da je promiljeni agent pamti opaanja, pamti s z akcije i pamti bazu podataka. Stoga imamo: Teorema 11 Svaki promiljeni agent sa valjanim i kompletnim dokazivaem s c teoreme je globalno taan (veran). c

92

Seminarski rad

Klasine metode reavanja problema c s


Mogu se izdvojiti etiri osnovna naina reavanja problema: c c s 1. Primena eksplicitno zadate formule koja nalazi reenje s 2. Upotreba rekurzivne denicije 3. Upotreba algoritma koji konvergira ka reenju s 4. Upotreba odred enih procesa npr. pokuaja i greke sa nabrajanjem s s sluajeva c

Vidimo da je najbolje kada moemo primeniti prvi nain za nalaenje reenja. z c z s U tom sluaju, sloenost je merena naporom da se izrauna gotova formula c z c koja ukljuuje samo konaan broj simbola, pa je tako bez obzira ta su ulazni c c s parametri, sloenost O(1). z Primeri algoritama (uglavnom polinomijalne sloenosti): z Primer 1. Izraunavanje sume prvih n prirodnih brojeva: c
n

i=
i=1

n(n + 1) 2

izraunavanje sume kvadrata prvih n prirodnih brojeva: c


n

i2 =
i=1

n(n + 1)(2n + 1) 6

Ovi primeri se lako reavaju pomou date eksplicitne formule (sloenost s c z je konstantna tj. O(1) i odnose se na prvi nain pronalaenja reenja). c z s Primer 2. Fibonaijevi brojevi (Leonard de Pise, Bonaccij-jev sin 1540 .) c f Rekurzivna denicija F (n) = F (n 1) + F (n 2), F (2) = F (1) = 1 Za n=30 npr. potrebno je 832040 izraunavanja tj. rekurzivno raunanje c c

Osnove vetake inteligencije I s c je O(F (n)), to je veoma skupo. s Iterativno reenje glasi : s Fibonacci(n) i:=2; u:=1; v:=1; repeat while i!=n i:=i+1; w:=u; u:=u+v; v:=w; return u; end Fibonacci Sloenost je O(n) - potrebno je izvriti n-2 koraka sabiranja. z s

93

Eksplicitno reenje rekurentne relacije se trai u obliku F (n) = rn s z preko karekteristine jednaine. Eksplicitna formula glasi : c c [(1 + 5)n (1 5)n ] F (n) = 2n 5 Problem sa ovom formulom je taj da je rezultat prilino veliki broj s c pokretnim zarezom i samim tim s velikom grekom a trai se ceo broj s z tako da je to nepraktino u ovom sluaju. c c Primer 3. Sortiranje pored enjem. Skup od n brojeva moe biti ured na z en n! naina (permutacije). Stablo pretrage za proizvoljni algoritam e c c imati 2t listova sa t pored enja. Kako je 2t > n!, prema Stirlingovoj n+1 formuli koja tvrdi da je za veliko n n! reda n 2 pa je t = O(n log n). Klasian ,,bubble sort algoritam je O(n2 ) to je loije od teoretskog c s s O(n log n). Bolji algoritam moemo dobiti ,,takmienjem parova brojeva pri z c emu redukujemo broj poredjenja. Dubina stabla je tada log2 n. U c svakom koraku polovimo broj elemenata (uz upotrebu ,,heap struktura) koji se porede, i u najgorem sluaju, ukupan broj potrebnih c pored enja je n broj potrebnih pretraga stabla od n elemenata, tj. O(n log n) to je najbolje mogue reenje. Sortiranje je primer netrivis c s jalnog reenja za koje moemo dati polinomijalni algoritam. s z Primer 4. Pronalaenje najkraeg puta izmed taaka mree (grafa). Krajz c u c z nje je nepraktino nabrajati sve mogue putanje i traiti najkrau c c z c za poetak uzeti samo elementarne putanje (bez samopresecanja, tj. c

94

Seminarski rad svaki vor se pojavljuje najvie jednom). Moe se krenuti od poetne c s z c take ka susedima pa onda dalje iterativno - za svaki stupanj se tako c zna putanja minimalne duine (bez potrebe za rekurzijom tj. backz tracking-om). Time se vorovi grafa dele u dve particije: S - gde se c za sve vorove zna minimalno rastojanje od vora 1, S - gde to jo nije c c s poznato. Na poetku S = {1}. Ako je 1 polazna taka, a n zavrna c c s taka putanje koja se trai u grafu ({1, ..., n}, U ) td. U {1, ..., n}2 , c z D (i) =udaljenost od 1 do vora i, i S , D(i) =najkrae rastojanje c c od 1 do i, i S na datum stupnju, L(i, j) = pozitivno rastojanje za luk (i,j). Tada na svakom stupnju vai: z ako i S onda D(i) = D (i) inae i S i vai D(i) = min[D(k) + L(k, i)], k S , (k, i) U c z Na poetku je S = {1}, D (1) = 0, D(i) = , i = 1. c Tada, ako je D(j) = miniS [D(i)] za neko j S onda je D(j) = D (j) najkrai put od 1 do j (dokaz po konstrukciji puta iz dva dela, od 1 do c prve take u S i ostatak do j). Algoritam koji sledi iz ovoga: c D(1):=0; S:={2,3,...,n}; do i S: if (1,i) U then D(i):=L(1,i) else D(i):= ; while S = repeat choose j S such that D(j) = miniS D(i); S:=S-{j}; do i S and (j, i) U D(i):= min[D(i), D(j) + L(j, i)]; end repeat; end Algoritam su prvi dali Mur 1957. i Dijkstra 1959., varijacije algoritma su dali Dantzig 1960. i Whiting i Hiller 1960. Sloenost algoritma se z n 2 moe oceniti sa k=1 (n k) tj. O(n ). Ako se pretpostavi da je graf z orijentisan postupak je isti, za razliku od sledeeg primera: c

Primer 5. Problem redosleda poslova / zadataka (task-ordering problem). Ako ured eni graf predstavlja redosled procesa sa vremenima potrebnim za njihovo obavljanje onda je cilj nai putanju sa maksimumom c zbira vremena tj. vreme za koje je minimalno potrebno da se obavi ceo proces (od take to take npr.). Pod uslovom da nema ciklusa c c u grafu, ideja je slina prethodnom D(i) = maxjJ [D(j) + L(j, i)] se c

Osnove vetake inteligencije I s c

95

trai iterativno, ali je mogue nai redosled po kome traiti vorove da z c c z c bi se dobila najbolja konvergencija. Uvek postoji polazni vor tj. vor c c bez ulaznih lukova ako je graf ured en. Ako nema ciklusa onda se moe z pokazati da postoji bijekcija iz skupa taaka grafa X u {1, ..., n} za c svaku putanju od do td. ((x1 , x2 ) U )(x1 ) < (x2 ). Tako se vorovi klasikuju u ,,slojeve Yk (ako se iz grafa najpre izbaci poetni c c vor zajedno sa lukovima koji ga povezuju s narednim onda naredni c predstavljaju nove poetne vorove u novom ,,sloju): c c

Ovakav graf sadri potrebne informacije: z -poetak procesa, -kraj procesa, A, B, C ... - su zadaci, a broc jevi predstavljaju vreme u satima potrebno za izvrenje zadataka. Uss merenje grafa govori o moguem redosledu izvravanja zadataka. Probc s lem se svodi na nalaenje puta od do za koje je suma vrednosti z grana (teina grana) maksimalna (u suprotnom neki od poslova ne bi z bili zavreni u datom vremenu). s Prethodni algoritam koji se odnosio na pronalaenje minimalnog puta z moe biti modikovan za reavanje ovog problema, uzimajui u obzir z s c odsustvo ciklusa i prolazak kroz granu samo jednom. Proces zapoinje c zato to vai sledee svojstvo: s z c

96

Seminarski rad

Svaki konaan graf bez ciklusa ima najmanje jedan vor koji nema predc c hodnika (izvor). Teorema 12 Konaan usmeren graf je bez ciklusa ako i samo ako posc toji bijekcija v skupa vorova X u interval 1.n, gde je n ukupan broj c vorova u X takav da c x(x1 , x2 ), (x1 , x2 ) U : v(x1 ) < v(x2 ) Ovaj problem reavamo reorganizacijom grafa. Cvorove grupiemo u s s slojeve tako da ne sadre vor koji ima predhodnika (ne postoji grana z c koja spaja dva vora unutar jednog sloja). c Ovaj metod je poznat kao metod potencijala-Bernard Roy 1960. Algoritam: p:=1; T:=X; K;=0; while T = repeat ( Yk je skup polaznih) izvora u T do (i)i Yk (i) := p ; p:=p+1; do (j)j X, (i, j) U izbaci (i,j) iz U; T:= T Yk ; k:=k+1; end repeat; Nakon ovakve konstrukcije vai da ako pomenutom bijekcijom prenuz meriemo graf td. (i, j) U i < j. Algoritam je onda jednostavan: s D (1) :=0; D (2) :=L(1,2); repeat for j, 3<j<n: D (j) := max(i,j)U [D (i) + L(i, j)]; end repeat; Algoritam je takod sloenosti O(n2 ). e z

Osnove vetake inteligencije I s c

97

Faze koje se nameu u reavanju problema tj. primera u ovom poglavlju: c s 1. Analiza problema koja podrazumeva stavljanje u oblik koji je laki s za razumevanje 2. Prouavanje problema izraenog u ovom jednostavnijem prostoru, c z pomou metoda koje su vod c ene jednostavnim idejama proizalim s iz primera 3. Generalizacija 4. Konstrukcija i dokaz algoritma za reavanje s s Primer 8 Topoloki problem Ojlervoih ciklusa (ponatiji kao problem Kenigzberkih mostova, nad rekom Pregel u s gradu Knigsberg) Treba pronai ako je mogue putanju koja poinje u o c c c nekoj taki grafa i prolazi kroz svaki luk grafa tano jednom i vraa se c c c na poetak. Preduslov je da je graf povezan. Potreban uslov je takod c e i da je stepen svakog vora paran (da bi za svaki dolazak u teme posc tojao i razliit odlazak), a to je ujedno i dovoljan uslov. c Dokaz se izvodi matematikom indukcijom: c (IH) Povezani graf sa manje od m vorova u kojem svi vorovi imaju c c paran stepen sadri Ojlerov put i umemo da ga nad z emo. Posmatrajmo G(V, E) sa m grana. Neka je P neki ciklus u G i G graf dobijen uklanjanjem grana koje ine P iz grafa G. Stepeni svih c vorova u G su parni jer broj uklonjenih grana susednih bilo kom voru c c je paran (kada ud emo u vor, moramo i izai iz njega). (IH) se ne moe c c z primeniti na G jer on ne mora biti povezan. Izdvojimo komponente povezanosti G1 , G2 ...Gk i (IH) primenimo na njih. Izdvojene zatvorene Ojlerove cikluse oznaimo sa P1 , P2 ...Pk i sada je samo potrebno da c ih objedinimo u jedan povezani graf. Ovaj problem je dosta slian c Hamiltonovom problemu, gde je to problem pronalaenja ciklusa kroz z vorove, ne kroz grane (Hamiltonov ciklus je specijalan sluaj Ojlerovih c c gde se prolazi samo jednom kroz svaki vor). Med c utim, taj problem pripada drugoj klasi problema. Opis postupka: prilikom svakog prolaska kroz neki luk on se izbacuje (oznaava). Ako se pretpostavi da ne moe da se napravi takva putanja c z ali se zavrava u V, ostaje nekoliko povezanih podgrafova Gi koji se s

98

Seminarski rad sustiu sa putanjom P u vorovima gi . Ako se polazi od vora V, konc c c struie se putanja P od V do g1 , Ojlerov ciklus E1 u grafu G1 koji s poinje i zavrava se u g1 , a onda dalje od g1 do g2 itd. sve dok se ne c s iscrpe svi podgrafovi, onda povratak u V. Petlja na izolovanom voru c je takod Ojlerov ciklus (Euler, 1736. je dao prvi dokaz). e Euler(w); u:=w; P:=null; repeat while exists {(u,v) je prvi luk iz u koji nije oznaen} c oznai (u,v); c P:=P {(u,v)}; u:=v; until u=w; return P; end Euler;; Sada je lako zapisati algoritam: P:=Euler(S); repeat while postoje neoznaeni lukovi u G; c [H je vor koji i na putanji P i na neoznaenom luku] c c spoj putanju Euler(H) sa P; end repeat; Algoritam je sloenosti O(|U |), dok je algoritam provere potrebnog i z dovoljnog uslova O(n).

9.1

Algoritmi za koje su poznata polinomijalna reenja s

Daleko je manji broj klase algoritama za koje je poznato da su polinomijalne sloenosti u odnosu na ostale. Za mnoge od njih je tek u zadnjih 20-30 z godina otkriveno polinomijalno reenje i dokazano da jesu optimalno takvi. s To barem daje opravdanje za dalja istraivanja u oblasti VI. Jo neki primeri z s sa njihovim sloenostima su: z Pronalaenje rei u tekstu od n rei - nO(n) z c c Konstrukcija drveta najmanje cene za graf sa m lukova - O(m log m)

Osnove vetake inteligencije I s c

99

- npr. vodovod za zadate mogue putanje (Kruskal 1956, Prim 1957, c Tarjan 1977) Pronalaenje najkrae putanje izmed zadatih vorova sa n vorova i m z c u c c lukova - O(mn) (Dijkstra 1959, Dantzig 1960, Floyd 1962, Ford 1965) Povezane komponente - O(n2 ) - pronai maksimalno povezane podc grafove datog grafa n vorova (Tremaux 1882, Tarjan 1972) c Tranzitivno zatvorenje grafa (relacije) - O(n2 ) Maksimalno pored enje - O(n5/2 ) - cilj je nai podksup svih lukova td. se c ne sustiu ni u jednom temenu (teorema Claude Berge-a daje osnovu, c Jack Edmonds je naao polinomijalno reenje) s s Maksimalni protok - O(n3 ) - ako su lukovi oznaeni protokom odred c enog tipa, nai maksilan izmed dva vora (Ford, Fulkerson 1950, Gondran, c u c Minoux 1978) Testiranje planarnosti grafa - O(n) - da li je mogue prikazati graf u c ravni bez presecanja lukova (Kuratowski 1930 O(n6 ), Hopcroft, Tarjan O(n log n), O(n) 1970-1974) Linearno programiranje - reiti u Rn : Ax b, A Rmn , b Rm , s a moe se i dodati uslova da neka realna funkcija cx ima minimalnu z vrednost; koristi se u operativnim istraivanjima (Dantzig-ov algoriz tam, simpleks metoda, zbog konveksnosti prostora pretraivanja konz vergira ka optimumu tek kada se prod kroz odred broj taaka to e en c s je O(nm ) ali u praksi vie kao O(n3 ); L. G. Kachian 1979. je naao s s algoritam polinomijalne sloenosti koji je kao posledicu imao mnoge z algoritme numerike analize zadate tanosti - iste sloenosti) c c z

100

Seminarski rad

9.2

Klasikacija problema prema sloenosti z

Sloenost procedure deniemo kao gornju granicu broja elementarnih z s operacija potrebnih za reavanje, izraenih u funkciji veliine ulaznih pos z c dataka. Sloenost problema je sloenost najbolje poznate procedure za njez z govo reavanje. s Nameu se dva pitanja: c Do kojih granica se moe poboljati neki algoritam? z s Da li sloenost moe sugerisati grupisanje u klase? z z Navedimo klasikaciju problema shodno sloenosti: z 1. polinomijalni algoritmi (sastoje se od svih problema iji su algoritmi c poznati i sloenost im je polinomijalna funkcija veliine ulaznih poz c dataka) 2. sutinski eksponencijalni algoritmi (sloenost ove klase je najmanje reda s z n f , gde je f ili konstanta ili polinom od n 3. problemi koji nisu ni polinomijalni ni eksponencijalni (za ovu klasu vai z da se za njih ne zna nijedan algoritam polinomijalne sloenosti) z Navedimo samo neke od problema za koje su poznati algoritmi polinomijalne sloenosti: sortiranje skupa od n brojeva O(n log n), pronalaenje Ojlerovog z z ciklusa O(n), konstrukcija minimalno povezanog stabla O(m log n), najkrai c put izmed vorova grafa od n vorova i m grana O(mn) itd. u c c Ako je n mera veliine podataka (duina niza cifara npr. u operaciji sabic z ranja) i ako je broj koraka algoritama oblika ax+b onda je algoritam sloenosti z O(n), linearan. Linearni algoritmi su obino najbolji po pitanju sloenosti. c z Osnovne klase algoritama prema sloenosti su: z klasa P: polinomijalni algoritmi Klasa ,,dobrih problema, za koje postoji poznat algoritam sloenosti z r O(n ) gde r ne zavisi od n. s klasa E: sutinski eksponencijalni algoritmi algoritam ija je sloenost barem O(f n ) - stvar moe biti i gora, jer f c z z ne mora biti nsamo konstanta ili polinom, ve takod eksponencijalna c e 2... funkcija (2 )

Osnove vetake inteligencije I s c

101

klasa III: problemi koji nisu ni P ni E Nita u njihovoj formulaciji ne ukazuje da su sutinski eksponencijalni, s s niti je nad polinomijalan algoritam za njihovo reavanje. Primeri: en s Ceolobrojne (Difoantove) jednaine c Traenje ciklusa koji prolazi kroz svaki vor datog grafa samo z c jednom (Hamiltonov problem, nasuprot Ojlerovom gde je uslov da ciklus prolazi kroz svaki luk) postojanje skupa logikih vrednosti koje zadovoljavaju logiki izraz c c (Cook, 1971) Problem optimizacije putovanja putujeeg trgovca (u narednom c poglavlju) z Problem biranja fajlova u nestruktuiranoj bazi radi pretrage (traenja nekog elementa) po najmanjoj ceni optimalno pakovanje po najmanjoj ceni dijagnoza / troubleshooting (npr. kod ekspertnih sistema) itd.

9.3

klasa NP: nedeterministiki polinomijalni problemi c

Tjuringova deterministika maina (DTM kojom se npr. formalno zasc s niva pojam algoritma i moe se pokazati da je ekvivalentan slinim formalz c izmima kao to su rekurzivne funkcije) je automat sa stanjem, programom s i domenom koji vri u svakom koraku neku operaciju nad domenom koja s zavisi od stanja i promeni stanje. Pored te maine postoji NDTM (nedeters ministika Tjuringova maina) koja se u odnosu na DTM razlikuje u samo c s jednoj dodatnoj instrukciji choice[S]. Ova instrukcija kreira onoliko kopija maine koja je izvrava koliko ima elemanata u S i dalje nastavlja izvranje s s s paralelno sve dok jedna od kopija ne izvri komandu stop. Ovako neto je s s veoma korisno za probleme koji se reavaju nabrajanjem tj. ispitivanjem svih s mogunosti pokuavanjem i grekom (,,trial and error) sve do reenja. c s s s Primer 1 - izvodljivost logikog iskaza sa promenljivama q1 , ..., qn - iskaz je c izvodljiv ako postoje vrednosti promeljivih tako je njegova vrednost . Skica algoritma za iskaz E(q1 , ..., qn ):

102 repeat for i, 1 i n: qi := choice[T,F]; end repeat; if E(q1 , ..., qn ) then IZVODLJIV; else NIJE; stop; Tako nastaje 2n kopija.

Seminarski rad

Primer 2: bojenje mape pomou 3 boje - oblasti su R1 , ..., Rn od kojih c su svake dve susedne razliite b oje: c boja( R1 ):=c1; repeat for i, 1 i n: if R1 usednaRi then nadji boju za Ri s end repeat; repeat for k, 1 k n: while postoje regioni koji nisu obojeni if Rk obojiva samo bojom j then boja( Rk ) := j; else Rmin je region sa najmanjim indeksom za kojeg su boje j1 i j2 raspoloive; z boja( Rmin ) := choice[j1,j2]; end repeat; stop; Svaka kopija je DTM, ako je pri tom svaka klase P onda je problem NP. P NP Neki put je potrebna veoma mala promena parametra algoritma da bi postao P umesto NP (npr. ako se u drugom primeru koriste dve umesto tri boje). U prvom primeru ako je iskaz dat u normalizovanoj formi i ako se algoritam drugaije napie moe se dobiti algoritam koji je polinomijalan u odnosu na c s z broj elemanata normalizovane forme. Pored pomenutih, primeri su i: Pokrivanje datog skupa - za datu familiju F podskupova Ei skupa E nai podfamiliju G td. c Ei = Ei
G F

Particija skupa: slino prethodnom, td. su Ei proizvoljni skupovi iz G c i Ej Ek = za svako j = k (disjunktni)

Osnove vetake inteligencije I s c

103

Pronalaenje klike od k vorova neured z c enog grafa: klika je skup vorova c sa lukom za svaki par, k-klika je klika sa k vorova. c Egzistencija Hamiltonovog ciklusa za neured graf en ,,knapsack: nai xi {0, 1} za date cele brojeve ai , b td. c
n

ai xi = b
i=1

ili uopte, reavanje Diofantove jednaine s s c Binarno particioniranje skupa S = {y1 , ..., yn } celih brojeva na dva podskupa S1 i S2 td. yi = yi
iS1 iS2

c eni graf i cenu manju od zadate je Problem putujueg trgovca za ured problem Hamiltonovog ciklusa sa cenom manjom od zadate: v1 :=1; // poetni vor c c nv := 1; // broj obid enih vorova c cena := 0; S:={2,...,n}; repeat while S = vnv+1 := naslednik(od vnv u S); nv := nv + 1; S := S - { vnv+1 }; cena := cena + cena(luk( vnv , vnv+1 )); end repeat; if nv=n and and cena b then USPEH stop else NEUSPEH; Ali sam problem optimalnog Hamiltonovog ciklusa nije NP i zapravo je problem komplentaran ovom jer se trai da li postoji ciklus cene vee z c od zadate, to se moe znati tek kada sve kopije maina vrate USPEH s z s ili postoji neka sa vrednou NEUSPEH. Za problem komplementaran sc problemu P klase je jasno da je takod P, ali za NP to nemora da vai. e z Denicija 9.1 Problem Q je svodljiv na problem R ako za reenje s problema s R postoji polinomijalno izraunljiva funkcija g td. je g(s) reenje problema c s Q.

104

Seminarski rad

Pie se Q R. Znai da ako moe da se rei R onda moe i Q. s c z s z Denicija 9.2 Ako je Q R i R Q onda su Q i R ekvivalnentni. Denicija 9.3 Problem je NP-teak akko bilo koji NP problem moe biti z z sveden na njega. NP-teak ne povlai da jeste NP. z c Teorema 13 Fundamentalna teorema (Cook) SAT problem (zadovoljivost logikog izraza) je NP-teak. c z

NP-kompletni

P NP

NP-teki s Ostali problemi ...

Denicija 9.4 Problem je NP-kompletan akko je NP-teak i ako NP. z Mnogi klasini problemi su NP-teki i NP-kompletni, tavie, td. teko da je c s s s s N P = P . Svi NP-kompletni problemi su ekvivalentni u tom smislu da ako jedan moe da se rei polinomijalno onda mogu i ostali. Ali ne znamo da li z s su polinomijalni i da li postoji deterministiko reenje za neki od njih. c s Svodljivost je tranzitivna, i uz dokaze gde se izodljivost logikog izraza svodi c neki problem (konjunktivna normalna forma, KNF) moe se dobiti npr. z ovakvo drvo svodljivosti nekih NP-kompletnih problema:

Osnove vetake inteligencije I s c SAT ( ukazuje na relaciju svodljivosti) k-klika postoji Hamiltonov ciklus Hamiltonov ciklus pokrivanje ,,knapsack binarno particioniranje ...

105

c 3-SAT (sa tano 3 literala po klauzuli) bojenje particioniranje izvodljivost sistema celobrojnih nejednaina c Na kraju, malo je problema za koje se moe rei da su dobri, veina ostalih z c c zato se i tie oblasti VI. Sam problem prepoznavanja nekog od klasinih c c (poznatih) dobrih problema i njihovo prevod enje u oblik koji je upotrebljiv za direktnu primenu poznatog algoritma je sam po sebi nepolinomijalan problem !

106

Seminarski rad

10

Reavanje problema propagiranjem i nabras janjem

Ovo poglavlje se bavi detaljnije metodama nabrajanja pomentim na poetku c prethodnog. Denicija 10.1 Kombinatorni problem je problem oblika: nai element x c X td. vai skup uslova K(x) gde je X konaan i diskretan (postoji konana z c c separacija izmed svake dva para taaka tj. skup je diskontinualan). u c Uopteni postupak za reavanje jeste: s s 1. izaberi prvu x0 X koja nije razmatrana 2. proveri K(x0 ) i 3. ako nije zadovoljen neki uslov, pred na 1 4. x0 je jedno reenje, pred na 1 ako su potrebna sva reenja s i s Primer: Pronalaenje izlaska iz lavirinta (x0 je trenutno polje, isprobavaju z sve dostupne putanje redom, ako se iscrpu reenja back-tracking na neko s ranije gde nije).

10.1

Gradijent metode

Metode poznate i kao ,,hill-climbing (gradijent je varijacija, gradus = korak), za svaki problem se nalazi funkcija iji se ekstrem trai tako to se za c z s svaku iteraciju pribliava ekstremu. Metoda ima svoja ogranienja, zahteva z c pre svega da slika oblasti u kojoj se reava bude konveksna (inae ne garans c tuje reenje, ne pamti prethodne korake i ne snalazi se sa ,,preprekama tj. s ne razlikuje globalne od lokalnih ekstrema, postoje modikacije i primeri numerikih algoritama). Jedan primer je simpleks algoritam i neke njegove c varijante. Prednosti ovog metoda: smanjuje se broj vorova koje treba obii, c c ekasnost je ista kao kod pretrage stabla u dubinu. Nedostaci ovog metoda: lani vrhovi u kojima e doi do povratka, a i z c c reenje ne mora biti pronad s eno iako postoji; neophodna je heuristika pretrage. Generalna strategija za prethodni problem u okviru ove metode je da se pronad uz neke mokacije globalni optimum na osnovu lokalnih optimuma e te ovo moe biti dobro ak i ako prostor pretrage nije povezan. z c

Osnove vetake inteligencije I s c

107

10.2

Linearno programiranje

Problemi oblika A x b, nai Z = max(c x), x Rn . Simpleks algoric tam, [JL]: 1. Presek vie nejednaina tog oblika daje poliedar (ogranien ili ne) s c c 2. Svaka taka poliedra je linearna kombinacija svojih temena (ekstremnih c taaka), koje su presek m hiperravni dobijenih iz m jednaina - temena c c   n n onda ima m u R 3. Optimum nije unutar poliedra jer se moe konstruisati taka na povrini z c s linearnim kombinacijama (preformulie se sistem dodatnim pomonim s c promenljivama za nejednaine po kojima se onda isto trai maksimum, c z ksiraju se dostignuti maksimumi, gradijent je koecijent u pivotiranoj matrici takvog sistema) poevi od trivijalnog reenja za x = 0 td. je Z c s s uveano. Ako problem nije degenerisan rang(A) = m onda je mogue c c ivicom povrine stii tako do najblieg temena s c z 4. Baza od A je podksup pljosni [1, , m] kojima odgovara kvadratna matrica B ranga n dobijena od A. Onda je optimum dostignut samo kao reenje baze. A se particionie u dve podmatrice A i N td. je s s B xB + N xN = b, bazno reenje denisano sa xN = 0 se nalazi s reavanjem (Kramer) B xB = b. s 5. Algoritam pretrauje samo ostvarive baze xB 0 etajui od temena do z s c temena (jedna promenljiva sa vrednou 0 se zamenjuje drugom da bi se sc dobila vrednost razliita od 0 ako je mogue), vod gradijent metodom c c en kao izborom. Broj temena je konaan pa algoritam konvergira. c

10.3

Gradijent metoda u teoriji grafova

Ako je G = (X, U ) oznaen graf teinama (svakom luku dodeljena), nai c z c parcijalno drvo A = (X, V ) minimalne ukupne teine (drvo nema ciklusa i z za n temena ima n 1 luk). Kruskal je predloio metodu gradijenta (ovaj z algoritam se zove jo i ,,pohlepni): s uredi lukove po teini; z V:= ; while ima lukova koji nisu razmotreni

108

Seminarski rad

if prvi od ovih ne formira ciklus sa V then dodaj ga u V; end;

10.4

Heuristiko pretraivanje c z

Jedna uoptena klasa problema se moe reavati na sledei nain: s z s c c 1. Izaberi neku akciju iz skupa moguih c 2. Izvri je promenivi trenutno stanje s s 3. Evaluiraj novo stanje 4. Odbaci neeljena stanja z 5. Ako je dostignut cilj - kraj, inae ponovo 1. c Simpleks algoritam je primer heurstike gradijent metode. U koracima 1, 3 i c 5 se koristi obino funkcija kojom se evaluira stanje. Tako se moe prethodni c z Kruskalov algoritam modikovati i poboljati: uvek se bira luk najmanje s teine med raspoloivim, nema potrebe sortirati lukove, i ako se naid na z u z e ciklus u V nakon dodavanja se obrie luk najvee teine u V. s c z Kod ovakvih algoritama se obino vode dve liste vorova - jedna za ve c c c obid ene vorove (zatvorene) i one koje su raspoloivi za pretragu (otvorene, c z npr. poetni). c

10.5

A algoritam

Poboljanje gradijent metode u smislu navedenih nedostataka (Hart, Nilss son, Raphael, 1968-1972). Ako je S0 poetno stanje i S situacija u nizu kao c posledica akcija algoritma, cilj je dostii odred c eno stanje. Funkcija f (S) ima numeriku vrednost u ovom algoritmu td. f (S) = g(S) + h(S) gde je g(S) c poznata cena u postizanju stanja S (c(S1 , S2 , a) je cena od stanja S1 do S2 akcijom a), a h(S) heuristika funkcija koja procenjuje cenu dostizanja reenja c s iz S najboljim (optimalno) moguim redosledom akcija. Ako je h (S) minic mum cene za proizvoljan put od situacije S do reenja, onda je h(S) donja s granica: 0 < h(S) h (S) (obino se koristi najbolja procena h jer se retko c moe izraunati ba h ). Ako je g (S) najmanja cena dostizanja situacije S z c s od poetne S0 onda je f (S) = g (S) + h (S) reenje najmanje cene koje c s

Osnove vetake inteligencije I s c prolazi kroz S, a f (S) je njegova procena i donja granica. A algoritam:

109

Korak 0: konstruii graf R = (E, A) (lukovi su akcije), s f (S0 ) O, O S0 (particija otvorena za pretraivanje), z C (particija zatvorena za pretraivanje) z dok je O = ponavljaj Korak 1: izaberi S O td. je f (S) minimum O O S, C C + S ako je S reenje stani, inae: s c Korak 2: razvij S konstruiui stanja Si , 0 i nS redom iz akcija S s c Korak 3: za svako ovo i raunaj f (Si )novo = g(Si )+h(Si ) td. h(Si ) h (Si ) c Korak 4: u O stavi sve Si koji nisu ni u O ni u C, a za one koji jesu: f (Si )novo min[f (Si )staro , f (Si )novo ] ako je Si u C onda C C Si , O O + Si opet Moe se pokazati da algoritam uvek nalazi reenje ako postoji konaan niz z s c akcija koji vodi od poetnog stanja ka reenju: c s Teorema 14 Algoritam A se zavrava ako postoji konaan niz akcija od s c poetne situacije S0 do reenja. c s Trivijalna posledica: ako je skup akcija konaan kao i broj moguih situacija, c c onda A na osnovu ovoga konvergira. Dokaz (reductio ad absurdum): graf nije konaan, A ne konvergira to je mogue samo akko O raste beskonano, c s c c to znai da je vrednost f (S) neograniena. Ako je v (S) broj akcija od S0 do s c c S (ne mora uopte da se poklapa sa A putanjom), i onda na osnovu denis cije g vai: g(S) g (S) > kv (S), gde je k neka konstanta. Poto je h(S) z s nenegativna, vai: g(S) G(S) > kv (S), pa ako je v neograniena onda je z c i f (S) (A ne konvergira). Moe se ipak pokazati da tokom izvravanja A z s uvek postoji situacija S2 takva da je f (S2 ) f (S0 ): ako postoji konaan c niz akcija od S0 do cilja, neka je S2 (mora postojati ako A nije konvergirao) prva situacija td. je S2 O. Poto je f (S2 ) = g(S2 ) + h(S2 ) i po denis ciji situacije pre S2 su u C, vai g(S2 ) = g (S2 ). Po konstrukciji A vai z z h(S2 ) h (S2 ), i odatle konano: f (S2 ) g (S2 ) + h (S2 ) = f (S2 ). Ako je c niz akcija optimalan, onda je f (S2 ) f (S0 ), to protivrei pretpostavci da s c je f neograniena. c

110

Seminarski rad

Najvea mana algoritma je njegovo ponaanje kada nema reenja. Prec s s trae se sva stanja da bi se zakljuilo da nema reenja - primer: slagalica z c s 3 3, g(S) = broj koraka od S0 do S, h(S) = broj elemenata koji nisu na pravom mestu. Varijanta algoritma kada su teine sortirane je algoriz tam za pronalaenje najkrae putanje kroz graf (Moore-Dijkstra, 1957), kao z c i uoptenje (koje je predloio Pohl, 1970): f (S) = (1 )g(S)+ h(S), td. je s z 1 onda = 2 zapravo A -algoritam, = 1 gradijent metoda ( = 0 ,,British Museum), mada se moe vrednost menjati i dinamiki. z c

10.6

Implicitno nabrajanje propagiranjem uslova

Ovo se moe objasniti kroz primer problema rasporeda dama na ahovskom z s polju N N td. nijedna gura ne napada drugu (i da je u u svakom redu po jedna). Ako se pretpostavi da je X = N Yi gde je Yi = {1, , N } nekakav i=1 skup izbora, onda se ovaj problem moe prikazati kao traenje x X td. je z z ispunjeno K(x) i uoptiti ako se posmatra svaki element iz x kao neki izbor s datih mogunosti. Reavanje ovog problema pretraivanjem redom po drvetu c s z mogunosti izbora iz reda u red (u dubinu) je onda algoritam implicitnog c nabrajanja (uoptenog kombinatornog karaktera). Postoje dva poboljanja s s ovakvog algoritma za problem dama koja se svode na poboljavanje provere s uslova i izbora obilaska drveta pretrage. Pomenutim metodom nabrajanja se mogu pamtiti izbori u nekom vektoru brojaa kojima se pravi backtracking i c proverava uslov K(x) ali se ne postavlja zauzetost polja na osnovu izbora za naredne izbore; zato, prvo poboljanje je da se umesto vektora brojaa kos c risti vektor vektora odnosno matrica ,,zauzetosti polja (elementi su indeksi izbora ili 0 ako je polje ostalo slobodno), i tree, da se na kraju pravi izbor c redosleda redova (najpre oni koji imaju manje slobodnih polja). Primer - verzija 1 (posmatramo tablu 4x4): Neka yk oznaava koju smo poziciju izabrali za damu, a Lk je vektor u koji c zapisujemo zabranjene pozicije. Na poetku su sve pozicije u vektoru dozvolc jene (slobodne) pa je L1 = L2 = L3 = L4 = (0, 0, 0, 0) Ako izaberemo y1 =1: L1 L2 L3 L4 = (1, 1, 1, 1) = (1, 1, 0, 1) = (1, 0, 1, 1) = (1, 0, 0, 1)

Osnove vetake inteligencije I s c

111

Znai ako smo izabrali da je dama na prvoj poziciji, onda su sva polja u c prvoj vrsti, prvoj koloni i po dijagonali zabranjena. Sledee polje koje bic ramo neka bude na poziciji druge vrste i tree kolone, te poto je to drugi c s izbor po redu obeleimo ga sa 2. Zabranjena su sl. polja z L2 = (1, 1, 2, 2) L3 = (1, 2, 1, 1) L4 = (1, 0, 2, 1) Vidimo da nam u treoj vrsti ne ostaje nijedno dozvoljeno polje pa vrimo c s bektrek. Izaberimo u drugoj vrsti etvro polje c L2 = (1, 1, 2, 2) L3 = (1, 0, 1, 1) L4 = (1, 0, 0, 1) Ovo nam omoguava izbor u treoj i etvrtoj vrsti. c c c Problem osam kraljica - verzija 2: Osnovna razlika izmedju prve i druge verzije je da je shema izvod enja testiranja promenjena tako to se posle svakog uinjenog izbora uzima u obzir s c ono to taj izbor povlai. Sva polja koja su slobodna postaju zabranjena s c i zapisana u vektor slobodnih zajedno sa brojem izbora (biramo slobodno polje koje nam omoguava vie nezabranjenih polja u sledeem koraku). c s c

112
L1 L2 L3 L4 1 1 1 1 1 1 2 1 2 1 2 1 2 2 1 L1 1 L2 1 L3 1 L4 1 1 1 3 2 1 1 1 3 1 2 2 1

Seminarski rad

L1 L2 L3 L4

1 1 1 1

1 1 3 3

1 1 1 1

1 1 2 4

1 2 1 2

Primer je i dinamiko programiranje (optije od linearnog programiranja c s - ako se funkcija dekomponuje na kompoziciju funkcija od kojih je prva monotono nerastua onda se problem svodi na potproblem optimizacije druge c funkcije, primeri nad diskretnim skupovima):

10.7

Dinamiko programiranje c

Dinamiko programiranje je metod za reavanje problema optimizacije. c s Osnovna ideja je traenje optimalnog reenja problema upotrebom optimalz s nih reenja potproblema. Reavanje se obino odvija u koracima ili fazama s s c i svakom takvom koraku postoji odred broj mogunih izbora: ako dva raen c zliita niza odluka daju reenje, samo e bolje od njh biti uvano. Obino c s c c c se zadaje funkcija ija se ekstremna vrednost trai pod nekim dodatnim c z uslovima - npr. ako je data tabela cene proizvodnje 0-4 artikla (kolone) u toku tri meseca za svaki mesec posebno (vrste), cilj je proizvesti (bar) 4 artikla za 3 meseca po to manjoj ceni. Za svaki broj artikala u treem mesecu s c se nalazi optimalan (minimalan) zbir preostalog broja artikala u prva dva meseca ukupno (potproblem), i na kraju ukupno optimalno reenje tj. zbir s (minumum). Optimalno reenje zavisi od izbora potproblema kao zbira ali ne s i od pojedinih njegovih vrednosti. Linearno programiranje je takod primer, e a i mnogi drugi problemi se mogu reavati ovom metodom (npr. knapsack, s brojni primeri iz operacionih istraivanja, ekonomije, itd.). z z Denicija 10.2 Funkcija f tri realne promenljive u, v, w moe se dekomponovati ako 1. postoje funkcije g, h tako da f moe biti napisana kao kompozicija: z (u, v, w)f (u, v, w) = g(u, h(u, w))

Osnove vetake inteligencije I s c 2. funkcija g je monotono neopadajua c

113

Za dinamiko programiranje znaajna je sledea teorema (koja se moe uoptiti c c c z s na proizvoljan broj promenljivih i potfunkcija): Teorema 15 Za svaku realnu funkciju realnih promenljivih u, v, w takvu da ju je mogue dekomponovati f (u, v, w) = g(u, h(v, w)) vai: c z optu,v,w [f (u, v, w)] = optu [g(u, optv,w [h(v, w)])] Znaaj dinamikog programiranja ogleda se u sledeem: c c c Svaka podstrategija optimalne strategije mora i sama biti optimalna. Obino se formiraju velike (memo) tabele sa svim prethodnim rezultac tima koji bi mogli biti od znaaja u narednim iteracijama. Problem je orc ganizovati izraunavanje tabele na najekasniji nain i esto se javlja probc c c lem kombinatorne eksplozije njenih vrednosti. Dinamiko programiranje je c ekasno kada se moe svesti na nekoliko manjih, ali ne sasvim malih nezaz visnih potproblema. Problemi bojenja grafa i trgovakog putnika (traveling c salesman) se mogu reiti ovom metodom, a primer je i Floyd-Warshall-ov s algoritam najkrae putanje ured c enog grafa (zasnovan na rekurzivnoj relaciji p(i, j, k) = min(p(i, j, k 1), p(i, k, k 1) + p(k, j, k 1)) gde su p(i, j, 0) zadate teine lukova) reda O(n3 ). z Na primer, bojenje vorova grafa: potrebno je najpre odrediti najmanji c broj razliitih boja potrebnih za bojanje mape tako da drave koje se granie c z c ne budu obojene istom bojom (hromatski broj grafa je minimalan broj boja potreban da bi se graf obojio - specijalno, za mape na povri postoji kombis natoran dokaz da je taj broj 4, Appel i Haken 1976.), ili npr. raspored ljudi na sastanku uz pravila ko sme pored koga da sedi. Oznaimo sa (G) broj boja, sa S skup vorova grafa, U skup grana (i,j), c c i sa [1,q] skup prvih q brojeva koji predstavljaju boje. Zadatak glasi: Pronai funkciju boje: S [1, q] tako da za sve (i, j) U , boja(i) = boja(j) c i q je minimalno. Moemo postupiti kao i kod problema osam dama: obojimo prvi vor i z c on dalje namee pravila igre dok ne obojimo celu mapu. Med c utim, postoji

114

Seminarski rad

razlika u nainu optimizacije - u ovom sluaju se zaustavljamo pre to nego c c s iscrpimo sve mogunosti, tj. im smo u mogunosti da pokaemo da ne posc c c z toji bolje reenje. s

Polazimo od vora sa najveim stepenom (koji ima najvie neobojenih c c s susednih vorova, ekasnosti radi) i bojimo njemu susedne vorove (analogno c c opet problemu rasporeda dama na tabli) uz ogranienja i backtracking - rezulc tat je ili obojen graf ili injenica da se nemoe obojiti zadatim brojem boja c z (,,pohlepni algoritam). Drugi korak je traenje optimalnog reenja. Gornje z s ogranienje moe biti (u najgorem) broj vorova. Iterativno se smanjuje broj c z c boja dok se ne utvrdi minimalan broj, ali ekasnije je poi od donje granice c i uveavati broj boja. Minimalan broj boja potreban za bojenje date mape c je donekle dualan problemu kardinalnosti najvee klike (klika je potpuno c povezan podgraf, traenje maksimalne klike moe biti sam po sebi zahtevan z z problem) grafa koji predstavlja mapu koji daje praktino donje ogranienje c c i klika koja nije maksimalna ali dovoljno velika potrebnog broja boja. Cak nudi ve neko ogranienje. c c Na ovo se oslanja naredni primer problema putujueg trgovca (najuveniji c c problem operacionih istraivanja): trgovaki putnik mora da obid n razliz c e itih gradova. Znajui rastojanja izmed gradova treba da pronad c c u emo put kojim trgovaki putnik treba da putuje kako bi ponudio svoje proizvode proc lazei kroz svaki grad samo jednom i pravei tako minimalan put. c c Grafovski, problem glasi: za zadati teinski graf G (svakom luku je doz deljen broj) ustanoviti da li u G postoji Hamiltonov put manji od zadate cene a zatim i najmanje mogue cene (problem je NP-kompletan, redukcija c na pokriva grana). Poseban (laki) sluaj su Euklidski grafovi (rastojanja c s c potuju nejednakost trougla, Hamiltonov ciklus kome se izbaci vor onda s c nemoe biti dui), ali u optem sluaju rastojanja mogu biti ak i negativna z z s c c i asimetrina. Problem se reava najpre traenjem proizvoljnog reenja kao c s z s gornje granice (npr. Christodes, 1975), a zatim se trai optimalno reenje z s naelan postupak slian prethodnom. Grubom silom (kombinatorno) probc c lem je reda O(n!), dok se uz upotrebnu pomenutih metoda optimizacije dostie O(2n ). z

Osnove vetake inteligencije I s c

115

10.8

GPS - General Problem Solver

GPS - uopteni reava problema - ime je uvenog programa kojeg su s s c c razvili Newel, Shaw i Simon 1950. a unapredili su ga Ernst i Newel 1957. Zamiljen je kao uopteni sistem VI za reavanje problema, od simbolike s s s c integracije, slagalica do PR1 dokazivanja i gramatike analize, i to jednim c uoptenim postupkom u kome se inicijalni objekti i ciljevi, operatori koji s omoguavaju transformacije nad objektom, i traenje razlike i operatora koji c z je smanjuje izmed dva data objekta. Svaki problem stavljen u GPS ima u oblik : inicijalni objekat, ciljni objekat, skup operatora. GPS je u boljoj poziciji od ljudskog reavaoca zato to postoji lista operacija upotrebljivih za s s taj problem, dok se ovek svega mora setiti ili ak izmisliti u toku reavanja. c c s GPS ima tri cilja: 1. A(O,x) primeniti operator O na objekat x 2. F(O,,x,y) pronai operator O koji e redukovati neke razlike iz c c izmedju x i y 3. T(x,y) transformacija objekta x u y Svi problemi imaju na poetku cilj: T(objekat(poetni), objekat(zavrni)) c c s Polazei od poetnog objekta, koristei opisane metode, GPS trai jedan c c c z ili vie podciljeva dok ili ciljni objekat ne bude dostignut ili dok ne dod s emo do objekta koji je naputen a koji jo moe biti razvijen. Primer za ovakovo s s z reavanje je dao JohnMcCourty 1963. - ,,majmun i banane. Na podu sobe su s majmun i kutija, a grana banana je zakaena za plafon. Majmun moe doi c z c do banana samo ako kutija stoji ispod banana i ako se majmun na nju popne. Problem je trivijalan za oveka to ne vai za opisivanje ponaanja GPS-a u c s z s reavanju zahteva. Reenje zahteva niz koraka. Vrednost ovog primera je da s s pokae u potpunosti detalje kako svakodnevno rezonovanje moe zahtevati niz z z elementarnih akcija. Cilj se dostie mehanizmom koji je ekstremno jednosz tavan i lak za implementaciju. Pretraga je vod ena pomou koncepta razlike c izmed objekata prostora pretrage, pri emu potreba redukovanja neeljenih u c z razlika generie novi cilj na prirodan nain. U GPS pokuajima izbori se s c s prave pomou tabele konekcija za redukovanje razlika izmedju objekata. c Primer operacija za ovaj problem:
O1 veranje :uslov loc(M)=loc(C)

116
akcija :uslov akcija pokret: uslov setnja loc(M)=on(C) x je lokacija loc(M)=x x je lokacija loc(M)!=on(C) loc(M)=loc(C) loc(M)=x loc(C)=x loc(C)=ispod(B) loc(M)=na(C) sadrzaj(rukeM)=B

Seminarski rad

O2 O3

akcija O4 uslov akcija

Zakljuak: GPS pokazuje da je mogue imati jedan uniforman sistem za c c reavanje razliitih, netrivijalnih problema, zasnovan na strategiji identikos c vanja razlika izmedju objekata i redukovanju tih razlika. Ovu ideju je dalje razradjivao Slagle 1963. i Quirilan 1969. Med utim, sistem nije upotrebljiv za iole sloenije probleme i esto je doz c voljno teko formulisati problem i predstaviti ga u GPS-u. s Postoje i druga okruenja za uopteno reanje problema, npr. ALICE (A z s s Language for Intelligent Combinatorial Exploration).

Osnove vetake inteligencije I s c

117

11
11.1

Programi - igre, psihologija reavanja probs lema


Drvo pretraivanja (drvo ispravnih poteza) z

U igri u kojoj uestvuje vie igraa svaki uesnik se trudi da predvidi c s c c mogue poteze ostalih do izvesne dubine i da izabere najpovoljniji potez koji c bi ga doveo do pobede. Dobar primer je ah. Ako se kao skupovi izbora s u algoritmu nabrajanja izaberu mogui potezi u igri, veoma lako dolazi do c kombinatorne eksplozije (otvaranje poine sa izborom od oko 20 moguih c c poteza, to do sredinjice narasta do reda 40-50 moguih poteza - prosena s s c c partija traje oko 40 poteza a ve je 4012 za pretraivanje dubine 12 poteza c z reda veliine broja sekundi starosti sunevog sistema). Veliki izazov zato c c predstavlja igrati, ali i napraviti poboljanja algoritma kojima se ublaava s z eksponencijalnu eksploziju algoritama koji igraju ovakve i neke druge igre u realnom vremenu. Osnovni metod je ograniavanje drveta pretraivanja ili po c z irini ili po dubini. Po irini se mogu odbacivati grane npr. ako se pouzdano s s oceni da ne donose bitnu prednost ili su potpuno nebitne. Po dubini se moe skratiti pretraga ako se zna da preko zadate dubine nije u realnom z vremenu. Potrebno je voditi rauna o tome da neki put presecanje ne pokae c z veoma lo ili dobar ishod u sledeem koraku pa se proverava da li je pretraga s c donela ,,stabilne rezultate. Uopte, algoritmi pretraivanja koji prate stablo s z pretrage do zadate dubine (depth-rst i varijanta koja prvo bira po nekom kriterijumu najbolju granu: best-rst, uz to da se moe poveavati iterativno z c dubina i drvo pretrage) i oni koji ga pretrauju nivo po nivo (breadth-rst) z nisu ipak dovoljno ekasni za mnoge probleme, ali nude mogunost postupnog c pretraivanja i poboljavanja pretrage ,,dokle god ima vremena. Stanje u z s drvetu pretrage moe biti pozicija u igri, ali moe npr. biti i vor I - ILI z z c drveta.

11.2

Evaluacija pozicije

Osnovni nain da se utvrdi koliko je stanje u drvetu pretrage dobro za c igraa je ocena funkcijom evaluacije pozicije F (S) (gde je S stanje npr. na c ahovskoj tabli). Ako je njena vrednost negativno onda je protivnik u preds nosti (i obratno), i to je vea vrednost to je prednost izraenija. To je, nars c z avno, vrednost koja ne moe biti apsoltno tana ve je posledica praktinih z c c c vrednosti i osobina igre, pozicija i vrsta gura kao i drugih bitnih eleme-

118

Seminarski rad

nata (parametri koji je odred uju osim argumenta se takod mogu dinamiki e c menjati). Primer: F (s) = aB + bR + cM + dC + eP + f A =
i

wi fi (s)

gde su R, M, C, P, A mere koje se odnose na karakteristike u opadajuem c redosledu vaenja: z R - relativna sigurnost kralja M - mobilnost gure; broj polja koje svaka gura moze napustiti z C - kontrola centra P - struktura pijuna - pozitivan doprinos dolazi od zatienih pijuna, s c pijuna koji napreduju i isto iz neprijateljskih, izolovanih i nezatienih s c pijuna A - mera relativne mogunosti napada c Sve ovo zahteva veliko strpljenje i istrajnost u odred ivanju odgovarajuih c koecijenata koji se ak i u toku igre mogu promeniti. Ovaj oblik funkcije c moe dati i rtvovane poteze - to su potezi za koje e vrednost za B biti z z c negativna, iako e teina cele sume biti pozitivna. c z

11.3

MINIMAX izbor i algoritam, alfa-beta algoritam

Ako se tako pretpostavi da oba igraa koriste istu funkciju evaluacije c (Neumann, Morgenstern) onda je jednom bitno da maksimizuje njenu vrednost a drugom da je minimuzuje u toku pretrage. Ako je na prvom i ostalim koracima (nivoima drveta) pretrage cilj nai maksimalnu vrednost, onda se c za pretragu zadate dubine trai maksimalna ili minimalna vrednost funkcije z listova koja se propagira na pozicije iznad sve do polazne pozicije gde se konano bira najvea (uz pretpostavku da protivnik isto radi pa se zato u c c neparnim koracim trai minimalna vrednost). z Ovo je MINIMAX algoritam (primer - ah): s

Osnove vetake inteligencije I s c

119

MINIMAX(tabla) dubina 1; strana 1; E(1) potezi(tabla,strana); eval(1) ; repeat while E 1 repeat while E(dubina) = potez(dubina) sa_liste(E(dubina)); tabla uradi(tabla,potez(dubina)); if dubina = maksimalna onda dubina dubina+1; strana -strana; E(dubina) potezi(tabla,strana); else eval(dubina) MAX[eval(dubina)*strana,valuacija(tabla)]; tabla vrati(tabla,potez(dubina-1); end if; end repeat; [sledi backtracking] if dubina = 1 then MINIMAX eval(1) end if; strana -strana; dubina dubina-1; potez(dubina) sa_liste(E(dubina)); tabla vrati(tabla,potez(dubina)); eval(dubina) MAX(eval(dubina),-eval(dubina+1)); end repeat; end MINIMAX;

Ukratko: potezi generie listu poteza koje igra moe (na tom nivou) da s c z napravi, sa_liste skida vrednost sa liste kao steka, uradi menja tablu prema potezu a vrati suprotno.

max(min(20, 11), min(8, 7)) = max(20, 8) = 8

120

Seminarski rad

Mnogo je itljiviji (i poznatiji) rekurzivni oblik ovog algoritma, gde se pretc postavlja da prvi igra vue MAX poteze a drugi MIN poteze (to je odred c c s ivala promenljiva strana u prethodnom algoritmu), i u je vor pretrage za koji se c trai MINIMAX ocena pozicije (trenutno stanje): z

minimax(u) if jeste_list(u) then valuacija(u); else if jeste_max_potez(u) then za_naredne_poteze(v1,...,vn); return max(minimax(v1),...,minimax(vn)); else za_naredne_poteze(v1,...,vn); return min(minimax(v1),...,minimax(vn)); end if; end if; end minimax;

11.4

- kresanje (odsecanje)

Postoji poboljanje ovog algoritma tzv. alfa-beta algoritam (McCarthy, s 1961). Pod odred enim uslovima se mogu ,,kresati (prune) itave grane c drveta pretrage. Ako je s budua minimax vrednost poetne pozicije, c c vrednost podgrane ispod nje (dobijena punom pretragom do zadate dubine), y budua vrednost naredne podgrane koja ima svoju podgranu s vrednou z c sc (takod dobijene punom pretragom) tako da je z onda se moe odustati e z od dalje pretrage ,,ispod y jer je (po pretpostavci i minimax osobinama) y z s - alfa kresanje. Isto tako se i za protivnike poteze radi beta c kresanje. Takod ako se na veoj dubini iste parnosti naid na izraunatu e, c e c poziciju z moe se analogno prema njoj primeniti alfa kresanje. z

Osnove vetake inteligencije I s c

121

max(min(10, 5), min(3, x)) = max(5, x) = 5,

x3

x<3

Primer rekurzivnog alfa-beta algoritma uz uvanje dubinskog kresanja: c alphabeta(u) if jeste_max_potez(u) then return evalmax(u,-infty,+infty); else return evalmin(u,-infty,+infty); end if; end alphabeta; evalmax(u,alpha,beta) z := alpha; if jeste_list(u) then return valuacija(u); else loop naredni_potez(v) do val := evalmin(v,z,beta); z := max(z,val); if z >= beta then exit loop; end loop; end if; return z; end evalmax; evalmin(u,alpha,beta) z := beta; if jeste_list(u) then return valuacija(u); else loop naredni_potez(v) do val := evalmax(v,alfa,z);

// beta-kresanje

122 z := min(z,val); if z <= alpha then exit loop; end loop; end if; return z; end evalmin;

Seminarski rad

// alfa-kresanje

Osnovni nedostaci ovih algoritama su: nedostatak sagledavanja opte strates gije igranja (modikacije sa otvaranjem i zavrnicama ne reavaju problem s s sutinski), kao i problem ,,horizonta (program ne vidi pozicije van dubine s pretraivanja, i uvek se ,,trudi da izbegne neugodne pozicije koje su u z dometu pretraivanja). z

11.5

Psiholoka izuavanja reavanja problema i igranja s c s

Raunari danas raspolau velikom koliinom memorije i brzo procesiraju c z c podatke i mogu ekasnije to da rade od mozga u domenu nekih specinih c primena ali i dalje je to daleko od ,,hardvera sa nekih 100 milijardi neurona (od koji svaki nosi sigurno vie od jednog bita). Mozak koristi kratkos trajnu i dugotrajnu memoriju - pokazano je da ta kratkotrajna memorija moe da sadri 7 2 osnovna objekta pamenja (,,operandi instrukcije). z z c Med utim sama obrada velike koliine podataka je daleko sloenija od prosc z tog izvravanja programa ili algoritma. Psiholozi (Alfred Binet, 1894 - Otto s Seiz, 1920) su davno uspostavili model ljudskog razmiljanja i reavanja probs s lema kao linearnog niza osnovnih operacija (kao deo psihikih procesa koji c se odvijaju u oveku). Tako je odavno poznato da procesi razmiljanja i zac s kljuivanja zavise od memorije, ali i percepcije. Kratkotrajna memorija je upc ravo vezana direktno (bre, mnogi se procesi odvijaju paralelno, ,,nesvesno) z za ula - spoljni svet, dok komunikacija kratkotrajne i trajnije memorije trai c z dodatno vreme. Igranje aha i igranje uopte su posluili kao dobar model za s s z ovakva prouavanja, a VI danas nudi sredstva kojima se mogu ovakvi modeli c prouavati. c

11.6

Teorija igara

Teorija igara se denie kao disciplina koja se bavi pronalaenjem optis z malnog reenja u uslovima konikta (konikt je skup uslova kojim se ograniava s c

Osnove vetake inteligencije I s c

123

optimalno reenje problema - u smislu teorije igara to su razliiti interesi s c igraa). Formalno, igra je struktura: c = (Kd , {SK }KKd , S, Ki , { gde su komponente: Kd skup koalicija dejstva: ako je skup igraa K, onda Kd P (K) ine c c skupovi igraa koji mogu uticati na reenje konikta c s SK je skup strategija koalicije K, gde svaka koalicija dejstva trai neka z reenja putem izbora nekog elementa iz skupa svih reenja koja su joj s s dostupna - kada svaka koalicija izabere strategiju, implicitno je denisan ishod konikta S KKd SK je skup situacija: sve mogui tokovi konikta, denisani c kada svaka koalicija izabere svoju strategiju, zovu se situacije Ki skup koalicija interesa: Ki P (K) ine skupovi igraa koji su c c zainteresovani za ishod reenja s
K je binarna relacija prednosti nad situacijama kojom svaka koalicija interesa daje neku prednost jedne situacije u odnosu na druge. Ovo se esto realizuje funkcijom dobitka HK koja se denie nad skupom c s situacija u neki ured eni skup (brojeva) K }KKi )

Podrazumeva se da su ovi skupovi konane kardinalnosti. Igre se u odnosu c na ovu strukturu dalje mogu klasikovati - interesantne su igre |Ki | > 1 (za |Ki | = 1 se svodi na klasian ekstremalni problem), |Kd | > 1 su strateke c s igre, Ki = Kd su beskoalicione, gde se onda posmatra jednostavnija struktura = (I, {Si }iI , S, {Hi }iI ) gde je I skup igraa, antagonistika igra ima c c |I| = 2 i (s S)H1 (s) = H2 (s). Dalje, pozicione igre (kakav je i ah), s podrazumevaju: postoji jedno unapred denisano stanje igre - poetna pozicija c od poetne pozicije, potezi se igraju naizmenino, a med njima moe c c u biti i sluajnih c mogue je da igraima nisu poznate sve informacije u vezi partije c c funkcija dobitka denie isplatu na kraju igre za svakog od igraa s c

124

Seminarski rad

Drvo igre je konaan graf pozicija igre koji ne sadri cikle, koren je poetna c z c pozicija. Kada kaemo da neki igra igra po nekoj strategiji, podrazumevamo z c da taj igra u svakoj poziciji u kojoj on odluuje o nastavku igre ima denc c isan sledei potez. U praksi, svaki igra zaista razmilja pomalo unapred. To c c s razmiljanje ide u pravcu ako se desi ova pozicija, igrau ovako. Bez umans c jenja optosti, moemo pretpostaviti da je svaki od igraa ve pre poetka s z c c c partije izabrao strategiju. To je u neku ruku i tano, jer ako pratimo pozicije c unazad od kraja partije, dobijamo niz pozicija koji ako se ralani na podsc nizove poteza pojedinih igraa i ita unazad, upravo denie jednu strategiju. c c s Naveu jo nekoliko osnovnih osobina i klasa igara. Pozicione igre posc s drazumevaju sledee dodatne komponente: c konano drvo igre sa korenom A c razbijanje skupa svih nezavrnih pozicija na n+1 skup: skup S0 pozicija s iz kojih se igra sluajan potez, i skupovi pozicija iz kojih igra svaki igra c c (i = 1, n) S1 , ..., Sn za svaku od pozicija iz S0 , raspodela verovatnoe na skupu njenih alc ternativa razbijanje svakog od skupova Si na informacione skupove Sij takve, da ako pozicije X i Y pripadaju istom informacionom skupu, tada: broj alternativa pozicije X jednak je broju alternativa pozicije Y ako je X = Y , tada X ne moe slediti Y i Y ne moe slediti X z z funkcija dobitka koja svakoj zavrnoj poziciji dodeljuje jedan n-dimenzionalni s vektor Cista strategija ne uzima u obzir potez protivnikog igraa (to praktino ima c c s c jedino smisla u igrama gde protivnik ,,skriva poteze - u igrama sa nepotpunom informacijom), optimalna je ona ija je funkcija dobitka vea od c c svake druge strategije - skup istih strategija S svih n igraa je ravnotena c c z situacija (reenje igre) ako je svaka strategija iz tog skupa optimalna za s z igraa i (i = 1, n), skup dobitaka denisanih ravnotenom situacijom zove c se ravnotena taka. Skup dostinih pozicija bilo koje partije neke igre ini z c z c prostor stanja igre. Nojman-Morgenternova teorema tvrdi da svaka igra s konanog broja igraa sa potpunom informacijom (|Sij | = 1) ima ravnotenu c c z

Osnove vetake inteligencije I s c

125

situaciju. Igra je sa potpunom memorijom za nekog od igraa ako on tokom c igre ne zaboravlja poteze koje je do tog trenutka igrao, kao i poteze svih svojih protivnika. Nedeterministika igra uvek podrazumeva neke faktore koji c ne zavise samo od kvaliteta igraa i njegove strategije jer je skup sluajnih c c poteza S0 neprazan (iskustvo igraa postaje manje bitno). Potez M koji pozic ciju A transformie u poziciju B je konverzija ako nijedna pozicija iz drveta igre koje opisuje igru od poetka do pozicije A ne moe da se pojavi u drvetu c z igre koje opisuje nastavak igre iz pozicije B do kraja (potez u ahu lovcem je s konverzija, kao i uzimanje gure) - ovo je vano za osobinu konvergentnosti z igre. Pozicije u koje je mogue doi na vie od jednog naina ,,kretanjakroz c c s c drvo igre, zovu se transpozicije. Programi koji igraju deterministike antagonistike igre sa potpunom inc c formacijom i memorijom, u Senonovom smislu se klasikuju u tri tipa: tip A: bira uvek najbolji potez, to podrazumeva potpunu pretragu s drveta igre (ija sloenost najee nije zanemariva) c z c sc tip B: koristi heuristike i pretragu pozicija koje najvie obeavaju s c poseduje statiko znanje c tip C: koristi iskustvo da bi uio tokom igranja i poboljavao perforc s manse - poseduje dinamiko znanje c Za njih je znaajan (kanonski) globalan plan igre: c sve dok se pozicija prepoznaje u bazi otvaranja: igraj poteze iz baze otvaranja sve dok se na tabli ne prepozna pozicija iz baze zavrnica: s igraj poteze pretraivanjem i evaluacijom pozicija sve dok igra nije gotova: igraj poteze iz baze zavrnica s Za antagonistike igre sa potpunom informacijom, postoje tri denicije c reene igre: s veoma slabo reena igra - odred s ena je teoretska vrednost poetne pozic cije (u ahu, recimo, to ne znai praktino puno) s c c

126

Seminarski rad

slabo reena igra - pronad s ena je optimalna strategija iz poetne pozicije c s ena je optimalna strategija iz svih doputenih s jako reena igra - pronad pozicija (u nekom razumnom vremenu, naravno) Oblast teorije igara u okvirima VI je dostigla mnoge primene (ne samo u raunarskim igrama), a vie o svemu tome u [MD]. c s

Osnove vetake inteligencije I s c

127

12

Ekspertni sistemi

Vremenom i razvojem raunarska obrada podataka se sve vie okree ka c s c simbolikim podacima a sve manje ka numerikim. Klasa programa koji se c c bave pomaganjem u donoenju odluka u dobro denisanim oblastima znanja s su ekspertni sistemi.

12.1

MYCIN - primer

Ekspertni sistemi su raunarski programi izgrad c eni modelom reavanja s problema pomou ljudskih eksperata. Jedan od njih je MYCIN (medicinska c dijagnoza), tj. njegovo proirenje MYCIN-TEIRESIAS. MYCIN je shvaen s c kao interaktivan sistem koji moe pomoi doktorima u davanju dijagnoza. z c Organizovan je u vidu dijaloga izmed korisnika i samog sistema. Sistem u postavlja pitanja za koja su mu potrebni odgovori i vri zakljuivanje na s c osnovu produkcionih pravila. Osnovni izvor znanja ovog ES je oko 400 produkcionih pravila oblika: P1 and P2 and... then a1 and a2 ... and aj Pi su pravila, a ai akcije. Predikati su oblika etvorke : c < predikat >< objekat >< atribut >< vrednost > Teinski koecijenti sa vrednostima izmed 0 i 1 su dati za svaku akciju. Oni z u izraavaju stepen pouzdanosti. Svaka injenica ima svoju meru verovatnoe, z c c broj izmed -1 i 1. V (F ) = V (R)min[V (Pj )], gde je Pj j-ta premisa pravila u R, F je dedukovano iz pravila R. Mogue je izvoditi zakljuak iz dva ili vie c c s pravila, pri emu, ako su u pitanju npr. dva pravila, verovatno tog zakljuka c c c se izvodi na osnovu Bajesove formule V = V1 + V2 V1 V2 . Sve |V | < 0, 2 izbacujemo iz baze znanja. Proces zakljuivanja se temelji na i/ili stablu. Za c bilo koji cilj sistem razmatra sva pravila iji se zakljuci odnose na cilj; leva c c strana takvog pravila (,,I vor) je evaluirana i daje koecijent verovatnoe c c V koji je jednak po apsolutnoj vrednosti premisi minimalne vrednosti. Ako je |V | 0, 2 desna strana pravila se konstruie i ima koecijent verovatnoe |V |. s c Ako je |V | < 0, 2 pravilo ne daje informaciju ali ni ne porie pretpostavke. c Ako neke premise ne mogu biti evaluirane u nekom dostignutom stanju bivaju ostavljene kao unutranji podciljevi (,,ILI vorovi). Tek kada se s c

128

Seminarski rad

iscrpe sve mogunosti trae se nove informacije u obliku pitanja (pitanja se c z generalizuju kada god je to mogue). Sistem pamti sve informacije koje je c dobio i koristio i to da bi: 1. izbegao traenje informacija koje je ve koristio ili koje ne moe dobiti z c z 2. da bi pokazao ekspertu kako su dobijeni neki zakljuci c 3. da bi znao ta pitati eksperta kada neke informacije nedostaju s Sistem ima pristup linoj prezentaciji znanja i poseduje odred c enu koliinu c znanja o tome kroz prole i metapravila: Proli su dodani svakom od (u ovom primeru, 24) predikata i govore sistemu koji atributi kontroliu predikate. Ovo ubrzava izraunavanje s c tako to pokazuje da li je poseban atribut ukljuen vie puta u ras c s zliitim premisama kroz razliita pravila i tako se postie brza i gruba c c z preliminarna evaluacija premisa. Metapravila su simboliki podaci sline strukture kao pravila koja omoc c guavaju sistemu napredovanje u pretrazi. Metapravila izraavaju stratec z giju kojom se izbegava iscrpljivanje nabrajanjem. To su pravila o pravilima. Oznaena su brojevima i pozivaju se kada su svi podciljevi razc motreni. Mogu izmeniti redosled razmatranja pravila, a isto tako mogu i redukovati broj pravila, te na taj nain upravljati pretragom i odsec canjem stabla pretrage. MYCIN je u stanju i da nudi objanjenje za svoje odgovore pored samih s odluka. Ekspertni sistem TEIRESIAS je zamiljen bio najpre kao proerenje s s prethodnog i omoguava sistemu da organizuje telo znanja uz pomo eksperta, c c ali i da upravlja znanjem i o njemu zakljuuje. Komunikacija se vri prirodc s nim jezikom kao izmed dva eksperta. Njegov model pravila sastoji se iz: u 1) liste primera (jednostavan podskup relevantnih pravila) 2) opis karakteristinog lana podskupa c c (premise i zakljuci karakterizovani atributima koji se esto ponavljaju) c c 3) korelacija izmed atributa (statistika analiza) u c 4) dve liste pravila: osnovnih i specinih c

Osnove vetake inteligencije I s c

129

12.2

Produkcioni sistemi

A. Pravila interna reprezentacija produkcionih pravila injenino i heuristiko znanje c c c koncepti, mree zakljuivanja, akt. pravila z c
c

C. Cinjenice simboliki i numeriki podaci c c radne hipoteze


T c

E. unikacija, razreavanje sukoba, propagiranje uslova s rukovanje prioritetima, osveavanje memorije z


T T c

B. Metapravila strategije reavanja, metodi izbora pravila s modeli pravila, pravila donoenja novih s pravila, pravila rukovanja koecijentima

D. Plan pravila koja ekaju razmatranje c trenutni plan napada (na problem) potproblemi, metapravila

Produkcioni sistemi se sastoje od produkcionih pravila: LS DS pri emu leva strana (LS) opisuje situaciju koja je zadovoljena (uslov) - ,,if c deo, a desna strana (DS) predstavlja akciju (posledica) - ,,then deo. Pravila su slina teoremama, silogizmima. Osnovni princip zakljuivanja je modus c c ponens, ali nije jedini. Dok je rad sa produkcionim pravilima nekako suprotna paradigma u odnosu na proceduralne jezike, s druge strane su formalno ekvivalentni. Prvi su iskorieni za denisanje formalnih jezika i gramatika (E. sc Post, 1936 i Comski, 1963). Iz skupa pravila koji ine bazu znanja izdvaja c

130

Seminarski rad

se radni prostor i interpretator. Radni prostor u svakom trenutku sadri sve z injenice koje je program dedukovao do tog trenutka; u poetku sadri samo c c z tvrd enja problema koji e biti reavan. Ovaj prostor igra ulogu kratkotrajne c s memorije koja uva jednostavna tvrd c enja da bi formirala deo statikog opisa c prostora pretrage, dok dugotrajna memorija predstavlja dinamiko znanje c koje sadri operatore transformacije u obliku produkcionih pravila. Pravila z mogu ukljuivati promenljive ije su vrednosti dodeljene pomou interprec c c tatora u svakom trenutku izvravanja pravila pa ga tako ine saglasnim sa s c poznatim injenicama pomou semiunikacije ili ltriranja. Unikacija je c c mehanizam koji ini moguim rad ovakvog sistema tako to pronalazi skup c c s supstitucija koji dve logike formule ini identinim (ako to jesu). c c c Pretraga koja vodi cilju moe se predstaviti I-ILI drvetom, kao kod dokazivaa z c teorema (od injenica ka zakljuku ili unazad, obrnuto). Najee se koristi c c c sc obilazak unazad zato to injenice nisu nezavisne i mnoge od njih nee biti s c c relevantne za delove problema (da bi se izbegla mogua kombinatorna ekc splozija). Sta je neophodno da bi se razvio jedan ekspertni sistem? 1. Potrebno je da specijalisti opiu oblast prouavanja i da to znanje fors c muliu pomou pravih koncepta s c 2. Pravila moraju biti izraena, a veza izmed parametara slaba inae z u c leve strane postaju predugake i isprepletene c 3. Zakljuivanje mora biti mogue pomou jednostavnih procedura (kao c c c to su modus ponens i slino) s c 4. Sistemi ovog tipa su neprikladni za reavanje problema ija su tvrd s c enja ili reenja komplikovana (npr. problemi kombinatorne prirode) - vie s s su orijentisani promenama oblasti prouavanja nego invarijantama c 5. Baza znanja - priroda ukljuenih entiteta moe se razlikovati od jednog c z do drugog sistema shodno oblasti prouavanja; to moe uiniti moguim c z c c adaptaciju nekih sistema za razliite oblasti; pogodan ksiran format c je izabran za pravila i parametre koji su tipizirani tako da proces unikacije moe biti zadovoljivo restrikovan tokom primene. Dok su z u nekim sluajevima premise i zakljuci osnovne injenice koje mogu c c c biti oznaene i po potrebi modikovane, mnogi sistemi u svojim pravc ilima ukljuuju i procedure kojima evaluiraju rezultat. c

Osnove vetake inteligencije I s c

131

6. Kontrolna struktura - osnovni problem kontrolne strukture je razreavanje s sukoba (conict resolution): donoenje odluke koja pravila pozvati ako s postoji vie kandidata koji odgovaraju. Strategija izbora je od vitalne s vanosti i to ne samo zbog ekasnosti, ve i zbog sposobnosti sistema z c da razume sopstvene akcije i poboljava performanse. s Postoje tri familije kontrola: 1. Iscrpna pretraga 2. Izbor napravljen izraunavanjem c 3. Kontrola pomou metapravila c Ukratko, metod iscrpne pretrage je pogodan u sluajevima kada je prosc tor pretrage mali i kada ne postoji opasnost od kombinatorne eksplozije. U drugom sluaju, sirova strategija bi bila primeniti prvo pravilo koje ,,sisc temu dod pod ruku. Dakle, ovde ekasnost zavisi od redosleda kojim su e pravila navedena. Alternativa je evaluacija svakog kandidata, shodno nekom kriterijumu, na primer: vanost zakljuka i akcije pravila u vreme evaluacije, radi postizanja z c cilja c izbor pravila koja mogu biti unikovana sa injenicama koje se odnose na najvanije z izbor pravila koja mogu dati najspecinije zakljuke c c enja) izbor determinisan grafom (izvod izbor najskorije korienog pravila sc Kontrola pomou metapravila zavisi od logikog izbora, tj. u svakom trenutku c c pretrage ponaanje prorama zavisi od tekueg stanja pretrage. Najvanija s c z karakteristika ovakve kontrole pravila je da metapravila mogu biti dodana ba s kao i obina pravila, izmenjena ili obrisana, te da ona pravila koja imaju vec liki broj neuspeha bivaju izbaena ltriranjem (ili ona koja izazivaju kruna c z izvod enja). Mnoge izmene i heuristike su pravljene da bi se ubrzali ovakvi interpreteri (npr. korienje samo pravila ije su premise trenutni zakljuci). sc c c Znanje se moe organizovati u sloenije jedinice koje reprezentuju sloene z z z situacije ili objekte domena, i automatski proces izgrad ivanja sloenih strukz tura je takod nain reavanja prethodnog problema. Med e c s utim, veliki broj

132

Seminarski rad

injenica i pravila sa promenljivama izaziva kombonatornu eksploziju i metazc nanje je onda neophodno. Minski je prototip odnosno frejm video kao nain c da se rei ovaj problem (postoji deo znanja koji se ne menja primenom nekih s pravila kojima se dolazi do reenja, slino pozadini animacije (frame) ispred s c kojih su dinamiki objekti - tako se moe smanjiti pretraga i izbor pravc z ila). Kao primeri ekspertnih sistema zasnovanih na produkcionim pravilima navode se DENDRAL i META-DENDRAL (strukturne organske formule), kao i pomenuti MYCIN i TEIRESIAS i mnogi drugi.

12.3

Ekspertni sistemi zasnovani na logici prvog reda

Jezik dizajniran specijalno za modelovanje ljudskog rezonovanja (zakljuivanja) postoji dugo: to je jezik matematike logike. Produkciona pravila c c ,,situacija - mogui zakljuak izraena u razliitim formalizmima u osnovi je c c z c teorema tog subjekta koja se odnosi na tvrd enje ija interpretacija moe biti c z tana ili netana. PROLOG je programski jezik ije osnovne jedinice nisu c c c instrukcije kao u klasinim programskim jezicima, ve teoreme logike prc c vog reda. Ove teoreme ukljuuju promenljive, parametre kvantikovane unic verzalnim i egzistencijalnim kvantikatorom, izraene Hornovim klauzulama. z Primeri ekspertnih sistema napisanih u PROLOGU su PEACE (koji tie sinc teze i analize elektrinih kola), i MECHO (sistem za reavanje problema u c s mehanici). METALOG kao predlog modikacije PROLOGa dodatnim kontrolnim predikatima (Gallaire, Lasserre) kojima se utie na izbor literala u c klauzuli za unikaciju ili klauzule naslednika kada ih ima vie. SNARK je, s takod primer jezika logike prvog reda. e,

12.4

Deklarativno-proceduralna kontroverza

Razlika izmed proceduralnih i deklarativnih jezika se moe uporediti sa u z razliitim paradigmama proceduralnih jezika (funkcionalno - deskriptivno, c rekurzivno - iterativno, i drugi odnosi) a sutina je razlika izmed specis u kacija i procedura. Znanje, kontrola i zakljuivanje su kodirani u proceduc ralne programe dok deklarativni imaju dostupnu bazu znanja i metapravila. Nije toliko bitna ni prisutnost redosleda proceduralnih programa (instrukcija - osnovna osobina algoritam i proceduralnosti - problemi paralelizma, Petri mrea i programskih shema se na primer ovim bave) u odnosu na deklarz ativne. Osnovna razlika jezika proceduralnog tipa i deklarativnih jezika u koje bi se ubrajala i produkcionih pravila lei u samoj kontrolnoj strukturi z

Osnove vetake inteligencije I s c

133

produkcionih sistema koja je potpuno odvojena od podataka za razliku od proceduralnih programa. Proceduralna kontrolna struktura (npr. if-then) je lokalizovana i dobra je za manje koliine znanja i jasne zadatke - desna strana c pravila zato moe biti poziv procedure, programsko prikljuenje. Vanost z c z deklarativnih jezika proistie iz njihove kompletne modularnosti: korienje, c sc sve komunikacije izmed razliitih delova programa preko osnovnih injenica, u c c odsustvo potrebe za bilo kakvim redosledom znanja ili injenica, odsustvo imc perativnih instrukcija i mogunosti bek-treka u procesu reavanja i u upitima c s vezanim za pravila. Primer Markovljevog produkcionog sistema za invertovanje niske: R1 = xy y = x R2 == % R3 % = % R4 %x x% R5 % R6 x %x gde x i y mogu zameniti bilo koju nepraznu nisku. Petri je 1962. predloio z grafove kao nain da se prikau tokovi procesa, a Holt je to 1970. poboljao c z s tako to je uveo mesta kao vorove obeleene krugom koji sadre tokene (els c z z ementi koji se odnose na leve strane pravila) i tranzicije obino obeleene c z vertikalnom crtom kao vorove koji se aktiviraju ako su sva mesta ulaznih c grana popunjena tokenima, a nakon aktivacije tranzicije mesta izlaznih grana dobijaju nove tokene (prema pravilu, opet). Zisman 1978. predlae modiz kaciju pomenutog Markovljevog sistema (u zagradi je naredno pravilo koje se primenjuje): P 1 == P 2 = xy P3 P4 = =x = (P 4) (P 2) (P 1) (P 4)

Ovde se koriste dva tokena: T (True) i F (False) prema istinitosnoj vrednosti leve strane pravila. Ovako to izgleda prikazano graki: c

134

Seminarski rad

T P2

F P3 T T, F F P1 P4 T F KRAJ

Jasno je da su konani automati i poboljane mree prelaska (ATN) specic s z jalni sluajevi Petri mrea. Ovakvom reprezentacijom se lake uoavaju konc z s c ikti pravila (kada se vie produkcionih pravila moe okinuti) i prikazuju ins z terne strukture pravila interpretatora i sistema sa problemima paralelizma. Med utim, gubi se osobina modularnosti produkcionih sistema i zato je ova reprezentacija blia proceduralnim. z

12.5

Razliiti tipovi znanja i njihova reprezentacija c

Cilj istraivanja u oblasti VI je kreiranje sistema koji sa jedne strane koz risti veliku koliinu znanja sakupljenu od strane ivih eksperata, i sa druge c z strane dijalog koji se vodi izmed sistema i korisnika zasnovan na primerima u njihovog linog rezonovanja. Posledica ovih zahteva trebao bi biti uspean sisc s tem za upravljanje velikom i dobro struktuiranom bazom znanja, sa naznaenim c razlikama izmed razliitih nivoa znanja, svojstvenom reprezentacijom znanja u c i dobro denisanim procesom za izmenu informacija izmed razliitih izvora u c znanja. Moemo rei da ,,sistem zna ono to mi znamo. Sa naeg stanovita, z c s s s korienje takvih meta znanja je karakteristika svakodnevnog ivota (na primer, sc z moemo sresti nekoga koga znamo ali da se ne moemo setiti tano njegovog z z c imena). Mi stalno koristimo heuristike zasnovane na metaznanju, kao ono ,,da je bilo tako, ja bih to znao, i takva pravila zavise od dva osnovna parametra: vanosti koju za nas imaju pojedinane injenice i nivoa nae z c c s kompetentnosti u toj oblasti. Navedimo neke osnovne tipove znanja: 1. Osnovni elementi i objekti realnog sveta (naa percepcija zikog sveta) s c 2. Tvrd enja i denicije (odnose se na osnovne objekte)

Osnove vetake inteligencije I s c

135

3. Koncepti (grupisanje i generalizicaija osnovnih objekata, obino PR1 c jezikom) 4. Relacije (izraavaju osnovne karakteristike osnovnih elemenata i usz postavljaju uzrozvcno posledine veze izmed koncepata. Moramo nac u glasiti da je reprezentacija znanja u ekspertnim sistemima veoma slina c modelu koritenom u relacionim bazama podataka - ,,relacija-entitet, s familije, frejmovi, skripte su jednostavno izraene binarne relacije.) z 5. Teoreme i pravila prezapisivanja (ovo su pojedinani sluajevi produkc c cionih pravila sa posebnim karakteristikama) 6. Algoritmi za reavanje problema s 7. Strategije i heuristike (postoje pravila ponaanja, urod s ena ili steena, c koja nam govore koje e akcije biti poduzete u datoj situaciji i shodno c njima reguliemo ponaanje) s s s 8. Meta-znanje (organizovano je u nekoliko nivoa; potrebno je znati ta je poznato, koje je pouzdano mesto u znanju, koji je stepen vanosti z napada na predmet znanja u relaciji celog tela; ovo se tie organizacije c tela znanja razliitih tipova, kao i kada i kako mogu biti koritena ta c s znanja) 12.5.1 Reprezentovanje znanja

Pomenute su mnoge reprezentacije znanja, i mogle bi se pored ati od ,,zatvorenih proceduralnih ka ,,otvorenijim, deklarativnim: konani automati (Markov, 1954) c programi (Meyer, 1978) skriptovi (sheme) (Schank, 1977) semantike mree (McCarthy, 1977) c z frejmovi (Minsky, 1975: u mnogo emu slian pojmu objekta u OOP, c c podrazumeva i proceduralne elemente), pretea danas aktuelnih (web) ontologija c z grafovi, mree (Petri, 1962), ATN

136 formalne specikacije (Germain, 1981) predikatski raun (Kowalski, 1979) c teoreme, (rewrite) pravila prezapisivanja (Huet, 1978) produkciona pravila (Shortlie, 1976) prirodni jezik (Pitrat, 1981)

Seminarski rad

Konani automati, programi, predikatski raun i produkciona pravila se c c mogu pokazati ekvivalentnim (Tjuringovoj maini) ali je velika razlika u njis hovoj praktinoj primerni. Neki noviji formalizmi su nastali kao potreba VI: c frejmovi, ili prototipovi, su kompleksne strukture podataka kojima se bavio Minski. Svaki frejm (okvir) sadri ,,slotove za objekte koji su ukljueni u z c ,,statinu situaciju odnosno okvir kao objekat sa svojim atributima (sloc tovima, osobinama) koji mogu imati razliite tipizirane vrednosti, sa mogunou c c sc da se slot poziva na drugi frejm; pored toga, sadri informacije kako se sloz tovi pune (faceti, daemoni), kako se frejmovi aktiviraju kao i ta je potrebno s uiniti u nekim netipinim situacijama (slino set/get metodama). Tako se c c c konkretne instance okvira mogu poistovetiti sa objektima, gde okviri imaju svoje atribute sa konkretnim vrednostima u konkretnim instanca (model OA-V, objekat-atribut-vrednost). Skript, ili (programska) shema, opisuje stereotipan scenario koji ukljuuje c npr. svakodnevne akcije ljudi i vie - bavi se dinamikim aspektima u odnosu s c na frejmove. Semantike mree ili grafovi, esto su kolekcija frejmova i skriptova, koji c z c opisuju elemente prostora pretrage i relacije izmed njih. Grafovi i dijagrami u su bili koriteni u kompjuterskom dokazivanju teorema, ATN (Augmented s Transition Networks) predstavlja proirenje takvog koncepta. s 12.5.2 Osobine sistema produkcionih pravila

Ekspertni sistemi zasnovani na produkcionim pravilima i srodni ES su med najbrojnijim, i njihove osobine i zbog toga posebno vane. Mane sisu z tema produkcionih pravila: s c 1. Tekoa dizajniranja produkcionih pravila koja se odnose na predmete znanja

Osnove vetake inteligencije I s c 2. Tekoa formulisanja pravila s c s c s 3. Tekoa koritenja pravila Prednosti: 1. Modularnost 2. Laka modikacija 3. Citljivost 4. Mogunost samoobjanjenja c s

137

Meta znanje - ako se od eksperta oekuje da ponudi sistemu znanje tj. bazu c znanja, od sistema se oekuje da upravlja ovim znanjem, da ga po potrebi c struktuira, generalizuje, menja i apstrahuje, da zakljuuje o primeni. Znanje c sistema o upravljanju na ovaj nain je meta-znanje. Ovo je posebno bitno ako c je baza znanja velika (slino sistemu za upravljanje bazom podataka). Kod c produkcionih sistema se strategije upravljanja znanjem takod izraavaju kao e z pravila, samo su izdvojena kao posebna pravila dostupna sistemu.

138

Seminarski rad

13

Uenje c

Budunost vetake inteligencije lei u ovoj oblasti (mainsko uenje). c s c z s c Svakako je lake da program sam sakupi informacije tj. naui nego da ih ovek s c c unosi (a esto je to i neophodno kao nain borbe sa ogromnom koliinom c c c podataka, ili kao specinost problema), ali jo uvek ne postoji dovoljno c s dobar takav program (kao primer) ili opte reenje. Mogu se izdvojiti pet s s nivoa uenja: c 1. Programirano uenje (ve uneto, ,,instinkti, svi kompjuterski proc c grami su ovog nivoa) 2. Mehaniko uenje (sve mogue situacije se pamte, zajedno sa akcijama c c c koje ih slede, ,,uslovni reeksi) 3. Statistiko uenje(slino drugom nivou, samo to su sve situacije grupisane c c c s u klase dobijene proouavanjem mnogo primera, i sistem uva samo c c opise razliitih klasa. Ovo predstavlja uenje bez uitelja. Za njim c c c sledi nivo 4. Uenje pomou uitelja(sistem moe da ui i da vri generalizaciju) c c c z c s 5. Nema uitelja, na ovom nivou sistem moe sam kreirati nove situacije, c z nove hipoteze i nove koncepte Naveemo primer igre oznaavanja. Program za ovu igru je napisao A. sc c L. Samuel, IBM-ov inenjer, izmedu 1956 i 1967. godine. Igra se igra na z ahovskoj tabli gde se pijuni kreu samo unapred, kraljevi ili napred ili nazad s c i to obe vrste gura samo po jedno polje. Prvi program koji je Samjuel napisao bio je na nivou mehanikog uenja. Proc c gram je pamtio 180000 pozicija, uzetih iz najbolje odigranih partija. Tada se, naravno, javlja problem pamenja velike koliine informacija te Samjuel c c koristi tri procedure: 1. Radi breg pristupa, situacije su sortirane shodno z a) broju pijuna i kraljeva na svakoj strani i b) prema uestalosti kojom su se pojavljivale u proloj igri c s c u 2. Situacije koje su simetrine izmed belih i crnih gura tretiraju se simultano (istovremeno)

Osnove vetake inteligencije I s c

139

3. Postojao je metod za eliminaciju (bodovanjem) onih pozicija koje su se najmanje esto pojavljivale tokom prethonih igara. c Samjuel je tablu predstavio pomou 36-to bitne rei i napravio je nekoc c liko verzija / poboljanja programa. Koristio je polinomijalnu evaluacionu s c z funkciju F = i pi Pi , gde su sa pi oznaeni teinski faktori , a sa Pi karakteristike (njih 38). Na osnovu upamenih pozicija i odigranih partija, radi se c vrednovanje minimax algoritmom. Korekcije teinskih faktora su vrene na z s sledei nain - ako je H broj poteza koji su trebali biti bolji prema evaluaciji c c nego pretraivanjem i L koji su se suprotno pokazali gorim, onda korelacija z (ne u pravom statistikom smislu rei) C = (L H)/(L + H) vrednou 1 c c sc pokazuje idealno poklapanje situacije sa evaluacijom, odnosno potpuno neslaganje vrednou 1; ako se za svaki pi proceni da li je slaganje terma pi Pi sc za pi < 0 sa evaluacijom vee ili manje raunanjem Ci = (Li Hi )/(Li + Hi ), c c tj. ako je Ci < 0 onda pozitivan pi treba uveati a negativan pi smanjiti c ako je Ci 0 i obratno za pi 0 (tavie, postavlja se pk = 1 za Ck sa s s najveom apsolutnom vrednou i pi = 1/2n gde je n |ck /ci | n + 1, c sc pamti se 16 karakteristika - ostalima pi = 0 to se desi kada tri puta ima s najmanju apsolutnu vrednost Ci i zamenjuje se karakteristikom koja je najdue ,,ekala). Program je dobio modikaciju (uenje bez uitelja) gde se z c c c npr. takmie dve funkcije evaluacije td. ona koja izgubi biva manje promenc jena, a ako se to ponovi vie puta onda se radikalnije promeni (,,perturbed s gradient koji se kao modikacija gradijent metode koristi za nekonveksne povri). Dalje, uvod s enjem varijante alfa-beta algoritma u kojoj ako se neka ista situaciju pokae preoptimisticno osenjenom u odnosu na ponovlz c jenu prethodnu situaciju i novu evaluaciju (F (S) > F (S)) evaluacija se upored uje sa drugom i menja prema odgovarajuim koecijentima korelacije c (sl. Ci samo za F (S) > F (S)). Pogram je i u prethodnoj verziji posle 20-ak partija igrao veoma dobro i dugo je bio najbolji te vrste, i ovako je brzo konvergirao. Med utim, 15-tak koraka je isto tako dovoljno da promeni potpuno parametre (ui u toku igre c nakon svakog koraka) jer minimaks algoritam oekuje da protivnik igra idec alno najbolje, pa ako je protivnik lo i program ui i poinje da igra loe s c c s nakon toga protivnik samo treba da zaigra dobro da bi pobedio. Da bi se to prevazilo koristio je matrice kombinacija karakteristika (nekih 38, prema s ekspertima) umesto parametara linearne kombinacije (ime se evaluacija zac pravo svodi skoro na pretragu po tabelama) i est faza igranja prema broju s

140

Seminarski rad

gura, koje je korelacijom trenirao koristei nekih 180000 utakmica. Ovo se c u [JL] navodi kao Semjuelov primer generalizovanog uenja, a pored toga se c opisuju: uenje planova, uenje pravila i uenje karakteristika (indukcijom). c c c

13.1

Primer STRIPS

STRIPS je sistem ija je osnovni motiv nastanka i upotrebe upravljanje c robotom sa automatizovanim uenjem. Razvijen je kao sistem koji daje c sposobnost uenja i planiranja, i koji razvija i pretrauje skupove akcija koje c z se smatraju korisnim za familje situacija. Elementarni operatori nad njegovim svetom zadati su kao trojke listi gde je prvi element spisak uslova pod kojim se okida operator, drugi element je lista injenica koje se briu okidanjem (negativna lista), a trei c s c element je spisak injenica koje se dodaju okidanjem operatora (pozitivna c lista). Pored ajmo niz operatora O1 , , On tako da formira sledei trougao: c O1 . . . ..

. Oj . . . Oj . On ..

O1 Ok . . . . . . O1 Ok

c gde se npr. Ok u redu j trougla odnosi na injenice dodate operatorom Ok koje vae do primene Oj . Uenje se deava svaki put kada se pronad z c s e niz operatora koji postie cilj. Jednom pronad z eni niz se pamti i moe da se z iskoristi i za neke nove probleme. Npr. ako je novi cilj prepoznat u redu j i uslovi trenutne situacije (najpre) u nekom Oi iznad Oj onda je niz Oi , , Oj ,,makro kojim se postie taj novi cilj. z

13.2

Uenje pravila i planova c

Igranje pokera kao primer (Waterman, 1970) - vektor (est) bitnih karaks teristika je s leve strane pravila (gde mogu biti i promenljive ili oznaka da je vrednost nebitna, npr. ,,*) i s desne akcija tj. potez igraa. Za svako pravilo c se vezuje skup ogranienja promenljivih s leve strane koja se mogu menjati c dodavanjem novog ako ne postoji drugo primenjivo pravilo osim izabranog kojem nedostaju samo druga ogranienja. Uvek postoji i mogunost intervencije c c

Osnove vetake inteligencije I s c

141

eksperta. Uvek se podrazumeva prilikom svakog poteza praenje pravila po c odred enom redosledu sve do poslednjeg koje se uvek pretpostavlja - sluajan c izbor poteza sa nebitnom vrednou svih karakteristika - od ovog pravila se sc polazi. Da ne bi nekontrolisano rastao, broj pravila se ograniava i mogu se c brisati ako se ogranienja nekog pravila ili samo pravilo pokau takvim da c z druga pravila budu nepotrebna - novo generalizovano pravilo se dodaje ispred pogrenog (koje je dalo pogrenu odluku) ili se restrikuje pogreno i dodaje s s s ispod. Voterman je ispitao pet razliitih programa: 1) sluajno igranje, 2) c c uenje uz pomo uitelja, 3) automatizovano uenje bez uitelja, 4) pravila c c c c c data od dobrog igraa, 5) uenje bez zadatog vektora karakteristika - proc c gram 3) se nakon perioda testiranja pokazao veoma uspenim (evoluciona s teorija igara, [MD]). Osnovna zamerka ovakvom uenju je pored nedostatka c simbolikih parametara (kao i kod Semjuela) je to to zavisi od redosleda c s pravila i esto zato dolazi do udnogi i nestabilnog ponaanja. Program bi c c s trebao da bude u stanju da zakljuuje (generalizuje) na osnovu samo jednog c primera kada god je to mogue, kao i ljudi. c Primer programa za igranje aha koji polazi od samo dve elementarne s strategije: ako je gura napadnuta - pomeri je, i ako gura napada neprijateljsku uzmi napad u obzir (Jacques Pitrat). Za ovo je bitno: razumevanje pozicije (odred potez u stablu poteza dovodi do pozicije u kojoj se neprien jatelj napada ako neprijatelj ne odgovori na odgovarajui nain, minimaks c c se primenjuje), pojednostavljenje i generalizacija (za razliku od pokera i dama u ahu postoji previe karakteristika i daleko je tee naii ponovo na s s z c istu situaciju), modikacija i primena planova (generalizovano drvee prec traivanja se uva u obliku analognom emama Minskog - generalizovani z c s potezi, polja koja mogu biti prijateljska ili neprijateljska, i drvo pretrage). Jedan nain uenja planova bi mogao biti i producioni sistem kojim se utie c c c na strukturu i parametre pravila i planove, kao i na njihovo dodavanje ili brisanje, [PLAN].

13.3

Uenje karakteristika i koncepta, Vereov primer c

Primer uenja u kome se opisuje svet predikatima (u poznatom primeru c sveta blokova: iznad, pored, podrava, levo-od, ispred, itd.) i objektima z kroz primere i kontraprimere (P. H. Winston, 1970). Ispravan primer se npr. moe unikacijom uporediti i zakljuiti da je ispravan. Neispravan primer z c koji se malo razlikuje je koristan - njime se npr. korak po korak moe opisati z

142

Seminarski rad

negacijama sloeni objekta, ali ako se sistemu ponudi potpuno razliit primer z c on je nemoan. Sistem uopte nemora da konvergira i pati od mnogih drugih c s mana (ne pamti ranije primere, nema bektrekinga, itd.). Vere (1975) daje interesantan model uenja baziran na generalizaciji kao c postupku suprotnom od unikacije. Pravo uenje jeste nalaenje rezultata c z indukcijom nad manjim brojem primera. Term se zamenjuje promenljivom i primenom takve supstitucije izraz postaje apstraktniji. Term se ovakvom induktivnom supstitucijom nemora uvek zameniti istom promenljivom, a supstitucija se zapisuje kao lista trojki (term, redosled pojavljivanja / promenljiva) i pie se ispred izraza. Na primer, za izraz: s E=((napravio) Vuk Azbuka) (prosvetitelj Vuk) (pisac Vuk) ... i supstituciju: O={(Vuk,(1,3)/x); (azbuka, 1/y)}, vai: z

OE = ((napravio) x y) (prosvetitelj x) (pisac x) Istom promenljivom se nemogu zameniti razliiti objekti, i supstitucija ne c moe da koristi promenljive koje izraza kojeg generalizuje. Ova ogranienja z c (1) su neophodna ako se eli ouvanje polaznog izraza nakon deduktivne z c supstitucije iz generalizovanog oblika. Denicija 13.1 Izraz E1 je uopteniji od izraza E2 akko postoji induktivna s supstitucija O td. E1 OE2 (koristi se konjunktivna normalna forma pa se porede skupovi literala) - pie se E1 E2 . s Za date E1 , E2 i O, deo OE2 koji se javlja u E1 zove se vezivanje (coupling) a ostalo je ostatak. Vie razliitih supstitucija mogu dati isto vezivanje ali s c razliite ostatke. Koriste se pravedne supstitucije koje su takve da pored c navedenih osobina koriste uvek istu promenljivu za isti term u svim pojavljivanjima, i da se term zamenjuje samo kada je to neophodno tj. term u ostatku se zamenjuje samo ako je ve zamenjen u vezivanju. Odatle proistie c c da redosled pojavljivanja nije potreban za pravedne supstitucije. Generalizacija je stroga ako E1 = OE2 niti je E1 dobijen prostim preimenovanjem promenljivih u E2 . Kao i u aritmetici (najvei zajedniki delilac) sada se c c moe denisati najvea zajednika generalizacija (nzg) E za dva data izraza z c c E1 i E2 kao E E1 E E2 , E : E < E E1 E < E E2

Osnove vetake inteligencije I s c

143

Koncept je nzg primera (iterativno se moe uoptiti na proizvoljan broj z s primera). Kontraprimeri preiavaju ali i komplikuju analizu. U najgorem c sc sluaju rezultat je disjunkcija svih primera i moguih sluajeva. Algoritam c c c koristi oblik A (B C) umesto (A B) (A B C). Skica Vereovog algoritma: ulaz: primer ui : i = 1, p, kontra-primeri vj : j = 1, q konstruie se P1 kao nzg; s s ako ih ima vie, formira se ipak njihova disjunkcija, nzg ne postoji - kontradikcija ... ako postoje negativni primeri, konstruie se ispravak N 1 kao nzg njis hovog ostatka (primeri bez literala kontraprimera pogodnom supstitucijom), i tada je nauen koncept: c C1 = P 1 N 1 trai se nzg ostatka pozitivnih primera kao ispravak N2 ispravka N1, pa z nauen koncept postaje: c C2 = P1 (N1 N2) ako ih ima vie, formira se ipak njihova disjunkcija, s nzg ne postoji - kontradikcija u ostacima, npr.: pozitivan primer: (x ON y) (GREEN x) negativan primer: (x ON y) (GREEN x) (RED y) ovaj postupak se ponavlja sve dok se ne dobije konaan naueni konc c cept: C = P1 (N1 (N2 (... Nk))...)

ili dok se ne dobije prazan nzg kao posledica kontradiktornosti ostataka

144 Primer:

Seminarski rad

G G B G G Y G R G

Y B G G B B G B G

u1 = (O1 ON O2) (SPHERE O1) (CUBE O2) (GREEN O1) (GREEN O2) u2 = (O3 ON O4) (PYRAM O3) (CUBE O4) (BLUE O3) (GREEN O4) u3 = (O5 ON O6) (CUBE O5) (CUBE O6) (YELLOW O5) (GREEN O6) u4 = (O7 ON O8) (O9 ON O7) (CUBE O7) (CUBE O8) (CUBE O9) (RED O7) (GREEN O8) (GREEN O9) v1 = (Q1 ON Q2) (SPHERE Q1) (CUBE Q2) (BLUE Q1) (GREEN Q2) v2 = (Q3 ON Q4) (SPHERE Q3) (CUBE Q4) (GREEN Q3) (BLUE Q4) v3 = (Q5 ON Q6) (Q7 ON Q5) (CUBE Q7) (CUBE Q5) (CUBE Q6) (YELLOW Q7) (BLUE Q5) (GREEN Q6) v4 = (Q8 ON Q9) (CUBE Q8) (CUBE Q9) (BLUE Q8) (GREEN Q9)

Odatle sledi: nzg(u1 , u2 , u3 , u4 ) = P1=(x ON y) (CUBE y) (GREEN y). Kontra-primer v2 se eliminie jer nema zelene kocke u P1, a ostaci u i = s {vi Oi P 1}, i = 1, 3, 4 se raunaju kao: c
u 1 = (SPHERE x) (BLUE x), O1 = (Q1/x,Q2/y) u 3 = (Q7 ON x) (CUBE Q7) (CUBE x) (YELLOW Q7) (BLUE x), O3 = (Q5/x, Q6/y) u 4 = (CUBE x) (BLUE x), O4 = (Q8/x,Q9/y)

Osnove vetake inteligencije I s c

145

odakle sledi da je N1=(BLUE x), i C1=(x ON y) (CUBE y) (GREEN y) (BLUE x). Med primerima, u2 sadri N1, pa ovo treba ispraviti ponovo u z formiranjem ostataka i pomenutim postupkom: C = (x ON y) (CUBE y) (GREEN y) ((BLUE x) (PYRAM x))

146 Knjige koriene tokom pisanja ovog rada: sc

Seminarski rad

Literatura
[JL] Jean-Louis Lauriere: Problem-Solving and Articial Intelligence [GN] Michael R. Genesereth and Nils J. Nilsson: Logical Foundations of Articial Intelligence [JS] Minds, Brains and Science, John Searle, 1984. [TB] Donald E. Knuth: The TeXbook
A [PG] Predrag Janii, Goran Nenadi: OSNOVI L TEX-A cc c

[HU] Hopcroft, J. & Ullman, J (1979). Introduction to Automata Theory, Languages, and Computation [MD] Uenje u stratekim igrama, Mihailo Despotovic, 2001. c s zc [VD] Tehnologije inteligentnih sistema, Vladan Devedi [PLAN] Plan Optimization by Plan Rewriting, Jos Luis Ambite, Craig A. e Knoblock & Steven Minton [www] http://www.aaai.org http://www.idsia.ch/~juergen/goedelmachine.html http://www.pcug.org.au/~dakin/tspbb.htm http://homepage.mac.com/mihailod/thesis/thesismain.html http://sitemaker.umich.edu/soar/home [MW] Mathworld, Wolfram Research, http://www.wolfram.com [W] http://en.wikipedia.org/wiki/Propositional_calculus http://en.wikipedia.org/wiki/Hilbert_systems http://en.wikipedia.org/wiki/Category:Mathematical_logic http://en.wikipedia.org/wiki/Formal_system http://en.wikipedia.org/wiki/Model_theory http://en.wikipedia.org/wiki/Traveling_salesman_problem http://en.wikipedia.org/wiki/Dynamic_programming http://en.wikipedia.org/wiki/Multiset

Osnove vetake inteligencije I s c http://en.wikipedia.org/wiki/List_of_algorithms http://en.wikipedia.org/wiki/Modal_logic http://en.wikipedia.org/wiki/Intuitionistic_logic http://en.wikipedia.org/wiki/Heyting_algebra http://en.wikipedia.org/wiki/Boolean_network

147

You might also like