Twierdzenie. Problem na stanowisku jest trudny NP, przez redukcję z sumy częściowej.
Oczywiście wynika z tego, że mało prawdopodobne jest, aby problem zawierał algorytm wieloczasowy, zgodnie z żądaniem op.
Oto intuicja. Problem w poście jest
- Czy istnieje macierz permutacji na rozpiętości danego zestawu macierzy?
Jest to w zasadzie to samo co
- Czy istnieje macierz permutacyjna, która (myśląc o macierzy jako wektorze) spełnia pewne dane ograniczenia liniowe?
To z kolei jest takie samo jak
- Czy istnieje idealne dopasowanie (na pełnym grafie dwudzielnym), którego wektor występowania spełnia określone ograniczenia liniowe?
Zmniejszenie sumy częściowej do tego drugiego problemu jest standardowym ćwiczeniem.
Oto szczegółowy dowód.
Zdefiniuj następujący problem pośredni:
Dopasowana suma:
dane wejściowe: Pełny, dwustronny wykres z nie-ujemnych wag krawędzi liczbę całkowitą, a nieujemną liczbą całkowitą docelowej T .G = ( U, V, E)T.
wynik: czy zawiera idealne dopasowanie masy dokładnie do T ?solT.
Lemat 1 . Wielo-czasowy podzbiór sumy zmniejsza się do sumy dopasowania.
Udowodnienie, że jest to standardowe zadanie domowe. Dowód jest na końcu.
Lemat 2. Wielokrotnie dopasowywana suma sprowadza się do problemu na stanowisku.
Dowód lematu 2. Naprawić sumę dopasowującą: pełny wykres dwudzielny z nieujemnymi wagami całkowitymi krawędzi w : U × V → N + i docelowym T ∈ N + , gdzie U = { u 1 , … , u n } i V = { , j ∈ { 1 , 2 , … , nG = ( U, V, E)w : U× V.→ N.+T.∈ N.+U= { u1, … , Un} . Dla każdego IV.= { v1, … , Vn} , zdefiniuj M ( i j ) jako macierz w R ( n + 1 ) × ( n + 1 ) gdzie M ( i j ) i j = T i M ( i j ) n + 1 , n + 1 = w ( ui , j ∈ { 1 , 2 , … , n }M.( i j )R( n + 1 ) × ( n + 1 )M.( i j )I j= T , a wszystkie inne wpisy są zerowe. Redukcja generuje następujący zestaw macierzy:
{ M ( i j ) : i , j ∈ { 1 , … , n } } .
To określa redukcję.M.( i j )n + 1 , n + 1=w(ui,vj)
{M(ij):i,j∈{1,…,n}}.
Roszczenie. Rozpiętość tego zestawu matrycy składa się z tych macierzy , spełniającego liniowe ograniczenia M H , n + 1 = M n + 1 , h = 0 dla wszystkich h ≤ n i ograniczenie liniowe M∈R(n+1)×(n+1)Mh,n+1=Mn+1,h=0h≤n
∑ni = 1∑nj = 1M.I jw ( uja, vjot) = TM.n + 1 , n + 1.
( Potwierdzenie według zastrz. Poprzez kontrolę każdej macierzy w zestawie spełnia te ograniczenia, aby każdy liniową kombinacją tych macierzy nie. Z drugiej strony, jeśli M ∈ R ( n + 1 ), x ( n + 1 ) spełnia ograniczeń , następnie M równa się kombinacji liniowej M ′ = ∑ n i = 1 ∑ n j = 1 ) macierzy, gdzie α i jM.( i j )M.∈ R.( n + 1 ) × ( n + 1 )M.M.′= ∑ni = 1∑nj = 1αI jM.( i j ) . Należy zauważyć w szczególności, że według różnych definicji i ograniczeń liniowych
M ′ n + 1 , n + 1 = ∑ i j α i j w ( u i ,αI j= M.I j/ M( i j )I j= M.I j/ T
To potwierdza roszczenie.)
M.′n + 1 , n + 1= ∑I jαI jw ( uja, vjot) = ∑I jM.I jw ( uja, vjot) / T= ( TM.n + 1 , n + 1) / T= M.n + 1 , n + 1.
Teraz pokazujemy, że redukcja jest poprawna. Oznacza to, że dany wykres ma dopasowanie wagi T wtedy i tylko wtedy, gdy zbiór macierzy obejmuje macierz permutacji.solT.
( Tylko jeśli. ) Najpierw załóżmy, że podany wykres ma T- idealne dopasowanie M ′ . Niech K ∈ { 0 , 1 } ( n + 1 ), x ( n + 1 ) jest odpowiednia n x n macierzy permutacji, z dodatkowego rzędu i kolumny dodaje się tak, że M n + 1 , n + 1 = 1 i M H , n +solT.M.′M.∈ { 0 , 1 }( n + 1 ) × ( n + 1 )n × nM.n + 1 , n + 1= 1dla wszystkichh≤n. Zatem ∑ n i = 1 ∑ n j = 1 M i j w( u i , v j )jest wagą M ′ , to znaczyTi M n + 1 , n + 1 =1M.h , n + 1= M.n + 1 , godz= 0h ≤ n∑ni = 1∑nj = 1M.I jw ( uja, vjot)M.′T.M.n + 1 , n + 1= 1Tak liniowe ograniczenia w ładowni zastrzeżeń oraz rozpiętość dany zestaw matryc zawiera macierz permutacji .M.
( If. ) Z drugiej strony, załóżmy, że przedział zawiera elementy macierzy permutacji . Przy żądaniu tylko niezerowej wejścia w wierszu n + 1 lub kolumny n + 1 to M n + 1 , n + 1 , to (a M jest macierzą permutacji) musi być tak M n + 1 , n + 1 = 1 . Zatem usunięcie ostatniego wiersza i kolumny daje macierz permutacji n × n . Niech M ' być idealne dopasowanieM.n + 1n + 1M.n + 1 , n + 1M.M.n + 1 , n + 1= 1n × nM.′ odpowiadające temu n × nsoln × n macierzy permutacji . Masa jest Σ n i = 1 Ď n j = 1 K i J W ( U I , v j ) , który (z zastrzeżeń) jest T M n + 1 , n + 1 = T . Tak więc podany wykres ma dopasowanie wagi T , co dowodzi lematu 2. ◻M.′∑ni = 1∑nj = 1M.I jw ( uja, vjot)T.M.n + 1 , n + 1= TT. □
Oto opóźniony dowód na Lemat 1:
Dowód lematu 1. Biorąc pod uwagę instancję sumy częściowej , redukcja generuje instancję sumy dopasowania ( G = ( U , V , E ) , T ), gdzie U = { u 1 , u 2 , … , u 2 n } , V = { v 1 , v 2 ,(w,T)∈Nn+×N+(G=(U,V,E),T)U={u1,u2,…,u2n}V={v1,v2,…,v2n} dla każdego , krawędź ( U I , V i ) ma masę w I , a wszystkie pozostałe krawędzie mają ciężar wynosił zero.i∈{1,…,n}(ui,vi)wi
For any perfect matching with edge weights summing to T, the set S={i:(ui,vi)∈M,i≤n} is a solution to the given Subset-Sum instance (as these are the only non-zero weight edges in M).
S⊆{1,…,n}∑i∈Swi=T{ ( uja, vja) : i ∈ S.}T.T.
{ ( ui + n, vi + n) : i ∈ S.} ∪ ⋃i ∈ { 1 , … , n } ∖ S.{ ( uja, vi + n) , ( ui + n, vja) } .
□
p.s. As an aside, according to this answer, the restriction of Matching-Sum to instances with polynomially-bounded edge weights is in P. But I'm sure that the restriction of the problem in the post to matrices with polynomially-bounded (integer) entries remains NP hard.