Graph 有没有办法将floyd Warshall应用于包含或和节点的图,以获得顶点之间的最短路径

Graph 有没有办法将floyd Warshall应用于包含或和节点的图,以获得顶点之间的最短路径,graph,shortest-path,floyd-warshall,Graph,Shortest Path,Floyd Warshall,我创建了一个面向语义的web服务依赖图,其中节点是web服务,如果可以组合,则两个服务之间存在一条边(一个服务的输出与另一个服务的输入相似)。权重是一个取决于服务质量和相似性的函数 当我收到一个需要由许多服务组成的服务请求时,我需要查找最短路径以获得响应> 因此,给定用户请求(输入和输出),我可以在图中找到开始和结束节点,然后使用floyd(已经预计算以节省时间)找到它们之间的最佳最短路径 这就是为什么我需要在图中的每一对服务之间获得最短路径 假设服务a具有输入x和y x由服务B和C的输出提供

我创建了一个面向语义的web服务依赖图,其中节点是web服务,如果可以组合,则两个服务之间存在一条边(一个服务的输出与另一个服务的输入相似)。权重是一个取决于服务质量和相似性的函数

当我收到一个需要由许多服务组成的服务请求时,我需要查找最短路径以获得响应>

因此,给定用户请求(输入和输出),我可以在图中找到开始和结束节点,然后使用floyd(已经预计算以节省时间)找到它们之间的最佳最短路径

这就是为什么我需要在图中的每一对服务之间获得最短路径

假设服务a具有输入x和y x由服务B和C的输出提供 y由服务D的输出提供

因此,我将在我的图表中有一个关系:

(B或C)和D-->A


因此,我正在寻找一种解决方案,以一种我们可以应用floyd warshall的方式来转换我的图形

我不知道如何使用floyd warshall。此外,您的图形应该非常稀疏,因此使用它不会有很大的好处。对我来说,为“和”节点修改Dijkstra似乎更有希望。你为“和”节点修改Dijkstra是什么意思?你会有一类特殊的节点,它们的暂定距离由两个(或更多)部分组成。只有在所有部分都有一个值之后,它们才会被认为是可访问的。