11.4 Un codificador entrópico universal

Compresión de un símbolo

  1. Mientras el símbolo no este determinado sin incertidumbre (por el descodificador):
    1. Realizar una afirmación acerca del símbolo que permita al descodificador reducir la incertidumbre sobre él. Intentar que dicha afirmación tenga las mismas posibilidades de ser cierta que falsa.
    2. Emitir un bit de código que indique el resultado de dicha afirmación.

Descompresión de un símbolo

  1. Mientras el símbolo no este determinado sin incertidumbre:
    1. Realizar la misma afirmación que el codificador.
    2. Recibir un bit de código que indique el resultado de dicha afirmación.

Ejemplo

Supongamos el alfabeto del lenguaje castellano. Nosotros sabemos que los símbolos de una palabra no se unen en cualquier orden. Por ejemplo, si tenemos que comprimir la palabra “preciosa” podríamos usar un diccionario para calcular el número de letras que pueden seguir a un determinado prefijo, ya conocido.

Siguiendo con el ejemplo, la primera letra nos costaría 5 bits el codificarla (recuérdese que el alfabeto español tiene menos de 32 letras y más de 16). Conociendo que se trata de una “p”, sólo existen 9 posibilidades: “a”, “e”, “i”, “l”, “n”, “o”, “r”, “s” y “u”. Por tanto, para codificar la siguiente letra, la “r”, necesitaríamos 4 bits.

El resto del proceso se sintetiza en la siguiente tabla:

Intentos p r e c i o s a









1 * a a a a a s a
2 e e b e n i
3 i i c i o o
4 l o d l p
5 n u f o s
6 o g u t
7 r h
8 s i
9 u j
10 l
11 m
12 n
13 ñ
14 o
15 p
16 r
17 s
18 t
19 v
20 z









bits 5 4 3 5 3 3 0 2

Total de bits emitidos: 25. Total de bits codificados: 8 × 5 = 40.