Está en la página 1de 24

T RANSMISSI DE DADES I C ODIFICACI

Resoluci dexercicis Bloc 3 - Temes 7 i 8

Tema 7- Codificaci de Font

E JERCICIO 7.1.- Indica si las siguientes afirmaciones son verdaderas o falsas. Justificar.
a) Si un cdigo satisface la desigualdad de Kraft, entonces es unvocamente decodificable.
b) Si un cdigo es instantneo, entonces satisface la desigualdad de Kraft.
c) El cdigo C = {00, 001, 010, 011, 000} satisface la desigualdad de Kraft.
d) El cdigo del apartado (c) no es unvocamente decodificable.
a) FALSO. La desigualdad de Kraft es condicin necesaria pero no suficiente.
b) VERDADERO. Como Kraft es condicin necesaria para la construccin de un cdigo instantneo,
los mismos deben cumplir dicha desigualdad.
c) VERDADERO. Las longitudes de palabra son {2, 3, 3, 3, 3} y la base es 2, luego:

rlj =

1 4
3
+ = <1
4 8
4

d) VERDADERO. La secuencia 000000 puede decodificarse como dos veces 000 o tres veces 00.
E JERCICIO 7.2.- La fuente S con alfabeto {a, b, c, d, e} y probabilidades {0.1, 0.1, 0.1, 0.3, 0.4} se
codifica con el cdigo ternario (de base 3) C = {1, 02, 10, 20, 120}.
a) Satisface este cdigo la desigualdad de Kraft?
b) Es este cdigo unvocamente decodificable?
c) Repite los apartados (a) y (b) suponiendo que en lugar del cdigo ternario C se utiliza otro binario
C2 , cuyas longitudes de palabra son iguales que los de C.
a) S, satisface Kraft. Las longitudes de palabra son {1, 2, 2, 2, 3} y la base es 3, luego:

rlj =

1
19
1 3
+ +
=
< 1.
3 9 27
27
1

b) No, ya que la secuencia 120 puede decodificarse como ad o como e.


c) En el caso de ser binario el cdigo no cumplira Kraft y, por tanto, no podra ser unvoco:

rlj =

1 3 1
11
+ + =
> 1.
2 4 8
8

E JERCICIO 7.3.- Sea S = {A, P } una fuente con alfabeto A = {a, b, c, d} y probabilidades P = {0.2,
0.25, 0.2, 0.35}. Cada smbolo se genera con independencia de los generados anteriormente (fuente sin
memoria). Si la fuente se codifica utilizando un cdigo C = {0, 1, 10, 11} y una funcin de codificacin
f tal que {f (a) = 0, f (b) = 1, f (c) = 10 y f (d) = 11}:
a) Cul es la secuencia codificada cuando la fuente emite c a d a?
b) Es el cdigo C unvocamente decodificable? En caso negativo dar un ejemplo de ambigedad.
c) Es C un cdigo instantneo? Justificar.
d) Comprueba si el cdigo cumple la desigualdad de Kraft.
e) Calcula la longitud media del cdigo.
f) Repetir los apartados (d) y (e) si utilizamos un cdigo ternario con las mismas longitudes de
palabra que C y las mismas probabilidades.
g) Hallar la entropa de la fuente (tema siguiente).
a) f (cada) = 100110
b) No, por ejemplo f (ba) = f (c) = 10
c) No, pues todos los instantneos son unvocos y hemos demostrado en el apartado anterior que C
no lo es.
d) El cdigo no cumple la desigualdad de Kraft

rlj =

1
1
2+ 2 2>1
2
2

e) La longitud media del cdigo es 1,55 bits por smbolo:

pj lj = 0,2 1 + 0,25 1 + 0,2 2 + 0,35 2 = 1,55


j

f) Para un cdigo ternario con las mismas longitudes de palabra, s se cumple la desigualdad de Kraft:

rlj =

1
1
2 + 2 2 < 1.
3
3

Y la longitud media del cdigo ser igualmente de 1,55 bits por smbolo puesto que ni las longitudes
ni las probabilidades cambian.

g) La entropa de la fuente es:


H2 (S) =

pj log2

1
1,9589 .
pj

E JERCICIO 7.4.- Considera una fuente S = {A, P } con alfabeto de dos smbolos A = {a, b} de probabilidades P = { 32 , 13 }. Al concatenar smbolos de dos en dos obtenemos la fuente S2 , cuyo alfabeto sera
A2 = {aa, ab, ba, bb}. Suponiendo que cada smbolo de la fuente S es emitido de manera independiente
de los anteriores:
a) Calcula el cdigo de Huffman en base 2 para S.
b) Calcula el cdigo de Huffman en base 2 para S2 .
c) Calcula la longitud promedio necesaria para codificar cada smbolo de la fuente para los dos
incisos anteriores y compara.
d) Repite los apartados (b) y (c) suponiendo que los smbolos de S no se emiten de manera independiente. Asume que los smbolos se emiten de dos en dos respetando las siguientes probabilidades
conjuntas: P(aa) = 12 ; P(ab) = 61 ; P(ba) = 14 .
a) Al tener slo dos smbolos, de forma trivial CH (S) = {0, 1}
b) Las probabilidades para S2 son { 94 , 29 , 29 , 19 }. Aplicamos Huffman:
4/9 2/9 2/9 1/9
4/9 2/9 3/9
4/9 5/9
1
con lo que el cdigo resultante (en una de sus posibles variantes) es CH (S 2 ) = {0, 10, 110, 111}.
Ntese que, en cada paso, las dos probabilidades ms pequeas (subrayadas) se fusionan y es la suma
de ambas la que se utiliza en el siguiente paso (indicado en negrita).
c) En el inciso (a) se requiere un bit por cada smbolo de S. En el inciso (b) calculamos la longitud
media para CH (S 2 )
1

4
2
2
1
17
+2 +3 +3 =
9
9
9
9
9

