【发布时间】:2012-06-17 15:34:47
【问题描述】:
我正在处理一个电源管理问题,我根据事件的发生来控制计算板的电源管理。我正在使用强化学习(传统的 Q 学习)进行电源管理,其中计算板作为服务提供商 (SP) 来处理请求(图像)。 SP 连接到智能相机,电源管理器 (PM) 算法在相机上运行,向 SP 发出适当的电源命令(睡眠、唤醒)。智能相机根据事件的发生捕获图像(请求),并为请求(图像)维护一个服务队列(SQ)。我还有一个基于 ANN 的工作负载估计器,它将当前工作负载分类为 low 或 high。 Q 学习算法的状态空间因此包括 Q(s,a) 的复合,其中 s=(SR, SQ, SP)。 SR 是工作负载的状态。 SQ 是服务队列的状态,SP 是服务提供者的状态。 PM 根据当前的工作量、队列的状态和服务提供者的状态,向 SP 发出某些命令(睡眠、唤醒)。 该决定在以下阶段做出:
- SP 空闲
- SP刚进入睡眠状态,SQ>=1
- SP 处于睡眠状态,SQ 从 0 转变为 1。
对于每个操作,都会分配一个成本,该成本由该操作引起的每个请求的平均功耗和平均延迟的加权和组成。在睡眠状态和空闲状态中,该动作包括从预定义超时值列表中选择一些超时值。我的问题如下:
当SP进入休眠状态并选择一个超时值时,一些请求可能会在超时值期间到达,因此SQ的状态会发生变化。这也将复合状态(例如,S(0,0,0) 更改为 S(0,N,0)。在超时值结束时,PM 决定唤醒 SP(因为 SQ>0 ). 唤醒后,SP 处理请求,当 SQ =0 时,它的状态为 (0,0,1) 或 (1,0,1)。然后它为之前的状态分配一个成本。它还更新相应的Q-matrix。我的问题是,成本应该分配给状态(0,0,0)还是(0,N,0)?原则上,前一个状态是(0 ,N,0) 但是这个请求会在队列中的一些请求到达时自动到达,因此在这个状态下没有采取任何行动,也没有任何行动可以分配成本。
【问题讨论】:
-
这是一个相当密集的帖子。有什么办法可以减少冗长,增加有人阅读全部内容的机会?
-
问题是如果我不详细解释的话,就没有多大意义了。
标签: machine-learning power-management reinforcement-learning