A szimuláció számítástechnikai eszközei Gulyás László gulya@hps.elte.hu Tudománytörténet és Tudományfilozófia Tanszék 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Vizsgaidőpontok!! 1 órás írásbeli vizsga. 2+1 (UV) alkalom. Május 24. 16 óra (itt) Június 5. 16 óra (itt) És: Június 12. 16 óra (itt) 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Tételsor + Jegyzet!! Az óra honlapján Tételsor máris elérhető A jegyzet kb. jövő hétfőtől. Köszönet Legéndi Richárdnak. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) A jövő A jelen kurzus „folytatása”: Társadalmi szimulációk a gyakorlatban – Modell-elemzés 2007-2008-as tanév második félévétől. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) A jövő II. Az ELTE IKKK Szimulációs Központja TDK Szakdolgozat, diplomamunka Fejlesztői-kutatói munka (ösztöndíj) Lehetőségek Eszközfejlesztés (ld. MASS, FABLES, MEME) Tesztelés Modellezés és szimuláció 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Áttekintés Ismétlés Módszertani megjegyzések, avagy Hogyan szimuláljunk jól? A számítógépes szimuláció eszközei Rendszerdinamika, Sejtautomaták, etc. Ágens alapú szimuláció Általános megjegyzések Eszköztörtének Swarm, Repast, NetLogo, MASON, MASS MEME Példák 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Ismétlés 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Koncepcionális keretrendszer Az eredmény (Érdeklődésünk szintje, Level of Interest) A szabályokban felhasznált információ (Az információ szintje, Level of Information) A megvalósított szabályok (A dinamika szintje, Level of Dynamics) Az implementált egységek (Az implementáció szintje, Level of Implementation) A számításba vett egységek (A figyelembevétel szintje, Level of Consideration) 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) A „magyar trükk” A nem reprezentált (de figyelembe vett!) rendszerelemeket véletlen változókkal helyettesítjük. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Eloszlások A véletlen változókhoz eloszlások tartoznak. Normális (Gaussian) Egyenletes (Uniform) 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
„Occam tanácsai” az eloszlásokról Ha nem tudunk semmit a nem-modellezett komponensről; Ha nem akarunk feltenni semmit a nem-modellezett komponensről AKKOR MINÉL „EGYSZERŰBB” ELOSZLÁST VÁLASSZUNK. Tipikusan normális vagy egyenletes eloszlás. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
A kontrollálhatóságról és a megismételhetőségről A számítógépes szimulációk tudományos kísérletek. A talált eredményeket meg kell tudni ismételni. Pl. megmutatni másoknak! Másrészt, mások „kontrollméréseikor”. Kvalitatív kontra kvantitatív eredmények. (Akkor is!) Kontroll: Tudni kell, hogy a megfigyelt jelenségek milyen konkrét feltételek mellett álltak elő. Pl. konkrétan milyen véletlen számsorozat mellett. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Pszeudó-véletlenszám generátorok (PRNG) Numerikus matematikai algoritmusok, melyek Determinisztikus számsorozatokat állítanak elő. Ezek azonban bizonyíthatóan mindig egy meghatározott eloszlásba tartoznak (matematikailag kiszámítható, stabil hibával). A konkrét számsorozatok a kezdeti feltételektől (leggyakrabban: egyetlen számtól) függenek. Ez a szám a PRNG magja (seed). A sorozatok ciklikusak. (Nagyon hosszú ciklussal.) 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Apróbb „trükkök” PRNG-használathoz Tehát: független véletlen változókhoz független PRNG-ket! Olyan eszközök kellenek tehát, ahol több PRNG-t is létre tudok hozni. Ez egy újabb érv a specializált szimulációs csomagok/eszközök használata mellett! Nyilván, minden PRNG magját külön kontrollálnom kell… 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Egy futás nem futás… Nyilván, senki nem vesz komolyan egy olyan „tudományos eredményt”, ami egyetlen kísérleten alapul. „Egy mérés nem mérés.” Ha a boltban tegnap többet adott vissza a pénztáros, akkor sem gondolom, hogy oda kell járni pénzért. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
A szimulációs eredmények és statisztika A numerikus eredmények csak statisztikus formában értelmezhetőek / prezentálhatóak. A statisztika szótól nem kell megijedni! Alapjában véve annyit jelent, hogy a nagy tömegben rendelkezésre álló adatot valamiképpen összefoglalom. Pl. átlag, minimum, maximum. Persze, vannak bonyolultabbak is… 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Tömeges kísérletek, statisztikus eredmények A kooperáció evolúciója Watts-Strogatz hálókon: 7-féle méret. 11-féle pRew érték. Minden pRew-hez 10 féle hálópéldány. Minden hálópéldányhoz 10 féle kezdő konfiguráció. 7x11x10x10=7700 futás. Egyetlen ábra. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
A modell és az „obszerverek” különválasztása Hasonlat: A mikroszkóp alá tett szövetminta és a mikroszkóp maga. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
A számítógépes szimuláció eszközei 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Rendszerdinamika és sejtautomaták Több évtizedes múlt. Relatíve egyszerű, uniformizálható formalizmusok. Kiforrott eszközök. Sok piaci termék, több ingyenes eszköz. Néhányat a kurzus folyamán fel is villantottunk. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Ágens-alapú szimuláció A tárgyaltak közül a legfiatalabb formalizmus Sok tekintetben bonyolultabb is az előzőeknél Nincsenek (teljesen) kiforrott eszközök: A fejlesztések még folyamatban vannak Sok párhuzamos fejlesztés: nehéz jósolni. De: érdemes áttekinteni, mi történt eddig… … és mik a jelenlegi lehetőségek. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök -- Áttekintés Ingyenes kontra Fizetős. Általánosság kontra Könnyen használhatóság. Komponens-alapú kontra Saját kód. A főbb általános célú OSS eszközök: Swarm Santa Fe Institute, NM, USA NetLogo Northwestern University, IL, USA RePast University of Chicago, Argonne National Lab, IL, USA 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Swarm “Minden ABM eszközök atyja” Fejlesztve 1996-tól Szimulációs csomag (kódkönyvtárak halmaza) Objektum-orientált, diszkrét, esemény-vezérelt. A főbb ABM koncepciók és „tervezési minták” bevezetése. Kísérleti rendszer, nehezen használható. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Swarm Kezdetben a Sante Fé Intézetben fejlesztették http://www.swarm.org Kurrens verzió: Swarm 2.2.2 Objective-C és Java nyelven programozható Platformok: Unix-alapú rendszerek, illetve Windows, Machintosh GNU Public License 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Swarm Erős (bár csökkenő) felhasználói bázis Viszonylag aktív email listák (?) Swarm wikipedia a swarm.org-on Meghatározó szerepe volt a módszer/formalizmus elterjedésében 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) MAML Multi-Agent Modeling Language http://www.maml.hu/ Fejlesztés in 1998-1999 Az első dedikált (special-purpose) programozási nyelv az ABM-hez. Új, magasabb szint a Swarm (Objective-C) felett Azaz: a főbb design és koncepciók azonosak. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
MAML Könnyebben használható renszer Aspektus-orientált: a modell és a megfigyelő „szempontjainak” különválasztása Magasszintű programozási nyelv A nyelvi konstrukciók az ABM főbb komponenseinek felelnek meg (agent, schedule, etc.) Társadalomtudományi felhasználóknak szánva… A fejlhasználó-barát megfigyelők létrehozása nagyban egyszerűsödik 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) MAML Sajnos, a Swarm problémáinak egy része ide is átszivárog Pl. installációs problémák (“hard way to heaven”) Még mindig túl sok kódolást követel meg a modellezőtől 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Repast Recursive Porous Agent Simulation Toolkit http://repast.sourceforge.net/ Eredeti fejlesztési hely: University of Chicago, 2001-2005 Jelenleg: Repast Organization for Architecture and Development (ROAD) Non-profit szervezet, open source szoftver Főszponzor: Argonne National Laboratories, USA 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Repast Újratervezett és újraírt Swarm-ként indult Megtartja a fő tervezési mintákat és koncepciókat Szimulációs csomag Java-ban. Könnyen használható (programozóknak), de általános rendszer 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Repast Jelenlegi stabil verzió: Repast 3.1 Többnyelvű implementáció (használhatóság): Repast J (Java, teljes); Repast.Net (.Net); Repast Py (Python, korlátozott) Használhatóság: Platformok: Windows, Mac OS, Unix-alapú Több sablon (SimModelImpl, SimpleModel, etc.) Objektum-orientált Beépített adatgyűjtő és grafikus obszerverek Beépített környezetek, topológiák (terek, hálózatok) és megjelenítéseik Álvéletlen-generátorok 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Repast ABM tulajdonságok Teljesen konkrurrens diszkrét, esemény-vezérelt ütemező Genetikus algoritmusok, neurális hálók, stb. Rendszerdinamikai modellezés (korlátozott) Társadalmi hálózatok (létrehozás, statisztikák, megjelenítés) GIS támogatás (korlátozott) 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
General Purpose Participatory Architecture for Repast (GPPAR) Az első eszköz részvételi ABM-ekhez 2003 at AITIA International, Inc., 2003 Lehetővé teszi, hogy tetszőleges Repast modellt, részvételi szimulációvá alakítsunk Részvételi szimuláció: Ágensek és emberek 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Példák: „Hőbogarak” Repast-ban 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Examples: Populáció-dinamika (nyulak) 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Repast Simphony Új megközelítés: Fejlesztés és Futtatás esetén is 3D megjelenítések Egyelőre csak fejlesztői „alpha release” 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) A Repast sikere Növekvő (legnagyobb?) felhasználói bázis Aktív felhasználói email lista Aktív fejlesztői email lista Számos publikáció a Repastról, illetve annak használatával Legnagyobb hatása az (volt), hogy megmutatta az ABM módszer „nagykorúságát” 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Részletesebb Repast példa A Schelling-féle modell GUI és BATCH 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Netlogo Integrált modellezési környezet Dedikált programnyelv Jól használható, de kevésbé általános rendszer Fókusz: természeti és társadalmi rendszerek Oktatás-orientált Ingyenes, nem open source Fejlesztés: Eredetileg Uri Wilensky által (1999.) Center for Connected Learning, Northwestern University, IL, USA 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Netlogo Kurrens stabil verzió: 3.1.4 http://ccl.northwestern.edu/netlogo/ Platformfüggetlen: Javaban írták. Nyelv: Logo-dialektus Egyszerű struktúra Ágens-központú (teknősök) Környezet (tér) Központi absztrakció Beépített eszközök: GUI-építő, vizualizáció Kísérlet-szervező (BehaviorSpace, korlátozott) Részvételi szimuláció támogatása (HubNet, korlátozott) 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Netlogo Külön hangsúly az oktatási felhasználáson Nagy mennyiségű dokumentáció és segédanyagok Rengeteg példaprogram HubNet Az erős vizualizációs eszközök „köré” építették Nagyon könnyű 2D és 3D vizualizációkat csinálni Nem sok programozás-tudás kell A logo meg már általános iskolában is tanítható. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Netlogo BehaviorSpace Egy brute force eszköz a „batch” kísérletek elvégzésére (a modell „paraméter-terében”) Adathalmazokat generál, amiket (külső eszközzel) elemezni lehet. Módszertanilag nem új, a Repast is támogat hasonlót, de az első ABM eszköz, ami ezt integrált GUI-val támogatja. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Netlogo Behaviorspace Előny Könnyen használható varázslók Az eredmények sokféle (külső) eszközzel elemezhetőek Előre mutató kezdeményezés Hátrány Nincs eszköz az eredmények (akármilyen kezdetleges) megjelenítésére és/vagy elemzésére A megfigyelők nincsenek teljesen leválasztva a modellről. Ezért a vizualizációk nincsenek kikapcsolva a kísérletek alatt. lassú… 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Példák: Farkas-Bárány (populáció-dinamika) 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Példák: Közlekedési hálózat 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) MASS és FABLES Multi-Agent Simulation Suite Többkomponensű szimulációs eszköztár ABM-hez Fejlesztés: ELTE IKKK és AITIA International, Inc. 2004-től Első stabil (??) release: 2007. április Legéndi Richárd (ELTE IK, prog-terv mat.) Ingyenes, de nem open source termék http://www.aitia.ai/services_and_products/simulation_systems 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) MASS és FABLES Functional Agent Based Language for Simulation Dedikált programozási nyelv ABM-hez Repast 3.1-re fordul (haladók tovább-editálhatják) Integrált modellezési környezet (Eclipse-alapú) Vizualizációs csomag (Charting Package) Grafikonok, képernyők Varázslók Kísérlet-szervező (Model Exploration Module, MEME) Eredmények feldolgozása Vizualizáció Web-interfész, részvételi kiegészítéssel (PET) 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Participatory Extension (PET)* WWW Interface Simulation Recoding & Playback Participatory / Experimental Modeling Multiple Users / Participants Charting Package 12 chart types Dynamic / Static charts Interactive charts Data filtering Exports Model Exploration Module (MEME) Incremental Results Maintenance Versioning Result Filtering, Variable Selection, Aggregation & Transformation Statistics & Scripting Charting Wizard Advanced Experiment Design* Distributed Experiment Execution* Simulation Core Directly Editable Java Source Multi-Agent Core (MAC)* Repast Functional Agent-Based Language for Simulations (FABLES) Agents, Formulas and Schedules Charting and Visualization Wizard (No programming necessary!) Integrated Modeling Environment Generates Java Source (cf. Simulation Core) Optimized Java Code Generation* 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Miért? A modellezés fókusza a modellezésen és nem a programozáson kellene legyen. Nem-programozóknak szánt környezet “How much programming skills are necessary to do ABM?” (SwarmFest 2003, Notre Dame, IN) Közelebb hozni: Koncepcionális modell – publikált modell – implementált modell. Web-/részvételi interfész oktatási felhasználásokhoz Részvételi szimuláció Felhasználó által irányított ágensek Webesített szimulációk Könnyen és biztonságosan konfigurálható modellek 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Példák FABLES (IME) MEME 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) PET 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) PET 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Hőbogarak a PET-ben 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Konfigurációs interfész 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) A tér-ágens editálása 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Összefoglalás A kurzus folyamán a társadalmi rendszerek számítógépes szimulációjával foglalkoztunk. Vizsgáltuk a szimuláció Tudományfilozófiai hátterét Módszereit és formalizmusait. Módszertanát Eszközeit Lehetőségeinkhez mérten sok példával, illetve az alkalmazási lehetőségek felvillantásával. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) A jövő A jelen kurzus „folytatása”: Társadalmi szimulációk a gyakorlatban – Modell-elemzés 2007-2008-as tanév második félévétől. 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) A jövő II. Az ELTE IKKK Szimulációs Központja TDK Szakdolgozat, diplomamunka Fejlesztői-kutatói munka (ösztöndíj) Lehetőségek Eszközfejlesztés (ld. MASS, FABLES, MEME) Tesztelés Modellezés és szimuláció 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)
Társadalmi Rendszerek Szimulációja (ABM) Köszönöm! Kérdések? 2018.09.17. Társadalmi Rendszerek Szimulációja (ABM)