首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从起始节点找到最合适的节点,开始节点和结束节点间接连接,边被加权。

从起始节点找到最合适的节点,开始节点和结束节点间接连接,边被加权。
EN

Stack Overflow用户
提问于 2021-05-28 12:54:43
回答 1查看 34关注 0票数 0

在下面的图片中,是我的整个图的一个子图。我有三种不同的节点,绿色、蓝色和紫色。

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

蓝色节点以加权的有向边相互连接。蓝色的边缘是加权的,而不是绿色或紫色的。

我想要解决的问题是:,我想找出最适合绿色节点的紫罗兰节点,例如,,我想说对于绿色节点GA,最合适的三个紫色节点是V1、V4、V42。

是什么使节点合适?

一个完美的匹配将是当绿色节点连接到所有的蓝色节点,紫色连接到。然而,绿色节点可以连接到更多的蓝色节点。对于一个紫色节点来说,这仍然是最好的分数。

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

是什么使它更合适呢?

蓝色节点之间的跳数越多,连接到蓝色节点的绿色和紫色节点就越小。另外,如果蓝色节点之间的权重越小,紫色节点的分数就越小,这里从绿色到紫色的方向就是要考虑的方向。

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

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

我计划使用neo4j数据库。

EN

回答 1

Stack Overflow用户

发布于 2021-05-29 19:54:06

一个完美的匹配将是当绿色节点连接到所有的蓝色节点,紫色连接到。

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

如果我对你的要求的猜测是正确的,那么Dijsktra algoritm会给出你的答案。算法会告诉你每个紫罗兰节点离每个绿色节点有多远,这样你就可以过滤掉那些距离我们只有两个跳的节点。

你们有样本数据集吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67739239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档