Estoy aprendiendo la teoría algebraica del análisis. Mi primer problema es identificar ejemplos de semiring que son específicos de la teoría del lenguaje formal. Aquí hay un intento de construir dos ejemplos.
1 Dada la gramática CNF, los elementos de semiring son conjuntos de símbolos terminales y no terminales con las operaciones:
i) Multiplicación , uniendo los dos conjuntos por pares de acuerdo con la regla CYK. Por ejemplo, dada la gramática CNF
s: p p | q r
t: p q
u: q q
entonces
ii) Además se establece la unión, p. ej.
Desafortunadamente, la multiplicación no es asociativa.
2 Los elementos de la segunda semisección son conjuntos de no símbolos, sino reglas gramaticales [no necesariamente en CNF] modificadas con la posición. Las operaciones son
i) Multiplicación , uniendo todos los pares de elementos coincidentes de acuerdo con la regla completa de Earley. Por ejemplo, dada la gramática CNF
s: p q r
r: s t | u
entonces
ii) La adición es nuevamente la unión establecida, p. ej.
Este ejemplo también es deficiente.
La combinación de elementos con conjuntos de reglas gramaticales y la multiplicación como sustitución de reglas parece funcionar bien. Sin embargo, esto es solo una relación de álgebra disfrazada. De hecho, veamos cada regla gramatical como una clase de equivalencia: un conjunto de pares de palabras que consisten en letras terminales y no terminales relacionadas por la aplicación de la regla, por ejemplo
Entonces, el reconocimiento de una palabra en una gramática es una cadena de composiciones relacionales, p. Ej.
(Este monomio recuerda al polinomio analizador semiring de la tesis doctoral de Josh Goodman; sin embargo, dejemos reiterar que la construcción de nuevos semirremolques tomando polinomios y matrices no es de nuestro interés aquí).
Por lo tanto, la pregunta sigue siendo: ¿es el semirreloj de los idiomas formales sobre el alfabeto el único ejemplo?
fuente
Respuestas:
Hay muchos seminarios relacionados con la teoría del lenguaje. En primer lugar, el semiseño booleano. A continuación, cualquier clase de idiomas cerrada bajo unión finita y producto de (concatenación) es un subconjunto de la semisección de todos los idiomas. Por ejemplo, los lenguajes racionales (= regulares) forman un semired. Ver también la noción relacionada de álgebra de Kleene .
Las matrices sobre un semiring forman un semiring. En particular, las matrices sobre el semired booleano codifican autómatas finitos no deterministas y las matrices sobre el semiring un poco más grande codifican las transiciones de un autómata Büchi. Las matrices sobre un semiring se utilizan para caracterizar series racionales .{ - ∞ , 0 , 1 }k × k { - ∞ , 0 , 1 }
Las partidas tropicales , en particular y juegan un papel destacado en la teoría de autómatas. También condujeron a una nueva rama de las matemáticas, la geometría tropical .( N ∪ { - ∞ } , max , + )(N∪{+∞},min,+) (N∪{−∞},max,+)
fuente
Diversión con Semirings: una perla funcional sobre el abuso del álgebra lineal
Análisis eficaz de divide y vencerás de lenguajes libres de contexto
fuente
Creo que puedes crear más semi-anillos con las reglas de Earley. Toma la predicción. Puede formar el operador binario , k) $ de modo que la unión supere todas las reglas relevantes existentes. Luego, el algoritmo calcula primero el primer estado de Earley establecido como un producto infinito pero eventualmente repetitivo (tan finito) en el operador:S⊗p,kT=S∪⋃(Y:∙γ
fuente