Předmět: Logické programování

« Zpět
Název předmětu Logické programování
Kód předmětu KMI/PGLP
Organizační forma výuky Konzultace
Úroveň předmětu Doktorský
Rok studia nespecifikován
Semestr Zimní a letní
Počet ECTS kreditů 5
Vyučovací jazyk Čeština, Angličtina
Statut předmětu nespecifikováno
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Kolařík Miroslav, doc. RNDr. Ph.D.
Obsah předmětu
Předmět podrobněji seznamuje studenty s logickým programováním, nad rámec úvodního představení v magisterském studiu. Je zaměřen na teoretické aspekty logického programování související se sémantikami logického programu, modely jeho výpočtu a propojením s predikátovou logikou. Logické programování. Logický program a jeho sémantika: Logické paradigma jako jedno z paradigmat programování. Definitní programy a jejich syntaxe. Klauzule, fakta, pravidla a dotazy. Deklarativní sémantika definitního programu: Herbrandova struktura, Herbrandův model, nejmenší Herbrandův model a jeho nalezení. Sémantické vyplývání z definitních programů. Substituce, aplikace substituce, uzavřené instance klausulí, korektní odpovědi. Čisté logické programování a PROLOG. Procedurální sémantika logického programu. Rekurzivní datové struktury: konečné a nekonečné Herbrandovy modely. Rekurzivní pravidla. Unifikace. Nedeterministická inference. Metody odstranění nedeterminismu. Nejobecnější unifikátor a jeho nalezení. Procedurální sémantika definitního programu. Vztah deklarativní a procedurální sémantiky: korektní odpovědi versus vypočtené odpovědi. Činnost zásobníku během výpočtu PROLOGu, backtracking, nalezení alternativních řešení. Řezy a negace v logickém programování: Metalogický predikát řezu. Výpočtová efektivita a řezy. Řízení výpočtu pomocí řezů. Činnost zásobníku během výpočtu PROLOGu obohaceného o řezy. Vytváření podmínek a cyklů pomocí vestavěných predikátů. Teoretické přístupy k negaci: předpoklad uzavřenosti světa; negace pomocí neúspěchu v konečně mnoha krocích. Problém neexistence Herbrandovského modelu při použití negace. SLDNF-rezoluce. Zavedení negace pomocí řezu. Logické programování a matematická logika: propojení logického programování a klasické predikátové logiky. Logický program jako teorie prvního řádu. Herbrandovské modely jako struktury prvního řádu. Princip obecné rezoluční metody a její adaptace pro definitní programy. Korektnost a úplnost SLD-rezoluce.

Studijní aktivity a metody výuky
Dialogická (diskuze, rozhovor, brainstorming), Metody práce s textem (učebnicí, knihou)
  • Příprava na zkoušku - 120 hodin za semestr
Výstupy z učení
Studenti se seznámí s logickým programováním.
1. Znalost Popsat a důkladně pochopit principy a metody logického programování.
Předpoklady
nespecifikováno

Hodnoticí metody a kritéria
Ústní zkouška

Plnění zadaných úkolů. Složení zkoušky.
Doporučená literatura
  • Bratko, I. (2011). Prolog, Programming for Artificial Intelligence. Addison Wesley.
  • Jirků P. a kol. (1991). Programování v jazyku Prolog. SNTL, Praha.
  • Lloyd, J. W. (1987). Foundations of Logic Programming. Springer-Verlag, New York (second edition).
  • M. Kifer, Y. A. Liu. (2018). Declarative Logic Programming: Theory, Systems, and Applications. Morgan & Claypool.
  • Nerode A., Shore R. A. (1997). Logic for Applications. Springer-Verlag, New York (second edition).
  • Nilsson U., Maluszynski J. (1995). Logic, programming and PROLOG, el. verze: http://www.ida.liu.se/~ulfni/lpp/. John Wiley & Sons Ltd., Chichester (druhé vydání).


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr