Está en la página 1de 11

Codificación e información

GUSTAVO NOVOA OSPINA

Facultad de Ingeniería, Fundación Universitaria Área Andina

Teoría de la información

Ing. Gustavo Enrique Tabares

Septiembre de 2020
Ejercicio

La Frecuencia, la entropía de cada símbolo, la entropía del mensaje los bits de código, los

bits del mensaje y realizar la tabla de 0 y 1 de acuerdo a lo que propone Shannon-Fano.

“Ingeniería de Sistemas”.

1. Creamos la tabla correspondiente a ceros y unos con la probabilidad

Ingeniería de Sistemas
Símbolo Frecuencia Probabilidad División 1 División 2 División 3 División 4 División 5
e 4 0,19047619 0 00
i 4 0,19047619 0 01 010
a 2 0,095238095 0 01 011
% 2 0,095238095 1 10 100
n 2 0,095238095 1 10 101 1010
s 2 0,095238095 1 10 101 1011
d 1 0,047619048 1 11 110 1100
g 1 0,047619048 1 11 110 1101 11010
m 1 0,047619048 1 11 110 1101 11011
r 1 0,047619048 1 11 111 1110
t 1 0,047619048 1 11 111 1111
Tabla 1de ceros y unos

2. Creamos la tabla correspondiente a la entropía de cada símbolo, la entropía del

mensaje los bits de código y los bits del mensaje.

Calculo de los Bits

Símbolo Frecuencia Entropía Entropía en el mensaje Bits Código Bits Mensaje

e 4 0,720159303 2,880637214 2 8
i 4 0,720159303 2,880637214 3 12
a 2 1,021189299 2,042378598 3 6
% 2 1,021189299 2,042378598 3 6
n 2 1,021189299 2,042378598 4 8
s 2 1,021189299 2,042378598 4 8
d 1 1,322219295 1,322219295 4 4
g 1 1,322219295 1,322219295 5 5
m 1 1,322219295 1,322219295 5 5
r 1 1,322219295 1,322219295 4 4
t 1 1,322219295 1,322219295 4 4
total 21 12,13617228 20,54188529 41 70
3. Construir los árboles binarios para representar los códigos de los Símbolos de la

fuente.

Raíz

0 1

0 1 0 1

0 1 0
e 1
0 1
i a % 0 1 0 1 0 1

n s d 0 1 r t
g m
Figura 1 Árbol Binario

4. Mostrar los códigos binarios resultantes de cada mensaje.

Símbolo Código
e 00
i 010
a 011
% 100
n 1010
s 1011
d 1100
g 11010
m 11011
r 1110
t 1111
5. Se genera código en Pytho para la ejecución de la tabla y se genera la suma de la frecuencia.

import pandas as pd

Simbolo = ['e', 'i', 'a', '%', 'n', 's', 'd', 'g', 'm', 'r', 't']

Frecuencia = [4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1]

Bits = [2, 3, 3, 3, 4, 4, 4, 5, 5, 4, 4]

indice = [1,2,3,4,5,6,7,8,9,10,11]

Ingenieria = {'Simbolo':Simbolo,'Frecuencia':Frecuencia, 'Bits': Bits}

df = pd.DataFrame(data=Ingenieria, index=indice)

print(df)

df['Frecuencia']. sum()
Segunda frase

“FUNDACION UNIVERSITARIA DEL AREA ANDINA”

6. Creamos la tabla correspondiente a ceros y unos con la probabilidad

FUNDACION UNIVERSITARIA DEL AREA ANDINA


Simbolo Frecuencia 1 Division 2 Division 3 Division 4 Division 5 Division 6 Division
A 7 0 00 000
N 5 0 00 001
I 5 0 01 010
% 4 0 01 011
D 3 1 10 100
E 3 1 10 101 1010
R 3 1 10 101 1011
U 2 1 11 110 1100
F 1 1 11 110 1101 11010
C 1 1 11 110 1101 11011
O 1 1 11 111 1110 11100
V 1 1 11 111 1110 11101
S 1 1 11 111 1111 11110
T 1 1 11 111 1111 11111 111110
L 1 1 11 111 1111 11111 111111
7. Creamos la tabla correspondiente a la entropía de cada símbolo, la entropía del

mensaje los bits de código y los bits del mensaje.

Calculo de los Bits


