遗传编程

✍ dations ◷ 2025-12-11 07:49:58 #人工智能,进化算法,遗传算法

遗传编程或称基因编程,简称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进一步提出了宏遗传编程,一种使用遗传编程来生成一个遗传编程系统的技术。一些评论认为宏遗传编程在理论上不可行,但是需要更多的研究来确认。

相关

  • 螺旋CTCT可指:
  • 瘤牛瘤牛(学名:Bos taurus indicus)是一种肩部长有肉瘤的黄牛亚种,原产于印度,因印度文化尊崇牛类而免于被食用。现在常用来和欧洲牛或其他饲养牛杂交以改良它们的品质。生物学家曾认
  • 维科扬斯克山脉上扬斯克山脉(俄语:Верхоянский хребет,或有翻译维科扬斯克山脈)位于西伯利亚东部,纵贯俄罗斯的萨哈共和国,长1,000公里。位于勒拿河—阿尔丹河和亚纳河之间。南
  • 灭多威灭多威(Methomyl),又译纳乃得,是一种氨基甲酸酯类杀虫剂,原药为白色晶体粉末,商品态为可湿性粉剂、可溶性粉剂或乳油。1966年美国杜邦公司首先以“Lannate/万灵”的商品名将其推广
  • 源城区源城区是中国广东省河源市的市辖区,位于广东省东北部,处在东江中上游,是河源市政府所在地,也是河源市的政治、经济和文化中心。源城区总面积为362平方公里,2008年人口29.74万人。
  • 达哈拉沙漠达哈拉沙漠(Ad-Dahna)位于阿拉伯沙漠的中部,成为连接北面内夫得沙漠和南面鲁卜哈利沙漠的蝴蝶状沙地走廊,全长超过1,000公里,阔度少于80公里,沙丘因包含铁氧化物而呈红色。 达哈拉
  • 玛莉娜·阿布拉莫维奇玛莉娜·阿布拉莫维奇(塞尔维亚语:Марина Абрамовић,Marina Abramović,1946年11月30日-),出生于南斯拉夫贝尔格莱德,是位行为艺术家。自1970年代开始活跃至今,从事行
  • 唐元唐元(1269年-1349年),字长孺,号敬堂,学者称筠轩先生。元朝江浙行省徽州路歙县(今安徽黄山市歙县)人。元朝著名学者、理学家、文学家,仕至徽州路儒学教授。他是徽州唐氏三先生之一,也是
  • 万一夫万一夫(1917年3月-1985年3月6日),原名汉一夫。河南省上蔡县人。中国人民解放军军事将领。1938年3月参加新四军,曾任新四军第四支队。1942年起,任新四军第二师六旅十八团参谋长,新四
  • 安娜·安德森安娜·安德森(英语:Anna Anderson,1896年-1984年),最为知名的罗曼诺夫王室成员假冒者(英语:Romanov impostors),其自称是俄国沙皇尼古拉二世的女儿阿纳斯塔西娅女大公。阿纳斯塔西娅是