complétude de la reconnaissance de la différence de deux permutations

21

Shor a déclaré, dans son commentaire à la réponse d'un orignal anonyme à cette question Pouvez-vous identifier la somme de deux permutations en temps polynomial? , qu'il est complet d'identifier la différence de deux permutations. Malheureusement, je ne vois pas de réduction directe du problème de somme de permutation et il est utile d'avoir la réduction de la complétude pour le problème de différence de permutation.N PNPNP

Différence de permutation:

INSTANCE: Un tableau d'entiers positifs.A[1...n]

QUESTION: Existe-t-il deux permutations et des entiers positifs tels que pour ?σ 1 , 2 , . . . , n | π ( i ) - σ ( i ) | = A [ i ] 1 i nπσ1,2,...,n|π(i)σ(i)|=A[i]1in

Quelle est la réduction pour prouver l' aptitude reconnaître la différence de deux permutations?NP

EDIT 10-9-2014 : Le commentaire de Shor donne une réduction qui prouve la complétude lorsque les éléments de la séquence sont des différences signées . Cependant, je ne vois pas de réduction facile à mon problème où tous les éléments de sont les valeurs absolues des différences.ANPAA

MISE À JOUR: Le problème de la différence de permutation semble être complet, même si l'une des deux permutations est toujours la permutation d'identité. La preuve de dureté de ce cas spécial est la bienvenue. Donc, je suis intéressé par la complétude de cette version restreinte:N PNPNP

Différence de permutation restreinte: INSTANCE: Un tableau d'entiers positifs.A[1...n]

QUESTION: Existe-t-il une permutation des entiers positifs tels que pour ?1 , 2 , . . . , n | π ( i ) - i | = A [ i ] 1 i nπ1,2,...,n|π(i)i|=A[i]1in

Mise à jour 2 : le problème restreint est décidable efficacement comme le montre la réponse de mjqxxxx. La complexité de calcul du problème d'origine n'est pas prouvée.

EDIT 9/6/16 : Je suis intéressé à déterminer si cette simplification de la différence de permutation est NP-complète:

Différence de permutation restreinte:

INSTANCE : Un multi-ensemble d'entiers positifs.A

QUESTION : Existe-t-il une permutation des entiers positifs tels que ?1 , 2 , . . . , n A = { | π ( i ) - i | : 1π1,2,...,nA={|π(i)i|:1in}

Mohammad Al-Turkistany
la source
Pourquoi ne pas demander directement à Peter? @Peter
caozhu
Voulez-vous dire par e-mail? Je le ferai.
Mohammad Al-Turkistany
Il se peut que je manque quelque chose, mais ce problème ne peut-il pas être représenté comme un 2-SAT et donc être résolu en poly-temps? Nous pouvons supposer WLOG que l'une des permutations est l'identité (je suppose ici que A [i] est calculé de manière cyclique; cela importe-t-il beaucoup?), Puis nous pouvons représenter la seconde par une matrice . Être une matrice de permutation est une conjonction des clauses de deux variables indiquant qu'aucune ne se trouve dans une ligne ou dans une colonne; et dire ensuite que la différence est dans les emplacements de pi (i) de i est A [i] est le OU des deux endroits possibles où il peut être.x[i,j]
Noam
@Noam Merci pour votre commentaire. Idée intéressante. Je n'y ai pas pensé. Cependant, il n'est pas évident pour moi si cela conduira à un algorithme de temps polynomial, d'autant plus que l'on ne nous donne que la valeur absolue des différences.
Mohammad Al-Turkistany
1
Oui, il semble que la différence entre le comptage de l'écart de manière cyclique ou en valeur absolue puisse être importante.
Noam

Réponses:

5

Le problème restreint, où l' une des permutations est l'identité, est certainement dans . Construire le graphe bipartite où chaque sommet i V 1 = { 1 , 2 , , n } est connecté au (x) élément (s) j V 2 = { 1 , 2 , , n } de telle sorte que | i - j | = A [ i ] . Alors la permutation souhaitée σPiV1={1,2,,n}jV2={1,2,,n}|ij|=A[i]σexiste si et seulement si le graphe a une correspondance parfaite (c'est-à-dire une correspondance avec arêtes), qui peut être déterminée en temps polynomial.n

mjqxxxx
la source
Il me manque peut-être quelque chose, mais toute correspondance parfaite ne fonctionnera pas. Vous devez prouver l'existence d'une correspondance parfaite restreinte. Considérons un entier qui se produit deux fois dans le réseau d' entrée A . L'appariement parfait qui correspond à la permutation doit avoir deux arêtes avec une différence absolue k . Votre algorithme ne prouve PAS l'existence d'une telle correspondance restreinte. C'est ce qui rend le problème difficile et peut-être NP-complet. kAk
Mohammad Al-Turkistany
2
@ MohammadAl-Turkistany: Je pense que si alors u i , u jV 1 sont liés aux nœuds v i + A [ i ] , v i - A [ i ] , v j + A [ j ] , v j - A [ j ]V 2A[i]=A[j]=kui,ujV1vi+A[i],viA[i],vj+A[j],vjA[j]V2avec des différences absolues . L'appariement parfait comprendra au moins un bord de u i et un bord de u j . Je suis arrivé à la même conclusion il y a quelques fois en pensant au problème d'origine, mais en suivant une autre manière: j'ai vu qu'il est facile de formuler le problème restreint sous la forme d'une formule 2-SAT (si vous voulez, je peux ajouter une réponse avec lui , mais l'idée de mjqxxxx est meilleure). kuiuj
Marzio De Biasi
@MarzioDeBiasi Pourquoi cette approche (et la vôtre) ne fonctionne pas pour le problème d'origine (sans restriction)?
Mohammad Al-Turkistany,
@mjqxxx Je vois que votre approche résout le cas restreint. Pourquoi ne peut-il pas être étendu pour résoudre efficacement le problème d'origine?
Mohammad Al-Turkistany,
@ MohammadAl-Turkistany: parce que dans le problème d'origine les éléments de la première permutation (les dans la version restreinte) ne sont pas fixes, et en utilisant la même approche vous vous retrouvez avec un graphe tripartite (et dans mon approche 2-SAT avec une clause δ i ( n ) ( π i ( n + A [ i ] ) π i ( n - A [ i ] ) ) ... qui n'est pas une clause 2-CNF). iδi(n)(πi(n+A[i])πi(nA[i]))
Marzio De Biasi
0

