Variante du problème de correspondance postérieure


12

C'est probablement assez simple, mais considérez le problème standard de correspondance par correspondance:

Étant donné et , trouvez une séquence d'indices tels que . C'est, bien sûr, indécidable.β 1 , , β N i 1 , , i K α i 1α i K = β i 1β i Kα1,,αNβ1,,βNi1,,iKαi1αiK=βi1βiK

Maintenant, j'appelle cela une «variante», mais ce n'est pas vraiment - cela jette essentiellement la «correspondance». Quoi qu'il en soit, considérez la variante suivante:

Étant donné et , trouvez deux séquences d'indices telles que . Que dire de cette variante? Si c'est trivial, mes excuses!β 1 , , β Nα1,,αNβ1,,βNi1,,iK,j1,,jKαi1αiK=βj1βjK


Sans poser une toute nouvelle question, je modifie la condition que et ne sont pas nécessairement égaux. Dans le cas où ils sont égaux, le problème devrait probablement être indécidable - cependant une réduction n'est pas évidente (pour moi). K KK
alpoge

Réponses:


17

Cette nouvelle version - où - est décidable.K=K

Montrons que le langage est un CFL. Ensuite, la décidabilité découle de la décidabilité du vide d'un CFL.L:=k1(Ak  Bk)

Nous allons concevoir un PDA pour accepter . En entrée , ce PDA va essayer de construire deux factorisation de , un en utilisant des mots de , et les autres en utilisant des mots . Il utilisera un compteur sur la pile pour s'assurer que ces deux factorisations sont de la même longueur. Conceptuellement, je ferai référence à la factorisation de dans la mesure où il est assis au-dessus de et à la factorisation comme à la position assise au bas de . La pile contiendra alors compteurs si la valeur absolue de la différence du nombre de mots appariés en haut, moins le nombre de mots en bas, estx x A B A x x B x n n n A BLxxABAxxBxnn . Nous avons besoin d'un autre état du PDA pour enregistrer ce que le signe approprié correspond à (qui nous indique si la factorisation est plus longue que la factorisation , ou vice versa).nAB

En parcourant les lettres de , nous devinons de façon non déterministe un mot de et un mot de auxquels commence cette lettre. Une fois que nous avons deviné, nous nous engageons à faire correspondre le reste de et avec ; si à tout moment notre match échoue, nous nous arrêtons dans ce choix non déterministe. Nous conservons donc également, dans l'état de notre PDA, le suffixe de et qui reste à faire correspondre.t A u B t u x t uxtAuBtuxtu

Au fur et à mesure que nous numérisons d'autres lettres, nous continuons à faire correspondre jusqu'à ce que nous atteignions la fin de ou la fin de (ou les deux). Lorsque nous frappons la fin d'un mot, nous mettons à jour la pile de manière appropriée, puis devinons un nouveau mot à faire correspondre en haut ou en bas (ou les deux).utu

Nous acceptons si les suffixes restant à faire correspondre sont tous les deux vides en haut et en bas, et la pile ne contient aucun compteur.

Nous pouvons construire ce PDA efficacement, afin que nous puissions effectivement décider s'il accepte quelque chose ou non (par exemple, en convertissant efficacement en grammaire et en utilisant ensuite la méthode habituelle pour voir si G génère quelque chose).G

Edit: On peut également transformer cela en une limite supérieure sur la taille de peut être, dans le pire des cas. Je pense qu'il devrait donner une limite supérieure de quelque chose à peu près comme , où est la somme des longueurs des mots et .2 O ( l 2 ) l A Bk2O(l2)lAB

Edit: je vois maintenant que l'exigence que et soient des ensembles finis peut également être assouplie, à l'exigence que et soient réguliers (éventuellement infinis). Dans ce cas, au lieu de conserver le suffixe restant à mettre en correspondance en "haut" et "en bas", nous conservons plutôt les états du DFA respectif dans lequel nous nous trouvons, après avoir traité le préfixe d'un mot correspondant possible. Si nous atteignons un état final en «haut» ou «bas», nous pouvons choisir de manière non déterministe de revenir à l'état initial pour un nouveau mot deviné. B A BABAB


2
bienvenue dans cstheory!
Suresh Venkat

1
Impressionnant! Maintenant, nous avons juste besoin d'Eric Bach ...
Huck Bennett

Agréable! C'est parfait.
alpoge

13

Edit: Cela résout une version antérieure, dans laquelle nous devons décider s'il existe une égalité de la forme . La nouvelle version a .αi1αiK=βj1βjKK=K

Le langage généré par toutes les chaînes de la forme est régulier. Le langage généré par toutes les chaînes de la forme est régulier. Vous demandez si est vide. Puisque sont réguliers, cela est décidable (en fait, dans un temps au plus exponentiel).α i 1α i K B β j 1β j K A B A , BAαi1αiKBβj1βjKABA,B


Agh - en effet! Désolé, vous avez absolument raison.
alpoge

Et si nous restreignons ? K=K
alpoge

2
Vous pouvez le faire en temps polynomial. Faites un trie pour les mots du premier ensemble A et un trie pour les mots du deuxième ensemble B. Ces essais sont essentiellement des NFA. À partir de ceux-ci, créez des NFA pour et utilisant la construction habituelle. Maintenant, en utilisant la construction de produits croisés habituelle, faites un NFA pour leur intersection. Le vide du langage accepté par M peut maintenant être vérifié par le biais de l'approche DFS de recherche de chemin habituelle. T 2 T + 1 T + 2 MT1T2T1+T2+M
Jeffrey Shallit

Mon commentaire ci-dessus ne concerne que le problème d'origine, pas le problème où . K=K
Jeffrey Shallit
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.