y dividimos por dos ya que cada smbolo de S 2 consiste en dos smbolos de S. Luego, el esquema en (b)
requiere menos bits por smbolo que el esquema en (a).
1
}. Aplicamos Huffman:
d) Las probabilidades para S2 son ahora { 12 , 16 , 14 , 12
6/12 2/12 3/12 1/12
6/12 3/12 3/12
6/12 6/12
1
con lo que el cdigo resultante (en una de sus posibles variantes) es CH (S 2 ) = {0, 100, 11, 101} y su
longitud media:
1

6
2
3
1
21
+3
+2
+3
=
12
12
12
12
12
3

que resulta inferior (en bits por smbolo de S) a los dos cdigos anteriores (apartados (a) y (b)).
E JERCICIO 7.5.- Sea S una fuente que genera nmeros de acuerdo al resultado de tirar un dado no
ideal, donde la probabilidad de sacar nmeros primos es el triple que la de obtener nmeros no primos
(todos los primos son equiprobables entre s, al igual que los no primos). Para codificar S se utiliza
C = {01, 10, 11, 001, 0000, 0001} con f (1) = 01, f (2) = 10, f (3) = 11, f (4) = 001, f (5) = 0000 y f (6)
= 0001.
a) Es el cdigo C unvocamente decodificable?
b) Es C un cdigo de Huffman para la fuente S?
a) S, es unvoco ya que es instantneo (no hay palabras prefijo de otras).
b) No, no lo es. Esto puede verse de forma directa al observar, por ejemplo, que f (4) tiene menor
longitud que f (5), siendo P (S = 5) el triple que P (S = 4) (la codificacin de Huffman siempre asigna
menor longitud a mayor probabilidad).
E JERCICIO 7.6.- Sea una fuente S = {A, P } de 9 smbolos, con las siguientes probabilidades
1 1 1 1 1 1 1
P = { 14 , 51 , 10
, 10 , 10 , 10 , 20 , 20 , 20 }. Determina si cada uno de estos cdigos corresponde a una codificacin de Huffman para la fuente S:
a) C = {11, 10, 000, 001, 0100, 0101, 01100, 01110, 01111}
b) C = {11, 100, 000, 001, 010, 0110, 1010, 10110, 10111}
c) C = {00, 10, 110, 111, 0100, 0101, 0110, 01110, 01111}
d) C = {10, 11, 000, 001, 010, 110, 0110, 00110, 00111}
e) C = {01, 000, 110, 100, 0010, 101, 1110, 1111, 0011}
Comenzamos por construir nuestro propio cdigo de Huffman para esta fuente (recordar que el algoritmo de Huffman da lugar a mltiples opciones):
P : 1/4 1/5 1/10 1/10 1/10 1/10 1/20 1/20 1/20
1/4 1/5 1/10 1/10 1/10 1/10 1/20 1/10
1/4 1/5 1/10 1/10 1/10 1/10 3/20
1/4 1/5 1/10 1/10 1/5
3/20
3/20
1/4 1/5 1/5
1/5
1/4 1/5 1/5
7/20
7/20
1/4 2/5
3/5 2/5
1
Comenzando desde la raz seguimos las divisiones hacia arriba para generar las palabras del cdigo:

P : 1/4
1/5
1/10
1/10
1/10
1/4
1/5
1/10
1/10
1/10
1/4
1/5
1/10
1/10
1/10 0100
1/4
1/5
1/10 110 1/10 111 1/5
1/4
1/5
1/5
1/5 010
1/4
1/5 10 1/5 11
7/20
1/4 00 2/5
7/20 01
3/5 0 2/5 1
1
Calculando la longitud media de este esquema:
L(CH ) =

1/10
1/10
1/10 0111

1/20
1/20 0110
3/20
3/20
3/20 011

1/20 01110
1/10 0111

1/20 01111

2 2
3
3
4
4
4
5
5
+ +
+
+
+
+
+
+
= 3,0
4 5 10 10 10 10 20 20 20

Del mismo modo, si calculamos las longitudes promedio de los cdigos propuestos en el enunciado
vemos que:
a) L(C) = 3,05
b) L(C) = 3,1
c) L(C) = 3,0
d) L(C) = 2,8
e) L(C) = 3,0
Por tanto, slo los cdigos de los apartados (c) y (e) pueden ser cdigos de Huffman para la fuente en
cuestin. La verificacin final consiste en comprobar que sean instantneos, lo cual se cumple en ambos
casos ya que no hay palabras prefijo de otras. De hecho, el cdigo del apartado (d) tiene justamente
este problema: no es instantneo (001 es prefijo de 00110) lo cual explica por qu puede tener longitud
menor que la obtenida mediante Huffman, que es la mnima posible para un cdigo instantneo. Alternativamente, tambin podramos haber descartado el cdigo del apartado (a) porque 01100 es una de las
palabras ms largas y el cdigo no contiene 01101.
E JERCICIO 7.7.- Sea S = {A, P } una fuente sin memoria con alfabeto A = {a, b, c, d} y probabilidades P = {pa , pb , pc , pd }. Se sabe que pa = 0,3 y pb = 0,2, pero se desconocen pc y pd . Para codificar
S, se quiere utilizar un esquema de codificacin binario instantneo y se propone utilizar un cdigo
C1 = {0, 10, 110, ?} con funcin de codificacin f1 tal que f1 (a) = 0, f1 (b) = 10 y f1 (c) = 110 (desconocemos f1 (d)). Determina si el cdigo propuesto es el ms eficiente posible para esta fuente (dados
los requisitos de instantneo y binario). Justifica bien tu respuesta.
Al solicitarse un cdigo instantneo, el ms eficiente posible debe ser un esquema de Huffman. Luego,
la nica opcin posible para completar el cdigo es f (d) = 111. Ahora bien: como la suma de todas las
probabilidades debe ser la unidad, pc + pd = 0,5 y pb < 0,25, tendremos que pc > pb y/ pd > pb . Es
decir, habr al menos uno de estos dos smbolos que tiene mayor probabilidad que b y sin embargo se
codifica con ms bits (3 frente a los 2 utilizados para b), lo cual no cumple con las reglas de codificacin
de Huffman y, por tanto, no puede ser el cdigo ms eficiente posible para esta fuente.

E JERCICIO 7.8.- Sea S una fuente con alfabeto de 3 smbolos {a, b, c} cuyas probabilidades son
Para codificarla se ha utilizado un cdigo instantneo C que no conocemos. Sabemos, sin
embargo, que el resultado de codificar cierta secuencia de 10 smbolos generados por S ha dado como
resultado: 100 010 110 100 011 01 (los espacios no forman parte del cdigo sino que se han agregado para facilitar la lectura) y que en dicha secuencia 5 smbolos son a, 3 son b y 2 son c (aunque desconocemos
el orden en el que aparecen). Si C es un cdigo instantneo,
{ 12 , 14 , 14 }.

a) Podemos decodificar unvocamente esta secuencia a pesar de no conocer la funcin de codificacin?


b) Indica cul fue la secuencia de smbolos emitida por la fuente S (si has respondido afirmativamente el inciso anterior), o por lo menos dos posibles secuencias distintas que generen el mismo
resultado al codificarse (si has respondido de forma negativa).
Comencemos por determinar las (posibles) longitudes de los cdigos asignados a cada smbolo. Siendo la secuencia de 17 bits, tenemos slo dos posibles combinaciones:
(a, b, c) = (1, 2, 3) 5 1 + 3 2 + 2 3 = 17
(a, b, c) = (2, 1, 2) 5 2 + 3 1 + 2 3 = 17
Luego, el procedimiento consiste en determinar si es posible generar la secuencia indicada asignando
palabras con longitudes segn una o de estas dos opciones. Obsrvese que, en caso de hallar ms de
una posibilidad, la secuencia no podr decodificarse de forma unvoca. Es evidente que el peor caso
es aquel en el que slo existe una posibilidad de decodificacin, porque aquel nos obliga a recorrer
sistemtimcamente todas las posibles combinaciones (a fin de descartarslas).
Como ejemplo de esta bsqueda sistemtica, elegiremos la segunda opcin en cuanto a longitudes:
(a, b, c) = (2, 1, 2) 5 2 + 3 1 + 2 3 = 17. Comenzamos a recorrer la secuencia de bits e
inmediatamente tenemos dos posibilidades: comenzar con un bit (b) o con dos (a o c):
Si comenzamos por a, tenemos a = 10,
100 010 110 100 011 01
Luego, seguimos con b = 0 c = 00.
Si b = 0 entonces el siguiente smbolo tambin debe ser b ya que la opcin c = 01 dara
como resultado un cdigo no instantneo. Por tanto:
f (abb . . .) = 100 010 110 100 011 01
Con lo cual, evidentemente sigue otra vez a y debe ser c = 11. Esto completa la funcin de
codificacin para los 3 smbolos, pero al intentar decodificar con esta regla nos encontramos que:
f (abbacba . . .) = 100 010 110 100 011 01
El siguiente smbolo ha de ser b = 0 pero esto no es posible porque ya hemos asignado las tres
que tenemos en la secuencia. Por tanto, esta opcin no es correcta.
Si c = 00 entonces el siguiente smbolo es nuevamente a = 10 y el siguiente smbolo ha de
ser b = 1, lo cual no es posible porque entonces el cdigo no es instantneo.

