text: Simulace Sjezdovky (NetLogo) - Simulace.info
  Simulace Sjezdovky (NetLogo)
  3.1 Vlastnosti Modelu
  3.1.1 Globální Vlastnosti Modelu
  3.1.2 Nastavitelné Vlastnosti Modelu
  3.1.3 Monitorované vlastnosti modelu
  3.2 Agenti
  3.2.1 Životní Cyklus People
  3.2.2 Nastavitelné Vlastnosti People
  3.2.3 Pomocné Vlastnosti People
  5.1 Minimální hranice X Široké hranice
  5.2 Rychlost vleku
  5.3 Maximální počet sjezdů na agenta
  5.4 Maximální počet lidí v areálu
  5.5 Rychlost sjezdu agenta
  5.6 Četnost zatáčení agenta
  5.7 Rychlost pohybu agenta mimo sjezdovku
  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 průchodnost tratě a počet nehod v závislosti na počtu účastníků, tvaru trati a porovnání jednotlivých strategií účastníků (jejich rychlosti lyžování, četnosti zátačení a rychlosti mimo sjezdovku) s pravděpodobností jejich srážky s jiným účastníkem.
  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.
  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
  Ski_max_global: Maximální počet sjezdů
  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)
  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
  Bílá: Sjezdovka
  Světle modrá: Pohyb mezi sjezdovkou a Vlekem
  Tmavě modrá: Vlek
  Modrá: Konec vleku
  Zelená: Hranice sjezdovky (Stromy)
  Žlutá: Vstup do areálu
  Červená: Východ z areálu
  Výsledný model je velkým zjednodušením reality, agenti nemohou v průběhu sjezdu měnit svou rychlost a mohou lyžovat pouze jedním ze 3 směrů a pouze v diskrétních intervalech. Z těchto důvodů docházi k velmi četným srážkám i přez svoji snahu vyhýbat překážkám a jiným agentům (Před každou změnou směru se agent podívá na obě strany a vybere si tu kde nevidí žádnou překážku, případně jede přímo dolů). Hlavním přínosem modelu je tedy především porovnání jednotlivých nastavení agentů a modelu mezi sebou a nikoli absolutní čísla o zraněných lyžařích (Protože se jedná spíše o Free for All Battle Royal v tomto případě)
  V tabulce níže jsou hodnoty parametrů modelu použité pro všechny vlastnosti které nejsou explicitně porovnávány v dané simulaci. V podkapitolách níže jsou výsledky simulací porovnávájící různé hodnoty zkoumané vlastnosti. Simulace byly v těchto případech omezeny na 50 000 ticků.
  Základní nastavení nezkoumaných vlastností
  speed_tow 1
  ski_max_global 7
  people_max 100
  width_env 20
  speed_ski 0.5 1.0 1.5
  speed_normal 0.5 0.5 0.5
  turn_ski 7 7 7
  Minimální hranice X Široké hranice
  V případě minimálního nastavení hranic nejsou na trati žádně překážky a hranice jsou naprosto rovné. V případě nejširších hranic je na trati zig-zag vzor viditelný na přiloženém obrázku.
  Široké hranice (a související členitost tratě) podle očekávání zvyšují pravděpodobnost srážky s okolním prostředí. Z tohoto důvodu se také snižuje pravděpodbnost srážky s jiným lyžařem, celková pravděpodobnost nedokončení trati je ale výrazně vyšší.
  Široké hranice
  people_ski_count 6746 4601
  people_total 1505 2450
  people_injured_ski% 47.18 30.49
  people_injured_ski_env% 2.59 59.8
  people_injured_nonski% 0 0.04
  V případě rychlejšího vleku se dle očekávání zvýší absolutní počet sjezdů a % srážek zůstava v rámci chyby stejné.
  speed_tow = 1
  speed_tow = 2
  people_ski_count 6549 7400
  people_total 1695 1992
  people_injured_ski% 50.38 55.87
  people_injured_ski_env% 10.5 7.68
  people_injured_nonski% 0 0.05
  Maximální počet sjezdů na agenta
  V případě vytrvalejších návštěvíků areálu se dle očekávání sníží celkový počet návštěvníků (z důvodu limitu návštěvníků v areálu) a zvýší pravděpodobnost, že daný návštěvník utrpí zranění. Z důvodu lepšího využití času (žádný čas stráveny na opouštění areálu) se také dle očekávání zvýšil celkový počet sjezdů.
  ski_max_global = 3
  speed_tow = 15
  people_ski_count 5550 6743
  people_total 2481 1296
  people_injured_ski% 24.18 66.51
  people_injured_ski_env% 7.9 13.97
  people_injured_nonski% 0 0
  Maximální počet lidí v areálu
  Při zvýšení počtu lidí v areálu se dle očekávání zvýší pravděpodobnost srážky s jiným návštěvníkem, celkový počet návštěvníků a úspěšný počet sjezdů.
  people_max = 50
  people_max = 200
  people_ski_count 3422 7986
  people_total 676 2477
  people_injured_ski% 28.11 61.77
  people_injured_ski_env% 11.09 10.46
  Rychlost sjezdu agenta
  Na rozdíl od předchozích porovnání, v tomto případě všechny 3 typy agentů projížděli tratí najednou. Nejpomalejší lyžaři měli největší šanci nedokončit trať a největší šanci srážky s hranicí trati, což je způsobeno nejspíše největší četností změny směru, kdy je možné, že lyžař 'zabloudí' do místa odkud si neví rady. Překvapením je, že středně rychlí lyžaři měli nejmenší šanci srážky a tedy i nejvíce úspěšných sjezdů, ačkoli jim sjezd trvá déle než nejrychlejěím lyžařům.
  speed_ski = 0.5
  speed_ski = 1
  speed_ski = 2
  people_ski_count 1627 2591 2269
  people_total 609 596 631
  people_injured_ski% 58.62 44.3 62.92
  people_injured_ski_env% 20.53 7.38 5.23
  people_injured_nonski% 0 0 0
  Četnost zatáčení agenta
  Stejně jako v případě rychlosti (nejmenší rychlost - nejvíce změn směru), agenti s nejvíce změny směru mají největší šanci se srazit s okolní krajinou. Tito lyžaři se ale naopak ukazují lepší ve vyhýbání ostatním lyžařům, jejich celková pravděpodbnost srážky je ale i tak vyšší než v případě rozhodnějších agentů.
  turn_ski = 5
  turn_ski = 10
  turn_ski = 20
  people_ski_count 2302 2671 2662
  people_total 478 502 511
  people_injured_ski% 16.74 26.79 26.03
  people_injured_ski_env% 23.22 7.97 8.41
  Rychlost pohybu agenta mimo sjezdovku
  Největším překvapením jsou vyýsledky v závilosti na parametru, který by měl mít nejmenší vliv. Lyžaři s nejpomalejším pohybem mimo sjezdovku mají výrazně menší pravděpodobnost srážky s okolím a největší šanci, že úspěšně dokončí sjezd. V tomto průběhu simulace se také v některých případech stalo, že agenti se navzájem zaseknou (mimo trať) a nedokážou se sami zkovu rozejít. Vzhledem k tomu, že se to stávalo pouze v tomto nastavení je to nejspíše způsobeno různými rychlostmi pohybu agentů mimo sjezdovku.