Professional Documents
Culture Documents
GRUPO: 301405
CESAR AMAYA
Tutor
q0
q1
{q0, q3}
1
{qo,
# q2
q3
# q4
q0
{q2, q4}
(q2,1)= q2
(q3,0)= q4
(q4,0)= q4
(q4,1)= q4
2. Identifique los elementos (tupla que es) (Asociadas con los elementos del autmata
del ejercicio propuesto). Debe explicar y describir cada elemento y la funcin y
significado en el autmata. Conceptos y definiciones adicionales.
Es un autmata M finito compuesto por una quntupla donde:
M=(k, , q0, , F), donde k={q0,q1,q2,q3,q4} = {0,1} q0 =estado inicial F= {q2, q4} y
=
q0
q1
{q0, q3}
1
{qo,
# q2
q3
# q4
Finalmente lee el ltimo 1 se detenie en el estado q2, lueo de haber aceptadp la cadena
valida.
SIMULADORES
JFLAP
VAS
SIMILITUDES
Permiten establecer claramente si una cadena es aceptada o rechazada po el autmata de
acuerdo al diagrama de moore.
Se pueden crear autmatas finitos deterministticos y no determonisticos
Permiten exportar el automata diseado en formato de imagen
Permiten la coversion del autmata a NFA a DFA
Permiten seleccionar todo el autmata y desplazarlo en cualquier parte del rea de trabajo
DIFERENCIAS
JFLAP
Tiene para convertir de AF a ER
Tiene extension .jff
No tiena la herramienta para visualizar la
tabla de transicion
Cada uno de los estado, ya salen
nombrados
Tiene la herramienta para minimizaar el
automata
VAS
No tiene esta herramienta
Tiene extension *.fa
En este simulador, si se puede ver la tabal de
transiion
Cada estado a crear debe nombrar
Esta herramienta no est disponible en este simulador
6. Identifique la ER del autmata y Plasme tres cadenas vlidas y tres no vlidas en una
tabla (identificando jerarqua de operadores regulares, identificando colores). Para ello
apyese en el video: http://youtu.be/JZPAHHA2PnE (minuto 14 al 33). O en el video
http://youtu.be/wGTxhnPXcw4
ER (0+1)*11(0+1)* cuanado el estado final es q2
(0+1)*00(0+1)* cuando el estado final es q4
Generalizando: ER (0+1)*11(0+1)* + (0+1)*00(0+1)*
(0+1)*
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
(0+1)*
1
0
0
1
(0+1)*
1
1
(0+1)*
1
0
1
1
1
0
0
ok
ok
ok
ok
ok
X
X
X
X
(0+1)*
0
0
1
1
1
1
1
(0+1)*
0
1
(0+1)*
0
0
0
0
(0+1)*
1
X
X
X
X
Primero, lo que no tiene estrela de kleene debe estar en la tabla obligado para tal fin de
que el dato sea una cadena valida.
Es decir las columnas de 11 y 00 deben tener valores, lo mismo sucede con la columna
de ceros.
La primera columna debe tener ningun uno y cero, un uno o muchos unos, seguidos de
un 11 o un solo 1
En general, estas cadenas no son validas porque no llegan a un estado de aceptacion.
De las columnas de color amarillo, azul, purpura y verde son opcionales tomar ya sea
tomar un uno o un cero, o repetir cuantas veces los ceros o unos.
El orden de prioridad de los operadores es, de mayor a menor: *, , +
Este orden puede alterarse mediante parntesis, de forma anloga a como se hace con
las expresiones aritmticas.
Unin +
Cierre o estrella de kleene *
Concatenacin (no suele escribirse)
8. De la tabla de transicin dada y del autmata asociado a esa tabla, genere la ER (no
desde el simulador JFLAP), genrela de forma manual y explique cada sentencia
asociada al autmata o diagrama de moore.
Generamos un solo estado final y un nuevo estado inicial; y se eliminan los nodos
intermedios
Eliminamos q2
Eliminacion de q4
Eliminacion de q3
Eliminacion de q1
Se da clic en aceptar, y nos mostrar en Result Accept, lo que nos indica que la
cadena es valida.
Luego se le da clic en View Trace, la cual nos muestra otra ventana con la traza
de la cadena valida (aaabcc).
ESTADO
q0
q0
q0
q0
q1
q2
q2
q2
q3
POR LEER
aaaabcc
aaabcc
aabcc
abcc
bcc
cc
c
PILA
Zo
AZ
AAZ
AAAZ
AAAZ
AAZ
AZ
Z
Funcin de transiciones
f(q0,a)=f(q0, Z;AZ)
f(q0,a)=f(q0, A;AA)
f(q0,b)=f(q1, ; )
f(q1,c)=f(q2, A; )
f(q2,c)=f(q2,A; )
f(q2, )=f(q2,A; )
f(q2, )=f(q3,Z; )
6. Identifique los contenidos (el recorrido para cada interaccin) de la pila y el estado de
parada. Realcelo con una cadena vlida.
Cadena valida (xyx)
Contenido de la pila y cambios de estado hasta el estado de parada para la cadena vlida
aaaabcc
, , ,
={
(Smbolo blanco pertenece al conjunto de smbolos del alfabeto de la cinta de y el
alfabeto de la cinta contiene al alfabeto de entrada)
s K es el estado inicial que pertenece al conjunto de estados K
s={
T K es el estado final que pertenece al conjunto de estados K
T={
B es el smbolo carcter blanco que est inmerso en el alfabeto de la cinta , (el
smbolo B no puede hacer parte inicialmente del alfabeto de entrada ) aparece en
todas las casillas excepto en aquellas que contienen los smbolos de entrada
:
{#, $ )
4. Recorra la mquina con al menos una cadena vlida explicando lo sucedido tanto en
la cinta como en la secuencia de entrada.
Cadena valida: aaaa
Para realizar el recorrido de la anterior cadena valida utilizamos la herramienta Input,
digitamos aaaa
Por ltimo la mquina llega al estado halt de aceptacin y se detiene en el estado final
& (quedando una salida de aaaa). El simulador JFLAB nos muestra el recorrido en la
parte inferior izquierda en color verde indicando el reconocimiento de la cadena,
adems el cabezal nos queda en la primera a.
5. Identifique una cadena que no sea vlida y justifquela porque. (Recorriendo cinta y
datos de entrada)
aaaa a aaa
Estando en la MT en el estado con la cabeza lectora sobre un carcter de entrada a,
, y adicionalmente escribir
la funcin de transicin enviar al autmata a un estado
el carcter a en la cinta. Adems la cabeza de la MT har un movimiento a la derecha.
Por leer aaa
aaaa aa aa
La MT en el estado
con la cabeza lectora sobre un carcter de entrada a, la funcin
de transicin enviar al autmata a un estado
, y adicionalmente escribir el carcter
a en la cinta. Adems la cabeza de la MT har un movimiento a la derecha. Por leer
aa
aaaa aa a
Estando en la MT en el estado con la cabeza lectora sobre un carcter de entrada a,
la funcin de transicin enviar al autmata a un estado
, y adicionalmente escribir
el carcter a en la cinta. Adems la cabeza de la MT har un movimiento a la derecha.
Por leer a
aaaa aaa
Estando en la MT en el estado con la cabeza lectora sobre un carcter de entrada a,
la funcin de transicin enviar al autmata a un estado
, y adicionalmente escribir
el carcter en blanco en la cinta. Adems la cabeza de la MT har un movimiento a la
derecha. Por leer nada.
aaaa a aaa
Estando en la MT en el estado con la cabeza lectora sobre un carcter de entrada a,
la funcin de transicin enviar al autmata a un estado
, y adicionalmente escribir
el carcter a en la cinta. Adems la cabeza de la MT har un movimiento a la
izquierda. Por leer aaa
aaaa aa aa
La MT en el estado
con la cabeza lectora sobre un carcter de entrada a, la funcin
de transicin enviar al autmata a un estado % , y adicionalmente escribir el carcter
a en la cinta. Adems la cabeza de la MT har un movimiento a la izquierda. Por leer
aa
aaaa aa % a
Estando en la MT en el estado % con la cabeza lectora sobre un carcter de entrada a,
la funcin de transicin enviar al autmata a un estado
, y adicionalmente escribir
el carcter a en la cinta. Adems la cabeza de la MT har un movimiento a la
izquieda. Por leer a
aaaa aaa
Estando en la MT en el estado con la cabeza lectora sobre un carcter de entrada a,
la funcin de transicin enviar al autmata a un estado % , y adicionalmente escribir
el carcter en blanco en la cinta. Adems la cabeza de la MT har un movimiento a la
izquierda. Por leer nada.
aaaa
Por ltimo notamos que la mquina llega al estado & halt de aceptacin, se detiene
y el simulador JFLAB nos muestra el recorrido en la parte inferior izquierda en color
verde indicando el reconocimiento de la cadena aaaa, y colocando el cabezal en a;
dndonos una salida de aaaa.
X3
X2
X1
X0
(((
'
(((
'
(((
'
(((
'
_____________
1
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
11
10
11
10
00
10
01
10
/ )
./ )
estados posibles
= 2 = 4 Estados posibles
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
11
10
11
10
00
10
01
10
./ )
estados posibles.
CODIFICADOR CONVOLUCIONAL
El codificador parte del estado todo cero.
m= memoria del cdigo o
Longitud restringida
11010111
n= nmero de
bits de la
Palabra
codific. (Salida)
10001110
1
1
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
11
10
11
10
00
10
01
0
01
10
10
Paso 2:
Evaluamos la salida: (siguiendo las flechas): 1 (amarillo) x 1 (ltimo azul)=0
Ese 0 en memoria (primer crculo de arriba) x 0 (verde del medio) = 0
Cuando entra un 1 la salida codificada es 00
Nota: dado que no se puede obtener el dato recibido de 01 (que corresponde
al bit 2 con distancia de haming de 1), se procede a tener el dato recibido sin
esta distancia. Es decir que la salida correcta es 00
100011
10
00
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
11
10
11
10
00
10
1
10
00
01
0
01
10
10
Paso 3:
Evaluamos la salida: (siguiendo las flechas): 1 x 0 = 1
Ese 1 en memoria (primer crculo de arriba) x 1 = 0
Cuando entra un 1 la salida codificada es 10
10001
101
000
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
11
10
11
10
00
1
11
10
10
1
10
00
01
0
01
10
10
Paso 4:
Evaluamos la salida: (siguiendo las flechas): 1 x 1 = 0
Ese 0 en memoria (primer crculo de arriba) x 1 = 1
Cuando entra un 1 la salida codificada es 01
1 000
1010
0001
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
11
10
11
10
1
11
01
00
1
11
10
10
1
10
00
01
0
01
10
10
Paso 5:
Evaluamos la salida: (siguiendo las flechas): 0 x 1 = 1
Ese 1 en memoria (primer crculo de arriba) x 1 = 0
Cuando entra un 0 la salida codificada es 10
100
10101
00010
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
11
10
11
0
01
10
10
1
11
01
00
1
11
10
10
1
10
00
01
0
01
10
10
Paso 6:
Evaluamos la salida: (siguiendo las flechas): 0 x 1 = 1
Ese 1 en memoria (primer crculo de arriba) x 0 = 1
Cuando entra un 1 la salida codificada es 11
10
101011
000101
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
11
10
0
00
11
11
0
01
10
10
1
11
01
00
1
11
10
10
1
10
00
01
0
01
10
10
Paso 7:
Evaluamos la salida: (siguiendo las flechas): 1 x 1 = 0
Ese 0 en memoria (primer crculo de arriba) x 0 = 0
Cuando entra un 1 la salida codificada es 00
1010110
0001010
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
0
00
00
10
0
00
11
11
0
01
10
10
1
11
01
00
1
11
10
10
1
10
00
01
0
01
10
10
11
Paso 8:
Evaluamos la salida: (siguiendo las flechas): 1 x 0 = 1
Ese 1 en memoria (primer crculo de arriba) x 0 = 1
Cuando entra un 1 la salida codificada es 11
10101101
00010101
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
1
10
11
11
0
00
00
10
0
00
11
11
0
01
10
10
1
11
01
00
1
11
10
10
1
10
00
01
0
01
10
10
CODIFICADO
11
00
11
10
01
10
00
10
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
1
10
11
11
0
00
00
10
0
00
11
11
0
01
10
10
1
11
01
00
1
11
10
10
1
10
00
01
0
01
10
10
CODIFICADOS
ESTADOS
00
10
00
01
00
01
11
11
10
10
10
11
10
00
01
01
11
DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO
1
10
11
11
0
00
00
10
0
00
11
11
0
01
10
10
1
11
01
00
1
11
10
10
1
10
00
01
0
01
10
10
El estado inicial es 01, cuando sale un 1 pasa al estado 10, generando un dato de
entrada 1 y un dato codificado de 00 .
Cuando sale un 0, pasa al estado 00, generando un dato de entrada de 0 y un dato
codificado de 11.
Pasa al estado 10, cuando sale un 1 pasa al estado 11, generando un dato de
entrada de 1 y un dato codificado de 10.
Cuando sale un 0, pasa al estado 01, generando un dato de entrada de 0 y un dato
codificado de 01.
0 ____
1----
10
00
10
01
10
11
00
11
00
11
00
01
10
10
10
11
00
11
10
01
0 ____
1----
10
00
01
10
10
11
10
00
01
10
01
00
10
11
00
10
11
Paso 2: Ahora tenemos dos posibles rutas, debemos elegir cual es la ruta a
seguir, por lo tanto debemos analizar los puntos 10 en el estado 01 y en el estado
11.
Debemos analizar la mejor ruta.
Qu estamos buscando realmente?: Aunque hay una distancia de haming de 1,
el dato a buscar debe ser 01 00.
De todas esas salidas que tenemos, que son estndar (11 10 00 y 01); la nica
que me da el dato que se necesita es para 01 una entrada de 1. Y para el estado
11 un dato de 1. Es decir, an no se sabe con certeza cul es la ruta correcta.
0 ____
1----
10
00
01
00
01
10
10
00
11
10
01
10
01
00
10
11
00
10
11
Paso 3: Sigo evaluando desde el estado 01 y 11. Pero ahora necesitamos un 10,
evaluamos esos dos puntos.
Desde el estado 11 una entrada de 1, en este caso el dato 0 no se requiere; lo
mismo se hace desde el estado 01 con entrada de 1; lo que nos representa un
dato de 10 en ambos casos.
0 ____
1----
10
00
01
00
10
11
01
01
10
10
10
10
00
10
11
10
01
01
01
00
10
11
00
10
11
0 ____
1----
10
00
01
10
01
00
00
01
10
10
10
00
00
11
10
10
01
01
10
11
00
10
11
Paso 5: Sigo evaluando desde el estado 11 y 10. Pero ahora necesitamos un 10.
Desde el estado 11 una entrada de 0, en este caso el dato 1 no se requiere; lo
mismo se hace desde el estado 10 con entrada de 1; lo que nos representa un
dato de 10 respectivamente.
La distancia de haming que se presenta en cada caso es de 0. Sin certeza de
saber la ruta correcta.
0 ____
1----
10
00
01
00
10
01
00
10
11
01
01
10
10
01
10
10
10
10
00
00
10
11
10
01
01
01
10
11
00
10
11
0 ____
1----
10
00
01
00
10
01
00
10
11
01
11
01
10
10
11
01
10
10
10
10
10
00
00
00
10
11
10
01
01
01
10
01
00
10
11
0 ____
1----
10
00
01
10
01
00
10
11
00
11
01
10
10
10
10
00
00
11
10
10
01
01
10
00
10
00
11
10
00
01
00
10
01
00
10
11
01
11
00
10
00
11
00
01
01
10
10
11
10
10
10
10
10
00
00
00
11
11
10
11
10
01
01
01
10
01
Paso 8: Ahora estando en el estado 00 con salida 00, necesitamos un dato de 11.
Esto lo obtenemos con un dato de entrada de 1 quedando en el estado 10, pues
con 0 sera 00 y no nos sirve.
0 ____
1----
10
00
01
00
10
01
00
10
11
01
11
00
11
00
01
01
10
10
11
00
10
10
10
10
10
10
00
00
00
10
11
10
01
01
01
10
01
11
11