Para um idioma fixo em algum alfabeto , vamos considerar o seguinte problema, que chamo de INTERLEAVING :A L
- Entrada: duas palavras
- Saída: se existe uma intercalação de e , que está em .v L
Aqui, uma intercalação de duas palavras e é uma palavra que pode ser obtida intuitivamente pegando as letras de e , mantendo sua ordem relativa. Formalmente, é uma intercalação de e se pudermos particioná-lo em duas subsequências separadas, uma que é igual a e a outra que é igual a . Por exemplo, "bheleloll" é uma intercalação de "olá" e "sino".v w u v w u v u v
Qual é a complexidade do problema INTERLEAVING, dependendo do idioma ? LEm particular:
- Se for regular, podemos resolver o problema com um algoritmo dinâmico nas duas strings que mostra que ele está na classe NL. É NL-difícil para alguns idiomas regulares? No entanto, para alguns idiomas regulares, o problema está claramente em L (espaço de registro determinístico). Existe alguma caracterização dos idiomas para os quais o problema está em L?
- Se não for regular, o problema ainda estará em NL quando tiver complexidade de espaço determinístico on-line polinomial (veja aqui esta noção ou minha pergunta anterior ). No entanto, isso não abrange, por exemplo, todas as linguagens sem contexto; no entanto, alguns outros (por exemplo, palíndromos) também podem ser mostrados como NL (por exemplo, executando um algoritmo dinâmico simultaneamente desde o início e até o fim). Existe uma linguagem livre de contexto cujo problema de intercalação em é NP-difícil?L