Nic*_*Liu 28 computer-science heuristics
在对算法进行一些研究之后,我发现了两个令我困惑的术语.我已经阅读了至少20篇论文,然而,两者都没有明确的定义.我希望有人可以帮助我区分启发式算法和元启发式算法.如果可能,添加它的来源.
ps:我已经知道这些词的含义是什么,但我不知道它们在计算机科学中究竟有什么区别.
提前致谢
Ale*_*iad 38
您可以将启发式视为问题的近似(非近似)解决方案.近似和近似之间的区别在于,第一个是关于对问题解决方案的一个很好的猜测,但是你真的不知道它有多好.第二个是关于获得一个解决方案,您可以证明它与最佳解决方案的接近程度.
因此,启发式算法通常依赖于问题,即您为给定问题定义启发式算法.Metaheuristics是与问题无关的技术,可应用于广泛的问题.例如,一种启发式方法是在Quicksort中选择一个随机元素进行旋转.元启发式对它将要应用的问题一无所知,它可以将函数视为黑盒子.
你可以说启发式利用依赖于问题的信息来找到特定问题的"足够好"的解决方案,而元启发式则像设计模式一样,可以应用于广泛的问题的一般算法思想.
为了给出正确的引用,相对于亚历杭德罗回答:
«元启发式是一种高级别的独立于算法的算法框架,它提供了一套指导或策略来开发启发式优化算法[...]根据元启发式框架中表达的指南,启发式优化算法的特定问题实现也被称为元启发式»(Sörensen,Glover on http://scholarpedia.org/article/Metaheuristics)
完全完成.我们应该区分精确算法,近似算法和启发式算法.精确的算法找到了精确的解决方案.近似算法应在可接受的时间内找到近似解,并用假设的最优解指示其差异范围.启发式算法在可接受的时间内找到了一个足够好的解决方案.
顺便说一下,Alejandro quicksort的例子似乎并不完全适合两三个不同的原因.
详细解释请参见:
\n\nS\xc3\xb6rensen,K.(2015)。元启发式\xe2\x80\x94暴露的隐喻。国际运筹学汇刊,22(1), 3-18。
\n\n\n\n\n元启发式是一种与问题无关的高级算法框架,它提供了一组用于开发启发式优化算法的指南或策略。该术语还用于指根据此类框架中表达的指导方针\n 启发式优化算法的针对特定问题的实现(S\xc3\xb6rensen,\n 2015)。
\n
启发式是指导方针,元启发式是使用这些指导方针的框架。
\n