什么是遗传算法?简述其基本思想和基本结构。
遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
- 编码
- 完备性(completeness):问题空间中的所有点(候选解)都能作为GA空间中的点(染色体)表现。
- 健全性(soundness): GA空间中的染色体能对应所有问题空间中的候选解。
- 非冗余性(nonredundancy):染色体和候选解一一对应。
- 适应度函数
适应度函数的设计主要满足以下条件:
- 单值、连续、非负、最大化
- 合理、一致性
- 计算量小
- 通用性强。
- 初始群体选取
- 根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。
- 先随机生成一定数目的个体,然后从中挑出最好的个体加到初始群体中。这种过程不断迭代,直到初始群体中个体数达到了预先确定的规模。
什么是种群? 什么是个体?什么是染色体?个体和染色体之间的关系是什么?
- 种群:指用遗传算法解决问题时,多个解的构成的集合。
- 个体:指种群中的单个元素,通常由一个用于描述其基本遗传结构的数据结构表示
- 染色体:指对个体进行编码后得到的编码串。
什么是遗传编码?有哪几种常用的编码算法?
- 二进制编码、格雷编码、实数编码(真值编码)、字符编码。
什么是适应度函数?常见的适应度函数有哪几种?
- 适应度函数:是一种用于对种群中每个个体环境适应性进行度量的函数。函数值决定染色体的优劣程度,是遗传算法实现优胜劣汰的主要依据。
什么是选择操作?常用的选择操作有哪几种?
- 选择操作:指根据选择概率从当前种群中挑出一定数目的个体,使他们能够有更多的机会被遗传到下一代中。
- 常用的选择操作有:比例选择(轮盘赌选择)、排序选择、竞技选择。
什么是交叉操作?常用的交叉操作有哪几种?
- 交叉操作:指按照某种方式对选择父代个体的染色体的部分基因进行交配重组,从而形成新的个体。
- 常见的交叉操作有:二进制值交叉(单点交叉、两点交叉、多点交叉、均匀交叉)、 实值交叉。
什么是变异操作?常用的变异操作有哪几种?
- 变异操作:指对染色体中个体的染色体中的某些基因进行变动,从而形成新的个体。
- 常见变异操作:二进制值变异、实值变异。