Está en la página 1de 19

INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de

SAN MARTÍN TEXMELUCAN Educación Pública


Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
Puebla

INSTITUTO TECNOLOGICO SUPERIOR DE SAN MARTIN


TEXMELUCAN.

TEORIA DE LA COMPUTACION

PROFESORA: YESENIA PEREZ REYES.

PORTAFOLIO DE EVIDENCIAS UNIDAD III

JUAN CARLOS CUAPIO TEYSSIER


INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
Puebla

Lenguajes Libres De Contexto

Una gramática libre de contexto en lingüística e informática es una


gramática formal en la que cada regla de producción es de la forma:

V→w

Donde V es un símbolo no terminal y w es una cadena de terminales y/o


no terminales. El término libre de contexto se refiere al hecho de que el
no terminal V puede siempre ser sustituido por w sin tener en cuenta el
contexto en el que ocurra. Un lenguaje formal es libre de contexto si hay
una gramática libre de contexto que lo genera.

Las gramáticas libres de contexto permiten describir la mayoría de los


lenguajes de programación, de hecho, la síntaxis de la mayoría de
lenguajes de programación está definida mediante gramáticas libres de
contexto. Por otro lado, estas gramáticas son suficientemente simples
como para permitir el diseño de eficientes algoritmos de análisis
sintáctico que, para una cadena de caracteres dada determinen como
puede ser generada desde la gramática. Los analizadores LL y LR tratan
restringidos subconjuntos de gramáticas libres de contexto.

La notación más frecuentemente utilizada para expresar gramáticas


libres de contexto es la forma Backus-Naur.

Gramaticas Libres De Contexto


INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
Las gramáticas libres del contexto son de particular Puebla
relevancia
para este propósito, debido a su conveniencia para la
realización de analizadores sintácticos. Sin embargo, las
gramáticas libres del contexto tienen algunas limitaciones, ya que no
pueden modelar todos los fenómenos gramaticales presentes en los
lenguajes naturales.

Por ejemplo, una gramática libre del contexto no puede prevenir, por sí
sola, la formación de oraciones no-gramaticales, como la frase “Este es
una ejemplos”. El problema estriba en que las gramáticas libres del
contexto no hacen distinciones de dónde aplicar determinados casos,
como singular y plural o masculino y femenino (precisamente por eso
son libres de contexto).

Recientemente se han explorado extensiones a las gramáticas libres del


contexto, que permitan enriquecer su poder expresivo, pero sin perder
las ventajas de su declaratividad. Las gramáticas de rasgos constituyen
una de tales extensiones.

Arboles De Derivación

Existen básicamente dos formas de describir cómo en una cierta


gramática una cadena puede ser derivada desde el símbolo inicial. La
forma más simple es listar las cadenas de símbolos consecutivas,
comenzando por el símbolo inicial y finalizando con la cadena y las
reglas que han sido aplicadas. Si introducimos estrategias como
reemplazar siempre el no terminal de más a la izquierda primero,
entonces la lista de reglas aplicadas es suficiente. A esto se le llama
derivación por la izquierda.

Por ejemplo, si tomamos la siguiente gramática:

: (1) S → S + S

: (2) S → 1

y la cadena “1 + 1 + 1″, su derivación a la izquierda está en la lista [ (1),


(1), (2), (2), (2) ]. Análogamente, la derivación por la derecha se define
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
como la lista que obtenemos si siempre Puebla
reemplazamos
primero el no terminal de más a la derecha. En ese caso, la
lista de reglas aplicadas para la derivación de la cadena
con la gramática anterior sería la [ (1), (2), (1), (2), (2)].

La distinción entre derivación por la izquierda y por la derecha es


importante porque en la mayoría de analizadores la transformación de la
entrada es definida dando una parte de código para cada producción
que es ejecutada cuando la regla es aplicada. De modo que es
importante saber qué derivación aplica el analizador, por que determina
el orden en el que el código será ejecutado.

Una derivación también puede ser expresada mediante una estructura


jerárquica sobre la cadena que está siendo derivada. Por ejemplo, la
estructura de la derivación a la izquierda de la cadena “1 + 1 + 1″ con la
gramática anterior sería:

:S→S+S (1)

:S→S+S+S (1)

:S→1+S+S (2)

:S→1+1+S (2)

:S→1+1+1 (2)

: { { { 1 }<sub>S</sub> + { 1 }<sub>S</sub> }<sub>S</sub> +


{ 1 }<sub>S</sub> }<sub>S</sub>

