问题描述
对于我们只需要使用矩阵和基数 R(允许 tidyverse)的项目,我需要为有向图定义随机加权弧,允许负权重。但是,由于我必须应用 Bellman-Ford 算法,因此我更愿意防止负加权循环。 有没有办法做到这一点,而不使用 igraph 包等? 到目前为止,我的方法无法防止负循环,因为我不知道如何防止具有负权重的双向节点:
nodes=1:5
set.seed(999)
edges<- data.frame(U_edge=sample(1:5,100,replace = T),V_edge= sample(1:5,weight_edge=sample(-10:20,replace=T))
# unique edges and no loops
edges2= edges %>% mutate(self=ifelse(V_edge==U_edge,1,0)) %>% filter(self==0) %>% select(-self) %>% distinct(U_edge,V_edge,.keep_all = TRUE)
edges_=edges2[sample(1:nrow(edges2),10,FALSE),]
有什么想法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)