MODELOVÁNÍ A SIMULACE

Podobné dokumenty
Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Komplexní systémy: úvod

NÁHODNÁ ČÍSLA. F(x) = 1 pro x 1. Náhodná čísla lze generovat některým z následujících generátorů náhodných čísel:

U Úvod do modelování a simulace systémů

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně

Modelování a simulace Lukáš Otte

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Pravděpodobnost, náhoda, kostky

7. Rozdělení pravděpodobnosti ve statistice

Simulační modely. Kdy použít simulaci?

Úvod do zpracování signálů

Statistické metody - nástroj poznání a rozhodování anebo zdroj omylů a lží

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Pravděpodobnost, náhoda, kostky

UNIVERZITA OBRANY Fakulta ekonomiky a managementu. Aplikace STAT1. Výsledek řešení projektu PRO HORR2011 a PRO GRAM

OSA. maximalizace minimalizace 1/22

Určujeme neznámé hodnoty parametru základního souboru. Pomocí výběrové charakteristiky vypočtené z náhodného výběru.

Metody analýzy modelů. Radek Pelánek

Exponenciální modely hromadné obsluhy

GENEROVÁNÍ NÁHODNÝCH ČÍSEL PSEUDONÁHODNÁ ČÍSLA

NÁHODNÉ VELIČINY JAK SE NÁHODNÁ ČÍSLA PŘEVEDOU NA HODNOTY NÁHODNÝCH VELIČIN?

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

E(X) = np D(X) = np(1 p) 1 2p np(1 p) (n + 1)p 1 ˆx (n + 1)p. A 3 (X) =

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

1. Číselné posloupnosti - Definice posloupnosti, základní vlastnosti, operace s posloupnostmi, limita posloupnosti, vlastnosti limit posloupností,

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti.

Základy biostatistiky II. Veřejné zdravotnictví 3.LF UK - II

Národní informační středisko pro podporu kvality

SIGNÁLY A LINEÁRNÍ SYSTÉMY

KGG/STG Statistika pro geografy

Vybraná rozdělení náhodné veličiny

Detekce interakčních sil v proudu vozidel

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Pravděpodobnost a statistika, Biostatistika pro kombinované studium. Tutoriál č. 5: Bodové a intervalové odhady, testování hypotéz.

GIS Geografické informační systémy

Náhodné (statistické) chyby přímých měření

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

Otázky ke státní závěrečné zkoušce

MÍRY ZÁVISLOSTI (KORELACE A REGRESE)

Náhodné chyby přímých měření

časovém horizontu na rozdíl od experimentu lépe odhalit chybné poznání reality.

P13: Statistické postupy vyhodnocování únavových zkoušek, aplikace normálního, Weibullova rozdělení, apod.

Modelování procesů (2) Procesní řízení 1

Testování statistických hypotéz. Ing. Michal Dorda, Ph.D.

KGG/STG Statistika pro geografy

GIS Geografické informační systémy

Střední hodnota a rozptyl náhodné. kvantilu. Ing. Michael Rost, Ph.D.

POČÍTAČOVÁ SIMULACE PODNIKOVÝCH PROCESŮ. Ing. V. Glombíková, PhD.

Diferenciální rovnice a jejich aplikace. (Brkos 2011) Diferenciální rovnice a jejich aplikace 1 / 36

Počítačová simulace logistických procesů II 10. přednáška Simulační experimentování

STATISTICKÝ SOUBOR. je množina sledovaných objektů - statistických jednotek, které mají z hlediska statistického zkoumání společné vlastnosti

Pojem a úkoly statistiky

Formální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy

Popisná statistika kvantitativní veličiny

Chyby měření 210DPSM

Pravděpodobnost a aplikovaná statistika

Návrh a vyhodnocení experimentu

Úvodem Dříve les než stromy 3 Operace s maticemi

CW01 - Teorie měření a regulace

Pravděpodobnost a statistika

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

Simulace. Simulace dat. Parametry

Inferenční statistika - úvod. z-skóry normální rozdělení pravděpodobnost rozdělení výběrových průměrů

Tématické okruhy pro státní závěrečné zkoušky. bakalářské studium. studijní obor "Management jakosti"

Tématické okruhy pro státní závěrečné zkoušky. bakalářské studium. studijní obor "Management jakosti"

Simulace systému hromadné obsluhy Nejčastější chyby v semestrálních pracích

Učební plán 4. letého studia předmětu matematiky. Učební plán 6. letého studia předmětu matematiky

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Zákony hromadění chyb.

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

Václav Jirchář, ZTGB

Stochastické modely Informace k závěrečné zkoušce

1 Analytické metody durace a konvexita aktiva (dluhopisu) $)*

4EK201 Matematické modelování. 8. Modely hromadné obsluhy

Lékařská biofyzika, výpočetní technika I. Biostatistika Josef Tvrdík (doc. Ing. CSc.)

Pravděpodobnost a matematická statistika Doc. RNDr. Gejza Dohnal, CSc. dohnal@nipax.cz

Vícerozměrné statistické metody

Odhad parametrů N(µ, σ 2 )

Teorie systémů TES 1. Úvod

VYUŽITÍ SIMULACE PŘI MODELOVÁNÍ PROVOZU NA SVÁŽNÉM PAHRBKU SEŘAĎOVACÍ STANICE

Dolování asociačních pravidel

Předmluva 11 Typografická konvence použitá v knize Úvod do Excelu

Pravděpodobnost a matematická statistika Doc. RNDr. Gejza Dohnal, CSc.

Architektury Informačních systémů. Jaroslav Žáček

1. Přednáška. Ing. Miroslav Šulai, MBA

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

Kombinatorická minimalizace

Markovské metody pro modelování pravděpodobnosti

Tématické okruhy pro státní závěrečné zkoušky. bakalářské studium. studijní obor "Management jakosti"

Normální (Gaussovo) rozdělení

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA METALURGIE A MATERIÁLOVÉHO INŽENÝRSTVÍ KATEDRA KONTROLY A ŘÍZENÍ JAKOSTI

Praktická statistika. Petr Ponížil Eva Kutálková

Transkript:

