Diseñando Autómatas Finitos Determinista

En esta entrada, Se mostrará el manejo de un software de licencia CC. para el diseño de los autómatas Finitos, tiene muchos mas opciones, pero esta entrada solo compete a la de los AFD. El nombre del software es JFLAP.

El objetivo de esta entrada, es que el lector pueda adquirir la habilidad de diseñar diagramas de estado de un autómata, permitiendo así ejecutar los posibles estados que éste pueda tener.

Caracteristicas de JFLAP

  • Es un software escrito en java, por lo que es multiplataforma.
  • Es un Software que brinda una variedad de herramientas gráficas (GUI), que permite aprender los conceptos de los lenguajes formales y de la teoria de lenguajes autómatas.

Descarga del software

Despues de contestar una encuesta lo puedes descargar desde aquí

Requerimientos para el uso del software

El requisito mas importante es que tengas instalada en tu equipo de computo la versión actualizada de la maquina virtual de java.

¿Cómo saber si tengo instalado java en mi equipo?

Para responder a esta pregunta la manera más práctica es:

  1. Ejecutar la terminal o consola,
  2. Escribir en la consola la siguiente instrucción: java -versión
  3. Pulsar la tecla enter y apareserá una leyenda donde dice la versión de java que tienes instalado algo similar al lo que se encuentra en la imagen 1.
Imagen 1. Validando la versión de la máquina virtual de java instalada.

¿cómo usamos a JFLAP?

Para responder a esta incognita no hay nada mejor que hacerlo con un ejercicio de autómatas finitos.

Obtener un AFD, dado el siguiente lenguaje definido en un alfabeto E={0,1}. El conjunto de cadenas que termine en 1.

Una vez descargado el JFLAP (que debe de ser un archivo con extención jar) de nombre JFLAP.jar. Se dará dos clic para ejecutarlo. Para el caso de windows, quiza tengas que ejecutarlo como administrador, para el caso de OSx, después de dar dos clic para ejecutar la aplicación hay que ir a la sección de preferencias, opción de seguridad y en la sección de «permitir apps descargadas» darle un clic sobre el botón abrir y después configurar.

Ya ejecutada la aplicación aparecerá una ventana como la que se muestra en la imagen 2, Se pulsará sobre el botón que dice «Finite Automaton», posterior a eso aparecerá una vetana similar a la de la imagen 3.

Imagen 2. Ventana principal de JFLAP
Imagen 3. Lienzo para el diseño de autómatas

Como se puede visulizar en la imagen3, se muestra un lienzo para el diseño de los autómatas, es ahí donde se crerán, también se puede apreciar una barra de herramientas que es donde se encuentrán los objetos que se usarán en la creación del autómata.

Consideraciones a tener encuenta

Para indicar que es el estado iniciar del diagrama hay que hacer un clic secundario, así como para marcar al estado que será es de aceptación.

para crear las flechas sobre el mismo estado hay que hacer un clic y darle un nombre a la etiqueta.

Estos detalles se puede apreciar en la imagen 4.

Imagen 4. Indicar estado inciar y el estado de aceptación

Hay que aclarar que los estados fuerón creados desde la barra de tareas (que es la barra que se encuentra encerrada en un cuadrado de color rojo en la imagen 3).

En la imagen 5 se muestra la solución al ejercicio planteado al inicio de esta entrada.

Imagen 5. Solución al ejercicio planteado al inicio

En la imagen 5 se puede observar la solución del ejercicio que solo acepte aquellas palabras que termina en 1. y en el lado izquierdo se tiene la evaluación del automata. Para poder generar esta evaluación hay que ir al menú input (marcado con un recuadro rojo en la imagen 5) y seleccionar la opción «multiple run», despues aparecer la tabla input y result donde en la sección de input hay que introducir las diferentes palabaras que se crean con el alfabeto para su evaluación en el autómata.

Super fácil, en la próxima entrada esperemos poder generar una máquina de turing.