gpt4 book ai didi

algorithm - 随机优先搜索?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:47 24 4
gpt4 key购买 nike

遍历图的两种最常见的方法是 breadth-first searchdepth-first search 。这两种搜索算法都遵循一个通用模板:

  • 创建一个工作列表 W,以起始节点 s 为种子。
  • 虽然工作列表不为空:
    • 删除工作列表的第一个元素;称它为v。
    • 如果 v 未被访问:
      • 将 v 标记为已访问。
      • 对于每个直接连接到 v 的节点 u,将 u 添加到 W。

在广度优先搜索中,工作列表 W 被实现为 FIFO queue ,而在深度优先搜索中它是 LIFO stack 。如果 W 是 priority queue ,你得到 uniform-cost search

不久前我问过 a question about a data structure for choosing random elements out of a bag 。如果您使用这个随机包实现上述工作列表 W,那么您将获得一个“随机优先搜索”算法,该算法从初始节点开始随机探索图中的节点。

我的问题是:是否有任何已知算法使用这种类型的搜索?也就是说,是否有通过以这种方式生成图的随机生成树来工作的算法? p>

最佳答案

自动拼图生成是一种应用,其中随机优先搜索是一种有用的策略。

假设您希望生成类似 Sudoku 的组合谜题实例.一种方法是生成一个随机的、完全求解的实例,然后在仍然存在唯一解的情况下删除数字。你如何首先生成那个随机解决的实例?您从一个空网格开始,然后应用随机优先 求解算法。事实上,事实证明,通过在随机优先最佳优先策略之间切换来选择下一个数字,使用相同的代码生成和解决方案是相当容易的去尝试。

这正是我们在编写 Nintendo DS 游戏 Zendoku 时所做的,我写了 a detailed article about our approach .

另见 this answer讨论使用随机生成迷宫 Prim's algorithm .

关于algorithm - 随机优先搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8885920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com