11 MODELOVÁNÍ A SIMULACE při návrhu slidů byly využity materiály Michala Dordy (http://homel.vsb.cz/~dor028/aplikace_pc.htm) Radka Pelánka (http://www.fi.muni.cz/~xpelanek/iv109/), a Peera-Olafa Sieberse (http://www.cs.nott.ac.uk/~pos/g54sim/index2011.html)

Úvod

Systém množina částí organizovaná za nějakým účelem a s určitými vlastnostmi nutno stanovit hranice množina prvků (příznaků, Q) množina vazeb (relací, R) vazby vnitřní mezi jednotlivými prvky systému vnější mezi prvky systému a jeho okolím okolí systému prostředí, do kterého je systém zasazen a se kterým komunikuje pomocí vstupních a výstupních vazeb

14 Typy systémů přírodní systémy (počasí, vesmír) umělé fyzické systémy (dům, auto, továrna) umělé abstraktní systémy (matematika, literatura) systémy lidských aktivit (rodina, město, politické systémy) produkční systémy nastavení zdrojů pro produkci zboží a výrobků a služeb sociální systémy systémy jedinců a skupin se vzájemnými vztahy a vzory chování ekonomické systémy

15 Struktura systému vnitřní uspořádání systému vyjádřené vzájemnými vazbami množina prvků systému Q = {Q 1,, Q m } a množina vazeb R = {R 1,, R n } mezi jednotlivými prvky systému strukturu systému potom lze symbolicky zapsat jako přiřazení: S = {Q i, Q j, R k }, Q i je vstupní prvek a Q j výstupní prvek vazby R k, kde a, j 1;2 m k 1;2 ;...; n i ;...;

16 x Q 1 R 1 Q 2 u R 2 R 3 Q 3 y

17 vstupní proměnné zpravidla u 1,, u r výstupní proměnné y 1,,y l stavové proměnné popisují vnitřní parametry x 1,, x n souhrnně vektory u, y, x různý počet souřadnic

18 stav systému okamžité hodnoty stavových proměnných x(t), případně stav jednotlivých prvků v daném okamžiku podmínka separability systém je separabilní, pokud svými výstupy neovlivňuje přes okolí své vstupy vstupní a výstupní proměnné systému zahrnují proměnné, pomocí kterých systém komunikuje přes vstupní a výstupní vazby s okolím systému

19 Systémy statické výstup je jednoznačně definován vstupem systém je popsán pouze statickou charakteristikou závislost výstupu na hodnotách vstupu: y = f(u) výstup systému nezávisí na čase t dynamické výstup není jednoznačně určen pouze vstupy, ale závisí také na čase vektorová stavová rovnice (změna stavového vektoru v čase): Δx=f(x,u) vektorová výstupní rovnice (závislost výstupů na vstupech a stavu): y=g(x,u), x(0)=x 0

20 podle definičního oboru proměnných diskrétní hodnoty proměnných se mění nespojitě v určitých časových okamžicích (skokově) spojité proměnné mění svoje hodnoty spojitě ve sledovaném čase příklady?

21 podle přítomnosti náhodných proměnných deterministický systém hodnoty všech proměnných jsou v každém okamžiku přesně definovány při stejných podmínkách jsou výsledky simulace vždy stejné pravidlové systémy stochastický systém proměnné (některé nebo všechny) mají charakter náhodné proměnné podmíněné pravděpodobnosti

22 Složitost systému daná náročností popisu vzorů či zákonitostí v systému zejména pro ně vhodná simulace

23 Definice KS... A system that can be analyzed into many components having relatively many relations among them, so that the behavior of each component depends on the behavior of others. (Herbert Simon) A system that involves numerous interacting agents whose aggregate behaviors are to be understood. Such aggregate activity is nonlinear, hence it cannot simply be derived from summation of individual components behavior. (Jerome Singer) A complex system is a highly structured system, which shows structure with variations. (Goldenfeld and Kadano) A complex system is one that by design or function or both is dicult to understand and verify. (Weng, Bhalla and Iyengar)

24 Příklady KS ekosystémy trhy podnebí organizace mraveniště buňka město imunitní systém nekomplexní systémy??? stroje, termostat, páka,

25 Charakteristika KS dynamické měnící se v čase strukturou chováním rovnovážné stavy těsně svázané vnitřní vazby a ovlivňování řízené zpětnou vazbou systém ovlivňuje sám sebe nelineární často obtížný analytický popis sebeorganizující se celek je víc než souhrn prvků adaptabilní např. učení

26 SYSTÉMOVÉ MYŠLENÍ

27 Myšlení lidé dokáží rychle najít jednoduchou příčinnou souvislost zřetězení událostí výrazně komplikuje odhalení prvotní příčiny např. prodeje jsou nízké protože jsou zaměstnanci málo motivovaní, protože intuitivní myšlení systémové x redukcionistické induktivní x deduktivní centralizované x decentralizované

28 Intuitivní myšlení na základě reflexů a tradičních hluboce zakořeněných vzorů daných zkušenostmi a výchovou tacit knowledge implicitní znalosti lineární uvažování trojčlenka, extrapolace trendů krátkodobý výhled nevhodné pro komplexní systémy dlouhodobé zlepšení vyžaduje krátkodobé zhoršení např. ekonomická krize

29 zjednodušený pohled na kauzalitu co bylo čím způsobeno? hledání nejjednoduššího vysvětlení např. zapalovače a rakovina ovlivnění paradigmatem souhrn domněnek, předpokladů, představ komplexní systémy neintuitivní např. více silnic vede k zácpám, bezpečná auta vedou k nebezpečné jízdě,.? x v komplexních systémech je nutné přesně formulovat předpoklady

30 Deduktivní a induktivní myšlení deduktivní z předpokladů logické závěry jednoduchý formální popis neodpovídá lidskému myšlení induktivní odvozování obecného z konkrétních příkladů, odhady vývoje blízké lidskému přístupu obtížně popsatelné

31 Centralizované a decentralizované myšlení centralizované jedna příčina, jeden zdroj význam jevů a objektů (uzlů) v popisu negativní zpětná vazba decentralizované vhodné pro komplexní systémy pozitivní zpětná vazba význam vztahů

32 Systémové myšlení odhlédněme od izolovaných událostí a jejich příčin pohlížejme na organizaci jako na systém s vzájemně interagujícími částmi vnitřní struktura systému bývá při řešení problému důležitější než externí události, které ho bezprostředně vyvolají systémový a globální pohled na předmět zkoumání

33

34 Redukcionismus a holismus Redukcionismus (systém lze poznat na základě studia jeho částí) Holismus (systém je víc než součet částí) Důraz na studium částí Důraz na vazby a interakci v celku Lineární uvažování Dedukce Příčina - následek Analytické řešení Nelineární uvažování Indukce Zpětné vazby Experimenty a simulace reálný svět je šedý

55 SIMULACE

56 Způsoby zkoumání systému Systém Experimenty se systémem Experimenty s modelem Fyzikální model Matematický model Simulace Analytické řešení

57 Simulace více definic Simulace je proces tvorby modelu reálného systému a provádění experimentů s tímto modelem za účelem dosažení lepšího pochopení chování studovaného systému či za účelem posouzení různých variant činnosti systému (Shannon). dynamická stránka modelu Simulace je technika, která nahrazuje zkoumaný dynamický systém jeho modelem s cílem získat informace o systému pomocí experimentu s modelem (Dahl). obě zahrnují proces tvorby modelu

58 Simulace snaha predikovat chování systému za určitých podmínek experimentální přístup k poznávání modelovaného systému přes modelující systém (model) what-if analýza důraz na dynamiku umožňují reprezentovat (modelem) a zkoumat (experimentem) variabilitu, propojenost a komplexitu systémů

59 Vztahy systémů a operací s nimi Reálný systém Abstrakce, modelování Simulační model Interpretace Simulační běh Výsledky Vyhodnocování Experimenty

60 Proč simulovat? systémy se mohou měnit predikovatelné změny plánované, známé nepredikovatelné změny poruchy, příchody zákazníků systémy jsou propojené jeden ovlivňuje druhý systémy jsou obvykle komplexní kombinatorická komplexita počty komponentů a počty jejich vazeb dynamická komplexita u úzce propojených systémů, systémy se zpětnou vazbou, dopady akcí na jednotlivé části systému

61 Výhody simulace náklady čas reálný a simulační řízení experimentů simulace abstraktních systémů simulace umožňuje predikovat výkonnost systémů porovnávat různé návrhy systému zjišťovat vliv změn v konfiguraci a provozování systémů

62 Nevýhody simulace náklady nutno vytvořit model časově náročná počty a průběhy experimentů dostupnost dat expertní přístup při návrhu více umění než věda zjednodušení reality abstrakce, předpoklady

63 rozdíl od jiných modelovacích technik variabilita možnost volby způsobu modelování omezení a nároky na popis systému nutné předpoklady jiných technik - diferenciální rovnice, distribuce pravděpodobností transparentnost názornost oproti striktně matematickým modelům, srozumitelnost pro širší publikum pochopení a vytváření mentálních modelů znalostí vizualizace, komunikace, interakce - nad systémy

64 Postup tvorby simulace stanovení účelu a cíle tvorby modelu a experimentů, které se budou realizovat návrh simulačního modelu podle charakteru systému implementace modelu ve softwarovém prostředí příprava experimentálních údajů pro model s cílem prověřit jeho správnost při implementaci verifikace a validace modelu, stanovení odchylek mezi modelem a modelovaným systémem příprava, realizace a analýza jednotlivých experimentů s ohledem na vytčené cíle

65 http://homel.vsb.cz/~dor028/aplikace_2.pdf

66 Čas v simulačním modelu reálný čas čas skutečného děje v reálném systému simulární čas vnitřní čas simulačního modelu může běžet mnohonásobně rychleji (nebo i pomaleji) než realný čas fiktivní čas, který nemusí běžet plynule a rovnoměrně strojový čas spotřebovaný na výpočet modelu a experimentů podle složitosti modelu, nesouvisí se simulárním časem

67 Příklady simulací předpovědi počasí hry robotika další?

78 DISKRÉTNÍ SIMULAČNÍ MODELY při návrhu slidů byly využity materiály Michala Dordy (http://homel.vsb.cz/~dor028/aplikace_pc.htm)

79 Hlavní problémy zachycení statických vlastností (struktury modelu) zachycení dynamických vlastností modelu problematika generování náhodných proměnných vyskytujících se v modelu realizace sběru potřebných údajů (výstupů) z chodu simulačního modelu návrh a vyhodnocení experimentů s modelem zpracování a výstup simulačních výsledků kontrolní a monitorovací funkce

80 Úvod příklady? kdy diskrétní simulace? mění-li se stavové proměnné diskretně (skokově) v určitých okamžicích simulárního času v okamžicích výskytů událostí - přechodové okamžiky stav systému se mezi dvěma přechodovými okamžiky nemění otázka stanovení časového kroku

81 Pevný časový krok Δt = konst. byl by nejjednodušší pro organizaci výpočtu jak velký časový krok Δt stanovit? zachycení všech okamžiků změn v systému s definovanou časovou přesností příliš malý > zbytečně vyšší objem výpočtů příliš velký > více událostí v jednom časovém okamžiku shlukování nebo i nezaregistrování některých událostí proto proměnný krok

82 Proměnný časový krok Δt konst. okamžik (přechodový okamžik) hodnota simulárního času, v níž dochází ke změně alespoň jedné stavové proměnné simulačního modelu (tedy ke změně stavu modelu) interval časový úsek mezi dvěma po sobě jdoucími okamžiky časové rozpětí několik na sebe navazujících intervalů

83 událost změna stavu modelu v okamžiku, ve kterém začíná aktivita má obvykle nulovou časovou délku např. příchod do fronty, zahájení zpracování, odchod aktivita stav modelu mezi dvěma událostmi popisujícími po sobě jdoucí změny stavu modelu např. čekání, obsluha

84 proces posloupnost stavů modelu v časovém rozpětí např. vše od příchodu do odchodu při proměnném časovém kroku rozeznáváme algoritmy orientované na události algoritmy orientované na aktivity algoritmy orientované na procesy

85 Algoritmy orientované na události zaveďme množinu U jako množinu všech tříd U i událostí, jejichž výskyt má za následek změnu stavu modelu, U = {U 1 ; U 2 ;...; U n } výskyt události z jedné třídy má za následek stejný charakter změny stavu modelu (lze jej popsat stejným úsekem programu) např. všechny příchody do fronty lze popsat stejnou částí algoritmu TU i = okamžik příštího výskytu události z třídy U i čas je vždy chápán jako simulární čas

86 M = obecná hodnota času, která je větší, než hodnota času odpovídajícího výskytu libovolné události pokud neumíme určit okamžik příštího výskytu události z třídy U i, pak TU i = M (= odložení na neurčito) důsledky výskytu libovolné události z třídy U i můžeme popsat algoritmem A i, kde i = 1, 2,, n

87 Algoritmy orientované na události S a) dosazení počátečních podmínek (čas= 0) b) stanovení hodnot TU 1,..., TU n vytvoření kalendáře událostí, TU k může mít hodnotu M c) TU k = min{tu 1,..., TU n }, může být i více, pak nutný výběr (priorita) d) čas = TU k e) A k (vč. aktualizace kalendáře událostí) ne konec? ano zpracování a výstup výsledků K

