Permutacje z zabronionymi podsekwencjami


15

Niech oznacza zbiór a C (n, k) oznacza zbiór wszystkich kombinacji elementów z bez powtórzeń. Niech będzie liczbą w . Mówimy, że permutacja zestawu pozwala uniknąć jeśli nie ma k-krotki liczb całkowitych taki, że { 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]pi1<i2<...<ik

π(i1)=p1,π(i2)=p2,...,π(ik)=pk.

Na przykład, jeśli to permutacja 12453 unika 134 jako podsekwencji, podczas gdy permutacja \ mathbf {1} 2 \ mathbf {3} 5 \ mathbf {4} nie.12453 134 1 2 3 5 4n=51245313412354

Pytanie: Niech k będzie stałą. Biorąc pod uwagę zestaw S⊂C(n,k) od k -tuples, znaleźć permutacji π:[n]→[n] , która pozwala uniknąć każdej k -tuple w S .

  1. Czy istnieje algorytm tego problemu, który jest wielomianowy w |P|a n ? Tutaj n jest podany unarnie. Algorytm działający w czasie nf(k)|P|g(k) byłby w porządku.
  2. Czy jest to problem NP-zupełny?

Wszelkie odniesienia do tego problemu lub sugestie algorytmów są mile widziane. Zauważ, że zdefiniowane powyżej pojęcie unikania permutacji nie jest takie samo, jak pojęcie unikania permutacji, w którym ważny jest tylko względny porządek elementów i który wydaje się być dobrze zbadany w kombinatoryce.


Czy masz na myśli losową permutację i sprawdzenie, czy nie narusza ona żadnych ograniczeń w S? Randomizowany algorytm wielomianu czasu byłby lepszy niż nic. przyjmuje się, że k jest stałą, więc z definicji jest małe. Ale nie rozumiem, jak działałoby to efektywnie, gdyby S miał wiele ograniczeń. Ponieważ w odpowiedzi Davida problemem jest NPC dla k = 3, jestem nieco sceptyczny, że losowy algorytm byłby skuteczny. Czy mógłbyś wyjaśnić trochę swój pomysł?
— Mateus de Oliveira Oliveira,

Przepraszam, przeoczyłem, że masz zestaw zabronionych krotek. Nie ma gwarancji, że próbkowanie przy odrzuceniu będzie skuteczne.
— DW,

Odpowiedzi:


13

Jest NP-kompletny dla przez redukcję od międzyczasie . W przypadku problemu pośredniczącego, jeden otrzymuje elementów, które mają być całkowicie uporządkowane, a ograniczenia dotyczące niektórych potrójnych elementów zmuszają jeden element potrójnego do umieszczenia między pozostałymi dwoma. W twoim problemie to samo ograniczenie można wymusić, zakazując wszystkich podsekwencji trzech elementów, które nie umieszczają środkowego elementu na środku. Ale wiadomo, że wzajemność jest NP-zupełna: patrz J. Opatrny, Problem z całkowitym uporządkowaniem, SIAM J. Comput. , 8 (1979), s. 111–114.k=3n

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.