iGraph 中的介数计算
Posted
技术标签:
【中文标题】iGraph 中的介数计算【英文标题】:Calculation of betweenness in iGraph 【发布时间】:2015-03-12 17:32:08 【问题描述】:我看到一些info 表明 iGraph 加权图中的接近度是使用权重作为成本而不是强度来计算的。
我想知道这是否也适用于介数。即,如果我在顶点之间有两条路径,其中一条 (a) 的边权重总和为 100,另一条 (b) 为 200,介数将路径 a 解释为成本最低的路径,并将此边权重值包含在分子中的介数计算。
如果是这样,为了获得基于强度的介数,我假设将权重转换为等于 1/权重?
我尝试使用以下三节点边缘文件对此进行测试:
V1 V2 weight
1 2 1
1 3 4
2 3 1
使用上面提供的权重,节点 2 的介数为 1,其他 = 0。这似乎表明介数计算正在避免从 2->1->3 的路径,因为它将高权重视为成本。
但是,如果我创建一个新的加权变量:
E(g)$weightI <- 1/E(g)$weight
并运行介数:
b<-data.frame(betweenness(g, V(g), directed=FALSE, weights=E(g)$weightI))
,
所有中介值都是0,这是出乎意料的,对整理我最初的问题并不是特别有帮助
【问题讨论】:
这不是用一个小例子就能轻松测试的吗? 我有一个这样的例子,但它并没有证明特别有用。查看更新后的帖子 【参考方案1】:事实上,igraph 假设在介数计算中边的权重是成本,而不是强度。这是因为(据我所知)介数是根据最短路径定义的,而图论中路径的“长度”是所涉及边的长度(权重)的总和. “基于优势的中介”没有明确的定义。您可以尝试将您的“优势”转换为成本,但您可以根据您选择的转换获得不同的结果,因为某些转换可能表明转换图中的一条特定路径较短,而其他一些转换可能表明其他一些路径是更短。
【讨论】:
所以假设真实权重是唯一的,加权介数几乎总是会考虑每对顶点之间的一条最短路径,而不是仅考虑图距离时的许多?以上是关于iGraph 中的介数计算的主要内容,如果未能解决你的问题,请参考以下文章
电气介数电气介数及考虑HVDC和FACTS元件的电气介数计算
图计算库 igraph 在 windows 10 上的编译安装
图计算库 igraph 在 windows 10 上的编译安装