Teorema. Il problema nel post è NP-difficile, per riduzione dal sottoinsieme-somma.
Naturalmente ne consegue che è improbabile che il problema abbia un algoritmo poly-time come richiesto dall'op.
Ecco l'intuizione. Il problema nel post è
- Esiste una matrice di permutazione nell'intervallo di una data serie di matrici?
Questo è essenzialmente lo stesso di
- Esiste una matrice di permutazione che (pensando alla matrice come un vettore) soddisfa alcuni vincoli lineari?
Questo a sua volta è lo stesso di
- Esiste una corrispondenza perfetta (in un grafico bipartito completo) il cui vettore di incidenza soddisfa alcuni vincoli lineari?
Ridurre la somma dei sottoinsiemi a quest'ultimo problema è un esercizio standard.
Ecco la prova dettagliata.
Definire il seguente problema intermedio:
Matching-Somma:
input: grafico completo bipartito con pesi dei bordi interi non negativi e bersaglio intero non negativo TG = ( U, V, E)T .
Uscita: fa contiene una perfetta corrispondenza di peso esattamente T ?solT
Lemma 1 . Il poli-tempo sottoinsieme-somma si riduce a somma corrispondente.
Dimostrare che questo è un normale esercizio di compiti a casa. La prova è alla fine.
Lemma 2. Il poli-tempo di somma-somma si riduce al problema nel post.
Prova di Lemma 2. Correggi un input di somma corrispondente: un grafico bipartito completo con pesi interi interi non negativi w : U × V → N + e target T ∈ N + , dove U = { u 1 , … , u n } e V = { v 1 , … , v n } . Per ogni ioG = ( U, V, E)w : U× V→ N+T∈ N+U= { u1, ... , un}V= { v1, ... , vn} , definiscono M ( i j ) come matrice in R ( n + 1 ) × ( n + 1 ) dove M ( i j ) i j = T e M ( i j ) n + 1 , n + 1 = w ( ui , j ∈ { 1 , 2 , … , n }M( i j )R( n + 1 ) × ( n + 1 )M( i j )io j= T e tutte le altre voci sono zero. La riduzione genera il seguente set di matrici:
{ M ( i j ) : i , j ∈ { 1 , … , n } } .
Questo definisce la riduzione.M( i j )n + 1 , n + 1= w ( uio, vj)
{ M( i j ):i,j∈{1,…,n}}.
Richiesta. L'intervallo di questo insieme di matrici è costituito da quelle matrici soddisfano i vincoli lineari M h , n + 1 = M n + 1 , h = 0 per tutti h ≤ n e il vincolo lineare M∈R(n+1)×(n+1)Mh,n+1=Mn+1,h=0h≤n
∑ni=1∑nj=1Mijw(ui,vj)=TMn+1,n+1.
( Prova della rivendicazione. Per ispezione ogni matrice nell'insieme soddisfa questi vincoli, quindi ogni combinazione lineare di quelle matrici lo fa. Al contrario, se M ∈ R ( n + 1 ) × ( n + 1 ) soddisfa i vincoli , allora M è uguale alla combinazione lineare M ′ = ∑ n i = 1 ∑ n j = 1 α i j M ( i jM(ij)M∈R(n+1)×(n+1)M Delle matrici, dove α i j = M i j / M ( i j ) i j = M i j / T. Si noti in particolare che, con le varie definizioni e i vincoli lineari,
M ′ n + 1 , n + 1 = ∑ i j α i j w ( u i , v j ) = ∑ i j MM′=∑ni=1∑nj=1αijM(ij)αij=Mij/M(ij)ij=Mij/T
Questo dimostra l'affermazione.)
M'n + 1 , n + 1= ∑io jαio jw ( uio, vj)=∑ijMijw(ui,vj)/T=(TMn+1,n+1)/T=Mn+1,n+1.
Ora mostriamo che la riduzione è corretta. Cioè, il dato grafico ha una corrispondenza peso- T se e solo se l'insieme di matrici si estende su una matrice di permutazione.GT
( Solo se. ) Supponiamo prima di tutto il grafico dato M n + 1 , h = 0 per tutte le h ≤ n . Quindi ∑ abbia un peso- T corrispondente perfettamente a M ′ . Sia M ∈ { 0 , 1 } ( n + 1 ) × ( n + 1 ) lamatrice di permutazione n × n corrispondente, con una riga e una colonna aggiuntive aggiunte in modo tale che M n + 1 , n + 1 = 1 e M h , n +GTM′M∈{0,1}(n+1)×(n+1)n×nMn+1,n+1=1 n i = 1 ∑ n j = 1 M i j w( u i , v j )è il peso di M ′ , cioèT, e M n + 1 , n + 1 =1Mh,n+1=Mn+1,h=0h≤n∑ni=1∑nj=1Mijw(ui,vj)M′TMn+1,n+1=1, Così i vincoli lineari nella stiva rivendicazione, e la durata di un dato insieme di matrici contiene la matrice di permutazione .M
( Se. ) Al contrario, si supponga che la campata contiene qualsiasi matrice di permutazione . Secondo la rivendicazione, l'unica voce diversa da zero nella riga n + 1 o nella colonna n + 1 è M n + 1 , n + 1 , quindi (poiché M è una matrice di permutazione) deve essere che M n + 1 , n + 1 = 1 . Quindi l'eliminazione dell'ultima riga e colonna fornisce una matrice di permutazione n × n . Sia M ′ GMn+1n+1Mn+1,n+1MMn+1,n+1=1n×nM′ sia il perfetto abbinamento diG corrispondente a quella matrice di permutazione . Il peso di M ' è Σ n i = 1 Σ n j = 1 M i j w ( u i , v j ) , che (dal claim) è T M n + 1 , n + 1 = T . Quindi il grafico dato ha una corrispondenza peso- T , dimostrando Lemma 2. ◻n×nM′∑ni=1∑nj=1Mijw(ui,vj)TMn+1,n+1=TT □
Ecco la prova ritardata di Lemma 1:
Dimostrazione di Lemma 1. Data l'istanza Somma-sottoinsieme , la riduzione genera l'istanza Somma-corrispondente ( G = ( U , V , E ) , T ) dove 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} , per ogni i ∈ { 1 , ... , n } , bordo ( u i , v i ) ha un peso w i , e tutti i bordi rimanenti hanno peso nullo.V={v1,v2,…,v2n}i∈{1,…,n}(ui,vi)wi
Per qualsiasi abbinamento perfetto con i pesi dei bordi che si sommano a , l'insieme S = { i : ( u i , v i ) ∈ M , i ≤ n } è una soluzione per l'istanza di somma sottoinsieme fornita (poiché questi sono i soli non- zero spigoli in M ).TS={i:(ui,vi)∈M,i≤n}M
Viceversa, data una soluzione all'istanza di Somma-sottoinsieme, dire con ∑ i ∈ S w i = T , l'insieme dei bordi { ( u i , v i ) : i ∈ S } è una corrispondenza parziale con il peso T , che si estende facilmente alla corrispondenza perfetta peso- T aggiungendo, ad esempio, la seguente serie di bordi (peso zero):S⊆{1,…,n}∑i∈Swi=T{(ui,vi):i∈S}TT
{(ui+n,vi+n):i∈S}∪⋃i∈{1,…,n}∖S{(ui,vi+n),(ui+n,vi)}.
Ciò dimostra Lemma 1. Il teorema segue da Lemma 1 e 2. ◻ □
ps A parte questo, secondo questa risposta , la restrizione della somma dei corrispondenti alle istanze con pesi di bordo polinomialmente limitati è in P. Ma sono sicuro che la restrizione del problema nel post alle matrici con polinomialmente limitato (intero ) le voci rimangono NP difficili.