0

我想更好地理解各种常见搜索算法是如何相互关联的。有没有人知道一个资源,比如层次关系图或简明的文字描述?资源概述搜索算法的层次结构?

的我是什么意思一个小例子是:

A* Search 
    -> Uniform-cost is a variant of A* where the heuristic is a constant function 
     -> Dijkstra's is a variant of uniform-cost search with no goal 
    -> Breadth-first search is a variant of A* where all step costs are +ve and identical 

谢谢!

回答

1

没有层次正因为如此,只是一堆用不同性状不同的算法。

例如。 A *可以被认为是基于Dijkstra的,并且有一个额外的启发式。 或者它可以被认为是基于基于启发式的最佳优先搜索,并且还有一个额外的路径成本因素。

类似地,A *的执行方式与典型的广度优先搜索(即节点队列)的方式非常相似。迭代深化A *(IDA *)基于A *,因为它使用相同的成本和启发式度量,但实际上实现为深度优先搜索方法。

这里还有一个优化算法的大交叉。有些人认为遗传算法是一系列复杂的爬山尝试,但也有人认为它是一种波束搜索的形式。

搜索和优化算法通常会从多个来源中绘制属性,混合匹配方法以使它们与搜索域或计算需求更相关,而不是您将要使用的方法层次结构找到各种方法出现的主题选择。