3.算法——遗传算法
若在定义域D上,满足约束g(x),目标f(x)的解是有限的,可以归类为优化问题。
枚举时间复杂度
遗传算法
物竞天择、适者生存。核心问题:怎么选择,怎么交叉,怎么变异?
选择
轮盘赌算法
旋转,累计概率,达到阈值则选中。
确定性算法
第一步,选选择概率最大的
第二步,如果不够,选小数部分最大的
交配
从交配位置起,后续的基因序列互换
变异
变异发生在染色体的某一个基因上。
当以二进制编码时,变异的基因由0变成1,或者由1变成0。
如,变异位发生在第三位,对于染色体x=11001,则变异后的染色体变成了y=11101
算法流程
需要设置的超参数
例题
群体:随机初始化得的
适应值:适应算法计算,此处为函数表达式的值
选择概率=适应值适应值求和\frac{适应值}{适应值求和}适应值求和适应值
期望次数=群体规模N * 选择概率
选中次数:共需选群体规模N=4个,将期望次数大于1的个体2号和4号选出,不足4个,第二轮将小数部分最大的2号和1号选出。
交配位:第i位后方元素互换
不断迭代,直至停止。