You are on page 1of 78

SVEUILITE J. J.

STROSSMAYERA
ELEKTROTEHNIKI FAKULTET OSIJEK

UMJETNA INTELIGENCIJA
Biljeke s predavanja

Osijek, listopad 2005.

SADRAJ
OPENITO................................................................................................................. V
1. UVOD ....................................................................................................................... 1
1.1 UMJETNA INTELIGENCIJA ...................................................................................... 1
Definicija umjetne inteligencije............................................................................. 1
Djelovati ljudski (engl. acting humanly) ............................................................... 1
Razmiljati ljudski (engl. thinking humanly) ......................................................... 2
Razmiljati racionalno (engl. thinking rationally) zakon misli .......................... 2
Djelovati racionalno (engl. acting rationally) pristup racionalnog agenta....... 2
1.2 RAZVOJ UMJETNE INTELIGENCIJE .......................................................................... 3
Filozofija (428 B.C. danas) ................................................................................ 3
Matematika (c.800 danas) .................................................................................. 4
Ekonomija (1776 danas)..................................................................................... 5
Neuroznanost (1861 danas)................................................................................ 5
Psihologija (1879 danas).................................................................................... 6
Raunalno inenjerstvo (1940 danas) ................................................................ 6
Teorija kontrole i kibernetika (1948 danas)....................................................... 6
Lingvistika (1957 danas) .................................................................................... 7
2. INTELIGENTNI AGENTI..................................................................................... 8
2.1 AGENTI I OKOLINA ................................................................................................ 8
2.2 KONCEPT RACIONALNOSTI .................................................................................... 9
Mjera uspjenosti................................................................................................... 9
Racionalnost .......................................................................................................... 9
Sveznalice, uenje, autonomija............................................................................ 10
2.3 RADNA OKOLINA ................................................................................................. 11
Definiranje radne okoline.................................................................................... 11
Svojstva radne okoline podjela......................................................................... 11
2.4 STRUKTURA AGENTA .......................................................................................... 12
Program............................................................................................................... 12
Refleksni agent..................................................................................................... 13
Model-refleksni agent .......................................................................................... 14

Agent voen ciljem............................................................................................... 14


Agent voen kvalitetom........................................................................................ 15
Uenje agenta ...................................................................................................... 16
3. PRETRAIVANJE ............................................................................................... 17
3.1 PROBLEM SOLVING AGENTI................................................................................. 17
Dobro definirani problemi i rjeenja................................................................... 17
3.2 PRIMJERI PROBLEMA ........................................................................................... 18
Problemi igara..................................................................................................... 18
Stvarni problemi .................................................................................................. 19
3.3 TRAENJE RJEENJA ............................................................................................ 19
Mjerenje performansi algoritma za rjeenja problema....................................... 20
3.4 STRATEGIJE PRETRAIVANJA BEZ INFORMACIJA ................................................. 20
Pretraivanje po irini ......................................................................................... 20
Pretraivanje s jednakom cijenom....................................................................... 22
Pretraivanje po dubini ....................................................................................... 22
Pretraivanje do odreene dubine....................................................................... 23
Pretraivanje po dubini uz postupno poveanje dubine...................................... 23
Dvosmjerno pretraivanje ................................................................................... 24
Usporedba metoda pretraivanja ........................................................................ 24
3.5 PONAVLJANJE STANJA ........................................................................................ 25
3.6 PRETRAIVANJE UZ NEPOTPUNU INFORMACIJU ................................................... 25
Nepostojanje senzora........................................................................................... 25
4. PRETRAIVANJE UZ DODATNE INFORMACIJE ...................................... 27
4.1 STRATEGIJE PRETRAIVANJA UZ DODATNE INFORMACIJE.................................... 27
Pohlepno pretraivanje........................................................................................ 27
A* pretraivanje .................................................................................................. 27
4.2 HEURISTIKE FUNKCIJE ...................................................................................... 27
Izvoenje prihvatljive heuristike.......................................................................... 30
Heuristika iz iskustva........................................................................................... 30
4.3 ALGORITMI LOKALNOG PRETRAIVANJA I OPTIMIZACIJSKI PROBLEMI................. 31
Pretraivanje penjanjem...................................................................................... 32
Simulirano kaljenje.............................................................................................. 32

II

Pretraivanje lokalnom zrakom........................................................................... 32


Genetiki algoritmi .............................................................................................. 33
5. PROBLEMI UZ DODATNE UVJETE ............................................................... 34
5.1 PROBLEM UZ DODATNE UVJETE .......................................................................... 34
5.2 POVRATNO PRETRAIVANJE ................................................................................ 35
Izbor varijable ..................................................................................................... 36
Propagacija informacije kroz uvjete ................................................................... 37
Povratno pretraivanje ........................................................................................ 37
5.3 ALGORITMI LOKALNOG PRETRAIVANJA CSP..................................................... 38
5.4 STRUKTURA PROBLEMA ...................................................................................... 38
6. ADVERSARIAL SEARCH .................................................................................. 41
6.1 IGRE .................................................................................................................... 41
6.2 OPTIMALNO ODLUIVANJE .................................................................................. 41
Optimalne strategije ............................................................................................ 41
Optimalno odluivanje u igrama s vie igraa.................................................... 42
6.3 ALPHA-BETA REZANJE ........................................................................................ 42
6.4 STVARNO VREMENSKE ODLUKE .......................................................................... 43
Funkcije procjene ................................................................................................ 43
Igre s elementima sluajnosti .............................................................................. 43
Trenutno stanje .................................................................................................... 44
7. LOGIKI AGENTI .............................................................................................. 45
7.1 AGENTI ZNANJA .................................................................................................. 45
7.2 WUMPUS SVIJET .................................................................................................. 45
7.3 LOGIKA ............................................................................................................... 47
7.4 PROPOZICIJSKA LOGIKA ...................................................................................... 49
Sintaksa................................................................................................................ 49
Semantika............................................................................................................. 49
Jednostavna baza znanja ..................................................................................... 49
Zakljuivanje ....................................................................................................... 50
Jednakost, zadovoljivost, pravovaljanost ............................................................ 50
7.5 UZORCI ZAKLJUIVANJA U LOGICI....................................................................... 51
Rezolucija ............................................................................................................ 53
III

Konjunktivna normalna forma............................................................................. 54


Algoritam rezolucije ............................................................................................ 54
Ulanavanje unaprijed i unatrag ........................................................................ 54
7.6 EFEKTIVNO PROPOZICIJSKO ZAKLJUIVANJE ....................................................... 55
Algoritam potpunog pretraivanja unatrag......................................................... 55
Hill climbing pretraivanje ............................................................................. 56
Teki problemi ..................................................................................................... 56
7.7 AGENTI TEMELJENI NA PROPOZICIJSKOJ LOGICI ................................................... 57
Koritenje algoritama zakljuivanja i baze znanja ............................................. 57
Raunanje logikih izraza pomou el. mrea ...................................................... 57
Usporedba ........................................................................................................... 58
8. LOGIKA PRVOG REDA ..................................................................................... 59
8.2 SINTAKSA I SEMANTIKA LOGIKE PRVOG REDA ..................................................... 60
Modeli logike prvog reda .................................................................................... 60
Simboli i interpretacija........................................................................................ 60
Kvantifikatori....................................................................................................... 61
8.3 PRIMJENA LOGIKE PRVOG REDA .......................................................................... 62
Postavljanje i upiti............................................................................................... 62
Wumpus svijet ...................................................................................................... 62
8.4 KREIRANJE BAZE ZNANJA U LOGICI PRVOG REDA............................. 64
9. ZAKLJUIVANJE U LOGICI PRVOG REDA................................................ 65
9.1. USPOREDBA ZAKLJUIVANJA PRVOG REDA I PROPOZICIJSKE LOGIKE ................. 65
Pravila zakljuivanja za kvantifikatore ............................................................... 65
Redukcija na pravila propozicijske logike........................................................... 66
9.2. IZJEDNAAVANJE I PODIZANJE ........................................................................... 66
Pravilo zakljuivanja logike prvog reda ............................................................. 67
Izjednaavanje ..................................................................................................... 67
9.3. ZAKLJUIVANJE UNAPRIJED ............................................................................... 68
Konane reenice logike prvog reda ................................................................... 68
Nedostaci i poboljanja ....................................................................................... 69
9.4. ZAKLJUIVANJE UNATRAG ................................................................................. 70
9.5. REZOLUCIJA ....................................................................................................... 70

IV

OPENITO
Literatura:
Russell, S., Norvig, P., Artificial Intelligence:A Modern Approach, 2003

Software:
Prolog

Ocjenjivanje:
Predavanja: Dva (2) kolokvija
Laboratorijske vjebe: Obavezan dolazak + Kolokvij
Usmeni ispit - Pismeni ispit po potrebi

1. UVOD
lat. Homo sapiens - RAZUMAN OVJEK
- nain na koji razmiljamo (poimamo, razumijemo, predviamo i upravljamo veim i
kompleksnijim od sebe).

1.1 UMJETNA INTELIGENCIJA


- razvoj zapoinje po zavretku II. svjetskog rata
- obuhvaa razliita podruja
- ne samo razumjeti mehanizme ve nainiti inteligentne jedinke (engl. intelligent
entities)

Definicija umjetne inteligencije


SYSTEMS THAT

SYSTEMS THAT

THINK

THINK

LIKE HUMANS

RATIONALLY

SYSTEMS THAT

SYSTEMS THAT

ACT

ACT

LIKE HUMANS

RATIONALLY

Empirijski pristup

Kombinacije matematike i inenjerstva

Slika 1.1: Definicija umjetne inteligencije

Djelovati ljudski (engl. acting humanly)


- Turingov test
- 1950: operacijska definicija inteligencije
- test razlikovanja ljudskog od (ne) ljudskog
razumijevanje prirodnog jezika (engl. natural language processing)
predstavljanje znanja (engl. knowledge representation)
automatsko zakljuivanje (engl. automated reasoning)
strojno uenje (engl. machine learning)
1

Potpuni Turingov test:


raunalni vid (engl. computer vision)
robotika (engl. robotics)
Prouavanje principa i osnova na kojima je zasnovana inteligencija, a ne
kopiranje primjera!!! (Primjer: let avionom. Zakoni aerodinamike imitiranje
leta ptice.)

Razmiljati ljudski (engl. thinking humanly)


Otkriti nain na koji radi ljudski mozak;
a) unutarnjim uvidom (engl. introspection)
b) eksperimentalno

KOGNITIVNE ZNANOSTI: kombinacija raunalnih modela i eksperimentalnih


tehnika iz psihologije -> teorija rada ljudskog mozga

Razmiljati racionalno (engl. thinking rationally) zakon misli


Aristotel silogizam (premise zakljuak)
Logika
Zaseban pristup u AI: logistiari
-

problem prebacivanja formalnog znanja u logiki zapis (pogotovo u sluaju


nepotpunog znanja)

problem teoretskog rjeenja i prakse

Djelovati racionalno (engl. acting rationally) pristup racionalnog


agenta
Agent (lat. agere raditi); neto to radi, djeluje
Racionalni agent djeluje s ciljem postizanja najboljeg rezultat, odnosno najboljeg
oekivanog rezultata
Treba omoguiti:
-

predstavljanje znanja i zakljuivanje s ciljem donoenja dobrih odluka u


raznim situacijama.
2

generiranje reenica u razumljivom jeziku: komunikacija

uenje: znai razvoj i bolja rjeenja

vizualna percepcija: vidjeti to e se postii akcijom

GENERALNI PRINCIPI RACIONALNIH AGENATA I KOMPONENTI


POTREBNIH ZA NJIHOVO KONSTRUIRANJE!!!

1.2 RAZVOJ UMJETNE INTELIGENCIJE


