11.07.2015 Views

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

76 CHAPTER 5.ACEPTACIÓN Y GENERACIÓN DE LENGUAJES LIBRES DE CONTEXTO3. Si el símbolo <strong>de</strong> entrada es una c y el control está en estado q 1 , el control cambia a estado q 2 sinmodificar el stack.4. Si el símbolo <strong>de</strong> entrada es un 0 y el dispositivo está en estado q 2 con una bolita azul (que representa un0) en el tope <strong>de</strong>l stack, la bolita es removida <strong>de</strong>l stack. Si el símbolo <strong>de</strong> entrada es un 1 y el dispositivoestá en estado q 2 con una bolita ver<strong>de</strong> (que representa un 1) en el tope <strong>de</strong>l stack, la bolita también esremovida <strong>de</strong>l stack. En ambos casos el control permanece en estado q 2 .5. Si el dispositivo está en estado q 2 y hay una bolita roja en el tope <strong>de</strong>l stack, la bolita es removida sinesperar input.6. Para todos los casos no <strong>de</strong>scritos anteriormente, el autómata no pue<strong>de</strong> moverse.Las reglas <strong>de</strong> operación prece<strong>de</strong>ntes están resumidas en la siguiente tabla:Color <strong>de</strong> la Bolita Estado <strong>de</strong>l Símbolo <strong>de</strong> Entradaen el Tope <strong>de</strong>l Stack Control Finito 0 1 cAzul q 1 Poner bolita Azul Poner bolita Ver<strong>de</strong>Permanece en q 1 Permanece en q 1 Cambiar a q 2q 2 Remover bolitaPermanece en q 2Ver<strong>de</strong> q 1 Poner bolita Azul Poner bolita Ver<strong>de</strong>Permanece en q 1 Permanece en q 1 Cambiar a q 2q 2Remover bolita Ver<strong>de</strong>Permanece en q 2Roja q 1 Poner bolita Azul Poner bolita Ver<strong>de</strong>Permanece en q 1 Permanece en q 1 Cambiar a q 2Sin esperar input remover bolita <strong>de</strong>l Stackq 2Se dice que el dispositivo así <strong>de</strong>scrito acepta un string si al procesar el último símbolo <strong>de</strong>l string, el stack<strong>de</strong> bolitas se vacía. Nótese que una vez vacío el stack, no más movidas son posibles.Esencialmente el dispositivo anterior funciona <strong>de</strong> la siguiente forma. En estado q 1 el dispositivo construyeuna imagen <strong>de</strong> su input, poniendo una bolita azul por cada 0 y una ver<strong>de</strong> por cada 1 en el string <strong>de</strong> entrada.Cuando el input es una c el autómata entra a estado q 2 . A continuación, el input es comparado con el stackal remover una bolita azul por cada 0 y una ver<strong>de</strong> por cada 1. Si la bolita es <strong>de</strong> color equivocado respecto<strong>de</strong>l símbolo <strong>de</strong> entrada, el autómata se <strong>de</strong>tiene sin procesar más input. Si todas las bolitas correpon<strong>de</strong>n,la bolita roja que está en el fondo <strong>de</strong>l stack aparece, y es inmediatamente removida. El stack se vacía y elstring es aceptado. Todas las bolitas serán removidas sólo si el string que sigue a la c es el reverso <strong>de</strong>l prefijoanterior a la c.5.2 DefinicionesEn esta sección se formalizará el concepto <strong>de</strong> autómata apilador (AA o PDA por su nombre en inglés). LosAA tendrán una cinta <strong>de</strong> entrada, un control finito y un stack. El stack es un string <strong>de</strong> símbolos tomados<strong>de</strong> algún alfabeto. El símbolo <strong>de</strong> más a la izquierda es el que se consi<strong>de</strong>ra al tope <strong>de</strong>l stack. El dispositivoserá no <strong>de</strong>terminístico, teniendo algún número finito <strong>de</strong> alternativas en cada situación. Las movidas serán<strong>de</strong> dos tipos. El primer tipo utiliza símbolos <strong>de</strong> entrada; <strong>de</strong>pendiendo <strong>de</strong>l símbolo <strong>de</strong> entrada, <strong>de</strong>l símbolo enel tope <strong>de</strong>l stack y el estado <strong>de</strong>l control finito, un número <strong>de</strong> alternativas es posible; cada alternativa consta<strong>de</strong> un próximo estado para el control finito y un (posiblemente vacío) string <strong>de</strong> símbolos para reemplazarel símbolo al tope <strong>de</strong>l stack. Después <strong>de</strong> seleccionar una alternativa, la cabeza lectora avanza al próximosímblo <strong>de</strong>l string <strong>de</strong> entrada.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!