SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.



Hasonló dokumentumok
V. Kétszemélyes játékok

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Modellek dokumentálása

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Kétszemélyes játékok

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

A számítógépes feladatok a várt megoldáshoz egyértelmű utalásokat tartalmazzanak.

Mozgásvizsgálati mérések internetes megjelenítése. Zemkó Szonja - Dr. Siki Zoltán

Mesterséges intelligencia 3. laborgyakorlat

Az ErdaGIS térinformatikai keretrendszer

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Készítette: Enisz Krisztián, Lugossy Balázs, Speiser Ferenc, Ughy Gergely

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

ULTIMATE TIC TAC TOE. Serfőző Péter

Gráfok vizualizációja. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar

GráfRajz fejlesztői dokumentáció

Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése

DocBook útmutató. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar

ÉRETTSÉGI TÉTELCÍMEK 2018 Informatika

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Tudás Reflektor. Copyright 2011; Kodácsy Tamás;

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Mesterséges Intelligencia MI

Tárgyfelelős kódja, címe)

Podoski Péter és Zabb László

Mesterséges Intelligencia II. kötelező feladat (3. forduló) - Ajánló rendszer 2.

A Szekszárdi I. Béla Gimnázium Helyi Tanterve

TERC V.I.P. hardverkulcs regisztráció

Szegedi Tudományegyetem Informatikai Tanszékcsoport SZAKDOLGOZAT. Fertői Ferenc

Informatika tanterv nyelvi előkészítő osztály heti 2 óra

Mérnökinformatikus alapszak (BSc)

A L i n u x r u h á j a

Nyilvántartási Rendszer

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

MÉRNÖKINFORMATIKUS ALAPSZAK TANULMÁNYI TÁJÉKOZATÓ 2017.

INFORMATIKA TANMENET SZAKKÖZÉPISKOLA 9.NY OSZTÁLY HETI 4 ÓRA 37 HÉT/ ÖSSZ 148 ÓRA

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

Automatikus tesztgenerálás modell ellenőrző segítségével

Kommunikációs rendszerek teljesítőképesség-vizsgálata

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult

Mi legyen az informatika tantárgyban?

Savaria Egyetemi Könyvtár Katalógusa. Böngészés Keresés Találatok megjelenítése Adatbázis választás Olvasói tranzakciók

5. osztály. 1. Az informatikai eszközök használata:

NETTUTOR AZ OKTATÁSSZERVEZÉS SZÁMÍTÓGÉPES TÁMOGATÁSA

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

Számítógépes döntéstámogatás. Bevezetés és tematika

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Kurzuskód Kurzus címe, típusa (ea, sz, gy, lab, konz stb.) Tárgyfelelős Előfeltétel (kurzus kódja) típusa

INFORMATIKA TANMENET 9. OSZTÁLY

Géprajz (GEGET284L) kommunikációs dosszié GÉPRAJZ (GEGET284L) ANYAGMÉRNÖK BACHELOR LEVELEZŐ KÉPZÉS TANTÁRGYI KOMMUNIKÁCIÓS DOSSZIÉ

Általános nyomtatványok xml szerkezete. (v1.3)

Az annotáció elvei. Oravecz Csaba MTA Nyelvtudományi Intézet MANYE vitaülés február 20.

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

A rendszer különféle információs, kulturális és oktatási célokat szolgálhat:

Ionogram releváns területeinek meghatározása és elemzésének automatikus megvalósítása

ALAPKÉPZÉS SZAKINDÍTÁS

Mesterséges Intelligencia MI

Szakdolgozati, TDK témajavaslatok

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

Programozással ismerkedőknek ajánlom. SZERZŐ: Szilágyi Csilla. Oldal1

A KÖZÉPSZINTŰ ÉRETTSÉGI VIZSGA INFORMATIKA TÉMAKÖREI: 1. Információs társadalom

INFORMATIKA ÉRETTSÉGI VIZSGAKÖVETELMÉNYEK AZ ÉRETTSÉGI VIZSGA RÉSZLETES TEMATIKÁJA

SZOFTVERESZKÖZ. Melvin nyelvoktató szoftver ,- C angol nyelvtani játék ,- C599. Gridmagic rajzszoftver. Teachernet 78.

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel


Aspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet

PROGRAMTERVEZŐ INFORMATIKUS ALAPKÉPZÉSI SZAK

Informatika tagozat osztályozóvizsga követelményei

Programtervező informatikus BSc, Modellalkotó informatikus (A) szakirány, 2008-tól

Programtervező informatikus BSc 2018, Szoftverfejlesztő specializáció ajánlott tantervi háló. Törzsanyag. Konzultáció Kredit

CAD Rendszerek I. Sajátosság alapú tervezés - Szinkron modellezés

1_Linux_bevezeto_bash

Java grafikai lehetőségek

Office 2007 teszt. Question 1 Válassza ki, milyen típusú SmartArt objektumok NEM készíthetők az alábbiak közül!

Feladataink, kötelességeink, önkéntes és szabadidős tevékenységeink elvégzése, a közösségi életformák gyakorlása döntések sorozatából tevődik össze.

