Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

A szimuláció számítástechnikai eszközei

Hasonló előadás


Az előadások a következő témára: "A szimuláció számítástechnikai eszközei"— Előadás másolata:

1 A szimuláció számítástechnikai eszközei
Gulyás László Tudománytörténet és Tudományfilozófia Tanszék Társadalmi Rendszerek Szimulációja (ABM)

2 Társadalmi Rendszerek Szimulációja (ABM)
Vizsgaidőpontok!! 1 órás írásbeli vizsga. 2+1 (UV) alkalom. Május óra (itt) Június óra (itt) És: Június óra (itt) Társadalmi Rendszerek Szimulációja (ABM)

3 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. Társadalmi Rendszerek Szimulációja (ABM)

4 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 as tanév második félévétől. Társadalmi Rendszerek Szimulációja (ABM)

5 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ó Társadalmi Rendszerek Szimulációja (ABM)

6 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 Társadalmi Rendszerek Szimulációja (ABM)

7 Társadalmi Rendszerek Szimulációja (ABM)
Ismétlés Társadalmi Rendszerek Szimulációja (ABM)

8 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) Társadalmi Rendszerek Szimulációja (ABM)

9 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. Társadalmi Rendszerek Szimulációja (ABM)

10 Társadalmi Rendszerek Szimulációja (ABM)
Eloszlások A véletlen változókhoz eloszlások tartoznak. Normális (Gaussian) Egyenletes (Uniform) Társadalmi Rendszerek Szimulációja (ABM)

11 „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. Társadalmi Rendszerek Szimulációja (ABM)

12 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. Társadalmi Rendszerek Szimulációja (ABM)

13 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.) Társadalmi Rendszerek Szimulációja (ABM)

14 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… Társadalmi Rendszerek Szimulációja (ABM)

15 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. Társadalmi Rendszerek Szimulációja (ABM)

16 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…  Társadalmi Rendszerek Szimulációja (ABM)

17 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. Társadalmi Rendszerek Szimulációja (ABM)

18 A modell és az „obszerverek” különválasztása
Hasonlat: A mikroszkóp alá tett szövetminta és a mikroszkóp maga. Társadalmi Rendszerek Szimulációja (ABM)

19 A számítógépes szimuláció eszközei
Társadalmi Rendszerek Szimulációja (ABM)

20 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. Társadalmi Rendszerek Szimulációja (ABM)

21 Á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. Társadalmi Rendszerek Szimulációja (ABM)

22 Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic Társadalmi Rendszerek Szimulációja (ABM)

23 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 Társadalmi Rendszerek Szimulációja (ABM)

24 Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic Társadalmi Rendszerek Szimulációja (ABM)

25 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ó. Társadalmi Rendszerek Szimulációja (ABM)

26 Társadalmi Rendszerek Szimulációja (ABM)
Swarm Kezdetben a Sante Fé Intézetben fejlesztették Kurrens verzió: Swarm 2.2.2 Objective-C és Java nyelven programozható Platformok: Unix-alapú rendszerek, illetve Windows, Machintosh GNU Public License Társadalmi Rendszerek Szimulációja (ABM)

27 Társadalmi Rendszerek Szimulációja (ABM)
Swarm Erős (bár csökkenő) felhasználói bázis Viszonylag aktív listák (?) Swarm wikipedia a swarm.org-on Meghatározó szerepe volt a módszer/formalizmus elterjedésében Társadalmi Rendszerek Szimulációja (ABM)

28 Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic Társadalmi Rendszerek Szimulációja (ABM)

29 Társadalmi Rendszerek Szimulációja (ABM)
MAML Multi-Agent Modeling Language Fejlesztés in 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. Társadalmi Rendszerek Szimulációja (ABM)

30 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 Társadalmi Rendszerek Szimulációja (ABM)

31 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 Társadalmi Rendszerek Szimulációja (ABM)

32 Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic Társadalmi Rendszerek Szimulációja (ABM)

33 Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic Társadalmi Rendszerek Szimulációja (ABM)

