软件调整/校准属性的启发式算法 [英] Software to Tune/Calibrate Properties for Heuristic Algorithms

查看:172
本文介绍了软件调整/校准属性的启发式算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

今天,我读了有一个名为 WinCalibra (滚动软件位递减),它可以把一个文本文件属性作为输入。

Today I read that there is a software called WinCalibra (scroll a bit down) which can take a text file with properties as input.

该程序可以再优化的基础上你的算法的输出值的输入特性。请参见本文或了解更多信息(见上面链接的用户文档;可悲的是文档是一个压缩EXE)。

This program can then optimize the input properties based on the output values of your algorithm. See this paper or the user documentation for more information (see link above; sadly doc is a zipped exe).

你知道哪些可以做哪些Linux下运行相同的其他软件? (preferable开源)

Do you know other software which can do the same which runs under Linux? (preferable Open Source)

修改:因为我需要这个Java应用程序:要我投资我的研究在Java库一样的高卢钟表匠?问题是,我不希望推出自己的解决方案,也没有我有时间这样做。你有指向一个彻头彻尾的开箱即用的应用程序,如CALIBRA? (互联网搜索并非全成,我只找到库)

EDIT: Since I need this for a java application: should I invest my research in java libraries like gaul or watchmaker? The problem is that I don't want to roll out my own solution nor I have time to do so. Do you have pointers to an out-of-the-box applications like Calibra? (internet searches weren't successfull; I only found libraries)

我决定放弃赏金(否则没有人会受益),虽然我没有找到一个满意的解决方案:-((即开即装即用的应用程序)

I decided to give away the bounty (otherwise no one would have a benefit) although I didn't found a satisfactory solution :-( (out-of-the-box application)

推荐答案

某些种类的(的 Metropolis算法样)选择的概率随机游走是在这种情况下的可能性。也许,模拟退火,提高了最终选择。虽然您提供的时序参数不适合用来获得一个真正伟大的结果,这种方式。

Some kind of (Metropolis algorithm-like) probability selected random walk is a possibility in this instance. Perhaps with simulated annealing to improve the final selection. Though the timing parameters you've supplied are not optimal for getting a really great result this way.

它的工作原理是这样的:

It works like this:

  1. 您开始在一些点。使用您现有的数据选择一个看起来有前途的(就像你已经得到了最高值)。设置 0 来在这一点上的输出值。
  2. 您提出的输入空间随机选择的步骤中,指定产值 N
  3. 在接受(即更新工作位置),如果1)步 N'≠0 或2)新的值较低,但在一个随机数[0, 1)小于 F(N / O)对于一些单调增加 F()与范围和领域[ 0,1)。
  4. 重复步骤2和3,只要你能负担得起,收集每一步的统计数据。
  5. 最后计算的结果。在你的情况下,平均所有点的可能就足够了。
  1. You start at some point. Use your existing data to pick one that look promising (like the highest value you've got). Set o to the output value at this point.
  2. You propose a randomly selected step in the input space, assign the output value there to n.
  3. Accept the step (that is update the working position) if 1) n>o or 2) the new value is lower, but a random number on [0,1) is less than f(n/o) for some monotonically increasing f() with range and domain on [0,1).
  4. Repeat steps 2 and 3 as long as you can afford, collecting statistics at each step.
  5. Finally compute the result. In your case an average of all points is probably sufficient.

重要做样子:的这种做法有麻烦,如果在空间有许多当地的最大值与他们的的深逢低除非的步长是大到足以让过去的骤降;但大的步骤,使整个事情慢收敛。为了解决这个问题,你做两件事情:

Important frill: This approach has trouble if the space has many local maxima with deep dips between them unless the step size is big enough to get past the dips; but big steps makes the whole thing slow to converge. To fix this you do two things:

  1. 请模拟退火(开始用大的步长,逐步减少它,从而使沃克早期局部最大值之间移动,但它捕获在一个区域后积累precision结果。
  2. 使用几个(很多,如果你能负担得起)的独立步行者,使他们能够得到被困在不同的局部最大值。你越是使用,以及更大的输出值的不同,你就越有可能得到最好的最大值。

这是没有必要的,如果你知道你只有一个,大,宽,很好地表现局部极值。

This is not necessary if you know that you only have one, big, broad, nicely behaved local extreme.

最后,选择F()。您的可以的只是使用 F(X)= X ,但如果你使用,你会得到最优收敛 F(X )= EXP( - (1 / X))

Finally, the selection of f(). You can just use f(x) = x, but you'll get optimal convergence if you use f(x) = exp(-(1/x)).

此外,你没有足够的时间进行了大量的措施(但如果你有多台计算机,可以运行单独的实例来获得多个步行者的效果,这将帮助),所以你可能会更好一些一种确定性的方法。但是,这不是一个问题,我有足够的了解,以提供任何意见。

Again, you don't have enough time for a great many steps (though if you have multiple computers, you can run separate instances to get the multiple walkers effect, which will help), so you might be better off with some kind of deterministic approach. But that is not a subject I know enough about to offer any advice.

这篇关于软件调整/校准属性的启发式算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