Ich möchte einen polynomiellen Zeitalgorithmus finden, der bestimmt, ob die Spanne einer gegebenen Menge von Matrizen eine Permutationsmatrix enthält.
Wenn jemand weiß, ob dieses Problem von einer anderen Komplexitätsklasse ist, wäre das genauso hilfreich.
EDIT: Ich habe diese Frage mit Linear Programming markiert, weil ich den starken Verdacht habe, dass es sich bei einer solchen Lösung um eine Art linearen Programmieralgorithmus handelt. Ich glaube, das liegt daran, dass die Extrempunkte des Birkhoff-Polytops genau die Permutationsmatrizen sind. Wenn Sie dann eine objektive Funktion finden könnten, die entweder nur auf den Eckpunkten des Birkhoff-Polytops maximiert oder minimiert ist, könnten Sie Ihre Funktion auf den Schnittpunkt des Polytops und Ihres Vektor-Unterraums beschränken und dann in Polynomzeit maximieren. Wenn dieser Wert eine Permutationsmatrix wäre, würden Sie wissen, dass die Menge eine Permutation enthält. Das sind meine Gedanken zu diesem Thema.
EDIT 2: Nach einigem Nachdenken scheint es mir, dass die Permutationsmatrizen genau die Elemente des Birkhoff-Polytops mit euklidischer Norm sind betrachten wir das Birkhoff-Polytop als die konvexe Hülle derPermutationsmatrizen. Vielleicht könnte das auch von Bedeutung sein.
EDIT 3: Ich habe das semidefinite Programmiertag hinzugefügt, da ich nach meinem vorherigen Kommentar anfange zu denken, dass eine semidefinite Programmierlösung möglich sein könnte, da es sich nun um einen linear beschränkten quadratischen Optimierungsalgorithmus handelt.
quelle
Antworten:
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
Dies ist im Wesentlichen dasselbe wie
Dies ist wiederum dasselbe wie
Das Reduzieren von Subset-Sum auf das letztere Problem ist eine Standardübung.
Hier ist der ausführliche Beweis.
Definieren Sie das folgende Zwischenproblem:
Dies zu beweisen ist eine Standard-Hausaufgabe. Der Beweis ist am Ende.
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)
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änkungM∈R(n+1)×(n+1) Mh,n+1=Mn+1,h=0 h≤n
( 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.)
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.G T
( 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 +G T M′ M∈{0,1}(n+1)×(n+1) n×n Mn+1,n+1=1 fü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=0 h≤n ∑ni=1∑nj=1Mijw(ui,vj) M′ T Mn+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 vonM n+1 n+1 Mn+1,n+1 M Mn+1,n+1=1 n×n M′ 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 .G n×n M′ ∑ni=1∑nj=1Mijw(ui,vj) TMn+1,n+1=T T □
Hier ist der verzögerte Beweis von Lemma 1:
Conversely, given any solution to the Subset-Sum instance, sayS⊆{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:
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.
quelle
Bezüglich des Problems der Berechnung des Durchmessers eines Polytops, das als Schnittpunkt von Halbräumen dargestellt wird, ist das Problem im Allgemeinen NP-hart und auch NP-hart, um sich innerhalb eines konstanten Faktors anzunähern, siehe Briedens Aufsatz und Referenzen darin. Ich denke für zentral symmetrische Polytope gibt ein SDP eineO ( logm-----√) Annäherung wo m ist die Anzahl der Ungleichungen, die das Polytop definieren. Ich skizziere das unter der Linie.
In Ihrem Fall das Birkhoff-PolytopP ist nicht zentral symmetrisch, sondern arbeitet mit der konvexen Hülle von P und - P genügt für Ihre Zwecke. Ich denke, dieses "symmetrische Birkhoff" -Polytop kann als die Menge aller quadratischen Matrizen dargestellt werdenM die erfüllen:
Wenn dies eine korrekte Darstellung ist (nicht sicher), können Sie einfach die Einschränkungen hinzufügen, die dieses Polytop auf den angegebenen Unterraum beschränken. Es ist nicht schwer, das SDP unter dem Strich an diese Darstellung anzupassen, aber ich entscheide mich, es nicht durchzugehen, um die Notation handhabbar zu halten.
Ich bin nicht sicher, was der ungefähre Durchmesser für Ihr Problem bedeutet: Sie können wahrscheinlich entscheiden, ob sich der angegebene Unterraum in der Nähe einer Permutationsmatrix oder weit entfernt von allen befindet, aber ich habe die Berechnungen nicht ausgearbeitet.
Lassen Sie mich mit einer Skizze der SDP-Rundung abschließen (die ziemlich normal ist). LassenP= { x : - b ≤ A x ≤ b } ein zentral symmetrisches Polytop sein, wo EIN ist m × n . Definieren Sie das Vektorprogramm:
unterliegen:
Übervich reichen über n Vektoren. Dies kann standardmäßig als SDP geschrieben werden und ist eine Entspannung des Durchmessers vonP dh α ist mindestens der euklidische Durchmesser von P .
Das behaupte ich jetztα ≤ O ( logm-----√) ⋅ diam ( P) . Um dies zu zeigen, werde ich Ihnen einen Algorithmus geben, der gegeben ist( vich)ni = 1 von Wert α Ausgänge x ∈ P der Länge mindestens αO ( logm√) . Der Algorithmus ist nur eine zufällige Projektion: Wählen Sie eine zufälligen Vektor G wo jeder Gich ist ein Standard-Gaußscher. einstellenx~ich= gTvich . Durch Standardeigenschaften von Gaußschen:
Die beiden Gleichungen implizieren bereits, dass eine existiertx so dass x ∈ P und ∥ x ∥22≥ 1CLogm√α . Oder Sie können dies mithilfe von Konzentrationsgrenzen mit konstanter Wahrscheinlichkeit zeigen12 CLogm√x~∈ P und ∥ x~∥2≥ 12α .
quelle