89 Příklad Systém hromadné obsluhy s řádným frontovým režimem a nekonečnou délkou fronty. Doba mezi příchody po sobě jdoucích požadavků náhodná proměnná X Doba obsluhy požadavku náhodná proměnná Y. Nakreslete vývojový diagram zachycující modelující algoritmus tohoto systému orientovaný na události.

90 vnitřní (stavové) proměnné modelu: proměnná F - aktuální počet požadavků ve frontě proměnná S - stav obsluhy (0 linka nepracuje, 1 linka provádí obsluhu požadavku) třídy událostí U 1 - příchod požadavku do systému U 2 - ukončení obsluhy požadavku U 3 - zahájení obsluhy požadavku pouze pro F>=1 a S=0 > podmíněno stavem systému, neuvažuje se

91 pravidla linka může současně obsluhovat jeden požadavek obsluha požadavku aut. začíná pro (F > 0) && (S = 0) počáteční podmínky systém je v okamžiku čas = 0 prázdný F = 0 a S =0 první požadavek v okamžiku t 1 > okamžik prvního výskytu události z třídy událostí U 1 bude TU 1 = t 1 v čas = 0 žádná obsluha neprobíhá > nelze naplánovat první okamžik výskytu události z třídy U 2, proto TU 2 = M

92 S čas = 0, F = 0, S = 0 TU 1 = t1, TU 2 = M TU k = min{tu 1, TU 2 } ano čas = TU k k = 1? ne F = F + 1 Generuj x S = 0 TU 2 =M ano F = 0? ne F = F - 1 TU 1 = čas + x Generuj y S = 0? ne TU 2 = čas + y ano S = 1, F = F - 1 konec? ne Generuj y ano výstup výsledků TU 2 = čas + y K

93 Testování vygenerovány náhodné proměnné X a Y první požadavek v t 1 = 2 časová osa? x 2 3 6 8 2 4 y 6 2 3 3 10 2 Čas TU 1 TU 2 F S 0 2 M 0 0 2 4 8 0 1 4 7 8 1 1 7 13 8 2 1 8 13 10 1 1 10 13 13 0 1 13 21 13 1 1 13 21 16 0 1 16 21 M 0 0 21 23 31 0 1 23 27 31 1 1 27 M 31 0 1 31 M M 0 0

