Kuroda normal form

From HandWiki
Revision as of 06:26, 27 June 2023 by CodeMe (talk | contribs) (linkage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

In formal language theory, a noncontracting grammar is in Kuroda normal form if all production rules are of the form:[1]

ABCD or
ABC or
AB or
Aa

where A, B, C and D are nonterminal symbols and a is a terminal symbol.[1] Some sources omit the AB pattern.[2]

It is named after Sige-Yuki Kuroda, who originally called it a linear bounded grammar, a terminology that was also used by a few other authors thereafter.[3]

Every grammar in Kuroda normal form is noncontracting, and therefore, generates a context-sensitive language. Conversely, every noncontracting grammar that does not generate the empty string can be converted to Kuroda normal form.[2]

A straightforward technique attributed to György Révész transforms a grammar in Kuroda normal form to a context-sensitive grammar: ABCD is replaced by four context-sensitive rules ABAZ, AZWZ, WZWD and WDCD. This proves that every noncontracting grammar generates a context-sensitive language.[1]

There is a similar normal form for unrestricted grammars as well, which at least some authors call "Kuroda normal form" too:[4]

ABCD or
ABC or
Aa or
Aε

where ε is the empty string. Every unrestricted grammar is weakly equivalent to one using only productions of this form.[2]

If the rule AB → CD is eliminated from the above, one obtains context-free grammars in Chomsky Normal Form.[5] The Penttonen normal form (for unrestricted grammars) is a special case where first rule above is ABAD.[4] Similarly, for context-sensitive grammars, the Penttonen normal form, also called the one-sided normal form (following Penttonen's own terminology) is:[1][2]

ABAD or
ABC or
Aa

For every context-sensitive grammar, there exists a weakly equivalent one-sided normal form.[2]

See also

References

  1. 1.0 1.1 1.2 1.3 Masami Ito; Yūji Kobayashi; Kunitaka Shoji (2010). Automata, Formal Languages and Algebraic Systems: Proceedings of AFLAS 2008, Kyoto, Japan, 20-22 September 2008. World Scientific. p. 182. ISBN 978-981-4317-60-3. https://books.google.com/books?id=xuaR2bJq0rcC&pg=PA182. 
  2. 2.0 2.1 2.2 2.3 2.4 Mateescu, Alexandru; Salomaa, Arto (1997). "Chapter 4: Aspects of Classical Language Theory". in Rozenberg, Grzegorz; Salomaa, Arto. Handbook of Formal Languages. Volume I: Word, language, grammar. Springer-Verlag. p. 190. ISBN 978-3-540-61486-9. 
  3. Willem J. M. Levelt (2008). An Introduction to the Theory of Formal Languages and Automata. John Benjamins Publishing. pp. 126–127. ISBN 978-90-272-3250-2. https://books.google.com/books?id=tFvtwGYNe7kC&pg=PA126. 
  4. 4.0 4.1 Alexander Meduna (2000). Automata and Languages: Theory and Applications. Springer Science & Business Media. p. 722. ISBN 978-1-85233-074-3. https://books.google.com/books?id=s7gEErax71cC&pg=PA722. 
  5. Alexander Meduna (2000). Automata and Languages: Theory and Applications. Springer Science & Business Media. p. 728. ISBN 978-1-85233-074-3. https://books.google.com/books?id=s7gEErax71cC&pg=PA728. 

Further reading

  • Sige-Yuki Kuroda (June 1964). "Classes of languages and linear-bounded automata". Information and Control 7 (2): 207–223. doi:10.1016/S0019-9958(64)90120-2. 
  • G. Révész, "Comment on the paper 'Error detection in formal languages,'" Journal of Computer and System Sciences, vol. 8, no. 2, pp. 238–242, Apr. 1974. doi:10.1016/S0022-0000(74)80057-7 (Révész' trick)
  • Penttonen, Martti (Aug 1974). "One-sided and two-sided context in formal grammars". Information and Control 25 (4): 371–392. doi:10.1016/S0019-9958(74)91049-3.