OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA KATEDRA INFORMATIKY A POČÍTAČŮ
Adaptace parametrů simulace komplexních systémů DIZERTAČNÍ PRÁCE
Autor práce: Mgr. Michal Janošek Vedoucí práce: doc. RNDr. PaedDr. Eva Volná, PhD. 2012
UNIVERSITY OF OSTRAVA FACULTY OF SCIENCE DEPARTMENT OF INFORMATICS AND COMPUTERS
Adaptation of the Simulation Parameters of Complex Systems PhD THESIS
Author: Supervisor:
Mgr. Michal Janošek doc. RNDr. PaedDr. Eva Volná, PhD. 2012
ČESTNÉ PROHLÁŠENÍ
Já, níže podepsaný/á student/ka tímto čestně prohlašuji, že text mnou odevzdané závěrečné práce v písemné podobě, nebo na CD nosiči, je totožný s textem závěrečné práce vloženým v databázi DIPL2.
V Ostravě dne ……………………………… podpis studenta/ky
ABSTRAKT Dizertační práce se zabývá počítačovou simulací a jejími parametry. Věnuje se zejména komplexním
systémům,
ve kterých
se
uplatňuje
přístup
bottom-up
se
znaky
samoorganizace a emergence. Na systém je nahlíženo zdola-nahoru, kdy jsou definovány jednotlivé entity systému a jejich základní chování. Interakce mezi entitami včetně chování systému jako celku poté vyplynou – emergují za jeho běhu. To, jak se systém chová, nebudeme nikdy schopni naprosto spolehlivě předpovědět. Vždy se vyskytnou zvraty a nečekané události. Z tohoto důvodu se práce soustředí na adaptaci systému, kdy je snaha najít takový prostředek k usměrnění chování systému, aby bylo možné se přizpůsobit aktuálnímu stavu systému a okolního prostředí, a reagovat na změny tak, aby bylo požadované chování systému udrženo ve stanovených mezích nebo vzorech chování. Prostředkem pro usměrňování chování systému jsou jeho parametry. Práce se věnuje rozboru parametrů simulace, zamýšlí se nad tím, zda existují parametry, které mají menší či větší vliv na požadované chování a také jak tyto parametry rozpoznat a rozdělit. Při rozpoznávání důležitosti parametrů se práce inspiruje teorií pákových bodů (Meadows 1999), na jejíž přístup k poznávání systému je navázáno. Chování systému je popisováno prostřednictvím vzorů chování. Samotná adaptace chování systému spočívá v rozpoznání těchto charakteristických vzorů pomocí neuronových sítí a následného usměrnění chování systému prostřednictvím vybraných parametrů a jejich akčních rozsahů na základě předem připravených očekávání co se stane, vykáže-li chování systému známý charakteristický vzor. Velká část práce je také věnována samotným vzorům, jejich popisu, reprezentaci a přípravě pro rozpoznávání neuronovou sítí. Výstupem práce je návrh vlastní metodiky pro adaptaci parametrů simulace, která je tvořena syntézou výše jmenovaných kroků a byla prakticky ověřena v rámci provedené experimentální studie. Klíčová slova: (simulace, adaptace, komplexní systém, parametr, pákový bod, neuronová síť, samoorganizace, emergence)
ABSTRACT The dissertation deals with computer simulation and its parameters. It addresses especially the complex systems in which the bottom-up approach along with self-organization and emergence is applied. The system is viewed from the bottom up, when individual entities of the system and their basic behaviour are defined. The interactions between the entities, including the behaviour of the system as a whole, then emerge while it is running. We can never completely reliably predict how the system will behave. There will always be changes and unexpected events. Therefore the thesis focuses on system adaptation, where there is an effort to find such a means of mediating the system's behaviour that would make it possible to adapt to the current state of the system and the environment and react to the changes so that the desired behaviour of the system is kept in specified limits or patterns of behaviour. The instruments of regulating the system's behaviour are its parameters. The thesis addresses the simulation parameters' analysis, reflects on whether there are such parameters that have a smaller or bigger influence on the desired behaviour, and how to recognize and divide them. In recognizing the parameters' importance the thesis is inspired by the leverage point theory (Meadows 1999) and builds on its approach to the system cognizance. The system's behaviour is described through the behaviour patterns. The adaptation of the system's behaviour itself consists of recognizing these characteristic patterns using the neural networks and the subsequent mediation of the system's behaviour through selected parameters and their action ranges based on pre-prepared expectations of what will happen if the system's behaviour exhibits a known characteristic pattern. A large part of the thesis also deals with the patterns themselves, their description, representation and preparation for the neural network recognition. The output of the thesis is my own methodology proposal for the adaptation of simulation's parameters, which consists of a synthesis of the above-mentioned steps and has been proved in practise during the conducted experimental study. Keywords: (simulation, complex system, parameter, leverage point, neural network, self-organization, emergence)
Poděkování Na tomto místě bych chtěl vyjádřit svůj dík všem, kteří svými připomínkami, náměty i kritikou přispěli ke kvalitě této práce. Především vedoucí dizertační práce doc. RNDr. PaedDr. Evě Volné, PhD. za její odborné vedení. Také všem členům katedry informatiky a počítačů Ostravské univerzity za jejich práci během celého mého studia.
Prohlašuji, že předložená práce je mým původním autorským dílem, které jsem vypracoval/a samostatně. Veškerou literaturu a další zdroje, z nichž jsem při zpracování čerpal/a, v práci řádně cituji a jsou uvedeny v seznamu použité literatury.
V Ostravě dne . . . . . . . . . . . . .................. (podpis)
OBSAH ABSTRAKT .................................................................................................................. 4 1
2
ÚVOD .................................................................................................................... 9 1.1
Motivace ........................................................................................................... 9
1.2
Struktura práce a metodika řešení .................................................................... 10
ANALÝZA SOUČASNÉHO STAVU .................................................................. 12 2.1
Komplexní systémy ......................................................................................... 12
2.2
Multiagentové systémy .................................................................................... 14
2.3
Samoorganizace .............................................................................................. 17
2.4
Model a vzory ................................................................................................. 18
2.5
Neuronové sítě ................................................................................................ 21
2.6
Pákové body ................................................................................................... 22
2.7
Verifikace a validace modelu ........................................................................... 28
2.8
Metodiky pro návrh komplexních systémů ....................................................... 30
2.8.1
Obecná metodika (GM) ............................................................................ 31
2.8.2
Adelfe ...................................................................................................... 33
2.8.3
The Customized Unified Process (CUP) .................................................... 33
2.8.4
MetaSelf .................................................................................................. 34
2.8.5
A Simulation Driven Approach (SDA) ...................................................... 35
2.9
Souhrn analýzy současného stavu .................................................................... 36
3
CÍLE DIZERTAČNÍ PRÁCE ............................................................................. 38
4
NÁVRH VLASTNÍHO ŘEŠENÍ ......................................................................... 39 4.1
Požadavky na metodiku ................................................................................... 39
4.2
Vlastní závěry z předchozích kapitol ................................................................ 41
4.3
Parametry simulace ......................................................................................... 44
4.3.1
Parametry a pákové body .......................................................................... 45
4.3.2
Parametry, vzory, chování a adaptace ........................................................ 50
4.3.3
Fixní a měnící se parametry ...................................................................... 51
4.4
Pákové body a seřazení parametrů ................................................................... 52
4.4.1
Testování parametrů ................................................................................. 53
4.4.2
Vliv vstupních parametrů na výstupní ukazatel .......................................... 55
4.4.3
Analýza citlivosti a stanovení mezí parametrů ........................................... 59
4.4.4 4.5
5
Akční parametry a rozsah ......................................................................... 60
Determinace a rozpoznávání vzorů pomocí neuronové sítě ............................... 62
4.5.1
Determinace tréninkových vzorů............................................................... 63
4.5.2
Binarizace vzorů ...................................................................................... 64
4.5.3
Adaptace neuronové sítě ........................................................................... 67
4.5.4
Rozpoznávání vzorů ................................................................................. 68
4.6
Adaptace parametrů systému ........................................................................... 70
4.7
Finální návrh metodiky.................................................................................... 72
4.8
Souhrn návrhu vlastního řešení ........................................................................ 75
EXPERIMENTÁLNÍ OVĚŘENÍ ........................................................................ 76 5.1
Shrnutí experimentálního ověření .................................................................... 89
ZÁVĚR ....................................................................................................................... 90 SEZNAM POUŽITÉ LITERATURY ......................................................................... 93 SEZNAM OBRÁZKŮ................................................................................................. 97 SEZNAM TABULEK ................................................................................................. 98 REJSTŘÍK .................................................................................................................. 99 SEZNAM PŘÍLOH ................................................................................................... 100
1 ÚVOD Náš svět se stává ze dne na den komplexnějším. Stejně tak prostředky, kterými se snažíme popsat a řídit okolní svět, jsou také čím dál tím více složitější. Přesto, ve velkém množství případů uvažujeme stále lineárně a mnohdy jsme zaskočeni chováním okolních systémů, které jsou charakteristické jistou dávkou nelinearity. Komplexní systémy můžeme najít ve všech oblastech lidské činnosti od filozofických a humanitních věd až k exaktním vědám jako matematika, informatika a fyzika. Modelování a simulace nám poskytuje efektivní nástroj jak vůbec pochopit a vypořádat se s chováním těchto systémů.
1.1 Motivace Jednou z hlavních motivací práce je možnost usměrnění chování systému adaptací jeho chování na základě jeho vnitřního stavu, anebo stavu okolního prostředí, v němž se systém nachází. Jedním z problémů, který je třeba řešit je problém adaptace vs. optimalizace. Aby systém reagoval dle předepsaného chování, je možné jeho parametry optimalizovat. Zde ovšem narážíme na jiný problém, kdy u dynamických komplexních systémů se optimální hodnota parametrů neustále mění. Proto se jeví jako výhodnější varianta využít pro řízení těchto systémů adaptační přístupy (Gershenson 2007). Jedním z přístupů jak budovat adaptivní systémy, je nechat jednotlivé entity systému samy nalézt vhodné řešení problému. Takové systémy vykazují známky samoorganizace. Před tím, než přistoupíme k návrhu simulace a jejímu běhu, je potřeba zodpovědět několik otázek. Patří mezi ně otázky související jak s návrhem simulačního modelu, tak se samotným během simulace. Jak vůbec postupovat při sestavení simulačního modelu? Jak poznáme, co je pro daný model důležité a co ne? Jak můžeme nejlépe ovlivnit chod simulace a chování daného systému? Toto jsou jen některé z otázek. Ačkoliv existuje množství kvalitních nástrojů a technik usnadňujících počítačovou simulaci, lze velmi těžko nalézt takový přístup, který by tuto fázi nějakým způsobem detailněji specifikoval. Existuje spousta matematických, statistických a dalších nástrojů, které nám mohou usnadnit jednotlivé aspekty týkajících se zejména simulačních experimentů. Většinou nalezneme pouze obecné informace, podle nichž bychom měli jak návrh, tak testování začít hlavními koncepty a až poté se dostat k detailům. Ale co jsou ty hlavní koncepty a co jsou detaily? 9
Hlavním prostředkem testování jsou parametry dané simulace. Jak se ale máme v množství parametrů simulace vyznat? Které parametry máme testovat? Jak je máme nastavovat? A z čeho máme při testování vycházet, abychom splnili požadovaný cíl? Které parametry jsou více a které méně důležité? Dizertační práce je svým zaměřením orientována na výzkum v oblasti umělého života a umělé inteligence, zejména pak na multiagentové systémy. Důraz je kladen na studium technologií uplatnitelných při modelování komplexních systémů a metodik vhodných pro návrh modelů těchto systémů. Na systém je zde nahlíženo jako na samoorganizující s důrazem na adaptivní kontrolní mechanismus. Ve své dizertační práci se primárně zabývám fází simulace, která patří mezi jednu z časově nejnáročnějších fází návrhu komplexního systému, kdy je třeba otestovat model systému s množstvím parametrů simulace, kontrolního mechanismu a jednotlivých komponent. V práci se zaměřuji na parametry simulace, jejich jednotlivou důležitost a nastavení těchto parametrů.
1.2 Struktura práce a metodika řešení Dizertační práce je rozdělena do šesti základních celků: Úvod, Analýza současného stavu, Cíle dizertační práce, Návrh vlastního řešení, Experimentální ověření a Závěr. Následuje seznam použité literatury, obrázků, tabulek, rejstřík a seznam příloh. Kapitola 1, Úvod, se věnuje úvodu do problematiky, motivací pro tuto práci a její strukturou a metodikou řešení. V kapitole 2, Analýze současného stavu, je uveden přehled všech témat týkajících se zaměření dizertační práce. Následuje analýza vybraných metodik pro návrh komplexních systémů, na které se dá nahlížet jako na samoorganizující systémy. Tato část práce obsahuje souhrn stávajícího poznání v dané oblasti a analýzu jednotlivých přístupů. V kapitole 3, Cíle dizertační práce, jsou na základě analýzy současného stavu stanoveny hlavní a dílčí cíle práce. V kapitole 4, Návrh vlastního řešení, je prezentován a proveden návrh vlastního řešení (metodiky). Nejprve je na základě cílů práce z předchozí kapitoly představen návrh řešení, který umožňuje tyto cíle splnit. Poté jsou rozebrány jednotlivé kroky řešení a následně sestaveny do finálního návrhu metodiky.
10
V kapitole 5, Experimentální ověření, je proveden experiment v prostředí NetLogo na základě navrženého řešení umožňující ověřit funkčnost navržené metodiky. V kapitole 6, Závěr, je prezentováno zhodnocení celé práce, její přínos a náčrt možného pokračování práce. Metodika řešení dizertační práce sestává z těchto hlavních kroků, a to teoretické části, formulace cílů práce a návrhu vlastního řešení (Obrázek 1).
Obrázek 1 – Metodika řešení dizertační práce Vstupem metodiky řešení dizertační práce je původní motivace. V rámci teoretické části je proveden sběr poznatků současného stavu řešení dané problematiky, jejímž výstupem je analýza současného stavu. Na základě této analýzy jsou sestaveny cíle práce. Stanovené cíle mohou vyžadovat další studium a analýzu. Z cílů vychází návrh řešení práce, jenž je základním podkladem pro vlastní řešení dané problematiky. V průběhu vlastního řešení je nutná jak postupná implementace a odzkoušení myšlenek, nápadů a návrhů, tak i průběžné publikování a zpětná odezva. Na základě postupujícího vlastního řešení je nutná konfrontace s cíli práce a ověření jejich plnění. Finálním výstupem je odevzdání dizertační práce.
11
2 ANALÝZA SOUČASNÉHO STAVU Tato kapitola prezentuje teoretická východiska práce a z ní vycházející analýzu současného stavu. Kapitola je rozčleněna dle jednotlivých tematických celků, jež jsou v dizertační práci obsaženy. V závěru je provedeno shrnutí analýzy současného stavu.
2.1 Komplexní systémy Na každý reálný systém je možno nahlížet jako na komplexní fenomén. Je složen z množství částí, které spolu reagují takovým způsobem, že je nesnadné je separovat. Navíc, chování systému je obtížné odvodit z chování jeho částí a toto odvození je tím obtížnější, čím více částí, nebo čím více interakcí se v systému nachází (Gershenson 2002). Vlastnosti systému mohou být rovněž výsledkem interakcí mezi komponentami systému, které tyto vlastnosti nemají. Tento jev nazýváme emergencí (Havel 2000), kdy vzájemné lokální působení mezi entitami způsobí na globální úrovni úplně nový fenomén (Chung and Choe 2009). Tento nový fenomén se z dílčích elementárních chování a vztahů vynořuje naprosto nečekaně a většinou i bez náznaků nějakého centrálního řízení (Hillis 1998). Příkladem může být např. tvar a chování hejna ptáků. I přesto, že zde není žádné centrální řízení a mezi jednotlivými jedinci dochází pouze k lokálním interakcím, vykazuje hejno jakoby organizovanou strukturu a chování. Čím složitější je systém z hlediska komponent a interakcí, tím složitější je jej dekomponovat na jednotlivé části. Navíc, v případě, že chování a vlastnosti systému emergují z interakcí jeho částí, jeví se jako vhodnější použít integrativní přístup namísto redukčního (Gershenson 2007). To znamená, že se na systém díváme z širšího úhlu pohledu (opak specializace). Což není v podstatě nic jiného, než rozdíl mezi přístupem shora dolů (top-down) a zdola nahoru (bottom-up). Dokonce se ukazuje, že navrhovat např. inteligentní systém je výhodné zdola-nahoru, kdy výsledná inteligence emerguje z chování jednotlivých částí, např. reaktivních agentů. Systémem se pak zabýváme zejména z pohledu jeho struktury a chování jako celku, což je opak přístupu shora dolů, kdy se snažíme rozdělit systém na jednotlivé části (Nahodil 2007). Příkladem může být emergence koordinované komunikace v populaci agentů (Kvasnička a Pospíchal 1999).
12
Složitost systému interakcí
(Gershenson 2002) se zvyšuje s množstvím jeho komponent
mezi komponenty, složitostí samotných elementů
,
a složitostí interakcí
(1).
(1)
Nelze jednoduše a bez kontextu rozhodnout, kdy je systém ještě jednoduchý a kdy již komplexní. Například celulární automaty jsou poměrně komplexní systémy svou strukturou, ale s celkem jednoduchými interakcemi. Na druhou stranu, systém pohybu kyvadla je strukturou poměrně jednoduchý systém, ale s poměrně složitými interakcemi. V případě statického systému je jednou z vhodných možností využít optimalizace parametrů simulace. Optimalizace nám dává ty nejlepší výsledky pro danou konfiguraci. Např. při návrhu křídla letadla nabízí optimalizace dobré výsledky, jelikož aerodynamické nároky letadla jsou konstantní (pro danou rychlost, hmotnost, atd.). Nicméně, optimalizační techniky mají tendenci dávat zastaralá řešení v případě, že problém se změní dřív, než stačíme provést samotnou optimalizaci (Gershenson 2009). Naproti tomu dynamické komplexní systémy se typicky sestávají z množství propojených pozitivních a negativních zpětnovazebních smyček, kde změna jakékoliv jeho části vyvolává kaskádovou změnu v množství propojených komponent, což se v konečném důsledku projeví negativní nebo pozitivní vazbou v původní komponentě. V případě proměnného času mezi těmito efekty je nemožné provádět jakoukoliv optimalizaci takového systému. Jelikož nevíme, co bude ovlivněno jako první, tím pádem ani nevíme, zda efekt bude potlačen či zesílen. Jako příklad můžeme uvést prostředí burzy. Na burze jsou akcie prodávány či nakupovány v závislosti na jejich ceně. Cena se odvíjí od toho, jak hodně se nakupuje nebo prodává. Tato vnitřní zpětnovazební smyčka má jak pozitivní, tak negativní aspekt. Zákon nabídky a poptávky implikuje negativní zpětnou vazbu, jelikož zvýšení ceny běžně redukuje poptávku, která po určité době, opět sníží cenu. Paralelní mechanismus spekulací přesto způsobuje pozitivní zpětnou vazbu, jelikož rostoucí cena vytváří u nakupujících předpoklad, že v růstu bude pokračovat, čímž je motivuje k dalšímu nakupování. Interakce mezi těmito dvěma
13
nelineárními efekty jsou běžné na trzích a produkují chaotické chování ve vývoji ceny (Gershenson 2007). Nikdy tedy nebudeme schopni plně kontrolovat nebo předvídat chování takovýchto komplexních chaotických systémů. Vždy se vyskytnou chyby, překvapení a nečekané problémy. Jaké je tedy jedno z možných řešení? Můžeme se vyrovnat s nečekanými událostmi adaptováním našich akcí vzhledem k vzniklé situaci (Heylighen 2003). Abychom se adaptovali na změnu (očekávanou nebo neočekávanou), je dostatečné kompenzovat vzniklou odchylku aktuální situace od požadovaného směru. V případě, že reakce na změnu přijde dostatečně rychle (předtím než problém bude mít možnost narůst), tato regulace (feedback-based) může být velmi efektivní. V případě, že máme prostředky k potlačení vzniklé odchylky chování systému od požadovaného směru, tak již nezáleží, jak moc je samotný systém komplikovaný z pohledu faktorů a interakcí (Kelly 1995). Např.
nezáleží,
jaké
kombinace
komplikovaných
sociálních,
politických
nebo
technologických změn způsobí změnu chování ekonomiky. Centrální banka může regulovat tempo růstu zvyšováním nebo snižováním úrokových sazeb. Abychom byli schopni reagovat rychle a pružně, je dobré mít alespoň nějaká očekávání toho, co se může stát a jaké reakce v řízení systému budou odpovídající. Očekávání zde reprezentují subjektivní pravděpodobnosti, které se učíme ze zkušeností. Potřebujeme tedy mít znalost o systému. Čím častěji se okolnost B objeví po okolnosti A (anebo čím účinnější je akce B při řešení problému A), tím silnější bude asociace A→B. Střetneme-li se v budoucnu s A (nebo s něčím podobným), budeme připraveni a pravděpodobně budeme i adekvátně reagovat. Jednoduchým uspořádáním možností dle pravděpodobností, se kterou mohou nastat, tak nesmírně snižujeme složitost při rozhodování (Heylighen 1994).
2.2 Multiagentové systémy Systém můžeme modelovat dvěma způsoby a to shora dolů, nebo zdola nahoru (Pelánek 2011). Při modelování shora dolů se díváme na systém jako celek. Jeho strukturu a chování popisujeme pomocí souhrnných veličin a zpětnovazebních smyček. Při modelování zdola nahoru popisujeme jednotlivé základní částí systému a jejich chování. Výsledné chování
14
systému jako celku poté dostáváme jako důsledek chování jeho částí. Jednou z možností jak modelovat systém zdola nahoru je prostřednictvím agentů a multiagentových systémů. Multiagentový systém (MAS) je tvořen minimálně dvěma agenty, nacházejícími se v daném prostředí. Agenty jsou v multiagentovém systému koordinovány a mohou spolu komunikovat, případně kooperovat na různých úrovních. Anglickému výrazu agents přísluší dva české ekvivalenty, a to agenty, případně agenti. Výraz agenty je používán pro neživotné entity, výraz agenti pro entity životné. Obojí je správně a záleží na kontextu. V zásadě rozlišujeme čtyři typy agentů, a to reaktivní, deliberativní, sociální a hybridní (Kubík 2004). Reaktivní agent má nejjednodušší vnitřní architekturu (Nolfi 2002). Akce agenta jsou pouze reakcí na podněty z prostředí. Deliberativní agent si uchovává reprezentaci prostředí a vnitřních stavů a je schopen vytvářet plány pro dosahování svých cílů. Sociální agent dokáže s ostatními sociálními agenty komunikovat ve vyšším komunikačním jazyce (jako například v jazyce KQML1) (Mirolli a Nolfi 2010). Hybridní agent je potom kombinací agentů předchozích typů. V posledních letech se čím dál více prosazuje pojem inteligentní agent (Wooldridge 2002), který sjednocuje všechny typy výše jmenovaných agentů, kdy agentové technologie jsou přirozeným rozšířením současných přístupů, opírajících se o dílčí komponenty (Nahodil 2007, Svatoš 2008). Inteligentní agent má podle Wooldridge (2002) následující vlastnosti (Nahodil 2009). Autonomnost – schopnost jednat samostatně a řídit své vnitřní stavy. Reaktivitu – schopnost vnímat interaktivně své okolní prostředí a reagovat včas na změny v něm probíhající. Proaktivní přístup – reakce na podněty z okolí neurčuje pouze momentální stav, ale i vlastní cíle agenta, které si sám vytváří. Sociálnost – schopnost interakce s ostatními agenty prostřednictvím společného jazyka pro komunikaci, což mu umožňuje s ostatními agenty kooperovat. Schopnost spolupráce – schopnost spolupracovat pro dosažení cíle s ostatními agenty. Schopnost zdůvodnění – schopnost vyvozovat závěry z aktuálních znalostí a vlastních zkušeností. Adaptivní chování – schopnost učit se, nebo měnit své chování na základě předchozích zkušeností. Důvěryhodnost – uživatel agenta si musí být velmi jistý, že agent bude konat k jeho prospěchu a bude poskytovat pravdivé informace. Mobilitu – schopnost agenta pohybovat se např. v rámci www sítě. 1
Knowledge Query and Manipulation Language
15
Věrohodnost – zda nebude agent vědomě poskytovat nepravdivé informace. Benevolenci – zda je užitečné držet se cílů, které jsou v konfliktu. Racionálnost – zda agenti podřizují svojí aktivitu dosažení svých cílů a zda nebudou po rozvaze úmyslně zamezovat svým faktickým jednáním těm cílům, kterých se má podle člověka v dalším dosáhnout. Učení/adaptaci – agenti v průběhu času zlepšují svoji výkonnost učením a adaptací. Agenty ovlivňují aplikační oblasti zejména při návrhu velkých celků a distribuovaných výpočetních systémů. Dále pak jsou zásobárnou, neboli zdrojem technologií, pro zmíněné počítačové systémy a nakonec mohou sloužit také jako modely velmi složitých reálných systémů (Nahodil 2007). Pomocí agentů je řešeno množství různých úloh. Zajímavou prací je rozpoznávání otisků prstů pomocí reaktivních agentů a neuronových sítí (Montesanto et al. 2006). Zde se autoři snaží řešit problém rozpoznávání otisků prstů jako navigaci reaktivních agentů v komplexním prostředí. Agent se pohybuje v prostředí, které je tvořeno samotným otiskem a snaží se dosáhnout svého předem daného cíle vyhodnocením lokálních informací. Modeluje se zde jistá variace plánování trasy. Dalším výzkumem je využití multiagentových systémů v průmyslu. V. Mařík a McFarlane (2005) navrhli multiagentový systém pro nasazení v průmyslových aplikacích. Multiagentový systém se nachází v kooperativním módu, kdy neexistuje žádný centrální řídící prvek. Tento přístup činí systém robustnější a je možné pracovat v reálném čase. Multiagentový systém je nasazen na všech úrovních průmyslové sféry a to od nejnižší fyzické úrovně až po podnikové plánování. Na všech úrovních výrobního systému pracuje komunita autonomních inteligentních agentů se svými cíli, kteří mezi sebou spolupracují a koordinují svá rozhodování k plnění globálního cíle. Mezi další využití MAS je jejich použití jako součást multiagentového obchodní systému obchodujícího na burze (Barbosa a Belo 2008). Cíl je kladen na jejich autonomnost a schopnost adaptace v souvislosti s interakcí s prostředím. V článku (Barbosa a Belo 2010) bylo analyzováno, jak se agenty hodí pro tuto operaci. Byla implementována množina autonomních obchodních agentů s využitím architektury, která integruje klasifikační moduly a také moduly fungující na základě pravidel expertních systémů. Výsledky simulace však nesplnily očekávání. Agenty prováděly velké množství obchodů a tím se staly neefektivní z hlediska vynaložených prostředků představující komise za jednotlivý obchod. 16
2.3 Samoorganizace Díky zpětným vazbám vzniká v komplexních systémech řád vycházející z malých a náhodných impulzů, kdy neexistuje žádný vnější zdroj onoho řádu. V těchto případech vzniká řád tzv. samoorganizací (Pelánek 2011). Je vcelku obtížné definovat pojem samoorganizace systému. Vše záleží na typu systému a také na úhlu pohledu pozorovatele. Požadovaný stav systému můžeme nazvat jako organizovaný, bude-li se dynamika systému vyvíjet směrem k organizovanému stavu systému. Stejně jako pojem inteligence či život (Krakauer a Zanotto 2006), nelze proto ani pojem samoorganizace jednoduše definovat. Systém ovšem můžeme popsat jako samoorganizující v případě, že jeho komponenty spolu interagují tak, aby dosáhly globální požadované funkce či chování (Gershenson 2005). Základní otázka by tedy neměla být, zda je systém samoorganizující, ale kdy je vhodné jej popsat jako samoorganizující? Samoorganizující systém je takový, jehož komponenty jsou navrženy tak, aby dynamicky a autonomně řešily problém nebo vykonávaly žádanou funkci na systémové úrovni (Gershenson 2007). Např. výrobní linka s roboty může být popsána jako samoorganizující systém, jelikož každá komponenta tohoto systému může měnit své chování na základě aktuálního stavu. Jednotlivé komponenty – roboty, vzájemně spolupracují, aby dosáhly společného cíle – plynulé výroby bez přerušení. Jakýkoliv systém pak může být modelován jako skupina agentů, kteří se snaží uspokojit své cíle (Gershenson 2007). Samozřejmě zde můžeme uvažovat několik vrstev multiagentového systému. Představme si např. výrobní továrnu. Nejvyšší vrstvu může reprezentovat jeden agent zahrnující celou továrnu. Na nižší vrstvě se mohou nacházet agenty reprezentující jednotlivé výrobní haly. Níže to mohou být jednotlivé výrobní linky v rámci haly. A konečně na nejnižší vrstvě mohou agenty reprezentovat jednotlivé stroje a zařízení zapojené ve výrobních linkách. Teorie regulace a řízení je zaměřena především na metody automatického řízení, ale zahrnuje i metody adaptivního a fuzzy řízení a nemusí se jednat jen o technické, ale i ekonomické aplikace. Obecně lze prostřednictvím řízení usměrnit chování systému požadovaným směrem.
17
Základní otázkou je, na základě čeho budeme systém řídit. Abychom dokázali systém řídit, potřebujeme konkrétní systémová data, podle kterých bychom se mohli rozhodnout. Samozřejmě nemusí jít pouze o data reprezentující chování systému, ale mohou obsahovat také údaje o prostředí, ve kterém se systém nachází a které jej ovlivňují. Rozdílné přístupy v řízení systému závisí na způsobu, jak tato systémová data zpracujeme a dále využijeme (Gershenson 2002). K řízení systému můžeme přistupovat několika způsoby. Jednou z možností je přímé řízení, další je řízení systému na základě predikce, případně adaptování odchylky systému od požadovaného směru a mnohé další. Přímým řízením je myšlena situace, kdy systémová data použijeme k přímé regulaci bez toho, abychom prováděli nějakou analýzu naměřených hodnot. Pokud se jedná o model jednoduchého lineárního systému, kdy výstupy systému jsou úměrné jeho vstupům a platí-li princip superpozice, je možno na základě analýzy průběhu vstupních dat provádět průběžnou predikci, jež obvykle bývá velmi přesná. V případě nelineárních systémů je adaptace jedním z nejefektivnějších a nejpřirozenějších způsobů řízení (Gershenson 2007). Gershenson (2007) navrhnul několik samoorganizujících systémů (samoorganizované dopravní semafory, samoorganizovaný úřad, samoorganizované přístroje), kde je každá část systému modelována jako agent plnící své cíle na nejnižší úrovni a poté na systémové úrovni nastavující takový způsob kooperace a komunikace agentů, aby jako celek systém směřoval ke svému cíli, pokud možno s co nejmenším „třením“ mezi jeho jednotlivými složkami. Další prací je využití samoorganizačních map jako nástroje k rozpoznání známých formací v tzv. svíčkových grafech na burze. Tyto mapy byly použity k vizualizaci vzorů a také jako vstupy pro komplexní rozhodovací obchodní systém. Rovněž byla představena profitabilní verze tohoto systému (Ciskowski a Zaton 2010).
2.4 Model a vzory Systém charakterizujeme nejčastěji tak, že si vytvoříme jeho model. Tento model odráží náš vlastní pohled, naše znalosti o systému a také účel, pro který model vytváříme. Gershenson (2007) zavádí dva typy modelů, absolutní a relativní. Absolutní model jevu či věci reprezentuje takový objekt, který je nezávislý na pozorovateli. Na druhou stranu relativní model odkazuje na vlastnosti jevu nebo věci tak, jak jsou vnímány pozorovatelem v určitém kontextu. Jelikož pozorovatel nemůže mít kompletní informace, může o své 18
realitě hovořit jen pomocí relativních modelů. Relativní model je omezený, zatímco absolutní model může mít nekonečně vlastností. Neexistuje tedy nejlepší model, pouze různé modely jsou vhodné pro různé kontexty nebo cíle. Budeme-li například modelovat dopravní infrastrukturu z hlediska nejefektivnější cesty, budeme na systém pohlížet jako na plánovač takovýchto tras. Na druhou stranu má termín infrastruktura v různých oblastech různé významy, lze na ni pohlížet jako na sociální model, případně vytvořit její model z biologického hlediska. Je tedy zřejmé, že nejsme schopni popsat kompletně celý systém do nejmenších detailů, jelikož ani nejsme schopni všechny tyto detaily pozorovat. Navíc, naše pozorování budou vždy zkreslená.
Obrázek 2 – Relativnost úhlu pohledu na stejný objekt (krabici) Představme si zelenou krabici, s otvorem na horní straně a stojící na zemi, z jejíhož otvoru stoupá dým (Obrázek 2). Na základě našeho pozorování můžeme usoudit, že krabice je celá zelená a uvnitř ní probíhá nějaký druh spalování. Pokud krabici otočíme tak, že otvor, kterým unikal dým, leží nyní na zemi, tak na témže obrázku vidíme, že tato krabice má protější stranu modrou. Jedna a tatáž krabice může proto mít více interpretací, popisů. Pokud máme vytvořen relativní model systému, můžeme v něm pozorovat jeho určité charakteristiky, a to jak v jeho popisu, tak i v jeho chování s ohledem na prostředí, ve kterém se systém nachází. Některé z těchto důležitých charakteristik můžeme označit za vzory. Pod pojmem „vzor“ si zde můžeme představit předdefinovaný objekt se stejnými nebo podobnými vlastnostmi. Jelikož se dále budeme zabývat chováním systému, budou nás zajímat hlavně takové vzory, které se v jeho chování opakovaně vyskytují. Vzory tedy reprezentují charakteristické formy chování relativního modelu systému (Castiglionet et al. 2001). Je proto důležité vybrat jen hlavní charakterizující vzory jeho chování. Najít v chování 19
systému vzory, které jsou vhodné i pro jeho adaptaci, je velmi složitý proces, většinou i opakovaný a nevyhneme se mnoha simulacím a testům. Na obrázku (Obrázek 3) je zobrazen vztah mezi absolutním modelem a relativním modelem reprezentovaným charakteristickými vzory. Pomocí vzorů popisujeme tedy ještě menší část absolutního modelu systému.
Absolutní model
Relativní model
Vzory
Obrázek 3 – Vztah mezi modely a vzory. Vzory zde reprezentují vhodný způsob, jakým lze popsat chování komplexních či chaotických systémů. V takových systémech stačí pro náš účel nalézt zásadní vzory jeho charakteristik a chování a stanovit si pravděpodobnost, co nastane v případě, že se objeví daný vzor. To nám dává možnost připravit si odpovídající reakci na rozpoznané chování systému. Obecně tak (při rozpoznávání vzorů) přiřazujeme nějaké vstupní hodnotě určitou hodnotu výstupní. V našem případě se soustředíme hlavně na klasifikaci, kdy vstupní hodnotě přiřadíme jednu z množiny výstupních tříd představujících zobecněné vzory. Posuneme-li se blíže k modelování a simulaci, můžeme relativní modely více konkretizovat. Pelánek (2011) rozděluje modely na několik kategorií. Mentální modely jsou asi nejblíže našemu myšlení, jelikož tyto modely sami podvědomě používáme. Pohled na svět, tak jak jej vnímáme, je vlastně jen náš zjednodušený model světa. Veškerá rozhodnutí, která děláme, vychází se simulací a analýz našeho modelu reality. Fyzické modely můžeme použít jako prostředek, pomocí něhož se snažíme co nejvěrohodněji napodobit realitu. Tyto modely se používají zejména při návrhu systémů, v současné době ustupují výpočetním modelům. Matematické modely jsou tvořeny popisnými a dynamickými modely. Popisné modely udávají vztah mezi proměnnými v určitém okamžiku, dynamické modely popisují, jak se mění hodnoty proměnných v čase. Účelem matematických modelů je vyřešit systém rovnic a najít rovnovážnou situaci. Výpočetní 20
model nezkoumáme analyticky, ale simulací (ať už jde o matematický zápis nebo program). Výslednou simulaci můžeme dostat buď pomocí numerického řešení rovnic, anebo spuštěním programu. V této práci nás budou zajímat zejména modely, pomocí nichž můžeme zkoumat dynamiku chování systému. Těmto kritériím vyhovují nejvíce modely výpočetní, kterými se budeme dále zabývat. U výpočetních modelů využíváme techniku modelování zdola nahoru, kdy se díváme na jednotlivé části a definujeme pravidla jejich chování. Vývoj systému jako celku dostaneme jako důsledek chování jednotlivých částí ve svém prostředí.
2.5 Neuronové sítě Jednou z hlavních motivací práce je adaptace chování komplexního systému. Chování systému lze popsat jak dle exaktních pravidel, tak dle pravidel vágnějších. Pro popis chování systému dle exaktních pravidel je důležité znát mechanismy, kterými je chování systému řízeno. Při použití vágnějších pravidel, nutnost znalosti těchto mechanismů odpadá. Navíc, výhoda vágnějších pravidel je v určité robustnosti popisu chování, kdy jsme schopni určité vzory chování zobecnit a vytvořit tak širší kategorii těchto vzorů. Vágnější pravidla mají tedy tu výhodu, že jsme schopni lépe a přirozeněji popsat chování systému. Jedním z nástrojů vhodných pro tento popis jsou neuronové sítě.
Obrázek 4 – Zjednodušený pohled na neuronovou síť s dopředným šířením Umělé neuronové sítě, které jsou inspirovány biologickými neuronovými sítěmi, se skládají ze vzájemně propojených umělých neuronů. Jsou tedy modelem biologických struktur neuronů v živých organismech. V biologických a stejně tak v umělých 21
neuronových sítích jsou jednotlivé neurony propojeny prostřednictvím synapsí s určitou váhou a mohou mít jak aktivační, tak inhibiční charakter (Obrázek 4). Existuje celá řada modelů neuronů. Jednou z velmi důležitých schopností lidského mozku je učení, které bylo podkladem pro teorii Hebbova učení v umělých neuronových sítích (Hebb 1949). Toto učení je založeno na myšlence, že váhové hodnoty na spojení mezi dvěma neurony, které jsou současně v aktivním stavu, budou narůstat. Naopak, váhové hodnoty na spojení mezi dvěma neurony, které jsou současně v neaktivním stavu, se budou zmenšovat (Volná 1998). Teorie je často sumarizována jako: „Cells that fire together, wire together“ (Katz and Shatz 1996). Mezi hlavní aplikace neuronových sítí (Volná 1998) patří následující typy úloh. Mezi první skupinu úloh patří aproximace funkcí (Enăchescu 2007), regresní analýza a predikce časových řad. Druhou skupinu úloh tvoří klasifikace zahrnující rozpoznávání vzorů (Bishop 1995) a sekvencí a podporu rozhodování. Poslední skupinou je zpracování dat zahrnující filtrování, shlukování, kompresi (Gaidhane et al. 2011). Na poli umělé inteligence se umělé neuronové sítě úspěšně využívají na rozpoznávání řeči, analýzu obrazu, adaptivní řízení (Wei et al. 2009).
2.6 Pákové body Chceme-li chování systému adaptovat, je žádoucí najít taková místa v systému, kdy působením na tato místa můžeme efektivně změnit chování systému žádaným směrem. Pákové body (leverage points), překládané také jako body působení, jsou místa v komplexním systému, kde malá změna v jedné části systému může vyústit ve velkou změnu ve všech jeho částech (Pelánek 2011). Pákou se rozumí velikost intervence do části systému (vstupu) která stačí pro ovlivnění chování celého systému (výstupu). Čím vyšší je bod působení, tím menší úsilí je nutno vyvinout k ovlivnění chování celého systému, v poměru vynaložené úsilí ke změně celého systému (Obrázek 5).
22
Obrázek 5 – Vynaložené úsilí ke změně chování systému (http://www.thwink.org/sustain/glossary/images/LeveragePoint_Diagram.gif) Obecně řečeno, v případě, že vyvineme malé množství síly, tak nízký bod působení vyvolá malou změnu v systému, vysoký bod působení vyvolá velkou změnu v systému. Velikost změny chování systému je přímo úměrná hodnotě pákového bodu a vynaložené síle (2). (2) Tato rovnice (2) nám tedy ilustruje, jak uspět v řešení složitého problému. Systém je nutné studovat a najít vyšší pákové body systému. Ty nám při vynaložení relativně malé síly umožní změnit jeho chování směrem k vyřešení problému. Příkladem nízkého bodu působení je vyvíjení tlaku na bok lodi k změně jejího kurzu. Změna kurzu lodi prostřednictvím tohoto pákového bodu si vyžádá velké úsilí. Naproti tomu v případě užití kormidla stačí jen malá síla ke změně kurzu celé lodi, což je příkladem vysokého pákového bodu. Snadné problémy můžou být vyřešeny působením na nízký pákový bod. K vyřešení složitých problémů je nutné najít vyšší pákový bod. V praxi se většinou snažíme pomocí nízkých pákových bodů vyřešit aktuální problémy. Tato řešení ale nemusí dlouhodobě fungovat, jelikož při tomto způsobu řešení je opomíjena hlavní příčina, která způsobila náš problém. Neexistuje přesný návod, jak najít tyto body. Vždy je důležité uvažovat individuálně pro konkrétní systém a konkrétní problém, na kterém pracujeme. Jako výchozí pomůcku pro to, abychom poznali, které parametry jsou více a které méně důležité, můžeme postupovat dle hierarchie pákových bodů (Meadows 1999). Tuto hierarchii sestavila Donella H. Meadows spolu se svými kolegy (Obrázek 6). I přesto, že je tato hierarchie sestavena z pohledu systémové dynamiky (shora-dolů), můžeme zde najít užitečné body i pro agentové modelování (přístup zdola-nahoru). 23
Místa pro zásah v systému v sestupném pořadí dle zvyšující se efektivnosti intervence 12. Konstanty, parametry, čísla 11. Velikost zásobníků a jiných stabilizačních zásobáren vzhledem k jejich tokům 10. Struktura materiálních zásobáren a toků (např. transportní síť, struktura věku populace) 9. Doba zpoždění v poměru k rychlostem změn systému 8. Síla negativních zpětných vazeb 7. Síla pozitivních zpětných vazeb 6. Struktura informačních toků (kdo má či nemá přístup k určitým druhům informací) 5. Pravidla systému (např. stimuly, tresty, omezení) 4. Moc měnit, vyvíjet či samo-organizovat strukturu systému 3. Cíle systému 2. Soubor paradigmat, ze kterých systém vyvstává (jeho cíle, struktura, pravidla, zpoždění, parametry) 1. Moc přesahovat paradigmata
Obrázek 6 – Hierarchie pákových bodů (v originálním pořadí, Meadows 1999) Bod 12. Parametry. O parametrech systému se nejčastěji hovoří v souvislosti s ovlivňováním systému. Samotné parametry ovšem málokdy dokážou chování systému nějak podstatně změnit. Jako parametry si můžeme představit např. příjmy a výdaje státní pokladny. I přesto, že tyto parametry přitahují nejvíce pozornosti, státní pokladny zejí prázdnotou. Pouze změna parametrů na straně příjmů, čí výdajů, nemá skoro žádný vliv. Samozřejmě, existují parametry, které mají na systém větší vliv. Jsou to zejména ty, které souvisejí s některým s význačnějších pákových bodů. Bod 11. Velikost zásobníků. Velikost zásobníků významných způsobem ovlivňuje stabilitu a pružnost systému. Malé zásobníky vedou k nestabilitě systému, velké zásobníky naopak k nepružnosti systému. Zásobníky jsou povětšinou fyzické entity, které není snadné měnit, proto nepatří k významným pákovým bodům. Příkladem velkého zásobníku může být například přehrada, příkladem malého zásobníku pak jez. Bod 10. Struktura materiálních zásobáren a toků. Fyzická struktura systému významných způsobem ovlivňuje jeho chování, na druhou stranu je velmi obtížné ji změnit. Důležitý dopravní uzel ovlivňuje zásadním způsobem dopravu ve městě, je však nesnadné jej změnit
24
v případě měnících se požadavků na dopravu, případně kvalitu životního prostředí v dané oblasti. Bod 9. Doba zpoždění. Doba zpoždění ve zpětnovazebních smyčkách vede k oscilaci. Typických příkladem je sprcha. V případě, že se zásobník na teplou vodu nachází v relativně velké vzdálenosti, tak jakákoliv změna v nastavení teploty vody se neprojeví okamžitě, což vede k oscilacím okolo žádané teploty. Pokud tedy přijmeme informaci o stavu systému se zpožděním, pak buď naši reakci podhodnotíme anebo nadhodnotíme. Doba zpoždění zpětnovazebního procesu je kritická relativně k rychlosti změn ve stavu systému. Oproti dlouhým dobám zpoždění, také krátké prodlevy nejsou ideální. Krátké prodlevy vedou k systému s rychlejšími výkyvy. Doba zpoždění by mohla zaujímat místo výše v hierarchii, kdyby ji nebylo tak nesnadné změnit. Bod 8. Síla negativních zpětnovazebních smyček. Negativní zpětnovazební smyčky pomáhají držet systém v cílovém stavu. Jde o určitý tlumící efekt v kontrastu s pozitivními zpětnovazebními smyčkami. Počínaje negativními zpětnovazebními smyčkami se přesouváme z fyzické části systému k informačním a řídícím částem systému, kde můžeme systém mnohem více ovlivnit. Klasickým případem negativní zpětné vazby je termostat v místnosti. Udržuje teplotu na zvolené úrovni. Každá negativní zpětnovazební smyčka potřebuje svůj cíl (nastavení termostatu), monitorování a signální zařízení informující o odchylce od cíle (termostat) a reakční mechanismus (kotel, větrák, atd.) Bod 7. Síla pozitivních zpětnovazebních smyček. Zatímco negativní zpětné vazby jsou samo-korigující, tak pozitivní zpětné vazby jsou samo-posilující. Čím více se pozitivní zpětná vazba zapojuje, tím více se zvětšuje její síla. Čím více lidí onemocní chřipkou, tím více lidí může být nakaženo. Pozitivní zpětnovazební smyčky jsou zdroji růstu, exploze, nebo i kolapsu systému. Bod 6. Struktura informačních toků. Struktura informačních toků má často srovnatelný dopad na systém jako struktura materiálních toků. Rozdíl je pouze v tom, že nové informační toky se zavádějí mnohem snadněji, než toky materiální. Proto je tento pákový bod efektivnější z hlediska ovlivňování a nachází se nad pákovým bodem struktury materiálních toků. Jako příklad uveďme americký zákon „Toxic Release Inventory“, který firmám přikazuje hlásit množství vypuštěných emisí každý rok. I když zákon nestanovuje žádné postihy za vypouštění škodlivých látek, i tak došlo během prvních 4 let jeho platnosti ke snížení emisí o 40 procent (Meadows 1999). 25
Bod 5. Pravidla systému. Komplexní systémy se skládají z mnoha komponent. Mezi komponentami probíhají různé interakce. Chování komponent a způsob interakce se řídí určitými pravidly. I malá změna pravidel může mít dalekosáhlé následky. Např. ústava patří mezi velmi silná sociální pravidla. Zákony fyziky patří také mezi pravidla, ať jim rozumíme, nebo ne. Zákony, tresty, případně nepsané sociální normy patří mezi pravidla. Bod 4. Moc měnit a samoorganizovat strukturu systému. Nejvíce ohromující vlastností živých systémů případně sociálních systémů je možnost změny sebe sama vytvořením nové struktury a chování. V biologických systémech tuto schopnost nazýváme evolucí. V lidské společnosti jde zejména o technologický vývoj a nové společenské uspořádání. Změnou struktury, samoorganizací, měníme každý aspekt systému popsaný v méně významných pákových bodech (viz. výše), měníme stávající struktury, přidáváme nové zpětnovazební smyčky, vytváříme nová pravidla. Bod 3. Cíle systému. Cílům systému jsou podřízeny všechny pákové body níže v hierarchii. Změnám cílů systému jsou přizpůsobovány všechny zpětné vazby, pravidla i schopnost samoorganizace. Jako příklad si můžeme představit rozdíl mezi cílem systému „ekonomický růst“, „sociální rovnost“, případně „trvale udržitelný rozvoj“. Bod 2. Myšlení nebo paradigmata, ze kterých systém vyvstává. Paradigmata systému jsou zřejmé pravdy, kterým věříme a nepřemýšlíme o nich. Růst je dobrý. Příroda je zásobárna zdrojů sloužící lidem. To jsou pouze některé příklady paradigmat. Od nich se odvíjí cíle, pravidla, omezení, informační toky, zpětné vazby a všechny ostatní položky v hierarchii pákových bodů. Bod 1. Nejvyšším bodem v hierarchii pákových bodů je moc přesahovat paradigmata. Jde o uvědomění toho, že žádné paradigma není to správné. Ačkoliv samotné paradigma má obrovský vliv na fungování celého systému, tak každé z těchto paradigmat zároveň velmi limituje náš pohled. Smyslem tohoto bodu je uvědomění, že neexistuje to jediné správné paradigma, je pouze důležité vědět, kdy zvolit které paradigma sloužící našemu účelu.
Pákové body dle Meadows citované v jiných článcích: Ecological Economics and Industrial Ecology: a case study of the Integrated Product Policy of the European Union (Kronenberg 2007). Kniha rozebírá nový náhled na environmentální politiku, zkoumá vztah mezi ekologickou ekonomikou a industriální 26
ekologií. Analyzuje systém pomocí diagramu zpětnovazebních smyček. Ve studii bylo cílem najít místa v systému, které mají významný pozitivní vliv na životní prostředí. Byl prokázán významný vliv šestého pákového bodu: Struktura informačních toků. Relativně skromné investice do vzdělávání a informovanosti zaměřené ke změně přístupu konzumentů mohou vyústit k významné změně chování spotřebitele a tím tedy i ve zmírnění tlaku na životní prostředí. Velmi podobné náklady do koncových technologií (end-of-pipe technology, tedy technologií pro snížení koncentrace škodlivých látek v odpadním toku, tzn. čistírny, filtry, spalovny atd..) dají v koncovém důsledky mnohem méně zaznamenatelné výsledky. Jiným příkladem je Emergency Planning and Community Right-to-Know Act v USA z roku 1986, který registruje všechny významné znečišťovatele ovzduší. K roku 2004 se podařilo díky tomuto seznamu znečišťovatelů a následnému tlaku obyvatelstva snížit množství odpadu a znečistění o 57 procent (USEPA2 2004). Nebyla použita žádná další nařízení nebo nástroje pro snížení toho znečištění. Complexity and adaptive management in Washington state forest policy, Mark Kepkay, BA University of Ottawa 1993. Publikace se zabývá teorií komplexních adaptivních systémů. Zejména pak adaptivními programy managementu ve státních lesích státu Washington týkajících se povodí. Zabývá se vývojem systému, hledá slabá místa v přizpůsobivosti systému hlavně z pohledu paradigmat, tedy bodu 1 (Kepkay 2003). V článku Motivating change: shifting the paradigm (Plessis and Cole 2011) se autoři zabývají motivací skupiny zvané jako stakeholders k přijetí takových změn, které by pomohly udržet dlouhodobě udržitelný rozvoj. Pojem stakeholder nemá ustálený český překlad a překládá se většinou jako „zainteresované strany.“ Jedním z otevřených problémů je, jak vytvořit a udržet dlouhodobě udržitelné stavební prostředí - zástavbu. Z části je toto možné docílit prostřednictvím různých regulací a nařízení. Tento článek je rovněž inspirován prací Meadowsové a její hierarchií pákových bodů. Snaží se ukázat, že trvalou udržitelnost ve stavebním prostředí je možno dosáhnout posunem v chápání paradigmat stakeholderů, tzn. všech zainteresovaných stran. Identifikuje pákové body ve stavebním prostředí. Zjišťuje, že současné intervence do této oblasti, jako ratingy, regulace, pobídky a další se nacházejí ve spodním pásmu efektivnosti. Dochází k závěru, že máme-li být schopni více ovlivnit systém, je třeba mířit na vyšší pákový bod v hierarchii, tedy paradigmata. Architekt Jaime Lerner navrhuje koncept tzv. urbánní akupunktury. Jedná se o urbanisticko-ekologickou teorii, která spojuje urbanistiku 2
United States Environmental Protection Agency
27
s tradiční čínskou medicínou – akupunkturou. Zaměřuje se na přesně vymezené strategické body ve městech, kde můžeme iniciovat pozitivní zpětnovazební efekt pro větší urbanistický systém (Landry 2005). Ačkoliv tento přístup může působit nevědecky, hlavní myšlenkou opět není nic jiného než pákové body systému z trochu jiného úhlu pohledu. Významný posun paradigmat a změnu postoje můžeme vidět v ekologickém stavitelství, které usiluje o minimalizaci vlivu na životní prostředí při návrhu, výstavbě, provozování a nakonec likvidaci domů.
2.7 Verifikace a validace modelu Abychom si ověřili správnost modelu a správnost nastavení jednotlivých parametrů, je nutné model na základě testování validovat a verifikovat. Žádná simulace se neobejde bez těchto tří kroků (Balci 2010). Validace je ověření, zda abstraktní návrh modelu (relativní model) opravdu reflektuje chování reálného systému. Verifikace je ověření, zda konkrétní implementace modelu realizuje abstraktní návrh. To znamená, že kontrolujeme, zda model opravdu dělá to, co by dělat měl. Testování v tomto kontextu je ujištění se, zda v modelu existují nepřesnosti anebo chyby. V průběhu testování ověřujeme model na testovacích datech, abychom zjistili, zda funguje správně. V průběhu testování provádíme buď validaci, verifikaci, nebo obojí. Proto se celý tento proces nazývá VV&T - Verifikace, Validace a Testování (Balci 2010). Během návrhu modelu bychom měli být schopni popsat všechny charakteristiky systému, které formulují zkoumaný problém. Shannon (1975) popisuje šest hlavních charakteristik systému: změnu, prostředí, neintuitivní chování, posun k nízkému výkonu, vzájemnou závislost a organizaci. Balci a Banks (1998) zdůrazňují důležitost parametrů simulace a prostředí modelovaného systému. Mají na mysli zejména parametry, které významným způsobem dokážou ovlivnit stav systému vzhledem ke zkoumanému cíli. Podcenění vlivu vstupních parametrů může vést k nesprávnému fungování systému. Ve fázi modelování, kdy formulujeme náš model, je možné zvolit dva přístupy k testování. Simulační modely mohou být tzv. self-driven anebo trace-driven (Balci a Banks 1998). Self-driven neboli také pravděpodobnostní simulační model je takový, který je řízen 28
vstupními
hodnotami
získanými
náhodným
výběrem
z
vhodného
rozdělení
pravděpodobností. Trace-driven neboli také retrospektivní simulační model je na druhou stranu řízen posloupností vstupních údajů získaných při měření, prováděném na reálném systému. Pro návrh experimentů s modelem je k dispozici množství technik a nástrojů (Balci a Banks 1998). Response-surface metodika (RSM, metoda plochy odezvy) může být použita k nalezení takové kombinace hodnot parametrů, které maximalizují nebo minimalizují hodnotu výstupního ukazatele chování komplexního systému. Jedná se tedy o studium vztahu mezi několika vysvětlujícími proměnnými a odezvu jedné nebo více vysvětlovaných proměnných. Hledá se optimální kombinace vysvětlujících proměnných nejčastěji ve tvaru polynomu 2. stupně. Factorial design (faktorový návrh/experiment) může být obdobně použit k zjištění vlivu různých vstupních proměnných vzhledem k výstupnímu ukazateli. Variance reduction techniques (metody redukce rozptylu) mohou být implementovány k získání vyšší statistické přesnosti simulace. Umožňují zúžit (redukovat) vliv zdrojů variability, které nejsou předmětem zkoumání. Do této skupiny patří blokový design nebo stratifikace, tj. rozdělení experimentálních jednotek do bloků neboli strat (vrstev), které vykazují podobné vlastnosti. Ranking and selection techniques (techniky pořadových a výběrových charakteristik) mohou být použity pro srovnání alternativních systémů. Další statistické metody pro zpracování výsledků simulace jsou Replication (replikace) spočívající v opakování nezávislých simulačních experimentů pro solidní statistické vyhodnocení, Batch means (dávkový přístup) spočívající pouze v jedné extrémně dlouhé simulaci rozdělené na dávky a Regenerative method (regenerativní metoda), která vhodná zejména pro systémy s alespoň jedním regenerativním stavem, kdy je simulace rozdělena na několik opakujících se cyklů s regenerativním stavem mezi těmi cykly. Samotné experimenty se simulačním modelem provádíme vždy pro určitý konkrétní cíl. Mezi nejčastější cíle experimentů patří prověření chápání modelu, vyhodnocení nejefektivnějšího způsobu práce s modelem, vyzkoušení reakce systému na experimenty (které nelze provádět v realitě), predikce výsledků experimentů, porovnání hypotéz a další (Pelánek 2011). K dalším typům experimentů mohou patřit trénování, srovnání odlišných operačních politik, zkoumání chování systému, analýza citlivosti, optimalizace, determinace funkčních vztahů a další. Experimenty tedy produkují výsledky simulace. 29
Balci (2010) zmiňuje ve své publikaci 20 pravidel pro správnou validaci, verifikaci a testování. Mezi ty nejpodstatnější patří: -
VV&T musí být prováděno během celého životního cyklu simulační studie.
-
Kompletní testování simulačního modelu není možné.
-
Správně formulovaný problém zvyšuje přijatelnost a důvěryhodnost výsledků simulace.
Mezi některé z konkrétních typů testů (Balci a Banks 1998) patří: Funkční testování, známé také jako black box testování, slouží k prověření transformace vstupů modelu na jeho výstupy. V průběhu testování tedy nastavujeme vstupy a vyhodnocuje korespondující výstupy. Naším předmětem zkoumání je, jak model transformuje danou množinu hodnot na vstupu na množinu hodnot na výstupu. Grafické porovnání je sice subjektivní, neelegantní a heuristické, ale na druhou stranu velmi praktické zejména pro předběžný přístup k VV&T. Grafy proměnných modelu jsou porovnávány s grafy reálného systému. Porovnáváme takové charakteristiky jako podobnost v periodicitě, šikmosti, počtu a umístění inflexních bodů, logaritmický vzestup a linearita, fázový posun, trendové linky, expenencionální růst a další. Analýza citlivosti je prováděna systematickou změnou hodnot vstupních parametrů modelu na určeném rozsahu hodnot a s tím, že pozorujeme jejich efekt na chování modelu. Neočekávané účinky mohou odhalit nevalidní model. Vstupní proměnné mohou být také měněny, aby záměrně vyvolaly chybu za účelem zjistit citlivost chování modelu na tyto chyby. Analýza citlivosti by nám měla odhalit takové vstupní proměnné a jejich hodnoty, na které reaguje model velmi citlivě.
2.8 Metodiky pro návrh komplexních systémů V předchozích kapitolách byly popsány jednotlivé aspekty týkající se komplexních systémů vykazujících prvky samoorganizace a emergence. Jak tedy přistupovat k těmto systémům, jak navrhnout a spravovat tyto systémy? Pro návrh a správu samoorganizujících systémů existuje množství metodik (Puviani et al. 2009). Ačkoliv se všechny zakládají na konceptu samoorganizace a přístupu zdola nahoru, liší se zejména svými cíli a slovníkem popisujícím jednotlivé kroky. V následující kapitole jsou představeny některé z těchto metodik se zdůrazněním jejich klíčových charakteristik. 30
Obecná metodika (GM)
2.8.1
Gershenson (2006, 2007) navrhnul tzv. Obecnou metodiku – The General Methodology (Obrázek 7) pro návrh a správu komplexních systémů. Autor sám zmiňuje, že se nejedná o „ready-make“ řešení, ale poskytuje spíše konceptuální framework, pomocí něhož může nabídnout postupy řešení. Metodika počítá s měnícími se požadavky tak, aby se systém dokázal adaptivně přizpůsobovat.
Obrázek 7 – Fáze Obecné metodiky Agent je zde entita, která provádí akce ve svém prostředí. Na každou komponentu systému i na každý systém můžeme nahlížet jako na agenty se svými cíli a chováním směřujícím k plnění systémových cílů. Chování agenta může ovlivnit (pozitivně, negativně, neutrálně) plnění cílů ostatních agentů. Plnění cílů agenta můžeme označit jako jeho satisfakci . Vztáhneme-li satisfakci k vyšší úrovni, tak satisfakce systému reprezentována funkcí
(3) může být
, jež je satisfakcí jednotlivých komponent. (3)
zde označuje bias, další váhy které snižují
určují důležitost danou každému
a zároveň zvyšují své
. Komponenty,
, bychom neměli považovat za část systému.
Samozřejmě nelze obecně stanovit, zda ke zvýšení satisfakce systému stačí zvýšit satisfakci jeho komponent. Některé komponenty totiž mohou využívat ostatních komponent při plnění cílů. Pro maximalizaci
bychom měli snížit tření mezi
jednotlivými komponenty na minimum a tím zvýšit jejich synergii. Je tedy potřeba usměrnit chování jednotlivých komponent. Tuto funkci zastává tzv. mediátor. Mediátor usměrňuje chování komponent systému, minimalizuje jejich konflikty, interference a tření a maximalizuje kooperaci a synergii na úrovni systému. Obecná metodika se skládá z několika kroků (reprezentace, modelování, simulace, aplikace, evaluace).
31
Reprezentací je myšlen návrh specifikací komponent systému, které budou reprezentovat stěžejní komponenty, spolu se vzájemnými interakcemi. Zadáváme základní specifikace systému, omezení a požadavky. Dále je nutné ustanovit slovník a úroveň abstrakce, jimiž budeme systém popisovat. Např. v biologii může být v určitých situacích vhodné popsat buňku jako základní element – agenta, v jiných situacích můžeme buňku popsat jako systém s agenty reprezentující jednotlivé komponenty buňky. Modelování vychází z reprezentace a mělo by specifikovat kontrolní mechanismy, které zajistí, že systém funguje tak, jak je od něj požadováno. Používá se zde tzv. adaptivní kontrolní mechanismus. Využívají se jednak agenty, které tvoří běžné komponenty systému a pracují na svých cílech a také tzv. agenty mediátory, které usměrňují chování ostatních agentů tak, aby mezi nimi minimalizovaly vzájemná tření a zvyšovaly jejich kooperaci a celkovou synergii systému. V této fázi je nutné vzít v úvahu také některé kompromisy jako složitost komponent vs. složitost interakcí, kvalitu vs. kvantitu, úspornost vs. redundanci, homogenitu vs. heterogenitu. Ve fázi simulace je stěžejní implementovat navržený model a otestovat různé scénáře a strategie mediátorů a další parametry systému. Postupuje se od testování základních konceptů, tj. „hrubého“ modelu a v případě očekávaného fungování na základní úrovni se postupně implementují další detaily. Neoddělitelnou částí je také porovnávání navrhovaného řešení s tradičními přístupy. Záleží na uživateli, aby rozhodl, které parametry bude optimalizovat a které adaptovat. Fáze aplikace slouží k vybudování reálného systému na základě simulací. Zde je důležité vzít v potaz také proveditelnost aplikace z hlediska konstrukčního i ekonomického. Závěrečnou fází je evaluace, kdy je nutné porovnat výkon systému s výkonem případných předchozích verzí systému a také je důležitá zpětná vazba s provozovatelem reálného systému. Autor zmiňuje, že není nutné sledovat všechny kroky postupně, tak jak jdou za sebou, některé z nich je možno i sloučit. Navíc schéma na (Obrázek 7) nemusí nutně platit. Dokonce i zpětné kroky mohou jít ne k nejblíže předešlé, ale i ke vzdálenější fázi. Z toho poté vyplývají netradiční ale velmi efektivní způsoby optimalizace, jakou je například tzv. kvaziparalelní optimalizace (Kindler a Weinberger 2008).
32
2.8.2
Adelfe
Adelfe (Bernon et al. 2005) je metodika zaměřená na multiagentové samoorganizující systémy s decentralizovaným řízením využívajícím emergenci (Obrázek 8). Pracuje s upravenou verzí jazyka UML (Agent-UML) a je založená na teorii AMAS 3, ve které hraje hlavní roli kooperace. V kooperačním módu se agenty snaží předpokládat problémy, které mohou nastat, vyhledávat případná selhání ve vzájemné spolupráci a tyto skutečnosti napravovat. Kooperativní agent postavený na AMAS teorii je autonomní a není si vědom globální funkce nebo cíle systému. Metodika je rozdělena do šesti základních fází: předběžné požadavky, finální požadavky, analýza, návrh, implementace a test. Každá fáze se potom skládá z množství aktivit.
Obrázek 8 – Metodika Adelfe
2.8.3
The Customized Unified Process (CUP)
The Customized Unified Process – Přizpůsobený unifikovaný proces (De Wolf 2007) je další metodikou a tvoří ji iterativní proces, který opět využívá jak samoorganizaci, tak emergenci v kontextu samoorganizovaného chování v průmyslových systémech (Obrázek 9). Je založena na UP 4. Skládá se ze čtyř hlavních kroků: analýzy požadavků, návrhu, implementace a testování.
3 4
Adaptive Multi-Agent System theory (Capera, Georg, Gleizes, Glize, 2003) Unified Process (Jacobson, Booch, Rumbaugh, 1999)
33
Obrázek 9 – Metodika CUP Během fáze analýzy požadavků je problém rozdělen na funkční a ne-funkční požadavky. Je využito případových studií, seznamu vlastností a doménového modelu. Rovněž jsou identifikovány požadavky na globální úrovni. Fáze návrhu se skládá z návrhu architektury systému a detailního návrhu komponent. Během fáze implementace je realizován konkrétní návrh s použitím specifického jazyka. Ve fázích testování a ověření je získaná agentově založená simulace verifikována.
2.8.4
MetaSelf
Metodika MetaSelf (Di Marzo et al. 2008) nahlíží na samoorganizující systém jako na kolekci volně vázaných komponent (Obrázek 10). Pomocí metadat popisuje funkční i nefunkční charakteristiky a metadata vztahující se k prostředí. Chování systému je předepsáno tzv. politikou, která popisuje odezvu komponent systému na zjištěný stav a změny v metadatech. Komponenty i „run-time“ infrastruktura využívají při běhu systému tato metadata k podpoře rozhodování a své adaptaci v souladu s politikou. Metaself popisuje jak samotnou systémovou architekturu, tak i proces vývoje. Politiky definují systémové cíle, omezení prostředí a chování komponent.
34
Obrázek 10 – Metodika MetaSelf Metodika se skládá ze tří fází. Fáze požadavků a analýzy identifikuje funkcionalitu systému spolu s tzv. self-požadavky specifikujícími kde a kdy je samoorganizace potřebná. Fáze návrhu popisuje výběr vzorů, rozhodovacích mechanismů a návrhu aplikačního systému. Výsledkem implementační fáze je „run-time“ infrastruktura.
2.8.5
A Simulation Driven Approach (SDA)
A Simulation Driven Approach – Simulačně řízený přístup (Gardelli et al. 2008) není kompletní metodikou, ale spíše způsobem jak integrovat své metody do stávajících metodik (Obrázek 11). K popisu prostředí používá agenty a artefakty. Agenty jsou autonomní proaktivní entity se svými vnitřními cíli. Artefakty jsou pasivní reaktivní entity poskytující služby a funkcionality agentům. Existují ještě speciální agenty prostředí, jež jsou zodpovědné za správu artefaktů. SDA je zařazeno mezi fáze analýzy a návrhu, tzv. „Early design“ fáze. Předpokládá, že už známe požadavky systému a byla provedena jeho analýza. SDA se skládá ze tří fází. Fáze modelování slouží k formulaci strategií. Poskytuje charakteristiku uživatelských agentů, artefaktů a agentů prostředí. Ve fázi simulace jsou odzkoušeny vytvořené specifikace, a zkoumá se, zda vyhovují navrhovanému řešení. Ve fázi ladění potom dochází k ladění modelu a jeho parametrů. Analysis phase
Design phase
Early design phase 1-Modelling
2-Simulation
3-Tuning
Obrázek 11 – Metodika SDA
35
2.9 Souhrn analýzy současného stavu V rámci této kapitoly jsem provedl analýzu současného stavu všech podstatných témat týkajících se dizertační práce. Zajímala mne zejména počítačová simulace komplexních systémů (Janošek 2010a) a jejich adaptace. Z tohoto pohledu se v případě dynamických komplexních
systémů
jeví
za
výhodné
modelování
těchto
systémů
jako
samoorganizujících. Hlavní výhoda samoorganizujících systémů spočívá v možnosti adaptace. Samoorganizující systém je díky své robustnosti schopen hledat neustále nová řešení. Pro modelování těchto systémů je dále výhodné použít architekturu MAS, tedy přístup zdola nahoru. Pro adaptaci systému, tedy usměrnění chování systému, jsou významným prostředkem parametry simulace, jelikož ovlivňují výsledné chování systému jako celku. Ve výsledném chování se projevují znaky samoorganizace a emergence. Pro popis chování systémů je možno použít tzv. vzory chování (Janošek et al. 2011b). Tyto vzory chování lze rozpoznat s pomocí neuronových sítí (pattern recognition). Pro vybrané vzory je možno stanovit si jistá očekávání, co se stane, objeví-li se daný vzor v chování systému (Volná et al. 2011d). Pro efektivní adaptaci parametrů systému je nutno vybrat ty parametry, které mají na jeho chování znatelný vliv. Pomůcku pro to, který z parametrů má anebo nemá vliv na výsledné chování systému, nám mohou dát pákové body (leverage points) (Janošek a Volná 2012). Pro testování chodu simulace a ověření nových přístupů je na výběr z množství statistických metod uvedených v kapitole Verifikace a Validace modelu. Dále bylo představeno několik metodik pro modelování komplexních systémů, také v (Puviani et al. 2009). Jejich podstatné charakteristiky, zejména co se týče fází, které pokrývají, jsou uvedeny přehledně v (Tabulka 1) a srovnány v (Janošek 2011). Adelfe je jedinou metodikou soustřeďující se na specifické samoorganizační charakteristiky. Navíc vynucuje užití kooperace mezi agenty, což může být výhodou pro jisté systémy, ale určitě ne pro všechny. Zajímavou inovací CUP metodiky je „information flow“ diagram (Obrázek 9), jež usnadňuje pochopení způsobu, jak systém pracuje a jak jsou informace vyměňovány mezi agenty. Funkčnost metodiky MetaSelf spočívá ve volně vázaných komponentách systému, metadatech a politice. Není ale nijak zpracována situace konfliktních politik. Obecná metodika (GM) nabízí vcelku volnou metodiku pro stavbu komplexních systémů, avšak nerozebírá detailně fázi simulace. Navíc nejsou zmíněna žádná doporučení pro tvorbu slovníku ve fázi reprezentace systému. Nakonec metodika 36
SDA, která není ani metodikou, jako spíše části metodiky, je navržena za účelem integrace do ostatních metodik. Tabulka 1 – Srovnání metodik Metodika Adelfe
Požadavky x
CUP
Návrh
Model x
Simulace
x
x
x
MetaSelf GM
x
SDA
x
x x
Vyhodnocení x
x x
x
x
x
Ze všech fází návrhu komplexního systému mne zajímala zejména fáze simulace a s ní související adaptace parametrů simulace. Ačkoliv studované metodiky pro návrh komplexních systémů pokrývají většinu těchto fází počínaje požadavky na systém a konče jeho evaluací, většina z nich však dostatečně nepokrývá fáze simulace a vyhodnocení (Janošek 2011). Zejména fáze simulace je v režii uživatele, kdy uživatel ručně testuje různé scénáře a nastavení jednotlivých parametrů simulace tak, aby co nejlépe odpovídaly modelované realitě a požadované funkci systému. Konkrétně se fázi simulace věnuje pouze Obecná metodika a metodika SDA. Obě metodiky se dívají na systémovou adaptaci pouze z hlediska samoorganizace. Samoorganizace samotná je významným fenoménem, díky kterému je možno se vyrovnat s množstvím různým změn. Např. hejno ptáků vyhýbající se překážce. Ačkoliv tento přístup je velmi robustní, nemusí stačit např. na některé podstatné změny v prostředí, v kterém se systém nachází, anebo v podmínkách, za kterých systém pracuje. Zde je prostor pro návrh metodiky, která by měla umožnit aktivní adaptaci chování systému a usměrnit jeho chování v požadovaných mezích (Janošek 2011).
37
3 CÍLE DIZERTAČNÍ PRÁCE Cílem dizertační práce je navrhnout metodiku vycházející z algoritmů softcomputingu, která bude uplatnitelná při simulační fázi vybraného komplexního systému. Metodika navrhne postup pro adaptaci parametrů simulace vybraného komplexního systému k usměrnění jeho chování dle žádaných požadavků. Navržená metodika realizuje výběr akčních parametrů simulace pro následné usměrnění chování systému na základě předem definovaných vzorů chování systému. Dílčí cíle dizertační práce: -
Nalézt způsob kategorizace parametrů simulace dle důležitosti.
-
Stanovit způsob pro popis charakteristických vzorů chování.
-
Navrhnout metodu pro výběr akčních parametrů sloužících pro ovlivnění chování simulace.
-
Navrhnout způsob adaptace parametrů simulace na základě rozpoznaných vzorů chování neuronovou sítí a stanovených očekávání.
-
Ověřit použití navržené metody na vybrané komplexní simulaci vytvořené v prostředí NetLogo (Wilensky 1997) a vyhodnotit provedený experiment.
Mezi očekávané přínosy navržené metodiky patří návrh způsobu adaptace chování komplexního systému na změny v samotném systému a v prostředí, v kterém se systém nachází a tím lépe reagovat na nečekané události a změny. Dále pak určitá univerzálnost metody pro kategorizaci parametrů dle důležitosti založené na pákových bodech, jež může sloužit také jako první přístup bez hloubkové analýzy problému.
38
4 NÁVRH VLASTNÍHO ŘEŠENÍ V této kapitole se zabývám návrhem metodiky pro adaptaci parametrů simulace, tak jak vyplývá ze souhrnu analýzy současného stavu. Úvodem je prezentována představa funkčností metodiky, zejména její vstupy a očekávané výstupy. Po krátkém shrnutí podstatných teoretických poznatků a úvah souvisejících s návrhem metodiky jsou rozebrány jednotlivé kroky a funkčnosti navrhované metodiky. Nakonec, v závěru této kapitoly, uvádím finální návrh metodiky. V této kapitole jsou prezentovány výsledky mé vlastní práce, není-li výslovně uvedeno jinak.
4.1 Požadavky na metodiku Jedním z hlavních cílů dizertační práce, který plyne ze samotného názvu, je adaptace parametrů simulace komplexních systémů. Jedním z dílčích cílů je efektivní simulace daného systému. Primárním požadavkem navrhované metodiky je tedy efektivně adaptovat parametry komplexního systému k usměrnění jeho chování. V tomto případě si pod efektivní adaptací představuji takovou adaptaci systému, která probíhá relativně rychle vzhledem k ostatním dějům probíhajícím v systému a také kvalitně, tzn. s předem definovanou maximální odchylkou od požadovaného chování. Co je tedy od dané metodiky očekáváno? S pomocí této metodiky by mělo být možno usměrnit chování konkrétního vybraného systému dle očekávaných cílů a představ. Jaké by tedy měly být vstupní podmínky, vstupy a výstupy dané metodiky? Vstupním předpokladem této metodiky je již fungující simulace vytvořená v jednom z mnoha simulačních software (Janošek 2010b). To znamená, že daná simulace splňuje chování v mezích abstrakce reálného existujícího systému, případně reflektuje abstraktní návrh dosud neexistujícího systému. Vstupem do této metodiky by měly být všechny vstupní parametry simulace, které jsou pro danou simulaci relevantní. Dále pak žádaná hodnota výstupního ukazatele (parametru) chování daného systému. Nakonec taktéž předdefinované charakteristické vzory chování sledovaných ukazatelů ve vztahu k žádaným parametrům. Výstupem by měly být vybrané akční parametry s velikostí jejich vlivu na výstupní ukazatel i s efektivními akčními rozsahy těchto parametrů. 39
Vstupem navrhované metodiky jsou všechny vstupní parametry simulace a jejich výchozí rozsah, sledovaný výstupní ukazatel a jeho žádaná hodnota. V rámci určité tolerance by se poté měla hodnota toho výstupního ukazatele v průběhu simulace pohybovat. Dále je třeba definovat charakteristické vzory chování výstupního ukazatele systému. Tyto vzory lze získat nejlépe důkladným pozorováním systému, jak se chová v určitých situacích, jaké tvoří vzory a jaká je následná odezva. Čím kvalitněji jsou vzory popsány, tím lépe je možno provádět adaptaci systému na základě těchto vzorů. Výstupních ukazatelů může být více, tzn., že je možno definovat charakteristické vzory pro více výstupních ukazatelů. Chování systému je ovšem usměrňováno pouze pro jeden výstupní ukazatel (na jeho žádanou hodnotu), ale i na základě charakteristických vzorů jiných ukazatelů. Co je tedy potřeba, aby daná metodika v sobě zahrnovala a co je třeba provést před konkrétním návrhem metodiky? -
Je třeba objasnit, co je myšleno parametry simulace, jak je rozdělit do kategorií, jak je popsat a jaké údaje je o nich potřeba získat (Janošek a Volná 2012).
-
Je třeba vymezit, co je myšleno fungující simulací, případně navrhnout vlastní postup nastavení parametrů simulace s využitím pákových bodů (Janošek a Volná 2012).
-
Popsat, jak probíhá výběr a seřazení akčních parametrů a jak se vybírá jejich akční rozsah.
-
Stanovit, jak popsat vzory chování systému a jak je reprezentovat (Janošek a Volná 2011).
-
Popsat, jak funguje rozpoznávání vzorů pomocí neuronové sítě. Tzn. jak stanovit typ sítě, jak jsou binarizovány tréninkové vzory, jak probíhá adaptace sítě a jak samotné rozpoznávání (Janošek et al. 2011a, Kocian et al. 2011).
-
Popsat, jak funguje následná adaptace vstupních parametrů simulace na základě rozpoznaných vzorů neuronovou sítí, a jak jsou vybírány hodnoty z akčního rozsahu parametrů k minimalizaci odchylky chování systému od požadovaného směru (Janošek et al. 2011a).
40
4.2 Vlastní závěry z předchozích kapitol Nyní bych rád shrnul, co vše vyplývá s analýzy současného stavu a co je třeba vzít v úvahu pro jednotlivé kroky metodiky. Podstatným závěrem předchozích kapitol je, že lze velmi obtížně předpovídat s absolutní přesností chování komplexních systémů. Vyrovnat se s nečekanou změnou chování je možno adaptováním systému na danou situaci, kdy jsou dopředu zpracována různá očekávání, co se může stát v případě, že nastane konkrétní změna v systému. Čím častěji se tedy objeví nějaká okolnost B po okolnosti A, tím pevnější je vazba mezi těmito okolnostmi. (Gershenson 2007) Vždy je tedy možné stanovit jak odchylku výstupního ukazatele od požadovaného chování daného komplexního systému, tak rozpoznat konkrétní charakteristické chování tohoto systému v určitých situacích a připravit si očekávání, co se může stát, vykáže-li systém dané chování. Chování systému je možno pozorovat na výstupních ukazatelích. Na určitém bezprostředním historickém rozsahu výstupních ukazatelů je možno popsat určité opakující se vzory chování. Na základě těchto opakujících se vzorů chování je možno dále stanovit si očekávání, jak se chování daného ukazatele bude vyvíjet, vykáže-li systém daný vzor chování. (Janošek et al. 2011a) Mějme např. počítačovou simulaci dopravních křižovatek ve městě. Plynulost dopravy můžeme řídit samoorganizujícím systémem dopravních semaforů, které mohou obsahovat různé strategie řízení (Gershenson 2009). Výstupním ukazatelem bude okamžitá průměrná rychlost všech vozidel. Při stanovení žádané hodnoty průměrné okamžité rychlosti si můžeme v každém okamžiku stanovit odchylku od požadovaného chování systému. Navíc můžeme v daném systému rozpoznat určité vzory chování. Kupříkladu z oscilace výstupního ukazatele okolo žádané hodnoty můžeme usuzovat o nevyhovující současné strategii řízení dopravních semaforů a podle velikosti oscilací (tím pádem určitého vzoru chování a velikosti odchylky) zvolit jinou strategii řízení, která by lépe odpovídala dané situaci. Vzory tedy reprezentují charakteristické formy chování relativního modelu systému (Castiglionet et al. 2001). Pod pojmem vzor je možno si představit předdefinovaný objekt se stejnými nebo podobnými vlastnostmi. Obecně je tak (při rozpoznávání vzorů) přiřazována nějaké vstupní hodnotě určitá hodnota výstupní. V tomto případě je pozornost věnována hlavně na klasifikaci, kdy je každé vstupní hodnotě přiřazována jedna z množiny výstupních tříd představujících zobecněné vzory (Volná et al. 2011c). 41
Jako příklady vzorů můžeme uvést vzory vyskytující se na finančních trzích. Jedním z nich je tzv. S/R vzor (Obrázek 12). S/R vzory jsou místa v trhu, kde cena daného instrumentu odolávala zvýšit či snížit svou hodnotu. Na (Obrázek 12) můžeme vidět příklady S/R zón. Cenu na trhu tvoří obchodníci. Support je hladina, pod kterou žádný z obchodní nechce jít níž, Resistance je hladina nad kterou žádný z obchodníků nechce jít výš. Na základě těchto vzorů si můžeme zpracovat očekávání, že v případě vzoru Support bude cena růst. Naopak, v případě vzoru Resistance bude cena klesat. Připravených vzorů spolu s jejich očekáváními můžeme využit v budoucnu a adaptovat parametry obchodního systému kupříkladu na základě rozpoznaných vzorů (Volná et al. 2012c).
Obrázek 12 – S/R vzor na měnovém kurzu EURUSD Vzory může obecně tvořit téměř cokoliv. Většinu vzorů lze popsat pomocí grafických, textových nebo zvukových informací (Volná et al. 2011b). Obecně lze tedy vzorům přiřadit nějakou hodnotu. Jelikož je v tomto případě se vzory pracováno na počítači, tak budou jak vstupní data, tak případné předdefinované nebo rozpoznané vzory, bez ztráty na obecnosti, reprezentovány pomocí binárních dat v jejich základní podobě. Pokud bude možné určité typy resp. zástupce vzorů kvalitně popsat a následně je v chování systému rozpoznat, bude získán efektivní nástroj pro usměrnění chování systému. Vhodným nástrojem pro rozpoznávání vzorů jsou neuronové sítě (Bishop 1995). Kvalitně popsat a reprezentovat vzory je jedním z nutných předpokladů správného naučení neuronové sítě tyto vzory rozpoznávat. Je tedy nutné navrhnout způsob, v jaké formě charakteristické vzory popsat a jak je reprezentovat, aby byly vhodné pro trénování neuronové sítě (Kocian et al. 2011).
42
Aby bylo možné si návrh řešení ověřit, bude třeba sestavit model konkrétního systému a ten poté implementovat jako počítačovou simulaci. Jelikož je práce zaměřena na komplexní systémy z pohledu zdola nahoru v souvislosti s emergencí a samoorganizací, bude pro modelování a simulaci takového systému využito stejných přístupů. Jakýkoliv systém může být modelován jako skupina agentů, kteří se snaží uspokojit své cíle (Gershenson 2007). Těmto kritériím vyhovuje nástroj NetLogo (Wilensky 1999). Je to softwarový nástroj pro počítačovou simulaci využívající multiagentové systémy. Umožňuje naprogramovat ve vlastním jazyku NetLoga libovolnou uživatelskou simulaci. Existuje také velká knihovna již hotových simulací, které je možno využít, případně rozšířit. Ačkoliv je modelování a simulace rozděleno na dvě samostatné fáze, obě fáze spolu velmi úzce souvisí. Modelování nás nutí jasně formulovat naše představy, zatímco simulace nás konfrontuje s důsledky těchto představ. Při modelování vytváříme model. Při simulaci bereme již vytvořený model a sledujeme jeho chování v různých situacích a za různými účely. Mezi účely a cíle simulace patří např. návrh a řízení systémů, předpovídání chování, porozumění systému, učení, trénink popř. zábava. Následnou analýzu provádíme s cíli zjistit, jakou roli hrají jednotlivé prvky modelu, které z nich mají největší vliv na jeho chování, příp. jaké je chování modelu za měnících se podmínek (Pelánek 2011). Prostředkem pro ovlivnění chodu simulace jsou její parametry. K lepšímu pochopení, co který parametr v simulaci dělá a na co má vliv, je vhodné si je nějakým způsobem popsat a rozdělit. Intuitivně je možno uvažovat, že zde budou určitě parametry, které popisují prostředí daného systému a jeho základní vlastnosti. Dále zde budou parametry, které popisují samotné entity nacházející se v daném prostředí. Toto je jedna z možností rozdělení. Další vodítko svědčící o funkci a také o důležitosti parametrů poskytují pákové body. Pákové body mohou pomoci nejen při výběru vhodných akčních parametrů pro adaptaci parametrů systému, ale také při vytváření simulace, kdy pomohou si stanovit, který parametr více ovlivňuje hlavní koncepty a který konkrétní detaily. (Janošek a Volná 2012) Konečně, neméně důležitým krokem je stanovit postup, jak použít a propojit vybrané a rozpoznané vzory chování s vybranými akčními parametry a jejich rozsahy hodnot k efektivnímu usměrnění chování systému.
43
4.3 Parametry simulace Citát z vědecké zprávy Mezinárodního panelu pro klimatické změny (IPCC 5 2001, Pelánek 2011). „Plně uznáváme, že mnohá z uvedených tvrzení jsou do jisté míry založena na subjektivním vědeckém vnímání a obsahují komunitní a osobní vědomosti. Například pouhý výběr proměnných a procesů, které jsou do modelu zahrnuty, je většinou založen pouze na dojmech a zkušenostech modelovací komunity“. S parametry simulace je možno se setkat již při fázích reprezentace a modelování. V těchto fázích ještě nemusí být jednotlivé parametry tak zřejmé, ale měly by z těchto dvou počátečních fází vyplynout pro fázi simulace, během níž by měly být parametry více rozvedeny, detailněji specifikovány rozsahy jejich hodnot, případně přidány další parametry. V každém případě je třeba mít na paměti, aby model zůstal co nejvíce jednoduchý a vypovídající. Pokud je navrhován simulační model dosud neexistujícího reálného systému, nezbývá nic jiného než odhadnout tyto parametry na základě zkušeností s chováním obdobných reálně existujících systémů. V případě, kdy reálný systém, který je modelován již existuje, je možno jeho chování sledovat po jistou dobu a potřebné parametry odhadnout na základě získaných experimentálních údajů (Křivý a Kindler 2003). I když zde hovoříme o modelování systému, tak je nutno vzít v potaz, že lépe je uvažovat o modelování problému. Cílem simulace je modelovat určitý problém. Modelovat systém jako celek obecně pro všechny možné problémy může být v některých případech zbytečně složité a nepřínosné. Jaké jsou tedy parametry simulace a jak je možno je rozdělit? V případě přístupu zdola nahoru, je systém sestavován z jednotlivých entit. Každé této entitě přísluší určité parametry. Každou entitu je možno si představit jako agenta plnícího své cíle. Vytvořený model systému pak budou reprezentovat jak jednotlivé agenty, tak jejich vzájemné interakce. Jsou specifikovány pouze jednotlivé agenty a jejich parametry, vzájemné interakce poté vyplynou z chování jednotlivých agentů. V závislosti na zvolené úrovni abstrakce je možno mít jednu nebo více úrovní agentů. Často se používají alespoň dvě úrovně systému, kdy ta vyšší úroveň MAS zahrnuje systém jako celek. Nižší úrovně agentů poté tvoří jednotlivé části systému. Modelujeme-li např. výrobní linku, tak nejvyšší 5
Intergovernmental Panel on Climate Change
44
úroveň bude tvořit výrobní linka, jednotlivá zařízení budou poté o úroveň níže a budou tvořit jednotlivé části linky. Každý agent může interagovat s ostatními agenty a to nejen na své úrovni (ať již přímo či nepřímo) tak i s agenty na rozdílných úrovních. Každý agent bude mít navíc své parametry. Nejvyšší samostatný agent tedy popisuje systém jako celek, dalo by se říct, že popisuje základní prostředí modelovaného systému. Agenty o úroveň níže popisují jednotlivé části systému, pro které je také možno definovat jejich parametry. Tyto jednotlivé agenty popisující jednotlivé části systému je možno dále si rozdělit na běžné agenty a speciální agenty. Běžné agenty pouze nepřímo ovlivňují ostatní agenty. Speciální agenty aktivně ovlivňují ostatní komponenty, jde o tzv. mediátory (Gershenson 2007). Je možno tedy rozlišit parametry samotné simulace (prostředí), parametry běžných agentů a parametry mediátorů (speciálního druhu agentů). (Janošek a Volná 2012) Ke každému z parametrů je potřeba dále určit jeho rozsah hodnot a to buď na základě zkušeností z chování obdobných systémů, anebo na základě pozorování reálného systému (Křivý a Kindler 2003).
4.3.1
Parametry a pákové body
Další možností jak určit parametry a jejich rozsahy hodnot je využít hierarchie pákových bodů (Janošek a Volná 2012). Při použití parametrů modelu by měly být nejdříve brány v potaz ty parametry, které souvisí s hlavními koncepty modelu, a tudíž ovlivňují nejvíc jeho chování a až poté se postupně propracovat k detailům. Jak tedy rozpoznat, které parametry jsou méně a které více důležité? Inspiraci je možno nalézt v pákových bodech (Janošek a Kocian 2012). Jsou to místa v systému, kde malá změna v jedné části může vyústit ve velkou změnu ve všech částech (Pelánek 2011). Jako základní pomůcku pro stanovení, které parametry jsou více a které méně důležité, lze postupovat dle hierarchie pákových bodů (Meadows 1999). Prozatím byly zmíněny parametry systému nebo modelu. Jak lze vidět, parametry systému jsou zmíněny úplně na posledním místě důležitosti v hierarchii pákových bodů (Kap. 2.6). Existují ovšem parametry, které přímo souvisí s některým význačnějším pákovým bodem. Právě tyto parametry jsou klíčové. Čím výše v hierarchii pákových bodů, tím méně zřejmá může být souvislost parametru s daným pákovým bodem. 45
Jak již bylo výše zmíněno, jsou rozlišovány tři typy agentů: prostředí, běžné a mediátory. Jak je tedy možno dát do vztahu parametry agentů a pákové body? A jak by se mělo postupovat při nastavování jejich parametrů? Navrhnul jsem dva přístupy jak nalézt souvislost mezi parametry a pákovými body (Janošek a Volná 2012). Jedním ze způsobů (W1) je sledovat pákové body v jejich hierarchii podle důležitosti a u každého bodu si položit otázku. Má některý z agentů parametry, které mají vliv tento pákový bod systému? V případě, že odpověď je kladná, je možné danému parametru přiřadit rozsah hodnot a vybrat určitou rozumnou hodnotu z daného rozsahu. Rozumnou hodnotou je myšleno nastavení této hodnoty na základě zkušeností s daným nebo podobným systémem. Dalším způsobem by mohlo být použití některé heuristické metody (např. z oblasti softcomputingu), či metody pokusu a omylu. Postupovat je žádoucí od obecného k specifickému i v případě, pokud se jedná o agenty. To znamená od agentů prostředí, k běžným agentům až po mediátory. Není nutné nalézt parametry pro každý pákový bod. Některé parametry mohou ovlivňovat více pákových bodů. U některých parametrů nemusí být úplně zřejmé, který pákový bod ovlivňují. Tím pádem je možné některé pákové body zanedbat, jelikož nebude možné najít odpovídající parametr. Existuje i druhý způsob (W2), kterým je možno přistupovat k vyhodnocování důležitosti parametrů. Každý typ agenta je konfrontován se všemi dvanácti pákovými body. Tento postup se jeví jako vhodnější, jelikož nejdřív je definována důležitost parametrů pro agenty prostředí (systém), poté běžné agenty a nakonec mediátory. Tím je zajištěno, že jsou nejdříve definovány všechny důležité parametry prostředí, i když by tyto parametry nekorespondovaly s důležitějšími pákovými body. Další možností by potom byla kombinace obou přístupů (W1 a W2). Vztah parametrů a pákových bodů vzhledem k výstupnímu ukazateli jsem ověřil na simulaci SOTL6 navržené Calrosem Gershensonem (Gershenson 2007), která je přístupná na http://turing.iimas.unam.mx/~cgg/sos/SOTL/SOTL.html. Jedná se o rozšířenou simulaci Gridlock původně vyvinutou autory Uri Wilensky a Walter Stroup. Tato simulace je součástí simulačního nástroje NetLogo (Wilensky 1997). Simuluje dopravu ve městě, kde se dopravní semafory snaží samoorganizovat dopravu pro zlepšení dopravní situace. Sestává z abstraktní dopravní mřížky s křižovatkami mezi 6
Self-Organizing Traffic Lights
46
horizontálními a vertikálními tepnami. Vozidla se pohybují pouze přímo východním nebo jižním směrem. Každá křižovatka má dopravní semafory, které umožní projíždět křižovatku vozidlům buď jižním, nebo východním směrem. Aby bylo možné dát správně do vztahu jednotlivé parametry a 12 pákových bodů, je důležité definovat problém, který je simulován a čeho je žádoucí prostřednictvím simulace dosáhnout. Cílem systému dopravních semaforů (na úrovni celého města) je umožnit vozidlům jet co nejplynuleji a nejrychleji jak je to možné (ukazatel Average Speed of Cars), usměrňujíc jejich konflikty v čase a prostoru na křižovatkách. Vybral jsem několik parametrů s náhodně nastavenými hodnotami, zatímco ostatní nevybrané parametry zůstaly nastavené na výchozí hodnotě. Na vybrané parametry bude aplikován jeden z výše navržených přístupů (W1 nebo W2) s cílem stanovit pořadí parametrů modelu dle důležitosti. Použité parametry: -
Grid-size x (počet vertikálních ulic);
-
Grid-size y (počet horizontálních ulic);
-
Number (počet vozidel);
-
Torus (propojení konců mřížky ulic, vypnuto/zapnuto);
-
Speed-limit (maximální rychlost vozidel);
-
Control (strategie mediátorů); o Mingreen (min. fáze zelené); o Keep-platoon (vzdálenost pro kontrolu před dopravními semafory); o Queue-cut (délka fronty); o Tolerance (práh).
Nejprve je nutné rozdělit tyto parametry dle druhu agentů. Prostředí: Grid-size x, Grid-size y, Torus, Speed limit; Běžné: Number; Mediátory: Control, Mingreen, Keep-platoon, Queue-cut, Tolerance. Pro tento experiment bude využit druhý způsob (W2). Nejprve je dáno do vztahu 12 pákových bodů s agenty prostředí. Torus se vztahuje k bodu 2. Je to druh paradigmatu, jelikož definuje, zda je svět rovný či kulatý. Speed-limit se vztahuje k bodu 5, jelikož 47
definuje omezení. Grid-size x a Grid-size y se vztahuje k bodu 10, jelikož definuje strukturu. Dále jsou na řadě běžné agenty. Zde je pouze jeden parameter – Number, který se vztahuje k bodu 12, jelikož definuje pouze počet vozidel. Nakonec zůstává 12 pákových bodů pro parametry mediátorů. Zde je jeden hlavní parameter – Control a čtyři subparametry, které se pouze vztahují k odlišné formě řízení. Parametr Control se vztahuje k bodu 4, jelikož má moc samoorganizovat strukturu systému. Všechny zbývající parametry Mingreen, Keep-platoon, Queue-cut a Tolerance se vztahují k bodu 5, jelikož definují pravidla. Co bylo tedy získáno rozdělením parametrů do kategorií dle druhu agentů a úrovní pákových bodů (Tabulka 2)? Nyní je k dispozici jisté vodítko, podle kterého je možno usoudit, který z parametrů je méně a který více důležitý. Je tedy možné se během simulační fáze nejdříve soustředit na důležitější parametry a až nakonec implementovat detaily. Tabulka 2 – Pákové body vs. druhy agentů Pákový bod 1 2 3 4 5
6 7 8 9 10 11 12
Prostředí
Běžný
Mediátor
Torus Control Mingreen Keep-platoon Queue-cut Tolerance
Speed-limit
Grid-size x Grid-size y Number
Jedním ze způsobů jak prozkoumat v jaké míře každý z parametrů ovlivňuje simulace, je pozorovat chování systému pro určitý výstupní ukazatel (Obrázek 13). Na obrázku je možno vidět vliv nastavení vstupních parametrů Torus, Grid-size x, Grid-size y a Number na průměrnou rychlost vozidel – Average Speed of Cars.
48
Obrázek 13 – SOTL graf výstupního ukazatele Average Speed of Cars Jak lze pozorovat, nejvíce ovlivnil výstupní ukazatel parametr Torus, který také koresponduje s jedním z nejvýznačnějších pákových bodů a to bodem 2. Zůstane-li výchozí hodnota parametru Torus na on, dokáže systém přejít do plně samoorganizujícího chování definovaného v tomto případě ukazatelem Average Speed of Cars hodnotou 1. V případě nastavení parametru Torus na hodnotu off, oscilovala průměrná rychlost vozidel výstupního ukazatele mezi hodnotami 0,7 až 0,85. Systém tedy nedokázal přejít do stavu plné samoorganizace. Parametry Grid-size x a Grid-size y, které korespondují s pákovým bodem z opačného konce hierarchie, bodem 10, ovlivnily výstupní ukazatel mnohem méně. Výstupní ukazatel se držel mezi hodnotami 0,85 až 1. Naproti tomu při změně parametru Number z hodnoty 320 na 420, který koresponduje s bodem 12 a který je nejníže v hierarchii pákových bodů, systém stále dokázal přejít do samooranizujícího stavu, hodnoty 1 výstupního ukazatele. Na konkrétním příkladu bylo ukázáno, že pro každý parametr lze najít korespondující pákový bod v hierarchii pákových bodů. Lze tedy získat představu, jakým způsobem souvisí daný parametr s konceptem celé simulace, což může být nápomocno jak ve fázi implementace modelu, tak ve fázi samotné simulace.
49
Během implementace modelu v simulační fázi jsou nejprve postupně identifikovány všechny tyto parametry, kdy je postupováno jednotlivě dle druhu agenta (W2) a je pro něj konfrontováno 12 pákových bodů. V druhém případě, kdy už existuje implementovaný funkční model, anebo je prováděn test simulace vytvořené někým jiným, je možno použít způsob (W1) a postupovat dle 12 pákových bodů najednou pro všechny druhy agentů. Díky pákovým bodům je tedy možno získat určitou představu o tom, jak má který parametr vliv na danou simulaci, resp. na daný výstupní ukazatel. Pákové body ovšem neposkytnou žádnou exaktní informaci o velikosti vlivu na výstupní ukazatel. Navíc, v případě více výstupních ukazatelů, může být vliv jednotlivých parametrů odlišný.
4.3.2
Parametry, vzory, chování a adaptace
S informací o síle vlivu parametrů na výstupní ukazatel je možné získat určitou představu o jejich důležitosti pro zásah v systému. Jak ale poznat, že systém se chová tak jak je očekáváno? Většina simulačních nástrojů nám umožňuje vykreslit proměnné do grafu. Tzn., pokud je simulace spuštěna s určitým nastavením parametrů, jen možné porovnat tento výstup s chováním reálného systému anebo s očekávaným chováním neexistujícího systému. Existuje několik základních vzorů chování používaných v systémové dynamice: konstantní, růst, pokles, růst a pokles, pokles a růst, oscilace (případně další). V článku (Boğ and Barlas 2005) navrhují autoři automatické testování vzorů chování systému a dle toho odpovídající kalibraci parametrů. Je možné sice provádět kalibraci parametrů manuálně, ale s použitím neuronových sítí naadaptovaných na rozpoznávání vzorů chování systému, se nabízí možnost tuto kalibraci provádět automaticky, tj. nastavování hodnot parametrů a jejich testování (Volná et al. 2012d).
50
Obrázek 14 – Základní vzory chování systému, (Boğ and Barlas 2005) Poté je možno porovnat chování reálného a simulovaného systému, např. se základními vzory chování (Obrázek 14). Za kalibraci parametrů se dá také považovat minimalizace chybové funkce (Boğ and Barlas 2005).
4.3.3
Fixní a měnící se parametry
Vymezení parametrů simulace se odvíjí od příčiny, pro kterou je daná simulace vytvářena. Je mnoho pohledů, jak určit parametry simulace a jakým způsobem je nastavit. V případě nastavování parametrů simulace (prostředí a agentů) je to vždy s určitým cílem, kterého je žádoucí dosáhnout. Simulace je možno rozdělit do dvou kategorií, jež se odvíjí se od toho, zda je simulován reálně existující systém, anebo je vytvářen systém úplně nový. V případě, že je simulován reálně existující systém, tak je simulace vytvářena proto, aby co nejlépe odpovídala skutečné realitě. Samozřejmě je důležité vzít v potaz kompromis mezi složitostí a výkonností modelu, je vytvářena jen abstrakce daného systému. Následně jsou nastaveny jednotlivé parametry simulace tak, aby celkové chování systému odpovídalo, co nejlépe reálně existujícímu systému. V případě, že je vytvářen systém úplně nový, je podstatné
51
nastavit parametry systému tak, aby chování systému odpovídalo daným požadavkům na jeho chování. V každém případě nemusí být odhadnutí správného nastavení parametrů vždy jednoduché. Poté co je provedeno toto základní nastavení parametrů, jsou parametry dále experimentálně nastavovány, aby simulace systému splnila některá kritéria anebo očekávání, pro které je daná simulaci vytvářena. Většinou jde o testování různých scénářů případně ladění systému na co nejvyšší výkon. Parametry můžou nabývat buď fixní hodnoty během jednoho běhu simulace, anebo můžou svou hodnotu v průběhu simulace měnit. Nastavení fixních hodnot se jeví jako jednodušší, než nastavení hodnot měnících se. Fixní parametry můžou být nastaveny na základě pozorování reálného systému, případně dle aktuálních potřeb. Obecně je možno měnící se parametry rozdělit do tří kategorií. Parametr může měnit svou hodnotu náhodně, může měnit svou hodnotu na základě určitého vzoru anebo může měnit svou hodnotu adaptováním na aktuální situaci. Které parametry by tedy měly být nastaveny jako fixní a které jako měnící se? Neexistuje žádný striktní poměr mezi fixními a měnícími se parametry. Důležité je udržet model (simulaci) na vhodné úrovni abstrakce a jednoduchosti. Měnící se parametry přidávají další detaily do simulace, což nemusí být ve všech případech správná cesta. S celkovým počtem parametrů se zvyšuje náročnost jejich nastavení. Mění-li část parametrů své hodnoty, vede to k obrovskému množství kombinací jednotlivých parametrů a jejich hodnot.
4.4 Pákové body a seřazení parametrů Cílem této kapitoly je navrhnout takový postup, pomocí něhož by bylo možno realizovat výběr akčních parametrů a nastavení hodnot parametrů simulace v jejím průběhu. Tzn. adaptivně měnit parametry simulace tak, aby systém realizoval náš cíl. Jako příklad k této kapitole je použita simulace Wolf Sheep Predation (Wilensky 1997) dodávaná s nástrojem Netlogo. Jedná se o klasickou simulaci typu predátor – kořist. Prostředí předem daného rozměru je na začátku simulace náhodně pokryto trávou, ovcemi a vlky. Tráva slouží jako potrava pro ovce, po konzumaci tráva z daného políčka zmizí, obnoví se až po určitém intervalu. Ovce slouží jako potrava pro vlky. Ovce i vlci mají 52
k dispozici určitou energii, klesne-li jejich energie na nulu, umírají. Ovce i vlci mají předem nastavenou určitou pravděpodobnost, že se v daném kroku rozmnoží. V experimentech se zaměřím na celkovou populaci ovcí i vlků dohromady, cílem ji bude udržet v určitém rozmezí. Tento postup sestává z několika navazujících kroků. Veškeré provedené kroky jsou realizovány s ohledem na konkrétní cíl, kterého chci dosáhnout. -
Otestovat veškeré parametry simulace v jejich rozsahu.
-
Na základě testování zjistit vliv jednotlivých parametrů na sledovaný výstupní ukazatel simulace.
-
Analýza citlivosti: zjistit vliv jednotlivých parametrů na stabilitu systému v jejich rozsahu a stanovit takové meze parametrů, pro které má simulace smysl (např. takové meze, pro které nám populace neklesne na nulu).
-
Vybrat takové parametry a jejich akční rozsah, které mají na systém znatelný vliv, ale zároveň nezpůsobují nestabilitu a významné oscilace.
-
Adaptovat hodnoty těchto parametrů v jejich stabilním rozsahu k dosažení cílů.
4.4.1
Testování parametrů
Cílem testování parametrů je získat potřebná data pro navazující kroky a to zejména pro zjištění vlivu jednotlivých parametrů a stanovení akčního rozsahu parametrů vzhledem k cíli simulace. Nutným předpokladem pro tuto fázi je již nastavení výchozích hodnot všech parametrů simulace a to tak, aby výsledky simulace odpovídaly reálnému systému, případně aby odrážely základní aspekty chování vytvářeného systému. Parametry jsou testovány postupně, jeden za druhým. Měněny jsou vždy hodnoty jednoho parametru v celého jeho rozsahu, ostatní parametry zůstávají na výchozí hodnotě. Jako výstupní sledovaný ukazatel je zvolen ten, který vypovídá, zda systém realizuje požadovaný cíl. Jelikož je použit simulační nástroj využívající přístup zdola nahoru, tedy simulátor založený na agentech a multiagentových systémech, má na výsledek simulace vliv nejen nastavení parametrů, ale i rozmístění agentů v prostoru, které je vždy náhodné. Z tohoto 53
důvodu je důležité spustit simulaci s jedním nastavením parametru několikrát a výsledky zprůměrovat. Pro další účely zpracování údajů je nutné zjistit minimální, maximální a průměrnou hodnotu výstupního ukazatele pro každou hodnotu vstupního parametru. Tabulka 3 – Výchozí hodnoty parametrů Parametr
Účel
Výchozí hodnota
Rozsah
grass-regrowth-time initial-number-sheep initial-number-wolves sheep-gain-from-food wolf-gain-from-food sheep-reproduce wolf-reproduce
jak dlouho trvá, než doroste tráva počáteční velikost populace ovcí počáteční velikost populace vlků množství potravy z trávy množství potravy z ovcí pravděpodobnost rozmnožení pravděpodobnost rozmnožení
30 100 50 4 20 4 5
0-100 0-250 0-250 1-50 1-100 1-20 0-20
Simulace Wolf Sheep Predation obsahuje tyto parametry a jejich výchozí rozsahy (Tabulka 3). Zvoleným výstupním ukazatel je velikost celkové populace vlků i ovcí. Tabulka 4 – Sheep-reproduce Sheep-reproduce
Min
Max
Mean
1 2 3 4
85,6 113,4 138,2 142,2
338 303,2 304,6 314,8
242,84515 207,9996 221,06054 236,3033
5 6 7 8 9
148,4 147,6 146,2 148,8 146,8
339,8 357,6 394,8 417,8 453,2
250,84016 261,49411 276,9958 286,62238 296,5009
10 11 12 13
149,4 148,2 148,4 149,8
460 479,6 508,2 531
307,26513 318,97642 328,56484 337,07812
14 15 16 17 18
149,6 150 150 149,8 149,8
527,6 526,8 538,2 534,2 565,4
347,96024 356,68931 365,21638 375,99241 381,92188
19 20
149,4 150
564,6 586,4
391,95185 398,04875
V (Tabulka 4) je vidět, jak vypadá výstup z testování jednoho z parametrů, sheepreproduce. Simulace byla vždy pro každou hodnotu parametru spuštěna 5x a výsledky byly zprůměrovány. Jelikož je experiment zaměřen na celkovou velikost populace, odpovídají tomu i jednotlivé sloupce v tabulce. První sloupec vypovídá o aktuálním nastavení vstupního parametru. Ostatní tři sloupce obsahují zprůměrovanou hodnotu výstupního 54
ukazatele a to minimální, maximální a průměrnou velikost populace v průběhu jednoho běhu simulace. Výsledky analýzy všech parametrů včetně grafů jsou uvedeny v příloze (Příloha A). 700
sheep-reproduce
celková populace
600 500 400
Průměr z [min]
300
Průměr z [max]
200
Průměr z [mean]
100 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 hodnota parametru
Obrázek 15 – Sheep-reproduce Výsledky z (Tabulka 4) jsou také zaznamenány v grafu (Obrázek 15). Křivkou minimální, maximální a průměrné populace je proložena regresní přímka. Z grafu můžeme vidět, jaký vliv má hodnota parametru sheep-reproduce na celkovou populaci.
4.4.2
Vliv vstupních parametrů na výstupní ukazatel
Z hierarchie pákových bodů (Meadows 1999) vyplývá, že existují parametry, které lze ztotožnit s některým s vyšších pákových bodů v této hierarchii. Čím vyšší pákový bod, tím více je možno ovlivnit systém změnou parametru s tímto pákovým bodem souvisejícím. Aby bylo možné ovlivnit běh simulace, budou zajímavé takové vstupní parametry, které mají na výstupní ukazatel co největší vliv. K posouzení vlivu jednotlivých parametrů na výstupní sledovaný ukazatel je využita analýza citlivosti. K analýze citlivosti lze použít jak vizuální, tak numerickou analýzu. Vizuální analýza využívá zobrazení na časové ose, případně je zobrazena pomocí stavového prostoru. Jednotlivé výsledky jsou zaneseny do grafu a interpretovány pomocí statistickým metod, např. lineární regrese. Při těchto analýzách je žádoucí se zaměřit na hledání fázového přechodu v chování modelu, resp. výstupního ukazatele. Fázový přechod znamená, že model vykazuje prudkou změnu chování vzhledem ke zvolenému parametru. Parametry, vůči kterým model vykazuje fázový přechod, představují pákové body (Pelánek 2011). Obdobně také evoluce probíhá 55
ve skocích. Střídají se období stagnace a bouřlivé výměny generací vykazujíc také fázový přechod (Hillis 1998). Čím znatelnější je fázový přechod, tím strmější je přímka, kterou je možno proložit jednotlivými pozorováními. Zobecněním tohoto přístupu tedy bude proložení přímky jednotlivými pozorováními (lineární regrese). Podle směrnice přímky lze poté stanovit jak důležitost vlivu parametru, tak i jeho pozitivní, případně negativní efekt v případě změny jeho hodnoty. Sledovaným výstupním ukazatelem bude v tomto případě průměrná velikost (průměrná velikost pro každý jednotlivý běh simulace) celkové populace testované na celém rozsahu hodnot vstupního parametru. Minimální a maximální velikost populace dává informace
450 400 350 300 250 200 150 100 50 0
initial-number-sheep Průměr z [min] Průměr z [max]
Průměr z [mean]
1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241
celková populace
zejména o velikosti oscilací obou populací.
hodnota parametru
Obrázek 16 – Initial-number-sheep Na (Obrázek 15, Obrázek 16) lze vidět výsledky analýzy citlivosti pro parametr sheepreproduce, initial-number-sheep a sledovaný ukazatel celkové populace. Jak lze vidět na (Obrázek 16), tak změna velikosti parametru initial-number-sheep nemá významný vliv na celkovou populaci simulace. Křivkou vypovídající o průměrné velikosti populace (Průměr z [mean], zeleně) je proložena lineární regresní přímka se směrnicí 0,01, která je v podstatě rovnoběžná s osou x. Jakákoliv změna velikosti populace tedy nemá skoro žádný vliv na celkovou velikost populace. Má vliv pouze na minimální a maximální velikost populace a s tím související oscilace, ale této problematice se věnuje další kapitola. Nejvýraznější skok nastává mezi hodnotou parametru initial-number-sheep 1 a 2, ale v tomto případě jde o okrajový extrémní případ, který nemá na celkové posouzení vlivu parametru velký vliv, což se také odrazilo na výsledné směrnici regresní přímky. 56
Tabulka 5 – Směrnice regresních přímek zkoumaných parametrů Parametr
Směrnice z mean
Pákový bod
grass-regrowth-time wolf-gain-from-food initial-number-wolves initial-number-sheep wolf-reproduce sheep-reproduce sheep-gain-from-food
-7,25 -0,63 0,00 0,01 0,01 9,98 40,57
8 7/8 12 12 7/8 7 7
V (Tabulka 5) jsou vidět hodnoty směrnic regresních přímek všech vstupních parametrů simulace pro průměrnou hodnotu celkové populace. Dále jsou zde vidět i přiřazené pákové body dle (Obrázek 6), tak jak jsem je přiřadil dle hierarchie pákových bodů. Parametry initial-number-wolves a initial-number-sheep mají směrnici blízkou nule. Také přiřazený pákový bod je č. 12, což je bod nejníže v hierarchii pákových bodů. Jde tedy o nejméně významné parametry z hlediska ovlivnění výstupního ukazatele kterým je průměrná velikost celkové populace. Parametry sheep-reproduce a sheep-gain-from-food mají směrnici kladné hodnoty vzdálené od nuly. Také přiřazený pákový bod je č. 7, což odpovídá pákovému bodu ovlivňující pozitivní zpětnou vazbu. Čím více získá ovce potravy z trávy, tím delší dobu je schopna daná ovce přežít a tím více potomků může mít. Stejně tak, čím větší je hodnota parametru sheep-reproduce, tím více ovcí se v každém kroku narodí, atd. Parametr grass-regrowth-time má zápornou směrnici vzdálenou od nuly a koresponduje s pákovým bodem č. 8, jelikož souvisí s negativní zpětnou vazbou. Zvyšování hodnoty tohoto parametru prodlužuje interval mezi obnovením políčka s trávou, čímž zvyšuje efekt negativní zpětné vazby na populaci ovcí a tím také na populaci vlků. Nejspornější se zdají být poslední dva parametry a to wolf-gain-from-food a wolfreproduce. Vzhledem k parametru celkové velikosti populace mají efekt jak na pozitivní, tak negativní zpětnou vazbu (bod 8 i 7). Vyšší hodnota parametru ovlivňující množení vlků i množství potravy získaného z jídla (z ovcí) zvyšuje populaci vlků a tím i celkovou populaci. Ovšem, více vlků sežere více ovcí, čímž redukuje populaci ovcí, což má naopak negativní vliv na celkovou populaci obou druhů. Tím, že tyto parametry působí na obě zpětné vazby, tak se jejich účinek vyruší, čemuž odpovídá i hodnota směrnice regresní přímky.
57
Tabulka 6 – Sheep-gain-from-food sheep-gain
min
max
mean
max-min
% z 1000
1
0
150
34,15055679
150
15
2 3 4 5
61,4 127 139,6 138
150 237,4 327,6 424
87,23036963 176,4959041 237,3814186 264,5554446
88,6 110,4 188 286
8,86 11,04 18,8 28,6
6 7 8 9 10
74,2 38 32 31,4 8,6
594,8 786,4 929,8 1061,4 1121,4
302,3828172 392,9242757 454,6563437 584,4097902 462,2014399
520,6 748,4 897,8 1030 1112,8
52,06 74,84 89,78 103 111,28
11 12 13 14
32,2 12 18,2 12,2
1353,6 1324,8 1392,8 1642,8
705,3320679 576,7403062 659,7734709 736,1379439
1321,4 1312,8 1374,6 1630,6
132,14 131,28 137,46 163,06
15 16 17 18 19
17,8 19,6 16,2 8,8 9,4
1442,6 1995,8 1863,4 1550 2072,2
733,4508278 941,9224217 830,292735 676,3970485 1042,949086
1424,8 1976,2 1847,2 1541,2 2062,8
142,48 197,62 184,72 154,12 206,28
20 21 22 23
17 3 11 12,6
2595,4 2061,8 2501,4 2646,4
1275,127872 656,2685451 1201,686636 1113,134005
2578,4 2058,8 2490,4 2633,8
257,84 205,88 249,04 263,38
24 25 26 27 28
6,2 10 12,4 9,2 9,4
2186,4 2703 2430,2 2864,2 2939,2
869,9110359 1147,148704 1100,631066 1215,155969 1240,11485
2180,2 2693 2417,8 2855 2929,8
218,02 269,3 241,78 285,5 292,98
29 30 31 32
11,2 14,6 16,2 13,8
3178,8 3437 2113,4 2750,6
1331,713739 1624,061449 1042,723331 1143,531169
3167,6 3422,4 2097,2 2736,8
316,76 342,24 209,72 273,68
33 34 35 36 37
11,2 8 5,6 8,6 3,8
3347,6 2999,8 3246,6 3370,4 3156,6
1203,191354 1348,474541 1199,740945 1496,544505 974,6176539
3336,4 2991,8 3241 3361,8 3152,8
333,64 299,18 324,1 336,18 315,28
38 39 40 41
9,6 10 12,8 5,6
4573,2 3874,8 5337 2929,6
2020,738634 1669,142481 2513,797602 1254,97904
4563,6 3864,8 5324,2 2924
456,36 386,48 532,42 292,4
42 43 44 45 46
20,6 13,2 9 7,8 22,2
5630,8 5292 3970,2 4165 4100,6
2401,779781 2318,826448 1802,798544 1811,662898 1951,564968
5610,2 5278,8 3961,2 4157,2 4078,4
561,02 527,88 396,12 415,72 407,84
47 48 49 50
4 9 4 15,4
4941,6 3200,6 4495 5553,4
1951,042409 1461,116228 1956,748876 2615,363517
4937,6 3191,6 4491 5538
493,76 319,16 449,1 553,8
-1,15
96,09
40,57
Směrnice
58
V (Tabulka 6) lze vidět průběh testování parametru sheep-gain-from-food v rozsahu parametru 1 – 50. Uvedené hodnoty lze nalézt také vyneseny v grafu na (Obrázek 17). 6000
sheep-gain-from-food
celková populace
5000 4000 3000
Průměr z [min]
2000
Průměr z [max] Průměr z [mean]
1000 0 -1000
1 3 5 7 9 1113151719212325272931333537394143454749 hodnota parametru
Obrázek 17 – Sheep-gain-from-food Na základě provedených experimentů a následně přiřazených pákových bodů dle hierarchie pákových bodů je možné vyvodit, že vypovídajícím ukazatelem o vlivu jednotlivých vstupních parametrů na sledovaný výstupní ukazatel (chování simulace) je směrnice regresní přímky hodnot výstupního ukazatele vzhledem k jednotlivému vstupnímu parametru. Čím více je směrnice blízka nule, tím menší má parametr vliv na výstupní ukazatel a naopak. Kladná či záporná hodnota směrnice koresponduje s kladným či záporným vlivem na výstupní ukazatel. Seřazením těchto parametrů dle absolutní hodnoty směrnice poté získáme také určitou hierarchii parametrů simulace s rostoucím vlivem. Pro další analýzu jsou vybrány tři parametry a to grass-regrowth-time, sheep-reproduce a sheep-gain-from-food, jelikož hodnoty směrnic jejich regresních přímek jsou znatelně větší než 0, tudíž mají významný vliv na výsledek simulace pro zvolený výstupní ukazatel (Tabulka 5).
4.4.3
Analýza citlivosti a stanovení mezí parametrů
Při testování citlivosti je věnována také pozornost základnímu typu vykazovaného chování (oscilace, stabilita, kolaps) a numerickým hodnotám výstupu testování (Pelánek 2011). Na základě předchozí analýzy vyšly jako zajímavé parametry grass-regrowth-time, sheepreproduce a sheep-gain-from-food, jelikož mají významný vliv na výsledek simulace pro 59
sledovaný výstupní ukazatel. K využití výše vybraných parametrů k ovlivnění chodu simulace je důležité vybrat takový rozsah jejich hodnot, ve kterém je systém stabilní, nevykazuje příliš velké oscilace a nedojde k jeho kolapsu. Velikost oscilací, které systém vykazuje, lze určit z minimální a maximální hodnoty sledovaného ukazatele. Čím větší je rozdíl mezi těmito hodnotami, tím větší oscilace mohou nastat. Stejně tak může být nežádoucí, pokud je hodnota celkové populace minimálního parametru příliš nízká a naopak pokud je hodnota maximálního parametru příliš vysoká. Po odečtení minimální hodnoty od maximální hodnoty populace pro každou hodnotu vstupního parametru, lze získat představu, k jak velkým oscilacím populace může docházet (sloupec max-min Tabulka 6, Obrázek 17). Bude-li např. žádoucí maximální velikost oscilace 200 jedinců celkové populace, tak požadovanému záměru vyhovují pouze tři řádky, hodnoty parametru sheep-gain-from-food (označeny zeleně – 2, 3, 4, Tabulka 6). Dalším krokem je stanovení mezí vybraných parametrů, pro které má simulace smysl. Smysl simulace souvisí s cíli a s chování výstupního ukazatele. Simulace Wolf Sheep Predation má smysl v případě, že velikost populace neklesla v průběhu testování na nulu. Kritérium může být samozřejmě i jiné, jako např. že populace nesmí klesnout pod konkrétní nenulovou hodnotu. Důležitá tedy bude minimální hodnota, na kterou se hodnota výstupního ukazatele během běhu simulace dostala. Pro ilustraci bylo zvoleno přísnější kritérium, kdy celková populace nesmí během simulace klesnout pod hodnotu 10. Tím byly vyloučeny některé hodnoty vstupního parametru, při nichž celková populace klesla pod tuto hodnotu, tak jako v případě parametru sheep-gain-from-food (označeno žlutě, Tabulka 6). Některé žlutě označené řádky se mohou krýt se zelenými řádky. Tím může být ještě zúžen interval akčních parametrů, tak jako v případě řádku 1. Jsou vybírány pouze takové hodnoty parametru, pro které simulace má pro nás smysl z hlediska oscilací parametru.
4.4.4
Akční parametry a rozsah
V předchozích krocích byli vytipováni kandidáti na akční parametry, které by mohly být využity pro ovlivnění chodu simulace a řídit tak požadovaný výstupní ukazatel v požadovaných mezích. Jsou tedy vytipovány konkrétní vstupní parametry a jejich rozsah. Je možno si je seřadit dle hodnoty směrnice regresní přímky, tedy vlivu na výstupní 60
ukazatel (Tabulka 7). Hodnota směrnice byla určena lineární regresí celkové velikosti populace na jednotlivých vstupních parametrech, které byly měněny v uvedeném rozsahu. Hodnoty zbylých parametrů byly nastaveny na výchozí hodnotu. V tabulce jsou tedy parametry seřazeny dle směrnice regresní přímky. Zvyšování hodnoty vstupního parametru grass-regrowth-time má negativní vliv na výstupní ukazatel, zvyšování hodnoty zbylých dvou vstupních parametrů má pozitivní vliv na výstupní ukazatel. Nejvíce ovlivní výstupní ukazatel parametr sheep-gain-from-food, jelikož jeho směrnice má ze všech tří nejvyšší hodnotu. Akční rozsah všech tří parametrů je v mezích stanovených v předchozí kapitole, tak aby systém nevykazoval příliš velké oscilace a nedošlo pokud možno ke kolapsu. Tabulka 7 – Akční parametry a jejich rozsahy hodnot Akční parametr grass-regrowth-time sheep-reproduce sheep-gain-from-food
Rozsah 28-90 2-6 2-4
Směrnice z mean -7,25 9,98 40,57
K ověření, zda byly vybrány správné akční parametry, byla provedená vícerozměrná regresní analýza závislosti výstupního ukazatele celkové populace na všech třech vstupních parametrech (Tabulka 8). Podklady pro výpočet regresního modelu jsou vzaty z (Tabulka 7), kdy byly experimentálně simulací zjištěny hodnoty celkové populace pro všechny kombinace třech vstupních parametrů. Bylo získáno celkem 945 pozorování. Řádek koeficient určuje směrnici regresní přímky (parametry modelu) pro daný akční parametr. Standardní chyby vyjadřují velikost chyby odhadu každého jednotlivého regresního koeficientu. Koeficient determinace R2 naznačuje silnou závislost mezi vybranými parametry a výstupním ukazatelem, tzn., že tyto tři akční parametry vysvětlují pozorování výstupního ukazatele z 91%. Hodnota t-statistiky vypovídá o tom, že všechny akční parametry jsou statisticky významné při odhadu vlivu na výstupní ukazatel, jelikož kritická hodnota pro t-oboustranný test a 941 stupňů volnosti je cca 1,96. Všechny absolutní hodnoty t-testu pro tři akční parametry tuto hodnotu převyšují.
61
Tabulka 8 – Výsledky mnohorozměrné lineární regrese Sheep-gain
Sheep-reproduce
Grass-regrowth-time
koeficient
48,32921
1,425784
-1,75775
směrodatná odchylka
0,629046
0,36318
0,028245
t-statistika
76,82936
3,925834
-62,2321
T(0,05;941)
1,962488
R
2
0,912318
stupně volnosti
941
Z výsledků regresní analýzy je možno usoudit, že vybrané akční parametry a jejich rozsahy hodnot byly zvoleny správně. Je důležité vzít v potaz, že zatímco parametry s kladnou hodnotou směrnice ovlivňují výstupní ukazatel pozitivním směrem (zvyšování populace), tak parametry se zápornou směrnicí ovlivňují výstupní ukazatel negativním směrem (snižování populace). Pokud se nyní hodnota sledovaného výstupního ukazatele dostane mimo požadovaný rozsah, je možné zasáhnout prostřednictvím akčních parametrů. Pro správný zásah jsou využity vzory chování systému, které jsou popsány v následující kapitole.
4.5 Determinace a rozpoznávání vzorů pomocí neuronové sítě Rozpoznání vzorů pomocí neuronové sítě je podstatnou částí navrhované metodiky, jelikož při správním naučení dokáže neuronová síť samostatně rozpoznávat vzory chování. Na problému determinace a rozpoznávání vzorů pracuji s celým týmem zejména v rámci projektů SGS7, především pak s Václavem Kocianem (Volná et al. 2012e). Pro následující experimenty je využívána síť s Hebbovým učením (Hebb 1949, Volná et al. 2012a). Cílem této kapitoly je popsání procesu rozpoznávání vzorů jako nástroje pro navrhovanou metodiku. Rozpoznávání vzorů pomocí neuronových sítí zahrnuje:
7
-
determinaci tréninkových vzorů,
-
binarizaci vzorů,
-
adaptaci neuronové sítě (trénink),
-
rozpoznávání vzorů.
Studentská grantová soutěž
62
4.5.1
Determinace tréninkových vzorů
V každém systému lze nalézt vzory chování specifické pro daný systém. Vytvoření množiny tréninkových vzorů je jednou z klíčových úloh, které je potřeba věnovat patřičnou pozornost. Špatně volené vzory mohou vést ke zmatení neuronové sítě a neuronová síť „naučená“ na nesprávných vzorech, může dávat naprosto nesmyslné odezvy.
Obrázek 18 – Determinace tréninkových vzorů Na (Obrázek 18) lze vidět čtyři výstupní ukazatele simulace Wolf Sheep Predation v čase (krocích simulace). Pro každý jednotlivý krok simulace je zde velikost populace ovcí (sheep), vlků (wolves), trávy (grass/4) a celková populace vlků i ovcí (total). Označil jsem zde také dva možné vzory (šedě). Vzory můžou mít proměnnou délku a můžou zahrnovat různé výstupní ukazatele. Je na uživateli, které výstupní ukazatele zahrne do vzorů a také jaké délky vzorů použije. Moc krátké vzory nemusí mít vypovídající hodnotu, moc dlouhé vzory zase nemusí splňovat naše požadavky na efektivní adaptaci (zejména k rychlosti dějů v systému). Cílem determinace tréninkových vzorů je najít v chování výstupních ukazatelů takové vzory, které opakovaně vykazují stejný nebo podobný charakter. Vytvoří-li se podobný vzor znovu, lze očekávat podobné chování výstupního ukazatele, tak jako při determinaci tréninkových vzorů.
63
4.5.2
Binarizace vzorů
Binarizace vzorů spočívá v převodu tréninkových vzorů (vektorů hodnot veličin) do jednorozměrného pole binárních nebo bipolárních hodnot. Takové pole je pak vstupem pro neuronovou síť. Úloha binarizace bezprostředně souvisí s úlohou adaptace neuronové sítě i s následnou analýzou výsledků. Pro úspěch rozpoznávání vzorů je žádoucí, aby tréninkové i testovací vzory byly binarizovány stejným způsobem. Základem je zakreslení posloupnosti hodnot vektorů do bitmapy o výšce h a šířce w jako černobílý graf (Kocian et al. 2011). Tato bitmapa je pak po řádcích rozložena na jednorozměrné pole velikosti w x h. Tabulka 9 – Příklad binarizace vzoru wxh/typ
AREA
LINE
DOT
Relativní velikost
8x8
20x20
100x100
V (Tabulka 9) jsou uvedeny příklady různých způsobů binarizace, které budou dále vysvětleny. Během binarizace je potřeba postupně vyřešit následující dílčí úlohy: -
Výběr složek dat (výstupních ukazatelů), které budou při experimentu využívány,
-
binarizační schéma,
-
normalizace rozsahu hodnot,
-
normalizace počtu hodnot,
-
určení metody binarizace,
-
převod n-rozměrných dat do jednorozměrného pole. 64
Výběr složek dat Jak je vidět na (Obrázek 18), je v tomto případě na výběr ze 4 výstupních ukazatelů. Každý z nich tvoří jednu složku dat pro vzor. Úkolem je vybrat takové složky dat, které mají klíčový vliv na definici daného vzoru. Všechny potencionální složky dat pro vzor je potřeba důkladně prozkoumat, pozorovat jak vliv na stejný výstupní ukazatel, tak i na ostatní výstupní ukazatele. Pro začátek je vhodné začít s označením oblastí budů zlomu, poklesu či vzestupu žádaného výstupního ukazatele. Až poté na základě pozorování jmenovaných kategorií (zlomy, pokles, vzestup) uvážit, které výstupní ukazatele budou tvořit jednotlivé složky vzoru. Dále je vhodné tyto kandidáty na vzory odzkoušet v simulačním prostředí, postačí i ruční odzkoušení. Problematika výběru vzorů je dále více popsána a demonstrována v kapitole 5, Experimentální ověření. Binarizační schéma Dle (Tabulka 9) lze vidět, že čím je vzor větší (v pixelech), tím více nese informací. Na druhou stranu s velikostí vzorů roste i složitost výpočtů. Z hlediska uložení informace je ideální, když velikost vzoru přesně odpovídá množství uložených informací. Například pro vzor délky 20 (20 kroků simulace) je ideální šířka vzoru (počet pixelů) 20. Normalizace rozsahu hodnot (normalizace výšky) Jedná se o přizpůsobení měřítka hodnot všech složek dat (vzoru), za účelem dosažení co nejplastičtější podoby vzoru. Potřeba normalizovat hodnoty vzoru trénovací množiny pro neuronové sítě vyplývá z rozdílu výšky (rozsahu hodnot) u jednotlivých vzorů. Normalizace počtu hodnot (normalizace šířky) Neuronová síť pracuje se vstupy konstantní délky. Vzory v datech mají ale délky různé. Někdy dojde k události charakterizované určitým vzorem během několika málo záznamů, jindy daná událost zabere záznamů i několik desítek. Určení metody binarizace V (Tabulka 9) vidíme tři možné metody binarizace – AREA, LINE a DOT. Metoda AREA reprezentuje vzor jako plochu pod grafem vytvořeným z posloupnosti hodnot veličiny. Metoda LINE reprezentuje vzor jako jednotlivé hodnoty veličiny spojené úsečkami. Metoda DOT reprezentuje vzor jako jednotlivé hodnoty veličiny (body).
65
Převod n-rozměrných dat do jednorozměrného pole Tato úloha spočívá ve dvou krocích: -
Převod n-rozměrných dat do bitmapy (Obrázek 19). Každá veličina (např. velikost populace ovcí (sheep), vlků (wolves), trávy (grass/4) a celkovou populaci vlků i ovcí (total)) výstupních ukazatelů je binarizována samostatně a vzniklé bitmapy jsou nakonec sjednoceny do jediné bitmapy.
-
Převod bitmapy do jednorozměrného pole. Tato úloha je triviální. Jedná se o řádkový rozklad bitmapy. Bity jsou z bitmapy čteny po řádcích a kladeny za sebe do pole o velkosti c x r, kde c je počet sloupců a r je počet řádků v bitmapě.
Obrázek 19 – Převod n-rozměrných dat do jednorozměrného pole Na následujícím obrázku (Obrázek 20) je možno vidět příklady možných bitmap vzorů pro různý počet výstupních ukazatelů (složek dat).
a)
b)
c)
d)
e)
Obrázek 20 – Příklady možných bitmap vzorů (1-5 ukazatelů) 66
V prvním obrázku (Obrázek 20a) je přítomna pouze jedna složka dat, v posledním (Obrázek 20e) je přítomno 5 složek dat. Ať už je vzor tvořen pouze jednou, anebo více složkami dat, vždy je velikost výsledného vzoru stejná (v pixelech bitmapy).
4.5.3
Adaptace neuronové sítě
Jedná se o proces, kdy jsou síti předloženy tréninkové vzory, aby se je naučila správně rozpoznávat. Naučení tréninkových vzorů je základním předpokladem pro další práci. Pokud se síť nenaučí rozpoznávat ani tréninkové vzory, není možné ji v dané konfiguraci použít k tomuto účelu. Pro úlohu rozpoznávání vzorů byla zvolena neuronová síťs Hebbovým učením. Tato síť je velmi jednoduchá, obsahuje minimum parametrů a učí se jedním průchodem. Byla navržena optimalizace trénovací množiny pro adaptaci neuronové sítě, která vychází z experimentální studie (Kocian et al. 2011). 1. Před adaptací algoritmus projde trénovací množinu a identifikuje jako irelevantní všechny složky, jejichž hodnota je ve všech vzorech stejná. 2. Váhová spojení vztahující se k irelevantním složkám jsou během adaptace ignorovány. 3. Díky tomu tyto váhy zůstanou na 0. Algoritmus označující irelevantní složky může výt zapsán následovně: 1. Označ všechny složky jako irelevantní. 2. Načti vstupní vektor prvního vzoru a zapamatuj si hodnotu jeho složek. 3. Opakuj pro všechny následující vzory: a. Načti vstupní vektor. b. Označ každou irelevantní složku jako relevantní v případě, že její aktuální hodnota se liší od té v prvním vzoru. 4. Konec. Topologie sítě sestává ze vstupní a výstupní vrstvy (plně propojené). Vstupní vrstva je tvořena počtem neuronů ekvivalentním počtu bitů vstupní bitmapy. Výstupní vrstva je tvořena počtem neuronů ekvivalentním počtu kategorií vzorů. Adaptace sítě probíhá podle Hebbova pravidla (Hebb 1949). V (Kocian et al. 2011) je tento model detailně popsán.
67
4.5.4
Rozpoznávání vzorů
Samotné rozpoznávání vzorů je hlavní úlohou celého experimentu. Všechny předchozí úlohy je možné shrnout jako „příprava“. Během rozpoznávání vzorů jsou naučené síti předložena testovací data. Cílem je získat informaci o tom, jaké chování systém vykazuje v každém okamžiku v grafu (kroku simulace, resp. řádku v tabulce). Výsledkem rozpoznávání vzorů je doporučení neuronové na základě nedávné historie, zda se v datech vyskytl známý vzor (Volná et al. 2012c). Tabulka 10 – Příklad z výstupu analýzy dat Krok simulace
Sheep
Wolves
Grass
Total
C1
C2
P
283
234
50
814
284
|
3
#
284
239
52
796
291
|
3
#
285
244
50
782
294
|
3
#
1-25
286
252
51
766
303
|
3
#
1-24
287
254
48
758
302
|
3
#
1-23
-
-
-
-
-
-
-
645
149
59
1016
208
|
646
149
59
1022
647
145
60
1022
-
#
11
#
208
11
#
205
11
#
Rozpoznávání vzorů bylo prováděno jako simulace reálného provozu. Záznamy byly neuronové síti předkládány postupně, tak jako by postupně přibývaly v čase. Vždy po obdržení nového záznamu se software (EDU Sandbox8) pokusil pomocí neuronové sítě nalézt známý vzor v úseku dat z minulosti po současnost. Pokud se známý vzor podařilo nalézt, byl aktuálně poslednímu záznamu přiřazen jeho denotát. Příklad determinace a následného rozpoznání vzorů lze nalézt v (Tabulka 10). Sloupce C1 a C2 označují kategorie vzorů, čísla v jednotlivých sloupcích poté pořadí tréninkového vzoru, tak jak byl označen uživatelem. Sloupec P obsahuje informace o rozpoznaných vzorech neuronovou sítí, kde číslo před pomlčkou označuje kategorii vzoru a číslo za pomlčkou jeho délku (zpět do historie). Údaje bezprostředně za oddělovačem „|“ představují tréninkové vzory, údaje za oddělovačem „#“ představují rozpoznané vzory.
8
http://sourceforge.net/projects/esbox/ - Václav Kocian
68
Obrázek 21 – Strategie nalezení vzoru Vyhledávání (Obrázek 21) probíhalo v mezích daných přípustnou minimální a maximální délkou vzoru (pMin a pMax). Tyto hodnoty lze odvodit experimentálně z velikostí tréninkových vzorů. Strategie SHORTEST začíná hledání vzoru na minimální definované délce vzoru pMin a postupně pokračuje buď až k jeho maximální definované délce pMax, anebo končí v případě, že je rozpoznán vzor. Strategie LONGEST začíná hledání vzoru na maximální definované délce vzoru pMax a postupně pokračuje buď až k jeho minimální definované délce pMin, anebo končí v případě, že je rozpoznán vzor. Strategie BEST začíná hledání vzoru na minimální definované délce vzoru pMin, které pokračuje až do jeho maximální délky pMax. Jestliže je nalezen více než jeden vzor, je zvolen ten, který nejvíce odpovídá původním tréninkovým vzorům na základě parametru
(7).
Neuronová síť s Hebbovým učením má tendenci nalézt vzor v každém kroku, resp. ve většině případů rozpozná jakýkoliv předložený úsek dat jako jednu z předdefinovaných kategorií vzorů. Byla proto navržena, otestována a použita modifikace Hebbova pravidla pro aktivní fázi činnosti sítě (Volná et al. 2012e).
Obrázek 22 – Model jednoduchého neuronu (http://www.willamette.edu/~gorr/classes/cs449/figs/unit.gif) Při běžném fungování je výstupní hodnota každého výstupního neuronu (Obrázek 22) odvozena z hodnoty vnitřního potenciálu neuronu – net hodnoty tímto způsobem: (4) kde 69
(5) Je zde ovšem problém, že hodnota
je nezávislá na velikosti hodnoty
závislá pouze na záporné či nulové/kladné hodnotě
. Hodnota
je
. Jinými slovy zde není zohledněna
informace o tom, jak moc si je neuronová síť jista svými výsledky. V (Volná et al. 2012e) byla navržena jednoduchá modifikace aktivní dynamiky Hebbovy sítě: (6) Dále byl zaveden parametr zvaný
, který umožní stanovit minimální kvalitu
rozpoznaných vzorů. (7) Pokud je hodnota
menší než hodnota
, výsledek z neuronové sítě je
zamítnut (7). Díky tomuto parametru je možné jednoduše regulovat počet a kvalitu nalezených vzorů. Nalezení optimální hodnoty Experimentální ověření. Hodnota
se věnuji v kapitole 5,
se mění s velikostí vzorů a jejich počtem
(Volná et al. 2012e).
4.6 Adaptace parametrů systému Adaptace parametrů systému je finálním krokem a hlavním cílem této dizertační práce. Vše podstatné pro adaptaci systému je již připraveno. Jsou definovány charakteristické vzory chování systému (Obrázek 23, Obrázek 24), na které je neuronová síť naadaptována. Jsou k dispozici akční parametry s vybraným rozsahem hodnot, jejichž prostřednictvím jsme schopni efektivně usměrňovat chování systému. Poslední činností, kterou je třeba udělat je dát do souvislosti vzory a očekávání co se stane, vykáže-li systém dané chování reprezentované rozpoznaným vzorem.
70
Obrázek 23 – Definované vzory chování systému (otočení trendu) Na (Obrázek 23) je možno vidět definované vzory systému, tak jak jsem je označil v grafu výstupních ukazatelů. Zvolený výstupní ukazatel, reprezentující chování systému, je celková populace vlků i ovcí (total). Bylo označeno celkem 8 různých samostatných vzorů. Jaké jsou tedy očekávání spojená s těmito vzory? Vzory 1, 3, 5, 7 naznačují pokles celkové populace (total), zatímco vzory 2, 4, 6, 8 naznačují vzestup celkové populace (total).
Obrázek 24 – Definované vzory chování systému (trend) Na (Obrázek 24) bylo označeno dalších 8 vzorů. Vzory 9, 11, 13, 15 naznačují probíhající pokles, zatímco vzory 10, 12, 14, 16 naznačují probíhající vzestup. Inspirací pro tyto vzory byly vzory používané ve finančních trzích. Vzhledem k velké podobnosti vzorů a úspěšnosti použití těchto vzorů v automatizovaném obchodním systému (Volná et al. 2012d) jsem se rozhodl podobné typy vzorů použít i v tomto případě.
71
Tabulka 11 – Vzory a očekávání Vzor (kategorie)
Očekávání
Akční parametr grass-regrow-time: 28
I.
1, 3, 5, 7
pokles
sheep-reproduce: 6 sheep-gain-from-food: 4 grass-regrow-time: 90
II.
2, 4, 6, 8
vzestup
sheep-reproduce: 2 sheep-gain-from-food: 2 grass-regrow-time: výchozí
III.
9, 11, 13, 15
probíhající pokles
sheep-reproduce: výchozí sheep-gain-from-food: výchozí grass-regrow-time: výchozí
IV.
10, 12, 14, 16
probíhající vzestup
sheep-reproduce: výchozí sheep-gain-from-food: výchozí
V (Tabulka 11) lze nalézt očekávání toho, co se stane, vykáže-li systém chování, které neuronová síť rozpozná a zařadí do jedné z naučených kategorií vzorů. Na základě očekávání jsou poté nastaveny hodnoty akčních parametrů. V tomto případě jsou vzory, očekávání a akční parametry nastaveny tak, aby byla celková populace vlků i ovcí simulace Wolf Sheep Predation udržena v předem daných mezích. Představa je taková, že dojde-li k otočení trendu velikosti celkové populace, jsou hodnoty akčních parametrů nastaveny tak, aby odchylku od očekávaného vývoje kompenzovaly. Je-li očekáván pokles (vzor kat. I.) a hodnota populace se nachází pod žádanou hodnotou celkové populace, jsou hodnoty akčních parametrů nastaveny tak, aby podpořily růst populace. Je-li naopak očekáván vzestup (vzor kat. II.) a hodnota populace se nachází nad žádanou hodnotou celkové populace, jsou hodnoty akčních parametrů nastaveny tak, aby negativně podpořily růst populace. Zbylé dvě kategorie vzorů (III. a IV.) slouží pouze pro potvrzení směru trendu.
4.7 Finální návrh metodiky Finální návrh metodiky je už pouze syntézou dílčích kroků a konceptů, které byly výše prezentovány a otestovány.
72
identifikace agentů a parametrů hierarchie parametrů simulace rozpoznávání vzorů chování
adaptace parametrů
Obrázek 25 – Fáze metodiky Navržená metodika sestává z několika hlavních fází (Obrázek 25). Identifikace agentů a parametrů, hierarchie parametrů, simulace, rozpoznání vzorů chování a adaptace parametrů. V zásadě se lze vracet zpět k jakékoliv předešlé fázi, budou-li následně upraveny na základě změn všechny fáze následující. Identifikace agentů a parametrů. V první fázi je nutné v simulačním modelu identifikovat všechny agenty a jejich parametry. Agenty jsou rozděleny dle druhu na agenty prostředí, běžné a mediátory. Následně jsou ke každému z agentů identifikovány jeho parametry. Hierarchie parametrů. Nyní, když je známo jaké typy agentů a jaké parametry se v simulačním modelu nacházejí, je přistoupeno ke zjištění, jak velký vliv má který parametr na vypovídající ukazatel simulace. Využita je metoda z kapitoly 4.4 – Pákové body a seřazení parametrů. Vstupem do této metody jsou všechny vstupní parametry spolu s jejich rozsahy hodnot a sledovaný výstupní ukazatel. Výstupem jsou poté výbrané akční parametry spolu s jejich rozsahy. Simulace. Nyní je možno přistoupit k vlastní simulaci, kdy je na základě experimentů zkoumáno
chování daného
systému.
Ve výstupních ukazatelích
jsou hledány
charakteristické vzory chování vzhledem k cílovému výstupnímu ukazateli a tyto vzory jsou zaznamenávány a popisovány. Jsou stanoveny jednotlivé vzory, čímž je vytvořena trénovací množina pro adaptaci neuronové sítě. Je nutno také definovat očekávání, co se stane, vykáže-li systém daný vzor chování. Rozpoznávání vzorů a chování. Dále je neuronová síť naadaptována připravenými vzory pomocí nástroje EDU Sandbox. Neuronová síť je poté schopna generalizace nad naučenou trénovací množinou. Po spuštění simulace, vykáže-li systém známé chování, je 73
vyhodnocena tato podobnost s rozpoznaným vzorem a daná informace je zpět vrácena do simulačního software. Adaptace parametrů. Na základě rozpoznaných vzorů v chování systému je možno adaptovat hodnoty akčních parametrů podle předem zpracovaných očekávání. Adaptační logiku je nutno naprogramovat ve vybraném simulačních software. Vývojový diagram metodiky (Obrázek 26) představuje postup průchodu navrženou metodikou s detailnějším rozepsáním jednotlivých hlavních fází.
Začátek
Fungující simulace
Trénování neuronové sítě
Vstupní parametry simulace
Rozpoznání vzorů a chování
Identifikace agentů a parametrů
Žádaná hodnota výstupního ukazatele
pák. body
Hierarchie parametrů
Adaptace parametrů
ne
Chování systému dle očekávání? ano
směrnice
Akční parametry a rozsahy
Usměrnění chování systému dle požadavků
Konec
Simulace Stanovení vzorů chování a stanovení očekávání
Obrázek 26 – Vývojový diagram metodiky 74
4.8 Souhrn návrhu vlastního řešení V této kapitole jsem představil návrh metodiky pro adaptaci parametrů simulace založené na charakteristických vzorech chování. Chování systému je usměrňováno prostřednictvím akčních parametrů a jejich rozsahů adaptováním hodnot těchto parametrů na základě předem připravených očekávání a popsaných vzorů chování systému. Navržené a vybrané akční parametry jsou seřazeny dle velikosti svého vlivu na výstupní ukazatel pomocí metody z kapitoly 4.4. Řazení parametrů je založeno na hierarchii pákových bodů. Za běhu simulace jsou pomocí naadaptované neuronové sítě rozpoznávány naučené vzory chování systému. Chování systému je prostřednictvím doporučených akcí usměrňováno. Výsledná metodika je syntézou jednotlivých kroků popsaných a otestovaných v kapitole 4. V rámci návrhu vlastního řešení bylo splněno několik dílčích cílů dizertační práce. Byly analyzovány parametry simulace a rozděleny dle typu agentů, jímž tyto parametry přísluší. Jsou to parametry prostředí, běžné a mediátory. Dále byly tyto parametry dány do vztahu s hierarchií pákových bodů. Bylo experimentálně dokázáno, že rozdělíme-li parametry dle pákových bodů a měníme-li poté hodnotu těchto parametrů, tak změna výstupního ukazatele souvisí s důležitosti parametru, tak jak byla stanovena dle hierarchie pákových bodů. Na základě těchto zjištění byla navržena metoda pro nastavení a testování parametrů simulace. Pomocí této metody lze rozhodnout, který parametr má jaký vliv na výsledný ukazatel. Vycházím z vzájemného vztahu pákových bodů a směrnice regresní přímky výstupního ukazatele. Vzájemný vztah pákových bodů a směrnice regresní přímky výstupního ukazatele byl demonstrován na konkrétním příkladu. Finálním krokem navržené
metodiky
byl
doporučený
náčrt
konceptu
postupu
pro
rozpoznání
charakteristických vzorů výstupního ukazatele a následná adaptace akčních parametrů dle předem zpracovaných očekávání.
75
5 EXPERIMENTÁLNÍ OVĚŘENÍ Pro experiment je využito následujících nástrojů: simulační software NetLogo, databáze MySQL a utilita pro rozpoznávání vzorů pomocí neuronových sítí EDU Sandbox, která byla pro účely dizertační práce speciálně naprogramována. Komunikace mezi těmito nástroji je následující (Obrázek 27). NetLogo
EDU Sandbox
Obrázek 27 - Komunikace mezi nástrojem NetLogo a EDU Sandbox V NetLogu běží konkrétní simulace. Simulace běží po jednotlivých diskrétních krocích. Informace o každém kroku jsou vloženy do MySQL databáze. MySQL databáze obsahuje údaje jak o jednotlivých krocích, tak o hodnotách všech výstupních ukazatelů simulace. Tyto informace načítá utilita EDU Sandbox z databáze. Tato utilita je schopna se předem naučit žádané vzory chování výstupního ukazatele. EDU Sandbox poté načítá v reálném čase data o simulaci z MySQL databáze a v každém kroku vloží zpětně do databáze, zda nalezla některý z naučených vzorů. NetLogo si zpětně načítá informace o nalezených vzorech z databáze a na základě předem zpracovaných očekávání a prostřednictvím souvisejících hodnot akčních parametrů jejich hodnoty poté adaptuje na základě aktuálně nalezených vzorů. Pro provedení experimentu bylo třeba navrhnout způsob ukládání tréninkových vzorů, princip synchronní komunikace mezi těmito nástroji a tento způsob komunikace implementovat jak do nástroje NetLogo, tak do nástroje EDU Sandbox. V databázi MySQL bylo nutné navrhnout strukturu tabulek vhodnou pro tuto komunikaci. Pro experiment využívám simulaci dopravních křižovatek z kapitoly 4.3.1. Jak je vidět na (Obrázek 28), různé strategie samoorganizačních semaforů jsou vhodné pro různou hustotu provozu. Největší rozdíl v účinnosti strategií nastává při počtu vozidel cca 1000. Zde strategie sotl-platoon (která vytváří shluky vozidel o takové velikosti, aby plynule projížděly křižovatkami) přestává být účinná a jako výhodnější se jeví strategie sotl-phase (která se soustředí na střídání fází mezi jižním a východním směrem). Adaptivní změnu strategií dopravních semaforů Gershensonova práce neřeší. Autor sám ve své práci 76
zmiňuje, že pro nízkou hustotu provozu je vhodnější strategie sotl-platoon, naopak pro vyšší hustotu provozu je vhodnější strategie sotl-phase. Dále zmiňuje, že by stálo za to, odzkoušet kombinovanou strategii solt-platoon a sotl-phase (Gershenson 2007). Můj přínos k řešení této problematiky spočívá ve změně strategie na základě chování výstupního ukazatele průměrné rychlosti vozidel (Average Speed of Cars). Adaptivně bude měněn parametr Control, který má významný vliv na průměrnou rychlost vozidel, jelikož souvisí s pákovým bodem 4. Cílem je tedy umožnit vozidlům projíždět systémem křižovatek co nejrychleji za různé hustoty provozu, tzn. cílem je co nejvyšší hodnota ukazatele Average Speed of Cars.
Obrázek 28 – SOTL, strategie dopravních semaforů (Gershenson 2007) 77
Bude třeba nalézt v průběhu simulace takové vzory chování systému, které indikují, že zvolená strategie dopravních semaforů přestává být účinná. Jelikož jsou použity dva kontrolní mechanismy parametru Control, a to sotl-phase a sotl-platoon, bude mezi nimi přepínáno. Výstupním ukazatelem, který indikuje nefunkčnost daného mechanismu řízení, je pokles průměrné rychlosti vozidel (Average Speed of Cars), případně druhý ukazatel, který nás informuje o průměrně čekací době vozidel na semaforech (Average Wait Time of Cars) (Obrázek 28, druhý graf shora). Byly zvoleny dvě základní kategorie vzorů, pokles a vzestup průměrné rychlosti vozidel. Jako výchozí strategie dopravních semaforů je zvolen sotl-platoon. V případě, že bude klesat průměrná rychlost vozidel (vzor pokles), lze soudit, že aktuální strategie je nevyhovující a dojede k přepnutí na strategii sotl-phase. Naopak, pokud po určité době začne být nevyhovující strategie sotl-phase, dojde k přepnutí zpět na strategii sotl-platoon. Experimentální ověření je provedeno dle navržené metodiky a bude sledován postup uvedený na (Obrázek 26). Fungující simulace Nutnou podmínkou pro další postup je simulace, která již funguje v rámci představ návrháře simulace a odráží chování reálného systému v případě existujícího systému, anebo reflektuje abstraktní návrh v případě dosud neexistujícího systému. Pro tento experiment byla využita fungující simulace SOTL (Self Organizing Traffic Lights, Gershenson
2007),
přístupná
na
adrese
http://turing.iimas.unam.mx/~cgg/sos/SOTL/SOTL.html. Tuto simulaci jsem převedl do nejnovější verze NetLoga 5.0.1, jelikož starší verze nepodporovala možnost připojení k databázi a navíc bylo třeba přepsat určité změny v kódu v důsledku přechodu na novější verzi NetoLogo. Rovněž jsem přidal procedury nutné pro vzájemnou komunikaci EDU Sandbox a NetLogo prostřednictvím databáze MySQL. Následně jsem ověřil funkčnost simulace, pro správné provedení experimentů. Samotná simulace SOTL je již v základní verzi funkční a realizuje abstraktní návrh sítě dopravních křižovatek řízený pomocí dopravních semaforů. Také parametry jsou již nastaveny na hodnoty doporučené návrhářem. Vstupní parametry simulace Další krokem je výběr všech relevantních parametrů simulace. Simulace SOTL obsahuje celkem 23 parametrů. Byly zvoleny takové parametry, které mají přímou souvislost 78
s průměrnou rychlostí vozidel. Navíc mají více než dvě hodnoty a nejedná se tedy jen o upřesňující parametry nějakého jiného parametru (Tabulka 12). Tabulka 12 – SOTL, vstupní parametry Parametr number speed-limit control
Účel počet vozidel maximální rychlost vozidel strategie mediátorů
Výchozí hodnota 320 1,0 sotl-platoon
(dopravních semaforů)
Rozsah 1-3000 0,0-1,0 marching optim cut-off sotl-request sotl-phase sotl-platoon no-corr
Identifikace agentů a parametrů V této simulaci se nachází jeden agent definující celé prostředí simulace, dále pak běžné agenty, jejichž příslušníky jsou vozidla, a agenty mediátory, jejichž příslušníky jsou dopravní semafory. Nejprve je potřeba rozdělit vybrané vstupní parametry dle druhu agentů. -
Prostředí – Speed-limit;
-
Běžné – Number;
-
Mediátory – Control.
Rozdělení parametrů dle příslušnosti k jednotlivým typům agentů dává tedy informaci o tom, zda daný parametr souvisí s prostředím, s běžnými agenty, anebo s mediátory, které usměrňují chování běžných agentů. Tímto je možno zjistit sféru vlivu jednotlivých parametrů a posoudit jednoduchost vs. složitost změny tohoto parametru k ovlivnění výstupního ukazatele. Žádaná hodnota výstupního ukazatele Pro popis sledovaného aspektu chování systému je klíčovým ukazatelem výstupní ukazatel Average Speed of Cars. Dává informaci o tom, jaká je průměrná rychlost vozidel v celém systému dopravních křižovatek. Čím bude jeho hodnota vyšší, tím bude doprava v systému křižovatek plynulejší a vozidla budou schopna jet vyšší rychlostí.
79
Hierarchie parametrů Nyní je třeba zjistit, jaký vliv mají jednotlivé vybrané vstupní parametry na zvolený výstupní ukazatel. Vliv jednotlivých parametrů je možné posoudit na základě přiřazení pákových bodů jednotlivým parametrům, anebo na základě hodnoty směrnice regresní přímky za pomoci testování všech tří parametrů v jejich rozsahu a zkoumání vlivu na výstupní ukazatel. Pro testování je potřeba, aby jednotlivé parametry byly tvořeny ordinálním rozsahem hodnot, nejlépe pak ve vzestupném pořadí, jako všechny parametry simulace. Jediný parametr, který tato kritéria nesplňuje je parametr Control. Pomocí jednoduchého experimentu s hodnotami parametru Control (marching, optim, cut-off, sotl-request, sotlphase, sotl-platoon, no-corr), parametru Number (1-2000) a výchozími hodnotami ostatních parametrů, byla zjištěna průměrná rychlost vozidel pro každou strategii dopravních semaforů danou parametrem Control pro rozsah počtu vozidel (1-2000). Tím byl získán parametr Control s ordinálními hodnotami parametrů (Tabulka 13). Simulace s každou kombinací hodnot parametru Control a Number byla spuštěna 5x a výsledek zprůměrován. Tabulka 13 – Pořadí hodnot parametru Control Control
Mean
"no-corr"
0,216206366
"cut-off"
0,283419978
"optim"
0,294277308
"sotl-request"
0,308558662
"marching"
0,315095415
"sotl-phase"
0,325901404
"sotl-platoon"
0,345307283
Nyní je možno přistoupit k testování vybraných vstupních parametrů dle navržené metody (kapitola 4.4.). Z výsledků testování je možno sestavit hierarchii vstupních parametrů dle jejich vlivu na výstupní ukazatel (Tabulka 14). Tabulka 14 – SOTL, pákové body a směrnice regresních přímek vstupních parametrů Parametr speed-limit number control
Směrnice z mean 0,0823 -0,0005 0,0449
Pákový bod 5 12 4
80
V této tabulce (Tabulka 14) je možno vidět směrnice regresní přímky vybraných vstupních parametrů simulace pro průměrnou hodnotu Average Speed of Cars. Dále jsou zde přiřazené pákové body dle (Obrázek 6), tak jak jsem je přiřadil dle hierarchie pákových bodů. Parametry Speed-limit a Control mají výrazně větší směrnici vzhledem k parametru Number. Tomu odpovídají i přiřazené pákové body, které řadí parametr Number nejníže v hierarchii pákových bodů (bod č. 12) a naopak, parametry Speed-limit a Control řadí k vyšším pákovým bodům (body č. 4 a 5). Parametr Speed-limit se vztahuje k bodu 5, jelikož definuje omezení. Parametr Control se vztahuje k bodu 4, jelikož umožňuje samoorganizovat strukturu systému. Akční parametry a rozsahy Z výsledů analýzy citlivosti vyplývá, že u parametrů s negativní hodnotou směrnice regresní přímky se oscilace mezi minimální průměrnou rychlostí vozidel a maximální průměrnou rychlostí vozidel se zvyšováním hodnoty parametru number snižují (Obrázek 29). Naproti tomu u parametrů s kladnou hodnotou směrnice regresní přímky dochází při zvyšování jejich hodnot k vyšším oscilacím mezi minimální a maximální hodnotou
1,2 1 0,8 0,6 0,4 0,2 0 -0,2 -0,4
Number Průměr z [min] Průměr z [max] Průměr z [mean] 1 92 183 274 365 456 547 638 729 820 911 1002 1093 1184 1275 1366 1457 1548 1639 1730 1821 1912
průměrná rychlost vozidel
průměrné rychlosti vozidel (Obrázek 30).
hodnota parametru
1,2 1 0,8 0,6 0,4 0,2 0
Speed-limit
průměrná rychlost vozidel
průměrná rychlost vozidel
Obrázek 29 – Number 1,2 1 0,8 0,6 0,4 0,2 0
Control
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 hodnota parametru Průměr z [min]
Průměr z [max]
Průměr z [mean]
Průměr z [min] Průměr z [max]
Obrázek 30 – Speed-limit, Control 81
Pro výběr akčních parametrů a jejich rozsahů je klíčové stanovit, jaká chování systému dle výstupního ukazatele, oscilace, max. a min. hodnota výstupního ukazatele a další jsou žádoucí. Dále je třeba vzít v potaz, které vstupní parametry je vůbec možné ovlivnit, případně, které se ovlivnit vyplatí (např. vzhledem k ekonomické ceně zákroku). Počet vozidel daný parametrem Number lze ovlivnit velmi obtížně (např. proto, že nemusí být možné jednoduše odklonit dopravu), navíc tento parametr má na výstupní ukazatel nejmenší vliv. Znatelný vliv mají na výstupní ukazatel parametry Speed-limit a Control. Cílem simulace je umožnit projíždět vozidlům systémem křižovatek co nejrychleji. Pro tento účel se nejlépe hodí parametr Control, kde na výběr je několik strategií řízení dopravních semaforů. Parametr Speed-limit dokáže pouze omezit maximální rychlost vozidel. Využít jej můžeme v případě, chceme-li tuto rychlost omezit nebo snížit oscilace mezi minimální a maximální rychlostí vozidel. Tabulka 15 – Akční parametr Control a jeho rozsah Akční parametr control
Směrnice z mean 0,0449
Rozsah sotl-phase sotl-platoon
Pro akční parametr Control byly vybrány dvě hodnoty (strategie), sotl-phase a sotl-platoon (Tabulka 15). Obě umožňují vozidlům jet za určitých podmínek co nejrychleji, tak jak vyplývá i z testování (Tabulka 13, Obrázek 30). Simulace Nyní je nutné spustit simulaci s vybranými akčními parametry a jejich rozsahy a sledovat jejich vliv na výstupní ukazatel. Cílem je určit takové vzory chování výstupního ukazatele, které budou nápomocny při adaptaci chování systému prostřednictvím akčních parametrů. Stanovení vzorů chování a očekávání V první fázi byly stanoveny čtyři základní kategorie vzorů: pokles, vzestup, minimum a maximum. Použití těchto vzorů ovšem nevedlo k očekávanému chování systému a tak byly kategorie vzorů zjednodušeny na dvě, a to pokles a vzestup v rozmezí délky 25-50 kroků
82
simulace (Obrázek 31). Pro stanovení vzorů chování byla použita utilita EDU Sandbox.
Obrázek 31 – Stanovení tréninkových vzorů Délka vzorů byla stanovena experimentálně tak, aby vzor byl dostatečně dlouhý proto, aby měl vypovídací hodnotu a zároveň umožnil flexibilní reakci na změny chování systému. Tabulka 16 – Vzory a očekávání Vzor
Očekávání
Akční parametr
kat. 1: 1, 2, 3, 4, 5
probíhající pokles
control:
probíhající vzestup
sotl-platoon na sotl-phase nebo sotl-phase na sotl-platoon control:
kat. 2: 6, 7, 8, 9, 10
aktuální hodnota
Vzory jsou stanoveny zejména na základě očekáváni toho, co se stane, vykáže-li výstupní ukazatel daný vzor. V (Tabulka 16) jsou dvě kategorie vzorů, tak jak byly stanoveny. První kategorie (vzory 1, 2, 3, 4, 5) naznačuje probíhající pokles, zatímco druhá kategorie (vzory 6, 7, 8, 9, 10) naznačuje probíhající vzestup hodnoty výstupního ukazatele. Celý princip návrhu vzorů a jejich očekávání je stanoven tak, že dojde-li k rozpoznání vzoru naznačující pokles, dojde ke změně aktuální strategie parametru Control. V případě, že bude aktuální strategie sotl-platoon, dojde k přepnutí na sotl-phase a naopak. V případě rozpoznání vzorů z druhé kategorie naznačující pokles, zůstane hodna parametru Control na aktuální hodnotě, což vlastně odpovídá nevykonávání žádné akce. 83
Trénování neuronové sítě V tomto kroku jsou předloženy všechny vybrané vzory neuronové síti k natrénování. K trénování vzorů je opět použita utilita EDU Sandbox (Obrázek 32).
Obrázek 32 – EDU Sandbox, trénování a rozpoznávání Pro trénování i rozpoznávání vzorů je použita neuronová síť s Hebbovým učením. Síť byla trénována s těmito parametry: -
Stavy neuronu: bipolární; Binarizace: line; Rozměr vzoru: 50x50 pixelů; Sloupec: 2.
Binarizace typu line poskytuje kompromis mezi binarizací typu area a dot. Rozměr vzoru 50x50 pixelů poskytuje dostatečnou rozlišovací schopnost vzorů různé délky a výšky. Sloupec č. 2 značí číslo sloupce v csv souboru, ve kterém jsou uchovány předem stanovené vzory pro naučení pro neuronovou síť.
Obrázek 33 – Natrénované vzory Po kliknutí na tlačítko Learn dojde k předložení stanovených vzorů neuronové síti. V případě, že je neuronová síť schopna se tyto vzory naučit, oznámí to utilita hlášením Taught. Po naučení se tyto vzory zobrazí v záložce Teachers (Obrázek 32, Obrázek 33). Je vidět, že vzory byly binarizovány metodou line, jelikož všechny individuální hodnoty tmavých pixelů na bitmapě jsou spojeny linkou. Navíc byla provedena normalizace délky i amplitudy každého vzoru. 84
Rozpoznávání vzorů a chování Nyní po natrénování neuronové sítě zvolenými vzory chování systému je možno přistoupit k samotnému rozpoznávání vzorů a následné adaptaci parametrů simulace na základě předem zpracovaných očekávání. Jelikož jsem v rámci dizertační práce vytvořil propojení mezi nástrojem NetLogo a EDU Sandboxem prostřednictvím databáze MySQL, nyní stačí spustit simulaci v NetLogu a plug-in pro rozpoznávání vzorů v EDU Sandboxu a sledovat průběh rozpoznávání v záložce Scanner (Obrázek 32, Obrázek 34).
Obrázek 34 – Proces rozpoznávání vzorů Pro rozpoznávání vzorů byly použity tyto parametry (Obrázek 32): -
MySQL setting: nastavení připojení k databázi, tabulka vzorů a výsledků; Strategy: BEST; Min: 25; Max: 50; Bunches: ALL; Break: 10; Confidence: 450.
Nástroj EDU Sandbox obsahuje tři možné strategie pro rozpoznávání vzorů, SHORTEST, LONGEST a BEST. Základem je minimální a maximální délka vzoru, v tomto Min=25 a Max= 50. Strategie BEST začíná hledání vzoru na minimální délce vzoru, které pokračuje až do jeho maximální délky. Jestliží je nalezeno více než jeden vzor, je zvolen ten, který nejvíce odpovídá původním tréninkovým vzorům. O kvalitě nalezeného vzoru rozhoduje parametr Confidence. Pomocí něho lze jednoduše regulovat a stanovit počet a minimální kvalitu nalezených vzorů. Všechny vzory, které mají nižší kvalitu Confidence než je stanovená hodnota, jsou zamítnuty, a pokračuje se hledáním dalších vzorů (v rozsahu Min nebo Max, dle zvolené strategie). Najít optimální hodnotu parametru Confidence není snadné. Při nulové, nebo velmi malé hodnotě jsou 85
vzory nalezeny téměř v každém kroku, což není žádoucí. Informace o rozpoznaných vzorech jsou uloženy do tabulky Results table (Obrázek 32, Tabulka 17). Tabulka 17 – Rozpoznané vzory, Confidence 100 method Hebbs Hebbs Hebbs Hebbs Hebbs
tick 666 667 682 683 684
class 1 1 1 1 1
length 25 25 45 46 47
confidence 424 352 204 336 388
flag 1 0 0 0 0
V této tabulce je možno vidět typ neuronové sítě, krok simulace, třídu nalezeného vzoru, délku vzoru, parametr Confidence, a flag sloužící pro komunikaci s nástrojem NetLogo. Parametr Confidence lze nastavit experimentálním způsobem, nejlépe porovnáním rozpoznaných vzorů neuronovou sítí s korespondujícím vývojem výstupního ukazatele. Je nezbytné stanovit takovou hodnotu paremetru Confidence, kdy budou přijaty pouze vzory odpovídající požadované situaci. V tomto případě byla hodnota Confidence nastavena na hodnotu 450. Parametry Break a Bunches slouží pro nastavení práce se shluky vzorů, které se vytvářejí. Jejich hodnoty byly ponechány na výchozí hodnotě stanovené autorem. V rámci každého shluku jsou přijaty všechny vzory s parametrem Confidence větším než nastavená hodnota 450 (kap. 4.5.4, (7)). Aby byl shluk uznán jako samostatný, musí být mezi shluky mezera alespoň 10 kroků. Adaptace parametrů Po nastavení všech parametrů utility EDU Sandbox pro rozpoznávání vzorů jsou rozpoznané vzory zapisovány do tabulky v MySQL. Tyto záznamy jsou zpětně načítány nástrojem NetLogo. V případě, že NetLogo daný rozpoznaný vzor přijme, vloží do sloupce flag hodnotu 1 (Tabulka 17). Nástroj NetLogo poté reaguje na rozpoznané vzory dle předem stanovených očekávání (Tabulka 16). Pro vzory spadající do kategorie vzorů naznačující pokles bylo zvoleno označení 1, pro vzory naznačující vzestup označení 2. Jelikož v případě vzorů z kategorie 2 není nutné měnit hodnotu parametru Control, stačí implementovat kód pro adaptaci parametrů jen pro vzory z kategorie 1. Zde je vidět ukázka kódu realizující nastavení akčního parametru dle stanovených očekávání (Tabulka 16). Kód tedy realizuje změnu strategie v případě, že současně zvolená 86
strategie vede ke snížené průměrné rychlosti vozidel. Navíc je každé strategii dán prostor o délce 50 kroků se „projevit“. Tzn., v této době není prováděna žádná adaptace parametrů. if (pattern = 1) and ((ticknr - tick_control_change) > 50) and (control = "sotl-platoon") [ set control "sotl-phase" set tick_control_change ticknr ]
if (pattern = 1) and ((ticknr - tick_control_change) > 50) and (control = "sotl-phase") [ set control "sotl-platoon" set tick_control_change ticknr ]
Chování systému dle očekávání Nyní by se měl systém chovat dle očekávání a nástroj NetLogo by měl adaptivně měnit vstupní parametr Control na základě rozpoznaných vzorů dodaných neuronovou sítí. Simulace byla nastavena tak, že v každém běhu simulace byla jako výchozí hodnota parametru Control zvolena strategie sotl-platoon. V případě, že byla tato strategie vyhodnocena jako nedostačují aktuální dopravní situaci, byla změněna na strategii sotlphase, a naopak. Na (Obrázek 35) je vidět výsledek celého experimentu. Nejdříve byly zopakovány experimenty provedeny Carlosem Gershensonem (Obrázek 28, Gershenson 2007). V rozsahu počtu vozidel od 1 do 1000 byly nejdříve spuštěny simulace pro strategii sotlphase a poté pro sotl-platoon. Následně byly porovnány s navrhovaným přístupem v této práci adaptováním parametru Control na aktuální situaci přepínáním mezi těmito strategiemi (Obrázek 35, zelená linka s názvem pattern). Strategie pattern představuje navrženou dynamickou strategii, která je schopna přepínat mezi dvěma mechanismy řízení, na základě rozpoznaných vzorů, čehož je dosaženo adaptováním parametrů simulace. Strategie pattern tedy adaptivně mění hodnoty parametru simulace Control. Jak je vidět na obrázku, průběh simulace se strategií pattern až do hodnoty počtu vozidel cca 700 věrně kopíruje průběh simulace sotl-platoon. Při počtu vozidel nad 700 byla strategie pattern vždy lepší, než samotná strategie sotl-platoon. Strategie pattern je vždy horší než strategie sotl-phase, protože jako výchozí strategie je vždy zvolena strategie sotl-platoon. 87
0,9
Average Speed of Cars
0,8
hodnota parametru
0,7 0,6 sotl-phase
0,5
sotl-platoon 0,4
pattern pattern2
0,3 0,2
51 101 151 201 251 301 351 401 451 501 551 601 651 701 751 801 851 901 951 1001
0,1
počet vozidel
Obrázek 35 – Výsledek experimentu Tímto se systém choval dle očekávání. V opačném případě je třeba se vrátit k fázi Simulace a upravit stávající vzory chování, definovat nové a dle toho aktualizovat očekávání (Obrázek 26).
Obrázek 36 – Další natrénované vzory K odzkoušení složitějších vzorů jsem se vrátil zpět k fázi Simulace a rozšířil trénovací množinu o další vzory (Obrázek 36), na které byla neuronová síť doadaptována. Tyto vzory náleží do definované kategorie 1 naznačující probíhající pokles (Tabulka 16). Na (Obrázek 35, oranžová linka s názvem pattern2) jsou uvedeny výsledky simulace s rozšířenou trénovací množinou. Jak je vidět z obrázku, tak strategie pattern i pattern2 vykazují podobné výsledky. Do hodnoty počtu vozidel cca 650 strategie pattern2 vykazuje mírně horší výsledky než strategie pattern. Dále již nelze s určitostí stanovit, která z obou strategií je lepší. Adaptovaní parametru Control je tedy možné i pro složitější vzory chování výstupního ukazatele. Obě navržené strategie byly schopny měnit adaptivně hodnotu parametru Control v závislosti na aktuální dopravní situaci, což bylo cílem experimentu. 88
Usměrnění chování systému dle požadavků V případě úspěšného průchodu všech kroků metodiky je možno přistoupit k soustavnému usměrňování chování systému dle stanovených požadavků. Tímto krokem navrhovaná metodika končí.
5.1 Shrnutí experimentálního ověření V této kapitole jsem prezentoval na konkrétní simulaci dopravních křižovatek SOTL postupy navržené mou metodikou vedoucí k možnosti adaptace parametrů simulace tohoto komplexního systému. Tato simulace obsahuje několik strategií pro řízení dopravních semaforů, které je možné ručně přepínat. Díky mé navržené metodice jsem byl tuto simulaci schopen vylepšit tak, že bylo možno adaptivně měnit strategie řízení dopravních semaforů a tím zvýšit průměrnou rychlost vozidel celého systému. Na základě experimentálního ověření mohu prohlásit potvrzení mých předchozích teoretických závěrů včetně návrhu metodiky pro adaptaci parametrů simulace. Tímto také dokládám splnění cílů mé práce.
89
ZÁVĚR Ve své dizertační práci „Adaptace parametrů simulace komplexních systémů“ jsem shrnul výsledky mé výzkumné činnosti za dobu mého doktorského studia (2009-2012). Inspirací pro mou práci bylo již mé magisterské studium zakončené obhajobou diplomové práce na téma „Simulace umělého života“. Další inspirací byla pro mne výzkumná činnost mé školitelky docentky Evy Volné spolu se společným výzkumným týmem zaměřeným na modelování, moderní metody softcomputingu a rozpoznávání vzorů a struktur. Podstatnou část své práce jsem soustředil na návrh metodiky pro adaptaci parametrů simulace komplexních systémů. Zaměřil jsem se na samoorganizující komplexní systémy a Obecnou metodiku (Gershenson 2007), která tyto systémy popisuje. Práce staví na jednotlivých známých konceptech, jako neuronové sítě, pákové body, multiagentové systémy, systémová adaptace. Nová je myšlenka stanovení důležitosti parametrů simulace na základě pákových bodů. Dále pak výběr akčních parametrů a jejich rozsahů pro adaptaci výstupních ukazatelů systému. Přínosem je poté skloubení jednotlivých kroků do funkční metodiky, kdy je chování systému usměrňováno na základě naučených vzorů, jež jsou rozpoznávány pomocí neuronové sítě a na základě definovaného očekávání následně adaptovány parametry simulace tak, aby byl systém usměrněn v rámci žádaného chování. Pro zdárný návrh metodiky pro adaptaci parametrů simulace bylo potřeba splnit několik dílčích kroků, většina z nich již vychází z názvu navržené metodiky. Jako základ pro návrh metodiky jsem provedl: -
Rozdělení parametrů simulace do kategorií na základě agentů, jimž jsou dané parametry přiřazeny, a to na parametry prostředí, běžné a mediátory. Díky tomu je možno zjistit, jakou část systému daný parametr ovlivňuje.
-
Navrhnul jsem vlastní postup určení parametrů simulace založený na pákových bodech (Meadows 1999). Tento postup má obecné použití, jelikož může sloužit jako první přístup bez hloubkové analýzy problému, kdy dokáže ušetřit čas a práci odborníka při dodání vlivně rozumných výsledků.
-
Navrhnul jsem metodu pro stanovení důležitosti parametrů simulace, ve které je možné využít jak samotné pákové body, tak přístup založený na testování vstupních parametrů simulace v celém jejich rozsahu a na základě směrnice regresní přímky 90
proložené jednotlivými pozorováními stanovit důležitost těchto parametrů. Ukázal jsem také souvislost mezi pákovými body a směrnicí regresní přímky proložené výsledky testování jednotlivých parametrů. Výstupem této metody jsou poté vybrané akční parametry spolu s jejich akčním rozsahem hodnot. Tyto parametry jsou vybrány z množiny všech vstupních parametrů. -
Spolu se svými kolegy jsem stanovil, jak popsat vzory chování systému a jak tyto vzory reprezentovat. Pro tento účel byl vyvinut vlastní způsob binarizace vzorů sestávající z výběru složek dat, binarizačního schématu, normalizace hodnot, metody binarizace a následného převodu n-rozměrných dat do jednorozměrného pole vhodného pro zpracování neuronovou sítí.
-
Popsal jsem postup rozpoznávání vzorů pomocí neuronové sítě sestávající z determinace tréninkových vzorů, binarizace vzorů, adaptace neuronové sítě (tréninku) a finálního rozpoznávání vzorů. Výsledkem spolupráce našeho výzkumného týmu je také úprava Hebbova učení. Zmínit bych chtěl zejména optimalizaci trénovací množiny pro adaptaci neuronové sítě a modifikování Hebbova pravidla pro aktivní fázi činnosti sítě zavedením parametru confidence.
-
Popsal jsem, jak funguje následná adaptace vstupních parametrů simulace na základě rozpoznaných vzorů chování neuronovou sítí, a jak jsou k tomuto účelu použity akční parametry a jejich rozsahy hodnot.
Navržená metodika je poté syntézou výše jmenovaných dílčích kroků. Metodika sestává z pěti hlavních fází a to Identifikace agentů a parametrů, Hierarchie parametrů, Simulace, Rozpoznávání vzorů chování a Adaptace parametrů. Dílčí fáze metodiky jsem navrhnul tak, aby byly jednotlivé postupy logicky členěny a bylo se k nim možno v případě potřeby vracet. Navíc bylo potřeba jednotlivé dílčí kroky metodiky vhodně propojit. Postup průchodu navrženou metodikou jsem prezentoval ve formě vývojového diagramu. V kapitole Experimentální ověření jsem na simulaci dopravních křižovatek SOTL prokázal funkčnost navržené metodiky a také ověření mých předchozích teoretických poznatků. Uvedený experiment byl jen vybranou aplikací zvolenou pro přehlednost. Porovnám-li výsledky simulace před a po aplikaci mé metodiky, jsou výsledky simulace s použitím mé metodiky lepší, jelikož bylo možno chování simulace usměrnit adaptováním vstupních parametrů na aktuální situaci. Ostatní provedené simulace dávaly srovnatelné výsledky.
91
Tímto bych subjektivně hodnotil jako splněné také cíle dizertační práce, jelikož jsem: -
Navrhl jsem způsob kategorizace parametrů simulace dle důležitosti.
-
Stanovil jsem způsob pro popis charakteristických vzorů chování.
-
Provedl jsem návrh metody pro výběr akčních parametrů.
-
Popsal jsem způsob adaptace parametrů simulace na základě rozpoznaných vzorů chování neuronovou sítí a stanovených očekávání.
-
Demonstroval jsem použití navržené metody na vybraných komplexních simulacích vytvořených v prostředí NetLogo.
Přínos své práce vidím zejména v aplikaci adaptivních přístupů, které se v poslední době začínají více uplatňovat a také možnosti zautomatizování některých kroků metodiky, které je většinou nutné dělat ručně. Jak bylo ověřeno na experimentu, mnou navržená metodika dokáže posunout chování systému žádaným směrem k lepším výsledkům. Další práci spatřuji v ověření robustnosti navržené metodiky i v jiných oblastech, než byly v této práci odzkoušeny, jako např. (Volná et al. 2011a, Kotyrba et al. 2011c). Dále se nabízí možnost využít navržené přístupy v oboru automatizace, ať již ve výuce anebo výzkumu na platformě SIMATIC (Janošek 2010c). Také by bylo přínosné rozvinout koncept pákových bodů a možnosti ovlivnění systému v oblasti biologie, ekologie a trvalé udržitelnosti, kde v současné době probíhá v souvislosti s pákovými body výzkum (Harich 2010). Na základě dalšího výzkumu v těchto oblastech následně ověřit funkčnost konceptu pákových bodů a seřazení parametrů i v těchto oblastech, případně nalézt způsob jak metodu seřazení parametrů zautomatizovat. Totéž platí i pro determinaci a rozpoznávání vzorů pomocí neuronové sítě. Jedním z možných výzkumů je nalezení vhodného způsobu binarizace pro různé typy úloh spolu s vhodným nastavením parametrů neuronové sítě pro adaptaci i rozpoznávání vzorů, dále pak nalezení lepšího způsobu stanovení vhodné hodnoty parametru Confidence ovlivňující kvalitu vzorů. Vzhledem k uvedenému považuji cíle práce za splněné a dovoluji si předložit tuto dizertační práci k obhajobě.
92
SEZNAM POUŽITÉ LITERATURY (Balci a Banks 1998)Balci, O., and J. Banks, "Verification, Validation, and Testing", The Handbook of Simulation, New York, NY, John Wiley & Sons, pp. 335-393, 1998. Tagged XML BibTex Google Scholar (Balci 2010) Balci, O.: Golden Rules of Verification, Validation, Testing, and Certification of Modeling and Simulation Applications. SCS M&S Magazine, Oct. 2010 Issue 4, The Society for Modeling and Simulation International (SCS), Vista, CA. (Barbosa a Belo 2008) Barbosa, R.P. and Belo O.: Autonomous trading agents. Lecture Notes in Computer Science, Volume 5077/2008, 389-403. Berlin: Springer, 2008. DOI: 10.1007/978-3-540-70720-2_30. (Barbosa a Belo 2010) Barbosa, R.P. and Belo O.: Multi-Agent Forex Trading System. Studies in Computational Intelligence, Springer 2010, Volume 289/2010, 91-118, DOI: 10.1007/978-3-642-135262_5. (Bernon et al. 2005) Bernon, C., Camps, V., Gleizes, M.-P., Picard, G.: Engineering adaptive multi-agent systems: The adelfe methodology. In B. Henderson-Sellers and P. Giorgini, editors, Agent-oriented Methodologies,, pages 172–202. Idea Group Pub., Hershey, PA, USA, 2005. (Bishop 1995) Bishop, C.M. (1995). Neural Networks for Pattern Recognition. Oxford: Oxford University Press. ISBN 0-19-853849-9 (hardback). (Boğ and Barlas 2005) Boğ S., Barlas Y.: Automated dynamic pattern testing, parameter calibration and policy improvement. Proceedings of the 23rd International System Dynamics Conference, Bos-ton, MA, 2005. (Castiglionet et al. 2001) Castiglionet, F., Motta, S., Nicosia, G.: Pattern Recogni-tion Ability of a MultiAgent Model of the Immune Sys-tem. Canada: ICSC Academic Press, 2001. ISBN: 3-906454-25-8. (Chung and Choe 2009) Chung JR, Choe YS: Emergence of Memory-like Beha-vior in Reactive Agents Using External Markers. IEEE International Conference on, pp. 404-408, 2009 21st IE-EE International Conference on Tools with Artificial In-telligence, 2009. ISBN: 978-0-7695-3920-1. (Ciskowski a Zaton 2010) Ciskowski, P. and Zaton, M.: Neural Pattern Recognition with Self-organizing Maps for Efficient Processing of Forex Market Data Streams. Berlin: Springer, 2010. ISBN: 978-3-64213207-0. (De Wolf 2007) De Wolf, T.: Analysing and engineering self-organising emergent applications. PhD thesis, Department of Computer Science, Katholieke Universiteit Leuven, Belgium, 2007. (Di Marzo et al. 2008) Di Marzo Serugendo, G., Fitzgerald, J., Romanovsky, A., Guelfi, N.: MetaSelf - A framework for designing and controlling self-adaptive and self-organising systems. Technical report, School of Computer Science and Information Systems, Birkbeck College, London, UK, 2008. (Enăchescu 2007) Enăchescu C.: Multidimensional Function Approximation using Neural Networks; International Conference INTER-Ing 2007, ”Interdisciplinarity in Engineering”, Târgu-Mureş, pp. VII17.1/ VII-17.6, Editura Universităţii "Petru Maior" Târgu-Mureş, ISSN: 1843-780X, 2007 (Gaidhane et al. 2011) Gaidhane V., Singh V., Hote Y. and Kumar M.,: New Approaches for Image Compression Using Neural Network, Journal of Intelligent Learning Systems and Applications, Vol. 3 No. 4, 2011, pp. 220-229. ISSN: 2150-8410. (Gardelli et al. 2008)Gardelli, L., Viroli, M, Casadei, M., Omicini, A:. Designing self-organising environments with agents and artifacts: A simulation-driven approach. Int. Journal of Agent-Oriented Software Engineering, 2(2):171–195, 2008. (Gershenson 2002) Gershenson, C.: Complex philosophy. In Proceedings of the 1st Biennial Seminar on Philosophical, Methodological & Epistemological Implications of Complexity Theory. La Habana, Cuba. [cit. 2012-02-12], URL http://uk.arxiv.org/abs/nlin/0109001v3, 2002 (Gershenson 2006) Gershenson, C.: A general methodology for designing self-organizing systems. Tech. Rep. 2005-05, ECCO. [cit. 2012-02-12], URL http://uk.arxiv.org/abs/nlin/0505009v3, 2006. (Gershenson 2007) Gershenson, C.: Design and Control of Self-organizing Systems. Mexico: CopIt ArXives, 2007. ISBN: 978-0-9831172-3-0.
93
(Gershenson 2009) Gershenson, C.: Self-organizing urban transportation systems. [cit. 2011-05-01], URL http://arxiv.org/abs/0912.1588, 2009. (Harich 2010) Harich, J.: Change resistance as the crux of the environmental sustainability problem. Syst. Dyn. Rev., 26: 35–72. 2010. doi: 10.1002/sdr.431 (Havel 2000) Havel I. M.: Causal domain and emergent rationality. In: B. Smith, B. Broguard (eds): Rationality and Irrationality. Proc. of Wittgenstein Symposium, Kirchberg, Austria, 2000. (Hebb 1949) Hebb, D.O. (1949). The organization of behavior. New York: Wiley & Sons. (Heylighen 1994) Heylighen, F.: Fitness as default: the evolutionary basis for cognitive complexity reduction. In Cybernetics and Systems ’94, R. Trappl, (Ed.), p. 1595–1602. Singapore: World Science, 1994. ISBN: 9789810217617. (Heylighen 2003) Heylighen, F.: The science of self-organization and adaptivity. In The Encyclopedia of Life Support Sys-tems, L. D. Kiel, (Ed.). EOLSS Publishers, Oxford. [cit. 2011-05-01], URL http://pcp.vub.ac.be/Papers/EOLSS-Self-Organiz.pdf, 2003 (Hillis 1998) Hillis D. W.: Intelligence as an Emergent Behavior, Daedalus, Journal of the American Academy of Arts and Sciences, Special Issue on Artificial Intelligence, 1988 s. 175–189. (IPCC 2001). IPCC Third Assessment Report: Climate Change 2001 (TAR). Working Group I: The Scientific Basis, Chapter 8.2.2.http://www.ipcc.ch (Katz and Shatz 1996) Katz LC, and Shatz CJ. Synaptic activity and the construction of cortical circuits. Science 274: 1133-1138, 1996. (Kelly 1995) Kelly, K.: Out of Control. New York: Basic Books, 1995. ISBN: 978-0201483406 (Kepkay 2003) Kepkay, M.: Complexity and adaptive management in Washington state forest policy, Simon Fraser University, 2003. (Kindler a Weinberger 2008) Kindler E., Weinberger J.: Quasi-Parallel Approach to Optimization. International Journal of Computing Anticipatory Systems, Vo. 21, 2008, pp. 287-29 (Krakauer a Zanotto 2006) Krakauer, D. C. and Zanotto, P. M. A.: Viral individuality and limitations of the life concept. In Protocells: Bridging Nonliving and Living Matter, S. Rasmussen., M. A. Bedau, L. Chen, D. Deamer, D. C. Krakauer, N. Packard, and D. P. Stadler, (Eds.). 2006. MIT Press. (Kronenberg 2007) Kronenberg, J.: Ecological economics and industrial ecology: a case study of the Integrated Product Policy of the European Union. Taylor & Francis, 2007, 293 s. ISBN: 9780415423311. (Kubík 2004) Kubík, Aleš, Inteligentní agenty. 1. vyd. Brno: Computer Press, 2004. 280 s. ISBN: 80-2510323-4. (Kvasnička a Pospíchal 1999) Kvasnička, V., Pospíchal, J.: An emergence of coordinated communication in populations of agents. Artificial Life, Volume 5, Issue 4, Pages 319-342, MIT Press 1999. ISSN: 10645462. (Landry 2005) Landry, C.: Urban acupuncture. Planning Theory and Practice, 6(1), 117–118. 2005. (Mařík a McFarlane 2005) Mařík, V. and McFarlane, D.: Industrial Adoption of Agent-Based Technologies. Intelligent Systems, IEEE, 2005, p. 27-35. ISSN: 1541-1672. (Meadows 1999) Meadows, D. H.: Leverage points: Places to intervene in a system. The Sustainability Institute. 1999 (Mirolli a Nolfi 2010) Mirolli, M. and Nolfi, S.: Evolving Communication in Embodied Agents: Theory, Methods, and Evaluation. In Evolution of Communication and Language in Embo-died Agents, pages 105--121. Springer Verlag, 2010. (Montesanto et al. 2006) Montesanto, Anna and collective. Analysis of finger-prints through reactive agent, Systemics of Emergence, 2006, s. 93-104. ISBN: 978-0-387-28899-4. (Nahodil 2007) Nahodil, P.: Od jednoduchých robotů k anticipujícím stvořením. In: Mařík V., Štěpánková O., Lažanský J. a kol.: Umělá inteligence 5. Academia, Praha 2007. ISBN 978-80-200-1470-2.
94
(Nahodil 2009) Nahodil, P.: Humanoidní robotika včera, dnes a zítra. In Umelá inteligencia a kognitívna veda I.. Banská Šťiavnica: Slovenská Technická Univerzita v Bratislave, 2009, s. 299-334. ISBN 978-80227-3080-8. (Nolfi 2002) Nolfi, S.: Power and the Limits of Reactive Agents. Neurocomputing, Vol: 42, 2002, Pages: 119-145, ISSN: 09252312. (Pelánek 2011) Pelánek, R.: Modelování a simulace komplexních systémů, Masaryk University, 236 p., 2011. ISBN: 978-80-210-5318-2. (Plessis and Cole 2011) Plessis, Ch., and Cole, RJ. (2011): Motivating change: shifting the paradigm, Building Research & Information, 39:5, 436-449 (Puviani et al. 2009) Puviani, M., Di Marzo Serugendo, G., Frei, R. and Cabri, G.: Methodologies for selforganising systems: a SPEM approach. TR BBKCS-09-05, School of Computer Science and Information Systems, Birbeck College, London, UK, 2009. (Shannon 1975) Shannon, R. E.: Systems Simulation: The Art and Science, Prentice Hall, Upper Saddle River, N. J. 1975. (Svatoš 2008) Svatoš, V.: Behaviorální řízení robotů s hodnocením přínosu jednotlivce pro kolektivní cíl. Disertační práce v oboru „Umělá inteligence a biokybernetika“. Praha: ČVUT-FEL. Dizertační práce. Vedoucí práce Doc. Ing. Pavel Nahodil, CSc. 2008. 132 s. (USEPA 2004) USEPA: United States Environmental Protection Agency. 2004. TRI program. http://www.epa.gov/tri/tridata/index.html [14. 4. 2012]. (Volná 1998) Volná, E.: Neuronové sítě a genetické algoritmy, Ostravská univerzita v Ostravě – učební texty, 1998. (Wei et al. 2009) Wei Sun, Lujin Zhang, Jinhai Zou and Siyi Miao (2009). Adaptive Control Based On Neural Network, Adaptive Control, Kwanho You (Ed.), ISBN: 978-953-7619-47-3, InTech, Available from: http://www.intechopen.com/books/adaptive_control/adaptive_control_based_on_neural_network (Wilensky 1997) Wilensky, U. (1997). NetLogo Wolf Sheep Predation model. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL (Wilensky 1999) Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL.
Publikace Mgr. Michal Janoška (2010 – 2012) Kapitoly v knize (Volná et al. 2012a) Volná, E., Janošek, M., Kotyrba, M., Kocian, V. and Oplatková, Z. „Methodology for System Adaptation based on Characteristic patterns“. In Dutta, A. (ed.): Robotic Systems – Applications, Control and Programming. InTech, Croatia, 2012, pp. 611-628. ISBN 978-953-307-941-7. Časopisy (Janošek 2011) Janošek, M. „Optimalizace a adaptace parametrů simulace komplexních samoorganizujících systémů.“ Elektrorevue - Internetový časopis (http://www.elektrorevue.cz), 2011/55 25.10. 2011, s.1-7. ISSN: 1213- 1539. (Janošek 2010a) Janošek, M. „Simulace umělého života.“ Elektrorevue - Internetový časopis (http://www.elektrorevue.cz), 2010/116 6. 12. 2010, s. 1-5. ISSN: 1213- 1539. (Janošek et al. 2011a) Janošek M., Kocian V., Kotyrba M. Volná E. „Pattern recognition and system adaptation“. Aplimat - Journal of Applied Mathematics, volume 4 (2011), number 1, pp. 261-270. ISSN: 1337-6365 (Volná et al. 2011a) Volná E., Kotyrba M., Kocian V., Janošek M. „Simulation of pattern recognition system via modular neural networks“.Aplimat - Journal of Applied Mathematics, volume 4 (2011), number 3, pp. 122-126. ISSN: 1337-6365.
95
Konference (Volná et al. 2012e) Volná E., Janošek, M., Kotyrba M. and Kocian V. „Pattern recognition algorithm optimization” In Advances in Intelligent Systems and Computing 192, Nostradamus: Modern Methods of Prediction, Modeling and Analysis of Nonlinear Systems, Springer 2012. Page 251-260. ISSN: 21945357. (Janošek a Volná 2012) Janošek, M., Volná E. „Pákové body sytému jako nástroj pro nastavení parametrů simulace.“ Ve Kelemen, J., Nahodil, P. (eds.): Kognice a umělý život XII. České vysoké učení technické v Praze, 2012. s. 90-95. ISBN 978-80-86742-34-2 (Janošek a Volná 2011) Janošek, M., Volná E. „Adaptace systému na základě charakteristických vzorů.“ Ve Kelemen, J., Kvasnička, V. (eds.): Kognice a umělý život XI. Opava: Slezská univerzita v Opavě, 2011. s. 87 92. ISBN 978-80-7248-644-1 (Volná et al. 2011b) Volná, E., Jarušek, R., Kotyrba, M., Janošek, M. and Kocian, V. „Data extraction from sound waves towards neural network trainig set”. In R. Matoušek (ed.): Proceedings of the 17th International Conference on Soft Computing, Mendel 2011, Brno, Czech Republic, 2011, pp. 177-184. ISBN 978-80-214-4302-0, ISSN 1803-3814. (Kocian et al. 2011) Kocian, V., Volná, E., Janošek, M. and Kotyrba, M. „Optimizatinon of training sets for Hebbian-learningbased classifiers”. In R. Matoušek (ed.): Proceedings of the 17th International Conference on Soft Computing, Mendel 2011, Brno, Czech Republic, 2011, pp. 185-190. ISBN 978-80214-4302-0, ISSN 1803-3814. (Janošek et al. 2011b) Janošek M., Kocian V., Kotyrba M. Volná E. „Pattern recognition and system adaptation“ In Kováčová, M. (ed.): Proceedings of the 10th International Conference on Applied Mathematics, Aplimat 2011, Bratislava, Slovakia, 2011, pp. 1217-1226. ISBN:978-80-89313-51-8. (Volná et al. 2011c) Volná E., Kotyrba M., Kocian V., Janošek M. „Simulation of pattern recognition system via modular neural networks“ In Kováčová, M. (ed.): Proceedings of the 10th International Conference on Applied Mathematics, Aplimat 2011, Bratislava, Slovakia, 2011, pp. 1295-1302. ISBN:978-80-89313-518. (Kotyrba et al. 2011c) Kotyrba M., Oplatkova Z., Volna E., Senkerik R., Kocian V., Janosek M.: Times Series Pattern Recognition Via Soft Computing, In Proceedings of the International Conference on P2P, Parallel, Grid, Cloud and Internet Computing, IEEE Computer Society, 2011, p. 384-389, ISBN: 978-07695-4531-8, doi. 10.1109/3PGCIC.2011.72 (Volná et al. 2011d) Volná E., Janošek, M., Kocian V., and Kotyrba M. „System Adaptation based on Characteristic Patterns“ In G. Lee (ed.) Proceedings of the International Conference on Mechanical Engineering and Technology (ICMET 2011), London 2011, pp. 99-102. ISBN-978-0-7918-5989-6. (Janošek 2010b) Janošek, M. „ALcore - simulátor umělého života.“ Ve Kelemen, J., Kvasnička, V. (eds.): Kognice a umělý život X. Opava: Slezská univerzita v Opavě, 2010. s. 159-166. ISBN 978-80-7248-5895 (Janošek 2010c) Janošek, M. „Systémy SIMATIC a jejich využití ve výzkumu.“ Ve Maršálek, R. ed.: Sborníku Studentské vědecké konference. Věda má budoucnost. Ostravská univerzita v Ostravě, 2010. s. 177-180. ISBN 978-80-7368-719-9. Publikace v recenzním řízení – přijato, ale nevydáno (Janošek a Kocian 2012) Janošek, M., Kocian V. „Simulation’s parameters setting methodology based on leverage points“ In Stavrinides, St. G., Banerjee, S., Caglar, H., Ozert, M. (eds.) Conference proceedings on Chaos and Complex Systems, CCS 2012. (Springer Complexity series) (Volná et al. 2012c) Volná E., Janošek, M., Kocian V., and Kotyrba M. “Nonlinear time series analysis via neural networks”. In Stavrinides, St. G., Banerjee, S., Caglar, H., Ozert, M. (eds.) Conference proceedings on Chaos and Complex Systems, CCS 2012. (Springer Complexity series) (Volná et al. 2012d) Volná E., Janošek, M., Kocian V., and Kotyrba M. „Smart Time Series Prediction“. In Proceedings of the International Conference on Soft Computing Models in Industrial and Environmental Applications, SOCO 2012. (Advances in Intelligent and Soft Computing Series – Springer)
96
SEZNAM OBRÁZKŮ Obrázek 1 – Metodika řešení dizertační práce ................................................................ 11 Obrázek 2 – Relativnost úhlu pohledu na stejný objekt (krabici) ..................................... 19 Obrázek 3 – Vztah mezi modely a vzory. ....................................................................... 20 Obrázek 4 – Zjednodušený pohled na neuronovou síť s dopředným šířením .................... 21 Obrázek 5 – Vynaložené úsilí ke změně chování systému (http://www.thwink.org/sustain/glossary/images/LeveragePoint_Diagram.gif) ................ 23 Obrázek 6 – Hierarchie pákových bodů (v originálním pořadí, Meadows 1999) .............. 24 Obrázek 7 – Fáze Obecné metodiky ............................................................................... 31 Obrázek 8 – Metodika Adelfe ........................................................................................ 33 Obrázek 9 – Metodika CUP ........................................................................................... 34 Obrázek 10 – Metodika MetaSelf .................................................................................. 35 Obrázek 11 – Metodika SDA......................................................................................... 35 Obrázek 12 – S/R vzor na měnovém kurzu EURUSD..................................................... 42 Obrázek 13 – SOTL graf výstupního ukazatele Average Speed of Cars ........................... 49 Obrázek 14 – Základní vzory chování systému, (Boğ and Barlas 2005) ........................... 51 Obrázek 15 – Sheep-reproduce ...................................................................................... 55 Obrázek 16 – Initial-number-sheep ................................................................................ 56 Obrázek 17 – Sheep-gain-from-food .............................................................................. 59 Obrázek 18 – Determinace tréninkových vzorů .............................................................. 63 Obrázek 19 – Převod n-rozměrných dat do jednorozměrného pole .................................. 66 Obrázek 20 – Příklady možných bitmap vzorů (1-5 ukazatelů) ....................................... 66 Obrázek 21 – Strategie nalezení vzoru ........................................................................... 69 Obrázek 22 – Model jednoduchého neuronu (http://www.willamette.edu/~gorr/classes/cs449/figs/unit.gif) ......................................... 69 Obrázek 23 – Definované vzory chování systému (otočení trendu) ................................. 71 Obrázek 24 – Definované vzory chování systému (trend) ............................................... 71 Obrázek 25 – Fáze metodiky ......................................................................................... 73 Obrázek 26 – Vývojový diagram metodiky .................................................................... 74 Obrázek 27 - Komunikace mezi nástrojem NetLogo a EDU Sandbox ............................. 76 Obrázek 28 – SOTL, strategie dopravních semaforů (Gershenson 2007) ......................... 77 Obrázek 29 – Number ................................................................................................... 81 Obrázek 30 – Speed-limit, Control................................................................................. 81 Obrázek 31 – Stanovení tréninkových vzorů .................................................................. 83 Obrázek 32 – EDU Sandbox, trénování a rozpoznávání .................................................. 84 Obrázek 33 – Natrénované vzory ................................................................................... 84 Obrázek 34 – Proces rozpoznávání vzorů ....................................................................... 85 Obrázek 35 – Výsledek experimentu.............................................................................. 88 Obrázek 36 – Další natrénované vzory ........................................................................... 88
97
SEZNAM TABULEK Tabulka 1 – Srovnání metodik ....................................................................................... 37 Tabulka 2 – Pákové body vs. druhy agentů .................................................................... 48 Tabulka 3 – Výchozí hodnoty parametrů ........................................................................ 54 Tabulka 4 – Sheep-reproduce ........................................................................................ 54 Tabulka 5 – Směrnice regresních přímek zkoumaných parametrů ................................... 57 Tabulka 6 – Sheep-gain-from-food ................................................................................ 58 Tabulka 7 – Akční parametry a jejich rozsahy hodnot..................................................... 61 Tabulka 8 – Výsledky mnohorozměrné lineární regrese .................................................. 62 Tabulka 9 – Příklad binarizace vzoru ............................................................................. 64 Tabulka 10 – Příklad z výstupu analýzy dat ................................................................... 68 Tabulka 11 – Vzory a očekávání .................................................................................... 72 Tabulka 12 – SOTL, vstupní parametry ......................................................................... 79 Tabulka 13 – Pořadí hodnot parametru Control .............................................................. 80 Tabulka 14 – SOTL, pákové body a směrnice regresních přímek vstupních parametrů .... 80 Tabulka 15 – Akční parametr Control a jeho rozsah ....................................................... 82 Tabulka 16 – Vzory a očekávání .................................................................................... 83 Tabulka 17 – Rozpoznané vzory, Confidence 100 .......................................................... 86
98
REJSTŘÍK adaptace systému, 14, 39, 70, 74 adaptivní řízení, 22 agent, 15 běžný, 45, 73 deliberativní, 15 hybridní, 15 inteligentní, 15 mediátor, 45, 73 prostředí, 45, 73 reaktivní, 15 sociální, 15 Agent-UML, 33 agenty, agenti, 15, 44 akční rozsah, 39, 53 AMAS, 33 analýza citlivosti, 30, 53, 55 aplikace, 32 bottom-up, 12 EDU Sandbox, 73 emergence, 12 entita, 31, 43, 44 evaluace, 32 fázový přechod, 55 feedback-based regulace, 14 Hebbovo učení, 22, 67 modifikace, 69 chování systému, 21, 39, 41, 59 kolaps, 60 oscilace, 60 stabilita, 60 IPCC, 44 komplexní fenomén, 12 komplexní systém, 13 KQML, 15 leverage point, 22 lineární regrese, 55, 61 MAS, 15, 44 mediátor, 31 metoda binarizace, 65 binarizace AREA, 65 binarizace DOT, 65 binarizace LINE, 65 metodika, 30 Adelfe, 33 CUP, 33 GM, Obecná metodika, 31 MetaSelf, 34 SDA, 35 vlastní, 39, 72 model systému, 18 absolutní, 18 fyzický, 20 matematický, 20 mentální, 20 relativní, 18
self-driven, 28 trace-driven, 28 výpočetní, 20 modelování, 32, 43 NetLogo, 43 neuronová síť, 21, 42 adaptace, 67, 73 očekávání, 14, 41, 72 optimalizace, 13 páka, 22 pákové body, hierarchie, 23, 45, 55, 73 pákový bod, 22, 45, 55 parametr, 24, 39, 43, 44, 45 akční, 39, 53, 62, 74 běžný, 45, 73 fixní, 52 mediátor, 45, 73 měnící se, 52 prostředí, 45, 73 vstupní, 39, 53, 55, 59 výstupní, 39 přístup shora dolů, 12 přístup zdola nahoru, 12 regresní přímka, 55 reprezentace, 32 rozpoznávání, 22 RSM, 29 samoorganizace, 17 satisfakce, 31 SGS, 62 simulace, 32, 43, 73 složitost systému, 13 směrnice přímky, 56, 59 SOTL, 46, 78 testování, 28, 53 citlivosti, 30 funkční, 30 grafické, 30 top-down, 12 ukazatel vypovídající, 59, 73 výstupní, 39, 53, 55, 59, 73 výstupní, odchylka, 41 UP, 33 USEPA, 27, 95 validace, 28 verifikace, 28 VV&T, 28 vzor, 19, 41 binarizace, 64 chování, 19, 39, 40 normalizace, 65 rozpoznávání, 41, 68, 74 tréninkový, 63, 73 základního chování, 50 Wolf Sheep Predation, 52
99
SEZNAM PŘÍLOH Příloha A – Výsledky analýzy testovaní parametrů simulace Wolf Sheep Predation na CD. Příloha B – Vytvořená aplikace pro adaptaci parametrů komplexního systému na CD. Příloha C – Experimentální data simulace SOTL a výsledky na CD.
100