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.

5.2. DEFINICIONES 77El segundo tipo <strong>de</strong> movida, llamado movida vacía (movida- ε), es similar a la anterior, con la excepción<strong>de</strong> que no se usa el símbolo <strong>de</strong> entrada y la cabeza lectora no se avanza. Este segundo tipo <strong>de</strong> movidaspermite al AA manipular el stack sin consumir símbolos <strong>de</strong> entrada.Finalmente se <strong>de</strong>be <strong>de</strong>finir el lenguaje que acepta un AA. Hay dos formas naturales <strong>de</strong> hacerlo. Laprimera, que ya se ha sugerido, es <strong>de</strong>finir el lenguaje aceptado como el conjunto <strong>de</strong> todos los inputs parael cual alguna secuencia <strong>de</strong> movidas hace que el autómata vacíe su stack. Este es el lenguaje aceptado porstack vacío.La segunda forma <strong>de</strong> <strong>de</strong>finir el lenguaje aceptado es similar a la forma en que un AF acepta strings. Estoes, se <strong>de</strong>signa a algunos estados como estados finales y se <strong>de</strong>fine el lenguaje aceptado como el conjunto <strong>de</strong>todos los strings <strong>de</strong> entrada para los cuales alguna secuencia <strong>de</strong> movidas hace que el AA entre a un estadofinal.Como se verá, las dos <strong>de</strong>finiciones <strong>de</strong> aceptación son equivalentes en el sentido que si un conjunto esaceptado por stack vacío por algún AA, entonces es aceptado por estado final por algún otro AA, y viceversa.Aceptación por estado final es la noción más común, pero es más fácil probar el teorema básico para losautómatas apiladores usando aceptación por stack vacío. Ese teorema dice que un lenguaje es aceptado porun AA si y sólo si es un lenguaje libre <strong>de</strong> contexto.Formalmente, un autómata apilador M es una séxtupla (Q, Σ, Γ, δ, q 0 , Z 0 , F ) en queQ es un conjunto finito <strong>de</strong> estadosΣ es el alfabeto <strong>de</strong> entradaΓ es el alfabeto <strong>de</strong>l stackq 0 es el estado inicial (q 0 ∈ Q)Z 0es un símbolo especial <strong>de</strong>l stack (Z 0 ∈ Γ), llamado símbolo inicialF ⊆ Q es el conjunto <strong>de</strong> estados finalesδ es una función <strong>de</strong> Q × (Σ ∪ ε) × Γ a 2 Q×Γ∗ (subconjuntos finitos <strong>de</strong> Q × Γ ∗ )Por convención se usarán letras minúsculas <strong>de</strong>l comienzo <strong>de</strong>l alfabeto para los símbolos <strong>de</strong> entrada y <strong>de</strong>lfinal <strong>de</strong>l alfabeto para strings <strong>de</strong> símbolos <strong>de</strong> entrada. Letras mayúsculas serán símbolos <strong>de</strong>l stack y letrasgriegas indican strings <strong>de</strong> símbolos <strong>de</strong>l stack.La interpretación <strong>de</strong>δ(q, a, Z) = {(p 1 , γ 1 ), (p 2 , γ 2 ), . . . , (p M , γ M )}en que q y p i , (1 ≤ i ≤ M) son estados en Q, a ∈ Σ, Z ∈ Γ y γ i ∈ Γ ∗ , (1 ≤ i ≤ M), es que el autómataapilador en estado q, viendo el símbolo <strong>de</strong> entrada a y teniendo a Z en el tope <strong>de</strong>l stack pue<strong>de</strong>, para cualquieri, entrar a estado p i , reemplazar el símbolo Z por el string γ i en el stack y avanzar un lugar la cabeza <strong>de</strong>lectura. Se adopta la convención que el símbolo más a la izquierda en γ i será el que queda al tope <strong>de</strong>l stack.Nótese que no es posible elegir un estado p i y un string γ j , para j ≠ i, en una sola movida.La interpretación <strong>de</strong>δ(q, ε, Z) = {(p 1 , γ 1 ), (p 2 , γ 2 ), . . . , (p M , γ M )}es que el autómata en estado q, in<strong>de</strong>pendientemente <strong>de</strong>l símbolo <strong>de</strong> entrada y teniendo Z al tope <strong>de</strong>l stack,pue<strong>de</strong> entrar al estado p i y reemplazar Z por γ i , para cualquier i, 1 ≤ i ≤ M. En este caso, la cabeza lectorano es movida.Ejemplo 66 Descripción formal <strong>de</strong>l autómata apilador que acepta {wcw r /w ∈ {0, 1} ∗ } por stack vacío.M = ({q 1 , q 2 }, {0, 1, c}, {A, V, R}, δ, q 1 , R, ∅)

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

Saved successfully!

Ooh no, something went wrong!