Simulace Sjezdovky (NetLogo)

From Simulace.info
Revision as of 18:32, 16 June 2019 by Pokm02 (talk | contribs)
Jump to: navigation, search

Zadání

Název simulace: Simulace sjezdovky

Autor: Michal Pokorný

Typ modelu: Multiagentní

Modelovací nástroj: NetLogo

Popis Modelu: Simulace pohybu lyžařů/snowboardistů na svahu. Účastníci simulace jsou nejdříve vyvezeni vlekem/ky na vrcholek svahu a následně v závislosti na svojí strategii sjedou svah dolů. Simulace by řešila optimální počet a průchodnost vleků v závislosti na počtu účastníků (toto lze řešit výpočtem), počet nehod v závislosti na počtu vleků/účastníků a porovnání jednotlivých strategií účastníků (jejich rychlost) s pravděpodobností jejich srážky s jiným účastníkem.

Metoda

Model je vytvořen v softwaru NetLogo, který je určen především pro modelování multiagentních systémů. Lze v něm pomocí různých způsobů inputů měnit vlastnosti modelu v průběhu simulace. Stejně tak lze pomocí monitorovacích objektů sledovat klíčové hodnoty probíhající simulace a sledovat jejich průběh v čase pomocí grafů. Model sjezdovky vychází ze skutečníé sjezdovky nacházející se ve ski areálu Pec pod Sněžkou - Černá Hora, Jarov, 1b. Tato sjezdovka je obsluhována jedním vlekem.

Model

Vlastnosti Modelu

Globální Vlastnosti Modelu

Entry_x: X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)

Exit_x: X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)

Tow_x: X souřadnice vleku

Nastavitelné Vlastnosti Modelu

People_max: Maximální počet lidí v areálu

Speed_tow: Rychlost vleku

Width_env: Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu

Monitorované vlastnosti modelu

People_ski_count: Počet úspěšných sjezdů lyžaři (pro každou skupinu)

People_total: Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)

People_injured_nonski: Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)

People_injured_ski: Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)

People_injured_ski_env: Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)

Agenti

People: Lidé přicházející na sjezdovku a využívající jejích služeb

Borders: Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.

Životní Cyklus People

Appear: Agenti se náhodně vytvářejí na startovní pozici. Náhodně se jim přiřadí jedna ze 3 skupin a podle této skupiny se jim přiřadí vlastnosti. Jejich další akci je tow-want

Tow-want: Agent se snaží dostat k vleku. Další akcí je tow

Tow: Agent je vynesen na vrcholek vleku. Na vrcholku vleku má šanci vlek opustit předčasně. Další akci je ski-want

Ski-want: Agent si náhodně vybere místo na vrcholku a snaží se k němu dostat. Další akcí je ski

Ski: Agent lyžuje směrem dolů ze svahu. Agent lyžuje směrem dolů pod úhlem 45 stupňů a náhodně mění směr v závislosti na svých vlastnostech. Agent se snaží vyhýbat ostatním agentům (People a Borders). V případě, že se dva agenti nacházejí na stejném místě, srazí se, zvýší statistiky o srážkách a zmizí. Pokud se agent dostane na konec svahu, rozhodne se podle počtu svých sjezdů jestli jeho další akce bude tow-want nebo leave

Leave: Agent se snaží dostat k východu.


Nastavitelné Vlastnosti People

Speed_ski: Rychlost při lyžování (pro každou skupinu)

Turn_ski: Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)

Speed_normal: Rychlost v nelyžařských prostorech (pro každou skupinu)

Ski_max: Maximální počet sjezdů před opuštěním areálu

Pomocné Vlastnosti People

Action: Aktuální akce životního cyklu

Group: Skupina do které daný člověk patří, vlastnosti členů skupiny lze nastavovat globálně. Každému člověku je přiřazena skupina náhodně při jeho vstupu do areálu

Stuck_check_x, Stuck_check_y, Confused: Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech

Crashed, Crashed_environment: Vlastnosti pro kontrolování srážky s jinými agenty

Obrázky

Výsledky

Kód