Pakowanie zestawu - Set packing

Pakowanie zbiorów jest klasycznym problemem NP-zupełnym w obliczeniowej teorii złożoności i kombinatoryce i było jednym z 21 problemów NP-zupełnych Karpa .

Załóżmy, że ktoś ma skończony zbiór S oraz listę podzbiorów w S . Następnie problem pakowania zestawów pyta, czy niektóre k podzbiorów na liście są rozłączne parami (innymi słowy, żadne dwa z nich nie mają wspólnego elementu).

Bardziej formalnie, biorąc pod uwagę wszechświat i rodzinę podzbiorów , opakowanie jest podrodziną zbiorów, w których wszystkie zestawy są rozłączne parami. Rozmiar opakowania to . W zadaniu decyzyjnym o zbiorze pakietów wejściowych jest para i liczba całkowita ; pytanie brzmi, czy istnieje zestaw opakowań o rozmiarze lub większym. W przypadku problemu optymalizacji upakowania zestawu dane wejściowe to para , a zadaniem jest znalezienie zestawu upakowania, który wykorzystuje najwięcej zestawów.

Problem jest wyraźnie w NP, ponieważ mając k podzbiorów, możemy łatwo zweryfikować, że są one rozłączne parami w czasie wielomianowym .

Wersja optymalizacja problemu, maksymalnej ustawionej pakowania , prosi o maksymalna ilość zbiorów parami rozłącznych na liście. Jest to problem maksymalizacyjny, który można naturalnie sformułować jako program liniowy z liczbą całkowitą , należący do klasy problemów pakowania .

Sformułowanie programu liniowego w postaci liczb całkowitych

Maksymalny problem upakowania zestawu można sformułować jako następujący program liniowy w postaci liczb całkowitych .

Wyolbrzymiać (zmaksymalizuj całkowitą liczbę podzbiorów)
z zastrzeżeniem dla wszystkich (wybrane zestawy muszą być rozłączne parami)
dla wszystkich . (każdy zestaw jest w opakowaniu lub nie)


Złożoność

Problem upakowania zestawu jest nie tylko NP-kompletny, ale jego wersja optymalizacyjna (ogólny problem maksymalnego upakowania zestawu) okazała się równie trudna do przybliżenia, jak problem maksymalnej kliki ; w szczególności nie można jej aproksymować w ramach żadnego stałego współczynnika. Najbardziej znany algorytm aproksymuje go w ramach współczynnika . Wariant ważony również może być przybliżony.

Jednak problem ma wariant, który jest łatwiejszy do rozwiązania: jeśli założymy, że żaden podzbiór nie przekracza k ≥3 elementów, odpowiedź można przybliżyć w ramach współczynnika k / 2 + ε dla dowolnego ε> 0; w szczególności problem z zestawami 3-elementowymi można oszacować w przybliżeniu w około 50%. W innym, łatwiejszym wariancie, jeśli żaden element nie występuje w więcej niż k podzbiorów, odpowiedź można przybliżyć w ramach współczynnika k . Dotyczy to również wersji ważonej.

Równoważne problemy

Istnieje redukcja czasu wielomianu jeden do jednego między problemem zestawu niezależnego a problemem pakowania zestawu:

  • Biorąc pod uwagę problem z pakowaniem zestawu w kolekcji , utwórz wykres, na którym dla każdego zestawu znajduje się wierzchołek , a pomiędzy i jeśli jest krawędź . Teraz każdy niezależny zestaw wierzchołków w wygenerowanym wykresie odpowiada zestawowi pakowania w .
  • Biorąc pod uwagę niezależne zadanie zestawu wierzchołków na wykresie , utwórz zbiór zestawów, w których dla każdego wierzchołka istnieje zestaw zawierający wszystkie sąsiadujące krawędzie . Teraz każde opakowanie zestawu w wygenerowanej kolekcji odpowiada niezależnemu wierzchołkowi ustawionemu w .

Jest to również dwukierunkowa redukcja PTAS i pokazuje, że te dwa problemy są równie trudne do przybliżenia.

Przypadki specjalne

Dopasowanie i dopasowanie trójwymiarowe to szczególne przypadki pakowania zestawu. Dopasowanie maksymalnego rozmiaru można znaleźć w czasie wielomianowym, ale znalezienie największego dopasowania trójwymiarowego lub największego zestawu niezależnego jest NP-trudne.

Inne powiązane problemy

Pakowanie zestawu jest jednym z rodziny problemów związanych z przykryciem lub podziałem elementów zestawu. Jednym ze ściśle powiązanych problemów jest problem z ustawioną okładką . Tutaj jesteśmy również otrzymuje zestaw S oraz listę zestawów, ale głównym celem jest ustalenie, czy możemy wybrać k zestawów, które łącznie zawierają każdy element S . Te zestawy mogą się pokrywać. Wersja optymalizacyjna znajduje minimalną liczbę takich zestawów. Maksymalne upakowanie zestawu nie musi obejmować każdego możliwego elementu.

Z drugiej strony, problem dokładnego pokrycia NP-zupełnego wymaga, aby każdy element znajdował się dokładnie w jednym z podzbiorów. Znalezienie w ogóle takiej dokładnej okładki, niezależnie od rozmiaru, to problem NP-zupełny . Jeśli jednak utworzymy pojedynczy zestaw dla każdego elementu S i dodamy go do listy, wynikowy problem jest tak prosty, jak pakowanie zestawu.

Karp pierwotnie wykazał pakowanie zestawu NP-kompletne poprzez redukcję problemu klikowego .

Zobacz także: Pakowanie w hipergraf .

Uwagi

Bibliografia

Linki zewnętrzne