Powerful algorithms too complex to implement [closed]

我的未来我决定 提交于 2019-12-03 02:48:43
Peter Alexander

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.

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

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.

The Piano Mover's Problem of moving a robot through an environment with obstacles can be defined mathematically and solved with algorithms with known asymptotic complexity.

It is amazing that such algorithms exist; however, it is also unfortunate that they are both extremely challenging to implement and not efficient enough for most applications.

While every new thesis on robot motion planning has to mention Canny's Roadmap Algorithm, it is doubtful if it has ever been implemented:

no general implementation of Canny's algorithm appears to exist at present.

If we can equate "tedious" with "difficult" then some mathematical proofs can have a very large number of special cases such as Hale's proof or Kepler's conjecture: http://en.wikipedia.org/wiki/Kepler_conjecture

Following the approach suggested by Fejes Tóth (1953), Thomas Hales, then at the University of Michigan, determined that the maximum density of all arrangements could be found by minimizing a function with 150 variables. In 1992, assisted by his graduate student Samuel Ferguson, he embarked on a research program to systematically apply linear programming methods to find a lower bound on the value of this function for each one of a set of over 5,000 different configurations of spheres. If a lower bound (for the function value) could be found for every one of these configurations that was greater than the value of the function for the cubic close packing arrangement, then the Kepler conjecture would be proved. To find lower bounds for all cases involved solving around 100,000 linear programming problems.

When presenting the progress of his project in 1996, Hales said that the end was in sight, but it might take "a year or two" to complete. In August 1998 Hales announced that the proof was complete. At that stage it consisted of 250 pages of notes and 3 gigabytes of computer programs, data and results.

I'm not sure I know what you're asking, but standard NP Incomplete calculations are pretty difficult as far as I know, and they have real world value in many ways, for example computing the most efficient routes for data transmission, or cutting circuit boards, or routing power to power grids...the possibilities are legion.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!