Entropia en el
Simbolo Frecuencia Entropia Bit Codigo Bits Mensaje
mensaje
A 7 2,48 17,35 3 21
N 5 2,96 14,82 3 15
I 5 2,96 14,82 3 15
% 4 3,29 13,14 3 12
D 3 3,70 11,10 3 9
E 3 3,70 11,10 4 12
R 3 3,70 11,10 4 12
U 2 4,29 8,57 4 8
F 1 5,29 5,29 5 5
C 1 5,29 5,29 5 5
O 1 5,29 5,29 5 5
V 1 5,29 5,29 5 5
S 1 5,29 5,29 5 5
T 1 5,29 5,29 6 6
L 1 5,29 5,29 6 6
TOTAL 39 64,07 139,00 64 141

8. Construir los árboles binarios para representar los códigos de los Símbolos de la

fuente.

Raíz

0 1

0 1
0 1
1 0 1 0 1
0 0 1
0 1 0 1 0 1
A N I % D
0 1 0 1 0 1
E R U
F C O V S 0 1

T L
9. Mostrar los códigos binarios resultantes de cada mensaje.

Simbolo Codigo
A 000
N 001
I 010
% 011
D 100
E 1010
R 1011
U 1100
F 11010
C 11011
O 11100
V 11101
S 11110
T 111110
L 111111

10. Se genera código en Pytho para la ejecución de la tabla y se genera la suma de la frecuencia.

import pandas as pd

Simbolo = ['A', 'N', 'I', '%', 'D', 'E', 'R', 'U', 'F', 'C', 'O', 'V', 'S', 'T', 'L']

Frecuencia = [7, 5, 5, 4, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1]

Bits = [3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6]

indice = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

Ingenieria = {'Simbolo':Simbolo,'Frecuencia':Frecuencia, 'Bits': Bits}

df = pd.DataFrame(data=Ingenieria, index=indice)

print(df)

df['Frecuencia']. sum()
Tercera frase

“SEGURIDAD INFORMATICA”

11. Creamos la tabla correspondiente a ceros y unos con la probabilidad

SEGURIDAD INFORMATICA
Simbolo Frecuencia 1 Division 2 Division 3 Division 4 Division 5 Division
A 3 0 00 000
I 3 0 00 001
D 2 0 01 010
R 2 0 01 011 0110
% 1 0 01 011 0111
C 1 1 10 100 1000
E 1 1 10 100 1001
F 1 1 10 101 1010
G 1 1 10 101 1011 10110
M 1 1 10 101 1011 10111
N 1 1 11 110 1100
O 1 1 11 110 1101
S 1 1 11 111 1110
T 1 1 11 111 1111 11110
U 1 1 11 111 1111 11111
12. Creamos la tabla correspondiente a la entropía de cada símbolo, la entropía del

mensaje los bits de código y los bits del mensaje.

Entropia en
Simbolo Frecuencia Entropia Bit Codigo Bits Mensaje
el mensaje
A 3 2,807 8,422 3 9
I 3 2,807 8,422 3 9
D 2 3,392 6,785 3 6
R 2 3,392 6,785 4 8
% 1 4,392 4,392 4 4
C 1 4,392 4,392 4 4
E 1 4,392 4,392 4 4
F 1 4,392 4,392 4 4
G 1 4,392 4,392 5 5
M 1 4,392 4,392 5 5
N 1 4,392 4,392 4 4
O 1 4,392 4,392 4 4
S 1 4,392 4,392 4 4
T 1 4,392 4,392 5 5
U 1 4,392 4,392 5 5
Total 21 60,715 78,729 61 80

13. Construir los árboles binarios para representar los códigos de los Símbolos de la

fuente.

Raíz

0 1

0 1 0 1
0 1 0 1 0 1
A I D 0 1 0 1 0 1 0 1
R % C E F 0 1 0 1

0 1 N O S 0 1

G M T U
14. Mostrar los códigos binarios resultantes de cada mensaje.

Simbolo Codigo
A 000
I 001
D 010
R 0110
% 0111
C 1000
E 1001
F 1010
G 10110
M 10111
N 1100
O 1101
S 1110
T 11110
U 11111

15. Se genera código en Pytho para la ejecución de la tabla y se genera la suma de la frecuencia.

import pandas as pd

Simbolo = ['a', 'i', 'd', 'r', '%', 'c', 'e', 'f', 'g', 'm', 'n', 'o', 's', 't', 'u']

Frecuencia = [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

Bits = [9, 9, 6, 8, 4, 4, 4, 4, 5, 5, 4, 4, 4, 5, 5]

indice = [1,2,3,4,5,6,7,8,9,10,11, 12, 13, 14, 15]

Ingenieria = {'Simbolo':Simbolo,'Frecuencia':Frecuencia, 'Bits Mensaje': Bits}

df = pd.DataFrame(data=Ingenieria, index=indice)

print(df)

df['Frecuencia']. sum()

También podría gustarte