Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
SZÁMÍTÁSELMÉLETI SZAKIRÁNY A BME MÉRNÖK-INFORMATIKUS MSC KÉPZÉSÉBEN COMPUTER SCIENCE SPECIALISATION IN THE BUTE SOFTWARE ENGINEERING MSC PROGRAMME
Friedl Katalin, Szeredi Péter Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi és Információelméleti Tanszék Összefoglaló Az előadás a BME Villamosmérnöki és Informatikai Karán (VIK) 2008-ban induló mérnökinformatikus MSc képzés egyik szakirányát ismerteti. A számításelméleti szakirány fő célja a számítástudomány elméleti alapjainak elmélyítése, valamint az ezen alapokra építő gyakorlati módszerek és eszközök bemutatása. A négy féléves szakirányi képzésben öt előadás és két számítógépes labor kurzus kapott helyet. A heti háromórás előadások mindegyikéhez heti egyórás kiscsoportos gyakorlat is tartozik. Két előadás foglalkozik a matematikai alapok elmélyítésével: a gráfelmélet illetve az algoritmuselmélet haladó módszereivel és ezek alkalmazási lehetőségeivel. A deklaratív technológiákkal foglalkozó tárgycsoport a korlát-programozás (constraint programming) elméletét és gyakorlatát valamint a szemantikus technológiákat mutatja be. A szakirány ötödik előadása megismerteti a hallgatókat az adatbányászat elméletével és a legfontosabb algoritmusaival valamint a relációs adatbázisok kezelésének haladó módszereivel. Ehhez az előadáshoz, valamint a deklaratív tárgycsoporthoz egy-egy laborkurzus is kapcsolódik.
Kulcsszavak számításelmélet, algoritmusok, adatbázisok, deklaratív és szemantikus technológiák
Abstract The talk presents one of the specialisations of the Software Engineering MSc programme to be started in 2008 at the BUTE Faculty of Electrical Engineering and Informatics. The main goal of the computer science specialisation is to deepen the knowledge of the students in the theory of computing, and at the same time to introduce related methods and tools usable in practice. The four-term specialisation programme features five lecture courses, the weekly schedule of which involves three hours of lectures and one hour of practical work in small groups. The specialisation also includes two computer laboratory courses. There are two lecture courses which extend the mathematical basis of computer science, presenting advanced techniques in graph theory and in the theory of algorithms, together with their application possibilities. The group of declarative technology lectures introduces constraint programming and semantic technologies. The fifth lecture course deals with the theory and algorithms of data mining and with advanced techniques of relational data bases. The latter lecture, as well as the declarative lecture group is associated with a computer laboratory course, as well.
Keywords computer science, algorithms, data bases, declarative and semantic technologies
1
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
1. Bevezetés A holnap informatikájának egyik kulcskérdése az, hogy a számítógépek közelebb kerüljenek a különböző típusú felhasználóikhoz. A cikkünkben ismertetett, a BME VIK mérnök-informatikus MSc képzés részét képező számításelméleti szakirány felsorakoztatja az ehhez szükséges új matematikai módszereket és az ezekre épülő technológiákat. Az algoritmustervezés területén új modellek (pl. kvantumszámítógépek) és új megközelítések (pl. paraméteres bonyolultság) születtek, de a hagyományos kérdéskörökben is erősebb algoritmusok készíthetőek a gráfelmélet és a kombinatorikus optimalizálás újabb eredményeinek felhasználásával. A programozás területén megjelennek a logikai, funkcionális, ill. korlát (constraint) alapokon nyugvó, deklaratív programozási nyelvek. A hagyományos nyelvekhez képest egy deklaratív program sokkal tömörebb, magasabb szintű. Megfogalmazásában nem szükséges az algoritmus részleteit kidolgozni, sokszor elegendő a megoldandó cél eléréséhez szükséges feltételek (korlátok) leírása. Ebből következően a deklaratív programok implicit módon, azaz programozói beavatkozás nélkül párhuzamosíthatók, és így multiprocesszoros rendszereken való hatékony végrehajtásuk is biztosítható. A köznapi informatikában – pl. a Webes keresésben – is jelentkezik az az igény, hogy a számítógép ne csak szövegeket, betűsorozatokat lásson, hanem a mögöttük levő jelentést, szemantikát is kezelni tudja. Ehhez a szöveges adatokat metaadatokkal egészíthetjük ki, amelyek formálisan, gépi úton kezelhetőek. A meta-adatok automatikusan is kinyerhetőek, matematikai statisztikai módszerekkel, illetve szövegelemzéssel. Emellett rendkívül fontos a szakterületi illetve általános tudás formális megjelenítése ún. ontológiák formájában, valamint az ezeken való automatikus következtetés. A szakirány tárgyai a fent ismertetett területeket fedik le, és három nagyobb csoportba oszthatók:
a számítástudomány haladó módszerei, deklaratív technológiák, nagyméretű adathalmazok kezelése.
Az első csoportba tartozik a gráfelmélet haladó módszereit és ezek alkalmazási lehetőségeit ismertető előadás. Ehhez kapcsolódik az algoritmusok elméletével foglalkozó előadás, amely a BSc képzésben szereplő megfelelő tárgy folytatása, áttekinti a komplexitási osztályokat, de bevezeti a hallgatókat a párhuzamos és elosztott algoritmusok valamint a kvantumszámítógépek elméletébe is. A következő tárgycsoport a deklaratív technológiákkal foglalkozik. A Nagyhatékonyságú deklaratív programozás c. tárgy a BSc képzés e témájú bevezető kurzusára építve ismerteti a korlát-programozás (constraint programming) elméletét és gyakorlatát. Ezt egészíti ki a szemantikus technológiákkal foglalkozó előadás, amelynek témája a szemantikus világháló, az ontológiák, és ezek alkalmazási lehetőségei. A két előadás során elhangzott ismeretek gyakoroltatását biztosítja a kapcsolódó számítógépes labor. A szakirány ötödik előadása a nagyméretű adathalmazok kezelésével foglalkozik. Megismerteti a hallgatókat az adatbányászat és a relációs adatbázisok kombinatorikai elméletével, a legfontosabb algoritmusokkal, azok előnyeivel, hátrányaival és korlátaival. A
2
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
kapcsolódó laborgyakorlatok során a hallgatók megismerik az egyik legjelentősebb adatbányászati szoftvercsomagot is. A következő szakaszokban az egyes tárgycsoportok tematikáját ismertetjük. A cikket egy összefoglaló szakasz zárja. 2. Számítástudományi alapok Az alábbiakban a szakirány matematikai-számítástudományi alapozó tárgyait tekintjük át. Gráfok, hipergráfok és alkalmazásaik A tárgy célkitűzése: A tárgy fő célja a hallgatók gráfelméleti ismereteinek bővítése, a hipergráfok elmélete néhány fontosabb eredményének bemutatása és ezáltal a diszkrét matematikai gondolkodás fejlesztése. Hangsúlyosan be kívánja mutatni a hipergráf fogalom különféle nézőpontjait (gráfok általánosításai, halmazrendszerek, az élek karakterisztikus vektorainak halmazai), megismertetni a különböző nézőpontok előnyeit és rutinszerűvé tenni a közöttük való átjárást. Megszerezhető készségek, képességek: A diszkrét matematikai problémák kezelésében való nagyobb jártasság hasznos fogalmak ismeretével való komolyabb felvértezettség és több tény ismerete által. Ez hozzásegíthet mind az algoritmusok tervezésében mind az esetlegesen felvetődő strukturális gráfelméleti kérdések kezelésében való nagyobb találékonyság kifejlődéséhez. Rövid tematika: Tutte tétel és Vizing tétel bizonyítása, stabil párosítások, Gale-Shapley tétel. Dinitz probléma, listaszínezés, listaszínezési sejtés, Galvin tétel, síkgráfok listaszínezése, Thomassen és Voigt tételei. Hipergráfok bevezetése, nézőpontok: gráfok általánosításai, halmazrendszerek, 0-1 sorozatok halmazai. Gráfelméleti eredmények általánosítása: Baranyai tétel, Ryser-sejtés. Nevezetes extremális halmazelméleti eredmények: Sperner tétel, LYM egyenlőtlenség, Ahlswede-Zhang azonosság, Erdős-Ko-Rado tétel, Kruskal-Katona tétel. Ramsey tétele gráfokra és hipergráfokra, geometriai alkalmazások. Lineáris algebra alkalmazására példák: Páratlanváros tétel, Graham-Pollak tétel. További geometriai alkalmazások: Chvátal "art gallery" tétele, Borsuk sejtés Kahn-Kalai-Nilli féle cáfolata. Kombinatorikus optimalizálási feladatok poliéderes leírása, példák, perfekt gráfok politópos jellemzése. Algoritmusok és bonyolultságuk A tárgy célkitűzése: A tárgy célja az algoritmikus gondolkodás továbbfejlesztése. E célból a hallgatók betekintést kapnak a modern irányzatok némelyikébe: a több processzort használó alapvető párhuzamos és elosztott algoritmusokba, a problémák paraméteres bonyolultságának vizsgálatába, ill. a kvantumszámítógép matematikai modelljébe és alapvető algoritmikus technikáiba. Megszerezhető készségek/képességek: Az Algoritmuselmélet tárgy folytatásaként a hallgatók további algoritmikus technikákkal ismerkednek meg, és újabb eszközöket tanulnak az algoritmikusan nehéz problémák kezelésére. Rövid tematika: Geometriai algoritmusok (legközelebbi pontpár, konvex burok meghatározása). Alapvető párhuzamos algoritmusok (PRAM-ek, Brent-elv a gyorsításra).
3
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
Elosztott algoritmusok hibátlan esetben, egyezségre jutás, ill. ennek lehetetlensége különböző típusú hibák esetén (vonalhiba, leállás, Bizánci típusú hiba). Interaktív bizonyítások, IP=PSPACE. On-line algoritmusok. Paraméteres bonyolultság (korlátos mélységű keresőfák, a gráfminor tétel következményei, W[1]-teljesség). A kvantumalgoritmusok alapjai. 3. Deklaratív technológiák Ebbe a tárgycsoportba két előadás és egy számítógépes labor kurzus tartozik. Ezeket tekintjük át az alábbiakban. Nagyhatékonyságú deklaratív programozás A tárgy célkitűzése: 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átprogramozás módszereinek áttekintése és gyakoroltatása. Megszerezhető készségek, képességek: Haladó logikai programozási gyakorlat, a Prolog nyelv rendszerprogramozási elemeinek, korutinos kiterjesztéseinek megismerése. A korlátlogikai programozás sémájának és legfontosabb eseteinek ismerete. A véges tartományú korlát-programozás (CLPFD) részletes ismerete, korlát-feladatok modellezése, megvalósítása és optimalizálása. Rövid tematika: -
A Prolog nyelv fejlettebb elemei, korutinkezelés
-
A korlát-logikai programozás elméleti alapjai
-
Valós és racionális tartományú CLP: nyelvi elemek, megvalósítás, példák
-
Boole-értékű CLP
-
Véges tartományú CLP: elméleti háttér; aritmetikai korlátok; logikai és tükrözött korlátok, kombinatorikus korlátok. Címkézés, felhasználói korlátok készítése indexikálisok és globális korlátok formájában. CLPFD nyomkövetés.
-
CLPFD esettanulmányok: Modellezés, korlátok megválasztása, hatékony keresés
-
A CHR (Constraint Handling Rules) generikus korlát-programozási eszköz.
Bevezetés a szemantikus technológiákba A tárgy célkitűzése: A tárgy célja a tudásalapú technológiák egy fontos új irányának a bemutatása. A tárgy áttekinti az emberi tudás számítógépes ábrázolásának és feldolgozásának módszereit. Megismertet a fogalmi rendszerekkel (ontológiákkal), és bemutatja ezek matematikai hátterét, a leíró logikákat. Áttekintést nyújt az ontológiákat alkalmazó ún. szemantikus technológiákról, a Szemantikus Világháló elképzelésről. Megszerezhető készségek, képességek: A tárgyat elvégző hallgató jártasságot szerez a különféle leíró logikai tudásreprezentációs formalizmusokban, és az azokon való következtetési módszerek területén. Megismeri a Szemantikus Világháló elképzelésben használt leíró és adatlekérdező nyelveket, valamint az ezeket támogató eszközöket.
4
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
Rövid tematika: -
A világháló felépítése, a hagyományos keresőrendszerek működése, tudás reprezentálása a világhálón. Problémák a Webbel: az intelligens keresést akadályozó tényezők; szemantika hiánya a világhálón; a hagyományos megoldási lehetőségek ismertetése.
-
A Szemantikus Világháló irányzat: az RDF nyelv; az RDF alapú modellezés alapjai; RDF sémák felépítése. Az OWL (Web Ontology Language) nyelv. A Szemantikus Világháló rétegei és a vele kapcsolatos problémák.
-
Ontológiák: a leíró logikák ismertetése, fajtái; tudásbázisok leírása leíró logikákkal; következtetés leíró logikai rendszerekben, TBox és ABox következtetések; a Tabló algoritmus és változatai; a Tabló algoritmus optimalizálása; létező leíró logikai következtető rendszerek; egy egyszerű leíró logikai következtető megvalósítása.
-
Egy komplex ontológiakezelő rendszer bemutatása.
Szemantikus és deklaratív technológiák szakirány labor A tárgy célkitűzése: A labor célja a szemantikus és deklaratív technológiák területén alkalmazott módszerek gyakorlása, valamint az ezekhez kapcsolódó programozási nyelvek, fejlesztői környezetek ill. számítógépes eszközök készségszintű megismerése. Megszerezhető készségek, képességek: A korlát-logikai programozás (CLP) különféle változatainak (R: valós, B: Boolean, FD: véges tartományú) alkalmazása, gyakorlati példákon keresztül. A CLPFD programozás mélyebb megismerése. Az internetes keresés egyik problémáját okozó szerver oldali megoldások megértése. Az intelligens kereséshez szükséges meta-információk (RDF és RDF sémák) készítésének gyakorlása erre alkalmas szerkesztőeszközökkel. OWL-nyelvű leírások készítése és az azokon való leíró logikai következtetési feladatok gyakorlása és megoldása. Következtető rendszerek megismerése (Racer, DLog). Rövid tematika: -
A SICStus Prolog CLPR és CLPB könyvtárai
-
A SICStus Prolog CLPFD könyvtárának használata korlát-feladatok megoldására
-
Valós feladat modellezése CLPFD segítségével. Alapmegoldás, hatékonyságnövelő módszerek: redundáns korlátok, címkézési technikák.
-
Szerver oldali webalkalmazások írása
-
RDF és OWL ontológiák szerkesztése, a Lore és Protégé rendszerek ismertetése
-
a Racer és a Dlog következtető rendszerek bemutatása
4. Nagyméretű adathalmazok Ebbe a tárgycsoportba egy előadás és egy ahhoz kapcsolódó számítógépes labor tartozik. Az alábbiakban ezt a két tárgyat együtt ismertetjük.
5
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
Nagyméretű adathalmazok kezelése A tantárgy célkitűzései: Megismertetni a hallgatókat az adatbányászat és a relációs adatbázisok kombinatorikai elméletével, a legfontosabb algoritmusokkal, azok előnyeivel, hátrányaival és korlátaival. A hallgatók a laborgyakorlatok során megismerik az egyik legjelentősebb adatbányászati szoftvercsomagot és gyakorlati ismeretekre is szert tesznek. Megszerezhető képességek: A hallgató képes lesz összefüggések kinyerésére nagy adathalmazokból. Képes lesz klaszterezni, osztályozni, asszociációs szabályokat és gyakori mintázatokat kinyerni. Alkalmazni tudja a statisztika legfontosabb eszközeit. Megismeri a funkcionális függőségek elméletét és annak általánosításait, továbbá a kapcsolódó kombinatorikai és komplexitási kérdéseket. Áttekintést nyer a magasabb rendű adatmodellekről, az XML elméletéről. Rövid tematika: -
Előfeldolgozás, mintavételezés, dimenzió-csökkentés az adatbányászatban
-
Gyakori minták kinyerése (gyakori elemhalmazok, sorozatok, epizódok, címkézett, gyökeres fák, feszített részgráfok, részgráfok keresése, APRIORI, Eclat, FP-growth algoritmusok különböző típusú mintákra való alkalmazása, kétfázisú algoritmusok, elemhalmazok lezártja, kényszerek kezelése)
-
Asszociációs szabályok, függetlenség-vizsgálat
-
Osztályozás (döntési fák, legközelebbi szomszéd, Bayes hálók, svm, adaboost)
-
Klaszterezés (Kleinberg-féle lehetetlenség-elmélet, klasszikus klaszterezési célfüggvények és azok hibái, klaszterező algoritmusok típusai, partíciós-, hierarchikus-, sűrűségalapú algoritmusok)
-
Webes keresés (Page rank, HITS módszer)
-
Adatbányászat a gyakorlatban, a WEKA szoftver megismerése
-
Függőségek elmélete: funkcionális, tartalmazási, összekapcsolási függőségek, axiomatizálásuk, az implikációs probléma
-
Általános függőségek: egyenlőség generáló és sorgeneráló függőségek
-
Kombinatorikus és komplexitási kérdések
-
Magasabb rendű adatmodellek, az XML elmélete
5. Összefoglalás A cikkben a BME Villamosmérnöki és Informatikai Karán 2008-ban induló mérnökinformatikus MSc képzés számításelméleti szakirányát mutattuk be. Áttekintettük a képzés céljait, szerkezetét, majd ismertettük az egyes tárgycsoportokat és azon belül az egyes tárgyakat. Reményeink szerint ez a képzési forma hozzájárul számításelmélet legújabb eredményeit megismerhessék, és gyakorlati alkalmazásában is. A következő „Informatika a szeretnénk majd beszámolni a számításelméleti szakirány tapasztalatairól is.
6
ahhoz, hogy hallgatóink a jártasságot szerezzenek ezek felsőoktatásban” konferencián bevezetésének és oktatásának