Þ ¥bonds€¬cell_resultsÞ áÙ$8ddf6b9d-d76d-401f-96ad-2a0b5c114fa4Цqueued¤logs�§running¦output†¤bodyÙ;create_noisy_gridworld_mdp (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚš@®°persist_js_state·has_pluto_hook_features§cell_idÙ$8ddf6b9d-d76d-401f-96ad-2a0b5c114fa4¹depends_on_disabled_cells§runtimeÎ $™}µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$5290ae65-6f56-4849-a842-fe347315c6dcЦqueued¤logs�§running¦output†¤bodyÚX
6.2 Advantages of TD Prediction Methods
TD methods can learn before an episode terminates, so this is an advantage in environments that have very long episodes. Also, in continuing problems, Monte Carlo methods may not be suitable at all because there is no termination condition. Furthermore, if we consider off-policy learning, Monte Carlo methods must ignore returns if exploratory actions (ones never taken by the target policy) are taken later in the episode whereas TD methods could learn from individual steps that are not exploratory regardless of what happens later on.
For any fixed policy $v_\pi$ TD(0) has been proved to converge to $v_\pi$ in the mean for a constant step-size parameter if it is sufficiently small, and with probability 1 if the step-size parameter decreases according to the usual stochastic approximation conditions (2.7). Since both TD and Monte Carlo methods converge, one natural question is which converges faster, which makes more efficient use of limited data? There is no mathematical proof to this question, nor is it clear how to even pose it formally; however, TD methods have usually been found to converge faster than constant-α MC methods on stochastic tasks, as illustrated in Example 6.2.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•Þ·
¯°persist_js_state·has_pluto_hook_features§cell_idÙ$5290ae65-6f56-4849-a842-fe347315c6dc¹depends_on_disabled_cells§runtimeÎ âµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$b3d4117f-7db4-43a6-8427-c08f3542d71fЦqueued¤logs�§running¦output†¤bodyÙ(poisson (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚšÏê°persist_js_state·has_pluto_hook_features§cell_idÙ$b3d4117f-7db4-43a6-8427-c08f3542d71f¹depends_on_disabled_cells§runtimeÎ ÇPµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$3ed12c33-ab0a-49b1-b9e7-c4305ba35767Цqueued¤logs�§running¦output†¤bodyÙ*init_step (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•çò"S°persist_js_state·has_pluto_hook_features§cell_idÙ$3ed12c33-ab0a-49b1-b9e7-c4305ba35767¹depends_on_disabled_cells§runtimeÎ çµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$209881b3-3ac8-490e-97bd-fa5ae24a39f5Цqueued¤logs�§running¦output†¤bodyÙ.update_value! (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•ç¤3°persist_js_state·has_pluto_hook_features§cell_idÙ$209881b3-3ac8-490e-97bd-fa5ae24a39f5¹depends_on_disabled_cells§runtimeÎ &Y¦µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$6e06bd39-486f-425a-bbca-bf363b58988cЦqueued¤logs�§running¦output†¤bodyÚ�6.6 Expected Sarsa
Consider the learning algorithm that is just like Q-learning except that intsead of the maximization over next state-action pairs it uses the expected value, taking into account how likely each action is under the current policy. That is consider the algorithm with the update rule
$$Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha \left [ R_{t+1} + \gamma \text{E}_\pi [Q(S_{t+1}, A_{t+1})|S_{t+1}] - Q(S_t, A_t) \right ]$$
$$= Q(S_t, A_t) + \alpha \left [ R_{t+1} + \gamma \sum_a \pi(a|S_{t+1})Q(S_{t+1}, a) - Q(S_t, A_t) \right ]$$
but that otherwise follows the scheme of Q-learning. Given the next state, $S_{t+1}$ , this algorithm moves deterministically in the same direction as Sarsa moves in expectation , and accordingly it is called Expected Sarsa . Although more computationally complex than Sarsa, it eliminates the variance due to the random selection of $A_{t+1}$
In general Expected Sarsa might use a policy different from the target policy π to generate behavior in which case it becomes an off-policy algorithm. For example, supppose π is the greedy policy while behavior is more exploratory; then Expected Sarsa is exactly Q-learning. In this sense Expected Sarsa subsumes and generalizes Q-learning while reliably improving over Sarsa.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•Þ¼‚°persist_js_state·has_pluto_hook_features§cell_idÙ$6e06bd39-486f-425a-bbca-bf363b58988c¹depends_on_disabled_cells§runtimeÎ Œ÷µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$e039a5be-4b59-4023-be97-2d1de970be27Цqueued¤logs�§running¦output†¤bodyÙD
Double Learning Implementation
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•Þ½×ðpersist_js_state·has_pluto_hook_features§cell_idÙ$e039a5be-4b59-4023-be97-2d1de970be27¹depends_on_disabled_cells§runtimeÎ ådµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$2786101e-d365-4d6a-8de7-b9794499efb4Цqueued¤logs�§running¦output†¤bodyÙ,example_6_2 (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•æ~=°persist_js_state·has_pluto_hook_features§cell_idÙ$2786101e-d365-4d6a-8de7-b9794499efb4¹depends_on_disabled_cells§runtimeÎ ôôµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$14b456f9-5fd1-4340-a3c7-ab9b91b4e3e0Цqueued¤logs�§running¦output†¤bodyÙº
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•Þ¿ÿ¬°persist_js_state·has_pluto_hook_features§cell_idÙ$14b456f9-5fd1-4340-a3c7-ab9b91b4e3e0¹depends_on_disabled_cells§runtimeÎ sµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$ec285c96-4a75-4af6-8898-ec3176fa34c6Цqueued¤logs�§running¦output†¤bodyÙ5make_windy_gridworld (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•è=Áµ°persist_js_state·has_pluto_hook_features§cell_idÙ$ec285c96-4a75-4af6-8898-ec3176fa34c6¹depends_on_disabled_cells§runtimeÎ Ÿm!µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$cafedde8-be94-4697-a511-510a5fea0155Цqueued¤logs�§running¦output†¤bodyÚj„
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚšXSi°persist_js_state·has_pluto_hook_features§cell_idÙ$cafedde8-be94-4697-a511-510a5fea0155¹depends_on_disabled_cells§runtimeÏ ÝHJºµpublished_object_keys‘Ù59c6be96e-38f7-11f0-2d30-a71f02755abc/6021fa627daa4cd3¸depends_on_skipped_cells§erroredÂÙ$d526a3a4-63cc-4f94-8f55-98c9a4a9d134Цqueued¤logs�§running¦output†¤bodyÙ2double_q_learning (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚšÒPã°persist_js_state·has_pluto_hook_features§cell_idÙ$d526a3a4-63cc-4f94-8f55-98c9a4a9d134¹depends_on_disabled_cells§runtimeÎ ‹-¼µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$02f34da1-551f-4ce5-a588-7f3a14afd716Цqueued¤logs�§running¦output†¤body…¦prefix¥Int64¨elements“’’¢-1ªtext/plain’’¡0ªtext/plain’’¡1ªtext/plain¤type¥Array¬prefix_short ¨objectid¯7394916db5e0e55¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee®const wind_var²last_run_timestampËAÚ•èÂ#°persist_js_state·has_pluto_hook_features§cell_idÙ$02f34da1-551f-4ce5-a588-7f3a14afd716¹depends_on_disabled_cells§runtimeÎ Haµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$f11dca8f-5557-49fc-9720-35034eadba57Цqueued¤logs�§running¦output†¤bodyÚConsider a square gridworld in which the rewards for each step are -1.2 or 1.0 with equal probability. There is no wind and the allowed moves are just up, down, left, and right. The start is the lower left corner and the finish is the upper right corner. It is obvious that the expected reward for a step is -0.1, so the optimal policy is to move to the goal as quickly as possible which will take $(l-1) \times 2$ steps. For a 3x3 grid, this would be 4 steps, so $\mathbb{E} \{ G_0 \} = 4 \times -0.1 = -0.4$ .
Because the positive reward is so much larger than the expected value, we might expect a large maximization bias to confuse the training method and favor long episodes with expected values that are positive. Below are example solutions after thousands of episodes for each of the previously discussed methods. The first solution shown is the correct optimal policy and value function using value iteration
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•Þ¾fZ°persist_js_state·has_pluto_hook_features§cell_idÙ$f11dca8f-5557-49fc-9720-35034eadba57¹depends_on_disabled_cells§runtimeÎ ��µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$4ddc7d99-0b79-4689-bd93-8798b105c0a2Цqueued¤logs�§running¦output†¤body…¦prefixÙáMDP_TD{GridworldState, GridworldAction, var"#tr#115"{var"#110#119", var"#step#114"{typeof(stochastic_wind), Vector{Int64}, var"#boundstate#113"{Int64, Int64}}}, var"#108#117"{GridworldState}, var"#isterm#116"{GridworldState}}¨elements—’¦states’…¦prefixÙ$Main.var"workspace#3".GridworldState¨elements›’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡1ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°78e123e4d06443c5Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡2ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°e3e6b18864c38362Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡3ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°7d75a915b81b9730Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡4ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°32586272439d3588Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡5ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°593769200b7ddf14Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡6ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°d7705072ebc67732Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡7ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid¯32fa797472e0a83Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡2ªtext/plain’¡y’¡1ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°ef30e57ae60bdc38Ù!application/vnd.pluto.tree+object’ ’…¦prefix®GridworldState¨elements’’¡x’¡2ªtext/plain’¡y’¡2ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°74f49756a2864a57Ù!application/vnd.pluto.tree+object¤more’F’…¦prefix®GridworldState¨elements’’¡x’¢10ªtext/plain’¡y’¡7ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°91d5970141de4b2dÙ!application/vnd.pluto.tree+object¤type¥Array¬prefix_short ¨objectid°d8028ea24f24d35dÙ!application/vnd.pluto.tree+object’«statelookup’…¦prefixÙ1Dict{Main.var"workspace#3".GridworldState, Int64}¨elements›’’…¦prefix®GridworldState¨elements’’¡x’¡8ªtext/plain’¡y’¡5ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°14e5eae9a48c6749Ù!application/vnd.pluto.tree+object’¢54ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡6ªtext/plain’¡y’¡4ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°4e5052ac2b36c8beÙ!application/vnd.pluto.tree+object’¢39ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡7ªtext/plain’¡y’¡4ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°6d65389daed97014Ù!application/vnd.pluto.tree+object’¢46ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡8ªtext/plain’¡y’¡4ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°b85af438304886c5Ù!application/vnd.pluto.tree+object’¢53ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¢10ªtext/plain’¡y’¡1ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°dad6dff35c9621ffÙ!application/vnd.pluto.tree+object’¢64ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡6ªtext/plain’¡y’¡7ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°4e4b90239eb3be65Ù!application/vnd.pluto.tree+object’¢42ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡8ªtext/plain’¡y’¡1ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°6d43cd1ca99a553eÙ!application/vnd.pluto.tree+object’¢50ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡2ªtext/plain’¡y’¡3ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°166e372c47e8ffa6Ù!application/vnd.pluto.tree+object’¢10ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡5ªtext/plain’¡y’¡3ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°f8402269233868c7Ù!application/vnd.pluto.tree+object’¢31ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡8ªtext/plain’¡y’¡7ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°b08053c76dcd8072Ù!application/vnd.pluto.tree+object’¢56ªtext/plain¤more¤type¤Dict¬prefix_short¤Dict¨objectid°f2c827ab8104601fÙ!application/vnd.pluto.tree+object’§actions’…¦prefixÙ%Main.var"workspace#3".GridworldAction¨elements˜’’…¦prefix¢Up¨elements�¤type¦struct¬prefix_short¢Up¨objectid°ffffffff92511601Ù!application/vnd.pluto.tree+object’’…¦prefix¤Down¨elements�¤type¦struct¬prefix_short¤Down¨objectid°ffffffff0a19a748Ù!application/vnd.pluto.tree+object’’…¦prefix¤Left¨elements�¤type¦struct¬prefix_short¤Left¨objectid°ffffffff13951cc2Ù!application/vnd.pluto.tree+object’’…¦prefix¥Right¨elements�¤type¦struct¬prefix_short¥Right¨objectid°ffffffffa8d2f4c6Ù!application/vnd.pluto.tree+object’’…¦prefix§UpRight¨elements�¤type¦struct¬prefix_short§UpRight¨objectid°ffffffff65dca132Ù!application/vnd.pluto.tree+object’’…¦prefix¦UpLeft¨elements�¤type¦struct¬prefix_short¦UpLeft¨objectid°ffffffff68f3503eÙ!application/vnd.pluto.tree+object’’…¦prefix©DownRight¨elements�¤type¦struct¬prefix_short©DownRight¨objectid°ffffffff97f641f9Ù!application/vnd.pluto.tree+object’’…¦prefix¨DownLeft¨elements�¤type¦struct¬prefix_short¨DownLeft¨objectid°ffffffffd243dd41Ù!application/vnd.pluto.tree+object¤type¥Array¬prefix_short ¨objectid°d84fdc99910d1e41Ù!application/vnd.pluto.tree+object’¬actionlookup’…¦prefixÙ2Dict{Main.var"workspace#3".GridworldAction, Int64}¨elements˜’’…¦prefix¤Down¨elements�¤type¦struct¬prefix_short¤Down¨objectid°ffffffff0a19a748Ù!application/vnd.pluto.tree+object’¡2ªtext/plain’’…¦prefix¤Left¨elements�¤type¦struct¬prefix_short¤Left¨objectid°ffffffff13951cc2Ù!application/vnd.pluto.tree+object’¡3ªtext/plain’’…¦prefix§UpRight¨elements�¤type¦struct¬prefix_short§UpRight¨objectid°ffffffff65dca132Ù!application/vnd.pluto.tree+object’¡5ªtext/plain’’…¦prefix©DownRight¨elements�¤type¦struct¬prefix_short©DownRight¨objectid°ffffffff97f641f9Ù!application/vnd.pluto.tree+object’¡7ªtext/plain’’…¦prefix¨DownLeft¨elements�¤type¦struct¬prefix_short¨DownLeft¨objectid°ffffffffd243dd41Ù!application/vnd.pluto.tree+object’¡8ªtext/plain’’…¦prefix¥Right¨elements�¤type¦struct¬prefix_short¥Right¨objectid°ffffffffa8d2f4c6Ù!application/vnd.pluto.tree+object’¡4ªtext/plain’’…¦prefix¦UpLeft¨elements�¤type¦struct¬prefix_short¦UpLeft¨objectid°ffffffff68f3503eÙ!application/vnd.pluto.tree+object’¡6ªtext/plain’’…¦prefix¢Up¨elements�¤type¦struct¬prefix_short¢Up¨objectid°ffffffff92511601Ù!application/vnd.pluto.tree+object’¡1ªtext/plain¤type¤Dict¬prefix_short¤Dict¨objectid°c905ef492d7feaa3Ù!application/vnd.pluto.tree+object’ªstate_init’Ù%#108 (generic function with 1 method)ªtext/plain’¤step’Ú
(::Main.var"workspace#3".var"#tr#115"{Main.var"workspace#3".var"#110#119", Main.var"workspace#3".var"#step#114"{typeof(Main.var"workspace#3".stochastic_wind), Vector{Int64}, Main.var"workspace#3".var"#boundstate#113"{Int64, Int64}}}) (generic function with 1 method)ªtext/plain’¦isterm’Ùq(::Main.var"workspace#3".var"#isterm#116"{Main.var"workspace#3".GridworldState}) (generic function with 1 method)ªtext/plain¤type¦struct¬prefix_short¦MDP_TD¨objectid°46bc7f640018fe80¤mimeÙ!application/vnd.pluto.tree+object¬rootassigneeºconst stochastic_gridworld²last_run_timestampËAÚ•èÐÕ‘°persist_js_state·has_pluto_hook_features§cell_idÙ$4ddc7d99-0b79-4689-bd93-8798b105c0a2¹depends_on_disabled_cells§runtimeÎr–ˆµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$bd1029f9-d6a8-4c68-98cd-8af94297b521Цqueued¤logs�§running¦output†¤bodyÙ+plot_path (generic function with 2 methods)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•èÕ¿°persist_js_state·has_pluto_hook_features§cell_idÙ$bd1029f9-d6a8-4c68-98cd-8af94297b521¹depends_on_disabled_cells§runtimeÎ èQµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$cb07a6a5-c50a-4900-9e5b-a17dc7ee5710Цqueued¤logs�§running¦output†¤bodyÙ4make_greedy_policy! (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•çÝ8°persist_js_state·has_pluto_hook_features§cell_idÙ$cb07a6a5-c50a-4900-9e5b-a17dc7ee5710¹depends_on_disabled_cells§runtimeÎ #ÿ¼µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$ddf3bb61-16c9-48c4-95d4-263260309762Цqueued¤logs�§running¦output†¤bodyÙ-exercise_6_5 (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAڕ挔¯°persist_js_state·has_pluto_hook_features§cell_idÙ$ddf3bb61-16c9-48c4-95d4-263260309762¹depends_on_disabled_cells§runtimeÎ ”
Qµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$d7566d1b-8938-4e2c-8c54-124f790e72aeЦqueued¤logs�§running¦output†¤body©FiniteMDP¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚš@}°persist_js_state·has_pluto_hook_features§cell_idÙ$d7566d1b-8938-4e2c-8c54-124f790e72ae¹depends_on_disabled_cells§runtimeÎ PÙµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$42799973-9884-4a0e-b29a-039890e92d21Цqueued¤logs�§running¦output†¤bodyÚ
%
Exercise 6.13
What are the update equations for Double Expected Sarsa with an ϵ-greedy target policy?
For Q-learning the action-value update equation is:
$$Q(S_t, A_t) = Q(S_t, A_t) + \alpha[R_{t+1} + \gamma \text{max}_a Q(S_{t+1}, a) - Q(S_t, A_t)]$$
For expected Sarsa the action-value update equation is:
$$Q(S_t, A_t) = Q(S_t, A_t) + \alpha [ R_{t+1} + \gamma \sum_a \pi(a|S_{t+1})Q(S_{t+1}, a) - Q(S_t, A_t)]$$
For double Q-learning, the twin action-value update equations are:
$$Q_1(S_t, A_t) = Q_1(S_t, A_t) + \alpha [ R_{t+1} + \gamma Q_2(S_{t+1}, \text{argmax}_a Q_1(S_{t+1}, a)) - Q_1(S_t, A_t)]$$
$$Q_2(S_t, A_t) = Q_2(S_t, A_t) + \alpha [ R_{t+1} + \gamma Q_1(S_{t+1}, \text{argmax}_a Q_2(S_{t+1}, a)) - Q_2(S_t, A_t)]$$
For double expected sarsa, we have two action-value estimates like in Double Q-learining, but the bootstrap calculation is an expected value calculation using each value function's target policy. In this case that target is the $\epsilon$ -greedy policy rather than the greedy policy in Q-learning. The expected value uses the probabilities from the matching value function but the values from the other one:
With 50% probability:
$$Q_1(S_t, A_t) = Q_1(S_t, A_t) + \alpha [ R_{t+1} + \gamma \sum_a \pi_1(a|S_{t+1}) Q_2(S_{t+1}, a) - Q_1(S_t, A_t)]$$
and make $\pi_1$ $\epsilon$ -greedy with respect to $Q_1$
With 50% probability:
$$Q_2(S_t, A_t) = Q_2(S_t, A_t) + \alpha [ R_{t+1} + \gamma \sum_a \pi_2(a|S_{t+1}) Q_1(S_{t+1}, a) - Q_2(S_t, A_t)]$$
and make $\pi_2$ $\epsilon$ -greedy with respect to $Q_2$
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•Þ¾Òž°persist_js_state·has_pluto_hook_features§cell_idÙ$42799973-9884-4a0e-b29a-039890e92d21¹depends_on_disabled_cells§runtimeΠ蜵published_object_keys�¸depends_on_skipped_cells§erroredÂÙ$187fc682-2282-46ca-b988-c9de438f36fdЦqueued¤logs�§running¦output†¤bodyÚ=
Batch Training of Random Walk Task
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•æöSP°persist_js_state·has_pluto_hook_features§cell_idÙ$187fc682-2282-46ca-b988-c9de438f36fd¹depends_on_disabled_cells§runtimeÎ,^îÒµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$8fe856ec-5f0a-4483-bb7d-3f6fe270b6f3Цqueued¤logs�§running¦output†¤bodyÙB
Example 6.8: Noisy Gridworld
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•Þ¾G�°persist_js_state·has_pluto_hook_features§cell_idÙ$8fe856ec-5f0a-4483-bb7d-3f6fe270b6f3¹depends_on_disabled_cells§runtimeÎ Ùϵpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$8e15f4b5-0dc7-47a5-9477-9f4d8807b331Цqueued¤logs�§running¦output†¤body…¦prefixÙ3FiniteMDP{Float32, GridworldState, GridworldAction}¨elements™’¦states’…¦prefixÙ$Main.var"workspace#3".GridworldState¨elements›’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡1ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°78e123e4d06443c5Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡2ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°e3e6b18864c38362Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡3ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°7d75a915b81b9730Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡4ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°32586272439d3588Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡5ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°593769200b7ddf14Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡6ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°d7705072ebc67732Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡1ªtext/plain’¡y’¡7ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid¯32fa797472e0a83Ù!application/vnd.pluto.tree+object’’…¦prefix®GridworldState¨elements’’¡x’¡2ªtext/plain’¡y’¡1ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°ef30e57ae60bdc38Ù!application/vnd.pluto.tree+object’ ’…¦prefix®GridworldState¨elements’’¡x’¡2ªtext/plain’¡y’¡2ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°74f49756a2864a57Ù!application/vnd.pluto.tree+object¤more’F’…¦prefix®GridworldState¨elements’’¡x’¢10ªtext/plain’¡y’¡7ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°91d5970141de4b2dÙ!application/vnd.pluto.tree+object¤type¥Array¬prefix_short ¨objectid°e873767f6f57e41eÙ!application/vnd.pluto.tree+object’§actions’…¦prefixÙ%Main.var"workspace#3".GridworldAction¨elements˜’’…¦prefix¢Up¨elements�¤type¦struct¬prefix_short¢Up¨objectid°ffffffff92511601Ù!application/vnd.pluto.tree+object’’…¦prefix¤Down¨elements�¤type¦struct¬prefix_short¤Down¨objectid°ffffffff0a19a748Ù!application/vnd.pluto.tree+object’’…¦prefix¤Left¨elements�¤type¦struct¬prefix_short¤Left¨objectid°ffffffff13951cc2Ù!application/vnd.pluto.tree+object’’…¦prefix¥Right¨elements�¤type¦struct¬prefix_short¥Right¨objectid°ffffffffa8d2f4c6Ù!application/vnd.pluto.tree+object’’…¦prefix§UpRight¨elements�¤type¦struct¬prefix_short§UpRight¨objectid°ffffffff65dca132Ù!application/vnd.pluto.tree+object’’…¦prefix¦UpLeft¨elements�¤type¦struct¬prefix_short¦UpLeft¨objectid°ffffffff68f3503eÙ!application/vnd.pluto.tree+object’’…¦prefix©DownRight¨elements�¤type¦struct¬prefix_short©DownRight¨objectid°ffffffff97f641f9Ù!application/vnd.pluto.tree+object’’…¦prefix¨DownLeft¨elements�¤type¦struct¬prefix_short¨DownLeft¨objectid°ffffffffd243dd41Ù!application/vnd.pluto.tree+object¤type¥Array¬prefix_short ¨objectid°d84fdc99910d1e41Ù!application/vnd.pluto.tree+object’§rewards’…¦prefix§Float32¨elements’’’£0.0ªtext/plain’’¤-1.0ªtext/plain¤type¥Array¬prefix_short ¨objectid°589d78fbcf524589Ù!application/vnd.pluto.tree+object’£ptf’ÚQ70×2×8×70 Array{Float32, 4}:
[:, :, 1, 1] =
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 2, 1] =
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 3, 1] =
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 4, 1] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 5, 1] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 6, 1] =
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 7, 1] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 8, 1] =
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 1, 2] =
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 2, 2] =
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 3, 2] =
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 4, 2] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 5, 2] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 6, 2] =
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 7, 2] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 8, 2] =
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 1, 3] =
0.0 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.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 2, 3] =
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 3, 3] =
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 4, 3] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 5, 3] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 6, 3] =
0.0 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.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 7, 3] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 8, 3] =
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
;;;; …
[:, :, 1, 68] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
[:, :, 2, 68] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 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.0
[:, :, 3, 68] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 4, 68] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
[:, :, 5, 68] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
[:, :, 6, 68] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 7, 68] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 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.0
[:, :, 8, 68] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 1, 69] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
[:, :, 2, 69] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
[:, :, 3, 69] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 4, 69] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
[:, :, 5, 69] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
[:, :, 6, 69] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 7, 69] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
0.0 0.0
[:, :, 8, 69] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 1, 70] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
[:, :, 2, 70] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
[:, :, 3, 70] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 4, 70] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
[:, :, 5, 70] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
[:, :, 6, 70] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
[:, :, 7, 70] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 1.0
0.0 0.0
[:, :, 8, 70] =
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
â‹®
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0
0.0 0.0ªtext/plain’®action_scratch’…¦prefix§Float32¨elements˜’’¤-1.2ªtext/plain’’£0.0ªtext/plain’’§3.0f-45ªtext/plain’’£0.0ªtext/plain’’§1.0f-45ªtext/plain’’£0.0ªtext/plain’’§3.0f-45ªtext/plain’’£0.0ªtext/plain¤type¥Array¬prefix_short ¨objectid°dfeee36c5df5172cÙ!application/vnd.pluto.tree+object’state_scratch’…¦prefix§Float32¨elements›’’©6.726f-42ªtext/plain’’¨2.69f-43ªtext/plain’’©6.726f-42ªtext/plain’’¨2.69f-43ªtext/plain’’©9.596f-42ªtext/plain’’¨2.69f-43ªtext/plain’’©9.596f-42ªtext/plain’’©6.726f-42ªtext/plain’ ’©6.771f-42ªtext/plain¤more’G’¨9.42f-43ªtext/plain¤type¥Array¬prefix_short ¨objectid°78eef2780ff5340dÙ!application/vnd.pluto.tree+object’®reward_scratch’…¦prefix§Float32¨elements’’’§4.0f-45ªtext/plain’’£0.0ªtext/plain¤type¥Array¬prefix_short ¨objectid°be420ce59a9b6a13Ù!application/vnd.pluto.tree+object’«state_index’…¦prefixÙ1Dict{Main.var"workspace#3".GridworldState, Int64}¨elements›’’…¦prefix®GridworldState¨elements’’¡x’¡8ªtext/plain’¡y’¡5ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°14e5eae9a48c6749Ù!application/vnd.pluto.tree+object’¢54ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡6ªtext/plain’¡y’¡4ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°4e5052ac2b36c8beÙ!application/vnd.pluto.tree+object’¢39ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡7ªtext/plain’¡y’¡4ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°6d65389daed97014Ù!application/vnd.pluto.tree+object’¢46ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡8ªtext/plain’¡y’¡4ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°b85af438304886c5Ù!application/vnd.pluto.tree+object’¢53ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¢10ªtext/plain’¡y’¡1ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°dad6dff35c9621ffÙ!application/vnd.pluto.tree+object’¢64ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡6ªtext/plain’¡y’¡7ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°4e4b90239eb3be65Ù!application/vnd.pluto.tree+object’¢42ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡8ªtext/plain’¡y’¡1ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°6d43cd1ca99a553eÙ!application/vnd.pluto.tree+object’¢50ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡2ªtext/plain’¡y’¡3ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°166e372c47e8ffa6Ù!application/vnd.pluto.tree+object’¢10ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡5ªtext/plain’¡y’¡3ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°f8402269233868c7Ù!application/vnd.pluto.tree+object’¢31ªtext/plain’’…¦prefix®GridworldState¨elements’’¡x’¡8ªtext/plain’¡y’¡7ªtext/plain¤type¦struct¬prefix_short®GridworldState¨objectid°b08053c76dcd8072Ù!application/vnd.pluto.tree+object’¢56ªtext/plain¤more¤type¤Dict¬prefix_short¤Dict¨objectid°5965d00bcc2d1e1dÙ!application/vnd.pluto.tree+object’¬action_index’…¦prefixÙ2Dict{Main.var"workspace#3".GridworldAction, Int64}¨elements˜’’…¦prefix¤Down¨elements�¤type¦struct¬prefix_short¤Down¨objectid°ffffffff0a19a748Ù!application/vnd.pluto.tree+object’¡2ªtext/plain’’…¦prefix¤Left¨elements�¤type¦struct¬prefix_short¤Left¨objectid°ffffffff13951cc2Ù!application/vnd.pluto.tree+object’¡3ªtext/plain’’…¦prefix§UpRight¨elements�¤type¦struct¬prefix_short§UpRight¨objectid°ffffffff65dca132Ù!application/vnd.pluto.tree+object’¡5ªtext/plain’’…¦prefix©DownRight¨elements�¤type¦struct¬prefix_short©DownRight¨objectid°ffffffff97f641f9Ù!application/vnd.pluto.tree+object’¡7ªtext/plain’’…¦prefix¨DownLeft¨elements�¤type¦struct¬prefix_short¨DownLeft¨objectid°ffffffffd243dd41Ù!application/vnd.pluto.tree+object’¡8ªtext/plain’’…¦prefix¥Right¨elements�¤type¦struct¬prefix_short¥Right¨objectid°ffffffffa8d2f4c6Ù!application/vnd.pluto.tree+object’¡4ªtext/plain’’…¦prefix¦UpLeft¨elements�¤type¦struct¬prefix_short¦UpLeft¨objectid°ffffffff68f3503eÙ!application/vnd.pluto.tree+object’¡6ªtext/plain’’…¦prefix¢Up¨elements�¤type¦struct¬prefix_short¢Up¨objectid°ffffffff92511601Ù!application/vnd.pluto.tree+object’¡1ªtext/plain¤type¤Dict¬prefix_short¤Dict¨objectid°cadd71e6af1c650dÙ!application/vnd.pluto.tree+object¤type¦struct¬prefix_short©FiniteMDP¨objectid°5729813aff5969a5¤mimeÙ!application/vnd.pluto.tree+object¬rootassigneeÙ!const stochastic_gridworld_mdp_dp²last_run_timestampËAÚš—ûü°persist_js_state·has_pluto_hook_features§cell_idÙ$8e15f4b5-0dc7-47a5-9477-9f4d8807b331¹depends_on_disabled_cells§runtimeÎedµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$9d01c0ef-6313-4091-b444-3e9765aba90cЦqueued¤logs�§running¦output†¤bodyÙO
Windy Gridworld Solutions with Q-Learning
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•Þ»8v°persist_js_state·has_pluto_hook_features§cell_idÙ$9d01c0ef-6313-4091-b444-3e9765aba90c¹depends_on_disabled_cells§runtimeÎ Þ0µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$62a9a36a-bedb-4f5a-80a4-2d4111a65c12Цqueued¤logs�§running¦output†¤bodyÚ2
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•çÏ/°persist_js_state·has_pluto_hook_features§cell_idÙ$62a9a36a-bedb-4f5a-80a4-2d4111a65c12¹depends_on_disabled_cells§runtimeÎ*´Êеpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$2651af2d-56a8-4f7e-a56a-45cabd665c72Цqueued¤logs�§running¦output†¤bodyÚj„
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚšŠ°persist_js_state·has_pluto_hook_features§cell_idÙ$2651af2d-56a8-4f7e-a56a-45cabd665c72¹depends_on_disabled_cells§runtimeÎàL˜µpublished_object_keys‘Ù59c6be96e-38f7-11f0-2d30-a71f02755abc/a68a31a7f0a83bf4¸depends_on_skipped_cells§erroredÂÙ$620a6426-cb29-4010-997b-aa4f9d5f8fb0Цqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•æö™ö°persist_js_state·has_pluto_hook_features§cell_idÙ$620a6426-cb29-4010-997b-aa4f9d5f8fb0¹depends_on_disabled_cells§runtimeÎ 2%µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$889611fb-7dac-4769-9251-9a90e3a1422fЦqueued¤logs�§running¦output†¤bodyÙ+statestyle (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•åÚ±°persist_js_state·has_pluto_hook_features§cell_idÙ$889611fb-7dac-4769-9251-9a90e3a1422f¹depends_on_disabled_cells§runtimeÎ {ʵpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$5455fc97-55cb-4b0e-a3be-9433ccc96fc0Цqueued¤logs�§running¦output†¤bodyÚ^¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•å*v\°persist_js_state·has_pluto_hook_features§cell_idÙ$5455fc97-55cb-4b0e-a3be-9433ccc96fc0¹depends_on_disabled_cells§runtimeÎ ¢¤gµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$24a441c8-7aaf-4642-b245-5e1201456d67Цqueued¤logs�§running¦output†¤bodyÙ-check_policy (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•â&Ò-°persist_js_state·has_pluto_hook_features§cell_idÙ$24a441c8-7aaf-4642-b245-5e1201456d67¹depends_on_disabled_cells§runtimeÎ
µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$1e45a661-c2e1-40c2-b27b-5f80f95efdabЦqueued¤logs�§running¦output†¤bodyÛ »Ù
-11.0
-12.0
-11.0
-11.0
-12.0
-13.0
-13.0
-11.0
-11.0
-9.9
-11.0
-12.0
-13.0
-13.0
-9.5
-8.8
-10.0
-12.0
-12.0
-13.0
-13.0
-7.7
-8.6
-11.0
-12.0
-13.0
-13.0
-14.0
-6.4
-6.8
-10.0
-11.0
-13.0
-13.0
-14.0
-4.8
-5.6
-6.5
-10.0
-11.0
-13.0
-13.0
-4.4
-2.6
-5.2
-8.4
-12.0
-12.0
-12.0
-6.0
-5.0
-8.1
0.0
-9.8
-11.0
-10.0
-6.7
-5.8
-5.1
-7.7
-7.6
-8.1
-9.1
-6.9
-7.3
-7.0
-5.5
-6.1
-7.1
-8.3
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•éÂi°persist_js_state·has_pluto_hook_features§cell_idÙ$1e45a661-c2e1-40c2-b27b-5f80f95efdab¹depends_on_disabled_cells§runtimeÎÐíµpublished_object_keys‘Ù59c6be96e-38f7-11f0-2d30-a71f02755abc/2b03c89d05785d10¸depends_on_skipped_cells§erroredÂÙ$21fbdc3b-4444-4f56-9934-fb58e184d685Цqueued¤logs�§running¦output†¤bodyÙ–¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ•éâ{À°persist_js_state·has_pluto_hook_features§cell_idÙ$21fbdc3b-4444-4f56-9934-fb58e184d685¹depends_on_disabled_cells§runtimeÎbÚdµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$30e663da-282c-42ff-8171-dbe3c5c467c6Цqueued¤logs�§running¦output†¤bodyÙ5makepolicyvalueplots (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚšŽO¾°persist_js_state·has_pluto_hook_features§cell_idÙ$30e663da-282c-42ff-8171-dbe3c5c467c6¹depends_on_disabled_cells§runtimeÎ*Ð\µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$9651f823-e1cd-4e6e-9ce0-be9ea1c3f0a4Цqueued¤logs�§running¦output†¤bodyÙ4display_king_policy (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•èv°persist_js_state·has_pluto_hook_features§cell_idÙ$9651f823-e1cd-4e6e-9ce0-be9ea1c3f0a4¹depends_on_disabled_cells§runtimeÎ *Ùµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$84a71bf8-0d66-42cd-ac7b-589d63a16edaЦqueued¤logs�§running¦output†¤bodyÙ5create_greedy_policy (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚš^d=°persist_js_state·has_pluto_hook_features§cell_idÙ$84a71bf8-0d66-42cd-ac7b-589d63a16eda¹depends_on_disabled_cells§runtimeÎ %hÓµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$c9f7646a-ec01-4d90-9215-5027b7c1c885Цqueued¤logs�§running¦output†¤bodyÚ´¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚšµ°persist_js_state·has_pluto_hook_features§cell_idÙ$c9f7646a-ec01-4d90-9215-5027b7c1c885¹depends_on_disabled_cells§runtimeΞûµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$8e34202a-f841-4464-9017-cd50194f7987Цqueued¤logs�§running¦output†¤bodyÙ3make_random_policy (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ•â
ZÕ°persist_js_state·has_pluto_hook_features§cell_idÙ$8e34202a-f841-4464-9017-cd50194f7987¹depends_on_disabled_cells§runtimeÎ `µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$95245673-2c29-401e-bb4b-a39dc8172297Цqueued¤logs�§running¦output†¤bodyÙ5create_gridworld_mdp (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚš2!q°persist_js_state·has_pluto_hook_features§cell_idÙ$95245673-2c29-401e-bb4b-a39dc8172297¹depends_on_disabled_cells§runtimeÎ 7¢Nµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$c34678f6-53bb-4f2a-96f0-a7b16f894dddЦqueued¤logs�§running¦output†¤bodyÙ