Gramática matricial

Origem: Wikipédia, a enciclopédia livre.

Uma gramática matricial é uma gramática formal na qual ao invés de produções individuais, as produções são agrupadas em sequências finitas. Uma produção não pode ser aplicada separadamente, devendo ser aplicada em sequência. Na aplicação de uma sequência de produções, a reescrita é feita de acordo com cada produção em sequência: primeira produção, segunda e assim por diante até que a última produção seja utilizada para reescrita. A sequência é referenciada como matrizes.

Gramática matricial é uma extensão de gramática livre de contexto, e uma instância de gramáticas controladas.

Definição formal[editar | editar código-fonte]

Uma gramática matricial é uma 4-upla ordenada

onde

  • é o conjunto finito de não-terminais
  • é o conjunto finito de terminais
  • é um elemento especial de , também chamado de símbolo inicial
  • é o conjunto finito de sequências não vazias cujo elementos são pares ordenados

Os pares são chamados de produções, escritas como . As sequências são chamadas de matrizes e podem ser escritas como

Seja o conjunto de todas as produções que aparece nas matrizes de uma gramática . Então, a gramática matricial é do tipo-, comprimento crescente, linear, -livre, livre de contexto ou sensível ao contexto se e somente se a gramática tem a seguinte propriedade.

Para uma gramática matricial , uma relação binária é definida; também representada como . Para qualquer , é verdade se e somente se existir um inteiro tal que as palavras

sobre V existam e

  • e
  • é uma das matrizes de
  • e

Se as condições acima são satisfeitas, então também pode-se dizer que é verdade com seguindo as especificações.

Seja um fechamento transitivo reflexivo de uma relação . Então, a linguagem gerada pela gramática matricial é dada por

Exemplo[editar | editar código-fonte]

Considere a gramática matricial

onde é uma coleção contendo as seguintes matrizes:

Essas matrizes, as quais contém apenas regras livres de contexto, geram a linguagem sensível a contexto

Este exemplo pode ser encontrado nas páginas 8 e 9 de [1].

Propriedades[editar | editar código-fonte]

Seja a classe das linguagens produzidas pelas gramáticas matriciais, e a classe das linguagens produzidas por gramáticas matriciais -livres.

  • Trivialmente, está incluso em .
  • Todas gramáticas livre de contexto estão em , e todas as linguagens em são recursivamente enumeráveis.
  • é fechada sob união, concatenação, interseção com linguagens regulares e permutação.
  • Todas as linguagens em podem ser produzidas por uma gramática sensível ao contexto.
  • Existe uma linguagem sensível ao contexto que não pertence a [2].
  • Cada linguagem produzida por uma gramática com apenas um símbolo terminal é regular.

Problemas em aberto[editar | editar código-fonte]

Não se sabe existem linguagens que estão em mas que não estão em , e também não se sabe se contém linguagens que não são sensíveis ao contexto [3].

Referências[editar | editar código-fonte]

  • Á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