Це особливий випадок проблеми з максимальним набором упаковки, і проблеми A і B є NP-завершеними . Зауважте, що проблема - це просто відповідна проблема, якщо а також проста, якщо . Тому я припускаю, що .n=2n=1n≥3
Замість того, щоб задавати питання,
Чи є серед безлічі набори розрізнень ?MP
Давайте задамо наступне запитання
Яку максимальну кількість роз'єднаних множин ми можемо отримати з множин?P
Зрозуміло, що якщо друге питання відповідає в поліноміальний час, то це перше, оскільки все, що нам потрібно зробити, - порівняти це максимальне значення з і вивести ДА, якщо менше цього або максимуму, а інше - НІ .MM
Крім того, якщо перше питання відповідає в поліноміальний час, то друге занадто, оскільки ми можемо використовувати двійковий пошук на і отримати відповідь на друге питання і лише додати коефіцієнтMO(logM)
Тож можна зробити висновок, що обидва питання рівнозначні. тобто запитання 1 є поліоміальним часом вирішуваним тоді і лише тоді, коли питання 2 теж є.
Зрозуміло також, що проблеми є в NP, оскільки ми можемо легко переконатись, що викладені множини суперечливі.M
Отже, питання полягає в тому, як ми зводимо до цього відому проблему NP-Hard? Для цього ми зменшуємо максимальну задачу щодо упаковки . Я просто зосередиться на проблемі A, оскільки проблему B легко виявити важкою, встановившиk=n−1
Розглянемо довільний екземпляр проблеми максимального набору упаковки . Зауважте, що єдиною відмінністю між проблемою A та початковою задачею щодо максимального набору є те, що в задачі A розмір наборів повинен бути рівним. Нехай бути максимально кардинальним серед всіх множин . Якщо кожен набір у має однакову кардинальність, ми закінчили, і проблема кришки множин є точно проблемою А. Тепер припустимо, що для деякого набору ми маємо . Ми просто додати елементи , які не є елементами будь-якого безлічі в . Повторюємо цей процес, поки всі множиниTtTTSi∈T|Si|<t(t−|Si|)SiTSi∈Tмають однаковий розмір. Зрозуміло, що додавання нових елементів таким чином не змінює розмір максимальної кількості роз'єднаних наборів.
Отже, якщо ми можемо вирішити задачу в поліномічний час, ми можемо вирішити максимальну задану упаковку за час полінома, оскільки все, що нам потрібно зробити, - це видалити додаткові елементи, які ми додали, і це не змінює розмір максимальну кількість непересічних множин в .AT
EDIT - Деякі додаткові відомості про проблему B
Припустимо, проблема B має поліноміальне рішення часу, тепер розглянемо довільний екземпляр задачі A з елементами на множину. Тепер ми додамо фіктивний елемент до кожного набору в . Тепер ми задаємо наступне питання.TndT
Яку максимальну кількість роз'єднаних множин ми можемо отримати, взявши
елементів з кожного набору?n
Тепер ми знаємо, що серед максимумів безліч, максимум, один з них може містити фіктивний елемент, отже, якщо відповідь, яку ми отримаємо як максимум, є , то фактична максимальна кількість множин в екземплярі (наша початкова проблема A) є або або , але це дає наближення постійного коефіцієнта для максимального набору. І таке наближення можливе лише в тому випадку, якщо . Тож проблема B також є важкою.MTM(M−1)P=NP