donde { … }<sub>S</sub> indica la subcadena reconocida como


perteneciente a S. Esta jerarquía también se puede representar
mediante un árbol sintáctico:

/|
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
/| Puebla

/ |

S ‘+’ S

/|\ |

/|\ |

S ‘+’ S ‘1′

| |

‘1′ ‘1′

La derivación por la derecha:

:S→ S + S (1)

:S→ 1 + S (2)

:S→ 1 + S + S (1)

:S→ 1 + 1 + S (2)

:S→ 1 + 1 + 1 (2)

define el siguiente árbol sintáctico:

/|
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
/| Puebla

/ |

S ‘+’ S

| /|

| /|

‘1′ S ‘+’ S

| |

‘1′ ‘1′

Si para una cadena del lenguaje de una gramática hay más de un árbol
posible, entonces se dice que la gramática es ambigua. Normalmente
estas gramáticas son más difíciles de analizar por que el analizador no
puede decidir siempre que producción aplicar.

Conteo de árboles de derivación

‘-Para una gramática libre de contexto G=(V,T,P,s0), su serie generativa


puede hacérse corresponder con una serie en de manera que las
ecuaciones impuestas por las producciones en P se satisfagan también
en . En efecto, a cada símbolo s en asociémosle una incógnita Xs. Sea .
Tratemos ahora el producto de incógnitas como si fuera conmutativo,
pues de hecho lo es en . Con esto, la serie generativa pL de L(G)
corresponde con una serie en . Observamos dos características:

la serie generativa no involucra a los símbolos de V, pues esta serie se


expande hasta la supresión de los símbolos variables, y
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
todas las palabras que son permutaciones de un Puebla
mismo
``multiconjunto’‘ se símbolos corresponden a un mismo
monomio en :

Consecuentemente, el coeficiente de un monomio en la serie es el


número de posibles árboles de derivación derivables en G
correspondientes a una palabra sobre el multiconjunto correspondiente
al monomio. Esta transformación da así un método para contar
derivaciones. Si la gramática no es ambigua, entonces cada palabra del
lenguaje corresponde a un único árbol y, consecuentemente, éste
procedimiento cuenta palabras generadas. Ejemplos. 1. Para la
gramática que genera palíndromas pares ( ) o sea S=aSa+bSb+1
consideremos la correspondencia inducida por

La producción da la ecuación

X=YXY+ZYZ+1=X(Y2+Z2)+1

y por tanto . La serie correspondiente a la serie generativa ha de ser


solución de esta última ecuación. Por tanto, según se vió en la
proposición 6.5.2 de la anterior sección,

Así pues para cada hay posibles árboles para palabras de longitud 2m, y
para cada hay árboles para palabras de longitud 2m con 2k apariciones
del símbolo b. Como la gramática no es ambigua, la cuenta de árboles
correponde a la cuenta de palabras.

2. Para la gramática de cadenas equilibradas de paréntesis [ ] o sea S=()


+(S)+SS consideremos la correspondencia inducida por

La producción da la ecuación

y por tanto . Consideremos por un momento Z=1. Entonces tenemos la


ecuación 6.2 de la sección anterior. Consecuentemente, X tiene dos
soluciones de la forma donde b0=0,1 y

En nuestro caso no hay ninguna paabra equilibrada con 0 paréntesis


derechos. Así pues, el término independiente de la serie generativa debe
ser b0=0. Con esta elección de b0 se tiene determinados a los demás
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
coeficientes bm. Cada uno de ellos da el número de árbolesPuebla
de
derivación de cadenas equilibradas de paréntesis para
formar cadenas equilibradas con m paréntesis derechos.
Como la gramática es ambigua el número de árboles excede el de
cadenas equilibradas.

3. Consideremos la gramática con producciones

El lenguaje generado por la gramática es

La gramática se expresa por la ecuación S=SbS+a y mediante la


correspondencia

se tiene la ecuación X=YX2+1. Al resolverla con la fórmula de Lagrange


6.3 se tiene

Para cada se tiene

Al evaluar en el punto x=1 obtenemos

lo cual significa que para cada m hay derivaciones de la única palabra


(ab)ma generable en la gramática que contiene exactamente m b’s. -‘

Si gustan pueden buscar mas informacion aquí

Formas Normales De Chomsky

EL TEMA Formas Normales De Chomsky SE ENCUENTRA ESPERANDO


