Belépés címtáras azonosítással
magyar nyelvű adatlap
angol nyelvű adatlap
Nagyhatékonyságú deklaratív programozás laboratórium
A tantárgy angol neve: High Efficiency Declarative Programming Laboratory
Adatlap utolsó módosítása: 2024. február 1.
Mérnökinformatikus szak, MSc képzés
Számításelmélet mellékspecializáció
Név:
Beosztás:
Tanszék, Int.:
Dr. Szeredi Péter
Számítástudományi és Információelméleti Tanszék
A Prolog programozási nyelv alapszintű ismerete
A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.
A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.
Ajánlott: Deklaratív Programozás c.tárgy
A Deklaratív Programozás c. BSc tárgy keretében szerzett tudás elmélyítése, kiterjesztése a korlát-logikai programozás (constraint logic programming, CLP) területére. A CLP elméleti alapjainak és megvalósításainak megismertetése, a korlát-programozás módszereinek áttekintése és gyakoroltatása.
1) A CLP alapjai (a CLP(X) séma, példák), CLP megvalósításhoz szükséges haladó Prolog eszközök (blokkolás, korutin-szervezés, korutin-szervező eljárások Prologban, példák korutinok alkalmazására, kifejezések testreszabott kiírása)
2) CLP(MiniNat) esettanulmány (kvázi-CLP nyelv természetes számokra), a CLP(MiniNat) megvalósítása a tanult haladó Prolog eszközök segítségével
3) A SICStus Prolog clpq és clpr könyvtára, használatuk és működési elveik, példák a könyvtárak használatára és működésére, esettanulmány: tökéletes téglalapok
4) A korlát logikai programozás elmélete (CLP szintaxis, deklaratív szemantika, procedurális szemantika, következtetés folyamata).
5) A CLP(FD) alapjai, bevezetés a SICStus Prolog clpfd könyvtárának használatába, elméleti háttér: korlát-kielégítési problémák (CSP), egyszerű és összetett korlátok, halmazkorlátok és aritmetikai korlátok, példák a clpfd könyvtár használatára
6) Konzisztencia és szűkítési szintek, a korlátok végrehajtása, klasszikus CSP feladatok (zebra feladat, n királynő probléma, mágikus sorozatok), redundáns korlátok. Nagy házi feladat kiadása
7) Reifikáció, logikai korlátok, korlátok levezethetősége, globális aritmetikai korlátok, clpfd segédeljárások, FD-halmazok, címkézés (címkézési eljárások, címkézési opciók, a címkézés testreszabása)
8) Felhasználói korlátok definiálási lehetőségei: globális korlátok és FD-predikátumok. Globális korlátok megadásának módja, a szűkítést végző kampó-eljárások szerkezete
9) FD-predikátumok: indexikálisok és tartománykifejezések, reifikáláshoz szükséges további FD-klózok, indexikálisok jelentése, korlátok fordítása indexikálisokká
10) A SICStus clpfd beépített kombinatorikus korlátai: számlálás és különbözőség, általános relációk megadása (párokkal, gráfokkal, táblázattal, automatával), gráf-korlátok, ütemezés, pakolás. Példák ezek alkalmazására
11) CLP(FD) nyomkövetés az FDBG könyvtár segítségével (használat, testreszabás, saját megjelenítő írása)
12) Összetett CLP(FD) esettanulmányok (négyzetdarabolás, torpedó, dominó): modellezés, korlátok megválasztása, hatékony keresés
13) A CHR (Constraint Handling Rules) generikus korlát-programozási eszköz, CHR szabályok megadása és végrehajtása, példák a CHR alkalmazására
14) Összefoglalás, tartalék
Előadás + laboratórium. Az előadás részben a fent felsorolt témakörök kerülnek előadásra ill. megvitatásra, a laboratórium részben a hallgatók a témakörhöz kapcsolódó elméleti ill. programozási feladatokat oldanak meg.
Szorgalmi időszakban:
Hat kis házi feladat és egy nagy házi feladat elkészítése. A legjobb négy kis házi feladat 5-5%-ban, a nagy házi feladat 40%-ban számít bele az értékelésbe. A 6 kis házi feladat közül négyet kötelező beadni. A kis házi feladatok beadási határideje a kiadás után két héttel van, a nagy házi feladat a szorgalmi időszak utolsó napjáig adható be. A szorgalmi időszak utolsó hetében a hallgatók zárthelyit írnak, amely 40%-ban számít be az értékelésbe.
A vizsgaidőszakban:
nincs
Előzetes egyeztetés szerint .
Szeredi Péter, Benkő Tamás: Nagyhatékonyságú logikai programozás, Kézirat.
http://cs.bme.hu/~szeredi/oktatas/docs/nlp02_jegyzet.pdf
Dr. Mann Zoltán Ádám
egyetemi docens
c. egyetemi tanár