Funkcionalno i
logičko programiranje
| |
Smjer: |
Teorijska kompjuterska nauka |
| |
Semestar: |
X
|
| |
Tip kursa: |
Izborni |
| |
Fond sati: |
2+0+2 |
| |
Broj
ECTS kredita: |
6 |
Nastavni program:
-
Opći zahtjevi na programske jezike za
potrebe vještačke indeligencije; Sistemi pretraživanja, prikupljanja i
formalizacije znanja i mašinskog učenja;
-
Opća svojstva jezika prilagođenih potrebama
vještačke inteligencije: Upotreba složenih struktura podataka; Sakrivanje
detalja (upravljanja memorijom, ulazom i izlazom); Korištenje dinamičkih
struktura; Zasnovanost na rekurziji
-
Opća svojstva jezika LISP: Jezik opće
namjene; Funkcionalan jezik (komponovanje funkcija i rekurzija);
Interpretiran jezik (read-eval-execute); Jezik sa inkrementalnim prevođenjem;
Tretiranje programa i podataka na istovjetan nacin; Lista kao osnovna
struktura podataka; Prefiksna notacija; Sintaksa;
-
Uvod u Common Lisp (Allegro CL); Ugrađene
funkcije; Rekurzija;
-
S-izrazi: Atomi (simboli, brojevi, stringovi,
vrijednosti t i nil, …); Liste i elementi liste;
-
Numericke funkcije: +, -, *, /, log, …
-
Logičke funkcije: and, or, not, every
-
Funkcije za rad sa listama: cons, list,
append, car, cdr, first, rest, nth, length, …
-
Predikati: atom, consp, listp, <, =, equal,
member, …
-
Upravljačke funkcije; Iteracija: do, do*,
dolist
-
Lokalne promijenljive: let i let*; Globalne
promenljive: setf;
-
Paketi (packages); Strukture
-
CLOS: objektno-orijentisana ekstenzija
-
Opća svojstva jezika PROLOG: Zasnivanje na
logici predikata prvog reda; Deklarativno programiranje;
-
Atomi (konstante): brojevi i simboli;
Promenljive;
-
Strukture: Skupovi entiteta; Rrelacije
izmedju objekata;
-
Izrazi u PROLOG-u
-
Pravila, zaključci i konjukcija premisa;
-
Pretraga i logičke veze u PROLOG-u
Literatura:
-
Glasgow, J. and Browse, R. A.:
Programming Languages for Artificial Intelligence, 1985
-
Neumann G.: Programming Languages in
Artificial Intelligence, In Bidgoli (ed) Encyclopedia of Information
Systems, Academic Press, San Diego, 2002
-
Allegro Common Lisp
ver. 7.0 Documentation
-
W. F. Clocksin, C. S. Mellish:
Programming in Prolog, Springer, Berlin Tokio, 1984
-
D. Crookes: Introduction on Programming
in Prolog, Prentice Hall, New York, 1988