Charles Explorer logo
🇨🇿

Metody logického programování

Předmět na Matematicko-fyzikální fakulta |
NAIL022

Sylabus

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.

Anotace

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.