94 Algoritmy orientované na aktivity pro zachycení dynamických vlastností modelovaného systému se využívají aktivity nutno definovat soubor aktivit podmínky, které musí být splněny, aby mohla daná aktivita nastat změny, ke kterým dochází působením aktivit každá aktivita začíná a končí událostí výskyty událostí jsou zadány podmínkami, které musí být splněny pak mohou být realizovány změny stavu modelu

95 S dosazení počátečních podmínek (čas= 0) ne Podmínky 1? ano změny stavu modelu aktivita 1 ne Podmínky K? ano změny stavu modelu aktivita K posun času modelu ne konec? K ano zpracování a výstup výsledků

96 při každé změně simulárního času nutno testovat podmínky pro všechny aktivity z hlediska rychlosti výpočtu zpravidla méně efektivní přístup než orientovaný na události tento přístup vhodnější, pokud výskyt událostí často vázán na splnění určitých podmínek než na dosažení určité hodnoty času

97 Příklad nakresleme vývojový diagram zachycující modelující algoritmus orientovaný na aktivity systému hromadné obsluhy z předchozího příkladu

98 stavové proměnné - F a S, stejný význam proměnné TU 1 a TU 2 - pořadí významné za jak dlouho dojde k dalšímu příchodu, resp. odchodu požadavku pokud některá z nich záporná > doba, jež uplynula od posledního výskytu příslušné aktivity okamžik příští změny stavu modelu = minimum z kladných hodnot TU 1 a TU 2 vybraná hodnota se přičte k hodnotě aktuálního času a současně se odečte od všech časových proměnných více aktivit současně > stanovení pořadí

99 S čas = 0, F = 0, S = 0 TU 1 = 2, TU 2 = -1 TU k = min {TU 1, TU 2 } F = F + 1 ano TU 1 = 0? Generuj x TU 1 = x ne TU 2 = 0? ano S = 0 ne F = F 1, S = 1 ano F > 0 && S = 0? Generuj y ne konec? ano ne Δt = min {TU 1, TU 2 }, TU 1 > 0, TU 2 > 0 čas = čas + Δt TU 1 = TU 1 - Δt, TU 2 = TU 2 - Δt TU 2 = y výstup výsledků K

10 0 Algoritmy orientované na procesy kombinace předchozích přístupů

