遗传编程

✍ dations ◷ 2025-11-20 02:14:48 #人工智能,进化算法,遗传算法

遗传编程或称基因编程,简称GP,是一种从生物演化过程得到灵感的自动化生成和选择计算机程序来完成用户定义的任务的技术。从理论上讲,人类用遗传编程只需要告诉计算机“需要完成什么”,而不用告诉它“如何去完成”,最终可能实现真正意义上的人工智能:自动化的发明机器。

遗传编程是一种特殊的利用进化算法的机器学习技术,它开始于一群由随机生成的千百万个计算机程序组成的“人群”,然后根据一个程序完成给定的任务的能力来确定某个程序的适合度,应用达尔文的自然选择(适者生存)确定胜出的程序,计算机程序间也模拟两性组合,变异,基因复制,基因删除等代代进化,直到达到预先确定的某个终止条件为止。

遗传编程的首批试验由斯蒂芬·史密斯(1980年)和Nichael·克拉姆(1985年)发表。约翰·Koza(1992年)也写了一本著名的书,《遗传编程:用自然选择让计算机编程》(ISBN 9780262111706),来介绍遗传编程。

使用遗传编程的计算机程序可以用很多种编程语言来写成。早期(或者说传统)的GP实现中,程序的指令和数据的值使用树状结构的组织方式,所以那些本来就提供树状组织形式的编程语言最适合与GP,例如Koza使用的Lisp语言。其他形式的GP也被提倡和实现,例如相对简单的适合传统编程语言(例如Fortran、BASIC和C语言)的线性遗传编程。有商业化的GP软件把线性遗传编程和汇编语言结合来获得更好的性能,也有的实现方法直接生成汇编程序。

遗传编程所需的计算量非常之大(处理大量候选的计算机程序),以至于在90年代的时候它只能用来解决一些简单的问题。近年来,随着遗传编程技术自身的发展和中央处理器计算能力的指数级提升,GP开始产生了一大批显著的结果。例如在2004年左右,GP在多个领域获取近40项成果:量子计算、电子设计、游戏比赛、排序、搜索等等。这些计算机自动生成的程序(算法)中有些与2000年后人工产生的发明十分类似,甚至有两项结果产生了可以申请专利的新发明。

在90年代,人们普遍认为为遗传编程发展一个理论十分困难,GP在各种搜索技术中也处于劣势。2000年后,GP的理论获取重大发展,创建确切的GP概率模型和马尔可夫链模型已成为可能。遗传编程比遗传算法适用的范围更广(实际上包含了遗传算法)

除了生成计算机程序,遗传编程也被用与产生可发展的硬件。

Juergen Schmidhuber进一步提出了宏遗传编程,一种使用遗传编程来生成一个遗传编程系统的技术。一些评论认为宏遗传编程在理论上不可行,但是需要更多的研究来确认。

相关

  • 佩德罗·阿尔莫多瓦尔佩德罗·阿尔莫多瓦尔·卡瓦耶罗(西班牙语:Pedro Almodóvar Caballero,西班牙语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Sego
  • PGD胚胎植入前遗传筛选(英语:preimplantation genetic screening,简称PGS)是一种优生学技术,配合试管婴儿使用,该技术能筛查胚胎的潜在疾病基因,将有问题的胚胎提早销毁,只留下无问题的
  • 中功中华养生益智功简称中功,是张宏堡创建的气功及其组织。按照中功的说法,中功是张宏堡自创的“麒麟文化”的一部分,张宏堡编写中功的目的是“祈愿人间都是仙”。中功在中国大陆曾
  • 西开赛省西开赛省(法语:Kasaï-Occidental)是刚果民主共和国中部的一个省,西南与安哥拉相邻。面积154,742平方公里,1998年人口3,337,000人。首府卡南加。2009年,根据2006年通过的新宪法,西
  • 公历公历可以指:1. 儒略历,公元前45年罗马共和国执政官尤利乌斯·凯撒推行的对罗马历予以纠正的历法,是公元前45年—公元1582年欧洲使用的公历。2. 格里历,公元1582年教宗额我略十
  • DHPRDHPR可能指:
  • NGC 2501NGC 2501是位于船尾座的一个星系。它的赤经为 758.6,赤纬为 -14° 22′。
  • 17α-雌二醇17α-雌二醇(英语:17α-Estradiol,缩写17α-E2)也称为17-表雌二醇(17-epiestradiol)或雌-1,3,5(10)-三烯-3,17α-二醇(estra-1,3,5(10)-triene-3,17α-diol)是一种较弱的内源性甾体
  • 汪机汪机(1463年-1539年),字省之。别号石山居士。明朝医学家,新安医学的重要人物。世居安徽祁门。早年学习《春秋》,补邑庠弟子员。其后弃儒就医,所著《本草会编》、《脉诀刊误》、《推
  • 海底轮海底轮(梵文:मूलाधार,Muladhara),又称"基底轮"、"根脉轮",印度瑜伽认为,它是人体的七个脉轮之一,位于脊椎骨的末端,介于生殖器开口与肛门之间。它的代表色是红色,但是它中间,通