Si comenzamos por b, tenemos b = 1 y debemos elegir a = 00 y c = 01 a = 01 y c = 00. Si


analizamos la segunda opcin vemos que la secuencia se decodifica como:
f (bc . . .) = 100 010 110 100 011 01
f (bca . . .) = 100 010 110 100 011 01
f (bcaa . . .) = 100 010 110 100 011 01
f (bcaab . . .) = 100 010 110 100 011 01
f (bcaaba . . .) = 100 010 110 100 011 01
f (bcaabac . . .) = 100 010 110 100 011 01
f (bcaabaca . . .) = 100 010 110 100 011 01
f (bcaabacab . . .) = 100 010 110 100 011 01
f (bcaabacaba) = 100 010 110 100 011 01
Con lo cual completamos la decodificacin con la cantidad exacta de smbolos que se solicita y
con un cdio instantneo.
De forma anloga puede verificarse que con la otra opcin de longitudes de palabra tambin existe
una solucin, con lo cual la secuencia no resulta decodificable de forma unvoca.
E JERCICIO 7.9.- Cierta fuente S sin memoria genera una secuencia de 6 smbolos. La secuencia se
codifica smbolo por smbolo utilizando un esquema de Huffman en base 2 para la fuente S. La cadena
binaria resultante es: 1 0 1 1 0 0 0 0 1 0 1. Se sabe que la fuente tiene un alfabeto de 5 smbolos y
nos dicen que sus probabilidades son PA = {0,3; 0,25; 0,2; 0,2; 0,05} PB = {0,4; 0,3; 0,2; 0,05; 0,05}.
Determina cul de las siguientes afirmaciones es la correcta y justifica claramente tu eleccin:
a) Las probabilidades son PA = {0,3; 0,25; 0,2; 0,2; 0,05}.
b) Las probabilidades son PB = {0,4; 0,3; 0,2; 0,05; 0,05}.
c) Ninguna de las dos (no es posible que una secuencia de 6 smbolos emitidos por una fuente con
probabiliades PA PB , al codificarse con un esquema Huffman, genere la cadena binaria del
enunciado).
d) Cualquiera de las dos (con cualquiera de las dos opciones, PA PB , es posible que la fuente genere una cadena binaria como la del enunciado al codificar mediante un esquema de Huffman una
secuencia de entrada de 6 smbolos).
Comenzamos por calcular la codificacin de Huffman para PA :
PA : 0.3
0.25
0.2
0.2 110 0.05 111
0.3
0.25
0.2 10 0.25 11
0.3 00 0.25 01 0.45
0.45 1
0.55 0
1
Obsrvese que todos los smbolos de la fuente se codifican con 2 o ms bits, lo que hace imposible que
podamos emitir 6 smbolos con slo 11 bits (que es la longitud de la secuencia del enunciado). Veamos
qu sucede con PB :

PB :

0.4
0.3
0.2
0.05 1111 0.05 1110
0.4
0.3
0.2 110 0.1 111
0.4
0.3 10 0.3 11
0.4 0 0.6 1
1
Vemos que uno de los smbolos se codifica con 1 bit, lo cual hara posible, en principio, codificar 6
smbolos con 11 bits. Verificamos si esto se cumple para la eleccin particular que hemos hecho de
codificacin de Huffman:
fB (a, b, c, d, e) = {0, 10, 110, 1111, 1110}
fB1 (10 110 0 0 0 10 1) = bcaaab . . .
Nos queda un bit sin decodificar con lo cual el esquema elegido no nos sirve. Sin embargo, tenemos
varias formas de modificar la asignacin de unos y ceros a cada smbolo. Una solucin posible es la
siguiente:
PB : 0.4
0.3
0.2
0.05 0001 0.05 0000
0.4
0.3
0.2 001 0.1 000
0.4
0.3 01 0.3 00
0.4 1 0.6 0
1
fB (a, b, c, d, e) = {1, 01, 001, 0001, 0000}
fB1 (1 01 1 0000 1 01) = abaeab
E JERCICIO 7.10.- Sea S = {A, P } una fuente sin memoria con alfabeto A = {a, b, c, d, e, f , g, h}.
Para codificar la fuente S utilizamos un cdigo ternario (base 3) C = {1, 0, 21, 210, 220, 010, 221, ??}
con funcin de codificacin f tal que f (a) = 1, f (b) = 0, f (c) = 21 y f (d) = 210, etc; siendo f (h)
desconocido. Hallar todos los posibles valores de f (h) para los que C es un cdigo no singular que no
cumple con la desigualdad de Kraft.
Para que no se cumpla la desigualdad de Kraft, debe cumplirse:

3j > 1
j

1
1
1
1
2 1 + 2 +4 3 + >1
3
3
3
3h
25
1
+ >1
27 3 h
2
27
1
>

> 3h
3h
27
2
Como slo son posibles valores enteros para h , es fcil ver que la desigualdad se cumple para cualquier
entero menor a 3. Alternativamente, podemos aplicar logaritmos:
27
> 3h
2
27
log3
> h
2
h < log3 27 log3 2
h < 3 log3 2
8

No nos hace falta el valor exacto de log3 2 0,6309, pues basta con saber que (de forma evidente) es
menor que la unidad, con lo cual h queda acotado por un nmero entre 2 y 3. Luego, siendo entero,
deber ser menor o igual a 2.
Finalmente, la solucin al problema son todas las combinaciones de uno y dos smbolos ternarios,
excepto los ya utilizados en el cdigo: {2, 00, 01, 02, 10, 11, 12, 20, 22}.
E JERCICIO 7.11.- El cdigo Morse, utilizado en telegrafa, permite codificar cada letra del alfabeto
con puntos y rayas. La figura 1 ilustra dicha codificacin para los smbolos utilizados en idioma ingls:

Figura 1: Cdigo Morse Internacional


