<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.simulace.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pokm02</id>
	<title>Simulace.info - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.simulace.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pokm02"/>
	<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php/Special:Contributions/Pokm02"/>
	<updated>2026-07-27T16:31:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18887</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18887"/>
		<updated>2019-06-16T19:01:27Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: dokončeno&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
&lt;br /&gt;
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 [https://www.skiresort.cz/skiarealy/mapa/ Pec pod Sněžkou - Černá Hora, Jarov, 1b]. Tato sjezdovka je obsluhována jedním vlekem. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
'''Ski_max_global''': Maximální počet sjezdů &lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Životní Cyklus People===&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Tow-want''': Agent se snaží dostat k vleku. Další akcí je ''tow''&lt;br /&gt;
&lt;br /&gt;
'''Tow''': Agent je vynesen na vrcholek vleku. Na vrcholku vleku má šanci vlek opustit předčasně. Další akci je ''ski-want''&lt;br /&gt;
&lt;br /&gt;
'''Ski-want''': Agent si náhodně vybere místo na vrcholku a snaží se k němu dostat. Další akcí je ''ski''&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Leave''': Agent se snaží dostat k východu.&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce životního cyklu &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;br /&gt;
&lt;br /&gt;
=Obrázky=&lt;br /&gt;
&lt;br /&gt;
[[File:Skiing_example.PNG|center|Simulaze za chodu s možnými nastaveními]]&lt;br /&gt;
&lt;br /&gt;
===Vysvětlivky===&lt;br /&gt;
&lt;br /&gt;
'''Bílá''': Sjezdovka&lt;br /&gt;
&lt;br /&gt;
'''Světle modrá''': Pohyb mezi sjezdovkou a Vlekem&lt;br /&gt;
&lt;br /&gt;
'''Tmavě modrá''': Vlek&lt;br /&gt;
&lt;br /&gt;
'''Modrá''': Konec vleku&lt;br /&gt;
&lt;br /&gt;
'''Zelená''': Hranice sjezdovky (Stromy)&lt;br /&gt;
&lt;br /&gt;
'''Žlutá''': Vstup do areálu&lt;br /&gt;
&lt;br /&gt;
'''Červená''': Východ z areálu&lt;br /&gt;
&lt;br /&gt;
=Výsledky=&lt;br /&gt;
&lt;br /&gt;
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ě)&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Základní nastavení nezkoumaných vlastností'''&lt;br /&gt;
!| Vlastnost || Hodnota || Skupina 0 || Skupina 1 || Skupina 2&lt;br /&gt;
|-&lt;br /&gt;
| speed_tow|| 1 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| ski_max_global|| 7 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| people_max|| 100 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| width_env|| 20 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| speed_ski || || 0.5 || 1.0 || 1.5&lt;br /&gt;
|-&lt;br /&gt;
| speed_normal || || 0.5 || 0.5 || 0.5&lt;br /&gt;
|-&lt;br /&gt;
| turn_ski ||  || 7 || 7 || 7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Minimální hranice X Široké hranice==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Š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šší.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Minimální hranice X Široké hranice'''&lt;br /&gt;
!| Vlastnost || Minimální hranice || Široké hranice&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6746 || 4601&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1505 || 2450&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 47.18|| 30.49&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 2.59|| 59.8&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.04&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost vleku==&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost vleku'''&lt;br /&gt;
!| Vlastnost || speed_tow = 1 || speed_tow = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6549|| 7400&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1695|| 1992&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 50.38|| 55.87&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 10.5|| 7.68&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.05&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet sjezdů na agenta==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet sjezdů na agenta'''&lt;br /&gt;
!| Vlastnost || ski_max_global = 3 || speed_tow = 15&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 5550|| 6743&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 2481|| 1296&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 24.18|| 66.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.9|| 13.97&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet lidí v areálu==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet lidí v areálu'''&lt;br /&gt;
!| Vlastnost || people_max = 50 || people_max = 200&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 3422|| 7986&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 676|| 2477&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 28.11|| 61.77&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 11.09|| 10.46&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost sjezdu agenta==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost sjezdu agenta'''&lt;br /&gt;
!| Vlastnost || speed_ski = 0.5 || speed_ski = 1 || speed_ski = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 1627 || 2591 || 2269&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 609 || 596 || 631&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 58.62 || 44.3 || 62.92&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 20.53 || 7.38 || 5.23&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Četnost zatáčení agenta==&lt;br /&gt;
&lt;br /&gt;
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ů. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Četnost zatáčení agenta'''&lt;br /&gt;
!| Vlastnost || turn_ski = 5 || turn_ski = 10 || turn_ski = 20&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2302|| 2671|| 2662&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 478|| 502|| 511&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 16.74 || 26.79 || 26.03&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 23.22 || 7.97 || 8.41&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Rychlost pohybu agenta mimo sjezdovku==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost pohybu agenta mimo sjezdovku'''&lt;br /&gt;
!| Vlastnost || speed_normal = 0.3 || speed_normal = 0.6 || speed_normal = 0.9&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2555|| 2389|| 2192&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 509|| 512|| 530&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 27.9 || 25.39 || 21.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.86 || 20.31 || 31.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 2.36 || 0.2 || 3.96&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Kód=&lt;br /&gt;
&lt;br /&gt;
Zdrojový kód simulace: [[File:skiing.nlogo]]&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18886</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18886"/>
		<updated>2019-06-16T18:59:21Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: /* Zadání */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
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 [https://www.skiresort.cz/skiarealy/mapa/ Pec pod Sněžkou - Černá Hora, Jarov, 1b]. Tato sjezdovka je obsluhována jedním vlekem. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
'''Ski_max_global''': Maximální počet sjezdů &lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Životní Cyklus People===&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Tow-want''': Agent se snaží dostat k vleku. Další akcí je ''tow''&lt;br /&gt;
&lt;br /&gt;
'''Tow''': Agent je vynesen na vrcholek vleku. Na vrcholku vleku má šanci vlek opustit předčasně. Další akci je ''ski-want''&lt;br /&gt;
&lt;br /&gt;
'''Ski-want''': Agent si náhodně vybere místo na vrcholku a snaží se k němu dostat. Další akcí je ''ski''&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Leave''': Agent se snaží dostat k východu.&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce životního cyklu &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;br /&gt;
&lt;br /&gt;
=Obrázky=&lt;br /&gt;
&lt;br /&gt;
[[File:Skiing_example.PNG|center|Simulaze za chodu s možnými nastaveními]]&lt;br /&gt;
&lt;br /&gt;
===Vysvětlivky===&lt;br /&gt;
&lt;br /&gt;
'''Bílá''': Sjezdovka&lt;br /&gt;
&lt;br /&gt;
'''Světle modrá''': Pohyb mezi sjezdovkou a Vlekem&lt;br /&gt;
&lt;br /&gt;
'''Tmavě modrá''': Vlek&lt;br /&gt;
&lt;br /&gt;
'''Modrá''': Konec vleku&lt;br /&gt;
&lt;br /&gt;
'''Zelená''': Hranice sjezdovky (Stromy)&lt;br /&gt;
&lt;br /&gt;
'''Žlutá''': Vstup do areálu&lt;br /&gt;
&lt;br /&gt;
'''Červená''': Východ z areálu&lt;br /&gt;
&lt;br /&gt;
=Výsledky=&lt;br /&gt;
&lt;br /&gt;
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ě)&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Základní nastavení nezkoumaných vlastností'''&lt;br /&gt;
!| Vlastnost || Hodnota || Skupina 0 || Skupina 1 || Skupina 2&lt;br /&gt;
|-&lt;br /&gt;
| speed_tow|| 1 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| ski_max_global|| 7 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| people_max|| 100 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| width_env|| 20 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| speed_ski || || 0.5 || 1.0 || 1.5&lt;br /&gt;
|-&lt;br /&gt;
| speed_normal || || 0.5 || 0.5 || 0.5&lt;br /&gt;
|-&lt;br /&gt;
| turn_ski ||  || 7 || 7 || 7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Minimální hranice X Široké hranice==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Š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šší.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Minimální hranice X Široké hranice'''&lt;br /&gt;
!| Vlastnost || Minimální hranice || Široké hranice&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6746 || 4601&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1505 || 2450&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 47.18|| 30.49&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 2.59|| 59.8&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.04&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost vleku==&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost vleku'''&lt;br /&gt;
!| Vlastnost || speed_tow = 1 || speed_tow = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6549|| 7400&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1695|| 1992&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 50.38|| 55.87&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 10.5|| 7.68&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.05&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet sjezdů na agenta==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet sjezdů na agenta'''&lt;br /&gt;
!| Vlastnost || ski_max_global = 3 || speed_tow = 15&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 5550|| 6743&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 2481|| 1296&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 24.18|| 66.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.9|| 13.97&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet lidí v areálu==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet lidí v areálu'''&lt;br /&gt;
!| Vlastnost || people_max = 50 || people_max = 200&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 3422|| 7986&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 676|| 2477&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 28.11|| 61.77&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 11.09|| 10.46&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost sjezdu agenta==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost sjezdu agenta'''&lt;br /&gt;
!| Vlastnost || speed_ski = 0.5 || speed_ski = 1 || speed_ski = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 1627 || 2591 || 2269&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 609 || 596 || 631&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 58.62 || 44.3 || 62.92&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 20.53 || 7.38 || 5.23&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Četnost zatáčení agenta==&lt;br /&gt;
&lt;br /&gt;
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ů. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Četnost zatáčení agenta'''&lt;br /&gt;
!| Vlastnost || turn_ski = 5 || turn_ski = 10 || turn_ski = 20&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2302|| 2671|| 2662&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 478|| 502|| 511&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 16.74 || 26.79 || 26.03&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 23.22 || 7.97 || 8.41&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Rychlost pohybu agenta mimo sjezdovku==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost pohybu agenta mimo sjezdovku'''&lt;br /&gt;
!| Vlastnost || speed_normal = 0.3 || speed_normal = 0.6 || speed_normal = 0.9&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2555|| 2389|| 2192&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 509|| 512|| 530&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 27.9 || 25.39 || 21.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.86 || 20.31 || 31.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 2.36 || 0.2 || 3.96&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Kód=&lt;br /&gt;
&lt;br /&gt;
Zdrojový kód simulace: [[File:skiing.nlogo]]&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18885</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18885"/>
		<updated>2019-06-16T18:56:18Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: /* Agenti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
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 [https://www.skiresort.cz/skiarealy/mapa/ Pec pod Sněžkou - Černá Hora, Jarov, 1b]. Tato sjezdovka je obsluhována jedním vlekem. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
'''Ski_max_global''': Maximální počet sjezdů &lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Životní Cyklus People===&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Tow-want''': Agent se snaží dostat k vleku. Další akcí je ''tow''&lt;br /&gt;
&lt;br /&gt;
'''Tow''': Agent je vynesen na vrcholek vleku. Na vrcholku vleku má šanci vlek opustit předčasně. Další akci je ''ski-want''&lt;br /&gt;
&lt;br /&gt;
'''Ski-want''': Agent si náhodně vybere místo na vrcholku a snaží se k němu dostat. Další akcí je ''ski''&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Leave''': Agent se snaží dostat k východu.&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce životního cyklu &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;br /&gt;
&lt;br /&gt;
=Obrázky=&lt;br /&gt;
&lt;br /&gt;
[[File:Skiing_example.PNG|center|Simulaze za chodu s možnými nastaveními]]&lt;br /&gt;
&lt;br /&gt;
===Vysvětlivky===&lt;br /&gt;
&lt;br /&gt;
'''Bílá''': Sjezdovka&lt;br /&gt;
&lt;br /&gt;
'''Světle modrá''': Pohyb mezi sjezdovkou a Vlekem&lt;br /&gt;
&lt;br /&gt;
'''Tmavě modrá''': Vlek&lt;br /&gt;
&lt;br /&gt;
'''Modrá''': Konec vleku&lt;br /&gt;
&lt;br /&gt;
'''Zelená''': Hranice sjezdovky (Stromy)&lt;br /&gt;
&lt;br /&gt;
'''Žlutá''': Vstup do areálu&lt;br /&gt;
&lt;br /&gt;
'''Červená''': Východ z areálu&lt;br /&gt;
&lt;br /&gt;
=Výsledky=&lt;br /&gt;
&lt;br /&gt;
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ě)&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Základní nastavení nezkoumaných vlastností'''&lt;br /&gt;
!| Vlastnost || Hodnota || Skupina 0 || Skupina 1 || Skupina 2&lt;br /&gt;
|-&lt;br /&gt;
| speed_tow|| 1 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| ski_max_global|| 7 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| people_max|| 100 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| width_env|| 20 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| speed_ski || || 0.5 || 1.0 || 1.5&lt;br /&gt;
|-&lt;br /&gt;
| speed_normal || || 0.5 || 0.5 || 0.5&lt;br /&gt;
|-&lt;br /&gt;
| turn_ski ||  || 7 || 7 || 7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Minimální hranice X Široké hranice==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Š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šší.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Minimální hranice X Široké hranice'''&lt;br /&gt;
!| Vlastnost || Minimální hranice || Široké hranice&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6746 || 4601&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1505 || 2450&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 47.18|| 30.49&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 2.59|| 59.8&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.04&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost vleku==&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost vleku'''&lt;br /&gt;
!| Vlastnost || speed_tow = 1 || speed_tow = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6549|| 7400&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1695|| 1992&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 50.38|| 55.87&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 10.5|| 7.68&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.05&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet sjezdů na agenta==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet sjezdů na agenta'''&lt;br /&gt;
!| Vlastnost || ski_max_global = 3 || speed_tow = 15&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 5550|| 6743&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 2481|| 1296&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 24.18|| 66.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.9|| 13.97&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet lidí v areálu==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet lidí v areálu'''&lt;br /&gt;
!| Vlastnost || people_max = 50 || people_max = 200&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 3422|| 7986&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 676|| 2477&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 28.11|| 61.77&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 11.09|| 10.46&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost sjezdu agenta==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost sjezdu agenta'''&lt;br /&gt;
!| Vlastnost || speed_ski = 0.5 || speed_ski = 1 || speed_ski = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 1627 || 2591 || 2269&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 609 || 596 || 631&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 58.62 || 44.3 || 62.92&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 20.53 || 7.38 || 5.23&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Četnost zatáčení agenta==&lt;br /&gt;
&lt;br /&gt;
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ů. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Četnost zatáčení agenta'''&lt;br /&gt;
!| Vlastnost || turn_ski = 5 || turn_ski = 10 || turn_ski = 20&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2302|| 2671|| 2662&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 478|| 502|| 511&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 16.74 || 26.79 || 26.03&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 23.22 || 7.97 || 8.41&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Rychlost pohybu agenta mimo sjezdovku==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost pohybu agenta mimo sjezdovku'''&lt;br /&gt;
!| Vlastnost || speed_normal = 0.3 || speed_normal = 0.6 || speed_normal = 0.9&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2555|| 2389|| 2192&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 509|| 512|| 530&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 27.9 || 25.39 || 21.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.86 || 20.31 || 31.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 2.36 || 0.2 || 3.96&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Kód=&lt;br /&gt;
&lt;br /&gt;
Zdrojový kód simulace: [[File:skiing.nlogo]]&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18884</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18884"/>
		<updated>2019-06-16T18:55:56Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: /* Obrázky */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
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 [https://www.skiresort.cz/skiarealy/mapa/ Pec pod Sněžkou - Černá Hora, Jarov, 1b]. Tato sjezdovka je obsluhována jedním vlekem. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
'''Ski_max_global''': Maximální počet sjezdů &lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Životní Cyklus People===&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Tow-want''': Agent se snaží dostat k vleku. Další akcí je ''tow''&lt;br /&gt;
&lt;br /&gt;
'''Tow''': Agent je vynesen na vrcholek vleku. Na vrcholku vleku má šanci vlek opustit předčasně. Další akci je ''ski-want''&lt;br /&gt;
&lt;br /&gt;
'''Ski-want''': Agent si náhodně vybere místo na vrcholku a snaží se k němu dostat. Další akcí je ''ski''&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Leave''': Agent se snaží dostat k východu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce životního cyklu &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;br /&gt;
&lt;br /&gt;
=Obrázky=&lt;br /&gt;
&lt;br /&gt;
[[File:Skiing_example.PNG|center|Simulaze za chodu s možnými nastaveními]]&lt;br /&gt;
&lt;br /&gt;
===Vysvětlivky===&lt;br /&gt;
&lt;br /&gt;
'''Bílá''': Sjezdovka&lt;br /&gt;
&lt;br /&gt;
'''Světle modrá''': Pohyb mezi sjezdovkou a Vlekem&lt;br /&gt;
&lt;br /&gt;
'''Tmavě modrá''': Vlek&lt;br /&gt;
&lt;br /&gt;
'''Modrá''': Konec vleku&lt;br /&gt;
&lt;br /&gt;
'''Zelená''': Hranice sjezdovky (Stromy)&lt;br /&gt;
&lt;br /&gt;
'''Žlutá''': Vstup do areálu&lt;br /&gt;
&lt;br /&gt;
'''Červená''': Východ z areálu&lt;br /&gt;
&lt;br /&gt;
=Výsledky=&lt;br /&gt;
&lt;br /&gt;
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ě)&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Základní nastavení nezkoumaných vlastností'''&lt;br /&gt;
!| Vlastnost || Hodnota || Skupina 0 || Skupina 1 || Skupina 2&lt;br /&gt;
|-&lt;br /&gt;
| speed_tow|| 1 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| ski_max_global|| 7 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| people_max|| 100 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| width_env|| 20 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| speed_ski || || 0.5 || 1.0 || 1.5&lt;br /&gt;
|-&lt;br /&gt;
| speed_normal || || 0.5 || 0.5 || 0.5&lt;br /&gt;
|-&lt;br /&gt;
| turn_ski ||  || 7 || 7 || 7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Minimální hranice X Široké hranice==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Š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šší.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Minimální hranice X Široké hranice'''&lt;br /&gt;
!| Vlastnost || Minimální hranice || Široké hranice&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6746 || 4601&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1505 || 2450&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 47.18|| 30.49&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 2.59|| 59.8&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.04&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost vleku==&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost vleku'''&lt;br /&gt;
!| Vlastnost || speed_tow = 1 || speed_tow = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6549|| 7400&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1695|| 1992&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 50.38|| 55.87&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 10.5|| 7.68&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.05&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet sjezdů na agenta==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet sjezdů na agenta'''&lt;br /&gt;
!| Vlastnost || ski_max_global = 3 || speed_tow = 15&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 5550|| 6743&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 2481|| 1296&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 24.18|| 66.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.9|| 13.97&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet lidí v areálu==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet lidí v areálu'''&lt;br /&gt;
!| Vlastnost || people_max = 50 || people_max = 200&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 3422|| 7986&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 676|| 2477&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 28.11|| 61.77&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 11.09|| 10.46&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost sjezdu agenta==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost sjezdu agenta'''&lt;br /&gt;
!| Vlastnost || speed_ski = 0.5 || speed_ski = 1 || speed_ski = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 1627 || 2591 || 2269&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 609 || 596 || 631&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 58.62 || 44.3 || 62.92&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 20.53 || 7.38 || 5.23&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Četnost zatáčení agenta==&lt;br /&gt;
&lt;br /&gt;
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ů. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Četnost zatáčení agenta'''&lt;br /&gt;
!| Vlastnost || turn_ski = 5 || turn_ski = 10 || turn_ski = 20&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2302|| 2671|| 2662&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 478|| 502|| 511&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 16.74 || 26.79 || 26.03&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 23.22 || 7.97 || 8.41&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Rychlost pohybu agenta mimo sjezdovku==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost pohybu agenta mimo sjezdovku'''&lt;br /&gt;
!| Vlastnost || speed_normal = 0.3 || speed_normal = 0.6 || speed_normal = 0.9&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2555|| 2389|| 2192&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 509|| 512|| 530&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 27.9 || 25.39 || 21.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.86 || 20.31 || 31.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 2.36 || 0.2 || 3.96&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Kód=&lt;br /&gt;
&lt;br /&gt;
Zdrojový kód simulace: [[File:skiing.nlogo]]&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18883</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18883"/>
		<updated>2019-06-16T18:51:19Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
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 [https://www.skiresort.cz/skiarealy/mapa/ Pec pod Sněžkou - Černá Hora, Jarov, 1b]. Tato sjezdovka je obsluhována jedním vlekem. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
'''Ski_max_global''': Maximální počet sjezdů &lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Životní Cyklus People===&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Tow-want''': Agent se snaží dostat k vleku. Další akcí je ''tow''&lt;br /&gt;
&lt;br /&gt;
'''Tow''': Agent je vynesen na vrcholek vleku. Na vrcholku vleku má šanci vlek opustit předčasně. Další akci je ''ski-want''&lt;br /&gt;
&lt;br /&gt;
'''Ski-want''': Agent si náhodně vybere místo na vrcholku a snaží se k němu dostat. Další akcí je ''ski''&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Leave''': Agent se snaží dostat k východu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce životního cyklu &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;br /&gt;
&lt;br /&gt;
=Obrázky=&lt;br /&gt;
&lt;br /&gt;
[[File:Skiing_example.PNG|center|Simulaze za chodu s možnými nastaveními]]&lt;br /&gt;
&lt;br /&gt;
=Výsledky=&lt;br /&gt;
&lt;br /&gt;
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ě)&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Základní nastavení nezkoumaných vlastností'''&lt;br /&gt;
!| Vlastnost || Hodnota || Skupina 0 || Skupina 1 || Skupina 2&lt;br /&gt;
|-&lt;br /&gt;
| speed_tow|| 1 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| ski_max_global|| 7 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| people_max|| 100 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| width_env|| 20 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| speed_ski || || 0.5 || 1.0 || 1.5&lt;br /&gt;
|-&lt;br /&gt;
| speed_normal || || 0.5 || 0.5 || 0.5&lt;br /&gt;
|-&lt;br /&gt;
| turn_ski ||  || 7 || 7 || 7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Minimální hranice X Široké hranice==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Š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šší.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Minimální hranice X Široké hranice'''&lt;br /&gt;
!| Vlastnost || Minimální hranice || Široké hranice&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6746 || 4601&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1505 || 2450&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 47.18|| 30.49&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 2.59|| 59.8&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.04&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost vleku==&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost vleku'''&lt;br /&gt;
!| Vlastnost || speed_tow = 1 || speed_tow = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 6549|| 7400&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 1695|| 1992&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 50.38|| 55.87&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 10.5|| 7.68&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0.05&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet sjezdů na agenta==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet sjezdů na agenta'''&lt;br /&gt;
!| Vlastnost || ski_max_global = 3 || speed_tow = 15&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 5550|| 6743&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 2481|| 1296&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 24.18|| 66.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.9|| 13.97&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maximální počet lidí v areálu==&lt;br /&gt;
&lt;br /&gt;
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ů.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Maximální počet lidí v areálu'''&lt;br /&gt;
!| Vlastnost || people_max = 50 || people_max = 200&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 3422|| 7986&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 676|| 2477&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 28.11|| 61.77&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 11.09|| 10.46&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rychlost sjezdu agenta==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost sjezdu agenta'''&lt;br /&gt;
!| Vlastnost || speed_ski = 0.5 || speed_ski = 1 || speed_ski = 2&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 1627 || 2591 || 2269&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 609 || 596 || 631&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 58.62 || 44.3 || 62.92&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 20.53 || 7.38 || 5.23&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Četnost zatáčení agenta==&lt;br /&gt;
&lt;br /&gt;
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ů. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Četnost zatáčení agenta'''&lt;br /&gt;
!| Vlastnost || turn_ski = 5 || turn_ski = 10 || turn_ski = 20&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2302|| 2671|| 2662&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 478|| 502|| 511&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 16.74 || 26.79 || 26.03&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 23.22 || 7.97 || 8.41&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Rychlost pohybu agenta mimo sjezdovku==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;top&amp;quot; | '''Rychlost pohybu agenta mimo sjezdovku'''&lt;br /&gt;
!| Vlastnost || speed_normal = 0.3 || speed_normal = 0.6 || speed_normal = 0.9&lt;br /&gt;
|-&lt;br /&gt;
| people_ski_count || 2555|| 2389|| 2192&lt;br /&gt;
|-&lt;br /&gt;
| people_total || 509|| 512|| 530&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski% || 27.9 || 25.39 || 21.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_ski_env% || 7.86 || 20.31 || 31.51&lt;br /&gt;
|-&lt;br /&gt;
| people_injured_nonski% || 2.36 || 0.2 || 3.96&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Kód=&lt;br /&gt;
&lt;br /&gt;
Zdrojový kód simulace: [[File:skiing.nlogo]]&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=File:Skiing_example.PNG&amp;diff=18882</id>
		<title>File:Skiing example.PNG</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=File:Skiing_example.PNG&amp;diff=18882"/>
		<updated>2019-06-16T18:51:02Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: Pokm02 načetl novou verzi File:Skiing example.PNG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=File:Skiing.nlogo&amp;diff=18881</id>
		<title>File:Skiing.nlogo</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=File:Skiing.nlogo&amp;diff=18881"/>
		<updated>2019-06-16T18:22:11Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=File:Skiing_example.PNG&amp;diff=18880</id>
		<title>File:Skiing example.PNG</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=File:Skiing_example.PNG&amp;diff=18880"/>
		<updated>2019-06-16T18:21:49Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: Pokm02 načetl novou verzi File:Skiing example.PNG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18879</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18879"/>
		<updated>2019-06-16T17:33:19Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
'''Ski_max_global''': Maximální počet sjezdů &lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Životní Cyklus People===&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Tow-want''': Agent se snaží dostat k vleku. Další akcí je ''tow''&lt;br /&gt;
&lt;br /&gt;
'''Tow''': Agent je vynesen na vrcholek vleku. Na vrcholku vleku má šanci vlek opustit předčasně. Další akci je ''ski-want''&lt;br /&gt;
&lt;br /&gt;
'''Ski-want''': Agent si náhodně vybere místo na vrcholku a snaží se k němu dostat. Další akcí je ''ski''&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Leave''': Agent se snaží dostat k východu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce životního cyklu &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;br /&gt;
&lt;br /&gt;
=Obrázky=&lt;br /&gt;
&lt;br /&gt;
[[File:Skiing_example.PNG|center|Simulaze za chodu s možnými nastaveními]]&lt;br /&gt;
&lt;br /&gt;
=Výsledky=&lt;br /&gt;
&lt;br /&gt;
=Kód=&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=File:Skiing_example.PNG&amp;diff=18878</id>
		<title>File:Skiing example.PNG</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=File:Skiing_example.PNG&amp;diff=18878"/>
		<updated>2019-06-16T17:31:11Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18877</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18877"/>
		<updated>2019-06-16T16:32:24Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Životní Cyklus People===&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Tow-want''': Agent se snaží dostat k vleku. Další akcí je ''tow''&lt;br /&gt;
