Gramatica matricial

De testwiki
Revisión del 02:32 7 nov 2019 de imported>BOT-Superzerocool (PR:CW: <math> sin cerrar correctamente; cambios superficiales)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Una gramática matricial es una gramática formal en la que en lugar de producciones individuales, las producciones se agrupan en secuencias finitas. Una producción no puede aplicarse por separado, debe aplicarse en secuencia. En la aplicación de dicha secuencia de producciones, la reescritura se realiza de acuerdo con cada producción en secuencia, la primera, la segunda, etc. hasta que la última producción se haya utilizado para la reescritura. Las secuencias se conocen como matrices.

La gramática matricial es una extensión de la gramática libre de contexto y una instancia de una gramática controlada.

Definición formal

Una gramática matricial es un cuádruplo ordenado

Dónde

  • VN es un conjunto finito de no terminales
  • VT es un conjunto finito de terminales
  • X0 es un elemento especial de VN, viz. el símbolo inicial
  • M es un conjunto finito de secuencias no vacías cuyos elementos son pares ordenados
(P,Q),PW(V)VNW(V),QW(V),V=VNVT.

Los pares se llaman producciones, escritas como . Las secuencias se llaman matrices y se pueden escribir como

Sea F el conjunto de todas las producciones que aparecen en las matrices m de una gramática matricial G. Entonces la gramática matricial G es de tipo-i,i=0,1,2,3, longitud creciente, lineal, λ-free, libre del contexto o sensible al contexto si y solo si la gramática G1=(VN,VT,X0,F) tiene la siguiente propiedad.

Para una gramática matricial G, una relación binaria G es definida; también representado como . Para cualquier P,QW(V), PQ contiene si y solo si existe un número entero r1 de tal manera que las palabras

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

sobre V existen y

  • αi=P y αr+1=Q
  • m es una de las matrices de G
  • αi=RiPiRi y αi+1=RiQiRi.

Si se cumplen las condiciones anteriores, también se dice que PQ sostiene con (m,R1) como las especificaciones .

Sea * el cierre transitivo reflexivo de la relación . Entonces, el lenguaje generado por la gramática de la matriz G viene dado por:

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

Ejemplo

Considerar la gramática matricial

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

donde M es una colección que contiene las siguientes matrices:

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

Estas matrices, que contienen solo reglas "libres del contexto" generan el lenguaje "sensible al contexto"

L={anbncn|n1}.

Este ejemplo se puede encontrar en las páginas 8 y 9 de "Ábrahám, S. Some questions of language theory".

Propiedades

Sea MATAλ la clase de lenguajes producidos por gramáticas matriciales, y Plantilla:Math la clase de lenguajes producidos por λ-free gramáticas matriciales.

  • Trivialmente, Plantilla:Math está incluido en MATAλ.
  • Todos los lenguajes libres del contexto están en Plantilla:Math,y todos los lenguajes en MATAλ son recursivamente enumerable.
  • Plantilla:Math está cerrado debajo unión, concatenatión, intersectión con lenguajes regulares y permutación.
  • Todos los lenguajes en Plantilla:Math puede ser producido por un gramática sensible al contexto.
  • Existe un lenguaje sensible al contexto que no pertenece a MATAλ.
  • Cada lenguaje producido por una gramática matricial con un solo símbolo de terminal es regular.

Problemas abiertos

No se sabe si existen lenguajes en MATAλ que no están en Plantilla:Math, y tampoco se sabe si MATAλ contiene lenguajes que no son contextuales.

Plantilla:Control de autoridades