在我的学校,我们的老师正在举办一场石头、布、剪刀机器人大赛。我知道如何用Python编程,但我不知道如何编写一个比随机选择武器的机器人更有可能成功的机器人。我认为有可能存储所有之前的走法,然后寻找模式,以对抗攻击。我的方向是对的吗?有什么想法吗?
发布于 2012-01-12 06:41:51
对于石头-剪刀-布-布,证明了随机机器人将位于每个等级的中位数。
因此,我将创建一组机器人,每个机器人计算一个启发式,并在后台并行运行。对于每一轮,每个机器人实际上都会“抽签”,并检查他是赢了还是输了--如果它会玩这一轮。每个机器人都将跟踪如果它玩了它会赢多少场比赛,以及它会输多少场。
其中一个机器人将是随机攻击者。
每次轮到你了:选择到目前为止最贪婪的获胜的机器人-并使用它。
使用这种方法,你可以保证你的在班级中的中位数最高!当然,有了足够多的游戏
发布于 2012-01-12 06:37:59
如果你是在和人类对战,你就走对了路。存储之前的动作是关键。这里有两篇对你有帮助的文章。How to win at rock, paper, scissors。以及维基百科在strategy and algorithms上的词条。
发布于 2012-01-12 07:25:30
Rock Paper Scissors Programming Competition site包含大量的竞争程序(它们甚至是用python编写的)。
如果这是你的学校作业,它可能会被认为是作弊,因为所有提交的来源都是公开的。但是,话又说回来,其他学生也可以使用它们。
https://stackoverflow.com/questions/8827703
复制相似问题