34 Társadalmi Rendszerek Szimulációja (ABM)
Repast Recursive Porous Agent Simulation Toolkit Eredeti fejlesztési hely: University of Chicago, Jelenleg: Repast Organization for Architecture and Development (ROAD) Non-profit szervezet, open source szoftver Főszponzor: Argonne National Laboratories, USA Társadalmi Rendszerek Szimulációja (ABM)

35 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 Társadalmi Rendszerek Szimulációja (ABM)

36 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 Társadalmi Rendszerek Szimulációja (ABM)

37 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) Társadalmi Rendszerek Szimulációja (ABM)

38 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 Társadalmi Rendszerek Szimulációja (ABM)

39 Példák: „Hőbogarak” Repast-ban
Társadalmi Rendszerek Szimulációja (ABM)

40 Examples: Populáció-dinamika (nyulak)
Társadalmi Rendszerek Szimulációja (ABM)

41 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” Társadalmi Rendszerek Szimulációja (ABM)

42 Társadalmi Rendszerek Szimulációja (ABM)
A Repast sikere Növekvő (legnagyobb?) felhasználói bázis Aktív felhasználói lista Aktív fejlesztői 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” Társadalmi Rendszerek Szimulációja (ABM)

43 Részletesebb Repast példa
A Schelling-féle modell GUI és BATCH Társadalmi Rendszerek Szimulációja (ABM)

44 Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic Társadalmi Rendszerek Szimulációja (ABM)

45 Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic Társadalmi Rendszerek Szimulációja (ABM)

46 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 Társadalmi Rendszerek Szimulációja (ABM)

47 Társadalmi Rendszerek Szimulációja (ABM)
Netlogo Kurrens stabil verzió: 3.1.4 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) Társadalmi Rendszerek Szimulációja (ABM)

48 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ó. Társadalmi Rendszerek Szimulációja (ABM)

49 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. Társadalmi Rendszerek Szimulációja (ABM)

50 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ú… Társadalmi Rendszerek Szimulációja (ABM)

51 Példák: Farkas-Bárány (populáció-dinamika)
Társadalmi Rendszerek Szimulációja (ABM)

52 Példák: Közlekedési hálózat
Társadalmi Rendszerek Szimulációja (ABM)

53 Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic Társadalmi Rendszerek Szimulációja (ABM)

54 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: április Legéndi Richárd (ELTE IK, prog-terv mat.) Ingyenes, de nem open source termék Társadalmi Rendszerek Szimulációja (ABM)

55 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) Társadalmi Rendszerek Szimulációja (ABM)

56 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* Társadalmi Rendszerek Szimulációja (ABM)

57 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 Társadalmi Rendszerek Szimulációja (ABM)

58 Társadalmi Rendszerek Szimulációja (ABM)
Példák FABLES (IME) MEME Társadalmi Rendszerek Szimulációja (ABM)

59 Társadalmi Rendszerek Szimulációja (ABM)
PET Társadalmi Rendszerek Szimulációja (ABM)

60 Társadalmi Rendszerek Szimulációja (ABM)
PET Társadalmi Rendszerek Szimulációja (ABM)

61 Társadalmi Rendszerek Szimulációja (ABM)
Hőbogarak a PET-ben Társadalmi Rendszerek Szimulációja (ABM)

62 Konfigurációs interfész
Társadalmi Rendszerek Szimulációja (ABM)

63 Társadalmi Rendszerek Szimulációja (ABM)
A tér-ágens editálása Társadalmi Rendszerek Szimulációja (ABM)

64 Társadalmi Rendszerek Szimulációja (ABM)
ABM Eszközök Swarm MAML AgentSheets Repast MASON Netlogo MASS and FABLES AnyLogic Társadalmi Rendszerek Szimulációja (ABM)

65 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. Társadalmi Rendszerek Szimulációja (ABM)

66 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 as tanév második félévétől. Társadalmi Rendszerek Szimulációja (ABM)

67 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ó Társadalmi Rendszerek Szimulációja (ABM)

68 Társadalmi Rendszerek Szimulációja (ABM)
Köszönöm! Kérdések? Társadalmi Rendszerek Szimulációja (ABM)


Letölteni ppt "A szimuláció számítástechnikai eszközei"

Hasonló előadás


Google Hirdetések