Uvod u umjetnu inteligenciju - Sadržaj knjige

 

1 INTELIGENCIJA I UMJETNA INTELIGENCIJA 4
    1.1 Što je biološka inteligencija? 5
    1.2 Što je nebiološka inteligencija? 9
    1.3 Formalne definicije umjetne inteligencije 16
    1.4 Područja istraživanja umjetne inteligencije 20
    1.5 Kratka povijest umjetne inteligencije 22
    1.6 Rješavanje zadataka postupcima umjetne inteligencije 27
    1.7 Kriteriji uspjeha 29
    1.8 Cilj umjetne inteligencije (umjesto zaključka) 33

2 KOMPLEKSNI ZADACI I NJIHOVO RJEŠAVANJE 38
    2.1 Postavljanje zadataka 38
    2.2 Osnovne značajke zadataka 47
       2.2.1 Dekompozicija 47
       2.2.2 Zanemarivanje 47
       2.2.3 Predvidljivost 48
       2.2.4 Očitost rješenja 48
       2.2.5 Dosljednost znanja 48
       2.2.6 Uloga znanja 49
       2.2.7 Interaktivnost – uloga čovjeka 49
    2.3 Rješavanje zadatka metodama umjetne inteligencije 50

3 RJEŠAVANJE ZADATAKA METODAMA PRETRAŽIVANJA 51
    3.1 Predstavljanje prostora problema (prostora pretraživanja) 57
    3.2 Izbor prikladnog pravila 61
    3.3 Unaprijedno i povratno pretraživanje 62
    3.4 Neinformirano i informirano pretraživanje 63
    3.5 Neinformirano ili slijepo pretraživanje 64
       3.5.1 Pretraživanje u širinu 65
       3.5.2 Pretraživanje u dubinu 67
       3.5.3 Nedeterminističko slijepo pretraživanje 68
       3.5.4 Pretraživanje ograničeno po dubini 69
       3.5.5 Iterativno pretraživanje u dubinu 70
       3.5.6 Rješavanje problema labirinta slijepim pretraživanjem 71
    3.6 Informirano ili usmjereno pretraživanje 73
       3.6.1 Optimalno pretraživanje 73
          Dijkstra algoritam 74
          Pretraživanje jednolikim troškom 75
          Pretraživanje optimalnim jednolikim troškom 77
       3.6.2 Heurističko pretraživanje 78
          Metoda uspona na brdo 80
          Ograničeno širinsko pretraživanje 82
          Najbolje prvo pretraživanje 83
          Heurističko pretraživanje kod problema dva agenta 83
          MinMax pretraživanje stabla 84
          Monte Carlo pretraživanje stabla 86
       3.6.3 Kombinacija optimalnog i heurističkog pretraživanje 88
          Pretraživanje optimalnim jednolikim troškom proširenim estimacijom 88
          A* pretraživanje 89
          Varijacije A* pretraživanja 90
          Inkrementalni algoritmi pretraživanja 91
          Algoritmi koji vode brigu o memoriji 92
          Paralelni algoritmi 93
          Algoritmi bilo kojeg vremena 93
          Algoritmi realnog vremena 93

4 PRIKAZIVANJE I POHRANA ZNANJA 94
    4.1 Što je znanje? 94
    4.2 Prikupljanje, prikazivanje i pohrana znanja 97
    4.3 Prikazivanje (kodiranje) znanja matematičkom logikom 99
       4.3.1 Propozicijska logika 101
       4.3.2 Predikatna logika 105
          Prikazivanje jednostavnih činjenica (tvrdnji) 108
          Prikazivanje uzročno – posljedičnih veza 109
       4.3.3 Nestandardne logike 110
          Modalna logika 110
          Temporalna logika 111
          Viševaljane logike 112
          Neizrazita (fuzzy) logika 114
          Vjerojatnosne logike 120
          Nemonotone logike 122
    4.4 Strukturna pohrana znanja 124
       4.4.1 Produkcijski sustavi 125
       4.4.2 Semantičke mreže 128
       4.4.3 Scenarij 133
       4.4.4 Okviri 136
       4.4.5 Opisne logike 142
       4.4.6 Ontologije 146

5 ZAKLJUČIVANJE I RASUĐIVANJE 154
    5.1 Logičko zaključivanje i rasuđivanje 157
       5.1.1 Zaključivanje i rasuđivanje u propozicijskoj logici 159
          Zaključivanje tablicom istine 160
          Pravila zaključivanja (izvođenja) 162
          Rezolucijsko pravilo 166
          Rezolucija svođenjem na konjunktivnu normalnu formu (CNF) 167
       5.1.2 Zaključivanje i rasuđivanje u predikatnoj logici 168
          Zaključivanje u predikatnoj logici prvog reda 169
          Pravilo univerzalne specijalizacije 169
          Skolemizacija 169
          Zaključivanje unaprijed i unatrag 170
       5.1.3 Rasuđivanje zdravim razumom 171
    5.2 Vjerojatnosno zaključivanje i rasuđivanje 172
       5.2.1 A priori vjerojatnosti 172
       5.2.2 Združena vjerojatnost 173
       5.2.3 Uvjetna vjerojatnost 174
      5.2.4 Nezavisnost 174
      5.2.5 Vjerojatnosno zaključivanje 175
      5.2.6 Bayesove mreže 178
          D-separacija 178
          Konvergirajuća veza 178
          Divergirajuća veza 179
          Serijska veza 179
          Primjer Bayesove mreže za profiliranje kriminalaca 179
          Zaključivanje u Bayesovim mrežama 180
          Zaključivanje enumeracijom (nabrajanjem) 181
          Zaključivanje eliminacijom varijabli 182
          Zaključivanje uzorkovanjem 182
          Naivni Bayesov klasifikator 184
          Skriveni Markovljevi modeli 186
       5.2.7 Klasifikator neosporne konfabulacije 189
          Primjer pogrešnog zaključivanja Bayesovim teoremom 190
    5.3 Neizrazito zaključivanje i rasuđivanje 191
       5.3.1 Lingvistička aproksimacija – neizraziti skupovi 192
       5.3.2 Lingvistička aproksimacija – neizrazite relacije 196
       5.3.3 Neizrazito zaključivanje 198

