Ljudje se že od nekdaj navdušujemo nad idejo inteligentnih strojev. Kaj pa sploh je inteligenca? Ali je računalnik, ki premaga svetovnega prvaka v šahu, inteligenten? Ali pa robot, ki samostojno raziskuje površino Marsa? Kaj pa računalniški program, ki diagnosticira raka bolje od zdravnikov specialistov? Se nekateri liki v računalniških igrah obnašajo inteligentno?
Že od nastanka prvih računalnikov se vrstijo znanstvene in filozofske razprave o tem, in ali je možno ustvariti sistem, ki se bo obnašal inteligentno. Raziskave na področju umetne inteligence so poleg razjasnitve teh temeljnih vprašanj prinesle tudi celo vrsto orodij in pristopov za reševanje problemov, ki jih je težko ali nepraktično reševati z drugimi metodami. Pri predmetu Inteligentni sistemi bomo spoznali nekatere najbolj uporabne. Robot ali agent mora v neznanem okolju analizirati podatke, ki jih zbirajo različni senzorji. Z ljudmi mora komunicirati v naravnem jeziku, Na podlagi svojih uspešnih in neuspešnih dejanj se mora učiti in izboljševati svoje delovanje.
Tehnike, ki omogočajo inteligentno vedenje, marsikdaj temeljijo na idejah iz narave, npr. nevronske mreže in evolucijsko računanje, izkoriščajo pa tudi najnovejše dosežke iz strojnega učenja, statistike, procesiranja naravnega jezika in spodbujevalnega učenja. Naš cilj bo priprava na praktično rabo teoretičnih spoznanj in uveljavljenih tehnik na realnih problemih.
Vaje pri predmetu potekajo v obliki reševanja nekaterih nalog in posvetovanj z asistentom o seminarskem delu. Oceno vaj predstavlja skupna ocena treh seminarskih nalog, pri vseh pa je potrebno doseči več kot polovico točk. Pogoj za pozitivno oceno vaj je tudi doseženih polovica vseh točk na spletnih kvizih.
Ocena pri predmetu je sestavljena kot povprečje ocene vaj in ocene pisnega izpita, pri katerem je potrebno doseči več kot polovico točk. Oceno je mogoče izboljšati z ustnim izpitom.
- nosilec: Marko Robnik Šikonja
"Pozdravljena Tina Maze. Mi lahko zaupaš kje skrivaš svoje smuči?". Aha, pod modrim cilindrom. Tega pa sem že prej srečal, potem, ko sem Petru Prevcu dostavil njegovo čelado. Najbolje, da se vrnem nazaj, poiskati moram pravo pot. Bolje bo, da zavijem levo, ker bom prej na cilju, pa še dlje od ovir se bom peljal. Še njej dostavim njen predmet, pa bom izpolnil mojo nalogo dostavljavca."
Razmišljanje, kot bi ga ob reševanju kompleksne naloge lahko zapisal človek, je lahko prav podobno sklepanju računalniškega programa. Seveda, inteligentnega. Inteligentne agente sestavljajo moduli za umetno zaznavanje (uporaba senzorjev, obdelava signalov, razpoznavanje predmetov, interpretacija slik, lokalizacija v prostoru), ter moduli za vodenje, taktično ter strateško sklepanje in učenje. Tako kot ljudje lahko inteligentni računalniški agenti med izvajanjem nalog zaznavajo okolico, eksperimentirajo, se učijo in spoznanja uporabljajo pri reševanju prihodnjih nalog. Pri predmetu Razvoj inteligentnih sistemov bomo spoznali, kako iz programskih modulov za umetno zaznavanje in umetno inteligenco take agente sestavimo in uporabljamo. Naučili se bomo, kako za dani problem izberemo prave metode in kako te povežemo tako, da bodo agentovi podsistemi delovali usklajeno.
Predmet bo izrazito praktičen, rešitve bomo implementirali in jih integrirali na pravih robotskih platformah v robotskem operacijskem sistemu ROS. Delali bomo z mobilnimi roboti, ki smo jih sestavili iz avtonomnega sesalca iRobot Roomba, RGBD kamere Kinect ter nekaj druge elektronike. Roboti bodo morali samostojno rešiti kompleksne naloge, kot je zgoraj opisana. In seveda bomo vse skupaj popestrili s tekmovanji robotov posameznih skupin študentov. Naj najboljši robot zmaga!
Glavni poudarek pri predmetu je praktično delo na robotih v učilnici, ki je temu namenjena, tako med vajami kot tudi sicer. Poudarek je na sprotnem delu med semestrom s tremi glavnimi mejniki, do katerih naj bi bile razvite določene funkcionalnosti robotskih sistemov. Mejniki so tipično postavljeni v prvi teden aprila, maja in junija. Evalvacija razvitih robotskih sistemov v okviru teh mejnikov nadomesti pisni izpit.
- nosilec: Vid Rijavec
- nosilec: Danijel Skočaj
Umetno zaznavanje je hitro razvijajoče se področje, ki je zanimivo tako iz raziskovalnega vidika, kakor tudi aplikacij. V predmetu bomo obdelali osnovne matematične metode in tehnike rečunalniškega vida, ki so sestavni del številnih zanimivih aplikacij. Če ste se kdaj spraševali kakšne metode se uporabljajo v aplikacijah in napravah kot so Googlova očala, avtonomna vozila, izdelava panoramskih slik in avtomatsko editiranje fotografij, bo ta predmet več kot potešil vašo vedoželjnost. Predmet bo pokril naslednje teme: (i) Osnovno procesiranje slik, (ii) Odvodi slik in robovi, (iii) Prileganje modelov, (iv) Lokalni deskriptorji, (v) Stereo sistemi, (vi) Podprostorske metode za razpoznavanje slik, (vii) Detekcija objektov v slikah, (viii) Razpoznavanje objektov. Predmet je sestavljen iz predavanj, na katerih bomo pokrili bistveno teorijo in vaj na katerih bodo študentje to teorijo implementirali. Predmet se izvaja v angleškem jeziku.
Obvezno sprotno delo obsega 6 dvotedenskih nalog (opravite doma s konzultacijami pri asistentu in profesorju), ki se začnejo s pričetkom semestra. Naloge so srednje obsežne in pokrivajo sprotno snov s predavanj. Več informacij o obveznostih in ocenjevanju najdete na spletni učilnici.
Predmet zahteva od študentov sposobnost razumevanja matematičnih izpeljav ter prenosa v programsko kodo. Predmet je v zgornji četrtini na lestvici ocenjene težavnosti predmetov na FRI (študentske ocene). Zahteva dobro matematično in programersko podlago. Predmet izberite samo v primeru, da ste pripravljeni vložiti veliko napora in samostojnega dela.
- nosilec: Matej Kristan