Umjetna Inteligencija

You might also like

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

SVEUČILIŠTE J. J.

STROSSMAYERA
ELEKTROTEHNIČKI FAKULTET OSIJEK

UMJETNA INTELIGENCIJA
Bilješke s predavanja

Osijek, listopad 2005.


SADRŽAJ
OPĆENITO................................................................................................................. V

1. UVOD ....................................................................................................................... 1

1.1 UMJETNA INTELIGENCIJA ...................................................................................... 1


Definicija umjetne inteligencije............................................................................. 1
Djelovati ljudski (engl. acting humanly) ............................................................... 1
Razmišljati ljudski (engl. thinking humanly) ......................................................... 2
Razmišljati 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
Računalno inženjerstvo (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 uspješnosti................................................................................................... 9
Racionalnost .......................................................................................................... 9
Sveznalice, učenje, 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

I
Agent vođen ciljem............................................................................................... 14
Agent vođen kvalitetom........................................................................................ 15
Učenje agenta ...................................................................................................... 16

3. PRETRAŽIVANJE ............................................................................................... 17

3.1 PROBLEM SOLVING AGENTI................................................................................. 17


Dobro definirani problemi i rješenja................................................................... 17
3.2 PRIMJERI PROBLEMA ........................................................................................... 18
Problemi igara..................................................................................................... 18
Stvarni problemi .................................................................................................. 19
3.3 TRAŽENJE RJEŠENJA ............................................................................................ 19
Mjerenje performansi algoritma za rješenja problema....................................... 20
3.4 STRATEGIJE PRETRAŽIVANJA BEZ INFORMACIJA ................................................. 20
Pretraživanje po širini ......................................................................................... 20
Pretraživanje s jednakom cijenom....................................................................... 22
Pretraživanje po dubini ....................................................................................... 22
Pretraživanje do određene dubine....................................................................... 23
Pretraživanje po dubini uz postupno povećanje dubine...................................... 23
Dvosmjerno pretraživanje ................................................................................... 24
Usporedba metoda pretraživanja ........................................................................ 24
3.5 PONAVLJANJE STANJA ........................................................................................ 25
3.6 PRETRAŽIVANJE UZ NEPOTPUNU INFORMACIJU ................................................... 25
Nepostojanje senzora........................................................................................... 25

4. PRETRAŽIVANJE UZ DODATNE INFORMACIJE ...................................... 27

4.1 STRATEGIJE PRETRAŽIVANJA UZ DODATNE INFORMACIJE.................................... 27


Pohlepno pretraživanje........................................................................................ 27
A* pretraživanje .................................................................................................. 27
4.2 HEURISTIČKE FUNKCIJE ...................................................................................... 27
Izvođenje prihvatljive heuristike.......................................................................... 30
Heuristika iz iskustva........................................................................................... 30
4.3 ALGORITMI LOKALNOG PRETRAŽIVANJA I OPTIMIZACIJSKI PROBLEMI................. 31
Pretraživanje penjanjem...................................................................................... 32
Simulirano kaljenje.............................................................................................. 32

II
Pretraživanje lokalnom zrakom........................................................................... 32
Genetički algoritmi .............................................................................................. 33

5. PROBLEMI UZ DODATNE UVJETE ............................................................... 34

5.1 PROBLEM UZ DODATNE UVJETE .......................................................................... 34


5.2 POVRATNO PRETRAŽIVANJE ................................................................................ 35
Izbor varijable ..................................................................................................... 36
Propagacija informacije kroz uvjete ................................................................... 37
Povratno pretraživanje ........................................................................................ 37
5.3 ALGORITMI LOKALNOG PRETRAŽIVANJA CSP..................................................... 38
5.4 STRUKTURA PROBLEMA ...................................................................................... 38

6. ADVERSARIAL SEARCH .................................................................................. 41

6.1 IGRE .................................................................................................................... 41


6.2 OPTIMALNO ODLUČIVANJE .................................................................................. 41
Optimalne strategije ............................................................................................ 41
Optimalno odlučivanje u igrama s više igrača.................................................... 42
6.3 ALPHA-BETA REZANJE ........................................................................................ 42
6.4 STVARNO VREMENSKE ODLUKE .......................................................................... 43
Funkcije procjene ................................................................................................ 43
Igre s elementima slučajnosti .............................................................................. 43
Trenutno stanje .................................................................................................... 44

7. LOGIČKI 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
Zaključivanje ....................................................................................................... 50
Jednakost, zadovoljivost, pravovaljanost ............................................................ 50
7.5 UZORCI ZAKLJUČIVANJA U LOGICI....................................................................... 51
Rezolucija ............................................................................................................ 53

III
Konjunktivna normalna forma............................................................................. 54
Algoritam rezolucije ............................................................................................ 54
Ulančavanje unaprijed i unatrag ........................................................................ 54
7.6 EFEKTIVNO PROPOZICIJSKO ZAKLJUČIVANJE ....................................................... 55
Algoritam potpunog pretraživanja unatrag......................................................... 55
“Hill climbing” pretraživanje ............................................................................. 56
Teški problemi ..................................................................................................... 56
7.7 AGENTI TEMELJENI NA PROPOZICIJSKOJ LOGICI ................................................... 57
Korištenje algoritama zaključivanja i baze znanja ............................................. 57
Računanje logičkih izraza pomoću el. mreža ...................................................... 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. ZAKLJUČIVANJE U LOGICI PRVOG REDA................................................ 65

9.1. USPOREDBA ZAKLJUČIVANJA PRVOG REDA I PROPOZICIJSKE LOGIKE ................. 65


Pravila zaključivanja za kvantifikatore ............................................................... 65
Redukcija na pravila propozicijske logike........................................................... 66
9.2. IZJEDNAČAVANJE I PODIZANJE ........................................................................... 66
Pravilo zaključivanja logike prvog reda ............................................................. 67
Izjednačavanje ..................................................................................................... 67
9.3. ZAKLJUČIVANJE UNAPRIJED ............................................................................... 68
Konačne rečenice logike prvog reda ................................................................... 68
Nedostaci i poboljšanja ....................................................................................... 69
9.4. ZAKLJUČIVANJE UNATRAG ................................................................................. 70
9.5. REZOLUCIJA ....................................................................................................... 70

IV
OPĆENITO
Literatura:
Russell, S., Norvig, P., Artificial Intelligence:A Modern Approach, 2003

Software:
Prolog

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

V
1. UVOD
lat. Homo sapiens - RAZUMAN ČOVJEK
- način na koji razmišljamo (poimamo, razumijemo, predviđamo i upravljamo većim i
kompleksnijim od sebe).

1.1 UMJETNA INTELIGENCIJA

- razvoj započinje po završetku II. svjetskog rata


- obuhvaća različita područja
- ne samo razumjeti mehanizme već načiniti 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 inženjerstva

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 zaključivanje (engl. automated reasoning)
☺ strojno učenje (engl. machine learning)

1
Potpuni Turingov test:
☺ računalni vid (engl. computer vision)
☺ robotika (engl. robotics)

Proučavanje principa i osnova na kojima je zasnovana inteligencija, a ne


kopiranje primjera!!! (Primjer: let avionom. Zakoni aerodinamike – imitiranje
leta ptice.)

Razmišljati ljudski (engl. thinking humanly)

Otkriti način na koji radi ljudski mozak;


a) unutarnjim uvidom (engl. introspection)
b) eksperimentalno

KOGNITIVNE ZNANOSTI: kombinacija računalnih modela i eksperimentalnih


tehnika iz psihologije -> teorija rada ljudskog mozga

Razmišljati racionalno (engl. thinking rationally) – zakon misli

Aristotel – silogizam (premise – zaključak)


Logika
Zaseban pristup u AI: logističari
- problem prebacivanja formalnog znanja u logički zapis (pogotovo u slučaju
nepotpunog znanja)
- problem teoretskog rješenja i prakse

Djelovati racionalno (engl. acting rationally) – pristup racionalnog


agenta

Agent (lat. agere – raditi); nešto što radi, djeluje


Racionalni agent – djeluje s ciljem postizanja najboljeg rezultat, odnosno najboljeg
očekivanog rezultata
Treba omogućiti:
- predstavljanje znanja i zaključivanje s ciljem donošenja dobrih odluka u
raznim situacijama.

2
- generiranje rečenica u razumljivom jeziku: komunikacija
- učenje: znači razvoj i bolja rješenja
- vizualna percepcija: vidjeti što će se postići akcijom

GENERALNI PRINCIPI RACIONALNIH AGENATA I KOMPONENTI


POTREBNIH ZA NJIHOVO KONSTRUIRANJE!!!

1.2 RAZVOJ UMJETNE INTELIGENCIJE

Filozofija (428 B.C. – danas)

- Formalna pravila i donošenje zaključaka


- Mozak ⇔ misao
- Odakle dolazi znanje
- Od znanja do akcije

Formalni, racionalni dio misli


