Para el texto en código Morse obtenido en el ejercicio «Morse codificador texto», se requiere realizar la correspondiente cadena de Markov.
Se tiene como archivo de entrada: elaguacate_morse.txt
- ..- . .-. . ... -- .. .- -- --- .-. -- .. -.. .. -.-. .... .- -.-- -- .. - . ... --- .-. --- -- .. ... --- .-.. --- . -. -.-. .- -. - --- -.-- -- .. .. .-.. ..- ... .. --- -. .-.-.-
- Determine el espacio de estados: S= {…}
- Realice el diagrama de transición de estados.
- Realice el conteo correspondiente de las transiciones entre estados
- Elabore la matriz de transición usando el resultado anterior
- Ubique en el diagrama los valores correspondientes a las transiciones
- Encuentre la matriz de transición en estado estable, o largo plazo.
- Compare los resultados de estado estable con la pmf obtenida en el ejercicio «Morse codificador texto»
- Presente las observaciones
- Escriba las recomendaciones.
Instrucciones en Python
Un ejemplo de instrucciones para realizar el conteo de las transiciones.
# Matriz de transicion de Código Morse # Tarea: Realizar la matriz de transición # para la cadena de Markov import numpy as np # INGRESO narchivo = 'elaguacate_morse.txt' archivo = open(narchivo, 'r') # PROCEDIMIENTO s = '.- ' n = len(s) conteo = np.zeros(shape=(n,n), dtype=int) linea = archivo.readline() while not(linea ==''): linea = linea.strip('\n') m = len(linea) for i in range(0,m-1,1): simbolo = linea[i] simbolosigue = linea[i+1] f = s.find(simbolo) c = s.find(simbolosigue) conteo[f,c] = conteo[f,c] +1 print(linea) linea = archivo.readline() # SALIDA print('matriz de conteo: ') print(' . - espacio') print(conteo)
Resultado del algoritmo
matriz de conteo: . - espacio [[123 116 145] [100 93 123] [156 92 102]]