i
SADR ŽAJ
!
PREDGOVOR ..................................................................................................................................... 1!
1 INTELIGENCIJA I UMJETNA INTELIGENCIJA ...................................................................... 4!
1.1 Što je biološka inteligencija? .................................................................................................. 5!
1.2!!!Što je nebiološka inteligencija? .............................................................................................. 8!
1.3!!!Formalne definicije umjetne inteligencije ........................................................................... 14!
1.4 !!!Područja istraživanja umjetne inteligencije ...................................................................... 17!
1.5!!!Kratka povijest umjetne inteligencije ................................................................................. 19!
1.6!!!Rješavanje zadataka postupcima umjetne inteligencije .................................................... 22!
1.7!!!Kriteriji uspjeha ................................................................................................................... 24!
1.8!!!Cilj umjetne inteligencije (umjesto zaključka) ................................................................... 28!
2 KOMPLEKSNI ZADACI I NJIHOVO RJEŠAVANJE ............................................................. 33!
2.1!!!Postavljanje zadataka .......................................................................................................... 33!
2.2!!!Osnovne značajke zadataka ................................................................................................. 40!
2.2.1 Dekompozicija .............................................................................................................. 40!
2.2.2! Zanemarivanje ............................................................................................................ 40!
2.2.3! Predvidljivost .............................................................................................................. 41!
2.2.4! Očitost rješenja ........................................................................................................... 41!
2.2.5! Dosljednost znanja ...................................................................................................... 41!
2.2.6! Uloga znanja ............................................................................................................... 41!
2.2.7! Interaktivnost uloga čovjeka ................................................................................... 42!
2.3!!!Rješavanje zadatka metodama umjetne inteligencije ........................................................ 42!
3 RJEŠAVANJE ZADATAKA METODAMA PRETRAŽIVANJA ............................................... 44!
3.1!!!Predstavljanje prostora problema (prostora pretraživanja) .............................................. 50!
3.2!!!Izbor prikladnog pravila ...................................................................................................... 53!
3.3!!!Unaprijedno i povratno pretraživanje ................................................................................. 54!
3.4!!!Neinformirano i informirano pretraživanje ........................................................................ 55!
3.5!!!Neinformirano ili slijepo pretraživanje ............................................................................... 55!
3.5.1 ! Pretraživanje u širinu ................................................................................................ 56!
3.5.2! Pretraživanje u dubinu ............................................................................................... 58!
3.5.3 Nedeterminističko slijepo pretraživanje .................................................................... 59!
ii
3.5.4! Pretraživanje ograničeno po dubini ........................................................................... 60!
3.5.5! Iterativno pretraživanje u dubinu ............................................................................. 60!
3.5.6! Rješavanje problema labirinta slijepim pretraživanjem .......................................... 61!
3.6 Informirano ili usmjereno pretraživanje ............................................................................ 63!
3.6.1! Optimalno pretraživanje ............................................................................................ 63!
Dijkstra algoritam ............................................................................................................... 63!
Pretraživanje jednolikim troškom ...................................................................................... 64!
Pretraživanje optimalnim jednolikim troškom .................................................................. 66!
3.6.2! Heurističko pretraživanje ........................................................................................... 67!
Metoda uspona na brdo ....................................................................................................... 68!
Ograničeno širinsko pretraživanje ..................................................................................... 70!
Najbolje prvo pretraživanje ................................................................................................. 71!
Heurističko pretraživanje kod problema dva agenta ........................................................ 72!
MinMax pretraživanje stabla .............................................................................................. 72!
Monte Carlo pretraživanje stabla ....................................................................................... 74!
3.6.3! Kombinacija optimalnog i heurističkog pretraživanje .............................................. 76!
Pretraživanje optimalnim jednolikim troškom proširenim estimacijom .......................... 76!
A* pretraživanje .................................................................................................................. 76!
Varijacije A* pretraživanja ................................................................................................. 78!
Inkrementalni algoritmi pretraživanja .............................................................................. 79!
Algoritmi koji vode brigu o memoriji .................................................................................. 79!
Paralelni algoritmi ............................................................................................................... 80!
Algoritmi bilo kojeg vremena .............................................................................................. 80!
Algoritmi realnog vremena .................................................................................................. 80!
4 PRIKAZIVANJE I POHRANA ZNANJA ................................................................................... 82!
4.1!!!Što je znanje? ........................................................................................................................ 82!
4.2!!!Prikupljanje, prikazivanje i pohrana znanja ...................................................................... 84!
4.3 !!Prikazivanje (kodiranje) znanja matematičkom logikom .................................................. 86!
4.3.1! Propozicijska logika .................................................................................................... 88!
4.3.2! Predikatna logika ........................................................................................................ 91!
Prikazivanje jednostavnih činjenica (tvrdnji) .................................................................... 94!
Prikazivanje uzročno posljedičnih veza ........................................................................... 94!
4.3.3! Nestandardne logike ................................................................................................... 95!
Modalna logika .................................................................................................................... 96!
Temporalna logika ............................................................................................................... 96!
Viševaljane logike ................................................................................................................ 97!
Torija neizrazitih (fuzzy) skupova i neizrazita (fuzzy) logika ........................................... 99!
Bazna neizrazita logika ..................................................................................................... 100!
iii
Zadehova neizrazita logika ................................................................................................ 104!
Vjerojatnosne logike .......................................................................................................... 106!
Nemonotone logike ............................................................................................................ 107!
4.4!!!Strukturna pohrana znanja ............................................................................................... 109!
4.4.1! Produkcijski sustavi ................................................................................................. 110!
4.4.2! Semantičke mreže ..................................................................................................... 113!
4.4.3! Scenarij ...................................................................................................................... 118!
4.4.4! Okviri ......................................................................................................................... 120!
4.4.5! Opisne logike ............................................................................................................. 126!
4.4.6! Ontologije .................................................................................................................. 129!
5 ZAKLJUČIVANJE I RASUĐIVANJE .................................................................................... 137!
5.1 Logičko zaključivanje i rasuđivanje .................................................................................. 139!
5.1.1 Zaključivanje i rasuđivanje u propozicijskoj logici .................................................. 141!
Zaključivanje tablicom istine ............................................................................................ 143!
Pravila zaključivanja (izvođenja) ...................................................................................... 144!
Rezolucijsko pravilo ........................................................................................................... 148!
Rezolucija svođenjem na konjunktivnu normalnu formu (CNF) .................................... 148!
5.1.2 Zaključivanje i rasuđivanje u predikatnoj logici ..................................................... 149!
Zaključivanje u predikatnoj logici prvog reda .................................................................. 150!
Pravilo univerzalne specijalizacije .................................................................................... 150!
Skolemizacija ..................................................................................................................... 151!
Zaključivanje unaprijed i unatrag .................................................................................... 151!
5.1.3 Rasuđivanje zdravim razumom ............................................................................... 152!
5.2 Vjerojatnosno zaključivanje i rasuđivanje ........................................................................ 152!
5.2.1! A priori vjerojatnosti ................................................................................................. 153!
5.2.2! Združena vjerojatnost ............................................................................................... 153!
5.2.3! Uvjetna vjerojatnost ................................................................................................. 154!
5.2.4! Nezavisnost ............................................................................................................... 155!
5.2.5! Vjerojatnosno zaključivanje ..................................................................................... 155!
5.2.6! Bayesove mreže ......................................................................................................... 158!
D-separacija ....................................................................................................................... 158!
Konvergirajuća veza .......................................................................................................... 158!
Divergirajuća veza ............................................................................................................. 158!
Serijska veza ...................................................................................................................... 159!
Primjer Bayesove mreže za profiliranje kriminalaca ...................................................... 159!
Zaključivanje u Bayesovim mrežama ............................................................................... 160!
Zaključivanje enumeracijom (nabrajanjem) ..................................................................... 160!
Zaključivanje eliminacijom varijabli ................................................................................. 162!
iv
Zaključivanje uzorkovanjem .............................................................................................. 163!
Naivni Bayesov klasifikator .............................................................................................. 163!
Skriveni Markovljevi modeli ............................................................................................. 165!
5.2.7 Klasifikator neosporne konfabulacije ...................................................................... 168!
Primjer pogrešnog zaključivanja Bayesovim teoremom .................................................. 168!
5.3 Neizrazito zaključivanje i rasuđivanje .............................................................................. 169!
5.3.1 Lingvistička aproksimacija neizrazitim skupovima ............................................... 170!
5.3.2 Lingvistička aproksimacija neizrazite relacije ..................................................... 173!
5.3.3 Neizrazito zaključivanje ........................................................................................... 174!
6 UČENJE I STROJNO UČENJE ............................................................................................. 180!
6.1 Edukativna psihologija ...................................................................................................... 180!
6.1.1 Biheviorizam ............................................................................................................. 180!
6.1.2 Kognitivizam ............................................................................................................. 181!
6.1.3 Konstruktivizam ....................................................................................................... 181!
6.1.4 Konektivizam ............................................................................................................ 181!
6.1.5 Računalna teorija učenja .......................................................................................... 181!
6.2 Strojno učenje ..................................................................................................................... 181!
6.3 Nadzirano učenje ............................................................................................................... 183!
6.3.1 Linearna regresija s jednom varijablom .................................................................. 184!
6.3.2 Spust gradijenta ........................................................................................................ 187!
6.3.3 Linearna regresija s više varijabli ........................................................................... 191!
6.3.4 Polinomalna regresija ............................................................................................... 192!
6.3.5 Pretreniranje i regularizacija ................................................................................... 193!
6.3.6 Klasifikacija logističkom regresijom ........................................................................ 194!
Granica odluke ................................................................................................................... 196!
Funkcija cijene ................................................................................................................... 197!
Spust gradijenta za logističku regresiju ........................................................................... 197!
Logistička regresija u više klasa ....................................................................................... 197!
6.3.7 Stroj s potpornim vektorima .................................................................................... 199!
6.3.8 Umjetne neuronske mreže i duboko učenje ............................................................. 200!
Umjetni neuron (perceptron) ............................................................................................ 200!
Umjetna neuronska mreža ................................................................................................ 202!
Duboke neuronske mreže i duboko učenje ....................................................................... 203!
6.4 Nenadzirano učenje ............................................................................................................ 205!
6.4.1 Klasteriranje ............................................................................................................. 205!
Algoritam k-sredina .......................................................................................................... 205!
Nedostaci algoritma k-sredina .......................................................................................... 207!
6.4.2 Smanjenje dimenzionalnosti .................................................................................... 208!
v
Analiza glavnih komponenti (PCA) .................................................................................. 209!
Detekcija anomalija ........................................................................................................... 215!
6.5 Polunadzirano učenje ......................................................................................................... 217!
6.5.1 Pojačano učenje ......................................................................................................... 217!
Q-učenje ............................................................................................................................. 219!
Pojačano slučajno traženje ................................................................................................ 221!
6.5.2 Davanje preporuka ................................................................................................... 223!
POGOVOR ...................................................................................................................................... 226!
LITERATURA ................................................................................................................................ 227!
Dodatak: PROGRAMIRANJE U PROGRAMSKIM JEZICIMA UMJETNE INTELIGENCIJE 229!
VJEŽBA 1 - UVOD U PROGRAMIRANJE U LISP-U ............................................................. 229!
V1.1 Struktura Lispa ............................................................................................................. 230!
V1.2 Programiranje u Lispu .................................................................................................. 231!
V1.2.1 Setq ......................................................................................................................... 232!
V1.2.2 Cons ........................................................................................................................ 232!
V1.2.3 Liste ........................................................................................................................ 233!
V1.3 Zadaci ............................................................................................................................. 233!
VJEŽBA 2 - NAPREDNO PROGRAMIRANJE U LISPU ....................................................... 234!
V2.1 Napredan rad s listama ................................................................................................ 234!
V2.2 Booleovi izrazi ............................................................................................................... 236!
V2.3 Uvjetni izrazi ................................................................................................................. 236!
V2.4 Funkcije ......................................................................................................................... 239!
V2.5 Lokalne i globalne varijable ......................................................................................... 241!
V2.6 Naredbe ponavljanja (iteracije) .................................................................................... 241!
V2.7 Rekurzivna funkcija ...................................................................................................... 243!
V2.8 Ispis ................................................................................................................................ 243!
V2.9 Zadaci ............................................................................................................................. 244!
VJEŽBA 3 - PROLOG ................................................................................................................ 244!
V3.1 Predikati ........................................................................................................................ 245!
V3.2 Rad sa Prologom ............................................................................................................ 247!
V3.2.1 Upiti ........................................................................................................................ 247!
V3.2.2 Pravila relacije između predikata ...................................................................... 248!
V3.3 Logičke operacije u Prologu .......................................................................................... 249!
V3.4 Trace mehanizam .......................................................................................................... 250!
V3.5 Primjer složenijeg zaključivanja u Prologu ................................................................. 250!
V3.6 Zadaci ............................................................................................................................. 253!
VJEŽBA 4 - UVOD U PYTHON ................................................................................................ 254!
V4.1 Uvjetni izrazi ................................................................................................................. 256!
vi
V4.2 Naredbe ponavljanja ..................................................................................................... 256!
V4.3 Funkcije ......................................................................................................................... 256!
V4.4 Nizovi i matrice ............................................................................................................. 257!
V4.5 Zadaci ............................................................................................................................. 257!
VJEŽBA 5 - STROJNO UČENJE U PYTHONU .................................................................... 257!
V5.1 Nadzirano učenje ........................................................................................................... 257!
V5.2 Nenadzirano učenje ....................................................................................................... 263!
V5.3 Pojačano učenje kao primjer polunadziranog učenja .................................................. 264!
V5.4 Zadaci ............................................................................................................................. 264!
VJEŽBA 6 - LINEARNA REGRESIJA ..................................................................................... 265!
V6.1 Zadaci ............................................................................................................................. 265!
VJEŽBA 7 NAIVNI BAYESOV KLASIFIKATOR ................................................................ 267!
V7.1 Zadaci ............................................................................................................................. 269!
VJEŽBA 8 UMJETNE NEURONSKE MREŽE U PYTHONU ............................................ 269!
V8.1 Perceptron ...................................................................................................................... 269!
V8.2 Sigmoidni umjetni neuron ............................................................................................ 270!
V8.2.1 Aktivacijska funkcija ............................................................................................. 270!
V8.3 Duboko učenje ............................................................................................................... 271!
V8.4 Implementacije neuronskih mreža ............................................................................... 271!
V8.5 Odabir ulaznih podataka .............................................................................................. 272!
V8.6 Zadaci ............................................................................................................................. 272!
VJEŽBA 9 - UMJETNA INTELIGENCIJA U RAČUNALNIM IGRAMA .............................. 272!
V9.1 Deterministički postupci umjetne inteligencije ........................................................... 273!
V9.2 Nedeterministički postupci umjetne inteligencije ....................................................... 273!
V9.3 Tehnike umjetne inteligencije u računalnim igrama .................................................. 273!
V9.3.1 Pronalazak optimalnog puta ................................................................................. 273!
V9.3.2 Konačni automati ................................................................................................... 275!
V9.3.3 Stabla ponašanja .................................................................................................... 275!
V9.3.4 Logički automati koji se oslanjaju na neizrazitu logiku ...................................... 275!
V9.3.5 Varanje ................................................................................................................... 276!
V9.4 PYGAME BIBLIOTEKA ............................................................................................... 276!
V9.5 Zadaci ............................................................................................................................. 276!
VJEŽBA 10 - OBRADA PRIRODNOG JEZIKA ....................................................................... 277!
V10.1 Zadaci ........................................................................................................................... 277!
!