Filozofija (428 B.C. danas)
-

Formalna pravila i donoenje zakljuaka

Mozak misao

Odakle dolazi znanje

Od znanja do akcije

Formalni, racionalni dio misli


Aristotel:
silogizam
Objekti znanja imaju formalnu strukturu
Ramon Lull (1315)
zakljuivanje pomou mehanikog orua
religijski motiviran
kombinacija boanskih atributa
kamenovan!!!
Leonardno da Vinci (1500)
dizajn mehanikog kalkulatora
potvrena funkcionalnost
Wilhwlm Sickhard (1623)
konstrukcija mehanikog kalkulatora
Pascal Blaise (1642)
Pascalina
Gottfried Wilhelm Leibniz (1700)
mehaniki ureaj koji provodi operacije nad konceptima (simboli i forme)
3

Misao kao fiziki sustav


Rene Descartes (1600)
razlikovanje materije i misli
Dualizam: uvodi pojam duhovnog; izvan prirode. Ne postoji kod ivotinja
Alternativa dualizmu je materijalizam: mozak radi po zakonima fizike; rezultat je
misao.

Izvor znanja
Francis Bacon (1600)
Empirizam: prvo osjeaji
David Hume (1750)
Indukcija: generalna pravila (od pojedinanog ka opem)
Carnap & Carl Hempel (1950)
Teorija potvrde (engl. confirmation theory): znanje dolazi iz iskustva
Veza znanje akcija

Matematika (c.800 danas)


-

Formalna pravila i ispravni zakljuci

to se moe izraunati

Kako razmiljamo uz nesigurnu informaciju

Formalizira tri osnovna podruja unutar AI: logiku, raunarstvo i vjerojatnost


George Boole (1847)
Logika
Gottlob Frege (1879)
Proirenje Boolove logike na objekte i veze (logika prvog reda)
Kurt Godel (1930)
Teorem nepotpunosti (engl. Incompleteness thoerem): postoje istiniti iskazi
koji se ne mogu dokazati algoritmom!
engl. Intractability: vrijeme potrebno za rjeenje problema raste eksponencijalno s
brojm ulaza
Steven Cook & Richard Karp (1971, 1972)

NP-completeness: problemi ne-polinomnog stupnja; ukazuje na Intractability


probleme.
Gerolamo Cardano (1530)
Ideja vjerojatnosti; primjena na kockanju
Fermat, Pascal, Bernoulli, Laplace, Bayes

Ekonomija (1776 danas)


-

Kako donijeti odluku s ciljem maksimiziranja dobiti?

Kako donijeti odluku kada sudjeluju i drugi?

Kako donijeti odluku ako e se dobit ostvariti u budunosti?

Adam Smith (1776)


Ekonomija kao znanost
Kako ljudi donose odluke koje dovode do eljenih rezultata?
Teorija odluke (engl. Decision theory): kombinacija teorije vjerojatnosti i elejnog
rezultata (engl. utility theory); prihvatljiva za velike ekonomije
Von Neumann & Morgenstern
Teorija igara (engl. game theory) prihvatljiva za male ekonomije
Operacijska istraivanja: sekvencijalne akcije, dobit nije vidljiva neposredno nakon
poduzimanja akcije!
Herbert Simon (1978)
Nobelova nagrada
Zadovoljavajua teorija dobro opisuje stvarno ponaanje ljudi

Neuroznanost (1861 danas)


Kako mozak obrauje informacije?
- prouavanje ivanog sustava, posebice mozga
- lokalna podruja odgovorna za pojedine funkcije
- Neuroni: ivane stanice
Raunalnih jedinica
Jedinica za pohranu
Vrijeme ciklusa
Propusnost

Raunalo
108 vrata
1010 bita RAM
1011 bita disk
10-9 sekundi
1010 bita/sekundi

Mozak
1011 neurona
1011 neurona
1014 sinapsi
10-3 sekundi
1014 bita/sekundi
5

Auriranje memorije

109

1014

Slika 1.2: Usporedba raunala i mozga


Svi neuroni i sinapse djeluju istovremeno!!!!

Psihologija (1879 danas)


Kako ljudi i ivotinje misle i djeluju?
Hremann von Helmoltz & Wilhelm Wundt
Osnivai psihologije
John Watson (1900)
Teorija ponaanja (engl. behaviorism): prouavanje ponaanje
Primitivni organizmi (stimulacija odgovor); takori, golubovi
William James (1870)
Kognitivna psihologija: mozak kao ureaj za obradu informacija
Kognitivna znanost (1956): raunalni modeli-> memorija, jezik, logiko razmiljanje

Raunalno inenjerstvo (1940 danas)


Kako napraviti efikasno raunalo?
AI=inteligencija + artifact (raunalo)
Razvoj raunala: II. Svjetski rat; dekodiranje i razbijanje ifri

Teorija kontrole i kibernetika (1948 danas)


Kako artifacti mogu raditi samostalno?
Ktesibios iz Alexandrie (250 B.C.=
Prva samo-kontrolirana maina; vodeni sat
Pretpostavka: samo ivua bia mogu mijenjati ponaanje uzrokovano promjenama u
okolini!!!
Norbert Wiener (1900)
Utemeljitelj teorije kontrole
Optimalna statistika kontrola-> dizajnirati sustav koji maksimizira funkciju u
vremenu. Razlika izmeu AI i teorije kontrole? (Nedostaje jezik, vid,
planiranje)

Lingvistika (1957 danas)


Veza jezikmisao?
B.F.Skinner (1957)
Knjiga Verbal Behaviour uenje jezika povezuje s prouavanjem ponaanja!
Naom Chomsky
Knjiga Syntactic Structures ukazuje na pomanjkanje kreativnosti kod
Skinnera.
Kako dijete razumije i slae reenice koje nisu imali prilike uti???
Formalna teorija koja se mogla programirati.

Obrada prirodnog jezika razumijevanje jezika obuhvaa razumijevanje


sadraja i konteksta, a ne samo strukturu reenice!!!!

2. INTELIGENTNI AGENTI
2.1 AGENTI I OKOLINA
AGENT bilo to, to percipira okolinu pomou senzora i zatim djeluje u toj okolini
pomou aktuatora

Slika 2.1: Agent


Ljudski agent (oi, ui i ostali senzori, ruke, noge i ostali aktuatori)
Agent robot (kamere, infracrveni senzori, motori)
Software agent (tipkovnica, datoteke, ekran, pisanje u datoteke, slanje putem mree)
Opaajni niz (engl. percept sequence):
sva opaanja agenta kroz povijest. Izbor odgovarajue akcije moe ovisiti o
cijelom opaajnom nizu!!!!
Ponaanje agent opisuje funkcija agenta:
bilo kojem opaajnom nizu pridruuje akciju
ugraena je u program agenta
funkcija je apstraktan matematiki opis!!!!
Program predstavlja stvarnu izvedbu!!!
Primjer: Agent usisava, prikazan na slici 2.2.

Slika 2.2: Agent usisava


Opis: Dvije sobe (A i B). Agent ima senzor za detekciju praine i senzor za sobu.
Moe se kretati lijevo, desno, usisavati ili ne initi nita.

2.2 KONCEPT RACIONALNOSTI


Racionalan agent: onaj koji dobro obavlja posao!!!
to znai dobro obavljati posao??? Provesti onu akciju koja e za agenta znaiti
uspjeh. Potrebna definirati mjeru uspjenosti (engl. success measure).

Mjera uspjenosti
Opisuje dobro ponaanje agenta. Mora biti:
Objektiva (obino je zadaje dizajner, konstruktor agenta). (Agent usisava: koliina
usisane prljavtine tokom osam sati. Agent iznova prlja pod!!!!)
Opisivati stvarnu elju za promjenom u okolini, a ne ocjenu ponaanja agenta!

Kompleksan zadatak

Racionalnost
Ovisi o 4 kriterija:
-

mjera uspjenosti

agentovo poznavanje okoline (a'priori)

akcije koje agent moe poduzimati

aurnost opaajnog niza

Definicija racionalnog agenta:

Za bilo koji mogui opaajni niz, racionalni agent treba odabrati onu akciju za koju se
oekuje da e maksimizirati mjeru uspjenosti.
Agent usisava:
a) 1 bod za istu sobu
b) okolina poznata (ne poetno stanje i lokacija)
c) akcije: lijevo, desno, usii, NOP
d) detektira poloaj i eventualnu neistou

Za navedene pretpostavke agent usisava je racionalan!!! (Pod kojim uvjetima agent


usisava postaje iracionalan?)

Sveznalice, uenje, autonomija


Sveznajui agent zna stvarni rezultat svojih akcija.
Nemogue u stvarnosti (Primjer: avion i prijelaz preko ulice!)
Racionalnost: maksimizira oekivanu izvedbu
Perfekcija: maksimizira trenutnu izvedbu.

Racionalan izbor ovisi iskljuivo o auriranosti opaajnog niza. (Prelazak ulice bez
gledanja lijevo i desno!!!)
Prikupljanje informacija bitan dio racionalnosti
Uenje poetno znanje se mijenja
Primjeri:
kornjaa (bez uenja; neuspjeno ponaanje)
osa (bez uenja; neuspjeno ponaanje)
Uenje kroz tri perioda:
A'priori znanja (ugraeno)
Za vrijeme akcija
Uenje iz iskustva
Ovisno o stupnju ovisnosti o a'priori znanju za agenta moemo rei da je autonoman
ili ne!
Autonomnosti: mora uiti; s vremenom postaje neovisan o prvobitnom znanju

10

2.3 RADNA OKOLINA


Definiranje radne okoline
Radna okolina obuhvaa 4 kriterija racionalnosti:
Mjera uspjenosti (engl. Performance measure)
Okolina (engl. Environment)
Aktuatori (engl. Actuators)
Senzori (engl: Sensors)
Prilikom dizajniranja agenta prvi korak obuhvaa opisivanje radne okoline PEAS.
Tablica 2.1: Opis radne okoline za taxi agenta
Agent
Taxi

Mjera
Okolina
Aktuatori
uspjenost
Sigurnost,
Ceste,
Upravlja,
brzina, ugodna sudionici
u konice, truba,
vonja, zarada prometu
papuica
za
ubrzanje

Senzori
Kamere,
brzinomjer,
GPS,
mikrofon,
tipkovnica

Svojstva radne okoline podjela


a) Potpuno/djelomino vidljiva
-

senzori imaju uvid u sva stanja okoline u svakom trenutku

senzori detektiraju sve relevantno za izbor akcije

utjecaj uma, neispravni senzori -> djelomino vidljiva

b) Deterministika/stohastika
-

idue stanje okoline tono je opisano trenutnim stanjem i akcijom agenta =


deterministika

c) Epizodno/sekvencijalno
-

iskustvo agenta podijeljeno po epizodama

nova epizoda ne ovisi o akcijama iz prethodne epizode (zadaci razvrstavanja)

trenutna akcija utjee na budue akcije = sekvencijalno (ah)

d) Statina/dinamina
-

promjena okoline za vrijeme akcije = dinamina (Taxi)

11

promjena uspjenosti s vremenom = poludinamina (ah)

statina (Slagalice)

e) Diskretna/kontinuirana
-

moe se odnositi na broj stanja, nainu koritenja vremena, agentove akcije,


prikupljanje informacija, itd. (ah = konaan broj diskretnih stanja, diskretan
skup akcija; Taxi = kontinuirana stanja, kontinuirano u vremenu, kontinuirane
akcije)

f) Jedno-agentno/vie-agentno
-

vieagentna okruenja definiraju se meusobnim odnosima agenata

Takmiarsko: protivnici

Kooperativno: suradnja

Djelomino takmiarska: u odreenim situacijama postaje takmiarsko

