0% encontró este documento útil (0 votos)
35 vistas26 páginas

Creación de Autómatas Finitos en JFLAD

1. El documento presenta la definición de autómatas finitos deterministas y explica sus componentes. 2. Se muestra un ejemplo de creación de un autómata finito determinista de tres estados en el programa JFLAD. 3. El documento explica cómo ingresar cadenas al autómata en JFLAD para verificar si son válidas o no.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas26 páginas

Creación de Autómatas Finitos en JFLAD

1. El documento presenta la definición de autómatas finitos deterministas y explica sus componentes. 2. Se muestra un ejemplo de creación de un autómata finito determinista de tres estados en el programa JFLAD. 3. El documento explica cómo ingresar cadenas al autómata en JFLAD para verificar si son válidas o no.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL

"SANTIAGO ANTUNEZ DE MAYOLO"


FACULTAD DE CIENCIAS
ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

Departamento Académico : Ing. De Sistemas y Telecomunicaciones

Escuela Profesional : Ingeniería de Sistemas

Asignatura : Teoría de Lenguajes

Tema : Definición de autómatas, tipos, creación


de autómatas finitos determinista en el programa JFLAD

Semana nro. : 06

Huaraz, 15 de agosto del 2023


CAPACIDADES A LOGRAR

1.- Conocer y diferenciar el concepto de autómata.


2.- Conocer los tipos de autómatas.
3.- Conocer y representar un autómata finito determinista .
4.- Creación de autómata finito determinista n el programa JFLAD.

5.- Realizar ejemplos de creación de autómatas en el programa JFLAD.


Un autómata

Es una representación formal muy útil, que permite modelar el


comportamiento de diferentes dispositivos, máquinas, programas,
para ello pasan de un estado a otro.
Tipos de autómatas

1. El automata finite determinista(AFD)


Los AF son modelos matemáticos de un sistema que recibe entradas
(estímulos) discretas y proporciona salidas (acciones) discretas.

Un autómata finito va a permitir determinar en qué estado está un


determinado sistema entre un conjunto finito de estados.
Ejemplos.
Un interruptor, semáforos.

Un autómata no puede estas en mas de un estado al mismo tiempo

A un cambio de estado se denomina transiciones, las cuales suceden de


manera espontánea ó en respuesta a estímulos externos
El término “determinista” indica que para una entrada, existe un sólo
estado para el autómata.

La representación de un AFD consta de cinco componentes que


son los siguientes:
A= ( Q, ∑ , δ ,q0, F )
Donde:
Q: Un conjunto finito de estados
∑(sigma): Alfabeto de entrada (símbolos de entrada)
δ: Q X ∑ --> Q Función de transición, especifica a que estado pasa el autómata

Esta función se define para todas las posibles parejas de estados y

símbolos de entrada δ(q,a) = q’ significa que del estado “q” con el


símbolo “a”, el autómata pasa al estado q’
q0: Estado inicial.
F: Un conjunto de estados finales o de aceptación. F es un subconjunto de Q.
El proceso de reconocimiento es el siguiente:
 El autómata comienza con el estado inicial cuando recibe el primer
símbolo y pasa al siguiente estado.
 A partir del estado actual, se vuelve a procesar el siguiente símbolo
para pasar de forma iterativa a los siguientes estados
 Al finalizar de procesar la cadena, si al llega a un estado final, la
cadena puede ser aceptada o rechazada.
Observaciones.

 Un autómata finito determinista, tiene un conjuntos de estados


 El autómata no puede estar en mas de un estado al mismo tiempo
Todo autómata tiene un estado inicial y final y se presentan gráficamente
de la siguiente manera

Estado inicial Estado final

Todo autómata puede pasar por diferentes estados, pero dentro de ese
conjunto de estados se encuentran el estado inicial como el estado final
La transición.

Permite el cambio de un estado a otro para el autómata, para ello necesita


Definir un conjunto de parejas entre el estado y el símbolo correspondiente,
la definición De parejas se realiza usando la función de transición.
Gráficamente se representa de la siguiente manera.

Símbolo

Transición
En esta figura se tiene un autómata que va a pasar por dos estados, un estado
inicial qo y un estado final q1
Mediante la transición se indica el cambio de estado para el autómata

A continuación vamos a crear un autómata finito determinista, con tres


