SZAKDOLGOZATI, DIPLOMAMUNKA, NAGYPROGRAM és TDK TÉMÁK az IKKK Szimulációs Központban és az AITIA INTERNATIONAL ZRT-nél kapcsolat: lgulyas@aitia.ai Populációs szimulációk Nagyon sok szimuláció (az elméleti biológia, illetve a társadalomtudományok területéről) foglalkozik a populációk viselkedésével és interakcióival. A javasolt téma ezek alapjainak módszeres vizsgálata, különböző viselkedési (születési-, halálozási-, stb.) szabályokkal, melyek kombinációjával a témakor alapmodelljei előállíthatóak. Közlekedési szimulációk a TRAFFIX rendszerrel A TRAFFIX egy könnyen kezelhető, bővíthető ágens-alapú szimulációs platform közlekedési szimulációk létrehozására. A TRAFFIX Javában készült, a Repast szimulációs csomag felhasználásával. Kiváló alapot nyújt különböző közlekedési helyzetek és vezetői viselkedések realisztikus szimulációjára. Az alábbiakban néhány konkrét, TRAFFIX-ban megvalósítandó feladatot sorolunk fel. Braess Paradoxon A Braess paradoxon egy "régi", de igen érdekes megfigyelés, miszerint bizonyos esetekben az újabb útvonalak hozzáadásával a közlekedési hálózat teljesítménye romlik. A feladat egy ezt demonstráló szimuláció létrehozása TRAFFIX-ban. Besorolás sávokba (legkésőbb, legelőbb) Késői vs azonnali sávváltás Gyakori vita az autósok között, hogy mi a hatékonyabb, a "korai" vagy a késői, az "agresszív" vagy a "muja" sávváltás, illetve besorolás. A feladat ennek módszeres vizsgálata TRAFFIX szimulációk segítségével. Buszsáv A feladat a TRAFFIX rendszer kiegészítése buszsávokkal, illetve az azokat használó buszokkal, illetve az azokkal esetleg visszaélő autósokkal. Vizsgálatok "manhattan sávváltás" nélkül A feladat a TRAFFIX rendszer vezetőinek kiegészítése egy újfajta útvonal-tervező algoritmussal. Hirtelen fékezés vs sűrűség (cf. spontán dugó) -- reprodukció Egy ismert (és viszonylag részletesen vizsgált) jelenség az, hogy a közlekedési dugók gyakran spontán módon, különösebb ok nélkül alakulnak ki. A feladat ennek demonstrálása TRAFFIX szimulációval. Parkoló autók A feladat a TRAFFIX rendszer kiegészítlse parkoló autókkal, illetve az eddigieknél összetettebb viselkedési szabályokkal (A-ból B-be megy, ott _parkol_ x ideig, aztán B-ből C-be megy, stb.) Autókban ülők számának állítása --> statisztika az átvitt emberek számára. (Cf. Busz.) A feladat a TRAFFIX rendszer kiegészítése egy olyan modullal, mely figyelembe képes venni az autóban ülők számát is, és ez alapján képes statisztikákat készíteni. Előzés szembesávban A feladat a TRAFFIX rendszer kiegészítése a szembesávban való előzés lehetőségével. Útdíj-számítások. A világ egyre több városában vezetik be a forgalomtól függő útdíjak rendszerét a közlekedés sűrűségének szabályozására. Egyre gyakrabban javasolják ezt Budapesten is. A feladat a TRAFFIX rendszer kiegészítése egy olyan modullal, mely ennek szimulálását és vizsgálatát is lehetővé teszi. Sebesség-szórások vizsgálata Az alap TRAFFIX modellek vizsgálatának megismétlése, a sebességek, illetve a követési távolságok szórásának, valamint az utóbbiak sebesség-függőségének módszeres vizsgálata céljából. Gyorsulás/lassulás sebességének állíthatósága A feladat annak demonstrálása, hogy a TRAFFIX rendszer képes a gyorsulás és a lassulás sebességének rugalmas állítására, illetve realisztikus kezelésére. Ezek segítségével különböző "forgatókönyvek" kidolgozása (téli út, esős út, stb.). Indulás jelzőlámpánál Az autósok között sok konfliktus forrása a jelzőlámpa zöld jelzésére adandó "válasz" milyensége. A feladat annak módszeres vizsgálata, milyen hatásokkal jár -- a közlekedők egészére nézve --, ha teljes gázzal, lassan, stabil gyorsulással, stb. indulnak az autók a jelzőlámpánál. A gazdasági-pénzügyi rendszer replikatív jellegének modellezése Akinek pénze van, bankba teszi, vagy befekteti. A befektetések újabb pénzt fialnak (vagy nem), de mindenképp munkahelyeket generálnak, amitől valakinek bevétele keletkezik. A bevétel egy részét megélhetésre költjük (ismét bevétel valakinek), míg más része megmarad és minden kezdődik elölről. A bankba tett pénzünk hitel formájában másokhoz kerül: vagy befektetés lesz belőle, vagy elköltik (fogyasztási hitel), tehát máshoz kerül bevételként, és így tovább. A gazdasági rendszer alapja ez a replikáció: a "pénz", az érték körforgása és ciklikus replikációja. A feladat ennek szemléltetésére egy egyszerű ágens-alapú szimuláció készítése. BeerGame in PET (Repast, FAB) A BeerGame (ld. google) egy egyszerű, többszereplős modell a beszállítói hálózatok (supply chain) modellezésére. A feladat ennek elkészítése FABLES-ben (http://fables.aitia.ai/), illetve PET-ben (http://pet.aitia.ai/). Társadalmi hálózatmodellek mikrostruktúrával A jelenleg ismert hálózati modellek általában globálisak és a globális statisztikai tulajdonságok reprodukciójára törekszenek. Ugyanakkor a hálózat néhány alaptulajdonsága a hétköznapi, "józan" ész alapján ismert. Ilyen "mikrostruktúra" pl. az, hogy családban élünk, munkahelyre (iskolába) járunk, satöbbi. A jelen feladat egy olyan hálózat-generátor program és modell előállítása, amely létező empirikus adatok alapján (pl. családok méretének eloszlása, azaz, hány egyedülálló, hány pár, hány x gyermekes család, stb. van, illetve a munkahelyi és egyéb tevékenységekre vonatkozó hasonlóak), meghatározott globális paraméterekkel (átlagtávolság, klaszterezettség, fokszám-eloszlás, stb.) rendelkező hálózatokat "gyárt". Intuitív felhasználói felület (GUI és menü-rendszer) Pajekhez (hálózatelemző program) - Pajek frontend - bővíthető, rugalmas, kombinálható Oktatási modellek hálózatos témákban - Generatorok - Alap statisztikák - Export-lehetőségek - Vizualizációk Intuitív felhasználói felület (GUI és menü-rendszer) hálózatelemző R programok (scriptek) végrehajtásához - MEME-szerű (http://meme.aitia.ai/) R frontend, bővíthető - rugalmas R, "programozás nélkül" A MASS szimulációs platform kiegészítése 3D vizualizációs lehetőségekkel A MASS szimulációs platform (http://mass.aitia.ai/) kiterjedt vizualizációs, grafikonozási lehetőségekkel rendeklezik, könnyen használható formában. A feladat ennek kiegészítése néhány háromdimenziós megjelenítési lehetőséggel, pl.: - 2D rács, melynek minden pontján egy színes oszlop van - 3D felület - 3D felület, melyen ágensek vannak (az ágensek gömbök, vagy egyszerű figurák jelölik) A MASS szimulációs platform kiegészítése újabb grafikonokkal A MASS szimulációs platform (http://mass.aitia.ai/) kiterjedt vizualizációs, grafikonozási lehetőségekkel rendeklezik, könnyen használható formában. A feladat ennek kiegészítése néhány új grafikonnal, úgymint: - Hexagonális rács - Voronoi diagrammok - Quiver plot A MASS szimulációs platform vizualizációs rendszerének "offline" változata A MASS szimulációs platform (http://mass.aitia.ai/) kiterjedt vizualizációs, grafikonozási lehetőségekkel rendeklezik, könnyen használható formában. Ez a gyakorlatban azt jelenti, hogy a szimuláció által generált adatokat a rendszer azonnal, "online" megjeleníti a grafikonokon. Ugyanakkor maga a vizualizációs komponens eléggé jól-tervezett ahhoz, hogy az adatforrások könnyen leválaszthatóak legyenek. A jelen feladat az, hogy a vizualizációknak elkészítsük egy olyan változatát, amelyben a szimuláció -- a sebesség érdekében -- az adatokat fájlba menti, s a vizualizációs rendszer később azokat a fájlból megjeleníti. Azaz, a jelenlegi vizualizációs rendszer egyfajta "szétválasztásáról" van szó: egyrészt képesnek kell lenni megjelenítés helyett fájlba menteni az adatokat, másrészt pedig speciális adatforrásokat kell készíteni, amelyek fájlból olvassák az információkat. A MASS szimulációs platform kísérlet-vezérlőjének kiegészítése haladó kísérletterv (DoE) pluginokkal A MASS szimulációs platform (http://mass.aitia.ai/) egyik legizgalmasabb komponense az ún. kísérlet-vezérlő modul (Model Execution Module, MEME -- http://meme.aitia.ai/). Ennek egyik fő szolgáltatása, hogy haladó, "intelligens" módszerekkel (kísérlet-tervekkel, design of experiments, DoE) támogatja, hogy a kutató a szimuláció viselkedését hatékonyan (kevés futtatással) feltárja a praktikusan végtelen paramétertérben. A MEME egy jól tervezett plugin-architektúrával rendelkezik, amelybe az újabb kísérleti módszerek könnyen beilleszthetőek. A jelen feladat egy-két újabb, haladó, "intelligens" kísérleti terv pluginjának elkészítése. A FABLES szimulációs nyelv fejlesztői környezetének kiegészítése a hibajelzések felhasználóbarátabbá tételére A FABLES szimulációs nyelv (http://fables.aitia.ai/) fejlesztői környezete az Eclipse platformra épül. Jelenleg ennek a platformnak számtalan lehetőségét nagyszerűen kihasználja. Azonban a hibajelzések ügyében jelenleg nem épít az Eclipse ezirányú szolgáltatásaira. A feladat ennek megvalósítása. Mini-debugger a FABLES szimulációs nyelvhez A FABLES szimulációs nyelv (http://fables.aitia.ai/) egy könnyen használható, félig-funkcionális ágens-alapú nyelv szimulációk írásához. Az ágenseket "objektum-osztályok" írják le, a viselkedésüket deklaratív függvényekkel írjuk le, míg a szimulációk időbeli viselkedését (dinamikáját) ún. ütemezők (scheduler-ek) vezérlik, amik megadják, hogy egy adott időpillanatban milyen viselkedést/függvényt kell végrehajtani. A jelen feladat egy egyszerű debugger készítése FABLES-hez. Ennek lényege az ütemező aktuális tartalmának és állapotának megjelenítése, illetve ennek lépésenkénti végrehajtása. Esetleg a feladat hasznos része lehet, 1 kifejezés dinamikus kiértékelése (lekérdezés + értékadás). A MASON szimulációs rendszerre fordító FABLES compiler elkészítése A FABLES szimulációs nyelv (http://fables.aitia.ai/) egy könnyen használható, félig-funkcionális ágens-alapú nyelv szimulációk írásához. Az ágenseket "objektum-osztályok" írják le, a viselkedésüket deklaratív függvényekkel írjuk le, míg a szimulációk időbeli viselkedését (dinamikáját) ún. ütemezők (scheduler-ek) vezérlik, amik megadják, hogy egy adott időpillanatban milyen viselkedést/függvényt kell végrehajtani. Jelenleg a FABLES fordítója a Java alapú Repast J (http://repast.sourceforge.net/) szimulációs platformra generál kódot. A feladat egy kódgenerátor modul készítése, melynek segítségével a FABLES képes a MASON szimulációs platformra (http://cs.gmu.edu/~eclab/projects/mason/) is kódot generálni. A Repast Simphony szimulációs rendszerre fordító FABLES compiler elkészítése A FABLES szimulációs nyelv (http://fables.aitia.ai/) egy könnyen használható, félig-funkcionális ágens-alapú nyelv szimulációk írásához. Az ágenseket "objektum-osztályok" írják le, a viselkedésüket deklaratív függvényekkel írjuk le, míg a szimulációk időbeli viselkedését (dinamikáját) ún. ütemezők (scheduler-ek) vezérlik, amik megadják, hogy egy adott időpillanatban milyen viselkedést/függvényt kell végrehajtani. Jelenleg a FABLES fordítója a Java alapú Repast J (http://repast.sourceforge.net/) szimulációs platformra generál kódot. A feladat egy kódgenerátor modul készítése, melynek segítségével a FABLES képes a Repast Simphony szimulációs platformra (http://repast.sourceforge.net/) is kódot generálni. C# kódot generáló FABLES compiler elkészítése A FABLES szimulációs nyelv (http://fables.aitia.ai/) egy könnyen használható, félig-funkcionális ágens-alapú nyelv szimulációk írásához. Az ágenseket "objektum-osztályok" írják le, a viselkedésüket deklaratív függvényekkel írjuk le, míg a szimulációk időbeli viselkedését (dinamikáját) ún. ütemezők (scheduler-ek) vezérlik, amik megadják, hogy egy adott időpillanatban milyen viselkedést/függvényt kell végrehajtani. Jelenleg a FABLES fordítója a Java alapú Repast J (http://repast.sourceforge.net/) szimulációs platformra generál kódot. A feladat egy kódgenerátor modul készítése, melynek segítségével a FABLES képes C# kódot is generálni. A MASS szimulációs platform kísérlet-vezérlőjének kiegészítése NetLogo modellek kezeléséhez A MASS szimulációs platform (http://mass.aitia.ai/) egyik legizgalmasabb komponense az ún. kísérlet-vezérlő modul (Model Execution Module, MEME -- http://meme.aitia.ai/). Ez jelenleg Repast J szimulációs (http://repast.sourceforge.net/) platformon futó szimulációk kezelésére képes. Ugyanakkor a MEME architektúrája lehetővé teszi újabb szimulációs platformok kezelését támogató pluginok rendszerbe illesztését. A jelen feladat egy olyan plugin készítése, melynek segítségével a MEME képes lesz NetLogo (http://ccl.northwestern.edu/netlogo) szimulációk kezelésére is. A MASS szimulációs platform kísérlet-vezérlőjének kiegészítése MASON modellek kezeléséhez A MASS szimulációs platform (http://mass.aitia.ai/) egyik legizgalmasabb komponense az ún. kísérlet-vezérlő modul (Model Execution Module, MEME -- http://meme.aitia.ai/). Ez jelenleg Repast J szimulációs (http://repast.sourceforge.net/) platformon futó szimulációk kezelésére képes. Ugyanakkor a MEME architektúrája lehetővé teszi újabb szimulációs platformok kezelését támogató pluginok rendszerbe illesztését. A jelen feladat egy olyan plugin készítése, melynek segítségével a MEME képes lesz MASON (http://cs.gmu.edu/~eclab/projects/mason/) szimulációk kezelésére is.