Difference between revisions of "Rozšíření simulace building escape (NetLogo)"

From Simulace.info
Jump to: navigation, search
(Rozšíření modelu)
(Parametry)
Line 84: Line 84:
  
 
=== Parametry ===
 
=== Parametry ===
 +
* jumpOK-people - indikuje počet lidí, kteří se skokem z okna zachránili.
 +
* jumpKO-people - indukuje počet lidí, kteří se skokem z okna zabili.
  
 
=== Grafické prostředí ===
 
=== Grafické prostředí ===

Revision as of 15:06, 5 June 2016


Tato práce je rozšířením učebního příklad building escape vyučovaném na kurzu 4IT495 Simulace systémů.

Definice problému

Zadání

Název simulace: Rozšíření simulace Building escape

Předmět: 4IT495 Simulace systémů (LS 2015/2016)

Autor: Bc. Jakub Hejduk

Typ modelu: multiagentní

Modelovací nástroj: NetLogo 5.3.1

Definice

Simulace se bude týkat rozšíření učební úlohy Building escape. Ta v současném stavu poskytuje prázdnou místnost, ze které se snaží lidé uprchnout před požárem. Tento základní motiv bude rozšířen o přidání překážek, okolo kterých budou muset lidé chodit, taktéž přidání místností, ze kterých budou muset vylézt, případně chodeb k únikovým východům, kde se budou lidé štosovat. Taktéž bude přidáno okno, ze kterého bude možnost vyskočit ven a spoléhat, že budou hasiči mít připravenou plachtu, do které člověk spadne. Tato možnost bude podléhat náhodě, např. 10% z celku bude mít odvahu skočit a v 50% se skok povede. Všechny překážky a místnosti budou z druhu materiálu, předpokladem je beton, dřevo a sádrokarton, přičemž sádrokarton prohoří nejrychleji, naopak beton nejpomaleji. Možností rozšíření je přítomnost hydrantu, ze kterého bude možnost, dle jeho kapacity, část ohně uhasit a zamezit šíření do uhašené strany. Nastavení počtu místností, překážek, ohňů, lidí bude k dispozici. Některé prvky budou ovšem limitovány z prostorových důvodů.

Metoda

Celá simulace se odehrává v simulačním prostředí Netlogo 5.3.1. Toto simulační prostředí umožňuje vytvořit různé podmínky pro danou simulaci a testovat jejich vázjemné rozdíly. Lze vytvořit agenty, kterých se simulace týká, nastavit jejich parametry a dle těchto parametrů ovlivňovat jejich chování v prostředí. To samé se týká prostředí, které lze měnit na základě různých ovládacích prvků. Netlogo poskytuje mnoho možností co se týká uživatelského prostředí a jeho ovládání, proto je vhodné pro tento druh simulace.

Předpoklady

  • Simulace se odehrává v uzavřené místnosti
  • Lidé nemají jinou možnost východu z místnosti než východy či oknem
  • Počet překážek v nastavení simulace je limitován
  • Překážky se navzájem mohou prolínat

Model

Základní model(původní)

V základní verzi simulace je jednoduchá logika. Lidé jsou náhodně vygenerováni na plochu místnosti, která je prázdná. K dispozici mají dva východy situované v dolním levém, respektive pravém rohu. Následně se vygeneruje požár, který má kruhový tvar. Při spuštění simulace se následně lidé snaží dostat k nejbližšímu východu a zachránit se. Požár se šíří a případně přeřízne cestu unikajícím lidem. V této simulaci nebylo řešeno, jestli je před člověkem oheň, nebo ne. Automaticky do něj vběhl a uhořel. Pokud se lidé shlukli v hloučku, je možnost, že bude člověk ušlapán. Tento model byl rozšířen o skutečnosti popsané níže.

Agenti a atributy původního modelu

  • People (Lidé) - představují osoby, které jsou uvězněni v prostoru s požárem a chtejí se zachránit.
    • pace (rychlost) - představuje samotnout rychlost člověka, respektive kolik kroků udělá při jednom ticku (jedné iteraci simulace). Tento atribut je generovan z normálního rozdělení s parametry 1 0.2
    • headx - představuje horizontální souřadnici, kam člověk poběží. Jedná se tedy o atribut doorx nebližšího východu.
    • heady - představuje vertikální souřadnici, kam člověk poběží. Jedná se tedy o atribut doory nebližšího východu.
  • Exits (Východy) - představují východy, do kterých se lidé musí dostat.
    • doorx - představuje horizontální souřadnici východu. Slouží k určení, kam má člověk směřovat.
    • doory - představuje vertikální souřadnici východu. Slouží k určení, kam má člověk směřovat.

