遗传编程,或称基因编程/GP ,是一种从生物进化过程得到灵感的自动化生成和选择计算机程序来完成用户定义的任务的技术。从理论上讲,人类用遗传编程只需要告诉计算机"需要完成什么",而不用告诉它"如何去完成",最终可能实现真正意义上的人工智能:自动化的发明机器。遗传编程是一种特殊的利用进化算法的机器学习技术, 它开始于一群由随机生成的千百万个计算机程序组成的"人群",然后根据一个程序完成给定的任务的能力来确定某个程序的适合度,应用达尔文的自然选择(适者生存)确定胜出的程序,计算机程序间也模拟两性组合,变异,基因复制,基因删除等代代进化,直到达到预先确定的某个中止条件为止。遗传编程的基本思想也是借鉴了自然界生物进化理论和遗传的原理,是一种自动随机产生搜索程序的方法。由于该算法作为一种新的全局优化搜索算法,以其简单通用、鲁棒性强,并且对非线性复杂问题显示出很强的求解能力,因而被成功地应用于许多不同的领域,并且在近几年中得到了更深入的研究。