Zombie apokalypsa (Vensim)

From Simulace.info
Jump to: navigation, search

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

Xkutv05model.png

Stock and flow diagram

Xkutv05modelsim.png

Výsledky

  • Xkutv05poplidi.png
  • Xkutv05poplidiBM.png
  • Xkutv05popzombie.png

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.

Soubory ke stažení



--Xkutv05 (talk) 19:24, 11 June 2017 (CEST)