Satz. Das Problem in der Post ist NP-schwer, durch Reduktion von Subset-Sum.
Daraus folgt natürlich, dass es unwahrscheinlich ist, dass das Problem einen Poly-Time-Algorithmus hat, wie er von op angefordert wird.
Hier ist die Intuition. Das Problem in der Post ist
- Gibt es eine Permutationsmatrix in der Spanne eines gegebenen Satzes von Matrizen?
Dies ist im Wesentlichen dasselbe wie
- Gibt es eine Permutationsmatrix, die (wenn man die Matrix als Vektor betrachtet) einige gegebene lineare Bedingungen erfüllt?
Dies ist wiederum dasselbe wie
- Gibt es eine perfekte Übereinstimmung (in einem vollständigen zweigliedrigen Graphen), deren Inzidenzvektor einige gegebene lineare Bedingungen erfüllt?
Das Reduzieren von Subset-Sum auf das letztere Problem ist eine Standardübung.
Hier ist der ausführliche Beweis.
Definieren Sie das folgende Zwischenproblem:
Matching-Summe:
Eingabe: Complete, zweiteilige Graphen mit nicht-negativen ganzen Zahl Kantengewichten und nicht negativer ganzen Zahl Ziel T .G=(U,V,E)T
Ausgabe: Enthält eine perfekte Gewichtsanpassung genau T ?GT
Lemma 1 . Teilmengen-Summen-Polyzeit reduziert sich auf Matching-Sum.
Dies zu beweisen ist eine Standard-Hausaufgabe. Der Beweis ist am Ende.
Lemma 2. Matching-Sum Poly-Time reduziert sich auf das Problem in der Post.
Beweis von Lemma 2. Fixiere eine Matching-Sum-Eingabe: ein vollständiger zweigliedriger Graph mit nicht negativen ganzzahligen Kantengewichten w : U × V → N + und Ziel T ∈ N + , wobei U = { u 1 , … , u n } und V = { v 1 , … , v n } . Für jeden iG=(U,V,E)w:U×V→N+T∈N+U={u1,…,un}V={v1,…,vn} , definiere M ( i j ) als die Matrix in R ( n + 1 ) × ( n + 1 ), wobei M ( i j ) i j = T und M ( i j ) n + 1 , n + 1 = w ( ui,j∈{1,2,…,n}M(ij)R(n+1)×(n+1)M(ij)ij=T und alle anderen Einträge sind Null. Die Reduktion gibt den folgenden Satz von Matrizen aus:
{ M ( i j ) : i , j ∈ { 1 , … , n } } .
Dies definiert die Reduzierung.M(ij)n+1,n+1=w(ui,vj)
{M(ij):i,j∈{1,…,n}}.
Anspruch. Die Spanne dieses Satzes von Matrizen besteht aus den Matrizen die die linearen Bedingungen M h , n + 1 = M n + 1 , h = 0 für alle h ≤ n und erfüllen die lineare Beschränkung M∈R(n+1)×(n+1)Mh,n+1=Mn+1,h=0h≤n
∑ni=1∑nj=1Mijw(ui,vj)=TMn+1,n+1.
( Beweis des Anspruchs. Durch Inspektion erfüllt jede Matrix in der Menge diese Einschränkungen, so dass jede lineare Kombination dieser Matrizen dies tut. Umgekehrt, wenn M ∈ R ( n + 1 ) × ( n + 1 ) die Einschränkungen erfüllt , dann M gleich die Linearkombination M ' = Σ n i = 1 Σ N j = 1 α i j M ( i jM(ij)M∈R(n+1)×(n+1)M Der Matrizen, wobei α i j = M i j / M ( i j ) i j = M i j / T. Insbesondere Kenntnisdass durch die verschiedenen Definitionen und die linearen Constraints,
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
Dies beweist die Behauptung.)
M′n+1,n+1=∑ijαijw(ui,vj)=∑ijMijw(ui,vj)/T=(TMn+1,n+1)/T=Mn+1,n+1.
Jetzt zeigen wir, dass die Reduzierung korrekt ist. Das heißt, der gegebene Graph hat genau dann eine Übereinstimmung der Gewichtung T, wenn der Satz von Matrizen eine Permutationsmatrix überspannt.GT
( Nur wenn. ) Angenommen, der gegebene Graph hat ein Gewicht T, das perfekt zu M ' passt . Es sei M ∈ { 0 , 1 } ( n + 1 ) × ( n + 1 ) die entsprechende n × n- Permutationsmatrix, wobei eine zusätzliche Zeile und Spalte hinzugefügt wird, so dass M n + 1 , n + 1 = 1 und M h , n +GTM′M∈{0,1}(n+1)×(n+1)n×nMn+1,n+1=1für alleh≤n. Dann Σ n i = 1 Σ N j = 1 M i j w( u i , v j )ist das Gewicht von M ' , das heißt,Tund 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, Also die linearen Constraints im Anspruch halten, und die Spannweite des gegebenen Satzes von Matrizen enthalten die Permutationsmatrix .M
( Wenn. ) Umgekehrt wird angenommen, dass die Spanne eine Permutationsmatrix . Durch die Forderung, die nur Nicht-Null - Eintrag in der Zeile n + 1 oder Spalte n + 1 ist , M n + 1 , n + 1 , so (wie M eine Permutationsmatrix ist) muss es sein , daß M n + 1 , n + 1 = 1 . Wenn Sie also die letzte Zeile und Spalte löschen, erhalten Sie eine n × n- Permutationsmatrix. Sei M ' die perfekte Übereinstimmung vonMn+1n+1Mn+1,n+1MMn+1,n+1=1n×nM′ entsprechend dieser n × n Permutationsmatrix. Das Gewicht von M ' ist Σ n i = 1 Σ N j = 1 M i j w ( u i , v j ) , die (durch die Ansprüche) ist T M n + 1 , n + 1 = T . Das gegebene Diagramm hat also eine Gewichts- T- Übereinstimmung, was Lemma 2 beweist. 2 .Gn×nM′∑ni=1∑nj=1Mijw(ui,vj)TMn+1,n+1=TT □
Hier ist der verzögerte Beweis von Lemma 1:
(w,T)∈Nn+×N+(G=(U,V,E),T)U={u1,u2,…,u2n}V={v1,v2,…,v2n}i∈{1,…,n}(ui,vi)wi
TS={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).
Conversely, given any solution to the Subset-Sum instance, say S⊆{1,…,n} with ∑i∈Swi=T, the set of edges {(ui,vi):i∈S} is a partial matching with weight T, and it extends easily to a weight-T perfect matching by adding, for example, the following set of (zero-weight) edges:
{(ui+n,vi+n):i∈S}∪⋃i∈{1,…,n}∖S{(ui,vi+n),(ui+n,vi)}.
This proves Lemma 1. The theorem follows from Lemmas 1 and 2. □
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.