Matematické modelování Systémová dynamika Příklady Základní módy chování Matematické modelování a systémová dynamika Radek Pelánek Matematické modelování Systémová dynamika Příklady Základní módy chování Modelování shora souhrnné proměnné, abstrahování od jednotlivců, lokálních vztahů model = systém rovnic simulace = numerické řešení těchto rovnic Matematické modelování Systémová dynamika Příklady Základní módy chování Lovec-kořist: matematický model dL dt = pl KL − ul L dK dt = pkK − ukKL (Lotka-Voltera model) Matematické modelování Systémová dynamika Příklady Základní módy chování Lovec-kořist: systémový model Matematické modelování Systémová dynamika Příklady Základní módy chování Matematické modelování Základní princip: stav systému = vektor stavových proměnných chování systému (změna) = rovnice nad stavovými proměnnými Základní dělení: diskrétní čas spojitý čas Matematické modelování Systémová dynamika Příklady Základní módy chování Diskrétní čas Diskrétní čas rekurentní rovnice stavová proměnná = posloupnost Xt Matematické modelování Systémová dynamika Příklady Základní módy chování Diskrétní čas Fibonacciho králíci: model (velmi zjednodušený) model množení králíků Xt = počet párů králíků králíci nesmrtelní od věku 2 let se množí model: počáteční stav: X1 = X2 = 1 rovnice popisující změnu: Xt+1 = Xt + Xt−1 Matematické modelování Systémová dynamika Příklady Základní módy chování Diskrétní čas Fibonacciho králíci: chování Model: Xt+1 = Xt + Xt−1 X1 = X2 = 1 Test: které z následujícího je explicitním řešením? Xt = φt + 1 2 − 1 Xt = φt − (1 − φ)t √ 5 Xt = t · (1 − φ) (1 + φ) ve všech případech: φ = (1 + √ 5)/2 Matematické modelování Systémová dynamika Příklady Základní módy chování Diskrétní čas Fibonacciho králíci: chování Model: Xt+1 = Xt + Xt−1 X1 = X2 = 1 Explicitní řešení: Xt = φt − (1 − φ)t √ 5 , kde φ = (1 + √ 5)/2 Simulace (= dosazení): 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... Matematické modelování Systémová dynamika Příklady Základní módy chování Diskrétní čas Fibonacciho králíci: poznámky populace roste nade všechny meze (exponenciálně) pouze pozitivní zpětná vazba chybí korigující negativní zpětná vazba Matematické modelování Systémová dynamika Příklady Základní módy chování Diskrétní čas Logistická rovnice: model r – míra reprodukce K – kapacita prostředí rovnice: Xt+1 = r · Xt · (1 − Xt/K) Jak se bude model chovat pro K = 1, X1 = 0.2 a různé hodnoty r? Matematické modelování Systémová dynamika Příklady Základní módy chování Diskrétní čas Logistická rovnice: chování Matematické modelování Systémová dynamika Příklady Základní módy chování Diskrétní čas Logistická rovnice: Feigenbaumův diagram Matematické modelování Systémová dynamika Příklady Základní módy chování Diskrétní čas Logistická rovnice: poznámky kombinace pozitivní a negativní zpětné vazby velmi jednoduchý systém – složité chování (chaos) nutnost použití výpočetní simulace Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Spojitý čas motivace použití spojitého času: nelze čas rozdělit na diskrétní kroky, např. přítok a odtok vody jednodušší matematické zpracování než diskrétní čas diferenciální rovnice základ: dX dt ∼ „změna hodnoty proměnné X v čase t Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Model populace I změna velikosti populace = počet narození – počet úmrtí dX dt = pX − uX r = p − u dX dt = rX Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Model populace I: chování Explicitní řešení diferenciální rovnice: X(t) = X(0)ert exponenciální růst (pokles) – srovnej Fibonacciho králíci Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Model populace II Podobně jako pro diskrétní logistickou rovnici: dX dt = r · X · (1 − X K ) Explicitní řešení: X(t) = K 1 + ce−rt , c = K X(0) − 1 Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Numerické řešení rovnic explicitní obecné řešení – málokdy numerické řešení: přibližné řešení pro konkrétní hodnoty mírně nepřesné, ale pro modelování dostatečné nutno však pamatovat na nepřesnost, robustnost, ... Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Základní myšlenka (podrobněji viz předměty na PřF: „Numerické metody ) numerické metody – založeny na diskretizaci čas – intervaly délky ∆t v bodech tn = t + n · ∆t počítáme hodnoty yn zbytek aproximujeme (např. přímkou) Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Metody aproximace hodnotu yn+1 aproximujeme s využitím hodnoty yn: Eulerova metoda: použití diferenčních rovnic, yn+1 = yn + ∆t · f (yn, t) Runge-Kutta metody (2. řádu, 4. řádu): sofistikovanější metody aproximace; více operací, ale o hodně přesnější Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Přesnost a výpočetní náročnost zmenšující se ∆t: metody konvergují k přesnému řešení simulace výpočetně (a tedy i časově) náročnější Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Výběr metody: doporučení Runge-Kutta metoda – nevhodná pro modely s diskrétními prvky, na čistě spojitých lepší než Eulerova Eulerova metoda – nepřesná u modelů s vysokofrekvenčními oscilacemi volba diskrétního kroku δt (v softwaru Stella značený DT): maximálně polovina minimálního intervalu vyskytujícího se v modelu vyzkoušet simulaci pro různé hodnoty δt Matematické modelování Systémová dynamika Příklady Základní módy chování Spojitý čas Nepřesnosti numerických metod a typy modelů „přesné modely, účel předpovědi – stabilita a přesnost numerických metod zásadní „hrubé modely, účel pochopení/vhled – nepřesnosti modelování vesměs významnější než nepřesnosti numerických metod Matematické modelování Systémová dynamika Příklady Základní módy chování Systémová dynamika „grafický front-end pro matematické modelování 1 grafické vyjádření základních vztahů 2 automatické vygenerování diferenciálních rovnic 3 doplnění zbývajících rovnic a hodnot parametrů 4 simulace (numerické řešení rovnic) Matematické modelování Systémová dynamika Příklady Základní módy chování Příklad Matematické modelování Systémová dynamika Příklady Základní módy chování Základní prvky Systémový model: základní prvky 1 zásobárny 2 toky 3 parametry 4 vztahy Matematické modelování Systémová dynamika Příklady Základní módy chování Základní prvky Proč? proč nepsat rovnou rovnice? proč rozdělení na uvedené 4 kategorie? přehlednost – snadnější návrh, ladění, komunikace v modelování omezení může být výhodou Matematické modelování Systémová dynamika Příklady Základní módy chování Základní prvky Základní prvky: příklady zásobárna tok parametr populace narození, úmrtí porodnost, úmrtnost, míra emigrace peníze na účtu úroky úroková míra teplota ohřívání tepelná kapacita podíl na trhu noví zákazníci náklady na reklamu, účinnost reklamy, kvalita výrobku Matematické modelování Systémová dynamika Příklady Základní módy chování Základní prvky Zásobárny = systémové proměnné, reservoirs, stocks = podstatná jména v modelu komponenty systému, kde se něco akumuluje lze číselně vyjádřit, v čase stoupá a klesá nereprezentuje (většinou) geografickou lokalitu systém zmražený v určitém okamžiku – zásobárna má nenulovou hodnotu velikost populace peníze na účtu teplota podíl na trhu Matematické modelování Systémová dynamika Příklady Základní módy chování Základní prvky Toky = processes, flows = slovesa v modelu aktivity, které určují hodnotu zásobáren v čase určují zda obsah zásobárny narůstá/klesá jednosměrné i obousměrné systém zmražený v určitém okamžiku – toky mají nulovou hodnotu narození, úmrtí, emigrace úroky ohřívání, ochlazení noví zákazníci Matematické modelování Systémová dynamika Příklady Základní módy chování Základní prvky Parametry = convertors, auxilaries, system constants tempo s jakým dochází ke změně obsahu zásobárny vlivem toků často vnější (exogenous) proměnné systému – chování nemodelujeme hodnoty – pozorování, úvaha, odhad porodnost, úmrtnost úroková míra tepelná kapacita náklady na reklamu, účinnost reklamy Matematické modelování Systémová dynamika Příklady Základní módy chování Základní prvky Vztahy = interrelationships závislosti mezi jednotlivými částmi systému co s čím souvisí, co na čem závisí Matematické modelování Systémová dynamika Příklady Základní módy chování Příklady Lišky a králíci Matematické modelování Systémová dynamika Příklady Základní módy chování Příklady Specifikace modelu počáteční hodnoty zásobáren (K a L) hodnoty parametrů (pl , pk, ul , uk) rovnice pro velikost toků: příbytek lišek = pl KL, příbytek králíků = pkK, úbytek lišek = ul L, úbytek králíků = ukKL. Matematické modelování Systémová dynamika Příklady Základní módy chování Příklady Automaticky vygenerované rovnice změna hodnoty zásobárny = vstupní toky – výstupní toky dL/dt = pl KL − ul L dK/dt = pkK − ukKL (Jde o Lotka-Voltera model.) Matematické modelování Systémová dynamika Příklady Základní módy chování Příklady Časté problémy toky mezi zásobárnami vs. „mimo model konstanty ve špatném řádu (0, 05 vs. 5) překombinované „skryté rovnice magické nepojmenované konstanty nesmyslné jednotky – tok „lidé na druhou Matematické modelování Systémová dynamika Příklady Základní módy chování Epidemie Epidemie model epidemie SIRS (susceptible – ill – resistant – susceptible) předpokládejme uzavřený systém (ryby v rybníku) stavy: zdravá, nemocná, odolná parametry epidemie: infekčnost, úmrtnost, doba nemoci, doba odolnosti (více o epidemiích později) Matematické modelování Systémová dynamika Příklady Základní módy chování Epidemie Pozn. Sick fish, Resistant fish – „fronta = rozšíření zásobárny Matematické modelování Systémová dynamika Příklady Základní módy chování Epidemie Matematické modelování Systémová dynamika Příklady Základní módy chování Polya process Polya process model: pytel s černými a bílými kameny taháme kameny – pravděpodobnost, že vytáhneme černý je přímo úměrná podílu dosud vytažených černých kamenů otázky: Jaký bude poměr vytažených černých/bílých v dlouhodobém horizontu? Co situace modeluje? Matematické modelování Systémová dynamika Příklady Základní módy chování Polya process J. Sterman, Business Dynamics Matematické modelování Systémová dynamika Příklady Základní módy chování Polya process Chování Počáteční náhodné tahy stanoví poměr, kterého se systém nadále drží (lze dokázat též analyticky). Matematické modelování Systémová dynamika Příklady Základní módy chování Polya process Variace pravděpodobnost vytažení je nelineárně závislá na poměru kamenů ⇒ poměr konverguje k 0 nebo 1 Matematické modelování Systémová dynamika Příklady Základní módy chování Polya process Polya process: komentáře lock-in: systém se zamkne do určité konfigurace, aniž by k tomu byl specifický důvod systém řízený pozitivní zpětnou vazbou o osudu rozhodují náhodné výchylky na počátku existence řádu není díky náhodě, je zaručena pozitivní zpětnou vazbou příklady? Matematické modelování Systémová dynamika Příklady Základní módy chování Polya process Polya process: příklady typický příklad: dvě firmy soutěží o dominanci na trhu se stejným produktem videokazety: VHS X Betamax Wintel Facebook vs MySpace QWERTY Silicon Valey Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Demografie: Kvízová otázka populační dynamika země s vysokou porodností a nízkou úmrtností (tj. prudký růst populace) porodnost prudce klesne na cca 2 děti/ženu jak bude vypadat vývoj velikosti populace? kdy se ustálí? Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Věkové pyramidy – kvíz Brazílie, ČR, Japonsko, Nigérie, Rusko, USA Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Věkové pyramidy – kvíz http://esa.un.org/unpd/wpp/Graphs/DemographicProfiles/ Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Věková pyramida Joe McFalls (2007), Population: A Lively Introduction Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Věková pyramida: Německo Joe McFalls (2007), Population: A Lively Introduction Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Věková pyramida: ČR Wikipedia: Věková pyramida Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Modelování demografie: Rozklad zásobáren rozklad zásobárny na podzásobárny, kterými elementy sekvenčně prochází populace: věkové skupiny zaměstnanci: postavení ve firmě, akademické tituly CFC, pesticidy finance: solventnost klientů Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie J. Sterman, Business Dynamics Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Modelování demografie: základní parametry porodnost (distribuce podle věku ženy) úmrtnost (distribuce podle věku) migrace I jednoduchý model přináší zajímavý vhled (viz kvízová otázka), příklady: http://www.learner.org/courses/envsci/ interactives/demographics/ Modelování základních demografických procesů, BP Jan Bleha Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Demografický přechod Joe McFalls (2007), Population: A Lively Introduction Matematické modelování Systémová dynamika Příklady Základní módy chování Demografie Demografie – dopad, kontext dopad mj. na: ekonomika zdravotnictví školství důležité faktory mj.: poměr pracujících k celkové populaci, demografická dividenda poměr skupiny 15-25 v populaci – sociální nepokoje Matematické modelování Systémová dynamika Příklady Základní módy chování Svět sedmikrásek Hypotéza Gaia Hypotéza Gaia (James Lovelock) Živá hmota na planetě Zemi funguje jako jeden organismus udržující si vhodné podmínky pro život. Matematické modelování Systémová dynamika Příklady Základní módy chování Svět sedmikrásek Svět sedmikrásek (Daisy world) Účel modelu Podpora teorie Gaia. Základní myšlenka modelu Hypotetický svět obíhající slunce, jehož teplota roste a který je schopen částečně regulovat svou teplotu. Matematické modelování Systémová dynamika Příklady Základní módy chování Svět sedmikrásek Svět sedmikrásek černé a bílé sedmikrásky růst závislý na teplotě, růstová křivka = parabola černé absorbují světlo bílé světlo odráží Matematické modelování Systémová dynamika Příklady Základní módy chování Svět sedmikrásek Svět sedmikrásek Matematické modelování Systémová dynamika Příklady Základní módy chování Svět sedmikrásek Svět sedmikrásek: regulační mechanismus Matematické modelování Systémová dynamika Příklady Základní módy chování Svět sedmikrásek Matematické modelování Systémová dynamika Příklady Základní módy chování Svět sedmikrásek Chování modelu Chování: překvapivě stabilní, dosahuje homeostasis (schopnost udržovat rovnováhu pomocí regulačních mechanismů) Matematické modelování Systémová dynamika Příklady Základní módy chování Základní módy chování dobré dílo (viz např. dům): málokdy úžasné nové základní díly spíš dobrá kombinace osvědčených dílů modelování – základní módy chování Matematické modelování Systémová dynamika Příklady Základní módy chování Základní módy 1 lineární vývoj 2 exponenciální vývoj 3 logistický vývoj 4 přestřel a kolaps 5 oscilace Matematické modelování Systémová dynamika Příklady Základní módy chování Lineární vývoj Lineární vývoj charakteristika změna konstantní rychlostí zpětná vazba žádná diff. rovnice dR/dt = k explicitní řešení R(t) = R0 + kt příklad fixní čerpání neobnovitelného zdroje Matematické modelování Systémová dynamika Příklady Základní módy chování Exponenciální vývoj Exponenciální vývoj charakteristika rychlost změn úměrná velikosti zásobárny zpětná vazba pozitivní zpětná vazba diff. rovnice dR/dt = k · R(t) explicitní řešení R(t) = R0 · ekt příklad populační růst při neomezených zdrojích Matematické modelování Systémová dynamika Příklady Základní módy chování Logistický vývoj Logistický vývoj charakteristika nejdříve exponenciální růst, následovaný přibližováním k rovnováze (kapacita C) zpětná vazba kombinace pozitivní a negativní zpětné vazby diff. rovnice dR/dt = k(t) · R(t), kde k(t) = k0 · (1 − R(t) C ) explicitní řešení R(t) = C 1+Ae−k0 t , kde A = C−R0 R0 příklad populační růst s fixními zdroji, epidemie (vyléčitelná nemoc), šíření informací Matematické modelování Systémová dynamika Příklady Základní módy chování Přestřel a kolaps Přestřel a kolaps charakteristika dvě zásobárny, jeden neobnovitelný, druhý na něm závisí a spotřebovává jej zpětná vazba kombinace pozitivní a negativní zpětné vazby diff. rovnice příklad populační růst s neobnovitelnými zdroji, epidemie (nevyléčitelná nemoc) Matematické modelování Systémová dynamika Příklady Základní módy chování Oscilace Oscilace Matematické modelování Systémová dynamika Příklady Základní módy chování Oscilace Oscilace (pokračování) charakteristika dvě vzájemně závislé zásobárny (Consument C, Re source R) zpětná vazba negativní zpětná vazba (se zpožděním) diff. rovnice dC/dt = kG R(t) − kD dR/dt = kW − kQC(t) rovnováha C = kW kQ , R = kD kG příklad dravec-kořist, konzument a obnovitelný zdroj, regu lace teploty Vysvětlivky: kG : růst konzumenta, kD: úmrtí konzumenta, kW : růst zdroje, kQ: konzumace zdroje Matematické modelování Systémová dynamika Příklady Základní módy chování Oscilace Shrnutí pohled shora: sumární proměnné, rovnice popisující změnu matematické modelování: diskrétní, spojité numerické řešení diferenciální rovnic systémová dynamika: grafická nadstavba příklady: lovec a kořist, epidemie, Svět sedmikrásek, černé a bílé kuličky základní módy chování