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  行为方面提供更高准确性. 然
                 而, 过于微小的粒度设置也伴随着潜在风险, 可能会加剧数据中由随机波动引起的不准确性, 并影响模型的稳定性
                 和可靠性. 因此, 在确定抽象粒度时需要找到一个适当平衡点, 以兼顾细粒度带来的近似精度和过小粒度可能导致
                 的不稳定性. 根据具体环境特征和目标, 在不同应用场景和需求下灵活选择合适的抽象级别是必要的. 通过这种方
   219   220   221   222   223   224   225   226   227   228   229