Tablica 2.2: Primjeri radnih okolina


Vidljivost Deterministika Epizodno Statino Diskretno Agenti
potpuna
Deterministika
Sekv.
statino
diskretno
1
Slagalica
djelomina
Stohastika
Sekv.
dinamino
Kont.
Vie
Taxi

2.4 STRUKTURA AGENTA


Zadatak AI je dizajnirati program koji e povezati zapaanja s akcijom!
AGENT = ARHITEKTURA + PROGRAM

Program
Program ulazne veliine su trenutna stanja iz okoline. Treba vratiti akciju.
Zapaanje

Akcija

Problemi:
veliina tablice (ah 10150)
uenje
vrijeme
Kako realizirati racionalno ponaanje programskim kodom, ne koristei ogromne
tablice i zapise!!!!
12

etiri tipa programa:


Refleksni agent
Model-refleksni agent
Agent voen ciljem
Agent voen kvalitetom

Refleksni agent
- najjednostavniji
- izbor akcije temeljem trenutnog zapaanja
- ograniene inteligencije
- okolina mora biti potpuno vidljiva
- upadaju u beskonane petlje
- sluajan izbor

Slika 2.3: Shematski prikaz refleksnog agenta


Primjer: Program
If status=Prljavo then Akcija=Usii
else if lokacija=A then Akcija=Desno
else if lokacija=B then Akcija=Lijevo

13

Model-refleksni agent
U sluaju djelomino vidljive okoline agent treba pamtiti odreena stanja
Interna stanja:
Informacija o promjeni okoline neovisno o agentu
Informacija o utjecaju akcije na okolinu
MODEL svijeta u kojem agent djeluje!!!

Slika 2.4: Model-refleksni agent

Agent voen ciljem


Informacija o trenutnom stanju esto nije dovoljna za donoenje ispravne odluke.
Potreban je cilj (opisuje poeljne situacije)
Ukoliko dostizanje cilja nije vidljivo nakon neposredne akcije potrebno je
pretraivanje i planiranje.
Fleksibilan

14

Slika 2.5: Agent voen ciljem

Agent voen kvalitetom


Cilj nije dostatan za realizaciju kvalitetnog ponaanje. Odreena stanja preferiramo
vie u odnosu na neka druga (stupanj zadovoljstva engl. utility function).
Utility function pridruuje stanju brojanu vrijednost koja opisuje stupanj
zadovoljstva.

Slika 2.6: Agent voen kvalitetom

15

Uenje agenta
Izgraditi agente koji imaju sposobnost uenja.
Uenje omoguava funkcioniranje u poetno nepoznatoj okolini.
etiri osnovne komponente agenta sa sposobnosti uenja:
Element za uenje napredak
Element akcije izbor akcije (opaajni niz pretvara u akciju)
Kritika poveznica s elementom za uenje (kako agent djeluje i utjee na
element akcije)
Generator problema slui za istraivanje, otkrivanje, eksperimentiranje

Slika 2.7: Model agenta sa sposobnosti uenja


Element za uenje utjee na element akcije ovisno o uspjenosti odreene akcije, koju
ocjenjuje kritika obzirom na utvrenu standardnu mjeru.
Izvedbeni standard izvan agenta, kako je sam agent ne bi mijenjao s ciljem
poboljanja svog djelovanja (nagrada kazna).
Element za uenje moe mijenjati bilo koju komponentu znanja (radi se o elementu
akcije koji predstavlja bilo kojeg od etiri osnovna tipa potpunog agenta).
Uenje: proces mijenjanja komponenti agenta s ciljem poboljanja ukupnog
djelovanja agenta!!!

16

3. PRETRAIVANJE
3.1 PROBLEM SOLVING AGENTI
Pripadaju agentima voenim ciljem. eljeno stanje (cilj) dostiu izborom niza akcija.
Primjer: putovanje izmeu dva grada.
Cilj:
ono to agent eli postii
utjee na izbor akcija i istovremeno ograniava podciljeve
Formulacija cilja: prvi korak u rjeavanju problema
Formulacija problema: proces koji ukljuuje izbor akcija i stanja ovisno o danom
cilju (bitan nivo detalja zrnatost: iz grada u grad ili akcije na svakom raskriju!)
Ako izbor akcije ne vodi cilju direktno -> potrebno je dodatno znanje!
Pretraivanje: proces traenja odgovarajueg niza akcija koje e dovesti do cilja
Rjeenje: niz akcija
Izvoenje: izvravanje akcija radi dostizanja cilja

Dobro definirani problemi i rjeenja


Problem se moe definirati pomou etiri komponente:
a) Poetno stanje (stanja)
b) Opis moguih akcija: par <akcija, slijedee stanje>
Prostor stanja = poetno stanje + <akcija, slijedee stanje>
Graf: vorovi (stanja), grane (akcija)
Put: niz stanja povezan nizom akcija
c) Test cilja: provjerava da li je agent dostigao cilj (stanje = ciljno stanje)
d) Cijena puta: funkcija koja pridruuje numeriku vrijednost pojedinom putu

Rjeenje problema: put od poetnog do ciljnog stanja


Kvaliteta rjeenja mjeri se cijenom puta. Optimalno rjeenje ima najmanju cijenu
Apstrakcija: proces uklanjanja detalja

17

3.2 PRIMJERI PROBLEMA


Stvarni problemi (engl. real world)
Problemi igara (engl. toy)

Problemi igara
Agent usisava
Stanja: 8 moguih stanja (n*2n) (slika 3.1)
Poetno stanje: bilo koje
Funkcije: lijevo, desno, usii
Test cilja: sve sobe iste
Cijena: svaka akcija jednaku cijenu

Slika 3.1: Prostor stanja agenta usisavaa


Slagalica
Stanja: pozicije na slagalici i prazno mjesto (slika 3.2)
Poetno stanje: bilo koji poredak
Funkcije: lijevo, desno, gore, dolje
Test cilja: zadani poredak
Cijena: svaka akcija jednaku cijenu
3x3 slagalica =

9!
=181 400 stanja (jednostavno)
2

4x4 slagalica = 1.3 triliona stanja (rjeenje u nekoliko milisekundi)


5x5 slagalica = 1025 stanja (teko rjeivo)

18

5
8

Slika 3.2: Primjer slagalice poetno stanje i ciljno stanje


8 kraljica
Stanja: Bilo koji poredak n kraljica na ploi
Poetno stanje: prazna ploa
Funkcije: dodaj kraljicu na prazno mjesto
Test cilja: 8 kraljica na ploi (bez meusobnog napadanja)
Cijena: nema (trai se cilj)
Kako se moe smanjiti prostor stanja? (dodatni uvjeti na stanja i funkcije!!!)

Stvarni problemi
Problem traenja rute (raunalne mree, vojne operacije, avionski prijevoz)
Problem obilaska (slian problemu traenja rute uz dodatne uvjete) problem
trgovakog putnika
Elektronska industrija VLSI (engl. very large scale integration)
Navigacija robota (dvodimenzionalan ili n-dimenzionalan problem)
Automatsko spajanje kompleksnih objekata (pronai redoslijed spajanja): dizajniranje
proteina
Pretraivanje interneta

3.3 TRAENJE RJEENJA


Nakon formulacija problema slijedi rjeavanje: pretraivanje u prostoru stanja
Stablo pretraivanja:
sastoji se od vorova (nije isto to i prostor stanja!!!)
nova stanja kreiraju se iz trenutnog stanja primjenom funkcija
Strategija pretraivanja:
odreuje nain izbora stanja koja treba proiriti

19

vor struktura podataka s pet komponenti


1. Stanje
2. Roditeljski vor: vor iz kojeg smo doli
3. Akcija: akcija koju smo proveli na roditeljskom voru
4. Cijena puta: cijena od poetnog do trenutnog vora
5. Dubina: broj koraka od poetnog stanja
vor list vor bez nasljednika; nije proiren

Mjerenje performansi algoritma za rjeenja problema


Izlaz algoritma za rjeenje problema je rjeenje ili neuspjeh. etiri su kriterija za
mjerenje performansi:
1. Potpunost: da li algoritam pronalazi rjeenje ako rjeenje postoji
2. Optimalnost: da li algoritam pronalazi optimalno rjeenje
3. Vremenska kompleksnost: koliko je vremena potrebno za pronalaenje
rjeenja
4. Prostorna kompleksnost: koliko je memorije potrebno za izvoenje pretrage

Vremenska i prostorna kompleksnost se izraavaju pomou tri faktora:


a) Faktor grananja - b: maksimalan broj nasljednika bilo kojeg vora
b) Dubina najplieg cilja d
c) Maksimalna duina bilo kojeg puta u prostoru stanja m

3.4 STRATEGIJE PRETRAIVANJA BEZ INFORMACIJA


Engl. Uninformed search strategies; Blind search
Ne postoji nikakva dodatna informacija o stanjima
Mogunost razlikovanja ciljnog stanja od preostalih
Strategije se razlikuju prema redoslijedu otvaranja novih vorova

Pretraivanje po irini
Engl. breadth-first search
Otvaraju se svi vorovi na jednom nivou (na jednoj dubini), slika 3.2.
20

Slika 3.2: Primjer pretraivanja po irini


Kriteriji:
Kompletno!
Nije nuno optimalno!
Vremenska i prostora kompleksnost: pretpostavka da svaki vor ima b sljedbenika i
rjeenja na dubini d
O(bd+1)=b+b2+b3++bd+(bd+1-b)
Tablica 3.1: Vremenski i memorijski zahtjevi za pretraivanje po irini
Dubina
vorova
Vrijeme
2
1100
0.11 sek.
4
111.100
11 sek.
7
6
10
19 min.
8
109
31 sat
13
12
10
35 godina
Memorijski zahtjevi puno vei problem nego vrijeme izvoenja!!!

Memorija
1 Mb
106 Mb
10 Gb
1 Tb
10 Pb

Slika 3.3: Slagalica - pretraivanje po irini

21

Pretraivanje s jednakom cijenom


Pretraivanje po irini je optimalno ako je cijena svakog koraka ista.
Pretraivanje s jednakom cijenom otvara vor koji ima najmanju cijenu

Pretraivanje po dubini
Engl. depth-first search
Otvara vorove po granama
Mali memorijski zahtjevi
Nije kompletno!!!
Nije optimalno!!!
Mogua pojava beskonanih putova!!!
Vremenska i prostora kompleksnost: bm+1

Slika 3.4: Primjer pretraivanja po dubini

22

Slika 3.5: Slagalica pretraivanje po dubini

Pretraivanje do odreene dubine


Rjeava problem beskonanog puta ali uvodi problem nepotpunosti (l<d)
Poznavanje problema omoguava odreivanje dobrog parametra l

Pretraivanje po dubini uz postupno poveanje dubine


Dubina pretraivanja se poveava u svakom koraku
Stanja se generiraju viestruko; najnii stupanj generira se jednom, slijedei dva puta
itd.
N(IDS)=db+(d-1)b2+.+(1)bd
N(BFS)=b+b2++bd+(bd+1-b)
Najbolja metoda za velika pretraivanja i nepoznate dubine mogueg rjeenja

23

Slika 3.6: Dvije iteracije postupnog poveanja dubine

Dvosmjerno pretraivanje
Dva istovremena pretraivanja jedno iz poetnog stanja, drugo iz ciljnog
Veliki memorijski zahtjevi
Kako pretraivati unatrag?

Usporedba metoda pretraivanja


Tablica 3.2: Usporedba metoda pretraivanja
Metoda pretraivanja
Po irini

Po dubini

Potpuno

Da

Vrijeme
Prostor
Optimalno

Poveanje
dubine
Da

Dvosmjerno

Ne

Ograniena
dubina
Ne

O(bd+1)

O(bm)

