Складність обчислення найкоротших шляхів у площині з багатокутними перешкодами


22

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

Чи можна вирішити цю проблему за полиномним часом?

Більшість обчислювальних геометрів негайно сказали б так, звичайно: Джон Хершбергер і Субхаш Сурі описали алгоритм, який обчислює найкоротші шляхи Евкліда за час , і цей обмежений час є оптимальним в алгебраїчній моделі обчислювального дерева. На жаль, алгоритм Гершбергера і Сурі (і майже всі пов'язані з ним алгоритми до і після), здається, вимагає точної реальної арифметики в наступному сильному сенсі.O(nlogn)

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

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

Отже: Чи існує алгоритм поліноміального часу для обчислення евклідових найкоротших шляхів? Або проблема NP-важка? Або сума-квадрат-коріння-важкий ? Або щось інше?

Кілька приміток:

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

  • На практиці арифметика з плаваючою комою є достатньою для обчислення шляхів, найкоротших до точності з плаваючою комою. Мене цікавить лише складність точної проблеми.

  • Джон Кенні та Джон Рейф довели, що відповідна проблема в 3-просторі є важкою для NP (морально тому, що може бути експоненціальна кількість найкоротших шляхів). Joonsoo Choi, Jürgen Sellen та Chee-Keng Yap описали схему наближення полінома-часу.

  • Саймон Кахан та Джек Снойейк розглядали подібні питання для пов'язаної з цим задачі про мінімальну лінію шляхів у простому багатокутнику.


4
Було б добре, якби був список важких проблем з сумою квадратних коренів.
Суреш Венкат

4
Це звучить як ідеальне питання для cstheory. Чому ви цього не запитаєте?
Петро Шор

Відповіді:


4

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

PS. Я хотів додати коментар, а не відповідь, але не можу знайти як. Прошу вибачення за це. Чи можете адміністратори допомогти мені у цьому.


Вам потрібно 50 репутації, щоб залишити коментар в stackexchange. Детальніше тут: cstheory.stackexchange.com/privileges/comment . Оскільки ви надаєте певну інформацію, я гадаю, що нормально розмістити її як відповідь.
chazisop

1
У випадку "легкого", де перешкодами є точки, найкоротший шлях Евкліда (або, формальніше, нескінченний шлях) - це завжди прямий відрізок, а обчислення - тривіальне. Але навіть для найкоротших шляхів у плоских графах з довжиною ребра Евкліда ви маєте посилання на твердість підсумкових коренів? (Для чотиривимірних графіків не важко побачити скорочення, тому що кожне ціле число - це сума
щонайменше

3
4k+1

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