我的任务是创建一个简单的,2D,从上面看到赛车游戏。这个游戏唯一的目标是在尽可能的时间内达到最好的结果。玩家可以驾驶汽车,也可以加速或减速。如果运动员离开赛道,比赛就结束了。
这是简单的一点,但游戏也有一个人工智能。人工智能的目标是学习在轨道上的“最优”跟踪,基于人类玩家过去的轨迹。
我正在考虑一些功能,这些功能可以用作培训集:
当然,其他功能或信息也是有用的。
什么学习方法可以用来产生一个有效的轨道。我的目标不是打败人类的球员,而只是到达赛道的尽头。:)
发布于 2013-05-16 10:55:38
我主要是在这里集思广益,但是:
据我所知,你的处境是这样的:
在这种情况下,一个非常简单的模型如下:
因此,您有一组输入特性和决策问题。
(这些并不是具体的实现思想,这取决于您选择的是什么)
选择在很大程度上取决于您所使用的工具(Matlab、C++、Python等)以及您熟悉的学习算法。我建议选择一个你知道的最好的,并尝试适合的模式。
发布于 2013-05-15 16:25:45
也许你可以试试神经网络?
“在大多数情况下,神经网络是在学习阶段改变其结构的自适应系统。神经网络用于模拟输入和输出之间复杂的关系或在数据中查找模式。”
network
发布于 2013-05-16 06:45:57
我认为更重要的是要弄清楚如何表示您的环境和“可能的”行动,在这种情况下,模型只是一个东西来联系他们。
在我看来,你可以尝试诸如“从左/右路缘到你的车的距离”,“当前的汽车速度”和“汽车与道路方向的角度差异”等等。这些将是您的模型输入。
然后将它们与可用的汽车动作、“左转”/“右转”/“加速/向下”、“游戏继续/结束”或其他什么动作联系起来。这些将是您的模型输出。
如果你要用神经网络,我想出两种方法来训练你的模型。1.您可以玩您的游戏,并使您的程序记录输入时,任何时候,一个动作是适用于汽车。2.建立随机驾驶汽车的算法,对训练数据进行采样,并选择有效的训练模型。
我不熟悉强化学习,但我仍然认为这是相关的,你也可以潜入其中,试一试。
https://stackoverflow.com/questions/16570273
复制相似问题