a) El cdigo Morse separa cada letra con otro smbolo, que podemos interpretar como un espacio.
Es necesario utilizar dicho espacio? Por qu?
b) Es el cdigo Morse un cdigo instantneo? Por qu?
c) En la figura 2 se indican las frecuencias tpicas de apracicin de las letras en el idioma ingls. A
partir de las mismas, calcule la longitud promedio del cdigo Morse para un texto escrito en ingls
(suponer independencia de emisin de las letras y no distincin entre maysculas y minsculas).
a) S, la sepacacin es necesaria para garantizar la decodificacin de forma unvoca. Por ejemplo,
en ausencia del espacio de separacin, codificaramos la letra A y la secuencia ET de la misma forma
(punto-raya).
b) Si consideramos slo la codificacin de la tabla (sin el espacio de separacin entre smbolos), el
cdigo Morse no es instantneo (pues no es unvoco como vimos en el apartado (a)).
c) La longitud promedio se obtiene simplemente sumando, para cada smbolo, el producto de sus frecuencias de aparicin por la cantidad de puntos y rayas con que se codifica, resultando un promedio de
9

Figura 2: Frecuencias relativas de aparicin de letras en el idioma ingls


2,54167 puntos y rayas por letra (1,543 puntos y 0,999 rayas).
E JERCICIO 7.12.- En la figura 2 se indican las frecuencias tpicas de aparicin de las letras en el
idioma ingls.
a) A partir de las mismas, calcula el cdigo binario de Huffman resultante (para codificar una letra a
la vez) y su longitud promedio.
b) Compara esta longitud con la cantidad promedio de puntos y rayas del cdigo Morse (ejercicio
anterior). Cul de los dos cdigos tiene menor longitud promedio?
c) Supongamos ahora que, en el cdigo Morse, interpretamos que cada palabra de cdigo termina
con un espacio. Es decir, cada letra se representa por el nmreo correspondiente de puntos y rayas
ms un espacio al final. Entonces, la longitud promedio del cdigo Morse es igual al promedio de
puntos y rayas por letra, ms 1 (que es el promedio de espacios por letra). Dicha longitud resulta
menor que la del cdigo de Huffman calculado en el apartado (a). Explica cmo es posible que
pase esto si sabemos que los cdigos de Huffman son los cdigos instantneos de menor longitud
promedio posible.
a) Procediendo de manera similar a lo visto en problemas anteriores podemos calcular una posible
codificacin de Huffman para esta fuente: C = {0001, 001111, 10110, 00000, 011, 11010, 001100,
1001, 0100, 110110100, 1101100, 00001, 11000, 0101, 0010, 001110, 110110110, 1010, 1000, 111,
10111, 110111, 11001, 110110101, 001101, 110110111}, siendo la longitud promedio resultante de
4,205 bits por letra.
Cuando la fuente tiene una cantidad de smbolos considerable es conveniente automatizar la construccin del esquema de codificacin. En la figura 3 se indica una implementacin sencilla del algoritmo de

10

Figura 3: Codificacin de Huffman en base 2 para Matlab


11

Huffman para base 2 en Matlab.


b) La longitud del cdigo Morse es bastante menor que la del cdigo de Huffman del apartado (a).
c) El resultado se debe a que el cdigo de Huffman con un espacio adicional para terminar cada letra
utiliza tres smbolos, mientras que el cdigo de Huffman calculado en el apartado (a) utiliza slo dos.
Podemos verificar que, construyendo un cdigo de Huffman en base 3, obtenemos una longitud media
igual a 2,7032 por letra, la cual es menor que los 3,54 resultante del cdigo Morse con el espacio adicional indicado en el enunciado.
E JERCICIO 7.13.- La fuente S con alfabeto {a1 , a2 , a3 , a4 } y smbolos equiprobables se codifica con
un cdigo C = {0, 01, 011, 0111}.
a) Razona si el cdigo es unvocamente decodificable.
b) Razona si el cdigo es instantneo.
c) Comprueba si el cdigo cumple la desigualdad de Kraft.
a) El cdigo es unvocamente decodificable ya que para cualquier secuencia de smbolos recibidos
podemos decodificarlo sin ambigedad.
b) El cdigo no es instantneo ya que no es un cdigo prefijo. Por ejemplo, la palabra 0 es prefijo de
las dems palabras.
c) El cdigo cumple la desigualdad de Kraft:

rlj =

1
1
1
1
3
15
+ 2+ 3+ 4 = =
.
2 2
2
2
4
16

E JERCICIO 7.14.- Sea una fuente S con alfabeto {a, b, c, d, e} y probabilidades {0,3, 0,15, 0,25, 0,1, 0,2}.
a) Codificar la secuencia ace mediante un cdigo de Huffman.
b) Hallar el intervalo que contiene el valor a codificar usando codificacin aritmtica.
a) El cdigo Huffman es {00, 110, 01, 111, 10}. Por tanto, la secuencia ace se codificar como 000110.
b) Para la codificacin aritmtica, asignamos a cada smbolos su propio rango de probabilidad:
a
b
c
d
e
[0, 0,3) [0,3, 0,45) [0,45, 0,7) [0,7, 0,8) [0,8, 1)
Y para cada smbolo localizamos el intervalo y los lmites superiores e inferiores:
Codificacin de a:
inf = 0
sup = 0,3
12

(1)
(2)

Codificacin de c:
inf = 0 + (0,3 0) 0,45 = 0,135
sup = 0 + (0,3 0) 0,7 = 0,21

(3)
(4)

inf = 0,135 + (0,21 0,135) 0,8 = 0,195


sup = 0,135 + (0,21 0,135) 1 = 0,210

(5)
(6)

Codificacin de c:

Por tanto, la secuencia ace se puede codificar mediante cualquier valor dentro del rango [0,195, 0,210).
E JERCICIO 7.15.- Sea una fuente S de 6 smbolos equiprobables.
a) Hallar la entropa de la fuente (tema siguiente).
b) Es posible construir un cdigo binario instantneo con longitudes de palabra {2, 2, 3, 3, 3, 3}?
c) Cul es la longitud media mnima para cualquier cdigo compacto de dicha fuente? (con dar una
cota inferior es suficiente).
d) Es posible construir un cdigo binario unvoco con longitud media superior a 2.8?
e) Hallar un posible cdigo de Huffman de dicha fuente y su longitud media.
a) Puesto que los smbolos son equiprobables:

1
= log2 6 2,396 .
H(S) =
pj log2
pj
j
b) Comprobamos que cumple la desigualdad de Kraft:

1
1
rlj = 2 2 + 3 4 = 1
2
2
j
y por tanto s es posible.
c) Para cualquier cdigo C unvocamente decodificable se cumple que L(C) H(S). Por tanto,
L(C) 2,396. Para hallar el valor exacto, podramos construir un cdigo Huffman y hallar su
longitud media.
d) No hay cotas superiores para un cdigo unvoco.
e) Un
posible cdigo de Huffman es CH = {00, 01, 100, 101, 110, 111} y su longitud media LH =
j lj pj = 2,67. Esta sera la longitud media mnima de cualquier cdigo unvocamente decodificable.
E JERCICIO 7.16.- Sea una fuente S con alfabeto de fuente A = {1, 2, 3, 4} y smbolos equiprobables.
a) Dar un ejemplo de cdigo singular.
b) Dar un ejemplo de cdigo unvoco pero no instantneo.
c) Dar un ejemplo de cdigo ptimo.
Mltiples soluciones. Vese la teora para algunos ejemplos.
13

