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] , 该系统广泛用

