Algorithme efficace pour l'existence d'une permutation avec séquence de différences?

12

Cette question est motivée par ce post, pouvez-vous identifier la somme de deux permutations en temps polynomial? et mon intérêt pour les propriétés de calcul des permutations.

Une séquence de différences d'une permutation π de nombres 1 , 2 , n + 1 est formée en trouvant la différence entre tous les deux nombres adjacents dans la permutation π . En d'autres termes, a i = | π ( i + 1 ) - π ( i ) | pour 1 i na1,a2,anπ1,2,n+1πai=|π(i+1)π(i)|1in

Par exemple, la séquence est la séquence de différences de permutation 2 3 4 1 . Alors que les séquences 2 , 2 , 3 et 3 , 1 , 2 ne sont pas la séquence des différences d'une permutation des nombres 1 , 2 , 3 , 4 .1,1,323412,2,33,1,21,2,3,4

Existe-t-il un algorithme efficace pour déterminer si une séquence donnée est la séquence des différences pour une permutation ou est-elle NP-difficile?π

EDIT : Nous obtenons un problème de calcul équivalent si nous formulons le problème en utilisant des permutations circulaires.

EDIT2 : Cross publié sur MathOverflow, Quelle est la difficulté de reconstruire une permutation à partir de sa séquence de différences?

EDIT3 Attribué la prime au croquis de preuve et j'accepterais la réponse après avoir obtenu la preuve formelle complète.

EDIT 4 : La belle preuve de complétude de Marzio a été publiée dans l'Electronic Journal of Combinatorics .NP

Mohammad Al-Turkistany
la source
1
ai[1..n]n+1
2
@MarzioDeBiasi Je pense que vous partagez ma passion pour les problèmes de permutation. J'espère avoir trouvé le plus simple problème de permutation intéressant sur le plan du calcul :)
Mohammad Al-Turkistany
2
:-) ... Je dirais plutôt que mon commentaire vient directement des heures que j'ai passées en vain sur le problème de l'étiquetage des arbres gracieux ... cependant j'ai une idée floue d'une possible réduction NP-complète pour votre problème; si je réussis à le formaliser, je posterai une réponse.
Marzio De Biasi

Réponses:

10

Voici une esquisse d'une réduction possible pour prouver qu'elle est dure NP:

ai...11111...

21112112111

 a_i seq.:     1 1 1  2  1 1  2   1  1  1  forces
 permutation: 1 2 3 4 _ 6 7 8 _ 10 11 12 13 (or its decreasing equivalent)
 (from 4 you cannot go back to 2,
 from 8 you cannot go back to 6)

Les trous doivent être remplis dans le reste de la permutation.

3) en utilisant un 1SEQ assez grand, suivi d'un 1SEQ avec quelques trous, suivi d'un autre 1SEQ grand, vous pouvez construire une ligne forcée ;

4) en rassemblant de nombreuses lignes forcées, vous pouvez créer un graphique de grille de permutation dans lequel les nœuds correspondent aux nombres manquants dans la permutation forcée sous-jacente.

Par exemple, la séquence 1111111112111111111112111111111 force le graphique de grille de permutation 5x7 suivant:

29 30 31 32 33 34 35
22 23 24    26 27 28
15 16 17 18 19 20 21
 8  9 10    12 13 14   
 1  2  3  4  5  6  7

w×wa,b|ab|=kw

G

GG

7) vous pouvez remplir tous les trous (c'est-à-dire terminer la permutation) si et seulement si le graphique de grille d'origine a un cycle hamiltonien

EDIT: 27 juillet 2013

J'ai essayé de prouver formellement l'intégralité du problème NP: j'ai introduit un nouveau problème (problème Crazy Frog ) qui est NPC. Le problème de la reconstruction par permutation à partir des différences est équivalent au «problème 1-D Crazy Frog sans cellules bloquées» (qui est également NPC).

Pour les détails de la réduction, voir ma question / réponse sur la théorie "Deux variantes de chemin hamiltonien" ou téléchargez un brouillon de la preuve "Quand une grenouille rencontre une permutation" :)) (Je vérifie / complète toujours)

Marzio De Biasi
la source
Bien, je suis sûr que cela mènera à une solution, le gadget de sélection est définitivement réalisable.
domotorp
@domotorp: Je l'ai posté (je posterai les détails de la sélection / synchronisation des pièces dans les prochains jours); il contient peut-être une erreur que je ne vois pas, mais je parie 1 $ que la réduction entière peut être grandement simplifiée :-)
Marzio De Biasi
@MarzioDeBiasi Belle visualisation. Il semble que vous soyez sur la bonne voie. Pourriez-vous s'il vous plaît poster votre réponse sur MathOverflow car il y a un intérêt considérable pour le problème?
Mohammad Al-Turkistany
@MarzioDeBiasi Pourriez-vous publier votre réponse finale (formelle) avant l'expiration de la prime?
Mohammad Al-Turkistany
@ MohammadAl-Turkistany: Je reviens tout juste d'un voyage, je vais essayer de formaliser (et vérifier avec un CSP) les gadgets dans les prochains jours.
Marzio De Biasi