Problem sumy podzbiorów z wieloma warunkami podzielności

28

Niech S. będzie zbiorem liczb naturalnych. Rozważamy S. w częściowej kolejności podzielności, tj. . Pozwolićs1s2)s1s2)

α(S.)=max{|V.|V.S.,V. an antichain .}

Jeśli weźmiemy pod uwagę problem sumy podzbioru, w którym wieloseksem liczb jest , to co możemy powiedzieć o złożoności problemu związanego z ? Łatwo jest sprawdzić, czy , wtedy problem jest łatwy. Zauważ, że jest to łatwe nawet dla trudniejszego problemu plecakowego, gdy .S.α(S.)α(S.)=1α(S.)=1


Rozwiązywanie kolejnych problemów plecakowych M. Hartmanna i T. Olmsteada (1993)

Chao Xu
źródło
1
Zamiast „relacji” sugeruję użycie terminów „częściowa kolejność”. Również na minimalnym myśli, problem moneta Frobenius może być istotne (oczywiście, nie wiem, choć)
Aryabhata

Odpowiedzi:

2

Problem ten można rozwiązać w czasie wielomianowym za pomocą programowania liniowego, i jest to prawdą w przypadku dowolnego rzędu częściowego . Nawiasem mówiąc, możemy udowodnić przez indukcję, że dla dowolnego skończonego zbioru częściowego rzędu ( S , ) istnieje zbiór skończony S N i bijectcja f : S S , taka, że ​​dla wszystkich s 1 , s 2S , s 1s 2f ((S,)(S,)SNf:SS .s1,s2S,s1s2f(s1)|f(s2)

Niech się zestaw utworzony przez łańcuchy w S . Przypomnij, że C jest łańcuchem iff dla wszystkich v , v w C , v v lub v vCSCv,vCvvvv

Teraz utworzyć zmiennej logicznej każdego v S oraz zmiennej logicznej a C każdego łańcucha C . Możemy napisać następujący program liniowy ( P ) dla naszego problemu: Max v S x v z zastrzeżeniem v C x v1 , C CxvvSydodo(P.)

MaxvS.xvz zastrzeżeniemvdoxv1,dodoxv{0,1},vS.

i jego dual :(re)

Mindodoydoz zastrzeżeniemdo:vdoydo1,vS.ydo{0,1},dodo

Zatem problem znalezienia minimalnego pokrycia zamówionego zestawu przez łańcuchy jest podwójny naszego problemu. Twierdzenie Dilwortha stwierdza, że

Istnieje antychaina A i podział rzędu na rodzinę P łańcuchów, tak że liczba łańcuchów w podziale jest równa liczności A

co oznacza, że ​​optymalne rozwiązanie tych dwóch problemów jest zgodne: Opt(P.)=Opt(re)

Niech ( odpowiednio. ( D ) ) będzie relaksacją ( P ) ( odpowiednio. ( D ) ), tj . Tego samego programu liniowego, w którym wszystkie ograniczenia x v{ 0 , 1 } ( odpowiednio. Y C{ 0 , 1 } ) zastępuje się x v[ 0 , 1 ] ( odpowiednio y(P.) (re)(P.) (re)xv{0,1} ydo{0,1}xv[0,1] ). Niech O p t ( P ) i O p t ( D ) będą ich optymalnymi rozwiązaniami. Od { 0 , 1 } [ 0 , 1 ] mamy: O p t ( P ) O p t ( P )  i  O p t ( D ydo[0,1]Opt(P.)Opt(re){0,1}[0,1] i twierdzenie o słabej dualności ustala, że O p t ( P ) O p t ( D ), a następnie łącząc wszystko, mamy: O p t ( P ) = O p t ( P ) = O p t ( D ) = O p t ( D )

Opt(P.)Opt(P.) i Opt(re)Opt(re)
Opt(P.)Opt(re)
Opt(P.)=Opt(P.)=Opt(re)=Opt(re)

Opt(P.)=Opt(P.)Xs1,s2)Xs1s2)s2)s1X{v1,v2)}

Mathieu Mari
źródło
xxx
Dziękujemy za wyjaśnienie, dlaczego wykładnicza liczba ograniczeń nie stanowi problemu, oraz znaczenie dwoistości. Bardzo dobrze!
DW