\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. Informace o stavu sytému získáváme prostřednictvím jeho výstupů. Řízení, tj. ovlivňování stavu systému, můžeme provádět  vstupů. V této práci budeme předpokládat, že výstupy charakterizují stav systému úplně. To nemusí být obecně pravda, postup při řízení s nedokonalými informacemi o stavu systému je uveden například v []. Obecně se dá ukázat, že úloha s řízení systému s neúplnými informacemi o stavu se dá ekvivalentně transformovat na úlohu řízení systému s úplnými informacemi o stavu.

Budeme-li předpokládat diskrétní povahu času můžeme systém v časovéme okamžiku $t$ popsat systémem 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 výstup v čase $t$, $u_t$ je vstup v čase t a $w_t$ je náhodná veličina.
 
Dále máme předepsánou ztrátovou funkci
\begin{equation}
g(x_0,\ldots,x_N,u_0,\ldots,u_{N-1},w_0,\ldots,w_{N-1})
\end{equation}

Posloupností řídících strategií $\pi=\{\mu_0,\ldots,\mu_{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} 

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

Ú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}

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é řešení 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_0,\ldots,x_N,u_0,\ldots,u_{N-1},w_0,\ldots,w_{N-1})=g_N(x_N)+\sum_{t=0}^{N-1}g_t(x_t,u_t,w_t)
\end{equation}

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

Takto specifikovaná úloha se dá řešit použitím dynamického programování []. 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 [].

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)$ a můžeme pro ni psát

\begin{equation}
J_N(x_N)=g_N(x_N)
\end{equation}
\begin{equation}
J_t(x_t)=\min_{u_t \in U(x_t)}\E_{w_t}\left\{g_k(x_t,u_t,w_t)+J_{t+1}(f_t(x_t,u_t,w_t))\right\} \qquad t=0,\ldots,N-1
\end{equation}

Pří řešení budeme postupovat od konce řídícího horizontu a postupně hledat $J_t(x_t)$. Potom libovolná $\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}
je optimální posloupnost rozhodnutí. Na systém rovnic \eqref{impl} se tedy můžeme dívat jako na implicitní předpis pro $\pi$.