Postoje mnogi kognitivni zadatci koji su jednostavni za ljude, ali izuzetno teški za računala. Umjetna inteligencija (UI) razvija sustave koji rješavaju takve vrste problema. Tradicionalan pristup umjetnoj inteligenciji temeljen je na ideji o simboličkoj reprezentaciji znanja i zaključivanju kao manipulaciji simbolima. Alternativni pristupi temelje se na oponašanju modela koje nalazimo u prirodi. Cilj kolegija jest upoznati studente s različitim pristupima te dati pregled metoda za rješavanja problema umjetne inteligencije, uključivo metoda za prikaz znanja, zaključivanje, rješavanje problema pretraživanjem, automatsko zaključivanje, učenje i optimizaciju.
Repozitorij sadrži laboratorijske vježbe koje su se izvodile na predmetu u akademskoj godini 2023./2024.
Laboratorijske vježbe pisane su u programskom jeziku C++
te su detaljno komentirane s ciljem boljeg shvaćanja koda. Na kolegiju "Uvod u umjetnu inteligenciju" u akademskoj godini 2023./2024.
postojale su četiri laboratorijske vježbe čija su rješenja dostupna u repozitoriju. Laboratorijske vježbe provjeravale su se pomoću automatskog ispravljanja autograder
, dostupnog na stranicama predmeta. Sve laboratorijske vježbe prolaze sve testove sa 100% točnosti.
U prvoj laboratorijskoj vježbi proučavaju se problemi pretraživanja prostora
stanja te se analizira složenost različitih algoritama slijepog i heurističkog pretraživanja. Zadatak je implementirati osnovne algoritme
pretraživanja prostora stanja koji uključuju algoritam pretraživanja u širinu (BFS)
, algoritam pretraživanja s jednolikom cijenom (UCS)
i algoritam A* (A-STAR)
. Također, mora se provjeriti je li heuristička funkcija optimistična i konzistentna.
U drugoj laboratorijskoj vježbi proučavat će se automatsko zaključivanje pomoću rezolucijskog pravila. Problem kojim se bavi laboratorijska vježba bit će implementacija sustava temeljenog na postupku zaključivanja rezolucijom opovrgavanjem.
U trećoj laboratorijskoj vježbi implementira se stablo odluke te se analiziraju mane i
proširenja tog algoritma strojnog učenja. Format datoteke skupa podataka je csv (comma separated value)
. U sklopu laboratorijske vježbe potrebno je implementirati ID3 stablo odluke
te metode mjerenja uspješnosti modela, odnosno točnost
i matricu zabune (confusion matrix)
. Konačno, potrebno je ograničiti dubinu stabla tako da ID3 algoritam
podržava korištenje hiperparametara dubine stabla.
Tema četvrte laboratorijske vježbe su umjetna neuronska mreža i genetski algoritam. Zadatak vježbe je napisati program za učenje (treniranje) umjetne neuronske mreže pomoću genetskog algoritma. Osnovna ideja je oblikovati populaciju neuronskih mreža, a zatim genetskim algoritmom optimirati iznose težina s obzirom na pogrešku mreže na skupu za učenje. Nakon završetka optimizacije, naučena mreža evaluira se na dosad neviđenom skupu za testiranje koji je raličit od skupa za učenje. Prva funkcija koja se aproksimira je sinusoidna krivulja
na intervalu od 0 do 5. Ostale funckije koje su aproksimirane su Rosenbrockova funkcija
te Rastriginova funkcija
.
- nije dozvoljeno koristiti vanjske biblioteke
- kod se mora moći pokrenuti putem
autogradera
- svi primjeri moraju se moći izvesti unutar 2 minute