Jak nazywa się ten wariant problemu z ustawieniem pokrycia zestawu?


12

Wejściowego, to świat i rodzina podzbiorów , powiedzmy, . Zakładamy, że w podzbiory może obejmować , czyli .UUF2UFUEFE=U

Przyrostowe sekwencja Pokrycie jest ciągiem podzbiorów w , powiedzmy, , który spełniaFA={E1,E2,,E|A|}

1) ,EA,EF

2) każdy nowo przybyły ma nowy wkład, tj. , ;i>1j=1i1Eij=1iEi

Problem polega na znalezieniu przyrostowej sekwencji pokrycia o maksymalnej długości (tj. O maksymalnej |A| ). Należy zauważyć, że maksymalna długość sekwencji w końcu musi obejmować U , tj EAE=U .

Próbowałem znaleźć algorytm lub algorytm przybliżony, aby znaleźć najdłuższą przyrostową sekwencję pokrycia. Zastanawiałem się tylko, jak znany jest ten wariant problemu z zestawem. Dziękuję Ci!


Potrzebujesz rodziny podzbiorów aby objąć wszechświat ? Ponieważ wtedy oczywiście możesz mieć trudniejszy problem z zestawem okładek, ponieważ szukasz zestawu z dodatkowymi właściwościami. Innymi słowy, zestaw ochrony ogranicza się do twojego problemu. Na wiki set cover znajdują się również wyniki nie do przyjęcia dla set cover. UAU
Harry

1
To tylko spostrzeżenie (zbyt małe, aby dać odpowiedź): kiedy twoje podzbiory mają rozmiar dwa, wtedy to, czego szukasz, to zasadniczo rozciągający się las.
David Eppstein

Prawdopodobnie nie jest nowy w PO, ale oto kilka uwag. (1) Optymalna wartość wynosi zawsze najwyżej | U |. Czy optymalna wartość jest równa | U | lub nie może być skutecznie ustalony przez chciwy algorytm, który próbuje zminimalizować liczbę elementów objętych. (2) Ten sam zachłanny algorytm działa również, jeśli wszystkie zestawy w F mają rozmiar dwa, patrz komentarz Davida Eppsteina. (3) Ten sam chciwy algorytm nie działa ogólnie (westchnienie). Kontrprzykład: F = {{1,2,3}, {1,4,5,6}, {2,4,5,6}, {3,4,5,6}}.
Tsuyoshi Ito,

1
Problem tak naprawdę wcale nie wygląda jak problem z ustawieniem pokrycia ... Bardziej jak hybryda między dopasowaniem a dopasowaniem indukowanym w grafach dwustronnych. Ładnym równoważnym przeformułowaniem jest to, że rodzina jest zła, jeśli żaden element nie jest objęty dokładnie jednym zestawem w rodzinie. Problem polega na znalezieniu największej podrodziny z takiej, że nie ma złej podrodziny. F AAFA
daniello

1
@Neal Young nie jest zły, ponieważ obejmuje dokładnie jeden zestaw (a mianowicie ). b { a , b }Fb{a,b}
daniello

Odpowiedzi:


4

Tutaj pokazuję, że problem jest NP-zupełny.

Konwertujemy CNF na wystąpienie problemu w następujący sposób. Załóżmy, że zmiennymi CNF są , a zdania są , gdzie . Niech gdzie wszystkie zestawy w unii są całkowicie rozłączne. W rzeczywistości i , podczas gdy to dowolny zestaw liczności . także i napraw dla każdej rosnącą w środku rodzinę długości , oznaczoną przez dlax i m C j n < m U = i ( A iB iZ i ) A i = { a i , jx iC j } { a i , 0 } B i = { b i , jx iC j } n xim Cjn<mU=i(AiBiZi)Ai={ai,jxiCj}{ai,0}Bi={bi,jxiCj}{bi,0} k = 2 n + 1 Z = i Z i Z i k Z i , l l = 1 .. k x i 2 k F A iZ i , l B iZ i , l C j F Z x iC j { a i , j } ˉ xZik=2n+1Z=iZiZikZi,ll=1..k . Dla każdej zmiennej dodajemy zestawów do , każdy zestaw postaci i . Dla każdej klauzuli dodajemy jeden zestaw do , który zawiera , i dla każdego elemencie i dla każdego elemencie .xi2kFAiZi,lBiZi,lCjFZxiCj{ai,j} { b i , j }x¯iCj{bi,j}

Załóżmy, że formuła jest zadowalająca, i napraw zadowalające zadanie. Następnie wybierz zestawy postaci lub , w zależności od tego, czy jest prawdziwe, czy nie. Są to zestawy przyrostowe . Teraz dodaj zestawy odpowiadające klauzulom. Te również zwiększają rozmiar, ponieważ klauzule są zadowalające. Wreszcie, możemy nawet dodać więcej zestawów (po jednym dla każdej zmiennej), aby pokrywę sekwencji .A iZ i , l B iZ i , l x i n k m k UkAiZi,lBiZi,lxinkmkU

