#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
\lyxformat 345
\begin_document
\begin_header
\textclass scrreprt
\use_default_options true
\language czech
\inputencoding auto
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100

\graphics default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize a4paper
\use_geometry false
\use_amsmath 1
\use_esint 1
\cite_engine basic
\use_bibtopic false
\paperorientation portrait
\secnumdepth 2
\tocdepth 2
\paragraph_separation indent
\defskip medskip
\quotes_language german
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\author "" 
\author "" 
\end_header

\begin_body

\begin_layout Standard
\align left
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
thispagestyle{empty}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\align center

\size large
České vysoké učení technické v Praze
\end_layout

\begin_layout Standard
\align center

\size large
Fakulta jaderná a fyzikálně inženýrská
\end_layout

\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset


\end_layout

\begin_layout Standard
\align center
Katedra matematiky
\end_layout

\begin_layout Standard
\align center
Obor: Inženýrská informatika
\end_layout

\begin_layout Standard
\align center
Zaměření: Softwarové inženýrství
\end_layout

\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset


\end_layout

\begin_layout Standard
\align center
\begin_inset Graphics
	filename logo_cvut.eps
	lyxscale 20
	scale 20

\end_inset


\end_layout

\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset


\end_layout

\begin_layout Standard
\align center

\size larger
\color black
Iterativní lokální dynamické programování pro návrh duálního řízení
\end_layout

\begin_layout Standard
\begin_inset VSpace smallskip
\end_inset


\end_layout

\begin_layout Standard
\align center

\size larger
\color black
Iterative local dynamic programming for dual control
\end_layout

\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset


\end_layout

\begin_layout Standard
\align center

\size largest
\color black
BAKALÁŘSKÁ
\size larger
 
\size largest
PRÁCE
\end_layout

\begin_layout Standard
\begin_inset VSpace vfill
\end_inset


\end_layout

\begin_layout Standard
\align center
Vypracoval: Michal Vahala
\end_layout

\begin_layout Standard
\align center
Vedoucí práce: Ing.
 Václav Šmídl, Ph.D.
\end_layout

\begin_layout Standard
\align center
Rok: 2010
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
thispagestyle{empty}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
zadání práce
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
thispagestyle{empty}~
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset VSpace vfill
\end_inset


\end_layout

\begin_layout Subsubsection*
Prohlášení
\end_layout

\begin_layout Standard
Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil
 jsem pouze podklady uvedené v přiloženém seznamu.
\end_layout

\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset


\end_layout

\begin_layout Standard
\noindent
\align left
V Praze dne \SpecialChar \ldots{}
\SpecialChar \ldots{}
\SpecialChar \ldots{}
\SpecialChar \ldots{}
\SpecialChar \ldots{}
 
\begin_inset space \hfill{}
\end_inset

\SpecialChar \ldots{}
\SpecialChar \ldots{}
\SpecialChar \ldots{}
\SpecialChar \ldots{}
\SpecialChar \ldots{}
\SpecialChar \ldots{}

\end_layout

\begin_layout Standard
\noindent
\align block
\begin_inset space \hfill{}
\end_inset

Michal Vahala
\begin_inset ERT
status open

\begin_layout Plain Layout

~~
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
thispagestyle{empty}~
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset VSpace vfill
\end_inset


\end_layout

\begin_layout Subsubsection*
Poděkování
\end_layout

\begin_layout Standard
Děkuji \SpecialChar \ldots{}
 za \SpecialChar \ldots{}

\end_layout

\begin_layout Standard
\begin_inset VSpace defskip
\end_inset


\end_layout

\begin_layout Standard
\begin_inset space \hfill{}
\end_inset

Michal Vahala
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
thispagestyle{empty}
\end_layout

\end_inset


\end_layout

\begin_layout Description

\emph on
Název
\begin_inset space \space{}
\end_inset

práce: 
\emph default
\color black

\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\begin_inset Newline newline
\end_inset

Iterativní lokální dynamické programování pro návrh duálního řízení
\end_layout

\begin_layout Description
\begin_inset VSpace defskip
\end_inset


\end_layout

\begin_layout Description

\emph on
Autor:
\emph default
 Michal Vahala
\end_layout

\begin_layout Description

\emph on
Obor:
\emph default
 Inženýrská informatika
\end_layout

\begin_layout Description

\emph on
Druh
\begin_inset space \space{}
\end_inset

práce:
\emph default
 Bakalářská práce
\end_layout

\begin_layout Description

\emph on
Vedoucí
\begin_inset space \space{}
\end_inset

práce:
\emph default
 Ing.
 Václav Šmídl, Ph.D.
\end_layout

\begin_layout Description

\emph on
Konzultant:
\emph default
 ---
\end_layout

\begin_layout Description

\emph on
Abstrakt:
\emph default
 abstrakt
\end_layout

\begin_layout Description

\emph on
Klíčová
\begin_inset space \space{}
\end_inset

slova:
\emph default
 klíčová slova
\end_layout

\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset


\end_layout

\begin_layout Description

\emph on
Title: 
\emph default
\color black

\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\begin_inset Newline newline
\end_inset

Iterative local dynamic programming for dual control
\end_layout

\begin_layout Description
\begin_inset VSpace defskip
\end_inset


\end_layout

\begin_layout Description

\emph on
Author:
\emph default
 Michal Vahala
\end_layout

\begin_layout Description

\emph on
Abstract:
\emph default
 abstrakt
\end_layout

\begin_layout Description

\emph on
Key
\begin_inset space \space{}
\end_inset

words:
\emph default
 klíčová slova
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
thispagestyle{empty}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset CommandInset toc
LatexCommand tableofcontents

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
thispagestyle{empty}
\end_layout

\end_inset


\end_layout

\begin_layout Chapter*
Seznam použitého označení
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
iLDP iterativní lokální dynamické programování
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
LQG lineáně kvadraticky gaussovské řízení (Linear-Quadratic-Gaussian)
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
iLQG iterativní LQG
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Addchap
Úvod
\end_layout

\begin_layout Standard
Skutečný svět se nikdy nechová přesně podle matematických rovnic, protože
 ty jsou vždy jen jakýmsi zjednodušením nebo přiblížením.
 V reálném světě se vyskytuje mnoho neznámých veličin, poruch, nepředvídatelných
 vlivů a ani naše měřící přístroje nejsou přesné.
 Chceme-li efektivně řídit nějaký systém, musíme si být těchto vlivů vědomi
 a zahrnout je do našich uvažování.
 Situace se však ještě může zkomplikovat, když jeden nebo více parametrů
 neznáme.
 To může nastat z různých důvodů, například příšlušné čidlo nebo měřící
 přístroj nemůžeme nebo nechceme (například z důvodů vysoké ceny) instalovat
 a tedy o velikosti příslušné hodnoty můžeme jen usuzovat ze známých dat.
 Ještě složitější situace nastane, když uvažujeme neznámý parametr proměnný.
 
\end_layout

\begin_layout Standard

\color black
Máme tedy dva cíle, musíme systém co nejlépe řídit a současně se snažit
 o co nejpřesnější určení neznámých parametrů.
 Tyto dva postupy jsou však obecně v rozporu, protože parametry se nejlépe
 určují, když je systém vybuzen a nechová se optimálně.
 Právě tento rozpor a nalezení kompromisu, který povede k jeho řešení, je
 podstatou duálního řízení.
\end_layout

\begin_layout Standard

\color black
Pro přiblížení ilustrujme problém na jednoduchém příkladě: Uvažujme elektromotor
 s možností řídit napětí na vstupu motoru a měřit příslušné proudy.
 Jedná se tedy o systém se dvěma vstupy a dvěma výstupy.
 Cílem našeho řízení je dosažení požadovaných otáček rotoru.
 Ovšem otáčky a ani polohu hřídele měřit nemůžeme.
 Máme o nich však znalost v podobě středních hodnot a variancí.
 Naší snahou je co nejpřesněji určit hodnotu otáček a polohy hřídele a současně
 systém řídit tak, abychom dosáhly požadované hodnoty otáček.
 Tyto dvě snahy jsou ale v rozporu, protože nejvíce informací o neznámých
 parametrech získáme, když je motor vybuzen.
 Tedy například se prudce rozjíždí, brzdí, rychle mění rychlost nebo kmitá,
 což se projevuje v proudech, které máme možnost měřit.
 Ale právě vybuzení motoru je v rozporu se snahou o dobré řízení, protože
 chyba, které se dopustíme je většinou nepřijatelná.
 Naopak, když se systém snažíme řídit, bez dostatečné znalosti jeho parametrů,
 s velkou pravděpodobností selžeme.
\end_layout

\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset


\end_layout

\begin_layout Standard
Námětem této bakalářské práce je algoritmus 
\emph on
iterativního lokálního dynamického programování 
\emph default
(iLDP) jako jedna z metod pro řešení problému duálního řízení.
 Algoritmus byl navržen a popsán v článku 
\color black

\begin_inset CommandInset citation
LatexCommand cite
key "TodorovTassaILDP"

\end_inset


\color inherit
.
 Jak už prozrazuje název algoritmu, jedná se o iterační metodu.
 Tedy stručně řečeno, algoritmus vyjde od nějakého počátečního řízení, které
 je ovšem nutno dodat jako apriorní informaci a v cyklech (iteracích) tuto
 řídící strategii vylepšuje, za účelem získání řízení optimálního.
 Dále se jedná o metodu lokální, což v můžeme jednoduše chápat tak, že kandidáti
 na 
\begin_inset Quotes gld
\end_inset

vylepšení
\begin_inset Quotes grd
\end_inset

 řízení jsou vybírání z jistého, zatím blíže nespecifikovaného, okolí původní
 řídící strategie.
 Nakonec algoritmus využívá obecné schéma dynamického programování, které
 bude blíže popsáno v dalším textu.
\end_layout

\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset


\end_layout

\begin_layout Standard
Cílem této práce bylo seznámit se s obecnou tématikou duálního řízení a
 detailněji s konkrétním algoritmem - iterativním lokálním dynamickým programová
ním.
 Následně tento algoritmus implementovat a aplikovat na jednoduchý systém.
 Otestovat jeho funkčnost a schopnost řídit a to i v porovnání s jinými
 metodami a algoritmy.
 Dále se pokusit implementovat algoritmus iLDP pro složitější systém blíže
 praktické aplikaci, konkrétně se jedná o synchronní motor s permanentními
 magnety.
 Otestovat funkčnost a případně srovnat s dostupnými výsledky jiných řídících
 strategii
\emph on
\color blue
.

\emph default
\color inherit
 Na základě získaných výsledků posoudit výhody a nevýhody algoritmu a jeho
 použitelnost na další úlohy.
\end_layout

\begin_layout Standard
Hlavním přínosem práce je otestování vlastností algoritmu iLDP na jiných
 problémech, než pro které byla vyvinuta autory.
 Objevení kladů a záporů algoritmu a dále díky srovnání s jinými algoritmy
 získání přehledu, pro které praktické aplikace je vhodnější respektive
 méně vhodný než srovnávané metody.
 Prvotní očekávání pro srovnání algoritmu iLDP a řízení získaného pomocí
 principu separace jsou, že iLDP bude pomalejší co do výpočetního času,
 avšak přesnost získaných výsledků bude lepší.
 Dále je očekávána nezanedbatelná závislost výsledného řízení na volbě použitých
 aproximací a apriorní řídící strategie.
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Chapter
Teorie duálního řízení
\end_layout

\begin_layout Section
Základní pojmy
\end_layout

\begin_layout Subsection
Systém a řízení
\end_layout

\begin_layout Subsubsection
Systém
\end_layout

\begin_layout Standard
Základním pojmem, se kterým budeme v textu pracovat je 
\emph on
systém
\emph default
.
 Obdobně jako základní pojmy zejména v matematických vědách (bod, množina,
 algoritmus,\SpecialChar \ldots{}
), nelze tento pojem exaktně definovat.
 Systém si můžeme představit jako jistý 
\begin_inset Quotes gld
\end_inset

objekt
\begin_inset Quotes grd
\end_inset

, často bude reprezentovat objekt skutečného světa.
 Hlavní vlastností systému je, že má zpravidla jeden nebo více vstupů, pomocí
 kterých mu můžeme předávat informaci -- řízení a jeden nebo více výstupu,
 což jsou hodnyty, které pozorujeme.
 Co se odehrává uvnitř systému však obecně nevíme.
 Řízení, které budeme dodávat systému na vstup bude v textu značeno písmenem
 
\emph on

\begin_inset Formula $u$
\end_inset


\emph default
.
 Analogicky bude písmenem 
\emph on

\begin_inset Formula $y$
\end_inset


\emph default
 označena pozorovaná hodnota na výstupu.
 
\end_layout

\begin_layout Standard
Chování systému, to je jakým výstupem reaguje na vstup, popisujeme dle 
\begin_inset CommandInset citation
LatexCommand cite
key "MelicharLS"

\end_inset

 obecně diferenciální rovnicí respektive soustavou diferenciálních rovnic
 vyšších řádů.
 Jedná se o takzvaný 
\color black
vnější popis
\color inherit
.
 Tento druh popisu, pohlíží na systém 
\begin_inset Quotes gld
\end_inset

zvenku
\begin_inset Quotes grd
\end_inset

 bez skutečné znalosti, co se odehrává uvnitř systému a jaká je jeho podstata.
 Vnější popis obvykle obdržíme při odvození modelu systému z fyzikálních
 rovnic.
 Omezení, která z něj plynou, se snažíme odstranit zavedením 
\color black
vnitřního (stavového) popisu
\color inherit
, kdy (soustavu) diferenciálních rovnic vyššího řádu, převedeme vhodnou
 volbou nových proměnných 
\emph on

\begin_inset Formula $x$
\end_inset


\series bold
 
\series default
\emph default
na soustavu diferenciálních rovnic prvního řádu.
 Proměnné 
\emph on

\begin_inset Formula $x$
\end_inset


\series bold
 
\series default
\emph default
označujeme jako 
\color black
stavové proměnné
\color inherit
.
\end_layout

\begin_layout Subsubsection
Řízení
\end_layout

\begin_layout Standard
Naším úkolem je pro zadaný systém nalézt regulátor, tedy obecně řízení 
\emph on

\begin_inset Formula $u$
\end_inset


\emph default
 takové, které dodané na vstup způsobí, že systém se bude 
\begin_inset Quotes gld
\end_inset

chovat podle našich požadavků
\begin_inset Quotes grd
\end_inset

.
 To zpravidla znamená, že hodnoty výstupní veličiny 
\series bold
\emph on

\begin_inset Formula $y$
\end_inset


\series default
\emph default
 dosáhnou (nebo se přiblíží s danou přesností) požadované hodnotě v podobě
 referenčního signálu, který regulátor dostavá z vnějšku a současně dodrží
 předem stanovená omezení.
 Práce je ovšem zaměřena na řízení složitějších systémů, u kterých jeden
 nebo více parametrů neznáme přesně.
 Tedy některý (více) z koeficientů v rovnicích popisujících systém není
 znám.
 Máme však o něm jistou statistickou informaci v podob
\color black
ě jeho
\color inherit
 očekávané hodnoty a variance.
 Dále je-li systém nelineární, jsou výsledné rovnice příliš složité a tedy
 analyticky neřešitelné.
 Pro numerické řešení, jsou rovnice systému zpravidla převáděny do diskrétního
 tvaru.
\end_layout

\begin_layout Standard
Řízení obecně dělíme podle 
\begin_inset CommandInset citation
LatexCommand cite
key "MelicharLS"

\end_inset

 na dva typy: 
\emph on
Přímovazební řízení
\emph default
 užíváme v případě, kde je k dispozici přesný matematický model systému
 a je vyloučen výskyt neurčitostí.
 Toto řízení nevyužívá žádné zpětné informace od systému a regulátor pracuje
 pouze s referenčním signálem.
 Naproti tomu 
\emph on
zpětnovazební řízení
\emph default
 využívá i informace o skutečném výstupu systému a snaží se tak eliminovat
 chyby v důsledku neurčitostí a chyb způsobenych nepřesností modelu.
\end_layout

\begin_layout Subsubsection
Duální řízení
\end_layout

\begin_layout Standard
Chceme navrhnout regulátor pro zadaný systém s neznámými parametry.
 Úkoly jsou tedy dva: 1.

\emph on
 opatrnost
\emph default
 - efektivně systém řídit a 2.

\emph on
 buzení 
\emph default
- určit neznáme parametry.
 Tyto dva přístupy jsou ale obecně v rozporu.
 Abychom mohli systém dobře řídit, potřebujeme znát parametry co nejpřesněji.
 Nejvíce informací o parametrech však získáme, když je systém vybuzen a
 nechová optimálně.
 Tyto pojmy není snadné kvantifikovat, ale velmi často se projevují v konkrétníc
h řídících schématech.
 Naším úkolem je pokusit nalézt nějaký kompromis mezi oběma úkoly.
 Právě tento přístup je označován jako 
\emph on
duální řízení
\emph default
 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

.
 
\end_layout

\begin_layout Section
Dynamické programování
\end_layout

\begin_layout Subsection
Formulace problému
\end_layout

\begin_layout Standard
V textu budeme pracovat zpravidla s diskrétním systémem, ve smyslu systému
 s diskrétním časem, protože výpočty jsou prováděny ve většině případů problemat
iky duálního řízení numericky.
 Rovnice popisující systém jsou však zpravidla ve spojitém tvaru, (model
 často vychází ze skutečnosti, popřípadě fyzikálních zákonů).
 V tomto případě provádíme diskretizaci.
\end_layout

\begin_layout Standard
Základní problém je formulován podle 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

 následovně:
\end_layout

\begin_layout Standard
\begin_inset VSpace defskip
\end_inset


\end_layout

\begin_layout Standard
Uvažujme stavový popis diskrétního dynamického systému 
\begin_inset Formula \begin{equation}
\begin{array}{cc}
x_{k+1}=f_{k}(x_{k},u_{k},w_{k}), & k=0,\ldots,N-1\end{array},\label{eq:zakladniproblem}\end{equation}

\end_inset

kde 
\begin_inset Formula $x_{k}$
\end_inset

 je stavová proměná, 
\begin_inset Formula $u_{k}$
\end_inset

 řízení a 
\begin_inset Formula $w_{k}$
\end_inset

 náhodná porucha, vše v čase 
\begin_inset Formula $k$
\end_inset

 při celkovém časovém horizontu 
\begin_inset Formula $N$
\end_inset

.
 Na řízení 
\begin_inset Formula $u_{k}$
\end_inset

 klademe omezení, že může nabývat pouze hodnot z neprázdné monožiny 
\begin_inset Formula $U_{k}(x_{k})$
\end_inset

 závislé na stavu 
\begin_inset Formula $x_{k}$
\end_inset

.
 Náhodná porucha 
\begin_inset Formula $w_{k}$
\end_inset

 je charakterizována rozdělením pravděpodobnosti 
\begin_inset Formula $P_{k}$
\end_inset

, které může explicitně záviset na 
\begin_inset Formula $x_{k}$
\end_inset

 a 
\begin_inset Formula $u_{k}$
\end_inset

, ne však na předchozích poruchách 
\begin_inset Formula $w_{k-1},\ldots,w_{0}$
\end_inset

.
\end_layout

\begin_layout Standard
Dále uvažujme množinu řízení, jedná se o posloupnost funkcí
\begin_inset Formula \[
\pi=\{\mu_{0},\ldots,\mu_{N-1}\},\]

\end_inset

kde 
\begin_inset Formula $\mu_{k}$
\end_inset

 přiřazuje stavu 
\begin_inset Formula $x_{k}$
\end_inset

 přípustné řízení 
\begin_inset Formula $u_{k}=\mu_{k}(x_{k})$
\end_inset

, to je takové, že 
\begin_inset Formula $\mu_{k}(x_{k})\in U_{k}(x_{k})$
\end_inset

