&Binary-State Assumption)的基础上。概率假设使传统的数学应用范围从确定性现象扩展到随机现象,二态假设对应了人类的精确思维方式。但自然界客观存在的事物除了可以精确表示之外,还存在着大量的模糊现象,如“年轻人”、“高个子”等,究竟多大年龄之间算“年轻’,,多高个子为“高个子”,这是人们观念中的模糊的概念,模糊(Fuzzy)概念由此产生。模糊性也就是生活中的不确定性。实际上客观事物的不确定性除了随机性外,模糊性也是一种不确定性。所谓模糊性是指事物的性质或类属的不分明性,其根源是事物之间存在过渡性的事物或状态,使它们之间没有明确的分界线。
在自然科学中,人们长久以来习惯于追求精确性,总希望把事物以数学方式描述出来,然而,面对模糊现象,传统的数学方法遇到了实质性的困难。但对于人的大脑而言,它具有很高的模糊划分、模糊判断和模糊推理的能力,而且人们为了表达和传递知识所采用的自然语言中已巧妙地渗透了模糊性,并能用最少的词汇表达尽可能多的信息。但是,对于计算机来说,无论它怎样发展,总无法达到人脑的境界,所以,用计算机来处理模糊信息,就需要一种能够将模糊语言形式化的工具,用数学的方式处理这种模糊性。模糊数学的一个重要特点,就是让数学反过来吸收人脑的模糊识别和判决特点,并将之运用于计算机,使部分自然语言能够作为算法语言直接进入程序,让机器通过模仿生物的思维判别模式,使人们能够以简易的程序来调动机器完成复杂的任务,从而大大提高机器的灵活性。人工智能,计算生命,遗传算法等前沿学科正是模糊数学理论发展的结果。在面对工程领域中大量的无法采用传统优化方法解决的复杂的、非线性的优化问题时,遗传算法作为模糊数学理论中重要的一支,因其具有简单、通用,鲁棒性强,且易于并行性的特点,而广泛应用于工程设计的优化,系统辨识和控制,机器学习,图像处理和智能信息处理等领域。
本文正是以遗传算法这一新的,融生命科学与工程科学于一体的全局搜索算法为主要的研究与讨论方向,重点讨论了基于遗传算法理论的图像分割问题。
5.1遗传算法的基本概念遗传算法(GA-Genetic Algorithms)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,由Michigan大学的J. Holland教授于1975年首先提出。它将“适者生存”的进化理论引入串结构,并且在串之间进行有组织但又随机的信息交换。通过遗传操作,使优良品质被不断保留、组合,从而不断产生出更佳的个体。子代个体中包含父代个体的大量信息,并在总体上胜过父代个体,从而使种群向前进化发展,即不断接近最优解。由于遗传算法是自然遗传学和计算机科学相互结合渗透的产物,因此借用了许多自然进化的基础术语。
·种群(population)和个体(individuals)
遗传算法处理的是染色体,或者叫基因型个体,通常以一维串结构资料来表现。一定数量的个体组成了种群(population ),或叫集团。
·种群规模(population size )
种群中个体的数目称为种群大小,也叫种群规模。
·适应度函数(fitness function )
各个个体对环境的适应程度叫做适应度。对于优化问题,适应度函数就是目标函数。遗传算法对适应度函数并不要求可导等条件,只要求适应度函数为可加以比较的非负函数。
·编码(coding)、译码(decoding)操作
遗传算法必须包含两个必须的资料转换操作,即把搜索空间中的参数或解转换成遗传空间中的染色体或个体,称为编码操作;反之,称为译码操作。
·选择(selection )、交叉(crossover)和变异(mutation)操作
这三个操作数是遗传算法的三个主要操作操作数,即遗传操作( genetic operation,是遗传算法的特点。(详细介绍将在下节。)
5.2遗传算法 5.2.1遗传算法的基本流程标准遗传算法(( SGA)的基本流程如图所示,算法主要步骤如下图5.1示:
1)随机产生初始种群,作为第一代。个体长度、种群规模、交叉概率、变异概率为固定值;
2)对父代种群计算适应度值;
3)判断是否满足终止条件,是,则执行步骤4:否则,进行选择、交叉、变异操作形成子代种群,并将子代种群作为下一次叠代的父代种群,转入执行步骤2;
4)输出最佳个体,退出。
SHAPE \* MERGEFORMAT
5.2.2遗传算法的要素遗传算法具有5个基本要素:编码机制,初始种群的设定,适应度函数的设定,遗传操作,控制参数的设定。具体步骤如下:
1.编码机制
编码机制是遗传算法的基础。通常遗传算法不直接处理问题空间的资料,而是将各种实际问题变换为与问题无关的串个体。对染色体串的遗传操作只与遗传算法的理论、技术有关,而与具体实际问题无关。这一特性增大了遗传算法的适用性。当实际问题变化时,可只改变适应度函数,而无需改变其它操作,加强了代码的通用性。最常用的方法是二进制串结构编码。
2.初始化种群设定
遗传算法处理流程中,编码设计之后的任务是初始种群的设定,并以此为起点一代一代的进化直到按照某种进化终止准则终止。最常用的初始方法是无指导的随机初始化。
3.