Detail předmětu

Jazyky pro umělou inteligenci

FSI-VJUAk. rok: 2010/2011

Předmět je věnován následujícím tématům: Principy funkcionálního a logického programování. Jazyk Lisp: základní vlastnosti, datové typy, programové struktury, vyhodnocování symbolických výrazů, funkce a makra. Jazyk Prolog: základní pojmy, datové typy, klauzule, unifikace termů, řízení výpočtu, vestavěné predikáty. Příklady řešení problémů umělé inteligence v Lispu a Prologu.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení předmětu

Studenti získají znalost stylů funkcionálního a logického programování a budou schopni aplikovat Lisp a Prolog na řešení problémů umělé inteligence.

Prerekvizity

Matematická logika, základy umělé inteligence a expertních systémů.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování závisejí na způsobu výuky a jsou popsány článkem 7 Studijního a zkušebního řádu VUT.

Způsob a kritéria hodnocení

Požadavky pro zápočet: aktivní účast ve cvičeních, zpracování dvou projektů (v Lispu a v Prologu).
Zkouška: písemný test (příklady a otázky), ústní zkouška.

Učební cíle

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.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Kontrolována je účast ve cvičeních. Zameškaná výuka může být nahrazena vypracováním zadaných úloh.

Základní literatura

Bratko, I. Prolog Programming for Artificial Intelligence. Pearson Education 2011.
Koschmann, T. The Common Lisp Companion. New York, John Wiley & Sons 1990.
Luger, G.F. Artificial Intelligence. Structures and strategies for Complex Problem Solving. Harlow, Addison-Wesley 2008.

Doporučená literatura

Kolář, J. Jazyky pro umělou inteligenci. Skripta. Praha, ČVUT 1994.
Merrit, D. Building Expert Systems in Prolog. Berlin, Springer-Verlag 1989. http://www.amzi.com/ExpertSystemsInProlog/index.htm
Molnár, L., Návrat, P. Programovanie v jazyku Lisp. Bratislava, Alfa 1988.
Polák, J. Prolog. Praha, Grada 1992.
Seibel, P. Practical Common Lisp. Apress, 2005. http://www.gigamonkeys.com/book/

Zařazení předmětu ve studijních plánech

  • Program M2I-P magisterský navazující

    obor M-AIŘ , 1 ročník, letní semestr, volitelný (nepovinný)
    obor M-AIŘ , 2 ročník, letní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Funkcionální programování. Jazyk Lisp - struktura programu, typy dat.
2. Základní funkce, definice funkcí, mechanismus vyhodnocování.
3. Funkce pro zpracování seznamů a čísel, predikáty, vyhodnocovací funkce.
4. Iterace, mapovací funkcionály, definice a vyhodnocení maker.
5. Modifikace struktur, reprezentace atomů, vstup a výstup, správa paměti.
6. Příklady aplikací jazyka Lisp na řešení problémů umělé inteligence.
7. Logické programování. Jazyk Prolog - struktura programu, datové objekty.
8. Deklarativní a procedurální sémantika programu, zpracování seznamů a čísel.
9. Operátorová notace, typové a meta-logické predikáty, rozklad a vytváření termů.
10. Řez, negace, práce s databází.
11. Vstup a výstup, navracení a predikát repeat.
12. Tvorba expertních systémů v Prologu.
13. Příklady aplikací jazyka Prolog na řešení dalších problémů umělé inteligence.

Cvičení s počítačovou podporou

26 hod., povinná

Vyučující / Lektor

Osnova

1. Seznámení s implementacemi jazyka Lisp.
2. Definice funkcí pro zpracování seznamů.
3. Koncová rekurze, iterace, definice maker.
4. Strategie prohledávání stavového prostoru.
5. Reprezentace znalostí, strojové učení.
6. Implementace expertního systému v Lispu.
7. Seznámení s implementacemi jazyka Prolog.
8. Úlohy na zpracování seznamů a čísel.
9. Strategie prohledávání.
10. Plánovací úlohy.
11. Reprezentace znalostí, strojové učení.
12. Implementace expertního systému v Prologu.
13. Vyhodnocení semestrálních projektů.