¿Cuáles son los isomorfismos apropiados entre lenguajes formales?

9

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 LΣΣLLLL

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 LLΣ={a,b}Σ={c,d}abcdson 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 linealA ).

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 ).P

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.

Thomas Klimpel
fuente
1
Todos los idiomas infinitos (sobre alfabetos finitos) son isomórficos (ya que son contables). Necesitas refinar lo que quieres. Además, ¿en qué medida dice que dos problemas son "iguales"? Podría decirse que las reducciones múltiples de tiempo múltiple le proporcionan un mapeo como desea, pero estos mapean problemas "diferentes" (pero igualmente difíciles) entre sí.
Raphael
@Raphael Estoy un poco confundido por tu comentario "Necesitas refinar lo que quieres". Esta pregunta es precisamente sobre qué noción de isomorfismo podría "querer" usar. ¡A veces es difícil saber lo que realmente quieres! Para el pasaje de la pregunta que habla sobre lenguajes que describen "exactamente" el mismo "problema", básicamente estaba pensando en el caso cuando identificar con y con haría que y fueran iguales. Continuar con esta línea de razonamiento es lo que inicialmente me llevó a considerar las máquinas de estado finito como "traductores", lo que finalmente no resuelve mi problema. c b d L L acbdLL
Thomas Klimpel
@Raphael Supongo que para la mayoría de los problemas, las reducciones de tiempo múltiple son demasiado poderosas computacionalmente para los isomorfismos que tengo en mente. No quiero que el isomorfismo calcule la solución por mí, o reduzca un problema teórico de grafos a un problema de satisfacción lógica. Solo quiero identificar dos codificaciones ligeramente diferentes pero esencialmente equivalentes de la misma instancia del problema. No tengo ningún problema, si esta noción de isomorfismo se identificara también con ciertos (codificaciones de) problemas teóricos de grafos con ciertos (codificaciones de) problemas de satisfacción lógica.
Thomas Klimpel
aproximadamente, la complejidad asociada con las reducciones se utiliza para este propósito. una reducción menos fuerte que el tiempo P es, por ejemplo, reducciones de espacio logarítmico, tiempo , etc.O(nc)
vzn

Respuestas:

6

¿Ya se ha resuelto mi problema, de modo que solo necesito leer las referencias correctas?

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.

¿Tiene esta línea de razonamiento alguna posibilidad de "resolver" mi problema? ¿Mi problema en sí tiene algún sentido, o es tan equivocado como ...?

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=f1(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=f1(L)fgf(x)=g(x)xLRΣ×ΣL=R1(L)

  • Los homomorfismos monoides de a dan una categoría total muy básica . Los isomorfismos de esta categoría son básicamente las biyecciones entre y . Cualquier familia razonable de idiomas debería respetar mejor estos isomorfismos, es decir, estar cerrada bajo homomorfismos inversos.ΣΣΣΣ
  • Las funciones parciales definidas por traductores de máquina de Turing de espacio de registro deterministas dan una categoría parcial bastante natural . Es capaz de realizar muchas transformaciones sintácticas triviales (como aplicar las leyes de De Morgan para mover las negaciones a los átomos), incluye el morfismo definido por los transductores funcionales de estado finito 1 y también puede clasificarse. Aún así, no identificará dos lenguajes completamente ajenos como isomórficos, porque la igualdad de la composición de dos morfismos a un morfismo de identidad es un requisito mucho más fuerte que la simple existencia de reducciones de muchos en una dirección.
  • Las relaciones definidas por los traductores de máquina de Turing de espacio de registro no deterministas dan una categoría relacional interesante . SAT es isomorfo a HORNSAT en esta categoría, pero es una pregunta abierta si TAUTOLOGÍA o cualquier otro problema co-NP-completo es isomorfo a HORNSAT.

Dos lenguas y sobre alfabetos y (donde , , y son letras distintas) nunca puede ser igual, incluso si describen "exactamente" el mismo "problema". Pero deberían ser isomórficos, si realmente describen "exactamente" el mismo "problema".LLΣ={a,b}Σ={c,d}abcd

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}LU00C01A10G11LLL=Σf, se consideran iguales (como morfismos) si para todo "se omitió de la definición.gf(x)=g(x)xL

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:LL

  • Las funciones parciales realizadas por transductores de estado finito inequívocos 2 donde el único estado de aceptación es el estado inicial. Los isomorfismos de esta categoría parcial son (un subconjunto de) biyecciones entre códigos de longitud variable reconocibles .
  • Las funciones parciales realizadas por transductores deterministas de estado finito donde el único estado de aceptación es el estado inicial. Los isomorfismos de esta categoría parcial son (un subconjunto de) biyecciones entre códigos de prefijo .
  • Las funciones parciales realizadas simultáneamente por un transductor determinista hacia adelante y hacia atrás donde el único estado de aceptación es el estado inicial. Los isomorfismos de esta categoría parcial son (un subconjunto de) biyecciones entre códigos bifix .
  • También podría tener sentido restringir aún más las funciones parciales de modo que los isomorfismos sean (un subconjunto de) las biyecciones entre códigos de bloque .

Uno puede usar lenguajes en la teoría de la complejidad para formalizar el concepto de un "problema".

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=R1(L)R1(ΣL)

Thomas Klimpel
fuente