Упаковка прямокутників у опуклі багатокутники, але без обертів


23

Мене цікавить проблема упаковки однакових копій (2-х мірних) прямокутників у опуклий (двовимірний) багатокутник без перекриттів. У моїй проблемі вам заборонено обертати прямокутники, і ви можете вважати, що вони орієнтовані паралельно осям. Ви щойно давали розміри прямокутника та вершини багатокутника і запитували, скільки однакових копій прямокутника можна упакувати в багатокутник. Якщо вам дозволено обертати прямокутники, я вважаю, що ця проблема є важкою для NP. Однак що відомо, якщо ви не можете? Як щодо того, якщо опуклий багатокутник є просто трикутником? Чи відомі алгоритми наближення, якщо проблема справді непроста?

Підсумок до цього часу (21 березня '11). Пітер Шор зауважує, що ми можемо розглядати цю проблему як одну з упаковки одиничних квадратів у опуклий багатокутник і що ця проблема є NP, якщо ви накладете поліном, обмежений кількістю квадратів / прямокутників, які потрібно упакувати. Саріель Хар-Пелед вказує, що існує той самий ПТСС для того ж поліноміально обмеженого випадку. Однак загалом кількість упакованих квадратів може бути експоненціальним у розмірі вхідних даних, який складається лише з можливого короткого списку пар цілих чисел. Наступні питання видаються відкритими.

Чи є в НП повна необмежена версія? Чи існує PTAS для безмежної версії? Чи є поліноміально обмежений випадок у P або NPC? І мій особистий фаворит, чи проблема легша, якщо ви просто обмежитеся упакувати квадрати одиниць у трикутник?


Упаковка прямокутників 1x3 завершена NP (з обертанням), і я думаю, що це стане легко, якщо ми забороняємо обертання. Ви знаходите максимальну кількість прямокутників для кожного рядка (або стовпців) і додаєте їх, щоб отримати загальну максимальну кількість упакованих прямокутників.
Мохаммед Аль-Туркстані

Я не впевнений, що фіксація розмірів 1х3 (або що-небудь ще) дуже допомагає моїй проблемі? Опуклий багатокутник не обов’язково має будь-які сторони, паралельні осям, і вам все одно потрібно вирішити, куди поставити прямокутники. Ви можете розмістити їх найнижчою на осі у, а потім виправдану зліва як розумну евристику, але ви можете легко побудувати приклади там, де це не оптимально.
Рафаель

9
Ви можете застосувати афінне перетворення, щоб зробити всі прямокутники . Тож проблема еквівалентна проблемі з упаковкою квадратів. 1×1
Пітер Шор

1
@turkistany: Ви б дали мені посилання, яке показує NP-повноту для 1x3 прямокутників? Або це легко спостерігати?
Йосіо Окамото

3
Шукаючи на основі спостереження Пітера Шорка maven.smith.edu/~orourke/TOPP/P56.html , що цікаво. Однак, здається, він зосереджений на загальних простих багатокутниках (тобто вони можуть бути увігнутими).
Рафаель

Відповіді:


12

L1

(1ϵ)O(1/ϵ)O(Mnoise(ϵ))Mnoise(ϵ)ϵ


Спасибі. Я маю рацію, думаючи, що навіть у випадку, коли ми маємо поліном, пов'язаний з кількістю прямокутників / квадратів, все ще не ясно, чи проблема в Р?
Рафаель

1
Ось мої 2 центи здогадки / спекуляції ... Було б дивно, якби воно було в P - вам потрібно було б показати деякі додаткові властивості оптимального рішення. Однак я гадаю, що офіційний доказ твердості НП недоступний - проблема має занадто велику структуру. Федер і Грін показали, що кластеризація k-центру є NP-важкою для визначення в певному факторі. Я думаю / міркую, що їхні докази можуть бути використані, щоб довести, що вищезазначена проблема є NP-Hard, якщо в полігоні є отвори ...
Sariel Har-Peled

2

Ці два документи вирішують вашу проблему:

Е.Г. Біргін та Р.Д. Лобато, " Ортогональна упаковка однакових прямокутників в ізотропних опуклих областях ", Комп'ютери та промислова техніка 59, стор. 595-602, 2010. 

Е.Г. Біргін, Дж. М. Мартинес, Ф. Ф. Нішіхара та Д. П. Ронконі, " Ортогональна упаковка прямокутних предметів у довільних опуклих областях шляхом нелінійної оптимізації ", Комп'ютери та дослідження операцій 33, с. 3535-3548, 2006.

 


Ці документи розглядають рішення проблеми на практиці. Наскільки я можу сказати, питання полягає в тому, чи відомо, що ця проблема є важкою для NP.
Андрас Саламон

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

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

2
Спасибі. Я колись це знав, але про це добре нагадати. Також здається, що у вас може бути експоненціальна кількість квадратів, упакованих у полігоні, тому я не впевнений, що ви можете собі дозволити насправді перерахувати їх усі. Можливо, є якесь масштабування, яке ви можете зробити, щоб подолати це?
Рафаель

3
@Rafael: Я припускав (без обґрунтування), що у вас є поліном, пов'язаний на кількість квадратів. Якщо дозволити багатокутники експоненціального розміру, речі стають набагато складнішими.
Пітер Шор

1

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

Редагувати: решта цієї відповіді не застосовується, оскільки вона скасовує чітко заявлену вимогу, щоб форми, які потрібно упакувати, були однакового розміру.


Пов'язане питання NP-Твердість особливого випадку проблеми ортогональної упаковки згадує папір з результатом, необхідним для першого питання:

  • Розфасовуючи квадратики в квадрат, Джозеф Ю.Т. Leung, Tommy W. Tam, CS Wong, Gilbert H. Young, and Francis YL Chin, Журнал паралельних та розподілених обчислень 10 271–275. ( посилання )

З паперу:

ми показуємо, що проблема упаковки квадратних матеріалів сильно заповнена NP, зменшуючи проблему 3-х розділів.

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


5
Дивлячись на папір, з діаграм видно, що квадрати, які потрібно упакувати, не всі мають однаковий розмір.
Пітер Шор

1
@ Петер: Ви маєте рацію, цей документ нічого не означає про проблему Рафаеля.
Андраш Саламон

0

Можливо, цей документ може зацікавити вас:

Плитка багатокутника з прямокутниками компанії Kenyon & Kenyon у FOCS 92.


Спасибі. Однак якщо я правильно розумію, плитка точно покриває багатокутник. У моєму випадку це майже ніколи не стане можливим (розглянемо довільний трикутник у деякій довільній орієнтації), що, здається, робить проблему оптимізації принципово іншою.
Рафаель

дійсно, це не та сама проблема, моя помилка.
Сільвен Пейроннет

0

Якщо багатокутник, в який потрібно упакувати, не обов'язково опуклий, то я думаю, що проблема стає NP-жорсткою. Ось дуже схематичний доказ. Скорочення пов'язане з деякою проблемою типу Planar-3-SAT. Для кожної змінної ви можете мати 1,1 х 1 місце, залежно від того, де в цій області ви розміщуєте один квадрат, буде визначено, чи відповідає ваша змінна помилковою. Крім того, якщо ви виходите з області .1 вліво / вправо, ви можете перемістити два інші квадрати трохи більше всередині, а також ті, що знаходяться за ними, врешті-решт, надавши ще один .1 вільний простір десь в іншому місці, який зараз впливає на чотири квадрати тощо. Після того, як у вас буде стільки копій, скільки зустрічається відповідний літерал, ви підключаєте ці трубки до відповідного компонента пункту і знову використовуєте подібний гаджет, щоб переконатися, що з трьох вхідних трубок принаймні одна повинна мати додатковий простір .1.


1
Це звучить правдоподібно. Зауважте, що Рафаель надав посилання в коментарі maven.smith.edu/~orourke/TOPP/P56.html із вказівником на папір із фактичним скороченням.
Андрас Саламон

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