Ekspertni sistemi

O predmetu

Cilj predmeta

Sticanje teorijskih osnova, ali i praktičnih veština u oblasti dizajna, razvoja i korišćenja ekspertnih sistema. Razvijanje kritičkog pogleda na opseg i granice praktične primene ekspertnih sistema.

Sadržaj predmeta

Pojam, definicija i klasifikacija ekspertnih sistema. Arhitektura ekspertnog sistema. Metode i tehnike za predstavljanje znanja, zaključivanje i objašnjavanje. Predstavljanje neizvesnog znanja. Softverski okviri (frameworks) i alati za razvoj ekspertnih sistema. Prednosti, mane i performanse ekspertnih sistema. Primena ekspertnih sistema i njihovih tehnologija u specifičnim domenima. Praktičan rad sa softverskim okvirima, alatima i servisima za razvoj ekspertnih sistema. Izrada praktičnog projekta.

Literatura

  • Durkin, J., Expert Systems – Design and Development, Macmillan Publishing Company, New York, 1994.
  • Torsun, I.S., Foundations of Knowledge-Based Systems, Academic Press, NY, 1995.
  • Softverski alati i okviri otvorenog koda namenjeni razvoju ekspertnih sistema; okviri i alati, kao i prateća dokumentacija i tutorijali su beslatno raspoloživi na Vebu:
  • Drools 7.73 dokumentacija (https://docs.drools.org/7.73.0.Final/drools-docs/html_single/index.html)
  • JfuzzyLogic dokumentacija (https://jfuzzylogic.sourceforge.net/html/manual.html)

Polaganje ispita (ova pravila važe za 2022/2023 školsku godinu)

Ispit se polaže ispunjavanjem predispitnih obaveza (u toku semestra) i polaganjem ispita. Predispitne obaveze čini izrada i odbrana seminarskog rada (maksimalno 30 poena).  Ispit se polaže izradom i odbranom projektnog rada (maksimalno 70 poena). Poeni sa predispitnih obaveza i sa samog ispita se sabiraju i čine konačnu ocenu koja se formira prema sledećoj tabeli.

Ocena 6 7 8 9 10
Poena 51-60 61-70 71-80 81-90 91-100

NAPOMENA: Poeni sa predispitnih obaveza važe tokom cele školske godine u kojoj je student slušao predmet. Nakon sticanja, ovi poeni se ne mogu ispravljati, popravljati, niti dopunjavati. Na primer, ako je neko na predispitnim obavezama dobio 0 poena (nije uradio seminarski rad), može imati maksimalnu ocenu 7 dobijenu preko 70 poena na ispitu. 

Seminarski rad (predispitne obaveze – maksimalno 30 poena)

Potrebno je da student samostalno napravi i odbrani dva relativno jednostavna ekspertna sistema na temu koju predmetni nastavnik odredi. Jedan se pravi u Drools alatu, a drugi u jFuzzy logic alatu. Pre izrade seminarskog rada, neophodno je da se student obrati predmetnom nastavniku radi dobijanja teme. Odbrana se vrši na konsultacijama kod predmetnog nastavnika (uz prethodnu potvrdu termina odbrane sa nastavnikom).

Projektni rad (ispit – maksimalno 70 poena)

Moguće su tri varijante za projektni rad, student bira jednu od njih. Koja god da je izabrana varijanta, neophodno je da se student obrati predmetnom nastavniku radi odobrenja teme. Odbrana se vrši na konsultacijama kod predmetnog nastavnika (uz prethodnu potvrdu termina odbrane sa nastavnikom).

Varijanta 1

Potrebno je da student samostalno napravi ES iz bilo koje oblasti i implementira ga korišćenjem Drools Expert okruženja za razvoj ES i to u vidu desktop aplikacije, web aplikacije ili web servisa. Ovako razvijeni ES mora da ima makar 30 pravila i makar 8 pitanja koja postavlja korisniku. Pravila bi trebalo da budu ulančana (ako ne sva, onda makar neka), a takođe bi bilo poželjno da se neka pitanja postavljaju uslovno, a ne uvek. ES mora da sadrži implementiran grafički interfejs za postavljanje pitanja i za prikaz rešenja (ili API ako je u pitanju web servis). Alternativa za ovo poslednje je da ES preuzima podatke iz neke baze podataka, web servisa ili da ceo radi kao web servis.

Prvi korak, kada student osmisli neku temu, je da je prijavi kod predmetnog nastavnika radi odobrenja. Da bi tema mogla da se prijavi, potrebno je uraditi prvih par faza iz postupka (procesa) za razvoj ES (korisnički zahtev i analiza).

Radi lakšeg razvoja ES, potrebno je pridržavati se postupka za razvoj ES koji je prikazan na času.

Varijanta 2

Potrebno je da student samostalno napravi Fuzzy ES iz bilo koje oblasti i implementira ga korišćenjem JFuzzyLogic okruženja za razvoj FES i to u vidu desktop aplikacije, web aplikacije ili web servisa. Ovako razvijeni ES mora da ima makar 15 fuzzy pravila, makar 4 lingvističke promenljive i makar 10 fuzzy skupova. ES mora da sadrži implementiran grafički interfejs za postavljanje pitanja (prikupljanje podataka) i za prikaz rešenja. Alternativa za ovo poslednje je da ES preuzima podatke iz neke baze podataka ili da radi kao web servis.

Prvi korak, kada student osmisli neku temu, je da je prijavi kod predmetnog nastavnika radi odobrenja. Da bi tema mogla da se prijavi, potrebno je osmisliti temu i pripremiti primere nekih probnih fuzzy skupova i pravila.

Radi lakšeg razvoja ES, potrebno je pridržavati se postupka za razvoj FES koji je prikazan na času.

Varijanta 3

Bilo koja druga tema koja je u vezi za ekspertnim sistemima, ali se mora potvrditi u dogovoru sa predmetnim nastavnikom. Na primer, moguće je napraviti uporedni prikaz nekih alata za razvoj ES ili uporedne implementacije jednog ES u više alata i sl.

Prvi korak, kada student osmisli neku temu, je da je prijavi kod predmetnog nastavnika radi odobrenja.