root/applications/doprava/texty/delka_cyklu/03_Agents/Agents.tex @ 1337

Revision 1151, 9.7 kB (checked in by jabu, 14 years ago)
Line 
1\chapter{Multiagentní systémy}
2
3\section{Úvod}
4
5Multiagentní systém je druh distribuované umělé inteligence. Tento systém se skládá z
6jednotlivých výpočetních prvků, tzv. agentů, které musí mít dvě základní schopnosti.
7Zaprvé musí být schopni autonomní akce rozhodnutí - zjistit jak nejlépe dosáhnout
8požadovaných cílů - a zadruhé je to schopnost interakce s ostatními agenty. V druhém případě nejde
9jen o pouhou výměnu dat, ale o typ kolektivní aktivity - návrh, potvrzení, odmítnutí.
10
11\subsection{Historie}
12
13Multiagentní systémy jsou na poli počítačové vědy relativní novinkou. Studium tohoto
14tématu probíhá od začátku osmdesátých let dvacátého století. Větší pozornosti
15se jim dostalo v polovině let devadesátých s rozvojem internetu.
16
17\subsection{Agent}
18
19Neexistuje obecně uznávaná definice agenta. Přikloníme se k definici použité v publikaci
20\cite{wooldridge}.
21
22\begin{definition}[Agent]\label{de:agent01}
23Agent je počítačový systém umístěný do nějakého prostředí, který je schopen autonomní akce
24k přiblížení se navrženým cílům.
25\end{definition}
26
27
28Agent v naprosté většině případů nemá celkovou kontrolu nad prostředím. Prostředí může ovlivňovat
29jen částečně. Obecně, stejně jako v našem případě, je prostředí nedeterministické. Stejná akce
30provedená dvakrát za sebou nemusí vést ke stejnému výsledku.
31
32\section{Druhy prostředí}
33
34Způsob práce agentů se liší podle druhu prostředí, ve kterém pracují. Podle \cite{wooldridge} se
35prostředí dají klasifikovat následovně:
36
37\begin{itemize}
38 \item Deterministické vs. nedeterministické
39 \item Dostupné vs. nedostupné
40 \item Statické vs. dynamické
41\end{itemize}
42Deterministické prostředí je takové, ve kterém má každá jednotlivá akce předem daný efekt.
43Prostředí je dostupné, pokud agent může zjistit jeho úplný stav v kteroukoliv dobu.
44Statické prostředí se na rozdíl od dynamického mění pouze vlivem akcí vyvolanými agenty.
45V diskrétním prostředí existuje pevné konečné číslo možných vjemů a akcí.
46\\
47\\
48V našem případě je prostředí nedeterministické (agent pouze odhaduje vliv přenastavení parametru),
49nedostupné (hodnoty se měří pouze jednou za 90 sekund, a ještě jsou zkreslené) a dynamické
50(intenzita dopravy se mění nezávisle na akcích agenta). Je zřejmé, že prostředí s těmito vlastnostmi
51znesnadňuje rozhodování a kontrolu vyvolaného výsledku.
52
53
54\section{Interakce agentů}
55
56\subsection{Stavy prostředí a preference agentů}
57
58Mějme pro jednoduchost 2 agenty. Označme si je $i$ a $j$.
59Předpokládejme, že máme množinu $$\Omega = \{\omega_1, \omega_2, ...\}$$ obsahující všechny možné stavy
60prostředí, v kterém agenti operují. Aby byl agent schopen efektivně ovlivňovat prostření, musí být schopen
61ohodnotit, jak je pro něj daný stav příznivý. Hodnocení daného stavu agenta $i$ a $j$ formálně definujeme jako funkce
62$$u_i : \Omega \rightarrow \mathbb{R}, $$
63$$u_j : \Omega \rightarrow \mathbb{R}. $$
64Čím je stav $\omega$ příznivější pro agenta $i$, tím je větší hodnota funkce $u_i$.
65
66\begin{definition}[Uspořádání na množině všech stavů]
67 Mějme 2 stavy prostředí $\omega_1$, $\omega_2$. Řekněme, že stav $\omega_1$ je preferován agentem $i$ nad stavem $\omega_2$,
68pokud platí $u_i(\omega_1) \geqq u_i(\omega_2)$. Značíme
69$$ \omega_1 \succeq_i \omega_2. $$
70Stav $\omega_1$ je silně preferován agentem $i$ nad stavem $\omega_2$,
71pokud platí $u_i(\omega_1) > u_i(\omega_2)$. Značíme
72$$ \omega_1 \succ_i \omega_2 $$
73\end{definition}
74
75Relace $ \succeq_i $ je zřejmě uspořádání, protože má všechny potřebné vlastnosti.
76\newline
77Reflexivitu:
78$$  \forall \omega \in \Omega : \omega \succeq_i \omega $$
79Tranzitivitu:
80$$  \forall \omega_1, \omega_2, \omega_3 \in \Omega : \omega_1 \succeq_i \omega_2 \wedge \omega_2 \succeq_i \omega_3 \Rightarrow \omega_1 \succeq_i \omega_3$$
81Porovnatelnost:
82$$  \forall \omega_1, \omega_2 \in \Omega : \omega_1 \succeq_i \omega_2 \vee \omega_2 \succeq_i \omega_1 $$
83
84Relace $\succ_i$ zjevně nesplňuje podmínky reflexivity.
85
86\subsection{Akce agentů}
87Nyní popíšeme, jak mají agenti možnost ovlivňovat prostředí.
88Opět předpokládejme existenci dvou agentů $i$ a $j$. Obecně mají
89různí agenti různou oblast působnosti. Množina
90$$ A = \{ a_1, a_2, ... \} $$
91znázorňuje množinu všech akcí, které jsou agenti schopni provézt.
92Na tyto akce reaguje prostředí přechodem do nějakého stavu $\omega \in \Omega$.
93Formálně můžeme tento přechod zapsat jako funkci
94$$ \tau : A \times A \rightarrow \Omega. $$
95
96
97
98
99\section{Strategie}
100
101Popišme zde způsob, jak se agent rozhodne pro realizaci určité akce.
102Agent je nyní schopen ohodnotit, který stav prostředí je pro něj příznivější než jiný,
103neví však jak budou reagovat ostatní agenti, není schopen určit tudíž, i za předpokladu,
104že by systém byl deterministický, do jakého stavu systém přejde. K výběru optimální akce
105se používají prvky z teorie her. Zadefinujme nejprve v souladu s touto teorií základní pojmy.
106
107\begin{definition}[Dominance množiny]
108 Mějme 2 podmnožiny $ \Omega_1, \Omega_2 \subset \Omega $.
109Řekneme, že $\Omega_1$ je pro agenta $i$ dominantní nad množinou $\Omega_2$, pokud platí
110$$
111\forall \omega \in \Omega_1, \forall \omega' \in \Omega_2 : \omega \succeq_i \omega'.
112$$
113Řekneme že $\Omega_1$ je pro agenta $i$ silně dominantní nad množinou $\Omega_2$, pokud platí
114$$
115\forall \omega \in \Omega_1, \forall \omega' \in \Omega_2 : \omega \succ_i \omega'.
116$$
117\end{definition}
118
119Abychom používali terminologii teorie her, budeme nyní akce $a_i \in A$ jednotlivých agentů
120nazývat strategiemi.
121
122\begin{definition}[Množina výsledků]
123Nazvěme množinu všech stavů, do kterých může prostředí přejít při hraní strategie $a_i \in A$,
124množinou možných výsledků. Označme ji
125$$
126a_i^* \subset \Omega.
127$$
128\end{definition}
129
130\begin{definition}[Dominance strategie]
131 Řekneme, že strategie $a_i$ je dominantní nad strategií $a_j$,
132pokud je množina $a_i^*$ dominantní nad množinou $a_j^*$.
133Strategie $a_i$ je silně dominantní nad strategií $a_j$,
134pokud je množina $a_i^*$ silně dominantní nad množinou $a_j^*$.
135\end{definition}
136
137Racionálně uvažující agent tedy vyloučí všechny strategie $a_i$, jestliže existuje
138strategie $a_j$, která nad strategií $a_i$ silně dominuje. K zúžení výběru zbývajících
139strategií slouží Nashova rovnost. Pro zjednodušení uvažujme 2 agenty, $i$ a $j$.
140Dvě strategie, $a_1$ a $a_2$ jsou v Nashově rovnosti, pokud za předpokladu že agent
141$i$ zvolí strategii $a_1$, je nejvýhodnější strategií pro agenta $j$ je strategie $a_2$ a zároveň
142pokud agent $j$ zvolí strategii $a_2$, je pro agenta i nejvýhodnější strategií $a_1$.
143
144\subsection{Použití pro výběr délky cyklu}
145
146Délka cyklu řadiče křižovatky je parametr, který je pro všechny agenty ve skupině zahrnující křižovatky do zelené vlny společný.
147Nesmí tedy dojít k situaci, kdy by každý agent nastavil jinou délku cyklu. Množina strategií
148$A = \{ a_1, a_2, ... \}$ je tedy v našem případě množinou všech nastavitelných délek cyklu $Tc_k$
149v dané situaci. Mějme funkci $u_{i_{Tc}} : A \rightarrow \mathbb{R} $, jejíž funkční hodnota v bodě $Tc_j$
150udává předpokládaný zisk pro agenta $i$ při délce cyklu $Tc_j$. Funkci $u_i(\omega) = u_i(\tau(Tc_k, Tc_l))$ můžeme zadefinovat následovně
151(pro jednoduchost předpokládejme existenci dvou agentů $i$ a $j$)
152$$
153 u_i(\tau(Tc_k, Tc_l) = 
154\left\{ 
155\begin{array}{r@{\quad}c}
156 u_{i_{Tc}}(Tc_k) , & k = l \\
157 - \infty , & k \neq l \\
158\end{array}
159\right.,
160$$
161kde hodnota $-\infty$ vyjadřuje jakýsi kolaps systému při nastavení různých délek cyklu.
162To však znamená, že žádná strategie není silně dominantní nad jinou. Zároveň za předpokladu,
163že agent $i$ zvolí strategii $Tc_l$, agent $j$ nemůže udělat lépe, než že zvolí stejnou strategii.
164To znamená že pro všechny strategie $Tc_l \in A$ platí, že jsou v Nashově rovnosti samy se sebou.
165Takto definovaná funkce nám v souladu s teorií zaručí, že agenti nenastaví různé délky cyklu, potřebujeme
166ale dodatečné kritérium kterou délku cyklu vybrat.
167
168\subsection{Globálně nejlepší řešení}
169Komunikace agentům dovoluje vzájemně si předat předpokládané zisky pro určitou délku cyklu.
170Nejprve musíme určit množinu možných délek cyklu tak, aby v každém kroku simulace byla pro všechny agenty společná.
171Určíme tedy přirozená čísla $n$ a $dTc$. Množina možných strategií $A$ bude
172$$
173A = \{ Tc_{-n}, Tc_{-n+1}, ..., Tc_{n-1}, Tc_{n} \},
174$$
175$$
176Tc_i = Tc + i \cdot dTc,
177$$
178kde $Tc$ je délka cyklu v minulém kroku simulace. Každý agent je pak schopen sestavit množinu součtů zisků
179$$
180U = \{ u_{Tc_{-n}}, u_{Tc_{-n+1}}, ..., u_{Tc_{n-1}, u_{Tc_{n}}} \},
181$$
182kde
183$$ 
184u_{Tc_i} = \sum_k u_{k_{Tc}}(Tc_i).
185$$
186Agent poté zvolí takovou délku cyklu $Tc_i$, pro kterou platí
187$$
188u_{Tc_i} = \max(U).
189$$ 
190Toto je výběr globálně nejlepšího řešení, kde agent upřednostní takový čas délky cyklu, u kterého se předpokládá
191největší součet zisků od všech agentů nad časem, u kterého předpokládá největší zisk pro sebe.
192
193\subsection{Rozšíření}
194
195V našem případě se zabýváme pouze dvěma křižovatkami. V případě většího počtu křižovatek patřících do různých skupin zelené vlny
196se bude optimalizace provádět pro každou skupinu zvlášť. Jak dále popíšeme v \ref{ss:odhad_fronty}, pro danou skupinu je důležitý i údaj
197o délce cyklu okolních agentů, neboť ovlivňuje předpoklad o hustotě provozu. Komunikace se rozšíří o tento údaj a každá skupina ho zahrne
198do výběru strategie.
Note: See TracBrowser for help on using the browser.