什么是启发式算法的区别? [英] What is the Difference between a Heuristic and an Algorithm?

查看:461
本文介绍了什么是启发式算法的区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是启发式算法的区别?

What is the Difference between a Heuristic and an Algorithm?

推荐答案

这是算法是自动化解决方案的一个问题的说明。什么是算法确实是precisely定义。该解决方案可以或不可以是最好的一个,但你知道,从一开始有什么样的结果,你会得到。您可以实现在算法使用某种编程语言来获得(的部分)的节目

An algorithm is the description of an automated solution to a problem. What the algorithm does is precisely defined. The solution could or could not be the best possible one but you know from the start what kind of result you will get. You implement the algorithm using some programming language to get (a part of) a program.

现在,有些问题很难,你可能无法获得在可接受的时间内接受的解决方案。在这种情况下,你往往可以得到一个不太坏的解决方案更快,通过应用一些任意选择(猜测):这是一个启发式

Now, some problems are hard and you may not be able to get an acceptable solution in an acceptable time. In such cases you often can get a not too bad solution much faster, by applying some arbitrary choices (educated guesses): that's a heuristic.

一个启发式的仍然是一种算法,而是一个不会探讨这个问题的所有可能的状态,或将通过探索最有可能的人开始。

A heuristic is still a kind of an algorithm, but one that will not explore all possible states of the problem, or will begin by exploring the most likely ones.

的典型实例是从游戏。当编写一个象棋游戏程序,你可以试想一下在某个深度级别的每一个可能的举动,并运用一些评价功能的电路板。启发式将排除满枝头开头明显的不良举动。

Typical examples are from games. When writing a chess game program you could imagine trying every possible move at some depth level and applying some evaluation function to the board. A heuristic would exclude full branches that begin with obviously bad moves.

在某些情况下,你不寻找最佳的解决方案,但对于任何解决方案配合一定的约束。一个很好的启发,将有助于寻找在很短的时间内解决方案,也可能无法找到任何如果唯一的解决方案是在它没有选择去尝试的状态。

In some cases you're not searching for the best solution, but for any solution fitting some constraint. A good heuristic would help to find a solution in a short time, but may also fail to find any if the only solutions are in the states it chose not to try.

这篇关于什么是启发式算法的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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