Tag Archives: AI

对付NYTimes的石头剪刀布Novice Computer的出招表

题目中涉及到的电脑AI在这里:

http://www.nytimes.com/interactive/science/rock-paper-scissors.html?hp

里面电脑AI分为两种,Novice和Veteran,前者是根据你的出招习惯来出招,后者是根据之前所有对战的统计数据来出招。虽然从名字上来看 Novice是初学者,Veteran是老将,但是真正玩起来老将未必比初学者强大,因为全人类的出招习惯实在不能说很靠谱……但是另一方面,如果你本身 就没有出招习惯,或者说出招习惯本身就是一个圈套呢?

这就是击败Novice电脑的思想。而我用了一个最无赖的方法便是本地写了一段代码模拟Novice电脑的算法(算法思想在它的网站上点击See What Computer is Thinking便可以看到),也就是说,Novice电脑根据某算法判断我的出招习惯然后出招克制,我也用同样的方法计算我的出招习惯然后反其道而行 之。

当然这是获胜的方法,但未必是胜率最大的方法。如果伪造自己的出招习惯是否能造成一个循环,而又是否可以找到一个胜率最大的循环,这类的问题也还颇有可以进一步思考之处。

下面给出一张我用自己写的一个本地程序计算出来的一种出招表,以及我用这个出招表得到的结果,有兴趣的同学可以尝试一下,并把你的胜率情况告诉我。
注意:出招表大概在10回合以后开始发挥威力。

Round 1 : Scissors
Round 2 : Paper
Round 3 : Paper
Round 4 : Scissors
Round 5 : Scissors
Round 6 : Paper
Round 7 : Paper
Round 8 : Rock
Round 9 : Rock
Round 10 : Scissors
Round 11 : Rock
Round 12 : Scissors
Round 13 : Scissors
Round 14 : Rock
Round 15 : Paper
Round 16 : Scissors
Round 17 : Paper
Round 18 : Rock
Round 19 : Scissors
Round 20 : Scissors
Round 21 : Scissors
Round 22 : Scissors
Round 23 : Paper
Round 24 : Rock
Round 25 : Paper
Round 26 : Paper
Round 27 : Scissors
Round 28 : Paper
Round 29 : Scissors
Round 30 : Rock
Round 31 : Rock
Round 32 : Paper
Round 33 : Rock
Round 34 : Scissors
Round 35 : Paper
Round 36 : Scissors
Round 37 : Scissors
Round 38 : Rock
Round 39 : Rock
Round 40 : Rock
Round 41 : Scissors
Round 42 : Scissors
Round 43 : Scissors
Round 44 : Paper
Round 45 : Scissors
Round 46 : Scissors
Round 47 : Scissors
Round 48 : Rock
Round 49 : Scissors
Round 50 : Paper