You are on page 1of 3

DISEO DE UN AUTMATA CON TRANSICIONES VACAS

El objetivo de esta actividad es generar autmatas con transiciones vacas para reconocer
lenguajes regulares, pero antes se define el siguiente concepto:
Un autmata finito no-determinista con transiciones es un quntuplo (Q, , , q0, F) con
todos sus componentes como se han definido hasta ahora, pero la , la funcin de
transicin, transforma Q x ( {}) a P (Q). La intencin es que (q,a) consista de todos
los estados p tales que hay una transicin de q a p etiquetada con el smbolo a, donde a
es o bien un smbolo de . Elisa Viso Gurovich. Introduccin a la Teora de la
Computacin, UNAM 2008. p. 98.
Realiza los siguientes ejercicios:
1. Considera el alfabeto {M, D, C, L, X, V, I} y el lenguaje de los nmeros romanos.
Demuestra que es un lenguaje regular construyendo un autmata finito con transiciones
vacas quelo reconozca. Recuerda que, por ejemplo, VIIII no es un nmero romano, y que
debemos escribir IX, en su lugar. Puede resultar til construir la expresin regular y luego
el -AFND correspondiente.
Se elabor un autmata que determina si un nmero pertenece al conjunto de NUMEROS
ROMANOS en el intervalo 13999. La numeracin romana utiliza siete letras maysculas
a las que corresponden los siguientes valores:
Letras: I V X L C D M
Valores: 1 5 10 50 100 500 1000
Reglas del sistema de numeracin romano:
Si a la derecha de una cifra romana se escribe otra igual o menor, el valor de sta se
suma a la anterior.
Ejemplos: VI = 6; XXI = 21; LXVII = 67
La cifra "I" precediendo a la "V" o la "X", les resta una unidad; la "X", precediendo a la "L"
o a la "C", les resta diez unidades y la "C", precediendo a la "D" o la "M", les resta cien
unidades.
Ejemplos: IV = 4; IX = 9; XL = 40; XC = 90; CD = 400; CM = 900
En ningn nmero se puede poner una misma letra ms de tres veces seguidas.
Ejemplos: XIII = 13; XIV = 14; XXXIII = 33; XXXIV = 34
La "V", la "L" y la "D" no pueden duplicarse porque otras letras ("X", "C", "M") representan
su valor duplicado.
Ejemplos: X = 10; C = 100; M = 1.000
Si entre dos cifras cualesquieraexiste otra menor, sta restar su valor a la siguiente.
Ejemplos: XIX = 19; LIV = 54; CXXIX = 129
En base a estas reglas, se dibuja el grafo del autmata en JFlap, resultando:
Figura 1. Grafo de Autmata finito no determinista con transiciones vacas -AFND, donde
= .

Definiendo el quntuplo:
Q={q0,q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q2
2,q23,q24,q25,q26,q27,q28,q29}
={M, D, C, L, X, V, I}
= Q x ( {})
q0=q0
F={q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,q14,q16,q18,q19,q20,q21,q22,q23,q24,q
25,q26,q27}
A continuacin se muestran algunos ejemplos de las cadenas que el autmata acepta,
estos ejemplos son los que demuestran las reglas del sistema de numeracin romano.

Figura 2. Grafo de -AFND, con cadenas que acepta el autmata.

Figura 3. Grafo de -AFND, con cadenas que acepta el autmata y cadenas que no
acepta.

Conclusin
Rajeev Motwani, Jeffrey D. Ullman en Introduccin a la Teora de Autmatas Lenguajes y
Computacin. 2002, definen que los Lenguajes Regulares son lenguajes formales que
tienen estas caractersticas:
1. Puede ser descrito mediante una expresin regular (expresar de forma compacta cmo
son todas las cadenas de smbolos quele pertenecen).
2. Puede ser generado mediante una gramtica regular (obtener todas las cadenas de
smbolos que le pertenecen).
3. Puede ser reconocido mediante un autmata finito (saber si una cadena de smbolos
pertenece a l o no).
En esta actividad he realizado un autmata finito donde se puede reconocer un lenguaje
regular a travs de conocer si la cadena smbolos del sistema numrico romano
pertenece a l (caracterstica nmero 3) y, efectivamente, se pudo comprobar que cada
cadena de smbolos para este sistema fue aceptado, no as, las cadenas de smbolos que
no cumplen con ninguna de estas reglas.

You might also like