Задний план
Вычисление по действительным числам более сложное, чем вычисление по натуральным числам, поскольку действительные числа являются бесконечными объектами и существует неисчислимо много реальных чисел, поэтому действительные числа не могут быть достоверно представлены конечными строками над конечным алфавитом.
В отличие от классической вычислимости над конечными строками, где различные модели вычислений, такие как: лямбда-исчисление, машины Тьюринга, рекурсивные функции, ... оказываются эквивалентными (по крайней мере, для вычислимости над функциями на строках), существуют различные предложенные модели для вычислений над действительные числа, которые не совместимы. Например, в модели TTE (см. Также [Wei00]), которая является наиболее близкой к классической модели машины Тьюринга, действительные числа представлены с использованием бесконечных входных лент (например, оракулов Тьюринга), и невозможно провести сравнение и отношения равенства между двумя заданными действительными числами (за конечное время). С другой стороны, в моделях BBS / real-RAM, которые похожи на модель машины RAMУ нас есть переменные, которые могут хранить произвольные действительные числа, а сравнение и равенство входят в число атомарных операций модели. По этой и аналогичным причинам многие эксперты говорят, что модели BSS / real-RAM нереалистичны (не могут быть реализованы, по крайней мере, на современных цифровых компьютерах), и они предпочитают TTE или другие эквивалентные модели TTE, подобные теоретической модели эффективной области, Модель Ко-Фридмана и др.
Если я правильно понял , модель вычислений по умолчанию, которая используется в вычислительной геометрии, - это модель BSS (она же real-RAM , см. [BCSS98]).
С другой стороны, мне кажется, что при реализации алгоритмов в вычислительной геометрии (например, LEDA ) мы имеем дело только с алгебраическими числами, и в них не участвуют бесконечные объекты или вычисления более высокого типа (это правильно?). Таким образом, мне кажется (возможно, наивно), что можно также использовать классическую модель вычислений на конечных строках для работы с этими числами и использовать обычную модель вычислений (которая также используется для реализации алгоритмов) для обсуждения правильности и сложности. алгоритмов.
Вопросов:
По каким причинам исследователи в области вычислительной геометрии предпочитают использовать модель BSS / real-RAM? (причины специфической вычислительной геометрии для использования модели BSS / real-RAM)
Каковы проблемы с (возможно, наивной) идеей, о которой я упоминал в предыдущем абзаце? (используя классическую модель вычислений и ограничивая входные данные алгебраическими числами в вычислительной геометрии)
Приложение:
Существует также проблема сложности алгоритмов, в модели BSS / real-RAM очень легко решить следующую проблему:
Даны два набора натуральных чисел и есть ∑ s ∈ S √
?
Пока не известен эффективный алгоритм целочисленного ОЗУ для его решения. Спасибо Джеффу за пример.
Ссылки:
- Ленор Блум, Фелипе Кукер, Майкл Шуб и Стивен Смейл, «Сложность и реальные вычисления», 1998
- Клаус Вейраух, « Вычислительный анализ, введение », 2000