Sie sind auf Seite 1von 3

Curso: Teora de Lenguajes y Autmatas Grupo: B

Nombre: Milagros Yesenia Quispe Condori Cdigo: 161462


Fecha: 16 / 10 / 2017

JERARQUIA DE CHOMSKY

En lingstica la jerarqua de Chomsky es una clasificacin jerrquica de distintos tipos de gramticas


formales que generan lenguajes formales.

En 1956 Noam Chomsky publica Three models for the description of language, un trabajo en el que
se describen las propiedades de los tipos de lenguajes formales y correspondientes gramticas en
relacin a su complejidad computacional. Segn Chomsky, los tipos de lenguajes formales pueden
dividirse en tres: de estados finitos (o regulares), de estructura de frase (o libres de contexto) y
transformaciones (o sensibles al contexto). Tal clasificacin es conocida como jerarqua de Chomsky.
El principal objetivo de Chomsky y su jerarqua era demostrar que los dos primeros tipos de
gramticas son incapaces de dar cuenta, de manera simple y general, de la complejidad de las lenguas
naturales. En particular, Chomsky demostr que el ingles presenta propiedades que no pueden ser
reflejadas ni por gramticas de estados finitos ni por gramticas de estructura de frase.

En s, Chomsky clasific las gramticas en cuatro grandes grupos: G0, G1, G2 y G3. Cada uno de estos
grupos incluye las gramticas del siguiente, de acuerdo con el siguiente esquema:

G3 G2 G1 G0

1. Gramticas tipo 0
Las reglas de produccin tienen la forma
u ::= v
donde u + , v *, u = xAy con x *, y *, A N sin otra restriccin
En las reglas de produccin:
o La parte izquierda no puede ser la palabra vaca.
o En la parte izquierda (u) ha de aparecer algn smbolo no
terminal.
Los lenguajes representados por estas gramticas reciben el nombre de lenguajes sin
restricciones. Puede demostrarse que todo lenguaje representado por este tipo de
gramticas pueden ser descritos tambin por un grupo de gramticas un poco ms
restringido (llamado de gramticas de estructura de frases), cuyas producciones
tienen la forma xAy ::= xvy, donde x, y, v *, siendo A un smbolo no terminal.
Ya que v puede ser la palabra vaca, se sigue que en estas reglas podemos encontrar
situaciones en que la parte derecha sea ms corta que la izquierda. Las reglas en que
ocurre esto se denominan compresoras. Una gramtica que contenga al menos una
regla compresora se denomina gramtica compresora.
En las gramticas compresoras, las derivaciones pueden ser decrecientes, ya que la
longitud de las palabras puede disminuir en cada uno de los pasos de derivacin.
Ejemplo: sea G = ({a, b}, {A, B, C}, A, P), donde P:
A ::= aABC | abC
CB ::= BC
bB ::= bb
bC ::= b
Esta gramtica es de tipo 0, no es de estructura de frases por la regla CB ::= BC
Formas de considerarla:
Considerando x = , A = C, y = B. Estara formada la parte izquierda de la
produccin, pero la derecha ser vB y sea cual sea v, no podr ser BC
Considerando x = C, A = B, y = . As tendramos formada la parte
izquierda de la regla, pero en la derecha tendramos Cv, y sea v lo que sea
no podremos obtener CB.
Ya no es posible hacer ninguna otra descomposicin, por lo que esta regla
no pertenece al esquema de reglas visto para las gramticas de estructura
de frases.
Para la produccin : A ::= aABC:
A = A, x= , y =. Si hacemos v = aABC, la regla se ajusta al formato
considerado.
Sin embargo la regla CB ::= BC puede descomponerse en las cuatro reglas siguientes,
que permiten obtener las mismas derivaciones con ms pasos, pero ajustndose a las
condiciones exigidas para que la gramtica sea de estructura de frases.
CB ::= XB XB ::= XY XY ::= BY BY ::= BC
La gramtica resultante, tendr 3 reglas de produccin ms y dos smbolos
adicionales (X, Y) en el alfabeto de smbolos no terminales.
Veamos la derivacin de la sentencia aaabbb, mediante la gramtica original :
A a(A)BC aa(A)BCBC aaab(CB)CBC aaa(bB)CCBC aaab(bC)CBC
aaab(bC)BC aaab(bB)C aaabb(bC) aaabbb
Se observa tambin que la gramtica es compresora, debido a la presencia de la
regla bC ::= b.
Puede comprobarse que el lenguaje generado por esta gramtica es {anb n|n=1,2,..}

