问题标签 [weighted-graph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1260 浏览

r - R:查找二维点云的 2 个点之间的最短测地线路径

我在 Vincent Zoonekynd 编写的两个函数的帮助下创建了下图(您可以在此处找到它们)(在帖子末尾找到我的代码)。

连接到它们的 3 个相邻点的点

为了能够解释邻域图和参数“k”是什么,等距特征映射使用的邻域图和参数“k”是什么。“k”指定每个点直接连接到多少个点。它们的距离只是彼此之间的欧几里得距离。任何点与其 (k + 1) 最近点(或任何更远的点)之间的距离称为“测地线”,是到达那里所需的所有边缘长度的最小总和。这有时比欧几里得距离长得多。我图中的 A 点和 B 点就是这种情况。

现在我想添加一条黑线,显示从 A 点到 B 点的测地线距离。我知道命令segments(),这可能是添加线的最佳选择,并且我知道找到最短路径的一种算法(测地线距离) 是 Dijkstra 的算法,它在包中实现igraph。但是,我既不能igraph解释我的图表,也不能自己找出需要传递的点(顶点)(及其坐标)。

顺便说一下,如果 k = 18,即如果每个点都直接连接到最近的 18 个点,那么 A 和 B 之间的测地线距离将只是欧几里得距离。


0 投票
3 回答
4670 浏览

networkx - networkx 加权图中的中心性

我无法计算简单 NetworkX 加权图的中心性。
这是正常的还是我做错了什么?

我在 for 循环中添加了一个简单的边add_edge(c[0],c[1],weight = my_values),其中 c[0],c[1]是字符串(节点的名称)和整数。my_values这是结果边缘的示例:

(节点的数量并不重要——现在我只保留 20 个)

我的图表的边缘列表是一个元组列表,带有 (string_node1,string_node2,weight_dictionary) - 一切看起来都很好,因为我还能够绘制/保存/读取/图表...

为什么?:

  • nx.degree_centrality给我全1?
  • nx.closeness_centrality给我全1?

例子:

谢谢你的帮助。

0 投票
2 回答
75 浏览

math - 无向图抽象

我有一个无向加权图,我需要正式描述它。似乎没有为无向图定义通过自动机或标记转换系统进行的抽象,仅涵盖有向图。图中的状态相互依赖,但方向本身并不相关。

你知道什么数学模型可以用来正式描述这样的图吗?

0 投票
0 回答
652 浏览

shortest-path - 使用 GraphFrames Spark 在加权有向图中查找最短路径

spark的graphFrames包很棒。我可以使用命令找到从“a”到“d”的最短路径

但是如何定义加权图并计算两个节点之间的最短路径?

谢谢。

0 投票
1 回答
674 浏览

java - 如何从 Java 中的文本文件生成 Dijkstra 最短路径算法的加权图映射?

我有一个文本文件“NYRoadNetwork.txt”,其中包含加权图的以下信息:

第一行代表图中的节点数,即30

第二行表示连接图中任意两个节点的边数,即17

剩余部分是连接任意两个节点的边的权重,例如。第三行的“0 1 2”表示连接节点0和1的边的权重为2。

现在,我的问题是,我如何在从文本文件中读取数据后,编写一个 java 代码来生成完整的图形,而不是一个一个地输入每个节点和边?

仅供参考,这是我想要修改的原始 java 代码的一部分。

0 投票
1 回答
1186 浏览

algorithm - 不能满足所有需求的最小成本的最大流量

我正在使用NetworkX来解决具有多个源和接收器的最大流量问题。我发现了一个在 NetworkX 中运行良好的函数,max_cost_flow但我遇到的问题是它要求净需求为零,换句话说,任何接收器都不应低于它的需要,否则会引发错误。

我可以使用什么(或如何修改此算法)来允许它计算最佳可能流量,而不一定满足所有条件?

根据 kraskevich 的建议:

0 投票
1 回答
378 浏览

python - PageRank score computing

I'm currently working on the TextRank algorithm, which uses PageRank. I was wondering how does PageRank take the edge weight into account when calculating the scores?

I'm working with Python to implement my textrank algorithm, can I use the pagerank Python function to compute the score of the nodes even though my graph is weighted (and the edge weight is important)?

0 投票
2 回答
4496 浏览

python - 使用 networkx 加权边缘列表时出错

我创建了一个加权边列表,我试图用它来生成一个加权无向图:

数据在 csv 中,在 excel 中如下所示:

正如其他 StackOverflow 帖子所推荐的那样,我一直在使用以下代码读取 csv:

第一行运行良好,但第二行产生错误消息:

如果我检查 G,它已经很好地读取了节点但没有读取权重,有什么想法吗?

0 投票
1 回答
299 浏览

java - JGrapht:哈密顿循环程序返回 getEdgeWeightException

我一直在研究这段代码,我需要创建一个动态完整图,并尝试通过访问每个顶点一次来找到从开始顶点到结束的最短路径。经过一番研究,我找到了哈密顿循环问题的代码并将其添加到我的代码中。运行这段代码后,我得到了这个:

请注意,第一行打印生成的随机数,之后我打印边缘的权重以进行检查,最后在“从开始到结束的最短路径”之后打印 (vertices.size() * (vertices.size() - 1) / 2) 和 g.edgeSet().size() 检查图形是否完整。

这是我的代码:

编辑:我对这段代码的唯一问题是 hamiltoniancycle 方法中的 getedgeweight 方法

0 投票
1 回答
756 浏览

java - 室友匹配算法

我目前正在学习高级数据结构课程,并且对图表有所了解。今年夏天,我被要求帮助编写一个算法来匹配室友。现在,对于我的数据结构课程,我编写了一个城市路径图并执行了一些排序和 prims 算法,我有点想,一个图可能是开始我的室友匹配算法的好地方。

我在想我们的数据库可能只是一个文本文件,没什么花哨的。但是我可以将图中的每个节点初始化为一个学生每个学生对更多的学生都有一个无向边(对于不想和另一个室友的学生没有边,联谊会也不想要重复室友)。现在我还可以根据特殊兴趣使边缘权重更大。

上面列出的所有内容都非常简单,我认为实施它不会遇到任何问题。但这是我的问题:

我应该如何更新共同兴趣领域?我应该从物理调查开始,然后返回文本文件并手动更新边缘的权重吗?或者我应该创建一个跟踪匹配兴趣的字段?