Aristotel:
silogizam
Objekti znanja imaju formalnu strukturu
Ramon Lull (1315)
zaključivanje pomoću mehaničkog oruđa
religijski motiviran
kombinacija božanskih atributa
kamenovan!!!
Leonardno da Vinci (1500)
dizajn mehaničkog kalkulatora
potvrđena funkcionalnost
Wilhwlm Sickhard (1623)
konstrukcija mehaničkog kalkulatora
Pascal Blaise (1642)
Pascalina
Gottfried Wilhelm Leibniz (1700)
mehanički uređaj koji provodi operacije nad konceptima (simboli i forme)

3
Misao kao fizički 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 osjećaji
David Hume (1750)
Indukcija: generalna pravila (od pojedinačnog ka općem)
Carnap & Carl Hempel (1950)
Teorija potvrde (engl. confirmation theory): znanje dolazi iz iskustva

Veza znanje ⇔ akcija

Matematika (c.800 – danas)

- Formalna pravila i ispravni zaključci


- Što se može izračunati
- Kako razmišljamo uz nesigurnu informaciju
Formalizira tri osnovna područja unutar AI: logiku, računarstvo i vjerojatnost
George Boole (1847)
Logika
Gottlob Frege (1879)
Proširenje 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 rješenje problema raste eksponencijalno s
brojm ulaza
Steven Cook & Richard Karp (1971, 1972)

4
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 budućnosti?
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 istraživanja: sekvencijalne akcije, dobit nije vidljiva neposredno nakon
poduzimanja akcije!
Herbert Simon (1978)
Nobelova nagrada
Zadovoljavajuća teorija – dobro opisuje stvarno ponašanje ljudi

Neuroznanost (1861 – danas)

Kako mozak obrađuje informacije?


- proučavanje živčanog sustava, posebice mozga
- lokalna područja odgovorna za pojedine funkcije
- Neuroni: živčane stanice
Računalo Mozak
Računalnih jedinica 108 vrata 1011 neurona
Jedinica za pohranu 1010 bita RAM 1011 neurona
1011 bita disk 1014 sinapsi
Vrijeme ciklusa 10-9 sekundi 10-3 sekundi
Propusnost 1010 bita/sekundi 1014 bita/sekundi

5
Ažuriranje memorije 109 1014
Slika 1.2: Usporedba računala i mozga

Svi neuroni i sinapse djeluju istovremeno!!!!

Psihologija (1879 – danas)

Kako ljudi i životinje misle i djeluju?


Hremann von Helmoltz & Wilhelm Wundt
Osnivači psihologije
John Watson (1900)
Teorija ponašanja (engl. behaviorism): proučavanje ponašanje
Primitivni organizmi (stimulacija ⇔ odgovor); štakori, golubovi
William James (1870)
Kognitivna psihologija: mozak kao uređaj za obradu informacija
Kognitivna znanost (1956): računalni modeli-> memorija, jezik, logičko razmišljanje

Računalno inženjerstvo (1940 – danas)

Kako napraviti efikasno računalo?


AI=inteligencija + artifact (računalo)
Razvoj računala: 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 mašina; vodeni sat
Pretpostavka: samo živuća bića mogu mijenjati ponašanje uzrokovano promjenama u
okolini!!!
Norbert Wiener (1900)
Utemeljitelj teorije kontrole
Optimalna statistička kontrola-> dizajnirati sustav koji maksimizira funkciju u
vremenu. Razlika između AI i teorije kontrole? (Nedostaje jezik, vid,
planiranje)

6
Lingvistika (1957 – danas)

Veza jezik⇔misao?
B.F.Skinner (1957)
Knjiga Verbal Behaviour – učenje jezika povezuje s proučavanjem ponašanja!
Naom Chomsky
Knjiga Syntactic Structures – ukazuje na pomanjkanje kreativnosti kod
Skinnera.
Kako dijete razumije i slaže rečenice koje nisu imali prilike čuti???
Formalna teorija koja se mogla programirati.

Obrada prirodnog jezika – razumijevanje jezika obuhvaća razumijevanje


sadržaja i konteksta, a ne samo strukturu rečenice!!!!

7
2. INTELIGENTNI AGENTI

2.1 AGENTI I OKOLINA

AGENT – bilo što, što percipira okolinu pomoću senzora i zatim djeluje u toj okolini
pomoću aktuatora

Slika 2.1: Agent

Ljudski agent (oči, uši i ostali senzori, ruke, noge i ostali aktuatori)
Agent robot (kamere, infracrveni senzori, motori)
Software agent (tipkovnica, datoteke, ekran, pisanje u datoteke, slanje putem mreže)
Opažajni niz (engl. percept sequence):
sva opažanja agenta kroz povijest. Izbor odgovarajuće akcije može ovisiti o
cijelom opažajnom nizu!!!!
Ponašanje agent opisuje funkcija agenta:
bilo kojem opažajnom nizu pridružuje akciju
ugrađena je u program agenta
funkcija je apstraktan matematički opis!!!!
Program predstavlja stvarnu izvedbu!!!
Primjer: Agent usisavač, prikazan na slici 2.2.

8
Slika 2.2: Agent usisavač

Opis: Dvije sobe (A i B). Agent ima senzor za detekciju prašine i senzor za sobu.
Može se kretati lijevo, desno, usisavati ili ne činiti ništa.

2.2 KONCEPT RACIONALNOSTI

Racionalan agent: onaj koji dobro obavlja posao!!!


Što znači dobro obavljati posao??? Provesti onu akciju koja će za agenta značiti
uspjeh. Potrebna definirati mjeru uspješnosti (engl. success measure).

Mjera uspješnosti

Opisuje dobro ponašanje agenta. Mora biti:


Objektiva (obično je zadaje dizajner, konstruktor agenta). (Agent usisavač: količina
usisane prljavštine tokom osam sati. Agent iznova prlja pod!!!!)
Opisivati stvarnu želju za promjenom u okolini, a ne ocjenu ponašanja agenta!

Kompleksan zadatak

Racionalnost

Ovisi o 4 kriterija:
- mjera uspješnosti
- agentovo poznavanje okoline (a'priori)
- akcije koje agent može poduzimati
- ažurnost opažajnog niza
Definicija racionalnog agenta:

9
Za bilo koji mogući opažajni niz, racionalni agent treba odabrati onu akciju za koju se
očekuje da će maksimizirati mjeru uspješnosti.
Agent usisavač:
a) 1 bod za čistu sobu
b) okolina poznata (ne početno stanje i lokacija)
c) akcije: lijevo, desno, usiši, NOP
d) detektira položaj i eventualnu nečistoću

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


usisavač postaje iracionalan?)

Sveznalice, učenje, autonomija

Sveznajući agent zna stvarni rezultat svojih akcija.


Nemoguće u stvarnosti (Primjer: avion i prijelaz preko ulice!)
Racionalnost: maksimizira očekivanu izvedbu
Perfekcija: maksimizira trenutnu izvedbu.

Racionalan izbor ovisi isključivo o ažuriranosti opažajnog niza. (Prelazak ulice bez
gledanja lijevo i desno!!!)
Prikupljanje informacija – bitan dio racionalnosti
Učenje – početno znanje se mijenja
Primjeri:
kornjača (bez učenja; neuspješno ponašanje)
osa (bez učenja; neuspješno ponašanje)
Učenje kroz tri perioda:
A'priori znanja (ugrađeno)
Za vrijeme akcija
Učenje iz iskustva
Ovisno o stupnju ovisnosti o a'priori znanju za agenta možemo reći da je autonoman
ili ne!
Autonomnosti: mora učiti; s vremenom postaje neovisan o prvobitnom znanju

10
2.3 RADNA OKOLINA

Definiranje radne okoline

Radna okolina obuhvaća 4 kriterija racionalnosti:


Mjera uspješnosti (engl. Performance measure)
Okolina (engl. Environment)
Aktuatori (engl. Actuators)
Senzori (engl: Sensors)
Prilikom dizajniranja agenta prvi korak obuhvaća opisivanje radne okoline – PEAS.

Tablica 2.1: Opis radne okoline za taxi agenta


Agent Mjera Okolina Aktuatori Senzori
uspješnost
Taxi Sigurnost, Ceste, Upravljač, Kamere,
brzina, ugodna sudionici u kočnice, truba, brzinomjer,
vožnja, zarada prometu papučica za GPS,
ubrzanje mikrofon,
tipkovnica

Svojstva radne okoline – podjela

a) Potpuno/djelomično vidljiva
- senzori imaju uvid u sva stanja okoline u svakom trenutku
- senzori detektiraju sve relevantno za izbor akcije
- utjecaj šuma, neispravni senzori -> djelomično vidljiva
b) Deterministička/stohastička
- iduće stanje okoline točno je opisano trenutnim stanjem i akcijom agenta =
deterministička
c) Epizodno/sekvencijalno
- iskustvo agenta podijeljeno po epizodama
- nova epizoda ne ovisi o akcijama iz prethodne epizode (zadaci razvrstavanja)
- trenutna akcija utječe na buduće akcije = sekvencijalno (Šah)
d) Statična/dinamična
- promjena okoline za vrijeme akcije = dinamična (Taxi)

