Un lenguaje formal sobre un alfabeto es un subconjunto de , es decir, un conjunto de palabras sobre ese alfabeto. Dos lenguajes formales y son iguales, si los conjuntos correspondientes son extensionalmente iguales como subconjuntos de . Uno puede usar lenguajes en la teoría de la complejidad para formalizar el concepto de un "problema". Uno podría quejarse de que la igualdad extensional "en general" es indecidible, pero creo que esto sería erróneo.Σ Σ ∗ L L ′ L ∪ L ′
Estoy reflexionando sobre el siguiente problema desde hace algún tiempo: dos idiomas y sobre alfabetos y (donde , , yL ′ Σ = { a , b } Σ ′ = { c , d } a b c d A ⊥son letras distintas) nunca pueden ser iguales, incluso si describen "exactamente" el mismo "problema". Pero deberían ser isomórficos, si realmente describen "exactamente" el mismo "problema". Lo que me gustaría saber son posibles nociones de isomorfismo apropiadas para la teoría de la complejidad. Inicialmente pensé que un "traductor" computacionalmente débil como una máquina de estados finitos podría usarse para definir los isomorfismos permitidos, pero esto ya parece descomponerse para las traducciones sintácticas triviales entre fórmulas lógicas equivalentes. (Ver, por ejemplo, esta tabla con la definición sintáctica del doble en lógica lineal ).
Hoy tuve la siguiente idea: una definición del lenguaje correspondiente a un cierto "problema de decisión" a menudo tiene dos partes: (1) Una codificación de las instancias de problema permitidas como cadenas finitas de símbolos, y (2) una definición de " acepta "instancias problemáticas que pertenecen al idioma. Si la comprobación de si una cadena de símbolos finita dada es una codificación de una instancia de problema permitida ya requiere una máquina computacionalmente más fuerte que una máquina de estado finito, entonces esta máquina más fuerte también debe usarse para la definición de los isomorfismos permitidos.
Preguntas: ¿Tiene esta línea de razonamiento alguna posibilidad de "resolver" mi problema? ¿Ya se ha resuelto mi problema, de modo que solo necesito leer las referencias correctas? ¿Mi problema en sí tiene algún sentido o es tan equivocado como quejarse de la indecidibilidad de la igualdad extensional?
Editar (aún no es una respuesta) Noté que "(1) Una codificación de las instancias de problema permitidas como cadenas finitas de símbolos" ya contiene el supuesto (oculto) de una entrada normalizada. Sin este supuesto, dos cadenas finitas diferentes podrían corresponder a la misma instancia del problema. En lugar de verificar si una cadena finita dada es válida, la verificación podría producir una entrada normalizada (y asignar cadenas no válidas a una cadena especial).
Esta configuración tiene la ventaja de que la máquina que realiza la verificación / normalización ya está equipada con medios para transformar cadenas finitas en otras cadenas finitas. La máquina permitida (clase de complejidad) para esta tarea podría ser parte de la definición del problema, y los (iso) morfismos usarían la misma máquina (clase de complejidad). (La sugerencia de "reducciones múltiples de tiempo múltiple" del comentario de Raphael sería una posibilidad para problemas en ).
Un inconveniente es que esta forma de especificación solo puede ser apropiada para máquinas deterministas. Las máquinas no deterministas pueden requerir formas más flexibles para especificar / decidir si dos cadenas de entrada corresponden a la misma instancia del problema.
fuente
Respuestas:
La teoría de la familia abstracta de lenguas es relevante. Por ejemplo, los morfismos definidos por los transductores de estado finito conducen a la familia de los conos . La breve charla ICM de Eilenberg de 1970 explica muy bien este marco, ver también el capítulo 11 "Propiedades de cierre de las familias de idiomas" de Introducción a la teoría de los autómatas, idiomas y computación (1ª ed.) Por J. Hopcroft y J. Ullman de 1979. Sin embargo , solo los lenguajes no deterministas encajan en este marco 1 . Al final, el libro Theory of codes de J. Berstel y D. Perrin de 1985 me ayudó a encontrar soluciones razonables para mi problema. Códigos y Autómataspor J. Berstel, D. Perrin y C. Reutenauer de 2009 es una revisión importante de este libro con una cobertura mucho más amplia.
La suposición de que hay una categoría correcta para modelar isomorfismos entre idiomas para "formalizar el concepto de un problema" es errónea. Hay muchas categorías diferentes que pueden ser interesantes en el contexto de los idiomas formales.
Aquí hay tres categorías interesantes relacionadas con las reducciones de muchos, que se denominarán total , parcial y relacional . Los objetos de las categorías son pares de un alfabeto finito y un lenguaje de palabras sobre . En total , los morfismos entre el objeto fuente y el objeto objetivo son funciones totales con . Para parcial , los morfismos son funciones parciales(Σ,L) Σ L⊂Σ∗ Σ (Σ,L) (Σ′,L′) f:Σ∗→Σ′∗ L=f−1(L′) f:Σ∗→Σ′∗ con , donde dos funciones parciales , se consideran iguales (como morfismos) si para toda . Para relacional , los morfismos son relaciones con , y dos morfismos entre la misma fuente y destino se consideran iguales . El conjunto de funciones o relaciones permitidas puede restringirse a varios "traductores" simples para obtener categorías con isomorfismos interesantes.L=f−1(L′) f g f(x)=g(x) x∈L R⊂Σ∗×Σ′∗ L=R−1(L′)
La categoría total muy básica descrita anteriormente resuelve este problema.
El problema se vuelve más interesante si "exactamente lo mismo" se reemplaza por "casi lo mismo para la mayoría de los propósitos prácticos": Sea un lenguaje sobre y sea el lenguaje sobre obtenido de por la sustitución , , y . Tenga en cuenta que en cualquier categoría total , y no son isomórficos para . Lo mismo sería cierto para las categorías parciales , si la parte "donde dos funciones parcialesL Σ={U,C,A,G} L′ Σ′={0,1} L U→00 C→01 A→10 G→11 L L′ L=Σ∗ f , se consideran iguales (como morfismos) si para todo "se omitió de la definición.g f(x)=g(x) x∈L
La categoría parcial bastante natural descrita anteriormente es suficiente para hacer que y isomórficos. Sería bueno tener una categoría más básica (es decir, más restrictiva) que los haga isomórficos. Las siguientes categorías (sucesivamente más restrictivas) me parecen razonables:L L′
Incluso antes de aprender sobre la teoría de categorías, me preguntaba si hay formas "más fieles" de formalizar el concepto de "problema". Después de familiarizarme con la teoría de categorías, a veces traté de encontrar posibles soluciones, pero siempre me rendí rápidamente en el primer escollo (porque a nadie le importa de todos modos). Sé que Yuri Gurevich ha resuelto algunas preguntas relacionadas, pero sus soluciones son prácticamente aplicables, mientras que estaba buscando más algo agradable y abstracto, independiente de la aplicabilidad práctica.
La mayor parte de mi tiempo libre durante las últimas tres semanas fue finalmente hacer algún progreso en este problema. En la mayoría de los casos, el tiempo lo dedicaba a encontrar problemas molestos en las posibles soluciones que tenía en mente. La sensación de progreso surgió de la lectura de libros y artículos (antiguos), y del aprendizaje de muchos conceptos básicos y hechos sobre transductores y conjuntos racionales. Finalmente aprendí las nociones de un código de prefijo y un código bifix (anteriormente código biprefix en el libro de Berstel), lo que me permitió llegar a las 3 categorías razonables descritas anteriormente.
Puede ser difícil apreciar esas categorías (relacionadas con el código), sin haber visto algunos problemas de las categorías más obvias. Un problema general es que el cierre bajo composición puede dificultar la definición de una clase de funciones parciales muy restringidas. Otra cuestión está relacionada con el hecho de que la suma de uno (o la multiplicación por una constante) es una "función fácil de calcular" si los dígitos del número se dan en orden endian bajo, pero no si los dígitos se dan en big- orden endian
1 Un transductor de estado finito funcional es un transductor de estado finito no determinista que realiza una función parcial. Estas funciones parciales no pueden realizarse mediante transductores deterministas de estado finito. Pueden realizarse mediante bimaquinas deterministas , pero pueden necesitar exploraciones hacia adelante y hacia atrás sobre la entrada, si desean operar en el espacio .O(n) O(1)
2 Un transductor de estado finito inequívoco es un transductor de estado finito no determinista con como máximo una ruta de aceptación para cada entrada. Realiza una función parcial, por lo tanto, también es un transductor de estado finito funcional. Es decidible si un transductor de estado finito dado es inequívoco.
3 No estoy seguro de cuán razonables son realmente el total y las categorías relacionales presentadas anteriormente. Solo quería mostrar alternativas directas a la categoría parcial . Es más fácil encontrar más alternativas, por ejemplo , correlacional , donde los morfismos son relaciones con , y dos morfismos entre la misma fuente y destino se consideran iguales. L = R - 1 ( L ′ ) - R - 1 ( Σ ′ ∗ - L ′ )R⊂Σ∗×Σ′∗ L=R−1(L′)−R−1(Σ′∗−L′)
fuente