Como geralmente ocorre com reduções de NP, faz sentido procurar problemas semelhantes . Em particular, é difícil codificar condições globais que "viram alguns nós" no PCP (com muitos blocos polinomialmente), o que contra-indica problemas gráficos, problemas de empacotamento exigiriam a codificação de números unários no PCP (criando uma instância exponencialmente grande) e em breve. Portanto, um problema de cadeia de caracteres com apenas restrições locais pode funcionar melhor.
Considere a versão de decisão do menor problema comum de superseqüência :
Dadas duas cadeias a,b∈Σ+ com |a|=n e |b|=m e , decidir se há uma cadeia de com tal que a e b são subsequências de c . c ∈ Σ + | c | ≤ kk∈Nc∈Σ+|c|≤kabc
A idéia é deixar superseqüências PCP construção de e b , da esquerda para a direita, codificando em sobreposições das telhas em que posição estamos em um e b , respectivamente. Ele usará um bloco por símbolo em c , de modo que k corresponde ao limite do BPCP: se pudermos resolver esse PCP com blocos ≤ k , você poderá ler a superseqüência comum de comprimento igual e vice-versa.ababck≤k
A construção dos azulejos é um pouco entediante, mas bastante clara. Observe que não criaremos blocos que não encaminham ou b ; isso nunca pode fazer parte de uma menor superseqüência comum, portanto é supérfluo. Eles podem ser facilmente adicionados sem quebrar as propriedades da redução.ab
Σlogmax(m,n)
- Ladrilhos iniciais : pode começar com , ou ambos, se forem iguais.um 1 b 1ca1b1
- Ladrilhos intermediários: pode prosseguir com o próximo símbolo em , em ou em ambos, se forem iguais.a bcab
- Ladrilhos de terminação: termina com o último símbolo de (se o último de já foi visto), semelhante para , ou com o último símbolo de ambos.a b bcabb
Estes são os esquemas de blocos. Observe que os blocos intermediários devem ser instanciados para todos os pares . Como mencionado acima, criar as telhas sem somente se os respectivos personagens em e jogo.∗ a b(i,j)∈[n]×[m]∗ab
[ fonte ]
O é simbólico para "não me importo"; nos blocos reais, o outro símbolo terá que ser copiado lá. Observe que o número de blocos está em e cada bloco possui comprimento ; portanto, a instância BPCP construída (sobre o alfabeto mais símbolos de separação) tem tamanho polinomial. Além disso, a construção de cada ladrilho é claramente possível em tempo polinomial. Portanto, a redução proposta é de fato uma transformação polinomial válida que reduz o menor problema comum de superseqüência comum de NP-completo para BPCP.Θ ( m n ) 4 log max ( m , n ) + 1 Σ ∪ { 0 , 1 }∗Θ(mn)4logmax(m,n)+1Σ∪{0,1}