



# 1. option framework 的基本定位

**option framework** 是 Sutton、Precup 和 Singh 提出的强化学习时间抽象框架。它的核心目标是把普通 MDP 中“一步动作”的概念推广为“可以持续多个时间步的动作过程”。这些高层动作称为 **options**，也就是 **temporally extended actions**。原始论文把 option 定义为普通动作的推广：普通 action 持续一个时间步，而 option 可以持续多个时间步，并且可以根据中间状态闭环地选择底层动作。

普通 MDP 中，策略直接选择 primitive action：


$$
a_t \sim \pi(\cdot|s_t)  
$$


option framework 中，高层策略先选择 option：


$$
o_t \sim \mu(\cdot|s_t)  
$$


然后 option 的内部策略在多个时间步内选择 primitive actions：


$$
a_t,a_{t+1},\dots,a_{t+k-1}  
$$


直到 option 终止。终止后，高层策略再选择新的 option。原始论文说明，一个 option 被选中后，会根据其内部策略选择动作，并根据终止函数随机终止；当 option 终止时，agent 才获得再次选择 option 的机会。

所以 option framework 的核心结构是：

$$
\boxed{  
\text{MDP 中选择动作 } a  
\quad\Longrightarrow\quad  
\text{option framework 中选择 temporally extended action } o  
}  
$$

---

# 2. option 的严格定义

一个 option 定义为三元组：


$$
o=(I_o,\pi_o,\beta_o)  
$$


其中：


$$
I_o\subseteq \mathcal S  
$$

是 **initiation set**，即 option 可以被启动的状态集合；


$$
\pi_o(a|s)  
$$

是 **intra-option policy**，即 option 内部选择 primitive action 的策略；

$$
\beta_o(s)\in[0,1]  
$$


是 **termination function**，即 option 到达状态 $s$ 后终止的概率。

原始定义中，option 包含三个组成部分：策略 $\pi$、终止条件 $\beta$、启动集合 $I$；当且仅当当前状态 $s_t\in I$ 时，该 option 在 $s_t$ 可用。

因此，option 的语义不是“一个动作标签”，而是一个完整的局部控制过程：


$$
\boxed{  
\text{option}
=
\text{何处可启动}  
+  
\text{如何行动}  
+  
\text{何时终止}  
}  
$$


例如，“open-the-door” 这个 option 可以包含：

$$
I_o={\text{门存在且可接近的状态}}  
$$

$$
\pi_o=\text{靠近门、抓住门把手、转动门把手的控制策略}  
$$

$$
\beta_o(s)=  
\begin{cases}  
1, & \text{门已经打开}\\  
0, & \text{否则}  
\end{cases}  
$$


原论文也使用 open-the-door 作为例子：该 option 可以由到达、抓握和转动门把手的策略，识别门已打开的终止条件，以及限制只在有门状态下考虑该 option 的 initiation set 组成。

---

# 3. option 的执行语义

假设状态为 $s_t$，高层策略选择 option $o$。若 $s_t\in I_o$，则 option 可以启动。执行过程如下：

1. 根据 option 内部策略选择动作：
   

$$
a_t\sim \pi_o(\cdot|s_t)  
$$


2. 环境转移：
   


$$
s_t \xrightarrow{a_t,r_{t+1}} s_{t+1}  
$$


3. 在 $s_{t+1}$ 按概率 $\beta_o(s_{t+1})$ 终止：
   


$$
\Pr(\text{terminate at }s_{t+1})=\beta_o(s_{t+1})  
$$
]

4. 若不终止，则继续由同一个 option 选择动作：
   

[  
$$
a_{t+1}\sim \pi_o(\cdot|s_{t+1})  
$$
]

5. 直到某个时间 $t+k$ 终止，高层策略才重新选择下一个 option。
   

这被称为 **call-and-return execution**：高层策略“调用”一个 option；option 控制底层动作直到返回；返回后高层策略再做下一次选择。原论文描述的 Markov option 执行过程正是这种形式：先按 $\pi(s_t,\cdot)$ 选择动作，环境转移到 $s_{t+1}$，随后 option 以 $\beta(s_{t+1})$ 的概率终止，否则继续。

---

# 4. primitive action 是 option 的特例

option framework 的一个重要设计目标是：**让 option 尽可能像 action 一样使用**。

普通 primitive action $a$ 可以表示成一个特殊 option：

[  
$$
o_a=(I_{o_a},\pi_{o_a},\beta_{o_a})  
$$
]

其中：

[  
$$
I_{o_a}={s:a\in A(s)}  
$$
]

[  
$$
\pi_{o_a}(a|s)=1  
$$
]

[  
$$
\beta_{o_a}(s')=1,\quad \forall s'  
$$
]

也就是说，这个 option 在所有允许执行动作 $a$ 的状态中可用，内部策略确定性地执行 $a$，并且执行一步后必然终止。原论文明确指出，每个 action 都可以看成一个 option：它在 action 可用时可用，总是持续恰好一步，并在所有状态选择该 action。

因此：

[  
$$
\boxed{  
\text{primitive action}  
\subset  
\text{option}  
}  
$$
]

这意味着普通 MDP 是 option framework 的特殊情形。若所有 options 都是 primitive options，则退化为标准强化学习。

---

# 5. Markov option 与 semi-Markov option

## 5.1 Markov option

若 option 的内部策略和终止函数只依赖当前状态：


$$
\pi_o(a|s)  
$$

$$
\beta_o(s)  
$$


则称为 **Markov option**。

Markov option 的特点是：


$$
\text{当前如何行动、是否终止，只由当前状态决定}  
$$

不依赖 option 已经执行了多长时间，也不依赖从启动以来的完整历史。

## 5.2 Semi-Markov option

若 option 的内部策略或终止条件依赖从启动以来的历史：


$$
h_{t:\tau}
=
(s_t,a_t,r_{t+1},s_{t+1},\dots,s_\tau)  
$$


则称为 **semi-Markov option**。

原论文指出，Markov option 的决策只依赖当前状态；semi-Markov option 的策略和终止条件可以依赖从 option 启动以来的整个历史。例如，“执行最多 10 步后 timeout” 这种终止条件不能仅由当前状态表达，因此不是 Markov termination，而属于 semi-Markov 情形。

区别可以写成：

[  
$$
\text{Markov option: }  
\pi_o(a|s),\ \beta_o(s)  
$$

$$
\text{semi-Markov option: }  
\pi_o(a|h),\ \beta_o(h)  
$$
]

其中 $h$ 是从 option 启动以来的历史。

---

# 6. policy over options

在普通 MDP 中，策略选择 action：

[  
$$
\pi(a|s)  
$$
]

在 option framework 中，高层策略选择 option：

[  
$$
\mu(o|s)  
$$
]

其中：

[  
$$
o\in\mathcal O(s)  
$$
]

$\mathcal O(s)$ 是状态 $s$ 下可用 options 的集合。原论文说明，给定 options 后，其 initiation sets 隐含地定义了每个状态下可用 options 的集合；这些集合类似普通 MDP 中每个状态下可用 actions 的集合。

执行过程是：


$$
s_t  
\overset{\mu}{\longrightarrow}  
o_t  
\overset{\pi_{o_t}}{\longrightarrow}  
a_t,a_{t+1},\dots,a_{t+k-1}  
\overset{\beta_{o_t}}{\longrightarrow}  
s_{t+k}  
$$


然后：


$$
o_{t+k}\sim \mu(\cdot|s_{t+k})  
$$


所以 option framework 中有两层策略：

[  
$$
\boxed{  
\mu(o|s):\text{高层策略，选择 option}  
}  
$$

$$
\boxed{  
\pi_o(a|s):\text{低层策略，option 内部选择 primitive action}  
}  
$$
]

---

# 7. flat policy：option policy 会诱导普通动作策略

虽然 option framework 中高层选择的是 option，但最终与环境交互的仍然是 primitive action。因此，一个 policy over options $\mu$ 会诱导出一个普通动作层面的策略，原论文称为 **flat policy**：

[  
$$
\pi=\operatorname{flat}(\mu)  
$$
]

不过，如果 option 是多步的，那么诱导出的 flat policy 通常不是 Markov policy。原因是：当前状态 $s_t$ 下选择哪个动作，不仅取决于 $s_t$，还取决于当前正在执行哪个 option；而当前 option 又由过去历史决定。原论文明确指出，即使 option-level policy 是 Markov 的，而且所有 options 也是 Markov 的，只要存在多步 option，相应 flat policy 通常也不是 Markov 的。

形式上：

[  
$$
a_t \sim \pi_{o_t}(\cdot|s_t)  
$$
]

其中 $o_t$ 是当前仍在执行的 option。若只观察 $s_t$，但不知道 $o_t$，则无法确定动作分布。因此：

[  
$$
\operatorname{flat}(\mu)(a|s)  
$$
]

通常不能只作为当前状态 $s$ 的函数。

这说明 option framework 的时间抽象会引入一种隐含记忆：**当前 option 相当于一个持续存在的内部状态。**

---

# 8. options 把 MDP 变成 SMDP

当高层策略只在 option 终止时决策时，每次高层决策之间可能间隔多个 primitive time steps。因此，在 option 层面，决策过程不再是普通 MDP，而是 **semi-Markov decision process，SMDP**。

原论文给出结论：给定一个 MDP 和一组 options，如果决策过程只在 options 之间选择，并且每个 option 都执行到终止，那么由此形成的高层决策过程是一个 SMDP。

普通 MDP 的每个 action 都持续一个时间步：

[  
$$
s_t \xrightarrow{a_t} s_{t+1}  
$$
]

SMDP 中一个高层 action，即 option，可能持续 $k$ 步：


$$
s_t \xrightarrow{o_t,\ k\text{ steps}} s_{t+k}  
$$


因此，option 层面的 transition 需要记录：


$$
(s_t,o_t,R_{t:t+k},s_{t+k},k)  
$$


其中：


$$
R_{t:t+k}
=
r_{t+1}  
+  
\gamma r_{t+2}  
+  
\cdots  
+  
\gamma^{k-1}r_{t+k}  
$$


这就是为什么 options 与 semi-MDP 紧密相关。

---

# 9. option-value function

普通 action-value function 是：


$$
Q^\pi(s,a)  
$$


表示在状态 $s$ 执行动作 $a$，然后遵循策略 $\pi$ 的期望回报。

option framework 中对应的是 **option-value function**：


$$
Q^\mu(s,o)  
$$


表示在状态 $s$ 启动 option $o$，option 终止后继续遵循 option-level policy $\mu$ 的期望回报。原论文将 $Q^\mu(s,o)$ 定义为在状态 $s$ 采取 option $o$，随后按策略 $\mu$ 行动时的期望折扣回报。

形式上：

# [  
$$
Q^\mu(s,o)
=
\mathbb E  
\left[  
r_{t+1}  
+  
\gamma r_{t+2}  
+  
\gamma^2 r_{t+3}  
+  
\cdots  
\mid  
s_t=s,o_t=o,\mu  
\right]  
$$
]