Parametry původního modelu

  • excaped-people - představuje počet zachráněných lidí.
  • burned-people - představuje počet uhořelých lidí.
  • crushed-people - představuje počet ušlapaných lidí.

Rozšíření modelu

Původní model odpovídal na otázku počtu zachráněných při různém počtu lidí, avšak místnost nebývá prázdná. Proto na řadu přichází pár rozšíření, které pomohou simulaci obohatit. Jako první je přidání překážek, okolo kterých lidé budou muset chodit. Je to simulace reálnějších podmínek, kde jsou v místnosti umístěny různé překážky, které ve finále člověk musí obcházet. Tyto překážky ovšem také mohou shořet. Překážky jsou vyrobeny z různých materiálů, konkrétně ze tří a to beton, dřevo a plast. Každý z materiálů má různý stupeň prohoření, respektive dřevo a plast prohoří daleko snáze, než beton. O prohoření dále. Další částí rozšíření simulace je možnost přidání do simulace úzké chodby, která vede k dvěma východům. Pokud se tedy chtějí lidé zachránit, je nutno do této chodby vstoupit. A právě chování v chodbě, respektive ještě více uzavřeném prostoru je dalším reálnějším rozšířením. Do simulace bylo přidáno okno, ze kterého lze vyskočit. Je to druhá možnost záchrany, místo východů, které budou přeplněné. K tomu, aby člověk vyskočil z okna musí mít ale kuráž. Pod oknem by měli čekat hasiči, potažmo lidé s plachtou. Úspěšnost skoku ale není 100%. Je tu tedy jisté riziko. Dále se v modelu nachází možnost běhu lidí. Běh znamená, že lidé budou mít zvýšenou rychlost, ale podléhají riziku, že zakopnou a zlomí si nohu. V tom případě se jim razantně sníží rychlost, jelikož kvůli bolesti a fraktuře nebudou moci normálně chodit. Co se týká naivity lidí, kteří v základním modelu vběhli do ohně, byť ho viděli před sebou, tak v rozšířeném modelu je toto lépe ošetřeno. Pokud člověk vidí před sebou oheň, nevběhne do něj jako sebevrah, ale snaží se ho obejít, případně zůstane na svém místě. Určité riziko ovšem existuje a to, že se oheň prudce rozšíří i na místo, kde stojí člověk. V tom případě chytne a má špatně řečeno smůlu. Pokud kličkuje mezi ohněm má nastavený počet životů, který když mu vyprší, tak uhoří, respektive zemře. V rozšíření byla taktéž přidána možnost nastavení počtu východů.

Agenti a atributy

  • People (lidé) - rožšíření o:
    • stubled - boolean(pravda/nepravda) atribut, který označuje u člověka, zdali zakopl a zlomil si nohu, či nikoliv.
    • brave - označuje člověka, který se nebojí skočit z okna a taky tak udělá.
    • life - označuje počet životů, když člověk kličkuje mezi ohněm.
  • Obstacles (Překážky) - představuje agenta překážky, která je umístěná v prostoru a lidé okolo ní chodí.
    • material - představuje materiál, ze kterého je překážka vyrobena.
    • obstaclex - představuje horizontální souřadnici středu překážky.
    • obstacley - představuje vertikální souřadnici středu překážky.
  • Windows (Okna) - představuje agenta okna, ze kterého mohou lidé vyskočit.
    • windowx - představuje horizontální souřadnici středu okna.
    • windowy - představuje vertikální souřadnici středu okna.
  • Walls (Zdi) - představuje zdi chodby, která vede ke dvěma východům.
    • wallx - představuje horizontální souřadnici pravého konce zdi.
    • wally - představuje vertikální souřadnici pravého konce zdi.
    • alignment - určuje, zdali je zeď postavená vertikálně, nebo horizontálně. Možné nastavení: 1 - vertikální, 2 - horizontální jdoucí doleva, 3 - horizontální jdoucí doprava.

Parametry

  • jumpOK-people - indikuje počet lidí, kteří se skokem z okna zachránili.
  • jumpKO-people - indukuje počet lidí, kteří se skokem z okna zabili.

Grafické prostředí

Ovládání a monitory

Kód procedur

Výsledky

Závěr

Kód