11
- promjena uspješnosti s vremenom = poludinamična (Šah)
- statična (Slagalice)
e) Diskretna/kontinuirana
- može se odnositi na broj stanja, načinu korištenja vremena, agentove akcije,
prikupljanje informacija, itd. (Šah = konačan broj diskretnih stanja, diskretan
skup akcija; Taxi = kontinuirana stanja, kontinuirano u vremenu, kontinuirane
akcije)
f) Jedno-agentno/više-agentno
- višeagentna okruženja definiraju se međusobnim odnosima agenata
- Takmičarsko: protivnici
- Kooperativno: suradnja
- Djelomično takmičarska: u određenim situacijama postaje takmičarsko

Tablica 2.2: Primjeri radnih okolina


Vidljivost Deterministička Epizodno Statično Diskretno Agenti
Slagalica potpuna Deterministička Sekv. statično diskretno 1
Taxi djelomična Stohastička Sekv. dinamično Kont. Više

2.4 STRUKTURA AGENTA

Zadatak AI je dizajnirati program koji će povezati zapažanja s akcijom!


AGENT = ARHITEKTURA + PROGRAM

Program

Program – ulazne veličine su trenutna stanja iz okoline. Treba vratiti akciju.


Zapažanje Akcija
…. ….
…. ….
…. ….
Problemi:
veličina tablice (Šah – 10150)
učenje
vrijeme
Kako realizirati racionalno ponašanje programskim kodom, ne koristeći ogromne
tablice i zapise!!!!

12
Četiri tipa programa:
Refleksni agent
Model-refleksni agent
Agent vođen ciljem
Agent vođen kvalitetom

Refleksni agent

- najjednostavniji
- izbor akcije temeljem trenutnog zapažanja
- ograničene inteligencije
- okolina mora biti potpuno vidljiva
- upadaju u beskonačne petlje
- slučajan izbor

Slika 2.3: Shematski prikaz refleksnog agenta

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

13
Model-refleksni agent

U slučaju djelomično vidljive okoline agent treba pamtiti određena 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 vođen ciljem

Informacija o trenutnom stanju često nije dovoljna za donošenje ispravne odluke.


Potreban je cilj (opisuje poželjne situacije)
Ukoliko dostizanje cilja nije vidljivo nakon neposredne akcije potrebno je
pretraživanje i planiranje.
Fleksibilan

14
Slika 2.5: Agent vođen ciljem

Agent vođen kvalitetom

Cilj nije dostatan za realizaciju kvalitetnog ponašanje. Određena stanja preferiramo


više u odnosu na neka druga (stupanj zadovoljstva – engl. utility function).
Utility function pridružuje stanju brojčanu vrijednost koja opisuje stupanj
zadovoljstva.

Slika 2.6: Agent vođen kvalitetom

15
Učenje agenta

Izgraditi agente koji imaju sposobnost učenja.


Učenje omogućava funkcioniranje u početno nepoznatoj okolini.
Četiri osnovne komponente agenta sa sposobnosti učenja:
Element za učenje – napredak
Element akcije – izbor akcije (opažajni niz pretvara u akciju)
Kritika – poveznica s elementom za učenje (kako agent djeluje i utječe na
element akcije)
Generator problema – služi za istraživanje, otkrivanje, eksperimentiranje

Slika 2.7: Model agenta sa sposobnosti učenja

Element za učenje utječe na element akcije ovisno o uspješnosti određene akcije, koju
ocjenjuje kritika obzirom na utvrđenu standardnu mjeru.
Izvedbeni standard – izvan agenta, kako je sam agent ne bi mijenjao s ciljem
poboljšanja svog djelovanja (nagrada – kazna).
Element za učenje može mijenjati bilo koju komponentu znanja (radi se o elementu
akcije koji predstavlja bilo kojeg od četiri osnovna tipa potpunog agenta).
Učenje: proces mijenjanja komponenti agenta s ciljem poboljšanja ukupnog
djelovanja agenta!!!

16
3. PRETRAŽIVANJE

3.1 PROBLEM SOLVING AGENTI

Pripadaju agentima vođenim ciljem. Željeno stanje (cilj) dostižu izborom niza akcija.
Primjer: putovanje između dva grada.
Cilj:
ono što agent želi postići
utječe na izbor akcija i istovremeno ograničava podciljeve
Formulacija cilja: prvi korak u rješavanju problema
Formulacija problema: proces koji uključuje izbor akcija i stanja ovisno o danom
cilju (bitan nivo detalja zrnatost: iz grada u grad ili akcije na svakom raskrižju!)
Ako izbor akcije ne vodi cilju direktno -> potrebno je dodatno znanje!
Pretraživanje: proces traženja odgovarajućeg niza akcija koje će dovesti do cilja
Rješenje: niz akcija
Izvođenje: izvršavanje akcija radi dostizanja cilja

Dobro definirani problemi i rješenja

Problem se može definirati pomoću četiri komponente:


a) Početno stanje (stanja)
b) Opis mogućih akcija: par <akcija, slijedeće stanje>
Prostor stanja = početno stanje + <akcija, slijedeće 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 pridružuje numeričku vrijednost pojedinom putu

Rješenje problema: put od početnog do ciljnog stanja


Kvaliteta rješenja mjeri se cijenom puta. Optimalno rješenje 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 mogućih stanja (n*2n) (slika 3.1)
Početno stanje: bilo koje
Funkcije: lijevo, desno, usiši
Test cilja: sve sobe čiste
Cijena: svaka akcija jednaku cijenu

Slika 3.1: Prostor stanja agenta usisavača

Slagalica
Stanja: pozicije na slagalici i prazno mjesto (slika 3.2)
Početno stanje: bilo koji poredak
Funkcije: lijevo, desno, gore, dolje
Test cilja: zadani poredak
Cijena: svaka akcija jednaku cijenu
9!
3x3 slagalica = =181 400 stanja (jednostavno)
2
4x4 slagalica = 1.3 triliona stanja (rješenje u nekoliko milisekundi)
5x5 slagalica = 1025 stanja (teško rješivo)

18
7 2 4 1 2

5 6 3 4 5

8 3 1 6 7 8

Slika 3.2: Primjer slagalice – početno stanje i ciljno stanje

8 kraljica
Stanja: Bilo koji poredak n kraljica na ploči
Početno stanje: prazna ploča
Funkcije: dodaj kraljicu na prazno mjesto
Test cilja: 8 kraljica na ploči (bez međusobnog napadanja)
Cijena: nema (traži se cilj)
Kako se može smanjiti prostor stanja? (dodatni uvjeti na stanja i funkcije!!!)

Stvarni problemi

Problem traženja rute (računalne mreže, vojne operacije, avionski prijevoz)


Problem obilaska (sličan problemu traženja rute uz dodatne uvjete) – problem
trgovačkog putnika
Elektronska industrija – VLSI (engl. very large scale integration)
Navigacija robota (dvodimenzionalan ili n-dimenzionalan problem)
Automatsko spajanje kompleksnih objekata (pronaći redoslijed spajanja): dizajniranje
proteina
Pretraživanje interneta

3.3 TRAŽENJE RJEŠENJA

Nakon formulacija problema slijedi rješavanje: pretraživanje u prostoru stanja


Stablo pretraživanja:
sastoji se od čvorova (nije isto što i prostor stanja!!!)
nova stanja kreiraju se iz trenutnog stanja primjenom funkcija
Strategija pretraživanja:
određuje način izbora stanja koja treba proširiti

19
Čvor – struktura podataka s pet komponenti
1. Stanje
2. Roditeljski čvor: čvor iz kojeg smo došli
3. Akcija: akcija koju smo proveli na roditeljskom čvoru
4. Cijena puta: cijena od početnog do trenutnog čvora
5. Dubina: broj koraka od početnog stanja
Čvor list – čvor bez nasljednika; nije proširen

Mjerenje performansi algoritma za rješenja problema

Izlaz algoritma za rješenje problema je rješenje ili neuspjeh. Četiri su kriterija za


mjerenje performansi:
1. Potpunost: da li algoritam pronalazi rješenje ako rješenje postoji
2. Optimalnost: da li algoritam pronalazi optimalno rješenje
3. Vremenska kompleksnost: koliko je vremena potrebno za pronalaženje
rješenja
4. Prostorna kompleksnost: koliko je memorije potrebno za izvođenje pretrage

Vremenska i prostorna kompleksnost se izražavaju pomoću tri faktora:


a) Faktor grananja - b: maksimalan broj nasljednika bilo kojeg čvora
b) Dubina najplićeg cilja – d
c) Maksimalna dužina bilo kojeg puta u prostoru stanja – m

3.4 STRATEGIJE PRETRAŽIVANJA BEZ INFORMACIJA

Engl. Uninformed search strategies; Blind search


Ne postoji nikakva dodatna informacija o stanjima
Mogućnost razlikovanja ciljnog stanja od preostalih
Strategije se razlikuju prema redoslijedu otvaranja novih čvorova

