Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Předmět Seminář z logického programování I (NAIL006)

Na serveru studentino.cz naleznete nejrůznější studijní materiály: zápisky z přednášek nebo cvičení, vzorové testy, seminární práce, domácí úkoly a další z předmětu NAIL006 - Seminář z logického programování I, Matematicko-fyzikální fakulta, Univerzita Karlova v Praze (UK).

Top 10 materiálů tohoto předmětu

Materiály tohoto předmětu

Materiál Typ Datum Počet stažení

Další informace

Cíl

Naučit pomocí referátů studenty spracovat a přednést látky a z oblastilogického programování

Sylabus

Referáty jsou na vybraná témata (obvykle) z následující nabídky. 1. Metaprogramování a metainterprety, interpretace mimologických predikátů, simulace změn databáze, reprezentace programů a znalostí, simulace neprologovských výpočtových strategií, metaprogramování jako nástroj rychlé prototypizace, použití v expertních systémech. 2. Rozšíření logických programů, programování s omezujícími podmínkami. Jazyky Mercury, Gödel, Curry, Escher. Integrace s funkcionálními programy. 3. Konečnost logických programů, testování zacyklení počas výpočtu, porovnávání síly testů, statická analýza a dokazování ukončení, homeomorfní vnoření. 4. Transformace programů, odstraňování pomocných proměnných a mezivýsledků, simulace výpočtu zdola nahoru, tail-rekurzivní forma, zexplicitnění informace o pokračování, binární logické programy, částečné vyhodnocování, Futamurovy transformace, kompilace jako speciální případ transformace. Superkompilace. 5. Abstraktní interpretace - metoda pro získávání globálních informací o programu, abstraktní a konkrétní domény, konečnost abstr. interpretace, použití informací při kompilaci, odvozování vstupně-výstupních modů, typů, determinismu a sdílení proměnných a struktur. Typová informace v logických programech, typová kontrola, odvozování typů, typy vyšších řádů, predikáty jako parametry a predikát call. Rozšiřování typových systémů. 6. Pokročilé programovací techniky, strukturální rekurze, porovnávání se vzory, návrh ortogonálních datových struktur, DCG gramatiky a jejich rozšíření, uživatelsky definovaný vstup a výstup, distfixní operátory, vývoj pomocí technik a skeletonů.7. Aplikace. Kombinátory parserů, doménově specifické (vnořené) jazyky. 8. Implementační techniky. Rozšiřování WAM o podporu CLP. Zpráva a čištění paměti. Rozšiřitelná unifikace. 9. Myšlenky z funkcionálního programování: Monády, monadické transformátory, arrows (šipky). Polytypické programování. Vícestupňové (staged) programování. Svíjení datových struktur (folding).

Literatura

[1] R.A.O'Keefe: The Craft of Prolog, MIT Press, 1990 [2] Journal of Logic Programming, obzvlášť vol. 19/20 (Special Issue: Ten Years of Logic Programming), 1994 [3] N.D. Jones, C.K. Gomard, P. Sestoft: Partial evaluation and Automatic Program Generation, Prentice Hall, New York, 1993

Garant

RNDr. Jan Hric