我仍然是人工智能编程的新手,所以如果这是一个过于简单化的话,请跟我说。我正在尝试构建一个非常直接的机器人,它可以对抗其他机器人(并且必须获胜)使用石头剪刀。
我选择的功能是我自己和对手之前的动作(我为每个创建了3个节点,其中有一个真/假,所以前一个动作有6个节点)以及我是否赢了上一轮。这使得总共有7个功能作为输入。 < ---如果我正确设置了我的功能,请告诉我
现在我注意到的这7个特征可以相互关联,这样可以组合上一轮的移动和赢/输以创建另一个特征(例如,我丢失+对手使用摇滚=对手再次使用摇滚)。您认为哪种人工智能技术可以捕捉到最佳效果?神经网络或朴素贝叶斯......甚至是另一个?
非常感谢您的时间,这真让我感到难过。
答案 0 :(得分:1)
Naive Bayes的天真之处在于它假定特征是独立的。也就是说,它没有看到“我输了,对手用了摇滚”;相反,它看到“我输了”,也看到“对手用过的岩石”。 “我输了”对自己知道没有用,而“对手用摇滚”也不是。所以朴素贝叶斯不会给你很好的结果。
NN可能会更好一点,但我认为决策树可能是你最好的选择。作为奖励,您将学习决策树,这是一种比NN更有用的AI技术。
答案 1 :(得分:0)
我认为NN非常适合这个问题,实际上。但是我认为你肯定需要更多的投入以获得体面的比赛:你需要至少模拟一些比赛(即“我参与/他们比赛”,不仅仅是一轮比赛,而是过去的n
轮比赛。 ,至少n
,我不知道,3或4)。
你可以争论是否需要一个“我赢了一轮”的输入:一方面,胜利是从剧中出现的,所以你并不是严格需要它,但是“我玩了x
并且丢失,所以下次我会玩y
或z
“是一个可行的模式,如果你做模型获胜/丢失会更容易接受。
这里的前提是有一个可以检测到的模式序列(不仅仅是对手比R
更频繁地发挥P
的统计偏差,但如果他们玩*PR*S
他们经常玩P
。这让我觉得这是一个合理的假设,这是你应该能够通过NN获得的那种模式。