Alkalmazások típusai Szoftverismeretek

A programozó matematikus szak kredit alapú szakmai tanterve a 2003/2004. tanévtől, felmenő rendszerben

A statisztika oktatásáról konkrétan

Javadoc. Dokumentációs megjegyzés (2) Dokumentációs megjegyzés (1) Dokumentációs megjegyzés felépítése

LEADER. Helyi Fejlesztési Stratégiák. tervezését támogató alkalmazás

Az informáci. Forczek Erzsébet SZTE, ÁOK Orvosi Informatikai Intézet május

Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával

TANTÁRGYI ÚTMUTATÓ. Alkalmazott számítástechnika. tanulmányokhoz

Szathmáry László Debreceni Egyetem Informatikai Kar

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Programtervező informatikus MSc nappali tagozat ajánlott tanterv 2018

za TANTÁRGY ADATLAPJA

Programtervező informatikus MSc nappali tagozat ajánlott tanterv 2018

Technikai információk fejlesztőknek

Algoritmus terv 3. Fejezet: Folyamatok meghatározása

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

INFORMATIKA ÉRETTSÉGI VIZSGA ÁLTALÁNOS KÖVETELMÉNYEI

EGYÜTTMŰKÖDŐ ÉS VERSENGŐ ERŐFORRÁSOK SZERVEZÉSÉT TÁMOGATÓ ÁGENS RENDSZER KIDOLGOZÁSA

A kommunikáció. Információ és társadalom

Mesterséges Intelligencia I. kötelező program

Térinformatikai támogatás a kistérségi döntés és erőforrás-gazdálkodásban

22. GRÁFOK ÁBRÁZOLÁSA

A tantárgyelem kódja: KIT0401G. gyakorlat A tantárgyelem jellege: A tantárgyelem oktatásának ajánlott 5. félév

TANTÁRGYI ADATLAP I. TANTÁRGYLEÍRÁS

Átírás:

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.hu

Mesterséges intelligencia oktatás a DE Informatikai Karán Évtizedes hagyományok Az oktatási kínálatban számos a témához kötődő, magas színvonalon oktatott kurzus szerepel folyamatosan A téma hangsúlyosan jelenik meg a képzésben A képzés gerincét jelentő GI, MI és PTI BSc szakokon kötelezőként teljesítendő egy bevezető MI kurzus, amely jelenleg A mesterséges intelligencia alapjai címen fut

A bevezető MI kurzus A tárgyalt főbb témakörök: problémák állapottér-reprezentálása, megoldást kereső rendszerek, kétszemélyes stratégiai játékok és lépésajánló algoritmusok Fontossága: eszközt ad problémák számítógép által kezelhető megfogalmazásához (állapottérreprezentáció), másrészt pedig univerzális, bizonyítottan helyesen működő algoritmusokat azok megoldásához Célok: a hallgatók önállóan legyenek képesek valós problémák formalizálására, ennek alapján el tudjanak készíteni egy a problémát megoldó számítógépes programot Az oktatás előadások és gyakorlatok formájában történik

A MI gyakorlati oktatása A félév első felében a gyakorlatokon problémák formalizálása, az állapottér-reprezentációk és megoldáskereső algoritmusok implementálása műhelymunka keretében A félév végén hasonló felfogásban kerülnek tárgyalásra a kétszemélyes stratégiai játékok és lépésajánló algoritmusok Szilárd matematikai logikai és programozási alapok szükségesek (megfelelő tantárgyi előfeltételek) Az utóbbi években a gyakorlatok programozási nyelve elsősorban a Java Nagyon hasznos a szemléltetés (alapfogalmak és az algoritmusok működése kapcsán)

Szoftverek a gyakorlatok oktatásához Az előadó által kifejlesztett nyílt forrású (GNU GPL licenc alatt terjeszett) osztálykönyvtár, amely az alábbiakat tartalmazza: OO keretrendszer számítógépes problémamegoldáshoz A tárgyalt megoldáskereső algoritmusok valamint számos különböző probléma állapottérreprezentációjának implementációja a keretrendszerben OO keretrendszer kétszemélyes stratégiai játékokhoz Néhány kétszemélyes stratégiai játék (például Othello és malom játék) valamint lépésajánló algoritmus (minimax módszer, negamax módszer, alfa-béta vágás) implementációja a keretrendszerben Eszközök alapfogalmak és a megoldáskereső algoritmusok működésének szemléltetéséhez

A programcsomag szemléltető eszközei Az eszköztár: Programok állapottérgráfok és játékfák grafikus ábrázolásához Explicit gráfok Programok megoldáskereső algoritmusok működésének grafikus ábrázolásához Az előadó nem ismer más ilyen képességekkel rendelkező eszközt

Állapottérgráfok és játékfák rajzolása Ha az állapottér-reprezentációs Java osztály megfelelően implementálja a programcsomag interfészeit, akkor tetszőleges probléma és kétszemélyes stratégiai játék esetén képes a program ábrázolni a teljes állapottérgráfot vagy játékfát Nagy gráfok esetén megadható mélységi korlát illetve előállítható makroszkópikus nézet Utóbbi a gráf szerkezetét szemlélteti olyan módon, hogy minden csúcs csupán egy címke nélküli pontként jelenik meg rajta

