{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Comparing SARSA And Double Q Learning" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Lawn Mower" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# SARSA Training Loop\n", "sarsa_rewards = []\n", "for episode in range(total_episodes):\n", " state, _ = env.reset()\n", " state_index = env.obs_space_to_index(state)\n", " total_rewards = 0\n", " total_steps = 0\n", " action = env.action_space.sample() if np.random.uniform(0, 1) < epsilon else np.argmax(qt[state_index])\n", " while True:\n", " next_state, reward, terminated, truncated, _ = env.step(action)\n", " total_steps += 1 \n", " next_strt_idx = env.obs_space_to_index(next_state)\n", " next_action = env.action_space.sample() if np.random.uniform(0, 1) < epsilon else np.argmax(qt[next_strt_idx])\n", " qt[state_index, action] = qt[state_index, action] + alpha * (reward + gamma * qt[next_strt_idx, next_action] - qt[state_index, action])\n", " state_index, action = next_strt_idx, next_action\n", " total_rewards += reward\n", " if terminated or truncated:\n", " break\n", " sarsa_rewards.append(total_rewards)\n", "\n", "\n", "# Double Q-learning Training Loop\n", "double_q_rewards = []\n", "for episode in range(total_episodes):\n", " state, _ = env.reset()\n", " state_index = env.obs_space_to_index(state)\n", " total_rewards = 0\n", " total_steps = 0\n", " while True:\n", " total_steps += 1\n", " action = env.action_space.sample() if np.random.uniform(0, 1) < epsilon else np.argmax((qt1[state_index] + qt2[state_index]) / 2)\n", " next_state, reward, terminated, truncated, _ = env.step(action)\n", " next_strt_idx = env.obs_space_to_index(next_state)\n", " if np.random.uniform(0, 1) < 0.5:\n", " qt1[state_index, action] += alpha * (reward + gamma * qt2[next_strt_idx, np.argmax(qt1[next_strt_idx])] - qt1[state_index, action])\n", " else:\n", " qt2[state_index, action] += alpha * (reward + gamma * qt1[next_strt_idx, np.argmax(qt2[next_strt_idx])] - qt2[state_index, action])\n", " state_index = next_strt_idx\n", " total_rewards += reward\n", " if terminated or truncated or total_steps >= max_timestamp:\n", " break\n", " double_q_rewards.append(total_rewards)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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zZtRq1YtXV5orzFaQm12tNfL/fv3o3HjxvD09ETlypWxatUqg+9z6tQpJCYmwsvLCxUqVMAnn3yC5cuXUzsgESjYeYb9+uuvqFy5Mpo1ayZq+VdffRXTpk1D/fr18eWXXyIxMREzZsxA//79DZa9dOkSXnrpJXTr1g0zZszAw4cP0a1bN6xZswbjx4/HwIED8eGHH+Ly5cvo168f1Go17/MqlQodO3ZEeHg4Zs2ahQYNGuD999/X3dS15s2bh+effx4fffQRPv30U8jlcvTt2xe//fabQZr+/PNPjB8/Hi+++CLmzZuHSpUqCX7PkSNHYvHixejduzcWLVqEiRMnwsvLi9dGZMWKFejXrx9kMhlmzJiB4cOHY9OmTWjRogUvENF+l+TkZISEhOCLL75AYmIiZs+eLap68IMPPsDo0aMRFRWF2bNno3fv3vj666/RoUMHFBUVAQDmzp2LF154AQCwePFirF69Gr169TK6zooVK2LXrl24efOm2e0DQGpqKi5duoQBAwbAw8MDvXr1wpo1a0R9FoDuIhwUFMRLA6AJGPPy8kStZ926dfDx8UHXrl3RuHFjVKlSRXQ6Dh8+jH/++Qf9+/fH/PnzMXLkSOzatQutW7cW3P6YMWNw8uRJvP/++3j99dfx66+/GtyUp02bhqlTp6Ju3br4/PPPUblyZXTo0AGPHz8WlSZTYmJikJiYiIMHDyInJweAprq1devWWL16NVJSUvD5558jICAAQ4YMwbx586zelthzTV9GRgaaNm2KnTt34o033tBVoQ4bNgxz5841+dmtW7dCpVJh0KBBRpcZNGgQiouLDQIGsaZPn45BgwYhLi4Oc+bMwbhx47Br1y60atWKd45qj8HXX38dCxYsQHJyMhYsWCCYtuLiYiQnJyMsLAxffPEFevfurZu3f/9+jBo1Cv3798esWbOQn5+P3r174/79+2bTeunSJfTp0wft27fH7NmzERQUhCFDhvCC51u3bukC6smTJ2P8+PFYs2ZNqfb9M8W5BUvEWbKzsxkA1qNHD1HLnzhxggFgr776Km/6xIkTGQD2559/6qZVrFiRAWD//POPbtr27dsZAObl5cWuXbumm/71118zAOyvv/7STRs8eDADwMaMGaObplarWZcuXZiHhwevqiYvL4+XnsLCQlarVi3Wtm1b3nQATCqVsn///dfgu0GveD4gIECweoG7jbCwMFarVi1eVdiWLVsYADZt2jSD7/LRRx/x1vH888+zBg0aGN0GY4xlZmYyDw8P1qFDB6ZSqXTTtUX83377rW6athhfTDXWsmXLGADm4eHB2rRpw6ZOncr27dvH2wbXG2+8waKjo5larWaMMfbHH38wAOz48eO85bTVWDt37mR3795lN27cYD/++CMLDQ1lSqWS3bhxg7f8oEGDGAAWFBTEXnjhBfbFF1+ws2fPGk137dq1WUpKiu7/KVOmsHLlyrGioiKz31n/OGGMsQMHDjAAbNWqVQbfISkpSfd9GWNs/PjxTCaTsaysLMZYyb7p0qULb7kpU6YwAKWqxtIaO3YsA8BOnjzJGGNs7ty5DAD77rvvdMsUFhayhIQE5uvry3JychhjjP31118G5xRjjKWlpTEAbPny5bpplpxr+ufJsGHDWGRkJLt37x5vO/3792cBAQGCea41btw4wWOI69ixYwwAmzBhgtFltPSrsa5evcpkMhmbPn06b7nTp08zuVzOmy6UzhkzZjCJRMK7Vmnz6t133zVYXns+Xbp0STft5MmTBtV02uOLWw2svV7u3btXNy0zM5MplUr21ltv6aaNGTOGSSQSXp7dv3+fBQcHG6yTGKKSnWeU9mnRz89P1PK///47ABg0mHzrrbcAwKAkpWbNmkhISND936RJEwBA27ZtERMTYzD9ypUrBtvkPklri4kLCwuxc+dO3XQvLy/d3w8fPkR2djZatmxpUOUEAImJiahZs6aZbwoEBgYiNTUVt2/fFpx/5MgRZGZmYtSoUbwGt126dEF8fLxgqdLIkSN5/7ds2VLwO3Pt3LkThYWFGDduHKTSklN1+PDh8Pf3F9yOGK+88gq2bduG1q1bY//+/fj444/RsmVLxMXFGVQLFRcX4/vvv8eLL76o69rbtm1bhIWFGS1VSUpKQmhoKKKjo9GnTx/4+Pjgl19+QYUKFXjLLV++HF999RViY2Px008/YeLEiahRowbatWtnUHVx6tQpnD59GgMGDNBNGzBgAO7du4ft27eb/c7c46SoqAj3799H1apVERgYKHisjBgxgteVuWXLllCpVLh27RqAkn0zZswY3nLjxo0zmxaxtF3CHz16BEBzDkZERPDyQKFQ4M0330Rubi727Nlj9bbEnGtcjDFs3LgR3bp1A2MM9+7d0/0kJycj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(sarsa_rewards, label='SARSA')\n", "plt.plot(double_q_rewards, label='Double Q-learning')\n", "plt.xlabel('Episode')\n", "plt.ylabel('Total Reward')\n", "plt.legend()\n", "plt.title('Comparison of SARSA and Double Q-learning')\n", "plt.show()" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 2 }