我正在阅读一篇关于traffic流优化的论文,使用多Agent Q学习。本文提出了以下方法:在每个交叉口设置一个带有交通灯的强化学习控制器。
首先,Q值方程是:
$Q^{t}(s,a) = (1-α)Q^{t-1}(s,a) +\α(R{t} +\max_{a}(q^{t-1}(成都,a))$
第二,状态是:当前交叉口和一个跳跃交叉口的车辆队列长度之和。
第三,行动空间是:

这里的动作代表了车辆在交叉口的可能移动。
第四,T时刻的奖励是
$R^{t} = -( w_1\sum q_{当前交集}+ w_2\sum q_{邻居} )$
当Q表示车辆队列长度时,w1和w2是常量。
第五,下面的图像中有一个算法,它获取最大化q值所需的操作。

我想要理解的是,报酬计算并没有把行动作为一个参数。它如何正确地选择一个动作。
我是一个加强学习的新手,所以如果你觉得我的问题幼稚,请给我推荐一本合适的教科书。谢谢
发布于 2018-03-06 10:57:56
我想要理解的是,报酬计算并没有把行动作为一个参数。它如何正确地选择一个动作。
奖励函数不选择行动。它会给你以前的行为带来直接的后果--在大多数情况下,它是环境中所有以前的行为、状态和随机因素的结果。虽然它应该只依赖于最近的状态,以前的动作加一个随机因素最多。
在您的情况下,奖励直接取决于所得到的状态=在每个路口采取行动后每个路口的汽车数量,而不是直接取决于前面的操作=要启用的流量。它仍然间接地取决于行动,通过任何环境工作。但是,这不需要用数学(作为系统的模型)来表示,Q学习才能起作用。虽然没有说明,但回报可能也取决于一个在你控制范围之外的随机因素,即每个路口有多少辆车出现。
它是Q值,它最终对不同的操作进行排序,并允许您选择最佳的操作。$Q^t(s,a)$给出了当前对未来奖励的最佳估计(对于持续存在的问题,如您的问题,通常有一个折扣因子,$\gamma$,以便更多地考虑即时奖励)。
根据问题、学习算法等,有多种方法来选择强化学习中的下一个动作。在您复制的伪代码示例中,选择过程是使用上置信界 (或UCB),这是一种相对复杂的方法,可以平衡对可能比当前最佳估计更好的行为的探索,而不只是使用目前为止的“最佳”操作。如果您总是采取“最佳”操作,那么在许多情况下,这会导致问题,因为您永远不会更新其他操作的知识。
所有这些的标准教科书之一是萨顿和巴托强化学习简介。这本书中的符号与你所使用的略有不同,但它用简单易懂的细节解释了问题所涉及的概念。
https://datascience.stackexchange.com/questions/28604
复制相似问题