r - 如何知道图中的哪些节点是可移动的

标签 r algorithm graph-theory igraph

我有一个图 g 大约有 200 个顶点和一些属性,我想知道哪些节点可以被删除,也就是说,这意味着 g 仍然是一个连接的删除它们后的子网,我也想知道哪个节点将产生我需要的属性的最高增长。

举个例子可能更容易理解

g <- erdos.renyi.game(200, 0.03)
V(g)$name <- 1:vcount(my_graph) 
V(g)$weight <- rnorm(200) 
V(g)$RWRNodeweight <- runif(200, min=0, max=0.05)

#Criteria to meet
cumsum <- sum(V(g)$weight*V(g)$RWRNodeweight)/sqrt(sum(V(g)$RWRNodeweight^2))

我想知道哪些节点是“可移动的”,即在删除它们之后,图仍然是完全连接的,然后如果删除“可移动”节点 cumsum 增加,则删除带有增幅最大。一旦删除了具有最高增加量的“可移动”节点,我想再次开始该过程,直到删除“可移动”节点时 cumsum 没有增加

最佳答案

I would like to know which nodes are "removable", i.e, after removing them the graph is still fully connected

articulation.points告诉您删除这些节点会增加连通分量数的节点列表。任何在此列表中的节点都可以安全删除。然后你必须遍历这个列表并计算 cumsum 的新值(一一排除每个节点)以找到最好删除的一个。

关于r - 如何知道图中的哪些节点是可移动的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33883357/

相关文章:

algorithm - 全文搜索和角色权限

algorithm - 最接近 3D 中一组四条线的点

java - JAVA 中的大输入

c++ - 计算图中 MST 的数量

r - 这些包需要从(在 NAMESPACE 文件中)导入

r - 为什么循环变量的地址在使用时会发生变化?

r - 获取使用purrr::map创建的列表项的名称

java - 帮助遍历节点/输入文件读取

R中的R树和图分区库

r - 计算 PDF 的最大值