什么是遗传算法?
遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。
遗传算法(Genetic Algorithms简称GA)是由美国Michigan大学的John Holland教授于20世纪60年代末创建的。它来源于达尔文的进化论和孟德尔、摩根的遗传学理论,通过模拟生物进化的机制来构造人工系统。遗传算法作为一种全局优化方法,提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对优化函数的要求很低并且对不同种类的问题具有很强的鲁棒性,所以广泛应用于计算机科学、工程技术和社会科学等领域。John Holland教授通过模拟生物进化过程设计了最初的遗传算法,我们称之为标准遗传算法。
标准遗传算法流程如下:
1)初始化遗传算法的群体,包括初始种群的产生以及对个体的编码。
2)计算种群中每个个体的适应度,个体的适应度反映了其优劣程度。
3)通过选择操作选出一些个体,这些个体就是母代个体,用来繁殖子代。
4)选出的母代个体两两配对,按照一定的交叉概率来进行交叉,产生子代个体。
5)按照一定的变异概率,对产生的子代个体进行变异操作。
6)将完成交叉、变异操作的子代个体,替代种群中某些个体,达到更新种群的目的。
7)再次计算种群的适应度,找出当前的最优个体。
8)判断是否满足终止条件,不满足则返回第3)步继续迭代,满足则退出迭代过程,第7)步中得到的当前最优个体,通过解码,就作为本次算法的近似最优解。
具体你可以到百度文库去搜索遗传算法相关的论文,很多的。
你也可以参考百度百科里对遗传算法的介绍。
遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。
对于一个求函数最大值的优化问题(求函数最小值也类同),一般可以描述为下列数学规划模型:
遗传算法式中x为决策
变量,式2-1为目标函数式,式2-2、2-3为约束条件,U是基本空间,R是U的子集。满足约束条件的解X称为可行解,集合R表示所有满足约束条件的解所组成的集合,称为可行解集合。
遗传算法的基本运算过程如下:
a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。
b)个体评价:计算群体P(t)中各个个体的适应度。
c)选择运算:将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的。
d)交叉运算:将交叉算子作用于群体。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。遗传算法中起核心作用的就是交叉算子。
e)变异运算:将变异算子作用于群体。即是对群体中的个体串的某些基因座上的基因值作变动。
群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t 1)。
f)终止条件判断:若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。
遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。
说简单了,就是利用达尔文生物进化的原理,利用计算机编程,对问题进行优化求解的一种方法。生物体内遗传因子通过选择、交叉、变异之后,在经过多代的适者生存,是的最适应环境的遗传因子得以遗传到后代,而遗传算法通过一定的算法编写代码产生初始种群,之后利用遗传因子的原理使得初始种群中的代码逐渐接近所求问题得最优解,再根据编码原理解码,使代码还原为非计算机语言表示的真实问题。
机器学习遗传算法的关键点是什么
遗传算法是一种进化计算的算法,在机器学习中可以用来对大量的数据进行分析和建模。遗传算法的关键点包括:初始种群:算法需要输入初始种群,即解决问题的一组可能解。变异和交叉:遗传算法从初始种群中选择优秀的个体进行变异和交叉操作,产生新的个体,用于替代较差的个体。适应度函数:遗传算法需要输入适应度...
遗传算法和遗传规划的区别是什么
遗传算法是以基因型为目标,如一串01字符组成。遗传规划是以一段程序为目标,如一个树形结构,表达的是一个公式,用于拟合目标函数,实例比如天气与食物产量的关系曲线,曲线就是要计算的函数,拟合的适合度就是算曲线与实际采样中的方差。浅薄理解不一定很准确。其余操作如交叉,变异等两者相似。
什么叫遗传算法,遗传算法有什么用?希望通俗一点儿
我们的遗传算法就是从这里得到启发!比如我要求y=x1+x2的最大值,两个变量,我不用传统的数学方法,就用幼儿园的方法,把所有可能取值带进去算,然后找出最大的就行了!但是,有时候取值是连续的,没关系!使其离散化,就像把模拟信号化成数字信号一样!还有个问题,如果取值太多咋办?这就是遗传算...
神经网络和遗传算法有什么关系
遗传算法是一种智能优化算法,神经网络是人工智能算法的一种。可以将遗传算法用于神经网络的参数优化中。
量子遗传算法与遗传算法有什么区别
遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。每个个体实际上...
混合遗传算法和遗传算法有什么区别
遗传算法是一种全局搜索算法,不需要目标函数的导数信息,它能够很快搜索到最优值所处范围范围。而混合遗传算法是在遗传算法的基础上引入其它优化算法(如局部寻优能力强的算法),以保证遗传算法全局性能的基础上大大减小计算量,提高收敛速度。一般引入的算法有:传统梯度类算法、单纯形法及模拟退火等等)...
遗传算法初始种群的产生原理是什么?随机产生?为什么?
4、遗传算法基于概率规则,而不是确定性规则。这使得搜索更为灵活,参数对其搜索效果的影响也尽可能的小。5、遗传算法具有可扩展性,易于与其他技术混合使用。以上几点便是遗传算法作为优化算法所具备的优点。遗传算法的缺点:遗传算法在进行编码时容易出现不规范不准确的问题。
请问遗传算法和进化算法是什么关系?
遗传:生物亲代与子代之间、子代个体之间相似的现象. 父母的基因特征传给子女。进化:专指生物由简单到复杂、由低级到高级的发展变化,又称作演化。作为算法而言也与之类似,依据限制条件使部分特性满足者继续遗传特性,便成为进化 因此遗传是进化的基础 遗传包含于进化 遗传是进化的必要条件 ...
机器学习和遗传算法有什么联系
机器学习的本质是求解一个最优化问题。而遗传算法属于最优化算法中的不确定性优化(Stochastic optimization)。最优化求解,可以看作一个在解空间内的搜索问题。不确定性优化,它的搜索方向没有一个确定的数学表达式,而是依赖一个随即变量,在优化收敛到局部极值时,能跳出局部最优。计算生物里,有段时间...
什么是遗传?(要详细的资料和图片解说)
其中,选择、交叉和变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。 作为一种新的全局优化搜索算法,遗传算法以其简单通用、鲁棒性强、适于并行处理以及高效、实用等显著特点,在各个领域得到了广泛应用,取得了良好效果,并逐渐...
桓筠派得: 遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法.遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个...
泗县15174507067: 遗传算法是什么?? - ?
桓筠派得: 遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法. 遗传算法(Genetic Algorithms简称GA)是由美国Michigan大学的John Holland教授于20世纪60年代末创建的.它来源...
泗县15174507067: 什么是遗传算法实值变量 - ?
桓筠派得: 1.2 遗传算法的原理 遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串.并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解.然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中...
泗县15174507067: 请问一下能通俗的介绍一下什么是遗传算法吗? - ?
桓筠派得: 遗传算法(Genetic Algorithms or GAs)是基于自然选择和自然遗传机制的搜索算法,它是一种有效的解决最优化问题的方法.遗传算法最早是由美国Michigan大学的John Holland和他的同事及学生提出的.类似于自然界演化的基本法则,“适...
泗县15174507067: 遗传算法是什么? ?
桓筠派得: 选择算子 一般随机选择 赌轮选择都可以 交叉算子 01编码的 ,传统的类似于基因串的交叉方式. 实数编码的.通常是 P(t 1,m) = aP(t,x) (1-a)P(t,y) a∈(0,1)之间交叉,这个交叉方法基本上不收敛.我的经验是把a改成(0,2)之间收敛的效果很好.当然(0,1.75)~(0,2)之间的貌似都可以.具体原因我还在分析中.
泗县15174507067: 人工智能习题遗传算法是一种什么样的算法 - ?
桓筠派得: 百度百科一下遗传算法吧.简单说就是不同的解(解都是复杂参数控件中的向量)互相交互一部分,看哪些解比较优秀继续生存...
泗县15174507067: 什么叫遗传算法,遗传算法有什么用?希望通俗一点儿 - ?
桓筠派得: 首先有个很神奇的现象:人类以及动物的进化都是朝着好的方向发展,虽然有的往坏的方向发展了,但是总体肯定是往好的方向发展.这看似不奇怪,但是我们知道,人类的基因组合是随机的,没有上帝约束.这种随机过程的结果却是一致的!...
泗县15174507067: 遗传算法的概念及其内容是什么? ?
桓筠派得: 遗传算法终止条件当最优个体的适应度达到给定的阈值,或者最优个体的适应度和群体适应度不再上升时,或者迭代次数达到预设的代数时,算法终止
泗县15174507067: 什么叫遗传 - ?
桓筠派得: 遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成.每个个体实际上是染色体(chromosome)带有特征的实体.染色体作为遗传物质的主要载...