Złożoność problemu adopcji kociąt


14

To pojawiło się, gdy próbowałem odpowiedzieć na to pytanie dotyczące minimalizacji długości przewodów . Miałem to nazwać problemem „poligamicznego małżeństwa”, ale internet, tak kocięta. Tak!

Załóżmy, że mamy kociąt, które muszą być przyjęte przez ludzi, . Dla każdego kociaka, i każdej osoby kosztuje . Chcielibyśmy zminimalizować całkowity koszt przyjęcia wszystkich kociąt. Istnieje również szereg ograniczeń: każda osoba może adoptować nie więcej niż kocięta .N M > N i j c i j j u jMNM>Nijcijjuj

Bez ograniczeń problem jest prosty; każdy kotek idzie z osobą dla której jest minimalne. Czy z tymi ograniczeniami istnieje skuteczny algorytm dla tego problemu, czy jest to trudny NP?j c i jijcij

Odpowiedzi:


5

Jest to problem minimalnego kosztu maksymalnego przepływu.

Rozważmy wykres , gdzie jest zbiorem kociąt, jest zbiorem ludzi.A BG=(AB{s,t},E)AB

Niech będzie pojemnością krawędzi, a będzie kosztem krawędzi. Dbamy o to c : E R +C:ER+c:ER+

  1. Istnieje krawędź między , gdzie i , a , .a iA b jB C ( a i , b j ) = 1 c ( a i , b j ) = c i , jai,bjaiAbjBC(ai,bj)=1c(ai,bj)=ci,j
  2. Nie jest krawędź między i , a , .a iA C ( s , a i ) = 1 c ( s , a i ) = 0saiAC(s,ai)=1c(s,ai)=0
  3. Nie jest krawędź między i , i , .bjBtC(bj,t)=ujc(bj,t)=0

Jeśli maksymalny przepływ wynosi , wiemy, że istnieje rozwiązanie. Z minimalnego kosztu maksymalnego można zbudować rozwiązanie o minimalnym koszcie.M


4

Jest to problem idealnego dopasowania minimalnej wagi, który jest wielomianowy. Rozważyć całkowite wykres dwustronnego , w którym L zawiera węzeł l I dla każdej kotek ı , R składa kształcie U j kopii węzła r j, dla każdej osoby, j , a krawędzie E i JE pomiędzy L i a każda kopia r j , o całkowitej masie C ı j .(L,R,E)LliiRujrjjeijElirjcij

Wiemy to , w przeciwnym razie nie wszystkie kocięta mogą być przypisane do osób.|L||R|

Ponieważ idealne dopasowanie musi dopasować wszystkie węzły, musimy dodać obojętne węzłów do (aby dostać | L | = | R | ) i połączyć je z zerowym krawędziach wagi do wszystkich węzłów w R .L|L|=|R|R


2

Być może interesujące jest spostrzeżenie, że można zredukować Partycję do wariantu tego problemu. Podana jest instancja partycji z elementami z q, nawet z której musimy wybrać podzbiór S { 1 , , q } z | S | = q / 2 takie, że i S x i = i S x i = K{x1,,xq}qS{1,,q}|S|=q/2iSxi=iSxi=K. (Pamiętaj, że wymóg wybrania dokładnie połowy elementów nie jest zwykłą formą, ale ta forma jest wciąż trudna do NP). Niech każdy kotek będzie elementem zestawu; niech będą dwie osoby; niech wagi będą wynosić oraz c i 2 = - x i ; niech u 1 = u 2 = q / 2 . Następnie ten przypadek kociąt Przyjęcie ma maksimum w 0 IFF wystąpienie strefowych roztworu.ci1=xici2=xiu1=u2=q/20

Jeśli koszty adopcji kociąt mają być zawsze dodatnie, można po prostu dodać wystarczająco dużą stałą do wszystkich wag, aby upewnić się, że są one właściwym znakiem, gdy wymagany próg to C q zamiast 0.CCq

Nie jestem pewien, co to mówi o złożoności pierwotnego problemu, ale biorąc pod uwagę często spotykany „jeden z minimalizacji / maksymalizacji jest NP-trudny, drugi jest w konfiguracji P” dla kombinatorycznych problemów optymalizacji, zacznę szukać wydajny algorytm.

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.