, množinu přípustných řešení označme 
\begin_inset Formula $\Pi$
\end_inset

.
 Máme-li dány počáteční stav 
\begin_inset Formula $x_{0}$
\end_inset

 a přípustné řešení 
\begin_inset Formula $\pi$
\end_inset

 můžeme stavy 
\begin_inset Formula $x_{k}$
\end_inset

 a poruchy 
\begin_inset Formula $w_{k}$
\end_inset

 považovat za náhodné veličiny s rozdělemím definovaným systémem rovnic
 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:zakladniproblem"

\end_inset

, kde za řízení 
\begin_inset Formula $u_{k}$
\end_inset

 dosadíme hodnotu funkce 
\begin_inset Formula $\mu_{k}$
\end_inset

 v 
\begin_inset Formula $x_{k}$
\end_inset

.
\end_layout

\begin_layout Standard
Pro dané ztráty v jednotlivých časech -- funkce 
\begin_inset Formula $g_{k}$
\end_inset

, pak definujeme očekávanou ztrátu 
\begin_inset Formula $\pi$
\end_inset

 v 
\begin_inset Formula $x_{0}$
\end_inset

 jako
\begin_inset Formula \[
J_{\pi}(x_{0})=\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=0}^{N-1}g_{k}\left(x_{k},\mu_{k}(x_{k}),w_{k}\right)\right\} \]

\end_inset

kde je očekávaná hodnota počítána přes náhodné veličiny 
\begin_inset Formula $w_{k}$
\end_inset

 a 
\begin_inset Formula $x_{k}$
\end_inset

.
 Optimální řízení 
\begin_inset Formula $\pi^{*}$
\end_inset

je právě to, které minimalizuje ztrátu
\begin_inset Formula \[
J_{\pi^{*}}(x_{0})=\min_{\pi\in\Pi}J_{\pi}(x_{0}).\]

\end_inset

Optimální ztrátu označme 
\begin_inset Formula $J^{*}(x_{0})$
\end_inset

.
\end_layout

\begin_layout Subsection
Přístup dynamického programování
\end_layout

\begin_layout Standard
Dynamické programovní dle 
\begin_inset CommandInset citation
LatexCommand cite
key "ViriusZA"

\end_inset

 je jedním ze způsobů návrhu algoritmů pro řešení jistých typu optimalizačních
 problémů.
 Konkrétně se uplatňuje v případě, že jde o diskrétní optimalizační úlohu,
 na řešení daného problému můžeme nahlížet jako na konečnou posloupnost
 rozhodnutí a platí 
\emph on
princip optimality
\emph default
.
\end_layout

\begin_layout Subsubsection
Princip optimality 
\end_layout

\begin_layout Standard
říká, že optimální posloupnost rozhodnutí musí mít následující vlastnost:
 
\emph on
Jestliže jsme už udělali 
\emph default
k 
\emph on
rozhodnutí, musí být všechna následující rozhodnutí optimální vzhledem k
 výsledkům rozhodnutí předchozích, jinak nemůžeme dostat optimální řešení
 
\emph default

\begin_inset CommandInset citation
LatexCommand cite
key "ViriusZA"

\end_inset


\emph on
.
\end_layout

\begin_layout Subsubsection
Princip optimality v teorii řízení
\end_layout

\begin_layout Standard
Nechť 
\begin_inset Formula $\pi^{*}=\left\{ \mu_{0}^{*},\mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
\end_inset

 je optimální řídící strategie pro 
\color black
základní
\color inherit
 problém a předpokládejme, že když aplikujeme řízení 
\begin_inset Formula $\pi^{*}$
\end_inset

, daný stav 
\begin_inset Formula $x_{i}$
\end_inset

 se vyskytne v čase 
\begin_inset Formula $i$
\end_inset

 s pozitivní pravděpodobností.
 Uvažujme podproblém, kdy ve stavu 
\begin_inset Formula $x_{i}$
\end_inset

 a čase 
\begin_inset Formula $i$
\end_inset

 chceme minimalizovat 
\emph on
náklady na pokračování
\emph default
 (v anglické literatuře označováno jako 
\color black

\begin_inset Quotes gld
\end_inset

cost-to-go
\color inherit

\begin_inset Quotes grd
\end_inset

) od času 
\begin_inset Formula $i$
\end_inset

 do 
\begin_inset Formula $N$
\end_inset


\begin_inset Formula \[
\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=i}^{N-1}g_{k}(x_{k},\mu_{k}(x_{k}),w_{k})\right\} \]

\end_inset

Potom úsek strategie 
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none

\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
\end_inset

 je optimální pro tento podproblém.
\begin_inset VSpace medskip
\end_inset


\end_layout

\begin_layout Standard
Intuitivně je princip optimality velmi jednoduchý.
 Jestliže úsek strategie 
\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
\end_inset

 nebude optimální, budeme schopni dále zredukovat cenu přechodem k optimální
 strategii pro podproblém.
\end_layout

\begin_layout Standard
Princip optimality umožňuje optimální strategii konstruovat postupně.
 Nejdříve nalezneme optimální strategii pro koncový podproblém zahrnující
 poslední krok.
 Poté rozšiřujeme podproblém od konce přidáním předposledního kroku a tak
 dále.
 Takto může být vytvořena optimální strategie pro celý problém.
\end_layout

\begin_layout Standard
Algoritmus dynamického programování je tedy založen na následující myšlence:
 Algoritmus pracuje iterativně a řeší 
\color black
koncové
\color inherit
 podproblémy pro daný časový úsek, při tom využívá řešení předchozích 
\color black
koncových
\color inherit
 podproblémů pro kratší časové úseky.
 Převzato z 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

.
\end_layout

\begin_layout Subsubsection
Formulace algoritmu dynamického programování
\end_layout

\begin_layout Standard
Podle 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

, pro každý počáteční stav 
\begin_inset Formula $x_{0}$
\end_inset

, je optimální cena 
\begin_inset Formula $J^{*}(x_{0})$
\end_inset

 základního problému rovna 
\begin_inset Formula $J_{0}(x_{0})$
\end_inset

, získané z posledního kroku následujícího algoritmu, který prochází zpět
 časy od 
\begin_inset Formula $N-1$
\end_inset

 do 
\begin_inset Formula $0$
\end_inset

:
\begin_inset Formula \[
J_{N}(x_{N})=g_{N}(x_{N})\]

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Formula \begin{equation}
J_{k}(x_{k})=\min_{u_{k}\in U_{k}(x_{k})w_{k}}\mathbf{E}\left\{ g_{k}(x_{k},u_{k},w_{k})+J_{k+1}(f_{k}(x_{k},u_{k},w_{k}))\right\} \label{eq:Jkeqmin}\end{equation}

\end_inset


\begin_inset Formula \[
k=0,1,\ldots,N-1\]

\end_inset


\end_layout

\begin_layout Standard
kde je očekávaná hodnota počítána podle náhodné veličiny 
\begin_inset Formula $w_{k}$
\end_inset

, která obecně závisí na 
\begin_inset Formula $x_{k}$
\end_inset

 a 
\begin_inset Formula $u_{k}$
\end_inset

.
 Dále, když 
\begin_inset Formula $u_{k}^{*}=\mu_{k}^{*}(x_{k})$
\end_inset

 minimalizuje pravou stranu rovnice 
\begin_inset CommandInset ref
LatexCommand eqref
reference "eq:Jkeqmin"

\end_inset

 pro každé 
\begin_inset Formula $x_{k}$
\end_inset

 a 
\begin_inset Formula $k$
\end_inset

, stretegie 
\begin_inset Formula $\pi*=\left\{ \mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
\end_inset

 je optimální.
\begin_inset VSpace medskip
\end_inset


\end_layout

\begin_layout Standard
Hodnotu 
\begin_inset Formula $J_{k}(x_{k})$
\end_inset

 je možno interpretovat jako optimální cenu pro 
\emph on

\begin_inset Formula $(N-k)$
\end_inset


\emph default
-tý krok problému začínajícího ve stavu 
\begin_inset Formula $x_{k}$
\end_inset

 a čase 
\begin_inset Formula $k$
\end_inset

, a končícího v čase 
\begin_inset Formula $N$
\end_inset

.
 Následně označujeme 
\begin_inset Formula $J_{k}(x_{k})$
\end_inset

 náklady na pokračování (
\color black

\begin_inset Quotes gld
\end_inset

cost-to-go
\color inherit

\begin_inset Quotes grd
\end_inset

) ve stavu 
\begin_inset Formula $x_{k}$
\end_inset

 a čase 
\begin_inset Formula $k$
\end_inset

, a 
\begin_inset Formula $J_{k}$
\end_inset

 označujeme jako funkci nákladů na pokračování (
\color black

\begin_inset Quotes gld
\end_inset

cost-to-go
\color inherit
 function
\begin_inset Quotes grd
\end_inset

) v čase 
\begin_inset Formula $k$
\end_inset

.
 
\end_layout

\begin_layout Standard
Ideálně bychom chtěli využít algoritmus dynamického programování k získání
 
\begin_inset Formula $J_{k}$
\end_inset

 vyjádřené v uzavřeném tvaru nebo k získání optimální strategie.
 Existuje mnoho případů, kdy je daná úloha řešitelná analyticky, obzvláště
 za zjednodušujících předpokladů.
 To je velmi užitečné zejména pro lepší náhled do problematiky a jako vodítko
 pro složitější modely.
 Avšak ve většíně případů není analytické řešení možné, pak je třeba použít
 numerické řešení pomocí algoritmu dynamického programování.
 Tento přístup může být časově velmi náročný, zejména minimalizaci v rovnici
 
\begin_inset CommandInset ref
LatexCommand eqref
reference "eq:Jkeqmin"

\end_inset

 je třeba provést pro každou hodnotu 
\begin_inset Formula $x_{k}$
\end_inset

.
 Stavový prostor musí být diskretizován, nejedná-li se o konečnou množinu
 a výpočetní nároky pak narůstají proporcionálně k počtu možných hodnot
 
\begin_inset Formula $x_{k}$
\end_inset

.
 Nicméně dynamické programování je pouze obecný přístup pro iterativní optimaliz
aci při uvažování nejistoty v systému.
\end_layout

\begin_layout Section
Vliv neznalosti na systém
\end_layout

\begin_layout Subsection
Úplná a neúplná stavová informace
\end_layout

\begin_layout Standard
V optimálním případě by bylo možno měřit všechny stavové veličiny systému
 a na jejich základě libovolným způsobem upravovat jeho dynamické vlastnosti.
 Ve skutečnosti ale zpravidla není možné všechny stavy změřit a musíme se
 rozhodovat pouze na základě informací, které máme k dispozici, pak mluvíme
 o 
\emph on
neúplné informaci o stavu systému
\emph default
 
\begin_inset CommandInset citation
LatexCommand cite
key "StechaTDS,BertsekasDPOC"

\end_inset

.
 Může to být způsobeno například nedostupností hodnot některých stavů, použité
 měřící přístroje mohou být nepřesné nebo náklady na získání přesné hodnoty
 stavu mohou být příliš omezující.
 Případy tohoto typu modelujeme zpravidla tak, že v každém kroku regulátor
 obdrží jisté pozorování skutečné hodnoty stavu, které ovšem může být ovlivněno
 a narušeno stochastickou nejistotou.
 Teoreticky se však problém s neúplnou informací o stavu neodlišuje od úloh
 s úplnou stavovou informací, protože existují způsoby, jak převést (redukovat)
 systém s neúplnou informací na systém s úplnou.
 Tyto postupy obecně vedou na algoritmy využívající dynamické programování,
 ale jsou výpočetně mnohem náročnější, než v případě úplné informace.
 Dva možné postupy redukce převzaté z 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

 budou následovat po formulaci problému:
\end_layout

\begin_layout Subsubsection
Formulace problému s neúplnou informací o stavu
\end_layout

\begin_layout Standard
Nejdříve formulujme základní problém s neúplnou stavovou informací, který
 následně redukujeme na systém s informací úplnou.
 Uvažujme rozšíření základního problému 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:zakladniproblem"

\end_inset

, kde ale regulátor, namísto přístupu ke stavu systému, získává pouze pozorování
 
\begin_inset Formula $z_{k}$
\end_inset

 ve tvaru
\begin_inset Formula \begin{equation}
z_{0}=h_{0}(x_{0},v_{0}),\quad z_{k}=h_{k}(x_{k},u_{k-1},v_{k}),\quad k=1,2,\ldots,N-1,\label{eq:zaklprobneuplnystav}\end{equation}

\end_inset

kde 
\begin_inset Formula $v_{k}$
\end_inset

 reprezentuje náhodnou poruchu pozorování charakterizovanou rozdělením pravděpod
obnosti 
\begin_inset Formula $P_{v_{k}}$
\end_inset

, která závisí na současném stavu a všech předchozích stavech, řízeních
 a poruchách.
 Dále také počáteční stav 
\begin_inset Formula $x_{0}$
\end_inset

 považujeme za náhodnou veličinu s rozdělením 
\begin_inset Formula $P_{x_{0}}$
\end_inset

.
\end_layout

\begin_layout Standard
Soubor informací dostupných regulátoru v čase 
\begin_inset Formula $k$
\end_inset

 označme 
\begin_inset Formula $I_{k}$
\end_inset

 informačním vektorem.
 Tedy
\begin_inset Formula \begin{eqnarray*}
I_{k} & = & (z_{0},\ldots,z_{k},u_{0},\ldots,u_{k-1}),\quad k=1,\ldots,N-1,\\
I_{0} & = & z_{0}.\end{eqnarray*}

\end_inset

Uvažujme množinu přípustných řízení jako posloupnost funkcí 
\begin_inset Formula $\pi=\{\mu_{0},\ldots,\mu_{N-1}\}$
\end_inset

, kde každá funkce 
\begin_inset Formula $\mu_{k}$
\end_inset

 přiřazuje informačnímu vektoru 
\begin_inset Formula $I_{k}$
\end_inset

 řízení 
\begin_inset Formula $\mu_{k}(I_{k})\in U_{k}$
\end_inset

, pro všechna 
\begin_inset Formula $I_{k}$
\end_inset

, kde 
\begin_inset Formula $k=0,\ldots,N-1$
\end_inset

.
 Chceme najít přípustnou řídící strategii, to jest posloupnost 
\begin_inset Formula $\pi$
\end_inset

, která minimalizuje očekávanou ztrátu
\begin_inset Formula \[
J_{\pi}=\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=0}^{N-1}g_{k}\left(x_{k},\mu_{k}(I_{k}),w_{k}\right)\right\} ,\]

\end_inset

kde je očekávaná hodnota počítána přes náhodné veličiny 
\begin_inset Formula $x_{0}$
\end_inset

 a 
\begin_inset Formula $w_{k},v_{k}$
\end_inset

 pro 
\begin_inset Formula $k=0,\ldots,N-1$
\end_inset

.
 Veličiny 
\begin_inset Formula $x_{k}$
\end_inset

 a 
\begin_inset Formula $z_{k}$
\end_inset

 se vypočítají z rovnic 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:zakladniproblem"

\end_inset

 respektive 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:zaklprobneuplnystav"

\end_inset

, přičemž v nich položíme 
\begin_inset Formula $u_{k}=\mu_{k}(I_{k})$
\end_inset

.
\end_layout

\begin_layout Subsubsection
Redukce na systém s úplnou stavovou informací
\end_layout

\begin_layout Standard
Tento postup je založen na myšlence definovat nový systém, jehož stav v
 čase 
\begin_inset Formula $k$
\end_inset

 je množina všech hodnot, kterých může využít regulátor při tvorbě řízení.
 Jako stav nového systému tedy volíme informační vektor 
\begin_inset Formula $I_{k}$
\end_inset

 a získáme systém
\begin_inset Formula \begin{equation}
I_{k+1}=(I_{k,}z_{k+1},u_{k}),\quad I_{0}=z_{0},\quad k=0,\ldots,N-2.\label{eq:rednewsystem}\end{equation}

\end_inset

Na tento systém povahy základního problému s úplnou informací můžeme pohlížet
 tak, že 
\begin_inset Formula $I_{k}$
\end_inset

 je stav.
 Řízení 
\begin_inset Formula $u_{k}$
\end_inset

 a pozorování 
\begin_inset Formula $z_{k}$
\end_inset

 lze pak chápat jako náhodné poruchy.
 Dále rozdělení pravděpodobnosti 
\begin_inset Formula $z_{k+1}$
\end_inset

 závisí explicitně pouze na stavu 
\begin_inset Formula $I_{k}$
\end_inset

 a řízení 
\begin_inset Formula $u_{k}$
\end_inset

.
 Ztrátovou funkci vyjádřenou pro nový systém je možno zapsat jako
\begin_inset Formula \[
\mathbf{E}\left\{ g_{k}\left(x_{k},u_{k},w_{k}\right)\right\} =\mathbf{E}\left\{ \mathbf{E}_{x_{k},w_{k}}\left\{ g_{k}\left(x_{k},u_{k},w_{k}\right)\mid I_{k},u_{k}\right\} \right\} .\]

\end_inset

Tedy ztráta během jednoho kroku vyjádřená jako funkce nového stavu 
\begin_inset Formula $I_{k}$
\end_inset

 a řízení 
\begin_inset Formula $u_{k}$
\end_inset

 je
\begin_inset Formula \begin{equation}
\tilde{g}_{k}(I_{k,}u_{k})=\mathbf{E}_{x_{k},w_{k}}\left\{ g_{k}\left(x_{k},u_{k},w_{k}\right)\mid I_{k},u_{k}\right\} .\label{eq:rednewztrata}\end{equation}

\end_inset

Původní základní problém s neúplnou stavovou informací byl tedy převeden
 na úlohu s úplnou stavovou informací s rovnicí popisující systém 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:rednewsystem"

\end_inset

 a ztrátou během jednoho kroku 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:rednewztrata"

\end_inset

.
 Nyní je pro něj možno napsat algoritmus dynamického programování.
 
\end_layout

\begin_layout Subsubsection
Postačující statistika
\end_layout

\begin_layout Standard
Při užití algoritmu dynamického programování za neúplné stavové informace
 je hlavní problém v jeho vyhodnocování ve stavovém prostoru, jehož dimenze
 neustále roste.
 S každým dalším měřením dimenze stavu a tedy informační vektor 
\begin_inset Formula $I_{k}$
\end_inset

 narůstá, proto se snažíme redukovat množství dat skutečně potřebných pro
 účely řízení.
 Hledáme tedy popis známý jako 
\emph on
postačující statistika
\emph default
, který bude mít menší dimenzi než 
\begin_inset Formula $I_{k}$
\end_inset

 ale současně zahrne veškerý důležitý obsah 
\begin_inset Formula $I_{k}$
\end_inset

 potřebný pro řízení.
 Jako postačující statistiku označme funkci 
\begin_inset Formula $S_{k}$
\end_inset

 informačního vektoru 
\begin_inset Formula $I_{k}$
\end_inset

, tedy 
\begin_inset Formula $S_{k}(I_{k})$
\end_inset

 takovou, že minimalizuje ztrátu v algoritmu dynamického programování přes
 všechna přípustná řízení.
 Což můžeme zapsat pro vhodnou funkci 
\begin_inset Formula $H_{k}$
\end_inset

 jako
\begin_inset Formula \begin{eqnarray*}
J_{k}(I_{k}) & = & \min_{u_{k}\in U_{k}}H_{k}(S_{k}(I_{k}),u_{k}).\end{eqnarray*}

\end_inset

Po funkci 
\begin_inset Formula $S_{k}$
\end_inset

 samozřejmě chceme, aby byla charakterizována menší množinou čísel, než
 informační vektor 
\begin_inset Formula $I_{k}$
\end_inset

