IB013 Logické programování I

Fakulta informatiky
jaro 2012
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í)
RNDr. Jan Rygl (cvičící)
RNDr. Miloš Jakubíček, Ph.D. (pomocník)
RNDr. Vojtěch Kovář, Ph.D. (pomocník)
Mgr. Adriana Strejčková (pomocník)
Garance
prof. RNDr. Luděk Matyska, CSc.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Čt 8:00–9:50 B204
  • Rozvrh seminárních/paralelních skupin:
IB013/01: každý sudý pátek 10:00–11:50 A104, H. Rudová
IB013/02: Út 14:00–15:50 A104, J. Rygl
IB013/03: Pá 10:00–11:50 B117, J. Rygl
Předpoklady
Znalost základů 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á 19 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. Při vysokém počtu absencí na cvičení předmět absolvovat nelze.
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 2011, jaro 2013.