0

我真的很难在标题中描述这一点,但我会以更长的格式试一试。

我真的被这个问题难住了,我不是在寻找答案,只是一点帮助或一些需要阅读的特定主题。

我所拥有的是一个有向图,具有各种权重的边,包括负数和正数。我试图做的是编写一个算法,该算法提供了两个位于图上的节点(并假设它们是连接的)在它们之间找到一条路径,导致路径的总权重为零或负数。路径可以多次包含节点(希望允许路径抵消包含边的正权重)。

我目前正在阅读 Russel 和 Norvig 的人工智能,但由于各种问题(算法不断循环负循环),我正在努力寻找一种方法将文本中的逻辑应用于我的问题。我不完全了解如何为此使用 Backtrack 和 AStar 等方法

如果有人可以为我指出正确的方向,这将有助于我更好地理解我的问题,那将是一个很大的帮助,我可以很好地处理 DFS 和 BFS 以及与图表相关的许多其他事情,但必须找到一条路径两个节点之间的重量限制真的让我很困惑。

谢谢

下面我包含了一个示例图,我需要能够找到从 Start 到 Goal 的路径,其中路径的总权重不超过零。

示例图 http://i144.photobucket.com/albums/r166/ZooropaTV/bu.jpg

刚刚意识到我一直在做的很多搜索/阅读都被误导了,因为我的目标不一定是找到按重量计算的最短路径,而是通过访问所需的最少节点数,我需要换个思路现在关于它,但仍然想要任何建议

4

1 回答 1

0

我认为这就是您想要的:Floyd–Warshall 算法http://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm

您必须对其进行修改以满足您的需要,但它会检测负循环,从而使您可以找到零权重或更轻的路径。

于 2012-08-22T18:49:43.047 回答