Tema 8- Informaci i Entropia

E JERCICIO 8.1.- Sea S = {A, P } una fuente sin memoria con alfabeto A = {a, b, c, d, e} y probabili2 1
dades P = { 61 , 14 , 15 , 15
, 4 }.
a) Calcula la entropa (binaria) de la fuente, H2 (S).
b) Calcula la entropa (binaria) de la segunda extensin de la fuente, S2 .
c) Calcula las cotas mnima y mxima para la longitud promedio de un esquema de codificacin de
Huffman en base 2 sobre S2 .
d) Construye el esquema de Huffman en base 2 para S2 y calcula su eficiencia.
a) Utilizando la definicin de entropa,
H2 (S) =

pj log2

1
2,283
pj

b) Dado que las extensiones se efectan asumiendo independencia:


H2 (S 2 ) = 2 H2 (S) 4,566

c) La longitud del esquema de Huffman (LCH ) estar acotada por la entropa y la entropa ms uno:
H2 (S 2 ) LCH < H2 (S 2 ) + 1
4,566 LCH < 5,566

d) La segunda extensin de la fuente del enunciado consiste en 25 smbolos dobles, cuyas probabilidades son todos los productos posibles de dos smbolos de S: S 2 = {A2 , P 2 }; A2 = {aa, ab, ac, ad, ae,
1
1
1
1
1
1
1
, 24
, 30
, 45
, 24
, 24
, 16
,
ba, bb, bc, bd, be, ca, cb, cc, cd, ce, da, db, dc, dd, de, ea, eb, ec, ed, ee}; P 2 = { 36
1
1
1
1
1
2
1
1
1
2
4
1
1
1
1
1
1
1
, , , , , , , , , , ,
, , , , , , }. Con estos datos podemos calcular el
20 30 16 30 20 25 75 20 45 30 75 225 30 24 16 20 30 16
esquema de Huffman y obtenemos una longitud promedio de 4,59 bits por smbolo de S 2 . Por tanto, la
eficiencia de este esquema de Huffman para S 2 es = 4,566/4,59 = 0,9984.

14

E JERCICIO 8.2.- Dada la misma fuente de informacin del Ejercicio 1:


a) Calcular la entropa (ternaria) de la extensin sexta de S.
b) Calcular las cotas mnima y mxima para la longitud promedio de un esquema de codificacin de
Huffman en base 3 sobre S6 .
a) Dado que las extensiones se efectan asumiendo independencia:
H3 (S 6 ) = 6 H3 (S)

1
pj log3
8,642
H3 (S 6 ) = 6
p
j
j
b) La longitud del esquema de Huffman (LCH ) estar acotada por la entropa y la entropa ms uno:
H3 (S 6 ) LCH < H3 (S 6 ) + 1
8,642 LCH < 9,642 .

E JERCICIO 8.3.- Determinar si las siguientes afirmaciones son verdaderas o falsas (justificar):
a) Dada una fuente S de 3 smbolos equiprobables y sin memoria, puede construirse un cdigo de
Huffman en base 4 para S3 (tercera extensin de la fuente S) con una longitud promedio mayor
que 55
16
b) Dada una fuente S de 4 smbolos equiprobables y sin memoria, puede construirse un cdigo ternario unvoco para S 5 con longitud promedio mayor a 59
8
c) Dada una fuente S de 4 smbolos equiprobables y sin memoria, puede construirse un cdigo ternario unvoco para S 5 con longitud promedio menor a 59
8
d) Sean dos fuentes S y T con entropa H(S) y H(T ), respectivamente. Si la informacin mutua
I(S, T ) > 0 y H(S) > H(T ) entonces H(S, T ) > 2 H(T ) I(S, T ).
a) FALSO. La entropa de la fuente en base 4 es H4 (S) = log4 (3) 0,7925 con lo cual para la tercera
extensin tenemos H4 (S 3 ) = 3 H4 (S) 2,377 y la longitud promedio de un esquema de Huffman
= 3,4375 > 3,377.
para la misma queda acotada entre 2,377 y 3,377; claramente 55
16
b) VERDADERO. Sin necesidad de hacer clculos, siempre es posible construir un cdigo unvoco
con longitud mayor a cualquier cota especificada.
c) VERDADERO. La entropa de la fuente en base 3 es H3 (S) = log3 (4) 1,269 con lo cual para la
quinta extensin tenemos H3 (S 5 ) = 5 H3 (S) 6,309 y la longitud promedio de un cdigo unvoco
queda por tanto acotada inferiormente por 6,309. Puesto que 59/8 = 7,375, s se puede construir un
cdigo ternario unvoco para S 5 con longitud promedio menor a 59
8

15

d) VERDADERO.
H(S, T ) = H(S) + H(T ) I(S, T ) > 2H(T ) I(S, T )

E JERCICIO 8.4.- Sea S una fuente que genera nmeros de acuerdo al resultado de tirar un dado
ideal, donde todas las caras tienen la misma probabilidad de ocurrencia. Por tanto, S puede generar
los nmeros del 1 al 6 equiprobablemente. Definimos las variables aleatorias X={sale nmero par},
Y ={sale un nmero mayor que 3} y Z={sale el nmero 5}.
a) Calcular H2 (S).
b) Calcular H2 (X), H2 (Y ), H2 (Z).
c) Calcular I(X, Y ), I(Z, X) e I(Z, Y ).
a) La fuente S tiene 6 smbolos, cada uno con probabilidad 16 , por lo cual H(S) = 6 16 log2 (6)
2,585.
b) La variable aleatoria X tiene dos smbolos: verdadero o f also. Tendremos X = verdadero para
los nmeros pares, que son tres y todos tienen probabilidad 16 , por tanto P (X = verdadero) = 3 16 = 12 .
De modo similar, el evento complementario tambin tiene probabilidad 12 y la entropa resultante es
H(X) = log2 (2) = 1. El mismo resultado se obtiene par H(Y ) ya que las posibilidades de obtener un
nmero mayor que 3 o no mayor que 3 son las mismas.
En cuanto a Z, ser verdadero slo si obtenemos un 5, que ocurrir con probabilidad 16 ; el evento
complementario tiene entonces probabilidad 56 y la entropa es H(Z) = 61 log2 (6) + 56 log2 ( 56 ) 0,65.
c) Para hallar la informacin mutua podemos optar por utilizar las entropas conjuntas I(X, Y ) =
H(X) + H(Y ) H(X, Y ) o las condicionales, I(X, Y ) = H(X) H(X|Y ) = H(Y ) H(Y |X).
Por ejemplo, la entropa conjunta de X e Y es:

1
H(X, Y ) =
P (X = i, Y = j) log
P (X = i, Y = j)
i
j
Las probabilidades conjuntas involucradas son 4, a saber:
P (X = v, Y = v) = prob. nmero par y mayor que 3 = P (S = 4) + P (S = 6) = 13 .
P (X = v, Y = f ) = prob. nmero par y no mayor que 3 = P (S = 2) = 16 .
P (X = f, Y = v) = prob. nmero impar y mayor que 3 = P (S = 5) = 16 .
P (X = f, Y = f ) = prob. nmero impar y no mayor que 3 = P (S = 1) + P (S = 3) = 31 .
Luego,
1
1
log2 (3) + 2 log2 (6) 1,9183
3
6
I(X, Y ) = H(X) + H(Y ) H(X, Y ) 1 + 1 1,9183 0,0817
H(X, Y ) = 2

