====== 06 Sequential II ======
Pokračujeme v sekvenčním rozhodování. Jak počítat vhodnou policy přímo?
Prosíme vás o vyplnění malého [[https://forms.gle/FqXzc58qvqeFvdda8|dotazníku]].
====== Kvíz - Policy iteration/evaluation ======
/*
* bodovaný, bonusových 0.5bodu
* řešení odevzdat do BRUTE do úlohy **lab06quiz**, do půlnoci dne, kdy běží dané cvičení
* formát: textový soubor, fotka řešení na papíře, pdf - co Vám nejlépe vyhovuje a dokážeme to přečíst
* správné řešení prodiskutujeme na příštím cvičení
*/
++++ Zadání|
Vyřešte úlohu podle {{ :courses:b3b33kui:cviceni:program_po_tydnech:20210324-083140_policyevaluation_cv101.pdf | konkrétního zadání}}.
++++
/*
==== Zadání kvíz ====
* p. 101, St 12:45: {{ :courses:b3b33kui:cviceni:program_po_tydnech:20210324-083140_policyevaluation_cv101.pdf | cv101}}
* p. 102, St 14:30: {{ :courses:b3b33kui:cviceni:program_po_tydnech:20210324-083435_policyevaluation_102.pdf | cv102}}
* p. 103, Čt 12:45: {{ :courses:b3b33kui:cviceni:program_po_tydnech:policy_estimation_p103_cz.pdf | cv103}}
* p. 104, Čt 14:30: {{ :courses:b3b33kui:cviceni:program_po_tydnech:policyevaluation_104.pdf| cv104}}
* p. 105, Pá 9:15: {{ :courses:b3b33kui:cviceni:program_po_tydnech:policy_estimation_p105_cz.pdf | cv105}}
*/
===== Hledání optimální policy =====
* vysvětlení na příkladu
==== Zadání ====
| -40 | 30 | -50 |
| -40 | r(A) = -1 | -50 |
| -40 | r(B) = -1 | -50 |
{{ :courses:b3b33kui:cviceni:program_po_tydnech:trans_model_new.png?80 |}}
* akce: {$\leftarrow, \rightarrow,\uparrow,\downarrow$}
* $\gamma = 0.9$
* $V_{k+1}(s) \leftarrow r(s) + \gamma \rm{max}_a\it{\sum_{s'}p(s'|s,a)V_k(s')}$
Najděte optimální policy.
==== Value Iteration ====
* iterovat: aktualizovat hodnoty $V(s)$ dokud se mění o více než zadané $\epsilon$
* určit nejlepší strategii $\pi(s) = \rm{argmax}_a V(s)$
/*|$t=0:$ | $V(A) = 0, V(B) = 0$|
|$t=1:$ | V(A) = -1 + 0.9\cdot\max \left\{%
\begin{array}{cl}
(\rightarrow)& 0.6 \cdot (-50) + 0.2\cdot 30 + 0.2\cdot 0 = -24\\
(\leftarrow) &0.6\cdot(-40) + 0.2\cdot 30 + 0.2\cdot 0 = -18\\
(\uparrow) &0.6\cdot 30 + 0.2\cdot(-40)+0.2\cdot(-50) = 0\\
(\downarrow)& 0.6\cdot 0 + 0.2\cdot (-50)+0.2\cdot(-40) = -18\\
\end{array}
\right\} = -1 \;\;\;(\uparrow) \\
& V(B) = -1 + 0.9\cdot\max \left\{%
\begin{array}{cl}
(\rightarrow)& 0.6 \cdot (-50) + 0.2\cdot0 + 0.2\cdot0 = -30\\
(\leftarrow) &0.6\cdot(-40) + 0.2\cdot0 + 0.2\cdot0 = -24\\
(\uparrow) & 0.6\cdot0 + 0.2\cdot(-40)+0.2\cdot(-50) = -18\\
(\downarrow)& 0.6\cdot0 + 0.2\cdot(-50)+0.2\cdot(-40) = -18\\
\end{array}
\right\} = -17.2 \;\;\;(\uparrow) / (\downarrow) \\
%t=2: & V_A = -1 + \max \left\{%
\end{array}
<\latex>|
*/
==== Policy Iteration ====
* iterovat: 2 kroky
* policy evaluation:
* ohodnocení stavů podle dané policy
* $V_{k+1}^{\pi_i}(s) \leftarrow r(s) + \gamma \sum_{s'}p(s'|s,\pi_i(s))V_k(s')$
* iteračně nebo analyticky
* policy refinement:
* z nových hodnot stavů určit (lepší) policy
* dokud dochází ke změně policy
/* * prezentace {{ :courses:b3b33kui:cviceni:program_po_tydnech:value_policy_iteration_example.pdf | Value/Policy iteration příklad}}*/
===== Samostatná úloha =====
Pokračování v samostatné úloze [[courses:b3b33kui:semestralni_ulohy:3_mdp:start|Markovské rozhodovací procesy]].
Implementace [[courses:b3b33kui:semestralni_ulohy:testy:start|testů]] pro ověření správnosti specifikace.