You are on page 1of 61

HABILITACION DE AUTOMATAS

JHONATAN PLATA MENDOZA


E-MAIL: jkplatam@unadvirtual.edu.co
ZONA: CARIBE CEAD: VALLEDUPAR

GRUPO: 301405

CESAR AMAYA
Tutor

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BSICAS Y TECNOLOGA E INGENIERIA
INGENIERA DE SISTEMAS
2014

PRIMER PROBLEMA A DESARROLLAR: Dada la siguiente tabla de transicin

q0
q1

{q0, q3}

1
{qo,

# q2

q3
# q4

1. Exprese el autmata en notacin matemtica (Tome como referencia, ejemplo 24


pgina 43 del mdulo). Identifique que tipo de autmata es (AFD o AFND) y justifique
su respuesta. (No se trata de dar el concepto de determinismo).
Es un AFD, dado que de cada estado y para cada simbolo solamente se tiene una
opcion de salida. Tambien se puede decir que es un autmata de tipo AFD (Autmata
Finito Determinstico), dado que no hay ambigedad para alguno de los smbolos,
adems hay rutas determinadas.
Adems, 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}
Donde la funcin de transicin est dada por: = {q0,q1,q2,q3,q4} x {0,1}
{q0,q1,q2,q3,q4}
(q0,0)= q0
(q0,0)= q3
(q0,1)= q0
(q0,1)= q1
(q1,1)= q2
(q2,0)= q2

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

k={q0,q1,q2,q3,q4} representa el conjunto de estados


= {0,1} corresponde a las letras del alfabeto de entrada, para este caso a y b
q0 K representa el estado inicial
F= {q2, q4} representan los estados finales

Alfabeto: Conjunto finito y no vaco cuyos elementos se denominan smbolos. Se


designa normalmente con las letras o . Ejemplo:{0,1}, {0,1,2,3,4,5,6,7,8,9}, {a, b}
Palabra: es una secuencia finita de smbolos de un alfabeto, las mismas se pueden crear
especificando un alfabeto determinado. Ejemplo:
Si el alfabeto es {a, b}: aba, bab, bbbbabbab
Existe una palabra especial que representa una secuencia vaca de smbolos, y a menudo
se le llama la palabra vaca y se representa con la letra griega .

Lenguaje: Conjunto de palabras sobre un alfabeto determinado. Normalmente para


designarlo se usa la letra L con subndices si es necesario y otras letras del alfabeto
latino.
Un autmata finito AF o mquina de estado finito es un modelo computacional que
realiza cmputos en forma automtica sobre una entrada para producir una salida. La
finalidad de los autmatas finitos es la de reconocer lenguajes regulares, que
corresponden a los lenguajes formales ms simples segn la jerarqua de Chomsky.
Smbolo, la interpretacin ms bsica es simplemente una representacin distinguible
de cualquier informacin.
Una tupla es una lista inmutable. Una tupla no puede modificarse de ningn modo
despues de su creacin.
Las principales ideas matemticas necesarias para la compresin a la Teora de
Autmatas son conceptos que incluyen grafos, rboles, conjuntos, relaciones, cadenas,
lenguajes abstractos e induccin matemtica.
El conjunto vaco y el conjunto formado por la cadena vaca {E} son lenguajes.
El conjunto de palndromos (cadenas que se leen igual de izquierda a derecha y
viceversa) sobre el alfabeto {0,1} es un lenguaje infinito. Algunos elementos de este
lenguaje son E, 0, 1, 00, 01,010, y 1101011.
Por consiguiente vemos que el conjunto de todos los palndromos sobre una coleccin
finita de smbolos no es, tcnicamente hablando, un lenguaje, porque sus cadenas no
se construyen colectivamente a partir de un alfabeto.
Los estados: Son las diferentes situaciones o combinaciones que se pueden presentar en
el autmata, adems son crculos que llevan dentro el nombre que los identifica.
El estado inicial nos brinda la pauta para saber por dnde es la salida o partida del
autmata. Se le reconoce porque tiene una pequea flecha sobre este.
El estado final nos representa un estado de aceptacin.
Las transiciones son los respectivos movimientos que se presenta entre un estado y
otro. En la tabla de transicin al estado inicial suele sealarse con una flecha y al estado
final con el signo numeral.

