Page 224 - 《软件学报》2025年第8期
P. 224
田丽丽 等: 因果时空语义驱动的深度强化学习抽象建模方法 3647
5. 将每个数据点 D i 分配给最近的聚类中心点: c j(i) = d(D i ,c k )
6. end for
7. for k=1 to k do
1 ∑
8. 更新每个聚类中心点为被分配数据点的均值: c k = D i
|{i : j(i) = k}| i: j(i)=k
9. end for
10. end while
11. 返回 ˆ S ,Φ(c 1 ,c 2 ,...,c k )
算法的时间复杂度取决于聚类过程的迭代次数, 其中包括将数据点分配给聚类中心点和更新中心点. 该步骤
的复杂度为 O(n·k ·m), 其中 n 表示数据点数量, k 表示聚类数量, m 表示维度, 而中心点更新的复杂度为 O(k ·m).
算法的性能受到初始中心点位置和聚类数量的影响, 因此需要根据具体数据集进行调整以获得最佳结果.
4.2 基于区间盒的动作抽象
本文基于文献 [28] 提出了一种基于区间盒 (IntervalBox) 的连续动作离散化抽象方法. 该方法的核心思想是通
过对状态空间进行离散化来实现对连续动作空间的精细划分, 并利用这些抽象的动作区间来近似模拟实际策略中
的动作效果. 具体为使用基于反例引导的抽象和精化 (CEGAR) 方法, 将连续的状态空间离散化为有限的抽象状态
空间. 在初始阶段, 状态空间使用区间盒进行粗略的离散化, 并根据验证结果逐步对抽象状态进行细化. 通过这种
方式能够有效地将原本连续的动作空间离散化, 既有助于强化学习算法处理动作选择问题, 同时也大幅降低相关
计算复杂度.
定义 8. 区间盒. 对于 d 维连续动作空间 A, 每个特征中变量都有其自己的有效范围, 即第 i 个特征 (i ∈ [0,...,d])
A 的划
中的变量 a i 在范围 [l i ,u i ] 内. 区间盒方法将此范围均匀划分为单位区间 I i = [l i ,u i ]/g i , 实现对连续动作空间
,
i
分. 对于动作 a, 基于区间盒抽象后, 在抽象动作空间 ˆ A 中对应动作 ˆ a = [k 1 ,k 2 ,...,k d ], 其中 k i = a i /g i g i 是第 维的
抽象粒度.
动作抽象如图 5 所示, 首先均匀划分动作空间为等长的区间. k 维动作空间被划分为 m 个子空间, 其中每个维
k
m 个相同长度的区间. 然后, 将具体动作转换为动作所属的区间, 即对应的抽象动作; 也就是说, 对于一个具
度上有
体动作 a ∈ [l,u], 其抽象动作为 ¯ a=[l,u].
时间 t
原始动作 抽象动作
集合
图 5 基于区间盒的动作抽象示意图
根据定义 8, 在抽象 MDP 中, 为了确保抽象动作的执行效果能够尽可能地接近真实 MDP 中相应动作的效果,
关键在于准确调整抽象粒度. 具体而言, 在确定抽象粒度时必须综合考虑环境特性和要求, 并根据具体情况设定每
个状态特征的粒度级别.
更细致的粒度能够使得抽象动作更贴近原始连续动作, 从而在模拟真实 MDP 行为方面提供更高准确性. 然
而, 过于微小的粒度设置也伴随着潜在风险, 可能会加剧数据中由随机波动引起的不准确性, 并影响模型的稳定性
和可靠性. 因此, 在确定抽象粒度时需要找到一个适当平衡点, 以兼顾细粒度带来的近似精度和过小粒度可能导致
的不稳定性. 根据具体环境特征和目标, 在不同应用场景和需求下灵活选择合适的抽象级别是必要的. 通过这种方

