V této kapitole je popsán jednoduchý systém, na kterém jsou porovnány řídící algoritmy založené na principech uvedených v předešlé kapitole. Řídící algoritmy byly implementovány v prostředí \emph{Matlab}. \section{Integrátor s neznámým ziskem} Systém zvaný integrátor s neznámým ziskem, byl podrobně zkoumán v \cite{astrom1986dual}. Pro srovnání uvádíme tamější výsledky. \subsection{Popis systému} Výstup systému je popsán jako \begin{gather} \label{simple} y_{t+1}=y_t+\theta u_t+v_{t+1}, \qquad t=0,\ldots,N-1,\\ v_{t+1}\sim N(0,\sigma^2), \end{gather} kde $\theta\neq0$ je neznámý parametr a rozptyl šumu $\sigma^2=0,1$. Počáteční hodnota výstupu je nastavena na $y_0=1$. O neznámém parametru $\theta$ máme v čase $t$ informaci v podobě dostatečné statistiky $T_t=(\hat{\theta}_t,P_t)$ tvořené střední hodnotou a rozptylem. Předpokládáme nekorelovanost odhadu $\theta_t$ s šumem, tedy že \begin{equation} \cov(v_{t+1},\theta_t)=0. \end{equation} Optimální řízení je takové, které udrží výstupy systému na nulové hodnotě. Ztrátová funkce je kvadratická v $y_{t+1}$, čili \begin{equation} \label{glos} g(y_{1:N},u_{0:N-1})=\sum_{t=0}^{N-1}y_{t+1}^2. \end{equation} Odhadovací procedurou pro parametr $\theta$ je Kalmanův filtr. Pro systém \eqref{simple} má tvar \begin{gather} K_t=\frac{u_tP_t}{u_t^2P_t+\sigma^2},\\ \label{kal} \hat{\theta}_{t+1}=\hat{\theta}_t+K_t(y_{t+1}-u_t\hat{\theta}_t),\\ P_{t+1}=(1-K_tu_t)P_t. \end{gather} Hyperstav systému $H_t$ tvoří vektor $(y_t,\hat{\theta}_t,P_t)$. Očekávaná ztráta je \begin{equation} J_t(H_t)=\min_{u_t \in U_t}\E_{y_{t+1}}\left\{y_{t+1}^2+J_{t+1}(H_{t+1})|H_t,u_t\right\}, \qquad t=0,\ldots,N-1. \end{equation} Ta po dosazení z \eqref{simple} a částečném provedení střední hodnoty přejde na tvar \begin{gather} \label{dos} J_t(H_t)=\min_{u_t \in U_t}\left\{(y_t+\hat{\theta}_tu_t)^2+u_t^2P_t+\sigma^2+\E_{y_{t+1}}(J_{t+1}(H_{t+1}))|y_t,\hat{\theta}_t, P_t,u_t\right\}. \end{gather} \subsection{Transformace rovnic systému} Před samotnou aplikací nějakého řídícího algoritmu lze úlohu vhodnou transformací proměnných zjednodušit. Dle \cite{astrom1986dual} je takovou transformací přechod od popisu pomocí $(y_t,\hat{\theta}_t,P_t,u_t)$ k proměnným $(\eta_t,\beta_t,\zeta_t,\nu_t)$ dle vztahů \begin{gather} \eta_t=\frac{y_t}{\sigma}, \\ \label{trab} \beta_t=\frac{\hat{\theta}_t}{\sqrt{P_t}}, \\ \zeta_t=\frac{1}{\sqrt{P_t}}, \\ \nu_t=\frac{u_t\sqrt{P_t}}{\sigma}. \end{gather} Současně můžeme neurčitost ve výstupu \eqref{simple} reprezentovat jedinou normalizovanou náhodnou veličinou \begin{equation} s_t=\frac{y_{t+1}-y_t+\hat{\theta}_tu_t}{\sqrt{u_t^2P_t+\sigma^2}} \sim N(0,1). \end{equation} Rovnice pro výstup \eqref{simple} a následující odhad neznámého parametru \eqref{kal} tak přejde v \begin{gather} \label{eta} \eta_{t+1}=\eta_t+\beta_t\nu_t+\sqrt{1+\nu_t^2}s_t,\\ \label{beta} \beta_{t+1}=\sqrt{1+\nu_t^2}\beta_t+\nu_ts_t. \end{gather} Přejdeme-li k vhodně upravené očekávané ztrátě, dostaneme \begin{align} \label{bel} V_t(\eta_t,\beta_t,\zeta_t)&=\frac{J_t(y_t,\hat{\theta}_t,P_t)}{\sigma^2}\\ &=\min_{\nu_t }\left\{(\eta_t+\beta_t\nu_t)^2+\nu_t^2+1+\E_{s_t}(V_{t+1}(\eta_{t+1},\beta_{t+1},\zeta_{t+1}))\right\}. \end{align} Nyní spočteme očekávanou ztrátu pro $N-1$ jako \begin{equation} V_{N-1}(\eta_{N-1},\beta_{N-1},\zeta_{N-1})=\min_{\nu_{N-1}}\left\{(\eta_{N-1}+\beta_{N-1}\nu_{N-1})^2+\nu_{N-1}^2+1\right\}. \end{equation} Pomocí diferenciálního počtu pak získáme optimální zásah ve tvaru \begin{equation} \label{optcon} \nu_{N-1}=-\frac{\eta_{N-1}\beta_{N-1}}{1+\beta_{N-1}^2} \end{equation} a očekávanou ztrátu rovnu \begin{equation} V_{N-1}(\eta_{N-1},\beta_{N-1},\zeta_{N-1})= \frac{\eta_{N-1}^2+1}{\beta_{N-1}^2+1}. \end{equation} Protože optimální zásah $\nu_{N-1}$ ani očekávaná ztráta $V_{N-1}$ nezávisí na $\zeta_{N-1}$, díky tvaru $V_t$ nebude rovněž optimální zásah $\nu_t$ a očekávaná ztráta $V_t$ záviset na $\zeta_t$. K nalezení optimálního řízení tedy stačí v každém čase $t$ uvažovat pouze dvourozměrný hyperstav $H_t=(\eta_t,\beta_t)$. Navíc můžeme bez újmy na obecnosti počítat optimální zásah pouze pro kladné hodnoty $\eta_t$ a $\beta_t$. Optimální řízení tedy napočteme pouze pro kladné hodnoty $y_t$ a $\theta_t$. Pro ostatní možnosti pak díky tvaru \eqref{simple} dostaneme požadovaný řídící zásah vhodnou volbou znaménka napočteného zásahu. \section{Použité řídící algoritmy} V tomto oddílu jsou popsány řídící algoritmy, které budou posléze porovnány při řízení systému \eqref{simple}. Algoritmy jsou založené na principech uvedených v předešlé kapitole. \subsection{Certainty equivalent} Aplikací metody certainty equivalent (CE) přejde očekávaná ztráta \eqref{bel} v \begin{equation} V_t(\eta_t,\beta_t)=\min_{\nu_t }\left\{\hat{\eta}_{t+1}^2+V_{t+1}(\eta_{t+1},\beta_{t+1})\right\} \end{equation} Střední hodnota výstupu je dle \eqref{eta} rovna \begin{equation} \hat{\eta}_{t+1}=\eta_t+\beta_t\nu_t, \end{equation} Optimální řídící zásah bude tedy pro každé $\beta_t\neq0$ roven \begin{equation} \label{cecon} \nu_t=-\frac{\eta_t}{\beta_t}. \end{equation} Pokud $\beta_t=0$, pak to dle \eqref{trab} znamená, že i $\hat{\theta}_t=0$ (to se může stát ačkoliv $\theta\neq0$). Aktuální očekávaná ztráta pak nezávisí na $\nu_t$ a můžeme tedy volit libovolný řídící zásah bez vlivu na hodnotu očekávané ztráty. V takovém případě volíme za řídící zásah realizaci bílého šumu $N(0,1)$. Jedná se vlastně o jednoduchou aplikaci principu duálního řízení popsaného rovnicí \eqref{dual}. Z tvaru optimálního řídícího zásahu \eqref{cecon} snadno zjistíme, že CE je metodou neduální. Pokud je totiž výstup systému na požadované hodnotě, řídící zásah nebude systém vychylovat za účelem lepší identifikace parametru $\theta$. Nicméně díky tomu, že máme k dispozici analytické vyjádření $\nu_t$, může být řízení pomocí metody CE prováděno s minimálními výpočetními nároky. To může být v některých aplikacích rozhodující výhodou. Aplikace metody CE v podobě řídícího zásahu \eqref{cecon} je zjevně nevhodná pro malé hodnoty $\beta_t$. Metoda bude totiž generovat, příliš velké řídící zásahy bez ohledu na možnou přítomnost neurčitosti. Konkrétní důsledky budou prezentovány dále. \subsection{Opatrné řízení} Optimální řídící zásah je pro metodu opatrného řízení (cautious control, CC) dán dle \eqref{optcon} jako \begin{equation} \label{optcon2} \nu_t=-\frac{\eta_t\beta_t}{1+\beta_t^2}. \end{equation} Opět se podařilo získat analytické vyjádření $\nu_t$ a výpočet optimálního řízení pomocí metody CC může být prováděn velmi efektivně. Všimněme se, že pro velké hodnoty $\beta_t$ přejde optimální zásah pro metodu opatrného řízení \eqref{optcon2} v optimální zásah metody CE \eqref{cecon}. Naproti tomu pro malé hodnoty $\beta_t$ (tedy pro velké hodnoty neurčitosti v identifikaci parametru $\theta$, viz \eqref{trab}) bude řízení podstatně konzervativnější. Pro $\beta_t=0$ (to odpovídá $\hat{\theta}_t=0$) pak bude $\nu_t=0$ a regulátor tedy nebude poskytovat žádné aktivní řízení. \subsection{Klasický přístup k dynamickému programování} V článku \cite{astrom1986dual} je problém řízení systému \eqref{simple} řešen pomocí přímé aplikace numerických metod na řešení úlohy dynamického programovaní. Jde o schéma popsané v sekci \ref{idp}. Prostor hyperstavů byl diskretizován do mřížky 64x64. Pro každý bod hyperstavu se napočítala očekávaná ztráta, mimo body mřížky se použila kubická interpolace. K numerické integraci byla použita klasická Simpsonova metoda. K nalezení minima se pak použila jednoduchá metoda, při níž se každými třemi body na mřížce proložila parabola, nalezlo její minimum a to se pak testovalo, zdali je globálním minimem očekávané ztráty. Optimální řízení na výsledné mřížce bylo nakonec parametrizováno analytickou formulí tvaru \begin{equation} \label{ast} \nu_t=-\frac{0,56+\beta_t}{2,2+0,08\beta_t+\beta_t^2}\eta_t-\frac{1,9}{1,7+\beta_t^4}. \end{equation} Autoři uvádějí, že analytická aproximace způsobila zvýšení ve ztrátové funkci o méně než 1 \%. První člen v \eqref{ast} můžeme interpretovat jako modifikované opatrné řízení, druhý člen pak jako budící složku řízení. \subsection{SIDP} Dle popisu (a následné transformace) systému \eqref{simple} je pro výpočet optimální strategie pomocí algoritmu SIDP nutné diskretizovat část dvoudimenzionálního prostoru nezávisle proměnných $H_t=(\eta_t,\beta_t)$. Jak bylo výše zdůvodněno, optimální řídící zásahy stačí napočíst pro kladné hodnoty $(\eta_t,\beta_t)$. V práci \cite{thompson2005stochastic}, kde je metoda SIDP navržena, je pro diskretizaci prostoru použita oblast obdélníkového tvaru. Kolem vygenerovaných bodů se vytvoří nejmenší obdélník, který obsahuje všechny vygenerované body. Metodu k jeho určení převzali autoři z \cite{bh-eamvb-01}. Nicméně při použití této metody není zaručeno, že část takto vygenerovaného obdélníku nebude obsahovat i záporné hodnoty $(\eta_t,\beta_t)$, viz obrázek \ref{box}. \begin{figure} \centering \includegraphics[width=0.25\textwidth]{box} \caption{Oblast určená k diskretizaci $H_t$ pomocí nejmenšího obdélníku -- body uvnitř obecně orientovaného obdélníka nemusí splňovat požadavek na nezápornost} \label{box} \end{figure} V této práci se proto volí odlišná metoda. K diskretizaci zasažené části prostoru se volí opět oblast obdélníkového tvaru. Ta se určí následující jednoduchou metodou (matici obsahující všechny vygenerované body označme $A=(x_1,x_2,\ldots,x_N) \in \mathbb{R}_+^{2,N}$) \begin{itemize} \item spočtou se vlastní čísla a vektory kovarianční matice $AA'$ \item vlastní vektory určují směr hran kvádru, jejich délka je $4\sqrt{\lambda_i}/N$ \item za střed obdélníka se zvolí těžiště množiny $\left\{x_1,x_2,\ldots,x_N\right\}$. \end{itemize} Pokud část obdélníka obsahuje záporné hodnoty $(\eta_t,\beta_t)$, vezme se vhodné natočení a zmenšení původního. To se provede iterativně, kdy v každé iteraci se původní obdélník natočí o 5° a zmenší o 5 \%. V iteracích se pokračuje, dokud není splněna podmínka na nezáporné hodnoty $(\eta_t,\beta_t)$ uvnitř obdélníka. Možnou situaci ilustruje obrázek \ref{box1} \begin{figure} \centering \includegraphics[width=0.25\textwidth]{box1} \caption{Oblast určená k diskretizaci $H_t$ pomocí zde použité metody -- v případě potřeby se napočtený obdélník vhodně zmenší a natočí} \label{box1} \end{figure} Implementace dalších částí algoritmu byla provedena v souladu s oddílem \ref{sidp}. Konkrétní nastavení parametrů algoritmu zachycuje tabulka \ref{par2}. Výpočet za daných parametrů trval v řadech minut. \begin{table} \begin{tabular}{|l|ll|} \hline počet opakování algoritmu & $n_{pass}$ & 4\\ počet iterací algoritmu & $n_{iter}$ & 8\\ počet bodů v diskretizaci každé dimenze $H_t$ & $n_g$ & 10\\ apriorní řídící strategie & $\mu_{0:N-1}$ & $0$\\ počet kadnidátů na změnu řídícího zásahu & $m$ & 7\\ počáteční rozsah pro hledání optimálního řídícího zásahu & $\beta^{in}$ & 1\\ parametr pro redukci $\beta^{in}$ při opakování algoritmu &$\gamma$ & 0,9\\ parametr pro redukci $\beta^{in}$ při iterování algoritmu & $\lambda$ & 0,5\\ počet realizací pro odhad metodou Monte Carlo & $n$ & 20\\\hline \end{tabular} \caption{Konkrétní volba parametrů algoritmu SIDP} \label{par2} \end{table} \section{Srovnání jednotlivých přístupů} V této sekci jsou porovnány popsané algoritmy při řízení systému \eqref{simple}. Systém je možné v případě potřeby vhodně posunou či přeškálovat, není tedy potřeba uvažovat jiné hodnoty referenčního signálu a počátečního výstupu. Kvalitu výsledného řízení posuzujeme z hlediska celkové ztráty vygenerované podél horizontu délky $N$. Očekávaným výsledek bylo, že v případě velké počáteční neznalosti systému bude duální řízení získané pomocí SIDP výhodnější oproti neduálním metodám. Ty zde zastupuje metoda certainty equivalent (CE) a metoda Cautious control (CC). Pro srovnání je uveden výsledek získaný klasickým numerickým přístupem k dynamickému programování (DP) převzatý z \cite{astrom1986dual}. Jak vyplývá z tvaru \eqref{ast}, jedná se o duální metodu. Očekává se, že výsledky získané pomocí klasického DP budou srovnatelné s výsledky získanými metodou SIDP. Nicméně jak bylo prověřeno v článku \cite{thompson2005stochastic}, srovnatelné výsledky dává SIDP již při desetinovém výpočetním čase. To je způsobeno tím, že se při použití metody SIDP diskretizuje jen ta část hyperstavu, která je nezbytná v další iteraci algoritmu. Pro efektivní diskretizaci tedy stačí výrazně méně bodů (ve výsledcích publikovaných v práci \cite{thompson2005stochastic} to bylo 64x64 bodů pro metodu DP, zatímco pro SIDP jen 20x20). \subsection{Kvantitativní srovnání} Řízení bylo testováno vzhledem k různým hodnotám počátečního odhadu $\theta$, tedy k různým hodnotám $(\hat{\theta}_0,P_0)$. Řídící horizont byl v první sérii experimentů zvolen jako $N_1=5$, v druhé $N_2=10$. Každá simulace byla opakována 1000x, uvedené hodnoty celkové ztráty jsou průměrem přes jednotlivé realizace. Pro každé jednotlivé opakování simulace byla skutečná hodnota parametru $\theta$ pro počáteční hodnoty $(\hat{\theta}_0,P_0)$ zvolena jako první nenulová realizace náhodné veličiny s rozdělením $N(\hat{\theta}_0,P_0)$. Pro takto vygenerovanou hodnotu $\theta$ byly postupně aplikovány výše popsané řídící algoritmy. Pro snížení vlivu náhodnosti při porovnání kvality řízení byly všechny realizace šumu (v rámci jednoho opakování simulace) v průběhu řízení jednotlivými algoritmy voleny stejně. Na obrázku \ref{5} jsou zachyceny výsledky pro délku řídícího horizontu $N=5$, počáteční hodnoty rozptylu $P_0=1$ a $P_0=10$ a různé hodnoty $\hat{\theta}_0$, konkrétně pro hodnoty $\{0,1,10\}$. První pozorovatelný výsledek pro případ $P_0=1$ je, že metoda CE poskytuje v průměru použitelné řízení pouze, pokud je parametr $\theta$ dostatečně vzdálen od nulové hodnoty. V ostatních případech je řízení silně závislé na apriorní informaci a náhodných realizacích šumu a v průměru je takové řešení nepoužitelné. Jak již bylo zdůvodněno výše, metoda CC dává pro nulový odhad na střední hodnotu, tedy pro $\hat{\theta}_t=0$, nulové řízení. Ztráta při řízení s apriorní informací $(0,P_0)$ je tedy díky absenci řízení ovlivněna pouze konkrétními realizacemi šumu. Oproti tomu při nenulové apriorní informaci $\hat{\theta}_0$ dosahovalo řízení pomocí CC průměrně nejmenší ztráty. Obě duální metody (SIDP a DP) poskytují v průměru dobré řízení pro všechny testované kombinace $(\hat{\theta}_0,P_0)$. V případě velké neurčitosti počáteční identifikace $\theta$ (případ $P_0=10$) mají regulátory srovnatelné výsledky. Pro delší horizont $N=10$ a přesnější apriorní informaci $P_0=1$ dosahovala metoda SIDP horších výsledků kvůli nepřesnostem způsobeným diskretizací. \begin{figure} \centering \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{N=5,P=1} \end{minipage} \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{N=5,P=10} \end{minipage} \caption{Výsledky simulace pro délku horizontu $N=5$, rozptyl $P_0=1$ a $P_0=10$ a různé střední hodnoty $\hat{\theta}_0$} \label{5} \end{figure} \begin{figure} \centering \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{N=10,P=1} \end{minipage} \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{N=10,P=10} \end{minipage} \caption{Výsledky simulace pro délku horizontu $N=10$, rozptyl $P_0=1$ a $P_0=10$ a různé střední hodnoty $\hat{\theta}_0$} \label{10} \end{figure} \subsection{Kvalitativní srovnání} Nastavení simulace je stejné jako v případě kvantitativního srovnání. Horizont je ve všech případech volen $N=5$, pro hodnotu $N=10$ byl výsledek obdobný. Dvojice obrázků \ref{1} zachycuje výsledky řízení metodou certainty equivalent při jednotlivých simulacích pro různé kombinace $(\hat{\theta}_0,P_0)$. Uvedené histogramy ukazují, že ač se v některých případech podařilo pomocí metody CE navrhnout řídící strategii s celkově nízkou ztrátou, ve většině případů bylo řízení neúspěšné a vedlo k vysoké ztrátě. Jak již bylo zmíněno výše, výjimku tvoří případy, kdy je parametr $\theta$ dostatečně vzdálen od nulové hodnoty. Tehdy je použití metody CE vhodné. \begin{figure} \centering \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{CE4} \end{minipage} \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{CE6} \end{minipage} \caption{Výsledky jednotlivých simulací při řízení metodou certainty equivalent} \label{1} \end{figure} Na obrázcích \ref{2} jsou výsledky pro metodou cautious control. Oproti metodě CE můžeme pozorovat absenci výrazně špatného řízení. Pro $\hat{\theta}_0=0$ je řízení nulové a výsledná ztráta tak závisí pouze na konkrétních realizacích šumu. Oproti tomu při $\hat{\theta}_0=10$ je řízení velmi kvalitní i pro vysoký počáteční rozptyl $P_0$. \begin{figure} \centering \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{CC4} \end{minipage} \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{CC6} \end{minipage} \caption{Výsledky jednotlivých simulací při řízení metodou cautious control} \label{2} \end{figure} Výsledky pro jednotlivé simulace při řízení metodou SIDP jsou na obrázku \ref{3}. Hlavní rozdíl oproti metodě CE je, stejně jako v případě CC, odbourání totálního selhání řízení. Charakteristickým rysem obou histogramů je šířka spektra dosažených ztrát. To je způsobeno opatrností při návrhu řídících zásahů a tedy i pomalejší identifikací parametru $\theta$. Naproti tomu je v mnoha případech dosaženo ztráty, která je vyšší než při použití řízení pomocí CE a CC. Algoritmus SIDP tedy dává v průměru dobré výsledky díky robustnosti vůči výrazně špatnému řízení. \begin{figure} \centering \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{SIDP4} \end{minipage} \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{SIDP6} \end{minipage} \caption{Výsledky jednotlivých simulací při řízení metodou SIDP} \label{3} \end{figure} Histogramy pro metodu klasického numerického přístupu k řešení DP zobrazuje \ref{4}. Ačkoliv kvantitativně vychází řízení pomocí SIDP a DP velmi podobně, při kvalitativním porovnání pomocí histogramů si můžeme všimnout, že řízení metodou DP častěji nabývá nižší celkové ztráty než SIDP, ale rovněž i častěji selhává a dosahuje tak vysoké ztráty. \begin{figure} \centering \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{DP4} \end{minipage} \begin{minipage}[c]{0.49\textwidth} \centering \includegraphics[width=\textwidth]{DP6} \end{minipage} \caption{Výsledky jednotlivých simulací při řízení metodou DP} \label{4} \end{figure} \subsection{Porovnání robustnosti} Kvalitu výsledného řízení ovlivňuje přesnost apriorní informace o neznámém parametru $\theta$, která je pro systém \eqref{simple} reprezentována veličinou $(\hat{\theta}_0,P_0)$. Následující simulace dokumentuje úspěšnost řídících algoritmů v případě, že apriorní informace příliš neodpovídá skutečnosti. Pro tyto účely byl parametr $\theta$ volen jako první nenulová realizace náhodné veličiny s rozdělením $N(1,10)$. Robustnost pak byla testována vzhledem k různé počáteční informaci o střední hodnotě $\hat{\theta}_0$ neznámého parametru $\theta$. Rozptyl byl ve všech simulacích položen $P_0=10$. Výsledky zachycuje obrázek \ref{rob}. Každá simulace byla opakována 1000x, uveden je průměr přes jednotlivé realizace. Metoda CE není s ohledem k předchozím výsledkům do srovnání zahrnuta. Pozorovaným výsledkem je především dobrá odolnost metody SIDP vůči špatné apriorní informaci $\hat{\theta}_0$. Výsledné řízení získané touto metodou dosahovalo dobré ztráty i v případě, kdy byla apriorní informace naprosto nepoužitelná ($\hat{\theta}_0=-10$). Ostatní řídící algoritmy (zejména pak DP) dosáhly v tomto případě vysoké průměrné ztráty. \begin{figure} \centering \includegraphics[width=0.5\textwidth]{rob} \caption{Porovnání robustnosti navržené řídící strategie vzhledem k nepřesnosti apriorní informace $\hat{\theta}_0$} \label{rob} \end{figure} \subsection{Časová náročnost SIDP} Pro neduální metody CE a CC je k dispozici analytický tvar řídící strategie, výpočet může být tedy prováděn prakticky v reálném čase. Strategie získaná algoritmem DP (převzata z \cite{astrom1986dual}) má rovněž analytický tvar. Její výpočet trval (dle výsledků \cite{thompson2005stochastic}) přibližně desetkrát déle, oproti použití SIDP za obdržení srovnatelných výsledků. Tento oddíl ilustruje náročnost výpočtu řídící strategie pomocí algoritmu SIDP v závislosti na délce řídícího horizontu a jemnosti diskretizace. Výstupem algoritmu je tabulka vypočtených řídících zásahů v jednotlivých bodech diskretizace. Samotné řízení se provádí vyhledáváním v této struktuře. Pro konkrétní bod hyperstavu $H_t$ se v tabulce vyhledá nejbližší napočtená hodnota a přečte se řídící zásah, který se následně použije. Jsou-li tedy předpočtené tabulky k dispozici, řízení může probíhat prakticky v reálném čase, závisí pouze na efektivitě vyhledávání v předpočtené struktuře. Při použití metody SIDP je časově náročná fáze přípravy tabulek, pomocí nichž se posléze řízení provádí. Diskutována je tedy tato část algoritmu. V jednotlivých simulacích, které měli prověřit výpočetní nároky metody SIDP, byl parametr $\theta$ volen jako první nenulová realizace náhodné veličiny s rozdělením $N(0,10)$. Tomu odpovídala rovněž apriorní informace $(\hat{\theta}_0,P_0)=(0,10)$. Doba výpočtu byla zkoumána v závislosti na délce řídícího horizontu $N$ a jemnosti diskretizace $n_{g}$ (tj. počtu bodů v diskretizaci každé dimenze hyperstavu $H_t$). Ostatní parametry zůstaly shodné s nastavením v tabulce \ref{par2}. Obdržené výsledky zachycuje tabulka \ref{hor}. Pro srovnání je rovněž uvedena ztráta, které takto navržené řízení dosáhlo. Jedná se opět o průměr z tisíce opakování. \begin{table} \centering \begin{tabular}{|c|c|c|c|} \hline $N$ & $n_{g}$ & $\bar{J}$ & $t$ $[s]$\\ \hline 5 & 5& 3,11 & 23\\ 5 & 10& 3,06 & 76\\ 5 & 15& 3,01 & 180\\ \hline 10& 5& 4,67 & 124\\ 10&10& 4,05 & 432\\ 10&15& 3,91 & 1032\\ \hline 15& 5& 5,60 & 294\\ 15&10& 5,12 & 1284\\ 15&15& 5,06 & 2808\\ \hline \end{tabular} \caption{Výpočetní čas $t$ algoritmu SIDP v závislosti na délce řídícího horizontu $N$ a jemnosti diskretizace $n_g$, $\bar{J}$ je průměrná ztráta} \label{hor} \end{table} Dosažené výsledky ukazují, že i pro delší řídící horizonty lze k návrhu použít metodu SIDP. Výpočetní doba však metodu zřejmě limituje pro výrazně delší časové horizonty. Jemnost diskretizace ovlivňovala průměrnou ztrátu vzhledem k ušetřenému výpočetnímu času relativně málo. Obzvláště pro krátký časový horizont ($N=5$) byla kvalita výsledného řízení srovnatelná i pro velmi hrubou diskretizaci (stačilo pouze 5x5 bodů). \subsection{Shrnutí výsledků simulace} Dle provedených simulací vychází při řízení systému \eqref{simple} s nenulovou počáteční informací o střední hodnotě $\theta$ nejlépe neduální metoda cautious control (CC). Dle kvantitativního srovnání dosahovala v tomto případě průměrně nejnižší ztráty a kvalitativní porovnání pak prokázalo jeho robustnost. Nicméně regulátor navržený pomocí metody CC není použitelný v případě $\hat{\theta}_0=0$, neboť tehdy poskytuje pouze nulové řízení. Duální metody (numerické řešení DP převzaté z \cite{astrom1986dual} a SIDP) dokázaly navrhnout úspěšné řízení pro libovolné hodnoty parametrů $(\hat{\theta}_0,P_0)$. Obě zmiňované metody pak dosahovaly v případě velké počáteční neznalosti ($P_0=10$) kvantitativně srovnatelných výsledků. Výraznější rozdíl byl pro rozptyl $P_0=1$. Tehdy si vedla lépe metoda DP. Metoda SIDP se ukázala jako robustnější, naproti tomu však častěji dosahovala mírně vyšší ztráty než DP. Chování obou duálních metod tak vychází průměrně velmi podobné. Nutno však připomenout výsledek z \cite{thompson2005stochastic}, že SIDP dosahuje srovnatelného výsledku s DP již při zhruba desetinovém výpočetním čase. Metoda certainty equivalent (CE) se ukázala použitelná pouze, pokud je parametr $\theta$ dostatečně vzdálen od nulové hodnoty. Podle kvalitativního zkoumání to bylo způsobeno tím, že v mnoha případech, ztráta výrazně překročila rozumnou mez. Přesto se občas i touto metodou podařilo navrhnout kvalitní řízení. Analýza výpočetní náročnosti algoritmu SIDP ukázala, že pro komplexnější úlohy by připadala v úvahu pouze v případě krátkých časových horizontů a nepříliš jemné diskretizace. Jako vhodné se tedy jeví použití metody SIDP v kombinaci s nějakou výpočetně efektivní metodou, například CC. V případě špatné identifikace systému by se použilo řízení navržené pomocí SIDP a jakmile by znalost systému překročila jistou zvolenou mez, k řízení by se použila neduální metoda. V takovém případě by totiž stačilo metodou SIDP řídit jen na krátkém časovém horizontu, konkrétně než by bylo dosaženo dostatečné znalosti systému. Dále by se již řídilo výpočetně efektivní metodou.