u0qyz1234's blog

By u0qyz1234, history, 5 years ago, In English

Given a convex polygon P, find the largest-area inscribed triangle is a very classical problem.

It's well known that it can be solved by rotating calipers in O(n) complexity.

But this paper said, the technique rotating calipers was found to be incorrect.

So confused.

 
 
 
 
  • Vote: I like it
  • +419
  • Vote: I do not like it

»
5 years ago, # |
  Vote: I like it +339 Vote: I do not like it

Live a healthy life , stay away from Geometry

»
5 years ago, # |
Rev. 2   Vote: I like it +70 Vote: I do not like it

You can check for yourself.

I implemented the algorithm from the original paper and it seems like the provided breaking case is valid and breaks it (code, case).

  • »
    »
    3 years ago, # ^ |
      Vote: I like it +16 Vote: I do not like it

    Can you re-post these? It now returns 404, document not found

    Is there an O(n^2) algorithm that is easy to implement instead of O(n)? Any code or links would be appreciated.

»
5 years ago, # |
  Vote: I like it +58 Vote: I do not like it

I even remember coding this problem at the Petrozavodsk camp...

»
3 years ago, # |
Rev. 2   Vote: I like it +27 Vote: I do not like it

Rotating calipers as such is not incorrect. This is the name for a general algorithm design technique (see https://en.wikipedia.org/wiki/Rotating_calipers ) and most algorithms based on the technique are correct.

The thing that is incorrect is one particular application of the technique: Dobkin and Snyder's algorithm for the largest inscribed triangle. The counterexample you linked works, the algorithm isn't correct.

The 1992 paper by Chandran and Mount gives a correct[*] O(n) algorithm for that problem. Their algorithm is also based on the rotating calipers technique, but the details are different.

[*] up to my best knowledge