ČeskyEnglish

Popis předmětu - A4B33FLP

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
A4B33FLP Funkcionální a logické programování Rozsah výuky:2+2c
Garanti:Železný F. Role:PO,V Zakončení:Z,ZK
Vyučující:Štěpánková O., Vyskočil J., Železný F.
Zodpovědná katedra:13136 Kreditů:6 Semestr:L

Anotace:

Předmět podává úvod do technik funkcionálního programování v jazycích LISP (přesněji v jeho implementaci SCHEME) a HASKELL a logického programování v jazyce PROLOG. Oba jazyky jsou deklarativní v tom smyslu, že programátor symbolicky popíše problém, který má být řešen, místo výčtu konkrétní posloupnosti akcí, které má počítač provést. V PROLOGu je problém popsán vlastnostmi objektů a vztahy mezi nimi vyjádřenými v logice. V LISPu má popis problému formu definice funkcí. Oba jazyky nalezly významné aplikace v umělé inteligenci, např. v agentových systémech či v symbolickém strojovém učení.

Výsledek studentské ankety předmětu je zde: A4B33FLP

Cíle studia:

Seznámit se s principy funkcionálním a logickým programováním v jazycích LISP resp. PROLOG.

Osnovy přednášek:

1. Úvod do deklarativních programovacích jazyků. Srovnání s klasickými imperativními jazyky. Úvod do programování pro umělou inteligenci.
2. LISP a Scheme: základní jazykové idiomy, atomy, seznamy, rekurze
3. Scheme: lambda abstrakce, vestavěné funkce, pokročilé datové struktury
4. Scheme: vztahy mezi iteracemi, optimizace rekurze zaručená jazykovým standardem, vestavěné funkce vyšších řádů.
5. Scheme: prohledávání stavového prostoru, aplikace v umělé inteligenci
6. Haskell: typy, vzory, vestavěné funkce, lambda abstrakce
7. Haskell: prokročilé vlastnosti jazyka ve srovnání se Scheme
8. Prolog: fakta, pravidla, dotazy, rekurze, odpovídání dotazů
9. Funkce, unifikace, operace se seznamy
10. Prolog a logika: klauzule, Herbrandova báze, interpretace, model, předpoklad uzavřeného světa, rozhodnutelnost
11. Řez a negace, mimologické operátory, aritmetika
12. Kombinatorické prohledávání v Prologu
13. Programování s omezujícími podmínkami
14. Programovací praktiky, ladění, vestavěné predikáty

Osnovy cvičení:

1. Scheme. Seznámení se Scheme a jeho prostředím. Ladění. Základní příklady.
2. Rekurze, akumulátor.
3. Lambda abstrakce
4. Rekurze, funkce vyššího řádu
5. Haskell
6. Prolog jako databáze, fakta, pravidla, dotazy
7. Rekurze, ladění programů
8. Unifikace, operace se seznamy
9. Operace se seznamy, operace řezu a negace
10. Prohledávací algoritmy
11. Prohledávací algoritmy
12. Programování s omezujícími podmínkami
13. Programování s omezujícími podmínkami
14. Zápočy

Literatura:

P. Flach: Simply Logical, John Wiley 1994
V. Mařík et al: Umělá
inteligence I, II, Academia 1993
P. Jirků, P. Štěpánek, O. Štěpánková: Programování v Jazyku Prolog, SNTL 1991
I. Bratko: Prolog programing for AI, Addison Wesley 2001 (3rd edition)

Požadavky:

Diskrétní matematika, Logika a grafy, Programování 1+2

Poznámka:

Rozsah výuky v kombinované formě studia: 14p+6c

Webová stránka:

http://cw.felk.cvut.cz/doku.php/courses/a4b33flp/start

Klíčová slova:

LISP, PROLOG, funkcionální programování, logické programování

Předmět je zahrnut do těchto studijních plánů:

Plán Obor Role Dop. semestr
BPKYR_BO Před zařazením do oboru V 4
BPKYR3 Systémy a řízení V 4
BPKYR2 Senzory a přístrojová technika V 4
BPKYR1 Robotika V 4
BPKME5 Komunikace a elektronika V 4
BPKME4 Síťové a informační technologie V 4
BPKME3 Aplikovaná elektronika V 4
BPKME1 Komunikační technika V 4
BPKME2 Multimediální technika V 4
BPKME_BO Před zařazením do oboru V 4
BPEEM_BO Před zařazením do oboru V 4
BPEEM1 Aplikovaná elektrotechnika V 4
BPEEM2 Elektrotechnika a management V 4
BKSIT Před zařazením do oboru V
BPSTMMI Manažerská informatika V
BPSTMWM Web a multimedia V
BPSIT Před zařazením do oboru V
BPSTMSI Softwarové inženýrství V
BPSTM_BO Před zařazením do oboru V
BPSTMIS Inteligentní systémy (bakalářský, dobíhající pro nástupní ročníky před 2013) V
BIS(ECTS) Inteligentní systémy (bakalářský, dobíhající pro nástupní ročníky před 2013) V
BSI(ECTS) Softwarové inženýrství V
BMI(ECTS) Manažerská informatika V
BWM(ECTS) Web a multimedia V
BPOI2 Informatika a počítačové vědy PO 4


Stránka vytvořena 26.7.2017 11:54:38, semestry: L/2016-7, Z,L/2017-8, Z/2018-9, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: I. Halaška (K336), J. Novák (K336)
Za obsah odpovídá: doc. Ing. Ivan Jelínek, CSc.