Pretraživanje po širini

Engl. breadth-first search


Otvaraju se svi čvorovi na jednom nivou (na jednoj dubini), slika 3.2.

20
Slika 3.2: Primjer pretraživanja po širini

Kriteriji:
Kompletno!
Nije nužno optimalno!
Vremenska i prostora kompleksnost: pretpostavka da svaki čvor ima b sljedbenika i
rješenja na dubini d
O(bd+1)=b+b2+b3+…+bd+(bd+1-b)

Tablica 3.1: Vremenski i memorijski zahtjevi za pretraživanje po širini


Dubina Čvorova Vrijeme Memorija
2 1100 0.11 sek. 1 Mb
4 111.100 11 sek. 106 Mb
7
6 10 19 min. 10 Gb
8 109 31 sat 1 Tb
13
12 10 35 godina 10 Pb
Memorijski zahtjevi puno veći problem nego vrijeme izvođenja!!!

Slika 3.3: Slagalica - pretraživanje po širini

21
Pretraživanje s jednakom cijenom

Pretraživanje po širini je optimalno ako je cijena svakog koraka ista.


Pretraživanje s jednakom cijenom otvara čvor koji ima najmanju cijenu

Pretraživanje po dubini

Engl. depth-first search


Otvara čvorove po granama
Mali memorijski zahtjevi
Nije kompletno!!!
Nije optimalno!!!
Moguća pojava beskonačnih putova!!!
Vremenska i prostora kompleksnost: bm+1

Slika 3.4: Primjer pretraživanja po dubini

22
Slika 3.5: Slagalica – pretraživanje po dubini

Pretraživanje do određene dubine

Rješava problem beskonačnog puta ali uvodi problem nepotpunosti (l<d)


Poznavanje problema omogućava određivanje dobrog parametra l

Pretraživanje po dubini uz postupno povećanje dubine

Dubina pretraživanja se povećava u svakom koraku


Stanja se generiraju višestruko; najniži stupanj generira se jednom, slijedeći dva puta
itd.
N(IDS)=db+(d-1)b2+….+(1)bd
N(BFS)=b+b2+…+bd+(bd+1-b)
Najbolja metoda za velika pretraživanja i nepoznate dubine mogućeg rješenja

23
Slika 3.6: Dvije iteracije postupnog povećanja dubine

Dvosmjerno pretraživanje

Dva istovremena pretraživanja – jedno iz početnog stanja, drugo iz ciljnog


Veliki memorijski zahtjevi
Kako pretraživati unatrag?

Usporedba metoda pretraživanja

Tablica 3.2: Usporedba metoda pretraživanja


Metoda pretraživanja
Po širini Po dubini Ograničena Povećanje Dvosmjerno
dubina dubine
Potpuno Da Ne Ne Da Da
Vrijeme O(bd+1) O(bm) O(bl) O(bd) O(bd/2)
Prostor O(bd+1) O(bm) O(bl) O(bd) O(bd/2)
Optimalno Da Ne Ne Da Da

24
3.5 PONAVLJANJE STANJA

Kod nekih problema ponavljanje stanja se ne može izbjeći. Stabla pretraživanja kod
takvih problema su beskonačna.
Ukoliko algoritam nije u stanju otkriti ponavljanje stanja lagano rješiv problem može
postati ne rješiv!!!
Pamćenje čvorova – zatvorena lista (pamti svaki otvoreni čvor)

3.6 PRETRAŽIVANJE UZ NEPOTPUNU INFORMACIJU

Ukoliko je agentovo znanje o mogućim stanjima i akcijama nepotpuno – pretraživanje


uz nepotpunu informaciju.
1. Nepostojanje senzora (engl. sensorless problem)
2. Contingency problem – javlja se kod djelomično sagledive okoline, nesigurnih
akcija. Nakon svake akcije dobiva nove informacije.
3. Istraživanje (engl. exploration problem) – stanja i akcije okoline nepoznati.

Nepostojanje senzora

Agent usisavač: zna akcije ali nema senzore! Početno stanje može biti bilo koje od
osam mogućih stanja. Može li agent doseći ciljno stanje (obje sobe čiste)?
Vjerojatnosno stanje – agent pokušava zaključiti u kojem se stvarnom stanju nalazi
S fizičkih stanja=2s vjerojatnosnih stanja
Agent bez senzora + Murhy's zakon = nerješiv problem

25
Slika 3.7: Prostor vjerojatnosnih stanja (agent bez senzora)

26
4. PRETRAŽIVANJE UZ DODATNE
INFORMACIJE

4.1 STRATEGIJE PRETRAŽIVANJA UZ DODATNE


INFORMACIJE

Engl. informed search strategies


Koriste dodatne informacije o problemu s ciljem bržeg pronalaženja rješenja.
Općeniti 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 izračunu testne funkcije.
Razne heurističke funkcije h(n)

Pohlepno pretraživanje

Engl. greedy best-first search


Otvara čvor koji je najbliži cilju. f(n) = h(n)
Slijedi pretraživanje po dubini.
Nije optimalno i nije potpuno.

A* pretraživanje

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 HEURISTIČKE 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
Heurističke 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*:


Numerička vrijednost koja daje ocjenu heuristike
N+1=1+b*+b*2+…+(b*)d
N – broj čvorova
d – dubina rješenja

28
Primjer: Pohlepno pretraživanje uz heuristiku h1

Primjer: A* pretraživanje uz heuristiku h1

29
Izvođenje prihvatljive heuristike

U slučaju slagalice h2 je bolje od h1!


Mogu li računala dati prijedlog prihvatljive heuristike?
Olakšavajući problem (engl. relaxed problem) – problem s manje restrikcija na akcije
(dozvoliti dijagonalan pomak, pomak bilo gdje, pomak na zauzeto mjesto)
Vrijedi: rješenje (cijena) olakšavajućeg problema je PRIHVATLJIVA HEURISTIKA
za originalni problem.
Opis problema formalnim jezikom omogućava konstrukciju olakšavajućeg problema!

Primjer slagalice:
Kockica se može pomaknuti iz A u B
ako je A horizontalan ili vertikalan susjed od B i B je prazno mjesto
Tri olakšavajuća problema:
I) Kockica se može pomaknuti iz A u B ako su A i B susjedi (h2)
II) Kockica se može pomaknuti uz A u B ako je B prazan
III) Kockica se može 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)

Izvođenje heuristike moguće iz podproblema.

Heuristika iz iskustva

Rješavanjem puno primjera i korištenje induktivnih algoritama za učenje.

30
4.3 ALGORITMI LOKALNOG PRETRAŽIVANJA I
OPTIMIZACIJSKI PROBLEMI

Algoritmi pretraživanja sistematski pretražuju prostor stanja.


Postoje problemi kada put do cilja nije bitan – zanima nas samo ciljno stanje (primjer
8 kraljica!)
Algoritmi lokalnog pretraživanja koriste trenutno stanje + mogući susjedi
Ključne karakteristike:
1. Koriste malo memorije
2. Mogu pronaći rješenje u velikim ili beskonačnim (kontinuiranim) prostorima
stanja
Prikladni za optimizacijske probleme – pronaći najbolje stanje ovisno o zadanoj
funkciji
Krajolik prostora stanja

Slika 4.1: Krajolik prostora stanja

31
Pretraživanje penjanjem

Engl. Hill-climbing
Pomaci u smjeru povećanja vrijednosti – brzo se kreće prema cilju.
Najčešće koriste tzv. sliku potpunog stanja (postavljeno rješenje koje ne zadovoljava).
Naziva se i pohlepno lokalno pretraživanje.
Problemi:
a) Lokalni maksimum – najviše vrh u okolini, ali niži od globalnog maksimuma
b) Lanac – niz lokalnih maksimuma
c) Zaravan – područje na kojem je funkcija konstanta

Ulaskom u jedan od navedenih problema nemoguće je napraviti pomak na bolje!!!


Rješavanje problema 8 kraljica ulazi u neki od navedenih problema u 86% slučajeva.
Pomaci postrance: rješavaju problem zaravni
Varijante:
Stohastičko penjanje
Izbor prvoga
Slučajno ponavljanje
Uspjeh pretraživanja penjanjem ovisi o krajoliku prostora stanja!!!!

Simulirano kaljenje

Engl. simulated annealing search


Pretraživanje penjanjem ne dozvoljava spuštanje niz brdo.
Kaljenje – zagrijavanje na visoku temperaturu uz postupno hlađenje
Umjesto najboljeg pomaka izabire se slučajan pomak. Ako pomak poboljšava
situaciju prihvaća se. U protivnom pomak se prihvaća s vjeojatnošću manjom od
jedan. (Lošiji potezi dozvoljavaju se u početku, kasnije sve manje.)

Pretraživanje lokalnom zrakom

Engl. local beam serach


Čuva informaciju o k stanja.

