#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
Především bych chtěl poděkovat vedoucímu práce Ing.
 Václavu Šmídlovi, Ph.D.
 za odborné vedení, cenné rady a připomínky.
 Dále pak svým rodičům za poskytnuté zázemí a v neposlední řadě i své přítelkyni
 Bc.
 Pavle Procházkové za trpělivost a podporu.
 
\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
Abstrakt:
\emph default
 Tato práce se zabývá algoritmem 
\emph on
iterativního lokálního dynamického programování 
\emph default
jako jednou z metod pro řešení problému duálního řízení.
 Zmiňovaný algoritmus byl implementován pro jednoduchý systém, integrátor
 s neznámým ziskem.
 Dosažené výsledky byly porovnány s řízením získaným pomocí jiných metod,
 zejména použitím principu separace.
 Dále byl algoritmus testován i pro složitější systém, konkrétně jde o synchronn
í motor s permanentními magnety.
 Práce obsahuje obecnou teorii týkající se duálního řízení, popis užitých
 algoritmů a systémů pro testování a konkrétní přehled získaných výsledků.
 Závěrem jsou diskutovány vlastnosti a použitelnost algoritmu 
\emph on
iterativního lokálního dynamického programování.
\end_layout

\begin_layout Description

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

slova:
\emph default
 duální řízení, dynamické programování, iterativní lokální dynamické programován
í, integrátor s neznámým ziskem, synchronní motor s permanentními magnety
\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
 The thesis is concerned with the 
\emph on
iterative local dynamic programming
\emph default
 algorithm as one of methods used for solving a dual control problem.
 The algorithm has been implemented for a simple system -- integrator with
 an unknown gain.
 Obtained results have been compared with a control designed by other methods,
 especially by using a separation principle.
 Next, the algorithm has been tested on more complicated system, namely
 permanent magnet synchronous machine.
 The thesis contains general dual control theory, used algorithms and systems
 descriptions and list of gained results.
 Lastly the features and usability of the 
\emph on
iterative local dynamic programming
\emph default
 algorithm are discussed.
 
\end_layout

\begin_layout Description

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

words:
\emph default
 dual control, dynamic programming, iterative local dynamic programming,
 integrator with unknown gain, permanent magnet synchronous machine
\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

\emph on
iLDP
\emph default
 iterativní lokální dynamické programování
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000

\emph on
LQG
\emph default
 lineárně kvadraticky gaussovské řízení (Linear-Quadratic-Gaussian)
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000

\emph on
iLQG
\emph default
 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říslušné čidlo nebo měřící
 přístroj nemůžeme nebo nechceme (například z důvodu 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ě počátečních 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áhli 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
(
\emph on
iLDP
\emph default
) 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ž 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áni 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 
\emph on
iLDP
\emph default
 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
 strategií.
 Na základě získaných výsledků posoudit výhody a nevýhody algoritmu a jeho
 použitelnost pro další úlohy.
\end_layout

\begin_layout Standard
Hlavním přínosem práce je otestování vlastností algoritmu 
\emph on
iLDP
\emph default
 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 
\emph on
iLDP
\emph default
 a řízení získaného pomocí principu separace jsou, že 
\emph on
iLDP
\emph default
 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í.
\end_layout

\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Chapter
Teorie duálního řízení
\begin_inset CommandInset label
LatexCommand label
name "cha:Teorie-duálního-řízení"

\end_inset


\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ýstupů,
 což jsou hodnoty, 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 dostává 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ůsobených 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ámé 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á se 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 se 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
Dále budeme v textu předpokládat konečný časový horizont a ztrátovou funkci
 aditivní v čase.
 Je samozřejmě možno uvažovat i složitější úlohy řízení systémů nevyhovujících
 těmto požadavků, těmi se však zabývat nebudeme.
\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ěnná, 
\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é množ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é programování 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 se jedná 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
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šině 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ískali 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ě informací 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
Systém
\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

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

 považujeme za 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

 je 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 nalezení 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

extremální
\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 nelze 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
iterativní LQG
\emph default
 (
\emph on
iLQG
\emph default
).
 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 
\emph on
iLQG
\emph default
 je, že jejím výsledkem je zpětnovazební řízení.
 Metoda je ale stále deterministická a nedokáže se vypořádat s nekvadratický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á 
\emph on
iLQG
\emph default
, která bude použita pro srovnání s ústřední metodou této práce 
\emph on
iLDP
\emph default
.
 Dále pak do kategorie smíšených metod spadá právě i metoda 
\emph on
iLDP
\emph default
, která bude podrobně popsána v následující kapitole.
 
\end_layout

\begin_layout Chapter
Algoritmy pro návrh řízení
\begin_inset CommandInset label
LatexCommand label
name "cha:Algoritmy-pro-návrh"

\end_inset


\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í 
\emph on
LQG
\emph default
 (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
 funkcí a Gaussovským šumem.
 Existují však různé modifikace i pro nelineární systémy.
 Algoritmus 
\emph on
LQG
\emph default
 je založen právě na 
\emph on
principu separace
\emph default
,
\emph on
 
\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í (
\emph on
iLQG
\emph default
) pro účely nalezení lokálního zpětnovazebního řízení nelineárních stochastickýc
h 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 
\emph on
LQG
\emph default
, 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 linearizo
vaným nelineárním systémem pro zajištění konvergence algoritmu.
 Samotný algoritmus je odvozen a detailně popsán 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 
\emph on
iLDP
\emph default
 byl vytvořen pro účely nalezení stochastického optimálního řízení v mnohadimenz
ioná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ínit, ž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 Hamilton-Jacobi-Bellmanovy 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
,
\emph on
 
\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 
\emph on
iLDP
\emph default
, jedná se současně i o největší slabinu, protože autoři explicitně neuvádě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í nejen v č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
\begin_inset CommandInset label
LatexCommand label
name "sub:Předběžný-odhad-vlatností"

\end_inset


\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 
\emph on
iLDP
\emph default
 jsou patrny pouze při letmém prostudování 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
 
\emph on
LQG
\emph default
)
\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ů) a svoboda 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 a problémy
 s jejich volbou
\end_layout

