使用可变动作的强化学习

16

我读过的所有强化学习算法通常都应用于一个具有固定行动数量的单个代理。是否有任何强化学习算法可以考虑变量数量的行动来做出决策?例如,在玩家控制N名士兵且每个士兵根据其状态具有随机数量的行动的计算机游戏中,如何应用强化学习算法?你无法为全局决策制定固定数量的行动(即“将军”),因为可用行动会随着士兵的创建和死亡而不断改变。而在士兵层面上也无法制定固定数量的行动,因为士兵的行动是基于其直接环境而有条件的。如果士兵看不到对手,则可能只能行走,而如果它看到10个对手,则会有10个新的可能行动,攻击其中1个对手。


请注意,下次如果您有关于强化学习的问题,请在人工智能SE上提问。类似的问题也已经在那里被问过了。例如,可以参考这个 - nbro
有些情况下,代理人可能面临一组可能的行动,并且行动序列很重要。在这些情况下,我们应该如何处理? - Hermes Morales
3个回答

5
你所描述的并不罕见。强化学习是一种找到马尔可夫决策过程值函数的方法。在MDP中,每个状态都有自己的一组动作。要使用强化学习应用程序,必须清楚地定义问题中的状态、动作和奖励。

2
如果每个士兵有一系列可用或不可用的操作取决于某些条件,那么您仍然可以将其建模为从固定操作集中进行选择。例如:
  • 为每个士兵的完整操作集创建“效用值”
  • 选择最高价值的操作,忽略在给定时间不可用的操作
如果有多个可能的目标,则相同的原则适用,只是这次您将模型的实用功能作为额外参数考虑目标指定,并多次运行评估功能(每个目标一个)。您选择具有最高“攻击效用”的目标。

就像我说的一样,士兵的行动次数也是可变的。你所说的将攻击目标作为参数是什么意思? - Cerin
我的意思是:让强化学习算法将一些关于目标或特定动作的信息作为额外输入。然后,您可以根据需要将其应用于多个目标和/或动作。您只需针对每个要考虑的目标和/或动作使用不同的目标和/或动作信息重新运行算法即可。 - mikera

0
在连续的动作空间中,策略神经网络通常会输出均值和/或方差,然后你可以从中采样动作,假设它遵循某种分布。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接