Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Elaboración propia
Con la letra “a”, se puede salir de q0 Con la letra “a” puede permanecer en el
Solución:
• El primer asterisco indica que el primer “1” se puede omitir o repetir cuantas
veces se quiera, pero sólo el “1”.
• El segundo asterisco indica que el “1” dentro del paréntesis también se puede
omitir o repetir cuantas veces se quiera, pero sólo el “1”.
• El tercer asterisco indica que todo lo que hay dentro del paréntesis, se puede
omitir o repetir cuantas veces se quiera, o sea “001*”.
En segundo lugar, hay que escribir algunas cadenas que cumplan con la gramática
para que el autómata las acepte.
• 0 • 0001
• 01 • 0001001001
• 000 • 01001110011100111
• 011111 • 01111001001001001
• 0000000 • 01001
• 0100 • 0001001001
• 010000 • 0001110011100111
En tercer lugar, hay que escribir algunas cadenas que no cumplan la gramática para
que el autómata las rechace.
• 1 • 011101110111
• 0101 • 001
• 10110 • 0001110
• 01001110 • 01001001010
• 101010 • 11
Transicione
q0 q1
s
q0 - 0
q1 0 1
El resultado de las cadenas que debe aceptar: Las cadenas que debe rechazar:
Anexo_1_OVA
Si ya comprendiste los ejercicios del OVA 1, llegaste a otro nivel y estás en capacidad
de resolver ejercicios con varias condiciones conectadas con operadores lógicos.
Instrucciones:
URL
Reto formativo 1 autómatas con operadores lógicos
Anexo_Reto_Formativo_1
2.1 Autómata de pila: En inglés, Push Down Automaton PDA. Son autómatas finitos
con un poder adicional de operación porque tienen unidades de memoria. La
memoria de estos autómatas se llama pila debido a que se pueden agregar datos
solamente en el tope de la lista y se pueden extraer los datos solamente desde dicho
tope.
Ilustración 5 Autómata de pila
Elaboración propia
Esta forma de agregar o quitar datos del tope de una lista, obedece a un sistema LIFO
(LAST IN, FIRST OUT). El último que entra es el primero que sale y da origen a lo que
se conoce como “arreglo” o vector en programación.
Son autómatas que reconocen cadenas de lenguajes tipo 2, es decir, lenguajes libres de
contexto. Un autómata de pila, a diferencia de los finitos, tiene tres símbolos en cada
transición: El primero es el símbolo que lee en la cadena de texto, igual que en un
autómata finito; después de una coma, está el símbolo que encuentra en el tope de la
pila; luego de un punto y coma, está el símbolo que deja en el tope de la pila. Los tres
escenarios que se pueden presentar son:
Tabla 7 Tope de pila
Los autómatas de pila, terminan exitosamente el proceso cuando se cumplen estas tres
condiciones:
● Lee toda la cadena.
● Llega a un estado final.
● La pila queda vacía.
En ambos casos, la pila debe quedar Ilustración 6 Opciones del Autómata de pila
vacía y la cadena debe llegar al final.
2.2 Entrenamiento para expresiones gramaticales libres de contexto. A
continuación, encontrarás algunos ejercicios resueltos.
Solución:
Agregó tres “X” cuando leyó los tres ceros, pero solamente
desmontó dos “X” y se terminó la cadena de texto.
Transiciones q0 q1 q2
q0 0, λ, X 1, X, λ -
q1 - 1, X, λ λ, Z, Z
q2 - - -
d. Simulación.
Después de tener el autómata de pila, puedes verificar que se acepten las cadenas que
cumplen con la gramática. En este ejemplo, se usó el simulador JFLAP, en la opción de
“Push Down”, usando la siguiente ruta:
Transiciones q0 q1 q2 q3
q0 a, X, λ, a, X, λ - -
q1 - - b, X, λ λ, Z, Z
q2 - b, λ, λ - -
q3 - - - -
Transiciones q0 q1 q2 q3 q4
q0 a, λ, X a, λ, X - - -
q1 - - b, λ, λ - λ, Z, Z
q2 - - - b, λ, λ -
q3 - b, X, λ - - -
q4 - - - - -
Solución 1: Por cada cuatro “a” que lee, monta una “X” a la pila. Por cada “b” que lee,
quita una “X” de la pila. Una vez lea la primera “b”, no puede volver a leer otra “a”.
Solución 2: Existe otra solución, que, aunque funciona como autómata en la simulación,
podría presentar problemas a la hora de escribir un código, debido a que no es lo mismo
tener un arreglo con cuatro posiciones y en cada una de ellas la variable “X”, o sea, P=
[“X”, “X”, “X”, “X”], que una variable P= “XXXX”.
2.3 Palíndromos. Un palíndromo es una palabra o frase que se lee igual de derecha a
izquierda que de izquierda a derecha.
Solución:
Solución:
El autómata para leer palíndromos siempre será el mismo, solamente cambia la cantidad
de elementos de los dos alfabetos. Debe haber un elemento del alfabeto de la pila por
cada elemento del alfabeto del lenguaje.
Σ= (), o Σ= [], () o Σ= {}, [], (). El palíndromo obliga a cerrar todos los paréntesis, corchetes
o llaves que se abren y en el orden correcto. Pero se puede tener palíndromos
compuestos, es decir, un palíndromo seguido de otro y el autómata debe poder
reconocerlos, por ejemplo, (())().
Las dos primeras cadenas son palíndromos simples. Las tres siguientes son cadenas
compuestas de varios palíndromos consecutivos. El cierre correcto de los distintos
niveles de paréntesis se garantiza cada vez que la pila queda vacía.
Varios niveles de paréntesis pueden estar dentro de corchetes, pero los corchetes no
pueden estar dentro de los paréntesis.
Un palíndromo puede tener varios niveles de corchetes, pero debe tener al menos un
juego de paréntesis en el interior. Es decir, no acepta palíndromos que solamente tengan
corchetes.
Ilustración 17 Solución de palíndromos consecutivos con paréntesis y corchetes
Puedes observar que las cadenas [([])] y ([]), son palíndromos. Sin embargo, los rechaza
porque contienen corchetes dentro de paréntesis.
Instrucciones:
Te invito a realizar la EA2 sobre autómatas de pilas para ponerte a prueba sobre
lo aprendido respecto al concepto de memoria en un algoritmo.
Anexo_4_EA2_Automátas_Pilas
Anexo_5_Rúbrica_EA2
Cierre
Nota: Una vez terminado el desarrollo de la Unidad, escriba un párrafo que
invite al estudio de la siguiente unidad. Si es la última unidad, escriba un párrafo de
cierre de la asignatura o módulo. Que sea motivacional y que los invite a aplicar lo
aprendido en su contexto.
Bibliografía
Escriba las referencias que utiliza en el desarrollo de contenidos de la unidad, de
acuerdo con las normas APA Séptima Edición. Ejemplo:
Duart, J. M. (2002). Educar en valores en entornos virtuales de
aprendizaje: realidades y mitos. Revista Apertura, (2), 58-64. Disponible
enhttp://www.udgvirtual.udg.mx/apertura/index.php/apertura4/article/viewFi
le/738/457
Cueva Lovelle, J.M; Izquierdo Castanedo, R; Luengo Díez, M. C; Ortín Soler, F; Labra
Gayo, J.E. (2003) Lenguajes, Gramáticas y Autómatas en Procesadores de Lenguaje.
Ed. SERVITEC. Universidad de Oviedo.
Hopcroft, J., & Ullman, J. (1969). Their Formal Languages Relation to Automata.
Recuperado de: https://openlibra.com/es/book/formal-languages-and-their-relation-to-
automata
Hurtado, J. A., & Kantor, R., & Luna, C., & Sierra, L., & Zanarini, D. (2014). Temas de
Teoría de la Computación . Recuperado de:
https://openlibra.com/es/book/download/temas-de-teoria-de-la-computacion