-Vollständigkeit der Erkennung des Unterschieds zweier Permutationen


21

Shor erklärte in seinem Kommentar zu der Antwort von anonymen Elchen auf diese Frage: Können Sie die Summe von zwei Permutationen in der Polynomzeit identifizieren? , dass es vollständig ist, den Unterschied zweier Permutationen zu identifizieren. Leider sehe ich keine einfache Reduktion des Permutationssummenproblems und es ist nützlich, die Vollständigkeitsreduktion für das Permutationsdifferenzproblem zu haben .N PNPNP

Permutationsunterschied:

INSTANZ: Ein Array positiver Ganzzahlen.EIN[1 ...n]

FRAGE: Gibt es zwei Permutationen und der positiven ganzen Zahlen so dass für ?& sgr; 1 , 2 , . . . , n | π ( i ) - σ ( i ) | = A [ i ] 1 i nπσ1,2,...,n|π(ich)-σ(ich)|=EIN[ich]1ichn

Was ist die Reduktion für den Nachweis der Vollständigkeit des Erkennens des Unterschieds zweier Permutationen?NP

EDIT 2014.10.09 : Shors Kommentar gibt eine Reduktion , die beweist -completeness , wenn die Elemente der Sequenz sind unterzeichnet Unterschiede. Ich sehe jedoch keine einfache Reduktion auf mein Problem, bei dem alle Elemente von die absoluten Werte von Differenzen sind.A ANPEINEIN

UPDATE: Das Permutationsdifferenzproblem scheint vollständig zu sein, auch wenn eine der beiden Permutationen immer die Identitätspermutation ist. Ein Härtenachweis für diesen Sonderfall ist ausdrücklich erwünscht. Ich bin also an der Vollständigkeit dieser eingeschränkten Version interessiert :N PNPNP

Eingeschränkter Permutationsunterschied: INSTANZ: Ein Array positiver Ganzzahlen.EIN[1 ...n]

FRAGE: Gibt es eine Permutation der positiven ganzen Zahlen so dass für ?1 , 2 , . . . , n | π ( i ) - i | = A [ i ] 1 i nπ1,2,...,n|π(ich)-ich|=EIN[ich]1ichn

Update 2 : Das eingeschränkte Problem kann effizient entschieden werden, wie die Antwort von mjqxxxx zeigt. Die rechnerische Komplexität des ursprünglichen Problems ist nicht bewiesen.

EDIT 9/6/16 : Ich bin daran interessiert festzustellen, ob diese Vereinfachung des Permutationsunterschieds NP-vollständig ist:

Eingeschränkter Permutationsunterschied:

INSTANZ : Ein Multiset von positiven ganzen Zahlen.EIN

FRAGE : Gibt es eine Permutation der positiven ganzen Zahlen , so dass ?1 , 2 , . . . , n A = { | π ( i ) - i | : 1 i n }π1,2,...,nEIN={|π(ich)-ich|:1ichn}


Warum nicht gleich Peter fragen? @ Peter
Caozhu

Meinen Sie per E-Mail? Ich werde das machen.
Mohammad Al-Turkistany

Ich kann etwas vermissen, aber kann dieses Problem nicht als 2-SAT dargestellt und somit in polytime gelöst werden? Wir können WLOG annehmen, dass eine der Permutationen die Identität ist (ich nehme hier an, dass A [i] zyklisch berechnet wird; sollte das viel ausmachen?), Und dann können wir die zweite durch eine Matrix . Eine Permutationsmatrix zu sein, ist eine Konjunktion der Klauseln zweier Variablen, die besagen, dass keine zwei in einer Zeile oder in einer Spalte liegen. und dann zu sagen, dass der Unterschied in den Stellen von pi (i) von i ist. A [i] ist das ODER der zwei möglichen Stellen, an denen es sein kann.x[ich,j]
Noam

@Noam Vielen Dank für Ihren Kommentar. Interessante Idee. Ich habe nicht daran gedacht. Es ist mir jedoch nicht klar, ob es zu einem polynomialen Zeitalgorithmus führen wird, insbesondere, dass wir nur den absoluten Wert der Differenzen erhalten.
Mohammad Al-Turkistany

1
Ja, es scheint, dass der Unterschied zwischen dem zyklischen oder absoluten Zählen der Lücke eine Rolle spielen kann.
Noam

Antworten:


5

Das eingeschränkte Problem, wo eine der Permutationen die Identität ist, ist sicherlich in . Konstruiere die zweiteiligen Graphen , wo jeder Knoten i V 1 = { 1 , 2 , ... , n } ist mit dem Element (e) j V 2 = { 1 , 2 , ... , n } , so dass | i - j | = A [ i ] . Dann die gewünschte Permutation σPichV1={1,2,,n}jV2={1,2,,n}|ich-j|=EIN[ich]σexistiert genau dann, wenn der Graph eine perfekte Übereinstimmung (dh eine Übereinstimmung mit Kanten) aufweist, die in Polynomzeit bestimmt werden kann.n


Möglicherweise fehlt mir etwas, aber ein perfekter Abgleich wird nicht funktionieren. Sie müssen die Existenz einer eingeschränkten perfekten Übereinstimmung nachweisen. Betrachten Sie eine ganze Zahl die in Eingabearray A zweimal vorkommt . Die perfekte Übereinstimmung, die der Permutation entspricht, muss zwei Kanten mit der absoluten Differenz k haben . Ihr Algorithmus belegt NICHT das Vorhandensein eines solchen eingeschränkten Abgleichs. Dies ist es, was das Problem schwierig und möglicherweise NP-vollständig macht. kEINk
Mohammad Al-Turkistany

