强大的算法太复杂而无法实现

时间:2011-01-23 01:24:27

标签: algorithm theory implementation

合法实用程序的哪些算法太复杂而无法实现?

让我说清楚:我不是在寻找像当前渐近最优矩阵乘法算法这样的算法,这种算法合理实现但是有一个常数使得它在实践中无用。我正在寻找可能具有实用价值的算法,但是如此难以编码它们从未实现过,只能在非常人为的设置中实现,或者仅针对非常特殊的应用程序实现。

同样受欢迎的是几乎不可能实现的算法,这些算法具有良好的渐近性,但实际性能可能较差。

4 个答案:

答案 0 :(得分:14)

我不认为有任何实际使用的算法从未编码,但有很多难以编码。

渐近最优但很难编码的算法示例是Chazelle's O(n) polygon triangulation algorithm。根据Skiena(算法设计手册的作者)的说法,“[该]算法实施起来毫无希望。”

通常,三角测量和其他计算几何算法(例如3D凸包和Voronoi图)可能很难实现。很多棘手都归结为处理浮点不准确性。

答案 1 :(得分:3)

将机器人移动到有障碍物的环境中的

The Piano Mover's Problem可以用数学方法定义,并用已知渐近复杂度的算法求解。

  

It is amazing that such algorithms exist;然而,同样令人遗憾的是,它们的实施极具挑战性,对大多数应用来说效率都不够高。

虽然每一篇关于机器人运动规划的新论文都提到了Canny的路线图算法,但它是否曾经被实施是值得怀疑的:

  

no general implementation of Canny's algorithm目前似乎存在。

答案 2 :(得分:1)

如果我们可以将“乏味”与“困难”等同起来,那么一些数学证明可能会有很多特殊情况,例如Hale证明或Kepler猜想:http://en.wikipedia.org/wiki/Kepler_conjecture

  

遵循建议的方法   FejesTóth(1953),Thomas Hales,然后   在密歇根大学,   确定最大密度   所有的安排都可以找到   用150最小化功能   变量。 1992年,在他的协助下   研究生Samuel Ferguson,他   开始研究计划   系统地应用线性   编程方法找到一个较低的   绑定在这个函数的值上   每一组超过5,000   不同的球体配置。   如果是下限(对于函数   价值)可以找到每一个   这些配置更大   比函数的值   然后,立方密堆积安排   开普勒猜想将得到证实。   查找所有案例的下限   涉及解决大约100,000线性   编程问题。

     

在介绍他的进步时   项目于1996年,Hales表示   结束了,但它可能需要“a   一两年“完成。八月   1998年Hales宣布了证明   完成了。它在那个阶段   由250页笔记和3页组成   千兆字节的计算机程序,数据   和结果。

答案 3 :(得分:0)

我不确定我知道你在问什么,但据我所知,标准NP不完全计算非常困难,并且它们在很多方面具有真正的世界价值,例如计算最有效的数据传输路径,或切割电路板,或将电源路由到电网......可能性很大。

相关问题