Although rock-paper-scissors (RPS) may seem like a trivial game, it actually involves the hard computational problem of temporal pattern recognition. This problem is fundamental to the fields of machine learning, artificial intelligence, and data compression. In fact, it might even be essential to understanding how human intelligence works.
In the past there have been several RPS programming contests. A game released by the New York Times popularized the fact that a RPS AI can consistently beat human players. When playing several rounds of RPS against the same opponent, it is possible to try to predict what the opponent will do in order to gain an advantage. However, it is impossible to gain an advantage against an opponent who is playing completely randomly.
If playing randomly is the optimal strategy, what is the point of a RPS competition? It is actually possible to do much better than a random player when the contest involves non-random competitors. This is because a strong player can consistently beat predictable players, while a random player will win about half of its matches. This means that random players will tend to rank around the middle of a competition leaderboard, while strong players will consistently rank higher.
This website is intended to host an ongoing competition to rank RPS programs. All submissions must be made using the Python programming language. The source code for all submissions will be publicly viewable. You may make as many submissions as you like. May the best AI win!
Prediction is very difficult, especially about the future.