今天,我读了this blog entry by Roger Alsing,它介绍了如何仅使用50个半透明多边形绘制Mona Lisa的副本。

我对这种特殊情况着迷于the results,所以我想知道(这是我的问题):遗传编程如何工作,遗传编程可以解决哪些其他问题?

最佳答案

关于罗杰的《蒙娜丽莎》程序是否完全是Genetic Programming,存在一些争议。它似乎更接近(1 + 1)Evolution Strategy。两种技术都是演化计算的更广泛 Realm 的示例,其中还包括Genetic Algorithms

遗传编程(GP)是不断发展的计算机程序(通常以树的形式-通常是Lisp程序)的过程。如果您特别想问GP,John Koza被广泛认为是领先专家。他的website包含许多指向更多信息的链接。 GP通常在计算上非常密集(对于非平凡的问题,它通常涉及很大的机器网格)。

如果您的要求更高,则通常使用进化算法(EA)为无法使用其他技术轻松解决的问题(例如NP难题)提供良好的近似解决方案。许多优化问题都属于此类。找不到精确的解决方案可能会占用大量计算资源,但有时接近最佳的解决方案已足够。在这些情况下,进化技术可能是有效的。由于它们的随机性,进化算法永远不能保证找到任何问题的最佳解决方案,但是如果存在,它们通常会找到一个好的解决方案。

进化算法也可以用于解决人类并不真正知道如何解决的问题。没有任何人类先入之见或偏见的EA可以产生令人惊讶的解决方案,这些解决方案可以与人类做出的最佳努力相提并论,甚至更好。即使向我们提出了一个好的解决方案,即使我们不知道如何创建一个好的解决方案,我们也必须承认它。换句话说,我们需要能够制定有效的fitness function

一些示例

  • Travelling Salesman
  • Sudoku

  • 编辑:可免费获得的书A Field Guide to Genetic Programming包含GP在何处产生了具有人类竞争力的结果的示例。

    关于genetic-programming - 基因编程的典型用例是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/355460/

    10-09 04:29