Autómatas de Pila

Post on 23-Jun-2015

703 views 14 download

Transcript of Autómatas de Pila

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

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.

DIFERENCIA

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: #.

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.

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.

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

EJEMPLO:

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

EJEMPLO:

(0, λ, λ; 1, #)

0 λ, λ; # 1

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.

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.

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.

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.

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:

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; λ

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λ, λ; λ

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

DIFERENCIA

1 2

X, λ; X

Y, X; λ

Y, X; λ

1 2

X, λ; X

Y, X; λ

Y, X; λ

iλ, λ; #

pλ, λ; λ

λ, X; λ

qλ, #; λ

q

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

GRAMÁTICAS INDEPENDIENTES DEL CONTEXTO