问题描述
在对算法进行了一些研究之后,我发现使我感到困惑的两个术语。
我至少读过20篇论文,但是,关于这两种论文都没有明确的定义。
我希望有人能帮助我说出启发式算法和元启发式算法之间的区别。
如果可能的话,添加其来源。
After some research about algorithms I found two terms which confuses me.I've read at least 20 papers and yet, there aren't any clear definition about either.I hope someone can help me tell the difference between heuristics and metaheuristics algorithms.And if possible, add the source of it.
ps:我已经知道单词的含义,但是我不知道单词的含义
ps: I already know what the meaning is of the words, but I don't know what the exact difference is between them in computer science.
预先感谢
推荐答案
您可以将启发式方法视为问题的近似(而非近似)解决方案。近似与近似之间的区别在于,首先是要对问题的解决方案有一个很好的猜测,但是您并不真正知道问题的解决方案。第二个是获得一个解决方案,您可以证明该解决方案与最佳解决方案有多接近。
You could think of a heuristic like an approximate (not approximation) solution to a problem. The difference between approximate and approximation is that the first is about getting a good guess of the solution of a problem, but that you don't really know how good it is. The second is about getting a solution for which you can prove how close it is to the optimal solution.
因此,启发式方法通常取决于问题,也就是说,您为给定问题定义了一种启发式方法。元启发法是与问题无关的技术,可以应用于广泛的问题。试探法是,例如,选择一个随机元素以在Quicksort中进行透视。元启发式方法对它将要应用的问题一无所知,它可以将函数视为黑匣子。
So, heuristics are often problem-dependent, that is, you define an heuristic for a given problem. Metaheuristics are problem-independent techniques that can be applied to a broad range of problems. An heuristic is, for example, choosing a random element for pivoting in Quicksort. A metaheuristic knows nothing about the problem it will be applied, it can treat functions as black boxes.
您可以说启发式方法利用问题相关信息来找到特定问题的足够好的解决方案,而元启发式方法则像设计模式一样,是一般的算法思想可以应用于各种各样的问题。
You could say that a heuristic exploits problem-dependent information to find a 'good enough' solution to a specific problem, while metaheuristics are, like design patterns, general algorithmic ideas that can be applied to a broad range of problems.
这篇关于启发式和元启发式之间有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!