1

我正在尝试构建一个非常简单的机器人,可以与其他机器人玩石头剪刀布(并且必须获胜)。

我选择的特征是我自己和对手之前的动作(我为每个具有真/假的节点创建了 3 个节点,因此之前的动作为 6 个节点)以及我是否赢得了上一轮。这使得总共有 7 个特征作为输入。<--- 请让我知道我是否正确设置了我的功能

现在我注意到的这 7 个特征可以相互关联,这样上一轮的走法和赢/输可以结合起来创建另一个特征(例如,我输了 + 对手使用了石头 = 对手再次使用了石头)。您认为哪种 AI 技术能最好地捕捉到这一点?神经网络或朴素贝叶斯......甚至是另一个?

4

2 回答 2

1

朴素贝叶斯的幼稚之处在于它假设特征是独立的。也就是说,它没有看到“我输了,对手用了石头”;相反,它看到“我输了”,也看到了“对手用过的石头”。“我输了”本身没有用,“对手用过的石头”也没有用。所以朴素贝叶斯不会给你很好的结果。

NN 可能更适合一些,但我认为决策树可能是你最好的选择。作为奖励,您将了解决策树,这是一种比 NN 更有用的 AI 技术。

于 2013-10-01T17:35:55.930 回答
0

实际上,我认为 NN 非常适合解决这个问题。但我认为你当然需要更多的输入才能获得体面的比赛:你需要至少为几场比赛建模(即,“我玩/他们玩”不仅仅是一轮,而是过去n几轮,其中n至少,我不知道',3或4)。

您可以争论是否需要“我赢了这一轮”输入:一方面,赢是从游戏中产生的,所以你并不严格需要它,但是“我玩了x又输了,所以下次我” ll play yor " 是一种可行的模式,如果你做了模型赢/输z,它会更容易上手。

这里的前提是有一个可以检测到的模式序列(不仅仅是对手打得R更多的统计偏差,P而且如果他们打*PR*S,他们经常P下一个打)。这让我觉得这是一个合理的假设,这是你应该能够用 NN 接受的那种模式。

于 2013-10-01T20:16:16.140 回答