我只想介绍Lance Helsten的出色答案:
深度限制搜索将搜索特定深度(称为长度L)内的特定节点,并在找到它时停止搜索。如果您在他的答案中查看Wiki链接中的伪代码,您将会理解:
DLS(node, goal, depth) { if ( depth >= 0 ) { if ( node == goal ) return node for each child in expand(node) DLS(child, goal, depth-1) }}
但是,对于您而言,从节点寻找长度为L的所有路径时,您将不会在任何地方停下来。因此,伪代码必须修改为:
DLS(node, depth) { for each child in expand(node) { record paths as [node, child] DLS(child, depth-1) }}
在记录了DLS的连续嵌套中的所有单链接路径后,只需乘以它们的乘积即可获得整个路径。这些数量为您提供了从节点开始的所需深度的路径数量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)