事件驱动优化:概念、模型与重要性
1 什么是事件驱动
直观地讲,什么是事件驱动?
- 事件驱动:事件的发生 触发行动/决策。
- 比如跑步比赛,发令枪响(事件发生)你才决定开始跑,而不是每 0.1s 做一次“是否跑”的决策。
- 比如排队系统,一个人的到来(事件发生)触发了 “是否让他进入大厅排队” 的决策,否则没有决策的必要。
因此,对某些场景来说,事件驱动建模很合理。
2 一些数学定义
前提条件:系统是 包含有限状态的 平稳 Markov Chain。
首先,给出模型的数学表达,包括系统状态,事件
-
系统状态:状态空间
,状态一般用 这样的字母来表示。 -
事件:
-
一个事件
是一组状态转移的集合, 。 -
事件包含三类:可观事件、可控事件、自然转移事件。在事件驱动语境,“事件”通常指可观事件。搬运综述的例子:
例如排队接入控制问题: 定义系统状态为各个服务台中顾客数构成的向量, 对于该系统, 首先观测到顾客到达(可观事件发生), 基于该事件决定接收或拒绝到达的顾客(可控事件发生), 如被接收, 顾客随机进入某个服务台(自然转移事件发生), 这三个事件发生的顺序具有逻辑关系, 共同决定系统的状态转移. 然而, 在 MDP 中, 这三类事件被当作同时发生, 共同决定系统的一步状态转移.
-
输入输出:事件
(状态转移集合)中,- 输入状态集合为
,状态 的输入集合为 ; - 输出状态集合为
,状态 的输出集合为
- 输入状态集合为
-
事件空间:
, 代表不采取任何行动的事件集合,V 是事件总数。一般而言,各个事件互斥(交集为空)。
-
-
策略:策略
是 事件空间 → 动作空间 的映射;决策只被事件类型决定,和状态没关系。 -
收益:报酬函数
,只取决于状态 和行动 。
然后,定义评价指标
最优策略
3 为什么 事件驱动 而非 MDP
- 事件驱动 在克服维数灾难上有优势。MDP 状态太多,很可能随系统规模指数级增长,相反 事件可以定义的很简洁。
- 真实系统的状态并不好观测,观测不到状态就没法做 MDP,相反 事件是好观测的。
- MDP 太通用,难以利用系统结构 简化/加速 优化过程,相反 可以利用系统特殊结构定义事件。
4 顺便说一些背景
- 对系统优化的 MDP 解法,突破性工作可分为两类:
- 利用问题结构,合并状态 减少状态数量,或搜索策略时进行剪枝。
- 寻找 MDP 的近似求解,比如神经元动态规划 [11]、强化学习 [12]、近似动态规划 [13]。(冒出了将两者相结合的念头)
- 基于事件的优化模型,最早由曹希仁教授在2005 年提出 [23]。
- 原文中,文献 23 24 25 貌似是经典文献。
本文作者:MoonOut
本文链接:https://www.cnblogs.com/moonout/p/16315292.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步