10 1 SIMULAČNÍ TECHNIKY při návrhu slidů byly využity materiály Peera-Olafa Sieberse (http://www.cs.nott.ac.uk/~pos/g54sim/index2011.html)

10 2 Úroveň abstrakce v simulaci strategická vysoká míra abstrakce, málo detailů, makropohled agregace dat i objektů, zpětná vazba taktická vyvážení míry abstrakce a množství detailů operační minimální abstrakce, hodně detailů, mikropohled jednotlivé objekty, přesná a detailní data

10 3 Strategická dopravní makro modelování ekonomika zdravotnictví dynamika populací obchod ekosystémy finanční analýzy SCM dynamika pohybu osob Taktická obranné plánování zdravotnictví Operační hromadná obsluha dopravní mikro modelování skladové operace

10 4 Přístupy k modelování (paradigmata) modelování systémové dynamiky (SDM) a její simulace (SDS) diagramy toků a zásob deterministická a spojitá simulace modelování diskrétních událostí (DEM) a jejich simulace (DES) diagramy toků (zpracování) stochastická diskrétní simulace (tokově orientovaný přístup)

10 5 agentové modelování (ABM) a simulace (ABS) stavové diagramy stochastická diskrétní simulace (objektový přístup) smíšené (hybridní) modelování (MMM) a simulace (MMS) kombinace předchozího např. na různých hierarchických úrovních nebo u různých modelovaných objektů

10 6 Ukázky DEM SDM ABM

10 7 Strategická SD Taktická AB DE Operační

10 8 SYSTÉMOVÁ DYNAMIKA při návrhu slidů byly využity materiály Craiga W. Kirkwooda (http://www.public.asu.edu/~kirkwood/sysdyn/sdintro/sdintro.htm) a Peera-Olafa Sieberse (http://www.cs.nott.ac.uk/~pos/g54sim/index2011.html)

10 9 Systémová dynamika metodika a technika pro ohraničení, pochopení a diskutování komplexních úloh a problémů (Kirkwood) základem poznání, že struktura systému je stejně důležitá pro pochopení jeho chování jako jeho jednotlivé komponenty a jejich chování zejména pro strategické modely s dlouhou platností a časovým záběrem vysoká míra agregace dat a struktury modelu business, sociální systémy, urbanistika, ekosystémy

11 0 Historie Norbert Wiener (1940s) studium regulace a řízení biologických, sociálních technických a ekonomických systémů - Kybernetika Jay Forrester (1950s) uplatnění kybernetických principů na průmyslové systémy Industrial Dynamics John Collins (1970s), John Stermann (1980s) principy Industrial Dynamics na sociální, urbanistické, obchodní sociální a ekologické systémy Systémová Dynamika

11 1 Vzory chování generalizace od jednotlivých událostí k obecnému chování, které je charakterizuje - vzor po identifikaci vzoru chování můžeme hledat systémovou strukturu a chování, které vzor vyvolávají modifikací systémové struktury můžeme problém trvale odstranit

11 2 Obvyklé vzory chování a reakce vyskytují se samostatně nebo v kombinaci G54SIM (http://www.cs.nott.ac.uk/~pos/g54sim/)

11 3 Zpětnovazební a diagramy příčinných závislostí způsob reprezentace systémových struktur prvky = elementy vazby = příčinné vlivy mezi elementy šipka vede od příčiny k následku zachycení kauzality Diagram pro výrobní sektor

11 4 zpětnovazební smyčka element přes nebo příčinné vazby nepřímo ovlivňuje sám sebe

11 5 příčinná vazba vazba od elementu A do B je pozitivní (+, s - same), pokud buď A přidává k B nebo změna A vytváří změnu B stejným směrem vazba od elementu A do B je negativní (-, o - opposite), pokud buď A odečítá od B nebo změna A vytváří změnu B opačným směrem zpětná vazba - přes více elementů, vyšší struktura vazba A je pozitivní (+, R - reinforcing), když obsahuje sudý počet negativních příčinných vazeb vazba A je negativní (-, B - balancing), když obsahuje lichý počet negativních příčinných vazeb

11 6 Příklad požadovaná hladina vody + + pozice baterie + potřeba - - + proud vody hladina vody + plnění sklenice vody negativní zpětná vazba ve smyčce je lichý počet negativních vazeb

11 7 Příklad samoregulující se biosféra sluneční svit teplota Země odpařování vody množství vody na zemi mraky déšť

11 8 Příklad samoregulující se biosféra - sluneční svit + teplota Země - + + + odpařování vody - množství vody na zemi - + + + mraky déšť

11 9 Systémové struktury a vzory chování pozitivní (zesilující) zpětná vazba exponenciální růst navzájem pozitivně se ovlivňující jevy negativní (vyrovnávající) zpětná vazba regulační vliv negativní vazby asymptotické přiblížení k požadovanému stavu (shora, zdola) negativní zpětná vazba se zpožděním cykly kombinace pozitivní a negativní vazby S-křivka (sigmoida)

12 0 Diagramy toků a zásob ukazují vztahy mezi proměnnými měnícími se v čase rozlišují různé typy proměnných sklad (zásoba) obdélník hromadění něčeho v čase - integrační (akumulační) funkce materiál, osoby zboží, peníze tok (míra, aktivita, pohyb) ventil tok něčeho ze skladu do skladu hodnota toku se může řídit i množstvím ve skladech informace čára se šipkou mezi skladem a tokem = tok je ovlivněn informací o skladu

12 1 doplňkové objekty pomocný prvek kruh objeví se pokud popis závislosti toku na skladu vyžaduje další výpočty pro komplexní modely zdroj a odpad obláček reprezentují systémy skladů a toků mimo náš systém něco k nám přichází a něco zase odchází pryč zpoždění svislé čárky dochází ke zpoždění při přenosu informace

12 2 Příklad - změny v populaci + narození + děti - - dospívání dospělí úmrtí

12 3 inicializace stavů exaktní popis toků - vzorec analogie s potrubím, zásobníky a ventily příklad Bass diffusion potenciální zákazníci = počáteční stav suma (integrál) prodejů skuteční zákazníci = suma prodejů prodeje = různé možnosti umění zvolit

12 4 Susceptible Infectious Recovered (SIR) Model definice modelu (main) a nastavení simulace (experimentu, simulation view)

12 6 Tvorba SD modelů koncepce účel modelu hranice modelu a klíčové proměnné chování klíčových proměnných diagram základních mechanizmů a vazeb (příčinných i zpětných) v modelu formulace diagram zásob a toků včetně vzorců odhad parametrů vytvoření simulačního modelu

12 7 testování testy dynamických hypotéz možného vysvětlení pozorovaného chování testování chování a citlivosti při výkyvech implementace testování reakcí na různé nastavení a zacházení interpretace výstupů a jejich transformace do přístupné formy

12 8 Zdroje Fishwick P (2011) CAP4800/5805 Computer Simulation: System Dynamics Lecture Slides (http://www.cise.ufl.edu/~fishwick/cap4800/sd1.ppt ) Kirkwood CW (1998) System Dynamics Methods: A Quick Introduction (http://www.public.asu.edu/~kirkwood/sysdyn/sdintro/sdintro.htm ) Morecroft JD (2007) Strategic Modelling and Business Dynamics. Wiley, Chichester, UK. Sterman JD (2000) Business Dynamics: Systems Thinking and Modeling for a Complex World. McGraw Hill, Boston, USA. Proceedings of the International System Dynamics Conference (1983-2011) (http://www.systemdynamics.org/society_activities.htm#pastconfs )

Cvičení 4 Systémová dynamika

SD diagram modelování chování objektů pomocí zásob, toků a informačních vazeb paleta system dynamics některé prvky grafické nebo polofunkční zásoby pole vícedimenzionální hodnoty i vzorce vlastní definice derivace v čase toky - definice toku

32 dynamická proměnná link pomocný prvek zpřehlednění diagramu konstanta, závislá hodnota zobrazení příčinné vazby vč. označení doplňovací mechanizmus plná čára příčinná vazba čárkovaná čára počáteční hodnota možnost zavedení zpoždění jen značení

33 smyčka (loop) pouze grafický prvek pro označení charakteru zpětnovazební smyčky stín (shadow) provázaná kopie skladu, toku, dynamické proměnné zpřehlednění diagramu u hierarchických diagramů icon zástupce možnost užití polí multidimenzionální data

34 Úkol Navrhněte model ekosystému fox-rabbit. Do ekosystému doplňte problém potravy pro králíky

35

Sběr a analýza dat záložka analysis data set sběr dat do datového skladu statistics základní statistika souboru data pro histogramy a 2D histogramy opět statistika přímé (odkaz na proměnnou) nebo následné (s využitím datových skladů) zobrazování v grafech lze více řad

38 Úkol Navrhněte model koloběhu vody v přírodě.

Další SD funkce pulse, pulsetrain jednotkový impulz nebo jejich řada ramp rostoucí hodnota náhrada sigmoidy step jednotkový skok s danou výškou delay, delayinformation, delaymaterial, liší se zpracováním situace při změně zpoždění delay1, delay3 exponenciální vyhlazování vstupu a zpoždění

44 smoth, smoth3 exponenciální vyhlazování vstupu forecast, trend rozsah vstupního okna (averagetime), horizont trend předpověď hodnoty s daným počátečním trendem podobné forecast ekonomické funkce npv, npve

12 9 DISKRÉTNÍ UDÁLOSTI (DES) při návrhu slidů byly využity materiály Peera-Olafa Sieberse (http://www.cs.nott.ac.uk/~pos/g54sim/index2011.html)

13 1 Příklad - kavárna návštěvníci obsluha dveře sklo

13 2 Terminologie objekty entita individuální elementy, jejichž chování či stav jsou sledovány organizovány ve třídách a množinách (osoby v autobusu, typy výrobku) odlišitelné pomocí hodnot atributů zdroj elementy, které jsou potřebné a modelované pro zpracování entit nejsou modelované individuálně (jen počitatelné - lidé na zastávce, dělníci v podniku)

13 3 chování entit entity se vyvíjejí - mění stavy událost bod v čase, kdy dochází ke změně stavu entity aktivita operace vyvolaná událostí měnící stav entity stavy entity aktivní (obdélník) entita se přímo účastní (zahrnuje i spolupráci různých tříd entit) - trvání lze definovat dopředu vhodným pravděpodobnostním rozložením pasivní, dead (kruh) bez spolupráce, entita čeká na událost - trvání nelze odhadnout v předstihu (vychází z časování událostí)

13 4 Diagram aktivit zavřít kroky návrhu identifikace tříd entit čeká příchod venk u identifikace aktivit, kterých se účastní propojení těchto aktivit objedná připr aven pije tvoří se cykly zákazník sklenice obsluha dveře čistá čeká plná myje špina vá

13 5 Příklad DE modelování úloha úředník obsluhuje v bance zákazníky, kteří přijdou nebo zavolají dává přednost přítomným zákazníkům zákazníci se řadí do front (FIFO) volající nikdy nezavěsí třídy úředník volající zákazník přítomný zákazník

13 6 diagram aktivit úředníka obsluha čeká telefonuje

13 7 diagramy aktivit zákazníků fronta fronta příchod obsluhován hovoří volání mimo mimo

13 8 propojené diagramy zákazníků a úředníka fronta fronta příchod obsluha čeká hovoří volání mimo mimo

13 9 DE simulace třífázový přístup události rozděleny do dvou skupin B (booked) události jsou vázány na bod v čase obvykle příchody (např. zákazníků k úředníkovi) nebo ukončení aktivity C (conditional) jejich výskyt závisí na podmínkách modelu a jeho běhu obvykle start aktivity (opuštění pasivního stavu)

14 0 propojené diagramy zákazníků a úředníka B1 fronta C1 C2 fronta B3 příchod obsluha čeká hovoří volání B2 B4 mimo mimo

14 1 S fáze řešení A, B, C běh simulace řízen B událostmi ve fázi B nezačíná obsluha nastavení času nalézt další nejbližší čas s nějakou událostí, posun do tohoto času, vložit všechny entity s událostí B v tomto čase do seznamu provedení všech událostí B pro entity v seznamu v daném čase + projít všechna C nějaká aktivita? - čas vypršel? - + S

14 2

Cvičení 6 Modelování pomocí diskrétních událostí

49 Process modeling library entita agent možnost definice vlastních tříd entit (podtřídy agent) síť, kterou entity procházejí metody on entry, on exit source, sink generování a likvidace entit různé mechanizmy časování generování různých objektů možnosti animace

50 enter, exit vkládání a odebírání entit z jiných diagramů (statechart) externí a interní porty hold zarážka metoda setblocked() split duplikace entit combine - vytvoření nových entit ze starých spojení dílů na lince

51 select Output pravděpodobnostní směrování zmetky deterministické směrování queue fronta různé algoritmy FIFO, LIFO, priorita, porovnání entit kapacita možnost preempted (předbíhání) a timeout výstupu různé triggery onenter, onatexit, onexit, onremove match synchronizace dvou proudů restricted area start, end omezený počet entit uvnitř omezené prostory

52 Seskupování entit batch, unbatch shromáždění entit do jedné nové balení pickup, dropoff přidání, odebrání entit cestující v autobuse assembler sestavení nové entity

53 Další delay zpoždění nastavitelné conveyor pás zachovává pořadí a mezery

54 Prostředky něco, co je v určitém místě potřeba, ale nesleduje se to individuálně resource pool zdroj prostředků přidělované entitám lidé na lince seize, release - přidělení a odejmutí prostředků včetně fronty (skladu) service přidělení prostředku a zpožděné odebrání

55 Čas clock hodiny pro simulační čas TimeMeasureStart, End měření času, který stráví entita mezi značkami možno užít pro uložení času k entitě

56 Tvorba vlastní entity vlastní modifikace proměnných i metod nová podtřída třídy Agent parametry = argumenty konstruktoru proměnné public

61 EXTERNÍ KONEKTIVITA

62 Textové soubory soubor x URL setmode, seturl otevření a uzavření se neřeší URL pouze čtení soubor read nastavení separátoru readline, readstring, readint/long/double/byte write, write-append print, println

64 Soubor pro excel soubor xlsx musí existovat! setfilename postupné budování struktury a obsahu info o listech getnumberofsheets, getsheetname, getfirst/lastrow/cellnum (index od 1) vytváření buněk - createcell plnění buněk clearcell, setcellvalue, setcellformula čtení buňek getcellformula, getcellnumericvalue, getcelldatevalue, readtablefunction, další - evaluateformulas

66 Databáze interně Excel/Access (stejná verze Office 32/64b) a MS SQL Server DB musí existovat! další přes JDBC driver (např. MySQL) nutno doinstalovat dotazy i aktualizace pomocí SQL getvalue pouze jedna hodnota getresultset dále zpracování přes while cyklus getmatrix 2D pole daného typu String[][] o=(string[][])database.getmatrix("select* from data","string"); System.out.println(o[1][1]);

68 MODELY S PROSTOROVÝM USPOŘÁDÁNÍM

69 Network based modeling space markup pro modelování založené na fyzickém uspořádání sklady doprava network definovaná síť skupina grafických elementů definující síť prvky prostory - rectangular Node, polygonal Node, Point body attractor (čekání v prostoru) cesty path sklad - palletrack

70 moveto posun do zadaného grafického prvku po čáře resourcesendto odeslání zdroje přímo (skok) palletrack sklad s uličkou

75 Rail library podobnost s Process Modeling Library train a rail car spojování a rozpojování vlaků railway track a railway point automatická správa výhybek akcelerace a brzdění použití prostředků nebo restricted area pro omezení počtu vlaků na úseku railsettings metody isempty()

77 Pedestrian library Process Modeling Library prvky targetline rectangulararea (attractor) polygonalarea (attractor) služby servicewithlines servicewitharea překážky wall, rectangularwall, circularwall pedsettings

15 3 AGENT BASED SIMULACE

15 4 AB modelování systém modelován jako množina autonomních a aktivních entit s vlastním řízením a rozhodováním (agentů) popis systému v detailu mikropohled modelování elementárních objektů decentralizace interakce agentů vytváří chování celého modelovaného systému vhodné např. pro modelování systémů s lidmi jako prvky

15 5 Historie prostředí a nástroje celulární automaty agenti multiagentní systémy zapouzdřené (uzavřené) systémy otevřené systémy DAI FIPA 2002

Agent jednotný přístup k různým oblastem UI

Agent příklady pohybliví roboti, vyhledávače na WWW, software pro finanční předpovědi, osoby pojmy pro popis pozorování - to, co agent zjistí o svém okolí akce - to, čím agent ovlivňuje okolí

Prostředí x agent propojení pomocí senzorů a akčních prvků může jít i o metody v programu pojmy pro popis znak, vlastnost - některý z aspektů prostředí (teplota) senzor - prvek vytvářející korelace s vlastnostmi prostředí

problémy v interakci prostředí > agent fyzikální omezení (přesnost měření) správná interpretace získaných dat problémy v interakci agent > prostředí správné chování agenta (reakce) odezva v reálném čase

Kvalita agenta racionální agenti jednají racionálně (korektně) racionalita (korektnost) výkonnost zjištěné podněty (z prostředí) uložené znalosti (v agentovi) akce, které umí agent vykonat nutné míry objektivní x subjektivní kvalitativní x kvantitativní během x po testech

Ideální agent pro každý myslitelný řetězec podnětů agent provádí takové akce, které maximalizují jeho schopnost dosahovat zadané cíle a to na základě informací získaných z podnětů a svých vlastních (vestavěných) znalostí. agent musí být umístěn v prostředí, ve kterém dokáže detekovat a realizovat změny agenti jsou objekty s vlastním postojem a chováním

Typy agentů dány způsobem realizace vazby mezi vstupem (sledováním okolí) a výstupem (odpovídající akcí) pravidlový reakční agent s vnitřním stavem cílově orientovaný kvalitativně orientovaný učící se volba podle konkrétní potřeby a modelovaného systému

Pravidlový reakční agent Agent Senzory Okolí Jak nyní vypadá svět Pravidla Co bych měl nyní udělat Akční členy

pravidla ve formě když podmínka tak akce bezprostřední reakce na podnět krátkozrakost

Reakční agent s vnitřním stavem Agent Vnitřní stav Senzory Okolí Jak se svět vyvíjí Jak nyní vypadá svět + Jak svět ovlivní moje akce Pravidla Co bych měl nyní udělat Akční členy

vytváří si vnitřní obraz o okolním světě i z několika pozorování za sebou - paměť aktualizuje se vychází i z dalších informací o prostředí zákonitosti světa skryté znalosti důsledky svých zásahů náročnější na paměť, ale vidí dále

Cílově orientovaný agent Agent Vnitřní stav Senzory Okolí Jak se svět vyvíjí Jak nyní vypadá svět + Jak svět ovlivní moje akce Co se stane, když udělám X Cíle Co bych měl nyní udělat Akční členy

snaha splnit zadaný cíl předvídá prohledávání plánování

Kvalitativně orientovaný agent Agent Vnitřní stav Senzory Okolí Jak nyní vypadá svět + Jak se svět vyvíjí Jak svět ovlivní moje akce Co se stane, když udělám X Jak kvalitní je výsledný stav Kvalita dosaženého řešení Co bych měl nyní udělat Akční členy

snaha po maximální užitečnosti maximální kvalita vybraného řešení nejsou explicitně vyjádřené cíle

Učící se agent Agent Standardní činnost Senzory Okolí Kritika + Učící se element Výkonový prvek Generátor úkolů Akční členy

17 3 CBR case based reasoning odvození znalostí z příkladů

Prostředí dostupná x nedostupná pokud agent může získat všechny atributy, nemusí pracovat s vnitřním stavem deterministická x nedeterministická je stav okolí přesně dán minulostí a jednáním agenta? episodní x neepisodní lze vazbu na interakci s okolím rozdělit na samostatné podcelky? agent nemusí předvídat daleko dopředu

17 5 Vlastnosti agenta diskrétní entita vlastní chování, cíle, strategie vlastní linie řízení autonomní schopný adaptace na změny v prostředí schopný modifikace chování proaktivní generování akcí na základě vlastní motivace (a vnitřního stavu)

17 6 Klady a rizika ABM klady přirozený a relativně jednoduchý popis chování elementárních prvků zachycení náhodných jevů náhodné vlivy celek je více než souhrn částí interakce mezi prvky náhodný jev může být charakterizován mimo vlastnosti částí (agentů) příklad dynamika dopravní zácpy

17 7 vhodné užití úlohu lze přirozeně popsat jako (dynamicky se měnící) interakci jednotlivých elementárních prvků např. sociální sítě při požadavku na sledování agenta ve zvoleném prostoru např. klasický 2D geoprostor pokud je nutné, aby byl model tvořen z objektů schopných adaptace pokud chceme objekty předvídající chování ostatních

17 8 Typy agentových systémů založené na příkladu specificky popsané empirické jevy např. evoluční studie prehistorických společenství typologické specifické třídy empirických jevů např. simulace jevů vztahujících se k managementu užití krajiny teoretické abstrakce čistě teoretické modely např. hejna boidů

17 9 ABM rozhodovací procesy agentů závisí na účelu modelu pravděpodobnostní užití pravděpodobnostních rozložení pravidlové modelování procesu tvorby rozhodnutí AB model je komplexní systém tvořený množinou agentů naprogramovaných na určitá pravidla chování

18 0 AB simulace definice dříve proces návrhu AB modelu modelovaného systému a provádění experimentů s ním za účelem pochopení chování modelovaného systému a návrhu vhodných metod a postupů jeho užití a nastavení (Shannon, 1975) pojem ABS používán v mnoha oborech různý obsah pojmu agent a multiagentní systém lze tak označit téměř cokoliv, záleží na přístupu

18 1 ABS přístupy multiagentní rozhodovací systémy obvykle vložení (zabudovaní) agenti nebo jejich simulace důraz na rozhodovací procesy multiagentní simulační systémy použity pro simulaci nějakého jevu či oblasti z reálného světa a jevů v něm např. The Sims interaktivní organizační ABS

18 2 ABS - příklady biologie skupinové chování - http://ccl.northwestern.edu/netlogo/models/flocking sociologie párty - http://ccl.northwestern.edu/netlogo/models/party dopravní systém - http://ccl.northwestern.edu/netlogo/models/trafficbasic městská dynamika - http://ccl.northwestern.edu/netlogo/models/urbansuite- EconomicDisparity

18 3 sociální vědy dynamika sociálních sítí, dynamika bojů, vzestup a pád společenství, skup. učení, epidemie, nepokoje ekonomika burza, samoorganizující se trhy (aukce), obchodní sítě, chování zákazníků, volné komoditní trhy ekologie oběť x predátor, krajinný management, skupinové chování ptáků a ryb, růst deštného pralesa politika a politologie soupeření stran, zdroje a vzory politického násilí, sdílení moci

18 4 Tvorba ABS modelu identifikace aktivních entit agentů definice jejich stavů a chování (stavové diagramy) vložení do prostředí vytvoření vazeb mezi nimi testování modelu validace modelu sledováno systémové chování jako celku validace na mikroúrovni makropohled v DES/ABS modelech

18 5 Příklad bankovní model v ABS flexibilní chování při velkém počtu volajících zapamatování předchozích zkušeností paměť agenta modelování WoM ohledně kvality služeb konkrétního úředníka

18 6 Užití ABS operační výzkum kombinace DES / ABS modelů, postup jako DES, nahrazení pasivní DES entity aktivními agenty, obvykle ve větším počtu (popis pomocí stavových diagramů, může být vzájemná interakce) reálné aplikace dříve především teoretické věci dnes doprava, finance, SCM, energetika, zdravotnictví, sociální politika v praxi často kombinace DES / ABS

18 7 ABS nástroje SW free Swarm, Repast, NetLogo, SeSAm, GreenFoot komerční AgentSheets, AnyLogic,

188 Porovnání DES Procesně zaměřené, detailní modelování celého systému Top down přístup Jedna základní linie řízení Pasivní entity, jsou ovládané systémem, inteligence modelované systémem Základním prvkem fronta ABS Vychází z individuí, modeluje agenty a jejich interakce Bottom up přístup Každý agent má vlastní řízení Aktivní prvky, proaktivní, vlastní inteligence Nepracuje s frontami Průchod entit systémem, makromodel Makrochování není modelováno vzniká z mikrochování agentů Vstupní rozložení a distribuce pravděpodobnosti často vycházejí z reálných měření Vstupní údaje často založeny na teoriích a subjektivních datech a názorech

18 9 Zdroje Bonabeau (2002). Agent-based modeling: Methods and techniques for simulating human systems. In: Proceedings of the National Academy of Science of the USA. 99:7280-7287. Macal and North (2007). Agent-based modeling and simulation: Desktop ABMS. In: Henderson et al. (Eds.). Proceedings of the 2007 Winter Simulation Conference. Washington DC, Dec. 9-12. Shannon (1975). Systems simulation: The art and science. Prentice- Hall: Englewood Cliffs, NJ. Siebers and Aickelin (2008) Introduction to multi-agent simulation. In: Adam and Humphreys (Eds.). Encyclopedia of Decision Making and Decision Support Technologies, Pennsylvania: Idea Group Publishing, pp 554-564. Siebers et al. (2010). Discrete-event simulation is dead, long live agent-based simulation! Journal of Simulation, 4(3) pp. 204-210.

Multiagentní modelování

80 Úvod vytvoření agentů aktivní prvek samostatná třída možnost zobrazení vazeb import agentů do hlavní třídy Main existence a pohyb agentů v prostředí space and network kolekce agent population přenos parametrů stejný mechanizmus jako mezi simulation main a main replikace v Main a metoda getindex() help v API

81 Synchronizace časování činnosti agentů asynchronní spojitý čas možnost časování na libovolný okamžik synchronní kroky - provádění akcí agentů synchronně v krocích cyklická událost v Main for( Person p : people ) p.step(); nebo space and network v Main a Enable steps události onbeforestep(main), onbeforestep(agent), onstep(agent), onafterstep(main)

82 Prostředí různé typy rozměry, poloha v Main - API layout, network type, connections spojité 2D, diskrétní 2D, spojité 3D, GIS API celulární automaty spaceheight(), spacewidth() setnetwork (), applynetwork(), getnetworktype() getrandomagent(), getagentcollection() getagentatcell() diskrétní 2D

83 kolekce size(), iterator(), get(int index) dynamická správa prvků v replikovaných kolekcích add_people(), remove_people()

84 Agent odkaz na Main get_main() pohyb v prostředí podle typu prostředí

85 Spojitý 2D poloha (v Agentovi) setlayouttype( type ) applylayout() relocating getx(), gety(), distanceto( Agent other ) setxy(double x, double y) spojitý 2D pohyb událost OnArrival jumpto(x, y ), moveto(x, y ), stop(), ismoving() gettargetx(), gettargety(), getvelocity(), getrotation(), timetoarrival setvelocity(newvelocity ), setrotation(rotation )

86 Spojitý 2D spojení sítě getconnections(), getconnectionsnumber(), getconnectedagent( int index ) connectto( Agent a ), isconnectedto( Agent a ), disconnectfrom( Agent a ), disconnectfromall() různé nastavení propojení agentů Random, Distance Based (all in range), Ring (ring Lattice), Small world (Ring s výjimkami), Scale Free (hubs and hermits) environment.setnetworkringlattice( 5 ) environment.applynetwork() reconnecting

87 Diskrétní 2D poloha směry podle světových stran (NORTH, NORTHWEST) int getr(), getc() pohyb jumptocell( int r, int c ), movetonextcell( int direction ), findrandomemptycell(), jumptorandomemptycell()

88 Diskrétní 2D modely okolí Moorův model 8 sousedů Euklidovský model 4 sousedi okolí getagentatcell( int r, int c ), getagentnexttome( int dir ), getneighbors()

89 Komunikace agentů zprávy deliver send přímé odeslání ihned deliver(), delivertoallconnected(), delivertorandomconnected(), nastavení odeslání do události bezprostředně následující po vykonávané send(), sendtoall(), sendtorandom(), sendtoallconnected(),

90 zprávy send( Object msg, Agent dest ), send( Object msg, int mode ) po dané akci deliver( Object msg, Agent dest ), deliver( Object msg, int mode ), receive( Object msg ) mode v rámci aktuální akce ALL, ALL_CONNECTED, ALL_NEIGHBORS RANDOM, RANDOM_CONNECTED (spoj.), RANDOM_NEIGHBOR (disk.) statechart_name.receivemessage( msg );

19 3 Náhodné jevy

19 4 Úvod v simulacích velmi často náhodné proměnné 2 cesty získání potřebných hodnot konkrétní realizace náhodné proměnné získat na reálném systému a tyto realizace pak použít při simulaci potřeba velkého množství hodnot při experimentech pozorováním reálného systému zjistit pravděpodobnostní zákonitosti (tj. stanovit typ rozdělení náhodné proměnné a odhadnout její parametry) generovat hodnoty řídící se daným rozdělením prakticky jediná možnost

19 5 Generátor náhodných čísel požadavky dobré a stabilní vlastnosti vytvořená posloupnost generovaných hodnot se musí maximálně přibližovat posloupnosti náhodných čísel generátor musí mít dostatečně dlouhou periodu posloupnost generovaných hodnot se nesmí opakovat procedura generování musí být dostatečně rychlá

19 6 lze pohlížet i jako na posloupnost k náhodných číslic α 1, α 2,, α k a můžeme ho zapsat ve tvaru: r 10 1 2 k 2 k 10 10 kde α 1, α 2,, α k jsou číslice 0, 1,, 9 a kde realizace každé číslice má pravděpodobnost 10-1

19 7 Generování náhodných čísel mechanický generátor použití osudí, ve kterém je 10 stejných koulí označených čísly 0, 1,, 9 postupně pro i = 1, 2,, k vyjmeme jednu kouli, číslici zapíšeme na příslušnou pozici a kouli vrátíme do osudí pro počítačovou simulaci nevhodné

19 8 fyzikální generátory založené na fyzikálních jevech, které mají náhodný charakter např. radioaktivní rozpad, šum elektronky apod. problémem nutnost připojení generátoru k počítači získaná čísla opravdu nahodná, ale nelze je reprodukovat

19 9 tabulky náhodných čísel zejména při ručních výpočtech k jejich tvorbě užity rozsáhlé soubory dat získané k jiným účelům (např. čísla v telefonním seznamu) např. Tippetovy tabulky obsahující 40 000 náhodných číslic (1927) nebo tabulky RAND Corp. obsahující 1 000 000 náhodných číslic (1955) pro počítačové experimenty většího rozsahu opět nevhodné (opakující se hodnoty)

20 0 aritmetické generátory založeny na rekurentním vztahu typu x n+1 = f ( x n, x n-1,..., x 0 ) další člen posloupnosti generovaných hodnot zavisí na hodnotách předchozích členů nejedná se o opravdová náhodná čísla > pseudonáhodná čísla

20 1 Von Neumannův aritmetický generátor 1946 algoritmus vybere se vhodné počáteční číslo x 0 o 2k číslicích číslo se umocní z druhé mocniny se vybere prostředních 2k číslic získané číslo se považuje za další prvek posloupnosti návrat na krok 2 nevýhodou je malá perioda generátoru, proces generování je pomalejší generovaná posloupnost nevyhovuje některým testům náhodnosti

20 2 Příklad Nechť je dáno počáteční číslo x 0 = 2589. Vygenerujte prvních 5 členů posloupnosti pseudonáhodných čísel. x 0 2589 x 0 2 06702921 x 1 7029 x 1 2 49406841 x 2 4068 x 2 2 16548624 x 3 5486 x 3 2 30096196 x 4 0961 x 3 2 00923521 x 5 9235

20 3 Aritmetické generátory nejrozšířenější lineární kongruenční generátory D. H. Lehmer, 1948 generátor je založen na vztahu: x 0 je počáteční hodnota posloupnosti, a a c jsou vhodně zvolená čísla, číslo m se nazývá modul hodnoty posloupnosti jsou celočíselné zbytky po dělení číslem m generované hodnoty tedy náleží do množiny {0;1;2;...;m-1} generování v intervalu (0; 1) (0 vynecháme): x ax c mod m n 1 n r n xn m

20 4 posloupnost generovaných hodnot je konečná a má periodu P m po uplynutí periody se posloupnost opakuje výše popsaný lineární kongruenční generátor se nazývá smíšený v případě c = 0 dostáváme: xn 1 axn mod m multiplikativní (Lehmerův) generátor aditivní (Fibonacciův) generátor x x x mod m n 1 n n 1

20 5 Příklady IBM x 31 n 1 65539x n mod 2 Millerův a Prenticův generátor x x x n 1 n 2 n 3 perioda 9 843 907 mod 3137

Pravděpodobnostní rozložení užití generátoru pseudonáhodných čísel splňujících danou pravděpodobnost výskytu jednotlivých hodnot podle charakteru spojitá diskrétní

20 7 Rovnoměrné rozložení nezávislé hodnoty rovnoměrného rozdělení z intervalu (a; b) hod kostkou spojité nejčastěji na (0; 1) rozdělení můžeme popsat hustotou pravděpodobnosti zápis R(a,b) http://cs.wikipedia.org/wiki/rovnom%c4%9brn%c3%a9_rozd%c4%9blen%c3%ad

20 8 distribuční funkce střední hodnota rozptyl rovnoměrné rozdělení z intervalu (0; 1): R(0; 1), jeho konkrétní realizace r

20 9 Normální (Gaussovo) rozdělení spojité rozdělení - neomezeno např. výskyt chyb, doba výroby, cestovní časy rozdělení můžeme popsat hustotou pravděpodobnosti zápis: N(μ; σ 2 ) http://cs.wikipedia.org/wiki/norm%c3%a1ln%c3%ad_rozd%c4%9blen%c3%ad