Aller au contenu

Forme normale de Kuroda

Un article de Wikipédia, l'encyclopédie libre.
Ceci est la version actuelle de cette page, en date du 23 juin 2022 à 10:48 et modifiée en dernier par Vers75 (discuter | contributions). L'URL présente est un lien permanent vers cette version.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

En informatique théorique, et particulièrement en théorie des langages formels, une grammaire contextuelle est dite en forme normale de Kuroda si ses règles de production sont de l'une des formes suivantes[1] :

et sont des symboles non terminaux et est un symbole terminal[1]. Certains auteurs omettent dans la définition les règles de renommage de la forme [2].

La forme normale porte le nom de Sige-Yuki Kuroda, qui appelait ces grammaires des grammaires linéaires bornées — une terminologie qui a également été utilisée par d'autres auteurs par la suite[3].

Une grammaire sous forme normale de Kuroda est non contractante et engendre donc un langage contextuel. Inversement, tout langage contextuel qui n'engendre pas la chaîne vide peut être engendré par une grammaire en forme normale de Kuroda[2].

Une technique simple, attribuée à György Révész, pour mettre une grammaire quadratique de Chomsky en forme de Kuroda est la suivante : une règle est remplacée par quatre règles contextuelles , , et . Cette technique donne également une preuve de ce que toute grammaire non contractante est sensible au contexte[1].

Il existe également une forme normale similaire pour les grammaires non expansive, et que certains auteurs appellent également la « forme normale de Kuroda »[4] . Les règles sont alors :

est la chaîne vide. Toute grammaire générale est faiblement équivalente à une grammaire utilisant uniquement des productions de cette forme[2]. Si la règle est omise dans ce qui précède, on obtient des langages context-free[4].

La forme normale de Penttonen (pour les grammaires générales) est le cas particulier où la première règle ci-dessus est de la forme [4]. De même, pour les grammaires contextuelles, la forme normale de Penttonen, également appelée forme normale unilatère selon la propre terminologie de Penttonen est[1],[2] la suivante :

Pour toute grammaire contextuelle, il existe une forme normale unilatère faiblement équivalente[2].

Articles liés

[modifier | modifier le code]

Références

[modifier | modifier le code]
  1. a b c et d Masami Ito, Yūji Kobayashi et Kunitaka Shoji, Automata, Formal Languages and Algebraic Systems: Proceedings of AFLAS 2008, Kyoto, Japan, 20-22 September 2008, World Scientific, (ISBN 978-981-4317-60-3, présentation en ligne), p. 182
  2. a b c d et e Alexandru Mateescu et Arto Salomaa, « Chapter 4 : Aspects of Classical Language Theory », dans Handbook of Formal Languages. Volume I: Word, language, grammar, Springer-Verlag, (ISBN 978-3-540-61486-9), p. 190.
  3. Willem J. M. Levelt, An Introduction to the Theory of Formal Languages and Automata, John Benjamins Publishing, (ISBN 978-90-272-3250-2, lire en ligne), p. 126–127.
  4. a b et c Alexander Meduna, Automata and Languages: Theory and Applications, Springer Science & Business Media, (ISBN 978-1-85233-074-3, lire en ligne), p. 722-728.

Articles complémentaires

[modifier | modifier le code]