试图扭转朱莉娅的MetaGraph

时间:2018-04-03 14:35:24

标签: graph metadata julia reverse

我目前正在使用MetaGraphs.jl包处理Julia。

我用数据集创建了图形,图形的特征​​是有一个起始顶点和一个终点顶点。然而,通过创建所有可能的选项来创建图形,因此“花费太多时间”的一些边缘不会到达最终顶点。为了我的下一步/优化问题有一个体面的图表。 我通过简单地遍历所有边缘来清理图形,并且删除未到达末端顶点的那些边缘。但是这种方法的成本很高,我知道这是一种更明智的方法。 方法很简单:

1.反转图形(结束顶点变为起始顶点) 2.计算所有顶点距起始顶点的距离 3.删除与起始顶点没有定义距离的顶点

我创建了一个与我的类型相同的小图的示例:

module EssaiModule
using LightGraphs, MetaGraphs

g = DiGraph(8)
mg = MetaDiGraph(g, 1.0)

add_vertex!(mg)
add_edge!(mg,1,2)
add_edge!(mg,1,3)
add_edge!(mg,1,4)
add_edge!(mg,2,4)
add_edge!(mg,2,5)
add_edge!(mg,3,5)
add_edge!(mg,5,6)
add_edge!(mg,4,6)
add_edge!(mg,3,7)
add_edge!(mg,4,8)

rg=reverse(mg)

end

结束顶点是数字6,所以通常我想要擦除边缘3-> 7和4-> 8 但我甚至无法启动我的功能,因为我根本无法反转此图。

我收到错误消息“ LoadError:type MetaDiGraph没有字段badjlist ” 我知道这是因为图是metaGraph而不是lightGraph,但我们不能反转元图吗?它似乎是一个基本功能,在处理图形时可以在很多场合使用。

感谢您的帮助!

0 个答案:

没有答案