找到最有利的货币兑换顺序

时间:2012-10-08 05:18:36

标签: algorithm shortest-path directed-acyclic-graphs

我正在从我的书中进行以下练习:

最短路径算法可应用于货币交易。设c1,c2,.... 。 。 ,cn是各种各样的 rencies;例如,c1可能是美元,c2磅和c3里拉。对于任何两种货币ci和 cj,有汇率ri,j;这意味着你可以购买ri,j单位的货币cj 交换一个单位的ci。这些汇率满足ri,j·rj,i


所以基本上我们想要做的不是最小化,我们需要最大化利润。因此,我们需要找到从s到t的最长路径。我们断言存在从s到t的最短路径。

我想解决这个问题的方法是遵循这个算法:

  1. 取消图表的所有边缘
  2. 运行有向无环图的最短路径算法。
  3. 我相信这会奏效,但我不确定。在谷歌我发现了一些解决方案,包括另一个步骤:使用对数将速率的乘法转换为加法。我认为这一步不是必要的,但我仍然不确定。

1 个答案:

答案 0 :(得分:1)

停止尝试使用Google或StackOverflow查找解决方案并暂时考虑一下。虽然可以通过从各种来源收集资源,信息和想法来解决许多问题,但有些问题却无法解决。让你的电脑入睡。去找个安静的地方。想一想,直到你有了一个想法。在废纸或白板上绘制样本图。试试看。看看它是否有效。如果它不考虑为什么不,并试图找到一个新的想法。如果是这样,请尝试考虑一个无效的图表。当你确信自己拥有适用于所有图形的算法时,你就完成了。只是让我们告诉你解决方案,你不会学到太多东西。