Here's a rock-paper-scissors robot
http://www.nytimes.com/interactive/science/rock-paper-scissors.html
it beats me most of the time, but, however, the algorithm can be improved
Consider two strategies(assuming i can my opponent's preference, as the robot does):
a) i hate losing so much, so i want to be beaten only by the throw that the opponent will least likely to make
i don't know if my english is correct, so here's an example
i know from the database that the opponent's next move will be 60%scissor 30%paper 10%stone
i don't want to lose, so i throw a scissor, which is beaten by stone, with a possibility of 10%
b) winning is fun, so i always beat the opponent's most-possible throw. So in the example above, i will throw a stone to beat the scissor
seeing that Plan a and b sometimes give different suggestion, we can combine these two strategies like this:
take winning as 1, draw as 0, and losing as -1, we can calculate the expectation(is this the right term?) of each strategy, and decide which to adopt
in this way, i promoted the winning rate to 72.9%, which is better than Plan A(68.7%), but worse than Plan B(73.5%), and the optimal case(in which i always choose correctly between Plan A and B, winning 90.0% of the games)
then i came up with another optimization method. i tried not to hate losing as much as i love winning. Later i found the optimal degree of hateness should be -0.6567. After this the winning rate climbed to 73.94%(still poor compared to 90.0%)
Now it seems like a bottleneck situation. I can't think of any other method? any ideas?
