Page 241 - 《软件学报》2026年第4期
P. 241

1682                                                       软件学报  2026  年第  37  卷第  4  期


                                                 k 2  的值设置为  0.6, 将   k 4  的值设置为 1.0, 其他值可以根据实际需要
                 均水平的个体强制进行变异, 我们将           k 1  和               k 3  和
                 进行调整.
                    由于变异阈值      threshold n  对种群   p n  的整体变异性影响较大, 当  p n  中个体的适应度值趋于收敛时, 应适当降低
                 threshold  以便促进个体的交叉和变异, 从而生成更多不同的后代.             threshold n  的计算公式如下:

                                                               ¯
                                                          ¯
                                         threshold n = c 1 ( f max − f)+m 1 ( f − f min ), 0 < c 1 ,m 1 ⩽ 1.
                  2.3.4    自适应进化操作
                    自适应进化包括自适应交叉和自适应变异.
                    自适应交叉: 对于要进行交叉的个体, 会根据个体在种群中的适应度排名, 选择目标函数得分最高的参与者轨
                 迹进行交叉. 通过对不同个体之间的轨迹进行单点交叉, 来更好地传播优秀的染色体, 并生成更多不同的染色体,
                 这有助于发现更多类型的安全违背具体场景. 例如, 在图                 4  中, 场景  P1  和  P2  被选中进行自适应交叉   (在  P1  和  P2
                 的执行过程中, 主车没有发生安全违例). P1           在当前种群中在多样性目标上的得分最高, 且车辆                 a  的轨迹对  P1  的
                 多样性贡献最大. LEADE      通过交换车辆     a 和车辆  m 的轨迹, 进行    P1  和  P2  的交叉. O2  是通过  P1  和  P2  的自适应
                 交叉生成的新场景, 暴露了主车的新安全违背.


                                          a                   m           n
                                                                             d
                                                       b
                                            P1                   P2       EV
                                                      EV  c




                                                       n                a
                                          a                                   n
                                                         d                 EV
                                            O2
                                                      EV
                                                图 4 两个场景自适应交叉示例

                    自适应变异: 对于要突变的个体, LEADE          会根据参与者轨迹的适应度动态地确定不同类型的变异操作. 如果
                 某一轨迹在种群中的某个目标上得分最高, LEADE               会轻微调整其参数      (如在其原始车道内修改速度和位置值), 以
                 便更好地探索周围空间. 否则, LEADE         会对该轨迹进行较大的改动          (如将其位置改变到另一条车道, 或对其速度进
                 行显著修改). 例如, 在图     5  中, 从车  b  的轨迹, 在该代种群中的关键度得分最高, 因此进行较小改动; 从车                c 的轨迹
                 在各目标的得分都不是种群最高, 因此进行较大改动. 对于突变后生成的新轨迹, LEADE                        会通过第    2.2.2  节提到的
                 一般约束条件来检查其可行性.


                                                        a
                                                                a
                                          b              自适应变异    b

                                                     EV  c                 EV  c
                                                  图 5 场景自适应变异示例

                  3   实验分析

                    为了展示    LEADE  的能力, 我们将其应用于测试工业级全栈自动驾驶系统百度                   Apollo 7.0  [26,28] , 该系统广泛用
   236   237   238   239   240   241   242   243   244   245   246