在Giraph,Graphchi或Pregel中首先实现广度

时间:2012-09-03 20:41:53

标签: algorithm graph breadth-first-search graphchi

有没有人知道在任何一个图形处理系统(Giraph,Pregel或Graphchi)中是否存在广度(来自多个来源)的实现。

或者请告诉我们在任何一个系统上更容易实现。

2 个答案:

答案 0 :(得分:4)

在Giraph用户邮件列表中,我们可以找到一些BFS实施的讨论 - 我想也是一个实现。

我过去曾对Giraph进行过这种搜索,可以在以下网址找到:

https://github.com/MarcoLotz/GiraphBFSSO

https://github.com/MarcoLotz/GiraphBFSTO

它们之间的区别在于,一个是面向目标的,另一个是面向结构的。

虽然它们不是来自多个起始顶点,但可以轻松修改代码以支持它:)

答案 1 :(得分:0)

您正在寻找多种子广度优先搜索(BFS)算法。

对于Giraph来说,这仍然是一个悬而未决的问题,可以在这里阅读 feature request

对于Pregel,您不能指望找到任何开放式算法,因为Pregel是Google的闭源图形系统。

我想最简单的方法是使用Github中的代码并分别为每个源执行代码。优化算法运行时复杂性的一个想法是为第一个种子顶点执行BFS并将结果重用于后续顶点种子(第一个BFS结果生成树,可以很容易地转换为任何给定的BFS顺序种子顶点)。

尽管如此,KISS建议简单地为k种子顶点执行k次BFS,直到遇到性能问题(这不太可能是由于BFS的线性运行时复杂性)。