如何训练一个机器人,给定一系列他做了(最初是随机的)动作的游戏,以根据以前的经验改进它的行为?
该机器人有一些动作:例如射击、等待、移动等。这是一个基于回合的“游戏”,其中,众所周知,我正在运行带有一些目标(例如杀死其他机器人)和随机动作的机器人。所以每个机器人都会有一个评分函数,在游戏结束时会说,从 X 到 Y(0 到 100?),如果他们做得好或不好。
那么如何让机器人学习他们以前的经验呢?因为这不是神经网络所采用的固定输入,所以这是一个游戏列表,机器人在每个游戏中都采取了几个动作(每个“回合”一个)。我知道的 IA 函数用于预测未来值。我不确定是否相同。
也许我应该有一个函数来获取机器人玩过的“更相似的以前的游戏”并检查他采取了什么行动,如果结果不好他应该采取另一个行动,如果结果很好那么他应该采取同样的行动行动。但这似乎是硬编码的。
另一种选择是根据先前的游戏动作训练神经网络(以某种方式解决固定输入的问题)并预测未来动作的得分结果(我猜这类似于国际象棋和围棋游戏的工作方式)并选择似乎有更好结果的那个。
我希望这不是太抽象。我不想在机器人中硬编码很多东西,我希望他们从空白页开始自己学习。