Jflap tutorial


A continuación daremos un pequeño tutorial para poder simular autómatas en jflap(8.0 beta).

Crear automata



Depues de descargar  ejecutamos y nos aparecerá lo siguiente:
 
 Damos click en la opción finite Automaton lo que nos desplegara el siguiente menú
 
El botón que está señalado por la flecha es el botón que nos permite crear los estados para los autómatas dando click en la parte donde  los queremos, en nuestro caso hace dos clics para obtener los estados q0 y q1 con lo que nuestro espacio de trabajo quedaría

 
Después hacemos click en la herramienta atribute editor, si hacemos click sobre un estado y lo mantenemos nos permite mover al estado de lugar en cambio nos muestra lo siguiente al dar click secundario sobre el estado
 

 Dimos click al estado q0 en la opción de final e initial nos permite configurar ese estado como estado inicial o final, en change label nos permite crear un pequeño cuadro de texto con la descripción del estado y en set name nos permite cambiar el nombre del estado, ente caso seleccionaremos initial para hacer al estado qo el estado inicial y final para convertir a q1 como el estado final  después nuestro espacio de trabajo quedara
Seguidamente nos vamos a la opción transition creator donde creamos las transiciones de estado. Para crear una transición hacemos cilck desde el estado inicial  hasta el estado destino, si queremos una ciclo estrella hacemos un movimiento en u desde el estado que queremos que tenga el ciclo en ese caso nos saldrá lo siguiente

Al momento de crear una transición la opción por defecto es una transición con lambda, si queremos cambiarla oprimimos el símbolo con el que queremos la transición, entes caso hice una transición con a y me quedo de la siguiente manera
 
En la parte de abajo de la ventana tenemos sigma que se va llenando conforme agregamos nuevos símbolos a las transiciones.
Después creamos una transición de q0 a q1 con a b y c, para hacer una transición con más de un símbolo simplemente se hace una transición por cada símbolo, cuando hacemos eso nos queda de la siguiente manera 

Por ultimo creamos una transición con a desde q1  a q0, un ciclo con b y c de q1  para que nuestro autómata quede así

 Para eliminar cualquier transición o estado oprimes el botón deleter
Cuando nos acercamos a un estado o transición el cursor cambiara a una x y si hacemos click sobre ellos serán borrados.


Probar cadenas




Para probar cadenas en el autómata poseemos 3 opciones la primera que probaremos es step by step
 Para seleccionarla iremos  al menú de input -> step by step y nos aparecerá lo siguiente

En la ventana tecleamos la abb que será la cadena que vamos a probar y damos en aceptar los cual nos  aparecerá lo siguiente
 
al hacer click en step en el recuadro azul aparecerá lo siguiente
 
La primera letra a se puso en gris y nos indica que ya probo ese símbolo, el q0 que aparece nos indica en el estado en el que se ubica el autómata después de evaluar la letra al seguir apretando step obtendremos lo siguiente

 Al probar b nos lleva al estado q1
Al probar la segunda b nos deja en q1, como es el último símbolo y nos dejó en q1 que es estado de aceptación la ventana se  puso verde indicando que la cadena fue aceptada por el autómata caso contrario el cuadro se pone en rojo.
Para salir oprimes la x en la ventana de simulación
 
Para el siguiente método  nos vamos a input->fast run y nos aparecerá 


Volvemos agregar la cadena abb y damos en aceptar para obtener
 
Donde tenemos lo mismo que se hizo paso a paso pero de manera automática, si acepamos click en keep looking nos dirá si la cadena probada fue aceptada o no antes de cerrar la ventana y si seleccionamos i'm done simplemente cerrara la ventana.

Para el tercer método nos vamos a input-->múltiple run para obtener

Hacemos click en cuadro de input y tecleamos abb luego damos enter y tecleamos acc, enter aba, para correr las entradas damos click en run inputs y nos aparecerá 


En la ventana nos dirá si las cadenas fueron aceptadas o rechazadas por el autómata.

Con esto terminamos el tutorial crear y correr un autómata en jflap.

No hay comentarios:

Publicar un comentario