遗传算法(GA)和遗传规划(GP)是一个有趣的研究领域。
我想知道你使用GA/GP解决的具体问题,以及如果你没有自己的库/框架,你使用了什么库/框架。
问题:
你用GA/GP解决过什么问题? 你使用了哪些库/框架?
我在寻找第一手的经验,所以请不要回答,除非你有。
遗传算法(GA)和遗传规划(GP)是一个有趣的研究领域。
我想知道你使用GA/GP解决的具体问题,以及如果你没有自己的库/框架,你使用了什么库/框架。
问题:
你用GA/GP解决过什么问题? 你使用了哪些库/框架?
我在寻找第一手的经验,所以请不要回答,除非你有。
当前回答
Several years ago I used ga's to optimize asr (automatic speech recognition) grammars for better recognition rates. I started with fairly simple lists of choices (where the ga was testing combinations of possible terms for each slot) and worked my way up to more open and complex grammars. Fitness was determined by measuring separation between terms/sequences under a kind of phonetic distance function. I also experimented with making weakly equivalent variations on a grammar to find one that compiled to a more compact representation (in the end I went with a direct algorithm, and it drastically increased the size of the "language" that we could use in applications).
最近,我将它们用作默认假设,以此来测试由各种算法生成的解决方案的质量。这主要涉及分类和不同类型的拟合问题(即创建一个“规则”,解释审查员对数据集所做的一组选择)。
其他回答
我不知道家庭作业算不算…
在我学习期间,我们推出了自己的程序来解决旅行推销员问题。
我们的想法是对几个标准进行比较(映射问题的难度,性能等),我们还使用了其他技术,如模拟退火。
它运行得很好,但我们花了一段时间来理解如何正确地进行“复制”阶段:将手头的问题建模成适合遗传编程的东西,这对我来说是最难的部分……
这是一门有趣的课程,因为我们也涉猎了神经网络之类的知识。
我想知道是否有人在“生产”代码中使用这种编程。
几周前,我提出了一个关于SO的解决方案,使用遗传算法来解决图布局的问题。这是一个约束优化问题的例子。
同样在机器学习领域,我用c/c++从头开始实现了一个基于ga的分类规则框架。 我还在一个示例项目中使用了GA来训练人工神经网络(ANN),而不是使用著名的反向传播算法。
此外,作为我研究生研究的一部分,我已经使用GA来训练隐马尔可夫模型,作为基于em的Baum-Welch算法的额外方法(还是在c/c++中)。
Several years ago I used ga's to optimize asr (automatic speech recognition) grammars for better recognition rates. I started with fairly simple lists of choices (where the ga was testing combinations of possible terms for each slot) and worked my way up to more open and complex grammars. Fitness was determined by measuring separation between terms/sequences under a kind of phonetic distance function. I also experimented with making weakly equivalent variations on a grammar to find one that compiled to a more compact representation (in the end I went with a direct algorithm, and it drastically increased the size of the "language" that we could use in applications).
最近,我将它们用作默认假设,以此来测试由各种算法生成的解决方案的质量。这主要涉及分类和不同类型的拟合问题(即创建一个“规则”,解释审查员对数据集所做的一组选择)。
我做了一个完整的GA框架,命名为“GALAB”,解决了很多问题:
定位GSM ANTs (BTS)以减少重叠和空白位置。 资源约束项目调度。 进化图景的创造。(Evopic) 旅行推销员问题。 n -皇后和n -颜色问题。 骑士之旅和背包问题。 魔方和数独谜题。 字符串压缩,基于超字符串问题。 二维包装问题。 微型人工生命APP。 鲁比克难题。
我几周前做了这个有趣的小玩意。它生成有趣的互联网图像使用GA。有点傻,但很好笑。
http://www.twitterandom.info/GAFunny/
对此有一些见解。它是一些mysql表。一个用于图像列表及其评分(即适合度),另一个用于子图像及其在页面上的位置。
子图像可以有几个细节,但不是全部实现:+大小,倾斜,旋转,+位置,+image_url。
当人们投票决定这张照片有多有趣时,它或多或少会流传到下一代。如果它存活下来,它会产生5-10个带有轻微突变的后代。目前还没有交叉。