IB013 Logické programování I

Fakulta informatiky
jaro 2011
Rozsah
2/1. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
doc. Mgr. Hana Rudová, Ph.D. (přednášející)
Mgr. Adriana Strejčková (pomocník)
Garance
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Út 12:00–13:50 B410
  • Rozvrh seminárních/paralelních skupin:
IB013/01: každý sudý pátek 10:00–11:50 A104, H. Rudová
IB013/02: každý lichý pátek 10:00–11:50 A104, H. Rudová
Předpoklady
Doporučená znalost výrokové a predikátové logiky, např. z předmětu IB101 Úvod do logiky a logického programování.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
předmět má 23 mateřských oborů, zobrazit
Cíle předmětu
Cílem předmětu je poskytnout základní znalosti v oblasti Logického programování. První část přednášky popisuje základy programování v jazyce Prolog. Přednáška pokračuje stručnou rekapitulací výpočetní logiky, na níž navazuje výklad teoretických základů jazyka Prolog. Logické programování s omezujícími podmínkami je prezentováno z teoretického i praktického pohledu. Poslední část přednášky je věnována otázce implementace jazyka Prolog, kde jsou představeny i základní optimalizační techniky. Cvičení probíhají u počítačů a zabývají se praktickými otázkami logického programování.
Osnova
  • Prolog. Datové struktury, backtracking, řez. Extralogické predikáty, aritmetika. Technika a styl programování.
  • Teorie logického programování. Logika prvního řádu, rezoluce, Hornovy klauzule a programy, modely, SLD rezoluce. Řízení výpočtu, ořezávání stromu důkazů, řez. Rovnost, negace, SLDNF rezoluce.
  • Logické programování s omezujícími podmínkami, základy programování v CLP(FD), propagace omezení, prohledávání.
  • Implementace Prologu. Warrenův abstraktní počítač.
Literatura
  • BRATKO, Ivan. Prolog Programming for Artificial Intelligence. 3. vyd. Addison-Wesley, 2001, 678 s. ISBN 0201-40375-7. info
  • NILSSON, Ulf a Jan MALUSZYNSKI. Logic, programming and Prolog. Chichester: John Wiley & Sons, 1990, 285 s. ISBN 0-471-92625-6. URL info
  • DECHTER, Rina. Constraint processing. San Francisco: Morgan Kaufmann Publishers, 2003, xx, 481 s. ISBN 1-55860-890-7. info
Výukové metody
Výuka probíhá jednak ve formě standardních přednášek a dále ve formě cvičení (2 hodiny každé 2 týdny). Výuka cvičení probíhá u počítačů, kde je kladen hlavní důraz na realizaci logických programů v SICStus Prologu, a to buď samostatně nebo často modifikací existujícího kódu. Součástí cvičení jsou i domácí úkoly, jejiž řešení včetně řešení všech příkladů realizovaných na cvičení je vystaveno na webu předmětu.
Metody hodnocení
Předmět se skládá z přednášky a ze cvičení u počítačů. Cvičení jsou vyučovány 2 hodiny jednou za 2 týdny. Hodnocení se skládá ze tří částí: zápočtového projektu (možno získat až 40 bodů), průběžné písemné práce (až 30 bodů) a závěrečné písemné práce (až 150 bodů). Zápočet z předmětu je udělen za vypracování projektu (není nutné absolvovat ani závěrečnou ani průběžnou písemku). Součástí řešení projektu je písemná zpráva obsahující předběžnou analýzu řešeného problému, finální program v Prologu a programová dokumentace. Projekty jsou řešeny 1-3 studenty. Průběžná písemná práce je prakticky orientovaná na řešení několika jednodušších příkladů ze základů programování v jazyce Prolog. Závěrečná písemná práce se skládá z teoretické části a z řešení praktických příkladů. Účast na cvičeních je povinná, v případě více než jedné neomluvené absence jsou zadány doplňující příklady v rozsahu odpovídajícím množství zameškaných cvičení, jejichž úspěšné zpracování je nezbytnou podmínkou absolvování předmětu.
Navazující předměty
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích jaro 2003, jaro 2004, jaro 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2012, jaro 2013.