Вот наблюдение, которое приводит к улучшению алгоритма Монте-Карло, а также может привести к прямому ответу.
Лемма. Если ребро оптимального четырехугольника касается многоугольника только в одной точке, оно касается середины этого ребра.
Доказательство: определите X и Y как длины двух сегментов по обе стороны от точки касания. Представьте, что вы поворачиваете ребро вокруг единственной точки касания на бесконечно малый угол A. Поворот влияет на размер четырехугольника, увеличивая его на XA / 2 и уменьшая на YA / 2, или наоборот. Если X! = Y, то одно из двух направлений вращения приводит к меньшему четырехугольнику. Поскольку четырехугольник минимален, мы должны иметь X = Y.
Чтобы использовать этот факт, обратите внимание, что если мы выбираем некоторые ребра и точки, где многоугольник касается четырехугольника, и мы не выбираем две точки подряд, мы можем однозначно определить четырехугольник, выбирая ребро через каждую точку, которая делает эту точку средней точкой ребра (и, если это невозможно, отклонить выбранную конфигурацию). В алгоритме Монте-Карло это сводится к тому, что нам не нужно выбирать наклон для этого ребра - его можно определить явно.
У нас все еще есть случай, когда были выбраны две смежные точки - надеюсь, я вдохновил кого-то еще подобрать здесь ...