Guest User

Untitled

a guest
Oct 17th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.45 KB | None | 0 0
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 26,
  6. "metadata": {
  7. "collapsed": true
  8. },
  9. "outputs": [],
  10. "source": [
  11. "import itertools # I'm going to use itertools just to get the full set of possible plays\n",
  12. "import random # Just using this to randomly pick C or D for the purpose of the example\n",
  13. "\n",
  14. "import axelrod as axl\n",
  15. "assert axl.__version__ == \"3.8.1\" # Just confirming the version this works for"
  16. ]
  17. },
  18. {
  19. "cell_type": "markdown",
  20. "metadata": {},
  21. "source": [
  22. "We will use the `LookerUp` class:"
  23. ]
  24. },
  25. {
  26. "cell_type": "code",
  27. "execution_count": 27,
  28. "metadata": {},
  29. "outputs": [
  30. {
  31. "data": {
  32. "text/plain": [
  33. "axelrod.strategies.lookerup.LookerUp"
  34. ]
  35. },
  36. "execution_count": 27,
  37. "metadata": {},
  38. "output_type": "execute_result"
  39. }
  40. ],
  41. "source": [
  42. "axl.LookerUp"
  43. ]
  44. },
  45. {
  46. "cell_type": "markdown",
  47. "metadata": {},
  48. "source": [
  49. "Let me build up the inputs"
  50. ]
  51. },
  52. {
  53. "cell_type": "code",
  54. "execution_count": 28,
  55. "metadata": {
  56. "collapsed": true
  57. },
  58. "outputs": [],
  59. "source": [
  60. "C, D = axl.Action.C, axl.Action.D\n",
  61. "player_histories = itertools.product((C, D), repeat=3)\n",
  62. "opponent_histories = itertools.product((C, D), repeat=3)\n",
  63. "both_histories = itertools.product(player_histories, opponent_histories)"
  64. ]
  65. },
  66. {
  67. "cell_type": "code",
  68. "execution_count": 29,
  69. "metadata": {},
  70. "outputs": [],
  71. "source": [
  72. "plays = [axl.lookerup.Plays(self_plays=self_plays, op_plays=op_plays, op_openings=()) \n",
  73. " for self_plays, op_plays in both_histories]"
  74. ]
  75. },
  76. {
  77. "cell_type": "markdown",
  78. "metadata": {},
  79. "source": [
  80. "I'm going to create some random action for each set of plays."
  81. ]
  82. },
  83. {
  84. "cell_type": "code",
  85. "execution_count": 32,
  86. "metadata": {},
  87. "outputs": [
  88. {
  89. "data": {
  90. "text/plain": [
  91. "{Plays(self_plays=(D, D, C), op_plays=(C, D, D), op_openings=()): C,\n",
  92. " Plays(self_plays=(D, C, D), op_plays=(C, C, C), op_openings=()): C,\n",
  93. " Plays(self_plays=(D, D, C), op_plays=(D, C, C), op_openings=()): D,\n",
  94. " Plays(self_plays=(C, C, D), op_plays=(D, C, D), op_openings=()): C,\n",
  95. " Plays(self_plays=(C, D, D), op_plays=(C, D, D), op_openings=()): D,\n",
  96. " Plays(self_plays=(C, D, C), op_plays=(C, C, D), op_openings=()): C,\n",
  97. " Plays(self_plays=(C, D, D), op_plays=(D, C, C), op_openings=()): D,\n",
  98. " Plays(self_plays=(D, D, C), op_plays=(D, D, C), op_openings=()): D,\n",
  99. " Plays(self_plays=(C, C, D), op_plays=(D, D, D), op_openings=()): C,\n",
  100. " Plays(self_plays=(D, C, D), op_plays=(D, D, D), op_openings=()): D,\n",
  101. " Plays(self_plays=(C, D, D), op_plays=(C, D, C), op_openings=()): D,\n",
  102. " Plays(self_plays=(C, D, D), op_plays=(D, D, C), op_openings=()): C,\n",
  103. " Plays(self_plays=(C, C, D), op_plays=(C, C, D), op_openings=()): C,\n",
  104. " Plays(self_plays=(D, D, D), op_plays=(C, C, D), op_openings=()): D,\n",
  105. " Plays(self_plays=(C, C, C), op_plays=(D, C, C), op_openings=()): D,\n",
  106. " Plays(self_plays=(C, C, D), op_plays=(C, D, D), op_openings=()): D,\n",
  107. " Plays(self_plays=(D, D, D), op_plays=(C, C, C), op_openings=()): C,\n",
  108. " Plays(self_plays=(D, C, C), op_plays=(C, D, D), op_openings=()): D,\n",
  109. " Plays(self_plays=(C, D, C), op_plays=(C, D, C), op_openings=()): C,\n",
  110. " Plays(self_plays=(D, C, C), op_plays=(D, D, C), op_openings=()): C,\n",
  111. " Plays(self_plays=(C, C, C), op_plays=(C, D, D), op_openings=()): D,\n",
  112. " Plays(self_plays=(C, C, D), op_plays=(C, C, C), op_openings=()): D,\n",
  113. " Plays(self_plays=(D, C, C), op_plays=(C, C, C), op_openings=()): D,\n",
  114. " Plays(self_plays=(D, C, D), op_plays=(C, D, C), op_openings=()): C,\n",
  115. " Plays(self_plays=(D, D, D), op_plays=(D, C, D), op_openings=()): C,\n",
  116. " Plays(self_plays=(C, C, C), op_plays=(D, D, C), op_openings=()): D,\n",
  117. " Plays(self_plays=(D, D, D), op_plays=(D, D, D), op_openings=()): C,\n",
  118. " Plays(self_plays=(D, C, D), op_plays=(D, C, D), op_openings=()): C,\n",
  119. " Plays(self_plays=(D, D, C), op_plays=(C, C, C), op_openings=()): C,\n",
  120. " Plays(self_plays=(D, C, C), op_plays=(D, C, D), op_openings=()): D,\n",
  121. " Plays(self_plays=(D, C, C), op_plays=(C, D, C), op_openings=()): D,\n",
  122. " Plays(self_plays=(C, D, D), op_plays=(D, D, D), op_openings=()): C,\n",
  123. " Plays(self_plays=(D, D, D), op_plays=(C, D, C), op_openings=()): D,\n",
  124. " Plays(self_plays=(C, D, D), op_plays=(C, C, D), op_openings=()): C,\n",
  125. " Plays(self_plays=(D, D, C), op_plays=(C, C, D), op_openings=()): D,\n",
  126. " Plays(self_plays=(C, C, C), op_plays=(D, C, D), op_openings=()): D,\n",
  127. " Plays(self_plays=(C, C, C), op_plays=(D, D, D), op_openings=()): D,\n",
  128. " Plays(self_plays=(D, D, C), op_plays=(D, C, D), op_openings=()): C,\n",
  129. " Plays(self_plays=(C, D, D), op_plays=(D, C, D), op_openings=()): C,\n",
  130. " Plays(self_plays=(D, D, C), op_plays=(C, D, C), op_openings=()): D,\n",
  131. " Plays(self_plays=(D, D, C), op_plays=(D, D, D), op_openings=()): D,\n",
  132. " Plays(self_plays=(C, C, D), op_plays=(D, D, C), op_openings=()): D,\n",
  133. " Plays(self_plays=(C, C, C), op_plays=(C, D, C), op_openings=()): C,\n",
  134. " Plays(self_plays=(D, C, C), op_plays=(D, C, C), op_openings=()): C,\n",
  135. " Plays(self_plays=(D, C, D), op_plays=(D, C, C), op_openings=()): C,\n",
  136. " Plays(self_plays=(C, D, C), op_plays=(C, D, D), op_openings=()): D,\n",
  137. " Plays(self_plays=(C, D, C), op_plays=(D, D, D), op_openings=()): D,\n",
  138. " Plays(self_plays=(D, C, D), op_plays=(C, D, D), op_openings=()): D,\n",
  139. " Plays(self_plays=(C, D, C), op_plays=(C, C, C), op_openings=()): D,\n",
  140. " Plays(self_plays=(D, C, C), op_plays=(D, D, D), op_openings=()): C,\n",
  141. " Plays(self_plays=(D, C, D), op_plays=(C, C, D), op_openings=()): C,\n",
  142. " Plays(self_plays=(D, D, D), op_plays=(D, D, C), op_openings=()): C,\n",
  143. " Plays(self_plays=(C, C, D), op_plays=(D, C, C), op_openings=()): C,\n",
  144. " Plays(self_plays=(C, D, C), op_plays=(D, D, C), op_openings=()): D,\n",
  145. " Plays(self_plays=(D, C, D), op_plays=(D, D, C), op_openings=()): D,\n",
  146. " Plays(self_plays=(C, C, C), op_plays=(C, C, C), op_openings=()): D,\n",
  147. " Plays(self_plays=(C, D, D), op_plays=(C, C, C), op_openings=()): D,\n",
  148. " Plays(self_plays=(C, C, C), op_plays=(C, C, D), op_openings=()): D,\n",
  149. " Plays(self_plays=(C, C, D), op_plays=(C, D, C), op_openings=()): C,\n",
  150. " Plays(self_plays=(D, C, C), op_plays=(C, C, D), op_openings=()): C,\n",
  151. " Plays(self_plays=(D, D, D), op_plays=(D, C, C), op_openings=()): D,\n",
  152. " Plays(self_plays=(C, D, C), op_plays=(D, C, C), op_openings=()): D,\n",
  153. " Plays(self_plays=(C, D, C), op_plays=(D, C, D), op_openings=()): C,\n",
  154. " Plays(self_plays=(D, D, D), op_plays=(C, D, D), op_openings=()): C}"
  155. ]
  156. },
  157. "execution_count": 32,
  158. "metadata": {},
  159. "output_type": "execute_result"
  160. }
  161. ],
  162. "source": [
  163. "random.seed(0)\n",
  164. "lookup_dict = {play: random.choice([C, D]) for play in plays}\n",
  165. "lookup_dict"
  166. ]
  167. },
  168. {
  169. "cell_type": "code",
  170. "execution_count": 33,
  171. "metadata": {
  172. "collapsed": true
  173. },
  174. "outputs": [],
  175. "source": [
  176. "new_player = axl.LookerUp(lookup_dict=lookup_dict)"
  177. ]
  178. },
  179. {
  180. "cell_type": "code",
  181. "execution_count": 34,
  182. "metadata": {},
  183. "outputs": [
  184. {
  185. "data": {
  186. "text/plain": [
  187. "[(C, C),\n",
  188. " (D, C),\n",
  189. " (C, C),\n",
  190. " (D, C),\n",
  191. " (C, D),\n",
  192. " (D, C),\n",
  193. " (C, C),\n",
  194. " (D, D),\n",
  195. " (C, C),\n",
  196. " (D, C)]"
  197. ]
  198. },
  199. "execution_count": 34,
  200. "metadata": {},
  201. "output_type": "execute_result"
  202. }
  203. ],
  204. "source": [
  205. "match = axl.Match((axl.Alternator(), new_player), turns=10)\n",
  206. "match.play()"
  207. ]
  208. }
  209. ],
  210. "metadata": {
  211. "anaconda-cloud": {},
  212. "kernelspec": {
  213. "display_name": "Python [conda root]",
  214. "language": "python",
  215. "name": "conda-root-py"
  216. },
  217. "language_info": {
  218. "codemirror_mode": {
  219. "name": "ipython",
  220. "version": 3
  221. },
  222. "file_extension": ".py",
  223. "mimetype": "text/x-python",
  224. "name": "python",
  225. "nbconvert_exporter": "python",
  226. "pygments_lexer": "ipython3",
  227. "version": "3.5.2"
  228. }
  229. },
  230. "nbformat": 4,
  231. "nbformat_minor": 2
  232. }
Add Comment
Please, Sign In to add comment