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}
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{equation}
J_N(I_N)=\tilde{g}_N(I_N)
\end{equation}
\begin{equation}
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{equation}

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(\theta, I_{t-1},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},w_{0:N-1})=g_N(y_N)+\sum_{t=0}^{N-1}g_t(y_t,u_t,w_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(\theta_t,I_t,y_{t+1},u_t), \qquad  t=1,\ldots,N-1.
\end{equation} 

Rovnici \eqref{the} můžeme považovat za rovnici systému \eqref{sys} pro stav $(\theta_t,I_t)$ a vstup $(y_{t+1},u_t)$ bez přítomnosti šumu. 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=\frac{P_tA_t}{A_t^TP_tA_t+Q_t}
\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{equation}
K_t=\frac{P_tA_t}{A_t^TP_tA_t+Q}
\end{equation}
\begin{equation}
\hat{\theta}_{t+1}=\hat{\theta}_t+K_t(x_{t+1}-f_t(x_t,u_t)-A_t\hat{\theta}_t)
\end{equation}
\begin{equation}
P_{t+1}=(I-K_tA_t)P_t
\end{equation}

Tato odhadovací procedura se nazývá Kalmanův filtr.