酷项目使用遗传algorithm?

我正在寻找一个实际的应用程序使用遗传algorithm。 有些想法的东西是:

  • 网站界面优化
  • 用物理模拟器进行车辆优化
  • 遗传编程
  • 自动生成testing用例

但是没有人真的出现在我身上。 所以,如果你有一些空闲时间(几个月)花费在一个遗传algorithm项目上,你会select怎样处理?

一个有很多可能性的主题是使用演化algorithm来演变游戏策略。 人们使用进化来生成扑克,跳棋/跳棋,Go和许多其他游戏的策略。 J-GAP人们已经使用遗传编程为Robocode进化机器人。

我最近发表了关于进化计算的介绍性文章 。 它包括了一些演化algorithm已被使用的细节。 Adam Marczyk也写了很多很好的例子。 遗传Argonaut博客包含许多有趣的进化项目的链接。

学习分类器系统是一种不太常见的演化algorithm。 这演变出一套分类投入的规则。 它可以应用于与neural network相同的问题。 针对特定问题开发LCS可能是有趣的,例如尝试基于表单预测体育成绩。

我认为演变的乐高结构是迄今为止最有趣的GA玩具项目。

http://static.23.nu/md/Pictures/ZZ099735B6.jpg

你可能会对Roger Alsing的Mona Lisa感兴趣

我已经阅读了有关类似于提出的自动testing用例生成的问题。 其实这是完全相反的。 您可以指定testing用例,而不是让algorithm(遗传编程)创build将通过的代码。 这样你提供规范,你滋生你的程序。 如果你有一点谷歌,你可以find一些研究。
我觉得这是一个非常有趣的想法。 当然现在没有人会创build这样的应用程序,但这是很好的学习领域。

也许找一个旅行推销员之旅 。 我最近试图在巴黎的66个地点find一个徒步旅行,我发现编码所有这些东西非常有趣。 我觉得我的兴奋源于两个来源:我可以画出游览的事实(对于蒙娜丽莎的想法,或者工程是你的东西,乐高结构也是一件好事),而且事实上有很多方法可以比较:

  • 你可以使用简单的启发式方法,比如“从某个地方开始,总是去到最近的,没有访问过的地方”。
  • 你可以使用更复杂的启发式方法,比如“通过增加成本来增加边缘(任何地方)”,除非它会导致一个顶点或更小的周期出现三条边。
  • 如果成本满足三angular不等式,则可以使用近似algorithm,如基于最小生成树的简单algorithm。 作为一个奖励,你可以编写最小生成树(也许你甚至可以在那里使用GAs,尽pipe可用的快速和简单的精确algorithm)。 如果你有信心,你可以编码基于最小生成树和完美匹配的较难(3/2)逼近algorithm。
  • 如果您有任何旅行推销员巡视,并且它自己,你可以通过“uncrossing它”来改善它。 同样,这也假设了成本函数的一些条件。
  • 你甚至可以尝试自己找一个旅程,看看你是否能打败你的电脑。
  • 最后但并非最不重要的遗传algorithm! 这个问题非常适合GAs,因为有一个非常明确的适应function和一个非常简单的重组方法。

看看使用遗传编程可以解决哪些问题?

我以为车辆制造真的很酷。

它已被用于复杂的合成器生成声音补丁(例如Clavia Nord模块化G2 ),我也试过其他机器,雅马哈DX7的想法,但我想有相当多的软件替代品。 或图像生成。

在Palle Dahlstedt的一篇论文中阅读补丁algorithm背后的理论。 现在似乎是下降了,但…

遗传algorithm非常适合优化和调度。 一个例子就是安排一组机器,随着时间的推移有部件和操作员完成一组任务。 虽然可能不是最令人兴奋的项目,它将有真实世界的应用程序。

我和康威的“生命与遗传algorithm游戏”玩得很开心,
试图发展先进的生活forms..不知道它会让你忙
虽然好几个月

我相信我看到提到一个项目使用一个试图找出最佳的键盘布局将 – “击败德沃夏克”,就像它。 :d

回到大学,我做了多维函数最小化..可以说你有af(x)它需要参数x1,x2,x3,…,xn并生成一个值Y ..你需要find参数x1,.., xn这样Y = Y1 ..没有那么难..有趣的学习方式。 虽然Nedlermead是更有效率的..这不容易陷在当地的最低限度。

生成音乐作品! 了解David Cope和他的节目Emily Howell。