Permutations avec sous-séquences interdites

15

Soit le jeu et C (n, k) le jeu de toutes les -combinaisons d'éléments de sans répétition. Soit un -uple dans . On dit qu'une permutation de l'ensemble évite s'il n'y a pas de k-tuple d'entiers tels que { 1 , . . . , n } k [ n ] p = p 1 p 2 . . . p k k C ( n , k ) π : [ n ] [ n ] [ n ] p i 1 < i 2 < . . . < i k π ([n]{1,...,n}k[n]p=p1p2...pkkC(n,k)π:[n][n][n]pje1<je2<...<jek

π(je1)=p1,π(je2)=p2,...,π(jek)=pk.

Par exemple, si la permutation évite comme sous-séquence, contrairement à la permutation .12453 134 1 2 3 5 4n=51245313412354

Question: Soit une constante. Etant donné un ensemble de - uplets, trouver une permutation qui évite chaque k uplet dans S . S C ( n , k ) k π : [ n ] [ n ] k SkSC(n,k)kπ:[n][n]kS

  1. Existe-t-il un algorithme pour ce problème qui est polynomial dans |P|et n ? Ici n est donné en unaire. Un algorithme fonctionnant dans le temps nF(k)|P|g(k) conviendrait.
  2. Ou ce problème est-il NP-complet?

Toutes les références à ce problème ou suggestions d'algorithmes sont les bienvenues. Notez que la notion de permutation évitant la sous-séquence définie ci-dessus n'est pas la même que la notion de permutation évitant le motif où seul l'ordre relatif des éléments est important, et qui semble bien étudié en combinatoire.

Mateus de Oliveira Oliveira
la source
Voulez-vous dire prendre une permutation au hasard et vérifier si elle ne viole aucune contrainte dans S? Un algorithme de temps polynomial randomisé serait mieux que rien. k est supposé être une constante, il est donc par définition petit. Mais je ne vois pas comment cela fonctionnerait efficacement si S avait beaucoup de contraintes. Depuis la réponse de David, le problème est le NPC pour k = 3, je suis un peu sceptique quant à l'efficacité d'un algorithme randomisé. Pourriez-vous expliquer un peu votre idée?
Mateus de Oliveira Oliveira
Désolé, j'ai oublié que vous avez un ensemble de tuples interdits. Il n'y a aucune garantie que l'échantillonnage de rejet sera efficace.
DW

Réponses:

13

Il est NP-complet pour par une réduction de l' interdépendance . Dans le problème d'interdépendance, on donne éléments à ordonner totalement, et des contraintes sur certains triplets d'articles forcent un élément du triple à être entre les deux autres. Dans votre problème, la même contrainte peut être forcée en interdisant toutes les sous-séquences sur trois éléments qui ne placent pas l'élément central au milieu. Mais l'interdépendance est connue pour être NP-complète: voir J. Opatrny, Total ordering problem, SIAM J. Comput. , 8 (1979), p. 111-114.k=3n

David Eppstein
la source