Voici une variante légèrement intéressante où le problème est facile: au lieu d'un ensemble de base de , autorisez n'importe quel sous-ensemble de { 1 , 2 , 4 , 8 , } . Le but est toujours de trouver une permutation π pour que A = { | π ( 2 k ) - 2 k | : 2 kΩ }Ω{1,2,3,,n}{1,2,4,8,}πA={|π(2k)2k|:2kΩ}Ωest la base. Le principal avantage ici est que le nouvel ensemble au sol oblige chaque élément de à être 2 k 1 - 2 k 2 pour certains k 1 , k 2 , et si k 1k 2 , alors k 1 et k 2 sont déterminés par ceci différence. Il s'ensuit que pour chaque différence | 2 k 1 - 2 k 2 | dans A , on peut déduire que π ( 2 kA2k12k2k1,k2k1k2k1k2|2k12k2|A ouπ(2 k 2 )=2 k 1 (ou les deux).π(2k1)=2k2π(2k2)=2k1

Résoudre efficacement cette variation simplifiée est alors plus ou moins routinier. Commencez par construire le multigraphe bipartite non dirigé L et R sont des copies distinctes de l'ensemble de base, et ajoutez des bords ( 2 k 1 , 2 k 2 ) et ( 2 k 2 , 2 k 1 ) chaque fois | 2 k 1 - 2 k 2 | apparaît dansG=(LR,E)LR(2k1,2k2)(2k2,2k1)|2k12k2| avec k 1k 2 . Je prétends que les éléments suivants sont équivalents:Ak1k2

  1. Il y a une permutation avec les différences AπA
  2. Chaque sommet de a un degré 0 ou 2G

Je ne vais pas vraiment le prouver à cause du temps, mais ce n'est pas trop mal de travailler seul. Que est simple. Que 212 est un peu plus ardu, mais ce n'est pas si mal quand on raisonne avec l'automorphisme de G qui envoie chaque sommet de L à sa copie en R (et vice-versa). La preuve que j'ai en tête dirige les arêtes en G de sorte que toutes les arêtes d'un cycle tournent `` de la même manière autour du cycle '' (chaque sommet non isolé a en degré = hors degré = 1), et de sorte que le précédent l'automorphisme de G reste un automorphisme de la version dirigée. π est alors choisiefonction des bords qui vont de L à R .21GLRGGπLR

Vous pouvez formuler l'algorithme ci-dessus comme une question de correspondance parfaite, et j'imagine qu'il existe d'autres réductions de 2-SAT. Je ne vois cependant pas comment étendre ces approches au problème d'origine.

Andrew Morgan
la source