J'apprends la théorie algébrique de l'analyse. Mon premier problème est d'identifier des exemples semi-spécifiques à la théorie formelle du langage. Voici une tentative de construire deux exemples.
1 Compte tenu de la grammaire CNF, les éléments de semiring sont des ensembles de symboles terminaux et non terminaux avec les opérations:
i) Multiplication , joignant les deux ensembles par paire selon la règle CYK. Par exemple, compte tenu de la grammaire CNF
s: p p | q r
t: p q
u: q q
puis
ii) L' addition est définie comme une union, par exemple
Malheureusement, la multiplication n'est pas associative.
2 Les éléments du second semiring sont des ensembles non pas de symboles mais de règles de grammaire [pas nécessairement en CNF] modifiées avec position. Les opérations sont
i) Multiplication , joignant toutes les paires d'éléments correspondants selon la règle complète d'Earley. Par exemple, compte tenu de la grammaire CNF
s: p q r
r: s t | u
puis
ii) L' addition est à nouveau l'union définie, par exemple
Cet exemple est également déficient.
Semiring avec des éléments étant des ensembles de règles de grammaire et la multiplication étant une substitution de règles semble fonctionner correctement. Pourtant, ce n'est qu'une algèbre relationnelle déguisée. En effet, considérons chaque règle de grammaire comme une classe d'équivalence - un ensemble de paires de mots comprenant des lettres terminales et non terminales liées par l'application de la règle, par exemple
Ensuite, la reconnaissance d'un mot dans une grammaire est une chaîne de compositions relationnelles, par exemple
(Ce monôme rappelle le polynôme analyseur semi-conducteur de la thèse de Josh Goodman; cependant, répétons que la construction de nouveaux semi-anneaux en prenant des polynômes et des matrices n'est pas de notre intérêt ici).
Donc, la question demeure: est-ce que le semiring des langages formels sur l'alphabet le seul exemple?
la source
Réponses:
Il existe de nombreux semirings liés à la théorie du langage. Tout d'abord, le semi-booléen. Ensuite, toute classe de langues fermées sous un produit d'union et de concaténation finies est un sous-dépassement du semirage de toutes les langues. Par exemple, les langages rationnels (= réguliers) forment un semiring. Voir aussi la notion connexe d' algèbre de Kleene .
( N ∪ { - ∞ } , max , + )( N ∪ { + ∞ } , min , + ) ( N ∪ { - ∞ } , max , + )
la source
Fun with Semirings: Une perle fonctionnelle sur l'abus de l'algèbre linéaire
Analyse efficace de Divide and Conquer de langages sans contexte
la source
Je pense que vous pouvez trouver plus de demi-anneaux avec les règles d'Earley. Prenez la prédiction. Vous pouvez former l'opérateur binaire , k) $ de telle sorte que l'union est sur toutes les règles pertinentes existantes. Ensuite, l'algorithme calcule d'abord le premier jeu d'états d'Earley comme un produit infini mais finalement répétitif (donc fini) dans l'opérateur:S⊗p , kT= S∪ ⋃ ( Y: ∙ γ
la source