这些天我正在尝试强化/深度 Q 学习。我从一个基本的“蛇”游戏开始。在这篇文章的帮助下:https : //towardsdatascience.com/how-to-teach-an-ai-to-play-games-deep-reinforcement-learning-28f9b920440a 我成功地训练了吃食物。现在我希望它以特定的步数吃食物,说“20”,不要多,不要少。奖励制度和政策将如何改变?我尝试了很多事情,几乎没有结果。例如我试过这个:
def set_reward(self, player, crash):
self.reward = 0
if crash:
self.reward = -10
return self.reward
if player.eaten:
self.reward = 20-abs(player.steps - 20)-player.penalty
if (player.steps == 10):
self.reward += 10 #-abs(player.steps - 20)
else:
player.penalty+=1
print("Penalty:",player.penalty)
谢谢你。这是程序: https ://github.com/maurock/snake-ga