Décider de l'existence d'un homomorphisme de chaîne

11

Considérez le problème suivant:

Étant donné deux chaînes x, y, décidez s'il existe un homomorphisme de chaîne f tel que f (x) = y.

Il est facile de montrer que ce problème est dans . Y a-t-il d'autres choses que nous pouvons dire sur ce problème? Par exemple, est-ce en , ou même en ?c o N P PNPcoNPP

Ce problème semble très naturel, je ne suis donc pas surpris qu'il ait été étudié à fond. Cependant, je n'ai pas pu trouver ce problème dans la littérature.

Yuzhou Gu
la source

Réponses:

16

Il est discuté dans l'un des tout premiers articles sur les chaînes et la complexité, à savoir Dana Angluin, Finding patterns common to a set of strings, J. Comput. System Sci. 21 (1980), 46-62. Regardez le théorème 3.6. Le problème est NP-complet.

C'est aussi dans A. Ehrenfeucht, G. Rozenberg, Trouver un homomorphisme entre deux mots est NP-complet, Inform. Processus. Lett. 9 (1979) 86–88.

Jeffrey Shallit
la source