Állapottérgráf megjelenítése (1): a 8-as játék 3 mélységig felépített gráfja

Állapottérgráf megjelenítése (2): a misszionáriusok és kannibálok probléma gráfja makroszkópikus nézetben (16 csúcs és 17 irányítatlan él)

Állapottérgráf megjelenítése (3): a 8-as játék 6 mélységig felépített gráfja makroszkópikus nézetben (103 csúcs és 104 irányítatlan él)

Explicit gráfok A csomag részeként implementált problémák az állapottérgráf tipikusan nagy mérete miatt nem alkalmasak a megoldáskereső eljárások működésének szemléltetéséhez Egy explicit gráf egy XML-ben leírt, tipikusan kisméretű állapottérgráf (azonban méretére nincs felső korlát), amelynek célja kifejezetten szemléltetés A formátum egy XML séma formájában adott A csomag valamennyi megoldáskereső eljárása képes explicit gráfokat is kezelni Egy gráfot leíró XML dokumentumban meg lehet adni: a gráf csúcsait (opcionális heurisztikus értékekkel), a gráf éleit (opcionális élköltségekkel), néhány kiegészítő információt (például az élköltségek mértékegységét)

Egy explicit gráf XML-ben <?xml version="1.0" encoding="utf-8"?> <graph xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="graph.xsd" root="budapest" cost.unit="km" directed="false"> <node id="budapest"/> <node id="cegléd"/> <goalnode id="debrecen"/> <node id="eger"/> <node id="füzesabony"/> <node id="hatvan"/> <node id="karcag"/> <node id="miskolc"/> <node id="nyíregyháza"/> <node id="tiszafüred"/> <node id="szolnok"/> <node id="újszász"/> <edge source="budapest" target="cegléd" cost="73"/> <edge source="budapest" target="hatvan" cost="67"/> <edge source="budapest" target="újszász" cost="84"/> <edge source="cegléd" target="szolnok" cost="27"/>... </graph>

Az explicit gráf a programmal ábrázolva

Megoldáskereső algoritmusok működésének ábrázolása Adottak a tárgyalt megoldáskereső algoritmusok olyan megvalósításai, amelyek a működésüket szemléltető képsorozatokat állítanak elő A képsorozatok elemei a megoldáskereső adatbázisának tartalmát ábrázolják lépésrőllépésre Ábra szemlélteti a programok által előállított megoldást is

A probléma az optimális keresővel előállított megoldása a programmal ábrázolva

Az optimális kereső működését szemléltető képsorozat (1) (a) (b) (c)

Az optimális kereső működését szemléltető képsorozat (2) (d) (e)

Az optimális kereső működését szemléltető képsorozat (3) (f)

Az optimális kereső működését szemléltető képsorozat (4) (g)

Az optimális kereső működését szemléltető képsorozat (5) (h)

Az optimális kereső működését szemléltető képsorozat (6)

Az optimális kereső működését szemléltető képsorozat (7)

Az optimális kereső működését szemléltető képsorozat (8)

A programok futtatása (1) A szemléltető programokat az ai.framework.visualization csomag tartalmazza Futtatás parancssorból megfelelő paraméterezéssel lehetséges Fontosabb parancssori argumentumok: Az explicit gráf elérési útvonalának megadása --xml <elérési-útvonal> formában Az állapottér-reprezentációs Java osztály teljes minősített nevének megadása --classname <osztálynév> formában A program által generált képeket tartalmazó könyvtár megadása --outputdir <elérésiútvonal> formában (alapértelmezés az aktuális könyvtár)

A programok futtatása (2) Például a korábbi képsorozatot a java ai.framework.visualization.optimalsearch --xml graph.xml parancs végrehajtásával állíthatjuk elő Az explicit gráfot a graph.xml állomány tartalmazza Az aktuális könyvtárban jönnek létre a 0.png, 1.png, 2.png, képállományok, amelyek az algoritmus egyes lépéseiben mutatják az adatbázis tartalmát Ugyancsak az aktuális könyvtárban jön létre a probléma állapottérgráfjába berajzolt megoldást tartalmazó solution.png képállomány

Megvalósítás A programcsomag teljes egészében Java-ban készült A gráfok rajzolása a nyílt forrású Graphviz szoftverrel történik http://www.graphviz.org/ A Graphviz nem Java nyelven készült, sajnos Java interfész sem létezik hozzá Az ai.util.graphviz csomagban egy Java API a Graphviz által kezelt DOT formátumú gráfok generálásához A DOT állományokból képeket előállító bináris futtatható konverziós programok meghívása a java.lang.runtime osztály segítségével

Továbbfejlesztési lehetőségek Grafikus felhasználói felület explicit gráfok felhasználóbarát készítéséhez, amely nem igényli az XML formátum használatának ismeretét sem Grafikus felhasználói felület a szemléltető programok felhasználóbarát futtatásához A szemléltető programokban különálló képállományok helyett animáció előállítása

További információk A szoftver szabadon elérhető az alábbi címen: http://www.inf.unideb.hu/~jeszy/mestint/