, abychom získaly výhody z jejího použití.
 Obecně existuje mnoho funkcí, které mohou sloužit jako postačující statistika.
 Triviálním příkladem může být identita 
\begin_inset Formula $S_{k}(I_{k})=I_{k}$
\end_inset

.
 
\end_layout

\begin_layout Standard
Závisí-li rozdělení pravděpodobnosti poruchy pozorování 
\begin_inset Formula $v_{k}$
\end_inset

 explicitně pouze na bezprostředně předcházejícím stavu, řízení a poruše
 systému, tedy na 
\begin_inset Formula $x_{k},u_{k},w_{k}$
\end_inset

 a nezávisí na předchozích hodnotách 
\begin_inset Formula $x_{k-1},\ldots,x_{0},u_{k-1},\ldots,u_{0},w_{k-1},\ldots,w_{0},v_{k-1},\ldots,v_{0}$
\end_inset

 můžeme za postačující statistiku volit podmíněné rozdělení pravděpodobnosti
 
\begin_inset Formula $P_{x_{k}|I_{k}}$
\end_inset

, o kterém lze ukázat (viz 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

), že
\begin_inset Formula \[
J_{k}(I_{k})=\min_{u_{k}\in U_{k}}H_{k}(P_{x_{k}|I_{k}},u_{k})=\overline{J}_{k}(P_{x_{k}|I_{k}}),\]

\end_inset

kde 
\begin_inset Formula $H_{k}$
\end_inset

 a 
\begin_inset Formula $\overline{J}_{k}$
\end_inset

 jsou vhodné funkce.
 Optimální řízení pak získáme ve tvaru funkcí podmíněného rozdělení pravděpodobn
osti 
\begin_inset Formula $\mu_{k}(I_{k})=\overline{\mu}_{k}(P_{x_{k}|I_{k}})$
\end_inset

 pro 
\begin_inset Formula $k=0,\ldots,N-1$
\end_inset

.
 Tato reprezentace může být velmi užitečná, protože nám umožňuje rozložit
 optimální řízení na dvě nezávislé časti:
\end_layout

\begin_layout Enumerate

\emph on
pozorovatel
\emph default
 (estimátor), který v čase 
\begin_inset Formula $k$
\end_inset

 použije měření 
\begin_inset Formula $z_{k}$
\end_inset

 a řízení 
\begin_inset Formula $u_{k-1}$
\end_inset

 k vygenerování rozdělení pravděpodobnosti 
\begin_inset Formula $P_{x_{k}|I_{k}}$
\end_inset


\end_layout

\begin_layout Enumerate

\emph on
regulátor
\emph default
 (akurátor), který generuje vstupy (řízení) pro systém jako funkci rozdělení
 pravděpodobnosti 
\begin_inset Formula $P_{x_{k}|I_{k}}$
\end_inset


\end_layout

\begin_layout Standard
Tento rozklad pak umožňuje navrhovat každou z částí samostatně podle charakteru
 konkrétní úlohy.
\end_layout

\begin_layout Subsection
Kalmanův filtr
\begin_inset CommandInset label
LatexCommand label
name "sub:Kalmanův-filtr"

\end_inset


\end_layout

\begin_layout Standard
Chceme řešit následující problém, viz 
\begin_inset CommandInset citation
LatexCommand cite
key "StechaTDS"

\end_inset

: Máme lineární systém s neúplnou stavovou informací a snažíme se odhadnout
 (rekonstruovat, estimovat) stav systému z měřitelných vstupních a výstupních
 veličin.
 Dále předpokládejme, že měření výstupu a popřípadě i vstupu je zatíženo
 chybou měření.
 Tyto nepřesnosti měření můžeme modelovat jako aditivní šum.
 Odhadování (rekonstrukci, estimaci) potom navrhujeme pomocí stochastických
 metod.
 Řešení vede na takzvaný 
\emph on
Kalmanův filtr
\emph default
.
\end_layout

\begin_layout Standard
\begin_inset VSpace medskip
\end_inset


\end_layout

\begin_layout Standard
Následující formulace problému a popis algoritmu Kalmanova filtru je převzat
 z 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

, kde lze také nalézt odvození příslušných rovnic: Máme dva náhodné vektory
 
\begin_inset Formula $x$
\end_inset

 a 
\begin_inset Formula $y$
\end_inset

, které jsou svázány sdruženým rozdělením pravděpodobnosti tak, že hodnota
 jednoho poskytuje informaci o hodnotě druhého.
 Známe hodnotu 
\begin_inset Formula $y$
\end_inset

 a chceme určit (odhadnout) hodnotu 
\begin_inset Formula $x$
\end_inset

 tak, aby střední kvadratická odchylka mezi 
\begin_inset Formula $x$
\end_inset

 a jeho odhadem byla minimální.
\end_layout

\begin_layout Standard
Takový odhad můžeme zístat v nejjednodušším případě metodou nejmenších čtverců,
 ale pro tento způsob je třeba velkého počtu měření.
 Jako lepší způsob se ale jeví využít sekvenční struktury problému a iterativně
 použít Kalmanův filtr, kdy odhad v čase 
\begin_inset Formula $k+1$
\end_inset

 získáme na základě jednoduchých rovnic pouze z předchozího odhadu a nového
 měření v čase 
\begin_inset Formula $k$
\end_inset

, žádná předchozí měření nejsou explicitně zahrnuta.
\end_layout

\begin_layout Standard
V dalším textu označme 
\begin_inset Formula $\hat{x}_{k|k-1}$
\end_inset

 apriorní odhad stavu, tedy odhad stavu v čase 
\begin_inset Formula $k$
\end_inset

 na základě informací až do času 
\begin_inset Formula $k-1$
\end_inset

.
 Analogicky 
\begin_inset Formula $\Sigma_{k|k-1}$
\end_inset

 označuje apriorní kovarianční matici.
 Aposteriorní odhad stavu označme 
\begin_inset Formula $\hat{x}_{k|k}$
\end_inset

, to jest odhad v čase 
\begin_inset Formula $k$
\end_inset

 na základě informačí až do času 
\begin_inset Formula $k$
\end_inset

.
 Aposteriorní kovarianční matice je pak označena 
\begin_inset Formula $\Sigma_{k|k}$
\end_inset

.
 
\end_layout

\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset


\end_layout

\begin_layout Subsubsection
System
\end_layout

\begin_layout Standard
Uvažujme lineární dynamický systém bez řízení (
\begin_inset Formula $u_{k}\equiv0$
\end_inset

) ve tvaru
\begin_inset Formula \[
x_{k+1}=A_{k}x_{k}+w_{k},\; k=0,1,\ldots,N-1,\]

\end_inset

kde 
\begin_inset Formula $x_{k}$
\end_inset

 je vektor stavu, 
\begin_inset Formula $w_{k}$
\end_inset

 vektor náhodné poruchy a matice 
\begin_inset Formula $A_{k}$
\end_inset

 předpokládáme známé.
 Dále rovnice měření je
\begin_inset Formula \[
z_{k}=C_{k}x_{k}+v_{k},\; k=0,1,\ldots,N-1,\]

\end_inset

kde 
\begin_inset Formula $z_{k}$
\end_inset

 je vektor pozorování (měřených veličin) a 
\begin_inset Formula $v_{k}$
\end_inset

 vektor šumu.
 Nechť 
\begin_inset Formula $x_{0},w_{0},\ldots,w_{N-1},v_{0},\ldots,v_{N-1}$
\end_inset

 jsou vektory nezávislých náhodných veličin s daným rozdělením pravděpodobnosti,
 takovým, že
\begin_inset Formula \[
\mathrm{E}\{w_{k}\}=\mathrm{E}\{v_{k}\}=0,\; k=0,1,\ldots,N-1.\]

\end_inset

Označme
\begin_inset Formula \[
S=\mathrm{E}\left\{ \left(x_{0}-\mathrm{E}\{x_{0}\}\right)\left(x_{0}-\mathrm{E}\{x_{0}\}\right)^{T}\right\} ,\; M_{k}=\mathrm{E}\{w_{k}w_{k}^{T}\},\; N_{k}=\mathrm{E}\{v_{k}v_{k}^{T}\},\]

\end_inset

a nechť matice 
\begin_inset Formula $N_{k}$
\end_inset

 pozitivně definitní pro všechny časy 
\begin_inset Formula $k$
\end_inset

.
\end_layout

\begin_layout Subsubsection
Algoritmus Kalmanova filtru
\end_layout

\begin_layout Standard
Předpokládejme, že máme spočítaný odhad 
\begin_inset Formula $\hat{x}_{k|k-1}$
\end_inset

 společně s kovarianční maticí 
\begin_inset Formula $\Sigma_{k|k-1}=\mathrm{E}\left\{ \left(x_{k}-\hat{x}_{k|k-1}\right)\left(x_{k}-\hat{x}_{k|k-1}\right)^{T}\right\} $
\end_inset

.
 V čase 
\begin_inset Formula $k$
\end_inset

 získáme další měření 
\begin_inset Formula $z_{k}=C_{k}x_{k}+v_{k}$
\end_inset

.
 Nyní můžeme získat aposteriorní odhad stavu 
\begin_inset Formula $\hat{x}_{k|k}$
\end_inset

 v čase 
\begin_inset Formula $k$
\end_inset

 jako
\begin_inset Formula \begin{equation}
\hat{x}_{k|k}=\hat{x}_{k|k-1}+\Sigma_{k|k-1}C_{k}^{T}\left(C_{k}\Sigma_{k|k-1}C_{k}^{T}+N_{k}\right)^{-1}\left(z_{k}-C_{k}\hat{x}_{k|k-1}\right),\label{eq:kalmanaposkk}\end{equation}

\end_inset

dále pak apriorní odhad stavu 
\begin_inset Formula $\hat{x}_{k+1|k}$
\end_inset

 v čase 
\begin_inset Formula $k+1,$
\end_inset

 tedy 
\begin_inset Formula $\hat{x}_{k+1|k}=A_{k}\hat{x}_{k|k}$
\end_inset

.
 Apriorní kovarianční matici v čase 
\begin_inset Formula $k+1$
\end_inset

 vypočítáme z 
\begin_inset Formula \[
\Sigma_{k+1|k}=A_{k}\Sigma_{k|k}A_{k}^{T}+M_{k},\]

\end_inset

kde aposteriorní kovarianční matici 
\begin_inset Formula $\Sigma_{k|k}=\mathrm{E}\left\{ \left(x_{k}-\hat{x}_{k|k}\right)\left(x_{k}-\hat{x}_{k|k}\right)^{T}\right\} $
\end_inset

 můžeme získat z rovnice
\begin_inset Formula \[
\Sigma_{k|k}=\Sigma_{k|k-1}-\Sigma_{k|k-1}C_{k}^{T}\left(C_{k}\Sigma_{k|k-1}C_{k}^{T}+N_{k}\right)^{-1}C_{k}\Sigma_{k|k-1}.\]

\end_inset

Přidáním počátečních podmínek 
\begin_inset Formula $\hat{x}_{0|-1}=\mathrm{E}\{x_{0}\}$
\end_inset

 a 
\begin_inset Formula $\Sigma_{0|-1}=S$
\end_inset

 získáme 
\emph on
algoritmus Kalmanova filtru
\emph default
, který ve své podstatě rekurzivně generuje posloupnost lineárních odhadů
 založených na metodě nejmenších čtverců.
\end_layout

\begin_layout Standard
Dále je možno vyjádřit rovnici 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:kalmanaposkk"

\end_inset

 ve tvaru
\begin_inset Formula \[
\hat{x}_{k|k}=A_{k-1}\hat{x}_{k-1|k-1}+\Sigma_{k|k}C_{k}^{T}N_{k}^{-1}\left(z_{k}-C_{k}A_{k-1}\hat{x}_{k-1|k-1}\right),\]

\end_inset

který při uvažování systému se vstupem
\begin_inset Formula \[
x_{k+1}=A_{k}x_{k}+B_{k}u_{k}+w_{k},\; k=0,1,\ldots,N-1,\]

\end_inset

umožňuje vypočítat rekurzivně aposteriorní odhady stavů 
\begin_inset Formula $\hat{x}_{k|k}$
\end_inset

 v časech 
\begin_inset Formula $k$
\end_inset

 z rovnice
\begin_inset Formula \[
\hat{x}_{k|k}=A_{k-1}\hat{x}_{k-1|k-1}+B_{k-1}u_{k-1}+\Sigma_{k|k}C_{k}^{T}N_{k}^{-1}\left(z_{k}-C_{k}A_{k-1}\hat{x}_{k-1|k-1}\right),\]

\end_inset

přičemž rovnice pro výpočet aposteriorní kovarianční matice 
\begin_inset Formula $\Sigma_{k|k}$
\end_inset

 zůstávají nezměněny.
\end_layout

\begin_layout Section
Spojité systémy
\end_layout

\begin_layout Subsection
Deterministické systémy se spojitým časem
\end_layout

\begin_layout Standard
I když zpravidla pracujeme s diskrétními systémy, zejména z důvodů výpočtů
 na počítači, teorie optimálního řízení spojitých systémů může být velmi
 užitečná.
 Poskytuje totiž důležité principy, které jsou velmi často používány při
 návrhu algoritmů pro duální řízení.
 Konkrétně se jedná o Hamilton-Jacobi-Bellmanovu rovnost a Pontryaginův
 princip minima.
\end_layout

\begin_layout Subsubsection
Spojitý systém
\end_layout

\begin_layout Standard
Dynamický systém se spojitým časem uvažujeme dle 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

 ve tvaru
\begin_inset Formula \begin{eqnarray}
\dot{x}(t) & = & f(x(t),u(t)),\;0\leq t\leq T,\label{eq:spojsystemHJBP}\\
x(0) & = & x_{0},\nonumber \end{eqnarray}

\end_inset

kde 
\begin_inset Formula $x(t)$
\end_inset

 je stavový vektor v čase 
\begin_inset Formula $t$
\end_inset

, 
\begin_inset Formula $\dot{x}(t)$
\end_inset

 je vektor prvních derivací podle času v čase 
\begin_inset Formula $t$
\end_inset

, 
\begin_inset Formula $u(t)\in U$
\end_inset

 je řídící vektor v čase 
\begin_inset Formula $t$
\end_inset

, 
\begin_inset Formula $U$
\end_inset

 je množina omezení řízení a 
\begin_inset Formula $T$
\end_inset

 je časový horizont.
 O funkci 
\begin_inset Formula $f$
\end_inset

 předpokládáme, že je spojitě diferencovatelná vzhledem k 
\begin_inset Formula $x$
\end_inset

 a spojitá vzhledem k 
\begin_inset Formula $u$
\end_inset

.
 Rovnice 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:spojsystemHJBP"

\end_inset

 představuje soustavu 
\begin_inset Formula $n$
\end_inset

 diferenciálních rovnic prvního řádu.
 Naším cílem je nalézení přípustné řídící trajektorie 
\begin_inset Formula $\left\{ u(t)\mid t\in[0,T]\right\} $
\end_inset

 a odpovídající stavové trajektorie 
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none

\begin_inset Formula $\left\{ x(t)\mid t\in[0,T]\right\} $
\end_inset

 takové, že minimalizují ztrátovou funkci ve tvaru 
\begin_inset Formula \[
h(x(T))+\int_{0}^{T}g\left(x(t),u(t)\right)dt,\]

\end_inset

o funkcích 
\begin_inset Formula $g$
\end_inset

 a 
\begin_inset Formula $h$
\end_inset

 předpokládáme, že jsou spojitě diferencovatelné vzhledem k 
\begin_inset Formula $x$
\end_inset

 a 
\begin_inset Formula $g$
\end_inset

 je spojitá vzhledem k 
\begin_inset Formula $u$
\end_inset

.
\end_layout

\begin_layout Subsubsection
Hamilton-Jacobi-Bellmanova rovnost
\end_layout

\begin_layout Standard
Hamilton-Jacobi-Bellmanova rovnost je parciální diferenciální rovnicí, která
 je splněna optimální funkcí nákladů na pokračování 
\begin_inset Formula $J^{*}(t,x)$
\end_inset

.
 Tato rovnice je analogií algoritmu dynamického programování ve spojitém
 čase.
 Rovnici lze psát podle 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

 ve tvaru
\begin_inset Formula \begin{eqnarray}
0 & = & \min_{u\in U}\left[g(x,u)+\nabla_{t}J^{*}(t,x)+\nabla_{x}J^{*}(t,x)^{T}f(x,u)\right],\quad\forall t,x,\label{eq:hjbrovnostJ}\\
J^{*}(T,x) & = & h(x).\nonumber \end{eqnarray}

\end_inset

Jedná se tedy o parciální diferenciální rovnici s okrajovou podmínkou.
 O funkci 
\begin_inset Formula $J^{*}(t,x)$
\end_inset

 jsme předpokládali diferencovatelnost, apriorně ale její diferencovatelnost
 neznáme a tedy nevíme, jestli 
\begin_inset Formula $J^{*}(t,x)$
\end_inset

 řeší rovnici 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:hjbrovnostJ"

\end_inset

.
 Můžeme však použít následující tvrzení, jehož formulaci i důkaz lze nalézt
 v 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

:
\end_layout

\begin_layout Description
Věta
\begin_inset space \space{}
\end_inset

o
\begin_inset space \space{}
\end_inset

dostatečnosti: 
\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\begin_inset Newline newline
\end_inset

Nechť je funkce 
\begin_inset Formula $V(t,x)$
\end_inset

 spojitě diferencovatelná vzhledem k 
\begin_inset Formula $t$
\end_inset

 a 
\begin_inset Formula $x$
\end_inset

 a nechť je řešením Hamilton-Jacobi-Bellmanovy rovnosti: 
\begin_inset Formula \begin{eqnarray}
0 & = & \min_{u\in U}\left[g(x,u)+\nabla_{t}V(t,x)+\nabla_{x}V(t,x)^{T}f(x,u)\right],\quad\forall t,x,\label{eq:hjbrovnostV}\\
V(T,x) & = & h(x),\quad\forall x.\nonumber \end{eqnarray}

\end_inset

Předpokládejme dále, že 
\begin_inset Formula $\mu^{*}(t,x)$
\end_inset

 dosáhne minima v rovnosti 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:hjbrovnostV"

\end_inset

 pro všechna 
\begin_inset Formula $t$
\end_inset

 a 
\begin_inset Formula $x$
\end_inset

.
 Nechť
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
 
\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
\end_inset

 označuje stavovou trajektorii získanou při dané počáteční podmínce 
\begin_inset Formula $x^{*}(0)=x_{0}$
\end_inset

 a řídící trajektorii 
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color inherit

\begin_inset Formula $u^{*}(t)=\mu^{*}(t,x^{*}(t)),\; t\in[0,T]$
\end_inset

.
 Pak 
\begin_inset Formula $V$
\end_inset

 je rovno optimální funkci nákladů na pokračování, tedy
\begin_inset Formula \[
V(t,x)=J^{*}(t,x),\quad\forall t,x.\]

\end_inset

Navíc řídící trajektorie 
\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
\end_inset

 je optimální.
 
\end_layout

\begin_layout Subsubsection
Pontryaginův princip minima
\end_layout

\begin_layout Standard
Pontryaginův princip minima je důležitým teorémem optimálního řízení.
 Poskytuje nutnou (ne však postačující) podmínku pro optimální trajektorii,
 je úzce spřízněn s Hamilton-Jacobi-Bellmanovou rovností a lze ho z ní podle
 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

 také odvodit.
 Princip minima je výhodné formulovat pomocí Hamiltoniánu.
 Označme 
\begin_inset Formula $p$
\end_inset

 gradient optimální funkce nákladů na pokračování pro optimální stavovou
 trajektorii 
\begin_inset Formula $p(t)=\nabla_{x}J^{*}\left(t,x^{*}(t)\right)$
\end_inset

 a definujme Hamiltonián jako funkci zobrazující trojice vektorů 
