我有一个看似简单的问题要在有向图中解决。给定一个有向图,例如图片中的一个,我需要找到两个“边界节点”(图片中的A和B)之间具有最小“最大成本”的路径。图中的每个节点都有一定的“成本”要入侵,因此对于每种可能的途径,我们都可以找到最大成本。例如,在图片中PATH 3获胜,因为最大代价小于PATH 1和PATH 2的最大代价。
我一直听说Tensorflow是一个库,可以让您解决通用图问题,所以我想知道Tensorflow周围是否有任何“现成可用的”库/后端可以让我解决此问题? >
谢谢你, 拉斐尔。
答案 0 :(得分:1)
Tenserflow是一个机器学习框架,对于您要解决的问题并不需要。您可以通过对Dijkstra's algorithm问题中所述的this进行简单修改来解决您的问题。唯一的区别是您的权重在节点上而不是边缘上,但是您可以简单地构造一个新图,在其中将每个原始边缘的权重设为零,并用两个新节点替换每个节点,一个用于传出边缘,一个用于替换边缘。传入边缘。然后,您还可以使用原始节点的权重,从传入边缘节点向传出边缘节点添加一条边缘。我让您验证此新图中的每个边的最小最大成本的路径是否与原始图中的每个节点的最小最大成本的路径相对应,并且可以使用改良的Dijkstra算法找到该路径。