Elijamos entropa condicional para el caso siguiente, I(Z, X). Necesitamos las probabilidades condicionales, que tambin sern cuatro. Si elegimos utilizar H(Z|X) tendremos:
16

P (Z = v | X = v) = prob. nmero 5 dado que el nmero es par = 0.


P (Z = f | X = v) = prob. nmero = 5 dado que el nmero es impar =
= P (S = 5 | S = {2 4 6} = 1.
P (Z = v | X = f ) = prob. nmero 5 dado que el nmero es impar =
= P (S = 5 | S = {1 3 5} = 13 .
P (Z = f | X = f ) = prob. nmero = 5 dado que el nmero es impar =
= P (S = 5 | S = {1 3 5} = 23 .
Luego,
)
1
H(Z|X) =
P (Z = j | X = i)
i
j
(
)
1
1
2
3
1
H(Z|X) = 0 +
log2 (3) + log2 ( ) 0,4591
2
2
3
3
2
I(Z, X) = H(Z) H(Z|X) 0,65 0,4591 0,1909

(
P (X = i)
P (Z = j | X = i) log

Del mismo modo podemos calcular I(Z, Y ). Puede verificarse que H(Z|Y ) coincide con H(Z|X)
por lo que resulta ms instructivo utilizar I(Z, Y ) = H(Y ) H(Y |Z),
P (Y = v | Z = v) = P (S > 3 | S = 5) = 1.
P (Y = f | Z = v) = P (S 3 | S = 5) = 0.
P (Y = v | Z = f ) = P (S > 3 | S = 5) = 25 .
P (Y = f | Z = f ) = P (S 3 | S = 5) = 35 .
Luego, y recordando que Z tiene probabilidades 16 y 56 , resulta:
(
)
2
5 3
5
1
5
H(Y |Z) = 0 +
log2 + log2
0,8091
6
6
5
2 5
3
I(Z, Y ) = H(Y ) H(Y |Z) 1 0, 8091 0,1909 .
E JERCICIO 8.5.- Se dispone de 3 esquemas de codificacin para la fuente S = {S, P }. tal como se
muestra en la siguiente tabla:
Alfabeto (S)
a
b
c
d

Probabilidad (P )
0.4
0.3
0.2
0.1

Cdigo C1
1
01
001
000

Cdigo C2
11
10
01
00

Cdigo C3
1
10
100
1000

Definimos las variables aleatorias X={la fuente S emite el smbolo a} e Y ={el primer carcter del
cdigo asignado al smbolo emitido por S es un uno}. Calcula la informacin mutua entre X e Y ,
I(X, Y ), para cada caso.

17

Comenzamos por notar que H(X) = 0,6 log2 (0,6) 0,4 log2 (0,4) 0,971. Al igual que
en el ejercicio anterior, podemos elegir entre utilizar entropas condicionales o entropas conjuntas. Sin
embargo, en este caso parece ms directo el uso de condicionales H(X|Y ) ya que implican menos
clculo.
Para el cdigo C1 la variable Y es verdadero slo si S = a, coincidiendo exactamente con X. Por
tanto, sin necesidad de clculos adicionales, I(X, Y ) = H(X) 0,971.
Para el cdigo C2 la variable Y es verdadero par a y b, es decir, P (Y = verdadero) = P (S =
a) + P (S = b) = 0,7; P (Y = f also) = 0,3. Las probabilidades condicionales son:
P (X = v | Y = v) =

0,4
0,7

= 47 .

P (X = f | Y = v) =

0,3
0,7

= 37 .

P (X = v | Y = f ) = 0.
P (X = f | Y = f ) = 1.
Luego,
H(X|Y ) = 0,7 H(X | Y = v) + 0,3 H(X | Y = f )
(
)
4
7 3
7
H(X|Y ) = 0,7
log2 + log2
+ 0,3 0 0,6897
7
4 7
3
I(X, Y ) = H(X) H(X|Y ) 0,2813
Finalmente, para el cdigo C3 vemos que Y es siempre verdadero por lo que H(Y ) = 0 al igual que
la informacin mutua I(X, Y ) = 0 (la informacin mutua entre dos variables es siempre menor o igual
que la mnima de las entropas de las variables individuales).
Los resultados para los cdigos C1 y C3 , que se han deducido conceptualmente, pueden verificarse de
manera numrica procediendo como se ha mostrado para el cdigo C2 .
E JERCICIO 8.6.- Albert y Berta juegan a piedra, papel, tijeras. Albert elige piedra con probabilidad
1/2, papel con probabilidad 1/4, y tijeras con probabilidad 1/4. Berta elige piedra o papel con la misma
frecuencia, pero nunca elige tijeras. Albert y Berta eligen independientemente. Sean A y B las variables
aleatorias que indican las jugadas de Albert y Berta, respectivamente. Sea X = 1 si gana Albert, X = 2
si gana Berta y X = 0 si hay empate1 . Calcular H(A, B), H(A|X = 2) e I(X, A).
Siguiendo el orden piedra, papel, tijera tenemos:
1 1 1
P (A) = { , , }
2 4 4
1 1
P (B) = { , , 0}
2 2
1

Recordar que en el juego en cuestin el papel vence a la piedra, la piedra vence a la tijera y la tijera vence al papel.

18

Utilizando las reglas del juego calculamos las probabilidades para X:


P (X = 0) = P ({A = P ie B = P ie} {A = P ap B = P ap} {A = T ij B = T ij})
) (
) (
)
(
1 1
1
3
1 1
P (X = 0) =

+
0 =
2 2
4 2
4
8
P (X = 1) = P ({A = P ie B = T ij} {A = P ap B = P ie} {A = T ij B = P ap})
(
) (
) (
)
1
1 1
1 1
1
P (X = 1) =
0 +

=
2
4 2
4 2
4
P (X = 2) = P ({A = P ie B = P ap} {A = P ap B = T ij} {A = T ij B = P ie})
(
) (
) (
)
1 1
1
1 1
3
P (X = 2) =

+
0 +

=
2 2
4
4 2
8
a) Como la eleccin de ambos jugadores se hace de manera independiente, tenemos que A y B son
independientes. Luego, I(A, B) = 0 y podemos calcular la entropa conjunta como:
H(A, B) = H(A) + H(B) I(A, B)
1
2
3
H(A) = log2 2 + log2 4 =
2
4
2
2
H(B) = log2 2 = 1
2
H(A, B) = 1,5 + 1 0 = 2,5

b) Utilizando la definicin de probabilidad condicional:


1/4
2
P ({A = P ie X = 2})
=
=
P (X = 2)
3/8
3
P ({A = P ap X = 2})
0
P (A = P ap|X = 2) =
=
=0
P (X = 2)
1/4
1/8
1
P ({A = T ij X = 2})
P (A = T ij|X = 2) =
=
=
P (X = 2)
3/8
3
P (A = P ie|X = 2) =

Luego,
(
H(A|X = 2) =
P (A = i | X = 2) log
i

1
P (A = i | X = 2)

)
0,9183

c) Comenzamos por completar las probabilidades condicionales P (A|X) procediendo como en el


