2.5 文化算法
十九世纪六十年代,信息论和系统论的研究将文化看成是信息的载体,认为文化是一个能完成与环境交互的系统,并能指导系统中每个成员的行为。社会学研究者认为,文化是一个由个体在进化过程中获取的经验和知识组成的信念空间,新的个体人可以在该信念空间中学到他没有直接经历的经验和知识。
基于这种想法,Reynolds于1994年提出了模拟人类社会进化过程的文化算法,将算法演化看作是在两个层面——微观层面和宏观层面上的继承过程。在微观层面,个体进行演化形成行为特征;在宏观层面,个体保存上述行为特征,并通过与微观层面的交流,对微观层面的继续演化加以引导。
文化算法提供了一种显性的机制来获取、保存和整合微观群体演化求解的知识和经验,而传统的演化计算技术只提供了隐性的知识表示和保存机制。这种方法的主要思想就是保存群体可接受的知识,抛弃不接受的知识。应用文化算法解决全局优化问题,就是用可接受的知识来引导微观群体的演化。文化算法的计算模型或框架如图2.5所示。
图2.5 文化算法的计算模型或框架
文化算法的计算框架是由群体空间(Population Space)和信念空间(Belief Space)两部分组成的,前者是基于传统种群的进化的,后者是基于信念文化的进化的,用于知识经验的形成、储存和传播;两者相对独立,但又相互联系。其中,函数accept()用于搜集优秀个体的经验知识;函数influence()利用解决问题的知识指导种群空间的进化;函数update()用于更新信念空间;函数generate()是群体操作函数,使个体空间得到进化;函数select()根据规则重新生成个体中选择一部分个体作为下代个体的父辈。由计算模型得到文化算法的基本流程如图2.6所示。
Reynold和Chung等人已利用文化算法求解全局优化问题,并取得较好结果。Chung和Reynolds将进化规划和遗传算法数值优化系统GENOCOP结合起来进行函数优化问题求解,将问题解空间分为可行域和非可行域,利用主群体空间中的可行解和非可行解对知识空间中保存的解位置信息、解区间(Interval)进行调整,再以该区间对问题解空间进行可行域和非可行域的进一步划分来指导主群体在可行域内的继续演化。Jin等人提出了一种n维的知识解模式,称为知识元(Belief-cell),将其作为进行非线性约束获取、保存和整合的机制,通过不可行个体对解空间进行剪枝来引导演化搜索,这都取得了较好的效果。
图2.6 文化算法的流程
Chung的研究关注于解决静态无约束实值函数优化,根据不同函数的特征定义了不同类型的知识,用以解决不同类型的问题,其研究关注于不同知识结构的作用,也指出对于不同的函数图形,某些类型的知识比其他类型更加有用。
Saleem首次使用文化算法处理动态优化问题,并对文化算法和自适应EP的性能进行了比较,显示出文化算法在所有实验中性能优于自适应EP。
Trung等人提出了一种局部搜索和文化算法相结合的办法来解决优化问题,Reynolds等人对文化算法中的知识学习和社会群体进行了研究,另外还有采用传统进化计算结合文化算法的研究,对一些问题取得了比传统进化算法更好的结果。
总之,作为一种新的进化算法,文化算法可以看作上下两层空间框架或模型。下层的群体空间和上层知识空间各自保存自己的群体,并各自独立并行演化。一般而言,下层空间定期贡献精英个体给上层空间,上层空间不断进化自己的精英群体,反过来影响(或控制)下层空间群体,最终形成双演化、双促进机制。文化算法已初步成功应用于静态问题的优化搜索、多目标优化、调度问题、动态环境优化等方面。目前,对文化算法的研究已成为计算智能研究的热点,获得了不同领域众多学者的关注,应用文化算法的求解问题,包括在不同的群体(如不同演化算法的群体)内可按不同的速度进行演化求解的复杂系统问题,结合搜索和知识引导的混合系统求解问题,需多群体及其交互的求解问题,将不同算法结合,利用其各自特性进行混合求解的问题等。由此可见,这种文化算法模型或框架针对不同问题可以采用不同内涵的群体空间和信仰空间,具有广泛的应用前景。