Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 如何限制在有目标节点的复杂图中搜索的深度_Graph_Graph Algorithm_Depth First Search_State Machine - Fatal编程技术网

Graph 如何限制在有目标节点的复杂图中搜索的深度

Graph 如何限制在有目标节点的复杂图中搜索的深度,graph,graph-algorithm,depth-first-search,state-machine,Graph,Graph Algorithm,Depth First Search,State Machine,我需要搜索一个复杂的图形。搜索后,找到的路径需要始终以目标节点结束。此节点没有其他更深层次的节点。此外,路径的长度将受到限制,因此在达到限制之前,它必须找到目标节点。我有一个示例图: 在这种情况下,对于以下限制,我希望结果与它们相邻 2=>没有 3或4=>I,1,F 6=>I、2、3、I、1、F及以上所有 7或8=>I、1、2、3、I、1、F及以上所有 9=>I,2,3,I,2,3,I,1,F及以上所有 一旦我进一步增加限制,我会得到更多的循环等等。我知道深度优先搜索在目标状态下对我有用,但

我需要搜索一个复杂的图形。搜索后,找到的路径需要始终以目标节点结束。此节点没有其他更深层次的节点。此外,路径的长度将受到限制,因此在达到限制之前,它必须找到目标节点。我有一个示例图: 在这种情况下,对于以下限制,我希望结果与它们相邻

  • 2=>没有
  • 3或4=>I,1,F
  • 6=>I、2、3、I、1、F及以上所有
  • 7或8=>I、1、2、3、I、1、F及以上所有
  • 9=>I,2,3,I,2,3,I,1,F及以上所有

一旦我进一步增加限制,我会得到更多的循环等等。我知道深度优先搜索在目标状态下对我有用,但我不知道如何明智地考虑这个限制。我可以进行搜索,然后在达到深度限制时停止搜索。有更好的方法吗?

还有迭代深化DFS,您可以使用它


这并不是什么疯狂的事情,你只需将你想要的限制设定到DFS算法,每次你下降时,你都会降低限制;一旦你达到0,你的深度就达到了,你不能再往前走了。

还有迭代深化DFS,你可以使用它


这并不是什么疯狂的事情,你只需将你想要的限制设定到DFS算法,每次你下降时,你都会降低限制;一旦你达到0,你的深度就达到了,你不能再往前走了。

@我回答你的问题了吗?如果是,请接受答案,如果不是,请评论。@我回答了你的问题吗?如果是,请接受答案,如果不是,请评论。谢谢!这或多或少就是我所做的。我一直搜索到找到零,然后回溯到未访问的节点。我只是在读你的答案之前做的:)谢谢!这或多或少就是我所做的。我一直搜索到找到零,然后回溯到未访问的节点。我只是在读你的答案之前做的:)