Vous êtes sur la page 1sur 13

UNIDAD 2: FASE 2 - DEBATIR Y

DESARROLLAR LOS
EJERCICIOS PLANTEADOS
SOBRE AUTÓMATAS CON PILA
Y GRAMÁTICAS
Actividad Individual Dairo Jose Ortega Fonseca
Autómata a Pila
■ un autómata a pila es una maquina abstracta que consta de tres componentes: una
cadena de entrada, un control finito y una pila. Seguidamente presentaremos una
definición mas moderna en la cual se suprimen las referencias al control finito para
centrase en el componente fundamental de este tipo de autómatas: la pila.
■ Los Autómatas de Pila, que al igual que un Autómata Finito, cuenta con un flujo de
entrada y un flujo 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 de aceptación
■ La principal diferencia es que los Autómatas de pila cuentan justamente con una pila en
donde se puede almacenar información para recuperarla más tarde
■ Los símbolos que pueden almacenarse en esta pila se conocen como símbolos de pila
de la maquina, constituyen un conjunto finito que puede incluir algunos símbolos
definiendo el alfabeto de la maquina y quizá algunos símbolos adicionales que se
utilizan como marcas internas.
■ Si una maquina inserta un símbolo especial en la pila antes de efectuar algún otro
cálculo, entonces ese símbolo en la cima de la pila puede usarse como indicador de pila
vacía para cálculos posteriores, dicho símbolo es #
Autómata a Pila
■ Características
■ La Pila funciona de manera que el último carácter que se almacena
en ella es el primero en salir (ordenLIFO).
■ Un aspecto crucial de la pila es que sólo podemos modificar el “tope”
de la pila, que es el extremo por donde entran o salen los caracteres.
■ Los caracteres a la mitad de la pila no son accesibles sin quitar antes
los que están encima de ellos
■ La pila tendrá un alfabeto propio que puede o no coincidir con el
alfabeto de la palabra de entrada.
■ Esto se justifica porque puede ser necesario introducir en la pila
caracteres especiales usados como separadores según las
necesidades de diseño del autómata
Autómata a Pila
■ Principio de Pre Análisis
Técnica que permite a los autómatas de pila observar uno o
varios símbolos más allá de donde se encuentra la cabeza
lectora del autómata, pero sin leerlos realmente.
Esta técnica permite superar el no determinismo de algunos
autómatas de pila.
Autómata a pila por vaciado
■ DEFINICIÓN:
■ En un APV es un método de aceptación del lenguaje
libre de contexto el cual se caracteriza por que una
palabra se acepta si cuando se termina de leer la
entrada la pila se queda vacía.
■ CARACTERISTICAS Y PROPIEDADES:
■ Para todo P= (Q, Σ, Γ, δ, q 0, Z 0) se define el
lenguaje que acepta como N M ={ω ∈ σ ∗ :(q0, ω,
Z0)├∗ p,λ,λ ,p ∈ K}.
Autómata a pila por estados finales
■ DEFINICIÓN:
■ En un APF es un método de aceptación del lenguaje libre de contexto el cual
se caracteriza por que una palabra es aceptada, si se puede llegar a un
estado final después de consumir la entrada .
■ Un AP= (Σ, Γ, Q, A0, q0, f, F) puede reconocer palabras del alfabeto de
entrada de dos formas distintas:
■ - por estado final:
■ LF(AP) = {x | (q0, x, A0) ├* (p, λ, X), con p∈F, X∈Γ*}
■ - por vaciado de pila :
■ LV(AP) = { x | (q0, x, A0) ├* (p, λ, λ) con p∈Q}
■ LF(AP) y LV(AP) representan a los lenguajes reconocidos por el autómata AP
por estado final y por vaciado de pila respectivamente.
■ Cuando la aceptación se realiza por vaciado de pila, el conjunto de estados
finales F es irrelevante.
Que es una gramática
■ El análisis lingüístico de una Lengua L tiene como propósito
fundamental establecer una delimitación entre las cadenas
gramaticales que son oraciones de L y las agramaticales que no son
oraciones de L, y estudiar seguidamente la estructura de las
secuencias gramaticales. Por cadenas gramaticales entendemos
aquellas que son aceptables para un hablante nativo. El objetivo es
construir una Gramática capaz de llevar a cabo la tarea de generar
estas oraciones de un modo efectivo. Una Gramática lograda
(successful) es entonces -para Chomsky- un ingenio que genere todas
las secuencias gramaticales de L y ninguna de las agramaticales.
■ Por tanto, podemos decir que una Gramática de L es un sistema de
reglas que especifica el conjunto de oraciones de L y asigna a cada
oración una descripción estructural. La descripción estructural de una
oración da cuenta de sus elementos constitutivos y su organización.
Qué características
■ Se dice que una gramática es ambigua cuando, para una cadena determinada, existe mas de un
árbol de derivación
■ IMPORTANTE: la única forma de saber si una gramática es ambigua es encontrando una cadena
con más de un árbol de derivación, no hay otra forma
■ Ejemplo:
■ E → E opsuma E E → num
■ La cadena “2+3-4” tiene dos ´arboles de derivación, y la cadena “2+3-4+5” tiene más de dos
´arboles (¿cuantos?)
■ Una gramática se dice que es recursiva por la izquierda si tiene al menos una regla de esta forma:
■ E → E opsuma T
■ De forma similar, una gram´atica puede presentar recursividad por la derecha:
■ E → T opsuma E
■ Una gram´atica se dice que tiene factores comunes por la izquierda si tiene en al menos dos
reglas (con la misma parte izquierda) s´ımbolos comunes al principio de la parte derecha de la
regla:
■ A→BaC A→Bad ...
Qué tipo de gramáticas existe
■ Según la forma de las producciones, las gramáticas se clasifican en:
■ Regulares: en la parte izquierda solo hay un no terminal, y la parte
derecha puede haber:
■ no terminal → terminal
■ no terminal → terminal no terminal
■ no terminal → ε
■ Independientes del contexto (context-free): en la parte izquierda solo
hay un no terminal, en la parte derecha no hay restricciones
■ Dependientes del contexto: en la parte izquierda puede haber
terminales y no terminales, pero al menos debe haber un no terminal,
y la longitud de la parte derecha debe ser mayor o igual que la de la
parte izquierda
■ No restringidas
Qué tipo de gramáticas existe
■ En los compiladores se utilizan solamente gramáticas regulares
y gramáticas independientes del contexto (GIC)
■ Las gramáticas regulares se utilizan para especificar los tokens
(en realidad, se utilizan expresiones regulares, pero son
equivalentes)
■ Las GIC se utilizan para especificar la sintaxis de las
construcciones del lenguaje fuente
■ En los lenguajes de programación hay restricciones semánticas
(p.ej. es necesario haber declarado una variable antes de
utilizarla), que hacen que en realidad los lenguajes de
programación sean lenguajes sensibles al contexto, pero no se
utilizan gramáticas sensibles al contexto, se utilizan GIC a las
que se añaden acciones para la comprobación de las
restricciones semánticas.
Realice un ejemplo de autómata a Pila de autoría
propia
AP que acepte {𝑎1 𝑏𝑖 : i ≥ 0}
■ AP=(Q,Σ,Γ,δ, 𝑞0 , 𝑧0 ,F)
■ Q={𝑞0 , 𝑞1 }Conjunto de Estados
■ Σ={a, b} Alfabeto de Entrada
■ Γ={A} Alfabeto de Pila
■ 𝑞0 Estado inicial
■ 𝑧0 Símbolo inicial de la Pila
■ F={𝑞0 , 𝑞1 } Conjunto de Estados Finales
■ δ Regla Transiciones
Realice un ejemplo de autómata a Pila de autoría
propia
■ Métodos
■ δ(𝑞0 , a, λ) → (𝑞0 , A)
■ δ(𝑞0 , b, A) → (𝑞1 , λ)
■ δ(𝑞1 , b, A) → (𝑞1 , λ)
BIBLIOGRAFIA
■ Gramáticas. Procesamiento de Lenguajes (PL) Curso
2014/2015 extraído de:
https://www.dlsi.ua.es/asignaturas/pl/downloads/1415/gr
amaticas.pdf
■ ABC Color. Lengua y gramática en Chomsky. Extraído de:
http://www.abc.com.py/edicion-
impresa/suplementos/cultural/lengua-y-gramatica-en-
chomsky-679727.html
■ Grupo de Inteligencia Artificial. Autómatas a pila. Extraído
de:
http://www.ia.urjc.es/grupo/docencia/automatas_itis/apun
tes/capitulo11.pdf

Vous aimerez peut-être aussi