Тест-раунд Google Hash Code 2015 ( постановка проблеми ) запитав про таку проблему:
- вхід: сітка з позначеними квадратами, порогом T ∈ N , максимальною площею A ∈ N
- Вихід: найбільша можлива площа безлічі непересічних прямокутників з цілими координатами в загальній складності таким чином, що кожен прямокутник включає , щонайменше , Т , відмічені квадрати і кожен прямокутник має область в більшості A .
У термінології Google сітка - це піца, позначені квадрати - шинка, а розрізнені прямокутники - скибочки.
Ми можемо чітко перефразувати цю проблему до задачі рішення, додавши додатковий вхід і нехай відповідь буде "чи існує набір неперервних прямокутників, що задовольняють умовам, загальна площа яких становить не менше n квадратів".
Моє запитання: в той час як проблема Google вимагає від кандидатів знайти рішення, яке є «максимально добрим» для проблеми обчислення в конкретному екземплярі, я думаю, що ймовірно, що загальна проблема (у формулюванні її рішення) є NP-завершеною. Однак я не можу знайти зниження, щоб показати твердість NP. (Членство в NP негайне.) Як довести, що ця проблема є складною?
Наведемо кілька прикладів, які допоможуть візуалізувати проблему. Розглянемо сітку на 4 { 0 , 1 , 2 , 3 } × { 0 , 1 , 2 , 3 } , з позначеними квадратами , ( 0 , 2 ) і ( 2 , 2 ) , графічно зображеними з для позначення позначених квадратів:X
..X.
.X..
..X.
....
Встановіть (прямокутники щонайбільше 6 квадратів) і T = 1 (принаймні один позначений квадрат на прямокутник), оптимальним рішенням (яке охоплює всю сітку) є прийняття таких прямокутників:
aaAa
bBcc
bbCc
bbcc
На наступній сітці з і T = 2 :
XXX
.X.
...
Не можна зробити краще, ніж покрити лише три квадрати:
AAA
.X.
...
або
XBX
.B.
.b.
(пам'ятайте, що прямокутники в розділі не можуть перекриватися).
З іншими людьми, які розглядають це питання, ми намагалися зменшити кількість пакунків у контейнерах, покрити проблеми, 3-SAT та гамільтоніанські цикли, і нам не вдалося змусити його працювати.