\begin_inset Formula $(x,u,p)$
\end_inset

 do reálných čísel
\begin_inset Formula \[
H(x,u,p)=g(x,u)+p^{T}f(x,u).\]

\end_inset

Rovnice pro systém pak může být zapsána v kompaktním tvaru
\begin_inset Formula \[
\dot{x}^{*}(t)=\nabla_{p}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]

\end_inset

Obdobně může být zapsána pro 
\begin_inset Formula $p$
\end_inset

 takzvaná 
\emph on
adjungovaná rovnice
\emph default

\begin_inset Formula \[
\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]

\end_inset

Pontryaginův princip minima je podle 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

 formulován následovně:
\end_layout

\begin_layout Description
Princip
\begin_inset space \space{}
\end_inset

minima: 
\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\begin_inset Newline newline
\end_inset

Nechť 
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none

\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
\end_inset

 je optimální řídící trajektorie a nechť 
\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
\end_inset

 je odpovídající stavová trajektorie, to jest
\begin_inset Formula \[
\dot{x}^{*}(t)=f\left(x^{*}(t),u^{*}(t)\right),\quad x^{*}(0)=x_{0}.\]

\end_inset

Nechť dále 
\begin_inset Formula $p(t)$
\end_inset

 je řešením adjungované rovnice
\begin_inset Formula \[
\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right),\]

\end_inset

s okrajovou podmínkou 
\begin_inset Formula $p(T)=\nabla h\left(x^{*}(T)\right)$
\end_inset

.
 Pak pro všechna 
\begin_inset Formula $t\in[0,T]$
\end_inset


\begin_inset Formula \[
u^{*}(t)=\arg\min_{u\in U}H\left(x^{*}(t),u,p(t)\right).\]

\end_inset

Navíc existuje konstanta 
\begin_inset Formula $C$
\end_inset

 taková, že
\begin_inset Formula \[
H\left(x^{*}(t),u^{*}(t),p(t)\right)=C,\quad\forall t\in[0,T].\]

\end_inset


\end_layout

\begin_layout Section
Algoritmy pro duální řízení
\end_layout

\begin_layout Standard
Metody pro nalezení optimálního řízení lze obecně rozdělit do dvou základních
 kategorií na 
\emph on
globální 
\emph default
a 
\emph on
lokální 
\emph default
viz 
\begin_inset CommandInset citation
LatexCommand cite
key "TodorovWeiweiILQG,TodorovTassaILDP"

\end_inset


\emph on
.

\emph default
 
\end_layout

\begin_layout Standard
Globální metody, používané zejména v posilovaném učení 
\color black
(
\begin_inset Quotes gld
\end_inset

Reinforcement Learning
\color inherit

\begin_inset Quotes grd
\end_inset

), jsou založeny na na 
\color black
Bellmanově principu optimality, Hamilton-Jacobi-Bellmanově rovnosti
\color inherit
 a dynamickém programování.
 Tyto algoritmy hledají globálně optimální zpětnovazební řízení pro všechny
 stavy obecného stochastického systému a proto podléhají nebezpečí 
\begin_inset Quotes gld
\end_inset

problému dimenzionality
\begin_inset Quotes grd
\end_inset

 nebo také rozměrnosti (z anglického 
\begin_inset Quotes eld
\end_inset

curse of dimensionality
\begin_inset Quotes erd
\end_inset

 doslovně - 
\emph on
kletba rozměrnosti
\emph default
).
 Jednoduše můžeme tento problém chápat tak, že při numerickém řešení úlohy
 jsou počítačem procházeny všechny body diskretizovaného stavového a řídícího
 prostoru jejichž počet s rostoucím počtem dimenzí extrémně (exponenciálně)
 rychle roste.
 Výpočet pro mnohadimenzionální úlohy se pak stává co do paměťových nároků,
 ale hlavně z hlediska výpočetního času prakticky nerealizovatelným.
\end_layout

\begin_layout Standard
Lokální metody, častěji studované v teorii řízení, souvisí s 
\color black
Pontryaginovým principem maxima
\color inherit
.
 Jejich podstatou je nalezení řízení, které je pouze lokálně optimální v
 okolí nějaké 
\begin_inset Quotes gld
\end_inset

extremalní
\begin_inset Quotes grd
\end_inset

 trajektorie.
 Většinou je užito deterministických prostředků jako řešení soustavy obyčejných
 diferenciálních rovnic (například střelbou nebo relaxací).
 Tento přístup ale vede na přímovazební
\color red
 
\color black
řízení
\color red
 
\color inherit
a nezle užít pro stochastické úlohy, vyhýbá se ale problému dimenzionality,
 což umožňuje řešit i komplexnější problémy.
\end_layout

\begin_layout Standard
V poslední době je snaha vyvíjet nové algoritmy, které kombinují výhody
 obou výše zmíněných přístupů.
 Příkladem může být 
\emph on
diferenciální dynamické programování
\emph default
 (DDP).
 Tento algoritmus zůstává lokální metodou ve smyslu, že uchovává pouzve
 jedinou trajektorii, která je lokálně vylepšována.
 Vylepšení však není založeno na řešení soustavy obyčejných diferenciálních
 rovnic, ale na dynamickém programování aplikovaném na okolí - 
\begin_inset Quotes eld
\end_inset

trubici
\begin_inset Quotes erd
\end_inset

 podél současné trajektorie.
 Jedná se o algoritmus s konvergencí druhého řádu.
 Ještě efektivnější je metoda podobná DDP, 
\emph on
iterativní LQG
\emph default
 (iLQG).
 Tento algoritmus je založen na linearizaci nelineární úlohy v každém bodě
 reprezentativní trajektorie a následném řešení modifikované Riccatiho rovnice.
 Výhodou DDP i iLQG je, že jejich výsledkem je zpětnovazební řízení.
 Obě metody jsou ale stále deterministické a nedokáží se vypořádat s nekvadratic
kými ztrátovými funkcemi a požadavky na omezené řízení.
 
\end_layout

\begin_layout Standard
S výše zmíněnými problémy se snaží vypořádat modifikovaná iLQG, která bude
 použita pro srovnání s ústřední metodou této práce iLDP.
 Dále pak do kategorie smíšených metod spadá právě i metoda iLDP, která
 bude podrobně popsána v následující kapitole.
 
\end_layout

\begin_layout Chapter
Algoritmy pro návrh řízení
\end_layout

\begin_layout Section
Výběr algoritmů pro srovnání
\end_layout

\begin_layout Subsection
Princip separace
\end_layout

\begin_layout Standard

\emph on
Princip separace
\emph default
 nebo také 
\emph on
separační teorém pro lineární systémy s kvadratickou ztrátovou funkcí
\emph default
 zaujímá důležité místo v moderní teorii řízení.
 Intuitivně je velmi jednoduchý.
 Podle 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

 je formulován následovně: 
\end_layout

\begin_layout Standard
Optimální řízení pro lineární systém může být rozděleno do dvou částí:
\end_layout

\begin_layout Enumerate

\emph on
pozorovatel
\emph default
 (estimátor), který využívá měřená data k odhadu stavu systému,
\end_layout

\begin_layout Enumerate

\emph on
regulátor
\emph default
 (akurátor), který generuje ze stavu, respektive jeho odhadu, řízení pro
 systém.
\end_layout

\begin_layout Standard
Navíc část optimálního řízení označená jako 
\emph on
pozorovatel
\emph default
 je optimálním řešením problému určování (estimace) stavu nezávisle na uvažování
 řízení a část označená jako 
\emph on
regulátor 
\emph default
je optimální řešení řídícího problému za předpokladu úplné stavové informace.
 Každá část tedy může být navrhována nezávisle na sobě jako optimální řešení
 příslušných problémů estimace a regulace.
\end_layout

\begin_layout Subsection
LQG
\begin_inset CommandInset label
LatexCommand label
name "sub:LQGkp1"

\end_inset


\end_layout

\begin_layout Standard
Řízení LQG (z anglického 
\begin_inset Quotes gld
\end_inset

Linear-Quadratic-Gaussian
\begin_inset Quotes grd
\end_inset

) je primárně navrženo pro řízení lineárních systémů s kvadratickou ztrátovou
 funkci a Gaussovským šumem.
 Existují však různé modifikace i pro nelineární systémy.
 Algoritmus LQG je založen právě na 
\emph on
principu separace 
\emph default
kdy pozorovatel a regulátor jsou navrhovány zvlášť.
 Optimálním pozorovatelem je zde Kalmanův filtr a lze jej užít například
 ve tvaru, jak byl uveden v části 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Kalmanův-filtr"

\end_inset

.
 Optimálním regulátorem pak řízení označované jako LQ regulátor, které může
 být formulováno podle 
\begin_inset CommandInset citation
LatexCommand cite
key "BertsekasDPOC"

\end_inset

 následovně:
\end_layout

\begin_layout Paragraph
LQ regulátor
\end_layout

\begin_layout Standard
pro lineární systém 
\begin_inset Formula \[
x_{k+1}=A_{k}x_{k}+B_{k}u_{k}+w_{k},\quad k=0,1,\ldots,N-1,\]

\end_inset

s kvadratickou ztrátovou funkcí
\begin_inset Formula \[
\mathbf{E}\left\{ x_{N}^{T}Q_{N}x_{N}+\sum_{k=0}^{N-1}\left(x_{k}^{T}Q_{k}x_{k}+u_{k}^{T}R_{k}u_{k}\right)\right\} ,\]

\end_inset

při uvažování neúplné stavové informace je optimálním řízením v každém čase
 rovno
\begin_inset Formula \[
\mu_{k}^{*}(I_{k})=L_{k}\mathrm{E}\left\{ x_{k}\mid I_{k}\right\} ,\]

\end_inset

kde matice 
\begin_inset Formula $L_{k}$
\end_inset

 je dána rovností
\begin_inset Formula \[
L_{k}=-\left(R_{k}+B_{k}^{T}K_{k+1}B_{k}\right)^{-1}B_{k}^{T}K_{k+1}A_{k},\]

\end_inset

přičemž matice 
\begin_inset Formula $K_{k}$
\end_inset

 získáme rekurzivně z Riccatiho rovnice
\begin_inset Formula \begin{eqnarray*}
K_{N} & = & Q_{N},\\
K_{k} & = & A_{k}^{T}\left(K_{k+1}-K_{k+1}B_{k}\left(R_{k}+B_{k}^{T}K_{k+1}B_{k}\right)^{-1}B_{k}^{T}K_{k+1}\right)A_{k}+Q_{k}.\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsection
Zobecněné iterativní LQG řízení
\end_layout

\begin_layout Standard
V článku 
\begin_inset CommandInset citation
LatexCommand cite
key "TodorovWeiweiILQG"

\end_inset

 je popsán algoritmus 
\emph on
zobecněného iterativního LQG 
\emph default
řízení (iLQG) pro účely nalezení lokálního zpětnovazebního řízení nelineárních
 stochastických systémů s kvadratickou ztrátou, ale navíc lze požadovat
 i omezené vstupy.
 Obecně zahrnutí požadavku na omezené vstupy do ztrátové funkce způsobí
 porušení její kvadratičnosti, zmiňovaný algoritmus však řeší problém jinak,
 konkrétně následnou korekcí rovnic pro výpočet řízení.
 Dále s nelinearitou se algoritmus vypořádává tak, že systém v každém časovém
 kroku linearizuje vzhledem k reprezentativní trajektorii.
 Linearizovaný systém je pak řešen klasickým přístupem LQG, avšak v jeho
 průběhu je do výpočtů ještě zasahováno.
 Jsou prováděny úpravy dílčích výsledků a opravy chyb z důvodu práce s linearozo
vaným nelineárním systémem pro zajištění konvergence algoritmu.
 Samotný algoritmus je odvozen a detailně popsám v 
\begin_inset CommandInset citation
LatexCommand cite
key "TodorovWeiweiILQG"

\end_inset

 odkud je převzat následující zestručněný popis:
\end_layout

\begin_layout Paragraph
iLQG lokální řízení
\end_layout

\begin_layout Standard
pro obecně nelineární stochastický systém 
\begin_inset Formula \begin{eqnarray}
x_{k+1} & = & x_{k}+f(x_{k},u_{k})\cdot\Delta k+F(x_{k},u_{k})\cdot e_{k},\; k=0,1,\ldots,N-1,\label{eq:systemilqgdef}\\
x_{(k=0)} & = & x_{0},\nonumber \end{eqnarray}

\end_inset

se ztrátovou funkcí
\begin_inset Formula \[
\mathrm{E}\left\{ h(x_{N})+\sum_{k=0}^{N-1}l(k,x_{k},u_{k})\right\} \]

\end_inset

je lokálně optimální řízení, které konstruujeme iterativně.
 Každá iterace začíná s posloupností přímovazebních řízení 
\begin_inset Formula $\overline{u}_{k}$
\end_inset

 a odpovídající bezšumovou trajektorií 
\begin_inset Formula $\overline{x}_{k}$
\end_inset

 získanou aplikací 
\begin_inset Formula $\overline{u}_{k}$
\end_inset

 na systém 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:systemilqgdef"

\end_inset

 s nulovým šumem.
 To je možno provést například pomocí Eulerovy integrace.
 Pak linearizujeme systém a kvadratizujeme ztrátu podél trajektorií 
\begin_inset Formula $\overline{x}_{k}$
\end_inset

 a 
\begin_inset Formula $\overline{u}_{k}$
\end_inset

.
 Následně získaný lineární systém s kvadratickou ztrátou vyjádříme v odchylkách
 stavových a řídících veličin od bezšumové trajektorie 
\begin_inset Formula $\delta x_{k}=x_{k}-\overline{x}_{k}$
\end_inset

 a 
\begin_inset Formula $\delta u_{k}=u_{k}-\overline{u}_{k}$
\end_inset

.
 Veličiny charakterizující modifikovaný problém získané v každém čase 
\begin_inset Formula $k$
\end_inset

 z 
\begin_inset Formula $(\overline{x}_{k},\overline{u}_{k})$
\end_inset

 jsou
\begin_inset Formula \begin{eqnarray*}
A_{k} & = & I+\frac{\partial f}{\partial x}\cdot\Delta k,\quad B_{k}=\frac{\partial f}{\partial u}\cdot\Delta k,\\
\mathbf{c}_{i,k} & = & F^{[i]}\cdot\sqrt{\Delta k},\quad C_{i,k}=\frac{\partial F^{[i]}}{\partial u}\cdot\sqrt{\Delta k},\\
q_{k} & = & l\cdot\Delta k,\quad\mathbf{q}_{k}=\frac{\partial l}{\partial x}\cdot\Delta k,\\
Q_{k} & = & \frac{\partial^{2}l}{\partial x\partial x}\cdot\Delta k,\quad P_{k}=\frac{\partial^{2}l}{\partial u\partial x}\cdot\Delta k,\\
\mathbf{r}_{k} & = & \frac{\partial l}{\partial u}\cdot\Delta k,\quad R_{k}=\frac{\partial^{2}l}{\partial u\partial u},\end{eqnarray*}

\end_inset

kde 
\begin_inset Formula $F^{[i]}$
\end_inset

 označuje 
\begin_inset Formula $i$
\end_inset

-tý sloupec matice 
\begin_inset Formula $F$
\end_inset

 a veličiny 
\begin_inset Quotes gld
\end_inset

q
\begin_inset Quotes grd
\end_inset

 se počítají v čase 
\begin_inset Formula $k=N$
\end_inset

 z funkce 
\begin_inset Formula $h$
\end_inset

 namísto 
\begin_inset Formula $l$
\end_inset

.
\end_layout

\begin_layout Standard
Dále zaveďme označení
\begin_inset Formula \begin{eqnarray*}
\mathbf{g}_{k} & = & \mathbf{r}_{k}+B_{k}^{T}\mathbf{s}_{k+1}+\sum_{i}C_{i,k}^{T}S_{k+1}\mathbf{c}_{i,k},\\
G_{k} & = & P_{k}+B_{k}^{T}S_{k+1}A_{k},\\
H_{k} & = & R_{k}+B_{k}^{T}S_{k+1}B_{k}+\sum_{i}C_{i,k}^{T}S_{k+1}C_{i,k}.\end{eqnarray*}

\end_inset

Zpětnovazební řízení pak hledáme ve tvaru 
\begin_inset Formula $\delta u_{k}(\delta x)=\mathbf{l}_{k}+L_{k}\delta x$
\end_inset

, kde 
\begin_inset Formula $\mathbf{l}_{k}=-H_{k}^{-1}\mathbf{g}_{k}$
\end_inset

 a 
\begin_inset Formula $L_{k}=-H_{k}^{-1}G_{k}$
\end_inset

.
 Přičemž parametry 
\begin_inset Formula $S_{k}$
\end_inset

 a 
\begin_inset Formula $\mathbf{s}_{k}$
\end_inset

 jsou počítány rekurzivně z rovnic
\begin_inset Formula \begin{eqnarray}
S_{k} & = & Q_{k}+A_{k}^{T}S_{k+1}A_{k}+L_{k}^{T}H_{k}L_{k}+L_{k}^{T}G_{k}+G_{k}^{T}L_{k},\label{eq:rovniceSproiLQG}\\
\mathbf{s}_{k} & = & \mathbf{q}_{k}+A_{k}^{T}\mathbf{s}_{k+1}+L_{k}^{T}H_{k}\mathbf{l}_{k}+L_{k}^{T}\mathbf{g}_{k}+G_{k}^{T}\mathbf{l}_{k}.\nonumber \end{eqnarray}

\end_inset

V důsledku linearizace obecně nelineárního systému mohou vyjít některá vlastní
 čísla matice 
\begin_inset Formula $H$
\end_inset

 nulová nebo záporná.
 Řešení tohoto problému spolu s ošetřením požadavku na omezené vstupy 
\begin_inset Formula $u$
\end_inset

 je detailně popsáno v 
\begin_inset CommandInset citation
LatexCommand cite
key "TodorovWeiweiILQG"

\end_inset

.
 Pokud však nepotřebujeme vyhovět požadavku na nekladná vlastní čísla matice
 
\begin_inset Formula $H$
\end_inset

 a omezené vstupy, lze rovnice 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:rovniceSproiLQG"

\end_inset

 zjednodušit a pokud dále šum nezávisí na řízení (tedy 
\begin_inset Formula $C_{i,k}=0$
\end_inset

) rovnice 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:rovniceSproiLQG"

\end_inset

 se redukuje na Riccatiho rovnici klasického LQ regulátoru.
\end_layout

\begin_layout Section
Algoritmus iterativního lokálního dynamického programování
\end_layout

\begin_layout Standard
Algoritmus iLDP byl vytvořen pro účely nalezení stochastického optimálního
 řízení v mnohadimenzionálních stavových a řídících prostorech.
 Tento případ je častý zejména při řízení biologických pohybů.
 Metoda je popsána autory v článku 
\begin_inset CommandInset citation
LatexCommand cite
key "TodorovTassaILDP"

\end_inset


\emph on
 
\emph default
a z tohoto zdroje je také převzata
\emph on
.
 
\end_layout

\begin_layout Standard
Základní popis algoritmu, tak jak ho autoři podali, je však pouze šablonou
 a mnoho detailů a dílčích částí je ponecháno na vyřešení při konkrétní
 realizaci.
 To se týká hlavně použitých aproximací pro jednotlivé funkce, zejména aproximac
e Bellmanovy funkce a aproximace hledaného regulátoru.
 Dále, protože algoritmus využívá hledání minima, není v základním popisu
 algoritmu vyřešen konkrétní typ minimalizace.
 Použitý minimalizační algoritmus se samozřejmě liší podle konkrétního problému,
 zejména jedná-li se o minimalizaci omezenou nebo neomezenou.
 Ještě je třeba zmínil, že pro algoritmus je nutno zvolit parametr 
