LOGICKE PROGRAMOVANIE ======================== Ciele prednasky: - vybudovat teoreticke zaklady logickeho programovania (operacnu a denotacnu semantiku) - vysvetlit principy logickeho programovania pouzitim konkretneho jazyka (napr. Prolog, Trilogy) - prakticke cvicenia Predpoklady: prehlad o programovacich paradigmach, zaklady logiky (pred. kalkul 1. radu) Prednasatel: RNDr. Peter Borovansky, PhD. Obsah prednasky: * (historicky) uvod do logickeho programovania * substitucie a unifikacia, navrh a analyza unifikacneho algoritmu (korektnost, zlozitost), unifikacia v SLD-rezolucii * logicke programy - Hornovske, disjunktivne klauzuly * SLD-rezolucia - vypoctovy krok resp. dokaz * datove struktury v Prologu a zakladne operacie nad nimi (aritmetika, zoznamy, mnoziny, stromy, lesy, heap, prioritna fronta) * vypocet logickych programov - prehladavanie do hlbky, riadenie vypoctu "cut" * semantika logickych programov - deklarativna, modelova, fixpointova a operacna semantika, vzajomne suvislosti, ekvivalencia * prehladavanie do hlbky, prehladavanie do sirky, praca s termami * nedeterministicke programovanie - technika backtracking, producent/konzument, riesenie logickych hadaniek * logicke programovanie druheho radu - metainterpretatory * principy implementacie logickych jazykov - Warenova abstraktna masina * logicke programovanie s obmedzeniami - vztah k CLP * induktivne logicke programovanie - negacia a abdukcia v logickom programovani Literatura: * Apt,K.R.: Introduction to Logic Programming. Report CS-R8826 Centre for Mathematics and Computer Science, Amsterdam, 1986 * Lloyd,J.W.: Foundation of Logic Programming. Springer Verlag, 1987 * Sterling,L., Shapiro,E.: The Art of Prolog. MIT Press, 1986. * Doets,K.: From Logic to Logic Programming. MIT Press, 1994 * Apt,K.R.: From Logic Programming to Prolog. Prentice Hall, 1997