V technické praxi, stejně jako běžném životě, jsme nuceni dělat rozhodnutí. Ať už se jedná o řízení výrobní linky či hledání optimálního spojení mezi dvěma místy, naše rozhodnutí vycházejí ze znalostí, které o světě máme. Chceme-li činit úspěšná rozhodnutí, je třeba vyřešit dvě úlohy: 1) řízený objekt co nejlépe poznat a 2) dosáhnout cíle, který jsme si vytyčili. Tyto dva úkoly jsou však většinou v rozporu: systém se nejlépe pozná, když se nechová podle našich požadavků. V reálném světě navíc existují náhodné jevy, poruchy a nepředvídané situace, které jednotně nazýváme neurčitostí. Tato skutečnost způsobuje, že naše znalost systému není nikdy dokonalá.

Za účelem řízení systémů, které jsou buď natolik složité, že jejich deterministický popis je nemožný, nebo obsahují náhodné prvky již ze své podstaty, vzniklo stochastické řízení, nebo-li optimální řízení za neurčitosti. Cílem stochastického řízení je minimalizovat velikost  odchylek systému od požadovaného stavu optimalizací řídících zásahů.

Jeden z přístupů k řešení tohoto probému je dynamické programování, které navrhl americký matematik Richard Bellman \cite{bellman1957dynamic}. Jedná se o metodu, která s využitím zpětného chodu minimalizuje hodnotu očekávané ztátové funkce. 

Přímá aplikace tohoto postupu je však bohužel i u poměrně jednoduchých značně komplikována složitostí výpočtu.  K řešení úlohy je proto vhodné požít aproximačních metod.

V šedesátých letech 20. století navrhl Alexander Aronovich Feldbaum řešení použitím takzvaného duálního řízení \cite{feldbaum1965optimal}. Hlavní myšlenkou tohoto přístupu bylo, že řízení musí nejen minimalizovat aktuální ztrátu, ale rovněž musí získat o systému co nejvíce informací pro minimalizaci budoucích ztrát.

Další z možných aproximačních metod je použití stochastické iterativní aproximace řešení. To spočívá v použití iterativního dynamického programování a simulační metody Mante Carlo. Tento přístup byl popsán v článku \cite{thompson2005stochastic}. Podstatou algoritmu je hledání řešení úlohy dynamického programování iterativně, za použití metody Monte Carlo pro simulaci neurčitosti v systému. 

Tato  bakalářská práce si klade následující cíle
\begin{itemize}
\item Formulace úlohy stochastického řízení
\item Řešení úlohy stochastického řízení s aditivní ztrátouvou funkcí pomocí dynamického programování
\item Formulace úlohy stochastického řízení s neúplným pozorováním a její převedení na úlohu s úplnými znalostmi systému
\item Představení některých suboptimálních přístupů k úloze stochastického řízení
\item Aplikace a porovnání zmíněných metod k nalezení optimální strategie na jednoduchém systému
\item Na základě získaných výsledků diskutovat výhody a nevýhody algoritmu a jeho použitelnost při aplikaci na další úlohy.
\end{itemize}

Cílem práce je seznámení se s problémy, které aproximativní řešení úlohy stochastického řízení přináší. Přínosem je pak vytvoření konkrétní implementace algoritmu stochastického iterativního dynamického programování a jeho srovnání s jinými algoritmy. To umožňuje získat přehled o kladných a záporných stránkách jednotlivých přístupů a posoudit jejich aplikovatelnost na reálné úlohy. Očekávaným výsledkem srovnání algoritmu iterativního dynamického programování s jinými, v literatuře běžnějšími, je větší časová náročnost výpočtu a lepší robustnost a přesnost výsledného řízení.