我有一个多代理环境,代理正在尝试优化其团队的整体能源消耗。代理可以在他们自己之间交换能量(交换能量的动作包括 - 请求、拒绝请求、授予),它们从可再生资源中产生并存储在各自的电池中。总体目标是减少使用不可再生能源的能源。
所有代理均使用 DQN 构建。所有 (S,A) 对都存储在重放内存中,在更新权重时提取这些对。
奖励函数是这样建模的——如果在这一集结束时,代理组从不可再生资源中的总消耗量小于上一集,则所有代理都将获得 +1 奖励。如果不是,则为-1。一集(迭代)由 100 个时间步组成,之后计算奖励。我在每一集之后更新权重。
在情节结束时获得的奖励用于计算情节中所有(S,A)对的误差,即我以相同的奖励奖励该情节中的所有(S,A)。
我的问题是代理无法学习最佳行为来减少不可再生资源的整体能源消耗。该组的整体消费在波动,即有时增加有时减少。它与奖励功能有关吗?还是 Q 学习,因为环境是动态的?