Je recherche des théories mathématiques qui traitent de la description des langages formels (ensemble de chaînes) en général et pas seulement des hiérarchies grammaticales.
Je recherche des théories mathématiques qui traitent de la description des langages formels (ensemble de chaînes) en général et pas seulement des hiérarchies grammaticales.
Réponses:
Les possibilités sont nombreuses. D'autres ont déjà mentionné les automates qui offrent une riche sélection. Considérez également les cadres suivants:
Certains langages peuvent être définis directement par des définitions (co) inductives . Par exemple, le plus petit point fixe de
est le même langage que celui décrit par(ba∣a)∗, le plus grand point fixe est(ba∣a)ω. Notez qu'une telle définition peut également être écrite sous forme de calcul ou derègle d'inférence:
Les mots définissent des structures de mots qui peuvent être utilisées comme modèles de formule logique . Essentiellement, chaque mot définit le domaine de ses positions , les prédicats P a : D → { 0 , 1 } de sorte que P a ( i ) ⟺ w i = a pour tout a ∈ Σ , un prédicat < qui est < de Nlimité à et un prédicat succ : D w × D w → { 0 , 1 } qui est vrai si et seulement si le deuxième paramètre est le successeur direct du poing.
Ainsi, par exemple, si w = a a b a b a a b alors
en fait, cetteformule de premier ordredéfinit --- via l'ensemble de toutes les structures de mots qui la remplissent --- la même langue que(ba∣a)∗. Leω-language(ba∣a)ω correspondantest décrit par laformule LTL
Plusieurs équivalences entre les classes de langues classiques et certaines logiques sont connues. Par exemple,FOcorrespond àlangues sans étoile, faibleMSOaux langues régulières etMSOàwlangues réguliers réguliers. Voiricipour les références.
Quelque chose d'orthogonal aux classes classiques sont les langages de modèle . Supposons un alphabet terminal et un alphabet variable X = { x 1 , x 2 , … } . Une chaîne p ∈ ( Σ ∪ X ) + est appelée motif . Soit H = { σ ∣ σ : X → Σ ∗ } l'ensemble des substitutions. Nous définissons le langage d'un motif p comme
Notez queσest étendu pour travailler sur des motifs; les symboles des terminaux restent inchangés.
À titre d'exemple, considéronsL(x1abbax1)={wabbaw∣w∈{a,b}∗}.
Notez que nous autorisons les substitutions à supprimer des variables; certaines propriétés de la classe des langages de modèles sont extrêmement différentes pour les substitutions de suppression et non de suppression. Les langages à motifs sont particulièrement intéressants dans l' apprentissage de type Gold .
Vous devriez jeter un œil à la théorie des automates . Il y a beaucoup de matériel à ce sujet.
Par exemple, vous pouvez définir un langage régulier avec un automate fini non déterministe avec des bords étiquetés: une chaîne appartient au langage si l'automate peut suivre les transitions étiquetées par ses caractères et s'arrête dans un état final.
En outre, une grammaire sans contexte peut être reconnue par un automate de refoulement .
Une autre façon de définir les langages est d' utiliser les machines de Turing .
La hiérarchie de Chomsky comprend quatre types de langages formels (chacun d'eux est un sous-ensemble de ceux qui le suivent):
Un langage formel régulier peut être décrit par:
1., 2. et 3. sont équivalents et à partir de l'un d'eux, vous pouvez construire les autres.
Un langage formel sans contexte peut être décrit par:
Aussi 1. et 2. sont équivalents.
Un langage formel contextuel peut être décrit par:
UNE langage formel récursivement énumérable peut être décrit par:
Suite aux autres réponses, on peut décrire et classer les langages en termes de "générateurs" et de propriétés de fermeture. Par exemple, il est logique de parler du plus petit AFL généré par une langue. Un bon endroit pour commencer à en apprendre davantage sur ce type de description est ce livre, bien qu'il puisse être assez difficile d'en trouver une copie papier.