Professional Documents
Culture Documents
Umjetna Inteligencija
Umjetna Inteligencija
Umjetna Inteligencija
STROSSMAYERA
ELEKTROTEHNIČKI FAKULTET OSIJEK
UMJETNA INTELIGENCIJA
Bilješke s predavanja
1. UVOD ....................................................................................................................... 1
2. INTELIGENTNI AGENTI..................................................................................... 8
I
Agent vođen ciljem............................................................................................... 14
Agent vođen kvalitetom........................................................................................ 15
Učenje agenta ...................................................................................................... 16
3. PRETRAŽIVANJE ............................................................................................... 17
II
Pretraživanje lokalnom zrakom........................................................................... 32
Genetički algoritmi .............................................................................................. 33
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
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).
- 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)
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
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
4
NP-completeness: problemi ne-polinomnog stupnja; ukazuje na Intractability
probleme.
Gerolamo Cardano (1530)
Ideja vjerojatnosti; primjena na kockanju
Fermat, Pascal, Bernoulli, Laplace, Bayes
5
Ažuriranje memorije 109 1014
Slika 1.2: Usporedba računala i mozga
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.
7
2. INTELIGENTNI AGENTI
AGENT – bilo što, što percipira okolinu pomoću senzora i zatim djeluje u toj okolini
pomoću aktuatora
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.
Mjera uspješnosti
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
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
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
Program
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
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
14
Slika 2.5: Agent vođen ciljem
15
Učenje agenta
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
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
17
3.2 PRIMJERI PROBLEMA
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
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
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
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
Pretraživanje po širini
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)
21
Pretraživanje s jednakom cijenom
Pretraživanje po dubini
22
Slika 3.5: Slagalica – pretraživanje po dubini
23
Slika 3.6: Dvije iteracije postupnog povećanja dubine
Dvosmjerno pretraživanje
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)
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
Pohlepno pretraživanje
A* pretraživanje
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
28
Primjer: Pohlepno pretraživanje uz heuristiku h1
29
Izvođenje prihvatljive heuristike
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
Heuristika iz iskustva
30
4.3 ALGORITMI LOKALNOG PRETRAŽIVANJA I
OPTIMIZACIJSKI PROBLEMI
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
Simulirano kaljenje
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
33
5. PROBLEMI UZ DODATNE UVJETE
Č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
Primjer:
T W O
+ T W O
=F O U R
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!!!
Izbor varijable
36
Propagacija informacije kroz uvjete
Š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
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!!!!
38
Način reduciranja uvjetnog grafa u drvo:
a) uklanjanjem čvorova
b) grupiranjem čvorova
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
Optimalne strategije
MIN 3 2 2
Završni čvorovi
3 12 8 2 4 6 14 5 2
41
Pretraživanje po dubini.
Rekurzivni povrat
Nepraktičan za većinu igara
Kod minimax algoritma broj stanja koje treba provjeriti je eksponencijalno ovisan o
broju poteza.
[-inf, +inf] [-inf, +inf] [3, +inf]
3 3 12 3 12 8
[-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
42
Efekt Alpha-beta rezanja ovisi o redoslijedu otvaranja čvorova
Funkcije procjene
43
Trenutno stanje
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
45
4 P
3 W G P
1 A P
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.
7.3 LOGIKA
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
48
7.4 PROPOZICIJSKA LOGIKA
Boole-ova logika
Sintaksa
Semantika
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
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
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)
52
Rezolucija
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
Algoritam rezolucije
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
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.
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).
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
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
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.
59
8.2 SINTAKSA I SEMANTIKA 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
60
Kvantifikatori
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.
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
Postavljanje i upiti
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.
∀v ZvukZlato(v)⇒NajboljaAkcija(Pokupi,v).
63
8.4 KREIRANJE BAZE ZNANJA U LOGICI PRVOG REDA
64
9. ZAKLJUČIVANJE U LOGICI PRVOG
REDA
Zaključivanje uz kvantifikatore
Ujednačavanje
Zaključivanje unaprijed
Zaključivanje unatrag
Sustavi za dokazivanje teorema
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
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.
66
Pravilo zaključivanja logike prvog reda
KB:
∀x Kralj(x) ∧ Pohlepan (x) ⇒ Zao (x)
Kralj(John).
∀y Pohlepan(y)
Izjednačavanje
67
Varijabla x ne može poprimiti dvije vrijednosti istovremeno!!!!
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.
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)⇒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)
Nedostaci i poboljšanja
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).
Kriminalac(West)
9.5. REZOLUCIJA
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)
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)
Rakete(M1) ¬Rakete(y)∨¬Prodaje(West,y,z)∨¬Neprijateljska(z)
72