从更长的时间尺度看,生物体对环境的适应还会迫使生物进化,从而实现从简单到复杂、从低等到高等的跃迁。
约翰·霍兰(John Holland)是美国密西根大学的心理学、电器工程以及计算机的三科教授。他本科毕业于麻省理工学院,后来到了密西根大学师从阿瑟·伯克斯(Arthur Burks,曾是冯·诺依曼的助手)攻读博士学位。1959年,他拿到了全世界首个计算机科学的博士头衔。别看霍兰个头不高,他的骨子里却有一种离经叛道的气魄。他在读博期间就对如何用计算机模拟生物进化异常着迷,并最终发表了他的遗传算法。
John Holland(1929—)
遗传算法对大自然中的生物进化进行了大胆的抽象,最终提取出两个主要环节:变异(包括基因重组和突变)和选择。在计算机中,我们可以用一堆二进制串来模拟自然界中的生物体。而大自然的选择作用——生存竞争、优胜劣汰——则被抽象为一个简单的适应度函数。这样,一个超级浓缩版的大自然进化过程就可以搬到计算机中了,这就是遗传算法。
遗传算法在刚发表的时候并没有引起多少人的重视。然而,随着时间的推移,当人工智能的焦点转向机器学习时,遗传算法就一下子家喻户晓了,因为它的确是一个非常简单而有效的机器学习算法。与神经网络不同,遗传算法不需要把学习区分成训练和执行两个阶段,它完全可以指导机器在执行中学习,即所谓的做中学(learning by doing)。同时,遗传算法比神经网络具有更方便的表达性和简单性。
无独有偶,美国的劳伦斯·福格尔(Lawrence Fogel)、德国的因戈·雷伯格(Ingo Rechenberg)以及汉斯·保罗·施韦费尔(Hans-Paul Schwefel)、霍兰的学生约翰·科扎(John Koza)等人也先后提出了演化策略、演化编程和遗传编程。这使得进化计算大家庭的成员更加多样化了。