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 P
Permutationsunterschied:
INSTANZ: Ein Array positiver Ganzzahlen.
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
Was ist die Reduktion für den Nachweis der Vollständigkeit des Erkennens des Unterschieds zweier Permutationen?
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 A
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 P
Eingeschränkter Permutationsunterschied: INSTANZ: Ein Array positiver Ganzzahlen.
FRAGE: Gibt es eine Permutation der positiven ganzen Zahlen so dass für ?1 , 2 , . . . , n | π ( i ) - i | = A [ i ] 1 ≤ i ≤ n
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.
FRAGE : Gibt es eine Permutation der positiven ganzen Zahlen , so dass ?1 , 2 , . . . , n A = { | π ( i ) - i | : 1 ≤ i ≤ n }
quelle
Antworten:
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 σP ich ∈ V1= { 1 , 2 , … , n } j ∈ V2= { 1 , 2 , … , n } | i-j | =A[i] σ existiert genau dann, wenn der Graph eine perfekte Übereinstimmung (dh eine Übereinstimmung mit Kanten) aufweist, die in Polynomzeit bestimmt werden kann.n
quelle
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,…} π A={|π(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 1 ≠ k 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 kA 2k1- 2k2 k1, k2 k1≠ k2 k1 k2 | 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 = ( L ⊔ R , E) L R ( 2k1, 2k2) ( 2k2, 2k1) | 2k1- 2k2| mit k 1 ≠ k 2 . Ich behaupte, dass die folgenden äquivalent sind:EIN k1≠ k2
Ich werde das aus Zeitgründen nicht beweisen, aber es ist nicht schlecht, alleine zu trainieren. Das ist einfach. Das 21⟹2 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 .2⟹1 G L R G G π L R
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.
quelle