TUS CONOCIMIENTOS.

Forma normal de Chomsky

Def.- Una GIC está en Forma normal de Chomsky (FNC) si:


INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
nNo contiene producciones e. nTodas las producciones sonPuebla
de
la forma: wA®a; aÎS. wA®BC; B y C son no terminales.
Observe que todo árbol de derivación para esta forma
normal es binario, excepto para las hojas.

Si G es una GIC y eÏL(G), G puede ser transformada a FNC. Para ello


elimine: nTodas las producciones e. nTodos los símbolos inútiles. nTodas
las producciones unitarias. Una vez realizado lo anterior si A®wÎG, se
puede asegurar que |w|≥1. Si |w|=1, wÎS; si |w|›1, w tendrá terminales y
no terminales. Será necesario eliminar los terminales.

Eliminando terminales para FNC Si se tiene una producción de la forma


A®w, donde w=X 1 X 2?…Xn, donde cada Xi puede ser terminal o no
terminal, se hará lo siguiente: nSi Xi es símbolo terminal, llamado s,
sustituya Xi por un no terminal Cs y añada la producción Cs ® s.
Después de esta transformación, todas las producciones A®w tienen en
w un terminal o una cadena de no terminales.

Eliminando no terminales para FNC Para la última etapa en la


transformación de G a FNC, se deben eliminar las cadenas con más de
dos no terminales del lado derecho de una producción. Para ello, si A®B
1 B 2?…Bn es una producción con n≥2, la reemplazaremos por n-1
producciónes: nA®B 1 D 1? nD1®B 2 D 2? n… nDn-2®Bn-1Bn Donde los
Di serán nuevos terminales.

Ejemplo de FNC Ej.- Considere la siguiente GIC, que no contiene


producciones e, unitarias o símbolos inútiles: nS®bA|aB nA®bAA|aS|a
nB®aBB|bS|b

Ej.- (Cont…) Después de la primer transformación, la gramática se


convierte en: nS®CbA|CaB nA®CbAA|CaS|a nB®CaBB|CbS|b nCa®a
nCb® b

Ej.- (Cont…) Después de la última transformación, la gramática se


convierte en: nS®CbA|CaB nA®Cb D 1?|CaS|a nB®Ca D 2?|CbS|b
nCa®a nCb® b nD1®AA nD2®BB
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
¿Qué hacer si eÎL(G)? Si L contiene e, se puede obtener Puebla
una
GIC en FNC para L-ē y después añadir, la producción S®e.
La gramática resultante estará en FNC exceptuando la
producción e.

FORMA NORMAL DE CHOMSKY

Ejemplo:

Gramática: A → Ac Donde: A - Es un no Terminal A → w Ac - Es la


derivación del no Terminal A

Gramática en Forma Normal de Chomsky: A → AZ A → w Z → c

Pasos para la la transformación de una gramática a la FNC

1º Eliminamos reglas unitarias.

A → Ac A → w

Primero verificamos si en la gramática no hay reglas unitarias que


obstruyan el desarrollo de FNC. Un ejemplo de una regla unitaria seria:

A→XX→z

Como se puede observar, un No Terminal A deriva en otro No Terminal


X, que a su vez deriva en un Terminal z, esto es redundante y por lo
tanto se procede a eliminar el No Terminal X y pasando el Terminal z al
No Terminal A

2º Eliminamos reglas no productivas

Una regla no productiva consiste en un No Terminal que nunca es


accesible desde el No Terminal principal y sus respectivas derivaciones,
del mismo o de las que provoquen sus No Terminal que se encuentren
en su propia derivación. Un ejemplo de una regla no productiva seria:

A → AZ W → X Z → c
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
En el ejemplo anterior el No Terminal W es una reglaPuebla
no
productiva porque no es accesible desde el No Terminal
principal que es A, ni de su derivación correspondiente que
es AZ. Nota: Este paso es omitido en el programa, por lo que no se
verifica si un No Terminal es improductivo, por lo tanto, el usuario debe
asegurarse de no introducir éste tipos de reglas.

3º Se procede a dar el formato correspondiente de la FNC.

La FNC (Forma Normal de Chomsky) sigue dos reglas básicas y únicas


para tener el formato debido, estás son:

1) Un No Terminal solo puede derivarse en otros dos No Terminales.

2) Un No Terminal solo puede derivar en un Terminal.

