我的任务是从赛车游戏上方创建一个简单的2D视图。本游戏中唯一的目标就是尽可能及时地达到最佳效果。玩家可以驾驶汽车并加速或减速。如果玩家从赛道上退出,游戏就结束了。
此时很简单,但游戏也有人工智能。人工智能的目标是根据人类玩家过去的描述,在轨道上学习“最佳”追踪。
我正在考虑一些功能,这些可以用作训练集:
当然,其他功能或信息可能很有用。
可以使用哪些学习方法来制作有效的曲目。我的目标不是击败人类玩家,而是要到达赛道尽头。 :)
答案 0 :(得分:2)
我大多只是在这里集思广益,但是:
据我了解,你的情况是这样的:
在这种情况下,一个非常简单的模型如下:
因此,您有一组输入功能和决策问题。
(这些不是具体的实施思路,取决于你的选择)
选择在很大程度上取决于您使用的工具(Matlab,C ++,Python等)以及您熟悉的学习算法。我建议选择你认识最好的那个,并尝试使用一个模型。
答案 1 :(得分:1)
也许你可以试试神经网络?
“在大多数情况下,神经网络是在学习阶段改变其结构的自适应系统。神经网络用于建模输入和输出之间的复杂关系或在数据中找到模式。”
答案 2 :(得分:0)
我认为弄清楚如何代表你的环境以及针对这种情况的“可能”行动更为重要,模型只是链接它们的一种方式。
在我看来,您可以尝试诸如“从左/右边缘到汽车的距离”,“当前车速”和“汽车和道路方向之间的角度差异”等功能。这些将是您的模型输入。
接下来将它们与汽车的可用动作相关联,“向左转”/“向右转”/“加速/减速”,“游戏继续/结束”或其他。这些将是您的模型输出。
如果您要使用NN,我会想出两种方法来训练您的模型。 1.您可以玩游戏,并在操作适用于汽车时随时记录您的程序输入。 2.制作一个随机驾驶汽车的算法,对训练数据进行采样,并选择有效的训练模型进行训练。
我不熟悉强化学习,但我仍然认为它是相关的,你也可以深入研究并试一试。