8

求解方法的自我改进与算法演化

AI999 第1课:智能演化的源流与 EvoX 的诞生背景
00:00

演化算法有一个很容易被忽略的默认设定:被演化的是候选解,而生成候选解的方法本身保持不变。也就是说,传统演化算法通常保持搜索方法固定,只让候选解在迭代中变化——整轮搜索里“动”的是解,“不动”的是规则。本页要引出的正是这个设定之外的另一种视角:让求解方法自己也走进搜索与改进的过程。

求解方法的自我改进与算法演化 默认范式 与 算法演化 的对比 固定算法求解 默认范式 方法层 · 运行中锁定 锁定 变异策略 交叉方式 超参数 生成 解层 · 一轮轮迭代 候选解 候选解 候选解 生成 → 评估 → 选择 → 继承 方法层保持不变,只有解在更新 算法自身参与搜索 算法演化 方法层 · 进入搜索 可被候选 变异策略 交叉方式 超参数 生成候选解 解层 · 常规迭代 生成 → 评估 → 选择 → 继承 候选解 候选解 候选解 评估 求解表现评估 保留优 · 替换差 方法随之更新 方法更新 解层更新 方法层更新

默认范式:方法锁定,解在演化

在传统做法里,交叉方式、变异策略与超参数通常在运行前一次性选定,随后整轮搜索都不再改动。它们直接决定候选解的生成机制,也显著影响求解结果:任务表现好或坏,方法都停在原处。

  • 解层在动:候选解 → 评估 → 选择 → 继承,一轮轮迭代。
  • 方法层不动:变异策略、交叉方式、超参数被预设并锁定。
  • 后果:仅靠预设和手工调参,求解方法本身不会随任务反馈持续演化,改进主要依赖人工经验与手工调参,调参速度往往跟不上任务变化。

算法演化:把方法也变成可搜索对象

算法演化的做法是:不再把交叉方式、变异策略、超参数当成固定配置,而是把它们作为可被候选、评估与替换的对象,与候选解一起接受求解表现的检验——也就是让求解算法自身进入搜索与改进过程,使“方法”也成为可演化对象。这样就在原有的解层迭代之外,多出第二条反馈回路——不仅解在改进,方法也在改进。

两条回路可以用一段平实的箭头语言概括:方法要素 → 生成候选解 → 求解表现评估 → 保留或替换 → 方法更新;与此同时,候选解内部仍然运行着“生成 → 评估 → 选择 → 继承”的常规迭代。前者改变“怎么找”,后者改变“找到了什么”。

关键转向
从“用固定算法求更好的解”,扩展到“让算法在求解过程中改进自己”。判断一个系统是否真的在做算法演化,就看方法要素有没有被纳入搜索、并由求解表现决定去留,而不是由人一次性写死。