- Timestamp:
- 02/04/12 00:54:24 (12 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
applications/doprava/texty/novotny_vyzk_LQ/Reinforcement_learning.tex
r1429 r1434 37 37 Dynamické programování je proces sloužící k nalezení optimální 38 38 strategie dané $\pi(s)$. K tomu slouží funkce očekávaných kumulativních diskontních zisků 39 $V^{\pi}(i) : \rightarrow \mathbb{R}$40 reprezentující předpokládané dlouhodobé zisky při určité $\pi(s)$. Agent se tedy snaží39 $V^{\pi}(i) : S \rightarrow \mathbb{R}$ 40 reprezentující předpokládané dlouhodobé zisky při určité funkci $\pi(s)$. Agent se tedy snaží 41 41 zvolit strategii tak, aby funkci $V^{\pi}$ při daném počátečním stavu $s_0 = i$ maximalizoval. 42 V \cite{3_i_traff_light_c} je tato funkce definována násedovně:42 V publikaci \cite{3_i_traff_light_c} je tato funkce definována násedovně: 43 43 44 44 \begin{definition}[V-funkce]\label{de:v_function} … … 49 49 \begin{itemize} 50 50 \item $\gamma \in <0,1> $ diskontní faktor určující snižování významnosti odhadu s narůstajícím časem 51 \item $E$ oper ator odhadu %střední hodnota přes všechny možnosti cesty stav/akce51 \item $E$ operátor odhadu %střední hodnota přes všechny možnosti cesty stav/akce 52 52 \end{itemize} 53 53 \end{definition} … … 58 58 \begin{definition}[Q-function]\label{de:q_function} 59 59 $$ 60 Q (i, a)^{\pi}= \sum_{j \in S} P(i,a,j) ( R(i,a,j) + \gamma V^{\pi}(j) )60 Q^{\pi}(i, a) = \sum_{j \in S} P(i,a,j) ( R(i,a,j) + \gamma V^{\pi}(j) ) 61 61 $$ 62 62 63 63 kde jsou 64 $$ V^{\pi}(i) = \max_a Q^{\pi}(i,a) $$,64 $$ V^{\pi}(i) = \max_a Q^{\pi}(i,a) \;,$$ 65 65 $$ \pi(i) = \arg \max_a Q^{\pi}(i,a) $$ 66 66 \end{definition} … … 79 79 nemění se s dalšími kroky iterace. V praxi se stanoví nějaká dostatečně malá konstanta $\epsilon$, a 80 80 pokud se v dalším kroku $Q$ a $V$ nezmění o vícejak $\epsilon$, považujeme je za optimální. 81 Navíc bylo dokázáno, že vždy existuje právě jedna dvojice dvojicetěchto funkcí, která je optimální81 Navíc bylo dokázáno, že vždy existuje právě jedna dvojice těchto funkcí, která je optimální 82 82 a vždy ji lze tedy iterací určit.\\ 83 83 84 84 Algoritmus pro určení funkce $\pi$ tedy iterativně přes všechny stavy, akce a časové 85 kroky upravuje funkce $V$, $Q$ a $\pi$ podle rovnic \ref{de:q_function}, a v \cite{3_i_traff_light_c}85 kroky upravuje funkce $V$, $Q$ a $\pi$ podle rovnic \ref{de:q_function}, a v publikaci \cite{3_i_traff_light_c} 86 86 je v krocích popsán takto: 87 87 … … 93 93 \item dopočítat hodnotu funkce $V$ jako 94 94 $$ V(i) = \max_a Q(i,a) $$ 95 \item nastavit hodnotu funkce $ pi$ na akci maximálního zisku jako95 \item nastavit hodnotu funkce $\pi$ na akci maximálního zisku jako 96 96 $$ \pi(i) = \arg \max_a Q(i,a) $$ 97 97 \end{enumerate} … … 106 106 107 107 \subsubsection{Q-učení (Q-learning)} 108 Q-učení je bezmodelová metoda popsaná v \cite{q_learning} a \cite{learning_to_predict}.108 Q-učení je bezmodelová metoda popsaná v publikacích \cite{q_learning} a \cite{learning_to_predict}. 109 109 K určení požadovaných hodnot, jak název napovídá, používá 110 110 úpravu funkce $Q$ definované v \ref{de:q_function} … … 117 117 Q_{t-1}(i,a) & : jinak 118 118 \end{array} 119 \right. 119 \right. \;, 120 120 $$ 121 121