32
Početno 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 prosljeđuje između svih “rukavaca”.
Nedostatak raspršenosti zbog grupiranja oko jednog rješenja!!!

Genetički algoritmi

Varijanta stohastičkog pretraživanja lokalnom zrakom.


Nasljednik se generira kombiniranjem dva roditeljska stanja.

Populacija: k slučajno generiranih stanja


Individua: pojedino stanje populacije – opisano genima
Fitness funkcija: funkcija vrednovanja pojedinog stanja
Izbor parova: temelji se na vrijednosti fitness funkcije
Križanje: kombiniranje dva para zamjenom gena na određenom mjestu
Mutacija: promjena pojedinog gena slučajnim odabirom

Slika 4.2: Genetički algoritam

Shema: početni 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 mogućih vrijednosti.
Svaki uvjet Ci obuhvaća određeni podskup varijabli i dozvoljava određenu
kombinaciju vrijednosti za te varijable.
Pojedino stanje problema definirano je pridruživanjem vrijednosti samo nekim ili
svim varijablama.
Konzistentno pridruživanje: pridruživanje koje ne krši niti jedan uvjet.
Rješenje: pridružene vrijednosti svim varijablama uz zadovoljavanje svih uvjeta!!!
Primjer:
Potrebno je obojiti kartu Australije pomoću tri boje (plava, crvena, zelena) pri čemu
susjedna područja ne smiju biti obojana istom bojom.
Slika Australije!!!!
Vizualizacija CSP pomoću uvjetnog grafa, slika 5.2.

Slika 5.2: Uvjetni graf

Čvorovi – varijable
Veze – uvjeti
Početno stanje: {}, varijable nepridružene
Funkcija sljedbenika: pridruživanje vrijednosti varijablama uz zadovoljavanje uvjeta

34
Test cilja: rješenje
Cijena: jednaka za svako pridruživanje

Ako imamo n varijabli tada je rješenje na dubini n!!! Stablo pretraživanja ide samo do
dubine n. Pretraživanje po dubini.

Tipovi CSP:
a) diskretne varijable u konačnoj domeni
d – maksimalan domena bilo koje varijable
O(dn) = broj mogućih potpunih pridruživanja
b) diskretne varijable u beskonačnoj domeni
korištenje 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 višeg reda: uključuju tri i više varijabli

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

Apsolutni uvjeti: moraju se striktno poštivati


Uvjeti prvenstva: ne isključuju rješenja već im daju prednost (raspored sati!!!)

5.2 POVRATNO PRETRAŽIVANJE

Pretraživanje po širini za primjer Australije!


Na korijenu stabla imamo nd čvorova, zatim (n-1)*d na idućem stupnju i tako redom
za svih n stupnjeva.

35
Ukupno n!*dn (Stvarno imamo samo dn)
Zajednička karakteristika svih CSP je komutativnost!
Na svakom čvoru razmatra se mogućnost pridruživanja samo jednoj varijabli!!!

Slika 5.3: Dio stabla pretraživanja

Koristi se u kombinaciji s pretraživanjem po dubini!


Pitanja:
a) Koju varijablu izabrati kao slijedeći i na koju vrijednost testirati?
b) Utjecaj izabrane varijable na preostale neizabrane?
c) Ako dođemo u stanje u kojem varijabli ne možemo pridružiti ispravnu
vrijednost, možemo li u slijedećim putovima izbjeći ponavljanje iste
pogreške?

Izbor varijable

Princip minimalnih preostalih vrijednosti (engl. minimum remaining values –


MRV):
odabire se varijabla s najmanjim izborom, odnosno najvećim brojem uvjeta.
(WA=crvena, NT=zelena, SA=plava)

Heuristika stupnja (engl. degree heuristic):


MRV ne pomaže u izboru prve varijable i njene vrijednosti.
Izabire početno varijablu koja sudjeluje u najviše uvjeta (SA).

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


Nakon izbora varijable potrebno je odrediti redoslijed izbora mogućih vrijednosti.
Ostavlja najveću mogućnost izbora slijedećim 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
briše sve vrijednosti iz domene varijable Y koje krše uvjet.

Tablica 5.1: Primjer provjeravanja uvjeta unaprijed


WA NT Q NSW V SA T
Početno RGB RGB RGB RGB RGB RGB RGB
WA=R R GB RGB RGB RGB GB RGB
Q=G R B G RB RGB B RGB
V=B R B G R B - RGB

Širenje uvjeta
Metoda provjeravanja uvjeta unaprijed ne može 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 krši uvjet!!!).
Primjer: Tablica 5.1.
Za Q=G -> NSW={R, B} i SA={B}.
Za SA={B} postoji mogućnost izbora za NSW={R} -> konzistentno
Međutim za NSW={B} ne postoji mogućnost izbora za SA -> ne
konzistentno.
Uklanjaju se vrijednosti koje uzrokuju ne konzistentnost. (AC-3 algoritam)

Povratno pretraživanje

Osigurati povratak na varijablu koja je uzrokovala pogrešku.


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 pridruženih varijabli koje su uvjetnom vezane za
promatranu varijablu!!!
Za SA konfliktni skup je {Q, NSW, V}.
Direktan skok na varijablu iz konfliktnog skupa. Može se realizirati pomoću metode
provjeravanja uvjeta unaprijed!!!!

5.3 ALGORITMI LOKALNOG PRETRAŽIVANJA CSP

Algoritmi lokalnog pretraživanja pokazali su se izrazito efektivnim u rješavanju


mnogih CSP.
Prilikom izbora nove vrijednosti za varijablu izabire se vrijednost koja rezultira u
najmanjem broju kršenja uvjeta – heuristika minimalnog konflikta.
Početno se daje rješenje CSP-a koje nije točno!!!
Primjer: rješavanje problema n kraljica

5.4 STRUKTURA PROBLEMA

Struktura problema može pomoću u bržem pronalaženju rješenja.


Nezavisni podproblemi: (primjer Tasmanije!!!)
Ako je pridruživanje Si rješenje od CSPi onda je ∪ i S i rješenje od ∪ i CSPi
Dekompozicija vodi linearnoj ovisnosti i smanjivanju vremena rješavanja!!!!
Podproblemi su često povezani.
Najjednostavniji slučaj: uvjetni graf može prikazati kao drvo – bilo koje dvije
varijable povezane su najviše jednim putem.
Bilo koji uvjetni problem koji se može prikazati kao drvo može se riješiti u linearnom
vremenu.

Slika 5.4: Uvjetni graf – struktura drvo

38
Način 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 rješenja, ne postoji rješenje!!!
Cilj je napraviti male podprobleme (dekompozicija stabla je NP-teško!!!)

40
6. ADVERSARIAL SEARCH

6.1 IGRE

Okruženja u kojima se agenti međusobno natječu.


Teorija igara – grana ekonomije
Jednostavne; teške
Elementi vjerojatnosti i nepotpune informacije

6.2 OPTIMALNO ODLUČIVANJE

Igra se može formalno opisati kao problem pretraživanja s komponentama:


a) Početno stanje: pozicija na igraćoj ploči i tko igra
b) Funkcija sljedbenika: <potez, stanje>
c) Test završetka
d) Funkcija isplativosti: daje numeričku vrijednosti krajnjih stanja

Početno stanje i dozvoljeni potezi definiraju stablo igre.


Pretraživanjem kroz stablo odigrati najbolji potez (Primjer: iks-oks)

Optimalne strategije

Optimalna strategija vodi pobjedi.


U igri je protivnik koji također igra optimalno (pretpostavka)
Minimax algoritam
MAX 3

MIN 3 2 2

Završni čvorovi
3 12 8 2 4 6 14 5 2

Slika 6.1: Stablo igre

41
Pretraživanje po dubini.
Rekurzivni povrat
Nepraktičan za većinu igara

Optimalno odlučivanje u igrama s više igrača

Na svakom čvoru potrebno je definirati vrijednosti za sve igrače (vektor vrijednosti)


Minimax algoritam za svakog igrača
Mogućnost suradnje između protivnika!!!!

6.3 ALPHA-BETA REZANJE

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

[-inf, 3] [-inf, 3] [3, 3]

3 3 12 3 12 8

[3, +inf] [3, 14]

[-inf, 2]
[3, 3] [-inf, 2] [3, 3] [-inf, 14]

3 12 8 2 3 12 8 2 14

[3, 3]

[-inf, 2]
[3, 3] [2,2]

3 12 8 2 14 5 2

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 poboljšanje minimax algoritma potrebno je


pretraživati do krajnjih stanja.
Problem pretraživanja 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) izračun mora biti kratak
c) mora dobro predstavljati trenutnu poziciju (stvarna šansa za pobjedu)

Pretraživanje se prekida u određenom stanju (nije krajnje) – unosi se nesigurnost


Funkcije procjene koriste različite značajke
Težinske linearne funkcije:
n
EVAL= ∑ wi f i ( s )
i =1

Utjecaj pojedine karakteristike nezavisan je o vrijednostima preostalih značajki


(pretpostavka koja uglavnom nije ispunjena).
Korištenje nelinearnih funkcija.

