Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 匈牙利算法(也称为Munkres';赋值算法)_Algorithm_Math - Fatal编程技术网

Algorithm 匈牙利算法(也称为Munkres';赋值算法)

Algorithm 匈牙利算法(也称为Munkres';赋值算法),algorithm,math,Algorithm,Math,我最近偶然发现了这个问题,我很难向自己解释。该算法解决了O(n4)中的问题(显然可以改进为O(n3)),但我不明白为什么 直觉上,我可以看出,该算法将倾向于找到好的最优解,但我看不到证据!到目前为止,我看到的所有证据都包含我不熟悉的符号。我的问题是:有人能严格而简单地解释它吗 我已经了解到,这个问题可以转化为一个值矩阵,其中每行和每列中必须选择一个值。可能的最小值(来自所选元素)和生成该值的选择是算法计算的。显然,找到选择也会找到最小值 就符号而言,我正在努力的部分是。“设置”部分的第三段以“

我最近偶然发现了这个问题,我很难向自己解释。该算法解决了O(n4)中的问题(显然可以改进为O(n3)),但我不明白为什么

直觉上,我可以看出,该算法将倾向于找到好的最优解,但我看不到证据!到目前为止,我看到的所有证据都包含我不熟悉的符号。我的问题是:有人能严格而简单地解释它吗

我已经了解到,这个问题可以转化为一个值矩阵,其中每行和每列中必须选择一个值。可能的最小值(来自所选元素)和生成该值的选择是算法计算的。显然,找到选择也会找到最小值



就符号而言,我正在努力的部分是。“设置”部分的第三段以“让我们调用函数”开头。…

您链接到的有关于如何在矩阵上手动执行此算法的步骤。也使用矩阵。有时,理解算法的唯一方法是手动或在交互式控制台中逐步完成

也就是说,对于s和T中的每个位置,如果y在i处和y在j处的总和小于为该位置计算的成本(找到最低的潜在答案),则s和T值中的y是一个潜在答案


如果我没记错的话,这是一个动态规划问题。一个完美的匹配是当一个人的最便宜的利率恰好是他被挑选去做的事情时。

函数将图中的每个顶点映射到有理数系统中,这是S和T的并集,这是U形符号的意思,这是Q通过给定顶点对的不等式表示的。表示法的哪一部分仍然没有意义?

势函数y为完整二部图中的每个顶点指定一个数字,即S(所有人的集合)的任意顶点和t(所有作业的集合)的任意顶点的势之和小于连接这些顶点的边的值(因此小于工作人员的成本)。为每个顶点指定0的函数是有效势函数的一个很好的例子

电势y的值是所有顶点的电势之和(这是定义)

可以看出,每个完美匹配的成本至少是每个潜在的价值

这是相当明显的:在完美匹配中,您必须拾取n条没有公共顶点的边。每个边的代价都低于其顶点的势之和(根据势的定义)。当您将匹配的所有边的成本相加时,它将高于图形的潜在值

现在,该算法计算一个潜力和一个匹配,这样它们的成本/价值是相同的。因为势的值是问题的最小代价的下界,所以你得到了一个最优解


这证明了算法的正确性。现在,您需要查看它,并了解它为什么以及如何找到完美匹配和具有相同成本/价值的潜力。

您可以查看Jungnickel的这篇文章,其中包含从第421页开始的匈牙利算法的详细理论讨论,但也会得出一个示例。通过这个例子,你应该能够明白为什么算法是O(n3))。

除非你证明自己做过一些工作,否则你不太可能在这方面得到任何帮助-也许可以从公布你对算法/证明的理解开始,并指出你的理解在哪一点失效。我也这么认为。。。问题在于初始定义,因为我不知道使用的符号。我真的不喜欢看起来懒惰,但我可以保证这里不是这样的!此外,我已经删除了家庭作业标签,因为它不是。我只是对它感兴趣!你能粘贴你不懂的符号的例子吗;很抱歉没有提前添加。我已经完成了,但这与证明不一样。我可以理解为什么,但它不够坚固,我不喜欢它。所以每个边都有一个商值…?不,没有除法,除非你指的是不同形式的商。对于从顶点i到顶点j的边,每条边都已经给定了一个值,即c(i,j)。正在定义的函数是y。我看不到动态规划方法,但我更感兴趣的是!:D