Знайдіть найбільший куб, що міститься в союзі кубоїдів


18

Я маю багато кубоїдів у тривимірному просторі, кожна має вихідну точку (x, y, z) і має розмір (Lx, Ly, Lz). Цікаво, як знайти найбільший куб у цьому тривимірному просторі, який міститься в об'єднанні кубоїдів. Чи існує ефективний алгоритм для цього?

Наприклад, якщо у мене є такі кубоїди:

  • кубоїд, починаючи з (0,0,0) розміром (10,10,10),
  • кубоїд при (10,0,0) розміром (12,13,15),
  • кубоїд при (0,10,0) розміром (10,10,10),
  • кубоїд при (0,0,10) розміром (10,10,10) та
  • кубоїд при (10,10,10) розміром (9,9,9).

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

Більш загальна версія цього питання:

З огляду на колекцію ящиків в R d , знайдіть найбільший гіперкуб, що міститься в об'єднанні коробок.нRг


8
Я думаю, що всередині є краще питання: а саме, зважаючи на об'єднання ящиків у , обчисліть найбільший гіперкуб, що міститься в союзі. Rг
Суреш Венкат

1
Чи можуть ці кубоїди перекриватися?
Пітер Бут

@ Суреш, дякую за уточнення та узагальнення питання :) @ Петер, у моєму випадку ... Це не
перекриється

2
Як ви це зробили, це здається, що сторони кубів вирівняні з вісями x, y та z. Це так, чи куби можуть мати довільну орієнтацію? Це, очевидно, суттєво впливає на ефективність роботи алгоритму.
Joe Fitzsimons

У моєму випадку обличчя кожної кубоїди ортогональне лише осям.
пантофскі

Відповіді:


15

Ну, ось перша спроба дурної відповіді ... Проведіть площину через кожну грань прямокутних коробок. Це утворює сітку розміром . Не важко обчислити кожну таку комірку сітки, чи то всередині об'єднання, так і зовні. Тепер з кожної вершини сітки виростіть куб (маючи цю вершину як вершину), намагаючись зробити її якомога більшою. Здійснюючи це найбільш наївним способом, це вимагає часу O ( n 3 log n ) на вершину, але, ймовірно, використовуючи ортогональний діапазон пошуку магії, слід робити це в журналі O ( 1 ) n на вершину. Отже O ( n 3)О(н3)О(н3журналн)журналО(1)н повинен бути можливим ...О(н3журналО(1)н)

Друга спроба: обчислити союз. У цьому конкретному випадку це можна зробити за час (шляхом підмітання площин). Тепер зауважте , що вам просто потрібно обчислити L voronoi діаграму межі союзу. Використовуючи результат: http://vw.stanford.edu/~vladlen/publications/vor-poly Cathedral.pdf , це можна зробити за O ( n 2 + ε ) час, для довільної невеликої постійної ε > 0 .О(нжурналн)LО(н2+ε)ε>0

Перервати обмежений тут час роботи було б цікаво, ІМХО.О(н2)


Дякую, сер, я також вважаю, що L∞ - найкраще рішення цієї проблеми поки що. Оскільки я раніше робив L∞ для двовимірного випадку (реалізований методами, передбаченими в цій статті inf.usi.ch/facturing/papadopoulou/publications/ijcga01.pdf ). Тривимірний чохол із лише коробочками не повинен бути дуже складним.
pantoffski

8

Відповідь на загальне питання про , здавалося б, полягає в тому, що він є важким для NP. Доказ досить простий. Ми просто беремо екземпляр 3SAT на d- змінних і пов'язуємо кожну змінну з виміром. Подумайте про простір як простір можливих призначень змінних: ми розглядаємо тільки точки між -1 і +1 в кожному dimesnion і асоціювати місця < 0 із завданням 0 для цього змінного і > 0 з присвоєнням 1. Кожен У пункті виключається область, задана значенням 1 × 1 × 1 × n × n × n . . . × nRгг<0>01×1×1×н×н×н...×н гіперкубоїдна.

Якщо об'єднання цих кубоід заповнює простір (і так містить куб), то не існує задовольняє присвоєння змінних для примірника 3sat. Якщо найбільший міститься куб - 1 × 1 × . . . × 1 або 0 (для жодних пропозицій), єдині інші можливості, то є задовольняюче призначення змінних.2×2×...×21×1×...×1


Я думаю, ви можете довести, що це є в FNP (принаймні, у випадку кубоїдів з вирівнюванням осей), запустивши вищезгадану аргументацію в зворотному напрямку і показавши, що будь-яка кубоїда становить обмеження, яке можна перевірити в поліноміальний час.
Joe Fitzsimons
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.