遗传算法

概述

  • 遗传算法是一种模拟演化的近似算法。

  • 顾名思义,它模拟大量的样本,周期性地繁衍、遗传、变异、筛选。

  • “状态”有时在遗传算法中是对象的一个属性。

思路

  • 周期性地将从旧有的样本中选取较优的(譬如前 \(10\%\)),以它们为基础生成大量的新样本。

    • 如果想要制造更好的随机性,可以考虑从不那么优的样本中也随一些出来参与繁衍。
  • 在繁衍中,首先让子样本继承母样本(可能是一个,可能是多个)的绝大部分特质。

  • 然后按照一定的逻辑对其做变异,可以考虑使用概率函数,也可以比较粗暴地取一部分进行大量变异。

  • 重复上述过程直到解符合需求。一般把上一代舍去。

例题

  • 谁写这么大的工程啊?

  • 能退的基本上都退了,不能退但是能遗传的...真的是 OI 比赛吗?

posted @ 2023-01-15 10:31  未欣  阅读(13)  评论(0编辑  收藏  举报