Jak to często bywa w przypadku redukcji NP, warto szukać podobnych problemów. W szczególności trudno jest zakodować globalne warunki, takie jak „widziałem niektóre węzły” w PCP (z wielomianowo wieloma kafelkami), co przeciwwskazuje problemy z grafem, problemy z pakowaniem wymagałyby od nas zakodowania liczb jednoznacznych w PCP (tworząc wykładniczo dużą instancję), i wkrótce. Dlatego można się spodziewać, że problem ciągu z tylko lokalnymi ograniczeniami będzie działać najlepiej.
Rozważ wersję decyzyjną najkrótszego wspólnego problemu nadsekwencji :
Biorąc pod uwagę dwa ciągi z | a | = n i | b | = M oraz k ∈ N , zdecydować, czy istnieje ciąg c ∈ Ď + z | c | ≤ k , tak że i b są subsekwencje C .a , b ∈ Σ+| a | =n| b | =mk ∈ Nc ∈ Σ+| c | ≤kzabdo
Chodzi o to, aby pozwolić PCP kompilacji supersequences z i B od lewej do prawej, kodujący w pokrywania płytkami w jakiej pozycji jesteśmy w i B , odpowiednio. Użyje jednego kafelka na symbol wzabzabkafelka c , więc k odpowiada granicy BPCP: jeśli możemy rozwiązać ten PCP za pomocą k płytek ≤ k , możesz odczytać powszechną supersekwencję o równej długości i odwrotnie.dok≤ k
Konstrukcja kafelków jest nieco nużąca, ale dość wyraźna. Pamiętaj, że nie będziemy tworzyć kafelków, które nie przekazują lub b ; takie nigdy nie mogą być częścią najkrótszej wspólnej nadrzędności, więc są zbędne. Można je łatwo dodać bez naruszenia właściwości redukcji.zab
Liczby na zakładkach są kodowane binarnie, ale za pomocą symboli spoza i dopełniania ich do wspólnej długości log maxΣ . W ten sposób upewniamy się, że kafelki są używane zgodnie z grafiką (tetris), to znaczy znaki i nakładające się na siebie indeksy nie mieszają się (PCP samo w sobie tego nie zapobiega). Potrzebujemy:logmax ( m , n )
- Płytki początkowe : może zaczynać się od 1 , b 1 lub obu, jeśli są równe.doza1b1
- Płytki pośrednie: może przejść do następnego symbolu z litery a , b lub obu, jeśli są równe.dozab
- Kafelki kończące : kończy się na ostatnim symbolu a (jeśli już widział się ostatni z b ), podobnie dla b , lub na ostatnim symbolu obu.dozabb
To są schematy kafelków. Zauważ, że płytki pośrednie muszą być tworzone dla wszystkich par . Jak wspomniano powyżej, utwórz kafelki bez ∗ tylko wtedy, gdy odpowiednie postacie w( i , j ) ∈ [ n ] × [ m ]∗ i b meczu.zab
[ źródło ]
Są symboliczne dla „nie obchodzi”; w rzeczywistych kafelkach drugi symbol będzie musiał zostać skopiowany. Zauważ, że liczba płytek jest w Θ ( m n ), a każda płytka ma długość 4 log max ( m , n ) + 1 , więc zbudowana instancja BPCP (ponad alfabetem Σ ∪ { 0 , 1 }∗Θ ( m n )4 logmax ( m , n ) + 1Ď ∪ { 0 , 1 }plus symbole separacji) ma wielkość wielomianową. Ponadto konstrukcja każdej płytki jest wyraźnie możliwa w czasie wielomianowym. Dlatego proponowana redukcja jest rzeczywiście prawidłową transformacją wielomianową, która redukuje najczęstszy NP najkrótszy wspólny problem nadsekwencji do BPCP.