From caf9dfbe9b995e460898777f3a9a4fa51781dddb Mon Sep 17 00:00:00 2001 From: grizax Date: Thu, 29 Jan 2015 00:00:01 -0500 Subject: [PATCH 1/2] Some Pig Assignment --- Some Pig Assignment.ipynb | 423 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 423 insertions(+) create mode 100644 Some Pig Assignment.ipynb diff --git a/Some Pig Assignment.ipynb b/Some Pig Assignment.ipynb new file mode 100644 index 0000000..4acf041 --- /dev/null +++ b/Some Pig Assignment.ipynb @@ -0,0 +1,423 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:a1bd88ba9e6f1ffdf7f629eed8369fdc583c8ba970e95ced96c07acc1024b273" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Abstract" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The object of the jeopardy dice game Pig is to be the first player to reach 100 points. Each turn, a player repeatedly rolls a die until either a 1 is rolled or the player holds and scores the sum of the rolls (i.e., the turn total). At any time during a player\u2019s turn, the player is faced with two choices: roll or hold. If the player rolls a 1, the player scores nothing and it becomes the opponent\u2019s turn. If the player rolls a number other than 1, the number is added to the player\u2019s turn total and the player\u2019s turn continues. If the player instead chooses to hold, the turn total is added to the player\u2019s score and it becomes the opponent\u2019s turn.\n", + "\n", + "The game of Pig is simple to describe, but is it simple to play well? More specifically, how can we play\n", + "the game optimally? Knizia describes simple tactics where each roll is viewed as a bet that a 1 will\n", + "not be rolled:\n", + "\n", + "\"...we know that the true odds of such a bet are 1 to 5. If you ask yourself how much you\n", + "should risk, you need to know how much there is to gain. A successful throw produces one\n", + "of the numbers 2, 3, 4, 5, and 6. On average, you will gain four points. If you put 20 points\n", + "at stake this brings the odds to 4 to 20, that is 1 to 5, and makes a fair game. ...Whenever\n", + "your accumulated points are less than 20, you should continue throwing, because the odds\n", + "are in your favor.\"\n", + "\n", + "However, Knizia also notes that there are many circumstances in which one should deviate from this\n", + "\u201chold at 20\u201d policy. Why does this reasoning not dictate an optimal policy for all play? The reason is\n", + "that risking points is not the same as risking the probability of winning.\n", + "\n", + "\n", + "Thanks to:\n", + " \n", + "\"Practical Play of Pig\"\n", + "\n", + "Practical Play of the Dice Game Pig\n", + "\n", + "Todd W. Neller & Clifton G.M. Presser" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "import random\n", + "import matplotlib.pyplot as plt\n", + "import statistics as st\n", + "import seaborn\n", + "\n", + "%matplotlib inline" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def die_6():\n", + " return random.randint(1, 6)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 210 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Game:\n", + " \n", + " def __init__(self, player):\n", + " self.player = player\n", + " self.player_turns = 7\n", + " self.running_score = 0\n", + " self.player_turn_score = 0\n", + " \n", + " def roll(self):\n", + " roll = die_6()\n", + " return roll\n", + " \n", + " def turn(self):\n", + " self.player.turn_count += 1\n", + " current_roll = self.roll()\n", + " if current_roll == 1:\n", + " self.player_turn_score = 0\n", + " self.running_score = 0\n", + " self.player_turns -= 1\n", + " return self.running_score\n", + " else:\n", + " self.running_score += current_roll\n", + " self.player_turn_score += current_roll\n", + " if self.player.roll_or_stand(self.player.turn_count, self.player_turn_score):\n", + " self.turn()\n", + " else:\n", + " self.player_turn_score = 0\n", + " self.player_turns -= 1\n", + " return self.running_score\n", + " \n", + " def full_game(self):\n", + " while self.player_turns > 0:\n", + " self.turn()\n", + " self.player.score += self.running_score\n", + " self.player.turn_count = 0\n", + " self.player_turn_score = 0\n", + " self.running_score = 0\n", + " return self.player.score" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 211 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Player: \n", + " def __init__(self):\n", + " self.score = 0\n", + " self.turn_count = 0\n", + " self.turn_score = 0\n", + " \n", + " def roll_or_stand(self, turn_count, turn_score):\n", + " return False" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 212 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Control Player\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def game_control(trials=1000):\n", + " score_results = []\n", + " for _ in range(trials):\n", + " game = Game(Player())\n", + " score_results.append(game.full_game())\n", + " return score_results" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 213 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "control_player_results = game_control()\n", + "control_mean = st.mean(control_player_results)\n", + "normal_stdev = st.stdev(control_player_results)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 214 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plt.hist(control_player_results, bins=90,)\n", + "plt.xlabel(\"Score\")\n", + "plt.ylabel(\"Count\")\n", + "ymin, ymax = plt.ylim()\n", + "plt.vlines(normal_mean, ymin, ymax)\n", + "plt.vlines([normal_mean - 1 * normal_stdev, normal_mean - normal_stdev, normal_mean + normal_stdev, normal_mean + 1 * normal_stdev]\n", + " , ymin, ymax, linestyles=\"dashed\")\n", + "plt.title(\"Control Player Total Scores\\n Mean: {} \\nStandard Deviation: {} \".format(normal_mean, normal_stdev))\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 252 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Strategy: Hold at 20 points" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Hold_at_score_20(Player):\n", + " def roll_or_stand(self, turn_count, turn_score):\n", + " if turn_score >= 20:\n", + " return False\n", + " else:\n", + " return True" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 216 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def game_iterate_20_score(trials=1000):\n", + " score_results = []\n", + " for _ in range(trials):\n", + " game = Game(Hold_at_score_20())\n", + " score_results.append(game.full_game())\n", + " return score_results" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 217 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "score_20_results = game_iterate_20_score()\n", + "score_20_mean = st.mean(score_20_results)\n", + "score_20_stdev = st.stdev(score_20_results)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 218 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plt.hist(score_20_results, bins=90)\n", + "plt.xlabel(\"Score\")\n", + "plt.ylabel(\"Count\")\n", + "ymin, ymax = plt.ylim()\n", + "plt.vlines(score_20_mean, ymin, ymax)\n", + "plt.vlines([score_20_mean - 1 * score_20_stdev, score_20_mean - score_20_stdev, score_20_mean + score_20_stdev, \n", + " score_20_mean + 1 * score_20_stdev], ymin, ymax, linestyles=\"dashed\")\n", + "plt.title(\"Player Holds at Score of 20\\n Mean: {} \\nStandard Deviation: {} \".format(score_20_mean, score_20_stdev))\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nYJK7jwXqgAPTXL8IrOrAfemlF3nppRdpa2urdkgimZV2S+HvwEHAzfH1du4+O/58N7A3cGfKMcga\nLtmBq85bkdJSTQruPsPMNklMqkv83AoMT3P9Ujm1PlxSHbgi5env0UftiZ8bgCU9+fDQdYfQ1NRQ\n2Yh6afHiYb3+bGPjsG63o5Lb2ZdYc4oNl7z5oq8watTmvV5mfX04R8htayXiLEc5+79cTU0NqcZd\nqVjLWUax7citv9S8SsrK33d3aiXO3ujvpPC0mY1z94eBCcCsnnx4+Zvv0Ny8LJ3IeqilpbVPn+1q\nO3K1jyq5nX2JNanwbLvUdpSjvT2MMcgto1Jxdqevcec0NTXQ3Lys7Lh7WvuofeUKnnnmr/nl97Zl\nlouzO4XbkVx/sRvwKrUfexpntdVSnL3RX0khN8LoNGCqmQ0G5gLT+2n9IjWn2n0hyfWXewOe1L7U\nk4K7vwzsFn9+ERif9jpFBopq94Xk1t+TG/CktunmNRERyVNSEBGRPNU+EpEeq/UhytI1JYWMydU9\n0hPYBp6Zlx1EBx2MP+qn1Q6lz1TRdeBSUhCRXql2J7ikQ0lBZA3W1tbGwoXhMlC5DwOSgU1JQWQN\ntnDhfE6ZfBdDh2+oexEE0OgjkTVe7jLQOg2N1Q5FMkBJQURE8nT5KGM06mjg6mntI5FqUFIQ6YW2\ntjbmzZvXZbE46V/JDnPQPRN9oaQg0gvqoM2W5Peheyb6RklBpJdULG6V5B3O7777LgCDBg3Kz++P\nM/eu7ptQK6JnlBREpM8Ky2yv07A+Q4dvCFT/bme1InpGSUFEKiLZcsra3c5ZiyfLNCQ1Y0aOHJGv\nfyQDy8zLDuLxO86vdhgiJSkpiIhIXr9fPjKzeuBnwNbAO8Ax7v5Sf8cha6ZaLflcqbgLO12zPJy2\nVAdxqe0o3Fel5iWXW7jMruYtXjyMlpbWLvd/qeX0ZHvL/VylVaNP4XPAYHffzcx2BqbEaSKpq9WS\nz5WKO9npCmR6OG2pDuJS21G4r0rNSy63cJnlzisVd3fvrcTnKq0aSeETwD0A7v5nM9uhCjHIGqxW\nOx0rFXdyOVkfTltqm0ttR7nzeru+vsSdxucqqRpJYT3gjcTrlWZW7+7txd5ct/SvrFwRZr2+1kpe\neunFfgixewsWzGf50kUAvLWsBajLzyv1evnSRSWb7B0d4f9Kbme5sfZkXnfbUY7cePbctibj7Ets\n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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 250 + }, + { + "cell_type": "raw", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class CoolStrategy(Player):\n", + " def roll_or_stand(self, turn_count, turn_score, running_score):\n", + " if running_score <= 71:\n", + " return True\n", + " elif turn_score == 25:\n", + " return False" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 253 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def game_iterate_cool_score(trials=1000):\n", + " score_results = []\n", + " for _ in range(trials):\n", + " game = Game(Player())\n", + " score_results.append(game.full_game())\n", + " return score_results" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 254 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "score_cool_results = game_iterate_cool_score()\n", + "score_cool_mean = st.mean(score_cool_results)\n", + "score_cool_stdev = st.stdev(score_cool_results)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 255 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plt.hist(score_cool_results, bins=90)\n", + "plt.xlabel(\"Score\")\n", + "plt.ylabel(\"Count\")\n", + "ymin, ymax = plt.ylim()\n", + "plt.vlines(score_cool_mean, ymin, ymax,)\n", + "plt.vlines([score_cool_mean - 1 * score_cool_stdev, score_cool_mean - score_cool_stdev, score_cool_mean + score_cool_stdev, \n", + " score_cool_mean + 1 * score_cool_stdev], ymin, ymax, linestyles=\"dashed\")\n", + "plt.title(\"Player Holds at Score of 20\\n Mean: {} \\nStandard Deviation: {} \".format(score_cool_mean, score_cool_stdev))\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nXEM8wsMAAAAASUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 256 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Comparison" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plt.boxplot([control_player_results, score_20_results, score_cool_results])\n", + "ymin, ymax = plt.ylim()\n", + "plt.ylim(ymin, ymax)\n", + "plt.title(\"Pig Solitaire Strategies\")\n", + "plt.ylabel(\"Score\")\n", + "plt.xticks(range(1,4), [\"Control\", \"Hold at 20\", \"Cool Try\"])\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nyfN/3uIZexgAAAAASUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 257 + }, + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Conclusion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The \u201cHold at 20\u201d policy for playing Pig is good for maximizing expected points per turn and winning the game. I do not claim to have found the best human-playable policy for Pig. \n", + "\n", + "The \u201ckeep pace and end race\u201d policy can provide a good approximation to optimal play of many jeopardy games. Value iteration, policy comparison, and Monte Carlo methods may be used to find the best policy parameters." + ] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file From a79e42626b3348b4387c5e141c8b06cba363003b Mon Sep 17 00:00:00 2001 From: grizax Date: Thu, 29 Jan 2015 00:02:19 -0500 Subject: [PATCH 2/2] Some Pig Assignment --- Some Pig Assignment.ipynb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Some Pig Assignment.ipynb b/Some Pig Assignment.ipynb index 4acf041..10e8514 100644 --- a/Some Pig Assignment.ipynb +++ b/Some Pig Assignment.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:a1bd88ba9e6f1ffdf7f629eed8369fdc583c8ba970e95ced96c07acc1024b273" + "signature": "sha256:b9771d75acc30a049ef6b6c0181f00a89ca169b650973f43556bfbaee2d19c73" }, "nbformat": 3, "nbformat_minor": 0, @@ -411,9 +411,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The \u201cHold at 20\u201d policy for playing Pig is good for maximizing expected points per turn and winning the game. I do not claim to have found the best human-playable policy for Pig. \n", - "\n", - "The \u201ckeep pace and end race\u201d policy can provide a good approximation to optimal play of many jeopardy games. Value iteration, policy comparison, and Monte Carlo methods may be used to find the best policy parameters." + "The \u201cHold at 20\u201d policy for playing Pig is good for maximizing expected points per turn and winning the game. I do not claim to have found the best human-playable policy for Pig. The \u201ckeep pace and end race\u201d policy can provide a good approximation to optimal play of many jeopardy games. Value iteration, policy comparison, and Monte Carlo methods may be used to find the best policy parameters." ] } ],