我正在尝试建立一个非常简单的机器人,它可以和其他机器人玩石头剪刀(而且必须赢)。
我选择的特征是我自己和对手的前几个动作(我为每个动作创建了3个节点,每个节点都是真假的,所以之前的动作有6个节点),以及我是否赢了最后一轮。这使得总共有7个特性作为输入。<-请告诉我,我是否正确地设置了我的特征
现在,我注意到这7个特征可以相互关联,这样的移动,最后一轮和赢/输可以结合起来,以创造另一个特点(例如。我输了+对手用石头=对手又用石头)。你认为哪种人工智能技术最能捕捉到这一点?神经网络或天真的贝叶斯..。甚至是另一个?
发布于 2013-10-01 17:35:55
朴素贝叶斯的天真之处在于它假定功能是独立的。也就是说,它没有看到“我输了,对手用了石头”,相反它看到了“我输了”,也看到了“对手用石头”。“我输了”对自己来说是没用的,“对手用过的石头”也不是。所以朴素的贝斯不会给你很好的结果。
NNs可能会更适合一些,但我认为决策树可能是你最好的选择。作为奖励,您将了解决策树,这是一种比NNs更有用的人工智能技术。
发布于 2013-10-01 20:16:16
实际上,我认为NNs很适合这个问题。但是我认为你需要更多的投入才能有更好的发挥:你至少需要为几个游戏建模(也就是说,“我玩/他们玩”不仅仅是在一轮,而是在过去的n回合中,n至少是,我不知道,3或4)。
你可以争论你是否需要一个“我赢了一轮”的输入:一方面,胜利是从剧本中涌现出来的,所以你并不严格需要它,但是“我玩了x而输了,所以下次我要玩y或者z”是一个可行的模式,如果你真的做了赢/输的话,这个模式会更容易理解。
这里的前提是,有一个模式序列是可以检测的(不仅仅是一个统计偏见,即对手比P更频繁地玩P,而且如果他们玩*PR*S,他们通常下一个玩P )。在我看来,这是一个合理的假设,这是一种模式,你应该能够用神经网络来理解。
https://stackoverflow.com/questions/19122405
复制相似问题