3. Identifique el lenguaje que genera. (no se trata de explicarlo o formularlo en notacin


de una ER). Puede formularlo tambin matemticamente.
L={w (0,1)*|w= conjunto de cadenas que empiecen por cero o por uno y que terminen
en cero o uno, y puede tener cuantos ceros y unos intercalados, en los cuales debe
terminar o anteceder en pares de unos o ceros}

4. Muestre en el simulador (grficamente) como recorre una cadena vlida. Explique


cada secuencia. (No se trata solo de captura las imgenes, estas deben ser explicadas en
pi de pgina o de lo contrario no tienen validez)

Cadena valida 1111

Parte del estado qo

Luego pasa al estado q1 y lee un1

Luego pasa al estado q2 y lee otro 1

Se mantiene en el mismo estado final q2 y lee un 1

Finalmente lee el ltimo 1 se detenie en el estado q2, lueo de haber aceptadp la cadena
valida.

5. Muestre el diagrama de Moore generado en JFLAP y en VAS y comente cinco


similitudes y cinco diferencias que encuentra al realizarlo en los dos simuladores.
(herramientas que ofrezca uno u otro)

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

7. Justifique o explique segn la jerarqua y funcin de los operadores de ER en qu


parte se trunca la jerarqua y orden de los operadores para las cadenas no vlidas de la
tabla anterior

(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

Con la eliminacion de q0 y agrupar los datos, nos queda la ER:


(0+1)*11(0+1)* + (0+1)*00(0+1)*

SEGUNDO PROBLEMA A DESARROLLAR: Disee un APD que acepte cadenas


de este tipo: {(aabc) (aaaaaabc) (aaabcc) (aaabc) (aaaabcc) (aaaaaaaabcccc) (abc)
(aabcc) (aaabccc) (aaaabcccc) (aaaaaaaaabcccc) }
Encuentre en primera instancia una regla que evale estas cadenas y que cumpla las
condiciones de las mismas.
1. Identifique la regla que define las cadenas del autmata (es igual que encontrar o
definir el lenguaje que acepta el autmata). Debe denotarse en cualquier caso en
notacin matemtica.
Acepta el Lenguaje L = {aibck } donde i,k 1 y i k
2. Describa el autmata en notacin matemtica con sus componentes
Expresada formalmente por medio de una tripla
q K es el estado actual del autmata
w * es la subcadena de entrada que an no se ha analizado
* es el contenido actual de la pila
para las transacciones se usa:
w = es la entrada (secuencia de caracteres) que se consume
= es lo que se saca de la pila
= es lo que se mete en la pila
3. Grafquelo en JFLAP y realice el Traceback para las transiciones. (Las columnas
para un AP son: El estado en que se encuentra el autmata, lo que falta por leer de la
palabra de entrada, y el contenido de la pila).

Traceback para la cadena de entrada: aaabcc

4. Plasme las imgenes y capturas en el documento. (Documente el proceso)


Traza para la cadena valida (aaabcc)
Para comprobar la validez de esta cadena, se hace clic en la barra de
herramientas Input, luego la opcin de multiple run, en donde nos sale un
cuadro con dos columnas: Input Result; en Input se digita la cadena xyx , al
hacer clic en Run Inputs nos sale un mensaje

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).

5. Muestre el diagrama correspondiente de estados.

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

Cadena leda=aaaabccc ---Pila=AZ---Estado=


q0

Cadena leda=aaaabccc ---Pila=AAZ--Estado= q0

Cadena leda=aaaabccc ---Pila=AAAZ--Estado= q0

Cadena leda=aaaabccc ---Pila=AAAAZ--Estado= q0

Cadena leda=aaaabccc ---Pila=AAAAZ--Estado= q1

Cadena leda=aaaabccc ---Pila=AAAZ--Estado= q2

Cadena leda=aaaabccc ---Pila=AAZ--Estado= q2

Cadena leda=aaaabccc ---Pila=AZ---Estado=


q2

Cadena leda=aaaabccc ---Pila=Z---Estado=


q2

Cadena leda=aaaabccc ---Pila= ---Estado=


q3 ESTADO FINAL

TERCER PROBLEMA A DESARROLLAR: Disee una MT que genere cadenas de


