Angenommen, wir haben eine nx n-Matrix. Ist es möglich, die Zeilen und Spalten so neu anzuordnen, dass sich eine Matrix mit einem oberen Dreieck ergibt?
Diese Frage ist durch das Problem motiviert: Positive topologische Ordnung
Das ursprüngliche Entscheidungsproblem ist mindestens so schwer wie dieses, daher würde ein Ergebnis der NP-Vollständigkeit auch dieses Problem lösen.
Edit: Laszlo Vegh und Andras Frank haben mich auf ein gleichwertiges Problem aufmerksam gemacht, das Gunter Rote gestellt hat: http://lemon.cs.elte.hu/egres/open/Graphs_extendable_to_a_uniquely_matchable_bipartite_graph
Bearbeiten: Die Reduzierung auf das ursprüngliche Problem ist wie folgt. Angenommen, die DAG hat nur zwei Ebenen. Diese entsprechen den Zeilen und Spalten der Matrix. Außerdem haben wir einen einzelnen Knoten mit einer Gewichtung von +1. Alle anderen in der unteren Ebene haben das Gewicht -1 und in der oberen Ebene +1.
quelle
Antworten:
Das Problem stellte sich als NP-vollständig heraus. Mehr dazu lesen Sie hier und hier . Kurze Zusammenfassung:
Die Reduktion beruht auf einem Problem, von dem Dasgupta, Jiang, Kannan, Li und Sweedyk gezeigt haben, dass es NP-vollständig ist: Wenn ein zweigliedriger Graph G und eine ganze Zahl k gegeben sind, entscheiden Sie, ob G einen induzierten Teilgraphen auf 2k Knoten hat, auf den erweitert werden kann einzigartig passend sein. Stéphane Vialette stellte fest, dass sich dieses Problem auf die zweiteilige, eindeutige Version dieses Problems reduziert, wenn wir beiden Klassen nk isolierte Knoten hinzufügen.
quelle
Achtung: Dies ist eine Teilantwort basierend auf Vermutungen und Hörensagen! Während David Eppsteins allgemeineres Problem NP-vollständig ist, ist dieses vielleicht in P.
Bisher konnte ich kein Beispiel finden, in dem ein Diagramm diese Bedingungen erfüllt, aber es ist kein UPMX. In diesem Fall sind sie vielleicht ausreichend. Dies könnte man mit folgendem Algorithmus beweisen:
Mit dem Satz von Hall können Sie charakterisieren, welche neuen Kanten eine perfekte Übereinstimmung ergeben würden, und es ist nicht schwer zu charakterisieren, welche neuen Kanten den Grad der Schranke verletzen würden. Leider konnte ich das nicht beweisen, auch wenn es stimmt, dass es immer eine Kante des richtigen Typs gibt.
quelle
Diese Arbeit zeigt, dass das Problem für binäre quadratische Matrizen NP-vollständig ist, indem eine dreieckige Matrix durch unabhängige Reihen-Spalten-Permutationen Fertin, Rusu und Vialette erhalten wird.
quelle
Das Problem ist NP-vollständig, aber wo ist der Algorithmus, um es zu lösen? Ich habe einen Algorithmus, der an vielen Beispielen funktioniert, aber ich kann nicht zeigen, dass er die ganze Zeit funktioniert.
quelle