- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在向 Julia 中的简单加权有向图添加边(来自 SimpleWeightedDiGraph(),它是 LightGraphs 包的一部分)。一些弧是“自由的”(零权重)。但是,当指定权重 0 时,它不会作为新边添加,并且最短路径问题不会将其包含在可能的解决方案中。有没有一种简单的方法可以在 Julia 中向图形添加“自由”边/弧?
最佳答案
关键问题是如何在稀疏矩阵(这是 SimpleWeightedGraph 的底层数据存储)中表示零值。虽然底层零值在显式设置后确实会被保留:
julia> g = SimpleWeightedGraph(6)
{6, 0} undirected simple Int64 graph with Float64 weights
julia> add_edge!(g, 1, 2, 1.0)
true
julia> add_edge!(g, 1, 3, 1.0)
true
julia> add_edge!(g, 1, 3, 0.0)
true
julia> weights(g)
6×6 SparseMatrixCSC{Float64,Int64} with 4 stored entries:
[2, 1] = 1.0
[3, 1] = 0.0
[1, 2] = 1.0
[1, 3] = 0.0
如果你必须对边缘做任何事情,这将会失败:
julia> collect(edges(g))
1-element Array{SimpleWeightedGraphs.SimpleWeightedEdge{Int64,Float64},1}:
Edge 1 => 2 with weight 1.0
对此没有真正好的解决方案。我的建议是使用上面建议的足够小的权重来近似零值。
(PS:初始 add_edge!(g, 1, 3, 0.0)
不起作用的原因是在 Julia 中,将新稀疏矩阵元素的值设置为零是不行的- 操作。)
关于graph - 如何在 LightGraphs (Julia) 中向图形添加自由边?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48977068/
我是 Julia 和 LightGraphs 的新手,我一直在努力寻找检测和删除自循环的最有效方法。到目前为止,我找到的唯一方法是遍历 Simplegraph 中的所有节点,检查它是否有自循环,然后将
我想知道如何计算给定节点对之间的距离,比如节点“i”和“j” 这是一个最小示例,例如来自具有 100 个节点和连接性 3 的随机正则图中的节点 2 和 12 julia> using LightGra
我正在向 Julia 中的简单加权有向图添加边(来自 SimpleWeightedDiGraph(),它是 LightGraphs 包的一部分)。一些弧是“自由的”(零权重)。但是,当指定权重 0 时
我正在向 Julia 中的简单加权有向图添加边(来自 SimpleWeightedDiGraph(),它是 LightGraphs 包的一部分)。一些弧是“自由的”(零权重)。但是,当指定权重 0 时
Julia 中是否有一个 LightGraph 函数相当于 Networkx 中的 ancestors 函数? 最佳答案 可能更快的方法: function ancestors(g::SimpleDi
我是一名优秀的程序员,十分优秀!