Algorithm A*算法的局限性

Algorithm A*算法的局限性,algorithm,artificial-intelligence,a-star,heuristics,Algorithm,Artificial Intelligence,A Star,Heuristics,我有两个问题: 它是如何被称为一个算法,作为一个*,但不是 在优先级中插入选定节点的所有邻居 队列中,它只插入最好的k 它是如何被称为一个算法,作为一个*,所以它插入选定节点的所有邻居 优先级队列,但此优先级队列的大小有限,因此 如果其中有多个h元素,则该算法将丢弃最差的元素 节点。我认为这是SMA*的一个简单版本 我知道这些算法不是optmal,但它们看起来在我的项目中运行得很好。我想知道他们过去是否被研究过。我在网上找不到任何用户满的东西 听起来很贪婪。您是希望只访问最佳节点,还是希望在其他

我有两个问题:

  • 它是如何被称为一个算法,作为一个*,但不是 在优先级中插入选定节点的所有邻居 队列中,它只插入最好的k
  • 它是如何被称为一个算法,作为一个*,所以它插入选定节点的所有邻居 优先级队列,但此优先级队列的大小有限,因此 如果其中有多个h元素,则该算法将丢弃最差的元素 节点。我认为这是SMA*的一个简单版本

  • 我知道这些算法不是optmal,但它们看起来在我的项目中运行得很好。我想知道他们过去是否被研究过。我在网上找不到任何用户满的东西

    听起来很贪婪。您是希望只访问最佳节点,还是希望在其他节点用尽时插入其他邻居?特别要注意的是,这样队列一次只包含一个元素:弹出一个元素,然后添加一个元素(或不添加)。为了更好地解释,如果任何节点有10个邻居,在循环中,算法将只在开放队列中添加最好的(最低的f)5个邻居。今天下午,我在《人工智能:现代方法》一书中学习了很多,Russel Norvig,meaby,这个算法可以被认为是一种波束搜索。你同意吗?是的,在浏览了相关段落之后,这似乎是合适的,尽管“光束搜索”可能更一般一些,而不仅仅是类似a*-的搜索(例如,没有距离启发)。我同意你的观点。我直接引用人工智能:一种现代的方法,Russel Norvig:“向前修剪的一种方法是束搜索:在每一层上,只考虑N个最佳移动的一束”(根据评价函数)。而不是考虑所有可能的移动。不幸的是,这种方法相当危险,因为不能保证最好的移动不会被剪掉。”因此我将使用这种算法称之为波束搜索