Załóżmy teraz, że zestawy są umieszczone w sekwencji przyrostowej. Należy zauważyć, że co najwyżej zestawy odpowiadające mogą być wybrane dla każdego . Zatem, jeśli nie ma zestawów klauzul w sekwencji przyrostowej, można wybrać najwyżej , co jest za mało. Zauważ, że jak tylko zestaw klauzul zostanie wybrany, możemy wybrać maksymalnie dwa zestawy odpowiadające każdemu , łącznie maksymalnie zestawów. Dlatego musimy wybrać co najmniej zestawów zmiennych, zanim zostanie wybrany dowolny zestaw klauzul. Ale ponieważ możemy wybrać najwyżej dla każdego , oznacza to, że dla każdego wybraliśmy przynajmniejk + 1 2 n n ( k - 1 ) k + 1 x i 1 k = 2 n + 1n(k+1)+mk+1x i n ( k + 1 ) x ixixin(k+1)xi2nn(k1)k+1xi1 , jako . To określa „wartość” zmiennej, dlatego możemy wybierać tylko „prawdziwe” zdania.k=2n+1

Aktualizacja: Zmieniono wartość z na jak zauważył Marzio.n 2 n + 1kn2n+1


1
Wyjaśnienie: szybko sprawdzana konstrukcję dla unsatisfiable wzorze ( ), ale wydaje się, że można budować sekwencję z zwiększenie zestawy . Prawdopodobnie popełniam błąd: czy mamy ? n = k = 1 , m = 2 n ( k + 1 ) + m = 4 F F = { { a 1 , 0 , a 1 , 1 , a 1 , 2 , z 1 } , { b 1 , 0 , b 1 , 1 , bx1¬x1n=k=1,m=2n(k+1)+m=4FF={{a1,0,a1,1,a1,2,z1},{b1,0,b1,1,b1,2,z1},{a1,1,z1},{b1,2,z1}}
Marzio De Biasi,

Znając ciebie i siebie, jestem pewien, że pomyłka jest moja ... Myślę, że powinniśmy dostać , ale oczywiście to wciąż problem. OK, widzę, gdzie popełniłem błąd, naprawiam go za minutę, dziękuję! F={{a1,0,a1,1,z1},{b1,0,b1,2,z1},{a1,1,z1},{b1,2,z1}}
domotorp

Ok, przyjrzę się jutro! Tylko uwaga, czy możesz napisać (w komentarzu) czym jest dla i jaka jest „wartość docelowa” dla długości sekwencji pokrywającej (czy to k)? Ponieważ w zmodyfikowanej odpowiedzi najpierw ustawiasz , a następnie mów o zestawy są ułożone w sekwencji przyrostowej ; czy to prawda (jeszcze nie próbowałem redukcji)? x i¬ x i k = 2 n + 1 n ( k + 1 ) + m = 2 n 2 + 2 n + mFxi¬xik=2n+1n(k+1)+m=2n2+2n+m
Marzio De Biasi,

F={{a1,0,a1,1,z1,},{a1,0,a1,1,z1,z2},{a1,0,a1,1,z1,z2,z3},{b1,0,b1,2,z1},{b1,0,b1,2,z1,z2},{b1,0,b1,2,z1,z2,z3},{a1,1,z1,z2,z3},{b1,2,z1,z2,z3}}
domotorp

Myślę, że jest to poprawne, ponieważ , ale mamy tylko sekwencji przyrostowych. 5n(k+1)+m=65
domotorp

0

Jest to problem z pakowaniem zestawu pod warunkiem, że dla rozwiązania , dla dowolnego podzbioru , mamy zawsze element w , który jest objęty dokładnie raz.BA X B XABAXBX

Dowód: pod warunkiem rozwiązania problemu natychmiast ma tę właściwość. Rzeczywiście, jeśli jest optymalnym rozwiązaniem twojego problemu, to rozważ podzbiór z tych zestawów i że jest ostatnim zestawem w tej sekwencji pojawiającym się w . Z wymaganej właściwości, że rozwiązanie jest przyrostowe, wynika, że obejmuje element, którego nie obejmuje żaden wcześniejszy zestaw, co implikuje powyższą właściwość.B E i B E iE1,,EmBEiBEi

Jeśli chodzi o drugi kierunek, to również łatwe. Zacznij od rozwiązania , znajdź element objęty dokładnie raz, ustaw go jako ostatni zestaw w sekwencji, usuń ten zestaw i powtórz. CO BYŁO DO OKAZANIA.A


To całkiem naturalny problem ...


Szybkie przypomnienie: W problemie pakowania zestawu, biorąc pod uwagę rodzinę zestawów, znajdź maksymalny podzbiór zestawów, które spełniają pewne dodatkowe ograniczenia (powiedzmy, że żaden element nie jest objęty więcej niż 10 razy itp.).


Czy ta odpowiedź tylko dowodzi, że pytanie jest naturalne, czy jest coś, o co również się twierdzisz?
domotorp

Mówi to w prostszy sposób. Nie?
Sariel Har-Peled,

Tak, zgadzam się na to.
domotorp
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.