1. Gramticas tipo 1
Las reglas de produccin de esta gramtica tienen la forma xAy ::= xvy
donde x, y *, v + y A ha de ser un smbolo no terminal. (A puede transformarse
en v slo si aparece en el contexto definido por x e y)
Ya que v no puede ser la palabra vaca, se deduce de aqu que este tipo de gramticas
no pueden tener reglas compresoras. Se admite una excepcin en la regla S ::= (siendo
S el axioma de la gramtica). Como consecuencia se tiene que la palabra vaca pertenece
al lenguaje generado por la gramtica slo si contiene esta regla.
Los lenguajes generados por este tipo de gramticas se denominan dependientes del
contexto.
Evidentemente todas las gramticas de tipo 1 son tambin de tipo 0, y as, todos los
lenguajes dependientes de contexto sern tambin lenguajes sin restricciones.
Ejemplo: G = ({S, B, C}, {a, b, b}, S,P), donde P es:
S ::= aSBc | aBC bB ::= bb bC ::= bc CB ::= BC cC ::= cc
aB ::= ab

1. Gramticas tipo 2

Las reglas de estas gramticas se ajustan al siguiente esquema: A ::= v donde v *, y A


N En concreto v puede ser .
Para toda gramtica de tipo 2 existe una gramtica equivalente desprovista de reglas de
la forma A ::= , que generar el mismo lenguaje que la de partida, excepto la palabra
vaca. Si se le aade a la segunda gramtica la regla S ::= , las gramticas generarn el
mismo lenguaje.

Por lo tanto, se pueden definir las gramticas de tipo 2 de una forma ms restringida, en
el que las reglas de produccin tendrn la siguiente forma A ::= v donde v + , y A
N . Adems podrn contener regla S ::=
Los lenguajes generados por este tipo de gramticas se denominan independientes de
contexto, ya que la conversin de A en v puede realizarse independientemente del
contexto en que aparezca A.

La mayor parte de los lenguajes de programacin de ordenadores pueden describirse


mediante gramticas de este tipo.
Ejemplo : sea la gramtica G = ({a, b}, {S}, S, { S ::= aSb | ab}). Es una gramtica de tipo 2.
La derivacin de la palabra aaabbb ser: S aSb aaSbb aaabbb Puede verse que
el lenguaje definido por esta gramtica es {anb n | n=1, 2, ...}

Un mismo lenguaje puede generarse por muchas gramticas diferentes. Sin embargo, una
gramtica determinada describe siempre un lenguaje nico.

1. Gramticas tipo 3

Estas gramticas se clasifican en los dos grupos siguientes:

Gramticas lineales por la izquierda, cuyas reglas de produccin pueden tener una de
las formas siguientes: A ::= a A ::= Va S ::= donde a T , A, V N, y S es el
axioma de la gramtica.

Gramticas lineales por la derecha, cuyas reglas de produccin tendrn la forma:


A ::= a A ::= aV S ::= donde a T , A, V N, y S es el axioma de la gramtica.

Los lenguajes representados por este tipo de gramticas se denominan lenguajes


regulares.

G1 = ({ 0, 1}, {A, B}, A, { A ::= B1 | 1, B ::= A0}) Gramtica lineal por la izquierda que
describe el lenguaje: L1 = { 1, 101, 10101, ... } = {1(01)n | n = 0, 1, 2, ...}

G2 = ({ 0, 1}, {A, B}, A, { A ::= 1B | 1, B ::= 0A}) Gramtica lineal derecha que genera el
mismo lenguaje que la gramtica anterior.

Das könnte Ihnen auch gefallen