O(bl)

O(bd)

O(bd/2)

O(bd+1)

O(bm)

O(bl)

O(bd)

O(bd/2)

Da

Ne

Ne

Da

Da

Da

24

3.5 PONAVLJANJE STANJA


Kod nekih problema ponavljanje stanja se ne moe izbjei. Stabla pretraivanja kod
takvih problema su beskonana.
Ukoliko algoritam nije u stanju otkriti ponavljanje stanja lagano rjeiv problem moe
postati ne rjeiv!!!
Pamenje vorova zatvorena lista (pamti svaki otvoreni vor)

3.6 PRETRAIVANJE UZ NEPOTPUNU INFORMACIJU


Ukoliko je agentovo znanje o moguim stanjima i akcijama nepotpuno pretraivanje
uz nepotpunu informaciju.
1. Nepostojanje senzora (engl. sensorless problem)
2. Contingency problem javlja se kod djelomino sagledive okoline, nesigurnih
akcija. Nakon svake akcije dobiva nove informacije.
3. Istraivanje (engl. exploration problem) stanja i akcije okoline nepoznati.

Nepostojanje senzora
Agent usisava: zna akcije ali nema senzore! Poetno stanje moe biti bilo koje od
osam moguih stanja. Moe li agent dosei ciljno stanje (obje sobe iste)?
Vjerojatnosno stanje agent pokuava zakljuiti u kojem se stvarnom stanju nalazi
S fizikih stanja=2s vjerojatnosnih stanja
Agent bez senzora + Murhy's zakon = nerjeiv problem

25

Slika 3.7: Prostor vjerojatnosnih stanja (agent bez senzora)

26

4. PRETRAIVANJE UZ DODATNE
INFORMACIJE
4.1 STRATEGIJE PRETRAIVANJA UZ DODATNE
INFORMACIJE
Engl. informed search strategies
Koriste dodatne informacije o problemu s ciljem breg pronalaenja rjeenja.
Openiti pristup podrazumijeva strategiju najbolji naprijed (engl. best-first). Izbor
vora za otvaranje ovisi o testnoj funkciji f(n).
Odabire se vor koji se ini najboljim izborom prema izraunu testne funkcije.
Razne heuristike funkcije h(n)

Pohlepno pretraivanje
Engl. greedy best-first search
Otvara vor koji je najblii cilju. f(n) = h(n)
Slijedi pretraivanje po dubini.
Nije optimalno i nije potpuno.

A* pretraivanje
f(n) = g(n) + h(n)
g(n) = cijena do vora
h(n) = od vora do cilja
Potpuno i optimalno.
Nedostatak: memorijski zahtjev (svi vorovi u memoriji)!

4.2 HEURISTIKE FUNKCIJE


Popularno se nazivaju Pravilo palca

27

Heuristics are criteria, methods or principles for deciding which among several
alternative courses of action promises to be the most effective in order to achieve
some goal., Judea Pearl, Heuristics
Heuristike funkcije uvijek moraju podcijeniti stvarnu cijenu = prihvatljiva
heuristika (engl. admissible heuristic)
Primjer slagalice:
h1 = broj krivih pozicija u odnosu na cilj = 5

h2 = suma udaljenosti krivih pozicija = 1+1+0+0+0+1+1+2 = 6

Efektivni faktor grananja b*:


Numerika vrijednost koja daje ocjenu heuristike
N+1=1+b*+b*2++(b*)d
N broj vorova
d dubina rjeenja

28

Primjer: Pohlepno pretraivanje uz heuristiku h1

Primjer: A* pretraivanje uz heuristiku h1

29

Izvoenje prihvatljive heuristike


U sluaju slagalice h2 je bolje od h1!
Mogu li raunala dati prijedlog prihvatljive heuristike?
Olakavajui problem (engl. relaxed problem) problem s manje restrikcija na akcije
(dozvoliti dijagonalan pomak, pomak bilo gdje, pomak na zauzeto mjesto)
Vrijedi: rjeenje (cijena) olakavajueg problema je PRIHVATLJIVA HEURISTIKA
za originalni problem.
Opis problema formalnim jezikom omoguava konstrukciju olakavajueg problema!

Primjer slagalice:
Kockica se moe pomaknuti iz A u B
ako je A horizontalan ili vertikalan susjed od B i B je prazno mjesto
Tri olakavajua problema:
I) Kockica se moe pomaknuti iz A u B ako su A i B susjedi (h2)
II) Kockica se moe pomaknuti uz A u B ako je B prazan
III) Kockica se moe pomaknuti uz A u B

Program ABSOLVER generira heuristike automatski iz definicije problema


(generirao novu heuristiku za slagalicu bolju od svih poznatih i prvu iskoristivu
heuristiku za Rubikovu kocku)

Izvoenje heuristike mogue iz podproblema.

Heuristika iz iskustva
Rjeavanjem puno primjera i koritenje induktivnih algoritama za uenje.

30

4.3 ALGORITMI LOKALNOG PRETRAIVANJA I


OPTIMIZACIJSKI PROBLEMI
Algoritmi pretraivanja sistematski pretrauju prostor stanja.
Postoje problemi kada put do cilja nije bitan zanima nas samo ciljno stanje (primjer
8 kraljica!)
Algoritmi lokalnog pretraivanja koriste trenutno stanje + mogui susjedi
Kljune karakteristike:
1. Koriste malo memorije
2. Mogu pronai rjeenje u velikim ili beskonanim (kontinuiranim) prostorima
stanja
Prikladni za optimizacijske probleme pronai najbolje stanje ovisno o zadanoj
funkciji
Krajolik prostora stanja

Slika 4.1: Krajolik prostora stanja

31

Pretraivanje penjanjem
Engl. Hill-climbing
Pomaci u smjeru poveanja vrijednosti brzo se kree prema cilju.
Najee koriste tzv. sliku potpunog stanja (postavljeno rjeenje koje ne zadovoljava).
Naziva se i pohlepno lokalno pretraivanje.
Problemi:
a) Lokalni maksimum najvie vrh u okolini, ali nii od globalnog maksimuma
b) Lanac niz lokalnih maksimuma
c) Zaravan podruje na kojem je funkcija konstanta

Ulaskom u jedan od navedenih problema nemogue je napraviti pomak na bolje!!!


Rjeavanje problema 8 kraljica ulazi u neki od navedenih problema u 86% sluajeva.
Pomaci postrance: rjeavaju problem zaravni
Varijante:
Stohastiko penjanje
Izbor prvoga
Sluajno ponavljanje
Uspjeh pretraivanja penjanjem ovisi o krajoliku prostora stanja!!!!

Simulirano kaljenje
Engl. simulated annealing search
Pretraivanje penjanjem ne dozvoljava sputanje niz brdo.
Kaljenje zagrijavanje na visoku temperaturu uz postupno hlaenje
Umjesto najboljeg pomaka izabire se sluajan pomak. Ako pomak poboljava
situaciju prihvaa se. U protivnom pomak se prihvaa s vjeojatnou manjom od
jedan. (Loiji potezi dozvoljavaju se u poetku, kasnije sve manje.)

Pretraivanje lokalnom zrakom


Engl. local beam serach
uva informaciju o k stanja.

32

Poetno se generira k stanja. Nakon toga svi nasljednici svih k stanja. Ako niti jedno
novo stanje nije ciljno, izabire se k najboljih i nastavlja postupak.
Informacija se prosljeuje izmeu svih rukavaca.
Nedostatak rasprenosti zbog grupiranja oko jednog rjeenja!!!

Genetiki algoritmi
Varijanta stohastikog pretraivanja lokalnom zrakom.
Nasljednik se generira kombiniranjem dva roditeljska stanja.

Populacija: k sluajno generiranih stanja


Individua: pojedino stanje populacije opisano genima
Fitness funkcija: funkcija vrednovanja pojedinog stanja
Izbor parova: temelji se na vrijednosti fitness funkcije
Krianje: kombiniranje dva para zamjenom gena na odreenom mjestu
Mutacija: promjena pojedinog gena sluajnim odabirom

Slika 4.2: Genetiki algoritam


Shema: poetni uvjeti na dio populacije odnosno gena

33

5. PROBLEMI UZ DODATNE UVJETE


5.1 PROBLEM UZ DODATNE UVJETE
Engl. constraint satisfaction problem
Problem uz dodatne uvjete definiran je skupom varijabli X1, X2, , Xn i skupom
uvjeta C1, C2, , Cm.
Svaka varijabla Xi ima nepraznu domenu Di moguih vrijednosti.
Svaki uvjet Ci obuhvaa odreeni podskup varijabli i dozvoljava odreenu
kombinaciju vrijednosti za te varijable.
Pojedino stanje problema definirano je pridruivanjem vrijednosti samo nekim ili
svim varijablama.
Konzistentno pridruivanje: pridruivanje koje ne kri niti jedan uvjet.
Rjeenje: pridruene vrijednosti svim varijablama uz zadovoljavanje svih uvjeta!!!
Primjer:
Potrebno je obojiti kartu Australije pomou tri boje (plava, crvena, zelena) pri emu
susjedna podruja ne smiju biti obojana istom bojom.
Slika Australije!!!!
Vizualizacija CSP pomou uvjetnog grafa, slika 5.2.

Slika 5.2: Uvjetni graf


vorovi varijable
Veze uvjeti
Poetno stanje: {}, varijable nepridruene
Funkcija sljedbenika: pridruivanje vrijednosti varijablama uz zadovoljavanje uvjeta
34

Test cilja: rjeenje


Cijena: jednaka za svako pridruivanje

Ako imamo n varijabli tada je rjeenje na dubini n!!! Stablo pretraivanja ide samo do
dubine n. Pretraivanje po dubini.

Tipovi CSP:
a) diskretne varijable u konanoj domeni
d maksimalan domena bilo koje varijable
O(dn) = broj moguih potpunih pridruivanja
b) diskretne varijable u beskonanoj domeni
koritenje uvjetnog jezika
A1+5>B2
c) kontinuirane varijable
linearno programiranje

Podjela CSP ovisno o vrsti uvjeta:


a) Unarni uvjeti: restrikcija na vrijednost samo jedne varijable
b) Binarni uvjeti: restrikcija na vrijednost dvije varijable
c) Uvjeti vieg reda: ukljuuju tri i vie varijabli

Primjer:
T W O
+ T W O
=F O U R

Apsolutni uvjeti: moraju se striktno potivati


Uvjeti prvenstva: ne iskljuuju rjeenja ve im daju prednost (raspored sati!!!)

5.2 POVRATNO PRETRAIVANJE


Pretraivanje po irini za primjer Australije!
Na korijenu stabla imamo nd vorova, zatim (n-1)*d na iduem stupnju i tako redom
za svih n stupnjeva.

35

Ukupno n!*dn (Stvarno imamo samo dn)


Zajednika karakteristika svih CSP je komutativnost!
Na svakom voru razmatra se mogunost pridruivanja samo jednoj varijabli!!!

Slika 5.3: Dio stabla pretraivanja


Koristi se u kombinaciji s pretraivanjem po dubini!
Pitanja:
a) Koju varijablu izabrati kao slijedei i na koju vrijednost testirati?
b) Utjecaj izabrane varijable na preostale neizabrane?
c) Ako doemo u stanje u kojem varijabli ne moemo pridruiti ispravnu
vrijednost, moemo li u slijedeim putovima izbjei ponavljanje iste
pogreke?

Izbor varijable
Princip minimalnih preostalih vrijednosti (engl. minimum remaining values
MRV):
odabire se varijabla s najmanjim izborom, odnosno najveim brojem uvjeta.
(WA=crvena, NT=zelena, SA=plava)

Heuristika stupnja (engl. degree heuristic):


