gpt4 book ai didi

c++ - 离散曲线进化算法

转载 作者:搜寻专家 更新时间:2023-10-31 02:00:00 33 4
gpt4 key购买 nike

我正在尝试在 C++ 中实现离散曲线演化算法,有人可以帮助我使用 psudo 代码或 C 代码吗?你理解的一些简单步骤

最佳答案

离散曲线演化是一种从凹曲线计算出处处凸曲线的算法。它以不连续的步骤沿法线向外移动曲线的凹面部分,直到消除所有凹面。它不是遗传算法,术语进化指的是随时间“进化”曲线的位置。

经过一段时间的搜索,互联网上最好的资源在这里: https://cis.temple.edu/~latecki/Software/Evo.zip

这是 matlab 代码,所以它不是您想要的,但您有三个不错的选择:

  1. 将其移植到 C++(只要不使用矩阵基元,通常不会对 matlab 造成困难。)
  2. 包装 matlab 代码,以便您可以从 C 调用它(matlab 提供库来执行此操作)
  3. 将其编译为可执行文件并从 C 调用它(matlab 也允许这样做)

选项 2 将要求任何想要运行它的人在他们的计算机上拥有 matlab 动态库的拷贝,这可能是不受欢迎的。我猜选项 3 也需要这个,但我只有选项 1 和 2 的经验。将 matlab 移植到 C++ 通常还不错;这取决于代码使用矩阵基元和矩阵运算的程度,这些矩阵基元和矩阵运算在 matlab 中易于使用而在 C++ 中难以使用(因为它们不是内置的)。尽管如此,我还是建议您尝试一下旧大学!

如果您只是在寻找 DCE,请查看文件 evolution.m。这就是实现 DCE 的函数。由此而来的全骨架剪枝算法只能在高层次上简单描述。各个步骤和部分非常复杂,DCE 只是其中的一小部分。

希望对您有所帮助!我将自己使用此代码,因此如果我最终以某种可能对您有所帮助的方式在 C++ 中使用它,我会通知您。

关于c++ - 离散曲线进化算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2490583/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com