Při aplikaci matematického modelování na řešení nějaké konkrétní úlohy se obvykle potýkáme s problémem, jak určit konstanty, které daný model určují. Zkoumáme-li například nějaký fyzikální systém, z rozboru fyzikálních zákonitostí obvykle známe tvar rovnic, které určují jeho vývoj v čase, nicméně počáteční podmínky či parametry, které v rovnicích vystupují a jsou pro daný systém charakteristické, můžeme získat pouze nepřímo, obvykle měřením vhodných veličin. Modifikací úlohy stochastického řízení pro případ přítomnosti neznámých parametrů se zabývá tato kapitola. \section{Formulace úlohy stochastického řízení s nepřesnými daty} Informace o stavu systému $x_t$ v čase $t$ získáváme pomocí výstupu $y_t$, který je dán jako \begin{equation} \label{poz} y_0=h_0(x_0,v_0),\qquad y_t=h_t(x_t,u_{t-1},v_t), \qquad t=1,\ldots,N-1, \end{equation} kde $v_t$ je náhodná veličina charakterizující chybu měření. Počáteční stav $x_0$ je dán rozdělením pravděpodobnosti $P^{x_0}$ a další vývoj systému určuje soustava \eqref{sys}. Informace, které jsou v průběhu řízení k dispozici je zvykem psát ve formě tzv. \emph{informačního vektoru}, který má tvar \begin{equation} I_0=y_0,\qquad I_t=(y_{0:t},u_{0:t-1}), \qquad t=1,\ldots,N-1. \end{equation} Řídící strategie $\pi=\mu_{0:N-1}$ nyní nemůže explicitně záviset na stavu systému, protože máme k dispozici pouze informační vektor. Hledáme tedy \begin{equation} \label{icon} \mu_t(I_t)=u_t \, \qquad t=0,1,\ldots,N-1, \end{equation} PRIPUSTNE STRATEGIE Úkolem je najít přípustnou strategii \eqref{icon}, která by minimalizovala očekávanou ztrátu \begin{equation} \label{ilos} J_\pi=\E_{\substack{x_0,\ w_{0:N-1},\\ v_{0:N-1}}}\left\{g_N(x_N)+\sum_{t=0}^{N-1}g_t(x_t,\mu_t(I_t),w_t)\right\}, \end{equation} za podmínek \eqref{sys} a \eqref{poz}. \section{Převod na úlohu s úplnými daty} Protože v čase $t$ nemáme k dispozici přímo stav systému $x_t$, ale pouze informační vektor $I_t$, nemůžeme použít postup z předchozí kapitoly. Před tím je potřeba úlohu vhodně transformovat. Za tímto účelem zapíšeme informační vektor ve tvaru \begin{equation} \label{nep} I_0=y_0,\qquad I_{t+1}=(I_t,u_t,y_{t+1}), \qquad t=1,\ldots,N-1. \end{equation} Na tuto rovnost můžeme pohlížet jako na rovnice systému \eqref{sys}. Stav v čase $t$ je nyní $I_t$, vstup $u_t$ a $y_{t+1}$ náhodná veličina podmíněná $I_t$ a $u_t$ přes \eqref{poz}. Dále přejdeme k nové ztrátové funkci, kterou definujeme jako \begin{gather} \tilde{g}_N(I_N)=\E_{x_N}\left\{g_N(x_N)|I_N\right\}, \\ \tilde{g}_t(I_t,u_t,w_t)=\E_{x_t}\left\{g_t(x_t,u_t,w_t)|I_t,u_t\right\}, \qquad t=1,\ldots,N-1. \end{gather} Očekávanou ztrátu nyní můžeme psát ve tvaru \begin{gather} J_N(I_N)=\tilde{g}_N(I_N)\\ J_t(I_t)=\min_{u_t \in U_t}\E_{w_t,y_{t+1}}\left\{\tilde{g}_t(I_t,u_t,w_t)+J_{t+1}((I_t,u_t,y_{t+1}))|I_t,u_t\right\} \qquad t=0,\ldots,N-1 \end{gather} Tato úloha již může být řešena pomocí dynamického programování. Pří řešení budeme postupovat od konce řídícího horizontu a postupně hledat $J_t(I_t)$. Potom libovolná $\pi=\{\mu_0,\ldots,\mu_{N-1}\}$, která nabývá minimální očekávané ztráty $J_0(y_0)$ je optimální posloupnost rozhodnutí. \section{Řízení systému s neznámými parametry} Pokud rovnice systému obsahuje nějaký neznámý parametr $\theta$, můžeme využít znalosti řešení problému s neúplnými informacemi. Hledané řízení by mělo nejen minimalizovat aktuální ztrátu, ale rovněž získat o systému co nejvíce informací pro minimalizaci budoucích ztrát. Tento postup se nazývá duální řízení [ref]. V úloze duálního řízení máme výstupy systému $y_t$ popsány jako \begin{equation} \label{poz2} y_0=h_0(\theta,v_0),\qquad y_t=h_t( I_{t-1},\theta,u_{t-1},v_t), \qquad t=1,\ldots,N-1, \end{equation} Ztrátová funkce je nyní \begin{equation} \label{los2} g(y_{0:N},u_{0:N-1},v_{0:N-1})=g_N(y_N)+\sum_{t=0}^{N-1}g_t(y_t,u_t,v_t). \end{equation} Předpokládejme dále, že o parametru $\theta$ máme nějakou apriorní informaci $\theta_0$ a odhadovací proceduru tvaru \begin{equation} \label{the} \theta_{t+1}=f_t(I_t,\theta_t,u_t,y_{t+1}), \qquad t=1,\ldots,N-1. \end{equation} Rovnici \eqref{the} můžeme podobně jako \eqref{nep} považovat za rovnici systému \eqref{sys} pro stav $(I_t, \theta_t)$, vstup $u_t$ s šumem $y_{t+1}$. Do rovnice \eqref{poz2} dosadíme za $\theta$ jeho aktuální odhad, tedy \begin{equation} \label{poz3} y_0=h_0(\theta_0,v_0),\qquad y_t=h_t(\theta_{t-1}, I_{t-1},u_{t-1},v_t), \qquad t=1,\ldots,N-1, \end{equation} Rovnice \eqref{the}, \eqref{poz3} a \eqref{los2} představují úlohu stochastického řízení s nepřesnými daty. \subsection{Bayesovské učení} Přímočarý postup, jak pro neznámý parametr $\theta$ získat aposteriorní hustotu pravděpodobnosti $f(\theta_{t+1}|I_t)$, je-li k dispozici apriorní hustota pravděpodobnosti $f(\theta_t)$ a informační vektor $I_t$, je aplikace Bayesova vzorce \begin{equation} \label{bay} f(\theta_{t+1}|I_t)=\frac{f(I_t|\theta_{t+1})f(\theta_t)}{\int f(I_t|\theta_{t+1})f(\theta_t)\mathrm{d}\theta_t} \end{equation} Rekurzivní použití vzorce \eqref{bay} pro odhad parametru $\theta$ je postup Bayesovského učení [ref]. Při konkrétním vypočtu má však tento přístup dvě nevýhody: 1) nikdy nemáme k dispozici $f(I_t|\theta_{t+1})$, ale pouze aproximaci z měření $I_t$ a 2) aposteriorní hustota pravděpodobnosti nemusí mít analytické vyjádření, což její použití v dalším výpočtu komplikuje. \subsection{Kalmanův filtr} Pokud v rovnicích \eqref{poz2} popisujících výstup systému vystupuje gausovký šum a neznámý parametr je separován jako lineání člen, situace se značně zjednoduší. Dle předpokladu má výstup v čase $t$ tvar \begin{equation} \label{sys2} y_{t+1}=\tilde{h}_t(I_t,u_t)+A_t(I_t,u_t))\theta_t+v_{t+1}, , \qquad t=0,\ldots,N-1. \end{equation} kde $\tilde{h}_t(I_t,u_t)$, resp. $A_t(I_t,u_t)$ je známá funkce, resp. matice závisící na informačním vektoru a aktuální vstupu. Dále předpokládáme gausovské rozložení šumu $v_{t+1}$ se známým rozptylem \begin{equation} v_{t+1}\sim N(0,Q_{t+1}), \end{equation} gausovské rozložení odhadu neznámého parametru $\theta_t$ a jejich nekorelovanost, tedy \begin{gather} \theta_t\sim N(\hat{\theta},P_t),\\ \cov(v_{t+1},\theta)=0. \end{gather} Budeme požadovat, aby odhadovací procedura \eqref{the} střední hodnoty parametru $\theta_{t+1}$ byla tvaru lineární opravy střední hodnoty $\theta_t$ úměrné neurčitosti v systému. Tedy že \begin{equation} \label{opr} \hat{\theta}_{t+1}=\hat{\theta}_t+K_t(y_{t+1}-\tilde{h}_t(I_t,u_t)-A_t\hat{\theta}_t), \end{equation} kde $K_t$ je neznámá matice, kterou určíme z požadavku minimalizace výsledné matice rozptylu $P_{t+1}$. Pro ni jako funkci $K_t$ můžeme psát \begin{equation} P_{t+1}(K_t)=\E[(\theta-\hat{\theta}_{t+1})(\theta-\hat{\theta}_{t+1})^T]. \end{equation} Dosazením za $\hat{\theta}_{t+1}$ z \eqref{opr} a za $y_t$ ze \eqref{sys2} a úpravou dostaneme (pro libovolnou matici $B$ budeme pro lepší čitelnost namísto $BB^T$ psát zkráceně $B^2$) \begin{align} P_{t+1}(K_t)&=\E_{\theta,v_t}\left\{(\theta-\hat{\theta}_t-K_t(y_{t+1}-\tilde{h}_t(I_t,u_t)-A_t\hat{\theta}_t))^2\right\} \nonumber \\ &=\E_{\theta,v_t}\left\{((I-K_tA_t)(\theta-\hat{\theta}_t)-K_tv_t)^2\right\} \nonumber \\ &=(I-K_tA_t)\E\left\{(\theta-\hat{\theta_t})^2\right\}(I-K_tA_t)^T-(I-K_tA_t)\cov(\theta,v_t)K_t^T-\nonumber \\ &-K_t\cov(\theta,v_t)(I-K_tA_t)^T+K_t\E\left\{v_t^2\right\}K_t^T. \end{align} Použitím definice $P_t$, $Q_t$ a předpokladu $\cov(\theta,v_t)=0$ máme \begin{equation} \label{Pt+1} P_{t+1}(K_t)=(I-K_tA_t)P_t(I-K_tA_t)^T+K_tQ_tK_t^T. \end{equation} Protože požadujeme minimální rozptyl odhadu $\hat{\theta}_{t+1}$, určíme $K_t$ z rovnice \begin{equation} \frac{\partial \tr( P_t)}{\partial K_t}=0. \end{equation} K provedením derivace použijeme vzorce*ODVOZENI BUDE ASI AZ V DODATKU* \begin{gather} \frac{\partial\tr(MXN)}{\partial X}=M^TN^T,\\ \frac{\partial\tr(MXNX^TO)}{\partial X}=M^TO^TXN+OMXN, \end{gather} kde $M,N$ a $O$ jsou konstantní matice. Tím získáme lineární rovnici pro $K_t$ tvaru \begin{equation} -P_t^TA_t-P_tA_t+K_tA_tP_tK_t+K_tA_t^TP_tK_t+2Q_tK_t=0, \end{equation} která má řešení \begin{equation} \label{Kt} K_t=P_tA_t(A_t^TP_tA_t+Q_t)^{-1} \end{equation} Dosazením \eqref{Kt} do \eqref{Pt+1} po úpravě dostaneme \begin{equation} \label{Pt+12} P_{t+1}=(I-K_tA_t)P_t \end{equation} Celkově tedy od původního odhadu parametru $N(\hat{\theta}_t,P_t)$ k novému $N(\hat{\theta}_{t+1},P_{t+1})$ přejdeme pomocí \begin{gather} K_t=P_tA_t(A_t^TP_tA_t+Q_t)^{-1}\\ \hat{\theta}_{t+1}=\hat{\theta}_t+K_t(y_{t+1}-\tilde{h}_t(I_t,u_t)-A_t\hat{\theta}_t),\\ P_{t+1}=(I-K_tA_t)P_t. \end{gather} Tato odhadovací procedura se nazývá Kalmanův filtr [ref].