使用Graphs.jl在Julia中创建简单的图形对象

prc*_*tro 5 graph-theory julia

我开始研究图论(我打算在机器学习和/或贝叶斯推理中使用它).我想在Julia中编码,并找到了Graphs包.但是,如何使用此包创建简单的图形?例如,这一个:

在此输入图像描述

如果我决定如何使用创建表示此图的Julia对象,那将非常有用Graphs.它的文档缺乏示例,所以我无法入门.

wal*_*uss 5

Julia 的Graphs具有simple_graph用于创建此类小图的接口。要手动创建上述图形,以下代码就足够了。

using Graphs

g = simple_graph(4, is_directed=true) # simple_graph(number_of_vertices, is_directed=true|false)
add_edge!(g, 1, 2)
add_edge!(g, 1, 4)
add_edge!(g, 2, 4)
add_edge!(g, 3, 1)
add_edge!(g, 3, 2)
add_edge!(g, 4, 3)
Run Code Online (Sandbox Code Playgroud)

使用手册中算法的简短示例。

test_cyclic_by_dfs(g)
Run Code Online (Sandbox Code Playgroud)

这是一个基本的情节。

julia> plot(g)
Run Code Online (Sandbox Code Playgroud)

图形可视化图

  • 一般来说,我现在会使用 LightGraphs.jl。 (3认同)