\begin_inset Quotes gld
\end_inset

velikosti
\begin_inset Quotes grd
\end_inset

 okolí, protože se jedná o lokální metodu.
\end_layout

\begin_layout Standard
\begin_inset VSpace defskip
\end_inset


\end_layout

\begin_layout Subsection
Formulace problému
\end_layout

\begin_layout Standard
Naším úkolem je nalézt řízení 
\begin_inset Formula $u=\pi(t,x)$
\end_inset

, které minimalizuje očekávanou ztrátu
\end_layout

\begin_layout Standard
\align center
\begin_inset Formula \[
J(\pi)=E_{\omega}\left(h(x)+\int_{0}^{T}l(x,\pi(t,x))dt\right),\]

\end_inset


\end_layout

\begin_layout Standard
obecně pro spojitý systém:
\end_layout

\begin_layout Standard
\begin_inset Formula \begin{eqnarray}
d\mathbf{x} & = & f(x,u)dt+F(x,u)d\omega,\nonumber \\
x(0) & = & x_{0},\label{eq:systemSpoj}\\
t & \in & [0,T],\nonumber \end{eqnarray}

\end_inset


\end_layout

\begin_layout Standard
v diskrétním tvaru:
\end_layout

\begin_layout Standard
\begin_inset Formula \begin{eqnarray}
x_{k+1}-x_{k} & = & f(x,u)\cdot\Delta k+F(x,u)e_{k},\nonumber \\
x_{(k=0)} & = & x_{0},\label{eq:systemDis}\\
k & \in & \{0,1,\ldots,N\},\nonumber \\
\Delta k & = & \frac{T}{N},\nonumber \end{eqnarray}

\end_inset


\end_layout

\begin_layout Standard
kde hledáme řízení 
\begin_inset Formula $u=\pi(k,x)$
\end_inset

, které minimalizuje očekávanou ztrátu
\end_layout

\begin_layout Standard
\begin_inset Formula \[
J(\pi)=E\left(h(x)+\sum_{k=0}^{N-1}l_{k}(x,\pi(k,x))\cdot\Delta k\right).\]

\end_inset


\end_layout

\begin_layout Subsection
Osnova algoritmu
\begin_inset CommandInset label
LatexCommand label
name "sub:iLDP-Osnova-algoritmu"

\end_inset


\end_layout

\begin_layout Standard
Algoritmus pracuje iteračně, každá iterace začne s řízením 
\begin_inset Formula $\pi$
\end_inset

 a vytvoří zlepšení 
\begin_inset Formula $\pi'$
\end_inset

.
 Přičemž prvotní řešení 
\begin_inset Formula $\pi_{0}$
\end_inset

 musíme algoritmu dodat jako apriorní informaci.
 Pro zajištění globální konvergence je možno nové řešení hledat jako konvexní
 kombinaci starého a algoritmem nalezeného řešení 
\begin_inset Formula \[
\pi^{nové}=\alpha\pi'+(1-\alpha)\pi;\;0<\alpha\leq1;\; J(\pi^{nové})<J(\pi).\]

\end_inset


\end_layout

\begin_layout Standard
V každé iteraci proběhne nejprve přípravná fáze, kdy z řízení 
\begin_inset Formula $\pi(k,x)$
\end_inset

 generuje průměrnou trajektorii 
\begin_inset Formula $\bar{x}(k)$
\end_inset

 řešením rovnice 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:systemSpoj"

\end_inset

 respektive 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:systemDis"

\end_inset


\emph on
.
 
\emph default
Následně se počítá aproximace 
\begin_inset Formula $\tilde{V}(k,x)$
\end_inset

 Bellmanovy funkce 
\begin_inset Formula $V(k,x)$
\end_inset

 v čase odzadu, tj.
 od 
\begin_inset Formula $N$
\end_inset

 k 
\begin_inset Formula $1$
\end_inset

.
 Současně počítáme i aproximaci řízení 
\begin_inset Formula $\pi'(k,x)\ldots\pi'(N-1,x)$
\end_inset

.
 Tedy pro každý čas 
\begin_inset Formula $k$
\end_inset

 takový, že 
\begin_inset Formula $k=N-1\ldots1$
\end_inset

 jdeme zpět, přičemž pokládáme v koncovém čase 
\begin_inset Formula $N$
\end_inset

 hodnotu aproximace Bellmanovy funkce 
\begin_inset Formula $\tilde{V}(N,x)=h(x)$
\end_inset

 a provádíme následující čtyři kroky:
\end_layout

\begin_layout Enumerate
Generujeme množinu stavů 
\begin_inset Formula $\left\{ x^{(n)}\right\} _{n=1\ldots M}$
\end_inset

 shromážděných kolem průměrného stavu 
\begin_inset Formula $\bar{x}(k)$
\end_inset

.
\end_layout

\begin_layout Enumerate
Pro každé 
\begin_inset Formula $x^{(n)}$
\end_inset

 vypočítáme optimální řízení 
\begin_inset Formula $u^{(n)}$
\end_inset

 minimalizací Hamiltoniánu 
\begin_inset Formula \[
H(k,x,u)=l(x,u)+f(x,u)^{T}\tilde{V}_{x}(k+1,x)+\frac{1}{2}\mathbf{tr}\left(\sum(x,u)\tilde{V}_{xx}(k+1,x)\right)\]

\end_inset

s inicializačním bodem 
\begin_inset Formula $\pi(k,x^{(n)})$
\end_inset

.
 Kde 
\begin_inset Formula $\Sigma(x,u)=F(x,u)F(x,u)^{T}$
\end_inset

.
 Tedy optimální řízení v čase 
\begin_inset Formula $k$
\end_inset

 pro stav 
\begin_inset Formula $n$
\end_inset

 hledáme jako 
\begin_inset Formula \[
u^{(n)}=\arg\min_{u}H(k,x,u).\]

\end_inset


\end_layout

\begin_layout Enumerate
Pro každé 
\begin_inset Formula $x(k)$
\end_inset

 aproximovat 
\begin_inset Formula $v^{(n)}=V(k,x^{(n)})$
\end_inset

 použitím Hamolton-Jacobi-Bellmanovi rovnosti 
\begin_inset Formula \[
V(k,x^{(n)})\approx\Delta k\cdot H(k,x^{(n)},u^{(n)})+\tilde{V}(k+1,x^{(n)}).\]

\end_inset


\end_layout

\begin_layout Enumerate
Vypočítat novou aproximaci funkce 
\begin_inset Formula $\tilde{V}(k,x)$
\end_inset

 z množiny bodů 
\begin_inset Formula $\left\{ x^{(n)},v^{(n)}\right\} $
\end_inset

 a aproximaci řízení 
\begin_inset Formula $\pi'(k,x^{(n)})$
\end_inset

 definované pro všechna 
\begin_inset Formula $x$
\end_inset

 jako z množiny bodů 
\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
\end_inset

.
\end_layout

\begin_layout Subsection
Detaily implementace
\end_layout

\begin_layout Standard
Uvedený obecný popis algoritmu může být aplikován mnoha způsoby v závislosti
 na konkrétních volbách v každém z kroků algoritmu.
 Jedná se zejména o následující případy:
\end_layout

\begin_layout Description
Volba
\begin_inset space ~
\end_inset

okolí
\begin_inset space ~
\end_inset

v
\begin_inset space ~
\end_inset


\emph on
bodě
\begin_inset space ~
\end_inset

1.

\emph default
 
\emph on

\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\emph default

\begin_inset Newline newline
\end_inset

Zde se projevuje lokálnost metody.
 Množina stavů 
\begin_inset Formula $\left\{ x^{(n)}\right\} $
\end_inset

 je vybrána z okolí průměrného stavu 
\begin_inset Formula $\bar{x}(k)$
\end_inset

.
 Toto okolí a způsob výběru množiny je třeba konkrétně specifikovat.
 Pro účely implementace algoritmu bylo okolí specifikováno parametrem 
\begin_inset Formula $\rho^{2}$
\end_inset

.
 Množina stavů 
\begin_inset Formula $\left\{ x^{(n)}\right\} $
\end_inset

 pak byla generována náhodně jako náhodná veličina s normálním rozdělením
 se střední hodnotou rovnou průměrnému stavu 
\begin_inset Formula $\bar{x}(k)$
\end_inset

 a rozptylem specifikovaným parametrem 
\begin_inset Formula $\rho^{2}$
\end_inset

.
\begin_inset Newline newline
\end_inset

Počet vzorků 
\begin_inset Formula $M$
\end_inset

 je nutno zvolit při implementaci algoritmu.
 Obecně je nejlepší volit maximální možné číslo, ovšem s rostoucím počtem
 vzorků rostou i paměťové nároky a výpočetní čas algoritmu.
\end_layout

\begin_layout Description
Minimalizace
\begin_inset space ~
\end_inset

v
\begin_inset space ~
\end_inset


\emph on
bodě
\begin_inset space ~
\end_inset

2.

\emph default
 
\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\begin_inset Newline newline
\end_inset

Pro minimalizaci lze použít například minimalizační funkce programu 
\emph on
Matlab 
\emph default
z balíku
\emph on
 Optimization Toolbox
\emph default
, konkrétně se jedná o funkce 
\family typewriter
fminunc
\family default
 respektive 
\family typewriter
fmincon
\family default
 pro neomezenou respektive omezenou minimalizaci.
 V případě, kdy je možno spočítat minimalizaci analyticky, jedná se samozřejmě
 o nejlepší způsob.
\end_layout

\begin_layout Description
Použití
\begin_inset space ~
\end_inset

aproximací
\begin_inset space ~
\end_inset

v
\emph on

\begin_inset space ~
\end_inset

bodě
\begin_inset space ~
\end_inset

4.

\emph default
 
\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\begin_inset Newline newline
\end_inset

Aproximace je třeba zvolit ještě před zahájením výpočtu algoritmu, avšak
 právě v 
\emph on
bodě 4.

\emph default
 je třeba je vypočítat z množiny párů hodnot.
 Konkrétně se jedná o aproximaci Bellmanovy funkce 
\begin_inset Formula $\tilde{V}$
\end_inset

 a aproximaci řízení 
\begin_inset Formula $\pi$
\end_inset

.
 Volíme aproximace v jednodušším tvaru z důvodu výpočetní náročnosti, protože
 jsou počítány opakovaně.
 Dále je nutno vygenerovat dostatečný počet 
\begin_inset Formula $M$
\end_inset

 vzorků 
\begin_inset Formula $\left\{ x^{(n)}\right\} $
\end_inset

 v 
\emph on
bodě 1.
 
\emph default
abychom měli dostatek dat pro určení koeficientů aproximací.
 I když nám volnost ve volbě aproximací přináší relativně velkou svobodu
 při návrhu algoritmu iLDP, jedná se současně i o největší slabinu, protože
 autoři explicitně neuvadějí jaké aproximace volit.
 Následně, při implementaci algoritmu pro systém s větším počtem dimenzí,
 může být Bellmanova funkce velmi složitá a právě její vhodnou aproximaci
 se nemusí podařit nalézt.
\end_layout

\begin_layout Subsection
Konkrétní použité aproximace
\begin_inset CommandInset label
LatexCommand label
name "sub:Konkrétní-použité-aproximace-iLDP"

\end_inset


\end_layout

\begin_layout Standard
Výpočet hodnot a aproximace 
\begin_inset Formula $\tilde{V}\;(\tilde{V}_{x},\tilde{V}_{xx})$
\end_inset

 je opakovaný.
 Je tedy třeba vysoké optimalizace, proto je použita lineární aproximace
 ve tvaru lineární kombinace dvakrát diferencovatelných základních funkcí
 
\begin_inset Formula $\phi(x)\in\mathbf{R}^{P}$
\end_inset

 kde 
\begin_inset Formula $P<N$
\end_inset

.
 Jako základní funkce mohou být voleny například funkce 
\begin_inset Formula $1,\: x_{i},\: x_{i}x_{j},\: x_{i}^{2}x_{j}$
\end_inset

.
 Aproximace je volena jako časově proměnná, kdy 
\begin_inset Formula $\tilde{V}(k,x)=\phi(x-\bar{x}(k))^{T}\mathbf{w}(k)$
\end_inset

, kde 
\begin_inset Formula $\mathbf{w}(k)$
\end_inset

 je parametrický vektor závislý na čase 
\begin_inset Formula $k$
\end_inset

.
 
\end_layout

\begin_layout Standard
Označme 
\begin_inset Formula $\tilde{V}_{x}=\phi_{x}^{T}\mathbf{w}$
\end_inset

 a 
\begin_inset Formula $\tilde{V}_{xx}=\phi_{xx}^{T}\mathbf{w}$
\end_inset

 první a druhou derivaci aproximace Bellmanovy funkce podle proměnné 
\begin_inset Formula $x$
\end_inset

 respektive 
\emph on
vektor 
\emph default
a 
\emph on
matici
\emph default
 parciálních derivací podle složek vektoru 
\begin_inset Formula $x$
\end_inset

.
 Parametry aproximace pro jednotlivé časy 
\begin_inset Formula $\mathbf{w}$
\end_inset

 se určí lineární regresí.
 Pro 
\begin_inset Formula $\mathbf{v}=\left[v^{(1)}\ldots v^{(M)}\right]$
\end_inset

 vektor cílových hodnot a matici 
\begin_inset Formula $\mathbf{\Phi}=\left[\phi(x^{(1)}-\bar{x}(k))\ldots\phi(x^{(M)}-\bar{x}(k))\right]$
\end_inset

 je minimální kvadratická odchylka 
\begin_inset Formula $\parallel\mathbf{v}-\mathbf{\Phi}^{T}\mathbf{w}\parallel^{2}$
\end_inset

 pro volbu parametru 
\begin_inset Formula $\mathbf{w}=\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi v}$
\end_inset

.
 
\end_layout

\begin_layout Standard
Protože je průměrná trajektorie 
\begin_inset Formula $\bar{x}(k)$
\end_inset

 konstantní v iteraci algoritmu, je z důvodu urychlení výpočtu aproximace
 vycentrována v tomto bodě.
 Množina 
\begin_inset Formula $\left\{ x^{(n)}\right\} $
\end_inset

 je časově proměnná, abychom nemuseli v každém kroku počítat 
\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
\end_inset

, položíme 
\begin_inset Formula $x^{(n)}=\bar{x}(k)+\varepsilon^{(n)}$
\end_inset

, kde 
\begin_inset Formula $\left\{ \varepsilon^{(n)}\right\} $
\end_inset

 je stejná pro všechny časy 
\begin_inset Formula $k$
\end_inset

.
 Množina
\begin_inset Formula $\left\{ x^{(n)}\right\} $
\end_inset

 se pak jakoby pohybuje podél trajektorie 
\begin_inset Formula $\bar{x}(k)$
\end_inset

.
 Tedy 
\begin_inset Formula $\tilde{V}(k,x^{(n)})=\phi(\varepsilon^{(n)})^{T}\mathbf{w}(k)$
\end_inset

 a 
\begin_inset Formula $\Phi$
\end_inset

 je konstantní v nejen čase, ale i v iteracích algoritmu a matici 
\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
\end_inset

 je možno předpočítat (což by nešlo při závislosti na stavech).
\end_layout

\begin_layout Subsection
Předběžný odhad vlatností algoritmu
\end_layout

\begin_layout Standard
V tomto odstavci jsou uvedeny předběžné odhady vlastností algoritmu, jeho
 výhody a nevýhody.
 Tyto odhady byly učiněny na základě popisu algoritmu, dále podle samotného
 hodnocení autorů v článku 
\begin_inset CommandInset citation
LatexCommand cite
key "TodorovTassaILDP"

\end_inset

 a následně i v průběhu implementace metody.
 Později budou konfrontovány s pozorováními získaných výsledků a závěry
 simulací, aby bylo zřejmé, která očekávání byla naplněna, a která nikoliv.
 Tento postup může být velmi užitečný zejména z důvodu posouzení, které
 charakteristické vlastnosti algoritmu iLDP jsou patrny pouze při letmém
 prostudovaní a naopak, pro které je nutno algoritmus implementovat a otestovat.
\end_layout

\begin_layout Paragraph
Výhody
\end_layout

\begin_layout Itemize
duální metoda (lépe se vypořádá s neznalostí oproti neduálním metodám, například
 LQG)
\end_layout

\begin_layout Itemize
lepší zvládnutí šumu
\end_layout

\begin_layout Itemize
rychlejší dosažení požadované hodnoty
\end_layout

\begin_layout Itemize
možnost aplikace na mnoharozměrové stavové a řídící prostory
\end_layout

\begin_layout Itemize
univerzálnost (vychází z obecných principů)
\end_layout

\begin_layout Itemize
svoboda ve výběru konkrétních aproximací a minimalizací
\end_layout

\begin_layout Paragraph
Nevýhody
\end_layout

\begin_layout Itemize
vyšší časová náročnost
\end_layout

\begin_layout Itemize
numerické výpočty (minimalizace)
\end_layout

\begin_layout Itemize
nepřesnost v důsledku aproximace klíčových funkcí v algoritmu
\end_layout

\begin_layout Itemize
implementační složitost
\end_layout

\begin_layout Itemize
problémy s volbou aproximací
\end_layout

\begin_layout Itemize
lokálnost metody a tedy i nalezeného řešení
\end_layout

\begin_layout Itemize
volba okolí (lokální metoda)
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Chapter
Systémy pro testování
\begin_inset CommandInset label
LatexCommand label
name "cha:Systémy-pro-testování"

\end_inset


\end_layout

\begin_layout Section
Jednoduchý systém
\begin_inset CommandInset label
LatexCommand label
name "sec:Jednoduchý-systém-pro-testovani"

\end_inset


\end_layout

\begin_layout Subsection
Popis problému
\end_layout

\begin_layout Standard
Tato úloha byla převzata z článku 
\begin_inset CommandInset citation
LatexCommand cite
key "ThompsonCluettSIDP"

\end_inset

.
 Sami autoři 
\begin_inset CommandInset citation
LatexCommand cite
key "ThompsonCluettSIDP"

\end_inset

 pak přejali tento problém z 
\begin_inset CommandInset citation
LatexCommand cite
key "AstromHelmerssonDCIUG"

\end_inset

.
\end_layout

\begin_layout Standard
Jedná se o integrátor s neznámým ziskem, tedy lineární časově invariantní
 systém s jedním vstupem a jedním výstupem
\end_layout

\begin_layout Standard
\begin_inset Formula \begin{eqnarray}
y_{k+1} & = & y_{k}+bu_{k}+\sigma e_{k},\nonumber \\
b & \sim & N(\hat{b},P),\label{eq:simplesystem}\\
e_{k} & \sim & N(0,1),\nonumber \\
\mathrm{cov}(e_{k},b_{k}) & = & 0,\;\forall k.\nonumber \end{eqnarray}

\end_inset


\end_layout

\begin_layout Standard
kde 
\begin_inset Formula $y_{k}$
\end_inset

 je výstup nebo také stav procesu v čase 
\begin_inset Formula $k$
\end_inset

, 
\begin_inset Formula $u_{k}$
\end_inset

 je řízení v čase 
\begin_inset Formula $k$
\end_inset

.
 Varianci šumu 
\begin_inset Formula $\sigma^{2}$
\end_inset

 předpokládáme známou, stejně jako počáteční hodnoty systému 
\begin_inset Formula $y_{0}$
\end_inset

, 
\begin_inset Formula $\hat{b}_{0}$
\end_inset

 a 
\begin_inset Formula $P_{0}$
\end_inset

.
 Úkolem je nalézt zpětnovazební řízení
\begin_inset Formula \[
u_{k}^{*}=u_{k}^{*}(y_{k},y_{k-1},\ldots,y_{0},u_{k-1},u_{k-2},\ldots,u_{0}),\;0\leq k\leq N-1\]

\end_inset

 minimalizující očekávanou ztrátu
