quasibayes

Authormonkey
Submission date2012-08-17 06:37:12.057524
Rating3115
Matches played814
Win rate29.48

Use rpsrunner.py to play unranked matches on your computer.

Source code:

import random

CHOICES = ['R', 'P', 'S']
BEATS = {'R' : 'P', 'P' : 'S', 'S' : 'R'}
distribution = {'R' : {'R' : 1, 'P': 1, 'S' : 1}, 'P' : {'R' : 1, 'P': 1, 'S' : 1}, 'S' : {'R' : 1, 'P': 1, 'S' : 1}}

if input == "":
  output = random.choice(CHOICES)
else:
  distribution[output][input] += 1
  (a, b, s) = (1,1, 'R')
  for my_strategy in CHOICES:
    opponent_strategy = BEATS[my_strategy]
    c = distribution[my_strategy][opponent_strategy]
    d = sum(distribution[my_strategy].values())
    if a * d >= b * c:
      (a,b,s) = (c,d,my_strategy)
  output = s