inciso anterior:
2 1
P (A | X = 0) = { , , 0} H(A | X = 0) 0,9183
3 3
1 1
P (A | X = 1) = {0, , } H(A | X = 1) = 1
2 2
19

y luego calculamos la entropa condicional y la informacin mutua:

H(A|X) =
P (X = i) H(A | X = i)
i

3
1
3
H(A|X) 0,9183 + 1 + 0,9183 0,9387
8
4
8
I(X, A) = H(A) H(A|X) 0,5613 .

E JERCICIO 8.7.- Supongamos que hay dos dados muy extraos, de 4 caras cada uno (numeradas 1,
2, 3, 4). Para estudiarlos, definimos dos fuentes de informacin S y T que generan nmeros de acuerdo
al nmero resultante en el primero y en el segundo dado, respectivamente. Los nmeros que salen en el
primer dado (el que corresponde a S) ocurren los cuatro equiprobablemente. Sin embargo, el segundo
dado est atado al primero de forma tal que:
Si en el primer dado sale un nmero impar, en el segundo saldr par (2 o 4 con igual probabilidad).
Si en el primer dado sale un nmero par, en el segundo puede salir cualquier nmero equiprobablemente, exceptuando el mismo nmero que en el primer dado (que no puede salir).
Cul es la cota inferior (terica) para la longitud promedio (expresada en bits) que se necesita para codificar el resultado de tirar estos dos dados? (suponiendo que podemos agrupar los nmeros generados
en secuencias tan largas como se quiera).
La cota inferior que se pide es la entropa conjunta, H(S, T ) y como se pide el resultado en bits, ha
de ser calculada en base 2.
A partir de las reglas del enunciado, las probabilidades conjuntas de S y T son:
P (S = 1, T = {1, 2, 3, 4}) = {0

0 18 }

1
8

1
P (S = 2, T = {1, 2, 3, 4}) = { 12
0

1 1
}
12 12

P (S = 3, T = {1, 2, 3, 4}) = {0, 18 , 0, 81 }


1
P (S = 4, T = {1, 2, 3, 4}) = { 12
,

1
, 1,
12 12

0}

con lo cual, la entropa conjunta resulta:


H(S, T ) =

H(S, T ) = 4

P (S = i, T = j) log

1
P (S = i, T = j)

1
1
log2 8 + 6
log2 (12) 3,2925 bits.
8
12

20

E JERCICIO 8.8.- Una fuente S genera nmeros de acuerdo al resultado de tirar un dado honrado.
Dicha fuente se codificar en base 2 utilizando el cdigo C = {00, 01, 10, 110, 1110, 1111}. Ahora
realizamos un lanzamiento del dado, y lo codificamos. Asumiendo que numeramos los bits de cdigo en
forma ascendente de izquierda a derecha:
a) Cul es la entropa (en base 2) del primer bit?
b) Cul es la entropa (en base 2) del segundo bit suponiendo que conocemos el primero?
a) El primer bit es cero si obtenemos 1 2 y uno en los restantes cuatro casos. Al ser los seis casos
equiprobables, tenemos que el primer bit ser cero con probabilidad 13 y uno con probabilidad 32 . Luego:
H2 (1er bit) =

1
2
3
log2 3 + log2 0,9183 .
3
3
2

b) En este caso necesitamos las probabilidades condicionales del segundo bit dado el primero. Como
todos los nmeros del dado son equiprobables, el clculo se reduce a un mero conteo de casos favorables.
Si el primer bit es cero tenemos dos opciones: 00 01, con el segundo bit en cero uno con igual
probabilidad (1/2). Por tanto, H2 (2do bit | 1er bit = 0) = 1 bit.
Si el primer bit es uno tenemos cuatro opciones, una con el segundo bit en cero y las otras tres con el
segundo bit en uno con probabilidades 1/4 y 3/4 respectivamente. Por tanto, H2 (2do bit | 1er bit = 1)
0,8113 bits.
Finalmente, la entropa que buscamos resulta:
H2 (2do bit | 1er bit)

2
4
1 + 0,8113 0,8742 .
6
6

E JERCICIO 8.9.- Una fuente S genera nmeros de acuerdo a la suma de dos dados honrados. Los
dados son independientes, pero cuando la suma resulta ser mltiplo de 4, la tirada se anula y se repite
(las veces que sea necesario hasta que la suma no sea mltiplo de 4). Calcula la informacin (en bits)
que provee el conocimiento del valor de uno de los dados respecto del valor de la fuente S.
Lo que nos pide el enunciado es calcular la informacin mutua entre la fuente y un dado. Llamamos
D1 y D2 a los dados, sin importar la eleccin ya que son idnticos. Calcularemos I(S, D1 ) utilizando
I(S, D1 ) = H(S) H(S|D1 ).
Al realizar un lanzamiento de D1 y D2 tenemos 36 posibles combinaciones, pero hay nueve cuya suma
es mltiplo de 4 (tres que suman 4, cinco que suman 8 y una que suma 12). Por tanto, nos quedan 27
posibles combinaciones, todas equiprobables. Esto hace que las probabilidades de S sean como sigue:
P (S = 2) =

1
27

P (S = 3) =

2
27

P (S = 5) =

4
27

P (S = 6) =

5
27

P (S = 7) =

6
27

P (S = 9) =

4
27

P (S = 10) =

3
27

P (S = 11) =

2
27

con lo cual H2 (S) 2,8336 bits. Calculamos ahora las probabilidades condicionales de S con respecto
a D1 :
21

P (S = {2, 3, 5, 6, 7} | D1 = 1) = { 15 , 15 ,

1 1 1
};
5 5 5

P (D1 = 1) =

P (S = {3, 5, 6, 7} | D1 = 2) = { 14 , 14 ,

1 1
};
4 4

P (D1 = 2) =

4
27

P (S = {5, 6, 7, 9} | D1 = 3) = { 14 , 14 ,

1 1
};
4 4

P (D1 = 3) =

4
27

P (S = {5, 6, 7, 9, 10} | D1 = 4) = { 15 , 15 ,

1 1 1
};
5 5 5

P (S = {6, 7, 9, 10, 11} | D1 = 5) = { 15 , 15 ,


P (S = {7, 9, 10, 11} | D1 = 6) = { 14 , 14 ,

P (D1 = 4) =

1 1 1
};
5 5 5

1 1
};
4 4

5
27

5
27

P (D1 = 5) =
P (D1 = 6) =

5
27

4
27

Ntese que para calcular P (D1 ) SLO se han tenido en cuenta las prtidas vlidas (para una partida no
vlida S no genera ningn smbolo). Finalmente,
H(S|D1 ) = 3

5
4
log2 5 + 3
log2 (4) 2,1788 bits
27
27
I(S, D1 ) = H(S) H(S|D1 ) 0,6548 bits.

