当前位置: 首页 > 知识库问答 >
问题:

从起始节点开始寻找最合适的节点,起始节点和结束节点是间接连接的,边是加权的

齐涛
2023-03-14

下图是我整个图的子图。我有三种不同类型的节点,绿色、蓝色和紫色。

绿色和紫色通过蓝色节点间接连接。

蓝色节点通过加权的有向边彼此连接。蓝色边缘被加权,但绿色或紫色边缘不被加权。

我想解决的问题是:我想找到最适合绿色节点的紫色节点。,e、 g.我想说,对于绿色节点GA,三个最合适的紫色节点是V1、V4和V42。

什么使一个节点合适?

完美的匹配应该是当绿色节点连接到紫色节点所连接的所有蓝色节点时。然而,绿色节点可以连接到更多的蓝色节点。这仍然是紫罗兰节点的最好成绩。

如果绿色和紫色不连接到同一个蓝色节点,而是连接到彼此连接的蓝色节点,则该算法需要考虑蓝色节点之间的边的权重。这不会导致完美的匹配,但仍然是一个很好的匹配。

是什么让它或多或少合适?

连接蓝色节点所需的蓝色节点之间的跃点越多,绿色和紫色节点连接的时间越小,紫色节点的分数就越小。此外,如果蓝色节点之间的权重越低,紫色节点的分数越小,则此处从绿色到紫色的方向是要考虑的方向。

如果绿色没有连接到某些蓝色节点,那将是一个惩罚,紫色节点的分数会更小。

你能想到什么图形算法来解决这个问题?

我打算使用neo4j数据库。

共有1个答案

轩辕炎彬
2023-03-14

完美的匹配应该是当绿色节点连接到紫色节点所连接的所有蓝色节点时。

我认为这意味着有一条从绿色节点到紫色节点的路径,只通过一个蓝色节点。如果有多个紫色节点与绿色节点之间只有一个蓝色节点,那么您需要所有这样的vilet节点。请确认这一点。

如果我对您需求的猜测是正确的,那么Dijsktra算法将给出您的答案。算法会告诉你每个紫色节点离每个绿色节点有多远-所以你可以过滤掉正好两跳的节点。

你有样本数据集吗?

 类似资料:
  • 我试图解决一个问题,其中有一个带正加权边的无向图,我需要找到一个最短的路径,该路径正好覆盖所有节点,一旦给定了起始节点和结束节点。此外,图是完整的(每个节点都连接到图中的所有其他节点)。我已经试着寻找一个算法可以解决这个问题,但我还没有找到一个解决这个问题。由于起止节点的限制,这并不完全是旅游销售员的问题。我将感谢任何帮助。

  • 我有一个场景 我想从一个特定的节点(比如ID:7)开始运行BFS 如果有无法从该节点访问的节点,我想重新启动BFS(使用任何剩余节点),直到访问图的所有顶点 到目前为止,我得到的是从节点0开始并用另一个未访问的顶点重新启动的代码(部分): 如何有效地更改此代码以满足我的要求?

  • 10.4. 查找节点的直接子节点 解析 XML 文档时,另一个有用的己技巧是查找某个特定元素的所有直接子元素。例如,在语法文件中,一个 ref 元素可以有数个 p 元素,其中每一个都可以包含很多东西,包括其他的 p 元素。你只要查找作为 ref 孩子的 p 元素,不用查找其他 p 元素的孩子 p 元素。 你可能认为你只要简单的使用 getElementsByTagName 来实现这点就可以了,但是

  • 在manager节点上创建了Swarm之后,我们就可以来添加worker节点了。 通过ssh登录到worker节点所在的主机上。本教程中则登录到worker1主机上。 执行创建Swarm时,运行命令docker swarm init输出产生的,用来加入Swarm的命令。我们将创建一个worker节点并加入到之前创建的Swarm中。 $ docker swarm join \ --token SW

  • 我正在寻找一个算法来检查任何有效的连接(最短或最长)之间的两个任意节点在一个图上。 我的图被固定为一个具有逻辑(x,y)坐标的网格,具有北/南/东/西连接,但是节点可以随机移除,所以你不能假设取离目标最近的coords的边总是会让你到达那里。 代码是用Python编写的。数据结构是每个节点(对象)都有一个连接节点的列表。列表元素是对象引用,因此我们可以递归地搜索该节点的连接节点列表,如下所示: 尽

  • 本文向大家介绍DOM节点的根节点是不是body?相关面试题,主要包含被问及DOM节点的根节点是不是body?时的应答技巧和注意事项,需要的朋友参考一下 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它提供了对文档的结构化的表述,并定义了一种方式可以使从程序中对该结构进行访问,从而改变文档的结构,样式和内容。DOM 将文档解析为一个由节点和对象(包含属性和方法的对象)组成的结构集合。简