PředmětyPředměty(verze: 830)
Předmět, akademický rok 2018/2019
   Přihlásit přes CAS
Metody logického programování - NAIL022
Anglický název: Methods of Logic Programming
Zajišťuje: Katedra teoretické informatiky a matematické logiky (32-KTIML)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2017
Semestr: zimní
E-Kredity: 3
Rozsah, examinace: zimní s.:2/0 Zk [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: nevyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Další informace: http://ktiml.mff.cuni.cz/~hric/vyuka.htm
Garant: RNDr. Jan Hric
Třída: Informatika Mgr. - Teoretická informatika
Informatika Mgr. - Matematická lingvistika
Kategorizace předmětu: Informatika > Programování, Teoretická informatika
Anotace -
Poslední úprava: ()

Přednáška podává přehled o logickém programování. Probírá implementační a optimalizační techniky, rozšíření a pokročilé metody tvorby programů. Zahrnuje části věnované: WAM - Warrenův abstraktní stroj, binarizace, abstraktní interpretace, částečné vyhodnocování, typy, programování s omezeními.
Cíl předmětu
Poslední úprava: T_KTI (23.05.2008)

Naučit vybrané techniky z oblasti logického programovaní

Literatura
Poslední úprava: RNDr. Pavel Zakouřil, Ph.D. (05.08.2002)

[1] H. Ait-Kaci: Warren's Abstract Machine - A Tutorial Reconstruction, MIT Press, 1991

[2] N.D. Jones, C.K. Gomard, P. Sestoft: Partial evaluation and Automatic Program Generation, Prentice Hall, New York, 1993

[3] J.Jaffar, M.J.Maher: Constraint Logic Programming: A Survey; in: Journal of Logic Programming, 1994, vol. 19/20, pp. 503 - 581

[4] R.A.O'Keefe: The Craft of Prolog, MIT Press, 1990

Sylabus -
Poslední úprava: T_KTI (14.05.2015)

Překlad logických programů, Warrenův abstraktní stroj [1], technika návrhu abstraktního stroje a jeho instrukční sady. Implementace vestavěných predikátů, optimalizace.

Abstraktní interpretace - metoda pro získávání globálních informací o programu, abstraktní a konkrétní domény, zhromažďující sémantiky. Abstraktní interpretace pro Prolog, použití odvozených informací při kompilaci.

Transformace logických programů, částečné vyhodnocování [2] (partial evaluation) jako optimalizační technika, Futamurovy transformace, automatizovaná tvorba kompilátorů a generátoru kompilátorů. Částečné vyhodnocování pro Prolog, řešení

nedeterminismu.

Myšlenky logického programování s omezujícími podmínkami [3] (Constraint LP), používané jazyky, domény a řešiče, připojení a implementace řešiče a techniky řešení, řešení kombinatorických problémů v konečných doménách, příklady a aplikace.

Pokročilé programátorské techniky, tvorba programů postupným zjemňováním, metoda technik a skeletonů, vztah k OOP a virtuálním procedurám.

 
Univerzita Karlova | Informační systém UK