\begin_layout Itemize
implementační složitost
\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 & \mathcal{N}(\hat{b},P),\label{eq:simplesystem}\\
e_{k} & \sim & \mathcal{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ém 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 střední hodnota počíta přes 
\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ískané ří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áhneme-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 
\emph on
LQG
\emph default
 (
\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
 funkcí a gaussovským šumem.
 To je sice případ zde uvažovaného 
\emph on
jednoduchého systému
\emph default
, ale algoritmus 
\emph on
LQG
\emph default
 není v základní implementaci 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:LQGkp1"

\end_inset

 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

.
 
\emph on
LQG
\emph default
 algoritmus využívá Kalmanova filtru a dokáže tedy lépe zvládat šumy a nepřesnos
ti 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í 
\emph on
LQG
\emph default
 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 Standard

\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Tato verze 
\family default
\series default
\shape default
\size default
\emph on
\bar default
\noun default
\color inherit
LQG
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
 řízení je aplikována na upravené rovnice systému s postačující statistikou
 a je tedy na místě otázka, zda se již jedná o duální přístup.
 Na tomto místě je však těžké pouze na základě tvaru rovnic odpovědět, a
 proto bude tento problém diskutován až na základě výsledků simulací v kapitole
 
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Výsledky"

\end_inset

.
\end_layout

\begin_layout Subsection
iLQG
\end_layout

\begin_layout Standard
Metoda 
\emph on
iLQG
\emph default
 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
 
\emph on
iLQG
\emph default
 řízení, můžeme převzít z předchozí části o aplikaci 
\emph on
LQG
\emph default
 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 Standard
Obdobná otázka jako v předchozím případě řízení 
\emph on
LQG
\emph default
, zda se jedná o duální metodu, bude opět diskutována na základě výsledků
 simulací v kapitole 
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Výsledky"

\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\mathcal{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 
\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ákladních 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
\begin_inset CommandInset label
LatexCommand label
name "sec:Synchronní-motor-PMSP-upravy"

\end_inset


\end_layout

\begin_layout Subsection
Popis systému
\end_layout

\begin_layout Standard
Následující model popisuje synchronní elektromotor 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ů pólů 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 parametry 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 nulový 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 & \mathcal{N}\left(g(x_{k}),M_{k}\right),\\
y_{k} & \sim & \mathcal{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 
\emph on
iLDP
\emph default
 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 je zde uveden postup aplikace tohoto algoritmu.
\end_layout

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

\begin_layout Standard
Pro aplikaci 
\emph on
iLDP
\emph default
 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

, jednalo 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 
\emph on
iLDP
\emph default
 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 funkcí 
\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 
\emph on
LQG
\emph default
 nebo modifikované 
\emph on
iLQG
\emph default
, 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
\emph on
 iLDP
\emph default
 č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
 
\emph on
LQG
\emph default
, 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ý algoritmus 
\emph on
LQG
\emph default
 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 
\emph on
LQG
\emph default
 je založeno na principu separace, tedy estimátor a regulátor navrhujeme
 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ěnnou, 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
řídit 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ěnnou 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
Ještě je třeba zmínit, že pro nalezení řízení synchronního motoru není využito
 
\emph on
LQG
\emph default
 návrhu přesně tak, jak byl popsán v kapitole 
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Algoritmy-pro-návrh"

\end_inset

, ale algoritmus je zde drobně vylepšen pomocí takzvaného 
\begin_inset Quotes gld
\end_inset

ubíhajícího horizontu
\begin_inset Quotes grd
\end_inset

 (v anglické literatuře označováno jako 
\begin_inset Quotes gld
\end_inset

receding horizon
\begin_inset Quotes grd
\end_inset

).
 Princip spočívá v tom, že řízení není předpočteno pro celý časový horizont,
 pro který jej navrhujeme, ale vypočteme jej pouze pro pevně stanovený pomocný
 časový horizont.
 Tento pomocný horizont pak v každém časovém kroku posouváme po původní
 celkové časové ose tak, aby pomocný horizont začínal vždy v časovém kroku
 
\begin_inset Formula $k$
\end_inset

 celkové časové osy, pro který chceme navrhnout řízení.
\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}^{K-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ě byla pro výsledky
 vypočtena jejich střední hodnota.
\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=1$
\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 $\hat{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žití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 Subsection
Testovací schémata jednoduchého systému
\end_layout

\begin_layout Standard
Pro porovnání jednotlivých algoritmů stačí zadat do skriptu konkrétní hodnoty
 parametrů, které budou pro jednotlivá schémata uvedena dále.
\end_layout

\begin_layout Standard
Jednotlivé algoritmy z části 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Jednoduchý-systém-pro-testovani"

\end_inset

 budou v následujícím textu označeny po řadě zkratkami:
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000

\emph on
CE
\emph default
 triviální CE regulátor;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000

\emph on
sLQ
\emph default
 jednoduchá verze LQ regulátoru;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000

\emph on
LQ
\emph default
 druhá verze LQG řízení s odhadem parametru 
\begin_inset Formula $b$
\end_inset

;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000

\emph on
iLQG
\emph default
 řízení iLQG;
\end_layout

\begin_layout Labeling
\labelwidthstring 00.00.0000

\emph on
iLDP
\emph default
 algoritmus iterativního lokálního dynamického programování.
\end_layout

\begin_layout Section
Výsledky algoritmů pro jednoduchý systém
\end_layout

\begin_layout Subsection
Různá počáteční nastavení
\end_layout

\begin_layout Standard
Volba počátečních nastavení, tedy parametrů skriptu pro volání funkcí, byla
 v jednotlivých testovacích schématech následující: 
\end_layout

\begin_layout Standard
Počáteční hodnota a referenční signál byly voleny jako
\begin_inset Formula \begin{eqnarray*}
y_{0} & = & 0,\\
y_{r} & = & 1.\end{eqnarray*}

\end_inset

 Z důvodu linearity úlohy je možné je libovolně posunout a přeškálovat,
 není tedy uvažováno testování pro jiné hodnoty.
 Variance šumu 
\begin_inset Formula $\sigma^{2}$
\end_inset

 je volena pomocí odchylky
\begin_inset Formula \[
\sigma=0,1.\]

\end_inset

Pro metodu 
\emph on
iLDP
\emph default
 je pak parametr okolí položen 
\begin_inset Formula $\rho=0,5$
\end_inset

, není-li uvedeno jinak.
 Časový horizont pro výpočty je 
\begin_inset Formula $K=5$
\end_inset

, což se jeví dostatečným pro dosažení požadované hodnoty.
 Dále je v testovacích schématech použit počet vzorkových trajektorií 
\begin_inset Formula $N=100$
\end_inset

.
 
\end_layout

\begin_layout Standard
Středem našeho zájmu je volba střední hodnoty a variance neznámého parametru
 
\begin_inset Formula $b$
\end_inset

.
 Zejména volbou variance 
\begin_inset Formula $P$
\end_inset

 určujeme míru neznalosti parametru a tedy i nutnost užití duální metody.
 Bude-li 
\begin_inset Formula $P$
\end_inset

 velmi malé, skutečná hodnota 
\begin_inset Formula $b$
\end_inset

 se přiblíží střední hodnotě 
\begin_inset Formula $\hat{b}$
\end_inset

 a dobré řízení nám poskytnou i neduální metody založené na předpokladu,
 že 
\begin_inset Formula $b=\hat{b}$
\end_inset

.
 S rostoucí variancí 
\begin_inset Formula $P$
\end_inset

 se však začnou vyskytovat realizace, kdy se skutečná hodnota 
\begin_inset Formula $b$
\end_inset

 výrazně odlišuje od střední hodnoty 
\begin_inset Formula $\hat{b}$
\end_inset

, a právě tam neduální metody dosáhnou příliš velké ztráty, nebo úplně selžou
 v úkolu řízení.
 Z tohoto důvodu byly testovány všechny kombinace pro volby parametrů
\begin_inset Formula \begin{eqnarray*}
\hat{b} & = & 0;\;1;\;10;\\
P & = & 0,01;\;0,1;\;1;\;10.\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsection
Výsledky porovnání algoritmů
\end_layout

\begin_layout Standard
Nyní porovnáme výsledky jednotlivých algoritmů, a to hlavně podle dosažené
 hodnoty průměrné ztráty.
 Průměrná ztráta pro každý algoritmus je počítáma jako aritmetický průměr
 
\begin_inset Formula $N$
\end_inset

 ztrát 
\begin_inset Formula $J_{alg}$
\end_inset

 dosažených pro každou z 
\begin_inset Formula $N$
\end_inset

 vzorkových simulačních trajektorií.
 Tento postup, založený na průměrné ztrátě, je volen především z důvodu
 omezení vlivu šumu, který se pro každou konkrétní realizaci může nagenerovat
 jinak, více či méně 
\begin_inset Quotes gld
\end_inset

příznivě
\begin_inset Quotes grd
\end_inset

 pro daný algoritmus.
 Pro srovnání je minimální ztráta, které algoritmus může dosáhnout, rovna
 
\begin_inset Formula $1$
\end_inset

.
 Je to způsobeno tím, že počáteční nastavení v prvním časovém kroku je voleno
 jako počáteční podmínka 
\begin_inset Formula $y_{1}=0$
\end_inset

, přičemž ale požadovaná hodnota 
\begin_inset Formula $y_{r}=1.$
\end_inset

 Ideální řízení může dosáhnout požadované hodnoty nejdříve v čase 
\begin_inset Formula $2$
\end_inset

, a tedy vždy bude ztráta nejméně 
\begin_inset Formula $1$
\end_inset

.
 Dále je třeba uvažovat chybu v důsledku šumu, který se generuje náhodně.
 Řízení se s ním ale vypořádává až následně, tedy nelze chybě v důsledku
 šumu předcházet a je ji nutno zahrnout do uvažování o minimální možné ztrátě.
 Naopak, pro srovnání, když uvažujeme nulové řízení na celém časovém horizontu,
 hodnota 
\begin_inset Formula $y_{k}$
\end_inset

 se drží přibližně, až na odchylky v důsledku šumu, na nulové hodnotě.
 Tento stav můžeme zřejmě označit za nesplnění našeho cíle řízení, protože
 veličina 
\begin_inset Formula $y_{k}$
\end_inset

 zůstává konstantně na nule, i když se chceme dostat na 
\begin_inset Formula $y_{r}=1$
\end_inset

.
 Přitom ztráta dosažená v tomto negativním případě je na zvoleném časovém
 horizontu rovna 
\begin_inset Formula $J=5$
\end_inset

.
\end_layout

\begin_layout Standard
Při porovnávání výsledků pro všechny volby parametrů 
\begin_inset Formula $\hat{b}$
\end_inset

 a 
\begin_inset Formula $P$
\end_inset

 je postupováno s rostoucí variancí, od nejnižšího 
\begin_inset Formula $P$
\end_inset

 až k 
\begin_inset Formula $P$
\end_inset

 nejvyššímu, tedy ve směru růstu potřeby duálního přístupu.
\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\begin_inset Graphics
	filename barsall.eps

\end_inset


\begin_inset Caption

\begin_layout Plain Layout
Dosažené ztráty algoritmů pro jednotlivé volby variance 
\begin_inset Formula $P$
\end_inset

 (na osách 
\begin_inset Formula $y$
\end_inset

 je hodnota dosažené ztráty, na osách 
\begin_inset Formula $x$
\end_inset

 představují čísla 
\begin_inset Formula $1-5$
\end_inset

 jednotlivé algoritmy, barevně jsou odlišeny hodnoty dle volby střední hodnoty
 
\begin_inset Formula $\hat{b}$
\end_inset

 -- v legendě označena jen 
\begin_inset Formula $b$
\end_inset

) 
\end_layout

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "Flo:barsall"

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Subsubsection
Volba variance 
\begin_inset Formula $P=0,01$
\end_inset


\end_layout

\begin_layout Standard
Při porovnání průměrných ztrát pro 
\begin_inset Formula $\hat{b}=10$
\end_inset

 a 
\begin_inset Formula $\hat{b}=1$
\end_inset

 v grafu Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:barsall"

\end_inset

, kde je volena malá variance 
\begin_inset Formula $P=0,01$
\end_inset

, je vidět, že i neduální metody poskytují dobré řízení.
 Rozdíly ztrát jsou téměř zanedbatelné, a která metoda dosáhla nepatrně
 vyšší nebo nižší ztráty je ovlivněno prakticky jen konkrétní realizací
 šumu.
 
\end_layout

\begin_layout Standard
Velký problém však nastává při volbě 
\begin_inset Formula $\hat{b}=0$
\end_inset

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

 je nulová a jeho variance je velmi malá.
 Z tohoto důvodu je naprostá většina skutečných realizací parametru 
\begin_inset Formula $b$
\end_inset

 velmi blízko nule, a právě to způsobuje některým algoritmům značné problémy.
 Jedná se zejména o algoritmus 
\emph on
sLQ
\emph default
, jehož řešení a následně i ztráta jsou nedefinovány (
\begin_inset Quotes gld
\end_inset

NaN
\begin_inset Quotes grd
\end_inset

 v grafu je z anglického Not-a-Number; tuto hodnotu produkuje program 
\emph on
Matlab
\emph default
 při nedefinované operaci, nejčastěji typu 
\begin_inset Formula $0\cdot\infty$
\end_inset

).
 Dále značně velké ztráty dosahuje algoritmus 
\emph on
CE
\emph default
.
 Jak bylo zmíněno v části 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Aplikace-metody-CE-naJS"

\end_inset

, tato metoda má problematické chování, když se skutečná hodnota 
\begin_inset Formula $b$
\end_inset

 blíží k 
\begin_inset Formula $0$
\end_inset

.
 Částečně tento problém řeší přidání pomocného parametru 
\begin_inset Formula $\varepsilon$
\end_inset

, avšak ztráta stále dosahuje velmi vysokých hodnot a algoritmus se v tomto
 případě jeví nepoužitelným.
\end_layout

\begin_layout Standard
Vyšší hodnoty průměrné ztráty dosahuje i algoritmus 
\emph on
iLDP
\emph default
, který v implementaci použité v této práci vykazuje obecně špatné chování
 v blízkosti nulové hodnoty pro neznámý parametr 
\begin_inset Formula $b$
\end_inset

.
 Tento problém bude ještě podrobněji rozebrán v diskuzi k této metodě.
\end_layout

\begin_layout Subsubsection
Volba variance 
\begin_inset Formula $P=0,1$
\end_inset


\end_layout

\begin_layout Standard
Dosažené průměrné ztráty na grafu Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:barsall"

\end_inset

 pro vyšší hodnotu variance 
\begin_inset Formula $P=0,1$
\end_inset

 jsou pro střední hodnoty 
\begin_inset Formula $\hat{b}=10$
\end_inset

 a 
\begin_inset Formula $\hat{b}=1$
\end_inset

 opět přibližně stejné u všech algoritmů.
 Je zde ale již patrný vliv větší variance, kdy nejjednodušší algoritmy
 
\emph on
CE
\emph default
 a 
\emph on
sLQ
\emph default
 dosahují průměrné ztráty nepatrně vyšší.
\end_layout

\begin_layout Standard
V případě střední hodnoty neznámého parametru rovné 
\begin_inset Formula $\hat{b}=0$
\end_inset

 selhává řízení 
\emph on
sLQ
\emph default
 stejně jako pro varianci 
\begin_inset Formula $P=0,01$
\end_inset

.
 Podobně ztráta dosažená metodou 
\emph on
CE
\emph default
 je ještě o několik řádů vyšší než v předchozím případě.
 Nejznatelnější zhoršení je však na straně algoritmu 
\emph on
iLDP
\emph default
, který pro 
\begin_inset Formula $\hat{b}=0$
\end_inset

 vůbec nenalezne řešení.
 Dokonce ani v jednom z testovacích spuštění skriptu pro uvažované hodnoty
 nedoběhl algoritmus 
\emph on
iLDP
\emph default
 do konce a vždy zhavaroval v průběhu výpočtu, zpravidla kvůli počítání
 s hodnotami 
\emph on
NaN
\emph default
.
\end_layout

\begin_layout Subsubsection
Volba variance 
\begin_inset Formula $P=1$
\end_inset


\end_layout

\begin_layout Standard
Graf Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:barsall"

\end_inset

 zobrazuje hodnoty dosažených průměrných ztrát pro hodnotu variance 
\begin_inset Formula $P=1$
\end_inset

.
 Při volbě střední hodnoty 
\begin_inset Formula $\hat{b}=10$
\end_inset

 jsou průměrné ztráty velmi nízké a poměrně vyrovnané.
\end_layout

\begin_layout Standard
Střední hodnota 
\begin_inset Formula $\hat{b}=1$
\end_inset

 již může být pro některé algoritmy problematická, protože současně je variance
 volena jako 
\begin_inset Formula $P=1$
\end_inset

, a tedy značně narůstá pravděpodobnost konkrétní realizace parametru 
\begin_inset Formula $b$
\end_inset

, jehož skutečná hodnota bude velmi blízko nuly.
 Právě to se nejvýrazněji projevuje u algoritmů 
\emph on
CE
\emph default
,
\emph on
 sLQ
\emph default
 a 
\emph on
iLDP
\emph default
.
 
\end_layout

\begin_layout Standard
Volba 
\begin_inset Formula $\hat{b}=0$
\end_inset

 pak dává prakticky stejné výsledky jako předchozí případ pro 
\begin_inset Formula $P=0,1$
\end_inset

, kdy metoda 
\emph on
CE
\emph default
 dosahuje nepřijatelně velké ztráty a algortimy 
\emph on
sLQ
\emph default
 a 
\emph on
iLDP
\emph default
 vůbec nenaleznou řešení.
\end_layout

\begin_layout Subsubsection
Volba variance 
\begin_inset Formula $P=10$
\end_inset


\end_layout

\begin_layout Standard
Pro relativně velkou hodnotu variance 
\begin_inset Formula $P=10$
\end_inset

 jsou průměrné dosažené ztráty jednotlivých algoritmů zachyceny na grafu
 Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:barsall"

\end_inset

.
 Při střední hodnotě 
\begin_inset Formula $\hat{b}=10$
\end_inset

 je dosaženo nízkých a vyrovnaných hodnot ztráty.
 
\end_layout

\begin_layout Standard
Volba 
\begin_inset Formula $\hat{b}=1$
\end_inset

 je opět problematická pro metody 
\emph on
CE
\emph default
 a 
\emph on
sLQ 
\emph default
a algoritmus 
\emph on
iLDP
\emph default
 v tomto případě vůbec nenalezne řešení.
 Jako jediné použitelné se v tomto případě jeví algoritmy 
\emph on
LQ
\emph default
 a 
\emph on
iLQG
\emph default
.
\end_layout

\begin_layout Standard
Problematická volba střední hodnoty 
\begin_inset Formula $\hat{b}=0$
\end_inset

 pak dává výsledky analogické předchozím dvěma volbám variance 
\begin_inset Formula $P=1$
\end_inset

 a 
\begin_inset Formula $P=0,1$
\end_inset

, tedy algoritmy 
\emph on
sLQ 
\emph default
a 
\emph on
iLDP
\emph default
 nenalézají řešení a 
\emph on
CE
\emph default
 dosahuje extrémní průměrné ztráty.
\end_layout

\begin_layout Subsection
Chování jednotlivých algoritmů
\end_layout

\begin_layout Standard
Oproti porovnání ztrát algoritmů mezi sebou, v této části porovnáme průměrné
 ztráty každého konkrétního algorimu pro různé volby parametrů 
\begin_inset Formula $\hat{b}$
\end_inset

 a 
\begin_inset Formula $P$
\end_inset

.
 Tímto postupem získáme lepší představu, pro jaké volby parametrů je algoritmus
 vhodnější, méně vhodný, popřípadě nepoužitelný.
\end_layout

\begin_layout Subsubsection
CE
\end_layout

\begin_layout Standard
Následující tabulka obsahuje hodnoty průměrných ztrát dosažených pomocí
 metody 
\emph on
CE
\emph default
 pro různé volby parametrů 
\begin_inset Formula $\hat{b}$
\end_inset

 (řádek) a 
\begin_inset Formula $P$
\end_inset

 (sloupec).
\begin_inset Newline newline
\end_inset


\end_layout

\begin_layout Standard
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="4">
<features>
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="middle" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P\setminus\hat{b}$
\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,01
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="middle" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0432
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0909
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
4.4083e+17
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0851
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.2129
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.3361e+22
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0609
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
103.4646
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
6.2953e+25
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.2402
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
2.2735e+06
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
7.8254e+29
\end_layout

\end_inset
</cell>
</row>
</lyxtabular>

\end_inset


\begin_inset Newline newline
\end_inset


\end_layout

\begin_layout Standard
Z tabulky je patrno, že řízení 
\emph on
CE
\emph default
 dosahuje nízké ztráty při dostatečné znalosti neznámého parametru 
\begin_inset Formula $b$
\end_inset

, tedy při nízké varianci 
\begin_inset Formula $P$
\end_inset

, ovšem za předpokladu, že se se střední hodnotou parametru 
\begin_inset Formula $b$
\end_inset

 nacházíme dostatečně daleko od nuly.
 Právě nulová hodnota je pro metodu 
\emph on
CE
\emph default
 kritická, což se snažíme do jisté míry kompenzovat přidáním malého parametru
 
\begin_inset Formula $\varepsilon$
\end_inset

.
 Jak je ale vidět v posledním sloupci tabulky, pro volbu 
\begin_inset Formula $\hat{b}=0$
\end_inset

 se jeví 
\emph on
CE
\emph default
 jako nepoužitelné.
 Dále se jedná o neduální metodu; při velké varianci, a tedy neznalosti
 o skutečné hodnotě parametru 
\begin_inset Formula $b$
\end_inset

, dosahujeme velké ztráty.
\end_layout

\begin_layout Subsubsection
sLQ
\end_layout

\begin_layout Standard
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="4">
<features>
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P\setminus\hat{b}$
\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,01
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0485
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0325
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
NaN
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0635
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.2078
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
NaN
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0729
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
18.6880
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
NaN
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.1987
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
5.7873e+05
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
NaN
\end_layout

\end_inset
</cell>
</row>
</lyxtabular>

\end_inset


\begin_inset Newline newline
\end_inset


\end_layout

\begin_layout Standard

\color black
Pro algortimus 
\emph on
sLQ
\emph default
 je z tabulky průměrných ztrát zřejmé, že algoritmus zcela selhává pro střední
 hodnotu 
\begin_inset Formula $\hat{b}=0$
\end_inset

 a v tomto případě vůbec nenalézá řízení.
 Pro střední hodnoty 
\begin_inset Formula $\hat{b}=1$
\end_inset

 a 
\begin_inset Formula $\hat{b}=10$
\end_inset

, které jsou dostatečně daleko od nuly, již metoda nalézá ve většině případů
 použitelné řízení a ztráta je pak vyrovnaná, zejména při konkrétní volbě
 
\begin_inset Formula $\hat{b}=10$
\end_inset

.
 V důsledku neduálnosti algoritmu se však projevuje nárůst variance zvýšením
 průměrné ztráty.
 Při volbě 
\begin_inset Formula $\hat{b}=1$
\end_inset

 je ztráta již příliš vysoká pro variance 
\begin_inset Formula $P=1$
\end_inset

 a 
\begin_inset Formula $P=10$
\end_inset

 a řízení dosahuje nepřijatelně velké ztráty.
\end_layout

\begin_layout Subsubsection
LQ
\end_layout

\begin_layout Standard
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="4">
<features>
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P\setminus\hat{b}$
\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,01
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0323
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0461
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0237
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0447
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0994
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0592
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0626
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0252
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0622
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0762
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0329
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0472
\end_layout

\end_inset
</cell>
</row>
</lyxtabular>

\end_inset


\begin_inset Newline newline
\end_inset


\end_layout

\begin_layout Standard
Algoritmus 
\emph on
LQ
\emph default
 se jeví jako nejlepší ze zde testovaných algoritmů.
 A to ve srovnání s ostatními, ale i jak je patrno z tabulky průměrných
 ztrát.
 Dosažená hodnota průměrné ztráty je velmi nízká, a to pro všechny případy
 volby parametrů 
\begin_inset Formula $\hat{b}$
\end_inset

 a 
\begin_inset Formula $P$
\end_inset

.
 Uvažujeme samozřejmě verzi LQ řízení pro upravený systém, kdy je zahrnut
 do stavových proměnných i odhad skutečného parametru 
\begin_inset Formula $b$
\end_inset

 v podobě jeho střední hodnoty a variance jako postačující statistiky.
 Protože algoritmus nalézá dobré řízení i při vyšší neznalosti a určuje
 skutečnou hodnotu parametru 
\begin_inset Formula $b$
\end_inset

, jedná se o duální přístup.
 To můžeme pozorovat při volbě 
\begin_inset Formula $\hat{b}=0$
\end_inset

, kdy neduální přístupy selhávají kvůli předpokladu 
\begin_inset Formula $b=\hat{b}=0$
\end_inset

, ale duální metoda dokáže odhadnout skutečnou nenulovou hodnotu 
\begin_inset Formula $b$
\end_inset

 a nalézt řízení.
 
\emph on
LQ 
\emph default
je však na rozdíl od složitějších algoritmů řešen pouze linearizací v každém
 časovém kroku, ale bez aproximací a numerických výpočtů.
\end_layout

\begin_layout Subsubsection
iLQG
\end_layout

\begin_layout Standard
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="4">
<features>
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P\setminus\hat{b}$
\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,01
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0374
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0418
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.9138
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0372
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0663
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
2.1010
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0445
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.5009
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
2.2043
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0691
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.9873
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
2.2035
\end_layout

\end_inset
</cell>
</row>
</lyxtabular>

\end_inset


\begin_inset Newline newline
\end_inset


\end_layout

\begin_layout Standard
Ztráty dosažené aplikací 
\emph on
iLQG
\emph default
 na jednoduchý systém, jak je vidět v tabulce, jsou celkově relativně nízké.
 Problematičtější chování vykazuje metoda při volbě střední hodnoty 
\begin_inset Formula $\hat{b}=0$
\end_inset

, kdy se ztráta pro všechny volby variance 
\begin_inset Formula $P$
\end_inset

 pohybuje okolo 
\begin_inset Formula $2$
\end_inset

.
 I když hodnota ztráty v tomto případě není ideální, nemusí to však přímo
 znamenat nedosažení požadované hodnoty.
 Chování výstupní trajektorie je patrné z uvedených grafů v části 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Průběh-skutečné-hodnoty-y"

\end_inset

.
 Pro 
\begin_inset Formula $\hat{b}=1$
\end_inset

 začne ztráta znatelně růst až při volbě variance 
\begin_inset Formula $P=1$
\end_inset

 a více, tedy když se začnou vyskytovat realizace skutečného parametru 
\begin_inset Formula $b$
\end_inset

 blízko problematické nuly.
 Střední hodnota 
\begin_inset Formula $\hat{b}=10$
\end_inset

 pak není problematická pro žádnou hodnotu 
\begin_inset Formula $P$
\end_inset

.
 Obdobně jako pro případ algoritmu 
\emph on
LQ
\emph default
 můžeme na základě výsledků označit 
\emph on
iLQG
\emph default
 za duální algoritmus.
\end_layout

\begin_layout Subsubsection
iLDP
\end_layout

\begin_layout Standard
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="4">
<features>
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P\setminus\hat{b}$
\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,01
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0571
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0820
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
6.4312
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0423
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.1202
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
NaN
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.0432
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.5862e+016
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
NaN
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1.1097
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
NaN
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
NaN
\end_layout

\end_inset
</cell>
</row>
</lyxtabular>

\end_inset


\begin_inset Newline newline
\end_inset


\end_layout

\begin_layout Standard
Algoritmus 
\emph on
iLDP
\emph default
 se vyznačuje problematickým chováním, jak už bylo uvedeno v porovnání s
 ostatními metodami, pro skutečnou hodnotu neznámého parametru 
\begin_inset Formula $b$
\end_inset

 blízko nuly.
 V tabulce průměrných ztrát můžeme vypozorovat, že ztráta je příliš vysoká
 právě v případě, kdy je střední hodnota 
\begin_inset Formula $\hat{b}=0$
\end_inset

, a dále je-li 
\begin_inset Formula $\hat{b}=1$
\end_inset

 a současně je variance 
\begin_inset Formula $P=1$
\end_inset

 nebo 
\begin_inset Formula $P=10$
\end_inset

, tedy je vyšší pravděpodobnost výskytu realizací skutečné hodnoty 
\begin_inset Formula $b$
\end_inset

 blízkých nule.
 V ostatních případech dosahuje řízení získané pomocí algoritmu 
\emph on
iLDP
\emph default
 relativně nízké průměrné ztráty.
\end_layout

\begin_layout Subsection
Průběh skutečné hodnoty 
\begin_inset CommandInset label
LatexCommand label
name "sub:Průběh-skutečné-hodnoty-y"

\end_inset


\end_layout

\begin_layout Standard
Pro ilustraci vývoje hodnoty veličiny 
\begin_inset Formula $y$
\end_inset

, kterou chceme řídit z 
\begin_inset Formula $y_{0}$
\end_inset

 na požadovanou hodnotu 
\begin_inset Formula $y_{r}$
\end_inset

, jsou v této části uvedeny příklady grafů průběhů 
\begin_inset Formula $y$
\end_inset

 pro jednotlivé algoritmy.
\end_layout

\begin_layout Itemize
Na grafech Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:porovnani-prubehu-y"

\end_inset

 je možné porovnat průběhy 
\begin_inset Formula $y$
\end_inset

 jako řešení jednotlivých algoritmů.
 V obou případech je volena střední hodnota 
\begin_inset Formula $\hat{b}=1$
\end_inset

 a variance je na prvním grafu 
\begin_inset Formula $P=0,01$
\end_inset

 a na druhém 
\begin_inset Formula $P=0,1$
\end_inset

.
 Je možno pozorovat, jak s rostoucí variancí poskytují některé algoritmy
 horší výsledek.
 
\begin_inset Float figure
wide false
sideways false
status collapsed

\begin_layout Plain Layout
\begin_inset Graphics
	filename comptray.eps
	scale 90

\end_inset


\begin_inset Caption

\begin_layout Plain Layout
Porovnání průběhu hodnoty 
\begin_inset Formula $y$
\end_inset

 pro jednotlivé algoritmy
\end_layout

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "Flo:porovnani-prubehu-y"

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Itemize
Grafy Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:prubehy-y-js"

\end_inset

 (
\emph on
CE
\emph default
) zobrazují průběhy hodnot 
\begin_inset Formula $y$
\end_inset

 při užití řízení 
\emph on
CE
\emph default
.
 Je volena střední hodnota 
\begin_inset Formula $\hat{b}=1$
\end_inset

 a postupně všechny testované variance 
\begin_inset Formula $P$
\end_inset

.
 Každá z barevných čar pak reprezentuje jednu vzorkovou trajektorii, kterých
 bylo celkem 
\begin_inset Formula $100$
\end_inset

.
 Šum způsobuje, že každá z generovaných trajektorií má trochu jiný průběh,
 a tedy všechny nesplývají v jednu, ale tvoří jakousi 
\begin_inset Quotes gld
\end_inset

trubici
\begin_inset Quotes grd
\end_inset

.
 To je nejvíce patrné zejména pro volbu variance 
\begin_inset Formula $P=0,01$
\end_inset

.
 Průměrováním této 
\begin_inset Quotes gld
\end_inset

trubice
\begin_inset Quotes grd
\end_inset

 je pak získávána průměrná trajektorie použitá například v grafu Obrázek
 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:porovnani-prubehu-y"

\end_inset

.
 Při vyšších variancích 
\begin_inset Formula $P$
\end_inset

 se pak již projevuje i vliv chyby v důsledku neznalosti skutečné hodnoty
 parametru 
\begin_inset Formula $b$
\end_inset

, protože jej předpokládáme rovný jeho střední hodnotě.
 Pro 
\begin_inset Formula $P=0,1$
\end_inset

 lze pozorovat, že některé trajektorie, jedná se o ty, kdy je skutečná hodnota
 
\begin_inset Formula $b$
\end_inset

 blízko střední hodnotě 
\begin_inset Formula $\hat{b}$
\end_inset

, mají požadovaný průběh.
 Naopak lze zřetelně odlišit případy, kdy došlo k nepříznivé realizaci 
\begin_inset Formula $b$
\end_inset

.
 V těchto případech 
\begin_inset Formula $y$
\end_inset

 vůbec nedosahuje požadované hodnoty 
\begin_inset Formula $y_{r}$
\end_inset

 a naopak kolem ní osciluje.
 Při volbě ještě větších variancí pak narůstá četnost trajektorií, které
 místo přiblížení požadované hodnotě dokonce divergují.
 
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\begin_inset Tabular
<lyxtabular version="3" rows="6" columns="2">
<features>
<column alignment="center" valignment="middle" width="0">
<column alignment="center" valignment="middle" width="0">
<row>
<cell alignment="center" valignment="middle" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename tubeCE.eps
	scale 44

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="middle" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename tubeSLQ.eps
	scale 44

\end_inset


\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\emph on
CE
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="middle" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\emph on
sLQ
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="middle" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename tubeLQ.eps
	scale 44

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="middle" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename tubeILQG.eps
	scale 44

\end_inset


\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\emph on
LQ
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="middle" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\emph on
iLQG
\end_layout

\end_inset
</cell>
</row>
<row>
<cell multicolumn="1" alignment="center" valignment="middle" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename tubeILDP.eps
	scale 44

\end_inset


\end_layout

\end_inset
</cell>
<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\end_layout

\end_inset
</cell>
</row>
<row>
<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\emph on
iLDP
\end_layout

\end_inset
</cell>
<cell multicolumn="2" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\end_layout

\end_inset
</cell>
</row>
</lyxtabular>

\end_inset


\begin_inset Caption

\begin_layout Plain Layout
Průběhy hodnot 
\begin_inset Formula $y$
\end_inset

 při volbě 
\begin_inset Formula $\hat{b}=1$
\end_inset

 pro jednotlivé algoritmy
\end_layout

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "Flo:prubehy-y-js"

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Itemize
Průběhy 
\begin_inset Formula $y$
\end_inset

 při volbě 
\begin_inset Formula $\hat{b}=1$
\end_inset

 s 
\emph on
sLQ
\emph default
 řízením jsou zobrazeny na grafech Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:prubehy-y-js"

\end_inset

 (
\emph on
sLQ
\emph default
).
 Význam jednotlivých barevných čar je v tomto i následujících bodech analogický
 jako v předchozím bodě.
 Podobně je možno pozorovat růst počtu 
\begin_inset Quotes gld
\end_inset

nevyhovujících
\begin_inset Quotes grd
\end_inset

 trajektorií 
\begin_inset Formula $y$
\end_inset

 s růstem variance 
\begin_inset Formula $P$
\end_inset

.
 
\end_layout

\begin_layout Itemize
Při 
\emph on
LQ
\emph default
 řízení, s průběhy 
\begin_inset Formula $y$
\end_inset

 na grafech Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:prubehy-y-js"

\end_inset

 (
\emph on
LQ
\emph default
), je dosaženo dobrých výsledků, kdy 
\begin_inset Formula $y$
\end_inset

 již od času 
\begin_inset Formula $2$
\end_inset

 sleduje požadovanou hotnotu 
\begin_inset Formula $y_{r}$
\end_inset

.
 Samozřejmě je zde nutno přihlédnout k chybě v důsledku šumu, tedy jednotlivé
 vzorkové trajektorie opět tvoří 
\begin_inset Quotes gld
\end_inset

trubici
\begin_inset Quotes grd
\end_inset

 okolo požadované hodnoty.
 
\end_layout

\begin_layout Itemize
Grafy Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:prubehy-y-js"

\end_inset

 (
\emph on
iLQG
\emph default
) zobrazují trajektorie 
\begin_inset Formula $y$
\end_inset

 pro 
\emph on
iLQG
\emph default
 řízení.
 Zde je zajímavé, že narozdíl od případů pro 
\emph on
CE
\emph default
 a 
\emph on
sLQ
\emph default
 řízení, kdy docházelo k oscilacím a divergujícím trajektoriím, v tomto
 případě dochází spíše k odchýlení trajektorie od požadovaného průběhu.
 První dvě řízení totiž nejsou duální a užíváme principu 
\begin_inset Quotes gld
\end_inset

certainty equivalence
\begin_inset Quotes grd
\end_inset

.
 Tedy algoritmy navrhnou řídící zákrok, ten je ale vzhledem k chybnému předpokla
du o hodnotě parametu 
\begin_inset Formula $b$
\end_inset

 špatný a 
\begin_inset Formula $y$
\end_inset

 nabude jiné hodnoty, než jsme zamýšleli.
 V dalším kroku se snažíme vrátit, ale řídící zákrok je opět špatný.
 Následně může dojít k oscilacím nebo dokonce k divergenci.
 Chyby jsou zde způsobeny velkým rozdílem skutečné hodnoty parametu 
\begin_inset Formula $b$
\end_inset

 od jeho střední hodnoty, se kterou počítáme.
 Naproti tomu v případě duálního algoritmu 
\emph on
iLQG
\emph default
 odhadujeme neznámý parametr 
\begin_inset Formula $b$
\end_inset

 a chyby jsou zde v důsledku nepřesných výpočtů a následné linearizace vůči
 špatné trajektorii.
 Zejména při skutečné hodnotě 
\begin_inset Formula $b$
\end_inset

 blízko nuly.
 Delší čas potřebný pro dosažení požadované hodnoty může však být způsoben
 tím, že řídící strategie je navrhována pouze jednou (v rámci iterace),
 pro celý časový horizont.
 Zlepšení, tedy rychlejší dosažení požadované hodnoty, by mohlo být využití
 
\emph on
ubíhajícího horizontu 
\emph default
(receding horizon) podobně jako pro 
\emph on
LQG
\emph default
 řízení synchronního motoru.
\end_layout

\begin_layout Itemize
Na závěr grafy průběhů 
\begin_inset Formula $y$
\end_inset

 pro algoritmus 
\emph on
iLDP
\emph default
 jsou na Obrázku 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:prubehy-y-js"

\end_inset

 (
\emph on
iLDP
\emph default
).
 Pro tento algoritmus je problematická skutečná hodnota parametru 
\begin_inset Formula $b=0$
\end_inset

.
 A protože algoritmus využívá výpočtů na vzorkových trajektoriích reprezentující
ch okolí, dokonce i jedna z trajektorií, která se výrazným způsobem odchýlí
 od ostatních, a tedy od očekávaného průběhu 
\begin_inset Formula $y$
\end_inset

, může narušit výsledek, nebo dokonce samotný běh algoritmu.
 To je možno pozorovat pro volbu 
\begin_inset Formula $P=1$
\end_inset

, kdy 
\begin_inset Formula $y$
\end_inset

 výrazně diverguje od požadované hodnoty 
\begin_inset Formula $y_{r}$
\end_inset

.
 A dále v případě 
\begin_inset Formula $P=10$
\end_inset

 algoritmus vůbec nedokončí výpočet.
 
\end_layout

\begin_layout Section
Výsledky pro synchronní motor
\end_layout

\begin_layout Standard
V této části jsou uvedeny výsledky pro úlohu nalezení řízení synchronního
 motoru s permanentními magnety.
 Funkční řízení se však podařilo nalézt pouze pomocí algoritmu 
\emph on
LQG
\emph default
.
 Použitelnou implementaci algoritmu 
\emph on
iLDP
\emph default
 se nepodařilo vytvořit, tento problém bude rozebrán v diskuzi (část 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Diskuze"

\end_inset

), a tedy budou uvedeny výsledky pouze pro metodu 
\emph on
LQG
\emph default
.
\end_layout

\begin_layout Subsection
Specifikace parametrů a konstant
\end_layout

\begin_layout Standard
Pro výpočet řízení modelu synchronního motoru s permanentními magnety byly
 v části 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Synchronní-motor-PMSP-upravy"

\end_inset

 uvedeny příslušné rovnice.
 Následně byly odvozeny detaily konkrétní implementace pro použité algoritmy.
 Pro získání výsledků a ověření použitelnosti řízení je však ještě třeba
 specifikovat konkrétní hodnoty jednotlivých konstant a parametrů.
\end_layout

\begin_layout Subsubsection
Konstanty v rovnicích motoru
\end_layout

\begin_layout Standard
Pro účely testování algoritmů volíme konstanty následovně:
\begin_inset Formula \begin{eqnarray*}
R_{s} & = & 0,28;\\
L_{s} & = & 0,003465;\\
\Psi_{PM} & = & 0,1989;\\
B & = & 0;\\
T_{L} & = & 0;\\
k_{p} & = & 1,5;\\
p_{p} & = & 4,0;\\
J & = & 0,04;\\
\Delta k & = & 0,000125.\end{eqnarray*}

\end_inset

Což vede na zjednodušené koeficienty:
\begin_inset Formula \begin{eqnarray*}
a & = & 0,9898;\\
b & = & 0,0072;\\
c & = & 0,0361;\\
d & = & 1;\\
e & = & 0,0149.\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsubsection
Kovarianční matice
\end_layout

\begin_layout Standard
Kovarianční matice 
\begin_inset Formula $M_{k}$
\end_inset

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

 předpokládáme známé a pro účely testování je volíme následovně:
\begin_inset Formula \begin{eqnarray*}
M_{k} & = & \mathrm{diag\left(0,0013;\:0,0013;\:5e-6;\:1e-10\right),}\\
N_{k} & = & \mathrm{diag}\left(0,0006;\:0,0006\right).\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsubsection
Omezení na vstupy
\end_layout

\begin_layout Standard
Na vstupy 
\begin_inset Formula $u_{k}$
\end_inset

 klademe omezení 
\begin_inset Formula $u_{\alpha}^{2}+u_{\beta}^{2}\leq u_{max}^{2}$
\end_inset

, kde volíme
\begin_inset Formula \begin{eqnarray*}
u_{max} & = & 100.\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsubsection
Ztrátová funkce
\end_layout

\begin_layout Standard
Do ztrátové funkce je třeba zvolit jediný parametr, a to prvek 
\begin_inset Formula $r$
\end_inset

 na diagonále matice 
\begin_inset Formula $R$
\end_inset

.
 Tento parametr odpovídá penalizaci za vstupy, ale vstupy chceme upravit
 pouze tak, aby splňovaly výše uvedenou podmínku.
 Je tedy třeba parametr 
\begin_inset Formula $r$
\end_inset

 experimentálně naladit.
 Jako vhodná volba se na základě experimentů jeví hodnota
\begin_inset Formula \begin{eqnarray*}
r & = & 0,000001.\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsubsection
Časový horizont a vzorky
\end_layout

\begin_layout Standard
Časový horizont je volen 
\begin_inset Formula $K=20$
\end_inset

 a vzorkových trajektorií je podobně jako v předchozím případě jednoduchého
 systému zvoleno 
\begin_inset Formula $N=100$
\end_inset

.
\end_layout

\begin_layout Subsubsection
Požadovaná hodnota
\end_layout

\begin_layout Standard
Jako hodnotu požadovaných otáček volíme
\begin_inset Formula \begin{eqnarray*}
\overline{\omega} & = & 1,15.\end{eqnarray*}

\end_inset

Uvážíme-li relativně malou periodu vzorkování 
\begin_inset Formula $\Delta k$
\end_inset

, tato hodnota se jeví jako dosažitelnou z počáteční hodnoty 
\begin_inset Formula $\omega_{0}$
\end_inset

 při použitém časovém horizontu 
\begin_inset Formula $K$
\end_inset

.
\end_layout

\begin_layout Subsubsection
Počáteční podmínky
\end_layout

\begin_layout Standard
Poslední, co je třeba zvolit, jsou počáteční podmínky pro testovaný systém.
 Ty samozřejmě neznáme přesně.
 Nemůžeme totiž měřit stav, zejména polohu a otáčky hřídele.
 Abychom mohli testovat chování algoritmu při rostoucí potřebě duálního
 přístupu, podobně jako pro jednoduchý systém budeme volit stejné střední
 hodnoty, ale postupně rostoucí varianci.
 To se bude týkat variance polohy hřídele, to jest úhlu natočení.
 Volíme tedy počáteční střední hodnoty:
\begin_inset Formula \begin{eqnarray*}
\hat{i}_{\alpha,0} & = & 0,\\
\hat{i}_{\beta,0} & = & 0,\\
\hat{\omega}_{0} & = & 1,\\
\hat{\vartheta}_{0} & = & \frac{\pi}{2}.\end{eqnarray*}

\end_inset

A počáteční variance variance postupně: 
\begin_inset Formula \begin{eqnarray*}
P_{0} & = & \mathrm{diag\left(0,01;\:0,01;\:0,01;\:0,01\right),}\\
P_{0} & = & \mathrm{diag}\left(0,01;\:0,01;\:0,01;\:0,1\right),\\
P_{0} & = & \mathrm{diag}\left(0,01;\:0,01;\:0,01;\:1\right),\\
P_{0} & = & \mathrm{diag}\left(0,01;\:0,01;\:0,01;\:10\right).\end{eqnarray*}

\end_inset


\end_layout

\begin_layout Subsection
Pozorované výsledky
\end_layout

\begin_layout Standard
Algoritmus 
\emph on
LQG
\emph default
 implementovaný pro účely nalezení řízení synchronního motoru v této práci
 je sice navržen tak, aby dobře zvládal šum (pomocí rozšířeného Kalmanova
 filtru), ale nejedná se o duální metodu.
 Tedy s rostoucí variancí neznámých hodnot stavu, zejména polohy hřídele
 motoru, kterou sledujeme, poskytuje algoritmus horší řízení a dosahuje
 tedy i vyšší ztráty.
 O tom se můžeme přesvědčit v tabulce průměrných ztrát sestavené na základě
 simulací.
 
\end_layout

\begin_layout Standard
Simulace byly provedeny analogickým postupem jako pro jednoduchý systém,
 kdy průměrná ztráta je střední hodnotou ze ztrát dosažených pro každou
 z 
\begin_inset Formula $N$
\end_inset

 vzorkových trajektorií s různou náhodnou realizací počátečních podmínek
 a šumu.
 Ztráta pro jednotlivou vzorkovou trajektorii je opět počítána pouze na
 základě odchylky od požadované hodnoty, tedy jako 
\begin_inset Formula \[
J=\sum_{k=0}^{K-1}\left(\omega_{k+1}-\overline{\omega}_{k+1}\right)^{2}=\sum_{k=0}^{K-1}\psi_{k+1}^{2}.\]

\end_inset

Dále označíme 
\begin_inset Formula $P_{\vartheta}=P_{0}^{(4,4)}$
\end_inset

, tedy právě počáteční varianci polohy hřídele, kterou budeme měnit a v
 závislosti na této změně pozorovat dosažené ztráty.
 Pak jsou dosažené průměrné ztráty 
\begin_inset Formula $\overline{J}$
\end_inset

 pomocí algoritmu 
\emph on
LQG
\emph default
 následující:
\end_layout

\begin_layout Subsubsection
Tabulka průměrných ztrát
\end_layout

\begin_layout Standard
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="2" columns="5">
<features>
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P_{\vartheta}$
\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,01
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
1
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
10
\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout

\emph on
\begin_inset Formula $\overline{J}$
\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,0776
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
0,1074
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
3,3982
\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
NaN
\end_layout

\end_inset
</cell>
</row>
</lyxtabular>

\end_inset


\end_layout

\begin_layout Subsubsection
Průběhy stavových veličin
\end_layout

\begin_layout Standard
Ještě lépe je možno pozorovat výsledky algoritmu při rostoucí varianci na
 grafech průběhů stavových veličin systému.
 Podobně jako pro jednoduchý systém jsou zde různými barvami zobrazeny jednotliv
é vzorkové trajektorie, které tvoří 
\begin_inset Quotes gld
\end_inset

trubici
\begin_inset Quotes grd
\end_inset

 v důsledku šumu.
 Protože je algoritmus 
\emph on
LQG
\emph default
 neduální, s rostoucí variancí poskytuje špatné řízení, a to zpravidla v
 těch případech, kdy skutečné hodnoty polohy hřídele 
\begin_inset Formula $\vartheta$
\end_inset

 jsou vzdáleny střední hodnotě, se kterou počítáme.
 Jednotlivé průběhy jsou zachyceny v grafech Obrázek 
\begin_inset CommandInset ref
LatexCommand ref
reference "Flo:prubehy-pmsm"

\end_inset

 pro volby variance 
\begin_inset Formula $P_{\vartheta}=0,01$
\end_inset

, 
\begin_inset Formula $P_{\vartheta}=0,1$
\end_inset

, 
\begin_inset Formula $P_{\vartheta}=1$
\end_inset

 a 
\begin_inset Formula $P_{\vartheta}=10$
\end_inset

.
 
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\begin_inset Tabular
<lyxtabular version="3" rows="4" columns="2">
<features>
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename pmsm001.eps
	scale 44

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename pmsm01.eps
	scale 44

\end_inset


\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P_{\vartheta}=0,01$
\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P_{\vartheta}=0,1$
\end_inset


\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename pmsm1.eps
	scale 44

\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Graphics
	filename pmsm10.eps
	scale 44

\end_inset


\end_layout

\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P_{\vartheta}=1$
\end_inset


\end_layout

\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text

\begin_layout Plain Layout
\begin_inset Formula $P_{\vartheta}=10$
\end_inset


\end_layout

\end_inset
</cell>
</row>
</lyxtabular>

\end_inset


\begin_inset Caption

\begin_layout Plain Layout
Průběhy hodnot stavových veličin dle volby 
\begin_inset Formula $P_{\vartheta}$
\end_inset

 
\end_layout

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "Flo:prubehy-pmsm"

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Section
Diskuze
\begin_inset CommandInset label
LatexCommand label
name "sec:Diskuze"

\end_inset


\end_layout

\begin_layout Standard
Nyní srovnáme dosažené výsledky pro jednotlivé algoritmy a budeme diskutovat
 jejich přednosti, nedostatky a použitelnost pro řešení konkrétních úloh.
 Pro úlohu nalezení řízení synchronního motoru s permanentními magnety byly
 implementovány dva algoritmy.
 Konkrétně se jednalo o algoritmy 
\emph on
iLDP
\emph default
 a 
\emph on
LQG
\emph default
, přičemž je třeba podotknout, že funkční implementaci 
\emph on
iLDP
\emph default
 se nepodařilo vytvořit.
 K dispozici je pro tuto úlohu pouze jeden algoritmus, který nalezne řízení,
 a srovnání tedy není možné.
 Z tohoto důvodu budou tedy jednotlivé algoritmy srovnány pouze na základě
 výsledků pro jednoduchý systém.
 Algoritmus 
\emph on
iLDP
\emph default
, na který je zaměřena tato práce, bude diskutován v samostatné části.
\end_layout

\begin_layout Subsection
Porovnání algoritmů
\end_layout

\begin_layout Standard
Algoritmy jsou porovnány na základě výsledků simulací pro jednoduchý systém.
 Jedná se o integrátor s neznámým ziskem, tedy lineární a časově invariantní
 systém.
 Systém je však na mezi stability, což může být příčinou problémů některých
 algoritmů.
 Další problém může nastat, když by hodnota neznámého parametru 
\begin_inset Formula $b$
\end_inset

 byla nulová.
 Z rovnice jednoduchého systému
\begin_inset Formula \[
y_{k+1}=y_{k}+bu_{k}+\sigma e_{k},\]

\end_inset

pak plyne, že neexistuje žádné řízení 
\begin_inset Formula $u_{k}$
\end_inset

, které by dosáhlo změny stavu 
\begin_inset Formula $y_{k}$
\end_inset

 na požadovanou hodnotu (není-li již tato hodnota triviálně dosažena).
 Přičemž neznámý parametr 
\begin_inset Formula $b$
\end_inset

 považujeme za náhodnou veličinu s normálním rozdělením, a tedy neuvažujeme-li
 degenerované rozdělení, je pravděpodobnost dosažení přesné hodnoty 
\begin_inset Formula $b=0$
\end_inset

 nulová.
 Degenerované rozdělení ale dostáváme, když považujeme hodnotu 
\begin_inset Formula $b$
\end_inset

 za známou například použitím principu 
\begin_inset Quotes gld
\end_inset

certainty equivalence
\begin_inset Quotes grd
\end_inset

, kdy předpokládáme hodnotu parametu rovnou jeho střední hodnotě.
 Je-li současně střední hodnota rovna nule, nastává kritický případ, kdy
 řízení založeno na tomto předpokladu musí selhat.
\end_layout

\begin_layout Subsubsection
CE
\end_layout

\begin_layout Standard
Řízení 
\emph on
CE
\emph default
 je nejjednodušší metodou použitou v této práci.
 Využíváme předpokladu, že skutečnou hodnotu neznámého parametru 
\begin_inset Formula $b$
\end_inset

 známe, a tedy ji pokládáme rovnu jeho střední hodnotě 
\begin_inset Formula $\mathrm{E}b$
\end_inset

.
 Je-li ale skutečná hodnota neznámého parametru 
\begin_inset Formula $b$
\end_inset

 příliš vzdálená od střední hodnoty, se kterou počítáme, řízení samozřejmě
 selhává.
 Tento přístup tedy není duální, a jak bylo možno pozorovat na výsledcích
 simulací, s rostoucí variancí 
\begin_inset Formula $P$
\end_inset

 parametru 
\begin_inset Formula $b$
\end_inset

 dosahuje větší ztráty.
 
\end_layout

\begin_layout Standard
Dalším problémem tohoto přístupu je volba střední hodnoty 
\begin_inset Formula $0$
\end_inset

, kdy zřejmě z tvaru rovnice regulátoru hrozí dělení nulou.
 Přičtením malého parametru 
\begin_inset Formula $\varepsilon$
\end_inset

 sice můžeme problém dělení nulou odstranit, ale použitelné řízení nezískáme.
 Potřebovali bychom tedy přičíst větší hodnotu 
\begin_inset Formula $\varepsilon$
\end_inset

, což ale způsobí nepřesnost při střední hodnotě 
\begin_inset Formula $\mathrm{E}b$
\end_inset

 dále od nuly.
 Ideální by tedy bylo vždy 
\begin_inset Quotes gld
\end_inset

naladit
\begin_inset Quotes grd
\end_inset

 parametr 
\begin_inset Formula $\varepsilon$
\end_inset

 podle konkrétní volby střední hodnoty 
\begin_inset Formula $\mathrm{E}b$
\end_inset

, což ale velmi snižuje univerzálnost metody.
 Dalším možným způsobem je místo malého parametu 
\begin_inset Formula $\varepsilon$
\end_inset

 přičítat varianci 
\begin_inset Formula $P$
\end_inset

.
 Na základě tohoto postupu byl pak vytvořen návrh aproximace regulátoru
 pro algoritmus 
\emph on
iLDP
\emph default
.
 Zdokonalování návrhu řízení 
\emph on
CE
\emph default
 však nebylo předmětné v této práci, protože záměrem bylo využít 
\emph on
CE
\emph default
 jako nejjednoduššího neduálního přístupu pro srovnání s ostatními 
\begin_inset Quotes gld
\end_inset

dokonalejšími
\begin_inset Quotes grd
\end_inset

 algoritmy.
\end_layout

\begin_layout Standard
Návrh řízení 
\emph on
CE
\emph default
 tedy můžeme stručně zhodnotit tak, že je sice velmi jednoduchý, ale neduální,
 a vykazuje značně problematické chování pro střední hodnotu 
\begin_inset Formula $\mathrm{E}b=0$
\end_inset

.
\end_layout

\begin_layout Subsubsection
sLQ
\end_layout

\begin_layout Standard
Označení 
\emph on
sLQ
\emph default
 bylo použito pro klasické LQ řízení aplikované na základní verzi jednoduchého
 systému bez dodatečných úprav.
 Protože je ale skutečná hodnota parametru 
\begin_inset Formula $b$
\end_inset

 v rovnicích neznámá a není nijak odhadována algoritmem, využívá se zde
 principu 
\begin_inset Quotes gld
\end_inset

certainty equivalence
\begin_inset Quotes grd
\end_inset

 a předpokládáme, že skutečná hodnota parametru 
\begin_inset Formula $b$
\end_inset

 je rovna jeho střední hodnotě 
\begin_inset Formula $\mathrm{E}b$
\end_inset

.
 
\end_layout

\begin_layout Standard
LQ řízení je primárně navrženo pro řízení lineárních systémů s kvadratickou
 ztrátovou funkcí.
 Tomuto zadání základní verze jednoduchého systému plně vyhovuje.
 Řízení je pak hledáno ve tvaru lineární funkce, kde řízení je lineární
 funkcí stavu.
 
\end_layout

\begin_layout Standard
Již z tvaru rovnice základní verze jednoduchého systému je zřejmé, že předpoklád
áme-li parametr 
\begin_inset Formula $b$
\end_inset

 rovný střední hodnotě 
\begin_inset Formula $\mathrm{E}b=0$
\end_inset

, úloha nemá smysl, protože libovolné řízení 
\begin_inset Formula $u_{k}$
\end_inset

 nemůže dosáhnout změny stavu.
 V tomto případě řízení 
\emph on
sLQ
\emph default
 nelze použít, jak je také vidět v tabulce průměrných ztrát.
\end_layout

\begin_layout Standard
Je třeba uvést, že se nejedná o duální metodu, a tedy s rostoucí variancí
 neznámého parametru dosahujeme vyšší ztráty.
 Dosažené výsledky jsou pak podobné jako u 
\emph on
CE
\emph default
.
 Kromě případu 
\begin_inset Formula $\mathrm{E}b=0$
\end_inset

, kdy 
\emph on
sLQ
\emph default
 zcela selhává, je však dosaženo nepatrně nižší průměrné ztráty.
\end_layout

\begin_layout Subsubsection
LQ
\end_layout

\begin_layout Standard
Přístupem 
\emph on
LQ
\emph default
 je označena verze lineárně-kvadratického řízení, aplikovaného na upravené
 rovnice jednoduchého systému.
 Upravená verze rovnic již odhaduje neznámý parametr 
\begin_inset Formula $b$
\end_inset

 pomocí odhadů jeho střední hodnoty 
\begin_inset Formula $\hat{b}$
\end_inset

 a variance 
\begin_inset Formula $P$
\end_inset

, kdy se tyto dva parametry spolu se stavem 
\begin_inset Formula $y_{k}$
\end_inset

 vyvíjejí v čase.
 Získané rovnice pak již nejsou lineární, linearizujeme je tedy v každém
 časovém kroku a následně aplikujeme výpočet klasického LQ řízení.
 Na základě výsledků simulací usuzujeme, že se jedná o duální algoritmus.
\end_layout

\begin_layout Standard
Na rozdíl od složitějších algoritmů nevyužívá 
\emph on
LQ
\emph default
, kromě linearizace, žádné další nepřesné přístupy, jako aproximace nebo
 výpočty na vzorkových trajektoriích.
 To se v simulacích ukazuje velmi výhodným, kdy algoritmus 
\emph on
LQ
\emph default
 dosahuje ve srovnání s ostatními přístupy nejlepších výsledků a dosahuje
 nízké ztráty ve všech případech volby parametrů.
\end_layout

\begin_layout Subsubsection
iLQG
\end_layout

\begin_layout Standard
Algoritmus 
\emph on
iLQG
\emph default
 je rozšířením základního LQG řízení a je určen i pro složitěší systémy.
 Lze jej aplikovat i na nelineární systémy s nekvadratickou ztrátovou funkcí
 v důsledku požadavku na omezení vstupů.
 V této práci je 
\emph on
iLQG
\emph default
 použit jako mezikrok mezi jednodušším přístupem 
\emph on
LQ
\emph default
 a složitějším algoritmem 
\emph on
iLDP
\emph default
.
 Na základě výsledků simulací opěd soudíme, že 
\emph on
iLQG
\emph default
 je duálním algoritmem.
\end_layout

\begin_layout Standard
Základní postup využívaný 
\emph on
iLQG
\emph default
 je nejprve linearizace a pak vyjádření vztahů pomocí matic, které mohou
 být ještě dále upravovány z důvodu například omezení vstupů nebo zajištění
 regularity.
 Dále je třeba zmínit, že se v podstatě jedná o lokální metodu, protože
 linearizace je prováděna vzhledem k reprezentativní trajektorii a následně
 se pak počítá v odchylkách od této trajektorie.
 Reprezentativní trajektorii můžeme získat například simulací bezšumového
 vývoje systému nebo průměrováním dostatečného počtu vzorkových trajektorií.
 Algoritmus 
\emph on
iLQG
\emph default
 pak aplikujeme na upravenou verzi rovnic jednoduchého systému, podobně
 jako v případě 
\emph on
LQ
\emph default
.
 
\end_layout

\begin_layout Standard
Jak je možné přesvědčit se v tabulce průměrných ztrát, 
\emph on
iLQG
\emph default
 dosahuje velmi dobrých výsledků (to jest nízké ztráty), je-li zajištěn
 nízký výskyt realizací skutečné hodnoty 
\begin_inset Formula $b$
\end_inset

 blízko nuly.
 Konkrétně se jedná o případ volby 
\begin_inset Formula $\hat{b}=10$
\end_inset

 a libovolného 
\begin_inset Formula $P$
\end_inset

, nebo 
\begin_inset Formula $\hat{b}=1$
\end_inset

 a současně 
\begin_inset Formula $P=0,01$
\end_inset

 popřípadě 
\begin_inset Formula $P=0,1$
\end_inset

.
 V opačném případě, pro 
\begin_inset Formula $\hat{b}=0$
\end_inset

, nebo 
\begin_inset Formula $\hat{b}=1$
\end_inset

 a současně 
\begin_inset Formula $P=1$
\end_inset

 nebo 
\begin_inset Formula $P=10$
\end_inset

, je dosaženo vyšší průměrné ztráty (okolo hodnoty 
\begin_inset Formula $2$
\end_inset

).
 Z grafů průběhu pro 
\emph on
iLQG
\emph default
 je pak zřejmé, že v těchto negativních případech mají některé trajektorie
 dobrý průběh a některé naopak špatný.
 To je ovšem z hlediska řízení nepřijatelné, aby regulátor někdy poskytl
 dobré řízení a někdy naopak téměř nepoužitelné.
\end_layout

\begin_layout Standard
S velkou pravděpodobností je tento problém opět způsoben problematickým
 chováním algoritmu 
\emph on
iLQG
\emph default
 v okolí nuly.
 Výpočet řízení je totiž při použití tohoto algoritmu značně závislý na
 volbě reprezentativní trajektorie, kterou když vygenerujeme špatně, dostaneme
 i špatné řízení.
 Právě v blízkosti nuly může dojít k nepříznivému generování reprezentativní
 trajektorie.
 Vycházíme z 
\begin_inset Formula $y_{0}=0$
\end_inset

, a tedy při kladném parametru 
\begin_inset Formula $b$
\end_inset

 generujeme trajektorii do kladných hodnot, nebo se naopak dostáváme do
 záporných čísel, je-li skutečná hodnota parametru 
\begin_inset Formula $b$
\end_inset

 záporná.
 Tento rozpor pak může způsobit problémy jako špatné řízení a dosažení vyšší
 ztráty.
\end_layout

\begin_layout Subsection
Hodnocení algoritmu iLDP
\end_layout

\begin_layout Standard
Algoritmus 
\emph on
iterativního lokálního dynamického programování 
\emph default
(
\emph on
iLDP
\emph default
) je hlavním námětem této práce.
 Jeho výsledky tedy popíšeme detailněji.
 Nejdříve uveďme výsledky v porovnání s ostatními algoritmy pro jednoduchý
 systém.
 Dále bude zařazena diskuze negativních vlastností algoritmu, které mohly
 vést k tomu, že se nepodařilo vytvořit funkční implementaci pro sychronní
 motor.
 Na závěr bude v samostatné části zařazeno porovnání pozorovaných vlastností
 
\emph on
iLDP
\emph default
 s prvotními očekáváními.
\end_layout

\begin_layout Standard
Algoritmus 
\emph on
iLDP
\emph default
 je nejsložitější ze zde prezentovaných metod pro nalezení optimálního řízení,
 zejména při nutnosti duálního přístupu.
 Je založen na obecných principech, jmenovitě Hamilton-Jacobi-Bellmanova
 rovnost a Pontryaginův princip minima.
 Jedná se o iterační metodu, tedy takovou, která vychází od jistého počátečního
 řízení a to v iteracích 
\begin_inset Quotes gld
\end_inset

vylepšuje
\begin_inset Quotes grd
\end_inset

 za účelem dosažení optima.
 Počáteční řízení však musíme dodat algoritmu jako apriorní informaci a
 špatné řízení může způsobit nutnost velkého počtu iterací k nalezení optimálníh
o řízení nebo v extrémním případě dokonce nenalezení vhodného řízení.
 Dále algoritmus 
\emph on
iLDP
\emph default
 je lokální metoda a tedy výpočty probíhají na okolí nějaké reprezentativní
 trajektorie.
 Toto okolí je třeba zvolit při konkrétní implementaci algoritmu a jeho
 volba může mít nezanedbatelný vliv na výsledky, které následně 
\emph on
iLDP
\emph default
 poskytne.
 Algoritmus pak odpovídá obecnému schématu dynamického programování, kde
 se v diskrétních časových okamžicích napočítávají od nejvyššího času zpět
 optimální hodnoty Hamiltoniánů, které se postupně uchovávají v Bellmanově
 funkci.
 Z nich je také následně odvozeno i optimální řízení.
\end_layout

\begin_layout Subsubsection
Srovnání pro jednoduchý systém
\end_layout

\begin_layout Standard
Při srovnání výsledků pro jednoduchý systém s ostatními algoritmy poskytuje
 
\emph on
iLDP
\emph default
 dobré řízení ve všech případech, kdy se skutečné realizace neznámého parametru
 
\begin_inset Formula $b$
\end_inset

 vyskytují dostatečně daleko od nuly.
 Tento bod je právě pro algoritmus 
\emph on
iLDP
\emph default
 kritický a výpočet řízení tam zpravidla selhává.
 Tedy pro volby 
\begin_inset Formula $\hat{b}=10$
\end_inset

 a současně 
\begin_inset Formula $P=0,01$
\end_inset

, 
\begin_inset Formula $P=0,1$
\end_inset

 a 
\begin_inset Formula $P=1$
\end_inset

, dále pak pro 
\begin_inset Formula $\hat{b}=1$
\end_inset

 a současně 
\begin_inset Formula $P=0,01$
\end_inset

 dosahuje 
\emph on
iLDP
\emph default
 velmi nízké průměrné ztráty.
 Nízké průměrné ztráty dosahuje pak ještě pro volbu 
\begin_inset Formula $\hat{b}=10$
\end_inset

 a současně 
\begin_inset Formula $P=10$
\end_inset

 a 
\begin_inset Formula $\hat{b}=1$
\end_inset

 a současně 
\begin_inset Formula $P=0,1$
\end_inset

.
 Je-li parametr 
\begin_inset Formula $\hat{b}=1$
\end_inset

, pak při 
\begin_inset Formula $P=1$
\end_inset

 je dosaženo extrémní hodnoty ztráty a při 
\begin_inset Formula $P=10$
\end_inset

 algoritmus dokonce vůbec nenalezne řešení.
 Podobně pro 
\begin_inset Formula $\hat{b}=0$
\end_inset

 při volbě 
\begin_inset Formula $P=0,01$
\end_inset

 je dosaženo nepřijatelné průměrné ztráty a pro ostatní volby 
\begin_inset Formula $P$
\end_inset

 již vůbec nenalézáme řešení.
\end_layout

\begin_layout Standard
Tedy ve srovnání s ostatními algoritmy poskytuje 
\emph on
iLDP
\emph default
 sice výsledky, které patří mezi nejlepší, ale pouze za předpokladu, že
 je zaručeno realizování skutečných hodnot 
\begin_inset Formula $b$
\end_inset

 dostatečně daleko od nuly.
 Při srovnávání konkrétních hodnot průměrných ztrát je třeba mít na vědomí,
 že se hodnoty mohou nepatrně lišit v závislosti na realizaci šumu.
\end_layout

\begin_layout Subsubsection
Diskuze negativních vlastností algoritmu
\end_layout

\begin_layout Standard
V průběhu implementace a testování 
\emph on
iLDP
\emph default
 se objevily jisté komplikace a projevily se negativní vlastnosti tohoto
 algoritmu.
 Jedná se zejména o problematické chování při realizaci skutečné hodnoty
 neznámého parametru 
\begin_inset Formula $b$
\end_inset

 blízko nuly pro jednoduchý systém.
 Dalším problémem je pak otázka vhodné volby aproximací funkcí pro synchronní
 motor.
 
\end_layout

\begin_layout Subsubsection
Problematické chování při 
\begin_inset Formula $b$
\end_inset

 blízko nuly
\end_layout

\begin_layout Standard
Nejprve se tedy zaměřme na obtíže týkající se jednoduchého systému.
 Jedním z důvodů, proč systém vykazuje problematické chování pro 
\begin_inset Formula $b$
\end_inset

 blízko hodnoty 
\begin_inset Formula $0$
\end_inset

, by mohla být volba aproximace regulátoru.
 Ten je totiž volen jako
\begin_inset Formula \[
\pi(k,x)=\frac{r_{k+1}-K_{1}y_{k}}{K_{2}\hat{b}_{k}+K_{3}P_{k}+K_{4}}.\]

\end_inset

Algoritmus 
\emph on
iLDP
\emph default
 je duální a odhaduje skutečnou hodnotu neznámého parametru 
\begin_inset Formula $b$
\end_inset

 pomocí jeho střední hodnoty 
\begin_inset Formula $\hat{b}$
\end_inset

 a variance 
\begin_inset Formula $P$
\end_inset

.
 Za předpokladu, že by odhadování proběhlo dobře a efektivně, odhad 
\begin_inset Formula $\hat{b}$
\end_inset

 se bude blížit skutečné hodnotě 
\begin_inset Formula $b$
\end_inset

, která je ovšem blízko u nuly.
 Další vlastností předpokládaného dobrého odhadu je, že si jím budeme téměř
 jisti, a tedy variance 
\begin_inset Formula $P$
\end_inset

 se bude také blížit nule.
 A vyhodnotil-li algoritmus v předchozí iteraci koeficient 
\begin_inset Formula $K_{4}$
\end_inset

 jako nepodstatný pro tvar funkce regulátoru, to jest 
\begin_inset Formula $K_{4}$
\end_inset

 je opět téměř nulový, dostáváme ve jmenovateli velmi malé číslo, téměř
 nulové.
 Funkce regulátoru 
\begin_inset Formula $\pi$
\end_inset

 pak vrací i pro malou odchylku 
\begin_inset Formula $y$
\end_inset

 od požadované hodnoty (například v důsledku šumu) velký řídící zásah.
 To je ale principiálně dobře, protože při 
\begin_inset Formula $b$
\end_inset

 blízko 
\begin_inset Formula $0$
\end_inset

 musíme volit extrémně vysoké řídící zásahy, a to téměř blížící se nekonečnu.
 Na druhou stranu si je ale třeba uvědomit, že uvažovaná funkce regulátoru
 je pouze aproximací, a tedy se dopouští jisté chyby.
 Tato chyba samozřejmě pak při velkém řídícím zásahu také narůstá.
 Dalším problémem je, že výpočty jsou prováděny na počítači, ten je při
 výpočtech s malými čísly blízko nuly nebo naopak s velkými čísly značně
 nepřesný.
\end_layout

\begin_layout Standard
Možností, jak se vyhnout tomuto problému, by bylo volit jiný tvar funkce
 regulátoru, otázkou by pak ale bylo, jaký.
 Zvolený tvar regulátoru má totiž několik výhod.
 Za prvé koeficienty 
\begin_inset Formula $K_{i}$
\end_inset

 je možno určit metodou nejmenších čtverců, a tedy jejich výpočet z množiny
 dvojic 
\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
\end_inset

 je poměrně jednoduchý.
 Další výhodou je, že obecný tvar funkce regulátoru vznikl na základě vyjádření
 řízení 
\begin_inset Formula $u$
\end_inset

 z rovnice jednoduchého systému při požadavku dosažení požadované hodnoty
 v jednom časovém kroku.
 Získaná funkce by pak měla relativně dobře aproximovat skutečné optimální
 řízení.
\end_layout

\begin_layout Standard
\begin_inset VSpace defskip
\end_inset


\end_layout

\begin_layout Standard
Druhým z možných důvodů problematického chování u nuly je lokalita metody.
 Výpočty jsou totiž prováděny na okolí tvořeném množinou reprezentativních
 trajektorií.
 Generujeme-li reprezentativní trajektorie pro parametr 
\begin_inset Formula $b$
\end_inset

 blízko nuly, s velkou pravděpodobností dojde k tomu, že část trajektorií
 se vygeneruje s předpokladem kladného 
\begin_inset Formula $b$
\end_inset

 a část předpokládající 
\begin_inset Formula $b$
\end_inset

 záporné.
 Ovšem pro malé, téměř nulové hodnoty parametru 
\begin_inset Formula $b$
\end_inset

 je optimální řídící zásah, jak už bylo zmíněno, extrémně vysoký a v závislosti
 na tom, je-li předpokládáno 
\begin_inset Formula $b$
\end_inset

 kladné nebo záporné, mění se odpovídajícím způsobem i znaménka řídících
 zásahů.
 Jako shrnutí popsané situace dostáváme část reprezentativních trajektorií
 navrhující extrémně vysoký kladný řídící zásah a pak druhou část navrhující
 naopak extrémně vysoký záporný řídící zásah.
 Zřejmě z takovýchto dat nelze získat použitelnou a už vůbec ne správnou
 hodnotu optimálního řízení.
\end_layout

\begin_layout Standard
Vyhnout se výše popsanému problému by bylo možno pouze jinou volbou okolí.
 Narážíme zde ale opět na obtíže, jak jiné okolí zvolit, abychom se vyhli
 výše popsanému problému.
\end_layout

\begin_layout Standard
Protože ale spolu obě navržené možnosti způsobující problematické chování
 při 
\begin_inset Formula $b$
\end_inset

 blízko 
\begin_inset Formula $0$
\end_inset

 do určité míry souvisí, je pravděpodobný i vliv kombinace obou dvou.
\end_layout

\begin_layout Subsubsection
Obtíže s volbou aproximací
\end_layout

\begin_layout Standard
Již byla diskutována problematika volby aproximace okolí a aproximace funkce
 řízení.
 Problémy byly popsány pro konkrétní případ jednoduchého systému.
 Další aproximací, kterou je třeba volit, je aproximace Bellmanovy funkce.
 Jedná se o skalární funkci více proměnných, která v sobě zachycuje v podstatě
 celou dynamiku a vývoj systému.
 Je zpravidla velmi složitá, ale pro potřeby algoritmu se ji snažíme aproximovat
 lineární kombinací zvolených základních funkcí.
 Má-li být tato aproximace dostatečně jednoduchá pro výpočty jejích hodnot,
 ale i koeficientů, může být velmi nepřesnou aproximací skutečné Bellmanovy
 funkce.
\end_layout

\begin_layout Standard
Protože Bellmanova funkce je základní částí algoritmu 
\emph on
iLDP
\emph default
, chyby, kterých se dopustíme její aproximací, se následně přenášejí prakticky
 do všech ostatních částí algoritmu.
\end_layout

\begin_layout Standard
Na druhou stranu se ale chyby v důsledku aproximace dopustíme velmi snadno.
 Bellmanova funkce může být totiž u složitějších systémů značně komplikovaná
 na to, aby ji bylo možno aproximovat lineární kombinací základních funkcí.
 Dalším problémem je pak počet těchto funkcí.
 Ten s rostoucí dimenzí stavového prostoru rychle narůstá a následně je
 třeba zajistit dostatek dat v podobě vzorkových trajektorií pro vypočtení
 jejich koeficientů.
\end_layout

\begin_layout Standard
Volba vhodné aproximace Bellmanovy funkce se tedy jeví jako nejkomplikovanější
 z dílčích problémů ponechaných autory algoritmu 
\emph on
iLDP
\emph default
 k dořešení při konkrétní implementaci.
 V článku 
\begin_inset CommandInset citation
LatexCommand cite
key "TodorovTassaILDP"

\end_inset

 je sice poskytnut návod volby aproximace ve tvaru lineární kombinace základních
 funkcí, ale tato volba nemusí být vždy správná.
 Kdybychom si chtěli udělat představu o průběhu skutečné Bellmanovy funkce,
 abychom mohli snadněji určit vhodnou aproximaci, narážíme na problém, že
 Bellmanovu funkci máme zadanou pomocí Hamilto-Jacobi-Bellmanovy rovnosti.
\end_layout

\begin_layout Standard
\begin_inset VSpace defskip
\end_inset


\end_layout

\begin_layout Standard
Shrnutí výše zmiňovaných problémů nám tedy dává následující závěr: Svoboda
 ve výběru aproximací nám poskytuje značnou volnost a činí algoritmus univerzáln
ím.
 Na druhou stranu je ale značně omezující, zejména když se nám nepodaří
 vhodnou aproximaci nalézt.
\end_layout

\begin_layout Subsection
Konfrontace s prvotními očekáváními
\end_layout

\begin_layout Standard
Nyní porovnáme dosažené výsledky algoritmu iLDP s prvotními očekáváními
 uvedenými v části 
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Předběžný-odhad-vlatností"

\end_inset

.
 Vždy je uvedeno nejdříve prvotní očekávání a následně je komentováno, zda
 bylo potvrzeno:
\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)
\end_layout

\begin_deeper
\begin_layout Itemize
toto očekávání bylo potvrzeno, iLDP dosahuje lepších výsledků než neduální
 metody, což je patrné při rostoucí neznalosti 
\end_layout

\begin_layout Itemize
je však třeba podotknout, že musíme mít zajištěnu dostatečnou vzdálenost
 od kritických bodů pro iLDP, kde pak samozřejmě algoritmus selhává
\end_layout

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

\begin_deeper
\begin_layout Itemize
zvládání šumu lze z provedených simulací těžko posoudit, ovšem lze předpokládat,
 že iLDP zvládne šum lépe než metody, které přítomnost šumu vůbec neuvažují
\end_layout

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

\begin_deeper
\begin_layout Itemize
na rychlost dosažení požadované hodnoty lze na základě výsledků pro jednoduchý
 systém těžko usuzovat, protože prakticky všechny použité metody dosahují
 požadované hodnoty (v příznivém případě, kdy nalézají použitelné řízení)
 hned v čase 
\begin_inset Formula $k=2$
\end_inset

, tedy v prvním možném říditelném kroce 
\end_layout

\begin_layout Itemize
pro složitější systém synchronního motoru, kde by bylo srovnání zřetelnější,
 se nepodařilo implementovat funkční verzi iLDP algoritmu
\end_layout

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

\begin_deeper
\begin_layout Itemize
tuto vlastnost uvádějí sami autoři algoritmu iLDP, protože se jedná o lokální
 metodu, je možné vyhnout se problémům globálních metod a aplikovat algoritmus
 i na systémy s více rozměry, zůstává zde však problém volby aproximací,
 který je pak třeba řešit a který se ukazuje jako netriviální
\end_layout

\end_deeper
\begin_layout Itemize
univerzálnost (vychází z obecných principů) a svoboda výběru konkrétních
 aproximací a minimalizací
\end_layout

\begin_deeper
\begin_layout Itemize
algoritmus je zřejmě značně univerzální, protože umožňuje zvolit mnoho detailů
 až při konkrétní implementaci
\end_layout

\begin_layout Itemize
naopak se tato vlastnost v mnoha případech ukazuje být na škodu a dokonce
 může být i jednou z největších slabin algoritmu iLDP, jelikož nám základní
 popis algoritmu neříká, jak konkrétní detaily volit
\end_layout

\end_deeper
\begin_layout Paragraph
Nevýhody
\end_layout

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

\begin_deeper
\begin_layout Itemize
vyšší časová náročnost byla potvrzena v průběhu simulací pro potřeby této
 práce
\end_layout

\begin_layout Itemize
ve srovnání s ostatními přístupy, které řeší danou úlohu vesměs analyticky
 a jsou založeny hlavně na maticových operacích, algoritmus iLDP používá
 aproximací, numerické minimalizace a výpočtů na vzorkových trajektoriích,
 a tedy výpočetní čas je řádově několikrát delší než pro ostatní metody
 (konkrétní příklad je výpočet 
\begin_inset Formula $N$
\end_inset

 vzorkových trajektorií pro vytvoření průběhů 
\begin_inset Formula $y$
\end_inset

 pro jednoduchý systém, který trval pro iLDP o tři řády déle než pro všechny
 ostatní algoritmy) 
\end_layout

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

\begin_deeper
\begin_layout Itemize
pro numerickou minimalizaci je jednak nutno zvolit vhodné minimalizační
 algoritmy (v implementacích v této práci byly použity funkce programu 
\emph on
Matlab
\emph default
 
\family typewriter
fminunc
\family default
 a 
\family typewriter
fmincon
\family default
 pro neomezenou a omezenou minimalizaci), dále numerická minimalizace hledá
 zpravidla jen lokální minima, je náročnější na výpočetní čas a je méně
 přesná, a to zejména při výpočtech na aproximovaných funkcích, kde i malá
 odchylka od správného průběhu původní funkce může dát špatný výsledek velmi
 vzdálený od správné hodnoty
\end_layout

\end_deeper
\begin_layout Itemize
nepřesnost v důsledku aproximace klíčových funkcí v algoritmu a problémy
 s jejich volbou
\end_layout

\begin_deeper
\begin_layout Itemize
algoritmus iLDP pracuje s aproximacemi funkcí řízení a dále s aproximací
 Bellmanovy funkce, na které je postaven prakticky celý algoritmus; v důsledku
 toho se chyby způsobené použitím aproximace přenášejí prakticky do všech
 ostatních výpočtů v algoritmu
\end_layout

\begin_layout Itemize
dalším problémem je pak samotná volba aproximací, která již byla diskutována
 výše
\end_layout

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

\begin_deeper
\begin_layout Itemize
z jednoho pohledu je implementace algoritmu iLDP jednoduchá, protože je
 popsán jednoduchou osnovou složenou pouze ze čtyř bodů
\end_layout

\begin_layout Itemize
naopak je ale třeba vyřešit mnoho dílčích detailů, například vytvořit aproximace
 funkcí a najít vhodnou reprezentaci okolí pro výpočet; samotná implementace
 se tedy může velmi zkomplikovat a dokonce se nemusí ani podařit vytvoření
 funkční verze algoritmu
\end_layout

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

\begin_deeper
\begin_layout Itemize
jak již bylo zmíněno, iLDP hledá optimální řízení v okolí nějaké reprezentativní
 trajektorie, a tedy zpravidla není zajištěna optimalita nalezeného řízení
 v celém stavovém a řídícím prostoru
\end_layout

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

\begin_deeper
\begin_layout Itemize
při implementaci iLDP je třeba zvolit konkrétní reprezentaci okolí
\end_layout

\begin_layout Itemize
v používaných implementacích je volena jednoduchá možnost, kdy je okolí
 reprezentováno množinou vzorkových trajektorií, na které jsou pak prováděny
 další výpočty
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset


\end_layout

\begin_layout Addchap
Závěr
\end_layout

\begin_layout Standard
V kapitole 
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Teorie-duálního-řízení"

\end_inset

 této práce je stručně popsána základní teorie duálního řízení a další teoretick
é poznatky potřebné k popisu konkrétních algoritmů pro nalezení optimálního
 řízení.
 V další kapitole následuje přiblížení jednotlivých algoritmů použitých
 pro srovnání s ústředním algoritmem této práce: 
\emph on
iterativním lokálním dynamickým programováním
\emph default
 (
\emph on
iLDP
\emph default
).
 Jemu je pak věnována druhá polovina kapitoly 
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Algoritmy-pro-návrh"

\end_inset

.
 
\end_layout

\begin_layout Standard
Algoritmus 
\emph on
iLDP
\emph default
 byl implementován pro jednoduchý systém.
 Pro tento systém byly následně implementovány i další algoritmy pro srovnání.
 Implementace 
\emph on
iLDP
\emph default
 pro složitější systém, synchronní motor s permanentními magnety, se nezdařila
 z důvodu obtíží při volbě aproximací.
 Nepodařilo se nalézt takové aproximace zpětnovazebního řízení a Bellmanovy
 funkce, aby na jejich základě algoritmus 
\emph on
iLDP
\emph default
 nalezl použitelné řízení.
 Pro složitější systém byl však implementován algoritmus 
\emph on
LQG
\emph default
, který nalézá funkční řízení.
 Jedná se ale o neduální metodu, a tedy s rostoucí neznalostí selhává.
 Konkrétní popisy testovaných systémů a úpravy jejich rovnic pro potřeby
 jednotlivých algoritmů lze nalézt v kapitole 
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Systémy-pro-testování"

\end_inset

.
\end_layout

\begin_layout Standard
Kapitola 
\begin_inset CommandInset ref
LatexCommand ref
reference "cha:Výsledky"

\end_inset

 obsahuje získané výsledky na základě simulací.
 Algoritmus 
\emph on
iLDP
\emph default
 je porovnán s ostatními testovanými algoritmy podle dosažených výsledků
 pro jednoduchý systém.
 Dále jsou uvedeny výsledky pro složitější systém získané pomocí 
\emph on
LQG
\emph default
.
 Na závěr jsou diskutovány problémy týkající se algoritmu 
\emph on
iLDP
\emph default
, které vedly v jistých případech k problematickému chovaní u jednoduchého
 systému.
 Následuje diskuze obtíží implementace 
\emph on
iLDP
\emph default
 pro složitější systém.
 Nakonec jsou v bodech porovnány skutečné výsledky získané ze simulací a
 v průběhu implementace s prvotními očekáváními týkajícími se algoritmu
 
\emph on
iLDP
\emph default
.
 
\end_layout

\begin_layout Standard
Algoritmus 
\emph on
iLDP
\emph default
 byl v této práci otestován i na jiných problémech, než pro které byl vyvinut
 svými autory.
 Dále byly objeveny některé kladné, ale hlavně i záporné stránky týkající
 se jeho implementace a použitelnosti na konkrétní úlohy.
 V závěrečné kapitole práce byly výsledky dosažené pomocí 
\emph on
iLDP
\emph default
 srovnány s výsledky dosaženými užitím principu separace, tedy pomocí řízení
 
\emph on
LQG
\emph default
.
 Pro jednoduchý systém bylo provedeno srovnání i s dalšími metodami návrhu
 řízení.
 Naopak pro složitější systém jsou k dispozici pouze výsledky získané pomocí
 
\emph on
LQG
\emph default
.
\end_layout

\begin_layout Standard
Výsledky je možno shrnout tak, že 
\emph on
iLDP
\emph default
 je řádově několikrát náročnější na výpočetní čas, ale při větší neznalosti
 dosahuje lepších výsledků.
 Je ovšem třeba zajistit, aby se nerealizovaly problematické hodnoty pro
 tento algoritmus.
 Naproti tomu 
\emph on
LQG
\emph default
 je rychlejší, ale s rostoucí neznalostí dosahuje špatných výsledků nebo
 dokonce selhává.
 Co se týče algoritmu 
\emph on
iLDP
\emph default
, je třeba ještě zmínit problém týkající se volby aproximací, který se ukazuje
 být největší slabinou této metody.
\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
