linux – 用于启发式算法的调整/校准属性的软件

今天我读到有一个名为WinCalibra的软件(向下滚动一下),可以将带有属性的文本文件作为输入.

然后,该程序可以根据算法的输出值优化输入属性.有关更多信息,请参阅this paper或用户文档(请参阅上面的链接;遗憾的是doc是压缩的exe文件).

你知道其他可以在Linux下运行的软件吗? (首选开源)

编辑:因为我需要这个java应用程序:我应该将我的研究投入到gaulwatchmaker等java库中吗?问题是我不想推出自己的解决方案,也没有时间这样做.你有指向像Calibra这样开箱即用的应用程序的指针吗? (互联网搜索不成功;我只找到了库)

我决定放弃赏金(否则没有人会有好处)虽然我没有找到满意的解决方案:-((开箱即用的应用程序)

解决方法:

在这种情况下,某种(Metropolis algorithm样)概率选择随机游走是可能的.也许用模拟退火来改善最终选择.虽然你提供的时序参数不是最佳的,但这样才能获得非常好的结果.

它的工作原理如下:

>你从某个时刻开始.使用您现有的数据来选择一个看起来很有前途的数据(比如您获得的最高价值).此时将o设置为输出值.
>您建议在输入空间中随机选择一个步骤,将输出值分配给n.
>接受步骤(即更新工作位置)如果1)n> o或2)新值较低,但[0,1]上的随机数小于f(n / o),因为某些单调递增f(),范围和域为[0,1).
>只要你能负担得起,重复步骤2和3,在每一步收集统计数据.
>最后计算结果.在您的情况下,所有点的平均值可能就足够了.

重要的褶边:如果空间有很多局部最大值并且它们之间有深度倾斜,这种方法会有问题,除非步长大到足以通过倾角;但是大步骤会使整个事情变得缓慢.要解决这个问题,你需要做两件事:

>进行模拟退火(以较大的步长开始并逐渐减小它,从而允许助行器在早期在局部最大值之间移动,但稍后将其捕获在一个区域中以累积精确结果.
>使用几个(许多,如果你能负担得起)独立的步行者,以便他们可以被困在不同的局部最大值.您使用的越多,输出值的差异越大,您获得最佳最大值的可能性就越大.

如果你知道你只有一个大的,宽泛的,表现良好的局部极端,那么这就没有必要了.

最后,选择f().您可以使用f(x)= x,但如果使用f(x)= exp( – (1 / x)),您将获得最佳收敛.

同样,你没有足够的时间来完成很多步骤(尽管如果你有多台计算机,你可以运行单独的实例来获得多个步行者效果,这将有所帮助),所以你可能会因某种确定性而变得更好做法.但这不是我所知道的足以提供任何建议的主题.

上一篇:前缀树(Trie)两种方式实现详解--C++数据结构的实现


下一篇:Linux驱动开发学习的一些必要步骤