Blog
Una máquina de estado finito o autómata finito es un modelo computacional que realiza operaciones automáticamente sobre una entrada para producir una salida. Está conformado por un diccionario, funciones de transición, un estado inicial y un conjunto de estados finales.
Ejemplo de Máquina de Estado Finito en Python
Primero, es necesario instalar el módulo Fysom en el sistema:
pip install fysom
Se definirá una máquina de estado finito que tenga los estados de un semáforo: Verde, Rojo y Amarillo. Para cambiar de estado se definirán las funciones go(), stop(), precacucion().
import time # Librería o Módulo implementado para llevar el tiempo del semáforo from fysom import Fysom # Libreria o Módulo que contiene las funciones para la máquina semaforo = Fysom({ 'initial': 'verde', # Estado inicial de la máquina. 'events': [ # Lista de transiciones (eventos) de la máquina {'name': 'precaucion', 'src': 'verde', 'dst': 'amarillo'}, {'name': 'stop', 'src': 'amarillo', 'dst': 'rojo'}, {'name': 'go', 'src': 'rojo', 'dst': 'verde'} ] }) while True: if semaforo.current == "verde": # 'semaforo.current' almacena el estado actual de la máquina print(semaforo.current) time.sleep(15) # 'time.sleep(n)' espera 'n' segundos para continuar con la ejecución del programa semaforo.precaucion() if semaforo.current == "amarillo": print(semaforo.current) time.sleep(5) semaforo.stop() if semaforo.current == "rojo": print(semaforo.current) time.sleep(10) semaforo.go()
resultado:
verde # Espera 15 segundos y luego imprime 'amarillo' amarillo # Espera 5 segundos y luego imprime 'rojo' rojo # Espera 10 segundos y luego imprime 'verde' nuevamente
Autor:Rafael Fernandez
Empezé estudiando Física aunque mas tarde me decanté por la Ingeniería. Después de hacer un master de Hidráulica (esp. Aero-hidrodinámica de Vehículos) comenzé el PhD en Ingeniería. Hoy en día me encuentro trabajando para la empresa ITK Engineering AG como ingeniero de desarrollo. Entre mi pasiones está el desarrollo e implementación de todo tipo de códigos en Python y otros lenguages.
Puedes visitar mi perfil en <a href="https://www.linkedin.com/in/rafaelfernandezperfil/">Linkedin.<a>
Definir los símbolos y valores
Graficar los símbolos con valores
Codificar en Python el proceso del AFD
me ayudarian con eso ?
hola: eso es sencillo… los símbolos los pones como nubecitas conectadas con los números que tienen dentro de cada nube, en este ejemplo hay una que es la inicial, una flecha hacia la siguiente,… luego todo esto se pone en una tabla con el estado actual y el estado siguiente. si tienes que minimizar los estados luego se simplifica con la teoría de autómatas de tocci: sistemas digitales cap 5