Zombie apokalypsa (Vensim)
Contents
Zadání
- Název simulace: Zombie apokalypsa
- Předmět: 4IT495 Simulace systémů (LS 2016/2017)
- Autor: Vojtěch Kuthan, xkut05
- Typ modelu: Systémová dynamika
- Modelovací nástroj: VensimPLE
Definice problému
Simulace se bude odehrávat na začátku a v průběhu post apokalyptické budoucnosti, kde se objeví první zombie a začne simulaci šíření. Simulace se zaměří na obě strany a to jak lidi, kteří budou mít možnost přežití založenou na jídle, zbraních, oblečení, lécích a dalších. Navíc každé úmrtí bude mít ke zrodu nového zombie. Lidé podléhají normálnímu životnímu cyklu, narození a přirozené úmrtí. Na druhé straně zombie potřebují k přežití lidi jako potravu a pokud bude nedostatek lidí, začnou vymírat. Zombie, v případě zničení lidstva, vyhynou. Počáteční proměnné pro nastavení: Počet lidí, množství volně dostupných zásob (jídlo, léky,…) Simulace bude řešena v programu
Cíl
Cílem bude simulovat reálné přežití lidí v apokalyptické situaci. Pro zjištění šance přežití budou vybudované soběstačná, bezpečná místa, bunkry Simulace by mohla sloužit pro armádu/y a vlády pro odhadnutí potřebných zásob a počet vybudovaných bezpečný míst. A případě nastání této hypotetické situace zajistit přežití lidí. Metoda Program Vensim byl použit pro zpracování této simulace. Díky grafům všech proměnných a to hlavně populací lidí a zombie budu moci říct, kdy je bezpečné se navrátit k normálnímu fungování společnosti mimo bezpečná místa (dále také BM).
Model
Model byl za účelem zvýšení přehlednosti zjednodušen - zbraně, oblečení, léky a další jsou nazvány jako spotřební zboží. Model by také mohl obsahovat aktivní útočení na zombie a další scénáře.
Jednotky
Jednotka jídla – potřebné množství jídla pro osobu za časovou jednotku simulace. Jednotka spotřebního zboží - potřebné množství spotřebního zboží (oblečení, léky, zbraně) pro osobu za časovou jednotku simulace. Počty lidí a zombie – vždy jedinec
I/O proměnné v modelu
Efektivita farmaření <0;1> – 0,5 Místní zásoba [jednotky jídla a spotřebního zboží] <1 000;1 000 000> - 1 000 000 Startovní počet zombie <1; 1 000 000> - 1 000 Populace - < 1 000 000; 7 000 000 000> - 1 000 000 000 Produkce <0; 1> – 0,5 Velikost skladu <1 000; 250 000> - 50 000 Počet BM <1; 50> - 10 Kapacita BM <1 000; 250 000> - 5 000 Porodnost <0; 0.01> - 0.0005
Proměnné a rovnice modelu
- Farmaření – Produkce jednotek jídla mimo BM
- =Populace lidí mimo bezpečná místa*Efektivita farmaření
- Konzumace - Konzumace jednotek jídla mimo BM na hlavu
- =Populace lidí mimo bezpečná místa
- Jídlo – stav zásob jídla mimo BM
- =INTEG(Farmaření-Konzumace, Místní zásoba)
- Nalezení – hledání spotřebního zboží, násobitel představuje množství nalezeného zboží na hlavu
- = Populace lidí mimo bezpečná místa*0.01
- Spotřební zboží – zásoba oblečení, léků, zbraní, …
- =INTEG(Nalezení-Spotřeba, Místní zásoba)
- Spotřeba – spotřeba zboží v zásobě, jednotka na hlavu
- = Populace lidí mimo bezpečná místa
- Porody – Příbytek do populace rozmnožováním.
- =IF THEN ELSE(Populace lidí mimo bezpečná místa>2, Populace lidí mimo bezpečná místa * Porodnost , 0 )
- Populace lidí mimo bezpečná místa – lidé nacházející se mimo BM
- =INTEG(Porody-Úmrtí-Útěk, Populace)
- Úmrtí – šance úmrtí / úmrtnost mimo BM, čísla představují pravděpodobnost.
- IF THEN ELSE(Populace Zombie=0, Populace lidí mimo bezpečná místa*0.005, IF THEN ELSE(Jídlo>0:AND:Spotřební zboží>0, Populace lidí mimo bezpečná místa*0.01, Populace lidí mimo bezpečná místa*0.03))
- Populace Zombie – počet zombie
- =INTEG(Úmrtí-"Zombie - Úmrtí", Startovní počet zombie)
- Zombie – Úmrtí – šance na „úmrtí“ zombie. Číslo představuje šanci (0,01 – sem tam dojde ke střetu)
- =IF THEN ELSE(Populace lidí mimo bezpečná místa=0, Populace Zombie*0.5, Populace Zombie*0.01)
- Útěk – útěk lidí do BM, pokud jsou BM plné, lidí jsou odmítnuti.
- =IF THEN ELSE(Počet lidí v bezpečných místech<(Kapacita BM*Počet BM):AND:Populace lidí mimo bezpečná místa>0, (Kapacita BM*Počet BM)-Počet lidí v bezpečných místech , 0)
- BM – Porody – přirozený příbytek populace v BM
- =Počet lidí v bezpečných místech*Porodnost
- Počet lidí v bezpečných místech – lidé v BM
- =INTEG(Útěk+"BM - Porody"-"Úmrtí - bezpečné pochování",0)
- Úmrtí - bezpečné pochování – pohřeb, který nevyprodukuje nové zombie.
- =IF THEN ELSE( "BM - Jídlo"=0:OR:"BM - spotřební zboží"=0 , Počet lidí v bezpečných místech*0.05 , Počet lidí v bezpečných místech*0.005)
- BM – Farmaření - Produkce jednotek jídla v BM
- =Počet lidí v bezpečných místech*Efektivita farmaření
- BM – Jídlo
- =INTEG("BM - Farmaření"-"BM - Konzumace", Velikost skladu)
- BM – Konzumace - Konzumace jednotek jídla v BM
- =Počet lidí v bezpečných místech
- BM – Produkce - vyrábění spotřebního zboží, násobitel představuje množství vyrobeného zboží na hlavu
- =Počet lidí v bezpečných místech*Produkce
- BM - spotřební zboží - zásoba oblečení, léků, zbraní, …
- =INTEG"BM - Produkce"-"BM - Spotřeba", Velikost skladu)
- BM – Spotřeba - spotřeba zboží v zásobě, jednotka na hlavu
- =Počet lidí v bezpečných místech
Casual loop diagram
Stock and flow diagram
Výsledky
Výsledkem základního nastavení je přežití lidí. Lidé mimo bezpečná místa (BM), ovšem vymřou po 150 měsících. Bezpečná místa udělají svou službu, ale při cca 390 měsíci dojde úpadku porodnosti a začne pomalý úbytek. Zombie v počátku přibude obrovské množství, ale vymření / odchodu lidí mimo BM začnou rychle ubývat a doba mezi 450. a 500. + měsícem by se dala označit za relativně bezpečnou.
Závěr
Simulaci se podařilo najít „bezpečné“ období návratu k normální kultuře a konce apokalypsy. Díky možnosti nastavování proměnných se dají simulovat mnohem menší a izolovanější případy vypuknutí. Předvedený a popsaný výsledek je jen jedním z možných scénářů a při jiném nastavení může dojít k jiné situaci.