Gramática matricial

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

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

Uma gramática matricial é uma 4-upla ordenada

G=(VN,VT,X0,M).

onde

  • VN é o conjunto finito de não-terminais
  • VT é o conjunto finito de terminais
  • X0 é um elemento especial de VN, também chamado de símbolo inicial
  • M é o conjunto finito de sequências não vazias cujo elementos são pares ordenados
(P,Q),PW(V)VNW(V),QW(V),V=VNVT.

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

m=[P1Q1,,PrQr].

Seja F o conjunto de todas as produções que aparece nas matrizes m de uma gramática G. Então, a gramática matricial G é do tipo-i,i=0,1,2,3, comprimento crescente, linear, λ-livre, livre de contexto ou sensível ao contexto se e somente se a gramática G1=(VN,VT,X0,F) tem a seguinte propriedade.

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

α1,,,αr+1,P1,,Pr,R1,,Rr,,R1,,Rr

sobre V existam e

  • αi=P e αr+1=Q
  • m é uma das matrizes de G
  • αi=RiPiRi e αi+1=RiQiRi.

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

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

L(G)={PW(VT)|X0*P}.

Exemplo

Considere a gramática matricial

G=({S,X,Y},{a,b,c},S,M)

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

[SXY],[XaXb,YcY],[Xab,Yc]

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

L={anbncn|n1}.

Este exemplo pode ser encontrado nas páginas 8 e 9 de Predefinição:Ref.

Propriedades

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

Problemas em aberto

Não se sabe existem linguagens que estão em MATλ mas que não estão em MAT, e também não se sabe se MATλ contém linguagens que não são sensíveis ao contexto Predefinição:Ref.

Referências

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