遗传编程

✍ dations ◷ 2025-06-30 07:44:01 #人工智能,进化算法,遗传算法

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

相关

  • 萨丁岛坐标:40°00′N 09°00′E / 40.000°N 9.000°E / 40.000; 9.000撒丁岛(意大利语:Sardegna,,撒丁语:Sardìgna, Sardìnnia)位于意大利半岛的西南方,是地中海的第二大岛,仅次于西西
  • 一夜风流《一夜风流》(英语:It Happened One Night)是1934年上映的一部美国脱线喜剧电影,带有神经喜剧的元素,由克拉克·盖博与克劳黛·考尔白主演。本片是意大利裔美国导演法兰克·卡普
  • 昭和金融恐慌昭和金融危机是日本1927年3月昭和天皇在位时发生的经济危机。金融危机本是指一个抽象的经济现象,但在日本,若无特别说明,金融危机通常指代1927年发生的昭和金融危机。另外昭和
  • 雇主雇佣(英语:employment,意近:就业)是指二个伙伴之间的契约关系,其中一方为雇佣者(雇主、雇佣人),另一方为被雇佣者(雇员)。从法律意义来看,通过双方契约约定,“被雇佣者”为“雇佣者”工作
  • 加尔维斯顿岛29°17′08″N 94°49′38″W / 29.28556°N 94.82722°W / 29.28556; -94.82722加尔维斯顿岛是美国的岛屿,位于墨西哥湾,由德萨斯州负责管辖,长43公里、宽5公里,面积166平方公
  • 国际友人政治主题“中国人民的老朋友”是中国共产党和中华人民共和国政府及其主要领导人和高级官员褒称长期对华友好的重要外国人士的正式用语。其中一些人曾多次访华。据媒体统计,从
  • 中华虎头蟹中华虎头蟹(学名:Orithyia sinica)为虎头蟹总科(Orithyioidea)下虎头蟹科(Orithyiidae)虎头蟹属(Orithyia)的螃蟹。这种蟹的不寻常之处在于其处于唯一的总科、科和属下。其原分类为关
  • 智慧家庭家庭自动化(Home automation),是指家庭中的建筑自动化,也被称作智能家庭(smart home)。在英文中也有 Domotics 的称呼。家庭自动化系统能够控制灯光、窗户、温湿度、影音设备以及
  • 汉斯·赖斯纳汉斯·雅各布·赖斯纳(德语:Hans Jacob Reissner,1874年1月18日-1967年10月2日),也称为雅各布·约翰内斯·赖斯纳(Jacob Johannes Reissner),出生于柏林,德国航空工程师,业余爱好是数学
  • 弗兰克·丹切维奇弗兰克·丹切维奇(Frank Dancevic,1984年9月26日-)出生于尼亚加拉瀑布城,是一位加拿大职业网球运动员,2003年转职业。他曾参加2008年夏季奥林匹克运动会,结果在单打第一轮被淘汰。