9

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

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.

nbro
  • 15,395
  • 32
  • 113
  • 196
Elliot JJ
  • 543
  • 6
  • 19

4 Answers4

14

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.

Alessandro Jacopson
  • 18,047
  • 15
  • 98
  • 153
Peter Alexander
  • 53,344
  • 14
  • 119
  • 168
  • 1
    +1 for referencing Chazelle, but I seem to remember that the algorithm also has an absurdly large constant. – jprete Jan 23 '11 at 01:37
  • @jprete: Yeah, I imagine it would. I doubt it would ever outperform the more basic O(n lg n) algorithms in practice. – Peter Alexander Jan 23 '11 at 02:09
3

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.

antonakos
  • 8,261
  • 2
  • 31
  • 34
1

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.

peter.murray.rust
  • 37,407
  • 44
  • 153
  • 217
0

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.

Zrb0529
  • 800
  • 9
  • 25