Jest to szczególny przypadek problemu maksymalnego upakowania zestawu i oba problemy A i B są NP-Complete . Zauważ, że problem jest po prostu pasującym problemem, jeślin=2 i jest również łatwe, jeśli n=1. Więc założęn≥3.
Zamiast zadawać pytanie,
Są tam M zestawy rozłączne wśród P zestawy?
Zadajmy następujące pytanie
Jaką maksymalną liczbę rozłącznych zestawów możemy uzyskać z P zestawy?
Oczywiste jest, że jeśli na drugie pytanie można odpowiedzieć w czasie wielomianowym, to tak samo jest pierwsze, ponieważ wszystko, co musimy zrobić, to porównać tę maksymalną wartość z Mi wyślij TAK, jeśliMjest mniejsza lub równa temu maksimum, a NIE w przeciwnym razie.
Ponadto, jeśli na pierwsze pytanie można odpowiedzieć w czasie wielomianowym, to drugie też jest, ponieważ możemy użyć wyszukiwania binarnego na M i uzyskaj odpowiedź na drugie pytanie i dodaj tylko współczynnik O(logM)
Możemy zatem stwierdzić, że oba pytania są równoważne. tzn. pytanie 1 jest rozwiązaniem wielomianu, jeśli tylko pytanie 2 również jest.
Oczywiste jest również, że problemy występują w NP, ponieważ możemy łatwo zweryfikować, że M zestawy wyprowadzane są rozłączne.
Pytanie brzmi zatem, w jaki sposób zredukować do tego znany problem NP-Hard? W tym celu zmniejszamy problem maksymalnego zestawu pakowania . Po prostu skupię się na problemie A, ponieważ problem B można łatwo wykazać jako trudny poprzez ustawieniek=n−1
Rozważ dowolne wystąpienie problemu z maksymalnym zestawem pakowania T. Należy zauważyć, że jedyną różnicą między problemem A a pierwotnym problemem maksymalnego upakowania zestawu jest to, że w przypadku problemu A rozmiar zestawu musi być równy. Pozwolićt być maksymalną licznością spośród wszystkich zbiorów w T. Jeśli każdy zestawT mają tę samą liczność, jesteśmy skończeni, a problem z zestawem obejmuje dokładnie problem A. Załóżmy, że dla jakiegoś zestawu Si∈T, mamy |Si|<t. Po prostu dodajemy(t−|Si|) elementy do Si które nie są elementami żadnego zestawu w T. Powtarzamy ten proces, aż wszystkie zestawySi∈Tmieć ten sam rozmiar. Oczywiste jest, że dodanie nowych elementów w ten sposób nie zmienia wielkości maksymalnej liczby zestawów rozłącznych.
Więc jeśli możemy rozwiązać problem A w czasie wielomianowym możemy rozwiązać problem maksymalnego upakowania zestawu w czasie wielomianowym, ponieważ wszystko, co musimy zrobić, to usunąć dodatkowe elementy, które dodaliśmy, a to nie zmienia rozmiaru maksymalnej liczby rozłącznych zestawów w T.
EDYCJA - niektóre dodatkowe informacje o problemie B
Załóżmy, że problem B ma wielomianowe rozwiązanie czasowe, rozważmy teraz dowolną instancję T problemu A z nelementy na zestaw. Teraz dodajemy element fikcyjnyd do każdego zestawu T. Zadajemy teraz następujące pytanie.
Jaką maksymalną liczbę rozłącznych zestawów możemy uzyskać, biorąc
n elementy z każdego zestawu?
Teraz wiemy, że spośród zestawów maksymalnie, jeden z nich może zawierać element obojętny, dlatego jeśli odpowiedź otrzymamy jako maksimum to M, następnie rzeczywista maksymalna liczba zestawów w instancji T (nasz pierwotny problem A) też jest M lub (M−1), ale daje to stałe przybliżenie współczynnika dla maksymalnego upakowania zestawu. Takie przybliżenie jest możliwe tylko wtedy, gdyP=NP. Problem B jest więc trudny.