Une réduction polynomiale de tout problème NP-complet au PCP borné

18

Partout, les manuels supposent que le problème de la correspondance de poste borné est NP-complet (pas plus de N index autorisés avec répétitions). Cependant, nulle part on ne montre une réduction du temps polynomiale simple (comme dans quelque chose qu'un étudiant peut comprendre) d'un autre problème NP-complet.

Cependant, chaque réduction à laquelle je peux penser est exponentielle (par N ou par la taille de la série) dans l'exécution. Peut-être peut-on montrer qu'il est réductible à SAT?

John
la source

Réponses:

10

Comme c'est souvent le cas avec les réductions de NP, il est logique de rechercher des problèmes similaires . En particulier, il est difficile de coder des conditions globales telles que "ont vu des nœuds" dans PCP (avec de nombreuses tuiles polynomiales) ce qui contre-indique les problèmes de graphe, les problèmes d'emballage nous obligeraient à coder des nombres unaires dans PCP (créant une instance exponentiellement grande), et bientôt. Par conséquent, un problème de chaîne avec uniquement des restrictions locales peut fonctionner de manière optimale.

Considérez la version de décision du problème de superséquence le plus court :

Étant donné deux chaînes a,bΣ+ avec |a|=n et |b|=m et , décidez s'il y a une chaîne avec tel que et sont des sous-séquences de . c Σ + | c | k a b ckNcΣ+|c|kabc

L'idée est de laisser PCP construire des superséquences de et de gauche à droite, encodant dans les chevauchements des tuiles à quelle position nous sommes respectivement en et . Il utilisera une tuile par symbole en , donc correspond à la limite du BPCP: si nous pouvons résoudre ce PCP avec tuiles, vous pouvez lire la super-séquence commune de longueur égale, et vice versa.b a b c k kababckk

La construction des carreaux est un peu fastidieuse, mais assez claire. Notez que nous ne créerons pas de tuiles qui ne transmettent pas ou ; celles-ci ne peuvent jamais faire partie d'une super-séquence commune la plus courte, elles sont donc superflues. Ils peuvent facilement être ajoutés sans casser les propriétés de la réduction.bab

Les nombres dans les chevauchements sont codés en binaire, mais en utilisant des symboles en dehors de et en les remplissant à une longueur commune . Ainsi, nous nous assurons que les tuiles sont utilisées comme le suggèrent les graphiques (tetris), c'est-à-dire que les caractères et les chevauchements d'indexation ne se mélangent pas (PCP n'empêche pas cela en soi). Nous avons besoin:Σlogmax(m,n)

  • Tuiles de départ: peut commencer par , ou les deux s'ils sont égaux.a 1 b 1ca1b1
  • Tuiles intermédiaires: peut passer au symbole suivant en , en ou les deux s'ils sont égaux.a bcab
  • Tuiles terminales: se termine par le dernier symbole de (si le dernier de a déjà été vu), similaire à , ou par le dernier symbole des deux.a b bcabb

Ce sont les schémas de tuiles. Notez que les tuiles intermédiaires doivent être instanciées pour toutes les paires . Comme mentionné ci-dessus, créez les tuiles sans uniquement si les caractères respectifs dans et correspondent.a b(i,j)[n]×[m]ab

entrez la description de l'image ici
[ source ]

Les sont symboliques pour "ne se soucient pas"; dans les tuiles réelles, l'autre symbole devra y être copié. Notez que le nombre de tuiles est en et chaque tuile a une longueur , donc l'instance BPCP construite (sur l'alphabet plus les symboles de séparation) a une taille polynomiale. De plus, la construction de chaque tuile est clairement possible en temps polynomial. Par conséquent, la réduction proposée est en effet une transformation polynomiale valide qui réduit le problème de superséquence commune NP-complet le plus court au BPCP.Θ ( m n ) 4 log max ( m , n ) + 1 Σ { 0 , 1 }Θ(mn)4logmax(m,n)+1Σ{0,1}

Raphael
la source
Bonne réponse. Je suppose que la réduction la plus simple connue.
Mohammad Al-Turkistany
8

Je pense que vous pouvez prouver que le BPCP est NP-complet en utilisant une réduction similaire à celle utilisée pour prouver son indécidabilité. Nous prouverons directement que BPCP est NP-complet en montrant comment réduire tout problème en NP en temps polynomial.

La réduction standard utilisée pour prouver que le PCP est indécidable ( esquissée ici ) fonctionne en construisant une série de tuiles de sorte qu'il existe une solution PCP ssi il y a un calcul acceptant d'un TM donné sur une chaîne . Le nombre de tuiles créées dans cette réduction est polynomialement important - en particulier, le nombre de dominos construits est fonction de la taille de l'alphabet de la bande et du nombre d'états dans la MT. Le seul domino dont la taille peut être grande est le domino initial, qui aw wMwwécrit dessus. Si nous généralisons cette réduction du travail sur les MT déterministes au travail sur les MT non déterministes, cela introduit au plus un certain nombre constant de dominos, car le nombre de transitions est fini. Par conséquent, nous pouvons construire l'ensemble standard de dominos pour la réduction normale de l'indécidabilité en temps polynomial.

Compte tenu de cela, nous pouvons réduire tout problème NP en BPCP comme suit - étant donné tout problème NP, il a un NTM à temps polynomial qui s'exécute dans le temps . Nous pouvons ensuite réduire ce problème à BPCP en temps polynomial comme suit - construire l'ensemble standard de dominos à partir de , puis demander s'il existe une solution qui utilise dominos, où est une fonction polynomiale qui exprime la nombre de dominos nécessaires pour que la solution existe (c'est probablement quelque chose comme , et ce n'est certainement pas exponentiel). Ensuite, en utilisant la même preuve que vous utilisez pour montrer que PCP est indécidable, vous pouvez prouver qu'il existe une solution à cette instance BPCP qui utilise au plusMp(n)Mf(p(n))n 2 f ( p ( n ) ) M m p ( n )fn2f(p(n))si le NTM accepte dans les étapes . Par conséquent, nous avons une réduction du temps polynomial de chaque problème de NP à BPCP, donc BPCP est NP-difficile.Mmp(n)

(Nous devons également montrer que BPCP est en NP, mais c'est facile; il suffit de deviner de manière non déterministe quels dominos mettre en ordre, puis de le vérifier de manière déterministe).

J'espère que cela t'aides!

templatetypedef
la source
Cela aide d'une certaine manière, bien que je préfère toujours une réduction directement à partir d'un autre problème.
john
@ john- Y a-t-il une raison particulière pour laquelle vous voulez réduire un problème NP-complete connu en BPCP? La preuve ci-dessus montre que le problème est NP-complet et met en évidence le lien entre l'indécidabilité du PCP et l'exhaustivité du NP du BPCP.
templatetypedef
Raison purement pédagogique, car normalement la plupart des manuels utilisent la méthode de réduction directe afin de prouver l'exhaustivité de NP et de comprendre que ce problème n'est pas différent du reste à cet égard.
john
1
@john: Vous pouvez bien sûr utiliser la réduction de templatetypedef sur n'importe quel problème NP-complet (qui est direct), mais cela ne le fera pas exploiter la structure du problème choisi. À des fins éducatives, c'est génial, car en général, vous ne voyez qu'une seule preuve de réduction qu'un problème est NP-complet.
Raphael