Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    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