Надежные геометрические вычисления - Википедия - Robust geometric computation

В математике, особенно в вычислительная геометрия, геометрическая ненадежность проблема, при которой решения ветвления в вычислительная геометрия Алгоритмы основаны на приближенных численных вычислениях, что приводит к различным формам ненадежности, включая некорректный вывод и программный сбой из-за сбоев или бесконечных циклов.

Например, алгоритмы для таких задач, как построение выпуклый корпус полагаться на проверку того, имеют ли определенные "числовые предикаты" положительные, отрицательные или нулевые значения. Если неточное вычисление с плавающей запятой приводит к тому, что значение, близкое к нулю, имеет знак, отличный от его точного значения, результирующие несоответствия могут распространяться по алгоритму, заставляя его выдавать выходные данные, которые далеко от правильных выходных данных, или даже сбой.

Один из способов избежать этой проблемы включает использование целых чисел, а не чисел с плавающей запятой для всех координат и других величин, представленных алгоритмом, и определение точности, необходимой для всех вычислений, чтобы избежать целочисленное переполнение условия. Например, двумерные выпуклые оболочки могут быть вычислены с использованием предикатов, которые проверяют знак квадратичные многочлены, и поэтому для этих вычислений может потребоваться вдвое больше битов точности, чем для входных чисел. Когда нельзя использовать целочисленную арифметику (например, когда результатом вычисления является алгебраическое число а не целое или рациональное число), второй метод заключается в использовании символическая алгебра выполнять все вычисления с точно представленными алгебраическими числами, а не с численными приближениями к ним. Третий метод, иногда называемый «фильтром с плавающей запятой», состоит в том, чтобы сначала вычислить числовые предикаты с использованием неточного метода, основанного на арифметике с плавающей запятой, но сохранить границы точности результата и повторить вычисление с использованием более медленных методов символьной алгебры или численно с дополнительной точностью, когда эти границы не отделяют вычисленное значение от нуля.

Рекомендации

  • Мэй, Банда; Типпер, Джон С .; Сюй, Nengxiong (2014), "Числовая надежность в геометрических вычислениях: пояснительное резюме", Прикладная математика и информатика, 8 (6): 2717–2727, Дои:10.12785 / amis / 080607, МИСТЕР  3228669
  • Шарма, Викрам; Яп, Чи К. (2017), «Надежные геометрические вычисления» (PDF), в Гудман, Джейкоб Э.; О'Рурк, Джозеф; Тот, Чаба Д. (ред.), Справочник по дискретной и вычислительной геометрии, CRC Press Series по дискретной математике и ее приложениям (3-е изд.), CRC Press, стр. 1189–1223, МИСТЕР  1730191
  • Шевчук, Джонатан (15 апреля 2013 г.), Конспект лекций по геометрической устойчивости (PDF)