From 6715f3508589eec9b46e8d8e0f8d3a49a4a2c12c Mon Sep 17 00:00:00 2001 From: "sergi.rocamora.ardevol@gmail.com" Date: Sun, 11 Mar 2018 23:57:15 +0100 Subject: [PATCH 1/2] Final commit --- RandomBird/FlappyAgent.py | 9 --------- RandomBird/run.py | 29 ----------------------------- 2 files changed, 38 deletions(-) delete mode 100644 RandomBird/FlappyAgent.py delete mode 100644 RandomBird/run.py diff --git a/RandomBird/FlappyAgent.py b/RandomBird/FlappyAgent.py deleted file mode 100644 index 9f3ec84..0000000 --- a/RandomBird/FlappyAgent.py +++ /dev/null @@ -1,9 +0,0 @@ -import numpy as np - -def FlappyPolicy(state, screen): - action=None - if(np.random.randint(0,2)<1): - action=119 - return action - - diff --git a/RandomBird/run.py b/RandomBird/run.py deleted file mode 100644 index 39b5801..0000000 --- a/RandomBird/run.py +++ /dev/null @@ -1,29 +0,0 @@ -# You're not allowed to change this file -from ple.games.flappybird import FlappyBird -from ple import PLE -import numpy as np -from FlappyAgent import FlappyPolicy - -game = FlappyBird(graphics="fixed") # use "fancy" for full background, random bird color and random pipe color, use "fixed" (default) for black background and constant bird and pipe colors. -p = PLE(game, fps=30, frame_skip=1, num_steps=1, force_fps=False, display_screen=True) -# Note: if you want to see you agent act in real time, set force_fps to False. But don't use this setting for learning, just for display purposes. - -p.init() -reward = 0.0 - -nb_games = 100 -cumulated = np.zeros((nb_games)) - -for i in range(nb_games): - p.reset_game() - - while(not p.game_over()): - state = game.getGameState() - screen = p.getScreenRGB() - action=FlappyPolicy(state, screen) ### Your job is to define this function. - - reward = p.act(action) - cumulated[i] = cumulated[i] + reward - -average_score = np.mean(cumulated) -max_score = np.max(cumulated) From ef83cabbdd30d2b589cae837acdf68bb7a31dff9 Mon Sep 17 00:00:00 2001 From: "sergi.rocamora.ardevol@gmail.com" Date: Sun, 11 Mar 2018 23:57:40 +0100 Subject: [PATCH 2/2] Final commit --- Rocamora-Ardevol/FlappyAgent.py | 60 +++ Rocamora-Ardevol/Qlearning.npy | Bin 0 -> 183662 bytes Rocamora-Ardevol/Qsarsa.npy | Bin 0 -> 183662 bytes Rocamora-Ardevol/README.md | 19 + .../Train/Neural network training.ipynb | 287 ++++++++++ .../Train/Q - learning training.ipynb | 509 ++++++++++++++++++ .../Train/SARSA - TD lambda training.ipynb | 279 ++++++++++ Rocamora-Ardevol/run.py | 29 + 8 files changed, 1183 insertions(+) create mode 100644 Rocamora-Ardevol/FlappyAgent.py create mode 100644 Rocamora-Ardevol/Qlearning.npy create mode 100644 Rocamora-Ardevol/Qsarsa.npy create mode 100644 Rocamora-Ardevol/README.md create mode 100644 Rocamora-Ardevol/Train/Neural network training.ipynb create mode 100644 Rocamora-Ardevol/Train/Q - learning training.ipynb create mode 100644 Rocamora-Ardevol/Train/SARSA - TD lambda training.ipynb create mode 100644 Rocamora-Ardevol/run.py diff --git a/Rocamora-Ardevol/FlappyAgent.py b/Rocamora-Ardevol/FlappyAgent.py new file mode 100644 index 0000000..b4fe2c3 --- /dev/null +++ b/Rocamora-Ardevol/FlappyAgent.py @@ -0,0 +1,60 @@ +import numpy as np + +Qlearning = dict() +Qsarsa = dict() + +def FlappyPolicy(state, screen): + """ + Returns an action for each timestep depending on the game state: + 'None' for doing nothing; + '119' for jumping + """ + action = actTDLambda(state) + + return( 119 if action else 0 ) + + + +def actQlearning(state): + + global Qlearning + + if not bool(Qlearning): + Qlearning = np.load('Qlearning.npy') + + s1, s2, s3 = toDiscreteRef(state) + key = str(s1)+'|'+str(s2)+'|'+str(s3) + + if Qlearning[()].get(key) == None: + return 0 + + return Qlearning[()][key][0] < Qlearning[()][key][1] + + +def actTDLambda(state): + + global Qsarsa + + if not bool(Qsarsa): + Qsarsa = np.load('Qsarsa.npy') + + s1, s2, s3 = toDiscreteRef(state) + key = str(s1)+'|'+str(s2)+'|'+str(s3) + + if Qsarsa[()].get(key) == None: + return 0 + + return Qsarsa[()][key][0] < Qsarsa[()][key][1] + + +def toDiscreteRef(state): + """ + Converts the game state variables into the custom discrete variable state for the + Q-learning approach. + """ + + s1 = state['next_pipe_bottom_y'] - state['player_y'] + s2 = state['next_pipe_dist_to_player'] + s3 = state['player_vel'] + + return int(s1-s1%10), int(s2-s2%20), int(s3-s3%2) diff --git a/Rocamora-Ardevol/Qlearning.npy b/Rocamora-Ardevol/Qlearning.npy new file mode 100644 index 0000000000000000000000000000000000000000..b2db7230eaae07aad49e9f4a218243e02c9899ab GIT binary patch literal 183662 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 Xena1k7+6s=vh^4^NohvM2G#gKUI{(B literal 0 HcmV?d00001 diff --git a/Rocamora-Ardevol/Qsarsa.npy b/Rocamora-Ardevol/Qsarsa.npy new file mode 100644 index 0000000000000000000000000000000000000000..b2db7230eaae07aad49e9f4a218243e02c9899ab GIT binary patch literal 183662 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 Xena1k7+6s=vh^4^NohvM2G#gKUI{(B literal 0 HcmV?d00001 diff --git a/Rocamora-Ardevol/README.md b/Rocamora-Ardevol/README.md new file mode 100644 index 0000000..24b6ea8 --- /dev/null +++ b/Rocamora-Ardevol/README.md @@ -0,0 +1,19 @@ +# Implementations +## Q-learning approach with temporal differences TD(0) +This algorithm approximates the Q matrix associated to the optimal policy by choosing actions greedily and updating it using the best next Q value independently of the taken policy (off-policy). + +## SARSA approach with temporal differences TD($\lambda$) +The SARSA algorithm inferes the value of the problem's optimal policy's Q matrix by chosing actions greedily and updating the value of the Q on the evaluated policy. + +This allows for using the TD($\lambda$) value estimator, which allows for a much faster propagation of the information and thus a faster convergence. + +## Q-learning using a neural network as an approximating function +It inferes the Q matrix values through a neural network. This implementation uses a memory replay. + +**This case does not work at the moment** due to a lack of an appropriate hyperparameter tunning. Once properly working it will be naturably extensible to use all the PLE's state variables. + +# Acknowledgements +The theoretical foundations for this work are based on Emmanuel Rachelson's course on machine learning + +Some implementation details and hyperparameters based on the work of: +https://github.com/chncyhn/flappybird-qlearning-bot \ No newline at end of file diff --git a/Rocamora-Ardevol/Train/Neural network training.ipynb b/Rocamora-Ardevol/Train/Neural network training.ipynb new file mode 100644 index 0000000..32f9f17 --- /dev/null +++ b/Rocamora-Ardevol/Train/Neural network training.ipynb @@ -0,0 +1,287 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ple.games.flappybird import FlappyBird\n", + "from ple import PLE\n", + "\n", + "import numpy as np\n", + "#from FlappyAgent import FlappyPolicy\n", + "\n", + "import matplotlib.pyplot as plt\n", + "#%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from keras.models import Sequential\n", + "from keras.layers.core import Dense, Dropout, Activation\n", + "from keras.optimizers import RMSprop, sgd, Adam\n", + "from keras.layers.recurrent import LSTM\n", + "import numpy as np\n", + "import random\n", + "import h5py\n", + "from IPython.display import clear_output\n", + "from collections import deque" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "game = FlappyBird(graphics=\"fixed\") # use \"fancy\" for full background, random bird color and random pipe color, use \"fixed\" (default) for black background and constant bird and pipe colors.\n", + "p = PLE(game, fps=30, frame_skip=1, num_steps=1, force_fps=True, display_screen=True)\n", + "# Note: if you want to see you agent act in real time, set force_fps to False. But don't use this setting for learning, just for display purposes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Declare functions\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def convstate(state):\n", + " \"\"\"\n", + " Calculate new state variables from game state\n", + " \"\"\"\n", + " s = np.zeros((3))\n", + " s[0] = state['next_pipe_bottom_y'] - state['player_y']\n", + " s[1] = state['next_pipe_dist_to_player']\n", + " s[2] = state['player_vel']\n", + " \n", + " s[0] = (s[0] - (210 - 40)/2) / ((210 + 40)/2)\n", + " s[1] = (s[1] - (420 - 420)/2) / ((420 + 420)/2) \n", + " s[2] = (s[2] - (10 - 10)/2) / ((10 + 10)/2)\n", + " \n", + " return s.reshape((1,3))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def epsilon_greedy(s):\n", + " \n", + " if(np.random.rand()<=epsilon): # random action\n", + " return np.random.choice([0,1], p=[0.9,.1])\n", + " \n", + " else: \n", + " qval = model.predict(s)\n", + " return np.argmax(qval)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class ReplayMemory:\n", + " \"\"\"\n", + " self.memory contains the old state, the action, the reward, the new state and wether it is a final status, \n", + " concatenated in an array.\n", + " \"\"\"\n", + " def __init__ (self, size):\n", + " self.size = size\n", + " self.index = 0\n", + " self.currentsize = 0\n", + " self.memory = np.zeros((size,9))\n", + " \n", + " def insert (self, state):\n", + " if self.currentsize < self.size:\n", + " self.currentsize += 1\n", + " self.memory[self.index,:] = state[:]\n", + " self.index += 1\n", + " self.index = self.index % self.size\n", + " \n", + " def sample (self, batchSize):\n", + " batchSize = min(self.currentsize, batchSize)\n", + " ind = np.random.choice(self.currentsize, size=batchSize, replace=False)\n", + " return self.memory[ind,:]\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Declare model\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model = Sequential()\n", + "\n", + "model.add(Dense(100, kernel_initializer='lecun_uniform', input_shape=(3,)))\n", + "model.add(Activation('relu'))\n", + "#model.add(Dropout(0.5)) \n", + "model.add(Dense(100, kernel_initializer='lecun_uniform'))\n", + "model.add(Activation('relu'))\n", + "#model.add(Dropout(0.5))\n", + "model.add(Dense(2, kernel_initializer='lecun_uniform'))\n", + "model.add(Activation('linear'))\n", + "#model.compile(loss='mse', optimizer=\"rmsprop\")\n", + "adam = Adam(lr=1e-2)\n", + "model.compile(loss='mse', optimizer=adam)\n", + "\n", + "model.summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Hyperparameters\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "nb_games = 1000\n", + "gamma = .99 # discount factor\n", + "epsilon = .1 # epsilon-greddy\n", + "batchSize = 32\n", + "replay = ReplayMemory(10000)\n", + "replay_pos = ReplayMemory(10000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Train network\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# Some control variables\n", + "cumulated = np.zeros((nb_games))\n", + "\n", + "# Start the game\n", + "p.init()\n", + "r = 0\n", + "step = 0\n", + "\n", + "for i in range(nb_games):\n", + " p.reset_game()\n", + " \n", + " # Control print\n", + " if i%100 == 0:\n", + " print(i, epsilon, np.mean(cumulated[i-50:i]))\n", + " \n", + " # Decrease exploration ratio\n", + " epsilon *= 0.98\n", + " \n", + " # 0) Retrieve initial state\n", + " \n", + " s = convstate(game.getGameState())\n", + " \n", + " while(not p.game_over()):\n", + " \n", + " # 1) Choose action greedily\n", + " a = epsilon_greedy(s)\n", + " action = 119 if a else None\n", + " \n", + " # Execute \n", + " r = p.act(action)\n", + " cumulated[i] += r\n", + " \n", + " clipped_r = max( min( r, 1 ), -1 ) # Clip the reward values\n", + " \n", + " ss = convstate(game.getGameState())\n", + "\n", + " replay.insert(np.concatenate((s,[[a]],[[r]],ss,[[p.game_over()]]),axis=1))\n", + " \n", + " # 2) Update Q \n", + " \n", + " if step > 1000: # and step % 100 == 99:\n", + " \n", + " train_x = np.zeros((batchSize,3))\n", + " train_y = np.zeros((batchSize,2))\n", + " for idx,entry in enumerate(replay.sample(batchSize)):\n", + " currentS = entry[0:3].copy().reshape(1,3)\n", + " nextS = entry[5:8].copy().reshape(1,3)\n", + " act = entry[3]\n", + " rew = entry[4]\n", + " ending = entry[8]\n", + "\n", + " currentQ = model.predict(currentS)\n", + " nextQmax = np.max(model.predict(nextS))\n", + " currentQ[0][a] = rew + gamma * nextQmax * (1-ending)\n", + "\n", + " train_x[idx,:] = currentS[0,:]\n", + " train_y[idx,:] = currentQ[0,:]\n", + "\n", + " model.fit(train_x, train_y, batch_size=1, nb_epoch=1, verbose=0)\n", + " \n", + " \n", + " # 3) Redeclare state\n", + " s = ss\n", + " \n", + " step += 1\n", + " " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Rocamora-Ardevol/Train/Q - learning training.ipynb b/Rocamora-Ardevol/Train/Q - learning training.ipynb new file mode 100644 index 0000000..90b70c2 --- /dev/null +++ b/Rocamora-Ardevol/Train/Q - learning training.ipynb @@ -0,0 +1,509 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "from ple.games.flappybird import FlappyBird\n", + "from ple import PLE\n", + "\n", + "import numpy as np\n", + "#from FlappyAgent import FlappyPolicy\n", + "\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "game = FlappyBird(graphics=\"fixed\") # use \"fancy\" for full background, random bird color and random pipe color, use \"fixed\" (default) for black background and constant bird and pipe colors.\n", + "p = PLE(game, fps=30, frame_skip=1, num_steps=1, force_fps=True, display_screen=True)\n", + "# Note: if you want to see you agent act in real time, set force_fps to False. But don't use this setting for learning, just for display purposes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Declare functions\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "def convstate(state):\n", + " \"\"\"\n", + " Calculate new state variables from game state\n", + " \"\"\"\n", + " s1 = state['next_pipe_bottom_y'] - state['player_y']\n", + " s2 = state['next_pipe_dist_to_player']\n", + " s3 = state['player_vel']\n", + " \n", + " return int(s1-s1%10), int(s2-s2%20), int(s3-s3%2)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "def epsilon_greedy(key):\n", + " if(np.random.rand()<=epsilon): # random action\n", + " return np.random.choice([0,1], p =[0.8,0.2])\n", + " \n", + " else: \n", + " return np.argmax(Q.get(key, [0]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Reinit variables\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "Q = dict()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# Metaparameters\n", + "nb_games = 20000\n", + "alpha = 0.1 #0.7\n", + "epsilon = 0.1 #0.4\n", + "gamma = 0.9" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Run training\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sergi/anaconda3/envs/flappy/lib/python3.6/site-packages/numpy/core/fromnumeric.py:2957: RuntimeWarning: Mean of empty slice.\n", + " out=out, **kwargs)\n", + "/home/sergi/anaconda3/envs/flappy/lib/python3.6/site-packages/numpy/core/_methods.py:80: RuntimeWarning: invalid value encountered in double_scalars\n", + " ret = ret.dtype.type(ret / rcount)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 0.1 0.1 nan\n", + "100 0.08000000000000002 0.0995 -5.0\n", + "200 0.06400000000000002 0.09900250000000001 -4.98\n", + "300 0.051200000000000016 0.0985074875 -4.98\n", + "400 0.04096000000000002 0.09801495006250001 -4.74\n", + "500 0.03276800000000001 0.09752487531218751 -4.74\n", + "600 0.026214400000000013 0.09703725093562657 -4.38\n", + "700 0.02097152000000001 0.09655206468094843 -3.96\n", + "800 0.016777216000000008 0.09606930435754368 -3.68\n", + "900 0.013421772800000007 0.09558895783575597 -3.56\n", + "1000 0.010737418240000006 0.09511101304657718 -3.96\n", + "1100 0.01 0.09463545798134429 -3.18\n", + "1200 0.01 0.09416228069143756 -1.8\n", + "1300 0.01 0.09369146928798038 -2.34\n", + "1400 0.01 0.09322301194154048 -2.46\n", + "1500 0.01 0.09275689688183278 -3.0\n", + "1600 0.01 0.09229311239742362 -2.14\n", + "1700 0.01 0.0918316468354365 -1.06\n", + "1800 0.01 0.09137248860125932 -1.2\n", + "1900 0.01 0.09091562615825302 -0.32\n", + "2000 0.01 0.09046104802746176 0.32\n", + "2100 0.01 0.09000874278732444 -1.48\n", + "2200 0.01 0.08955869907338782 -1.02\n", + "2300 0.01 0.08911090557802087 0.08\n", + "2400 0.01 0.08866535105013076 -1.58\n", + "2500 0.01 0.08822202429488012 -1.26\n", + "2600 0.01 0.08778091417340572 -1.78\n", + "2700 0.01 0.0873420096025387 -0.24\n", + "2800 0.01 0.086905299554526 -1.12\n", + "2900 0.01 0.08647077305675337 3.28\n", + "3000 0.01 0.0860384191914696 -0.2\n", + "3100 0.01 0.08560822709551225 -1.34\n", + "3200 0.01 0.08518018596003468 -1.22\n", + "3300 0.01 0.08475428503023451 0.66\n", + "3400 0.01 0.08433051360508334 -1.0\n", + "3500 0.01 0.08390886103705793 1.14\n", + "3600 0.01 0.08348931673187264 1.78\n", + "3700 0.01 0.08307187014821328 1.62\n", + "3800 0.01 0.08265651079747222 -1.7\n", + "3900 0.01 0.08224322824348486 2.52\n", + "4000 0.01 0.08183201210226744 1.9\n", + "4100 0.01 0.0814228520417561 2.92\n", + "4200 0.01 0.08101573778154732 0.36\n", + "4300 0.01 0.08061065909263958 0.86\n", + "4400 0.01 0.08020760579717638 1.24\n", + "4500 0.01 0.0798065677681905 2.14\n", + "4600 0.01 0.07940753492934956 1.8\n", + "4700 0.01 0.07901049725470281 0.48\n", + "4800 0.01 0.0786154447684293 1.98\n", + "4900 0.01 0.07822236754458715 4.54\n", + "5000 0.01 0.07783125570686422 4.3\n", + "5100 0.01 0.0774420994283299 6.76\n", + "5200 0.01 0.07705488893118825 6.36\n", + "5300 0.01 0.07666961448653231 11.02\n", + "5400 0.01 0.07628626641409965 4.94\n", + "5500 0.01 0.07590483508202915 1.24\n", + "5600 0.01 0.075525310906619 2.76\n", + "5700 0.01 0.07514768435208591 12.38\n", + "5800 0.01 0.07477194593032548 3.54\n", + "5900 0.01 0.07439808620067385 2.68\n", + "6000 0.01 0.07402609576967048 1.32\n", + "6100 0.01 0.07365596529082213 6.16\n", + "6200 0.01 0.07328768546436802 8.14\n", + "6300 0.01 0.07292124703704618 7.34\n", + "6400 0.01 0.07255664080186094 13.44\n", + "6500 0.01 0.07219385759785164 8.78\n", + "6600 0.01 0.07183288830986238 13.3\n", + "6700 0.01 0.07147372386831308 11.4\n", + "6800 0.01 0.07111635524897152 4.04\n", + "6900 0.01 0.07076077347272666 11.98\n", + "7000 0.01 0.07040696960536302 4.18\n", + "7100 0.01 0.0700549347573362 8.18\n", + "7200 0.01 0.06970466008354953 5.26\n", + "7300 0.01 0.06935613678313178 2.72\n", + "7400 0.01 0.06900935609921612 4.12\n", + "7500 0.01 0.06866430931872003 4.38\n", + "7600 0.01 0.06832098777212643 3.74\n", + "7700 0.01 0.0679793828332658 2.12\n", + "7800 0.01 0.06763948591909946 4.58\n", + "7900 0.01 0.06730128848950397 -0.16\n", + "8000 0.01 0.06696478204705644 1.24\n", + "8100 0.01 0.06662995813682115 0.3\n", + "8200 0.01 0.06629680834613705 0.44\n", + "8300 0.01 0.06596532430440637 4.76\n", + "8400 0.01 0.06563549768288433 4.16\n", + "8500 0.01 0.06530732019446991 1.76\n", + "8600 0.01 0.06498078359349757 0.92\n", + "8700 0.01 0.06465587967553008 1.72\n", + "8800 0.01 0.06433260027715243 0.74\n", + "8900 0.01 0.06401093727576666 -1.52\n", + "9000 0.01 0.06369088258938783 -0.48\n", + "9100 0.01 0.0633724281764409 0.08\n", + "9200 0.01 0.06305556603555869 -0.16\n", + "9300 0.01 0.0627402882053809 0.06\n", + "9400 0.01 0.062426586764353996 0.68\n", + "9500 0.01 0.062114453830532226 0.14\n", + "9600 0.01 0.061803881561379566 -0.58\n", + "9700 0.01 0.061494862153572666 -1.6\n", + "9800 0.01 0.0611873878428048 -2.52\n", + "9900 0.01 0.060881450903590775 -2.3\n", + "10000 0.01 0.06057704364907282 -2.28\n", + "10100 0.01 0.06027415843082746 -1.84\n", + "10200 0.01 0.05997278763867332 -2.0\n", + "10300 0.01 0.059672923700479955 2.76\n", + "10400 0.01 0.05937455908197756 6.82\n", + "10500 0.01 0.05907768628656767 7.08\n", + "10600 0.01 0.05878229785513483 6.36\n", + "10700 0.01 0.05848838636585915 5.0\n", + "10800 0.01 0.05819594443402985 2.8\n", + "10900 0.01 0.057904964711859706 3.84\n", + "11000 0.01 0.05761543988830041 4.72\n", + "11100 0.01 0.05732736268885891 2.08\n", + "11200 0.01 0.05704072587541461 3.4\n", + "11300 0.01 0.05675552224603753 3.5\n", + "11400 0.01 0.05647174463480734 2.12\n", + "11500 0.01 0.056189385911633305 3.66\n", + "11600 0.01 0.05590843898207514 4.8\n", + "11700 0.01 0.05562889678716477 0.42\n", + "11800 0.01 0.055350752303228945 0.44\n", + "11900 0.01 0.0550739985417128 -0.38\n", + "12000 0.01 0.05479862854900423 0.88\n", + "12100 0.01 0.05452463540625921 0.96\n", + "12200 0.01 0.05425201222922791 -2.0\n", + "12300 0.01 0.05398075216808177 -1.76\n", + "12400 0.01 0.053710848407241364 -1.12\n", + "12500 0.01 0.053442294165205156 -1.22\n", + "12600 0.01 0.05317508269437913 -1.18\n", + "12700 0.01 0.052909207280907235 -1.36\n", + "12800 0.01 0.0526446612445027 -2.22\n", + "12900 0.01 0.052381437938280186 -0.08\n", + "13000 0.01 0.052119530748588785 -1.62\n", + "13100 0.01 0.05185893309484584 -1.6\n", + "13200 0.01 0.05159963842937161 0.5\n", + "13300 0.01 0.051341640237224755 -2.12\n", + "13400 0.01 0.05108493203603863 -0.76\n", + "13500 0.01 0.05082950737585844 1.64\n", + "13600 0.01 0.05057535983897914 -0.1\n", + "13700 0.01 0.050322483039784247 -0.36\n", + "13800 0.01 0.050070870624585324 0.6\n", + "13900 0.01 0.049820516271462396 1.56\n", + "14000 0.01 0.049571413690105086 -0.06\n", + "14100 0.01 0.04932355662165456 1.68\n", + "14200 0.01 0.04907693883854629 1.76\n", + "14300 0.01 0.048831554144353556 3.94\n", + "14400 0.01 0.04858739637363179 2.64\n", + "14500 0.01 0.04834445939176363 2.0\n", + "14600 0.01 0.04810273709480481 2.92\n", + "14700 0.01 0.04786222340933079 1.08\n", + "14800 0.01 0.04762291229228413 1.3\n", + "14900 0.01 0.04738479773082271 -1.24\n", + "15000 0.01 0.04714787374216859 -0.7\n", + "15100 0.01 0.046912134373457745 -0.92\n", + "15200 0.01 0.04667757370159046 0.3\n", + "15300 0.01 0.046444185833082505 2.16\n", + "15400 0.01 0.046211964903917095 3.62\n", + "15500 0.01 0.04598090507939751 0.12\n", + "15600 0.01 0.045751000554000526 3.7\n", + "15700 0.01 0.04552224555123052 1.66\n", + "15800 0.01 0.04529463432347437 5.44\n", + "15900 0.01 0.045068161151857 5.68\n", + "16000 0.01 0.04484282034609772 5.32\n", + "16100 0.01 0.04461860624436723 2.0\n", + "16200 0.01 0.044395513213145395 1.68\n", + "16300 0.01 0.04417353564707967 1.94\n", + "16400 0.01 0.04395266796884427 2.84\n", + "16500 0.01 0.04373290462900005 4.04\n", + "16600 0.01 0.04351424010585505 3.96\n", + "16700 0.01 0.043296668905325776 6.14\n", + "16800 0.01 0.04308018556079915 1.28\n", + "16900 0.01 0.04286478463299515 3.04\n", + "17000 0.01 0.042650460709830175 1.1\n", + "17100 0.01 0.04243720840628103 0.42\n", + "17200 0.01 0.042225022364249624 3.8\n", + "17300 0.01 0.04201389725242838 3.84\n", + "17400 0.01 0.041803827766166236 3.26\n", + "17500 0.01 0.0415948086273354 2.54\n", + "17600 0.01 0.04138683458419873 0.32\n", + "17700 0.01 0.04117990041127773 0.4\n", + "17800 0.01 0.04097400090922134 1.52\n", + "17900 0.01 0.04076913090467523 0.88\n", + "18000 0.01 0.04056528525015186 5.06\n", + "18100 0.01 0.0403624588239011 7.94\n", + "18200 0.01 0.04016064652978159 6.56\n", + "18300 0.01 0.03995984329713268 3.56\n", + "18400 0.01 0.03976004408064702 1.78\n", + "18500 0.01 0.03956124386024378 3.94\n", + "18600 0.01 0.039363437640942564 -1.24\n", + "18700 0.01 0.03916662045273785 0.94\n", + "18800 0.01 0.03897078735047416 1.18\n", + "18900 0.01 0.03877593341372179 1.64\n", + "19000 0.01 0.03858205374665318 2.14\n", + "19100 0.01 0.03838914347791991 3.66\n", + "19200 0.01 0.038197197760530315 3.16\n", + "19300 0.01 0.038006211771727666 4.28\n", + "19400 0.01 0.037816180712869026 2.98\n", + "19500 0.01 0.03762709980930468 6.58\n", + "19600 0.01 0.03743896431025816 2.66\n", + "19700 0.01 0.037251769488706864 2.82\n", + "19800 0.01 0.03706551064126333 0.46\n", + "19900 0.01 0.03688018308805701 4.18\n" + ] + } + ], + "source": [ + "# Some control variables\n", + "cumulated = np.zeros((nb_games))\n", + "\n", + "# Start the game\n", + "p.init()\n", + "reward = 0\n", + "\n", + "for i in range(nb_games):\n", + " p.reset_game()\n", + " \n", + " # Control print\n", + " if i%100 == 0:\n", + " print(i, epsilon, alpha, np.mean(cumulated[i-50:i]))\n", + " \n", + " # Decrease exploration ratio\n", + " epsilon = max(epsilon*0.8, 0.01)\n", + " alpha *= 0.995\n", + " \n", + " if i%1000 == 999:\n", + " np.save('Q_%d' % i ,Q)\n", + " np.save('cumulated_%d' % i, cumulated)\n", + " \n", + " # 0) Retrieve initial state\n", + " s1, s2, s3 = convstate(game.getGameState())\n", + " current_key = str(s1)+'|'+str(s2)+'|'+str(s3)\n", + " \n", + " while(not p.game_over()):\n", + " \n", + " # 1) Choose action greedily\n", + " a = epsilon_greedy(current_key)\n", + " \n", + " action = None\n", + " if a==1:\n", + " action = 119\n", + " \n", + " \n", + " # Execute\n", + " reward = p.act(action)\n", + " cumulated[i] += reward\n", + " \n", + " ss1, ss2, ss3 = convstate(game.getGameState())\n", + " next_key = str(ss1)+'|'+str(ss2)+'|'+str(ss3)\n", + " \n", + "\n", + " \n", + " # 2) Update Q value\n", + " if Q.get(current_key) == None:\n", + " Q[current_key] = [0,0]\n", + " \n", + " maxQ = max(Q.get(next_key, [0]))\n", + " \n", + " \n", + " Q[current_key][a] = (1-alpha)*Q[current_key][a] + alpha*( reward + gamma*maxQ )\n", + " \n", + " # Update values and map key\n", + " s1 = ss1\n", + " s2 = ss2\n", + " s3 = ss3\n", + " current_key = next_key\n", + " \n", + " \n", + "\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Q" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Postprocess\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Mean evolution\n", + "vallist = list()\n", + "\n", + "for idx, val in enumerate(cumulated):\n", + " if idx < 50:\n", + " pass\n", + " else: \n", + " vallist.append(np.mean( cumulated[idx-50:idx] ))\n", + "\n", + "plt.plot(vallist)\n", + "\n", + "vallist = list()\n", + "\n", + "for idx, val in enumerate(cumulated):\n", + " if idx < 500:\n", + " pass\n", + " else: \n", + " vallist.append(np.mean( cumulated[idx-500:idx] ))\n", + "\n", + "plt.plot(vallist)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#c1 = cumulated\n", + "#c2 = cumulated\n", + "c3 = cumulated" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Mean evolution\n", + "vallist = list()\n", + "\n", + "result = np.concatenate((c1,c2,c3))\n", + "\n", + "for idx, val in enumerate(result):\n", + " if idx < 50:\n", + " pass\n", + " else: \n", + " vallist.append(np.mean( result[idx-50:idx] ))\n", + "\n", + "plt.plot(vallist)\n", + "\n", + "vallist = list()\n", + "\n", + "for idx, val in enumerate(result):\n", + " if idx < 500:\n", + " pass\n", + " else: \n", + " vallist.append(np.mean( result[idx-500:idx] ))\n", + "\n", + "plt.plot(vallist)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Rocamora-Ardevol/Train/SARSA - TD lambda training.ipynb b/Rocamora-Ardevol/Train/SARSA - TD lambda training.ipynb new file mode 100644 index 0000000..e31e941 --- /dev/null +++ b/Rocamora-Ardevol/Train/SARSA - TD lambda training.ipynb @@ -0,0 +1,279 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from ple.games.flappybird import FlappyBird\n", + "from ple import PLE\n", + "\n", + "import numpy as np\n", + "#from FlappyAgent import FlappyPolicy\n", + "\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "game = FlappyBird(graphics=\"fixed\") # use \"fancy\" for full background, random bird color and random pipe color, use \"fixed\" (default) for black background and constant bird and pipe colors.\n", + "p = PLE(game, fps=30, frame_skip=1, num_steps=1, force_fps=True, display_screen=True)\n", + "# Note: if you want to see you agent act in real time, set force_fps to False. But don't use this setting for learning, just for display purposes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Declare functions\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def convstate(state):\n", + " \"\"\"\n", + " Calculate new state variables from game state\n", + " \"\"\"\n", + " s1 = state['next_pipe_bottom_y'] - state['player_y']\n", + " s2 = state['next_pipe_dist_to_player']\n", + " s3 = state['player_vel']\n", + " \n", + " return int(s1-s1%10), int(s2-s2%20), int(s3-s3%2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def epsilon_greedy(key):\n", + " if(np.random.rand()<=epsilon): # random action\n", + " return np.random.choice([0,1])\n", + " \n", + " else: \n", + " return np.argmax(Q.get(key, [0]))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def update_trace(key,action):\n", + " # Update the trace\n", + " global epsTrace\n", + " epsTrace = { k: list(map(lambda x: x*gamma*lamb, v)) for k,v in epsTrace.items() }\n", + " \n", + " if epsTrace.get(key) == None:\n", + " epsTrace[key] = [0,0]\n", + " \n", + " # Remember the current state\n", + " epsTrace[key][action] = 1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def propagate(delta):\n", + " for k,v in epsTrace.items():\n", + " Q[k][0] = Q[k][0] + alpha*epsTrace[k][0]*delta\n", + " Q[k][1] = Q[k][1] + alpha*epsTrace[k][1]*delta" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Reinit variables\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Q = dict()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Metaparameters\n", + "nb_games = 18000\n", + "alpha = 0.1 #0.7\n", + "epsilon = 0.1 #0.4\n", + "gamma = 0.9\n", + "lamb = 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Run training\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "nbgames = 18000\n", + "\n", + "# Some control variables\n", + "cumulated = np.zeros((nb_games))\n", + "\n", + "# Start the game\n", + "p.init()\n", + "reward = 0\n", + "\n", + "for i in range(nb_games):\n", + " p.reset_game()\n", + " epsTrace = dict()\n", + " \n", + " # Control print\n", + " if i%100 == 0:\n", + " print(i, epsilon, alpha, np.mean(cumulated[i-50:i]))\n", + " \n", + " # Decrease exploration ratio\n", + " epsilon = max(epsilon * 0.95, 0.01)\n", + " alpha *= 0.995\n", + " \n", + " if i%1000 == 999:\n", + " np.save('Qsarsa_more_%d' % i ,Q)\n", + " np.save('cumulated_sarsa_more_%d' % i, cumulated)\n", + " \n", + " # 0) Retrieve initial state \n", + " s1, s2, s3 = convstate(game.getGameState())\n", + " current_key = str(s1)+'|'+str(s2)+'|'+str(s3)\n", + " \n", + " if Q.get(current_key) == None:\n", + " Q[current_key] = [0,0]\n", + " \n", + " # Choose action greedily\n", + " a = epsilon_greedy(current_key)\n", + " \n", + " while(not p.game_over()):\n", + " \n", + " # Translate action\n", + " action = None\n", + " if a==1:\n", + " action = 119\n", + " \n", + " # 1) Execute\n", + " reward = p.act(action)\n", + " cumulated[i] += reward\n", + " \n", + " ss1, ss2, ss3 = convstate(game.getGameState())\n", + " next_key = str(ss1)+'|'+str(ss2)+'|'+str(ss3)\n", + "\n", + " # 2) Choose new action greedily\n", + " aa = epsilon_greedy(next_key)\n", + " \n", + " # 3) Update Q value\n", + " # Update trace\n", + " update_trace(current_key, a)\n", + " \n", + " # Update Q\n", + " if Q.get(next_key) == None:\n", + " Q[next_key] = [0,0]\n", + " \n", + " delta = reward + gamma*Q[next_key][aa] - Q[current_key][a]\n", + " propagate(delta)\n", + " \n", + " # Update values and map key\n", + " s1 = ss1\n", + " s2 = ss2\n", + " s3 = ss3\n", + " a = aa\n", + " current_key = next_key \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Postprocess\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Mean evolution\n", + "vallist = list()\n", + "\n", + "for idx, val in enumerate(cumulated):\n", + " if idx < 50:\n", + " pass\n", + " else: \n", + " vallist.append(np.mean( cumulated[idx-50:idx] ))\n", + "\n", + "plt.plot(vallist)\n", + "\n", + "vallist = list()\n", + "\n", + "for idx, val in enumerate(cumulated):\n", + " if idx < 500:\n", + " pass\n", + " else: \n", + " vallist.append(np.mean( cumulated[idx-500:idx] ))\n", + "\n", + "plt.plot(vallist)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Rocamora-Ardevol/run.py b/Rocamora-Ardevol/run.py new file mode 100644 index 0000000..39b5801 --- /dev/null +++ b/Rocamora-Ardevol/run.py @@ -0,0 +1,29 @@ +# You're not allowed to change this file +from ple.games.flappybird import FlappyBird +from ple import PLE +import numpy as np +from FlappyAgent import FlappyPolicy + +game = FlappyBird(graphics="fixed") # use "fancy" for full background, random bird color and random pipe color, use "fixed" (default) for black background and constant bird and pipe colors. +p = PLE(game, fps=30, frame_skip=1, num_steps=1, force_fps=False, display_screen=True) +# Note: if you want to see you agent act in real time, set force_fps to False. But don't use this setting for learning, just for display purposes. + +p.init() +reward = 0.0 + +nb_games = 100 +cumulated = np.zeros((nb_games)) + +for i in range(nb_games): + p.reset_game() + + while(not p.game_over()): + state = game.getGameState() + screen = p.getScreenRGB() + action=FlappyPolicy(state, screen) ### Your job is to define this function. + + reward = p.act(action) + cumulated[i] = cumulated[i] + reward + +average_score = np.mean(cumulated) +max_score = np.max(cumulated)