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