- A Gentle Introduction to Genetic Algorithms(遗传算法简介)
- Biology Background
- Gene:基因是DNA工作片段
- Gene Trait:基因性状,例如“眼睛的颜色”
- Allele:等位基因,眼睛有几种颜色(粽、绿、黑、蓝等等)
- Genotype:基因型,携带的是什么基因
- Phenotype:表现型,表现为眼睛的颜色是什么颜色
- Genetic Algorithms
- loosely base on:大致基于
- 思想:先生成一个初始解,可能很差,但是可以一点一点提高
- Basic Components
- 解释
- Representation(表示)
- 先编码表示才可以计算机运算
- 二元问题(离散)
- 连续问题
- 先编码表示才可以计算机运算
- Genetic Operators(遗传算子)
- 杂交(交换某些基因)
- 变异
- Selection Strategy(选择=适者生存)
- 1. 选择哪些“父母”可用来“繁殖”
- 2. 生成的“后代”哪些可以“生存”
- Representation(表示)
- Representation
- individual:一般来说是与输入一一对应的向量
- population:很多individual合在一起,有助于提高global optimization
- Offspring:后代,由原向量生成的新向量
- Encoding:
- 二进制除了Binary(0、1)还可以使用Gray(格雷码)
- 格雷码特点:任意相邻的两个编码间(海明)距离都是1
- rotary encoder(轴编码器:一种电机机械装置,将轴或轴的角度位置或运动转换为模拟或数字代码)
- 黑色表示为金属片(是接触的),旋转时碰到金属片会产生回路,生成1,否则生成0
- 二进制编码时,旋转中可能会有多个位同时变化,在实际中,机械“接触”或“分开”无法完全同步,会因此产生“突变”,对于系统来说会变得非常不稳定
- 格雷码在旋转中,每次只有一位发生变化,所以相对来说比较稳定
- TSP(Traveling Salesman Problem)问题(例如访问10个城市,如何编码)
- 二进制除了Binary(0、1)还可以使用Gray(格雷码)
- Selection I
- 通过打分选择是否可以使用某个个体进行reproduction/Crossover
- 方法:roulette wheel selection(轮盘赌选择法),分数(高)与面积(概率高)相关,有更大的概率被选择
- 缺点:
- 无法计算负值的比例
- 如果有一个值特别高,导致“资源”倾斜(过早、过度集中)
- Selection II(Rank Selection)
- 方法:不用原始值,而是对其排序
- 好处:
- 缩小了分数差距,降低选择压力(selection pressure)
- Selection III(tournament selection锦标赛选择)
- 方法:通过在一组随机选取的个体中选择适应度最高的个体
- 问题:
- 几个几个PK比较好?
- 在这种方法中什么样的个体有可能被选中(只要不是最差的那个)
- 答案:
- 两个两个PK的话,至少要倒数第二名才会被选中
- 三个三个PK的话,至少要倒数第三名才会被选中
- 以此类推
- 结论:
- PK的人数越多,Selection Pressure 越大
- Selection IV
- Elitism精英选择
- 原因:
- 进化过程中,不能保证每一次都比上一次好
- 类比现实,某人很优秀,但是不能保证高考时不会失利
- 方法:把原来表现最好的Copy到下一代(“保送”到下一代),避免遭受到可能的,通过杂交变异“把好的搞成了不好的”
- 原因:
- Offspring Selection(后代选择)
- 把所有生成的新个体最为下一次迭代中的“父母”
- 把新的生成的和旧的“父母”合在一起,选择100个最好的
- Elitism精英选择
- 解释
10.4遗传算法初探
最新推荐文章于 2024-08-20 13:13:08 发布