Funkcionální programování a jazyk Lisp (FSI-VFL)

Akademický rok 2018/2019
Garant: RNDr. Jiří Dvořák, CSc.  
Garantující pracoviště: ÚAI všechny předměty garantované tímto pracovištěm
Jazyk výuky: čeština
Cíle předmětu:
Cílem předmětu je seznámit studenty s neimperativními přístupy k řešení problémů a prohloubit jejich znalosti principů metod umělé inteligence.
Výstupy studia a kompetence:
Studenti získají znalost stylu funkcionálního programování a budou schopni aplikovat Lisp na řešení problémů umělé inteligence.
Prerekvizity:
Základy umělé inteligence a expertních systémů.
Obsah předmětu (anotace):
Předmět je věnován následujícím tématům: Principy funkcionálního programování. Jazyk Lisp: základní vlastnosti, datové typy, programové struktury, vyhodnocování symbolických výrazů, funkce a makra. Příklady řešení problémů umělé inteligence v Lispu.
Metody vyučování:
Předmět je vyučován formou cvičení zaměřených na praktické používání jazyka Lisp.
Způsob a kritéria hodnocení:
Požadavky pro zápočet: aktivní účast ve cvičeních, zpracování projektu v Lispu.
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky:
Účast ve cvičeních je povinná. Zameškaná výuka může být nahrazena vypracováním zadaných úloh.
Typ (způsob) výuky:
    Cvičení s počítačovou podporou  13 × 2 hod. povinná                  
Osnova:
    Cvičení s počítačovou podporou 1. Úvod do funkcionálního programování, jazyky Hope a Haskell.
2. Jazyky Miranda a F#.
3. Seznámení s implementacemi jazyka Lisp, základní funkce, definice funkcí.
4. Funkce pro zpracování seznamů a čísel, predikátové a vyhodnocovací funkce.
5. Definice rekurzívních funkcí.
6. Koncová rekurze a iterace.
7. Lambda výrazy, mapovací funkcionály, definice maker.
8. Modifikace struktur, reprezentace atomů.
9. Vstupní a výstupní funkce.
10. Strategie prohledávání stavového prostoru.
11. Reprezentace znalostí, strojové učení.
12. Implementace expertního systému.
13. Vyhodnocení semestrálních projektů.
Literatura - základní:
1. Koschmann, T. The Common Lisp Companion. New York, John Wiley & Sons 1990.
2. Luger, G.F. Artificial Intelligence. Structures and strategies for Complex Problem Solving. Harlow, Addison-Wesley 2002.
3. Luger, G.F.; Stubblefield, W.A. AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java. Addison-Wesley 2008.
Literatura - doporučená:
1. Luger, G.F. Artificial Intelligence. Structures and strategies for Complex Problem Solving. Harlow, Addison-Wesley 2002.
2. Kolář, J. Jazyky pro umělou inteligenci. Skripta. Praha, ČVUT 1994.
3. Molnár, L., Návrat, P. Programovanie v jazyku Lisp. Bratislava, Alfa 1988.
4. Seibel, P. Practical Common Lisp. Apress, 2005. http://www.gigamonkeys.com/book/
Zařazení předmětu ve studijních programech:
Program Forma Obor Spec. Typ ukončení   Kredity     Povinnost     St.     Roč.     Semestr  
M2I-P prezenční studium M-AIŘ Aplikovaná informatika a řízení -- 0 Volitelný (nepovinný) 2 2 L
M2I-P prezenční studium M-AIŘ Aplikovaná informatika a řízení P pro absolventy B-AIŘ 0 Volitelný (nepovinný) 2 2 L