Autómatas de Pila

30
AUTÓMATAS DE PILA …Añadiendo memoria a la máquina conceptual.

Transcript of Autómatas de Pila

Page 1: Autómatas de Pila

AUTÓMATAS DE PILA…Añadiendo memoria a la máquina conceptual.

Page 2: Autómatas de Pila

DEFINICIÓN DE LOS AUTÓMATAS DE PILAAl igual que un autómata finito cuenta con un flujo de entrada y un mecanismo de control que puede encontrarse en uno de entre un número finito de estados. Uno de estos estados se designa como el inicial y por lo menos un estado se designa como estado de aceptación.

Page 3: Autómatas de Pila

DIFERENCIA

Page 4: Autómatas de Pila

Símbolos de pila de la máquina: Símbolos que pueden almacenarse en la pila que constituyen un conjunto finito que puede incluir algunos o todos los símbolos del alfabeto de la máquina y quizá algunos símbolos adicionales que la máquina utiliza como marcas internas.

Indicador de pila vacía: Símbolo especial en la pila antes de efectuar algún otro cálculo posterior. Ejemplo: #.

Page 5: Autómatas de Pila

TRANSICIONES DE UN AUTÓMATA DE PILA

Deben ser variantes de la secuencia básica: Leer un símbolo de entrada,Extraer un símbolo de la pila,Insertar un símbolo de la pila yPasar a un nuevo estado.

Page 6: Autómatas de Pila

Este proceso se representa con la notación

(p, x, s; q, y)Dondep es el estado actual,x es el símbolo de alfabeto que se lee

de la entrada,s es el símbolo que se extrae de la

pila,q es el nuevo estado yy es el símbolo que se inserta en la

pila.

Page 7: Autómatas de Pila

NOTACIÓN

Autómata de Pila

(p, x, s; q, y)

Estado Actual

Símbolo del alfabeto que se lee

Símbolo que se extrae de la pila

Nuevo Estado

Símbolo que se inserta en la pila

Page 8: Autómatas de Pila

EJEMPLO:

(1, λ, λ, 2, #) (3, λ, #, 4, λ)(2, x, λ, 2, x)(2, y, x, 3, λ)(3, y, x, 3, λ)

Page 9: Autómatas de Pila

EJEMPLO:

(0, λ, λ; 1, #)

0 λ, λ; # 1

Page 10: Autómatas de Pila

UN AUTÓMATA DE PILA ES UNA SÉXTUPLA(s,∑,г,T,і,F), donde:

S es una colección finita de estados.

∑ es el alfabeto de la máquina.

Г es la colección finita de símbolos de pila.

T es una colección finita de transiciones.i (un elemento de S) es el estado inicial.F (Un subconjunto de S) es la colección de

estados de aceptación.

Page 11: Autómatas de Pila

APLICACIÓN DE LOS AUTÓMATAS DE PILA

Se pueden utilizar para analizar cadenas, en forma similar a como se usan los autómatas finitos.

Page 12: Autómatas de Pila

La terminología común no hace énfasis en la naturaleza no determinista de los autómatas de pila. Técnicamente, deberían llamarseAutómatas de pila no deterministas.

Los lenguajes aceptados por los autómatas de pila incluyen los lenguajes regulares.

Page 13: Autómatas de Pila

LOS AUTÓMATAS DE PILA ACEPTAN LENGUAJES QUE NO PUEDEN ACEPTAR LOS AUTÓMATAS FINITOS.

Inserción del símbolo de pila vacía. Luego, la máquina extrae una X por cada Y que se lee. Al final extrae absolutamente todos los símbolos.

Page 14: Autómatas de Pila

TEOREMA 2.1

Para cada autómata de pila que acepte cadenas sin vaciar su pila, existe un autómata que acepta el mismo lenguaje pero que vacía su pila antes de llegar a un estado de aceptación.

Demostración:Suponga que M=(s,∑,г,T,і,F) es un autómata de pila que acepta cadenas sin tener que vaciar necesariamente su pila. Podemos modificar M de la manera siguiente:

Page 15: Autómatas de Pila

1. Elimine la designación “inicial” del estado inicial de M. Luego añada un nuevo estado inicial y una transición que permita a M pasar del nuevo estado inicial al anterior a la vez que inserta en la pila un símbolo especial # (que no se encontraba anteriormente en г).

1 2

X, λ; X

Y, X; λ

Y, X; λ

Page 16: Autómatas de Pila

2. Elimine la característica de aceptación de cada estado de aceptación de M. Luego, añada un estado p junto con las transiciones que permiten a la máquina pasar de cada uno de los antiguos estados de aceptación a p sin leer, extraer o insertar un símbolo.

1 2

X, λ; X

Y, X; λ

Y, X; λ

iλ, λ; #

pλ, λ; λ

Page 17: Autómatas de Pila

3. Para cada x en г (sin incluir #), introduzca la transición (p,λ,x;p, λ).

4. Añada un nuevo estado de aceptación q y la transición (p,λ,#;q, λ).

1 2

X, λ; X

Y, X; λ

Y, X; λ

iλ, λ; #

pλ, λ; λ

λ, X; λ

qλ, #; λ

q

Page 18: Autómatas de Pila

DIFERENCIA

1 2

X, λ; X

Y, X; λ

Y, X; λ

1 2

X, λ; X

Y, X; λ

Y, X; λ

iλ, λ; #

pλ, λ; λ

λ, X; λ

qλ, #; λ

q

Page 19: Autómatas de Pila

EJERCICIO:

Diseñe un autómata de pila M tal que L(M)={XnYmXn:m,nЄN}

1 2

X, λ; X

Y, X; Y

Y, X; Y

iλ, λ; # p

λ, λ; λ

λ, Y; λ

λ, #; λq3X, Y;

λ

X,Y; λ

q

Page 20: Autómatas de Pila

GRAMÁTICAS INDEPENDIENTES DEL CONTEXTO

Page 21: Autómatas de Pila
Page 22: Autómatas de Pila
Page 23: Autómatas de Pila
Page 24: Autómatas de Pila
Page 25: Autómatas de Pila
Page 26: Autómatas de Pila
Page 27: Autómatas de Pila
Page 28: Autómatas de Pila
Page 29: Autómatas de Pila