Які причини того, що дослідники обчислювальної геометрії віддають перевагу моделі BSS / real-RAM?


40

Фон

Обчислення реальних чисел складніші, ніж обчислення на натуральних числах, оскільки дійсні числа є нескінченними об'єктами і існує незліченно багато реальних чисел, тому реальні числа не можуть бути достовірно представлені кінцевими рядками над скінченним алфавітом.

На відміну від класичної обчислюваності за кінцевими рядками, де різні моделі обчислень, такі як: лямбда-числення, машини Тюрінга, рекурсивні функції, ... виявляються еквівалентними (принаймні, для обчислення над функціями на струнах), існують різні запропоновані моделі для обчислення над реальні числа, які не сумісні. Наприклад, у моделі TTE (див. Також [Wei00]), яка є найбільш близькою до класичної моделі машини Тюрінга, реальні числа представлені за допомогою нескінченних вхідних стрічок (наприклад, оракули Тьюрінга), і неможливо визначити порівняння та співвідношення рівності між двома заданими реальними числами (у кінцевій кількості часу). З іншого боку, в моделях BBS / real-RAM, які схожі на моделі машин RAM, у нас є змінні, які можуть зберігати довільні дійсні числа, а порівняння та рівність - серед атомних операцій моделі. З цієї та подібних причин багато експертів кажуть, що моделі BSS / real-RAM не є реалістичними (не можуть бути реалізовані, принаймні, не на сучасних цифрових комп'ютерах), і вони віддають перевагу TTE або іншим аналогічним моделям, ніж TTE, як ефективна теоретична модель домену, Модель Ко-Фрідмана тощо.

Якщо я правильно зрозумів , модель обчислення за замовчуванням, яка використовується в обчислювальній геометрії, є модель BSS (також реальна ОЗУ , див. [BCSS98]).

З іншого боку, мені здається, що при реалізації алгоритмів в обчислювальній геометрії (наприклад, LEDA ) ми маємо справу лише з алгебраїчними числами і не беруть участь нескінченні об'єкти чи обчислення вищого типу (чи правильно це?). Тож мені здається (напевно, наївно), що можна також використовувати класичну модель обчислення над кінцевими рядками, щоб мати справу з цими числами і використовувати звичайну модель обчислення (яка також використовується для реалізації алгоритмів) для обговорення правильності та складності алгоритмів.


Запитання:

Які причини того, що дослідники з обчислювальної геометрії вважають за краще використовувати модель BSS / real-RAM? (причини конкретної обчислювальної геометрії для використання моделі BSS / real-RAM)

Які проблеми з (мабуть, наївною) ідеєю, про яку я згадував у попередньому пункті? (використовуючи класичну модель обчислення та обмежуючи введення алгебраїчними числами в обчислювальній геометрії)


Додаток:

Існує також складність випуску алгоритмів, вирішити наступну проблему в моделі BSS / real-RAM дуже просто:

ST
sSs>tTt

Хоча не відомий ефективний алгоритм цілочислової оперативної пам’яті для його вирішення. Завдяки JeffE за приклад.


Список літератури:

  1. Ленор Блюм, Феліпе Кукер, Майкл Шуб та Стівен Смайл, "Складність та реальні обчислення", 1998
  2. Клаус Вайрахух, " Обчислювальний аналіз, вступ ", 2000

3
До речі, якщо це не очевидно, сума задач квадратних коренів має дуже природну геометричну інтерпретацію: це те, що вам потрібно вирішити, якщо ви хочете порівняти довжини двох полігональних контурів з вершинами з цілими координатами.
Девід Еппштейн

Відповіді:


42

Перш за все, обчислювальні геометри не вважають це моделлю BSS. Справжня модель оперативної пам'яті була визначена Майклом Шамосом у його докторській дисертації ( Комп'ютерна геометрія ) 1978 р. , Яка, безперечно, запустила поле. Франко Препарата переглянув і поширив тезу Шамоса в перший підручник з обчислювальної геометрії, опублікований у 1985 році. Реальна ОЗУ також еквівалентна ( крім рівномірності; див. Відповідь Паскаля! ) Для алгебраїчної моделі обчислень, визначеної Бен-Ор в 1983 році. Блюм Зусилля Shub і Smale були опубліковані в 1989 році, вже після встановлення реальної оперативної пам'яті, і обчислювальна геометрична спільнота майже повністю ігнорується.

Більшість (класичних) результатів обчислювальної геометрії сильно пов'язані з питаннями комбінаторної геометрії, для яких припущення про цілісні або алгебраїчні координати (в кращому випадку) не мають значення для відволікання. Якщо говорити як про рідне, здається абсолютно природним вважати довільні точки, лінії, кола тощо подібними до об'єктів першого класу при доведенні речей про них, а тому однаково природно при розробці та аналізі алгоритмів для їх обчислення.

