事件驱动优化:概念、模型与重要性

1 什么是事件驱动

直观地讲,什么是事件驱动?

  • 事件驱动:事件的发生 触发行动/决策。
  • 比如跑步比赛,发令枪响(事件发生)你才决定开始跑,而不是每 0.1s 做一次“是否跑”的决策。
  • 比如排队系统,一个人的到来(事件发生)触发了 “是否让他进入大厅排队” 的决策,否则没有决策的必要。

因此,对某些场景来说,事件驱动建模很合理。

2 一些数学定义

前提条件:系统是 包含有限状态的 平稳 Markov Chain。

首先,给出模型的数学表达,包括系统状态,事件 e,收益 f,策略 d

  • 系统状态:状态空间 S=1,2,,S,状态一般用 i j 这样的字母来表示。

  • 事件:

    • 一个事件 e 是一组状态转移的集合,e={i,j|i,j}

    • 事件包含三类:可观事件、可控事件、自然转移事件。在事件驱动语境,“事件”通常指可观事件。搬运综述的例子:

      例如排队接入控制问题: 定义系统状态为各个服务台中顾客数构成的向量, 对于该系统, 首先观测到顾客到达(可观事件发生), 基于该事件决定接收或拒绝到达的顾客(可控事件发生), 如被接收, 顾客随机进入某个服务台(自然转移事件发生), 这三个事件发生的顺序具有逻辑关系, 共同决定系统的状态转移. 然而, 在 MDP 中, 这三类事件被当作同时发生, 共同决定系统的一步状态转移.

    • 输入输出:事件 e(状态转移集合)中,

      • 输入状态集合为 I(e)={iS| jS (i,je)},状态 j 的输入集合为 Ij(e)={iS|i,je}
      • 输出状态集合为 O(e)={jS| iS (i,je)},状态 i 的输出集合为 Oi(e)={jS|i,je}
    • 事件空间:E={eϕ,e1,,eV}eϕ 代表不采取任何行动的事件集合,V 是事件总数。一般而言,各个事件互斥(交集为空)。

  • 策略:策略 d 是 事件空间 E → 动作空间 A 的映射;决策只被事件类型决定,和状态没关系。

  • 收益:报酬函数 f(i,a)=f(i,d(i)),只取决于状态 i 和行动 a

然后,定义评价指标 ηh 为收益求和。公式里,大写 X E 为 系统状态 事件,E0 是初始时刻观察到的事件。(和强化学习一样,但不知是否有 discount factor,综述里没有写 discount):

ηd=limNE{1Nn=0N1f(Xn,d(En))|E0}

最优策略 d 就是 η 的 argmax 策略了。

3 为什么 事件驱动 而非 MDP

  1. 事件驱动 在克服维数灾难上有优势。MDP 状态太多,很可能随系统规模指数级增长,相反 事件可以定义的很简洁。
  2. 真实系统的状态并不好观测,观测不到状态就没法做 MDP,相反 事件是好观测的。
  3. MDP 太通用,难以利用系统结构 简化/加速 优化过程,相反 可以利用系统特殊结构定义事件。

4 顺便说一些背景

  • 对系统优化的 MDP 解法,突破性工作可分为两类:
    • 利用问题结构,合并状态 减少状态数量,或搜索策略时进行剪枝。
    • 寻找 MDP 的近似求解,比如神经元动态规划 [11]、强化学习 [12]、近似动态规划 [13]。(冒出了将两者相结合的念头)
  • 基于事件的优化模型,最早由曹希仁教授在2005 年提出 [23]。
  • 原文中,文献 23 24 25 貌似是经典文献。

返回目录→

本文作者:MoonOut

本文链接:https://www.cnblogs.com/moonout/p/16315292.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   MoonOut  阅读(325)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 Sibelius: Violin Concerto in D Minor, Op. 47:III. Allegro, ma non tanto Jascha Heifetz / Chicago Symphony Orchestra
Sibelius: Violin Concerto in D Minor, Op. 47:III. Allegro, ma non tanto - Jascha Heifetz / Chicago Symphony Orchestra
00:00 / 00:00
An audio error has occurred.