&lt;br /&gt;
'''Tow''': Agent je vynesen na vrcholek vleku. Na vrcholku vleku má šanci vlek opustit předčasně. Další akci je ''ski-want''&lt;br /&gt;
&lt;br /&gt;
'''Ski-want''': Agent si náhodně vybere místo na vrcholku a snaží se k němu dostat. Další akcí je ''ski''&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Leave''': Agent se snaží dostat k východu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce životního cyklu &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;br /&gt;
&lt;br /&gt;
=Obrázky=&lt;br /&gt;
&lt;br /&gt;
=Výsledky=&lt;br /&gt;
&lt;br /&gt;
=Kód=&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18876</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18876"/>
		<updated>2019-06-16T16:27:49Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Životní Cyklus People===&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Tow-want''': Agent se snaží dostat k vleku. Další akcí je ''tow''&lt;br /&gt;
&lt;br /&gt;
'''Tow''': Agent je vynesen na vrcholek vleku. Na vrcholku vleku má šanci vlek opustit předčasně. Další akci je ''ski-want''&lt;br /&gt;
&lt;br /&gt;
'''Ski-want''': Agent si náhodně vybere místo na vrcholku a snaží se k němu dostat. Další akcí je ''ski''&lt;br /&gt;
&lt;br /&gt;
'''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''&lt;br /&gt;
&lt;br /&gt;
'''Leave''': Agent se snaží dostat k východu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce životního cyklu &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18875</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18875"/>
		<updated>2019-06-16T16:17:19Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18874</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18874"/>
		<updated>2019-06-16T16:15:57Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Zadání =&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Metoda =&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
= Model =&lt;br /&gt;
&lt;br /&gt;
== Agenti ==&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
==Vlastnosti Modelu==&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18873</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18873"/>
		<updated>2019-06-16T16:14:41Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Zadání ==&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Metoda ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
== Model ==&lt;br /&gt;
&lt;br /&gt;
=== Agenti ===&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce &lt;br /&gt;
&lt;br /&gt;
'''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&lt;br /&gt;
&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18872</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18872"/>
		<updated>2019-06-16T16:14:11Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Zadání ==&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Metoda ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