pqqrq,r,sqrst? Кожен з цих примітивів реалізується шляхом оцінки знаку полінома низького ступеня у вхідних координатах. (Отже, ці алгоритми можна описати в більш слабкій моделі алгебраїчного дерева рішень .) Якщо вхідні координати виявляються цілими числами, ці примітиви можна точно оцінити лише з збільшенням точності з постійним коефіцієнтом і таким чином, час роботи на реальній ОЗУ та ціла оперативна пам’ять однакова.

З подібних причин, коли більшість людей замислюються про алгоритми сортування, їм не байдуже, що вони сортують, доки дані надходять із цілком упорядкованого Всесвіту та будь-які два значення можна порівняти за постійний час.

Тож спільнота розробила поділ проблем між розробкою «реальних» геометричних алгоритмів та їх практичною реалізацією; отже, розробка таких пакетів, як LEDA та CGAL. Навіть для людей, які працюють над точним обчисленням, існує розмежування між реальним алгоритмом, який використовує точну справжню арифметику як частину основної моделі, та реалізацією , яка змушена інакше нерелевантними обмеженнями фізичних обчислювальних пристроїв використовувати дискретні обчислення.

×

Існує кілька геометричних алгоритмів, які реально сильно покладаються на модель алгебраїчного дерева обчислень , а тому не можуть бути реалізовані точно та ефективно на фізичних комп'ютерах. Хороший приклад - контури мінімальної лінії зв'язку в простих багатокутниках, які можна обчислити в лінійному часі на реальній оперативній пам’яті, але для цього потрібно квадратичне число біт у гіршому випадку. Ще одним хорошим прикладом є ієрархічні рубки Chazelle , які використовуються в найбільш ефективних алгоритмах, відомих для простого пошуку в просторі. Ці відрізки використовують ієрархію наборів трикутників, де вершини трикутників на кожному рівні є точками перетину ліній через ребра трикутників на попередніх рівнях. Таким чином, навіть якщо вхідні координати є цілими числами, вершинні координати для цих трикутників є алгебраїчними числами без обмеженого ступеня; проте алгоритми побудови та використання живців припускають, що координатами можна керувати точно в постійний час.

Отже, моя коротка, особисто упереджена відповідь така: TTE, теорія доменів, Ко-Фрідман та інші моделі "реалістичного" обчислення реального числа - всі питання, які стосуються спільноти обчислювальної геометрії в цілому, просто не хвилюються. .


9
Можливо, слід додати, що, в цілому успішно, ця точка зору призвела до декількох дивних спотворень, в яких, наприклад, багатополілогові (n) параметричні алгоритми пошуку віддають перевагу набагато простішим бінарним алгоритмам пошуку журналів (числова точність).
Девід Еппштейн

Ω(nlogn)

4
Джошуа: так, див., Наприклад, arxiv.org/abs/1010.1948
Девід Еппштейн

1
@David Eppstein: дуже цікаво! Чи хотіли б ви написати це як відповідь на моє інше запитання: cstheory.stackexchange.com/questions/608/…
Джошуа Грохов

15

Не зовсім вірно, що реальна модель RAM / BSS рівнозначна алгебраїчній моделі обчислювального дерева. Останнє є більш потужним, оскільки поліноміальна глибина дерева може мати експоненціальний розмір. Це дає багато місця для кодування неоднорідної інформації. Наприклад, Мейер ауф дер Хайде показав, що алгебраїчні (навіть лінійні) дерева рішень можуть вирішувати ефективні важкі проблеми, такі як сума підмножини, але це неможливо в реальній моделі RAM / BSS.


1
Відмінна точка !!
Jeffε

4

Ось коментар до відмінної відповіді Джеффа:

Поняття умови, наближення та округлення пропонували вирішити розрив складності (комбінаторний та безперервний) лінійних алгоритмів програмування. Умова проблемного екземпляра оцінює вплив невеликих збурень вводу на точність виводу. Поняття стану вперше було введено Аланом Тьюрінгом. Джим Ренегар представив поняття умови лінійної програми.

Л. Блюм, Обчислювальний над переАльсом: Де Тюрінг зустрічає Ньютон, , ПОВІДОМЛЕННЯ АСУ, тому 51, номер 9, (2004), 1024-1034

A. ТУРИНГ, помилки округлення в матричних процесах, Кварт. Дж. Мех. Додаток Математика. 1 (1948), 287–308

J. RENEGAR, Включення чисел умов у теорію складності лінійного програмування, SIAM J. Optim. 5 (1995), 506–524

F. CUCKER та J. PEÑA, первинно-подвійний алгоритм розв язання багатогранних конічних систем з машиною з кінцевою точністю, журнал SIAM on Optimization 12 (2002), 522–554.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.