强大的算法太复杂,实施算法、太复杂、强大

2023-09-11 03:20:53 作者:流萤

什么是合法的效用一些算法,它们实在太复杂,难以实施?

What are some algorithms of legitimate utility that are simply too complex to implement?

我要明确指出:我不是在寻找像现在的渐进优化矩阵乘法算法,这是合理的实现,但是有一个恒定的,使得它在实践中无用的算法。我在寻找可能振振有词具有实用价值,但这样的算法很难code ,他们从来没有被执行,只执行极度人工设置,或仅实施了显着special-用途。

Let me be clear: I'm not looking for algorithms like the current asymptotic optimal matrix multiplication algorithm, which is reasonable to implement but has a constant that makes it useless in practice. I'm looking for algorithms that could plausibly have practical value, but are so difficult to code that they have never been implemented, only implemented in extremely artificial settings, or only implemented for remarkably special-purpose applications.

也欢迎是几乎不可能对实施具有良好的渐进性,但很可能有真正的性能较差的算法。

Also welcome are near-impossible-to-implement algorithms that have good asymptotics but would likely have poor real performance.

推荐答案

我不认为有任何具有算法实际使用的永远的是codeD,但也有很多是很难code。

I don't think there is any algorithm with practical use that has never been coded, but there are plenty that are difficult to code.

一种算法是渐近最优的,但很难code的一个例子是的 Chazelle的O(n)的多边形三角算法。据Skienna(算法设计手册的作者),那里的算法相当无望实现。

An example of an algorithm that is asymptotically optimal, but very difficult to code is Chazelle's O(n) polygon triangulation algorithm. According to Skienna (author of The Algorithm Design Manual), "[the] algorithm is quite hopeless to implement."

在一般情况下,三角测量和其他计算几何算法(如三维凸包,和Voronoi图)即可快速棘手的落实。很多trickiness归结于处理浮点不精确。

In general, triangulation and other computational geometry algorithms (such as 3D convex hull, and Voronoi diagrams) can be quick tricky to implement. A lot of the trickiness comes down to handling floating point inaccuracies.