MRV ne pomae u izboru prve varijable i njene vrijednosti.
Izabire poetno varijablu koja sudjeluje u najvie uvjeta (SA).

Vrijednost s najmanje uvjeta (engl. least-constraining value):


Nakon izbora varijable potrebno je odrediti redoslijed izbora moguih vrijednosti.
Ostavlja najveu mogunost izbora slijedeim varijablama.
36

Propagacija informacije kroz uvjete


Provjeravanje uvjeta unaprijed
Nakon to je varijabli X dodijeljena vrijednost, metoda provjeravanja uvjeta unaprijed
provjerava sve preostale varijable Y koje su nekim uvjetom vezane za varijablu X i
brie sve vrijednosti iz domene varijable Y koje kre uvjet.

Tablica 5.1: Primjer provjeravanja uvjeta unaprijed


Poetno
WA=R
Q=G
V=B

WA
RGB
R
R
R

NT
RGB
GB
B
B

Q
RGB
RGB
G
G

NSW
RGB
RGB
RB
R

V
RGB
RGB
RGB
B

SA
RGB
GB
B
-

T
RGB
RGB
RGB
RGB

irenje uvjeta
Metoda provjeravanja uvjeta unaprijed ne moe otkriti sva ne ispunjavanja uvjeta.
(Primjer: Tablica 5.1. Nakon to je Q=G iz tablice je vidljivo da su NT i SA ostali B.
Obzirom da su onu susjedi ne mogu poprimiti istu boju!!!!)
Konzistentnost luka (engl. arc consistency)
Luk je konzistentan ako za svaku vrijednost varijable X postoji neka vrijednost za
varijablu Y koja je konzistentna s X (ne kri uvjet!!!).
Primjer: Tablica 5.1.
Za Q=G -> NSW={R, B} i SA={B}.
Za SA={B} postoji mogunost izbora za NSW={R} -> konzistentno
Meutim za NSW={B} ne postoji mogunost izbora za SA -> ne
konzistentno.
Uklanjaju se vrijednosti koje uzrokuju ne konzistentnost. (AC-3 algoritam)

Povratno pretraivanje
Osigurati povratak na varijablu koja je uzrokovala pogreku.
Primjer: Q, NSW, V, T, SA, WA, NT
Q{R}, NSW{G}, V{B}, T{R}, SA{?}
Povratak na T nema smisla!

37

Kreiranje konfliktnog skupa: skup pridruenih varijabli koje su uvjetnom vezane za


promatranu varijablu!!!
Za SA konfliktni skup je {Q, NSW, V}.
Direktan skok na varijablu iz konfliktnog skupa. Moe se realizirati pomou metode
provjeravanja uvjeta unaprijed!!!!

5.3 ALGORITMI LOKALNOG PRETRAIVANJA CSP


Algoritmi lokalnog pretraivanja pokazali su se izrazito efektivnim u rjeavanju
mnogih CSP.
Prilikom izbora nove vrijednosti za varijablu izabire se vrijednost koja rezultira u
najmanjem broju krenja uvjeta heuristika minimalnog konflikta.
Poetno se daje rjeenje CSP-a koje nije tono!!!
Primjer: rjeavanje problema n kraljica

5.4 STRUKTURA PROBLEMA


Struktura problema moe pomou u brem pronalaenju rjeenja.
Nezavisni podproblemi: (primjer Tasmanije!!!)
Ako je pridruivanje Si rjeenje od CSPi onda je i S i rjeenje od i CSPi
Dekompozicija vodi linearnoj ovisnosti i smanjivanju vremena rjeavanja!!!!
Podproblemi su esto povezani.
Najjednostavniji sluaj: uvjetni graf moe prikazati kao drvo bilo koje dvije
varijable povezane su najvie jednim putem.
Bilo koji uvjetni problem koji se moe prikazati kao drvo moe se rijeiti u linearnom
vremenu.

Slika 5.4: Uvjetni graf struktura drvo

38

Nain reduciranja uvjetnog grafa u drvo:


a) uklanjanjem vorova
b) grupiranjem vorova

Slika 5.5: Primjer uklanjanja vora


b) razlaganje drveta formira skupa povezanih podproblema
Pravila:
I) Svaka varijabla u barem jednom podproblemu
II) Ako su dvije varijable povezane uvjetom, moraju se pojaviti u barem jednom
podproblemu zajedno s uvjetom
III) Ako se varijabla pojavljuje u dva podproblema, mora se pojaviti u svakom
podproblemu koji se nalazi na putu koji povezuje ta dva podproblema

Slika 5.6: Dekompozicija stabla uvjetnog grafa

39

Ako bilo koji podproblem nema rjeenja, ne postoji rjeenje!!!


Cilj je napraviti male podprobleme (dekompozicija stabla je NP-teko!!!)

40

6. ADVERSARIAL SEARCH
6.1 IGRE
Okruenja u kojima se agenti meusobno natjeu.
Teorija igara grana ekonomije
Jednostavne; teke
Elementi vjerojatnosti i nepotpune informacije

6.2 OPTIMALNO ODLUIVANJE


Igra se moe formalno opisati kao problem pretraivanja s komponentama:
a) Poetno stanje: pozicija na igraoj ploi i tko igra
b) Funkcija sljedbenika: <potez, stanje>
c) Test zavretka
d) Funkcija isplativosti: daje numeriku vrijednosti krajnjih stanja

Poetno stanje i dozvoljeni potezi definiraju stablo igre.


Pretraivanjem kroz stablo odigrati najbolji potez (Primjer: iks-oks)

Optimalne strategije
Optimalna strategija vodi pobjedi.
U igri je protivnik koji takoer igra optimalno (pretpostavka)
Minimax algoritam

MIN

MAX

Zavrni vorovi
3

12 8

14 5

Slika 6.1: Stablo igre

41

Pretraivanje po dubini.
Rekurzivni povrat
Nepraktian za veinu igara

Optimalno odluivanje u igrama s vie igraa


Na svakom voru potrebno je definirati vrijednosti za sve igrae (vektor vrijednosti)
Minimax algoritam za svakog igraa
Mogunost suradnje izmeu protivnika!!!!

6.3 ALPHA-BETA REZANJE


Kod minimax algoritma broj stanja koje treba provjeriti je eksponencijalno ovisan o
broju poteza.
[-inf, +inf]

[-inf, +inf]

[-inf, 3]

[-inf, 3]

[3, 3]

12

[3, +inf]

12 8

12 8

[3, 14]

[3, 3]

[3, +inf]

[-inf, 2]

[3, 3]

[-inf, 2]

12 8

[-inf, 14]

14

[3, 3]

[-inf, 2]

[3, 3]

12 8

[2,2]

14 5

Slika 6.2: Alpha-beta rezanje

42

Efekt Alpha-beta rezanja ovisi o redoslijedu otvaranja vorova

6.4 STVARNO VREMENSKE ODLUKE


Iako Alpha-beta rezanje predstavlja poboljanje minimax algoritma potrebno je
pretraivati do krajnjih stanja.
Problem pretraivanja u dubinu
Primjena funkcije procjene (engl. evaluation function)

Funkcije procjene
Funkcija procjene daje procjenu funkcije isplativosti na trenutnoj poziciji.
Uvjeti koje mora zadovoljiti:
a) mora vrednovati krajnja stanja jednako kao i funkcija isplativosti
b) izraun mora biti kratak
c) mora dobro predstavljati trenutnu poziciju (stvarna ansa za pobjedu)

Pretraivanje se prekida u odreenom stanju (nije krajnje) unosi se nesigurnost


Funkcije procjene koriste razliite znaajke
Teinske linearne funkcije:
n

EVAL= wi f i ( s )
i =1

Utjecaj pojedine karakteristike nezavisan je o vrijednostima preostalih znaajki


(pretpostavka koja uglavnom nije ispunjena).
Koritenje nelinearnih funkcija.

Igre s elementima sluajnosti


Backgammon bacanje kockice odreuje mogue pomake ovisno o trenutnoj poziciji
Ne zna se potez protivnika ne moe se konstruirati stablo igre kao u sluaju iks-oks
igre!!!
U stablu se nalaze vjerojatnosni vorovi.
MINIMAX = oekivani MINIMAX

43

Trenutno stanje
ah: Deep Blue
126 milijuna vorova u sekundi
d=14
osnova: iterativno alpha-beta pretraivanje po dubini
dmax=40
Funkcija procjene = 8000 znaajki
Knjiga otvaranja: 4000 pozicija
Baza: 700.000 partija
Checkers
Reversi
Bolja raunala
Backgammon
Meu prva tri igraa u svijetu
GO (19x19)
Nivo amatera
Bridge
1997 pobjeda raunala na takmienju

44

7. LOGIKI AGENTI
Agenti bazirani na znanju.
Nain predstavljanja znanja i proces zakljuivanja kljuni u umjetnoj inteligenciji
Znanje i zakljuivanje bitni u djelomino opaajnoj okolini.
Razumijevanje prirodnog jezika.
Fleksibilnost novi zadaci, uenje, promjene u prostoru

7.1 AGENTI ZNANJA


Osnova svakog agenta je baza znanja.
Sastoji se od skupa reenica.
Reenice se izraavaju u jeziku za predstavljanje znanja (engl. knowledge
representation language) i predstavljaju injenice o okolini.
Potrebno omoguiti:
a) dodavanje novih reenica (engl. TELL)
b) postavljanje upit (engl. ASK)
c) zakljuivanje (izvoenje novih reenica iz postojeih)

Dva pristupa stvaranju agenata:


DEKLARATIVNI
PROCEDURALNI

Predstavljanje, zakljuivanje, uenje!!!

7.2 WUMPUS SVIJET


IGRA - Zamiljeni svijet koji se sastoji od nekoliko soba meusobno povezanih
prolazima. Wumpus je zvijer koja se nalazi u zamiljenom svijetu. Wumpus moe biti
uklonjen pomou strelice koju posjeduje agent. Cilj je pronai sobu u kojoj se nalazi
zlatni grumen. U sobama se mogu nalazi dodatne prepreke (rupe) za agenta.

45

4
3

P
W

2
1

Slika 7.1: Wumpus svijet


PEAS opis:
Mjera uspjenosti:
+1000 zlato, -1000 pad u rupu ili susret s Wumpusom, -1 pomak, -10 koritenje
strelice
Okolina:
4x4; agent poetno u sobi (1,1) okrenut udesno. Lokacije

za Wumpusa i rupe

sluajno dodijeljene
Aktuatori:
Naprijed, okret lijevo, okret desno, pokupi, pucaj
Senzori:
Pet senzora:
Senzor za prisutnost Wumpusa (u susjednim sobama, ne dijagonalno) zvuk S
Senzor za rupu (u susjednim sobama, ne dijagonalno) zvuk B
Senzor za zlato (u sobi gdje je zlato) zvuk T
Senzor za zid zvuk B
Senzor za uklonjenog Wumpusa (uje se bilo gdje u okolini) zvuk U

U svakoj sobi agent prima informacije sa senzora u obliku liste s pet simbola
[S,B,N,N,N].

W!
ok

A
ok

ok

ok

P?

V
ok

A;B
ok

P?

A;S

ok

ok
V
ok

A;B
ok

P!

46

1. U sobi (1,1) prima [N,N,N,N,N].


2. Zakljuak: sobe (1,2) i (2,1) su sigurne.
3. Izabire sobu (2,1)
4. U sobi (2,1) PRIMA [N,B,N,N,N].
5. Mogua rupa u sobama (2,2) i/ili (3,1).
6. Jedina sigurna soba je (1,1).
7. Povratak u (1,1).
8. Soba (1,2)
9. U sobi (1,2) prima [S,N,N,N,N].
10. S znai da je W u sobi (1,1), (1,3) ili (2,2). Meutim iz (1,1) je doao agent. Da je
u (2,2) primili bi zvuk S u sobi (2,1), a nismo, dakle W je u (1,3)!!!!
11. Kako u sobi (1,2) nismo primili zvuk B znai da je (2,2) sigurna soba!!! Ako je
(2,2) sigurna soba u u sobi (2,1) smo primili zvuk B znai da je u sobi (3,1) rupa.

