击败纽约时报 Rock/Paper/ Scissors AI 的算法

The algorithm that beats this New york times' Rock/Paper/ Scissors AI

在 Rock/Paper/ Scissors 中击败*这个纽约时报人工智能的算法? (老手模式)

http://www.nytimes.com/interactive/science/rock-paper-scissors.html?_r=1& (必须启用 Flash 才能与 AI 一起玩)(网站不断提供有关 AI 如何在您玩至少 5 次后选择下一步的信息)

我正在自学机器学习,我还是个新手。 (昨天才开始)。

我的朋友告诉我,他们被分配去解决上述问题,但没有在他们的 ML class 中学习任何 ML 技术。我也想这样做,但我想不出除了暴力之外的任何其他方式。

对于训练数据集,使用 AI 100 次或更多时间并收集这 100 次或更多数据。使用这些数据创建一个算法,这样你在使用你的程序时比不使用你的程序时赢得更多的游戏。作为一个超级新手,我什么都想不起来。

有什么提示吗? 谢谢

新手模式

所以该网站的好处在于,它显示了每一个动作背后的想法。它试图通过查看您的动作历史来预测您的动作。 因此,您的搬家历史可能如下所示: (石头=r,剪刀=s,布=p)

r p s p p s s r r p s

现在它会查看历史并尝试找到 r p s 的重现。它在历史的开头找到这个r p s p p s s r r p s,然后发现你玩了p。因此计算机的下一步将是s

如果找不到重复出现的字符串 (r p s),它会查找较小的字符串 (p s),依此类推。如果它发现多次重复出现,则选择重复次数最多的那个(或者甚至只是随机选择一个)。

因此您可以编写一个与网站上的程序完全相同的程序。您尝试预测自己的举动(就像网站的程序一样)。 因此,例如 (r p s),计算机会预测 p 的移动,因此根据这些知识,您会选择 s.

老手模式

在退伍军人模式下,AI 使用 200000 场比赛的历史来预测您的下一步行动。因此,要尝试击败它,您将以与 AI 完全相同的方式使用 100 场比赛的历史记录。

您查看当前尝试的历史加上您的历史(100 场比赛)并尝试找到某种类型的重复(例如 r s p r)。你看看计算机对此的反应是什么。现在你相应地选择,这样你就打败了电脑。当然,这不会总是赢,因为计算机经常在两次选择之间使用随机响应(并且历史较长,因此可以从中选择更多样本)。但这应该会增加您获得的胜利数量。

我也没有任何机器学习经验,但这将是我编写程序的策略。

希望对您有所帮助。

如果你打不过他们就加入他们;) 干杯

开始游戏之前,先拿一副牌,把梅花和王牌扔掉。 这给你留下了三个主要的花色。黑桃(石头)红心(剪刀)和方块 (纸)。洗牌真的很好。然后按照它们所在的顺序使用这些卡 - 当你 运行 出局时,将它们洗牌,然后再做一次。我通常赢。

LDA