DEFINICNI OBORY
\section{Formulace úlohy stochastického řízení}
Ústředním pojmem v teorii řízení je \emph{systém}. Systém je část světa, kterou chceme poznat či řídit. Budeme-li předpokládat diskrétní povahu času, stav systému v časovém okamžiku $t$ podél řídícího horizontu délky $N$ popisuje systém rovnic
\begin{equation}
\label{sys}
x_{t+1}=f_k(x_t,u_t,w_t), \qquad t=0,1,\ldots,N-1,
\end{equation}
kde $x_t$ je stav systému v čase $t$, $u_t$ je vstup v čase $t$ a $w_t$ náhodná veličina reprezentující přítomnost šumu. V této kapitole budeme předpokládat, že můžeme stav systému pozorovat. Případem neúplného pozorování se zabývá následující kapitola. 

V úloze řízení máme vždy předepsanou ztrátovou (resp. účelovou) funkci
\begin{equation}
g(x_{1:N},u_{0:N-1}).
\end{equation}

Označme $U(x_t)$ množinu přípustných řídících zásahů pro systém ve stavu $x_t$. Přípustnou řídící strategií $\pi=\mu_{0:N-1}$ budeme rozumět posloupnost zobrazení
\begin{equation}
\label{con}
\mu_t(x_t)=u_t \, \qquad t=0,1,\ldots,N-1,
\end{equation}
kde $u_t \in U(x_t)$ je přípustný řídící zásah.

Pro danou řídící strategii označme očekávanou ztrátu jako
\begin{equation}
\label{los}
J_\pi(x_0)=\E_{w_{0:N-1}}\left\{g(x_{1:N},\mu_{0:N-1}(x_{0:N-1}))\right\}.
\end{equation}

Úlohou je potom najít takovou $\pi^*$, pro kterou platí
\begin{equation}
J_{\pi^*}(x_0)=\min_{\pi \in \Pi}J_\pi(x_0),
\end{equation}
kde $\Pi$ značí množinu všech přípustných řídících strategií.

Celkově se tedy jedná o optimalizační úlohu nalézt takovou posloupnost funkcí \eqref{con}, která minimalizuje očekávanou ztrátovu \eqref{los} za podmínek \eqref{sys}.

\section{Použití dynamického programování při řešení úlohy stochastického řízení s aditivní ztrátou}
Úlohu stochastického řízení tak, jak byla definována v předchozí části, nelze obecně řešit. Je tedy potřeba úlohu nějak blíže specifikovat. V tomto směru je možné omezit se na nějaký speciální tvar ztrátové funkce \eqref{los}. Jako vhodné se ukazuje uvažovat tzv. aditivní tvar ztrátové funkce, tedy že existují funkce $g_t$ takové, že můžeme psát
\begin{equation}
\label{adi}
g(x_{1:N},u_{0:N-1})=\sum_{t=1}^{N-1}g_t(x_{t+1},u_t).
\end{equation}

Očekávanou ztrátu \eqref{los} potom můžeme přepsat do tvaru
\begin{equation}
J_\pi(x_0)=\E_{w_{0:N-1}}\left\{\sum_{t=0}^{N-1}g_t(x_{t+1},\mu_t(x_t))\right\}.
\end{equation}

Takto specifikovaná úloha se dá řešit použitím dynamického programování \cite{bellman1957dynamic}. Dynamické programování je přístup k řešení optimalizačních úloh, na které se můžeme dívat jako na posloupnost rozhodnutí, pro které platí tzv. princip optimality.  Ten říká, že optimální posloupnost rozhodnutí má tu vlastnost, že pro libovolný počáteční stav a rozhudnutí musí být všechna následující rozhodnutí optimální vzhledem k výsledkům rozhodnutí prvního. Důkaz, že pro ztrátu tvaru \eqref{adi} platí princip optimality je snadný a lze ho nalézt například v \cite{bertsekas1995dynamic}.

Při řešení úlohy stochastického řízení s aditivní ztrátou je tedy možné postupovat, jak je u úloh řešených pomocí dynamického programování zvykem. Minimální hodnotu střední ztráty od okamžiku $t$ do $N$ v závislosti na $x_t$ označíme $J_t(x_t)$. Můžeme pro ni psát
\begin{gather}
J_N(x_N)=0\\
J_t(x_t)=\min_{u_t \in U(x_t)}\E_{w_t}\left\{g_k(x_{t+1},u_t)+J_{t+1}(x_{t+1})\right\} \qquad t=0,\ldots,N-1.
\end{gather}

Pří řešení budeme postupovat od konce řídícího horizontu a postupně hledat $J_t(x_t)$. Pro výpočet $x_{t+1}$ se použije rovnice \eqref{sys}. 
Libovolnou řídící strategii $\pi=\{\mu_0,\ldots,\mu_{N-1}\}$, která splňuje systém rovnic
\begin{equation}
\label{impl}
J_t(x_t)=\E_{w_t}\left\{g_k(x_t,\mu_t(x_t),w_t)+J_{t+1}(f_t(x_t,\mu_t(x_t),w_t))\right\} \qquad t=0,\ldots,N-1
\end{equation}
pak nazveme optimální posloupností rozhodnutí.