Kombinacija znanja prikupljenog u razliitim vremenskim trenucima i na razliitim


mjestima.
Donoenje zakljuka temeljem dostupnih informacija rezultira ispravnim zakljukom
ako su informacije ispravne!!!!

7.3 LOGIKA
Baza znanja sastoji se od reenica.
Reenice se piu temeljem sintakse.
SINTAKSA = nain pisanja
SEMANTIKA = znaenje reenice
U logici, semantika odreuje istinitost reenice u odnosu prema moguem svijetu
X+Y=4 (Istinito za X=2 i Y=2; neistinito za X=1 i Y=1)

U standardnoj logici svaka reenica mora biti ili istinita ili neistinita.
MODEL = mogui svijet; matematika apstrakcija

Logiko zakljuivanje
Logiko nasljedstvo
|= (u svakom modelu gdje je istinito i je istinito.
47

Istinitost o je sadrana u istinitosti o .


1. U sobi (1,1) prima [N,N,N,N,N].
2. Zakljuak: sobe (1,2) i (2,1) su sigurne.
3. Izabire sobu (2,1)
4. U sobi (2,1) PRIMA [N,B,N,N,N].

KB
P

KB

P
P

P P
P

P
P

P P
P

Slika 7.1: Razliiti modeli za Wumpus svijet


1 = nema rupe u (1,2).
2 = nema rupe u (2,2)
Baza znanja KB: signal za rupu u sobi (2,1)!!!
Slijedi:
KB|=1; u svakom modelu gdje je KB istinito, istinito je i 1
KB|2; u neki modelima gdje je KB istinitom, 2 je neistinito

Primjer provjeravanja modela!!!


Ako algoritam zakljuivanja i moe izvesti iz KB, piemo
KB|=i
Algoritam zakljuivanja koji izvodi samo nasljedne reenice naziva se uvanje
istine.
Algoritam zakljuivanja je potpun ako moe izvesti bilo koju reenicu koja je
nasljedna.

Veza izmeu stvarnog svijeta i logikog zakljuivanja? (Kako znamo da je KB istinito


u stvarnom svijetu) = senzori

48

7.4 PROPOZICIJSKA LOGIKA


Boole-ova logika

Sintaksa
Definiran dozvoljene reenice
Atomske/Kompleksne (Atomske = jedan propozicijski simbol)
Simboli: P,Q,R,,
Kompleksne reenice kreiraju se iz atomskih koritenjem logikih veza
Negacija, Konjunkcija (i), Disjunkcija (ili), implikacija, ako i samo ako

Semantika
Pravila za odreivanje istinitosti reenica u ovisnosti o modelu.
Tablice istinitosti
P
F
F
T
T

Q
F
T
F
T

P
T
T
F
F

PiQ
F
F
F
T

P ili Q
F
T
T
T

PQ
T
T
F
T

QP
T
F
T
T

P
Q
T
F
F
T

Jednostavna baza znanja


Nain oznaavanja:
Pi,j -> rupa u (i,j)
Bi,j -> zvuk za rupu u (i,j)
Baza znanja:
R1: P1,1 (nema rupe u sobi (1,1))
R2: B1,1 (P1,2 P2,1)
R3: B2,1 (P1,1 P2,2 P3,1)
R4: B1,1
R5: B2,1

49

Zakljuivanje
Baza znanja istinita sve reenice moraju biti istinite
KB=R1R2R3R4R5
7 simbola -> 27=128 modela
Tablica istinitosti!!!
Pitanje: KB|=P2,2 ????
KB=R1R2R3R4R5
P1,1=neistina -> R1=istinito
B1,1=neistina-> R4=istinito
B2,1=istina -> R5=istinito
R2: B1,1 (P1,2 P2,1)
neistina neistina (i P1,2 i P2,1 moraju biti neistina da bi P1,2 P2,1
bilo neistina)
R3: B2,1 (P1,1 P2,2 P3,1)
istina istina (P1,1 P2,2 P3,1 mora biti istina)
P1,1 je neistina znai da P2,2 P3,1 mora biti istina, a to je
P2,2
F
T
T
B1,1
F
F
F

B2,1
T
T
T

P1,1
F
F
F

P1,2
F
F
F

P2,1
F
F
F

P2,2
F
T
T

P3,1
T
F
F
P3,1
T
F
T

KB
T
T
T

Jednakost, zadovoljivost, pravovaljanost


Logika jednakost: reenice i su logiki ekvivalentne ako su istinite u istom
skupu modela.
Odnosno,
ako i samo ako je |= i |=

50

Tablica 7.1: Logike jednakosti


( ) ( )
( ) ( )
(( ) ) ( ( ))
(( ) ) ( ( ))
()
()
()
() () ()
( ) ( )
( ) ( )
(( ( ) ( ) ( ))
(( ( ) ( ) ( ))

Komutativnost And
Komutativnost Or
Asocijativnost And
Asocijativnost Or
Eliminacija dvostruke negacije
Kontrapozicija
Eliminacija implikacije
Eliminacija ako i samo ako
De Morgan
De Morgan
Distributivnost And nad Or
Distributivnost Or nad And

Logika pravovaljanost: reenica je pravovaljana ako je istinita u svim modelima.


Odnosno,
Za bilo koje dvije reenice i , |= ako i samo ako je reenica pravovaljana
(teorem dedukcije)

Logika zadovoljivost: reenica je zadovoljiva ako je istinita u nekim modelima


(primjer KB koja je istinita u tri modela).
je pravovaljana ako i samo ako je nije zadovoljiva
je zadovoljiva ako i samo ako je nije pravovaljana
|=
ako i samo ako je reenica (
) ne zadovoljiva
Pretpostavka da je neistinito dovodi do kontradikcije s poznatim

7.5 UZORCI ZAKLJUIVANJA U LOGICI


Uzorci zakljuivanja nazivaju se pravilima zakljuivanja
Modus Ponens

Ako je poznata reenica u obliku i je poznato, tada se moe zakljuiti


reenica .

51

AND-eliminacija

Iz izraza za konjunkciju, bilo koja od konjunkcija se moe zakljuiti.


Primjer:
R1: P1,1 (nema rupe u sobi (1,1))
R2: B1,1 (P1,2 P2,1)
R3: B2,1 (P1,1 P2,2 P3,1)
R4: B1,1
R5: B2,1
Treba dokazati: P1,2 (nema rupe u (1,2))
R6: Primijeniti eliminaciju ako i samo ako na pravilo R2
B1,1 (P1,2 P2,1) = (B1,1 (P1,2 P2,1)) ((P1,2 P2,1) B1,1)
R6: (B1,1 (P1,2 P2,1)) ((P1,2 P2,1) B1,1)
R7: Primijeniti And-eliminaciju na R6
R7: (P1,2 P2,1) B1,1
R8: Primijeniti kontrapoziciju na R7
R8: B1,1 (P1,2 P2,1)
R9: Primjena Modus Ponens na R8 uz R4
R9: (P1,2 P2,1)
R10: Primjena De Morgana na R9
R10: P1,2 P2,1
Zakljuak: nema rupe u (1,2) niti u (2,1)

Dokazivanjem se izbjegava rad s nebitnim propozicijama, neovisno o njihovom broju.


Govorimo o svojstvu monotonosti.
Ako je KB|=
onda je i KB
|=

Pravila zakljuivanja se mogu primijeniti kad god u bazi znanja postoje odgovarajue
premise.

52

Rezolucija
Pravilo zakljuivanja koje osigurava potpuni algoritam zakljuivanja.
Primjer: Agent se vraa iz (2,1) u (1,1) i nastavlja u (1,2).
R1: P1,1 (nema rupe u sobi (1,1))
R2: B1,1 (P1,2 P2,1)
R3: B2,1 (P1,1 P2,2 P3,1)
R4: B1,1
R5: B2,1
R6: (B1,1 (P1,2 P2,1)) ((P1,2 P2,1) B1,1)
R7: (P1,2 P2,1) B1,1
R8: B1,1 (P1,2 P2,1)
R9: (P1,2 P2,1)
R10: P1,2 P2,1
R11: B1,2
R12: B1,2 (P1,1 P2,2 P1,3) (to napraviti: treba eliminacija ako i samo ako, zatim
And-eliminacija, kontrapozicija, Modus Ponens uz R11, De Morgan)
R13: P2,2
R14: P1,3
Za pravilo R3: B2,1 (P1,1 P2,2 P3,1) (to napraviti: treba eliminacija ako i samo
ako, zatim And-eliminacija, Modus Ponens uz R5)
R15: P1,1 P2,2 P3,1
Meutim R13. glasi: P2,2. (Rezolucija)
R16: P1,1 P3,1
Meutim R1 glasi: P1,1. (Rezolucija)
R17: P3,1
Pravilo rezolucije:

l1 l 2 .... l k , m
l1 ... l i 1 l i +1 ... l k
pri emu su li i m komplementarni literali.
Primjena pravila rezolucije osigurava potpunu proceduru zakljuivanja.
53

Konjunktivna normalna forma


Pravilo rezolucije primjenjuje se samo na disjunktne literale.
Svaka reenica propozicijske logike je logiki jednaka konjunkciji disjunktnih literala
konjunktivnoj normalnoj formi (CNF)
(1 v 2 v v n) (1 v 2 v v n) (1 v 2 v v n)
Primjer:
R2: B1,1 (P1,2 P2,1)
(B1,1 (P1,2 P2,1)) ((P1,2 P2,1) B1,1)
(B1,1 P1,2 P2,1) ( (P1,2 P2,1) B1,1)
(B1,1 P1,2 P2,1) ( P1,2 P2,1 B1,1)
(B1,1 P1,2 P2,1) ( P1,2 B1,1) (P2,1 B1,1)

Algoritam rezolucije
Koristi princip kontradikcije
|=
ako i samo ako je reenica (
) ne zadovoljiva
Algoritam zavrava u dva sluaja:
a) nema novih uvjeta
b) dva uvjeta rezultiraju u praznom skupu

Primjer:
KB=R2 R4
= P1,2
KB= R2 R4 P1,2
(B1,1 P1,2 P2,1) ( P1,2 B1,1) (P2,1 B1,1) B1,1 P1,2

Ulanavanje unaprijed i unatrag


Horn premisa:
Disjunkcija literala meu kojima je najvie jedan pozitivan
B1,1 P1,2 P2,1
1. Svaka Horn premisa moe se zapisati kao implikacija gdje zakljuak predstavlja
pozitivan literal
54

(P1,2 P2,1) B1,1


Konana premisa:
Horn premisa s tono jednim pozitivnim literalom.
Konana premisa bez negativnih literala naziva se injenicom.
2. Zakljuivanje pomou Horn premisa moe se obaviti ulanavanjem unaprijed ili
unatrag
3. Nasljeivanje uz Horn premise linearno je ovisno o veliini baze.

Zakljuivanje unaprijed: postavlja se upit q


Kree od injenica (pozitivni literali)
Ako su poznate premise implikacije zakljuak se stavlja u bazu znanja.
Proces se ponavlja sve dok se u bazi znanja ne pojavi q ili ako se zakljuivanje ne
moe nastaviti.

Zakljuivanje unatrag: postavlja se upit q


U bazi se trae implikacije iji je zakljuak q.
Zatim se provjerava istinitost premisa implikacije.
Proces se ponavlja sve dok se ne dosegnu injenice koje ine osnovu dokaza.

7.6 EFEKTIVNO PROPOZICIJSKO ZAKLJUIVANJE


Algoritmi propozicijskog zakljuivanja temeljeni na provjeri modela:
a) pretraivanje unatrag
b) hill climbing pretraivanje

