如何在 C# 中编写遗传算法?有图书馆吗?喜欢 C++: http: //lancet.mit.edu/ga/
问问题
6087 次
4 回答
5
这听起来像是一个滑稽的答案,但你首先要决定你想让遗传算法解决什么问题。如前所述,旅行销售人员问题是一个常见的问题,也是了解他们如何工作的相当好的方法。
我说这是 GA 最重要的部分之一是适应度函数,没有框架会为你编写。
这篇2003 年的codeproject 文章确实涵盖了:
- 健身功能
- 有偏的轮盘赌
- 突变
它易于使用:
GA ga = new GA(crossover rate,
mutation rate,
population size,
number of generations,
number of parameters for the fitness function);
ga.FitnessFunction = new GAFunction(theActualFunction);
这可以升级到 .NET 3:
ga.FitnessFunction = delegate(double[] values)
{
return 1.2d;
};
如您所见,适应度函数期望您的基因表示为双值(而不是例如位字符串)。
但是(这并不是在否定这篇文章,这很好),只要您知道基本 GA 的工作原理,您就可以很容易地自己编写这篇文章。
于 2010-11-22T11:55:20.170 回答
2
有一个很好的框架“AForge.NET Genetics”,它会给你提供的不仅仅是你可以在 codeproject 上找到的“hello world”示例。请参阅 C# 中的重复帖子遗传编程
于 2011-11-30T13:37:40.077 回答
0
您可以在CodeProject上找到 C# 的一些遗传算法信息。
于 2009-04-14T19:03:49.023 回答
0
我用 C# 开发了一个简单的 GA 展示项目。这是遗传算法的hello world,我在一组接口上构建了示例,这些接口足够通用,可以用作开发遗传算法的模式。
您可以在 github 页面上找到代码和文档(包括包含设计图的 Enterprise Architect 文档)。您还可以下载可执行文件以查看它的运行情况。
希望能帮助到你。
于 2010-03-28T20:59:13.207 回答