Gibt es einen polynomiellen Zeitalgorithmus, um zu bestimmen, ob die Spanne einer Reihe von Matrizen eine Permutationsmatrix enthält?


30

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 n betrachten wir das Birkhoff-Polytop als die konvexe Hülle dern×nPermutationsmatrizen. 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.


2
Welche Art von Einträgen würden die Eingangsmatrizen haben?

Die Einträge können in einem beliebigen Feld sein, es gibt einige Freiheiten beim Einrichten der Matrizen; Sie möchten jedoch ein ausreichend großes Feld (ein Feld des Merkmals 2 wäre beispielsweise nicht gut).
Nick

Kann erklären, wie groß die Spanne einer Reihe von Matrizen ist?
Mohammad Al-Turkistany

Mohammad: Ich denke, es ist eine lineare Kombination von Matrizen.
Vivek Bagaria

4
@DavidRicherby Ich denke, Mohammeds Verwirrung rührt von der Tatsache her, dass wir Matrizen normalerweise als Darstellung linearer Karten betrachten und die Spanne der linearen Karte manchmal als ein anderer Begriff für ihren Bereich verwendet wird. Aber das macht hier keinen Sinn, also sollten wir Matrizen als Elemente eines Vektorraums betrachten
Sasho Nikolov,

Antworten:


5

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×VN+TN+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)Mij(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.Mn+1,n+1(ij)=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 MR(n+1)×(n+1)Mh,n+1=Mn+1,h=0hn

i=1nj=1nMijw(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)MR(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=i=1nj=1nαijM(ij)αij=Mij/Mij(ij)=Mij/T Dies beweist die Behauptung.)

Mn+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 +GTMM{0,1}(n+1)×(n+1)n×nMn+1,n+1=1für allehn. 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=0hni=1nj=1nMijw(ui,vj)MTMn+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×nMi=1nj=1nMijw(ui,vj)TMn+1,n+1=TT  

Hier ist der verzögerte Beweis von Lemma 1:

(w,T)N+n×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,in} 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 iSwi=T, the set of edges {(ui,vi):iS} 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):iS}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.


2
It seems like you take the convex hull of the matrices rather than the span. The span of the matrices you described is the full space of matrices. Or am I missing something?
Vanessa

@Squark, you are correct - I misinterpreted "span". Thanks. I corrected the proof to use the correct definition of span (as any linear combination of the matrices.)
Neal Young

Nice! I think it would be better to multiply the definition of M(ij) by w(ui,vj), so that we don't have to divide by something which might be 0? Also, it seems like the proof can be somewhat simplified by combining the two reductions without the intermediate problem.
Vanessa

Good point about dividing by zero. I'll fix that. I'll leave the two reductions separate though, for me it's more intuitive that way.
Neal Young

3

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 mist die Anzahl der Ungleichungen, die das Polytop definieren. Ich skizziere das unter der Linie.

In Ihrem Fall das Birkhoff-Polytop P ist nicht zentral symmetrisch, sondern arbeitet mit der konvexen Hülle von P und -Pgenügt für Ihre Zwecke. Ich denke, dieses "symmetrische Birkhoff" -Polytop kann als die Menge aller quadratischen Matrizen dargestellt werdenM die erfüllen:

ich,j:ichMichj=jMichj=c

ich,j:-1Michj1

-1c1

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:-bEINxb} ein zentral symmetrisches Polytop sein, wo EIN ist m×n. Definieren Sie das Vektorprogramm:

α2=maxich=1nvich22

unterliegen:

1ichm:j=1nEINichjvj22bich2

Über vich reichen über nVektoren. Dies kann standardmäßig als SDP geschrieben werden und ist eine Entspannung des Durchmessers vonPdh α ist mindestens der euklidische Durchmesser von P.

Das behaupte ich jetzt αO(Logm)Durchm(P). Um dies zu zeigen, werde ich Ihnen einen Algorithmus geben, der gegeben ist(vich)ich=1n von Wert αAusgänge xP der Länge mindestens αO(Logm). Der Algorithmus ist nur eine zufällige Projektion: Wählen Sie eine zufälligenVektor G wo jeder Gichist ein Standard-Gaußscher. einstellenx~ich=GTvich. Durch Standardeigenschaften von Gaußschen:

E x~22=α2
ichm:E |(EINx~)ich|2bich2    E maxich=1m|(EINx~)ich|bichCLogm.
wo die letzte Schranke groß genug ist C (Dies ist eine Standardtatsache über das Maximum von m subguassianische Zufallsvariablen und kann mit der Chernoff-Grenze bewiesen werden).

Die beiden Gleichungen implizieren bereits, dass eine existiert x so dass xP und x221CLogmα. Oder Sie können dies mithilfe von Konzentrationsgrenzen mit konstanter Wahrscheinlichkeit zeigen12CLogmx~P und x~212α.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.