Separar listas de palabras

10

Hay un problema abierto en los idiomas formales conocido como el Problema de separación; que se indica brevemente como dadas dos cadenas distintas de longitud , qué tan grande de un DFA se requiere para "separarlas", lo que significa aceptar una cadena pero rechazar la otra.n

Aquí hay algunos documentos relevantes 1 , 2 . (Tengo algunos más pero no tengo suficiente reputación para publicarlos).

Todos estos discuten el problema de separar dos cadenas distintas. Me pregunto si habido algún trabajo realizado en la zona de separación de listas de cadenas, significado dado dos listas de cadenas, y B , de qué tamaño se requiere DFA para aceptar cada cadena en una y rechazar cada cadena en B . Este problema es equivalente a regex golf.ABUNAsi

Hay algunas preguntas básicas en las que he estado trabajando, como si una de las listas es de tamaño o si todas las cadenas son de diferentes longitudes.1

He estado buscando pero no he encontrado ningún documento que aborde este tipo de problema. ¿Se ha realizado alguna investigación en esta área?

Gracias por adelantado.

MRC
fuente
2
FYI igual que el mínimo DFA dado en palabras y palabras
externas
¡El enlace de VZN es genial! Sin embargo, creo que puede encontrar aún más información si echa un vistazo en el apéndice de: "Computadoras e Intractabilidad: Una guía para la teoría de la completitud NP"
Michael Wehar
Además, si está interesado en separar dos listas con máquinas de Turing con límite de tiempo lineal, le di una pequeña construcción y publiqué el informe en línea (no es nada especial). Básicamente, para dos listas de elementos k donde cada cadena tiene una longitud como máximo n, puede separar las listas con una máquina de Turing que tiene establece y tiene un "tiempo de ejecución óptimo". klosol(norte)losol(losol(norte))
Michael Wehar
1
Por Gold1978, sabemos que el problema de determinar si dos listas pueden estar separadas por un DFA de un tamaño dado es NP-completo. Si modifica el problema para decirlo separado por una máquina de Turing con un límite de tiempo escrito en unario, entonces no se sabe si el problema es NP completo. Se ha sugerido que este problema puede estar relacionado con el problema del circuito mínimo, en cuyo caso resolvería problemas abiertos en la complejidad estructural si mostrara que estaba en P o si estaba completo en NP.
Michael Wehar

Respuestas:

8

La pregunta que está haciendo se conoce como el problema de separación para los idiomas: dados dos idiomas y L , ¿hay un tercer idioma M (un separador) que los separe, es decir, K M y M L = .KLMETROKMETROMETROL=

Usted está interesado en el caso restringido, donde y L son finitos, y en el tamaño de un DFA para M .KLMETRO

En un artículo de 2013 , los autores indican:

Aunque el problema de separación ocurre con frecuencia, sin embargo, no se ha estudiado sistemáticamente, incluso en el caso restringido, pero aún desafiante, de los idiomas regulares.

Sin embargo, mencionan varios casos especiales que se han resuelto, y que sin duda abarcan el caso finito.

También es posible que desee ver el interpolante de Craig , un problema similar en las fórmulas lógicas. La interpolación se usa, por ejemplo, en la verificación de modelos basada en SAT, en un entorno que creo que está más cerca de lo que está buscando (especialmente con respecto a la finitud de la entrada). Este documento debería ser un buen punto de partida.

Boson
fuente
Agradezco que hayas compartido esto. No sabía sobre este papel. Gracias. :)
Michael Wehar