Algoritam potpunog pretraivanja unatrag


Davis-Puntam algoritam
Ulaz: reenice u CNF
Tri karakteristike:
a) rani zavretak:
Algoritam moe otkriti treba li reenica biti istinita ili neistinita i u
djelominom zavrenom modelu. Reenica je istinita ako je bilo koji literal u
reenici istinit. Reenica je neistinita ako je bilo koja disjunkcija neistinita.

55

Rani zavretak izbjegava pretraivanje cijelog podstabla u prostoru


pretraivanja.
b) heuristika istog simbola
isti simbol je simbol koji se pojavljuje s istim znakom u cijeloj premisi.
Da bi model bio istinit, u CNF, isti simboli moraju biti istiniti
c) heuristika jedinine premise
premisa s jednim simbolom. Uzrokuje propagaciju. (B=neistina; B C
neistina C C).

Hill climbing pretraivanje


Algoritam WALKSAT
Model: sluajna dodjela vrijednosti simbola (istinit/neistinit)
U svakom prolazu algoritam izabire nezadovoljenu premisu i izabire jedan simbol
(literal) kojem mijenja vrijednost:
a) minimiziranjem broja nezadovoljenih premisa u novom stanju
b) sluajno

Algoritam vraa:
Ili MODEL ili FALSE
Ako vrati FALSE na znamo da li MODEL doista ne postoji ili nije dovoljno
pretraivao.

Teki problemi
Poveanjem broja premisa uz zadravanje istog broja simbola, problem ima vie
uvjeta i tee je rjeiv.
m broj premisa
n broj simbola
m/n=4.3
DPLL bolji za vee probleme
WALKSAT bri

56

7.7 AGENTI TEMELJENI NA PROPOZICIJSKOJ LOGICI


Dva osnovna pristupa:
a) koritenje algoritama zakljuivanja i baze znanja
b) raunanje logikih izraza pomou el. mrea

Koritenje algoritama zakljuivanja i baze znanja


Primjer: Wumpus svijet
Za svaku sobu, informacija o rupi u nekoj od susjednih soba:
Bx,y (Px,y+1 Px,y-1 Px+1,y Px-1,y)
Za svaku sobu, informacija o Wumpusu u nekoj od susjednih soba:
Sx,y (Wx,y+1 Wx,y-1 Wx+1,y Wx-1,y)
U Wumpus svijetu nalazi se samo jedan Wumpus.
W1,1 W1,2 W4,3 W4,4
U Wumpus svijetu nalazi se najvie jedan Wumpus.

Z danu bazu znanja trae se:


a) dokazano sigurne sobe Pi,j Wi,j (moe se naslijediti iz baze znanja)
b) mogue sigurne sobe - Pi,j Wi,j (ne moe se naslijediti iz baze znanja)

Vea okolina rezultira u veoj bazi znanja.


Prikazani samo opi oblici.
Propozicijska logika neprikladna za iskazivanje.
Unoenje vremena, orijentacije, lokacije itd.

Raunanje logikih izraza pomou el. mrea


Agenti bazirani na principu rada el. mrea.
Vrsta refleksnog agenta.
Sekvencijalna mrea (mrea logikih veza i registara)
Propagacija signala kroz mreu.

57

Usporedba
Pristup a)

Pristup b)

Treba kopije KB

Ne treba kopije KB

Da

Da

Eksponencijalna

Linearna

Kompletnost

Da

Ne

Interna stanja

Pamti

Ne pamti

Konstrukcija

Srednje

Teko

Svijest
Kopija okoline
Efikasnost

Potreban kompromis: Hibridni pristup


Osnovni nedostatak propozicijske logike: nemogunost izraavanja (expressive
power).

58

8. LOGIKA PRVOG REDA


Programski jezici:
Strukture podataka predstavljaju injenice (matrica 4x4 predstavlja sadraj Wumpus
svijeta)
Nedostatak mehanizma zakljuivanja
Nemogunost izraavanja djelomine informacije

Propozicijska logika:
Deklarativan pristup
Semantika se bazira na istinitim relacijama izmeu reenica i mogueg svijeta.
Mogunost izraavanja djelominih informacija (disjunkcija i negacija)
Kompozicija
Problem izraajnosti u okolinama s puno objekata.

Znaenje reenice ovisi o njoj samoj ali i o kontekstu u kojem je izreena.


Elementi jezika:
a) Objekti (imenice) ljudi, kua, stoljee
b) Relacije susjed od, puca, crven, okrugao, vei od
c) Funkcije (relacije s jednom vrijednou) najbolji prijatelj, otac od

Logika prvog reda koristi objekte i relacije.


Temeljna razlika izmeu propozicijske logike i logike prvog reda je u pretpostavci o
prirodi svijeta.
Jezik
Propozicijska logika
Logika prvog reda
Vremenska logika
Teorija vjerojatnosti
Neizrazita logika

to postoji u svijetu
injenice
injenice, objekti,
relacije
injenice, objekti,
relacije, vrijeme
injenice
injenice sa stupnjem
istinitosti (0, 1)

to agent vjeruje o injenicama


Istina/neistina/nepoznato
Istina/neistina/nepoznato
Istina/neistina/nepoznato
Stupanj vjerovanja (0, 1)
Poznat interval vrijednosti

59

8.2 SINTAKSA I SEMANTIKA LOGIKE PRVOG REDA


Modeli logike prvog reda
Objekti i relacije.
Domena modela: skup objekata koje sadrava
Objekti unutar modela povezani su na razliite naine.

Simboli i interpretacija
Osnovni elementi logike prvog reda su simboli koji zamjenjuje objekte, relacije i
funkcije.
Tri vrste simbola:
a) konstantni simboli - za objekte
b) predikatni simboli - za relacije
c) funkcijski simboli - za funkcije

Interpretacija nain prikazivanja stvarnog svijeta pomou simbola.

IZRAZ (engl. term) logiki izraz koji se odnosni na neki objekt.


LijevaNoga(John)
ATOMSKI IZRAZ izraavaju injenice; sastoje se od predikatnog simbola i liste
izraza.
Brat(Richard, John)
Oenjeni(Otac(Richard),Majka(John)).
Atomski izraz je istinit ako relacija i lista izraza vrijedi za navedene objekte.

KOMPLEKSNE REENICE koritenjem logikih izraza uz atomske izraze.


Kralj(Richard) v Kralj(John)

60

Kvantifikatori
Slue za izraavanje svojstava skupa objekata.
U logici prvog reda koriste se dva standardna kvantifikatora: univerzalni i
egzistencijalni.
Univerzalni kvantifikator
Za sve -
Svi kraljevi su ljudi.
x Kralj(x) Osoba(x)
Za svaku x, ako je x kralj, onda je x osoba.
x varijabla
Izrazi bez varijabli nazivaju se vrsti izrazi!!!
Egzistencijalni kvantifikator
Slui za izraavanje svojstva samo nekih objekata.
x Kruna(x) NaGlavi(x, John).

Ugnijeeni kvantifikatori
x y Brat(x,y)Roaci(x,y)
Za svaki x i y, ako su x i y braa, onda su x i y roaci.

Svi vole nekoga.


x y Voli(x,y)

Postoji netko koga svi vole.


y x Voli(x,y)

Svi vole sladoled.


x Voli(x, Sladoled)

x Voli(x, Sladoled)

61

x P x P

x P x P

x P x P

x P x P

Jednakost
Povezivanje dvaju ili vie izraza s jednim objektom.
Otac(John)=Henry

8.3 PRIMJENA LOGIKE PRVOG REDA


Postavljanje i upiti
Dodavanje reenica u bazu znanja: postavljanjem TELL
TELL(KB, Kralj(John)).

Postavljanje upita ASK


ASK(KB, Kralj(John)) vraa istina (engl. true) kao rezultat

TELL(KB, Osoba(John))
ASK(KB, x, Osoba(x)) vraa {x/John}. Tzv. vezna lista koja predstavlja skup
parova u obliku {varijabla/izraz}

Wumpus svijet
Agent u Wumpus svijetu prima informacije iz okoline u obliku liste s pet elemenata.
Senzor za prisutnost Wumpusa (u susjednim sobama, ne dijagonalno) zvuk S
Senzor za rupu (u susjednim sobama, ne dijagonalno) zvuk B
Senzor za zlato (u sobi gdje je zlato) zvuk T
Senzor za zid zvuk Z
Senzor za uklonjenog Wumpusa (uje se bilo gdje u okolini) zvuk U
U logici prvog reda osim aktivacije senzora potrebno je ukljuiti i vrijeme u kojem je
dobivena odreena lista signala.

Primjer:
Primi([S,B,T,N,N],vrijeme). - Primi([S,B,T,N,N],5).

62

Mogue akcije: okret lijevo, okret desno, naprijed, pucaj, pokupi.


Okret(Lijevo), Okret(Desno), Naprijed, Pucaj, Pokupi.

Upit o najboljoj akciji:


ASK(KB, a NajboljaAkcija(a,5)) (koja je najbolja akcija u trenutku 5?)

Za svaki situaciju u okolini mogue je postaviti pravila:


v,s,t,z,u

Primi([s,B,t,z,u],v)ZvukZid(t).

v,s,b,z,u

Primi([s,b,T,z,u],v)ZvukZlato(t).

ZvukZlato(v)NajboljaAkcija(Pokupi,v).

SINHRONA PRAVILA: omoguuju zakljuivanje


a) Dijagnostika pravila
Iz opaajnih efekata prema skrivenim uzrocima.
Ako smo u nekoj sobi dobili zvuk za rupu, onda je u nekoj od susjednih soba
rupa.
s ZvunaSobaRupa(s) r Susjed(r,s) Rupa(r).
!!!!Ali vano je i rei:
s ZvunaSobaRupa(s) r Susjed(r,s) Rupa(r).
(Naime, ako kaemo da je na stolu dvije alice, dvije alice e biti na stolu ako
ih ima i vie od dvije: tri, etiri itd. U logici prvog reda potrebno je rei: na
stolu je dvije alice i ne vie od dvije alice!!!).
s ZvunaSobaRupa(s) r Susjed(r,s) Rupa(r).

b) Neformalna pravila (engl. causal)


r Rupa(r) [s

Susjed(r,s) ZvunaSobaRupa(s)]

Ako su aksiomi ispravni i u potpunosti opisuju svijet u kojem se nalazimo i nain


zaprimanja informacija iz okoline, moe se koristiti bilo koja procedura
potpunog logikog zakljuivanja!!! Iz tog razloga dizajner agenta moe se
koncentrirati na kreiranje baze znanja!!!

63

8.4 KREIRANJE BAZE ZNANJA U LOGICI PRVOG REDA


Inenjer znanja: istrauje podruje problema, ui koncepte, kreira formalnu
reprezentaciju, objekata i veza meu objektima.
Sedam osnovnih koraka:
1. Identifikacija zadatka
Pitanja o problemu (da li je potrebna akcija, dajemo li odgovor samo o stanju okoline)
Korak slian opisivanju pomou PEAS karakteristika.
2. Prikupljanje znanja
Prikupiti dovoljno informacija o problemu koji rjeavamo.
U ovom koraku znanje nije formalizirano. (Primjerice, razgovor s ekspertom, izvjetaj
o problemu od eksperta itd.)
3. Odreivanje rjenika
Prebacivanje bitnih koncepata u logika imena.
to su objekti, relacije, funkcije.
Utjecaj vremena.
4. Zapisivanje generalnog znanja o problemu.
Pisanje aksioma.
Sputanje do nivoa izraza.
Iteracija s krakom tri (3).
5. Zapisivanje detalja
Pisanje atomskih izraza.
6. Postavljanje upita i dobivanje odgovora
Procedura zakljuivanja koristi se napisanim aksiomima i injenicama o problemu za
izvoenje novih injenica.
7. Otklanjanje pogreaka
Odgovori na upite nee biti ispravni. (Nedostajanje aksioma, injenica itd.)