Igre s elementima slučajnosti

Backgammon – bacanje kockice određuje moguće pomake ovisno o trenutnoj poziciji


Ne zna se potez protivnika – ne može se konstruirati stablo igre kao u slučaju iks-oks
igre!!!
U stablu se nalaze vjerojatnosni čvorovi.
MINIMAX = očekivani MINIMAX

43
Trenutno stanje

Šah: Deep Blue


126 milijuna čvorova u sekundi
d=14
osnova: iterativno alpha-beta pretraživanje po dubini
dmax=40
Funkcija procjene = 8000 značajki
Knjiga otvaranja: 4000 pozicija
Baza: 700.000 partija
Checkers
Reversi
Bolja računala
Backgammon
Među prva tri igrača u svijetu
GO (19x19)
Nivo amatera
Bridge
1997 pobjeda računala na takmičenju

44
7. LOGIČKI AGENTI
Agenti bazirani na znanju.
Način predstavljanja znanja i proces zaključivanja – ključni u umjetnoj inteligenciji
Znanje i zaključivanje bitni u djelomično opažajnoj okolini.
Razumijevanje prirodnog jezika.
Fleksibilnost – novi zadaci, učenje, promjene u prostoru

7.1 AGENTI ZNANJA

Osnova svakog agenta je baza znanja.


Sastoji se od skupa rečenica.
Rečenice se izražavaju u jeziku za predstavljanje znanja (engl. knowledge
representation language) i predstavljaju činjenice o okolini.
Potrebno omogućiti:
a) dodavanje novih rečenica (engl. TELL)
b) postavljanje upit (engl. ASK)
c) zaključivanje (izvođenje novih rečenica iz postojećih)

Dva pristupa stvaranju agenata:


DEKLARATIVNI
PROCEDURALNI

Predstavljanje, zaključivanje, učenje!!!

7.2 WUMPUS SVIJET

IGRA - Zamišljeni svijet koji se sastoji od nekoliko soba međusobno povezanih


prolazima. Wumpus je zvijer koja se nalazi u zamišljenom svijetu. Wumpus može biti
uklonjen pomoću strelice koju posjeduje agent. Cilj je pronaći sobu u kojoj se nalazi
zlatni grumen. U sobama se mogu nalazi dodatne prepreke (rupe) za agenta.

45
4 P

3 W G P

1 A P

Slika 7.1: Wumpus svijet

PEAS opis:
Mjera uspješnosti:
+1000 zlato, -1000 pad u rupu ili susret s Wumpusom, -1 pomak, -10 korištenje
strelice
Okolina:
4x4; agent početno u sobi (1,1) okrenut udesno. Lokacije za Wumpusa i rupe
slučajno 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 ok P? A;S ok
ok
A ok V A;B P? V A;B P!
ok ok ok ok ok

46
1. U sobi (1,1) prima [N,N,N,N,N].
2. Zaključak: 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. Moguća 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 znači da je W u sobi (1,1), (1,3) ili (2,2). Međutim iz (1,1) je došao 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 znači da je (2,2) sigurna soba!!! Ako je
(2,2) sigurna soba u u sobi (2,1) smo primili zvuk B znači da je u sobi (3,1) rupa.

Kombinacija znanja prikupljenog u različitim vremenskim trenucima i na različitim


mjestima.
Donošenje zaključka temeljem dostupnih informacija rezultira ispravnim zaključkom
ako su informacije ispravne!!!!

7.3 LOGIKA

Baza znanja sastoji se od rečenica.


Rečenice se pišu temeljem sintakse.
SINTAKSA = način pisanja
SEMANTIKA = značenje rečenice
U logici, semantika određuje istinitost rečenice u odnosu prema mogućem svijetu
X+Y=4 (Istinito za X=2 i Y=2; neistinito za X=1 i Y=1)

U standardnoj logici svaka rečenica mora biti ili istinita ili neistinita.
MODEL = mogući svijet; matematička apstrakcija

Logičko zaključivanje
Logičko nasljedstvo
α|=β (u svakom modelu gdje je α istinito i β je istinito.

47
Istinitost o β je sadržana u istinitosti o α.
1. U sobi (1,1) prima [N,N,N,N,N].
2. Zaključak: sobe (1,2) i (2,1) su sigurne.
3. Izabire sobu (2,1)
4. U sobi (2,1) PRIMA [N,B,N,N,N].

P P
P P
KB
α1
KB α2

P P P P
P P

P P P P P P P P P P
P P P P

Slika 7.1¸: Različiti 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 zaključivanja i može izvesti α iz KB, pišemo
KB|=i α
Algoritam zaključivanja koji izvodi samo nasljedne rečenice naziva se “čuvanje
istine”.
Algoritam zaključivanja je potpun ako može izvesti bilo koju rečenicu koja je
nasljedna.

Veza između stvarnog svijeta i logičkog zaključivanja? (Kako znamo da je KB istinito


u stvarnom svijetu) = senzori

48
7.4 PROPOZICIJSKA LOGIKA

Boole-ova logika

Sintaksa

Definiran dozvoljene rečenice


Atomske/Kompleksne (Atomske = jedan propozicijski simbol)
Simboli: P,Q,R,…,
Kompleksne rečenice kreiraju se iz atomskih korištenjem logičkih veza
Negacija, Konjunkcija (i), Disjunkcija (ili), implikacija, ako i samo ako

Semantika

Pravila za određivanje istinitosti rečenica u ovisnosti o modelu.


Tablice istinitosti
P Q ¬P PiQ P ili Q P⇒Q Q⇒P ⇔Q
P⇔
F F T F F T T T
F T T F T T F F
T F F F T F T F
T T F T T T T T

Jednostavna baza znanja

Način označavanja:
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
Zaključivanje

Baza znanja istinita – sve rečenice moraju biti istinite


KB=R1∧R2∧R3∧R4∧R5
7 simbola -> 27=128 modela
Tablica istinitosti!!!
Pitanje: KB|=P2,2 ????
KB=R1∧R2∧R3∧R4∧R5
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 znači da P2,2 ∨ P3,1 mora biti istina, a to je
P2,2 P3,1
F T
T F
T F

B1,1 B2,1 P1,1 P1,2 P2,1 P2,2 P3,1 KB


F T F F F F T T
F T F F F T F T
F T F F F T T T

Jednakost, zadovoljivost, pravovaljanost

Logička jednakost: rečenice α i β su logički ekvivalentne ako su istinite u istom


skupu modela.
Odnosno,
α ≡ β ako i samo ako je α|=β i β|=α

50
Tablica 7.1: Logičke 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

Logička pravovaljanost: rečenica je pravovaljana ako je istinita u svim modelima.


Odnosno,
Za bilo koje dvije rečenice α i β, α|=β ako i samo ako je rečenica α⇒β pravovaljana
(teorem dedukcije)

Logička zadovoljivost: rečenica 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 rečenica (α
α ∧¬β ) ne zadovoljiva
Pretpostavka da je β neistinito dovodi do kontradikcije s poznatim α

7.5 UZORCI ZAKLJUČIVANJA U LOGICI

Uzorci zaključivanja nazivaju se pravilima zaključivanja


Modus Ponens
α ⇒ β ,α
β
Ako je poznata rečenica u obliku α⇒β i α je poznato, tada se može zaključiti
rečenica β.

51
AND-eliminacija
α ∧β
α
Iz izraza za konjunkciju, bilo koja od konjunkcija se može zaključiti.
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
Zaključak: nema rupe u (1,2) niti u (2,1)

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


Govorimo o svojstvu monotonosti.
α onda je i KB∧
Ako je KB|=α ∧β |=α
α
Pravila zaključivanja se mogu primijeniti kad god u bazi znanja postoje odgovarajuće
premise.

52
Rezolucija

Pravilo zaključivanja koje osigurava potpuni algoritam zaključivanja.


Primjer: Agent se vraća 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
Međutim R13. glasi: ¬P2,2. (Rezolucija)
R16: P1,1 ∨ P3,1
Međutim 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 zaključivanja.

53
Konjunktivna normalna forma

Pravilo rezolucije primjenjuje se samo na disjunktne literale.


Svaka rečenica propozicijske logike je logički 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 rečenica (α
α ∧¬β ) ne zadovoljiva
Algoritam završava u dva slučaja:
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

Ulančavanje unaprijed i unatrag

Horn premisa:
Disjunkcija literala među kojima je najviše jedan pozitivan
B1,1 ∨ ¬P1,2 ∨ ¬P2,1
1. Svaka Horn premisa može se zapisati kao implikacija gdje zaključak predstavlja
pozitivan literal

54
(P1,2 ∧ P2,1) ⇒ B1,1
Konačna premisa:
Horn premisa s točno jednim pozitivnim literalom.
Konačna premisa bez negativnih literala naziva se činjenicom.
2. Zaključivanje pomoću Horn premisa može se obaviti ulančavanjem unaprijed ili
unatrag
3. Nasljeđivanje uz Horn premise linearno je ovisno o veličini baze.

Zaključivanje unaprijed: postavlja se upit q


Kreće od činjenica (pozitivni literali)
Ako su poznate premise implikacije zaključak se stavlja u bazu znanja.
Proces se ponavlja sve dok se u bazi znanja ne pojavi q ili ako se zaključivanje ne
može nastaviti.

Zaključivanje unatrag: postavlja se upit q


U bazi se traže implikacije čiji je zaključak q.
Zatim se provjerava istinitost premisa implikacije.
Proces se ponavlja sve dok se ne dosegnu činjenice koje čine osnovu dokaza.

7.6 EFEKTIVNO PROPOZICIJSKO ZAKLJUČIVANJE

Algoritmi propozicijskog zaključivanja temeljeni na provjeri modela:


a) pretraživanje unatrag
b) “hill climbing” pretraživanje

