近年来遗传算法得到迅速发展。遗传算法基于对生物遗传和进化过程的模拟,使得人工系统具有良好的自适应能力和优化能力。遗传算法提供了一种求解复杂系统优化问题的常用方法。因此将遗传算法应用于机器人这类复杂的人工系统是顺理成章的事情。它可以充分利用计算机的强大计算能力对解空间进行搜索。
遗传算法(Genetic Algorithm,GA),是以遗传学理论基础所构造的一类搜索算法,它在某种程度上对生物进化过程进行了数学方式的模拟。遗传算法之父荷兰德Holland教授在他的著作《自然和人工系统中的适应性》(The Adaptability of Natural and Artificial Systerm)中将遗传算法的基本框架分解为适应系统和进化系统两个方面。
作为一种可用于复杂系统优化计算的鲁棒搜索算法,遗传算法不同于其他一些优化算法,具有以下一些特点:
(1)对先验性知识依赖程度很低 主要通过适应度来判断所得候选解的效果,避免了比较复杂的建模等环节,在一定程度上具有某种非程序的特点和高度的自适应信息处理能力。
(2)遗传算法以决策变量的编码作为运算对象 传统的优化算法往往直接利用决策变量的实际值本身来进行优化计算,而遗传算法以决策变量值的某种形式的编码为运算对象。这种对决策变量的编码处理方式,使得我们在优化计算过程中可以借鉴生物学中染色体和基因等概念,可以模仿自然界中生物的遗传和进化等机理,也使得我们可以方便地应用遗传操作算子。特别是对一些无数值概念或很难有数值概念,只有代码概念的优化问题,编码处理方式更显示出其优越性。(www.daowen.com)
(3)遗传算法直接以目标函数值作为搜索信息 传统的优化算法不仅需要利用目标函数值,而且往往需要目标函数的导数值等其他一些辅助信息才能确定搜索方向。而遗传算法仅使用由目标函数值变换得到的适应度函数值,就可确定进一步的搜索方向和搜索范围。这个特性是非常有用的,对那些目标函数无法求导数的函数,或导数不存在的函数优化问题及组合优化问题等,应用遗传算法时就显得比较方便,因为它避开了函数求导这个障碍。再者,直接利用目标函数值或个体适应度,也使我们可以把搜索范围集中到适应度较高的部分搜索空间中,从而提高了搜索效率。
(4)遗传算法同时使用多个搜索点的搜索信息 传统的优化算法往往是从解空间中的一个初始点开始最优解的迭代搜索过程。单个搜索点所提供的搜索信息毕竟不多,所以搜索效率不高,有时甚至使搜索过程陷于局部最优解。遗传算法是从很多个体所组成的一个初始群体开始搜索最优解,而不是从单一的个体开始搜索。
(5)遗传算法使用概率搜索技术 很多传统的优化算法往往使用的是确定性的搜索方法,在这种算法中一个搜索点到另一个搜索点的转移有确定的转移方法和转移关系,这种确定性往往也有可能使得搜索永远达不到最优点,因而也限制了算法的应用范围。而遗传算法属于一种自适应概率搜索技术,其选择、交叉、变异等运算都是以一种概率的方式来进行的,从而增加了其搜索过程的灵活性。虽然这种概率特性也会使群体中产生一些适应度不高的个体,但随着进化过程的进行,新的群体中总会更多地产生出优良的个体,实践和理论都已证明了在一定条件下遗传算法总是以概率1收敛于问题的最优解。当然,交叉概率和变异概率等参数也会影响算法的搜索效果,所以如何选择遗传算法的参数在具体应用时是一个比较重要的问题。
随着计算机计算能力的不断提高,遗传算法在机器人控制领域也得到了应用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。