\begin_inset Formula \begin{eqnarray}
J_{0} & = & \left\{ \sum_{k=0}^{N-1}g_{k}\right\} ,\nonumber \\
g_{k} & = & (y_{k+1}-r_{k+1})^{2},\label{eq:simplesystemctgg}\end{eqnarray}

\end_inset


\end_layout

\begin_layout Standard
pro daný časový horizont 
\begin_inset Formula $N$
\end_inset

 a referenční signál, tj.
 požadovanou hodnotu výstupu, ve formě posloupnosti 
\begin_inset Formula $\left\{ r_{k}\right\} _{k=1}^{N}$
\end_inset

.
 Diskrétní časový krok 
\begin_inset Formula $\Delta k$
\end_inset

 pokládáme roven jedné časové jednotce, tedy 
\begin_inset Formula $\Delta k=1$
\end_inset

.
\end_layout

\begin_layout Subsection
Úpravy rovnic
\end_layout

\begin_layout Standard
Při řešení tohoto problému je výhodné podle 
\begin_inset CommandInset citation
LatexCommand cite
key "AstromHelmerssonDCIUG"

\end_inset

 nahlížet na systému jako úlohu s postačující statistikou 
\begin_inset Formula $H_{k}=[y_{k},\hat{b}_{k},P_{k}].$
\end_inset

 Kde 
\begin_inset Formula $y_{k}$
\end_inset

 reprezentuje stav původní 
\begin_inset Formula $y_{k}$
\end_inset

, dále 
\begin_inset Formula $\hat{b}_{k}$
\end_inset

 je střední hodnota neznámého parametru 
\begin_inset Formula $b$
\end_inset

 a 
\begin_inset Formula $P_{k}$
\end_inset

 jeho variance.
\end_layout

\begin_layout Standard
Pak první rovnici v 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesystem"

\end_inset

 doplníme rovnicemi, ze kterých mohou být rekurzivně napočítány parametry
 
\begin_inset Formula $\hat{b}_{k}$
\end_inset

 a 
\begin_inset Formula $P_{k}$
\end_inset


\begin_inset Formula \begin{eqnarray}
\hat{b}_{k+1} & = & \hat{b}_{k}+K_{k}(y_{k+1}-y_{k}-\hat{b}_{k}u_{k}),\nonumber \\
P_{k+1} & = & (1-K_{k}u_{k})P_{k},\label{eq:simplesystemexbp}\\
K_{k} & = & \frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}.\nonumber \end{eqnarray}

\end_inset

Ztráta v čase 
\begin_inset Formula $k$
\end_inset

 je 
\begin_inset Formula \[
J_{k}=\min_{u_{k}}\mathrm{E}_{e_{k},b}\left\{ g_{k}+J_{k+1}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} ,\]

\end_inset

kde se stredni hodnota pocita pres 
\begin_inset Formula $e_{k}$
\end_inset

 a 
\begin_inset Formula $b$
\end_inset

.
 Systém 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesystem"

\end_inset

 je lineární, Gaussovský a máme k dispozici sdruženou hustotu rozdělení
 pravděpodobnosti 
\begin_inset Formula $f(b_{k})=N(\hat{b}_{k},P_{k})$
\end_inset

 jejíž parametry se vyvíjejí rekurzivně podle 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesystemexbp"

\end_inset

.
 Je tedy možno upravit ztrátovou funkci 
\begin_inset Formula $J_{k}$
\end_inset

 dosadíme-li za 
\begin_inset Formula $g_{k}=(y_{k+1}-r_{k+1})^{2}$
\end_inset

 z 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesystemctgg"

\end_inset

 a následně z 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesystem"

\end_inset

 za 
\begin_inset Formula $y_{k+1}=y_{k}+bu_{k}+\sigma e_{k}$
\end_inset

: 
\begin_inset Formula \begin{eqnarray*}
J_{k} & = & \min_{u_{k}}\mathrm{E}_{e_{k},b}\left\{ (y_{k}+bu_{k}+\sigma e_{k}-r_{k+1})^{2}+J_{k+1}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} \\
 & = & \min_{u_{k}}\mathrm{E}_{e_{k}}\left\{ (y_{k}+\hat{b}u_{k}+\sigma e_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} +\\
 &  & +\min_{u_{k}}\mathrm{E}_{e_{k},b}\left\{ J_{k+1}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} \end{eqnarray*}

\end_inset

A ztráta v čase 
\begin_inset Formula $k$
\end_inset

 je pak vyjádřena ve tvaru
\begin_inset Formula \[
g_{k}=(y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}.\]

\end_inset


\end_layout

\begin_layout Standard
Následně lze zadání úlohy formulovat jako:
\begin_inset Formula \begin{eqnarray}
\mathrm{Rovnice\: systému:}\quad\left[\begin{array}{c}
y_{k+1}\\
\hat{b}_{k+1}\\
P_{k+1}\end{array}\right] & = & \left[\begin{array}{c}
y_{k}+\hat{b}_{k}u_{k}\\
\hat{b}_{k}+\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}(y_{k+1}-y_{k}-\hat{b}_{k}u_{k})\\
(1-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}u_{k})P_{k}\end{array}\right]+\left[\begin{array}{c}
\sigma e_{k}\\
0\\
0\end{array}\right]\nonumber \\
\mathrm{Ztráta\: v\:čase}\: k\mathrm{:}\hspace{5em}g_{k} & = & (y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}\label{eq:simplesysuplnaybP}\end{eqnarray}

\end_inset


\end_layout

\begin_layout Subsection
Aplikace metody CE
\begin_inset CommandInset label
LatexCommand label
name "sub:Aplikace-metody-CE-naJS"

\end_inset


\end_layout

\begin_layout Standard
Princip metody označené jako CE (z anglického 
\begin_inset Quotes gld
\end_inset

Certainty Equivalence
\begin_inset Quotes grd
\end_inset

) je velmi jednoduchý.
 Neznámé parametry v systému nahradíme jejich očekávanými hodnotami a dále
 všechny výpočty provádíme, jako kdyby byly parametry známé.
 Takto získáné řízení samozřejmě není duální a pokud se skutečná hodnota
 neznámého parametru výrazněji odchyluje od očekávané hodnoty, se kterou
 počítáme, dopouštíme se značné chyby.
 Zmiňovaná metoda je použita jako první přiblížení a hlavně pro srovnání
 s dalšími algoritmy.
\end_layout

\begin_layout Subsubsection
Triviální CE regulátor
\end_layout

\begin_layout Standard
Při návrhu prvního, nejjednoduššího regulátoru uvažujeme pouze rovnici 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesystem"

\end_inset

 a nahradíme v ní parametr 
\begin_inset Formula $b$
\end_inset

 jeho očekávanou hodnotou 
\begin_inset Formula $\hat{b}$
\end_inset

, což vede na 
\begin_inset Formula \[
y_{k+1}=y_{k}+\hat{b}u_{k}+\sigma e_{k}.\]

\end_inset

Se ztrátovou funkcí nebudeme explicitně počítat.
 Místo toho předpokládáme, že ztráta bude minimální, dosáhlneme-li požadované
 hodnoty 
\begin_inset Formula $r_{k+1}$
\end_inset

 v jednom kroku.
 Položíme tedy 
\begin_inset Formula $y_{k+1}=r_{k+1}$
\end_inset

, šum neuvažujeme (respektive jej nahradíme jeho střední hodnotou, což je
 nula) a z rovnice vyjádříme řízení 
\begin_inset Formula $u_{k}$
\end_inset

 v čase 
\begin_inset Formula $k$
\end_inset

 jako
\begin_inset Formula \[
u_{k}=\frac{r_{k+1}-y_{k}}{\hat{b}}.\]

\end_inset

Zde je samozřejmě nutné předpokládat, že očekávaná hodnota 
\begin_inset Formula $\hat{b}$
\end_inset

 není rovna nule.
 Tento předpoklad může být omezující, protože z pohledu původní rovnice
 s neznámým parametrem 
\begin_inset Formula $b$
\end_inset

 nastane problém pouze, když samotný parametr 
\begin_inset Formula $b$
\end_inset

 nabývá hodnoty nula.
 To pak zřejmě řízení nemá na systém žádný vliv.
 Chceme-li tento přístup použít pro libovolné 
\begin_inset Formula $\hat{b}$
\end_inset

 (tedy i pro 
\begin_inset Formula $\hat{b}=0$
\end_inset

), je možno například volit jmenovatel zlomku ve výrazu pro řízení místo
 
\begin_inset Formula $\hat{b}$
\end_inset

 jako 
\begin_inset Formula $\hat{b}+\varepsilon$
\end_inset

 s vhodným parametrem 
\begin_inset Formula $\varepsilon$
\end_inset

, následně pak
\begin_inset Formula \[
u_{k}=\frac{r_{k+1}-y_{k}}{\hat{b}+\varepsilon},\quad\hat{b}+\varepsilon\neq0.\]

\end_inset


\end_layout

\begin_layout Subsection
Algoritmus LQG
\end_layout

\begin_layout Standard
Algoritmus LQG (
\begin_inset Quotes gld
\end_inset

Linear-Quadratic-Gaussian
\begin_inset Quotes grd
\end_inset

) je vhodný k nalezení řízení pro lineární systémy s kvadratickou ztrátovou
 funkci a gaussovským šumem.
 To je sice případ zde uvažovaného 
\emph on
jednoduchého systému
\emph default
, ale algoritmus LQG není duální.
 Nedokáže si tedy poradit s neznámým parametrem 
\begin_inset Formula $b$
\end_inset

 a je nutné použít nějaké aproximace.
 Opět tedy využijeme principu CE a nahradíme parametr 
\begin_inset Formula $b$
\end_inset

 jeho očekávanou hodnotou 
\begin_inset Formula $\hat{b}$
\end_inset

.
 LQG algoritmus využívá Kalmanova filtru a dokáže tedy lépe zvládat šumy
 a nepřesnosti měření.
\end_layout

\begin_layout Subsubsection
LQG regulátor
\end_layout

\begin_layout Standard
Jak již bylo zmíněno v předchozím textu, řízení LQG je založeno na principu
 separace, tedy estimátor a regulátor jsou navrhovány zvlášť.
 Máme-li k dispozici matice, popisující systém, stačí pro nalezení řízení
 pouze dosadit do rovnic v částech 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Kalmanův-filtr"

\end_inset

 a 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:LQGkp1"

\end_inset

.
 Tento postup můžeme aplikovat na matice získané z rovnice 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesystem"

\end_inset

, pak získáme jednoduché řízení, které ale předpokládá parametr 
\begin_inset Formula $b$
\end_inset

 známý a jedná se tedy o princip CE.
 Matice systému budou v tomto případě 
\begin_inset Formula \begin{eqnarray*}
A & = & 1,\quad B=\hat{b},\\
C & = & 1,\quad N=\sigma.\end{eqnarray*}

\end_inset

A úpravou ztrátové funkce
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none

\begin_inset Formula \begin{eqnarray*}
\mathbf{E}\left\{ \sum_{k=0}^{N-1}g_{k}\right\}  & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\left(y_{k+1}-r_{k+1}\right)^{2}\right\} \\
 & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\psi_{k+1}^{2}\right\} =\mathrm{E}\left\{ \sum_{k=0}^{N-1}\left(\psi_{k+1}^{T}Q_{k}\psi_{k+1}\right)\right\} ,\end{eqnarray*}

\end_inset

kde 
\begin_inset Formula $\psi_{k}$
\end_inset

 reprezentuje rozdíl 
\begin_inset Formula $y_{k}-r_{k}$
\end_inset

, získáme matice 
\begin_inset Formula $Q$
\end_inset

 a 
\begin_inset Formula $R$
\end_inset

 ve tvaru
\begin_inset Formula \[
Q=1,\quad R=0.\]

\end_inset


\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color inherit
 
\end_layout

\begin_layout Standard
Nebo se můžeme pokusit o aplikaci na systém 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesysuplnaybP"

\end_inset

, který vznikl úpravou systému 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesystem"

\end_inset

 a odhaduje očekávanou hodnotu a varianci neznámého parametru 
\begin_inset Formula $b$
\end_inset

, ale není lineární.
 Je tedy třeba systém 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesysuplnaybP"

\end_inset

 linearizovat, nejlépe v každém časovém kroku 
\begin_inset Formula $k$
\end_inset

.
 Potřebujeme tedy nějakou reprezentativní trajektorii a systém následně
 linearizujeme rozvojem do prvního řádu do Taylorovy řady se středem v této
 trajektorii a tento postup opakujeme pro každý čas 
\begin_inset Formula $k$
\end_inset

.
 Následně získáme matice linearizovaného systému
