Nagyhatékonyságú logikai programozás

A tantárgy angol neve: High Efficiency Logic Programming

Adatlap utolsó módosítása: 2006. július 1.

Tantárgy lejárati dátuma: 2009. november 24.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Villamosmérnöki Szak

Műszaki Informatika Szak

Választható tárgy

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIMA9103 7-9 2/0/0/v 2.5 1/1
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Dr. Szeredi Péter

egy.docens

Számítástudományi és Információelméleti Tanszék

5. A tantárgy az alábbi témakörök ismeretére épít

A PROLOG nyelv alapszintű ismerete.

6. Előtanulmányi rend
Ajánlott:

Ajánlott:

Deklaratív Programozás (korábban Programozási paradigmák)

Ütközés már tanult tárggyal nincs.

7. A tantárgy célkitűzése

A hallgatók megismertetése a logikai programozás két olyan új ágával, amelyeknek a jelenlegi Prolog rendszereknél lényegesen nagyobb a hatékonysága.

8. A tantárgy részletes tematikája

A hatékonyság kérdését két oldalról vizsgáljuk: nagyobb végrehajtási hatékonyságot lehet elérni új nyelvi és fordítási eszközök alkalmazásával, illetve nagyobb programozói hatékonyságot lehet elérni nagyobb kifejezőerővel bíró nyelvek segítségével.

Az előadás első részében a Mercury logikai programozási nyelvvel foglalkozunk. A Mercury nyelv egy tisztán deklaratív programozási nyelv, amely nagy és megbízható szoftverrendszerek készítését támogatja. A Mercury nyelv a Prologot típus-, mód- és determinizmus-deklarációkkal egészíti ki. A nyelv fordítóprogramja a Mercury programokat C nyelvre, mint egy hordozható assembler nyelvre fordítja, és a jelenlegi Prolog rendszereknél sokszorosan gyorsabb kódot generál.

Az előadás második része az ún. Constraint Logic Programming (CLP) irányzattal foglalkozik. A CLP közelítésmódja a hagyományos logikai programozási nyelvektől, így pl. a Prologtól alapvetően abban különbözik, hogy a nyelv következtetési mechanizmusa az egyenlőség mellett más relációkat és függvényeket is ismer és értelmez. Például a CLP (R) nyelv a lineáris egyenlet- és egyenlőtlenség-rendszerek megoldási algoritmusait beépített módon tartalmazza. Bár a CLP-irányzat mindössze hét-nyolc éves múltra tekint vissza, már ma is komoly ipari alkalmazásai vannak, pl. repülőtársaságok ütemezési problémáinak megoldásában.

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

Előadás, konzultáció, önálló gyakorlás számítógépen.

10. Követelmények

a. A szorgalmi időszakban: A szorgalmi időszakban a hallgatóknak egy nagyfeladatot kell megoldaniuk és dokumentálniuk. Az aláírás feltétele a nagyfeladat elégséges szintű megoldása. (Elégséges szint: a maximális pontszám 40%-a.) A feladat csak a szorgalmi időszakban adható be, később nem pótolható. A vizsgára bocsátás feltétele az aláírás megszerzése.

b. A vizsgaidőszakban: A vizsga szóbeli A félévvégi osztályzatban a vizsgára kapott jegyet 70, a nagyfeladatra kapott jegyet 30%-os súllyal vesszük figyelembe.

c. Elővizsga: Igény szerint

13. Jegyzet, tankönyv, felhasználható irodalom

A tárgyhoz tankönyv, jegyzet nincs, a témakörök többségéhez sokszorosított, ill. elektronikus segédleteket adunk ki.

15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Dr. Szeredi Péter

egy. docens

Számítástudományi és Információelméleti Tanszék

vima9103.rtf