graph-traversal相关内容

BFS、迭代DFS和递归DFS:何时将节点标记为已访问

在谷歌上搜索了许多小时后,我仍然没有找到关于这个问题的深入、直观和可靠的解决方案。我找到的最接近的文章,链接到某个不知名的论坛上,是这样的:https://11011110.github.io/blog/2013/12/17/stack-based-graph-traversal.html。我也看到了这个堆栈溢出问题DFS vs BFS .2 differences,但回应没有达成明确的共识。 ..

深度优先搜索的完备性

我引用了人工智能:现代方法: 深度优先搜索的属性在很大程度上取决于使用的是图搜索还是树搜索版本.避免重复状态和冗余路径的图搜索版本在有限状态空间中是完整的,因为它最终会扩展每个节点.另一方面,树搜索版本不完整[...].深度优先树搜索可以在没有额外内存成本的情况下进行修改,以便它根据从根到当前节点的路径上的状态检查新状态;这避免了有限状态空间中的无限循环,但并没有避免冗余路径的扩散. ..

如何在 ArangoDB 中的图遍历期间消除通过特定文档或顶点的所有路径

我正在尝试在这里进行图形遍历 我在 ArangoDB 中创建了两个集合,一个文档集合 "Node" 和一个边集合 "Path".我的所有节点都有一个 name 属性(标签),并由边(线)连接,如上图所示. 我尝试了以下查询来查找以 end 或 error 节点结尾的路径: FOR v, e, p IN 1..10 OUTBOUND 'Node/start_0' 路径选项 { bfs: ..
发布时间:2021-11-17 01:34:32 其他开发

ArangoDB:获取与所选节点有任何关系的每个节点

我在 ArangoDB 中有一个简单的节点链接图.如何从 1 个预选节点遍历并返回与其相关的所有节点? 例如:A→B、B→C、C→D、C→E、F→B、F→E 选择其中任何一个都应该返回相同的结果(所有这些). 我对 ArangoDB 很陌生. 解决方案 您需要的是 AQL 图遍历,自 ArangoDB 2.8 起可用.旧版本提供了一组图相关的函数,但原生 AQL 遍历更快 ..
发布时间:2021-11-17 01:31:22 其他开发

Arangodb AQL 递归图遍历

我有一个包含三个集合的图,这些集合可以通过边连接.ItemA 是 itemB 的父项,而后者又是 itemC 的父项.元素只能由方向上的边连接 "_from : child, _to : parent" 目前我只能通过这个 AQL 查询获得“线性"结果: LET contains = (FOR v IN 1..? INBOUND 'collectionA/itemA' GRAPH 'myGr ..
发布时间:2021-11-17 01:30:46 其他开发

如何在ArangoDB中进行图遍历时消除通过特定文档或顶点的所有路径

我正在尝试在此处进行图遍历 我在ArangoDB中创建了两个集合,一个文档集合"Node"和一个边缘集合"Path".我所有的节点都有一个name属性(标签),并通过边(线)连接,如上图所示. 我在下面的查询中尝试查找以 end 或 error 节点结尾的路径: FOR v, e, p IN 1..10 OUTBOUND 'Node/start_0' Path OPTI ..
发布时间:2020-06-17 19:08:38 其他开发

通过边缘将父顶点和子节点分组为master/sub json数组

首先我正在使用天蓝色的宇宙数据库. 一个人works_for多个办公室.每个Office可以是IsMaster,也可以不是.如果它是IsMaster,则可以在另一个Office处具有master_of边缘.每个works_for边都有一个人的AccessLevel属性. 逻辑:给定一个人员名称,获取IsMaster ='true'的该人员works_for的所有局.然后返回取自work ..
发布时间:2020-06-17 19:06:36 其他开发

寻找graph#tree变压器用法示例

我正在使用编程语言 Ya 编写新的Transpiler编译器.由于 AST抽象语法树转换和输出语言代码生成很重要,因此我希望使用现有的 tree#graph转换器和输出生成器= pretty打印机. 但是由于找不到使用示例,因此至今未能找到该工具. 我已阅读过的有前途的工具列表: Spoofax + Stratego/XT :尚未找到源代码;也许找到了,但是它是在Java中不允许评估Stra ..
发布时间:2020-06-17 19:06:33 其他开发

完整图形上最便宜的成本遍历

我想知道是否有一种算法可以: 给定一个完全连接的n个节点的图(具有不同的权重)...将为我提供从节点A(起始节点)到所有其他节点并返回到节点A的最便宜的周期吗?有没有办法改变像Primm这样的算法来实现这一目标? 感谢您的帮助 编辑:我忘了提到我正在处理一个无向图,所以每个顶点的入度=出度. 解决方案 不需要任何此类路径.当且仅当每个节点的入度等于其出度时,它才存在. 您 ..
发布时间:2020-06-17 19:06:29 其他开发

ArangoDB:获取每个节点,该节点与所选节点有任何关系

我在ArangoDB中有一个简单的节点链接图.如何从1个预选节点中遍历并返回与其相关的所有节点? 例如: A→B,B→C,C→D,C→E,F→B,F→E 选择任何一个都应返回相同的结果(所有). 我对ArangoDB非常陌生. 解决方案 您需要的是 AQL遍历可让您跟随连接到起始顶点的边,直至可变深度.可以访问每个遇到的顶点,例如进行过滤或构造结果,以及导致您到达该顶点 ..
发布时间:2020-06-17 19:06:27 其他开发

Arangodb AQL递归图遍历

我有一个包含三个集合的图,可以通过边连接项. ItemA是itemB的父级,而后者又是itemC的父级. 元素只能通过边沿方向 连接 "_from : child, _to : parent" 目前,通过此AQL查询只能得到“线性"结果: LET contains = (FOR v IN 1..? INBOUND 'collectionA/itemA' GRAPH 'myGraph' ..
发布时间:2020-06-17 19:06:17 其他开发

深度优先搜索的完整性

我引用了人工智能:一种现代方法: 深度优先搜索的属性在很大程度上取决于是否使用图搜索版本或树搜索版本.避免重复状态和冗余路径的图搜索版本在有限状态空间中是完整的,因为它将最终扩展每个节点.另一方面,树搜索版本不是完整的[...].深度优先树搜索可以在不增加内存开销的情况下进行修改,因此它会根据从根到当前节点的路径上的状态来检查新状态.这避免了有限状态空间中的无限循环,但并没有避免冗余路径的泛 ..

图中所有可能的路径

给定一个图 G(V,E),一个源顶点 s 和目标顶点 d ,问题是要找到所有可能的从 s 到 d 的路径,其中 G 可能包含循环和循环。我想获得所有简单的路径,不允许循环。 这个问题的复杂性是什么? 解决方案 此问题是NP难题,因为其输出的输入可能成指数大小。 找到之间的最长路径两点已经是NP难点了(减少了哈密顿路径问题),所以找到所有这些点也是一样。 通过查看图中两个顶 ..
发布时间:2020-06-03 21:47:07 其他开发

递归查找相关类的列表

假设我有一个班级代表一个朋友,另一个班级代表一对最好的朋友和一对最好的朋友,并且想知道与每个最好的朋友间接相关的每个朋友,如下所示: class Friend { string Name; } class BestFriends { Friend NameFriend1; Friend NameFriend2; } List ListOf ..
发布时间:2020-05-02 08:35:07 C#/.NET

Neo4J TraversalDescription定义

我正在尝试创建一个 TraversalDescription ,它将执行以下搜索; 仅返回指向的节点有一定的属性(“type”==“PERSON”) 返回一定数量的结果(整个图表很大,我们只对本地图表感兴趣) 可以使用任何关系类型 我没有设法走得很远,我可以似乎没有弄清楚如何为节点属性创建一个Evaluator; TraversalDescription td = Trav ..
发布时间:2019-01-10 13:34:34 Java开发