¿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=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′)fgf(x)=g(x)x∈LR⊂Σ∗×Σ′∗L=R−1(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}LU→00C→01A→10G→11LL′L=Σ∗f, se consideran iguales (como morfismos) si para todo "se omitió de la definición.gf(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: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=R−1(L′)−R−1(Σ′∗−L′)