遗传算法

来源:百度文库 编辑:神马文学网 时间:2024/04/29 01:28:02
遗传算法的基本意思就是说象人的遗传一样,有一批种子程序,它们通过运算得到一些结果,有好有坏,把好的一批取出来,做为下一轮计算的初值进行运算,反复如此,最终得到满意的结果。
遗传算法是借鉴生物的自然选择和遗传进化机制而开发出的一种全局优化自适应概率搜索算法。它采用群体搜索技术,通过对当前群体使用选择、交叉、变异等一系列遗传操作,从而产生新一代的群体,并逐步使群体进化到包含或接近最优解的状态。遗传算法是新发展起来的一门学科,各种理论、方法尚未成熟,有待于进一步地发展和完善,但它却为我们解决许多复杂问题提供了希望。市面上有关遗传算法的书也不少。下面的书都是不错的。
1.《演化程序》—遗传算法和数据编码的结合     [美]Z.米凯利维茨   著   科学出版社
2.《遗传算法原理及应用》   周明等编著     国防工业出版社
举个例子,假如有一个动物群体,如果你能让他们当中越强壮的越能优先交配和产籽,那么千万年后,这个动物群体肯定会变得更加强壮,这是很容易理解的。
同样,对于许多算法问题,特别是NP问题,比如说最短路径,如果有400个城市,让你找出最短的旅游路线,采用穷举比较,复杂度为O(n!),这时,你可以先随机产生100种路径,然后让他们之中路程越短的那些越能优先互相交换信息(比如每条里面随机取出10个位置互相交换一下),那么循环几千次后,算出来的路径就跟最短路径非常接近了(即求出一个近似最优解)。(在下编程验证过,却是很灵。)
遗传算法的应用还有很多,基本思想都一样,但实现上可能差别非常大。
现在有许多搞算法的人不喜欢遗传算法,因为,它只给出了一种“有用”的方法,却不能保证有用的程度,与此相反,能保证接近最优程度的概率算法更受青睐。
遗传算法(Genetic   Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术之一。
3.遗传算法的特点
遗传算法作为一种快捷、简便、容错性强的算法,在各类结构对象的优化过程中显示
出明显的优势。与传统的搜索方法相比,遗传算法具有如下特点:
搜索过程不直接作用在变量上,而是在参数集进行了编码的个体。此编码操作,
使得遗传算法可直接对结构对象(集合、序列、矩阵、树、图、链和表)进行操作。
搜索过程是从一组解迭代到另一组解,采用同时处理群体中多个个体的方法,降
低了陷入局部最优解的可能性,并易于并行化。
采用概率的变迁规则来指导搜索方向,而不采用确定性搜索规则。
对搜索空间没有任何特殊要求(如连通性、凸性等),只利用适应性信息,不需要
导数等其它辅助信息,适应范围更广。