Para la explicación de estas dos propiedades procedemos con un


ejemplo:

Tenemos la siguiente gramática:

A → cB+ B → q

Nota: La gramática anterior no tiene ni reglas unitarias ni reglas no


productivas, con lo que procedemos con el paso 3º.

Observemos la primera producción:

A → cB+

1) Este No Terminal A deriva en cB+ donde como primer elemento de


esta es un elemento Terminal, entonces procedemos a crear un No
Terminal nuevo con este elemento y se lo agregamos al no Terminal A,
respetando el orden de la gramática.

A → ZB+ Z → c

2) Una de las propiedades para la FNC es que un No Terminal solo puede


derivar en otros dos No terminales, en nuestro ejemplo, tenemos el No
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
Terminal A que deriva en ZB+, este contiene otro Puebla
elemento
terminal más, creamos un nuevo No Terminal para respetar
la propiedad anteriormente descrita.

A → ZY Z → c Y → B+

3) Podemos ver que los No Terminal A y Z cumplen con las propiedades


de la FNC, excepto el No Terminal Y que deriva en un No Terminal y un
Terminal, por lo que procedemos a crear el último No Terminal que
cumpla la FNC.

A → ZY Z → c Y → BX X → +

Por lo que se obtiene como resultado:

A → ZY Z → c Y → BX X → + B → q

ITP. Pinotepa RMNC

Formas Normales De Greibach

