Leslie Murray
Area
de Comunicaciones Electricas Escuela de Ingeniera Electr
onica
Facultad de Ciencias Exactas, Ingeniera y Agrimensura
Universidad Nacional de Rosario c
Resumen
En el presente informe se introducen las ideas fundamentales de la Teora de la Informaci
on (Claude E. Shannon). En la primer parte, a partir del concepto de modelizaci
on de la informaci
on y de formas eficientes de su
representaci
on, se introduce el Primer Teorema de Shannon. Luego, basado en un modelo de canal de comunicaciones, se presenta el concepto de capacidad de canal, a partir del cual se se introduce el Segundo Teorema de
Shannon.
Introducci
on
En el a
no 1948 Claude E. Shannon sent
o las bases de una teora basada en una nueva forma de modelar la informacion
(IX ), d
andole a la misma el car
acter de magnitud cuantificable. Esta teora, universalmente reconocida bajo el nombre
de Teora de la Informaci
on, permiti
o abordar el procesamiento de datos mediante procedimientos ntegramente
matematicos, ateniendose u
nicamente a su contenido de IX , sin necesidad de adentrarse en la problem
atica de su
implementacion.
Las comunicaciones (CX ), el almacenamiento, la codificaci
on y los algoritmos de compactado vieron impulsado
su desarrollo a partir de muchos resultados que, en los a
nos subsiguientes, fueron derivados de las investigaciones de
Shannon.
El presente informe corresponde al desarrollo de los contenidos dictados en clase durante el segundo cuatrimestre
del a
no 2011, en la c
atedra A-4.29.2 Comunicaciones Electricas. Se describen algunos puntos b
asicos de la Teora de
la Informaci
on, enfocando los analisis hacia dos componentes fundamentales de los sistemas de comunicaciones, las
fuentes y los canales. A partir de los modelos de cada uno de esos dos componentes se desarrollan ideas, ejemplos y
conceptos que permiten introducir e interpretar el Primero y el Segundo Teorema de Shannon.
Una Fuente Discreta sin Memoria es un objeto capaz de producir/emitir IX bajo las condiciones que se comentan a
continuacion.
Los smbolos son tomados de un conjunto de dimensi
on K, como el siguiente:
S = {s0 , s1 , , sK1 }
Cada smbolo ocupa una ventana o ranura de tiempo. Las ranuras se suceden en forma consecutiva y no solapada,
de manera que cada smbolo cuenta con un espacio de tiempo durante el cual puede verse en la salida de la fuente.
Esta forma de emitir los smbolos da a la fuente el car
acter discreto. Ning
un smbolo emitido es influido por emisiones
anteriores ni tampoco condiciona emisiones posteriores. Esta propiedad, expresada en terminos probabilsticos, significa que todas las emisiones son estadsticamente independientes y es la que da a la fuente la caracterstica de sin
memoria.
Ya sea que se conozcan o no (para lo que sigue aceptaremos que s se conocen) llegado el momento de una emision,
a cada uno de los smbolos le corresponde un valor deprobabilidad de ser el smbolo emitido. Desde luego la suma
de los valores de probabilidad de todos los smbolos es igual a 1. La probabilidad de emision de dos o mas smbolos
determinados, en dos o mas ranuras de tiempo, es igual al producto entre sus respectivos valores de probabilidad (regla
que vale incluso para la emisi
on del mismo smbolo en dos ventanas de tiempo diferente).
1
Interesa saber que cantidad de IX contiene cada smbolo de la fuente S, antes de lo cual es preciso definir c
omo
medir esa cantidad de IX . En primer lugar es preciso ponerse de acuerdo acerca de que es esa IX que se pretende
medir. Shannon propone como criterio que la IX asociada a cada smbolo est
a ligada, o es proporcional, a la sorpresa
que provoca en un observador que est
a poniendo su atenci
on sobre la salida de la fuente. Y dando un paso mas
postula, lo cual cabe perfectamente dentro de los lmites del sentido com
un, que la sorpresa que cada smbolo es capaz
de provocar en el observador est
a estrechamente vinculada a su probabilidad de ocurrencia. Para Shannon la cantidad
de IX de cada smbolo vara en forma inversamente proporcional a su valor asociado de probabilidad. Supongase, por
ejemplo, que una determinada fuente indica, en su salida, la marca de vehculo que atraviesa determinada esquina de la
ciudad de Rosario. Con determinada frecuencia aparecer
an nombres (smbolos) como Peugeot, Ford, Volkswagen, etc.
En grandes perodos de observaci
on las respectivas frecuencias de aparici
on se corresponderan con las correspondientes
probabilidades. As entonces toda vez que sea observada, la fuente emitir
a cadenas como por ejemplo: Renault, Ford,
Honda, Ford, . Que sucedera si en un determinado momento la fuente emitiese el smbolo Ferrari. Seguramente
el impacto en un observador sera mayor que el provocado por alguno de los smbolos (marcas) que la fuente emite
en grandes cantidades. Cu
al es la raz
on?. Desde cierto punto de vista se podra decir que se trata de un vehculo
caro, bonito, etc. y esa es, en cierta medida, la raz
on de la sorpresa o el impacto que provoca. Pero formalmente
hablando la sorpresa radica en el hecho de que se trata de un smbolo con escasa posibilidad de aparici
on. O dicho de
otro modo, de aparici
on poco frecuente, es decir de un smbolo con probabilidad muy baja de ser emitido. Y he ah la
clave de la cuestion. La propuesta de Shannon consiste entonces en aceptar que proveen una mayor cantidad de
IX aquellos smbolos con menor valor de probabilidad asociado.
Llamando I(sk ) a la cantidad de IX asociada al smbolo sk , smbolo al que por otro lado le corresponde una
probabilidad p(sk ) de ser emitido por la fuente, I(sk ) sera proporcional a la magnitud 1/p(sk ). Para establecer
una funci
on matematica que especifique formalmente esta relacion es preciso plantear algunos postulados sobre las
propiedades que la IX , as definida, debe tener. Por ejemplo:
CONTINUIDAD
I(sk ) debera estar definida y ser continua para todo valor de p(sk ), sk . Dado que la probabilidad de cada
smbolo vara en forma continua dentro del [0, 1], se pretende que la I(sk ) lo haga del mismo modo.
NO NEGATIVIDAD
I(sk ) debera ser positiva o nula. No tiene sentido pensar en valores de IX negativos. Toda emision de un nuevo
smbolo aporta al entorno un conocimiento que, como mnimo, podra ser nulo. En el otro extremo no se reconoce
lmite, es decir se acepta que I(sk ) puede alcanzar valores arbitrariamente grandes sk .
INVERSA
RELACION
I(sk ) debera crecer a medida que decrece la probabilidad del smbolo correspondiente y viceversa.
ADITIVIDAD
I(sk ) debera ser tal que la IX correspondiente a dos smbolos estadsticamente independientes se sume. Tomando
en cuenta que la probabilidad conjunta de dos smbolos estadsticamente independientes, es decir la probabilidad
de que dos smbolos, no necesariamente distintos, sean emitidos (ambos) por la fuente, desde luego en distintas
ranuras de tiempo, es igual al producto de las probabilidades individuales: p(si , sj ) = p(si ) p(sj ), se pretende
que la IX aportada por los dos smbolos se pueda sumar, es decir: I(si , sj ) = I(si ) + I(sj )
Shannon propone entonces que la determinacion de la cantidad de IX asociada a cada smbolo se realice mediante
la funci
on logaritmo, aplicada del siguiente modo:
1
I(sk ) = log
= log p(sk ) 0 p(sk ) 1
p(sk )
No es necesaria una constante de proporcionalidad, la adaptacion se logra mediante la eleccion de la base del logaritmo.
Shannon comenzo con la base 2 y dio a la unidad de medida de la IX el (desafortunado) nombre de BIT, por la
contraccion de Binary Digit. Resulta un tanto dificultoso asociar el termino BIT a otra idea, en principio diferente,
a la del dgito binario del modo en que se est
a acostumbrado a manejarla en electronica digital. En tal sentido el
uso y costumbre ha llevado a considerar BITS a cada uno de los dgitos que componen un n
umero binario o incluso,
directamente a una variable con dos valores posibles. La unidad de medida de la cantidad de IX propuesta por
Shannon puede verse como una generalizaci
on de la idea anterior. Por de pronto su dominio es el de los n
umeros reales
positivos.
2
En el punto siguiente se aborda este tema en mayor detalle y se pone de manifiesto la relacion entre ambas
interpretaciones del concepto de BIT a traves de algunos ejemplos. En cualquier caso, cuando se pretende separar
ambos conceptos, se utiliza el termino BINIT para referirse a cada uno de los dgitos de un n
umero binario y BIT
para la unidad de medida de IX .
Se vera seguidamente que bajo ciertas condiciones hay una coincidencia en ambas interpretaciones. A modo de
anticipo: si la base del logaritmo es 2, la dimensi
on del alfabeto es 2n y los smbolos son equiprobables habr
a una
coincidencia entre ambas unidades de medici
on. Ejemplo: S = fuente de dos smbolos, {s0 , s1 }, regulada por el
lanzamiento de una moneda, es decir p(s0 ) = p(s1 ) = 0.5. Luego I(s0 ) = I(s1 ) = log2 2 = 1BIT, lo que significa que
a ambos smbolos les alcanza con 1BINIT para su representacion, o lo que es lo mismo con un solo dgito binario.
Mientras se trabaje con logaritmos en base 2 se mantendra la nomenclatura de BIT para ambas cosas.
2.1
Sobre el n
umero de BITS
000
001
010
011
100
101
110
111
Algunas observaciones:
1. La eleccion (codificaci
on) mostrada en la tabla es arbitraria, no obstante es claro que no alcanza con menos de
tres BITS y que un n
umero mayor sera redundante.
2. Si en lugar de 8, la fuente fuese de 10 smbolos equiprobables, el valor resultante de IX de cada smbolo ya no
sera 3 sino 3.322.
3. El n
umero 3 obtenido a traves de la expresion log2 ( p1i ) u
nicamente se alcanza para smbolos con probabilidad
1/8, y solo sera el mismo si todos los smbolos si son equiprobables.
4. Resulta evidente la relaci
on entre la base del logaritmo empleado para determinar la cantidad de IX del smbolo
y el n
umero de BITS resultantes. Esa base es precisamente la que determina el sistema de numeraci
on en el que
resultara medida la cantidad de IX . En tal sentido el resultado 3 debe interpretarse como: tiras de 3 smbolos,
cada uno de los cuales puede asumir uno de 2 valores posibles. El 3 es la cantidad de IX resultante y el 2 la
base del logaritmo utilizado.
Vease c
omo resulta la aplicacion de estas ideas a un nuevo ejemplo: sea una fuente con 100 smbolos equiprobables
y supongase que la evaluacion se hace ahora mediante logaritmos en base 10:
1
1
= log10 (100) = 2
= log10
I(si ) = log10
1
pi
100
Este n
umero 2 debe interpretarse diciendo que har
an falta: tiras de 2 smbolos, cada uno de los cuales puede asumir
uno de 10 valores posibles, siendo una posibilidad evidente la de numerar los smbolos en sistema decimal, corridos de
uno en uno, entre 00 y 99. Luego:
3
2.2
Entropa
Asumiendo que cada uno de los smbolos de una fuente S = {s0 , s1 , , sK1 } tiene una probabilidad p(sk )
de ser transmitido, I(sk ) es una variable aleatoria cuyo espacio muestral discreto est
a formado por los valores
{I(s0 ), I(s1 ), , I(sK1 )}. Cada resultado I(sk ) ocurre con probabilidad p(sk ) k = 0, 1, , (K 1).
Se denomina entropa de la fuente S al valor esperado de la variable I(sk ), esto es:
H(S)
E{I(sk )}
(1)
K1
X
p(sk ) I(sk )
(2)
K1
X
p(sk ) log2
k=0
k=0
1
p(sk )
(3)
S no es el argumento de la funci
on H(), sino una etiqueta o referencia a la fuente sobre la que se calcula la entropa.
La unidad de medida de H(S) es BITS/smbolo.
La entropa es una funci
on de la distribuci
on de probabilidad que le corresponde a la fuente vista como un
experimento aleatorio. El espacio muestral de ese experimento aleatorio es el conjunto de smbolos que la fuente
es capaz de emitir. Seg
un sea la probabilidad asociada a cada smbolo resultara un valor de entropa. Mientras
las probabilidades de los smbolos varen en forma continua, tambien la entropa presentar
a una variacion continua,
ajust
andose dicha variaci
on a los siguientes lmites:
0 H(S) log2 K
Donde K es la cantidad de smbolos de la fuente y log2 K es el valor de entropa correspondiente al caso en que
los K smbolos son equiprobables (caso de maxima incertidumbre). En el otro extremo, el 0 corresponde al caso en
que uno de los smbolos tiene probabilidad 1 de ser emitido y todos los restantes 0 (caso sin incertidumbre).
La entropa puede ser reconocida a traves de diversas interpretaciones. La primera de ellas como indicador de la
cantidad media de IX que una fuente est
a en condiciones de producir. La segunda, desde el punto de vista de quien
va a leer u observar la fuente; en tal sentido es un indicador del grado de incertidumbre que la misma despierta en
el observador, incluso antes de que comience a emitir IX . Una fuente de alta entropa tiene mucho para decir y
consecuentemente tiene mas desorientado o con menos probabilidades de acertar a quien la lee u observa. Existe
otra interpretaci
on, cuya relaci
on con las anteriores se pondra de manifiesto en el punto siguiente, y es la que dice que
la entropa es el mnimo n
umero medio de BITS por smbolo con que se puede codificar la fuente sin perdida de IX .
2.3
Sobre el n
umero medio de BITS por smbolo
En el punto 2.1 se presentaron algunos casos que ilustran la relacion entre la cantidad de IX asociada a cada smbolo
de una fuente y la cantidad necesaria de dgitos para representarla. En particular se mostro que si se trabaja mediante
logaritmos en base 2, la IX de cada smbolo resulta evaluada en dgitos binarios (BITS ). Esas ideas se pueden extender
a la fuente, es decir a todos los smbolos en forma conjunta. En tal sentido, si la cantidad de IX asociada a un u
nico
smbolo es un indicador del n
umero de BITS necesarios para representarlo, la entropa es un indicador del n
umero
4
medio de BITS necesarios para representar los smbolos de la fuente. Con la finalidad de aclarar estas ideas se
presentan seguidamente dos casos de codificacion, asociado cada uno de ellos a distintos valores de entropa. Sea una
fuente S con el siguiente alfabeto {A, B, C, D, E, F, G, H}.
CASO 1
1
8
H(S) = 3
El problema es identico al tratado en el punto 2.1, el que, al ser abordado smbolo por smbolo, arroja una
solucion como la siguiente:
A
B
C
D
E
F
G
H
000
001
010
011
100
101
110
111
La fuente presenta su maxima entropa, valor este coincidente con la cantidad media de BITS por smbolo. Es
claro tambien que cualquier agregado que se hiciese a la cantidad de BITS destinada a cada smbolo resultara
redundante y, por el momento, innecesaria. Y no parece haber forma de llevar el n
umero medio de BITS por
smbolo por debajo de 3.
CASO 2
1
16 ,
p(E) =
1
32 ,
p(F ) =
1
64 ,
p(G) =
1
128 ,
p(H) =
1
128
H(S) 1.9844
Teniendo en cuenta que los smbolos deber
an distinguirse entre s cuando formen parte de una tira de BITS, una
posible codificacion sera la siguiente:
A
B
C
D
E
F
G
H
0
10
110
1110
11110
111110
1111110
11111110
El n
umero de BITS por smbolo puede resolverse a partir de la cantidad de IX asociada a cada uno, tal como se
hizo en el punto 2.1 (a excepci
on del smbolo H resuelto con un dgito mas por razones de implementacion). El
resultado que arroja esta metodologa presenta evidentes ventajas de orden practico: el smbolo mas frecuentemente emitido por la fuente (A, el 50% de las veces) se codifica con una cadena de 1 BIT, la mas corta posible,
mientras que el resto de los smbolos se codifican con cadenas tanto mas largas cuanto menos frecuentes son los
smbolos asociados.
Pero lo interesante est
a en el dato que aporta la entropa de esta fuente y en el hecho de que resulta practicamente
equivalente al n
umero medio de bits que saldr
an de la fuente cuando esta emita IX durante un perodo suficientemente largo. Ese n
umero medio se determina tomando en cuenta la longitud en BITS de cada smbolo,
afectado por la probabilidad de ser transmitido o, lo que es lo mismo, de la proporcion que le correspondera
dentro de un mensaje formado por cantidad suficientemente grande de smbolos:
1
1
1
1
1
1
1
1
1
+2 +3 +4
+5
+6
+7
+8
1.9922
2
4
8
16
32
64
128
128
A ttulo de ejercitaci
on, observese que sucede con la cantidad media de bits por smbolo si se intercambian los
c
odigos, es decir si se aplica el de 3 BITS por smbolo al CASO 2 y el escalonado al CASO 1.
Finalmente, si los smbolos son equiprobables la fuente presenta su maxima entropa y la cota mnima en el n
umero
medio de BITS por smbolo toma su maximo valor. Los smbolos generados por esta fuente requieren el mayor Ancho
de Banda para su transmision y la mayor cantidad de espacio para su almacenamiento. Si los smbolos no son
equiprobables se puede explotar esa propiedad para codificar con menor n
umero medio de BITS por smbolo que en
el caso de maxima entropa.
2.4
An
alisis de una Fuente Binaria
Hay un caso que, por su simplicidad, permite visualizar claramente la relacion entre el valor de la entropa y la
distribuci
on de probabilidad puntual de los smbolos. Se trata del caso de una fuente con dos smbolos, {s0 , s1 }, con
p(s0 ) = p y p(s1 ) = 1 p.
H(S)
1
X
k=0
=
=
1
p(sk ) log
p(sk )
(4)
1
1
+ (1 p) log
p
1p
p log p (1 p) log(1 p) = H(p)
p log
(5)
(6)
p
0.5
2.5
Cuando en lugar de observar los smbolos que emite una fuente a raz
on de uno por uno se los observa en bloque, es
decir por conjuntos, aceptando que esos conjuntos constituyen nuevos smbolos, se dice que se observa una extensi
on
de la fuente. La idea de extensi
on de una fuente se ilustra mediante el siguiente ejemplo: sea una fuente S, de 4
smbolos, cuyas salidas pertenecen al siguiente alfabeto:
{A, B, C, D}
Independientemente de las probabilidades de cada smbolo, un probable mensaje emitido por la fuente podra ser:
{AA, AB, AC, AD, BA, BB, BC, BD, CA, CB, CC, CD, DA, DB, DC, DD}
Se acostumbra indicar una extensi
on de S, debida a la observaci
on de los smbolos en conjuntos de dos, mediante la
notaci
on S 2 . En general cualquier extensi
on de orden n se nota S n . Como sera la distribuci
on de probabilidad de
los smbolos de una fuente S n referida a la de los smbolos de S y c
omo sera la relacion de Entropas?.
Se presenta seguidamente el analisis de la entropa de una extensi
on de orden 2, de una fuente S con un alfabeto
de K smbolos.
H(S)
K1
X
p(si ) log2
i=0
H(S 2 )
1
p(si )
(7)
K1
X K1
X
K1
X K1
X
p(si ) p(sj )
i=0 j=0
i=0 j=0
K1
X
p(sj )
K1
X
K1
X
p(sj ) H(S) +
p(si ) log2
i=0
j=0
j=0
1
(p(si ), p(sj ))
1
1
+ log2
log2
p(si )
p(sj )
K1
X K1
X
i=0 j=0
K1
X
K1
X K1
X
1
1
p(si ) p(sj ) log2
+
p(si )
p(sj )
i=0 j=0
K1
K1
X
X
1
1
p(sj ) log2
p(si )
+
p(si )
p(sj )
j=0
i=0
p(si ) H(S)
(8)
(9)
(10)
(11)
(12)
i=0
= 1 H(S) + 1 H(S)
(13)
= 2 H(S)
(14)
El resultado H(S 2 ) = 2 H(S) puede extenderse sin mayor dificultad a: H(S n ) = n H(S). Este incremento lineal
de en entropa no depende de la relaci
on de probabilidad entre los smbolos de la fuente original H(S). A cualquier
extensi
on le corresponde un incremento de entropa y por ende un aumento en el grado de incertidumbre.
Es interesante intentar relacionar los valores de probabilidad los smbolos de una extensi
on S n con los corresponn
dientes a los smbolos de S. Si los smbolos de S son equiprobables los de S lo seran tambien. Pero si S genera
smbolos no equiprobables, la determinaci
on en S n no es tan inmediata. Se pueden, no obstante, identificar casos
n
extremos. Por un lado habr
a en S smbolos formados por gran proporcion de smbolos de alta probabilidad en S.
A esos smbolos les correspondera una alta, o al menos relativamente alta probabilidad en S n . Por otro lado habr
a
20
20
10
10
20
20
S2
S2
10
10
20
20
S3
10
10
p
1/27 1/9
1/3
1/8
1/4
1/2
(b)
Figura 2: Evoluci
on del N
umero de Smbolos de S n en Funci
on de los Valores de Probabilidad
En el punto siguiente se introduce un teorema que permite avanzar en el analisis de probabilidad de los smbolos
de una extensi
on S n y a partir de ello discriminar aquellos con una probabilidad tan remota de ocurrir que puedan
incluso, bajo determinadas condiciones, quedar fuera de consideracion a la hora de codificarlos.
2.6
Teorema de McMillan
en S. Estas
secuencias, de longitud n, estar
an compuestas por [p(s1 ) n] smbolos s1 , [p(s2 ) n] smbolos s2 y as
sucesivamente. Cabe esperar un gran n
umero de secuencias como estas aunque, desde luego, no todas identicas sino
respetando las proporciones pero con los smbolos acomodados en diferentes posiciones. Dado que la probabilidad
de cada secuencia se calcula como el producto de las probabilidades de los smbolos que la componen, todas las
secuencias con esta conformaci
on tendran el mismo valor de probabilidad, es decir seran equiprobables. De modo que
estas secuencias, denominadas tpicas o u
tiles, seran, por un lado, las mas probables y por otro, equiprobables.
No se debe descartar, desde luego, la posibilidad de que algunas secuencias se formen siguiendo otras proporciones.
Algunas incluso con probabilidad muy remota, como por ejemplo el caso de una secuencia en la que se repita n veces
el smbolo menos probable de S. Pero un analisis probabilstico elemental indica que la tendencia, a medida que n se
hace suficientemente grande, debera ser que casi todas las secuencias resulten ser secuencias tpicas. El Teorema
de McMillan presenta una forma de evaluar la cantidad de secuencias tpicas.
Llamando a la salida de la extensi
on S n , vista como experimento aleatorio, y a uno de sus probables resultados,
concretamente a una secuencia tpica:
P ( = ) = p(s0 )np(s0 ) p(s1 )np(s1 ) p(sK1 )np(sK1 ) =
K1
Y
p(si )np(si )
i=0
P ( = ) debe leerse como: la probabilidad de que una secuencia de longitud n sea efectivamente una secuencia
tpica. Dando una forma un tanto particular a cada uno de los multiplicandos:
h
i
p(si )np(si ) = 2 log2 p(si )np(si ) = np(si ) log2 p(si ) = p(si )np(si ) = 2np(si ) log2 p(si )
Luego,
P ( = )
K1
Y
(15)
i=0
K1
= 2 i=0
K1
P
n
= 2
= 2
=
(16)
p(si ) log2 p(si )
i=0
n[H(S)]
1
2nH(S)
(17)
(18)
(19)
1
. Ahora bien,
Finalmente, la probabilidad de que una secuencia de S n sea una secuencia tpica es igual a 2nH(S)
n
si n es suficientemente grande, cabe esperar que practicamente todas salidas de S sean secuencias tpicas. Dicho
de otro modo, es de esperar que casi todas las secuencias emitidas o generadas sean tpicas y que el n
umero de
secuencias no tpicas sea despreciable.
Aceptando entonces que todas las secuencias con una probabilidad considerable de ocurrir son tpicas, y que ademas
son equiprobables, la probabilidad de cada una de ellas sera igual al inverso de la cantidad total que puedan darse.
Luego, a medida que n crezca, la cantidad total de secuencias tpicas tender
a a 2nH(S) .
Resumiendo, si n K, siendo K la cantidad de smbolos que una fuente S est
a en condiciones de emitir y n la
longitud de las secuencias generadas por una extensi
on S n , entonces solo habr
a una cantidad 2nH(S) de secuencias en
condiciones reales de ser generadas por S n . Claro que desde el punto de vista estrictamente numerico, es decir sin
tener en cuenta las propiedades estadsticas de S, la cantidad de secuencias en condiciones de ser generadas por S n
sera K n . Luego, K n 2nH(S) sera la cantidad (en principio despreciable) de secuencias no tpicas producidas por S n .
1A
lo largo es
este punto se denominar
a secuencia a cada uno de los smbolos de S n
Por u
ltimo, y a modo de verificacion de la consistencia de estos resultados, se puede analizar el caso en que los
K smbolos de S son equiprobables. En ese caso, se dijo, que todas las secuencias producidas por una extensi
on S n
tambien seran equiprobables, es decir no habr
a secuencias no tpicas.
2.6.1
K n 2nH(S)
Kn
= 0
= 2nH(S)
(20)
(21)
log2 K n
n log2 K
= nH(S)
= nH(S)
(22)
(23)
nH(S)
= nH(S)
(24)
Si la IX emitida por una fuente con entropa H(S) es es observada a traves de secuencias de n smbolos, solo 2nH(S)
secuencias seran factibles, cualquiera sea la distribuci
on de probabilidad de los smbolos de S. Se ve claramente que
la cantidad de secuencias factibles sera tanto menor cuanto menos equiprobables sean los smbolos de S. Las dem
as
secuencias no son dignas de consideracion, podran despreciarse sin perdida apreciable de IX , y la cantidad que se vea
a la salida de la fuente tender
a a 0 a medida que n .
La posibilidad de representar la IX emitida por una fuente mediante un alfabeto con un n
umero de smbolos menor
que el que la fuente puede realmente producir, es la esencia de la Compresi
on de Datos. Por mas que hasta el momento
no haya menci
on explcita respecto a c
omo determinar ese alfabeto comprimido, y por mas que parezca que se incurre
en fallas o errores al dejar de lado algunos casos de ocurrencia remota pero factible, lo que debe quedar en claro es
que hay un par
ametro, en principio manejable a voluntad, que permite reducir ese error tanto como se desee. Ese
par
ametro es la longitud n de las secuencias. Una conclusi
on interesante que puede sacarse a esta altura tiene que ver
con otra forma de interpretar, o en todo caso de deducir, la expresion (20). En tal sentido, siendo 2nH(S) el n
umero de
secuencias tpicas, si S es una fuente de smbolos equiprobables H(S) = log2 K, luego el n
umero de secuencias tpicas
n
es 2n log2 K = 2log2 K = K n . Es decir: el n
umero de secuencias tpicas es igual al n
umero total de secuencias posibles.
No hay secuencias que se puedan despreciar. De esto se deduce la imposibilidad de comprimir la IX proveniente de
fuentes con smbolos equiprobables.
Supongase que se desea codificar mediante dgitos binarios la IX proveniente de una fuente S con un alfabeto de
smbolos de longitud K y sup
ongase, en primera instancia, que todos los smbolos son equiprobables. Se resuelve leer
la fuente en secuencias de longitud n. Habra entonces K n secuencias para leer y si se pretende codificarlas con tiras
2m
m
m
m
Kn
n log2 K
nH(S)
H(S n )
(25)
(26)
(27)
(28)
Donde H(S) es el maximo valor de entropa para S . Supongase ahora que se aborda el mismo problema, solo que
con smbolos no equiprobables y se resuelve codificar u
nicamente las secuencias mas factibles mediante tiras binarias
de longitud m. Entonces:
2m
m
m
2nH(S)
nH(S)
(29)
(30)
H(S n )
(31)
Lo valores m y m, seg
un el caso, indican la longitud de la palabra binaria con la que es posible codificar secuencias
de longitud n producidas por una fuente S. Desde luego, si los smbolos de S son equiprobables, H(S) asumir
a el
maximo valor posible y consecuentemente m m.
Pero lo mas interesante respecto a m y m es que si solo existe interes en codificar las secuencias tpicas, la entropa
H(S) de la fuente original sera el factor determinante del n
umero de BITS necesarios para representar secuencias de
longitud n, independientemente de la relaci
on de probabilidad entre los smbolos de la fuente original S.
10
2.7
Hasta el momento se han analizado fuentes en las que no existe dependencia entre los smbolos emitidos. Un observador
de la fuente puede prever el smbolo siguiente en cualquier momento con solo atenerse a la funci
on de densidad de
probabilidad puntual que le corresponde a la salida vista como un experimento aleatorio. Pero existe otro tipo de
fuente en la que la probabilidad de cada smbolo est
a afectada ademas por el o los smbolos que la fuente haya emitido
con anterioridad. En este tipo de fuente, conocida como fuente con memoria o fuente de smbolos no independientes,
se produce una disminuci
on de incertidumbre respecto a otra fuente con el mismo alfabeto pero con independencia
entre los smbolos. Supongase, a modo de ejemplo, que una fuente emite texto bajo la forma de cadenas de smbolos
tomados de un alfabeto compuesto por las letras, los n
umeros y el espacio en blanco. A partir del analisis estadstico
de gran n
umero de mensajes es posible determinar la frecuencia relativa de cada smbolo y a partir de esos datos
hacer una buena estimaci
on de la probabilidad individual de cada uno. El analisis no es incorrecto aunque s
poco riguroso, porque una observaci
on mas detenida de los mensajes podra permitir algunas conclusiones adicionales
respecto a las propiedades estadsticas de los smbolos. Supongase por ejemplo que dentro del alfabeto, formado por
alrededor de 40 smbolos, a la letra U le corresponde (en el caso de smbolos independientes) una probabilidad de
0.087. Eso significa que de cada 100 smbolos emitidos aproximadamente 9 seran letras U , o que en cualquier momento
la fuente puede emitir una U con un 8.7% de probabilidad. Pero si se sabe que los mensajes corresponden a texto en
idioma espa
nol, y ante cada emisi
on se conoce el u
ltimo smbolo emitido, quien puede dudar de que luego de una
Q la probabilidad de una U sera cercana al 100.0%?. La IX del tipo P (U ) que antes era suficiente, ahora debera
tomar la forma de P (U |Q). Y as para todos los pares de smbolos. E incluso podran detectarse dependencias de
mayor alcance hacia atr
as, es decir tomando en cuenta no solo el smbolo anterior, sino tambien el anterior al anterior
y as sucesivamente. Si por ejemplo se admite la existencia de un espacio en blanco entre las palabras, suponiendo
que la longitud promedio de cada una sea de alrededor de 5 letras, se emitir
a un blanco por cada 6 smbolos o,
analizando un mensaje completo, alrededor de un 16.7% seran blancos. Al cabo de dos o tres smbolos consecutivos
(no blancos) de un mensaje determinado, la probabilidad de un blanco sera todava baja. A medida que la palabra
vaya creciendo, tambien lo har
a la probabilidad de emision de un blanco. Si por ejemplo se diera un vocablo muy
largo y en determinado momento la fuente llevara emitidos 15 o mas smbolos, la probabilidad de que el proximo
smbolo sea un blanco sera, seguramente, muchsimo mayor que el 16.7%. En este caso la condicionalidad no est
a
gobernada por determinados smbolos, sino por la cantidad emitida. Pero sigue siendo afectado el car
acter de la fuente
y sigue poniendose de manifiesto la influencia entre smbolos emitidos en distintos instantes de tiempo. Imagnese, por
u
ltimo, que los smbolos del ejemplo anterior se emiten codificados en ASCII, seg
un una transmision serie, es decir
BIT por BIT. Es muy probable que, en grandes perodos de observaci
on, la fuente emita tantos ceros como unos, es
decir: P (0) P (1) 50%. Pero si se analiza una transmision en detalle y se encuentra un caso en el que luego de
transmitidos 7 de los 8 BITS de un determinado smbolo, la transmision de un 0 terminara por completar un smbolo
ASCII muy raro (de poco uso en texto en espa
nol) mientras que la emision de un 1 dara lugar, por ejemplo, a la letra
A, en ese instante la expresion P (0) P (1) 50% carecera de toda validez.
M
as alla del tipo de dependencia que exista entre los smbolos de una fuente, una de las consecuencias es la
reduccion de la incertidumbre que la misma provoca en un observador. El conocimiento de smbolos emitidos con
anterioridad hace que los siguientes no provoquen tanta sorpresa o impacto como lo haran cuando su emision no
puede ser anticipada en modo alguno. Esa reduccion de incertidumbre se traduce, en terminos numericos, en una
reduccion de entropa.
La entropa es una medida del grado de incertidumbre que una fuente genera en un observador. En el caso de
fuentes sin memoria, en que los smbolos en condiciones de ser emitidos no son afectados en modo alguno por el o los
smbolos emitidos con anterioridad, tambien la incertidumbre respecto a las proximas salidas, y por ende el c
alculo
de la entropa, presentan esa propiedad. Existe para este tipo de fuente un valor u
nico de H(S), que para nada tiene
en cuenta la historia de la fuente. Pero en una fuente con memoria, la incertidumbre que la misma provoca en un
observador est
a condicionada a lo que haya ocurrido hasta el momento. Una fuente con memoria, de dos smbolos,
0 y 1, presentar
a un nivel de incertidumbre cuando haya sido emitido un 0, H(S|0) y otro, en principio diferente,
luego de que haya sido emitido un 1, H(S|1). Claro que tambien puede reconocerse una entropa de car
acter global o
general, que tome en cuenta las dos definidas mas arriba, esto es:
H(S) = H(S|0) P (0) + H(S|1) P (1)
EJEMPLO: Sea S una fuente de dos smbolos, 0 y 1, modelizada mediante el diagrama de estados de la Figura 3:
Se trata de una dependencia que llega u
nicamente hasta el smbolo anterior. Que el modelo este en un deter-
11
P (1|0) = 0.05
P (0|0) = 0.95
P (1|1) = 0.55
P (0|1) = 0.45
(32)
(33)
P (0) debe leerse como la probabilidad de que se emita un 0, independientemente de que antes haya sido emitido
un 0 o un 1. Y lo mismo para P (1). Estas ecuaciones (planteadas a partir del diagrama de estados) son linealmente
dependientes. Nos obstante se puede agregar tambien:
P (0) + P (1) =
(34)
(35)
(36)
(37)
(38)
Este
resultado concuerda con lo anticipado respecto a la disminuci
on de entropa debida a la dependencia entre
smbolos, por cuanto si se considera la misma fuente, libre de las dependencias, es decir solo con P (0) = 0.9 y
P (1) = 0.1, resulta H(S) = 0.470
2.8
A partir de las ideas expuestas hasta el momento, en particular a las que se resumen mediante las expresiones (28) y
(31), resulta el siguiente Teorema:
Una fuente con entropa H puede ser codificada, es decir representada, con una probabilidad de error
arbitrariamente peque
na, mediante cualquier n
umero R de BITS por smbolo, siempre que R > H. Inversamente, si R < H, la probabilidad de error ya no tender
a a cero, independientemente de la complejidad
de los codificadores y decodificadores empleados.
2.9
Codificaci
on
Las fuentes no siempre producen IX en un formato compatible con los medios para transmitirla o almacenarla.
Muchas veces es necesario transformar la IX producida, es decir cambiarle el formato, desde luego sin alterar su
contenido. Esa transformaci
on se logra asociando a los smbolos que la fuente produce, smbolos pertenecientes a otro
12
alfabeto, compatible con los medios de transmision o almacenamiento. La codificacion es el proceso a traves del cual
se ponen en correspondencia dos alfabetos finitos, el alfabeto fuente y el alfabeto c
odigo, de tal forma que a smbolos
del alfabeto fuente se le hacen corresponder smbolos del alfabeto c
odigo. Vista como paso previo a la transmision
o al almacenamiento, la eficiencia de la codificacion consiste, fundamentalmente, en reducir la redundancia de los
mensajes expresados mediante el alfabeto fuente, procurando que el tama
no de los mensajes, expresados mediante
el alfabeto c
odigo, se acerque al
optimo. Si los smbolos del alfabeto fuente son de longitud variable, una forma de
reducir la redundancia consiste en asignar smbolos cortos del alfabeto c
odigo a smbolos del alfabeto fuente muy
frecuentemente utilizados y viceversa. Es de esperar que una codificacion apropiada sea tal que los smbolos codificados
sean vistos como si hubiesen sido producidos por otra fuente, mediante el alfabeto c
odigo, y que esta u
ltima genere un
n
umero promedio de smbolos (eventualmente BITS ) lo mas cercano posible a la entropa de la fuente original 2 .
En lo que sigue se concentrar
a la atenci
on en c
odigos de tipo bloque, siendo estos c
odigos en los que a cada smbolo
de la fuente se le asocia una secuencia de smbolos del alfabeto c
odigo. Se habla de palabras de c
odigo para referirse
a estas secuencias, es decir a los bloques. Si bien las palabras de c
odigo no necesariamente seran tiras binarias, es esta
una de las opciones mas frecuentemente utilizadas y es precisamente el caso de los sistemas de codificacion que se veran
a continuacion. Por esa raz
on, salvo menci
on en contrario, y en la expectativa de ser consistentes con la utilizaci
on
del logaritmo en base 2 para la determinaci
on de la cantidad de IX y de la entropa, de aqu en mas el alfabeto c
odigo
sera el binario y cada palabra de c
odigo, una tira de 0s y 1s.
Para cualquier tipo de c
odigo, pero principalmente para aquellos con palabras de longitud variable, es interesante
definir la longitud media de sus palabras de c
odigo:
=
L
K1
X
p(si ) li
i=0
donde li es la longitud o n
umero de smbolos de la palabra de c
odigo asociada al smbolo de la fuente si .
Supongase, por ejemplo, que se desea codificar una fuente S de 3 smbolos, {X, Y, Z}, con los siguientes valores de
probabilidad y cantidad de informaci
on por smbolo:
La entropa, H(S), de esta fuente es de 1.15 BITS. Se propone codificar por sobre el lmite del valor de IX de cada
smbolo, es decir redondeando al entero siguiente valor de IX de cada smbolo. La codificacion consiste entonces en:
un BIT para el smbolo X con 0.51 BITS de IX , tres BITS para Y con 2.32 y 4 BITS para Z con 3.32 BITS de IX .
Esta codificacion genera el siguiente n
umero medio de BITS por smbolo:
= 1 0.7 + 3 0.7 + 4 0.7 = 1.70
L
De acuerdo al Primer Teorema de Shannon es factible llevar el n
umero medio de BITS por smbolo hasta el valor
de la entropa de la fuente codificada, pero no por debajo de ella. En la siguiente tabla se muestran otras variantes
con su correspondiente valor medio de BITS por smbolo:
I(X) = 0.51
I(Y ) = 2.32
I(Z) = 3.32
1 BIT
3 BIT S
4 BIT S
= 1.7
L
1 BIT
2 BIT S
3 BIT S
= 1.4
L
1 BIT
2 BIT S
2 BIT S
= 1.3
L
1 BIT
1 BIT
2 BIT S
= 1.1
L
13
realiza
interesante: en caso de existir implementacion para mas de una columna, se dice que la de menor valor de L
una compresi
on de la IX representada mediante el c
odigo de mayor valor de L.
Una de las propiedades deseables de cualquier c
odigo es garantizar que la IX codificada no se transforme ni se
pierda, sino que pueda ser recobrada, ntegramente, en el formato en el que ha sido producida. Se dice que un c
odigo
es Unvocamente Decodificable (UD) cuando no existen dos secuencias distintas, formadas por smbolos de la fuente,
capaces de producir la misma secuencia de palabras de c
odigo. Esta pretensi
on es satisfecha por c
odigos que disponen
de palabras en relaci
on 1 a 1 respecto a los smbolos de la fuente y que ademas permiten discriminar esas palabras
de c
odigo, sin ambig
uedades, cuando forman parte de cadenas o secuencias sin indicadores de separacion entre las
mismas.
2.9.1
C
odigos Prefijo
El Arbol
de Decisi
on es un esquema que permite representar graficamente un c
odigo binario. Se trata de un arbol
cuyo nodo raz se asocia a un estado inicial del que se desprenden dos ramas, una asociada al 0 y otra al 1. A traves de
esas ramas es posible pasar hacia dos nuevos nodos (estados) desde los cuales, eventualmente, se deprenden dos nuevas
ramas (0 o 1) hacia otros tantos estados. A partir del barrido de una secuencia correspondiente a la codificacion de
una determinada palabra de c
odigo, es posible avanzar a traves de los estados del arbol, eligiendo, en todo momento, la
UD
UD
Existe una condicion conocida como desigualdad de Kraft-McMillan que resulta ser necesaria y suficiente para
que un c
odigo sea Prefijo. Esta condicion dice que:
K1
X
i=0
2li 1
Kraft-McMillan
Kraft-McMillan
Se puede probar que para toda fuente S con entropa H(S) es posible encontrar un C
odigo Prefijo con longitud
tal que:
de palabra L
H(S) + 1
H(S) L
(39)
n
L
n
L
n
L
H(S n ) + 1
(40)
nH(S) + 1
1
H(S) +
n
(41)
(42)
Luego:
lim
n
L
= H(S)
n
(43)
La u
ltima expresion est
a estrechamente ligada al Primer Teorema de Shannon dado que Lnn es, en definitiva, la la
longitud media de palabra por cada smbolo de la fuente original. Luego, si mediante un C
odigo Prefijo se codifican
extensiones de dimensi
on n de una fuente S la longitud media de palabra por smbolo de ese C
odigo Prefijo se acercar
a
a la entropa de la fuente original S, tanto mas cuanto mas crezca n.
2.9.2
Clasificaci
on de C
odigos
La cantidad de IX asociada a los smbolos si de una fuente, medida como log[1/p(si )], es un indicador de la cantidad
de BITS necesarios para representarlos de un modo tal que el n
umero medio de BITS por smbolo resulte el mnimo
posible. Lamentablemente la cifra log[1/p(si )] solo arroja valores enteros para casos muy particulares. En esos casos
de un c
muy particulares la longitud media, L,
odigo que asigne log[1/p(si )] BITS a cada smbolo si , sera la mnima
posible y sera ademas igual a la entropa de la fuente, H(S). En cualquier otro caso la expectativa por encontrar
conduce a una diversidad muy grande de tecnicas y estrategias y, por ende,
c
odigos con el menor valor posible de L
de resultados.
Se muestra seguidamente un tabla en la que se clasifican algunos c
odigos de acuerdo al modo de representacion
al CODIGO
los terminos FIJO y VARIABLE hacen referencia a la longitud de las palabras de c
odigo.
FUENTE
FIJO
FIJO
VARIABLE
VARIABLE
CODIGO
FIJO
VARIABLE
FIJO
VARIABLE
(1)
(2)
(3)
(4)
(1) ASCII (8 BITS por smbolo), EBCDIC (idem ASCII para equipos grandes deIBM).
(2) Codigos de Fano, de Huffman y Morse.
(3) Todos los c
odigos derivados del algoritmo de Ziv-Lempel (LZ77, gzip, LZW y el UNIX compress).
(4) RLL, RLC y RLE, usados en sistemas de fax y en codificacion de im
agenes est
aticas.
15
2.10
An
alisis de C
odigos
4. Dibujar el Arbol
de Decisi
on (s
olo para c
odigos con baja cantidad de smbolos).
5. Dibujar el Diagrama de Karnaugh (s
olo para c
odigos con baja cantidad de smbolos).
A continuacion se analizan los c
odigos I, II y III mostrados en la siguiente tabla, mediante los cinco puntos
citados mas arriba.
Smbolo
s0
s1
s2
s3
Probabilidad
1/2
1/4
1/8
1/8
Codigo I
0
1
00
11
Codigo II
0
10
110
111
Codigo III
0
01
011
0111
1. Desigualdad de Kraft-McMillan.
I:
3
P
2li = 1.5
i=0
II :
3
P
2li = 1.0
i=0
III :
3
P
2li = 0.94
i=0
Para el c
odigo I no existe un c
odigo Prefijo formado por palabras de una longitud como las mostradas en la
tabla. De hecho el c
odigo que se muestra no es prefijo. Para los casos II y III si existe un c
odigo Prefijo con
esas longitudes de palabra. El c
odigo II lo es (y consecuentemente es UD) mientras que el III no es prefijo.
2. Longitud promedio, L.
= 1.25
I: L
= 1.75
II : L
= 1.87
III : L
H(S).
3. Verificacion de la condicion L
H(S) = 1.75
< H(S)
I: L
= H(S)
II : L
> H(S)
III : L
El c
odigo I no verifica el Primer Teorema de Shannon, por lo que no es apto para representar la fuente. Los
otros dos c
odigos s verifican el Teorema, ademas el c
odigo II es optimo debido a que produce el mnimo n
umero
medio de BITS por smbolo. El c
odigo III es UD a pesar de no verificar la desigualdad de McMillan, pero el
n
umero medio de BITS por smbolo que genera est
a ligeramente por sobre el mnimo.
4. Arbol
de Decisi
on. El u
nico caso que pone en evidencia el car
acter prefijo mediante la presencia de los smbolos
en las hojas del
arbol es el c
odigo II.
5. Diagrama de Karnaugh. La tendencia a presentar smbolos solapados puede ser (aunque no es una regla) un
indicio de c
odigo no UD. El c
odigo III presenta una zona desperdiciada de la que es imposible salir si se cae
por error (en los otros dos un error confunde al smbolo pero no genera una situaci
on no prevista).
16
s2
0=
s0
s0
s1
s1
1=
s0
s1
s2
s2
s3
s3
s3
I
II
III
s2
s0
00
01
11
10
01
11
s1
s3
s3
11
00
s0
s1
01
10
s3
s0
s2
s1
10
s2
II
III
2.10.1
C
odigo de Fano
El c
odigo de Fano asigna palabras de c
odigo de dimensi
on variable a smbolos del alfabeto fuente de dimensi
on fija.
En la expectativa de lograr una longitud media de palabras de c
odigo cercana a la entropa de la fuente, procede de
acuerdo a un mecanismo de particiones sucesivas del conjunto de smbolos. El siguiente es un ejemplo de su aplicacion
a un alfabeto de seis smbolos.
s0
s1
s2
s3
s4
s5
0.40
0.20
0.15
0.10
0.10
0.05
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
0
1
0
100
101
110
1110
1111
La aplicacion del algoritmo se realiza sobre los smbolos ordenados de acuerdo a sus valores de probabilidad, como
se muestra en la primer columna de la tabla anterior. En una primera etapa el conjunto de smbolos se divide en
dos partes, procurando que la suma de los valores de probabilidad de los smbolos que queden en cada mitad, sean
aproximadamente iguales. Es evidente que la solucion no es u
nica, ya que no siempre es posible una u
nica divisi
on.
A cada conjunto, de los dos resultantes en la u
ltima partici
on, se le asigna un valor binario (1 o 0). El proceso de
partici
on se repite sobre cada conjunto en el que haya quedado mas de un smbolo. Las particiones se suceden hasta
que ya no es posible ninguna.
En la u
ltima columna hacia la derecha se muestra el resultado de la codificacion.
17
2.10.2
C
odigo de Huffman
0.4
0.4
0.4
0.6
s1
0.2
0.2
0.4
0.4
s2
0.2
0.2
0.2
s3
0.1
0.2
s4
0.1
0
1
0
1
0
1
0
1
00
10
11
010
011
5. Volver al punto 2.
Lo que sigue es un ejemplo de codificacion de un mensaje, detallado PASO por PASO:
PASO 1: El diccionario solo contiene los BITS 0 y 1, identificados mediante los ndices 0 y 1 respectivamente.
Ninguna secuencia ha sido detectada en el mensaje todava.
0 1 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0
0
1
2
3
4
5
6
0
1
7
8
9
10
11
12
13
PASO 2: Se comienza a recorrer el mensaje y la mas larga de las secuencias registrada en el diccionario, que se
encuentra es 0. Se etiqueta entonces la secuencia 0 de acuerdo a lo que indica el diccionario y se procede a armar una
secuencia agregando a 0 el BIT siguiente, es decir 1. La secuencia 0 1 se agrega al diccionario con el ndice 2.
z }| {
0 1 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0
|{z}
0
0
1
2
3
4
5
6
0
1
0 1
7
8
9
10
11
12
13
PASO 3: Se contin
ua recorriendo el mensaje y la mas larga de las secuencias, registrados en el diccionario, que se
encuentra es 1. Se etiqueta entonces la secuencia 1 de acuerdo a lo que indica el diccionario y se procede a armar
una secuencia agregando a 1 el BIT siguiente, es decir nuevamente 1. La secuencia 1 1 se agrega al diccionario con el
ndice 3.
z }| {
0 |{z}
1 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0
|{z}
0
0
1
2
3
4
5
6
0
1
0 1
1 1
7
8
9
10
11
12
13
PASO 4: Se contin
ua recorriendo el mensaje y la mas larga de las secuencias, registrados en el diccionario, que se
encuentra es nuevamente 1. Se etiqueta entonces la secuencia 1 de acuerdo a lo que indica el diccionario y se procede
a armar una secuencia agregando a 1 el BIT siguiente, es decir 0. La secuencia 1 0 se agrega al diccionario con el
ndice 4.
19
z }| {
1 |{z}
0 |{z}
1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0
|{z}
1
0
1
2
3
4
5
6
0
1
0 1
1 1
1 0
7
8
9
10
11
12
13
PASO 5: Se contin
ua recorriendo el mensaje y la mas larga de las secuencias, registradas en el diccionario, que se
encuentra es nuevamente 0. Se etiqueta entonces la secuencia 0 de acuerdo a lo que indica el diccionario y se procede
a armar una secuencia agregando a 0 el BIT siguiente, es decir 0. La secuencia 0 0 se agrega al diccionario con el
ndice 5.
z }| {
0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0
1
1
0
|{z} |{z} |{z} |{z}
0
0
1
2
3
4
5
6
0
1
1
0
0
1
1
1
0
0
7
8
9
10
11
12
13
PASO 6: Se contin
ua recorriendo el mensaje y la mas larga de las secuencias, registrados en el diccionario, que se
encuentra es 0 1. Se etiqueta entonces la secuencia 0 1 de acuerdo a lo que indica el diccionario y se procede a armar
una secuencia agregando a 0 1 el BIT siguiente, es decir 1. La secuencia 0 1 1 se agrega al diccionario con el ndice 6.
z }| {
0
1
1
0
|{z} |{z} |{z} |{z} |0{z 1} 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0
0
0
1
2
3
4
5
6
0
1
1
0
0 1
0
1
1
1
0
0
1
7
8
9
10
11
12
13
Una vez que se ha completado el mensaje, la codificacion de todas las secuencias encontradas y su correspondiente
valor en el diccionario es el siguiente:
0 |{z}
1 |{z}
1 |{z}
0 |0{z 1} |1{z 0} |0{z 1} |0 {z
1 1} |0{z 0} |0{z 0} |1 {z
0 0} |1{z 1} |{z}
0
|{z}
0
0
1
2
3
4
5
6
0
1
1
0
0 1
0
1
1
1
0
0
1
7
8
9
10
11
12
13
1
0
0 1
0
0
1 0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
Para recobrar el mensaje basta con reemplazar cada uno de los ndices por su valor correspondiente. Es necesario
por lo tanto que el decodificador conozca el diccionario. Sera necesario entonces que el diccionario acompa
ne al
mensaje dentro de un u
nico archivo para que lo disponga quien pretenda decodificarlo?. La respuesta en no, y la
20
raz
on es que el decodificador puede aprovechar algunas propiedades de la codificacion para reconstruir el diccionario,
evit
andose as la necesidad de que le sea suministrardo en forma explcita. Por un lado las condiciones iniciales del
proceso son conocidas en el decodificador (los BITS 0 y 1, identificados mediante los ndices 0 y 1). Por otro lado,
salvo una excepcion que se comentar
a luego, en la codificaci
on solo se utilizan ndices creados con anterioridad, es
decir no es necesario recurrir a ndices que no hayan sido descubiertos, a medida se va barriendo el mensaje. Por lo
tanto es factible que el decodificador reconstruya el diccionario a medida que va descubriendo el mensaje, apelando
al mismo mecanismo empleado por el codificador.
Se presenta seguidamente el proceso de decodificacion del mensaje codificado en el punto anterior. El mensaje no
es sino la lista (ordenada) de los ndices que los conforman. Se han destacado las separaciones entre ndices mediante
barras verticales para indicar que cada uno define un hueco o sector que debera ser llenado con el valor que le
corresponde en el diccionario.
0
1
2
3
4
5
6
0
1
7
8
9
10
11
12
13
PASO 1: El diccionario solo contiene los BITS 0 y 1, identificados mediante los ndices 0 y 1 respectivamente. Se
procede al reemplazo del primer ndice, es decir el 0 por 0. Si este hubiese sido el proceso de codificaci
on, la asignacion
hubiese sido a la inversa, es decir se hubiese asignado el ndice 0 al BIT 0. Acto seguido se hubiese creado un nuevo
ndice (el 2), concatenando el BIT 0 con el siguiente. Ahora el siguiente no se conoce, pero se sabe que es el primero
de los que ocuparan el sector asociado al ndice 1. Entonces el ndice 2 solo se indica, pero su deteccion completa, y
su consecuente incorporaci
on al diccionario, se deja pendiente hasta el PASO 2.
z }| {
0
|{z}
0
1
0
1
2
3
4
5
6
0
1
0 ?
7
8
9
10
11
12
13
z }| {
1
0 |{z}
|{z}
0
1
1
21
0
1
2
3
4
5
6
0
1
0 1
1 ?
7
8
9
10
11
12
13
Continuando de este modo es posible recobrar el mensaje en su totalidad. Existe, no obstante, una situaci
on que presenta una dificultad adicional. El siguiente ejemplo pone de manifiesto esta dificultad. Supongase que la decodificacion
de un determinado mensaje ha avanzado hasta el siguiente punto:
16
}|
{
z
0
1 0 1}
| 1 {z
15
16
..
.
15
16
..
.
..
.
01101
01101?
..
.
Se intenta entonces crear el ndice 16 para agregarlo al diccionario. Este nuevo ndice se arma concatenando el
ndice 15 con el primer BIT del ndice 16. Es decir, se necesita del ndice 16 para completar el armado del ndice 16.
Desde el punto de vista algortmico la situaci
on difiere de las anteriores en las que los ndices que se necesitaban para
completar el armado de nuevos ndices, estaban disponibles en el diccionario. Ahora bien, solo falta conocer un BIT
para poder completar el armado del 16, el u
ltimo, que dada la forma de armarlo, es igual al primero, y el primero s
se conoce, es 0. Luego, 16 = 0 1 1 0 1 0, y el proceso de decodificacion puede continuar. El algoritmo de decodificado
debera tener en cuenta esta posibilidad la que, en terminos simples, puede resumirse diciendo que si un ndice que se
necesita para completar el armado de un nuevo ndice, no est
a en el diccionario, el BIT que se necesita para colocar
como u
ltimo BIT del nuevo ndice es igual al primero.
Donde K =
6 J. Las relaciones que ligan smbolos de entrada y salida tienen, naturalmente, la forma de un valor de
probabilidad condicional del tipo:
p(yk |xj )
j, k
Esta expresion debe leerse como: la probabilidad de que el smbolo visto a la salida sea yk , cuando a la entrada
ha sido colocado el smbolo xj . Tomando en cuenta que existen valores de probabilidad j, k se pueden consignar
todos esos valores recurriendo a la notaci
on matricial:
p(y0 |x0 )
p(y1 |x0 )
p(yK1 |x0 )
p(y0 |x1 )
p(y1 |x1 )
p(yK1 |x1 )
P =
..
..
..
.
.
.
p(y0 |xJ1 )
p(yk |xj ) = 1
A cada uno de los smbolos de X le corresponde un valor de probabilidad de ser el smbolo transmitido. Estos
valores conforman, en definitiva, la distribuci
on puntual de probabilidad de la fuente que los produce y los coloca a la
entrada del canal. As queda completamente especificado X como vector aleatorio, es decir mediante los valores:
p(xj ) = P (X = xj ) j
(44)
J1
X
j=0
j, k
(45)
(46)
A partir de simples pasos es posible determinar los valores de probabilidad condicional inversos a los planteados,
es decir: p(xj |yk ) j, k. Esta expresion debe leerse como: la probabilidad de que el smbolo transmitido haya sido xj
cuando a la salida fue observado el smbolo yk .
3.1
Informaci
on Mutua
La entropa de una fuente como la que produce los smbolos del alfabeto X , para ser colocados a la entrada de un
canal, fue definida como:
H(X )
J1
X
j=0
1
p(xj ) log
p(xj )
(47)
Esta determinaci
on supone un total desconocimiento sobre los smbolos producidos por la fuente y u
nicamente se
atiene a la relacion de probabilidad entre los mismos. Es decir, es un calculo que puede hacerse sin que haya sido
observado ning
un smbolo. Su valor es un indicador de la cantidad media de IX que la fuente es capaz de producir o,
lo que es lo mismo, de la incertidumbre que la misma presenta a un observador. Cuanto mayor sea la cantidad de IX
que la fuente este en condiciones potenciales de producir, mayor sera la incertidumbre que la misma ocasione en un
23
H(X |yk ) =
J1
X
j=0
1
p(xj |yk ) log
p(xj |yk )
(48)
Donde p(xj |yk ) es la probabilidad condicional que le corresponde a cada smbolo xj una vez que ha sido ledo el
smbolo yk y que, por cierto, sera diferente de la que le corresponde antes de leer el valor yk , es decir p(xj |yk ) 6= p(xj ).
Se pueden tomar en consideracion todos los smbolos posibles a la salida del canal y definir entonces una entropa
condicional, aplicando el Teorema de la Probabilidad Total a la expresion (48):
H(X |Y)
K1
X
k=0
K1
X J1
X
1
p(xj |yk )p(yk ) log
p(xj |yk )
K1
X J1
X
k=0 j=0
(49)
k=0 j=0
1
p(xj , yk ) log
p(xj |yk )
(50)
(51)
El valor de H(X |Y) cuantifica la incertidumbre de la fuente X una vez observada la salida del canal. Es interesante
entonces plantear una comparaci
on entre las entropas H(X ) y H(X |Y) desde el punto de vista de la incertidumbre que
cada una de ellas cuantifica. H(X ) refleja la incertidumbre respecto a la fuente en ausencia de todo otro conocimiento
u observaci
on, podra decirse que en principio H(X ) indica el maximo valor de incertidumbre que presenta X o, dicho
en otro terminos, toda la incertidumbre que le corresponde como fuente. Esa medida de incertidumbre se transforma
en H(X |Y) una vez que se conoce u observa la salida del canal Y.
Ahora bien, se sabe que el canal es causante del deterioro de la informacion que lo atraviesa o, dicho de otro
modo, es un elemento que hace que se pierda, al menos parte, de la informacion que lo atraviesa. Cabe esperar
entonces que la cantidad de informaci
on que la fuente produce, vista a traves del canal, sea menor que esa cantidad
vista directamente sobre la fuente. En otras palabras, cabe esperar que H(X |Y) H(X ). Luego, habr
a una cantidad
H(X ) H(X |Y) que podra interpretarse como la cantidad de informacion que no sufre el deterioro ocasionado por
el canal, en definitiva la cantidad de informaci
on que, habiendo salido de la fuente alcanzar
a efectivamente la salida
del canal. Esa diferencia se define como la Informaci
on Mutua, I(X ; Y):
I(X ; Y)
(52)
Propiedades de la Informaci
on Mutua
PROPIEDAD 1
Analizando el sistema en la direcci
on inversa y, haciendo un razonamiento analogo, es posible definir I(Y; X ).
Se puede probar entonces que la Informaci
on Mutua es simetrica:
I(X ; Y) = I(Y; X )
24
PROPIEDAD 2
La Informaci
on Mutua es no negativa:
I(X ; Y) 0
PROPIEDAD 3
La Informaci
on Mutua se relaciona con las entropas de entrada y salida del canal a traves de la Entropa
Conjunta:
I(X ; Y) = H(X ) + H(Y) H(X , Y)
Donde la Entropa Conjunta se define como:
H(Y, X ) =
3.1.2
K1
X J1
X
p(xj , yk ) log
k=0 j=0
1
p(xj , yk )
Interpretaci
on de la Informaci
on Mutua
I(X ; Y)
=
=
=
(53)
(54)
(55)
H(X )
H(Y)
H(X |Y)
I(X ; Y)
H(Y|X )
H(Y, X )
conocimiento de la informaci
on generada por X ?. En principio la mejor condicion es aquella en la que uno y solo
uno de los smbolos de Y puede ser la salida para cada smbolo de X , o lo que es lo mismo, cada smbolo de Y es el
resultado de uno y solo un smbolo de X . Esta condicion (en definitiva la condicion libre de errores) ya fue comentada
en el punto 3.
Un par
ametro que pone de manifiesto la relacion entre entrada y salida es la entropa condicional (en cualquiera
de sus dos formas posibles). Desarrollando su expresion (a partir de la ecuaci
on (50)) resulta, para el caso libre de
errores:
H(X |Y)
K1
X J1
X
k=0 j=0
K1
X
p(yk )
J1
X
j=0
k=0
1
p(xj |yk )
1
p(xj |yk ) log
= 0
p(xj |yk )
{z
}
(56)
(57)
= 0
La anulaci
on de la sumatoria de ndice j se debe a que las probabilidades correspondientes solo toman los valores
0
o 1. A traves de un razonamiento analogo resulta: H(Y|X ) = 0. Finalmente, la consecuencia de la condicion
libre de errores puede apreciarse llevando los resultados H(X |Y) = H(Y|X ) = 0 a las expresiones (53) y (54), con lo
que resulta:
I(X ; Y)
H(X ) = H(Y)
(58)
Figura 8: Relacion de entropas para un Canal Discreto sin Memoria. Caso Libre de Errores
Evidentemente cuando el canal es libre de errores toda la IX colocada a su entrada alcanza la salida. En ese caso da
lo mismo evaluar la entropa de la fuente en forma directa o con el canal entre medio. Toda la IX que sale, llega.
Operativamente el canal solo produce un cambio de smbolos, pero en cuanto a su contenido, la IX que lo atraviesa
no se altera. Visto a traves de los diagramas de Venn (Figura 8), a medida que el canal se acerca a la condicion libre
de errores, los diagramas correspondientes a H(X ) y H(Y) tienden a fundirse en uno u
nico, coincidente ademas con
el de I(X ; Y).
Existe otra situaci
on extrema para un canal, opuesta a la condicion libre de errores. Se trata del caso en que los
smbolos colocados a la entrada no regulan en modo alguno la salida. Un smbolo detectado por un observador atento a
26
la salida del canal no puede ponerse en correspondencia con ninguno de los smbolos del alfabeto de entrada. Es como
si el canal se volviese loco y para cada entrada colocara cualquier cosa en la salida. En terminos probabilsticos
esto significa que entrada y salida se vuelven estadsticamente independientes, es decir: p(yk |xj ) = p(yk ) j, k o que:
p(xj |yk ) = p(xj ) j, k, seg
un desde que punto de vista se lo analice. Llevando estas ideas a la ecuaci
on (50) resulta:
H(X |Y)
K1
X J1
X
k=0 j=0
K1
X
(59)
(60)
1
p(xj |yk )p(yk ) log
p(xj |yk )
k=0
J1
X
1
p(xj |yk ) log
p(xj |yk )
K1
X
J1
X
1
p(xj ) log
p(xj )
{z
}
p(yk )
j=0
p(yk )
j=0
k=0
H(X )
K1
X
(61)
H(X )
p(yk )
(62)
{z
(63)
k=0
H(X )
= 1
H(X )
H(Y)
I(X ; Y) = 0
Figura 9: Relacion de entropas para un Canal Discreto sin Memoria. Caso Entrada y Salida Independientes
3.2
El c
alculo de la informaci
on mutua depende de los distintos valores de probabilidad del sistema. Algunos de esos
valores afectan u
nicamente a los smbolos de la entrada, por ejemplo p(xj ) j, y otros solo tienen que ver con el
canal, por ejemplo: p(yk |xj ) j, k. Tomando en cuenta las interpretaciones realizadas acerca del concepto de I(X ; Y)
y reconociendo que se trata de una funci
on de las distintas probabilidades en juego, cabe preguntarse si existira un
maximo para I(X ; Y). Ese maximo existe y se denomina capacidad del canal, C:
C = max I(X ; Y)
Para un canal existente, en el que es imposible jugar con probabilidades como p(yk |xj ) j, k ya que dependen de
las caractersticas constructivas del canal, el maximo se alcanza para alg
un juego de valores de p(xj ) j. Es interesante
27
analizar e interpretar un caso, como por ejemplo el Canal Binario Simetrico de la Figura 10 en el que la probabilidad
de un error (ya sea un cambio de 1 por 0 o de 0 por 1) es .
Supongase que la fuente de entrada es tal que: p(0) = p y p(1) = (1 p). Es simple probar que para este canal:
I(X ; Y) = H(Y) [ log (1 ) log(1 )]
{z
}
|
H(Y|X )
0.5
3.3
Teorema de Codificaci
on del Canal
Hasta el momento se han planteado, y en alguna medida resuelto, dos problemas. El primero, relativo a las fuentes
discretas sin memoria y a formas eficientes de convertir los smbolos que producen, en tiras de BITS (bloques).
Luego se abord
o el problema del transporte de los bloques producidos por las fuentes a traves de canales discretos sin
28
memoria. En esos canales cada uno de los BITS de los bloques tiene una probabilidad de modificarse, haciendo que el
bloque (smbolo) del que forma parte se transforme en otro, modific
andose consecuentemente la IX transmitida. Con
respecto al primer problema, es decir la codificacion de la fuente, se vio tambien que si en lugar de codificar smbolos,
a raz
on de uno por uno, se codifican secuencias, ni siquiera es necesario codificarlas todas y que, ademas, dado un
lmite admisible en el error, existe un tama
no de secuencia mas alla del cual el error queda por debajo de ese lmite.
En general, y as lo expresa el Primer Teorema de Shannon, la entropa constituye el lmite por debajo del cual no
puede ir el n
umero medio de BITS por smbolo.
Se plantea seguidamente un problema relativo al canal y al error que el mismo introduce. El problema es el siguiente:
cualquiera sea la codificacion que genera las tiras de BITS (bloques) que se colocan a su entrada ser
a posible intervenir
de alg
un modo sobre los bloques, en la expectativa de que esa intervencion haga descender el error introducido por el
canal?. La respuesta es s, y la forma de intervenir es mediante el agregado de informacion redundante en los bloques.
M
as a
un, dada cualquier cota de error existe una cantidad mnima de informacion redundante (redundancia) capaz
de permitir al canal operar por debajo de esa cota de error. Dadas las caractersticas del modelo de canal es evidente
que, a diferencia del problema de codificacion de la fuente (que en algunos casos se resuelve con error arbitrariamente
bajo y en otros directamente sin error), el problema del canal consiste en acotar un valor de error inevitablemente
presente.
Resumiendo, de acuerdo al Primer Teorema de Shannon, la longitud media de un c
odigo puede ser llevada cerca
de la entropa de la fuente codificada, pero no por debajo de ella. Respetando ese lmite, el error, si lo hay, puede
reducirse a un valor arbitrariamente bajo.
En lo que sigue se ver
a que, de acuerdo al Segundo Teorema de Shannon, la tasa de informacion a traves del
canal puede ser llevada cerca de la capacidad del canal, pero no por sobre ella. Respetando ese lmite, el error puede
reducirse a un valor arbitrariamente bajo.
000
000
001
00
00
010
01
100
10
011
11
101
11
110
111
(a)
(b)
111
(c)
12
2nH(Y)
..
.
..
.
2n 2nH(X )
2nH(Y)
= 2n[H(Y)Hb ()]
2nHb ()
30
(64)
La Figura 13 muestra los M conjuntos disjuntos en la salida, cada uno de los cuales opera en correspondencia
con una de las posibles entradas. Resulta evidente que si el mecanismo solo garantiza la existencia de M conjuntos
disjuntos, como maximo M entradas podran ser reconocidas sin error en la salida, o mejor dicho, con un error tanto
mas peque
no cuanto mas grande sea n.
Pero si a la fuente que alimenta la entrada del canal no le es permitido transmitir en forma segura las 2n secuencias
que est
a en condiciones de generar (siempre pensando en extensiones de n BITS ), ni si quiera las 2nH(X ) secuencias
mas factibles, sino solo de M , con M < 2nH(X ) < 2n , entonces esas M secuencias podran armarse con un n
umero
k < n de BITS, tal como se muestra en la Figura 14. Luego:
M
2k
k = log2 M < n
(65)
2n
2nH(X )
M
nk
n
=
=
2n[H(Y)Hb ()]
n[H(Y) Hb ()]
(66)
(67)
H(Y) Hb () = I(X ; Y)
| {z }
(68)
H(Y|X )
De los n BITS de las secuencias transmitidas, solo k son los encargados de portar la informacion generada por la
fuente de entrada al canal. Los n k restantes son los responsables del mecanismo de proteccion de la informacion
transmitida contra los errores introducidos por el canal.
k
nk
z
}|
{ z }| {
|
{z
}
n
31
Es evidente entonces que la tasa nk es un indicador de la eficiencia del mecanismo, debido a que, para una transmision, representa el porcentaje de BITS asociados estrictamente a la informacion generada por la fuente sobre el
n
umero total de BITS transmitidos. Para un buen aprovechamiento del canal interesa entonces llevar la tasa nk al
maximo valor posible:
k
n
k
max
n
max
max I(X ; Y)
(69)
(70)
Finalmente, el mecanismo que permite a la informacion alcanzar la salida de un canal con nun n
umero arbitrariamente bajo de errores, impone la condicion de que la tasa nk , o sea la tasa de informacion real frente a informacion
total transmitida, no supere la capacidad C del canal. Para el caso del Canal Binario Simetrico:
k
= 1 Hb () = r
n
r se conoce con los nombres de Tasa del C
odigo o Tasa de Transmisi
on.
Subsiste, no obstante, una probabilidad de error en el mecanismo. Ese error es debido a la suposicion de que solo
n BITS se van a modificar en cada secuencia de n BITS. Esta suposicion sera tanto mas cierta cuanto mas larga sea
la secuencia n, y u
nicamente sera absolutamente cierta para secuencias de longitud infinita. De todos modos, para
cualquier cota de error existe una longitud n que permite llevar el error por debajo de esa cota; logicamente siempre
que la Tasa de Transmisi
on no supere la capacidad del canal.
max
EJEMPLO: Sea un Canal Binario Simetrico con = 0.01, a traves del cual se transmite un bloque de 100
BITS. Cabe esperar que, en la salida, 1 de los 100 BITS sera modificado. L
ogicamente no se sabe cual
sera el BIT modificado.
Que interpretaci
on puede hacerse de este problema a la luz de los resultados anteriores?
max
k
n
= 1 Hb ()
= 1 [ log (1 ) log(1 )]
= 1 [0.01 log 0.01 (0.99) log(0.99)]
= 0.92
z
}|
{ z }| {
|
{z
}
100
32
3.4
3.5
Canales Continuos
El primer paso en el tratamiento de Canales Continuos consiste en establecer una forma de cuantificar la IX de ese
tipo. En tal sentido, procediendo por analoga respecto al caso discreto en el que la entropa de una fuente se calcula
como:
X
p(xj ) log2 p(xj )
H(X ) =
j
A traves de un analisis en el que, entre otras cosas, los bloques (tiras de BITS ), se reemplazan por formas de onda,
es posible encontrar una expresion para el valor de la capacidad de un Canal Continuo:
P
C = B log2 1 +
N
Donde P y N son, respectivamente, las potencias de se
nal y de ruido a la salida del canal y B el ancho de banda,
tanto de la se
nal (BP ) como del ruido (BN ). La formula solo vale si el ancho de banda es el mismo para la se
nal y
para el ruido, B = BP = BN .
Bibliografa
[1] Simon Haykin. Communication Systems. John Wiley & Sons, Inc., New York, USA, 4th edition, 2001.
[2] John G. Proakis & Masoud Salehi. Communication Systems Engineering. Prentice-HAll Intenarional, Inc., New
Jersey, USA, 1994.
[3] Bernard Sklar. Digital Communications. Fundamentals and Applications. Addison-Wesley, New Jersey, USA, 2nd
edition, 2001.
[4] Carlos A. Vassalli. A-4.29.2 Comunicaciones Electricas. Apuntes con el desarrollo de los contenidos dictados en
clase, 2000-2004.
33