A matrix grammar is a formal grammar in which instead of single productions, productions are grouped together into finite sequences. A production cannot be applied separately, it must be applied in sequence. In the application of such a sequence of productions, the rewriting is done in accordance to each production in sequence, the first one, second one etc. till the last production has been used for rewriting. The sequences are referred to as matrices.

Matrix grammar is an extension of context-free grammar, and one instance of a controlled grammar.

Formal definition

edit

A matrix grammar is an ordered quadruple   where

  •   is a finite set of non-terminals
  •   is a finite set of terminals
  •   is a special element of  , viz. the starting symbol
  •   is a finite set of non-empty sequences whose elements are ordered pairs   where

 [1]


The pairs are called productions, written as  . The sequences are called matrices and can be written as

 

Let   be the set of all productions appearing in the matrices   of a matrix grammar  . Then the matrix grammar   is of type- , length-increasing, linear,  -free, context-free or context-sensitive if and only if the grammar   has the following property.

For a matrix grammar  , a binary relation   is defined; also represented as  . For any  ,   holds if and only if there exists an integer   such that the words

 

over V exist and

  •   and  
  •   is one of the matrices of  
  •   and   for all   such that  

Let   be the reflexive transitive closure of the relation  . Then, the language generated by the matrix grammar   is given by

 

Examples

edit

Consider the matrix grammar

 

where   is a collection containing the following matrices:

 

These matrices, which contain only context-free rules, generate the context-sensitive language

  The associate word of   is   and  .

This example can be found on pages 8 and 9 of [1] in the following form: Consider the matrix grammar

 

where   is a collection containing the following matrices:

 

These matrices, which contain only context-regular rules, generate the context-sensitive language

 

The associate word of   is   and  .

Properties

edit

Let   be the class of languages produced by matrix grammars, and MAT the class of languages produced by  -free matrix grammars.

  • Trivially, MAT is included in  .
  • All context-free languages are in MAT, and all languages in   are recursively enumerable.
  • MAT is closed under union, concatenation, intersection with regular languages and permutation.
  • All languages in MAT can be produced by a context-sensitive grammar.
  • There exists a context-sensitive language which does not belong to   [2].
  • Each language produced by a matrix grammar with only one terminal symbol is regular.

Open problems

edit

It is not known whether there exist languages in   which are not in MAT, and it is neither known whether   contains languages which are not context-sensitive [3].

References

edit
  1. ^ Salomaa, Arto (March 1972). "Matrix grammars with a leftmost restriction" (PDF). Information and Control. 20 (2): 143–149. doi:10.1016/S0019-9958(72)90332-4.

Footnotes

edit
  • ^ Ábrahám, S. Some questions of language theory. International Conference on Computational Linguistic, 1965. pp 1–11. [4]
  • ^ Gheorghe Păun, Membrane Computing: An Introduction, Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2002. pp 30–32