E JERCICIO 8.10.- Sean X e Y dos variables aleatorias, tal que X toma valores enteros entre 0 y 2
(inclusive) e Y toma los valores 0 1. Si combinamos X e Y tenemos 6 casos posibles, cuyas probabilidades se detallan en la siguiente tabla:
P (X, Y )
Y =0
Y =1

X =0
1/4
1/12

X =1
1/12
1/4

X =2
1/6
1/6

a) Son X e Y estadsticamente independientes? Justificar.


b) Calcular la informacin mutua I(X,Y ).
c) Es posible permutar dos entradas de la tabla de P (X, Y ) definida arriba, tal que se incremente la
informacin mutua entre X e Y ? Justificar.
a) NO. Calculando las probabilidades marginales de X e Y vemos que ambas tienen distribucin uniforme con probabilidades de 13 y 12 respectivamente. Si X e Y fueran independientes, todos los valores
de la tabla seran 61 , pues coincidiran con el producto de las probabilidades marginales.
b) Como tenemos las probabilidades marginales y conjunta, procedemos de forma directa:
H(X) = log2 3 1,585
H(Y ) = log2 2 = 1
2
2
2
H(X, Y ) = log2 4 + log2 6 +
log2 12 2,4591
4
6
12
I(X, Y ) = H(X) + H(Y ) H(X, Y ) 0,1258
c) NO. Esto se ve claramente en la ecuacin utilizada en el apartado anterior para calcular la informacin mutua: las entropas marginales estn sumando y la entropa conjunta restando. Mientras que
cualquier permutacin de la tabla no afecta a H(X, Y ), los valores de H(X) y H(Y ) son mximos en
la situacin actual (ya que ambas variables tiene distribucin uniforme). Es decir, cualquier permutacin
22

que realicemos har que H(X) y H(Y ) se mantengan en su valor actual o se reduzcan, sin modificar
H(X, Y ). Por tanto, la informacin mutua slo puede mantener su valor o reducirse.
E JERCICIO 8.11.- Sea la fuente S = {A, P } sin memoria y con alfabeto de 5 smbolos equiprobables.
Para codificar S queremos utilizar un cdigo binario que, en promedio, por cada smbolo emitido por S
necesite menos de 2,35 bits. Adems, si es posible preferimos que el cdigo sea instantneo (para cada
smbolo de S), pero si esto no se puede hacer nos conformaramos con que el cdigo sea unvocamente
decodificable:
a) Es posible construir un cdigo instantneo para los smbolos de S que cumpla con las especificaciones indicadas.
b) No es posible construir un cdigo instantneo para los smbolos de S que cumpla con las especificaciones indicadas, pero s se puede construir uno unvoco que las cumpla.
c) No es posible construir un cdigo instantneo ni tampoco unvoco que cumpla con las especificaciones indicadas.
Indica cul de las respuestas consideras correcta, explicando por qu y, en caso de seleccionar (a) (b)
indica un posible cdigo que cumpla las especificaciones solicitadas.
La entropa de la fuente es H(S) = log2 5 2,3219 bits, menor que los 2,35 bits especificados en el
enunciado, por lo que podremos construir un cdigo unvoco con menos de 2,35 bits por smbolo. Esto
descarta la opcin (c).
Para saber si podemos construirlo instantneop para S, buscamos el cdigo de Huffman para esta
fuente, resultando CH = {01, 10, 11, 000, 001}, cuya longitud promedio es L(CH ) = 2,4 bits, mayor que
2,35. Luego, no es posible construir un cdigo instantneo para S con la longitud promedio solicitada, y
la respuesta correcta es (b).
Para completar nuestra respuesta, buscamos un cdigo unvoco CU con L(CU ) < 2,35 bits por smbolo de S. Una opcin sencilla consiste en realizar extensiones de S y aplicar Huffman. Las cotas de
longitud promedio por cada smbolo de S utilizando la extensin n-sima resultarn:
H(S)

L(CH {S n })
1
< H(S) +
n
n

siendo L(CH {S n }) la longitud promedio de un esquema de Huffman para la extensin n-sima de S.


Como slo nos interesa la cota superior, buscamos n tal que:
H(S) +

1
2,35
n

1
2,35 H(S)
n

1
2,35 H(S)

de lo que resulta n 35,63 y la desigualdad que buscamos se cumplir a partir de n = 36.


Debe notarse que la cota calculada nos da la seguridad de conseguir una longitud menor que 2,35 bits
por smbolo de S, pero por lo general (para valores bajos de n) la longitud media de los esquemas de
Huffman suele acercarse ms a la cota inferior que a la superior. Es decir, es muy probable que con un
n mucho ms pequeo sea suficiente. En este caso en concreto, realizando las extensiones de S y sus
respectivos esquemas de Huffman, podemos comprobar que con n = 3 cumplimos con nuestro objetivo:
S 2 : 25 smbolos, L(CH {S 2 }) = 4,72 bits (2,36 bits por smbolo de S).
23

S 3 : 125 smbolos, L(CH {S 3 }) = 6,976 bits (2,3253 bits por smbolo de S).
E JERCICIO 8.12.- Sea S = {A, P } una fuente sin memoria con alfabeto A = {a, b, c, d} y probabili1
dades P = { 61 , 18 , 58 , 12
}. Si concatenamos los smbolos de S de cuatro en cuatro obtenemos la fuente S4
(cuarta extensin de la fuente S):
a) Calcula la entropa (binaria) de la fuente, H2 (S).
b) Calcula la eficiencia de un cdigo de longitud fija 2 para codificar los smbolos de S.
c) Calcula la entropa (binaria) de la cuarta extensin de S, H2 (S4 ).
d) Calcula la longitud media de un cdigo que codifique S4 para que tenga la misma eficiencia que
el cdigo del apartado (b).
e) Calcula la longitud mnima de un cdigo fijo para S 4 y su eficiencia.
a) Aplicando la definicin, la entropa de la fuente resulta:
H2 (S) =

pi log2

H2 (S) =

1
pi

8
1
1
5
1
log2 6 + log2 8 + log2 +
log2 12 1,5284 bits.
6
8
8
5 12

b) La eficiencia de un cdigo de longitud media 2 es = 1,5284/2 = 0,7642.


c) Como la fuente no tiene memoria tenemos que:
H2 (S 4 ) = 4 H2 (S) 6,1135 bits.
d) Para S 4 , un cdigo cuya eficiencia sea 0,7642 tendr una longitud promedio L(S 4 ) = 6,1135/0,7642 =
8 bits, y por tanto, de 2 bits por smbolo de S.
e) Como S 4 consta de 256 smbolos de fuente, si se utiliza un cdigo de longitud fija, ste tendr como
mnimo una longitud de 8 bits, y la eficiencia ser = 6,1135/8 = 0,7642.
E JERCICIO 8.13.- Sean S y T dos fuentes independientes. Demostrar, a partir de las probabilidades
de los smbolos de cada fuente, que al ser las fuentes independientes se cumple que H(S, T ) = H(S) +
H(T ).
Hecho en clase.

24