Algoritam potpunog pretraživanja unatrag

Davis-Puntam algoritam
Ulaz: rečenice u CNF
Tri karakteristike:
a) rani završetak:
Algoritam može otkriti treba li rečenica biti istinita ili neistinita i u
djelomičnom završenom modelu. Rečenica je istinita ako je bilo koji literal u
rečenici istinit. Rečenica je neistinita ako je bilo koja disjunkcija neistinita.

55
Rani završetak izbjegava pretraživanje cijelog podstabla u prostoru
pretraživanja.
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 jedinične premise
premisa s jednim simbolom. Uzrokuje propagaciju. (B=neistina; B ∨ C ≡
neistina ∨ C ≡ C).

“Hill climbing” pretraživanje

Algoritam WALKSAT
Model: slučajna 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) slučajno

Algoritam vraća:
Ili MODEL ili FALSE
Ako vrati FALSE na znamo da li MODEL doista ne postoji ili nije dovoljno
pretraživao.

Teški problemi

Povećanjem broja premisa uz zadržavanje istog broja simbola, problem ima više
uvjeta i teže je rješiv.
m – broj premisa
n – broj simbola
m/n=4.3
DPLL bolji za veće probleme
WALKSAT brži

56
7.7 AGENTI TEMELJENI NA PROPOZICIJSKOJ LOGICI

Dva osnovna pristupa:


a) korištenje algoritama zaključivanja i baze znanja
b) računanje logičkih izraza pomoću el. mreža

Korištenje algoritama zaključivanja 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 najviše jedan Wumpus.

Z danu bazu znanja traže se:


a) dokazano sigurne sobe – ¬Pi,j ∧ ¬Wi,j (može se naslijediti iz baze znanja)
b) moguće sigurne sobe - Pi,j ∨ Wi,j (ne može se naslijediti iz baze znanja)

Veća okolina rezultira u većoj bazi znanja.


Prikazani samo opći oblici.
Propozicijska logika neprikladna za iskazivanje.
Unošenje vremena, orijentacije, lokacije itd.

Računanje logičkih izraza pomoću el. mreža

Agenti bazirani na principu rada el. mreža.


Vrsta refleksnog agenta.
Sekvencijalna mreža (mreža logičkih veza i registara)
Propagacija signala kroz mrežu.

57
Usporedba

Pristup a) Pristup b)
Svijest Treba kopije KB Ne treba kopije KB
Kopija okoline Da Da
Efikasnost Eksponencijalna Linearna
Kompletnost Da Ne
Interna stanja Pamti Ne pamti
Konstrukcija Srednje Teško

Potreban kompromis: Hibridni pristup


Osnovni nedostatak propozicijske logike: nemogućnost izražavanja (expressive
power).

58
8. LOGIKA PRVOG REDA
Programski jezici:
Strukture podataka predstavljaju činjenice (matrica 4x4 predstavlja sadržaj Wumpus
svijeta)
Nedostatak mehanizma zaključivanja
Nemogućnost izražavanja djelomične informacije

Propozicijska logika:
Deklarativan pristup
Semantika se bazira na istinitim relacijama između rečenica i mogućeg svijeta.
Mogućnost izražavanja djelomičnih informacija (disjunkcija i negacija)
Kompozicija
Problem izražajnosti u okolinama s puno objekata.

Značenje rečenice ovisi o njoj samoj ali i o kontekstu u kojem je izrečena.


Elementi jezika:
a) Objekti (imenice) – ljudi, kuća, stoljeće
b) Relacije – susjed od, puca, crven, okrugao, veći od
c) Funkcije (relacije s jednom vrijednošću) – najbolji prijatelj, otac od

Logika prvog reda koristi objekte i relacije.


Temeljna razlika između propozicijske logike i logike prvog reda je u pretpostavci o
prirodi svijeta.
Jezik Što postoji u svijetu Što agent vjeruje o činjenicama
Propozicijska logika činjenice Istina/neistina/nepoznato
Logika prvog reda činjenice, objekti, Istina/neistina/nepoznato
relacije
Vremenska logika činjenice, objekti, Istina/neistina/nepoznato
relacije, vrijeme
Teorija vjerojatnosti činjenice Stupanj vjerovanja (0, 1)
Neizrazita logika činjenice sa stupnjem Poznat interval vrijednosti
istinitosti (0, 1)

59
8.2 SINTAKSA I SEMANTIKA LOGIKE PRVOG REDA

Modeli logike prvog reda

Objekti i relacije.
Domena modela: skup objekata koje sadržava
Objekti unutar modela povezani su na različite načine.

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 – način prikazivanja stvarnog svijeta pomoću simbola.

IZRAZ (engl. term) – logički izraz koji se odnosni na neki objekt.


LijevaNoga(John)

ATOMSKI IZRAZ – izražavaju činjenice; sastoje se od predikatnog simbola i liste


izraza.
Brat(Richard, John)
Oženjeni(Otac(Richard),Majka(John)).
Atomski izraz je istinit ako relacija i lista izraza vrijedi za navedene objekte.

KOMPLEKSNE REČENICE – korištenjem logičkih izraza uz atomske izraze.


Kralj(Richard) v Kralj(John)

60
Kvantifikatori

Služe za izražavanje 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 ∃
Služi za izražavanje svojstva samo nekih objekata.
∃ x Kruna(x) ∧ NaGlavi(x, John).

Ugniježđeni kvantifikatori
∀x ∀y Brat(x,y)⇒Rođaci(x,y)
Za svaki x i y, ako su x i y braća, onda su x i y rođaci.

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 više izraza s jednim objektom.
Otac(John)=Henry

8.3 PRIMJENA LOGIKE PRVOG REDA

Postavljanje i upiti

Dodavanje rečenica u bazu znanja: postavljanjem – TELL


TELL(KB, Kralj(John)).

Postavljanje upita – ASK


ASK(KB, Kralj(John)) – vraća istina (engl. true) kao rezultat

TELL(KB, Osoba(John))
ASK(KB, ∃x, Osoba(x)) – vraća {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 uključiti i vrijeme u kojem je
dobivena određena lista signala.

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

62
Moguće 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 moguće 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).

∀v ZvukZlato(v)⇒NajboljaAkcija(Pokupi,v).

SINHRONA PRAVILA: omogućuju zaključivanje


a) Dijagnostička pravila
Iz opažajnih efekata prema skrivenim uzrocima.
Ako smo u nekoj sobi dobili zvuk za rupu, onda je u nekoj od susjednih soba
rupa.

∀s ZvučnaSobaRupa(s) ⇒ ∃r Susjed(r,s) ∧ Rupa(r).


!!!!Ali važno je i reći:
∀s ¬ZvučnaSobaRupa(s) ⇒ ¬∃r Susjed(r,s) ∧ Rupa(r).
(Naime, ako kažemo da je na stolu dvije šalice, dvije šalice će biti na stolu ako
ih ima i više od dvije: tri, četiri itd. U logici prvog reda potrebno je reći: na
stolu je dvije šalice i ne više od dvije šalice!!!).
∀s ZvučnaSobaRupa(s) ⇔ ∃r Susjed(r,s) ∧ Rupa(r).

b) Neformalna pravila (engl. causal)


∀r Rupa(r) ⇒ [∀s Susjed(r,s)⇒ ZvučnaSobaRupa(s)]

Ako su aksiomi ispravni i u potpunosti opisuju svijet u kojem se nalazimo i način


zaprimanja informacija iz okoline, može se koristiti bilo koja procedura
potpunog logičkog zaključivanja!!! Iz tog razloga dizajner agenta može se
koncentrirati na kreiranje baze znanja!!!

63
8.4 KREIRANJE BAZE ZNANJA U LOGICI PRVOG REDA

Inženjer znanja: istražuje područje problema, uči koncepte, kreira formalnu