\begin_inset Formula \begin{eqnarray*}
A_{k} & =\frac{\partial}{\partial(y_{k},\hat{b}_{k},P_{k})}\left[\begin{array}{c}
y_{k+1}\\
\hat{b}_{k+1}\\
P_{k+1}\end{array}\right]= & \left(\begin{array}{ccc}
1 & u_{k} & 0\\
-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & 1-\frac{u_{k}^{2}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & \frac{u_{k}\sigma^{2}\left(y_{k+1}-y_{k}-\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
0 & 0 & 1-\frac{u_{k}^{2}P_{k}\left(u_{k}^{2}P_{k}+2\sigma^{2}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
B_{k} & =\frac{\partial}{\partial u_{k}}\left[\begin{array}{c}
y_{k+1}\\
\hat{b}_{k+1}\\
P_{k+1}\end{array}\right]= & \left(\begin{array}{c}
\hat{b}\\
\frac{\left(P_{k}\sigma^{2}-u_{k}^{2}P_{k}^{2}\right)\left(y_{k+1}-y_{k}+2\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
-\frac{2u_{k}P_{k}^{2}\sigma^{2}}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right).\end{eqnarray*}

\end_inset

Matice pro výpočet Kalmanova filtru jsou v čase konstantní a rovny 
\begin_inset Formula \[
C_{k}=\left(\begin{array}{ccc}
1 & 0 & 0\end{array}\right),\quad N_{k}=\sigma.\]

\end_inset

Pro ztrátovou funkci upravíme ztrátu systému 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:simplesysuplnaybP"

\end_inset

 
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
následovně
\begin_inset Formula \begin{eqnarray*}
\mathbf{E}\left\{ \sum_{k=0}^{N-1}g_{k}\right\}  & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\left((y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}\right)\right\} \\
 & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\left(\psi_{k}^{2}+P_{k}u_{k}^{2}\right)\right\} =\mathrm{E}\left\{ \sum_{k=0}^{N-1}\left(\psi_{k}^{T}Q_{k}\psi_{k}+u_{k}^{T}R_{k}u_{k}\right)\right\} \end{eqnarray*}

\end_inset

kde 
\begin_inset Formula $\psi_{k}$
\end_inset

 reprezentuje rozdíl 
\begin_inset Formula $y_{k}-r_{k+1}$
\end_inset

.
 Pak matice pro kvadratickou ztrátovou funkci 
\begin_inset Formula $Q$
\end_inset

 a 
\begin_inset Formula $R$
\end_inset

 jsou
\begin_inset Formula \begin{eqnarray*}
Q_{N} & = & \theta\\
Q_{k} & = & \left(\begin{array}{ccc}
1 & 0 & 0\\
0 & 0 & 0\\
0 & 0 & 0\end{array}\right)\\
R_{k} & = & P_{k}\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsection
iLQG
\end_layout

\begin_layout Standard
Metoda iLQG je v podstatě rozšířením základního algoritmu pro nalezení LQ
 řízení a v triviálním případě se na tento algoritmus i redukuje.
 Proto většinu z veličin charakterizujících systém, potřebných pro výpočet
 iLQG řízení, můžeme převzít z předchozí části o aplikaci LQG regulátoru.
 Postup jejich výpočtu je totiž prakticky totožný.
 
\end_layout

\begin_layout Subsubsection
iLQG řízení
\end_layout

\begin_layout Standard
Veličiny budou uvedeny pouze pro případ jednoduchého systému s postačující
 statistikou, odhadující parametr 
\begin_inset Formula $b.$
\end_inset

 Přičemž obecný tvar parametrů vychází z systému definovaného v 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:systemilqgdef"

\end_inset

.
\end_layout

\begin_layout Standard
\begin_inset Formula \begin{eqnarray*}
A_{k} & = & I+\frac{\partial f}{\partial x}\cdot\Delta k=\left(\begin{array}{ccc}
1 & u_{k} & 0\\
-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & 1-\frac{u_{k}^{2}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & \frac{u_{k}\sigma^{2}\left(y_{k+1}-y_{k}-\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
0 & 0 & 1-\frac{u_{k}^{2}P_{k}\left(u_{k}^{2}P_{k}+2\sigma^{2}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
B_{k} & = & \frac{\partial f}{\partial u}\cdot\Delta k=\left(\begin{array}{c}
\hat{b}\\
\frac{\left(P_{k}\sigma^{2}-u_{k}^{2}P_{k}^{2}\right)\left(y_{k+1}-y_{k}+2\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
-\frac{2u_{k}P_{k}^{2}\sigma^{2}}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
\mathbf{c}_{i,k} & = & F^{[i]}\cdot\sqrt{\Delta k}=\left(\begin{array}{c}
\sigma\\
0\\
0\end{array}\right),\\
C_{i,k} & = & \frac{\partial F^{[i]}}{\partial u}\cdot\sqrt{\Delta k}=0,\\
q_{k} & = & l\cdot\Delta k=(y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2},\\
\mathbf{q}_{k} & = & \frac{\partial l}{\partial x}\cdot\Delta k=\left(\begin{array}{c}
2(y_{k}-r_{k+1})\\
0\\
u_{k}^{2}\end{array}\right),\\
Q_{k} & = & \frac{\partial^{2}l}{\partial x\partial x}\cdot\Delta k=\left(\begin{array}{ccc}
2 & 0 & 0\\
0 & 0 & 0\\
0 & 0 & 0\end{array}\right),\\
P_{k} & = & \frac{\partial^{2}l}{\partial u\partial x}\cdot\Delta k=\left(\begin{array}{c}
0\\
0\\
2u_{k}\end{array}\right),\\
\mathbf{r}_{k} & = & \frac{\partial l}{\partial u}\cdot\Delta k=2P_{k}u_{k},\\
R_{k} & = & \frac{\partial^{2}l}{\partial u\partial u}=2P_{k}.\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsection
iLDP
\begin_inset CommandInset label
LatexCommand label
name "sub:iLDP-js-implementace"

\end_inset


\end_layout

\begin_layout Standard
Algoritmus implementujeme podle základní osnovy uvedené v 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:iLDP-Osnova-algoritmu"

\end_inset

 přičemž detaily implementace jsou voleny následovně:
\end_layout

\begin_layout Description
Volba
\begin_inset space ~
\end_inset

okolí 
\emph on

\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\emph default

\begin_inset Newline newline
\end_inset

Množina stavů 
\begin_inset Formula $\left\{ x^{(n)}\right\} $
\end_inset

 je volena jako náhodná veličina s normálním rozdělením se střední hodnotou
 rovnou průměrnému stavu 
\begin_inset Formula $\bar{x}(k)$
\end_inset

 a rozptylem specifikovaným parametrem 
\begin_inset Formula $\rho^{2}$
\end_inset

.
 Tedy 
\begin_inset Formula $x_{k}^{(n)}=\overline{x}(k)+\varepsilon_{k}^{(n)}$
\end_inset

, kde 
\begin_inset Formula $\varepsilon_{k}^{(n)}\sim N(0,\rho^{2})$
\end_inset

 .
 Samotný parametr 
\begin_inset Formula $\rho^{2}$
\end_inset

 pak volíme v řádu šumu, popřípadě o řád větší, aby okolí postihlo možné
 změny trajektorie v důsledku šumu, ale současně nezasahovalo příliš daleko.
\begin_inset Newline newline
\end_inset

Počet vzorků 
\begin_inset Formula $M$
\end_inset

 je zde konkrétně volen 
\begin_inset Formula $100$
\end_inset

 což se ukazuje jako dostatečné množství dat pro výpočet koeficientů aproximací.
\end_layout

\begin_layout Description
Minimalizace 
\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\begin_inset Newline newline
\end_inset

Zde použitá minimalizace je neomezená, je tedy užito minimalizační funkce
 programu 
\emph on
Matlab 
\emph default
(
\emph on
Optimization Toolbox
\emph default
) 
\family typewriter
fminunc
\family default
.
\end_layout

\begin_layout Description
Aproximace
\begin_inset space ~
\end_inset

řízení 
\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\begin_inset Newline newline
\end_inset

Aproximace zpětnovazebního řízení v tomto případě vychází z 
\emph on
triviálního CE regulátoru
\emph default
 navrženého v 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Aplikace-metody-CE-naJS"

\end_inset

, který rozšiřuje
\begin_inset Formula \begin{eqnarray*}
\mathrm{CE\: regulátor:}\hspace{3em}u_{k} & = & \frac{r_{k+1}-y_{k}}{\hat{b}+\varepsilon},\quad\hat{b}+\varepsilon\neq0,\\
\mathrm{Aproximace\:\mathrm{řízení}}\mathrm{:\quad}\pi(k,x) & = & \frac{r_{k+1}-K_{1}y_{k}}{K_{2}\hat{b}_{k}+K_{3}P_{k}+K_{4}}.\end{eqnarray*}

\end_inset

Koeficienty aproximace 
\begin_inset Formula $K_{1\ldots4}$
\end_inset

 vypočítáme v každém čase 
\begin_inset Formula $k$
\end_inset

 z množiny hodnot 
\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
\end_inset

 lineární regresí, tedy metodou nejmenších čtverů.
 Provedeme následující úpravy
\begin_inset Formula \begin{eqnarray*}
\left(K_{2}\hat{b}_{k}+K_{3}P_{k}+K_{4}\right)\pi(k,x) & = & r_{k+1}-K_{1}y_{k},\\
\left(\begin{array}{cccc}
y_{k} & \hat{b}_{k}\pi(k,x) & P_{k}\pi(k,x) & \pi(k,x)\end{array}\right)\left(\begin{array}{c}
K_{1}\\
K_{2}\\
K_{3}\\
K_{4}\end{array}\right) & = & r_{k+1}.\end{eqnarray*}

\end_inset

Rovnici označíme jako
\begin_inset Formula \[
\Psi K=R.\]

\end_inset

Následně dosadíme do 
\begin_inset Formula $\Psi$
\end_inset

 vypočítaná 
\begin_inset Formula $x_{k}$
\end_inset

 za 
\begin_inset Formula $\left(\begin{array}{ccc}
y_{k} & \hat{b}_{k} & P_{k}\end{array}\right)^{T}$
\end_inset

a odpovídající vypočítaná 
\begin_inset Formula $u$
\end_inset

 za 
\begin_inset Formula $\pi(k,n)$
\end_inset

, kdy dosazujeme celé vektory v 
\begin_inset Formula $n$
\end_inset

.
 Tedy výsledné 
\begin_inset Formula $\Psi$
\end_inset

 je maticí rozměru 
\begin_inset Formula $n\times4$
\end_inset

.
 Aby mohla být rovnice splněna, položíme 
\begin_inset Formula $R=r_{k+1}\left(\begin{array}{cccc}
1 & 1 & \ldots & 1\end{array}\right)^{T}$
\end_inset

, tedy sloupcový vektor ze samých 
\begin_inset Formula $r_{k+1}$
\end_inset

.
 A koeficienty 
\begin_inset Formula $K$
\end_inset

 vypočítáme metodou nejmenších čtverců jako
\begin_inset Formula \[
K=\left(\Psi^{T}\Psi\right)^{-1}\Psi R.\]

\end_inset


\end_layout

\begin_layout Description
Aproximace
\begin_inset space ~
\end_inset

Bellmanovy
\begin_inset space ~
\end_inset

funkce 
\begin_inset ERT
status open

\begin_layout Plain Layout

~
\end_layout

\end_inset


\begin_inset Newline newline
\end_inset

Aproximace Bellmanovy funkce je volena po vzoru dle 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Konkrétní-použité-aproximace-iLDP"

\end_inset

 jako lineární kombinace devíti základních funkcí
\begin_inset Formula \[
1,\; y_{k},\;\hat{b}_{k},\;\ln P_{k},\; y_{k}^{2},\; y_{k}\hat{b}_{k},\; y_{k}\ln P_{k},\;\hat{b}_{k}^{2},\;\hat{b}_{k}\ln P_{k}.\]

\end_inset

Kdy se koeficienty aproximace určují lineární regresí podle vzorce uvedeného
 v 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Konkrétní-použité-aproximace-iLDP"

\end_inset

.
 Proměnná 
\begin_inset Formula $P_{k}$
\end_inset

 vystupuje v souboru základních funkcí v logaritmu z výpočetních důvodů.
 Nejdříve bylo užito základnich funkcí pro 
\begin_inset Formula $P_{k}$
\end_inset

 bez logaritmů, ale výpočet koeficientů aproximace selhával, protože matice
 
\begin_inset Formula $\Phi\Phi^{T}$
\end_inset

 vystupující ve vzorci pro lineární regresi byla blízko singulární matici.
 To způsobilo problémy, při její následné inverzi, proto bylo 
\begin_inset Formula $P_{k}$
\end_inset

 nahrazeno v bázových funkcích 
\begin_inset Formula $\ln P_{k}$
\end_inset

.
\end_layout

\begin_layout Section
Synchronní motor s permanentními magnety
\end_layout

\begin_layout Subsection
Popis systému
\end_layout

\begin_layout Standard
Následující model popisuje synchronní elektromotormotor s rotorem tvořeným
 permanentními magnety.
 Systém je popsán standartními rovnicemi synchronního stroje s permanentními
 magnety ve stacionárním tvaru
\begin_inset Formula \begin{eqnarray}
\frac{di_{\alpha}}{dt} & = & -\frac{R_{s}}{L_{s}}i_{\alpha}+\frac{\Psi_{PM}}{L_{s}}\omega\sin\vartheta+\frac{u_{\alpha}}{L_{s}},\nonumber \\
\frac{di_{\beta}}{dt} & = & -\frac{R_{s}}{L_{s}}i_{\beta}-\frac{\Psi_{PM}}{L_{s}}\omega\cos\vartheta+\frac{u_{\beta}}{L_{s}},\label{eq:pmsmspojity}\\
\frac{d\omega}{dt} & = & \frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\left(i_{\beta}\cos\vartheta-i_{\alpha}\sin\vartheta\right)-\frac{B}{J}\omega-\frac{p_{p}}{J}T_{L},\nonumber \\
\frac{d\vartheta}{dt} & = & \omega.\nonumber \end{eqnarray}

\end_inset


\end_layout

\begin_layout Standard
Zde 
\begin_inset Formula $i_{\alpha,\beta}$
\end_inset

 reprezentují proudy a 
\begin_inset Formula $u_{\alpha,\beta}$
\end_inset

 napětí na statoru.
 Poloha (úhel otočení) rotoru je označen 
\begin_inset Formula $\vartheta$
\end_inset

 a 
\begin_inset Formula $\omega$
\end_inset

 je pak rychlost otáčení.
 Dále 
\begin_inset Formula $R_{s}$
\end_inset

 je rezistance a 
\begin_inset Formula $L_{s}$
\end_inset

 induktance statoru.
 
\begin_inset Formula $\Psi_{PM}$
\end_inset

 má význam magnetického toku permanentních magnetů rotoru, 
\begin_inset Formula $B$
\end_inset

 tření a 
\begin_inset Formula $T_{L}$
\end_inset

 je zatěžovací moment.
 Konstanta 
\begin_inset Formula $p_{p}$
\end_inset

 označuje počet párů polů a 
\begin_inset Formula $k_{p}$
\end_inset

 Parkovu konstantu.
\end_layout

\begin_layout Standard
Cílem je návrh řízení bez senzorů, kdy čidla pro měření polohy a otáček
 nejsou (z různých důvodů) přítomna.
 Tedy jediné měřitelné veličiny jsou:
\begin_inset Formula \[
y(t)=\left(i_{\alpha}(t),i_{\beta}(t)\right),u_{\alpha}(t),u_{\beta}(t).\]

\end_inset

Které samozřejmě můžeme měřit jen s určitou přesností.
 Dále předpokládáme, že vstupy 
\begin_inset Formula $u_{\alpha}$
\end_inset

 a 
\begin_inset Formula $u_{\beta}$
\end_inset

 jsou omezené a tato omezení jsou známa.
 Nyní chceme dosáhnout požadovaných otáček rotoru 
\begin_inset Formula $\overline{\omega}(t)$
\end_inset

 (skutečnou hodnotu 
\begin_inset Formula $\omega(t)$
\end_inset

 neznáme, pouze ji odhadujeme ze známých hodnot 
\begin_inset Formula $y(t)$
\end_inset

).
\end_layout

\begin_layout Subsection
Úprava rovnic
\begin_inset CommandInset label
LatexCommand label
name "sub:Úprava-rovnic-PMSM"

\end_inset


\end_layout

\begin_layout Subsubsection
Diskretizace
\end_layout

\begin_layout Standard
Provedení diskretizace modelu 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:pmsmspojity"

\end_inset

 pomocí Eulerovy metody vede na následující diskrétní popis:
\begin_inset Formula \begin{eqnarray*}
i_{\alpha,k+1} & = & \left(1-\frac{R_{s}}{L_{s}}\Delta k\right)i_{\alpha,k}+\frac{\Psi_{PM}}{L_{s}}\Delta k\omega_{k}\sin\vartheta_{k}+\frac{\Delta k}{L_{s}}u_{\alpha,k},\\
i_{\beta,k+1} & = & \left(1-\frac{R_{s}}{L_{s}}\Delta k\right)i_{\beta,k}-\frac{\Psi_{PM}}{L_{s}}\Delta k\omega_{k}\cos\vartheta_{k}+\frac{\Delta k}{L_{s}}u_{\beta,k},\\
\omega_{k+1} & = & \left(1-\frac{B}{J}\Delta k\right)\omega_{k}+\frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\Delta k\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right)-\frac{p_{p}}{J}T_{L}\Delta k,\\
\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\end{eqnarray*}

\end_inset

Kde 
\begin_inset Formula $\Delta k$
\end_inset

 označuje diskrétní časový okamžik.
 Předpokládáme, že paremetry modelu známe, můžeme tedy provést následující
 substituci za účelem zjednodušení: 
\begin_inset Formula $a=1-\frac{R_{s}}{L_{s}}\Delta k$
\end_inset

, 
\begin_inset Formula $b=\frac{\Psi_{PM}}{L_{s}}\Delta k$
\end_inset

, 
\begin_inset Formula $c=\frac{\Delta k}{L_{s}}$
\end_inset

, 
\begin_inset Formula $d=1-\frac{B}{J}\Delta k$
\end_inset

, 
\begin_inset Formula $e=\frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\Delta k$
\end_inset

.
 Pro jednoduchost uvažujme model bez zatížení, tedy zatěžovací moment 
\begin_inset Formula $T_{L}$
\end_inset

 je nulovy a zjednodušený model je:
\begin_inset Formula \begin{eqnarray}
i_{\alpha,k+1} & = & ai_{\alpha,k}+b\omega_{k}\sin\vartheta_{k}+cu_{\alpha,k},\nonumber \\
i_{\beta,k+1} & = & ai_{\beta,k}-b\omega_{k}\cos\vartheta_{k}+cu_{\beta,k},\label{eq:pmsmdiskretni}\\
\omega_{k+1} & = & d\omega_{k}+e\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right),\nonumber \\
\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\nonumber \end{eqnarray}

\end_inset

Tyto rovnice můžeme chápat jako popis systému se stavem 
\begin_inset Formula $x_{k}=\left(i_{\alpha,k},i_{\beta,k},\omega_{k},\vartheta_{k}\right)$
\end_inset

, kde předchozí soustavu rovnic zapíšeme jako 
\begin_inset Formula $x_{k+1}=g(x_{k},u_{k})$
\end_inset

.
\end_layout

\begin_layout Subsubsection
Odhad stavu
\end_layout

\begin_layout Standard
O skutečném stavu systému 
\begin_inset Formula $x_{k}$
\end_inset

 máme informaci pouze v podobě měření 
\begin_inset Formula $y_{k}=\left(i_{\alpha,k},i_{\beta,k}\right)$
\end_inset

.
 Vlastní vývoj stavových proměnných může být ovlivněn šumem, pro jednoduchost
 předpokládáme Gaussovský šum s nulovou střední hodnotou a kovarianční maticí
 
\begin_inset Formula $M_{k}$
\end_inset

.
 Pozorování stavu, tedy výstup 
\begin_inset Formula $y_{k}$
\end_inset

 je zatížen chybou měření, která je způsobena zaokrouhlením skutečné hodnoty
 na rozlišovací hodnotu stupnice přístroje.
 Z důvodu zjednodušení ale předpokládáme, že chyba měření bude mít ve výsledku
 normální rozdělení s nulovou střední hodnotou a kovarianční maticí 
\begin_inset Formula $N_{k}$
\end_inset

.
 K stejnému závěru bychom mohli dojít i použitím 
\emph on
centrální limitní věty
\emph default
 z teorie pravděpodobnosti.
 Tedy na vnitřní stav systému i na výstup můžeme pohlížet jako na náhodné
 veličiny s normálním rozdělením
\begin_inset Formula \begin{eqnarray*}
x_{k+1} & \sim & N\left(g(x_{k}),M_{k}\right),\\
y_{k} & \sim & N\left(\left(\begin{array}{c}
i_{\alpha,k}\\
i_{\beta,k}\end{array}\right),N_{k}\right).\end{eqnarray*}

\end_inset

Nyní využijeme toho, že Kalmanův filtr je optimálním pozorovatelem lineárního
 systému s Gaussovským šumem.
 Zde uvažovaný systém 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:pmsmdiskretni"

\end_inset

 není lineární, ale můžeme využít nelineární verze Kalmanova filtru, označované
 jako 
\emph on
rozšířený Kalmanův filtr
\emph default
 (Extended Kalman filter), který systém linearizuje v každém časovém kroku.
 Rovnice pro výpočet odhadu stavu pak budou následující
\begin_inset Formula \begin{eqnarray}
\hat{x}_{k+1} & = & g(\hat{x}_{k})-K\left(y_{k+1}-h(\hat{x}_{k})\right),\nonumber \\
K & = & P_{k}C_{k}^{T}\left(C_{k}P_{k}C_{k}^{T}+N_{k}\right)^{-1},\label{eq:pmsp-odhadstavu-rovnice}\\
P_{k+1} & = & A_{k}\left(P_{k}-P_{k}C_{k}^{T}\left(C_{k}P_{k}C_{k}^{T}+N_{k}\right)^{-1}C_{k}P_{k}\right)A_{k}^{T}+M_{k},\nonumber \end{eqnarray}

\end_inset

kde funkce 
\begin_inset Formula $h$
\end_inset

 je 
\begin_inset Formula $h(x_{k})=\left(i_{\alpha,k},i_{\beta,k}\right)^{T}$
\end_inset

 a matice 
\begin_inset Formula $A_{k}$
\end_inset

 a 
\begin_inset Formula $C_{k}$
\end_inset

 získáme linearizecí systému v každém kroku, tedy
\begin_inset Formula \begin{eqnarray*}
A_{k}=\frac{d}{dx_{k}}g(x_{k},u_{k}) & = & \left(\begin{array}{cccc}
a & 0 & b\sin\vartheta_{k} & b\omega_{k}\cos\vartheta_{k}\\
0 & a & -b\cos\vartheta_{k} & b\omega_{k}\sin\vartheta_{k}\\
-e\sin\vartheta_{k} & e\cos\vartheta_{k} & d & -e\left(i_{\alpha,k}\cos\vartheta_{k}+i_{\beta,k}\sin\vartheta_{k}\right)\\
0 & 0 & \Delta k & 1\end{array}\right),\\
C_{k}=\frac{d}{dx_{k}}h(x_{k}) & = & \left(\begin{array}{cccc}
1 & 0 & 0 & 0\\
0 & 1 & 0 & 0\end{array}\right).\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsubsection
Ztrátová funkce
\end_layout

\begin_layout Standard
Cílem je dosáhnout požadovaných otáček rotoru 
\begin_inset Formula $\overline{\omega}$
\end_inset

.
 Pro zjednodušení uvažujme aditivní kvadratickou ztrátovou funkci 
\begin_inset Formula \[
J=\mathrm{E}\left\{ \sum_{k=0}^{N-1}l(x_{k},u_{k})\right\} ,\]

\end_inset

kdy ztráta v každém časovém kroku 
\begin_inset Formula $k$
\end_inset

 je
\begin_inset Formula \[
l(x_{k},u_{k})=(\omega_{k}-\overline{\omega}_{k})^{2}+r(u_{\alpha,k}^{2}+u_{\beta,k}^{2}),\]

\end_inset

kde 
\begin_inset Formula $r$
\end_inset

 je vhodný parametr penalizace za vstupy, který je ovšem potřeba doladit.
 Tento výraz můžeme upravit do maticové podoby
\begin_inset Formula \begin{eqnarray*}
l(x_{k},u_{k}) & = & \left(\omega_{k}-\overline{\omega}_{k}\right)Q\left(\omega-\overline{\omega}_{k}\right)+\left(u_{\alpha,k},u_{\beta,k}\right)\left(\begin{array}{cc}
r & 0\\
0 & r\end{array}\right)\left(\begin{array}{c}
u_{\alpha,k}\\
u_{\beta,k}\end{array}\right)\\
 & = & \psi_{k}^{T}Q\psi_{k}+u_{k}^{T}Ru_{k},\end{eqnarray*}

\end_inset

kde 
\begin_inset Formula $\psi_{k}$
\end_inset

 značí rozdíl vektoru stavu a pořadované hodnoty 
\begin_inset Formula $\psi_{k}=x_{k}-\overline{x}_{k}$
\end_inset

 a matice 
\begin_inset Formula $Q$
\end_inset

 a 
\begin_inset Formula $R$
\end_inset

 pak mají tvar
\begin_inset Formula \begin{eqnarray*}
Q & = & \left(\begin{array}{cccc}
0 & 0 & 0 & 0\\
0 & 0 & 0 & 0\\
0 & 0 & 1 & 0\\
0 & 0 & 0 & 0\end{array}\right),\\
R & = & \left(\begin{array}{cc}
r & 0\\
0 & r\end{array}\right).\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsection
Aplikace iLDP
\end_layout

\begin_layout Standard
K implementaci iLDP algoritmu, je nutno podotknout, že jsem zatím nevytvořil
 funkční verzi.
 Je to zejména z důvodu, že se nepodařilo nalézt vhodnou aproximaci Bellmanovy
 funkce.
 Přesto zde uvedu postup aplikace tohoto algoritmu.
\end_layout

\begin_layout Subsubsection
Postačující statistika
\end_layout

\begin_layout Standard
Pro aplikaci iLDP metody je vhodné nejdříve zavést postačující statistiku.
 Volme tedy 
\begin_inset Formula $\tilde{S}_{k}=\left(\hat{x}_{k},P_{k}\right)$
\end_inset

, kde 
\begin_inset Formula $\hat{x}_{k}$
\end_inset

 má význam odhadu stavu a 
\begin_inset Formula $P_{k}$
\end_inset

 kovarianční matice, přičemž tyto parametry se vyvíjejí v čase podle rovnic
 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:pmsp-odhadstavu-rovnice"

\end_inset

.
 Následně, kdybychom chtěli zahrnout do aproximace Bellmanovy funkce všechny
 členy 
\begin_inset Formula $\tilde{S}_{k}$
\end_inset

, jednlo by se o příliš velké množství dat.
 Samotný vektor 
\begin_inset Formula $\hat{x}_{k}$
\end_inset

 má v každém čase 
\begin_inset Formula $k$
\end_inset

 čtyři složky a kovarianční matice 
\begin_inset Formula $P_{k}$
\end_inset

 pak šestnáct složek.
 Hledáme-li aproximaci Bellmanovy funkce po vzoru 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Konkrétní-použité-aproximace-iLDP"

\end_inset

, získáme dvacet členů prvního řádu a mnohonásobně víc členů druhého řádu.
 V takovémto případě je implementace algoritmu prakticky nemožná, omezíme
 se tedy na postačující statistiku ve tvaru 
\begin_inset Formula $S_{k}=\left(\hat{x}_{k},P_{k}^{(3,3)},P_{k}^{(4,4)}\right)$
\end_inset

, odhadu stavu a variancí odhadů složek rychlosti a otáček, které právě
 nemůžeme měřit.
\end_layout

\begin_layout Subsubsection
Detaily implementace algoritmu
\end_layout

\begin_layout Standard
Základní návrh implementace vychází z verze algoritmu pro jednoduchý systém
 viz 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:iLDP-js-implementace"

\end_inset

, kterou modifikuje a rozšiřuje.
\end_layout

\begin_layout Standard
Okolí 
\begin_inset Formula $\left\{ x^{(n)}\right\} $
\end_inset

 je voleno opět jako náhodná veličina s normálním rozdělením se střední
 hodnotou rovnou průměrnému stavu 
\begin_inset Formula $\bar{x}(k)$
\end_inset

 a rozptylem specifikovaným parametrem 
\begin_inset Formula $\rho^{2}$
\end_inset

.
 Počet vzorků 
\begin_inset Formula $M$
\end_inset

 je ponechán na hodnotě 
\begin_inset Formula $100$
\end_inset

, i když byly testovány i jiné hodnoty.
 
\end_layout

\begin_layout Standard
Protože se úloha řízení synchronního motoru snaží do jisté míry přiblížit
 realitě, uvažujeme vstupy jako omezené.
 Tedy předpokládáme, že zdroj nemůže dodat na vstup libovolné napětí, ale
 je třeba dodržet jistá omezení.
 Zde budou omezení vstupů reprezentována podmínkou 
\begin_inset Formula \[
u_{\alpha}^{2}+u_{\beta}^{2}\leq u_{max}^{2},\]

\end_inset

kde 
\begin_inset Formula $u_{max}$
\end_inset

 předpokládáme jako zadanou konstantu.
 Pro minimalizaci v algoritmu iLDP je tedy třeba užít omezené minimalizace,
 zde je použita minimalizační funkce programu 
\emph on
Matlab 
\emph default
(
\emph on
Optimization Toolbox
\emph default
) 
\family typewriter
fmincon
\family default
.
\end_layout

\begin_layout Subsubsection
Volba aproximací
\end_layout

\begin_layout Standard
Aproximaci Bellmanovy funkce vytvoříme na základě postačující statistiky
 
\begin_inset Formula $S_{k}=\left(\hat{x}_{k},P_{k}^{(3,3)},P_{k}^{(4,4)}\right)$
\end_inset

, tedy dle 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Konkrétní-použité-aproximace-iLDP"

\end_inset

 volíme lineární kombinace základních funkcí a na základě zkušeností s jednoduch
ým systémem použijeme místo variancí jejich logaritmy.
 Soubor základních funkcí je pak
\begin_inset Formula \begin{gather*}
1,\;\hat{x}_{k}^{(1)},\ldots,\hat{x}_{k}^{(4)},\;\ln P_{k}^{(3,3)},\;\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(1)}\right)^{2},\;\hat{x}_{k}^{(1)}\hat{x}_{k}^{(2)},\ldots,\hat{x}_{k}^{(1)}\hat{x}_{k}^{(4)},\\
\hat{x}_{k}^{(1)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(1)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(2)}\right)^{2},\;\hat{x}_{k}^{(2)}\hat{x}_{k}^{(3)},\;\hat{x}_{k}^{(2)}\hat{x}_{k}^{(4)},\\
\hat{x}_{k}^{(2)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(2)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(3)}\right)^{2},\;\hat{x}_{k}^{(3)}\hat{x}_{k}^{(4)},\;\hat{x}_{k}^{(3)}\ln P_{k}^{(3,3)},\\
\hat{x}_{k}^{(3)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(4)}\right)^{2},\;\hat{x}_{k}^{(4)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(4)}\ln P_{k}^{(4,4)}.\end{gather*}

\end_inset

Ale i takový soubor základních funkcí může být příliš velký, proto byla
 zkoušena i možnost s vynecháním prvních dvou členů 
\begin_inset Formula $\hat{x}_{k}$
\end_inset

, tedy proudů 
\begin_inset Formula $i_{\alpha}$
\end_inset

 a 
\begin_inset Formula $i_{\beta}$
\end_inset

.
 Naopak byly přidány kvadráty logaritmů variancí.
 Druhý možný soubor je tedy
\begin_inset Formula \begin{gather*}
1,\;\hat{x}_{k}^{(3)},\;\hat{x}_{k}^{(4)},\;\ln P_{k}^{(3,3)},\;\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(3)}\right)^{2},\;\hat{x}_{k}^{(3)}\hat{x}_{k}^{(4)},\\
\hat{x}_{k}^{(3)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(3)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(4)}\right)^{2},\;\hat{x}_{k}^{(4)}\ln P_{k}^{(3,3)},\\
\hat{x}_{k}^{(4)}\ln P_{k}^{(4,4)},\;\left(\ln P_{k}^{(3,3)}\right)^{2},\;\ln P_{k}^{(3,3)}\ln P_{k}^{(4,4)},\;\left(\ln P_{k}^{(4,4)}\right)^{2}.\end{gather*}

\end_inset


\end_layout

\begin_layout Standard
Aproximace řízení byly volena a zkoušena v několika různých tvarech.
 Jednalo se o přímovazební řízení 
\begin_inset Formula $\pi(k,x)=\overline{u}_{k}$
\end_inset

, kde hodnotu řízení 
\begin_inset Formula $\overline{u}_{k}$
\end_inset

 získáme jako střední hodnotu přes vzorky 
\begin_inset Formula $n$
\end_inset

 všech řízení 
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none

\begin_inset Formula $\left\{ u^{(n)}\right\} $
\end_inset

 v čase 
\begin_inset Formula $k$
\end_inset

.
 Dále, protože se jedná o točivý stroj, byla testována zpětnovazební aproximace
 řízení ve tvaru lineární kombinace funcí 
\begin_inset Formula $\sin\vartheta,\;\cos\vartheta,\;\sin^{2}\vartheta,\;\cos^{2}\vartheta$
\end_inset

.
 Nakonec byla ještě zkoušena aproximace získaná vyjádřením veličiny 
\begin_inset Formula $u_{k}$
\end_inset

 z rovnic systému a doplnění o koeficienty po vzoru nalezení aproximace
 řízení v 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:iLDP-js-implementace"

\end_inset

.
\end_layout

\begin_layout Subsubsection
Problém aplikace iLDP
\end_layout

\begin_layout Standard
Žádný z výše uvedených postupů nevedl k nalezení funkčního řízení, pro zadaný
 problém synchronního motoru s permanentními magnety.
 Jako zásadní problém zde shledávám netriviální úkol nalezení vhodných aproximac
í.
 V případě vícerozměrného nelineárního systému to může být velmi náročné
 a nahodilé zkoušení volby různých aproximací zřejmě nemusí vést k cíli.
 Jednou z možností je, vyjít z jednodušší metody, například LQG nebo modifikovan
é iLQG, a aproximace vytvořit po vzoru jejích funkcí.
 Pak bychom však obdrželi v podstatě stejně 
\begin_inset Quotes gld
\end_inset

přesnou
\begin_inset Quotes grd
\end_inset

 metodu, jako je ta, ze které jsme vyšli, jenom by byl náš algoritmus iLDP
 časově náročnější z důvodu numerických výpočtů.
 Vhodným kandidátem na metodu z níž by bylo možné vyjít je algoritmus LQG,
 pomocí kterého se podařilo implementovat funkční řízení.
\end_layout

\begin_layout Subsection
Algoritmus LQG
\end_layout

\begin_layout Standard
Zde navržený algoritmu LQG není duální, neurčitosti v systému tedy zvládá
 hůře než případná duální metoda.
 Dále algoritmus předpokládá lineární systém a kvadratickou ztrátu.
 Ztrátu jsme, z důvodu jednoduchosti, jako kvadratickou volili již na počátku,
 je ale třeba linearizovat systém v každém časovém kroku.
 Dále LQG je založeno na principu separace, tedy estimátor a regulátor navrhujem
e zvlášť.
 Estimátorem zvolíme rozšířený Kalmanův filtr, jehož rovnice jsou uvedeny
 v části 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Úprava-rovnic-PMSM"

\end_inset

.
 Jako regulátor použijeme LQ regulátor, který je popsán v 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:LQGkp1"

\end_inset

.
\end_layout

\begin_layout Subsubsection
Požadovaná hodnota
\end_layout

\begin_layout Standard
Protože jednoduchý systém v 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Jednoduchý-systém-pro-testovani"

\end_inset

 byl lineární, bylo prakticky jedno, na jakou požadovanou hodnotu jej řídíme.
 Díky linearitě můžeme totiž hodnoty vždy posunout.
 Regulátor LQ je navržen pro lineární systém, předpokládá tedy linearitu
 a hledá řízení pouze na nulovou hodnotu.
 Tedy snaží se minimalizovat odchylku od nuly.
 Zde uvažovaný systém je ale nelineární a když chceme řídit na nenulovou
 požadovanou hodnotu, v tomto případě jde o požadované otáčky 
\begin_inset Formula $\overline{\omega}$
\end_inset

, nelze pouze nalézt LQ řízení na nulu a následně řešení posunout.
 Je proto třeba požadovanou hodnotu již od počátku zahrnout do našich uvažování
 a přidat ji do systému jako novou stavovou proměnou, byť může být v celém
 časovém vývoji systému konstantní.
\end_layout

\begin_layout Standard
Provedeme tedy substituci.
 Chceme 
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
řídít na nulu 
\begin_inset Formula $\omega_{k}-\overline{\omega}_{k}$
\end_inset

 rozdíl skutečných a požadovaných otáček, tuto veličinu tedy označíme jako
 
\begin_inset Formula $\psi_{k}$
\end_inset

 a následně 
\begin_inset Formula $\psi_{k}=\omega_{k}-\overline{\omega}_{k}$
\end_inset

.
 Z tohoto výrazu si můžeme vyjádřit stavovou proměnou otáček jako 
\begin_inset Formula $\omega_{k}=\psi_{k}+\overline{\omega}_{k}$
\end_inset

.
 Nyní v rovnicích 
\begin_inset CommandInset ref
LatexCommand ref
reference "eq:pmsmdiskretni"

\end_inset

 dosadíme za 
\begin_inset Formula $\omega_{k}$
\end_inset

 a přidáním další rovnice pro vývoj požadované hodnoty 
\begin_inset Formula $\overline{\omega}_{k}$
\end_inset

 získáme rovnice nového systému v pěti stavových proměnných 
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color inherit

\begin_inset Formula \begin{eqnarray*}
i_{\alpha,k+1} & = & ai_{\alpha,k}+b\left(\psi_{k}+\overline{\omega}_{k}\right)\sin\vartheta_{k}+cu_{\alpha,k},\\
i_{\beta,k+1} & = & ai_{\beta,k}-b\left(\psi_{k}+\overline{\omega}_{k}\right)\cos\vartheta_{k}+cu_{\beta,k},\\
\psi_{k+1} & = & d\left(\psi_{k}+\overline{\omega}_{k}\right)-\overline{\omega}_{k+1}+e\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right),\\
\vartheta_{k+1} & = & \vartheta_{k}+\left(\psi_{k}+\overline{\omega}_{k}\right)\Delta k,\\
\overline{\omega}_{k+1} & = & \overline{\omega}_{k}.\end{eqnarray*}

\end_inset

Současně se nám ale ztráta v každém časovém kroku 
\begin_inset Formula $k$
\end_inset

 změní na
\begin_inset Formula \[
l(x_{k},u_{k})=\psi_{k}^{2}+r(u_{\alpha,k}^{2}+u_{\beta,k}^{2})=\psi_{k}^{T}Q\psi_{k}+u_{k}^{T}Ru_{k}.\]

\end_inset


\end_layout

\begin_layout Subsubsection
LQG řízení
\end_layout

\begin_layout Standard
Nyní můžeme na matice popisující systém
\begin_inset Formula \begin{eqnarray*}
A_{k} & = & \frac{d}{dx_{k}}g(x_{k},u_{k})\\
 & = & \left(\begin{array}{ccccc}
a & 0 & b\sin\vartheta_{k} & b\left(\psi_{k}+\overline{\omega}_{k}\right)\cos\vartheta_{k} & b\sin\vartheta_{k}\\
0 & a & -b\cos\vartheta_{k} & b\left(\psi_{k}+\overline{\omega}_{k}\right)\sin\vartheta_{k} & -b\cos\vartheta_{k}\\
-e\sin\vartheta_{k} & e\cos\vartheta_{k} & d & -e\left(i_{\alpha,k}\cos\vartheta_{k}+i_{\beta,k}\sin\vartheta_{k}\right) & \left(d-1\right)\\
0 & 0 & \Delta k & 1 & \Delta k\\
0 & 0 & 0 & 0 & 1\end{array}\right),\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Standard
\begin_inset Formula \begin{eqnarray*}
B_{k}=\frac{d}{du_{k}}g(x_{k},u_{k}) & = & \left(\begin{array}{cc}
c & 0\\
0 & c\\
0 & 0\\
0 & 0\\
0 & 0\end{array}\right),\\
C_{k}=\frac{d}{dx_{k}}h(x_{k}) & = & \left(\begin{array}{ccccc}
1 & 0 & 0 & 0 & 0\\
0 & 1 & 0 & 0 & 0\end{array}\right),\\
Q & = & \left(\begin{array}{ccccc}
0 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & 0 & 0\\
0 & 0 & 1 & 0 & 0\\
0 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & 0 & 0\end{array}\right),\\
R & = & \left(\begin{array}{cc}
r & 0\\
0 & r\end{array}\right),\end{eqnarray*}

\end_inset

aplikovat rovnice pro rozšířený Kalmanův filtr a LQ regulátor.
 Přičemž konkrétní hodnoty počátečních hodnot a parametrů budou specifikovány
 v kapitole 
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Výsledky"

\end_inset

.
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Chapter
Výsledky
\begin_inset CommandInset label
LatexCommand label
name "cha:Výsledky"

\end_inset


\end_layout

\begin_layout Section
Metodika zpracování a získávání výsledků
\end_layout

\begin_layout Standard
Pro testované systémy viz kapitola
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Systémy-pro-testování"

\end_inset

, byly jednotlivé algoritmy implementovány jako funkce programu 
\emph on
Matlab
\emph default
.
 Vstupními hodnotami byla nastavení jednotlivých počátečních podmínek a
 parametrů pro výpočet.
 Jednotlivé algoritmy pak byly volány ze skriptu programu 
\emph on
Matlab
\emph default
 se stejným nastavením hodnot.
 Návratovými hodnotami jednotlivých funkcí reprezentujících algoritmy pak
 byla dosažená hodnota ztráty a posloupnost reprezentující diskrétní trajektorii
 systému ve stavovém prostoru.
 Hodnota ztráty 
\begin_inset Formula $J_{alg}$
\end_inset

 byla pro účely porovnání algoritmů formulována stejně, jako součet kvadrátů
 odchylek výstupu od požadované hodnoty, tedy
\begin_inset Formula \[
J_{alg}=\sum_{k=0}^{N-1}\left(y_{k+1}-r_{k+1}\right)^{2}.\]

\end_inset

Při porovnávání jednotlivých algoritmů nebyly samozřejmě uvažovány výsledky
 jednoho běhu výpočtu, ale provedlo se běhů více a následně byly výsledky
 zpracovány statisticky.
\end_layout

\begin_layout Subsection
Funkce pro jednoduchý systém
\end_layout

\begin_layout Standard
Všechny konkrétní funkce programu 
\emph on
Matlab
\emph default
 reprezentující jednotlivé algoritmy mají stejnou strukturu.
 Na počátku dostanou jako své vstupní hodnoty parametry:
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
\begin_inset Formula $y_{0}$
\end_inset

 počáteční hodnota proměnné 
\begin_inset Formula $y$
\end_inset

, tedy hodnota 
\begin_inset Formula $y_{k}$
\end_inset

 v čase 
\begin_inset Formula $k=0$
\end_inset

;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
\begin_inset Formula $y_{r}$
\end_inset

 požadovaná hodnota 
\begin_inset Formula $y$
\end_inset

, referenční signál;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
\begin_inset Formula $\mathrm{E}b$
\end_inset

 střední hodnota neznámého parametru 
\begin_inset Formula $b$
\end_inset

;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
\begin_inset Formula $P$
\end_inset

 variance neznámého parametru 
\begin_inset Formula $b$
\end_inset

;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
\begin_inset Formula $\sigma^{2}$
\end_inset

 variance šumu;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
\begin_inset Formula $K$
\end_inset

 časový horizont, pro který navrhujeme řízení;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000
\begin_inset Formula $N$
\end_inset

 počet vzorkových trajektorií pro simulaci.
\end_layout

\begin_layout Standard
Následně proběhne výpočet řízení na základě konkrétního algoritmu, zpravidla
 podle rovnic a vzorců popsaných v části 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Jednoduchý-systém-pro-testovani"

\end_inset

.
 Dále je provedena simulace běhu systému s použítím řízení získaného v předchozí
m kroku.
 V průběhu této simulace je vypočítána hodnota dosažené ztráty a posloupnost
 odpovídající trajektorie systému.
 Tyto veličiny charakterizující použití daného algoritmu na jednoduchý systém
 jsou na závěr vráceny jako návratové hodnoty funkce.
\end_layout

\begin_layout Section
Výsledky algoritmu iLDP
\end_layout

\begin_layout Subsection
Různá počáteční nastavení
\end_layout

\begin_layout Standard
(testování možná i jen pro iLDP bez ostatních)
\end_layout

\begin_layout Standard
(použité počáteční hodnoty)
\end_layout

\begin_layout Section
Výsledky ostatních použitých metod
\end_layout

\begin_layout Subsection
Pozorované výsledky 
\end_layout

\begin_layout Standard
(získané výsledky v podobě tabulek, grafů a bar-grafů)
\end_layout

\begin_layout Standard
(slovní závěry pro jednotlivé metody)
\end_layout

\begin_layout Standard
(charakteristické rysy budou rekapitulovány v závěru)
\end_layout

\begin_layout Subsection
CE
\end_layout

\begin_layout Subsection
LQG
\end_layout

\begin_layout Subsection
iLQG
\end_layout

\begin_layout Section
Srovnání
\end_layout

\begin_layout Subsection
Získané výsledky
\end_layout

\begin_layout Subsection
Porovnání algoritmů
\end_layout

\begin_layout Subsection
Konfrontace s prvotními očekáváními
\end_layout

\begin_layout Section
Diskuze pro metodu iLDP
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Addchap
Závěr
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
addcontentsline{toc}{chapter}{Literatura}
\end_layout

\begin_layout Plain Layout


\backslash
markboth{Literatura}{Literatura}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset CommandInset bibtex
LatexCommand bibtex
btprint "btPrintAll"
bibfiles "bpzdroje"
options "czechiso"

\end_inset


\end_layout

\end_body
\end_document
