View
9
Download
0
Category
Preview:
Citation preview
Solución a la Calculadora
Y sobre Autómatas Finitos
Definición de autómata finito
• Un autómata finito (AF) o máquina de estado finito es un modelo matemático que realiza cómputos en forma automática sobre una entrada para producir una salida.
• La finalidad de los autómatas finitos es la de reconocer lenguajes regulares, que corresponden a los lenguajes formales más simples.
Definición formal y funcionamiento
wikipedia
En el comienzo del proceso de reconocimiento de una cadena de entrada, el autómata finito se encuentra en el estado inicial y a medida que procesa cada símbolo de la cadena va cambiando de estado de acuerdo a lo determinado por la función de transición. Cuando se ha procesado el último de los símbolos de la cadena de entrada, el autómata se detiene en el estado final del proceso. Si el estado final en el que se detuvo es un estado de aceptación, entonces la cadena pertenece al lenguaje reconocido por el autómata; en caso contrario, la cadena no pertenece a dicho lenguaje.
Representación por medio de diagramas de estado
• Los autómatas finitos se pueden representar mediante diagramas de estado finitos en donde: – Los estados se representan como vértices, etiquetados con
su nombre en el interior.
– Una transición desde un estado a otro, dependiente de un símbolo del alfabeto, se representa mediante una arista dirigida que une a estos vértices, y que está etiquetada con dicho símbolo.
– El estado inicial se caracteriza por tener una arista que llega a él, proveniente de ningún otro vértice.
– El o los estados finales se representan mediante vértices que están encerrados a su vez por otra circunferencia.
Ejemplo
q2 q0 q0
0 1
0
Reconoce las oraciones: 00, 010, 0110, 01110, 011110, ….
Especificación de acciones en diagramas de estados finitos
• En una transición es posible indicar la ejecución de una acción.
Océano Estrella
Matina
Sixaola
Diagrama de estados y acciones
Ocea-no
Estrella Matina Sixaola
Pt / Acción_1 Pt / Acción_2 Pt / Acción_3
Acción_1 a. Abra exclusa 1 b. Coloque el barco
en Estrella c. Cierre exclusa 1 d. Llene Estrella
Acción_2 a. Abra exclusa 2 b. Coloque el barco
en Matina c. Cierre exclusa 2 d. Llene Matina
Acción_3 a. Abra exclusa 3 b. Coloque el barco
en sixaola c. Cierre exclusa 3
Océano Estrella
Matina
Sixaola
Observe la ejecución del siguiente programa bombillo
Construyamos un diagrama de estados. Cuando el bombillo se torna rojo alcanzamos un estado de aceptación.
Nota sobre el código
• Para modificar una variable global dentro de una función en un módulo es necesario indicar:
– global identificador
• Observe que existe una diferencia entre global y nonlocal.
– nonlocal permite modificar el valor de una variable local a una función dentro de una función local a ella.
Ejercicio
Formen grupos de 2 personas y desarrollen un autómata finito que modele el comportamiento de la calculadora.
Recommended