6 UČENJE I STROJNO UČENJE 203
    6.1 Edukativna psihologija 204
       6.1.1 Biheviorizam 204
       6.1.2 Kognitivizam 204
       6.1.3 Konstruktivizam 204
       6.1.4 Konektivizam 204
       6.1.5 Računalna teorija učenja 205
    6.2 Strojno učenje 205
    6.3 Nadzirano učenje 207
       6.3.1 Linearna regresija s jednom varijablom 208
       6.3.2 Spust gradijenta 212
       6.3.3 Linearna regresija s više varijabli 216
       6.3.4 Polinomalna regresija 218
       6.3.5 Pretreniranje i regularizacija 219
       6.3.6 Klasifikacija logističkom regresijom 220
          Granica odluke 222
          Funkcija cijene 222
          Spust gradijenta za logističku regresiju 223
          Logistička regresija u više klasa 223
       6.3.7 Stroj s potpornim vektorima 225
       6.3.8 Umjetne neuronske mreže i duboko učenje 226
          Umjetni neuron (perceptron) 226
          Umjetna neuronska mreža 229
          Duboke neuronske mreže i duboko učenje 230
    6.4 Nenadzirano učenje 232
       6.4.1 Klasteriranje 232
          Algoritam k-sredina 233
          Nedostaci algoritma k-sredina 234
       6.4.2 Smanjenje dimenzionalnosti 236
          Analiza glavnih komponenti (PCA) 237
          Detekcija anomalija 244
    6.5 Polunadzirano učenje 247
       6.5.1 Pojačano učenje 247
          Q-učenje 248
          Pojačano slučajno traženje 251
       6.5.2 Davanje preporuka 253

VJEŽBA 1 - UVOD U PROGRAMIRANJE U LISP-U 261
    V1.1 Struktura Lispa 261
    V1.2 Programiranje u Lispu 262
       V1.2.1 Setq 263
       V1.2.2 Cons 264
       V1.2.3 Liste 264
    V1.3 Zadaci 265

VJEŽBA 2 - NAPREDNO PROGRAMIRANJE U LISPU 266
    V2.1 Napredan rad s listama 266
    V2.2 Booleovi izrazi 268
    V2.3 Uvjetni izrazi 269
    V2.4 Funkcije 272
    V2.5 Lokalne i globalne varijable 274
    V2.6 Naredbe ponavljanja (iteracije) 274
    V2.7 Rekurzivna funkcija 275
    V2.8 Ispis 276
    V2.9 Zadaci 276

VJEŽBA 3 - PROLOG 277
    V3.1 Predikati 278
    V3.2 Rad sa Prologom 280
       V3.2.1 Upiti 280
       V3.2.2 Pravila – relacije između predikata 281
    V3.3 Logičke operacije u Prologu 282
    V3.4 Trace mehanizam 284
    V3.5 Primjer složenijeg zaključivanja u Prologu 284
    V3.6 Zadaci 286

VJEŽBA 4 - UVOD U PYTHON 288
    V4.1 Uvjetni izrazi 290
    V4.2 Naredbe ponavljanja 290
    V4.3 Funkcije 291
    V4.4 Nizovi i matrice 291
    V4.5 Zadaci 291

VJEŽBA 5 - STROJNO UČENJE U PYTHONU 292
    V5.1 Nadzirano učenje 292
    V5.2 Nenadzirano učenje 298
    V5.3 Pojačano učenje kao primjer polunadziranog učenja 299
    V5.4 Zadaci 299

VJEŽBA 6 - LINEARNA REGRESIJA 300
    V6.1 Zadaci 300

VJEŽBA 7 – NAIVNI BAYESOV KLASIFIKATOR 303
    V7.1 Zadaci 305

VJEŽBA 8 – UMJETNE NEURONSKE MREŽE U PYTHONU 305
    V8.1 Perceptron 305
    V8.2 Sigmoidni umjetni neuron 306
      V8.2.1 Aktivacijska funkcija 307
    V8.3 Duboko učenje 308
    V8.4 Implementacije neuronskih mreža 308
    V8.5 Odabir ulaznih podataka 308
    V8.6 Zadaci 309

VJEŽBA 9 - UMJETNA INTELIGENCIJA U RAČUNALNIM IGRAMA 309
    V9.1 Deterministički postupci umjetne inteligencije 309
    V9.2 Nedeterministički postupci umjetne inteligencije 310
    V9.3 Tehnike umjetne inteligencije u računalnim igrama 310
       V9.3.1 Pronalazak optimalnog puta 310
       V9.3.2 Konačni automati 312
       V9.3.3 Stabla ponašanja 312
       V9.3.4 Logički automati koji se oslanjaju na neizrazitu logiku 312
       V9.3.5 Varanje 313
    V9.4 PYGAME BIBLIOTEKA 313
    V9.5 Zadaci 313

VJEŽBA 10 - OBRADA PRIRODNOG JEZIKA 315
    10.1 Zadaci 315