estados, los cuales son: qo , q1 , q2
El autómata queda definido
de la siguiente forma

A= ( Q, ∑ , δ ,q0, F )

Donde se identifica:
Q: Los estados{q0,q1,q2}

∑={1,0} : El alfabeto
δ : La función de transición.

q0: El estado inicial


F: Un conjunto de estados finales
q2

Alfabeto
Vamos a crear la tabla de transición, para el autómata siguiente.
A={Q, ∑, δ , q0,F }
La tabla de transición es el siguiente.

Interpretación
Estando desde q0 recibimos 0 como entrada llegamos a q1 , para los demás se
sigue el mismo criterio para completar las celdas de la tabla.
Ingresando cadenas al autómata
A continuación vamos a ingresar las
cadenas para que el autómata verifique si
es valido o no valido. Para ello
seleccionamos la opción input/step by
State de la ventana del programa JFLAD ,
como resultado veremos la siguiente
ventana.
En la siguiente ventana ingresamos la cadena 10010 y damos click en el
botón aceptar.
Como resultado se muestra la siguiente ventana.

Se observa el primer estado


del autómata se encuentra con
un color de fondo oscuro, esto
indica que en este estado va
verificar si el primer valor (1)
de la cadena si es válida, para
ello damos click en el botón
step, el resultado se observara
en la siguiente ventana
Como se observa en la venta el 1
se encuentra de color gris, esto
indica que fue validado como
valido,
Pulsar click otra vez sobre el
botón step para validar el
siguiente valor (0) de la cadena,
como resultado también el 0 va
a cambiar color a gris pero se
cambió de estado a q1, es
decir que con el valor 0 el
autómata cambio del estado q0
al estado q1, con el valor 0,
también el autómata se
mantiene en el estado q1.
Seguidamente damos click sobre step, con el valor de 1 el autómata
paso al estado q2.
Finalmente damos clik sobre step
para coger el valor 0, con este
valor se mantiene en q2, porque
es el último estado, donde se
realiza la verificación final de la
cadena si es o no es válido, en
este caso el programa va asignar
un color de fondo verde donde se
encuentra las cadenas
ingresadas, eso significa que la
cadena ingresada es válida.
Existe otra forma de
ingresar las cadenas de
manera automática Para
ello seleccionar la
opción input/multiple
run, asi como se muestra
Como resultado se va mostrar la siguiente ventana donde se debe
ingresar la cadena y luego pulsar el botón Run Inputs de la venta que
se muestra para verificar si la cadena es validado por el autómata, es
decir si es o no es valida.
Después de haber dado click sobre el botón Run Inputs se muestra la
ventana donde se observa un mensaje indicando que la cadena es
aceptada.
Ejemplo de aplicaciones.

Considere un sistema formado por una lámpara y un interruptor. La


lámpara puede estar encendida o apagada. El sistema sólo puede recibir
un estímulo exterior: pulsar el interruptor. El funcionamiento es habitual: si
se pulsa el interruptor y estaba apagada la lámpara, se pasa al estado de
encendido, o si esta encendida, pasa a pagada. Se desea que la lámpara
este inicialmente apagada, Considere que 0: encendido, 1: apagado y la
única entrada posible (pulsar interruptor) es “p”

¿Cómo sería el autómata que representa a este sistema?


Solución
Definimos el autómata

A={Q, ∑, δ , q0,F }
Identificamos los elementos para el autómata

1.- Definimos el conjunto de estados Q={q0, q1, q2}


2.- Definimos el alfabeto: ∑={0,1)
3.- Definimos la función de transición : δ: Q X ∑ --> Q

Definimos las todas las parejas posibles de estados y símbolos para cada
estado del autómata

( q0,1)= q0; del el estado q0, y símbolo 1 el estado será q0,

q0,0)= q1 ; del estado q0 y el símbolo 0 el estado será q 1


(
( q1,0)= q1

( q1,1)= q2
(q2,0) = q2

( q2,1)= q2

4.- Definimos el estado inicial : q0

5.- El conjunto de estados de aceptación será: F={ q2}


6.- Ingresamos la cadena para validar por el autómata:
w={100101}
Después de haber ingresado la cadena al autómata, se observa
que fue reconocido como por lo tanto la cadena es valida,
porque se aprecia un resultado de Accept

También podría gustarte