2
@ MohammadAl-Turkistany: Ich denke, wenn dann sind u i , u jV 1 mit den Knoten v i + A [ i ] , v i - A [ i ] , v verbunden j + A [ j ] , v j - A [ j ]V 2EIN[ich]=EIN[j]=kuich,ujV1vich+EIN[ich],vich-EIN[ich],vj+EIN[j],vj-EIN[j]V2mit absoluten Differenzen . Die perfekte Übereinstimmung umfasst mindestens eine Kante von u i und eine Kante von u j . Ich bin vor einiger Zeit zu demselben Schluss gekommen, als ich über das ursprüngliche Problem nachgedacht habe, aber auf eine andere Weise: Ich habe gesehen, dass es einfach ist, das eingeschränkte Problem als 2-SAT-Formel zu formulieren (wenn Sie möchten, kann ich eine Antwort hinzufügen) , aber die Idee von mjqxxxx ist besser). kuichuj
Marzio De Biasi

@MarzioDeBiasi Warum funktioniert dieser Ansatz (und Ihr Ansatz) nicht für das ursprüngliche (uneingeschränkte) Problem?
Mohammad Al-Turkistany

@mjqxxx Ich sehe, dass Ihr Ansatz den eingeschränkten Fall löst. Warum kann es nicht erweitert werden, um das ursprüngliche Problem effizient zu lösen?
Mohammad Al-Turkistany

@ MohammadAl-Turkistany: weil im ursprünglichen Problem die Elemente der ersten Permutation (das s in der eingeschränkten Version) nicht festgelegt sind und mit dem gleichen Ansatz erhält man einen dreigliedrigen Graphen (und in meinem 2-SAT-Ansatz mit a δ i ( n ) ( π i ( n + A [ i ] ) π i ( n - A [ i ] ) ) Klausel ... , das keine 2-CNF - Klausel) ist. ichδich(n)(πich(n+EIN[ich])πich(n-EIN[ich]))
Marzio De Biasi

0

Hier ist eine leicht interessante Variante, bei der das Problem einfach ist: Statt einer Grundmenge von lassen Sie eine beliebige Teilmenge von { 1 , 2 , 4 , 8 , } zu . Das Ziel ist immer noch, eine Permutation π zu finden, so dass A = { | π ( 2 k ) - 2 k | : 2 kΩ } wobei Ω{1,2,3,,n}{1,2,4,8,}πEIN={|π(2k)-2k|:2kΩ}Ωist der Grundstein. Der Hauptvorteil ist , dass die neue Bodensatz Kräfte jedes Element von zu 2 k 1 - 2 k 2 für einige k 1 , k 2 , und wenn k 1k 2 , dann k 1 und k 2 durch diese bestimmt sind Unterschied. Daraus folgt für jeden Unterschied | 2 k 1 - 2 k 2 | in A können wir schließen, dass π ( 2 kEIN2k1-2k2k1,k2k1k2k1k2|2k1-2k2|EIN oder&pgr;(2 k 2 )=2 k 1 (oder beide).π(2k1)=2k2π(2k2)=2k1

Das effiziente Lösen dieser vereinfachten Variante ist dann mehr oder weniger Routine. Beginnen Sie mit der Konstruktion des ungerichteten zweigliedrigen Multigraphen wobei L und R unterschiedliche Kopien der Grundmenge sind, und fügen Sie Kanten ( 2 k 1 , 2 k 2 ) und ( 2 k 2 , 2 k 1 ) hinzu. wann immer | 2 k 1 - 2 k 2 | erscheint inG=(LR,E)LR(2k1,2k2)(2k2,2k1)|2k1-2k2| mit k 1k 2 . Ich behaupte, dass die folgenden äquivalent sind:EINk1k2

  1. Es gibt eine Permutation mit Differenzen AπEIN
  2. Jeder Scheitelpunkt in hat Grad 0 oder 2G

Ich werde das aus Zeitgründen nicht beweisen, aber es ist nicht schlecht, alleine zu trainieren. Das ist einfach. Das 212 ist etwas anstrengender, aber es ist nicht schlecht, wenn Sie mit dem Automorphismus von G argumentieren, der jeden Scheitelpunkt in L zu seiner Kopie in R sendet(und umgekehrt). Der Beweis, den ich im Sinn habe, lenkt die Kanten in G so, dass alle Kanten in einem Zyklus auf die gleiche Weise um den Zyklus verlaufen (jeder nicht isolierte Scheitelpunkt hat In-Grad = Out-Grad = 1), und damit den vorhergehenden Der Automorphismus von G bleibt ein Automorphismus der gerichteten Version. π wird dann entsprechend den Kanten gewählt, die von L nach R gehen .21GLRGGπLR

Sie können den obigen Algorithmus als perfekte Übereinstimmungsfrage formulieren, und ich stelle mir vor, es gibt andere Reduzierungen auf 2-SAT. Ich sehe jedoch keine Möglichkeit, diese Ansätze auf das ursprüngliche Problem auszudehnen.

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.