遗传加密算法作为一种简单通用、鲁棒性强、适合并行的全局最优加密算法,发展极为迅速,已引起了国内外学者的高度重视。遗传加密算法以其广泛的适应性渗透到研究与工程的各个领域。

一、遗传加密算法的定义

遗传加密算法是一个迭代过程,在每次迭代中都保留一组候选解,按其解的优劣进行排序,并按某种指标从中选出一些解,利用遗传算子对其进行运算,产生新一代的一组候选解,重复此过程,直到满足某种收敛指标为止。

二、遗传加密算法的基本原理

遗传加密算法是一种基于自然选择和群体遗传机理的搜索算法,它模拟了自然选择和自然遗传过程中发生的繁殖、杂交和突变现象。与传统搜索算法不同,遗传加密算法从一组随机产生的初始解,称为群体,开始搜索过程。

群体中的每个个体是问题的一个解,称为“染色体”。这些“染色体”在后续迭代中不断进化,称为遗传。遗传算法主要通过交叉、变异、选择运算实现。交叉或变异运算生成下一代“染色体”,称为后代。“染色体”的好坏用适应度来衡量。根据适应度的大小从上一代和后代中选择一定数量的个体,作为下一代“染色体”,再继续进化,这一群新个体由于继承了上一代的一些优良性状,因而在性能上要优于上一代,这样逐步朝着更优解的方向进化。经过若干代之后,算法收敛于最好的染色体,它很可能就是问题的最优解或次优解,它是一种迭代式加密算法。

三、遗传加密算法的特点

遗传加密算法利用了生物进化和遗传的思想,所以它有许多与传统优化算法不同的特点:

1、遗传加密算法不是直接作用在参变量集上,而是利用参变量集的某种编码。

2、遗传加密算法在求解空间中从多个点寻找问题解,而不像某些传统方法从某一点寻找解。

3、遗传加密算法直接应用目标函数的函数值信息(即适应度值),而非函数的导数或其它辅助信息。

4、遗传加密算法引用了概率转换规则,而不采用确定性的转换规则指导搜索,因此,能搜索离散的、有噪音的多峰值复杂空间。

5、遗传加密算法使用随机操作,但并不意味着遗传算法是简单的随机搜索,它具有一定的方向性,它使用随机工具来指导搜索向着一个最优解方向前进,它的方向性使得它的效率远远高于一般的随机算法。

6、遗传加密算法采用自然进化机制来表现复杂的现象,能够快速可靠地解决非常困难的问题。

7、遗传加密算法具有固有的并行性,具有并行计算的能力。

8、遗传加密算法具有可扩展性,易于同别的技术混合。

四、遗传加密算法的应用

遗传加密算法的初期应用研究主要围绕组合优化问题求解,但近年来已迅速扩展到机器学习、设计规划、神经网络优化、自律分布控制和人工生命等众多领域。此外,还在核反应控制和喷气发动机设计等工程应用中进行了十分有意义的尝试。下面是遗传加密算法的一些主要应用领域。

1、遗传加密算法在组合优化中的应用

组合优化问题是遗传加密算法最基本也是最重要的应用领域。所谓组合优化问题是指在离散的、有限的数学结构上,寻找一个满足给定约束条件并使其目标函数达到最大或最小的解。在日常生活中,特别是在工程设计中,有许多这样的问题。最典型的是巡回旅行商问题和背包问题。

2、遗传加密算法在生产调度问题中的应用

在很多情况下,生产调度问题建立起来的数学模型难以精确求解,即使经过一些简化之后可以进行求解,也会因简化得太多而使得求解结果与实际相差甚远。目前,在现实生产中,主要是靠一些经验来进行调度。现在遗传加密算法已成为解决复杂调度问题的有效工具,在单件生产车间调度、流水线生产调度、任务分配等方面遗传加密算法都得到了有效的应用。

3、遗传加密算法在自动控制中的应用 

在自动控制领域中,有很多与优化相关的问题需要求解。例如,用遗传算法进行航空控制系统的优化、设计空间交会控制器等都显示出在这些领域中应用的可能性。

4、遗传加密算法在图象处理中的应用 

图象处理是计算机视觉中的一个重要研究领域,如目前已在模式识别(包括汉字识别)、图像恢复、图像边缘特征提取等方面得到了应用。

5、遗传加密算法在机器学习领域中的应用 

基于GA的机器学习是当前GA应用研究的热点,特别是分类器系统,在很多领域中都得到了应用。Holland的分类器系统是基于遗传加密算法机器学习的一个典型例子,GA部分的主要任务是产生新的分类器,如获取规则集合以预测公司的利润。Brooker等对分类器系统和GA进行了更加详细的评述。

6、遗传加密算法在数据挖掘中的应用 

数据挖掘是近几年出现的数据库技术,它能够从大型数据库中提取隐含、未知、有潜力、有应用价值的知识和规则。许多数据挖掘问题可看成是搜索问题,数据库可看作搜索空间,挖掘算法看作是搜索策略。因此,应用遗传加密算法在数据库中搜索,对随机产生的一组规则进化,直到数据库能被该组规则覆盖,从而挖掘出隐含在数据库中的规则。Sunil已成功地开发了一个基于遗传加密算法的数据挖掘工具,利用该工具对两个飞机失事数据库进行了数据挖掘实验,结果表明遗传加密算法是进行数据挖掘的有效方法之一。

从以上分析,我们可以得出:遗传加密算法不是一种单纯的优化算法,而是一种以进化思想为基础的全新的一般方法,是解决复杂问题的有力工具;遗传加密算法应用日趋广泛,其本身的发展也是不断进化的过程,理论研究需要引入新的数学工具、吸收生物学的最新成果。

小知识之迭代算法

迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。