64

9. ZAKLJUIVANJE U LOGICI PRVOG


REDA
Zakljuivanje uz kvantifikatore
Ujednaavanje
Zakljuivanje unaprijed
Zakljuivanje unatrag
Sustavi za dokazivanje teorema

9.1.

USPOREDBA

ZAKLJUIVANJA

PRVOG

REDA

PROPOZICIJSKE LOGIKE
Pravila zakljuivanja za kvantifikatore
Univerzalni kvantifikator
x Kralj(x) Pohlepan (x) Zao (x)
Pravilo univerzalnog primjerka: svaki vrsti izraz moe se zamijeniti varijablom.
{x/John}, {x/Richard}, {x/Otac(John)}

Egzistencijalni kvantifikator
x Kruna(x) NaGlavi(x)
Pravilo egzistencijalnog primjerka: svaka varijabla zamjenjuje se konstantnim
simbolom koji se ne pojavljuje u KB.
Kruna(C1) NaGlavi(C1)
SKOLEM konstanta = novo ime!!!
Pravilo univerzalnog primjerka moe se upotrijebiti nebrojeno puta, rezultirajui u
novim zakljucima, pravilo egzistencijalnog primjerka moe se upotrijebiti samo
jednom.

65

Redukcija na pravila propozicijske logike


Koritenjem pravila univerzalnog primjerka i pravila egzistencijalnog primjerka,
zakljuivanje logike prvog reda svodi se na zakljuivanje u propozicijskoj logici.
KB:
x Kralj(x) Pohlepan (x) Zao (x)
Kralj(John).
Pohlepan(John).
Brat(Richard, John).
Primjenom pravila univerzalnog primjerka; {x/John}, {x/Richard}.
KB:
Kralj(John) Pohlepan (John) Zao (John)
Kralj(Richard) Pohlepan (Richard) Zao (Richard)
Kralj(John).
Pohlepan(John).
Brat(Richard, John).

Propozicionalizacija postupak prebacivanja reenica logike prvog reda u reenice


propozicijske logike.
Problem funkcija mogunost beskonanih zamjena!!!
Postoje algoritmi koji e rei DA u sluaju reenice koja se nasljeuje iz KB, ali ne
postoji algoritam koji e rei NE u sluaju da se reenica ne nasljeuje iz KB.

9.2. IZJEDNAAVANJE I PODIZANJE


Ima li reenica: Kralj(Richard) Pohlepan (Richard) Zao (Richard) smisla za KB
iz prethodnog primjera???

66

Pravilo zakljuivanja logike prvog reda


x Kralj(x) Pohlepan (x) Zao (x)
Pronai x takav za koji vrijedi da je x kralj i da je pohlepan, te zakljui da je x zao.
Pronai supstituciju koja e premisu implikacije izjednaiti s postojeim reenicama u
KB!!!!
{x/john}.

KB:
x Kralj(x) Pohlepan (x) Zao (x)
Kralj(John).
y Pohlepan(y)

GENERALIZIRANI MODUS PONENS:

p1' , p 2' ,..., p n' ,.....( p1 p 2 ... p n q)


SUBST (, q)
pi', pi, q -> atomske reenice
p1'=Kralj(John).

p1=Kralj(x)

p2'=Pohlepan(y)

p2=Pohlepan(x)

={x/John, y/John}

q=Zao(x)

SUBST(,q)=Zao(John)
GENERALIZIRANI MODUS PONENS je podignuta verzija Modus Ponens-a.
Obavljaju se samo one zamjene koje omoguavaju nastavak procesa zakljuivanja.

Izjednaavanje
Kljuni proces zakljuivanja za logiku prvog reda.
Uzima dvije reenice, usporeuje ih i vraa vrijednost koja ih izjednaava.
UNIFY(Poznaje(John,x),Poznaje(John,Jane))={x/Jane}
UNIFY(Poznaje(John,x),Poznaje(y,Bill))={x/Bill; y/John}
UNIFY(Poznaje(John,x),Poznaje(y,Majka(y)))={y/John; x/Majka(John)}
UNIFY(Poznaje(John,x),Poznaje(x,Elizabeta))=fail.

67

Varijabla x ne moe poprimiti dvije vrijednosti istovremeno!!!!

9.3. ZAKLJUIVANJE UNAPRIJED


Algoritam zakljuivanja unaprijed za propozicijsku logiku:
Poeti s atomskim reenicama iz KB i primjenjivati Modus Ponens. Dodavati nove
reenice u KB, sve do trenutka kada vie ne moemo nita zakljuiti.

Konane reenice logike prvog reda


Disjunkcija literala od kojih je tono jedan pozitivan. Najee se radi o atomskoj
reenici ili implikaciji koja se sastoji od konjunkcije pozitivni literala i iji je
zakljuak pozitivni literal.
Kralj(x) Pohlepan (x) Zao (x)
Kralj(John).
Pohlepan(y)

Ako nema kvantifikatora pretpostavlja se univerzalni!!!!

Primjer:
Ameriki zakon kae da je Amerikancima nedozvoljeno (krivino djelo) prodavati
oruje neprijateljskoj naciji. Zemlja Nono, neprijatelj Amerike, posjeduje rakete koji
su im prodane od strane kapetana West-a koji je Amerikanac.
Treba pokazati da je kapetan West poinio krivino djelo i da je time okarakteriziran
kao kriminalac.
Amerikanac(x) Oruje (y) Prodaje(x,y,z) Neprijateljska(z) Kriminalac
(x)
x Posjeduje(Nono, x) Rakete(x) (primjeni egzistencijalnu eliminaciju)
Posjeduje(Nono, M1)
Rakete(M1)
Rakete(x) Posjeduje(Nono, x)Prodaje(West,x,Nono)
Rakete(x)Oruje(x)
Neprijatelj(x, Amerika)Neprijateljska(x)

68

Amerikanac(West)
Neprijatelj(Nono, America)

Implikacije:
Amerikanac(x) Oruje (y) Prodaje(x,y,z) Neprijateljska(z)Kriminalac (x)
(ne moe se izjednaiti)
Rakete(x) Posjeduje(Nono, x)Prodaje(West,x,Nono)
{x/M1} -> Prodaje(West,M1,Nono) (dodaje se u KB)

Rakete(x)Oruje(x)
{x/M1} -> Oruje(M1) (dodaje se u KB)

Neprijatelj(x, Amerika)Neprijateljska(x)
{x/Nono} -> Neprijateljska(Nono) (dodaje se u KB)
Amerikanac(x) Oruje (y) Prodaje(x,y,z) Neprijateljska(z)Kriminalac(x)
{x/West, y/M1, z/Nono} -> Kriminalac(West).

Nedostaci i poboljanja
Pretraivanje radi svih izjednaavanja (Pattern matching)
Provjeravanja svakog pravila u svakom koraku.
Generiranje injenica nebitnih za ostvarivanje cilja.
Poboljanja
Rakete(x) Posjeduje(Nono, x)Prodaje(West,x,Nono)
Pronai redoslijed rjeavanja konjunkcija, kako bi se ukupna cijena smanjila!!!!
Koritenje HEURISTIKE varijable s najvie uvjeta (pretraiti KB, primjerice, prvo za
Rakete ako tih injenica ima manje u bazi!)
Nove injenice dodane u t-koraku moraju ukljuivati barem jednu injenicu iz t-1
koraka.

69

Zakljuivanje unatrag.
Restrikcije na odreeni skup pravila.
arobni skup (dodatni uvjeti na ciljnu varijablu).

9.4. ZAKLJUIVANJE UNATRAG


Kree od zadanog cilja.
KB
Amerikanac(x) Oruje (y) Prodaje(x,y,z) Neprijateljska(z) Kriminalac
(x)
Posjeduje(Nono, M1)
Rakete(M1)
Rakete(x) Posjeduje(Nono, x)Prodaje(West,x,Nono)
Rakete(x)Oruje(x)
Neprijatelj(x, Amerika)Neprijateljska(x)
Amerikanac(West)
Neprijatelj(Nono, America)

Kriminalac(West)

Amerikanac(West)

Oruje(y)

Prodaje(West,M1,z)

Neprijateljska(Nono)

{z/Nono}

{}
Rakete(y)
{y/M1}

Rakete(M1)
{}

Posjeduje(Nono,M1)

Neprijatelj(Nono,Amerika)

{}

{}

9.5. REZOLUCIJA
Pitanje postojanja kompletne matematike procedure za dokazivanje?
Teorem potpunosti (Kurt Gdel, 1930) bilo koja nasljedna reenica ima konaan
dokaz.
Teorem nepotpunosti (Kurt Gdel, 1931) logiki sustav koji koristi principe
indukcije je nuno nepotpun. Dakle, postoje reenice koje su nasljedne ali nemaju
konaan dokaz!!!!

70

Potrebno je obaviti prebacivanje u CNF!!!


Amerikanac(x) Oruje (y) Prodaje(x,y,z) Neprijateljska(z) Kriminalac (x)
U CNF:
Amerikanac(x) Oruje (y) Prodaje(x,y,z) Neprijateljska(z) Kriminalac
(x)

Ista procedura kao i u sluaju propozicijske logike; dodatno se zahtijeva eliminacija


egzistencijalnog kvantifikatora.

Rezolucijsko pravilo: U propozicijskoj logici literali su komplementarni ako su


meusobno negacije. U logici prvog reda literali su komplementarni ako postoji
mogunost unifikacije s negacijom.
KB:
Amerikanac(x) Oruje (y) Prodaje(x,y,z) Neprijateljska(z) Kriminalac
(x)
Posjeduje(Nono, M1)
Rakete(M1)
Rakete(x) Posjeduje(Nono, x)Prodaje(West,x,Nono)
Rakete(x)Oruje(x)
Neprijatelj(x, Amerika)Neprijateljska(x)
Amerikanac(West)
Neprijatelj(Nono, America)

KB u CNF:
Amerikanac(x) Oruje (y) Prodaje(x,y,z) Neprijateljska(z)
Kriminalac (x)
Rakete(x) Posjeduje(Nono, x) Prodaje(West,x,Nono)
Rakete(x) Oruje(x)
Neprijatelj(x, Amerika) Neprijateljska(x)
Posjeduje(Nono, M1)
Rakete(M1)
Amerikanac(West)
Neprijatelj(Nono, America)
71

Amerikanac(x)Oruje (y)Prodaje(x,y,z)Neprijateljska(z) Kriminalac (x)

Amerikanac(West)

Kriminalac(West)

Amerikanac(West)Oruje (y)Prodaje(West,y,z)Neprijateljska(z)

Rakete(x) Oruje(x)

Oruje (y)Prodaje(West,y,z)Neprijateljska(z)

Rakete(M1)

Rakete(y)Prodaje(West,y,z)Neprijateljska(z)

Rakete(x) Posjeduje(Nono, x) Prodaje(West,x,Nono)

Prodaje(West,M1,z)Neprijateljska(z)

Rakete(M1)

Rakete(M1) Posjeduje(Nono, M1) Neprijateljska(Nono)

Posjeduje(Nono, M1)

Posjeduje(Nono, M1) Neprijateljska(Nono)

Neprijatelj(x, Amerika) Neprijateljska(x)

Neprijateljska(Nono)

Neprijatelj(Nono, America)

Neprijatelj(Nono, Amerika)

72

You might also like