== Model ==&lt;br /&gt;
&lt;br /&gt;
=== Agenti ===&lt;br /&gt;
&lt;br /&gt;
'''People''': Lidé přicházející na sjezdovku a využívající jejích služeb&lt;br /&gt;
'''Borders''': Hranice sjezdovky, omezující pohyb lyžařů. Jejich jedinou vlastností jsou souřadnice, kde se nácházejí.&lt;br /&gt;
&lt;br /&gt;
===Globální Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''Entry_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
'''Exit_x''': X souřadnice vstupu, Y souřadnice je 0 (úpatí svahu)&lt;br /&gt;
'''Tow_x''': X souřadnice vleku&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti Modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_max''': Maximální počet lidí v areálu&lt;br /&gt;
'''Speed_tow''': Rychlost vleku&lt;br /&gt;
'''Width_env''': Šířka hranice sjezdovky, nastavitelná pouze před vygenerováním modelu&lt;br /&gt;
&lt;br /&gt;
===Monitorované vlastnosti modelu===&lt;br /&gt;
&lt;br /&gt;
'''People_ski_count''': Počet úspěšných sjezdů lyžaři (pro každou skupinu)&lt;br /&gt;
'''People_total''': Celkový počet lidí, kteří vstoupili do areálu (pro každou skupinu)&lt;br /&gt;
'''People_injured_nonski''': Počet lidí, kteří se zasekli (zranili) při jiné činnosti než je lyžování (pro každou skupinu)&lt;br /&gt;
'''People_injured_ski''': Počet lidí, kteří se srazili s jinými lidmi (pro každou skupinu)&lt;br /&gt;
'''People_injured_ski_env''': Počet lidí, kteří se srazili s hranicemi sjezdovky (Borders) (pro každou skupinu)&lt;br /&gt;
&lt;br /&gt;
===Nastavitelné Vlastnosti People===&lt;br /&gt;
'''Speed_ski''': Rychlost při lyžování (pro každou skupinu)&lt;br /&gt;
'''Turn_ski''': Jak často se rozhoduje o změně směru (vyšší číslo = méně často) (pro každou skupinu)&lt;br /&gt;
'''Speed_normal''': Rychlost v nelyžařských prostorech (pro každou skupinu)&lt;br /&gt;
'''Ski_max''': Maximální počet sjezdů před opuštěním areálu&lt;br /&gt;
&lt;br /&gt;
===Pomocné Vlastnosti People===&lt;br /&gt;
'''Action''': Aktuální akce &lt;br /&gt;
'''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&lt;br /&gt;
'''Stuck_check_x''', '''Stuck_check_y''', '''Confused''': Vlastnosti pro kontrolování zaseknutí se v nelyžařských prostorech&lt;br /&gt;
'''Crashed''', '''Crashed_environment''': Vlastnosti pro kontrolování srážky s jinými agenty&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18871</id>
		<title>Simulace Sjezdovky (NetLogo)</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Simulace_Sjezdovky_(NetLogo)&amp;diff=18871"/>
		<updated>2019-06-16T14:28:11Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: Created page with &amp;quot;== Zadání ==  '''Název simulace''': Simulace sjezdovky  '''Autor''': Michal Pokorný  '''Typ modelu''': Multiagentní  '''Modelovací nástroj''': NetLogo  '''Popis Modelu'...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Zadání ==&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=SS_2018/2019/cs&amp;diff=18870</id>
		<title>SS 2018/2019/cs</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=SS_2018/2019/cs&amp;diff=18870"/>
		<updated>2019-06-16T14:25:18Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: /* Vypracovaná témata LS 2018/2019 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:LS 2018/2019}}&lt;br /&gt;
&lt;br /&gt;
Semestrální práce (simulace) z letního semestru 2018/2019. Sem přidejte odkaz na stránku s Vaší prací.&lt;br /&gt;
Nejprve je třeba nechat schválit [[Assignment SS 2018/2019/cs|zadání práce]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Vypracovaná témata LS 2018/2019=&lt;br /&gt;
* [[Simulace populací včel (Netlogo)]] - Michaela Trnková&lt;br /&gt;
* [[Simulace šíření spalniček (Vensim)]] - Jurij Povoroznyk, povj01&lt;br /&gt;
* [[Optimalizace centrálního skladu (Simprocess)]] - Martin Jirsa&lt;br /&gt;
* [[Simulace automobilových závodů (Netlogo)]] - [[User:Jinv00|Jinv00]] ([[User talk:Jinv00|talk]]) 16:26, 10 June 2019 (CET)&lt;br /&gt;
* [[Optimalizace počtu výčapov piva na štadióne (Simprocess)]] - Dominik Turak&lt;br /&gt;
* [[Simulace reklamačního oddělení (Simprocess)]] - Pavel Gregor&lt;br /&gt;
* [[Spotřeba surovin ve fastfoodu (Simprocess)]] - Josef Kočí&lt;br /&gt;
* [[Simulace výběru pokladny na prodejně (SIMPROCESS)]] - Jan Hazdra&lt;br /&gt;
* [[Model IT firmy (Vensim)]] - Josef Čekan, cekj01&lt;br /&gt;
* [[Simulace populačního vývoje České republiky (Vensim)]] - Adam Spivák&lt;br /&gt;
* [[Výtíženost posilovny (Simprocess)]] - Martin Matějka [[User:Xmatm82|Xmatm82]] ([[User talk:Xmatm82|talk]]) 20:55, 11 June 2019 (CET)&lt;br /&gt;
* [[Simulace Sjezdovky (NetLogo)]] - Michal Pokorný&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18357</id>
		<title>Agent reasoning/cs</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18357"/>
		<updated>2019-06-05T19:35:40Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: formatovani&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Uvažování agenta}}&lt;br /&gt;
&lt;br /&gt;
'''Uvažování agenta''' je proces, při kterém daný [[Agents/cs|agent]] rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Přístupy k uvažování agentů =&lt;br /&gt;
&lt;br /&gt;
Principy a přístupy k uvažování agentů se liší v závislosti na typu a složitosti agenta. Na složitosti použitého rozhodovacího přístupu také závisí nutný vypočetní výkon pro jeho realizaci a z toho plynoucí omezení v případě simulací většího rozsahu.&lt;br /&gt;
&lt;br /&gt;
=== Reaktivní agenti ===&lt;br /&gt;
&lt;br /&gt;
Reaktivní agenti jsou nejjednodušším typem agentů a při rozhodování používají primitivní IF-THEN logiku. Z tohoto důvodu jsou nejméně nároční na výpočetní výkon a vhodní pro masivní, ale jednoduché simulace.&lt;br /&gt;
&lt;br /&gt;
=== Deliberativní agenti ===&lt;br /&gt;
&lt;br /&gt;
Deliberativní agenti používají pro rozhodování složitější přístupy než prostá IF-THEN pravidla. Neexistuje dominantní přístup používaný pro uvažování deliberativních agentů. Základním dělením přístupů k uvažování těchto agentů je na základě čeho se rozhodují o provedení akcí.&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle cíle '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle užitku '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle vnitřní logiky  '''&lt;br /&gt;
&lt;br /&gt;
''' BDI (Beliefs-Desires-Intentions) Přístup '''&lt;br /&gt;
&lt;br /&gt;
= Přístup podle cíle =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů. &amp;lt;ref name=&amp;quot;GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.&amp;quot;&amp;gt; GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.. Dostupné z: http://projects.laas.fr/planning/book.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Přístup podle užitku =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které jim přinesou největší užitek. Zatímco cílové založený přístup rozeznával pouze dva možné výsledky – úspěch a neúspěch (1 a 0), užitkově založený přístup může využít pro ohodnocení výsledku celou číselnou škálu.&lt;br /&gt;
&lt;br /&gt;
Pro ohodnocení možných výsledků se používá užitková funkce:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f: p(x) \rightarrow u ; u \in R&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.&lt;br /&gt;
&lt;br /&gt;
Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky &amp;lt;ref name=&amp;quot;MARIK Ing., CSc. Radek - Czech Technical University - Classical Planning&amp;quot;&amp;gt;MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf&amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms&amp;quot;&amp;gt;MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms [online]. Dostupné z: http://icaps18.icaps-conference.org/fileadmin/alg/conferences/icaps18/summerschool/lectures/Lecture7-01.pdf&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
• '''Konečný systém''': konečný počet stavů, akcí a událostí&lt;br /&gt;
&lt;br /&gt;
• '''Plně pozorovatelný''': agent vždy vidí současný stav&lt;br /&gt;
&lt;br /&gt;
• '''Deterministický''': každá akce má vždy jen jeden výsledek&lt;br /&gt;
&lt;br /&gt;
• '''Statický''': model je ovlivňován pouze akcemi agenta&lt;br /&gt;
&lt;br /&gt;
• '''Dosažitelné cíle''': existuje sada cílových stavů, do kterých se agent chce dostat&lt;br /&gt;
&lt;br /&gt;
• '''Posloupnost plánů''': zkoumané plány jsou lineárně seřazené akce&lt;br /&gt;
&lt;br /&gt;
• '''Implicitní doby''': akce netrvají žádný čas, model je vyjádřen jako sekvence okamžitých stavů&lt;br /&gt;
&lt;br /&gt;
• '''Off-line plánování''': plánování probíhá před samotným provedením&lt;br /&gt;
&lt;br /&gt;
Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálně a často není k celkové analyze dispozici potřebná výpočetní síla.&lt;br /&gt;
&lt;br /&gt;
Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít [[Markov decision process/cs|Markovův rozhodovací proces]].&lt;br /&gt;
&lt;br /&gt;
== Příklady složitosti plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
[[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|400px|right|Vizualice problému sedmi mostů města Královce &amp;lt;ref name=&amp;quot;MacTutor History of Mathematics archive&amp;quot;&amp;gt; MacTutor History of Mathematics archive [online]. Dostupné z: http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
=== Sedm mostů města Královce ===&lt;br /&gt;
 &lt;br /&gt;
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. &amp;lt;ref name=&amp;quot;Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem&amp;quot;&amp;gt; Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem [online]. Dostupné z: https://www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: '''64'''&lt;br /&gt;
&lt;br /&gt;
=== Rubikova kostka ===&lt;br /&gt;
&lt;br /&gt;
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 3&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (orientace rohů) x 12!/2 (rozmístění hran) x 2&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt; (orientace hran) = '''4.325 · 10&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt;''' možných stavech &amp;lt;ref name=&amp;quot;Analyzing Rubik's Cube with GAP&amp;quot;&amp;gt; Analyzing Rubik's Cube with GAP [online]. Dostupné z: http://www.gap-system.org/Doc/Examples/rubik.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Přeprava nákladu ===&lt;br /&gt;
&lt;br /&gt;
• 10 letišť&lt;br /&gt;
&lt;br /&gt;
• 50 letadel&lt;br /&gt;
&lt;br /&gt;
• 200 kusů nákladu&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: 10&amp;lt;sup&amp;gt;50&amp;lt;/sup&amp;gt; x (50+10)&amp;lt;sup&amp;gt;200&amp;lt;/sup&amp;gt; = '''10&amp;lt;sup&amp;gt;405&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Problémy plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
Procházet všechny možné stavy evidentně není vůbec fyzicky možné a pří řešení je nutné využívat sofistikovanějších algoritmů. Dalším problémem přístupu podle užitku je vrozená subjektivnost hodnot, podle kterých se hodnotí užitek daného stavu v případech, kdy nemá výsledek přímou číselnou hodnotu (Pokud nám jde například o maximalizaci peněžního zisku či minimalizaci spotřeby materiálu, lze naopak užitek vyjádřit snadno). S tímto problémem souvisí další, určení v jakém časovém horizontu chceme užitkovost stavů zkoumat. Co je výhodné krátkodobě, nemusí být správné řešení dlouhodobě.&lt;br /&gt;
&lt;br /&gt;
= Přístup podle vnitřní logiky =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě vnitřních logických pravidel. Přístup má kořeny v symbolické umělé inteligenci a je založen na logických pravidlech nad sadou známých výroků. &lt;br /&gt;
Nechť S je sada logických výroků uložených agenty, které obsahují záznamy o stavu agentního prostředí a výsledky procesních funkcí. Nechť σ∈S je jeden logický výrok jako součást agentního prostředí. Nechť ρ je sada logických pravidel, které agent používá pro rozhodování. Nechť Ac je soubor všech možných akcí agenta a α∈Ac je jedna konkrétní akce.&lt;br /&gt;
V každém kole rozhodování agent projde každý predikát z S a pokusí se odvodit Do(α) pro každou akci α∈Ac. V případě, že takovou akci najde, tak ji provede. V případě, že se vhodnou akci najít nepovede, pokusí se najít takovou, která není výslovně zakázána pro daný stav σ. Pokud takovou akci nenajde, neprovede žádnou akci.&lt;br /&gt;
&lt;br /&gt;
== Příklad ==&lt;br /&gt;
&lt;br /&gt;
Agentem je řidič, který se rozhoduje jestli pojede rychleji než je předepsaná rychlost, nebo ne. Pokud jede pozdě, může se rozhodnout, že pojede rychleji. V takovém případě přijede včas, ale je šance, že ho zpozoruje fotoradar a bude muset zaplatit pokutu.&lt;br /&gt;
&lt;br /&gt;
=== Pravidla, kterými se agent řídí ===&lt;br /&gt;
&lt;br /&gt;
•  Pokud má agent ''méně'' času než potřebuje na dojezd do cíle včas, tak je ve ''spěchu''.&lt;br /&gt;
&lt;br /&gt;
''time left (X) ⋀ time needed (Y) ⋀ (X &amp;lt; Y) ⇒ hurry''&lt;br /&gt;
&lt;br /&gt;
•  Pokud ''není'' agent ve ''spěchu'', pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''¬hurry ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''velká'' šance, že po cestě narazí na radar, pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(high) ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''malá'' šance, že po cestě narazí na radar, pojede ''rychle''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(low) ⇒ Do(go fast)''&lt;br /&gt;
&lt;br /&gt;
=== Průběh simulace ===&lt;br /&gt;
&lt;br /&gt;
Na počátku je agentova sada stavů S prázdná.&lt;br /&gt;
&lt;br /&gt;
Během jízdy agentovy vstupní funkce aktualizují S s následujícími parametry:&lt;br /&gt;
&lt;br /&gt;
•  ''time left(20)''&lt;br /&gt;
&lt;br /&gt;
•  ''time needed(30)''&lt;br /&gt;
&lt;br /&gt;
•  ''risk of radar(low)''&lt;br /&gt;
&lt;br /&gt;
Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat. &amp;lt;ref name=&amp;quot;ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;quot;&amp;gt; ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BDI Přístup =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě svých představ (Beliefs), přání (Desires) a záměrů (Intentions). BDI přístup vychází z modelu lidského praktického usuzování, vytvořeného filosofem Michaelem E. Bratmanem. Tento model předpokládá stejné základní postupy při rozhodování jako přístupy založené na cílech/užitku a zahrnuje vytvoření cíle, kterého chceme dosáhnout a plánování, jak ho dosáhneme. &amp;lt;ref name=&amp;quot; BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987. ISBN 1-57586-192-5.&amp;quot;&amp;gt;  BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987. ISBN 1-57586-192-5.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Architektura ===&lt;br /&gt;
&lt;br /&gt;
Každý agent v simulace založené na BDI přístupu by měl mít tyto tři základní datové struktury. &amp;lt;ref name=&amp;quot; JENNINGS, Nick R. Specification And Implementation Of A Belief-Desire Joint-Intention Architecture For Collaborative Problem Solving. In Journal of Intelligent and Cooperative Information Systems 2 (3) 289-318. 1993.&amp;quot;&amp;gt;  JENNINGS, Nick R. Specification And Implementation Of A Belief-Desire Joint-Intention Architecture For Collaborative Problem Solving. In Journal of Intelligent and Cooperative Information Systems 2 (3) 289-318. 1993.  Dostupné z: https://eprints.soton.ac.uk/252091/1/IJICIS-2-3.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
•  '''Představy (Beliefs)''': Představy vyjadřují povědomí agenta o světě, dalších agentech i o sobě samém. Představy mohou také obsahovat inferenční pravidla, které vedou ke transformaci představ na jiné. Představy se neoznačují jako znalosti, protože představy agentů nemusí být vždy pravdivé a mohou se v čase měnit (i bez změny dané oblasti modelu).  &lt;br /&gt;
&lt;br /&gt;
•  '''Přání (Desires)''': Přání vyjadřují motivaci agenta. Popisují stavy nebo situace, kterých by agent rád dosáhnul. Přání, kterého se agent snaží aktivně dosáhnout, se označuje jako '''cíl'''. Cíle agenta by se neměly navzájem vylučovat, ačkoli přání mohou být v praxi protichůdná.&lt;br /&gt;
&lt;br /&gt;
•  '''Záměry (Intentions)''': Záměry vyjadřují co se agent rozhodl udělat. Záměry jsou přání, ke kterým se agent určitým způsobem zavázal. V simulačních modelech jsou to taková přání, ke kterým agent začal vykonávat '''plán'''. Plán je posloupnost akcí, které agent vykonává za účelem dosáhnutí nějakého svého záměru. Plány mohou obsahovat jiné plány a mohou se v závislosti na změnách představ agenta měnit v jejich průběhu. &lt;br /&gt;
&lt;br /&gt;
BDI přístup může být také rozšířen o '''povinnosti''' a poté mluvíme o '''BOID přístupu'''. Povinnosti zahrnují závazky, normy a standardy uvnitř sociálních struktur v modelu a vůči ostatním agentům. &amp;lt;ref name=&amp;quot; J. Broersen, M. Dastani, J. Hulstijn, Z. Huang, L. van der Torre The BOID architecture: conflicts between beliefs, obligations, intentions and desires. Fifth international conference on Autonomous agents, ACM New York, NY, USA&amp;quot;&amp;gt;J. Broersen, M. Dastani, J. Hulstijn, Z. Huang, L. van der Torre The BOID architecture: conflicts between beliefs, obligations, intentions and desires. Fifth international conference on Autonomous agents, ACM New York, NY, USA&amp;lt;/ref&amp;gt;  &lt;br /&gt;
 &lt;br /&gt;
Další nedílnou součástí těchto simulací jsou '''události'''. Události jsou spouštěče reaktivních akcí agenta. Události mohou měnit představy, cíle či uvádět plány do pohybu. Mohou pocházet z vnějších zdrojů a mít efekt na agenta skrz jeho senzory nebo z vnitřních a spuštět nepropojené aktualizace stavů nebo aktivit.&lt;br /&gt;
&lt;br /&gt;
===Procesy BDI agenta===&lt;br /&gt;
&lt;br /&gt;
[[File:BDI_Architecture_process.jpg|thumb|right|450px|Schéma BDI procesů &amp;lt;ref name=&amp;quot;Instituto de informática UFRGS - BDI Architecture&amp;quot;&amp;gt;Instituto de informática UFRGS - BDI Architecture [online]. Dostupné z: http://www.inf.ufrgs.br/prosoft/bdi4jade/?page_id=46&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Základní model uvažování BDI agenta se skládá z &amp;lt;ref name=&amp;quot;Instituto de informática UFRGS - BDI Architecture&amp;quot;&amp;gt;Instituto de informática UFRGS - BDI Architecture [online]. Dostupné z: http://www.inf.ufrgs.br/prosoft/bdi4jade/?page_id=46&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
•  Funkce pro '''revizi představ''' ''(Belief revision function)'': Na základě vnějších a vnitřních událostí mění agentovy představy o světě &lt;br /&gt;
&lt;br /&gt;
•  '''Představy''' ''(Beliefs)''&lt;br /&gt;
&lt;br /&gt;
•  Funkce pro '''vytváření přání''' ''(Option generation function)'': Na základě představ a záměrů agenta vytváří možná přání agenta&lt;br /&gt;
&lt;br /&gt;
•  '''Přání''' ''(Desires)''&lt;br /&gt;
&lt;br /&gt;
•  '''Filtr přání''' ''(Filter)'': Představuje deliberační proces agenta, rozhodující o jeho aktuálních záměrech na základě jeho představ, přání a stávajícíh záměrů/plánů.&lt;br /&gt;
&lt;br /&gt;
•  '''Záměry''' ''(Intentions)''&lt;br /&gt;
&lt;br /&gt;
•  Funkce pro '''rozhodování''' ''(Action selection function)'': Vybírá akce, které agen provede a rozhoduje o pořadí jejich provedení na základě současných záměrů agenta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18353</id>
		<title>Agent reasoning/cs</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18353"/>
		<updated>2019-06-05T19:28:02Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: konec asi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Uvažování agenta}}&lt;br /&gt;
&lt;br /&gt;
'''Uvažování agenta''' je proces, při kterém daný [[Agents/cs|agent]] rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Přístupy k uvažování agentů =&lt;br /&gt;
&lt;br /&gt;
Principy a přístupy k uvažování agentů se liší v závislosti na typu a složitosti agenta. Na složitosti použitého rozhodovacího přístupu také závisí nutný vypočetní výkon pro jeho realizaci a z toho plynoucí omezení v případě simulací většího rozsahu.&lt;br /&gt;
&lt;br /&gt;
=== Reaktivní agenti ===&lt;br /&gt;
&lt;br /&gt;
Reaktivní agenti jsou nejjednodušším typem agentů a při rozhodování používají primitivní IF-THEN logiku. Z tohoto důvodu jsou nejméně nároční na výpočetní výkon a vhodní pro masivní, ale jednoduché simulace.&lt;br /&gt;
&lt;br /&gt;
=== Deliberativní agenti ===&lt;br /&gt;
&lt;br /&gt;
Deliberativní agenti používají pro rozhodování složitější přístupy než prostá IF-THEN pravidla. Neexistuje dominantní přístup používaný pro uvažování deliberativních agentů. Základním dělením přístupů k uvažování těchto agentů je na základě čeho se rozhodují o provedení akcí.&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle cíle '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle užitku '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle vnitřní logiky  '''&lt;br /&gt;
&lt;br /&gt;
''' BDI (Beliefs-Desires-Intentions) Přístup '''&lt;br /&gt;
&lt;br /&gt;
= Přístup podle cíle =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů. &amp;lt;ref name=&amp;quot;GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.&amp;quot;&amp;gt; GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.. Dostupné z: http://projects.laas.fr/planning/book.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Přístup podle užitku =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které jim přinesou největší užitek. Zatímco cílové založený přístup rozeznával pouze dva možné výsledky – úspěch a neúspěch (1 a 0), užitkově založený přístup může využít pro ohodnocení výsledku celou číselnou škálu.&lt;br /&gt;
&lt;br /&gt;
Pro ohodnocení možných výsledků se používá užitková funkce:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f: p(x) \rightarrow u ; u \in R&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.&lt;br /&gt;
&lt;br /&gt;
Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky &amp;lt;ref name=&amp;quot;MARIK Ing., CSc. Radek - Czech Technical University - Classical Planning&amp;quot;&amp;gt;MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf&amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms&amp;quot;&amp;gt;MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms [online]. Dostupné z: http://icaps18.icaps-conference.org/fileadmin/alg/conferences/icaps18/summerschool/lectures/Lecture7-01.pdf&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
• '''Konečný systém''': konečný počet stavů, akcí a událostí&lt;br /&gt;
&lt;br /&gt;
• '''Plně pozorovatelný''': agent vždy vidí současný stav&lt;br /&gt;
&lt;br /&gt;
• '''Deterministický''': každá akce má vždy jen jeden výsledek&lt;br /&gt;
&lt;br /&gt;
• '''Statický''': model je ovlivňován pouze akcemi agenta&lt;br /&gt;
&lt;br /&gt;
• '''Dosažitelné cíle''': existuje sada cílových stavů, do kterých se agent chce dostat&lt;br /&gt;
&lt;br /&gt;
• '''Posloupnost plánů''': zkoumané plány jsou lineárně seřazené akce&lt;br /&gt;
&lt;br /&gt;
• '''Implicitní doby''': akce netrvají žádný čas, model je vyjádřen jako sekvence okamžitých stavů&lt;br /&gt;
&lt;br /&gt;
• '''Off-line plánování''': plánování probíhá před samotným provedením&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálně a často není k celkové analyze dispozici potřebná výpočetní síla.&lt;br /&gt;
&lt;br /&gt;
Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít [[Markov decision process/cs|Markovův rozhodovací proces]].&lt;br /&gt;
&lt;br /&gt;
== Příklady složitosti plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
[[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|300px|right|Vizualice problému sedmi mostů města Královce &amp;lt;ref name=&amp;quot;MacTutor History of Mathematics archive&amp;quot;&amp;gt; MacTutor History of Mathematics archive [online]. Dostupné z: http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
=== Sedm mostů města Královce ===&lt;br /&gt;
 &lt;br /&gt;
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. &amp;lt;ref name=&amp;quot;Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem&amp;quot;&amp;gt; Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem [online]. Dostupné z: https://www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: '''64'''&lt;br /&gt;
&lt;br /&gt;
=== Rubikova kostka ===&lt;br /&gt;
&lt;br /&gt;
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 3&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (orientace rohů) x 12!/2 (rozmístění hran) x 2&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt; (orientace hran) = '''4.325 · 10&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt;''' možných stavech &amp;lt;ref name=&amp;quot;Analyzing Rubik's Cube with GAP&amp;quot;&amp;gt; Analyzing Rubik's Cube with GAP [online]. Dostupné z: http://www.gap-system.org/Doc/Examples/rubik.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Přeprava nákladu ===&lt;br /&gt;
&lt;br /&gt;
• 10 letišť&lt;br /&gt;
&lt;br /&gt;
• 50 letadel&lt;br /&gt;
&lt;br /&gt;
• 200 kusů nákladu&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: 10&amp;lt;sup&amp;gt;50&amp;lt;/sup&amp;gt; x (50+10)&amp;lt;sup&amp;gt;200&amp;lt;/sup&amp;gt; = '''10&amp;lt;sup&amp;gt;405&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Problémy plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
Procházet všechny možné stavy evidentně není vůbec fyzicky možné a pří řešení je nutné využívat sofistikovanějších algoritmů. Dalším problémem přístupu podle užitku je vrozená subjektivnost hodnot, podle kterých se hodnotí užitek daného stavu v případech, kdy nemá výsledek přímou číselnou hodnotu (Pokud nám jde například o maximalizaci peněžního zisku či minimalizaci spotřeby materiálu, lze naopak užitek vyjádřit snadno). S tímto problémem souvisí další, určení v jakém časovém horizontu chceme užitkovost stavů zkoumat. Co je výhodné krátkodobě, nemusí být správné řešení dlouhodobě.&lt;br /&gt;
&lt;br /&gt;
= Přístup podle vnitřní logiky =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě vnitřních logických pravidel. Přístup má kořeny v symbolické umělé inteligenci a je založen na logických pravidlech nad sadou známých výroků. &lt;br /&gt;
Nechť S je sada logických výroků uložených agenty, které obsahují záznamy o stavu agentního prostředí a výsledky procesních funkcí. Nechť σ∈S je jeden logický výrok jako součást agentního prostředí. Nechť ρ je sada logických pravidel, které agent používá pro rozhodování. Nechť Ac je soubor všech možných akcí agenta a α∈Ac je jedna konkrétní akce.&lt;br /&gt;
V každém kole rozhodování agent projde každý predikát z S a pokusí se odvodit Do(α) pro každou akci α∈Ac. V případě, že takovou akci najde, tak ji provede. V případě, že se vhodnou akci najít nepovede, pokusí se najít takovou, která není výslovně zakázána pro daný stav σ. Pokud takovou akci nenajde, neprovede žádnou akci.&lt;br /&gt;
&lt;br /&gt;
== Příklad ==&lt;br /&gt;
&lt;br /&gt;
Agentem je řidič, který se rozhoduje jestli pojede rychleji než je předepsaná rychlost, nebo ne. Pokud jede pozdě, může se rozhodnout, že pojede rychleji. V takovém případě přijede včas, ale je šance, že ho zpozoruje fotoradar a bude muset zaplatit pokutu.&lt;br /&gt;
&lt;br /&gt;
=== Pravidla, kterými se agent řídí ===&lt;br /&gt;
&lt;br /&gt;
•  Pokud má agent ''méně'' času než potřebuje na dojezd do cíle včas, tak je ve ''spěchu''.&lt;br /&gt;
&lt;br /&gt;
''time left (X) ⋀ time needed (Y) ⋀ (X &amp;lt; Y) ⇒ hurry''&lt;br /&gt;
&lt;br /&gt;
•  Pokud ''není'' agent ve ''spěchu'', pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''¬hurry ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''velká'' šance, že po cestě narazí na radar, pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(high) ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''malá'' šance, že po cestě narazí na radar, pojede ''rychle''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(low) ⇒ Do(go fast)''&lt;br /&gt;
&lt;br /&gt;
=== Průběh simulace ===&lt;br /&gt;
&lt;br /&gt;
Na počátku je agentova sada stavů S prázdná.&lt;br /&gt;
&lt;br /&gt;
Během jízdy agentovy vstupní funkce aktualizují S s následujícími parametry:&lt;br /&gt;
&lt;br /&gt;
•  ''time left(20)''&lt;br /&gt;
&lt;br /&gt;
•  ''time needed(30)''&lt;br /&gt;
&lt;br /&gt;
•  ''risk of radar(low)''&lt;br /&gt;
&lt;br /&gt;
Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat. &amp;lt;ref name=&amp;quot;ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;quot;&amp;gt; ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BDI Přístup =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě svých představ (Beliefs), přání (Desires) a záměrů (Intentions). BDI přístup vychází z modelu lidského praktického usuzování, vytvořeného filosofem Michaelem E. Bratmanem. Tento model předpokládá stejné základní postupy při rozhodování jako přístupy založené na cílech/užitku a zahrnuje vytvoření cíle, kterého chceme dosáhnout a plánování, jak ho dosáhneme. &amp;lt;ref name=&amp;quot; BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987. ISBN 1-57586-192-5.&amp;quot;&amp;gt;  BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987. ISBN 1-57586-192-5.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Architektura ===&lt;br /&gt;
&lt;br /&gt;
Každý agent v simulace založené na BDI přístupu by měl mít tyto tři základní datové struktury. &amp;lt;ref name=&amp;quot; JENNINGS, Nick R. Specification And Implementation Of A Belief-Desire Joint-Intention Architecture For Collaborative Problem Solving. In Journal of Intelligent and Cooperative Information Systems 2 (3) 289-318. 1993.&amp;quot;&amp;gt;  JENNINGS, Nick R. Specification And Implementation Of A Belief-Desire Joint-Intention Architecture For Collaborative Problem Solving. In Journal of Intelligent and Cooperative Information Systems 2 (3) 289-318. 1993.  Dostupné z: https://eprints.soton.ac.uk/252091/1/IJICIS-2-3.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
•  '''Představy (Beliefs)''': Představy vyjadřují povědomí agenta o světě, dalších agentech i o sobě samém. Představy mohou také obsahovat inferenční pravidla, které vedou ke transformaci představ na jiné. Představy se neoznačují jako znalosti, protože představy agentů nemusí být vždy pravdivé a mohou se v čase měnit (i bez změny dané oblasti modelu).  &lt;br /&gt;
&lt;br /&gt;
•  '''Přání (Desires)''': Přání vyjadřují motivaci agenta. Popisují stavy nebo situace, kterých by agent rád dosáhnul. Přání, kterého se agent snaží aktivně dosáhnout, se označuje jako '''cíl'''. Cíle agenta by se neměly navzájem vylučovat, ačkoli přání mohou být v praxi protichůdná.&lt;br /&gt;
&lt;br /&gt;
•  '''Záměry (Intentions)''': Záměry vyjadřují co se agent rozhodl udělat. Záměry jsou přání, ke kterým se agent určitým způsobem zavázal. V simulačních modelech jsou to taková přání, ke kterým agent začal vykonávat '''plán'''. Plán je posloupnost akcí, které agent vykonává za účelem dosáhnutí nějakého svého záměru. Plány mohou obsahovat jiné plány a mohou se v závislosti na změnách představ agenta měnit v jejich průběhu. &lt;br /&gt;
&lt;br /&gt;
BDI přístup může být také rozšířen o '''povinnosti''' a poté mluvíme o '''BOID přístupu'''. Povinnosti zahrnují závazky, normy a standardy uvnitř sociálních struktur v modelu a vůči ostatním agentům. &amp;lt;ref name=&amp;quot; J. Broersen, M. Dastani, J. Hulstijn, Z. Huang, L. van der Torre The BOID architecture: conflicts between beliefs, obligations, intentions and desires. Fifth international conference on Autonomous agents, ACM New York, NY, USA&amp;quot;&amp;gt;J. Broersen, M. Dastani, J. Hulstijn, Z. Huang, L. van der Torre The BOID architecture: conflicts between beliefs, obligations, intentions and desires. Fifth international conference on Autonomous agents, ACM New York, NY, USA&amp;lt;/ref&amp;gt;  &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Další nedílnou součástí těchto simulací jsou '''události'''. Události jsou spouštěče reaktivních akcí agenta. Události mohou měnit představy, cíle či uvádět plány do pohybu. Mohou pocházet z vnějších zdrojů a mít efekt na agenta skrz jeho senzory nebo z vnitřních a spuštět nepropojené aktualizace stavů nebo aktivit.&lt;br /&gt;
&lt;br /&gt;
===Procesy BDI agenta===&lt;br /&gt;
&lt;br /&gt;
[[File:BDI_Architecture_process.jpg|thumb|400px|right|Schéma BDI procesů &amp;lt;ref name=&amp;quot;Instituto de informática UFRGS - BDI Architecture&amp;quot;&amp;gt;Instituto de informática UFRGS - BDI Architecture [online]. Dostupné z: http://www.inf.ufrgs.br/prosoft/bdi4jade/?page_id=46&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Základní model uvažování BDI agenta se skládá z &amp;lt;ref name=&amp;quot;Instituto de informática UFRGS - BDI Architecture&amp;quot;&amp;gt;Instituto de informática UFRGS - BDI Architecture [online]. Dostupné z: http://www.inf.ufrgs.br/prosoft/bdi4jade/?page_id=46&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
•  Funkce pro '''revizi představ''': Na základě vnějších a vnitřních událostí mění agentovy představy o světě &lt;br /&gt;
•  '''Představy (Beliefs)'''&lt;br /&gt;
•  Funkce pro '''vytváření přání''': Na základě představ a záměrů agenta vytváří možná přání agenta&lt;br /&gt;
•  '''Přání (Desires)'''&lt;br /&gt;
•  '''Filtr přání''': Představuje deliberační proces agenta, rozhodující o jeho aktuálních záměrech na základě jeho představ, přání a stávajícíh záměrů/plánů.&lt;br /&gt;
•  '''Záměry (Intentions)'''&lt;br /&gt;
•  Funkce pro '''rozhodování''': Vybírá akce, které agen provede a rozhoduje o pořadí jejich provedení na základě současných záměrů agenta.&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=File:BDI_Architecture_process.jpg&amp;diff=18349</id>
		<title>File:BDI Architecture process.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=File:BDI_Architecture_process.jpg&amp;diff=18349"/>
		<updated>2019-06-05T19:14:01Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18333</id>
		<title>Agent reasoning/cs</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18333"/>
		<updated>2019-06-05T17:52:55Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Uvažování agenta}}&lt;br /&gt;
&lt;br /&gt;
'''Uvažování agenta''' je proces, při kterém daný [[Agents/cs|agent]] rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Přístupy k uvažování agentů =&lt;br /&gt;
&lt;br /&gt;
Principy a přístupy k uvažování agentů se liší v závislosti na typu a složitosti agenta. Na složitosti použitého rozhodovacího přístupu také závisí nutný vypočetní výkon pro jeho realizaci a z toho plynoucí omezení v případě simulací většího rozsahu.&lt;br /&gt;
&lt;br /&gt;
=== Reaktivní agenti ===&lt;br /&gt;
&lt;br /&gt;
Reaktivní agenti jsou nejjednodušším typem agentů a při rozhodování používají primitivní IF-THEN logiku. Z tohoto důvodu jsou nejméně nároční na výpočetní výkon a vhodní pro masivní, ale jednoduché simulace.&lt;br /&gt;
&lt;br /&gt;
=== Deliberativní agenti ===&lt;br /&gt;
&lt;br /&gt;
Deliberativní agenti používají pro rozhodování složitější přístupy než prostá IF-THEN pravidla. Neexistuje dominantní přístup používaný pro uvažování deliberativních agentů. Základním dělením přístupů k uvažování těchto agentů je na základě čeho se rozhodují o provedení akcí.&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle cíle '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle užitku '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle vnitřní logiky  '''&lt;br /&gt;
&lt;br /&gt;
''' BDI (Beliefs-Desires-Intentions) Přístup '''&lt;br /&gt;
&lt;br /&gt;
= Přístup podle cíle =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů. &amp;lt;ref name=&amp;quot;GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.&amp;quot;&amp;gt; GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.. Dostupné z: http://projects.laas.fr/planning/book.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Přístup podle užitku =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které jim přinesou největší užitek. Zatímco cílové založený přístup rozeznával pouze dva možné výsledky – úspěch a neúspěch (1 a 0), užitkově založený přístup může využít pro ohodnocení výsledku celou číselnou škálu.&lt;br /&gt;
&lt;br /&gt;
Pro ohodnocení možných výsledků se používá užitková funkce:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f: p(x) \rightarrow u ; u \in R&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.&lt;br /&gt;
&lt;br /&gt;
Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky &amp;lt;ref name=&amp;quot;MARIK Ing., CSc. Radek - Czech Technical University - Classical Planning&amp;quot;&amp;gt;MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf&amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms&amp;quot;&amp;gt;MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms [online]. Dostupné z: http://icaps18.icaps-conference.org/fileadmin/alg/conferences/icaps18/summerschool/lectures/Lecture7-01.pdf&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
• '''Konečný systém''': konečný počet stavů, akcí a událostí&lt;br /&gt;
&lt;br /&gt;
• '''Plně pozorovatelný''': agent vždy vidí současný stav&lt;br /&gt;
&lt;br /&gt;
• '''Deterministický''': každá akce má vždy jen jeden výsledek&lt;br /&gt;
&lt;br /&gt;
• '''Statický''': model je ovlivňován pouze akcemi agenta&lt;br /&gt;
&lt;br /&gt;
• '''Dosažitelné cíle''': existuje sada cílových stavů, do kterých se agent chce dostat&lt;br /&gt;
&lt;br /&gt;
• '''Posloupnost plánů''': zkoumané plány jsou lineárně seřazené akce&lt;br /&gt;
&lt;br /&gt;
• '''Implicitní doby''': akce netrvají žádný čas, model je vyjádřen jako sekvence okamžitých stavů&lt;br /&gt;
&lt;br /&gt;
• '''Off-line plánování''': plánování probíhá před samotným provedením&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálně a často není k celkové analyze dispozici potřebná výpočetní síla.&lt;br /&gt;
&lt;br /&gt;
Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít [[Markov decision process/cs|Markovův rozhodovací proces]].&lt;br /&gt;
&lt;br /&gt;
== Příklady složitosti plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
[[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|300px|right|Vizualica problému sedmi mostů města Královce &amp;lt;ref name=&amp;quot;MacTutor History of Mathematics archive&amp;quot;&amp;gt; MacTutor History of Mathematics archive [online]. Dostupné z: http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
=== Sedm mostů města Královce ===&lt;br /&gt;
 &lt;br /&gt;
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. &amp;lt;ref name=&amp;quot;Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem&amp;quot;&amp;gt; Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem [online]. Dostupné z: https://www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: '''64'''&lt;br /&gt;
&lt;br /&gt;
=== Rubikova kostka ===&lt;br /&gt;
&lt;br /&gt;
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 3&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (orientace rohů) x 12!/2 (rozmístění hran) x 2&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt; (orientace hran) = '''4.325 · 10&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt;''' možných stavech &amp;lt;ref name=&amp;quot;Analyzing Rubik's Cube with GAP&amp;quot;&amp;gt; Analyzing Rubik's Cube with GAP [online]. Dostupné z: http://www.gap-system.org/Doc/Examples/rubik.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Přeprava nákladu ===&lt;br /&gt;
&lt;br /&gt;
• 10 letišť&lt;br /&gt;
&lt;br /&gt;
• 50 letadel&lt;br /&gt;
&lt;br /&gt;
• 200 kusů nákladu&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: 10&amp;lt;sup&amp;gt;50&amp;lt;/sup&amp;gt; x (50+10)&amp;lt;sup&amp;gt;200&amp;lt;/sup&amp;gt; = '''10&amp;lt;sup&amp;gt;405&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Problémy plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
Procházet všechny možné stavy evidentně není vůbec fyzicky možné a pří řešení je nutné využívat sofistikovanějších algoritmů. Dalším problémem přístupu podle užitku je vrozená subjektivnost hodnot, podle kterých se hodnotí užitek daného stavu v případech, kdy nemá výsledek přímou číselnou hodnotu (Pokud nám jde například o maximalizaci peněžního zisku či minimalizaci spotřeby materiálu, lze naopak užitek vyjádřit snadno). S tímto problémem souvisí další, určení v jakém časovém horizontu chceme užitkovost stavů zkoumat. Co je výhodné krátkodobě, nemusí být správné řešení dlouhodobě.&lt;br /&gt;
&lt;br /&gt;
= Přístup podle vnitřní logiky =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě vnitřních logických pravidel. Přístup má kořeny v symbolické umělé inteligenci a je založen na logických pravidlech nad sadou známých výroků. &lt;br /&gt;
Nechť S je sada logických výroků uložených agenty, které obsahují záznamy o stavu agentního prostředí a výsledky procesních funkcí. Nechť σ∈S je jeden logický výrok jako součást agentního prostředí. Nechť ρ je sada logických pravidel, které agent používá pro rozhodování. Nechť Ac je soubor všech možných akcí agenta a α∈Ac je jedna konkrétní akce.&lt;br /&gt;
V každém kole rozhodování agent projde každý predikát z S a pokusí se odvodit Do(α) pro každou akci α∈Ac. V případě, že takovou akci najde, tak ji provede. V případě, že se vhodnou akci najít nepovede, pokusí se najít takovou, která není výslovně zakázána pro daný stav σ. Pokud takovou akci nenajde, neprovede žádnou akci.&lt;br /&gt;
&lt;br /&gt;
== Příklad ==&lt;br /&gt;
&lt;br /&gt;
Agentem je řidič, který se rozhoduje jestli pojede rychleji než je předepsaná rychlost, nebo ne. Pokud jede pozdě, může se rozhodnout, že pojede rychleji. V takovém případě přijede včas, ale je šance, že ho zpozoruje fotoradar a bude muset zaplatit pokutu.&lt;br /&gt;
&lt;br /&gt;
=== Pravidla, kterými se agent řídí ===&lt;br /&gt;
&lt;br /&gt;
•  Pokud má agent ''méně'' času než potřebuje na dojezd do cíle včas, tak je ve ''spěchu''.&lt;br /&gt;
&lt;br /&gt;
''time left (X) ⋀ time needed (Y) ⋀ (X &amp;lt; Y) ⇒ hurry''&lt;br /&gt;
&lt;br /&gt;
•  Pokud ''není'' agent ve ''spěchu'', pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''¬hurry ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''velká'' šance, že po cestě narazí na radar, pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(high) ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''malá'' šance, že po cestě narazí na radar, pojede ''rychle''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(low) ⇒ Do(go fast)''&lt;br /&gt;
&lt;br /&gt;
=== Průběh simulace ===&lt;br /&gt;
&lt;br /&gt;
Na počátku je agentova sada stavů S prázdná.&lt;br /&gt;
&lt;br /&gt;
Během jízdy agentovy vstupní funkce aktualizují S s následujícími parametry:&lt;br /&gt;
&lt;br /&gt;
•  ''time left(20)''&lt;br /&gt;
&lt;br /&gt;
•  ''time needed(30)''&lt;br /&gt;
&lt;br /&gt;
•  ''risk of radar(low)''&lt;br /&gt;
&lt;br /&gt;
Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat. &amp;lt;ref name=&amp;quot;ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;quot;&amp;gt; ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BDI Přístup =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě svých představ (Beliefs), přání (Desires) a záměrů (Intentions). BDI přístup vychází z modelu lidského praktického usuzování, vytvořeného filosofem Michaelem E. Bratmanem. Tento model předpokládá stejné základní postupy při rozhodování jako přístupy založené na cílech/užitku a zahrnuje vytvoření cíle, kterého chceme dosáhnout a plánování, jak ho dosáhneme. &amp;lt;ref name=&amp;quot; BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987. ISBN 1-57586-192-5.&amp;quot;&amp;gt;  BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987. ISBN 1-57586-192-5.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Architektura ===&lt;br /&gt;
&lt;br /&gt;
Každý agent v simulace založené na BDI přístupu by měl mít tři datové struktury. &amp;lt;ref name=&amp;quot; JENNINGS, Nick R. Specification And Implementation Of A Belief-Desire Joint-Intention Architecture For Collaborative Problem Solving. In Journal of Intelligent and Cooperative Information Systems 2 (3) 289-318. 1993.&amp;quot;&amp;gt;  JENNINGS, Nick R. Specification And Implementation Of A Belief-Desire Joint-Intention Architecture For Collaborative Problem Solving. In Journal of Intelligent and Cooperative Information Systems 2 (3) 289-318. 1993.  Dostupné z: https://eprints.soton.ac.uk/252091/1/IJICIS-2-3.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
•  '''Představy (Beliefs)''': Představy vyjadřují povědomí agenta o světě, dalších agentech i o sobě samém. Představy mohou také obsahovat inferenční pravidla, které vedou ke transformaci představ na jiné. Představy se neoznačují jako znalosti, protože představy agentů nemusí být vždy pravdivé a mohou se v čase měnit (i bez změny dané oblasti modelu).  &lt;br /&gt;
&lt;br /&gt;
•  '''Přání (Desires)''': Přání vyjadřují motivaci agenta. Popisují stavy nebo situace, kterých by agent rád dosáhnul. Přání, kterého se agent snaží aktivně dosáhnout, se označuje jako '''cíl'''. Cíle agenta by se neměly navzájem vylučovat, ačkoli přání mohou být v praxi protichůdná.&lt;br /&gt;
&lt;br /&gt;
•  '''Záměry (Intentions)''': Záměry vyjadřují co se agent rozhodl udělat. Záměry jsou přání, ke kterým se agent určitým způsobem zavázal. V simulačních modelech jsou to taková přání, ke kterým agent začal vykonávat '''plán'''. Plán je posloupnost akcí, které agent vykonává za účelem dosáhnutí nějakého svého záměru. Plány mohou obsahovat jiné plány a mohou se v závislosti na změnách představ agenta měnit v jejich průběhu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18332</id>
		<title>Agent reasoning/cs</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18332"/>
		<updated>2019-06-05T15:12:13Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Uvažování agenta}}&lt;br /&gt;
&lt;br /&gt;
'''Uvažování agenta''' je proces, při kterém daný [[Agents/cs|agent]] rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Přístupy k uvažování agentů =&lt;br /&gt;
&lt;br /&gt;
Principy a přístupy k uvažování agentů se liší v závislosti na typu a složitosti agenta. Na složitosti použitého rozhodovacího přístupu také závisí nutný vypočetní výkon pro jeho realizaci a z toho plynoucí omezení v případě simulací většího rozsahu.&lt;br /&gt;
&lt;br /&gt;
=== Reaktivní agenti ===&lt;br /&gt;
&lt;br /&gt;
Reaktivní agenti jsou nejjednodušším typem agentů a při rozhodování používají primitivní IF-THEN logiku. Z tohoto důvodu jsou nejméně nároční na výpočetní výkon a vhodní pro masivní, ale jednoduché simulace.&lt;br /&gt;
&lt;br /&gt;
=== Deliberativní agenti ===&lt;br /&gt;
&lt;br /&gt;
Deliberativní agenti používají pro rozhodování složitější přístupy než prostá IF-THEN pravidla. Neexistuje dominantní přístup používaný pro uvažování deliberativních agentů. Základním dělením přístupů k uvažování těchto agentů je na základě čeho se rozhodují o provedení akcí.&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle cíle '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle užitku '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle vnitřní logiky  '''&lt;br /&gt;
&lt;br /&gt;
= Přístup podle cíle =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů. &amp;lt;ref name=&amp;quot;GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.&amp;quot;&amp;gt; GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.. Dostupné z: http://projects.laas.fr/planning/book.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Přístup podle užitku =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které jim přinesou největší užitek. Zatímco cílové založený přístup rozeznával pouze dva možné výsledky – úspěch a neúspěch (1 a 0), užitkově založený přístup může využít pro ohodnocení výsledku celou číselnou škálu.&lt;br /&gt;
&lt;br /&gt;
Pro ohodnocení možných výsledků se používá užitková funkce:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f: p(x) \rightarrow u ; u \in R&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.&lt;br /&gt;
&lt;br /&gt;
Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky &amp;lt;ref name=&amp;quot;MARIK Ing., CSc. Radek - Czech Technical University - Classical Planning&amp;quot;&amp;gt;MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf&amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms&amp;quot;&amp;gt;MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms [online]. Dostupné z: http://icaps18.icaps-conference.org/fileadmin/alg/conferences/icaps18/summerschool/lectures/Lecture7-01.pdf&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
• '''Konečný systém''': konečný počet stavů, akcí a událostí&lt;br /&gt;
&lt;br /&gt;
• '''Plně pozorovatelný''': agent vždy vidí současný stav&lt;br /&gt;
&lt;br /&gt;
• '''Deterministický''': každá akce má vždy jen jeden výsledek&lt;br /&gt;
&lt;br /&gt;
• '''Statický''': model je ovlivňován pouze akcemi agenta&lt;br /&gt;
&lt;br /&gt;
• '''Dosažitelné cíle''': existuje sada cílových stavů, do kterých se agent chce dostat&lt;br /&gt;
&lt;br /&gt;
• '''Posloupnost plánů''': zkoumané plány jsou lineárně seřazené akce&lt;br /&gt;
&lt;br /&gt;
• '''Implicitní doby''': akce netrvají žádný čas, model je vyjádřen jako sekvence okamžitých stavů&lt;br /&gt;
&lt;br /&gt;
• '''Off-line plánování''': plánování probíhá před samotným provedením&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálně a často není k celkové analyze dispozici potřebná výpočetní síla.&lt;br /&gt;
&lt;br /&gt;
Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít [[Markov decision process/cs|Markovův rozhodovací proces]].&lt;br /&gt;
&lt;br /&gt;
== Příklady složitosti plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
[[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|300px|right|Vizualica problému sedmi mostů města Královce &amp;lt;ref name=&amp;quot;MacTutor History of Mathematics archive&amp;quot;&amp;gt; MacTutor History of Mathematics archive [online]. Dostupné z: http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
=== Sedm mostů města Královce ===&lt;br /&gt;
 &lt;br /&gt;
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. &amp;lt;ref name=&amp;quot;Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem&amp;quot;&amp;gt; Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem [online]. Dostupné z: https://www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: '''64'''&lt;br /&gt;
&lt;br /&gt;
=== Rubikova kostka ===&lt;br /&gt;
&lt;br /&gt;
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 3&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (orientace rohů) x 12!/2 (rozmístění hran) x 2&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt; (orientace hran) = '''4.325 · 10&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt;''' možných stavech &amp;lt;ref name=&amp;quot;Analyzing Rubik's Cube with GAP&amp;quot;&amp;gt; Analyzing Rubik's Cube with GAP [online]. Dostupné z: http://www.gap-system.org/Doc/Examples/rubik.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Přeprava nákladu ===&lt;br /&gt;
&lt;br /&gt;
• 10 letišť&lt;br /&gt;
&lt;br /&gt;
• 50 letadel&lt;br /&gt;
&lt;br /&gt;
• 200 kusů nákladu&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: 10&amp;lt;sup&amp;gt;50&amp;lt;/sup&amp;gt; x (50+10)&amp;lt;sup&amp;gt;200&amp;lt;/sup&amp;gt; = '''10&amp;lt;sup&amp;gt;405&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Problémy plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
Procházet všechny možné stavy evidentně není vůbec fyzicky možné a pří řešení je nutné využívat sofistikovanějších algoritmů. Dalším problémem přístupu podle užitku je vrozená subjektivnost hodnot, podle kterých se hodnotí užitek daného stavu v případech, kdy nemá výsledek přímou číselnou hodnotu (Pokud nám jde například o maximalizaci peněžního zisku či minimalizaci spotřeby materiálu, lze naopak užitek vyjádřit snadno). S tímto problémem souvisí další, určení v jakém časovém horizontu chceme užitkovost stavů zkoumat. Co je výhodné krátkodobě, nemusí být správné řešení dlouhodobě.&lt;br /&gt;
&lt;br /&gt;
= Přístup podle vnitřní logiky =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě vnitřních logických pravidel. Přístup má kořeny v symbolické umělé inteligenci a je založen na logických pravidlech nad sadou známých výroků. &lt;br /&gt;
Nechť S je sada logických výroků uložených agenty, které obsahují záznamy o stavu agentního prostředí a výsledky procesních funkcí. Nechť σ∈S je jeden logický výrok jako součást agentního prostředí. Nechť ρ je sada logických pravidel, které agent používá pro rozhodování. Nechť Ac je soubor všech možných akcí agenta a α∈Ac je jedna konkrétní akce.&lt;br /&gt;
V každém kole rozhodování agent projde každý predikát z S a pokusí se odvodit Do(α) pro každou akci α∈Ac. V případě, že takovou akci najde, tak ji provede. V případě, že se vhodnou akci najít nepovede, pokusí se najít takovou, která není výslovně zakázána pro daný stav σ. Pokud takovou akci nenajde, neprovede žádnou akci.&lt;br /&gt;
&lt;br /&gt;
== Příklad ==&lt;br /&gt;
&lt;br /&gt;
Agentem je řidič, který se rozhoduje jestli pojede rychleji než je předepsaná rychlost, nebo ne. Pokud jede pozdě, může se rozhodnout, že pojede rychleji. V takovém případě přijede včas, ale je šance, že ho zpozoruje fotoradar a bude muset zaplatit pokutu.&lt;br /&gt;
&lt;br /&gt;
=== Pravidla, kterými se agent řídí ===&lt;br /&gt;
&lt;br /&gt;
•  Pokud má agent ''méně'' času než potřebuje na dojezd do cíle včas, tak je ve ''spěchu''.&lt;br /&gt;
&lt;br /&gt;
''time left (X) ⋀ time needed (Y) ⋀ (X &amp;lt; Y) ⇒ hurry''&lt;br /&gt;
&lt;br /&gt;
•  Pokud ''není'' agent ve ''spěchu'', pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''¬hurry ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''velká'' šance, že po cestě narazí na radar, pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(high) ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''malá'' šance, že po cestě narazí na radar, pojede ''rychle''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(low) ⇒ Do(go fast)''&lt;br /&gt;
&lt;br /&gt;
=== Průběh simulace ===&lt;br /&gt;
&lt;br /&gt;
Na počátku je agentova sada stavů S prázdná.&lt;br /&gt;
&lt;br /&gt;
Během jízdy agentovy vstupní funkce aktualizují S s následujícími parametry:&lt;br /&gt;
&lt;br /&gt;
•  ''time left(20)''&lt;br /&gt;
&lt;br /&gt;
•  ''time needed(30)''&lt;br /&gt;
&lt;br /&gt;
•  ''risk of radar(low)''&lt;br /&gt;
&lt;br /&gt;
Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat.&lt;br /&gt;
&amp;lt;ref name=&amp;quot;ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;quot;&amp;gt; ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18331</id>
		<title>Agent reasoning/cs</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18331"/>
		<updated>2019-06-05T14:56:08Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Uvažování agenta}}&lt;br /&gt;
&lt;br /&gt;
Uvažování agenta je proces, při kterém daný agent rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Přístupy k uvažování agentů =&lt;br /&gt;
&lt;br /&gt;
Principy a přístupy k uvažování agentů se liší v závislosti na typu a složitosti agenta. Na složitosti použitého rozhodovacího přístupu také závisí nutný vypočetní výkon pro jeho realizaci a z toho plynoucí omezení v případě simulací většího rozsahu.&lt;br /&gt;
&lt;br /&gt;
=== Reaktivní agenti ===&lt;br /&gt;
&lt;br /&gt;
Reaktivní agenti jsou nejjednodušším typem agentů a při rozhodování používají primitivní IF-THEN logiku. Z tohoto důvodu jsou nejméně nároční na výpočetní výkon a vhodní pro masivní, ale jednoduché simulace.&lt;br /&gt;
&lt;br /&gt;
=== Deliberativní agenti ===&lt;br /&gt;
&lt;br /&gt;
Deliberativní agenti používají pro rozhodování složitější přístupy než prostá IF-THEN pravidla. Neexistuje dominantní přístup používaný pro uvažování deliberativních agentů. Základním dělením přístupů k uvažování těchto agentů je na základě čeho se rozhodují o provedení akcí.&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle cíle '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle užitku '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle vnitřní logiky  '''&lt;br /&gt;
&lt;br /&gt;
= Přístup podle cíle =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů. &amp;lt;ref name=&amp;quot;GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.&amp;quot;&amp;gt; GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.. Dostupné z: http://projects.laas.fr/planning/book.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Přístup podle užitku =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které jim přinesou největší užitek. Zatímco cílové založený přístup rozeznával pouze dva možné výsledky – úspěch a neúspěch (1 a 0), užitkově založený přístup může využít pro ohodnocení výsledku celou číselnou škálu.&lt;br /&gt;
&lt;br /&gt;
Pro ohodnocení možných výsledků se používá užitková funkce:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f: p(x) \rightarrow u ; u \in R&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.&lt;br /&gt;
&lt;br /&gt;
Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky &amp;lt;ref name=&amp;quot;MARIK Ing., CSc. Radek - Czech Technical University - Classical Planning&amp;quot;&amp;gt;MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
• '''Konečný systém''': konečný počet stavů, akcí a událostí&lt;br /&gt;
&lt;br /&gt;
• '''Plně pozorovatelný''': agent vždy vidí současný stav&lt;br /&gt;
&lt;br /&gt;
• '''Deterministický''': každá akce má vždy jen jeden výsledek&lt;br /&gt;
&lt;br /&gt;
• '''Statický''': model je ovlivňován pouze akcemi agenta&lt;br /&gt;
&lt;br /&gt;
• '''Dosažitelné cíle''': existuje sada cílových stavů, do kterých se agent chce dostat&lt;br /&gt;
&lt;br /&gt;
• '''Posloupnost plánů''': zkoumané plány jsou lineárně seřazené akce&lt;br /&gt;
&lt;br /&gt;
• '''Implicitní doby''': akce netrvají žádný čas, model je vyjádřen jako sekvence okamžitých stavů&lt;br /&gt;
&lt;br /&gt;
• '''Off-line plánování''': plánování probíhá před samotným provedením&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálné a často není k celkové analyze dispozici potřebná výpočetní síla.&lt;br /&gt;
&lt;br /&gt;
Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít [[Markov decision process/cs|Markovův rozhodovací proces]].&lt;br /&gt;
&lt;br /&gt;
== Příklady složitosti plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
[[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|300px|right|Vizualica problému sedmi mostů města Královce &amp;lt;ref name=&amp;quot;MacTutor History of Mathematics archive&amp;quot;&amp;gt; MacTutor History of Mathematics archive [online]. Dostupné z: http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
=== Sedm mostů města Královce ===&lt;br /&gt;
 &lt;br /&gt;
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. &amp;lt;ref name=&amp;quot;Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem&amp;quot;&amp;gt; Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem [online]. Dostupné z: https://www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: '''64'''&lt;br /&gt;
&lt;br /&gt;
=== Rubikova kostka ===&lt;br /&gt;
&lt;br /&gt;
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 3&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (orientace rohů) x 12!/2 (rozmístění hran) x 2&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt; (orientace hran) = '''4.325 · 10&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt;''' možných stavech &amp;lt;ref name=&amp;quot;Analyzing Rubik's Cube with GAP&amp;quot;&amp;gt; Analyzing Rubik's Cube with GAP [online]. Dostupné z: http://www.gap-system.org/Doc/Examples/rubik.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Přeprava nákladu ===&lt;br /&gt;
&lt;br /&gt;
• 10 letišť&lt;br /&gt;
&lt;br /&gt;
• 50 letadel&lt;br /&gt;
&lt;br /&gt;
• 200 kusů nákladu&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: 10&amp;lt;sup&amp;gt;50&amp;lt;/sup&amp;gt; x (50+10)&amp;lt;sup&amp;gt;200&amp;lt;/sup&amp;gt; = '''10&amp;lt;sup&amp;gt;405&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Problémy plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
Procházet všechny možné stavy evidentně není vůbec fyzicky možné a pří řešení je nutné využívat sofistikovanějších algoritmů. Dalším problémem přístupu podle užitku je vrozená subjektivnost hodnot, podle kterých se hodnotí užitek daného stavu v případech, kdy nemá výsledek přímou číselnou hodnotu (Pokud nám jde například o maximalizaci peněžního zisku či minimalizaci spotřeby materiálu, lze naopak užitek vyjádřit snadno). S tímto problémem souvisí další, určení v jakém časovém horizontu chceme užitkovost stavů zkoumat. Co je výhodné krátkodobě, nemusí být správné řešení dlouhodobě.&lt;br /&gt;
&lt;br /&gt;
= Přístup podle vnitřní logiky =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě vnitřních logických pravidel. Přístup má kořeny v symbolické umělé inteligenci a je založen na logických pravidlech nad sadou známých výroků. &lt;br /&gt;
Nechť S je sada logických výroků uložených agenty, které obsahují záznamy o stavu agentního prostředí a výsledky procesních funkcí. Nechť σ∈S je jeden logický výrok jako součást agentního prostředí. Nechť ρ je sada logických pravidel, které agent používá pro rozhodování. Nechť Ac je soubor všech možných akcí agenta a α∈Ac je jedna konkrétní akce.&lt;br /&gt;
V každém kole rozhodování agent projde každý predikát z S a pokusí se odvodit Do(α) pro každou akci α∈Ac. V případě, že takovou akci najde, tak ji provede. V případě, že se vhodnou akci najít nepovede, pokusí se najít takovou, která není výslovně zakázána pro daný stav σ. Pokud takovou akci nenajde, neprovede žádnou akci.&lt;br /&gt;
&lt;br /&gt;
== Příklad ==&lt;br /&gt;
&lt;br /&gt;
Agentem je řidič, který se rozhoduje jestli pojede rychleji než je předepsaná rychlost, nebo ne. Pokud jede pozdě, může se rozhodnout, že pojede rychleji. V takovém případě přijede včas, ale je šance, že ho zpozoruje fotoradar a bude muset zaplatit pokutu.&lt;br /&gt;
&lt;br /&gt;
=== Pravidla, kterými se agent řídí ===&lt;br /&gt;
&lt;br /&gt;
•  Pokud má agent ''méně'' času než potřebuje na dojezd do cíle včas, tak je ve ''spěchu''.&lt;br /&gt;
&lt;br /&gt;
''time left (X) ⋀ time needed (Y) ⋀ (X &amp;lt; Y) ⇒ hurry''&lt;br /&gt;
&lt;br /&gt;
•  Pokud ''není'' agent ve ''spěchu'', pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''¬hurry ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''velká'' šance, že po cestě narazí na radar, pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(high) ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''malá'' šance, že po cestě narazí na radar, pojede ''rychle''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(low) ⇒ Do(go fast)''&lt;br /&gt;
&lt;br /&gt;
=== Průběh simulace ===&lt;br /&gt;
&lt;br /&gt;
Na počátku je agentova sada stavů S prázdná.&lt;br /&gt;
&lt;br /&gt;
Během jízdy agentovy vstupní funkce aktualizují S s následujícími parametry:&lt;br /&gt;
&lt;br /&gt;
•  ''time left(20)''&lt;br /&gt;
&lt;br /&gt;
•  ''time needed(30)''&lt;br /&gt;
&lt;br /&gt;
•  ''risk of radar(low)''&lt;br /&gt;
&lt;br /&gt;
Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat.&lt;br /&gt;
&amp;lt;ref name=&amp;quot;ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;quot;&amp;gt; ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18330</id>
		<title>Agent reasoning/cs</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18330"/>
		<updated>2019-06-05T14:33:27Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: /* Příklad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Uvažování agenta}}&lt;br /&gt;
&lt;br /&gt;
Uvažování agenta je proces, při kterém daný agent rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Přístupy k uvažování agentů =&lt;br /&gt;
&lt;br /&gt;
Principy a přístupy k uvažování agentů se liší v závislosti na typu a složitosti agenta. Na složitosti použitého rozhodovacího přístupu také závisí nutný vypočetní výkon pro jeho realizaci a z toho plynoucí omezení v případě simulací většího rozsahu.&lt;br /&gt;
&lt;br /&gt;
=== Reaktivní agenti ===&lt;br /&gt;
&lt;br /&gt;
Reaktivní agenti jsou nejjednodušším typem agentů a při rozhodování používají primitivní IF-THEN logiku. Z tohoto důvodu jsou nejméně nároční na výpočetní výkon a vhodní pro masivní, ale jednoduché simulace.&lt;br /&gt;
&lt;br /&gt;
=== Deliberativní agenti ===&lt;br /&gt;
&lt;br /&gt;
Deliberativní agenti používají pro rozhodování složitější přístupy než prostá IF-THEN pravidla. Neexistuje dominantní přístup používaný pro uvažování deliberativních agentů. Základním dělením přístupů k uvažování těchto agentů je na základě čeho se rozhodují o provedení akcí.&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle cíle '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle užitku '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle vnitřní logiky  '''&lt;br /&gt;
&lt;br /&gt;
= Přístup podle cíle =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů.&lt;br /&gt;
&lt;br /&gt;
= Přístup podle užitku =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které jim přinesou největší užitek. Zatímco cílové založený přístup rozeznával pouze dva možné výsledky – úspěch a neúspěch (1 a 0), užitkově založený přístup může využít pro ohodnocení výsledku celou číselnou škálu.&lt;br /&gt;
&lt;br /&gt;
Pro ohodnocení možných výsledků se používá užitková funkce:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f: p(x) \rightarrow u ; u \in R&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.&lt;br /&gt;
&lt;br /&gt;
Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky:&lt;br /&gt;
&lt;br /&gt;
• '''Konečný systém''': konečný počet stavů, akcí a událostí&lt;br /&gt;
&lt;br /&gt;
• '''Plně pozorovatelný''': agent vždy vidí současný stav&lt;br /&gt;
&lt;br /&gt;
• '''Deterministický''': každá akce má vždy jen jeden výsledek&lt;br /&gt;
&lt;br /&gt;
• '''Statický''': model je ovlivňován pouze akcemi agenta&lt;br /&gt;
&lt;br /&gt;
• '''Dosažitelné cíle''': existuje sada cílových stavů, do kterých se agent chce dostat&lt;br /&gt;
&lt;br /&gt;
• '''Posloupnost plánů''': zkoumané plány jsou lineárně seřazené akce&lt;br /&gt;
&lt;br /&gt;
• '''Implicitní doby''': akce netrvají žádný čas, model je vyjádřen jako sekvence okamžitých stavů&lt;br /&gt;
&lt;br /&gt;
• '''Off-line plánování''': plánování probíhá před samotným provedením&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálné a často není k celkové analyze dispozici potřebná výpočetní síla.&lt;br /&gt;
&lt;br /&gt;
Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít [[Markov decision process/cs|Markovův rozhodovací proces]].&lt;br /&gt;
&lt;br /&gt;
== Příklady složitosti plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
[[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|300px|right|Vizualica problému sedmi mostů města Královce]]&lt;br /&gt;
&lt;br /&gt;
=== Sedm mostů města Královce ===&lt;br /&gt;
 &lt;br /&gt;
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. &lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: '''64'''&lt;br /&gt;
&lt;br /&gt;
=== Rubikova kostka ===&lt;br /&gt;
&lt;br /&gt;
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 3&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (orientace rohů) x 12!/2 (rozmístění hran) x 2&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt; (orientace hran) = '''4.325 · 10&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt;''' možných stavech&lt;br /&gt;
&lt;br /&gt;
=== Přeprava nákladu ===&lt;br /&gt;
&lt;br /&gt;
• 10 letišť&lt;br /&gt;
&lt;br /&gt;
• 50 letadel&lt;br /&gt;
&lt;br /&gt;
• 200 kusů nákladu&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: 10&amp;lt;sup&amp;gt;50&amp;lt;/sup&amp;gt; x (50+10)&amp;lt;sup&amp;gt;200&amp;lt;/sup&amp;gt; = '''10&amp;lt;sup&amp;gt;405&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Problémy plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
Procházet všechny možné stavy evidentně není vůbec fyzicky možné a pří řešení je nutné využívat sofistikovanějších algoritmů. Dalším problémem přístupu podle užitku je vrozená subjektivnost hodnot, podle kterých se hodnotí užitek daného stavu v případech, kdy nemá výsledek přímou číselnou hodnotu (Pokud nám jde například o maximalizaci peněžního zisku či minimalizaci spotřeby materiálu, lze naopak užitek vyjádřit snadno). S tímto problémem souvisí další, určení v jakém časovém horizontu chceme užitkovost stavů zkoumat. Co je výhodné krátkodobě, nemusí být správné řešení dlouhodobě.&lt;br /&gt;
&lt;br /&gt;
= Přístup podle vnitřní logiky =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě vnitřních logických pravidel. Přístup má kořeny v symbolické umělé inteligenci a je založen na logických pravidlech nad sadou známých výroků. &lt;br /&gt;
Nechť S je sada logických výroků uložených agenty, které obsahují záznamy o stavu agentního prostředí a výsledky procesních funkcí. Nechť σ∈S je jeden logický výrok jako součást agentního prostředí. Nechť ρ je sada logických pravidel, které agent používá pro rozhodování. Nechť Ac je soubor všech možných akcí agenta a α∈Ac je jedna konkrétní akce.&lt;br /&gt;
V každém kole rozhodování agent projde každý predikát z S a pokusí se odvodit Do(α) pro každou akci α∈Ac. V případě, že takovou akci najde, tak ji provede. V případě, že se vhodnou akci najít nepovede, pokusí se najít takovou, která není výslovně zakázána pro daný stav σ. Pokud takovou akci nenajde, neprovede žádnou akci.&lt;br /&gt;
&lt;br /&gt;
== Příklad ==&lt;br /&gt;
&lt;br /&gt;
Agentem je řidič, který se rozhoduje jestli pojede rychleji než je předepsaná rychlost, nebo ne. Pokud jede pozdě, může se rozhodnout, že pojede rychleji. V takovém případě přijede včas, ale je šance, že ho zpozoruje fotoradar a bude muset zaplatit pokutu.&lt;br /&gt;
&lt;br /&gt;
=== Pravidla, kterými se agent řídí ===&lt;br /&gt;
&lt;br /&gt;
•  Pokud má agent ''méně'' času než potřebuje na dojezd do cíle včas, tak je ve ''spěchu''.&lt;br /&gt;
&lt;br /&gt;
''time left (X) ⋀ time needed (Y) ⋀ (X &amp;lt; Y) ⇒ hurry''&lt;br /&gt;
&lt;br /&gt;
•  Pokud ''není'' agent ve ''spěchu'', pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''¬hurry ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''velká'' šance, že po cestě narazí na radar, pojede ''pomalu''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(high) ⇒ Do(go slowly)''&lt;br /&gt;
&lt;br /&gt;
•  Pokud je agent ve ''spěchu'' a je ''malá'' šance, že po cestě narazí na radar, pojede ''rychle''.&lt;br /&gt;
&lt;br /&gt;
''hurry ⋀ risk of radar(low) ⇒ Do(go fast)''&lt;br /&gt;
&lt;br /&gt;
=== Průběh simulace ===&lt;br /&gt;
&lt;br /&gt;
Na počátku je agentova sada stavů S prázdná.&lt;br /&gt;
&lt;br /&gt;
Během jízdy agentovy vstupní funkce aktualizují S s následujícími parametry:&lt;br /&gt;
&lt;br /&gt;
•  ''time left(20)''&lt;br /&gt;
&lt;br /&gt;
•  ''time needed(30)''&lt;br /&gt;
&lt;br /&gt;
•  ''risk of radar(low)''&lt;br /&gt;
&lt;br /&gt;
Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat.&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18329</id>
		<title>Agent reasoning/cs</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Agent_reasoning/cs&amp;diff=18329"/>
		<updated>2019-06-05T13:42:05Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: Created page with &amp;quot;{{DISPLAYTITLE:Uvažování agenta}}  Uvažování agenta je proces, při kterém daný agent rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě in...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Uvažování agenta}}&lt;br /&gt;
&lt;br /&gt;
Uvažování agenta je proces, při kterém daný agent rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Přístupy k uvažování agentů =&lt;br /&gt;
&lt;br /&gt;
Principy a přístupy k uvažování agentů se liší v závislosti na typu a složitosti agenta. Na složitosti použitého rozhodovacího přístupu také závisí nutný vypočetní výkon pro jeho realizaci a z toho plynoucí omezení v případě simulací většího rozsahu.&lt;br /&gt;
&lt;br /&gt;
=== Reaktivní agenti ===&lt;br /&gt;
&lt;br /&gt;
Reaktivní agenti jsou nejjednodušším typem agentů a při rozhodování používají primitivní IF-THEN logiku. Z tohoto důvodu jsou nejméně nároční na výpočetní výkon a vhodní pro masivní, ale jednoduché simulace.&lt;br /&gt;
&lt;br /&gt;
=== Deliberativní agenti ===&lt;br /&gt;
&lt;br /&gt;
Deliberativní agenti používají pro rozhodování složitější přístupy než prostá IF-THEN pravidla. Neexistuje dominantní přístup používaný pro uvažování deliberativních agentů. Základním dělením přístupů k uvažování těchto agentů je na základě čeho se rozhodují o provedení akcí.&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle cíle '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle užitku '''&lt;br /&gt;
&lt;br /&gt;
''' Přístup podle vnitřní logiky  '''&lt;br /&gt;
&lt;br /&gt;
= Přístup podle cíle =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů.&lt;br /&gt;
&lt;br /&gt;
= Přístup podle užitku =&lt;br /&gt;
&lt;br /&gt;
Agenti rozhodují o svých akcích podle toho, které jim přinesou největší užitek. Zatímco cílové založený přístup rozeznával pouze dva možné výsledky – úspěch a neúspěch (1 a 0), užitkově založený přístup může využít pro ohodnocení výsledku celou číselnou škálu.&lt;br /&gt;
&lt;br /&gt;
Pro ohodnocení možných výsledků se používá užitková funkce:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f: p(x) \rightarrow u ; u \in R&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.&lt;br /&gt;
&lt;br /&gt;
Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky:&lt;br /&gt;
&lt;br /&gt;
• '''Konečný systém''': konečný počet stavů, akcí a událostí&lt;br /&gt;
&lt;br /&gt;
• '''Plně pozorovatelný''': agent vždy vidí současný stav&lt;br /&gt;
&lt;br /&gt;
• '''Deterministický''': každá akce má vždy jen jeden výsledek&lt;br /&gt;
&lt;br /&gt;
• '''Statický''': model je ovlivňován pouze akcemi agenta&lt;br /&gt;
&lt;br /&gt;
• '''Dosažitelné cíle''': existuje sada cílových stavů, do kterých se agent chce dostat&lt;br /&gt;
&lt;br /&gt;
• '''Posloupnost plánů''': zkoumané plány jsou lineárně seřazené akce&lt;br /&gt;
&lt;br /&gt;
• '''Implicitní doby''': akce netrvají žádný čas, model je vyjádřen jako sekvence okamžitých stavů&lt;br /&gt;
&lt;br /&gt;
• '''Off-line plánování''': plánování probíhá před samotným provedením&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálné a často není k celkové analyze dispozici potřebná výpočetní síla.&lt;br /&gt;
&lt;br /&gt;
Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít [[Markov decision process/cs|Markovův rozhodovací proces]].&lt;br /&gt;
&lt;br /&gt;
== Příklady složitosti plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
[[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|300px|right|Vizualica problému sedmi mostů města Královce]]&lt;br /&gt;
&lt;br /&gt;
=== Sedm mostů města Královce ===&lt;br /&gt;
 &lt;br /&gt;
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. &lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: '''64'''&lt;br /&gt;
&lt;br /&gt;
=== Rubikova kostka ===&lt;br /&gt;
&lt;br /&gt;
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 3&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (orientace rohů) x 12!/2 (rozmístění hran) x 2&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt; (orientace hran) = '''4.325 · 10&amp;lt;sup&amp;gt;19&amp;lt;/sup&amp;gt;''' možných stavech&lt;br /&gt;
&lt;br /&gt;
=== Přeprava nákladu ===&lt;br /&gt;
&lt;br /&gt;
• 10 letišť&lt;br /&gt;
&lt;br /&gt;
• 50 letadel&lt;br /&gt;
&lt;br /&gt;
• 200 kusů nákladu&lt;br /&gt;
&lt;br /&gt;
Celkový počet možných stavů: 10&amp;lt;sup&amp;gt;50&amp;lt;/sup&amp;gt; x (50+10)&amp;lt;sup&amp;gt;200&amp;lt;/sup&amp;gt; = '''10&amp;lt;sup&amp;gt;405&amp;lt;/sup&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Problémy plánování podle cíle/užitku ==&lt;br /&gt;
&lt;br /&gt;
Procházet všechny možné stavy evidentně není vůbec fyzicky možné a pří řešení je nutné využívat sofistikovanějších algoritmů. Dalším problémem přístupu podle užitku je vrozená subjektivnost hodnot, podle kterých se hodnotí užitek daného stavu v případech, kdy nemá výsledek přímou číselnou hodnotu (Pokud nám jde například o maximalizaci peněžního zisku či minimalizaci spotřeby materiálu, lze naopak užitek vyjádřit snadno). S tímto problémem souvisí další, určení v jakém časovém horizontu chceme užitkovost stavů zkoumat. Co je výhodné krátkodobě, nemusí být správné řešení dlouhodobě.&lt;br /&gt;
&lt;br /&gt;
= Přístup podle vnitřní logiky =&lt;br /&gt;
&lt;br /&gt;
Agenti se rozhodují na základě vnitřních logických pravidel. Přístup má kořeny v symbolické umělé inteligenci a je založen na logických pravidlech nad sadou známých výroků. &lt;br /&gt;
Nechť S je sada logických výroků uložených agenty, které obsahují záznamy o stavu agentního prostředí a výsledky procesních funkcí. Nechť σ∈S je jeden logický výrok jako součást agentního prostředí. Nechť ρ je sada logických pravidel, které agent používá pro rozhodování. Nechť Ac je soubor všech možných akcí agenta a α∈Ac je jedna konkrétní akce.&lt;br /&gt;
V každém kole rozhodování agent projde každý predikát z S a pokusí se odvodit Do(α) pro každou akci α∈Ac. V případě, že takovou akci najde, tak ji provede. V případě, že se vhodnou akci najít nepovede, pokusí se najít takovou, která není výslovně zakázána pro daný stav σ. Pokud takovou akci nenajde, neprovede žádnou akci.&lt;br /&gt;
&lt;br /&gt;
== Příklad ==&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=File:Seven_bridges_of_konigsberg_colour.jpeg&amp;diff=18328</id>
		<title>File:Seven bridges of konigsberg colour.jpeg</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=File:Seven_bridges_of_konigsberg_colour.jpeg&amp;diff=18328"/>
		<updated>2019-06-05T13:03:17Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
	<entry>
		<id>http://www.simulace.info/index.php?title=Assignment_SS_2018/2019/cs&amp;diff=17866</id>
		<title>Assignment SS 2018/2019/cs</title>
		<link rel="alternate" type="text/html" href="http://www.simulace.info/index.php?title=Assignment_SS_2018/2019/cs&amp;diff=17866"/>
		<updated>2019-04-28T16:10:33Z</updated>

		<summary type="html">&lt;p&gt;Pokm02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Zadání LS 2018/2019}}&lt;br /&gt;
&lt;br /&gt;
{{Ambox&lt;br /&gt;
| text  = &amp;lt;div&amp;gt;&lt;br /&gt;
Na tuto stránku vkládejte svá zadání. Nezapomeňte se podepsat. Můžete použít &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; (čtyři tildy) k automatickému podpisu. Používejte Ukázat náhled, abyste si prohlédli Váš výsledek před konečným odesláním.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Ambox&lt;br /&gt;
| text  = &amp;lt;div&amp;gt;&lt;br /&gt;
Prosíme, snažte se formulovat Vaše zadání pečlive. S ohledem na to, že jde o Vaši semestrální práci, očekáváme adekvátní úsilí vynaložené na zadání. Nezapomeňte, že hlavním výsledkem má být výzkumná zpráva, což znamená, že Váš simulační model musí generovat takové výsledky, které jsou konkrétní, měřitelné a ověřitelné. Pečlivě promyslete, jakým způsobem budete vyvíjet Váš model, odvoďte entity, které budete používat, nakreslete si diagram modelu, zvažte, co budete měřit. Teprve pokud máte o modelu dostatečně přesnou představu, vložte Vaše zadání. A samozřejmě, nezapomeňte si prosím přečíst [[How to deal with the simulation assignment/cs|Jak na simulace]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Ambox&lt;br /&gt;
| type  = content&lt;br /&gt;
| text  = &amp;lt;div&amp;gt;&lt;br /&gt;
Abychom se vyhnuli případnému budoucímu nedorozumnění, prosíme, ověřte si, že máte tučné '''schváleno''' někde v našem komentáři pod Vaším zadání. Pokud tam není '''schváleno''', znamená to, že Vaše zadání dosud schváleno nebylo.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Název simulace''': Simulace sjezdovky&lt;br /&gt;
&lt;br /&gt;
'''Autor''': Michal Pokorný&lt;br /&gt;
&lt;br /&gt;
'''Typ modelu''': Multiagentní&lt;br /&gt;
&lt;br /&gt;
'''Modelovací nástroj''': NetLogo&lt;br /&gt;
&lt;br /&gt;
'''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ů.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Parametry modelu''':&lt;br /&gt;
* Velikost svahu &lt;br /&gt;
* Počet účastníků&lt;br /&gt;
* Strategie (rychlost) účastníků&lt;br /&gt;
* Počet a rychlost vleků&lt;br /&gt;
&lt;br /&gt;
'''Možné rozšíření''': Úprk před lavinou, různé typy (rychlosti) sjezdovek, možnost pádu účastníka bez srážky s jiným účastníkem, různé obtížnosti sjezdovek (vyšší četnost pádů), vliv strategie na četnost pádů&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Pokm02</name></author>
		
	</entry>
</feed>