半马尔可夫决策过程(Semi-Markov Decision Process,SMDP)是对传统马尔可夫决策过程(MDP)的扩展,适用于动作持续时间不固定的情况。
在SMDP中,动作的执行时间(称为停留时间)是一个随机变量,状态在这段时间内保持不变。————说白了,相比基础的MDP表示,SMDP多了一个停留时间的概念。有了SMDP的模型可以使用于更多的强化学习场景,比如分层强化学习。
分层强化学习: SMDP用于处理高层策略的决策过程,帮助在不同时间尺度上进行决策,适用于需要长时间跨度或多步策略的复杂任务。
在离散状态下的时间步,指的是系统从一个状态 转移到下一个状态
所经历的时间步长(time step)。这在 MDP 和 SMDP 中的处理方式不同:
1. MDP中的时间步
在 MDP 中,时间步是固定的。换句话说,每一次状态转移(从到
)都发生在相同的时间间隔内,例如
。
状态转移用转移概率矩阵 P 来表示,定义如下:
其中:
:表示当前的状态。
:表示当前的动作。
:表示下一时间步的状态。
例子:
假设有 3 个状态:,且时间步固定为 1 单位。
给定一个动作 a,转移概率矩阵 P 可能如下:
- 每一行表示从某个状态出发(如
)转移到下一个状态的概率。
- 例如:从状态
出发,以概率 0.6 转移到
。
在 MDP 中,这个过程每次转移的时间步是固定的,比如总是 t = 1。
2. SMDP中的时间步
在 SMDP 中,时间步不是固定的,而是可以变化的。这是因为在某个状态 中,执行某个动作
时可能需要一段随机时间 τ才能转移到下一个状态
。
此时,引入一个“驻留时间分布”来描述每个状态的停留时间。
例子:
假设仍然有 3 个状态:。但现在,转移不仅依赖转移概率矩阵 P,还要考虑驻留时间分布。例如:
- 从状态
出发执行动作 a,以概率 0.6 转移到
,且平均驻留时间为 τ=2 个时间单位。
- 驻留时间可以表示为一个概率分布(例如,指数分布或高斯分布):
这表明从 到
的驻留时间是随机的,而不是固定的。
转移概率矩阵(扩展):
对于 SMDP,转移概率矩阵变为:
注意:时间步长 τ 是动态变化的。
示例:
假设驻留时间如下:
- 从
到
平均驻留时间为 2 个时间单位。
- 从
到
平均驻留时间为 1 个时间单位。
此时,系统的行为会呈现如下特性:
- 停留在某些状态的时间不一样。
- 整个系统的时间跨度会被拉长(或缩短),这使得 SMDP 能更好地描述现实中的决策问题。
实际应用:
- MDP:适用于机器人每秒钟更新状态、无人车路径规划等固定频率的任务。
- SMDP:适用于无人机执行复杂任务(如在目标区域盘旋的时间随机)、卫星系统中存在延迟或长时间任务的决策场景。