reprezentaciju, objekata i veza među objektima.
Sedam osnovnih koraka:
1. Identifikacija zadatka
Pitanja o problemu (da li je potrebna akcija, dajemo li odgovor samo o stanju okoline)
Korak sličan opisivanju pomoću PEAS karakteristika.
2. Prikupljanje znanja
Prikupiti dovoljno informacija o problemu koji rješavamo.
U ovom koraku znanje nije formalizirano. (Primjerice, razgovor s ekspertom, izvještaj
o problemu od eksperta itd.)
3. Određivanje rječnika
Prebacivanje bitnih koncepata u logička imena.
Što su objekti, relacije, funkcije.
Utjecaj vremena.
4. Zapisivanje generalnog znanja o problemu.
Pisanje aksioma.
Spuštanje do nivoa izraza.
Iteracija s krakom tri (3).
5. Zapisivanje detalja
Pisanje atomskih izraza.
6. Postavljanje upita i dobivanje odgovora
Procedura zaključivanja koristi se napisanim aksiomima i činjenicama o problemu za
izvođenje novih činjenica.
7. Otklanjanje pogrešaka
Odgovori na upite neće biti ispravni. (Nedostajanje aksioma, činjenica itd.)

64
9. ZAKLJUČIVANJE U LOGICI PRVOG
REDA
Zaključivanje uz kvantifikatore
Ujednačavanje
Zaključivanje unaprijed
Zaključivanje unatrag
Sustavi za dokazivanje teorema

9.1. USPOREDBA ZAKLJUČIVANJA PRVOG REDA I


PROPOZICIJSKE LOGIKE

Pravila zaključivanja za kvantifikatore

Univerzalni kvantifikator
∀x Kralj(x) ∧ Pohlepan (x) ⇒ Zao (x)
Pravilo univerzalnog primjerka: svaki čvrsti izraz može 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 može se upotrijebiti nebrojeno puta, rezultirajući u
novim zaključcima, pravilo egzistencijalnog primjerka može se upotrijebiti samo
jednom.

65
Redukcija na pravila propozicijske logike

Korištenjem pravila univerzalnog primjerka i pravila egzistencijalnog primjerka,


zaključivanje logike prvog reda svodi se na zaključivanje 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 rečenica logike prvog reda u rečenice


propozicijske logike.
Problem funkcija – mogućnost beskonačnih zamjena!!!

Postoje algoritmi koji će reći DA u slučaju rečenice koja se nasljeđuje iz KB, ali ne
postoji algoritam koji će reći NE u slučaju da se rečenica ne nasljeđuje iz KB.

9.2. IZJEDNAČAVANJE I PODIZANJE

Ima li rečenica: Kralj(Richard) ∧ Pohlepan (Richard) ⇒ Zao (Richard) smisla za KB


iz prethodnog primjera???

66
Pravilo zaključivanja logike prvog reda

∀x Kralj(x) ∧ Pohlepan (x) ⇒ Zao (x)


Pronaći x takav za koji vrijedi da je x kralj i da je pohlepan, te zaključi da je x zao.

Pronaći supstituciju koja će premisu implikacije izjednačiti s postojećim rečenicama 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 rečenice
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 omogućavaju nastavak procesa zaključivanja.

Izjednačavanje

Ključni proces zaključivanja za logiku prvog reda.


Uzima dvije rečenice, uspoređuje ih i vraća vrijednost koja ih izjednačava.
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 može poprimiti dvije vrijednosti istovremeno!!!!

9.3. ZAKLJUČIVANJE UNAPRIJED

Algoritam zaključivanja unaprijed za propozicijsku logiku:


Početi s atomskim rečenicama iz KB i primjenjivati Modus Ponens. Dodavati nove
rečenice u KB, sve do trenutka kada više ne možemo ništa zaključiti.

Konačne rečenice logike prvog reda

Disjunkcija literala od kojih je točno jedan pozitivan. Najčešće se radi o atomskoj


rečenici ili implikaciji koja se sastoji od konjunkcije pozitivni literala i čiji je
zaključak pozitivni literal.
Kralj(x) ∧ Pohlepan (x) ⇒ Zao (x)
Kralj(John).
Pohlepan(y)

Ako nema kvantifikatora pretpostavlja se univerzalni!!!!

Primjer:
Američki zakon kaže da je Amerikancima nedozvoljeno (krivično djelo) prodavati
oružje 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 počinio krivično djelo i da je time okarakteriziran
kao kriminalac.

Amerikanac(x) ∧ Oružje (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)⇒Oružje(x)
Neprijatelj(x, Amerika)⇒Neprijateljska(x)

68
Amerikanac(West)
Neprijatelj(Nono, America)

Implikacije:
Amerikanac(x) ∧ Oružje (y) ∧ Prodaje(x,y,z) ∧ Neprijateljska(z)⇒Kriminalac (x)
(ne može se izjednačiti)

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


{x/M1} -> Prodaje(West,M1,Nono) (dodaje se u KB)

Rakete(x)⇒Oružje(x)
{x/M1} -> Oružje(M1) (dodaje se u KB)

Neprijatelj(x, Amerika)⇒Neprijateljska(x)
{x/Nono} -> Neprijateljska(Nono) (dodaje se u KB)

Amerikanac(x) ∧ Oružje (y) ∧ Prodaje(x,y,z) ∧ Neprijateljska(z)⇒Kriminalac(x)


{x/West, y/M1, z/Nono} -> Kriminalac(West).

Nedostaci i poboljšanja

Pretraživanje radi svih izjednačavanja (Pattern matching)


Provjeravanja svakog pravila u svakom koraku.
Generiranje činjenica nebitnih za ostvarivanje cilja.

Poboljšanja
Rakete(x) ∧ Posjeduje(Nono, x)⇒Prodaje(West,x,Nono)
Pronaći redoslijed rješavanja konjunkcija, kako bi se ukupna cijena smanjila!!!!
Korištenje HEURISTIKE varijable s najviše uvjeta (pretražiti KB, primjerice, prvo za
Rakete ako tih činjenica ima manje u bazi!)

Nove činjenice dodane u t-koraku moraju uključivati barem jednu činjenicu iz t-1
koraka.

69
Zaključivanje unatrag.
Restrikcije na određeni skup pravila.
Čarobni skup (dodatni uvjeti na ciljnu varijablu).

9.4. ZAKLJUČIVANJE UNATRAG

Kreće od zadanog cilja.


KB
Amerikanac(x) ∧ Oružje (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)⇒Oružje(x)
Neprijatelj(x, Amerika)⇒Neprijateljska(x)
Amerikanac(West)
Neprijatelj(Nono, America)

Kriminalac(West)

Amerikanac(West) Oružje(y) Prodaje(West,M1,z) Neprijateljska(Nono)


{} {z/Nono}

Rakete(y) Rakete(M1) Posjeduje(Nono,M1) Neprijatelj(Nono,Amerika)


{y/M1} {} {} {}

9.5. REZOLUCIJA

Pitanje postojanja kompletne matematičke procedure za dokazivanje?


Teorem potpunosti (Kurt Gödel, 1930) – bilo koja nasljedna rečenica ima konačan
dokaz.
Teorem nepotpunosti (Kurt Gödel, 1931) – logički sustav koji koristi principe
indukcije je nužno nepotpun. Dakle, postoje rečenice koje su nasljedne ali nemaju
konačan dokaz!!!!

70
Potrebno je obaviti prebacivanje u CNF!!!
Amerikanac(x) ∧ Oružje (y) ∧ Prodaje(x,y,z) ∧ Neprijateljska(z) ⇒ Kriminalac (x)
U CNF:
¬Amerikanac(x) ∨ ¬Oružje (y) ∨ ¬Prodaje(x,y,z) ∨ ¬Neprijateljska(z) ∨ Kriminalac
(x)

Ista procedura kao i u slučaju propozicijske logike; dodatno se zahtijeva eliminacija


egzistencijalnog kvantifikatora.

Rezolucijsko pravilo: U propozicijskoj logici literali su komplementarni ako su


međusobno negacije. U logici prvog reda literali su komplementarni ako postoji
mogućnost unifikacije s negacijom.
KB:
Amerikanac(x) ∧ Oružje (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)⇒Oružje(x)
Neprijatelj(x, Amerika)⇒Neprijateljska(x)
Amerikanac(West)
Neprijatelj(Nono, America)

KB u CNF:
¬Amerikanac(x) ∨ ¬Oružje (y) ∨ ¬Prodaje(x,y,z) ∨ ¬Neprijateljska(z) ∨
Kriminalac (x)
¬Rakete(x) ∨ ¬Posjeduje(Nono, x) ∨ Prodaje(West,x,Nono)
¬Rakete(x) ∨ Oružje(x)
¬Neprijatelj(x, Amerika) ∨ Neprijateljska(x)
Posjeduje(Nono, M1)
Rakete(M1)
Amerikanac(West)
Neprijatelj(Nono, America)

71
¬Amerikanac(x)∨¬Oružje (y)∨¬Prodaje(x,y,z)∨¬Neprijateljska(z)∨ Kriminalac (x) ¬Kriminalac(West)

Amerikanac(West) ¬Amerikanac(West)∨¬Oružje (y)∨¬Prodaje(West,y,z)∨¬Neprijateljska(z)

¬Rakete(x) ∨ Oružje(x) ¬Oružje (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