Una GLC está en Forma Normal de Greibach (FNG) si todas las ÈN)*.Σ ,
donde a es un símbolo terminal y aÎ(α producciones son de la forma A®a

Una gramática en FNG no puede tener producciones recursivas por la


izquierda.

Por la forma de las producciones, una gramática en FNG sólo .ε puede


generar lenguajes no vacíos que no contengan la

Este problema por favor dar respuesta.

Sea la gram¨¢tica G:
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
A → AB | B | C B → bB | aDX | ¦Ë C → bC | abE |¦Ë D → bB | Puebla
cD E
→ bCX | BCV X → aXC | bBYZ Y → aYb | aE Z → XC | aZY

Escr¨ªbase una gram¨¢tica G¡¯ en forma normalizada de Greibach para


L(G) - {¦Ë}.

La Forma normal de Greibach es un tipo de “estándar” para representar


gramáticas. Si a una gramatica le aplicamos unos determinados
algoritmos que den lugar a que todas sus REGLAS sean de la forma: A →
aCB ó A → a, donde A, B y C son símbolos no terminales y a es un
símbolo terminal entonces tenemos dicha gramatica representada en
forma normal de Greibach. Esto es útil para poder utilizar la gramática
en cuestión en diversos algoritmos.

Eliminacion De Factores Comunes Izquierdos

ELIMINACION DE FACTORES COMUNES IZQUIERDOS

Un automata finito o maquina de estado finito es un modelo matematico


de un sistema que recibe una cadena constituida por simbolos de un
alfabeto y determina si esa cadena pertenece al lenguaje que el
autamata reconoce.

Definicion formal Formalmente, un autoata finito (AF) puede ser descrito


como una 5-tupla (S,W,T,s,A) donde: W es un alfabeto; S un conjunto de
estados; T es la funcion de transicion: ; es el estado inicial; es un
conjunto de estados de aceptacion o finales. Ejemplo 1 w= {0,1}, S =
{S1, S2}, T = (S1,0,{S2});(S1,1,{S1});(S2,0,{S1});(S2,1,{S2}) s = S1 A
= {S1}. Formas de representar un automata finito Ademas de notar un
AF a traves de su definicion formal es posible representarlo a traves de
otras notaciones que resultan mas

Eliminacion Recursividad Izquierda


INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
Tipos de recursividad Puebla

Directa. Una gram¨¢tica G es recursiva si tiene alguna


Directa. Una gram¨¢tica G es recursiva si tiene alguna regla de
producci¨®n que sea recursiva por la izquierda regla de producci¨®n
que sea recursiva por la izquierda

A := A¦Á
Indirecta. Si, a partir de una forma sentencial que Indirecta. Si, a partir
de una forma sentencial que empieza por un no terminal se puede
derivar una nueva empieza por un no terminal se puede derivar una
nueva forma no sentencial donde reaparece al principio el forma no
sentencial donde reaparece al principio el no Terminal.

A¦Á =>* A¦Â¦Á

Directa:
A := A¦Á | ¦Â A := ¦ÂA¡¯

A¡¯ := ¦ÁA¡¯

A¡¯ := ¦Å

Indirecta:

Ordenar no terminales: A1, A2, ¡ An

For i := 1 To n Do

For j := 1 To i ¨C 1 Do

Sustituir cada Ai := Aj ¦Â por Ai := ¦Á1 ¦Â | ¦Á2 ¦Â | ¦Ák ¦Â

donde Aj := ¦Á1 | ¦Á2 | ¡ | ¦Ák producciones actuales de Aj

Eliminar la recursividad directa de Ai

Eliminacion De Ambiguedad
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
Puebla

Una gramática es ambigua si permite construir dos o más


árboles de derivación distintos para la misma cadena. Por lo
tanto, para demostrar que una gramática es ambigua lo único que se
necesita es encontrar una cadena que tenga más de un árbol de
derivación. Una gramática en la cual, para toda cadena generada w,
todas las derivaciones de w tienen el mismo árbol de derivación es no
ambigua. En algunos casos, dada una gramática ambigua, se puede
encontrar otra gramática que produzca el mismo lenguaje pero que no
sea ambigua. Si todas las gramáticas independientes del contexto para
un lenguaje son ambiguas, se dice que el lenguaje es un lenguaje
independiente del contexto inherentemente ambiguo.

Automatas Push Down

.1. AUTÓMATAS DE PILA O PUSH -DOWN (PDA).

Un autómata de pila o Push-Down es un autómata que cuenta con un


mecanismo que permita almacenamiento ilimitado y opera como una
pila.

El autómata de pila (se abrevia PDA de sus siglas en inglés Push-Down


Autómata) tiene una cinta de entrada, un control finito y una pila. La pila
es una cadena de símbolos de algún alfabeto. El símbolo que se
encuentra más a la izquierda se considera como que está en la “cima”.
El dispositivo será no determinístico y tendrá un número finito de
alternativas de movimiento en cada situación ver figura 3.1.

Figura 3.1 Autómata de pila.

Los movimientos serán de dos tipos. En el primer tipo de movimiento se


utiliza un símbolo de entrada. Dependiendo del símbolo de entrada, del
símbolo de la cima y el estado de control finito, es posible un número de
alternativas.
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
Cada alternativa consiste en un estado posterior paraPuebla
el
control finito y una cadena (posiblemente vacía) de
símbolos, para sustituir al símbolo que se encuentra en la
cima de la pila. Después de seleccionar una alternativa, la cabeza de
entrada avanza un símbolo como se ilustra en la figura 3.2.

Para ver el gráfico seleccione la opción “Descargar” del menú superior

Figura 3.2 Avance de un símbolo de entrada (q1, c, B), a un estado


posterior

y sustitución de la cima de la pila (q2, B).

El segundo tipo de movimiento conocido como movimiento e es parecido


al primero, excepto que el símbolo de entrada no se utiliza y la cabeza
de la entrada no avanza después del movimiento. Este tipo de
movimiento permite al PDA manipular la pila sin leer símbolos de
entrada como se muestra en la figura 3.3.

Para ver el gráfico seleccione la opción “Descargar” del menú superior

Figura 3.3 Manipulación de la pila sin leer símbolo de entrada.

Existen dos modos de aceptar un lenguaje por un autómata de


apilamiento. El primero consiste en definir el lenguaje aceptado como el
conjunto de todas las entradas para las cuales una sucesión de
movimientos ocasiona que el autómata de pila vacíe su pila.

La segunda manera es designando algunos estados como estados


finales y definimos el lenguaje aceptado como el conjunto de todas las
entradas para las cuales alguna selección de movimiento ocasiona que
el autómata de pila accese un estado final.

Un autómata de pila M es un sistema (Q, S , G , d , q0, Z0, F), en donde:

Q es un conjunto finito de estados.

S es el alfabeto llamado alfabeto de entrada.


INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
G es el alfabeto, conocido como alfabeto de pila. Puebla

q0 Î Q, es el estado inicial.

Z0 Î G , es el símbolo llamado símbolo inicial.

F Í Q es el conjunto de estados finales.

d es una transformación de Q x (S È a {e }) x G en los subconjuntos


finitos Q x G *.

Sea M=(Q, S , G , d , q0, Z0, F) un autómata de pila. El lenguaje


aceptado por M se denota por L(M) y es el conjunto L(M) = {wÎ S *½
( q0, w, Z0) * (p, e , u ) para pÎ F y uÎ G *}.

Nota: * se usa para denotar los movimientos con un número arbitrario


de pasos, donde * indica “cero o más pasos”.

Obsérvese que la aceptación requiere que M se mueva a un estado final


cuando la cadena w se agote. M puede terminar o no con la pila vacía.
(Sin embargo, obsérvese que cuando la pila se vacía el PDA debe parar,
ya que todas las transiciones requieren un símbolo de pila).

El siguiente ejemplo representa un autómata de pila que acepta a wcwR


mediante un agotamiento de pila M=(Q, S , G , d , q0, Z0, F). Donde:

Q = {q1, q2} q0 = q1

S = {0, 1, C} Z0 = R

G = {R, B, G} F = Æ

y d está definida por:

d (q1, 0, R) = (q1, BR) d (q1, 0, B) = (q1, BB) d (q1, 0, G) = (q1, BG) d


(q1, c, R) = (q2, R) d (q1, c, B) = (q2, B) d (q1, c, G) = (q2, G) d (q2, 0,
B) = (q2, e ) d (q2, e , R) = (q2, e ) d (q1, 1, R) = (q1, GR) d (q1, 1, B) =
(q1, GB) d (q1, 1, G) = (q1, GG) d (q2, 1, G) = (q2, e )
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
Analizando la cadena 01C10 usando el PDA anterior se Puebla
obtiene
lo siguiente:

(q1, 01C10, R) por la regla 1 ® (q1, 1C10, BR) por la regla 10 ® (q1,
C10, GBR) por la regla 6 ® (q2, 10, GBR) por la regla 12 ® (q2, 0, BR)
por la regla 7 ® (q2, e , R) por la regla 8 ® (q2, e , e ) y se agota la pila.

Consideremos el siguiente ejemplo de autómata de pila definido por:

Q = {q1, q2, q3, q4}

S = {a, b}

G = {A,B}

Z0 = A

F = {q4}

q0=q1

y d dado por la siguiente tabla:

Ya que d depende del estado actual, el símbolo de entrada actual y el


símbolo actual de la cima de la pila, la tabla tiene filas que corresponden
a los estados y columnas que corresponden a los pares de símbolos de
entrada y de la pila.

Obsérvese que no hay transiciones para todas las ternas posibles de


estado, símbolo de entrada y símbolo de pila. Por lo tanto, si el PDA pasa
a un estado para el cual no se especifica un estado siguiente y una
acción de la pila para los símbolos actuales de la pila y la entrada, el
PDA no puede volver a realizar ningún movimiento. En particular,
cuando el autómata está en el estado q4, que es el estado de
aceptación, no hay ninguna transición sea cual sea el símbolo de la cima
y de la entrada.

Si el PDA se mueve al estado q2, entonces obsérvese que cada vez que
a aparece en la entrada se apila una B en la pila. El PDA permanece en
INSTITUTO TECNOLÓGICO SUPERIOR DE Secretaría de
SAN MARTÍN TEXMELUCAN Educación Pública
Organismo Público Descentralizado del Gobierno
Del Estado de
del Estado
el estado q2 hasta que se encuentra la primera b y Puebla
entonces
se mueve al estado q3, ninguna b puede preceder a una a.
Finalmente, en el estado q3 sólo se consideran las b’s y,
cuando se encuentra cualquier b, se desapila B de la pila. (Sólo pueden
desapilarse las B’s que fueron apiladas, debido a encontrarse una a en la
entrada).

Las únicas cadenas que acepta el PDA pertenecen al lenguaje an bn È ā,


puesto que son las únicas cadenas de entrada que, una vez que han sido
consumidas, causan que el PDA termine en el estado final q4.

Lenguajes No Regulares

Lenguajes no regulares

•Existen lenguajes que no son regulares y técnicas para demostrarlo: “El


lema de bombeo”

Ejemplo:L ={ 0n1n: n ≥0} no es regular

Idea de la demostración:

•Si L es regular, existe M = (Q, Σ, δ, q0, F) un AFDt que lo reconoce.


Además, M tiene un nofinito de estados.

•Deben existir 0iy 0jcon i ≠j tales que δ*(q0, 0i) = δ*(q0, 0j)

•Esto significa que δ*(q0, 0i1i) = δ*(q0, 0j1i), pero por un lado 0i1i ∈L y
por otro 0j1i ∉L. Llegamos a un contradicción.