与普通 $Q(s,a)$ 的区别是：

[  
$$
a  
$$
]

是一步动作，而

[  
$$
o  
$$
]

是一个可能持续多个时间步的行为过程。

---

# 10. option model

为了在 option 层面做规划，需要知道执行 option 的后果。option model 通常包含两个部分：

## 10.1 累积奖励模型

[  
$$
r_s^o  
$$
]

表示从状态 $s$ 启动 option $o$，直到 option 终止期间的期望折扣奖励：

# [  
$$
r_s^o
=
\mathbb E  
\left[  
r_{t+1}  
+  
\gamma r_{t+2}  
+  
\cdots  
+  
\gamma^{k-1}r_{t+k}  
\mid  
s_t=s,o_t=o  
\right]  
$$
]

其中 $k$ 是 option 的持续时间。

## 10.2 折扣转移模型

[  
$$
p_{ss'}^o  
$$
]

表示从状态 $s$ 启动 option $o$，最终终止于 $s'$ 的折扣转移概率。常见定义为：

# [  
$$
p_{ss'}^o
=
\sum_{k=1}^{\infty}  
\gamma^k  
\Pr(s_{t+k}=s',\ o\text{ terminates at }t+k  
\mid s_t=s,o_t=o)  
$$
]

注意这里包含 $\gamma^k$，因此是 **discounted transition model**，不是普通概率转移矩阵。

原论文说明，SMDP 需要为每个状态—option pair 定义期望累积折扣奖励，以及下一状态和持续时间的联合分布；这些量由底层 MDP、option 的内部策略和终止条件决定。

有了 option model，就可以把 option 当作高层 action 来规划。

---

# 11. option-level Bellman 方程

在 policy over options $\mu$ 下，option-value 满足：

# [  
$$
Q^\mu(s,o)
=
r_s^o  
+  
\sum_{s'}p_{ss'}^o  
\sum_{o'}\mu(o'|s')Q^\mu(s',o')  
$$
]

其中 $p_{ss'}^o$ 已经包含折扣因子。

若目标是最优控制，则最优 option-value 满足：

# [  
$$
Q^*(s,o)
=
r_s^o  
+  
\sum_{s'}p_{ss'}^o  
\max_{o'}Q^*(s',o')  
$$
]

这与普通 Q-learning 的 Bellman optimality equation 类似：

# [  
$$
Q^*(s,a)
=
r_s^a  
+  
\gamma  
\sum_{s'}p_{ss'}^a  
\max_{a'}Q^*(s',a')  
$$
]

区别在于：

[  
$$
a  
$$
]

被替换为：

[  
$$
o  
$$
]

同时一步折扣转移：

[  
$$
\gamma p_{ss'}^a  
$$
]

被替换为 option 的多步折扣转移：

[  
$$
p_{ss'}^o  
$$
]

因此，option framework 的 Bellman 方程本质上是：

[  
$$
\boxed{  
\text{把 primitive action 的 Bellman 方程推广到 temporally extended action}  
}  
$$
]

---

# 12. SMDP Q-learning for options

如果一次 option 从 $s_t$ 开始，在 $k$ 步后终止于 $s_{t+k}$，期间累积折扣奖励为：

# [  
$$
R_{t:t+k}
=
r_{t+1}  
+  
\gamma r_{t+2}  
+  
\cdots  
+  
\gamma^{k-1}r_{t+k}  
$$
]

则 SMDP Q-learning 更新为：

## [  
$$
Q(s_t,o_t)  
\leftarrow  
Q(s_t,o_t)  
+  
\alpha  
\left[  
R_{t:t+k}  
+  
\gamma^k \max_{o'}Q(s_{t+k},o')
-
Q(s_t,o_t)  
\right]  
$$
]

该更新把整个 option 执行过程看成一次高层 transition：

[  
$$
s_t  
\overset{o_t}{\longrightarrow}  
s_{t+k}  
$$
]

所以它只在 option 终止时更新一次。原论文指出，SMDP 学习方法基于从 option 启动点直接跳到终止点，忽略 option 执行过程中的内部细节。

---

# 13. intra-option learning 在 framework 中的位置

SMDP 方法把 option 当成黑箱，只有 option 终止时才更新。intra-option learning 则打开 option 内部，在每个 primitive transition 上更新 option 的模型或价值。

对于一步经验：

[  
$$
(s_t,a_t,r_{t+1},s_{t+1})  
$$
]

如果动作 $a_t$ 与某个 option $o$ 的内部策略一致，则可以更新该 option。原论文把这类方法称为 intra-option methods，因为它们从 option 内部的经验片段中学习；这些方法甚至可以学习没有被显式执行的 option，只要当前经验片段对该 option 有信息价值。

intra-option Q-learning 的核心 target 是：

[  
$$
r_{t+1}  
+  
\gamma U(s_{t+1},o)  
$$
]

其中：

# [  
$$
U(s',o)
=
(1-\beta_o(s'))Q(s',o)  
+  
\beta_o(s')\max_{o'}Q(s',o')  
$$
]

含义是：到达 $s'$ 后，option $o$ 可能继续，也可能终止。

若继续，价值为：

[  
$$
Q(s',o)  
$$
]

若终止，高层重新选择 option，控制情形下价值为：

[  
$$
\max_{o'}Q(s',o')  
$$
]

因此：

## [  
$$
Q(s_t,o)  
\leftarrow  
Q(s_t,o)  
+  
\alpha  
\left[  
r_{t+1}  
+  
\gamma  
\bigl(  
(1-\beta_o(s_{t+1}))Q(s_{t+1},o)  
+  
\beta_o(s_{t+1})\max_{o'}Q(s_{t+1},o')  
\bigr)
-
Q(s_t,o)  
\right]  
$$
]

原论文在 intra-option value learning 中正是引入 $U^*_{\mathcal O}(s,o)$ 来表达“option 到达状态后继续或终止”的混合价值。

---

# 14. option framework 的三层抽象

option framework 可以分成三层理解。

## 14.1 底层 MDP

底层环境仍然是普通 MDP：

[  
$$
(\mathcal S,\mathcal A,p,r,\gamma)  
$$
]

环境只接收 primitive action：

[  
$$
a_t\in\mathcal A  
$$
]

## 14.2 option 层

每个 option 是一个局部策略过程：

[  
$$
o=(I_o,\pi_o,\beta_o)  
$$
]

它把多个 primitive actions 组织成一个有目标、有终止条件的行为片段。

## 14.3 高层控制层

高层策略选择 options：

[  
$$
\mu(o|s)  
$$
]

高层只在 option 终止时决策。

因此整体结构是：

[  
$$
\boxed{  
\text{高层策略 } \mu  
\rightarrow  
\text{选择 option } o  
\rightarrow  
\text{option 内部策略 } \pi_o  
\rightarrow  
\text{primitive action } a  
\rightarrow  
\text{环境}  
}  
$$
]

这就是 hierarchical reinforcement learning 的基本形式之一。

---

# 15. option framework 为什么叫 “Between MDPs and Semi-MDPs”？

原论文标题是 **Between MDPs and Semi-MDPs**。这个标题的含义是：

1. 底层环境仍然是 MDP；
   
2. options 在底层 MDP 中执行 primitive actions；
   
3. 高层选择 options 后，决策时间间隔变成随机长度；
   
4. 因此高层决策过程具有 SMDP 结构。
   

所以 option framework 处在两者之间：

[  
$$
\text{底层：MDP}  
$$
]

[  
$$
\text{高层：SMDP}  
$$
]

[  
$$
\text{连接两者：options}  
$$
]

这也是 options 的数学价值：它既保留了 MDP 的底层动态结构，又允许在 SMDP 层面进行时间抽象决策。

---

# 16. option composition：option 可以组合

option framework 还允许把 options 顺序组合。

若有两个 options：

[  
$$
o_1,\ o_2  
$$
]

可以定义组合 option：

[  
$$
o_1o_2  
$$
]

表示先执行 $o_1$ 直到终止，再执行 $o_2$ 直到终止。原论文指出，两个 options 可以顺序组合，形成新的 option；primitive actions 也可看成 options，因此动作序列也可看成 classical macro-operator。

这说明 option framework 不只是学习算法接口，也是知识表示框架：

[  
$$
\text{primitive actions}  
\Rightarrow  
\text{options}  
\Rightarrow  
\text{option compositions}  
\Rightarrow  
\text{更高层 temporally abstract behaviors}  
$$
]

---

# 17. option learning：给定 option 与学习 option

option framework 中有两个不同问题，必须区分。

## 17.1 学习如何使用给定 options

假设 options 已经给定：

[  
$$
\mathcal O={o_1,o_2,\dots,o_m}  
$$
]

需要学习高层策略：

[  
$$
\mu(o|s)  
$$
]

这时可以使用 SMDP Q-learning、SMDP Sarsa、intra-option Q-learning 等方法。

## 17.2 学习 options 本身

更困难的问题是学习：

[  
$$
I_o,\quad \pi_o,\quad \beta_o  
$$
]

也就是学习 option 的启动集合、内部策略和终止条件。原始 options 论文讨论了可以为 option 设置子目标，并学习使 option 更有效达成子目标的内部策略；但自动发现和学习好 options 是后续 hierarchical RL 的核心难题之一。

现代 **option-critic architecture** 进一步在 options 框架内推导 policy gradient theorem，用于同时学习 intra-option policies、termination functions 和 policy over options，并且不需要手工提供额外子目标或 intrinsic rewards。([arXiv](https://arxiv.org/abs/1609.05140?utm_source=chatgpt.com "The Option-Critic Architecture"))

因此：

[  
$$
\text{classical option framework}  
$$
]

主要给出 options 的数学语义、模型、规划与学习规则；

[  
$$
\text{option-critic}  
$$
]

进一步研究如何端到端学习 options 的内部策略和终止条件。

---

# 18. option framework 的优势

## 18.1 时间抽象

option 可以跨越多个时间步，因此决策层级更高。比如在 navigation 中，与其每一步都选择上下左右，不如选择：

[  
$$
\text{go-to-door}  
$$
]

[  
$$
\text{go-to-room}  
$$
]

[  
$$
\text{go-to-charger}  
$$
]

这样可以缩短有效规划深度。

## 18.2 状态空间泛化

一个 option 可以在多个状态下复用。例如“走到门口”可以在许多房间内部状态中启动。这种复用能提升学习效率。

## 18.3 层次化结构

复杂任务可分解成子任务：

[  
$$
\text{完成任务}  
\Rightarrow  
\text{完成若干 subtasks}  
\Rightarrow  
\text{执行若干 options}  
\Rightarrow  
\text{执行 primitive actions}  
$$
]

## 18.4 经验复用

通过 intra-option learning，一个 primitive transition 可以更新多个 options。这使得经验利用率高于只在 option 终止时更新的 SMDP 方法。原论文强调，off-policy 和 intra-option 思想可以尽可能利用发生的经验来学习多个 options，不管这些 options 是否参与生成了该经验。

---

# 19. option framework 的局限

## 19.1 好 options 难以自动发现

如果 options 是人工设计的，框架本身很清晰；但如何自动发现有用 options 是困难问题。错误的 options 可能增加学习负担，而不是减少学习难度。

## 19.2 时间抽象可能引入非 Markov 性

即使每个 option 是 Markov 的，高层 policy over options 诱导出的 flat policy 也可能依赖当前正在执行的 option，因此从原始状态角度看不一定是 Markov 的。原论文明确说明，若存在 multi-step options，则相应 flat policy 通常不是 Markov 的。

## 19.3 credit assignment 更复杂

option 持续多个时间步，奖励需要在 option 内部策略、终止函数和高层选择之间分配。学习 option 内部策略时，还要区分“当前 option 不好”与“高层选择 option 的时机不好”。

## 19.4 终止条件很关键s

若 option 终止过早，时间抽象作用弱；若终止过晚，高层控制不灵活。因此 \beta_o(s)$ 的设计或学习对性能影响很大。

---

# 20. 与普通 RL 的关系总结

可以用一个表总结：

| 结构               | 普通 MDP/RL            | option framework                                                                |     |
| ---------------- | -------------------- | ------------------------------------------------------------------------------- | --- |
| 决策对象             | primitive action (a) | option (o)                                                                      |     |
| 动作持续时间           | 1 步                  | 随机多步                                                                            |     |
| 策略               | $\pi(a\|s)$          | $\mu(o\|s)$高层策略，选择option。$\pi_o(a\|s):\text{低层策略，option 内部选择 primitive action}$ |     |
| 终止机制             | 每步自动结束               | 由 $\beta_o(s)$ 决定                                                               |     |
| 值函数              | $Q(s,a)$             | $Q(s,o)$                                                                        |     |
| Bellman 更新       | 一步 TD                | SMDP TD 或 intra-option TD                                                       |     |
| 时间结构             | flat                 | hierarchical / temporally abstract                                              |     |
| primitive action | 基本对象                 | option 的特例                                                                      |     |

---

# 21. 最核心公式汇总

## option 定义

[  
$$
\boxed{  
o=(I_o,\pi_o,\beta_o)  
}  
$$
]

## option-level policy

[  
$$
\boxed{  
o_t\sim \mu(\cdot|s_t)  
}  
$$
]

## intra-option action selection

[  
$$
\boxed{  
a_t\sim \pi_{o_t}(\cdot|s_t)  
}  
$$
]
## termination


$$
\boxed{  
\Pr(o_t\text{ terminates at }s_{t+1})=\beta_{o_t}(s_{t+1})  
}  
$$


## SMDP Q-learning


$$
\boxed{  
Q(s_t,o_t)  
\leftarrow  
Q(s_t,o_t)  
+  
\alpha  
\left[  
R_{t:t+k}  
+  
\gamma^k\max_{o'}Q(s_{t+k},o')
-
Q(s_t,o_t)  
\right]  
}  
$$


## intra-option continuation value


$$
\boxed{  
U(s',o)
=
(1-\beta_o(s'))Q(s',o)  
+  
\beta_o(s')\max_{o'}Q(s',o')  
}  
$$


## intra-option Q-learning


$$
\boxed{  
Q(s_t,o)  
\leftarrow  
Q(s_t,o)  
+  
\alpha  
\left[  
r_{t+1}  
+  
\gamma U(s_{t+1},o)
-
Q(s_t,o)  
\right]  
}  
$$

---

# 22. 一句话总结

**option framework 是把普通动作扩展为“可持续多个时间步、由内部策略控制、由终止函数结束”的时间抽象动作框架。**

更机制化地说：


$$
\boxed{  
\text{option framework}
=
\text{MDP 底层 primitive actions}  
+  
\text{option 内部策略}  
+  
\text{option 终止机制}  
+  
\text{高层 option 选择策略}  
}  
$$

它的理论作用是：


$$
\boxed{  
\text{在 MDP 中构造 temporally extended actions，使高层决策过程成为 SMDP。}  
}  
$$


它的学习作用是：


$$
\boxed{  
\text{把强化学习从一步动作选择推广到多时间尺度的层次化控制。}  
}  
$$


---
## 1. 概念定位：intra-option learning 是什么？

**intra-option learning** 可译为：

[  
$$
\text{option 内部学习}  
$$
]

或

[  
$$
\text{选项内部学习}  
$$
]

它属于 **options framework** 中的学习机制。options framework 把普通动作推广为可以持续多个时间步的 **temporally extended actions**。==一个 option 不是单步动作，而是一个带内部策略和终止条件的**子过程**，例如“走到门口”“穿过走廊”“打开门”“导航到某个 landmark”。==Sutton、Precup 和 Singh 将 option 定义为三元组：

[  
$$
o=(I_o,\pi_o,\beta_o)  
$$
]

其中：

[  
$$
I_o\subseteq \mathcal S  
$$
]

是 option 的 **initiation set**，即允许启动该 option 的状态集合；

[  
$$
\pi_o(a|s)  
$$
]

是 option 的 **内部策略**，即 option 执行期间如何选择 primitive action；

[  
$$
\beta_o(s)\in[0,1]  
$$
]

是 option 的 **终止函数**，即到达状态 $s$ 时该 option 终止的概率。论文说明，option 被选择后，会按照 $\pi_o$ 选择动作，并在后继状态按照 $\beta_o$ 随机终止；终止后 agent 才重新选择新的 option。

**intra-option learning 的核心思想是：不要把 option 当作一个不可观察的黑箱，而是“看进 option 内部”，利用 option 执行过程中的每一个 primitive transition 来学习 option 的价值或模型。** Sutton、Precup 和 Singh 明确把 intra-option learning 描述为：从 option “内部”的经验片段中学习，并且可以同时学习所有与该经验片段一致的 options。

---

## 2. 为什么需要 intra-option learning？

先区分两类学习方式。

### 2.1 SMDP-style option learning

传统 SMDP 方法把 option 当成一个高层动作。若在状态 $s_t$ 选择 option $o$，该 option 执行 $k$ 步后在 $s_{t+k}$ 终止，则 SMDP 方法把整段经验看成一个高层转移：

[  
$$
(s_t,o,R_{t:t+k},s_{t+k})  
$$
]

其中：

# [  
$$
R_{t:t+k}
=
r_{t+1}  
+  
\gamma r_{t+2}  
+  
\cdots  
+  
\gamma^{k-1}r_{t+k}  
$$
]

SMDP 更新通常只在 option 终止时发生。若 option 持续时间较长，则每条轨迹能产生的 option-level 训练样本较少。论文指出，SMDP model-learning 方法的一个缺点是：只有 option 终止时才能改进该 option 的模型；因此它不能用于非终止 option，也只能更新当前正在执行的那个 option。

### 2.2 intra-option learning

intra-option learning 不等待 option 终止，而是使用每一步 primitive transition：

[  
$$
(s_t,a_t,r_{t+1},s_{t+1})  
$$
]

来更新 option 的模型或价值。若当前动作 $a_t$ 与某个 option $o$ 的内部策略 $\pi_o$ 一致，则该 transition 可以被视为关于 option (o) 的有效学习样本。论文明确指出，Markov options 允许使用特殊的 TD 方法在 option 终止前学习 option 的模型；这种方法之所以叫 intra-option，是因为它从 option 内部的经验片段中学习。

因此，核心差异是：

[  
$$
\text{SMDP learning: 等 option 结束后学习}  
$$
]

[  
$$
\text{intra-option learning: option 内部每一步都可学习}  
$$
]

---

## 3. “consistent with an option” 的严格含义

intra-option learning 中最关键的条件是：

[  
$$
a_t \text{ is consistent with option } o  
$$
]

即当前实际执行的 primitive action (a_t) 与 option (o) 的内部策略 (\pi_o) 一致。

若 option 是确定性策略：

[  
$$
\pi_o(s_t)=a_t  
$$
]

则当前 transition 与 option (o) 一致。

若 option 是随机策略，严格要求更微妙。原始论文在给出 Bellman 更新时写的是：假设动作 $a_t$ 是以 option 的 Markov policy $\pi$ 在状态 $s_t$ 下的分布 $\pi(s_t,\cdot)$ 被选择的。

因此，对随机 option，不能仅凭：

[  
$$
\pi_o(a_t|s_t)>0  
$$
]

就无条件使用无校正更新。若行为策略 $b(a|s)$ 与 option 内部策略 $\pi_o(a|s)$ 不同，一般需要重要性采样校正：

# [  
$$
\rho_t^o
=
\frac{\pi_o(a_t|s_t)}{b(a_t|s_t)}  
$$
]

否则更新目标会偏向行为策略 $b$，而不是 option 策略 $\pi_o$。

在经典 deterministic options 情形下，“一致性”最简单：  
**某个 option 在当前状态也会选择刚刚实际发生的动作，则该 transition 可以用于更新该 option。**

---

## 4. option value 的定义

令：

[  
$$
Q_{\mathcal O}(s,o)  
$$
]

表示在状态 (s) 启动 option (o) 后的期望回报。这里 $\mathcal O$ 表示可用 options 的集合。

option 的特殊性在于：到达下一状态 $s'$ 后，option 可能终止，也可能继续。因此需要定义 continuation value：


$$
U(s',o)
=
(1-\beta_o(s'))Q_{\mathcal O}(s',o)  
+  
\beta_o(s')\max_{o'\in\mathcal O}Q_{\mathcal O}(s',o')  
$$
]

其中：

[  
$$
1-\beta_o(s')  
$$
]

表示 option 在 (s') 不终止的概率；若不终止，则继续执行同一个 option，价值是：

[  
$$
Q_{\mathcal O}(s',o)  
$$
]

而

[  
$$
\beta_o(s')  
$$
]

表示 option 在 $s'$ 终止的概率；若终止，则高层控制器重新选择 option，在控制问题中可使用：

[  
$$
\max_{o'\in\mathcal O}Q_{\mathcal O}(s',o')  
$$
]

论文中正是用这一形式定义到达状态后的 option continuation value，并据此构造 intra-option Q-learning 的 Bellman-like 更新。

---

## 5. intra-option Q-learning 的 Bellman 方程

对 Markov option：

[  
$$
o=(I_o,\pi_o,\beta_o)  
$$
]

其最优 option-value 满足类似 Bellman 方程的递推关系：

# [  
$$
Q_{\mathcal O}^*(s,o)
=
\sum_{a\in\mathcal A}  
\pi_o(a|s)  
\sum_{s',r}  
p(s',r|s,a)  
\Big[  
r+\gamma U^*(s',o)  
\Big]  
$$
]

其中：

# [  
$$
U^*(s',o)
=
(1-\beta_o(s'))Q_{\mathcal O}^*(s',o)  
+  
\beta_o(s')\max_{o'}Q_{\mathcal O}^*(s',o')  
$$
]

这个方程的含义是：

1. option $o$ 在状态 $s$ 内部选择 primitive action $a$；
   
2. 环境产生奖励 $r$ 和后继状态 $s'$；
   
3. 到达 $s'$ 后，option $o$ 可能继续，也可能终止；
   
4. 若继续，则价值回到 $Q(s',o)$；
   
5. 若终止，则高层策略重新选择最优 option。
   

论文在 value learning 部分给出这类 Bellman-like equation，并进一步得到 one-step intra-option Q-learning 更新。

---

## 6. one-step intra-option Q-learning 更新

给定一步经验：

[  
$$
(s_t,a_t,r_{t+1},s_{t+1})  
$$
]

若动作 $a_t$ 与 option $o$ 的内部策略一致，则执行更新：


$$
Q(s_t,o)  
\leftarrow  
Q(s_t,o)  
+  
\alpha  
\Big[  
r_{t+1}  
+  
\gamma U(s_{t+1},o)
-
Q(s_t,o)  
\Big]  
$$


其中：

# [  
$$
U(s_{t+1},o)
=
(1-\beta_o(s_{t+1}))Q(s_{t+1},o)  
+  
\beta_o(s_{t+1})\max_{o'}Q(s_{t+1},o')  
]
$$

TD 误差为：

# [  
$$
\delta_t^o
=
 r_{t+1}  
+  
\gamma U(s_{t+1},o)
-
Q(s_t,o)  
$$
]

因此更新可写为：

[  
$$
Q(s_t,o)  
\leftarrow  
Q(s_t,o)+\alpha\delta_t^o  
$$
]

论文称该方法为 **one-step intra-option Q-learning**，并说明它会把该更新应用到每一个与当前动作 $a_t$ 一致的 option。

---

## 7. 为什么 intra-option learning 是 off-policy learning？

intra-option learning 的一个重要性质是 **off-policy**。

假设真实行为由行为策略 $b$ 产生：

[  
$$
a_t\sim b(\cdot|s_t)  
$$
]

但某个 option $o$ 的内部策略是：

[  
$$
\pi_o(\cdot|s_t)  
$$
]

只要当前经验可以用于估计 option $o$ 的后果，就出现了：

[  
$$
\text{数据来自 } b  
$$
]

[  
$$
\text{学习目标是 } \pi_o  
$$
]

这正是 off-policy learning 的定义：  
**用一种策略生成的数据，学习另一种策略的价值或后果。**

Sutton、Precup 和 Singh 明确指出，intra-option methods 是 off-policy learning methods，因为它们在按照一种策略实际行为时，学习另一种策略的后果；并且同一经验可以同时学习多个不同 options 的模型。

---

## 8. 为什么 intra-option learning 样本效率更高？

考虑一个 option $o$ 从 $s_t$ 开始执行，在 $s_{t+k}$ 终止：

[  
$$
s_t,a_t,r_{t+1},s_{t+1},\dots,s_{t+k}  
$$
]

### SMDP 方法

SMDP 方法通常只得到一个训练样本：

[  
$$
(s_t,o,R_{t:t+k},s_{t+k})  
$$
]

### intra-option 方法

由于 Markov option 的决策只依赖当前状态，而不是完整历史，因此在执行过程中每个中间状态都可以视为 option 的“重新开始点”。论文指出，若 option 是 Markov 的，那么从 $s_t$ 到 $s_{t+k}$ 的一次执行不仅提供关于 $Q(s_t,o)$ 的经验，也提供关于中间状态 $s_i$ 下 $Q(s_i,o)$ 的经验。

因此，同一段轨迹可以产生多个训练样本：

[  
$$
(s_t,o),\ (s_{t+1},o),\ \dots,\ (s_{t+k-1},o)  
$$
]

更进一步，如果另一个 option $o'$ 在这些状态下也会选择相同动作，那么同一 transition 也能更新 $o'$。论文明确指出，一个 option 甚至可以从只与它“稍微相关”的经验中学习，例如偶尔选择相同动作的经验；这种思想就是尽可能利用任何发生的经验来学习所有 options，而不管这些 options 是否参与生成了该经验。

因此，样本效率提升来自：

[  
$$
\text{一个 transition}  
\Rightarrow  
\text{多个 option updates}  
$$
]

而不是：

[  
$$
\text{一个 option execution}  
\Rightarrow  
\text{一个 update}  
$$
]

---

## 9. 一个具体例子：走廊 option

假设在 gridworld 中有四个 primitive actions：

[  
$$
{\text{up},\text{down},\text{left},\text{right}}  
$$
]

并定义一个 option：

[  
$$
o_{\text{go-right-door}}  
$$
]

其目标是走到右侧门口。该 option 的内部策略可能是：

[  
$$
\pi_o(s)=\text{right}  
$$
]

在某些状态下，可能选择：

[  
$$
\pi_o(s)=\text{up}  
$$
]

以绕过障碍。

现在真实行为策略随机选择动作，某一步发生：

[  
$$
s_t \xrightarrow{a_t=\text{right}} s_{t+1}  
$$
]

如果 $o_{\text{go-right-door}}$ 在 $s_t$ 下也会选择 right，那么该 transition 与 $o_{\text{go-right-door}}$ 一致。于是即使当前高层没有选择这个 option，也可以执行：


$$
Q(s_t,o_{\text{go-right-door}})  
\leftarrow  
Q(s_t,o_{\text{go-right-door}})  
+  
\alpha  
\Big[  
r_{t+1}  
+  
\gamma U(s_{t+1},o_{\text{go-right-door}})
-
Q(s_t,o_{\text{go-right-door}})  
\Big]  
$$


若另一个 option：

[  
$$
o_{\text{go-east-hallway}}  
$$
]

在同一状态下也会选择 right，则同一个 transition 也可以更新它。

这就是 intra-option learning 的关键优势：  
**真实执行了一步 primitive action，但可以同时为多个 temporally extended actions 提供训练信号。**

---

## 10. intra-option model learning

intra-option learning 不只可用于学习 option value，也可用于学习 option model。

option model 通常包括两部分：

### 10.1 累积奖励模型

[  
$$
r_s^o  
$$
]

表示从状态 $s$ 启动 option $o$ 后，到 option 终止前的期望折扣回报。

### 10.2 折扣终止转移模型

[  
$$
p_{sx}^o  
$$
]

表示从状态 $s$ 启动 option $o$，最终终止于状态 $x$ 的折扣概率模型。

经典 SMDP model learning 要等 option 结束才能更新 $r_s^o$ 和 $p_{sx}^o$。intra-option model learning 则利用一步 transition 更新。论文在 model learning 部分给出了一步 intra-option model-learning 更新，并说明该方法会对每个与当前动作一致的 option 应用更新。

直观地说，model learning 关心：

[  
$$
\text{执行 option 会产生什么后果？}  
$$
]

value learning 关心：

[  
$$
\text{执行 option 有多好？}  
$$
]

两者都可以通过 intra-option 的方式从 primitive-level 经验中学习。

---

## 11. 与普通 Q-learning 的关系

普通 Q-learning 学习 primitive action value：

[  
$$
Q(s,a)  
$$
]

更新为：


$$
Q(s_t,a_t)  
\leftarrow  
Q(s_t,a_t)  
+  
\alpha  
\Big[  
r_{t+1}  
+  
\gamma\max_{a'}Q(s_{t+1},a')
-
Q(s_t,a_t)  
\Big]  
$$


intra-option Q-learning 学习 option value：

[  
$$
Q(s,o)  
$$
]

更新为：

## [  
$$
Q(s_t,o)  
\leftarrow  
Q(s_t,o)  
+  
\alpha  
\Big[  
r_{t+1}  
+  
\gamma U(s_{t+1},o)
-
Q(s_t,o)  
\Big]  
$$
]

区别在于 target 中不再直接是：

[  
$$
\max_{a'}Q(s_{t+1},a')  
]
$$

而是：

[  
$$
U(s_{t+1},o)  
$$
]

因为 option 到达 $s_{t+1}$ 后可能继续，也可能终止。

所以：

# [  
$$
\text{普通 Q-learning}
=
\text{primitive action 的 one-step TD control}  
$$
]

# [  
$$
\text{intra-option Q-learning}
=
\text{option 的 one-step TD control}  
$$
]

二者共享 TD bootstrapping 思想，但后者必须显式处理 option 的继续/终止结构。

---

## 12. 与 Sarsa 的关系

若高层不是贪婪选择：

[  
$$
\max_{o'}Q(s',o')  
$$
]

而是按照某个 option-level policy $\mu(o|s)$ 选择下一个 option，则可得到 intra-option Sarsa 风格更新。

控制中的 Q-learning target 是：

# [  
$$
U(s',o)
=
(1-\beta_o(s'))Q(s',o)  
+  
\beta_o(s')\max_{o'}Q(s',o')  
$$
]

若使用 Sarsa，则终止后的部分不是最大化，而是使用实际或策略采样的下一个 option：

# [  
$$
U^\mu(s',o)
=
(1-\beta_o(s'))Q(s',o)  
+  
\beta_o(s')Q(s',o')  
$$
]

其中：

[  
$$
o'\sim \mu(\cdot|s')  
$$
]

因此，intra-option learning 不是只对应 Q-learning，而是可以推广到 TD、Sarsa、TD(λ) 等方法。Sutton、Precup 和 Singh 在 one-step intra-option Q-learning 后也指出，可以构造 Sarsa、TD(λ) 等其他 reinforcement learning methods 的 intra-option 版本。

---

## 13. 收敛性条件

经典论文中给出了 deterministic Markov options 情形下的 convergence theorem。结论可表述为：

> 对任意一组具有确定性内部策略的 Markov options，只要每个状态中的每个动作都被无限次执行，one-step intra-option Q-learning 以概率 1 收敛到最优 option-value $Q_{\mathcal O}^*$，并且不依赖学习期间实际执行了哪些 options。

论文原文指出，对 deterministic policies，“consistency” 的概念清楚；在该情形下可以证明收敛。随后给出定理：对任意 Markov options 集合，只要每个动作在每个状态中无限次执行，one-step intra-option Q-learning 以概率 1 收敛到最优 option-values。

这个条件包含几个关键点：

[  
$$
\text{Markov options}  
$$
]

[  
$$
\text{deterministic intra-option policies}  
$$
]

[  
$$
\text{sufficient exploration}  
$$
]

[  
$$
\text{appropriate step-size conditions}  
$$
]

其中充分探索条件保证所有相关 state-option pair 都能获得足够多的更新机会。

---

## 14. Markov option 与 semi-Markov option 的区别

intra-option learning 依赖“打开 option 内部”的能力，因此更自然地适用于 **Markov options**。

Markov option 的内部策略和终止函数只依赖当前状态：

[  
$$
\pi_o(a|s),\quad \beta_o(s)  
$$
]

semi-Markov option 则允许策略和终止条件依赖从 option 启动以来的历史：

# [  
$$
h_{t:\tau}
=
(s_t,a_t,r_{t+1},s_{t+1},\dots,s_\tau)  
$$
]

论文说明，Markov option 的决策只依赖当前状态，而 semi-Markov option 可以依赖启动以来的整个历史；若 option 是 semi-Markov，则必须完成 option 后才容易评价它，intra-option 方法未必直接适用。

因此：

[  
$$
\text{Markov option}  
\Rightarrow  
\text{内部每一步可以形成 TD target}  
$$
]

[  
$$
\text{semi-Markov option}  
\Rightarrow  
\text{通常更接近 SMDP-style 终止后更新}  
$$
]

---

## 15. 与 option-critic 的关系

经典 intra-option learning 假设 options 已经给定，然后学习这些 options 的 value 或 model。现代 **option-critic architecture** 则进一步学习 option 的内部策略和终止函数。Bacon、Harb 和 Precup 的 Option-Critic 论文在 options 框架下推导了 option 的 policy gradient theorem，并提出一种能够同时学习 option 内部策略、终止条件和 option-level policy 的架构。([arXiv](https://arxiv.org/abs/1609.05140 "[1609.05140] The Option-Critic Architecture"))

需要区分两个概念：

[  
$$
\text{intra-option value learning}  
$$
]

与

[  
$$
\text{intra-option policy gradient}  
$$
]

前者学习：

[  
$$
Q(s,o)  
$$
]

即 option 的价值。

后者学习：

[  
$$
\pi_o(a|s;\theta)  
$$
]

即 option 内部策略参数。

option-critic 中的 intra-option policy gradient 可以看作对经典 intra-option 思想的扩展：不只是“在 option 内部更新 value”，而是“在 option 内部更新 policy parameters 和 termination parameters”。([arXiv](https://arxiv.org/abs/1609.05140 "[1609.05140] The Option-Critic Architecture"))

---

## 16. 最核心的机制图式

可以把 intra-option learning 理解为如下流程：

[  
$$
\text{观察一步经验 }(s_t,a_t,r_{t+1},s_{t+1})  
$$
]

[  
$$
\Downarrow  
$$
]

[  
$$
\text{找到所有与 }a_t\text{ 一致的 options}  
$$
]

# [  
$$
\mathcal O_t
=
{o:\pi_o(s_t)=a_t}  
\quad \text{确定性情形}  
$$
]

[  
$$
\Downarrow  
$$
]

对每个：

[  
$$
o\in\mathcal O_t  
$$
]

执行：

# [  
$$
\delta_t^o
=
 r_{t+1}  
+  
\gamma  
\Big[  
(1-\beta_o(s_{t+1}))Q(s_{t+1},o)  
+  
\beta_o(s_{t+1})\max_{o'}Q(s_{t+1},o')  
\Big]
-
Q(s_t,o)  
$$
]

[  
$$
Q(s_t,o)  
\leftarrow  
Q(s_t,o)+\alpha\delta_t^o  
$$
]

这个过程的关键不是“实际执行了哪个 option”，而是“当前 primitive transition 对哪些 options 有信息价值”。

---

## 17. 总结

**intra-option learning 是 options 框架中一种利用 primitive-level experience 学习 temporally extended actions 的 TD 方法。**

其核心不是等 option 终止后再更新，而是在 option 内部的每一个时间步更新：

[  
$$
(s_t,a_t,r_{t+1},s_{t+1})  
\Rightarrow  
Q(s_t,o)\text{ 或 option model 的更新}  
$$
]

只要当前 transition 与 option 的内部策略一致，就可以更新该 option。这样一条经验可以同时训练多个 options，因此相比 SMDP-style learning 具有更高样本效率。论文实验也显示，在 rooms example 中，intra-option 方法比 SMDP 方法学习得显著更快。

一句话概括：

[  
$$
\boxed{  
\text{intra-option learning = 用 option 内部的每一步 primitive transition 来学习 option 的价值或模型。}  
}  
$$
]

更机制化地说：

[  
$$
\boxed{  
\text{它把一个高层 option 拆开，在底层 MDP transition 层面进行 TD 更新。}  
}  
$$
]





---

## 1. option framework 的基本目标

**option framework** 是 Sutton、Precup 和 Singh 提出的强化学习时间抽象框架。其核心目标是：把 MDP 中“一步执行完”的 primitive action，推广为“可以持续多个时间步的一段行为过程”，即 **temporally extended action**。原论文把 options 描述为 primitive actions 的推广，用于表示跨越多个时间步的行动过程；例如开门、捡起物体、去某个城市，也可以包括肌肉收缩、关节力矩这类 primitive actions。

传统 MDP 的动作结构是：

[  
$$
s_t \xrightarrow{a_t} s_{t+1}  
$$
]

一个动作只影响下一个时间步。而 option framework 允许：

[  
$$
s_t \xrightarrow{o_t} s_{t+k}  
$$
]

其中 option $o_t$ 可能持续 $k$ 个底层时间步。也就是说，option 是一种高层动作，但它内部由多个底层 primitive actions 组成。

因此，option framework 的基本思想是：

[  
$$
\boxed{  
\text{把“动作”从单步 primitive action 扩展为可持续多步的闭环策略。}  
}  
$$
]

---

## 2. option 的形式定义

一个 option 通常定义为三元组：

[  
$$
o=(I_o,\pi_o,\beta_o)  
$$
]

其中：

[  
$$
I_o\subseteq \mathcal S  
$$
]

是 **initiation set**，表示 option 可以启动的状态集合；

[  
$$
\pi_o(a|s)  
$$
]

是 **intra-option policy**，表示 option 执行期间在状态 $s$ 下选择 primitive action $a$ 的概率；

[  
$$
\beta_o(s)\in[0,1]  
$$
]

是 **termination function**，表示 option 到达状态 $s$ 后终止的概率。

原论文中给出的定义正是：option 由 policy $\pi:S\times A\to[0,1]$、termination condition $\beta:S^+\to[0,1]$、initiation set $I\subseteq S$ 三部分组成；当且仅当当前状态 $s_t\in I$ 时，该 option 可用。

执行机制为：

1. 若 $s_t\in I_o$，可以选择 option $o$；
   
2. option 内部按照 $\pi_o(\cdot|s_t)$ 选择 primitive action；
   
3. 环境转移到 $s_{t+1}$；
   
4. option 以概率 $\beta_o(s_{t+1})$ 终止；
   
5. 若未终止，则继续按照 $\pi_o(\cdot|s_{t+1})$ 选择动作；
   
6. 直到 option 终止，高层策略才重新选择新的 option。
   

原论文明确说明：Markov option 在每一步按照 $\pi(s_t,\cdot)$ 选择动作，到达 $s_{t+1}$ 后以 $\beta(s_{t+1})$ 的概率终止；若未终止，则继续选择下一动作。

---

## 3. 三个组成部分的机制含义

### 3.1 initiation set：何时允许启动

[  
$$
I_o  
$$
]

限定 option 的适用范围。例如“开门”这个 option 只应在附近有门的状态启动；“给机器人充电”这个 option 只应在充电器可见或可达的状态启动。论文也给出 open-the-door 与机器人充电的例子，说明 initiation set 和 termination condition 一起限制 option 的适用范围，从而减少 option policy 需要定义的状态范围。

如果：

[  
$$
s\notin I_o  
$$
]

则 option $o$ 在状态 $s$ 不可选。

---

### 3.2 intra-option policy：option 内部如何行动

[  
$$
\pi_o(a|s)  
$$
]

定义 option 执行期间如何选择底层动作。它不是高层策略，而是 option 内部的低层控制策略。

例如：

[  
$$
o=\text{go-to-door}  
$$
]

则 $\pi_o$ 可能在不同位置选择：

[  
$$
\text{up},\text{down},\text{left},\text{right}  
$$
]

直到到达门口。

所以 option 不是一个“标签”，而是一个闭环控制器：

[  
$$
s \mapsto \text{distribution over primitive actions}  
$$
]

闭环的含义是：option 内部动作依赖当前状态，而不是固定动作序列。

---

### 3.3 termination function：何时结束

[  
$$
\beta_o(s)  
$$
]

控制 option 到达状态 $s$ 后是否终止。

若：

[  
$$
\beta_o(s)=1  
$$
]

表示到达 $s$ 后必然终止。

若：

[  
$$
\beta_o(s)=0  
$$
]

表示到达 $s$ 后必然继续。

若：

[  
$$
0<\beta_o(s)<1  
$$
]

表示随机终止。

例如“走到门口”这个 option 可以在门口状态设置：

[  
$$
\beta_o(s)=1  
$$
]

在普通中间状态设置：

[  
$$
\beta_o(s)=0  
$$
]

原论文也指出，episodic task 中 episode 终止也会终止当前 option，即终止状态对所有 options 都相当于 $\beta=1$。

---

## 4. primitive action 是 option 的特例

option framework 的一个关键设计是：**primitive action 也可以看作特殊 option**。

对一个 primitive action $a$，可以构造 option：

[  
$$
o_a=(I_a,\pi_a,\beta_a)  
$$
]

其中：

[  
$$
I_a={s:a\in \mathcal A(s)}  
$$
]

[  
$$
\pi_a(a|s)=1  
$$
]

[  
$$
\beta_a(s')=1  
$$
]

含义是：

1. 在所有可以执行 action $a$ 的状态都可启动；
   
2. 启动后必然执行 $a$；
   
3. 执行一步后立即终止。
   

原论文明确指出，actions 可以被看作 options 的特殊情形；每个 action 对应一个 option，并且该 option 在 action 可用时可用。

因此，option framework 不是替代 primitive action，而是把 primitive action 和 temporally extended action 放在同一数学框架中：

[  
$$
\text{primitive action}  
\subset  
\text{option}  
$$
]

---

## 5. policy over options：高层策略

有了 options 后，agent 不必每一步都直接选择 primitive action，而是可以选择 option。

定义高层策略：

[  
$$
\mu(o|s)  
$$
]

其中：

[  
$$
\mu:S\times \mathcal O\to[0,1]  
$$
]

表示在状态 $s$ 下选择 option $o$ 的概率。

执行流程为：

[  
$$
s_t  
\xrightarrow{\mu}  
o_t  
\xrightarrow{\pi_{o_t}}  
a_t,a_{t+1},\dots,a_{t+k-1}  
\xrightarrow{\beta_{o_t}}  
s_{t+k}  
\xrightarrow{\mu}  
o_{t+k}  
$$
]

原论文说明：Markov policy over options $\mu:S\times O\to[0,1]$ 在状态 $s_t$ 选择 option $o$，该 option 决定动作直到终止于 $s_{t+k}$，然后再根据 $\mu(s_{t+k},\cdot)$ 选择新 option。

因此，整个 agent 的行为由两层结构决定：

[  
$$
\text{高层：}\mu(o|s)  
$$
]

[  
$$
\text{低层：}\pi_o(a|s)  
$$
]

高层决定“做哪件事”，低层决定“这件事具体怎么做”。

---

## 6. flat policy：options 最终仍诱导 primitive action 策略

虽然高层选择的是 options，但环境真正接收的仍然是 primitive actions。因此，任意 policy over options $\mu$ 都会诱导一个普通的 primitive-action policy，称为 **flat policy**：

[  
$$
\pi=\operatorname{flat}(\mu)  
$$
]

原论文指出，policy over options $\mu$ 会决定一个 conventional policy over actions，即 flat policy。

这点很重要：option framework 没有改变 MDP 环境本身，改变的是 agent 的决策结构。环境仍然看到：

[  
$$
a_t\in\mathcal A  
$$
]

只是这些 actions 由 option 内部策略产生。

---

## 7. option framework 与 SMDP 的关系

固定一组选项 $\mathcal O$ 后，原 MDP 上会诱导出一个 **semi-Markov decision process**，即 SMDP。原因是：SMDP 中的动作可以持续随机长度，而 option 正是这种持续多个时间步的动作。原论文明确说：定义在 MDP 上的一组 options 构成一个 SMDP，SMDP 理论为 options 理论提供基础。

普通 MDP 的动作持续时间固定为 1：

[  
$$
\tau=1  
$$
]

SMDP 中高层动作持续时间可变：

[  
$$
\tau=k  
$$
]

option 执行一次后，高层看到的是：

[  
$$
(s_t,o_t,R_{t:t+k},s_{t+k},k)  
$$
]

其中：

# [  
$$
R_{t:t+k}
=
r_{t+1}  
+  
\gamma r_{t+2}  
+  
\cdots  
+  
\gamma^{k-1}r_{t+k}  
$$
]

所以，option framework 可以理解为：

[  
$$
\boxed{  
\text{在底层 MDP 中定义闭环子策略，从而在高层形成一个 SMDP。}  
}  
$$
]

但原论文强调，最有趣的问题不只是 SMDP 理论本身，而是 MDP 与 SMDP 的交互：即如何打开 option 内部、修改 option、学习 option、利用底层 MDP 结构改进高层决策。

---

## 8. option model：option 的模型

像 primitive action 可以有模型一样，option 也可以有模型。

primitive action model 通常是：

[  
$$
p(s'|s,a),\quad r(s,a)  
$$
]

option model 则描述：从状态 $s$ 启动 option $o$，最终会在哪里终止、获得多少累计奖励。

常见定义包括：

### 8.1 option reward model

# [  
$$
r_s^o
=
\mathbb E  
\left[  
r_{t+1}  
+  
\gamma r_{t+2}  
+  
\cdots  
+  
\gamma^{k-1}r_{t+k}  
\mid  
s_t=s,o  
\right]  
$$
]

表示从 $s$ 启动 option $o$ 到其终止期间的期望折扣奖励。

### 8.2 option transition model

# [  
$$
p_{ss'}^o
=
\mathbb E  
\left[  
\gamma^k\mathbf 1{s_{t+k}=s'}  
\mid  
s_t=s,o  
\right]  
$$
]

表示 option 从 $s$ 启动后，以折扣形式最终终止于 $s'$ 的概率质量。

用这两个量，可以把 option 看作一个高层动作：

# [  
$$
Q^\mu(s,o)
=
r_s^o  
+  
\sum_{s'}p_{ss'}^o V^\mu(s')  
$$
]

这和 primitive action 的 Bellman 方程形式非常相似，只是单步转移被替换为 option 级转移。

---

## 9. option-value function

在 option framework 中，可以定义状态价值：

[  
$$
V^\mu(s)  
$$
]

表示从状态 $s$ 开始，按照 policy over options $\mu$ 行动的期望回报。

也可以定义 option-value：

[  
$$
Q^\mu(s,o)  
$$
]

表示在状态 $s$ 先启动 option $o$，等 $o$ 终止后再按照 $\mu$ 行动的期望回报。

二者关系为：

# [  
$$
V^\mu(s)
=
\sum_{o\in\mathcal O(s)}  
\mu(o|s)Q^\mu(s,o)  
$$
]

其中 $\mathcal O(s)$ 表示状态 $s$ 下可用 options。

若使用 option model，则：

# [  
$$
Q^\mu(s,o)
=
r_s^o  
+  
\sum_{s'}p_{ss'}^oV^\mu(s')  
$$
]

于是得到：

# [  
$$
V^\mu(s)
=
\sum_o\mu(o|s)  
\left[  
r_s^o  
+  
\sum_{s'}p_{ss'}^oV^\mu(s')  
\right]  
$$
]

这就是 option 层面的 Bellman expectation equation。

---

## 10. optimal option-value equation

在控制问题中，需要学习最优 policy over options。定义：

[  
$$
Q^*(s,o)  
$$
]

表示在状态 $s$ 启动 option $o$，之后最优选择 options 的期望回报。

则：

# [  
$$
Q^*(s,o)
=
r_s^o  
+  
\sum_{s'}p_{ss'}^o  
\max_{o'\in\mathcal O(s')}Q^*(s',o')  
$$
]

对应的最优状态价值为：

# [  
$$
V^*(s)
=
\max_{o\in\mathcal O(s)}Q^*(s,o)  
$$
]

这说明：在高层，option 可以像普通 action 一样被动态规划或 Q-learning 使用。原论文摘要也指出，options 可以与 primitive actions 互换地用于动态规划和 Q-learning 等学习方法中。

---

## 11. SMDP Q-learning with options

如果在状态 $s_t$ 选择 option $o_t$，该 $option$ 执行 $k$ 步，在 $s_{t+k}$ 终止，则 SMDP Q-learning 更新为：

## [  
$$
Q(s_t,o_t)  
\leftarrow  
Q(s_t,o_t)  
+  
\alpha  
\left[  
G_t^{(k)}  
+  
\gamma^k  
\max_{o'}Q(s_{t+k},o')
-
Q(s_t,o_t)  
\right]  
$$
]

其中：

# [  
$$
G_t^{(k)}
=
r_{t+1}  
+  
\gamma r_{t+2}  
+  
\cdots  
+  
\gamma^{k-1}r_{t+k}  
$$
]

这个更新和普通 Q-learning 的差异在于：

普通 Q-learning：

[  
$$
r_{t+1}  
+  
\gamma \max_{a'}Q(s_{t+1},a')  
$$
]

option Q-learning：

[  
$$
G_t^{(k)}  
+  
\gamma^k \max_{o'}Q(s_{t+k},o')  
$$
]

即：option 把多个底层时间步压缩成一个高层 transition。

---

## 12. Markov option 与 semi-Markov option

### 12.1 Markov option

Markov option 的内部策略和终止函数只依赖当前状态：

[  
$$
\pi_o(a|s),\quad \beta_o(s)  
$$
]

在任意中间时间 $\tau$，决策只依赖当前状态 $s_\tau$。

### 12.2 semi-Markov option

semi-Markov option 允许内部策略和终止函数依赖 option 启动以来的历史：

# [  
$$
h_{t:\tau}
=
(s_t,a_t,r_{t+1},s_{t+1},\dots,s_\tau)  
$$
]

因此：

[  
$$
\pi_o(a|h_{t:\tau}),\quad \beta_o(h_{t:\tau})  
$$
]

原论文指出，Markov option 的决策只能依赖当前状态，而 semi-Markov option 的决策可以依赖 option 启动以来的整个历史；例如需要 timeout 的 option 就不能仅靠 Markov termination 表示，因为“已经执行了多久”不是当前状态本身的一部分。

二者区别可以概括为：

| 类型               | 内部策略依赖     | 终止函数依赖     | 表达能力 | 学习便利性     |
| ------------------ | ---------------- | ---------------- | -------- | -------------- |
| Markov option      | 当前状态 $s$     | 当前状态 $s$     | 较弱     | 更易分析和学习 |
| semi-Markov option | 启动后的历史 $h$ | 启动后的历史 $h$ | 更强     | 更复杂         |


---

## 13. option composition：组合 options

option framework 还允许组合 options。

若有两个 options：

[  
$$
o_1,\quad o_2  
$$
]

可以定义组合 option：

[  
$$
o_1o_2  
$$
]

含义是：

1. 先执行 $o_1$ 直到终止；
   
2. 若终止状态允许启动 $o_2$，再执行 $o_2$。
   

原论文指出，两个 options 可以顺序组合成一个新的 option；primitive actions 作为 options 的特殊情形，也可以组合成确定性动作序列，即 classical macro-operator。

这说明 option framework 不只是“多步动作”，还是一种可组合的时间抽象语言。

---

## 14. option interruption：中断 option

如果把 option 视为不可分割的 SMDP action，那么一旦启动就必须等其自然终止。但 option framework 因为保留了底层 MDP 解释，所以可以在执行过程中检查是否值得继续执行。

若在某个中间状态 $s$，继续当前 option 的价值低于重新选择其他 option 的价值，则可以中断当前 option：

[  
$$
Q(s,o)<V(s)  
$$
]

于是提前终止 $o$，改选更好的 option。

原论文把这种机制称为 interrupting options，并指出：把 options 视为不可分割单元会造成不必要的限制；利用 option 的内部结构可以在自然终止前中断 option。

这体现了 option framework 的关键优势：  
它既可以在高层把 option 当作 SMDP action 使用，又可以在底层打开 option、检查和修改其内部行为。

---

## 15. intra-option learning 在 framework 中的位置

option framework 中有两种学习粒度：

### 15.1 inter-option / SMDP learning

把 option 当作整体，高层只在 option 终止后更新：

[  
$$
(s_t,o_t,R_{t:t+k},s_{t+k})  
$$
]

### 15.2 intra-option learning

利用 option 内部每一步 transition 更新：

[  
$$
(s_t,a_t,r_{t+1},s_{t+1})  
$$
]

原论文明确指出，intra-option methods 可以从 option 执行片段中学习，而不是只从完整 option 执行中学习；并且可以同时学习所有与当前经验片段一致的 options。

所以 intra-option learning 是 option framework 的“内部学习机制”。它回答的问题是：

[  
$$
\text{既然 option 内部由 primitive actions 组成，是否可以用每一步底层经验来学习 option？}  
$$
]

答案是可以，特别是对 Markov options。

---

## 16. option framework 为什么有用？

### 16.1 时间抽象

option 允许 agent 在更长时间尺度上决策：

[  
$$
\text{一步一步走}  
\quad\rightarrow\quad  
\text{选择“走到门口”}  
$$
]

这可以减少高层决策深度。

若目标距离为 100 个 primitive actions，普通 MDP 中需要规划 100 步；如果有一个“导航到门口” option，可能只需几个高层决策。

---

### 16.2 更快规划

在 planning 中，option model 可以产生更大跨度的状态转移：

[  
$$
s_t \to s_{t+k}  
$$
]

这有助于 value 信息更快传播。

例如 gridworld 中，primitive action 只能把价值从目标向外传播一格；hallway option 可以一次把价值传播到房间入口，从而加速规划。

---

### 16.3 更高效学习

SMDP Q-learning 可以把长行为压缩成高层 transition，intra-option learning 又可以复用 option 内部的每一步经验。因此 option framework 既支持高层抽象，也支持底层样本复用。

---

### 16.4 迁移与复用

如果某些 options 对多个任务有用，例如“走到门口”“抓取物体”“返回充电站”，则这些 options 可以在不同任务中复用。

这对应层次强化学习中的重要思想：

[  
$$
\text{learn reusable skills}  
$$
]

而不是每个任务从 primitive action 重新学习。

---

## 17. option framework 与 hierarchical RL 的关系

option framework 是 hierarchical reinforcement learning 的一种核心形式化工具，但它不强制固定树状层次结构。

有些层次方法要求任务被分解为固定子任务树；option framework 更灵活：


$$
\text{多个 options 可以重叠}  
$$

$$
\text{primitive actions 也是 options}  
$$

$$
\text{policy over options 可以自由切换}  
$$

$$
\text{options 可以组合、学习、中断}  
$$


因此，option framework 更像是一个“时间抽象动作层”，而不只是传统意义上的层次任务分解。

---

## 18. option discovery：options 从哪里来？

经典 option framework 可以使用人工设计的 options，例如“走到走廊口”。但实际问题中，一个关键难题是如何自动发现有用 options。

现代 **option-critic architecture** 试图解决这个问题。Option-Critic 在 options 框架下推导 option 的 policy gradient theorem，并提出一种可以同时学习：

[  
$$
\text{policy over options}  
$$
$$
\text{intra-option policies}  
$$
$$
\text{termination functions}  
$$


的架构，而且不需要额外提供子目标或额外奖励。Bacon、Harb 和 Precup 在摘要中明确指出，自动从数据中创建时间抽象仍然具有挑战，而 Option-Critic 正是针对 options framework 中的这一问题提出的。([arXiv](https://arxiv.org/abs/1609.05140 "[1609.05140] The Option-Critic Architecture"))

也就是说：

[  
$$
\text{经典 option framework：给定或设计 options，然后学习如何使用}  
$$
]

[  
$$
\text{option-critic：同时学习 options 本身及其使用方式}  
$$
]

---

## 19. 一个完整例子：四房间导航

设有 gridworld 四房间环境。primitive actions 为：

[  
$$
\mathcal A={\text{up},\text{down},\text{left},\text{right}}  
$$
]

可以定义 hallway options：

[  
$$
o_{\text{go-to-north-door}},  
o_{\text{go-to-south-door}},  
o_{\text{go-to-east-door}},  
o_{\text{go-to-west-door}}  
$$
]

对某个 option：

[  
$$
o_{\text{go-to-east-door}}  
$$
]

可定义：

[  
$$
I_o=  
{\text{当前房间中可以到达 east door 的状态}}  
$$
]

[  
$$
\pi_o(a|s)=  
\text{沿最短路径朝 east door 移动的动作分布}  
$$
]

[  
$$
\beta_o(s)=  
\begin{cases}  
1, & s \text{ 是 east door 或离开当前房间}\\  
0, & \text{否则}  
\end{cases}  
$$
]

高层策略 $\mu(o|s)$ 只需决定：

[  
$$
\text{去哪个 doorway}  
$$
]

而不必每一步都决定：

[  
$$
\text{up/down/left/right}  
$$
]

这样可以把长距离导航问题转化为较短的高层决策问题。

---

## 20. 与普通 MDP 学习的对比

| 维度     | 普通 MDP                 | option framework                        |
| -------- | ------------------------ | --------------------------------------- |
| 决策单位 | primitive action         | option                                  |
| 持续时间 | 固定一步                 | 随机多步                                |
| 策略     | $\pi(a\|s)$              |                                         |
| 转移     | $s_t\to s_{t+1}$         | $s_t\to s_{t+k}$                        |
| 学习方法 | TD, Q-learning, Sarsa    | SMDP Q-learning, intra-option learning  |
| 优势     | 简单、基础               | 时间抽象、复用、加速规划                |
| 难点     | 长时序 credit assignment | option discovery、termination、抽象粒度 |

---

## 21. 关键 Bellman 结构总结

普通 action 的 Bellman optimality equation：

# [  
$$
Q^*(s,a)
=
r_s^a  
+  
\gamma  
\sum_{s'}p_{ss'}^a  
\max_{a'}Q^*(s',a')  
$$
]

option 的 Bellman optimality equation：

# [  
$$
Q^*(s,o)
=
r_s^o  
+  
\sum_{s'}p_{ss'}^o  
\max_{o'}Q^*(s',o')  
$$
]

注意第二个式子中没有显式写 $\gamma$，因为折扣已经包含在 option model：

# [  
$$
p_{ss'}^o
=
\mathbb E[\gamma^k\mathbf 1{s_{t+k}=s'}]  
$$
]

如果不用 option model，而直接从经验更新，则折扣写成：

[  
$$
G_t^{(k)}  
+  
\gamma^k\max_{o'}Q(s_{t+k},o')  
$$
]

这就是 SMDP Q-learning target。

---

## 22. 总结

option framework 的核心可以压缩成一句话：


$$
\boxed{  
\text{option framework 是把 MDP 中的单步动作推广为可持续多步的闭环子策略，从而实现时间抽象的强化学习框架。}  
}  
$$


其基本对象是：


$$
o=(I_o,\pi_o,\beta_o)  
$$


其中 initiation set 决定何时能启动，intra-option policy 决定内部如何行动，termination function 决定何时结束。

在高层，一组 options 定义一个 SMDP：


$$
\text{MDP}+\mathcal O  
\Rightarrow  
\text{SMDP}  
$$


在底层，每个 option 仍然由 primitive actions 组成，因此可以被分析、学习、中断、组合和改进。原论文也强调，options 的理论基础来自 SMDP，但最有趣的问题在于 MDP 与 SMDP 之间的交互，例如中断 options、从 option 片段中进行 intra-option learning、以及利用 subgoals 改进 options。([ScienceDirect](https://www.sciencedirect.com/science/article/pii/S0004370299000521 "Between MDPs and semi-MDPs: A framework for temporal abstraction in reinforcement learning - ScienceDirect"))

最终，option framework 提供的是一种多时间尺度决策结构：

[  
$$
\text{primitive actions}  
\subset  
\text{options}  
\subset  
\text{policies over options}  
$$
]

这使强化学习可以同时处理底层动作控制和高层行为组织。