tipo {(aa) (aaaa) (aaaaaa) (aaaaaaaa) (aaaaaaaaaa }
1. Identifique la regla que define las cadenas de la MT (es igual que encontrar o definir
el lenguaje que acepta la MT). Debe denotarse en cualquier caso en notacin
matemtica.
Acepta el Lenguaje L = {2a},
2. Identifique los componentes de la Mquina de Turing (descrbala).
Una MT es un modelo matemtico que se puede definir como un Sptuplo
, , ) en donde:

, , ,

= es un conjunto de estados tal forma que h K donde h es el estado de aceptacin y


pertenece al conjunto de estados K
={
= es el alfabeto de entrada (palabras de entrada) (a), donde
={
(Smbolo blanco pertenece al alfabeto de la cinta no al alfabeto de las palabras que se
van a reconocer)
= es el alfabeto de la cinta, donde

={
(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
:

{#, $ )

3. Disela en un Diagrama de Moore.

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

Luego damos clic en aceptar y seguidamente hacemos el paso a paso Step


desplegndonos esta pantalla (de arriba)

El recorrido inicia en el estado inicial s={


entrada ={ el primer smbolo a

, el cabezal de color rojo lee del alfabeto de

Luego, pasa al estado


, lee el smbolo a coloca en el alfabeto de la cinta de la
mquina una a y desplaza el cabezal a la derecha

, lee el smbolo a coloca en el alfabeto de la cinta de la


Ahora, pasa al estado
mquina una a y desplaza el cabezal a la derecha

, lee el smbolo a coloca en el alfabeto de la cinta de la


En este paso, va al estado
mquina una a y desplaza el cabezal a la derecha

Ahora, nuevamente pasa al estado


, lee el smbolo en blanco coloca en el alfabeto
de la cinta de la mquina una smbolo en blanco y desplaza el cabezal a la derecha

Pasa al estado , lee el smbolo a y coloca en el alfabeto de la cinta de la mquina una


a y desplaza el cabezal a la izquierda

Pasa al estado , lee el smbolo a y coloca en el alfabeto de la cinta de la mquina una


a y desplaza el cabezal a la izquierda

Ahora pasa al estado % , lee el smbolo a y coloca en el alfabeto de la cinta de la


mquina una a y desplaza el cabezal a la izquierda

Se regresa al estado , lee el smbolo a y coloca en el alfabeto de la cinta de la


mquina una a y desplaza el cabezal a la izquierda

Lee un carcter en blanco y coloca en el alfabeto de la cinta de la mquina un carcter


en blanco y pasa al estado % moviendo el cabezal hacia la izquierda.

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)

Cadena no vlida aaa

El recorrido inicia en el estado inicial s={


entrada ={ el primer smbolo a

, el cabezal de color rojo lee del alfabeto de

Luego, pasa al estado


, lee el smbolo a coloca en el alfabeto de la cinta de la
mquina una a y desplaza el cabezal a la derecha

Ahora, pasa al estado


, lee el smbolo a coloca en el alfabeto de la cinta de la
mquina una a y desplaza el cabezal a la derecha

, y observamos que el simulador nos muestra el momento


En este paso, va al estado
en que el proceso es truncado y la mquina se detiene en el mismo estado .

Notamos que el estado


no nos lleva a ningn estado halt o final ya que no fue
aceptada la cadena aaa; la mquina de Turing despus de todos los pasos que se llevaron
a cabo el simulador muestra en la parte inferior izquierda (de color morado) el no
reconocimiento de la cadena aaa.

6. Ejecute el Run Test a la cadena aceptada (mustrela en la captura de imagen que le


genera JFLAP asociada a cada transicin para el trabajo). El Run Test implica
identificar cada iteraccin en la que se muestre el carcter ledo, el contenido de la cinta,
lo que falta por leer.
Sea W = aaaa

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.

Ahora, de aqu en adelante; lo que hace la maquina es regresarse y colocar el cabezal en


la primera letra a.
Es decir, ahora hace todo el mismo proceso pero hacia la izquierda.

con la cabeza lectora sobre un carcter de entrada


Estando en la MT en el estado
carcter en blanco, la funcin de transicin enviar al autmata a un estado q3 y
adicionalmente escribir el carcter a en la cinta. Adems la cabeza de la MT har un
movimiento a la izquierda. Por leer aaaa.

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.

7. Identifique en que momento la mquina se detiene.


Se detiene (hace halt) en cuanto llega a un carcter blanco. Dado que no encuentra ms
smbolos por leer. Cuando se alcanza un estado halt en el control finito, como resultado
de una transicin y se acepta la palabra de entrada aaaa. Es decir, se detiene cuando
acepta la cadena.
Una cadena de entrada w es aceptada por una MT M si el computo que se indica la
configuracin inicial qow termina en una configuracin instantnea w1pw2, p es un
estado de aceptacin, en la cual M se detiene completamente. El lenguaje L(M)
aceptado por una MT M se define como:
L(M)={w : q0w * w1pw2 T }
M se para en w1pw2 si la cadena de entrada en una mquina M pertenece a L(M), la
mquina M siempre se detiene.

8. Visualice las salidas (como transductor) para 5 cadenas vlidas en el simulador


JFLAP
Cadenas validas
aa
aaaa
aaaaaa
aaaaaaaa
aaaaaaaaaa

9. Identifique si el diseo de la Mquina de Turing obedece a un complemento a 1 de un


nmero binario. Justifique su respuesta y documntela. (Tenga en cuenta citas y
referencias de autores).
No se limite a copiar definiciones.
El diseo de la Mquina de Turing no obedece a un complemento a 1 de un nmero
binario, dado que no sustituye los unos por ceros y los ceros por unos.
El complemento a 1 de un nmero binario es el nmero que Resulta cuando se
complementa cada bit. En la siguiente figura se muestra cmo se produce el
complemento a uno con Circuitos lgicos. Puesto que cada bit se activa a un inversor, la
salida de 4 bits es el complemento a uno de la entrada de 4 bits. Por ejemplo, si la
entrada es1:
X3X2X1X0=1000
El complemento a uno es
((( '
((( '
((( '
((( = 0111
'

X3

X2

X1

X0

(((
'

(((
'

(((
'

(((
'

_____________
1

Tomado de Principios y Aplicaciones Digitales. Albert P. Malvino. 1993. Pag. 178.

CUARTO PROBLEMA A DESARROLLAR:


Tomando como referencia la aplicabilidad de las mquinas de estados, la Teora de la
Informacin trata una de las tcnicas de deteccin y correccin de errores, por los
teoremas de Trellis y Viterbi con cdigos convolucionales para canales con ruido.
Se obtiene el siguiente dato codificado: (Como se muestra en la tabla), con errores en el
par de bits codificados 2,4 y 7 con distancia de haming 1.
bit(posicin dada en el orden que entran asociado a K)

DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO

11

10

11

10

00

10

01

10

PARA LA MAQUINA DE MOORE


El diagrama de estados se podr representar como: 22

/ )

./ )

estados posibles

= 2 = 4 Estados posibles

1. Determine cul fue el dato de entrada. (Completar la tabla)


El dato de entrada fue 1 0 0 0 1 1 1 0

bit(posicin dada en el orden que entran asociado a K)

DATOS
ESTADO PRESENTE
CODIFICADO
RECIBIDO

11

10

11

10

00

10

01

10

2. Determine los estados presentes: (represente la mquina de estados) del cdigo


convolucional para k=1, m= 3, n=2 para cada estado. Es decir, represente la
transicin de entrada para cada bit (ocho en total) con el codificador
convolucional.
CODIFICADOR CONVOLUCIONAL
Un cdigo convolucional queda especificado queda especificado por tres
parmetros (n, k, m), donde:
n es el nmero de bits de la palabra codificada
k es el nmero de bits de la palabra de datos
m es la memoria del cdigo o longitud restringida
El nmero de bits por palabra de datos k, cumple:
k/n=R
A este cociente se le denomina ratio del codificador.
El parmetro m (longitud restringida) indica el nivel en la cual empiezan a
converger las ramas.
Se tienen 2-

ramas que llegan a cada nodo.

En el diagrama de estados se podrn representar 2-

./ )

estados posibles.

CODIFICADOR CONVOLUCIONAL
El codificador parte del estado todo cero.
m= memoria del cdigo o
Longitud restringida
11010111

k= nmero de bits de la palabra


De datos (entrada)

n= nmero de
bits de la
Palabra
codific. (Salida)

Inicio de proceso del codificador convolucional


Paso 1:
Recordamos, est en un estado 00 y que esto es un registro de desplazamientos
hacia la derecha. Pero como nos dan los datos recibidos, ajustamos los datos,
para que nos d el primer dato (01), es decir asumimos que ya haba un 0 en el
inicio, un 1 en el medio y un 1 al final.
Evaluamos la salida: (siguiendo las flechas): 0 (verde) x 1 (ltimo azul)=1
Ese 1 en memoria (primer crculo de arriba) x 1(azul del medio) =0
Cuando entra un 0 la salida codificada es 10

10001110

1
1

bit(posicin dada en el orden que entran asociado a K)

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

bit(posicin dada en el orden que entran asociado a K)

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

bit(posicin dada en el orden que entran asociado a K)

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

Nota: dado que no se puede obtener el dato recibido de 00 (que corresponde


al bit 4 con distancia de haming de 1), se procede a tener el dato recibido sin
esta distancia. Es decir que la salida correcta es 01

1 000

1010

0001

bit(posicin dada en el orden que entran asociado a K)

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

bit(posicin dada en el orden que entran asociado a K)

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

bit(posicin dada en el orden que entran asociado a K)

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

Nota: dado que no se puede obtener el dato recibido de 10 (que corresponde


al bit 7) por lo tanto la salida correcta es 00

1010110

0001010

bit(posicin dada en el orden que entran asociado a K)

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

bit(posicin dada en el orden que entran asociado a K)

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

3. Determine las entradas codificadas. (Complete la tabla)

Las entradas codificadas son: 11 00 11 10 01 10 00 10

bit(posicin dada en el orden que entran asociado a K)

CODIFICADO

11

00

11

10

01

10

00

10

bit(posicin dada en el orden que entran asociado a K)

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

4. Realice el diagrama rbol PARA EL DATO DE ENTRADA

CODIFICADOS
ESTADOS

00
10
00
01

00

01

11

11

10

10

10
11

10

00

01

01
11

Cuando el dato es un 0, se toma la rama por arriba, pero cuando es un 1 se


recorre la rama por debajo.

bit(posicin dada en el orden que entran asociado a K)

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

5. Realice el diagrama general de estados PARA EL DATO DE ENTRADA

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.

6. Realice el diagrama de Trellis con la ruta correcta.


El diagrama de Trellis es un diagrama en forma de red. Cada lnea horizontal se
corresponde con uno de los estados del codificador. Cada lnea vertical se
corresponde con uno de los niveles del rbol.
Este diagrama utiliza los datos codificados.

Datos de entrada: 10001110

0 ____
1----

10

00

10

01

10

11

00

11

00
11

00

01
10

10

10
11

00

11

10
01

7. Realice el diagrama de Trellis y Viterbi corrigiendo el dato (ruta correcta). Para


ello debe mostrar la ruta correcta identificando las distancias de haming y la
seleccin dada para seguir la ruta.
Para realizar el diagrama de Viterbi se utilizan los datos recibidos.

Paso 1: El estado inicial de la mquina puede empezar desde cualquier estado.


La nica forma de obtener 10 es estando en el estado 01 con salida 0, desde el
estado 11 con salida de un 1.

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

Paso 4: Sigo evaluando desde el estado 01 y 11. Pero ahora necesitamos un 00


01, 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 01 y 00 respectivamente.
La distancia de haming que se presenta en cada caso es de 0.
No se sabra en este paso 4 cul es la ruta correcta.

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

Paso 6: En este paso se comienza a despejar la visual para conocer la ruta


correcta.
Estando en estado 11 es imposible obtener un dato de 11, por lo cual se descarta
esta ruta realizada hasta el momento.
Se obtiene desde el estado 01 una entrada de 0 para obtener un 11, que es lo se
requiere para este caso.

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

Paso 7: Ahora estando en esta situacin necesitamos un 00 un10.


Pero en el estado 00 lo que podemos lograr es un 00 con un dato de entrada de 0,
pues con 1 tendramos un 11, lo que para nuestro ejercicio no nos sirve.

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

A continuacin se muestran todas las rutas posibles y sus distancias de haming.

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

Analicemos este dato 11 con las respectivas distancias de haming.


Para el primer dato 11 la distancia de haming es 0
Para el segundo dato 10 la distancia de haming es 1
Para el tercer dato 00 la distancia de haming es 2
Para el cuarto dato 01 la distancia de haming es 1
Notamos que el dato correcto es el primero y los dems no nos sirven, por lo que
esa ruta es descartada desde el comienzo.

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.

Y as finalmente obtenemos la ruta correcta.


La ruta correcta es marcada con color azul, la cual est tambin hecha en el
diagrama de Trellis.

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