Está en la página 1de 5

Número de bits óptimo de codificación para mensaje

Obtener información sobre el uso de bits, cantidad de información, entropía, y codificación


óptima (codificación de Huffman) del siguiente mensaje:

"COMO MOCO LOCO COMO COCO"

Nota: en la longitud del mensaje no se incluirán los espacios en blanco.

1. Codificación típica

Para realizar la codificación típica primero sacamos la lista de caracteres del mensaje y
asignamos un código para cada uno de ellos, donde el número de bits n, se determina mediante:
𝒏 = 𝐥𝐨𝐠𝟐 (𝒏ú𝒎𝒆𝒓𝒐 𝒅𝒆 𝒄𝒂𝒓𝒂𝒄𝒕𝒆𝒓𝒆𝒔 𝒖𝒕𝒊𝒍𝒊𝒛𝒂𝒅𝒐𝒔)

𝑛 = log 2 (4) = 2

Caracteres Código
C 00
O 01
M 10
L 11

C O M O M O C O L O C O
00 01 10 01 10 01 00 01 11 01 00 01
C O M O C O C O
00 01 10 01 00 01 00 01

Luego codificamos la secuencia del mensaje concatenando los caracteres de código


correspondientes.

COMO MOCO LOCO COMO COCO = 0001100110010001110100010001100100010001

Como resultado obtenemos que el número de bits utilizados en el mensaje es de 40 bits.


2. Codificación de Huffman (Codificación Optima)

Para realizar la codificación de Huffman procedemos a listar los caracteres que se utilizan en el
mensaje, luego contamos la frecuencia 𝑓𝑖 y calculamos la 𝑝𝑖 de cada letra en el mensaje

Caracteres 𝒇𝒊 𝒑𝒊
6
C 6
20
10
O 10
20
3
M 3
20
1
L 1
20
Total 20 1

Por consiguiente, generamos un árbol binario que tenga cada carácter como una hoja y cada
nodo interno como la suma de las probabilidades de sus hijos.
Para ello se siguieron los siguientes pasos:

• Ordenamos los caracteres de menor a mayor probabilidad en una lista.


• Creamos un nodo interno con los dos caracteres menos probables como hijos, y
sumamos la probabilidad de los nodos hijos.
• Insertamos el nuevo nodo en la lista, (en el lugar que le corresponda según su
probabilidad)
• Iteramos el procedimiento anterior mientras haya más de un nodo en la lista.
• El nodo restante es el nodo raíz y el árbol está completo.
• Una vez el árbol este completo, se asigna un “0” a la rama izquierda y “1” a la rama
derecha.

Ahora generamos el código de cada letra, donde el código de cada letra corresponde el camino
para llegar a su nodo.

Caracteres Código
O 0
C 10
L 110
M 111

C O M O M O C O L O C O
10 0 111 0 111 0 10 0 110 0 10 0
C O M O C O C O
10 0 111 0 10 0 10 0

Luego codificamos la secuencia del mensaje concatenando los caracteres de código


correspondientes.

COMO MOCO LOCO COMO COCO = 1001110111010011001001001110100100

Como resultado obtenemos que el número de bits utilizados en el mensaje es de 34 bits.


Cuadro Comparativo

Codificación típica Codificación de Huffman


Mensaje
COMO MOCO LOCO COMO COCO COMO MOCO LOCO COMO COCO
original
Mensaje 0001100110010001110100010001100 100111011101001100100100111010
codificado 100010001 0100
Números
de bits 40 bits 34 bits
utilizados
Números
de bits 57 bits / 20 letras = 3 bits por letra 34 bits / 20 letras = 1.7 bits por letra
por letras

Como se puede observar en el cuadro comparativo hubo una reducción de 6 bits en el mensaje
utilizando la codificación de Huffman esto se debe a la alta frecuencia de algunos caracteres en
el mensaje, además se puede constatar que el número de bits por letras paso de 3 a 1,7 bits.

3. Cantidad de información

Para calcular la cantidad de información de cada carácter dentro del mensaje utilizaremos la
siguiente fórmula matemática:

𝑐 = − log 2 (𝑝𝑖 )

HCaracteres 𝒇𝒊 𝒑𝒊 Código de Huffman Cantidad de información


6 6
C 6 0 − log 2 ( ) = 𝟏. 𝟕𝟒
20 20
10 10
O 10 10 − log 2 ( ) = 𝟏
20 20
3 3
M 3 110 − log 2 ( ) = 𝟐. 𝟕𝟒
20 20
1 1
L 1 111 − log 2 ( ) = 𝟒. 𝟑𝟐
20 20
Total 20 1

Como podemos observar el cuadro nos indica que entre menor sea la frecuencia y probabilidad
de un carácter obtendremos mayor cantidad de información.
4. Entropía

Para calcular la Entropía de cada carácter dentro del mensaje utilizaremos la siguiente fórmula
matemática:

𝐸(𝑥𝑖 ) = −𝑝𝑖 log 2 (𝑝𝑖 )

Caracteres 𝒇𝒊 𝒑𝒊 Entropía
6 6 6
C 6 −( ) ∗ log 2 ( ) = 𝟎. 𝟓𝟐 …
20 20 20
10 10 10
O 10 − ( ) ∗ log 2 ( ) = 𝟎. 𝟓𝟎 …
20 20 20
3 3 3
M 3 −( ) ∗ log 2 ( ) = 𝟎. 𝟒𝟏 …
20 20 20
1 1 1
L 1 − ( ) ∗ log 2 ( ) = 𝟎. 𝟐𝟏 …
20 20 20
Total 20 1 𝐸(𝑥) = 1.64…

Como podemos observar el cuadro nos indica que la entropía de todo el mensaje es de 1.64.

En conclusión, podemos determinar que el mensaje con la codificación de Huffman obtuvo una
reducción de 6 bits en comparación a la codificación típica, debido a la alta frecuencia de
algunos caracteres en el mensaje, además que entre menor sea la frecuencia y probabilidad de
ocurrencia de un carácter obtendremos mayor cantidad de información. Por último, la entropía
del mensaje obtuvo un valor (1.64) muy cercano al número de bits por letra (1.7) de la
codificación optima.

También podría gustarte