4

如何在 C# 中编写遗传算法?有图书馆吗?喜欢 C++: http: //lancet.mit.edu/ga/

4

4 回答 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 回答