Lenguajes regulares desde el punto de vista teórico de categoría


21

Me di cuenta de que los idiomas regulares sobre el alfabeto pueden considerarse naturalmente como un poset, y de hecho una red. Además, la concatenación junto con el lenguaje vacío ϵ define una estructura monoidal estricta en esta categoría que es distributiva sobre las uniones (no estoy seguro acerca de los encuentros). ¿Es esta una construcción útil en teoría o práctica de los idiomas regulares? ¿Hay algunos buenos adjuntos que se pueden encontrar, por ejemplo, podemos definir la estrella de Kleene como una?Σϵ

Esta es una copia de una pregunta formulada en el curso de Compiladores en Coursera: https://class.coursera.org/compilers/forum/thread?thread_id=311


44
Simplemente señalando que el enlace requiere que uno pueda iniciar sesión en el sitio web del curso.
Dave Clarke

1
¿Cuál es el orden parcial que convierte los lenguajes regulares en un poset? ¿Es simplemente la propiedad del subconjunto?
Suresh Venkat

@Suresh Sí, ¿me estoy perdiendo algo?
Alexei Averchenko

1
No. Solo quería entender si había algo más específico en la estructura del lenguaje
Suresh Venkat

@Suresh Ciertamente no soy tan inteligente o educado como las personas a las que Dave Clarke hace referencia, así que solo vi lo más obvio :)
Alexei Averchenko

Respuestas:


18

Se ha hecho mucho aplicando la teoría de categorías a los lenguajes y autómatas normales. Un punto de partida son los documentos recientes:

En el primero de estos documentos, la estructura de las expresiones regulares se trata algebraicamente y los lenguajes generados se tratan de forma coalgebraica. Estas dos vistas están integradas en un entorno bialgebraico. Un bialgebra es un par álgebra-coalgebra con una ley distributiva adecuada que captura la interacción entre los términos sintácticos (las expresiones regulares) y el comportamiento computacional (lenguajes generados). La base de este artículo es álgebra y coalgebra, tal como se trata en informática bajo los paraguas de álgebra universal y coalgebra, en lugar de lo que uno ve en matemáticas (grupos, etc.).

El segundo artículo utiliza técnicas que provienen del tratamiento matemático más tradicional de álgebra (módulos, etc.) y coalgebra, pero me temo que no conozco los detalles.

Ninguno de los dos trata a la estrella de Kleene como un complemento, por lo que puedo decir.

En términos más generales, hay mucho trabajo aplicando la teoría de categorías a los autómatas en lugar de las expresiones regulares. Una muestra de este trabajo incluye:

Finalmente, está el trabajo sobre las teorías de iteración, las teorías de iteración: la lógica ecológica de los procesos iterativos de Stephen L. Bloom y Zoltán Ésik, que se centra en la iteración (por ejemplo, la estrella de Kleene), pero desde una perspectiva más general, donde los lenguajes regulares son solo Una cosa que cae bajo la teoría.


2
Para autómatas también hay books.google.co.uk/…
Radu GRIGore

1
Desafortunadamente, el término "álgebra" se usa en exceso. Existe el significado de "álgebra" como una estructura algebraica genérica, que se utiliza en álgebra universal, álgebras fundadoras y álgebras de mónada. El artículo de Bart Jacobs está hablando de eso. Hay una estructura más específica llamada " álgebra " definida en la teoría de anillo / módulo. El trabajo de James Worthington se ocupa de esos. En mi opinión, el trabajo de Worthington es mucho más interesante, pero creo que solo hemos comenzado a arañar la superficie aquí.
Uday Reddy

Enlace no relacionado con Paywall al artículo de Bart: repository.ubn.ru.nl/handle/2066/36207
Turion

12

En realidad, creo que lo que estás buscando es álgebra de Kleene. Ver el clásico artículo de Dexter Kozen. Él da una axiomatización de Kleene-star. Supongo que este es el primer paso que le interesa.

Un teorema de integridad para álgebras de Kleene y el álgebra de eventos regulares. Information and Computation, 110 (2): 366-390, mayo de 1994.

Ese artículo no usa la teoría de categorías, pero ofrece una axiomatización ecológica de las álgebras de Kleene, cuya estructura incluye la de los lenguajes regulares. Las álgebras de Kleene con pruebas se pueden ver como la extensión de expresiones regulares para modelar programas simples con bucles y condicionales (pero sin asignaciones). Esta extensión es útil para razonar sobre programas tan simples de una manera puramente algebraica.

Sobre la teoría coalgebraica del álgebra de Kleene con pruebas. Reporte técnico. Universidad de Cornell, marzo de 2008.

Los lenguajes regulares forman un álgebra booleana con estructura adicional, como puede observar. Esta estructura ha sido estudiada desde el punto de vista de la dualidad de Stone por Nick Pippenger.

Idiomas regulares y dualidad de piedra . Nicholas Pippenger. Theory Computing Systems, 1997: 121-134.

El enfoque de dualidad para el reconocimiento de idiomas ha estado en el centro de atención recientemente y se ha aplicado para obtener nuevos resultados sobre el reconocimiento de idiomas.

Dualidad y teoría de la ecuación de las lenguas regulares. M. Gehrke, S. Grigorieff, J.-E. Alfiler.


1
Y específicamente sobre algunos adjuntos clásicos de álgebras de Kleene en teoría de máquinas: cs.cornell.edu/Courses/cs786/2004sp/Lectures/l06-adj.pdf
ex0du5

4

Mirar el mundo usando gafas de teoría de categorías se llama categorización . A veces produce resultados realmente agradables y sorprendentes. Los físicos han comenzado a decir que pensar en un grupo como un gropoid de un elemento hace una gran diferencia . Estoy empezando a darme cuenta de que pensar en un monoide como una categoría de un elemento simplifica muchas cosas también. (Por ejemplo, una acción monoide es entonces un functor en Set . Tales cosas forman categorías y topos cerrados cartesianos. Por lo tanto, ¡tienen un cálculo lambda y una lógica intuicionista también!)

Desea categorizar idiomas regulares. No sé si se ha hecho o si se ha hecho que no es interesante. No he visto nada escrito al respecto. Sin embargo, la estructura algebraica de las lenguas regulares, las álgebras de Kleene, es suficientemente interesante. Hay una gran cantidad de literatura sobre ellos. Pero, en mi opinión, la teoría de los lenguajes regulares y los autómatas finitos adolece de un compromiso prematuro con la finitud. (Los grupos finitos son interesantes e importantes, pero no desea que la definición de "grupo" se comprometa con la finitud desde el principio). Por lo tanto, sería útil descartar la finitud y estudiar las estructuras de manera más general.

El trabajo más interesante que se está llevando a cabo en este momento está relacionado con las estructuras llamadas bimonoides de localidad definidos por Hoare. Se ha descubierto que las álgebras concurrentes de Kleene son una instancia de ellas . Los bimonoides locales y la concurrencia son una dirección de investigación activa.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.