UNIVERSIDAD SIMÓN BOLÍVAR DECANATO DE ESTUDIOS PROFESIONALES COORDINACIÓN DE MATEMÁTICAS Fundamentos Matemáticos de la Teorı́a de la Información Por: Yrlanda Jaimes Espinoza PROYECTO DE GRADO Presentado ante la Ilustre Universidad Simón Bolı́var como requisito parcial para optar al tı́tulo de Licenciado en Matemáticas, opción Estadı́stica y Matemáticas Computacionales Sartenejas, Diciembre de 2008 UNIVERSIDAD SIMÓN BOLÍVAR DECANATO DE ESTUDIOS PROFESIONALES COORDINACIÓN DE MATEMÁTICAS Fundamentos Matemáticos de la Teorı́a de la Información Por: Yrlanda Jaimes Espinoza Realizado con la asesorı́a de: Alfredo Rı́os Rodrı́guez PROYECTO DE GRADO Presentado ante la Ilustre Universidad Simón Bolı́var como requisito parcial para optar al tı́tulo de Licenciado en Matemáticas, opción Estadı́stica y Matemáticas Computacionales Sartenejas, Diciembre de 2008 iv RESUMEN Aunque fue Hartley el primero en proponer la idea de cuantificar la información transmitida por un sistema de comunicación para comparar las capacidades de distintos sistemas, fue sólo con la publicación del artı́culo de Shannon A Mathematical Theory of Communication que se materializó esta idea. Esta publicación marco el nacimiento de la teorı́a de la información como una rama de la matemática. En este trabajo se pretende unificar y formalizar algunos conceptos y nociones básicas de la teorı́a de la información como entropı́a, información y capacidad usando como referencia principal dicha publicación. Además de caracterizar de manera sencilla algunos procesos que ocurren dentro de un sistema de comunicación mediante resultados clásicos de la teorı́a como la codificación de fuentes, codificación de canales y la compresión de datos. v Índice general Introducción 1. ENTROPÍA E INFORMACIÓN VIII 1 1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Entropı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.1. Entropı́a conjunta y entropı́a condicional . . . . . . . . . . . . . . . 8 1.3. Información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2. FUENTES DE INFORMACIÓN 17 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2. Fuentes de Información de Markov . . . . . . . . . . . . . . . . . . . . . . 18 2.3. Propiedad de Equipartición Asintótica . . . . . . . . . . . . . . . . . . . . 27 3. CANALES DE COMUNICACIÓN 32 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 vi 3.2. Canales discretos sin memoria . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3. Capacidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4. Esquemas de Decodificación . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.5. Teorema Fundamental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4. CODIFICACIÓN 42 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2. Codificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.1. Constucción de Códigos Óptimos . . . . . . . . . . . . . . . . . . . 50 Conclusiones 53 Bibliografı́a 55 vii Índice de cuadros 1.1. Ejemplo 3. Distribución de X . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1. Estados de transición para la fuente del Ejemplo 5 (Orden 1) . . . . . . . . . . 25 2.2. Estados de transición para la fuente del Ejemplo 5 (Orden 2) . . . . . . . . . . 26 4.1. Código del Ejemplo 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2. Construcción de la sucesión de conjuntos Ti para el Ejemplo 9 . . . . . . . 45 Índice de figuras 2.1. Diagrama de Markov para el Ejemplo 5 . . . . . . . . . . . . . . . . . . . . 25 ix Introducción La teorı́a de la información modela matemáticamente los sistemas de comunicación. Un sistema de comunicación está conformado por cinco partes: emisor, transmisor, canal, receptor y destino. Estos sistemas pueden ser discretos, continuos o mixtos. La teorı́a de la información estudia los sistemas de comunicación para crear modelos matemáticos de ellos. Se inicia con la publicación del artı́culo Transmission of Information de Ralph Hartley donde por primera vez se intenta cuantificar la información transmitida por un sistema y años más tarde se publica el artı́culo de Claude Shannon llamado A Mathematical Theory of Communication donde se nombra por primera vez el concepto de entropı́a ası́ como la propiedad de equipartición asintótica, el teorema fundamental de la teorı́a de información y el teorema de codificación sin ruido, este artı́culo es considerado como la primera aproximación formal a la teorı́a. En el artı́culo de Shannon se introdujo por primera vez un modelo cualitativo y cuantitativo de la comunicación como un proceso estadı́stico subyacente tras la teorı́a de información y expresa claramente que el problema fundamental de la comunicación es reproducir un mensaje dado de manera exacta o aproximada de un punto a otro. Pocos años después, en 1951, Brockway McMillan publica The Basic Theorems of Information Theory. Donde se refinan los conceptos presentados por Shannon y se generalizan algunos de sus resultados. Estas fueron las publicaciones que despertaron el interes por la teoria de la informacion dentro de la comunidad cientı́fica y son referencias fundamentales en el área. Es difı́cil encontrar publicaciones cuyo contnido este balanceado entre la teorı́a matemática que sustenta a la teorı́a de la infomación y las x aplicaciones. El objetivo principal de este trabajo es relacionar esos dos aspectos en los niveles básicos. En un intento por seguir el esquema de un sistema de comunicación este trabajo se divide en cuatro capı́tulos. El primer capı́tulo contiene los conceptos de entropı́a e información y sus respectivas propiedades. En el segundo capı́tulo se proporciona la definición y caracterización de una fuente de información para la cual es necesario conocer la teorı́a sobre cadenas de Markov que no se brindan en este estudio. El Capı́tulo 3 esta dedicado al estudio de los canales de comunicación sin memoria y el último capı́tulo al proceso de codificación tanto de fuentes como de canales de comunicación. CAPÍTULO 1 ENTROPÍA E INFORMACIÓN 1.1. Introducción La compresión de datos y la tasa de transmisión de un sistema de comunicación son procesos de gran interés dentro de un sistema de comunicación. En este capı́tulo serán estudiados los conceptos de entropı́a e información mutua que están estrechamente relacionados con estos procesos. Se puede tener una idea de la utilidad de estos conceptos si se piensa en una fuente de información que emite sı́mbolos aleatoriamente y hay algún interés en saber cuál será el próximo sı́mbolo que generará la fuente. Lo único que se conoce sobre tales sı́mbolos son sus probabilidades de ocurrencia. Cabe preguntarse entonces: ¿Cuán incierto es el el próximo sı́mbolo que emitirá la fuente?. La incertidumbre del próximo sı́mbolo está ligada al concepto de entropı́a propuesto por Shannon en [1]. Es posible deducir la definición de entropı́a axiomaticamente definiendo ciertas propiedades que la entropı́a de una variable aleatoria debe satisfacer. En este trabajo no se hará uso de estos axiomas para justificar la definición de la entropı́a, simplemente se definirá y se estudiarán las consecuencias de esta definición. 1.2. Entropı́a Definición 1 Sea pi ≥ 0, (i = 0, 1, . . . , n), Pn i=1 pi = 1 una distribución de probabilidad. La entropı́a (de Shannon) correspondiente a esta distribución está dada por Hn (p1 , p2 , . . . , pn ) = − n X pk log2 pk (1.1) k=1 En adelante, 0 · log2 0 := 0 y H(X) := Hn (p1 , p2 , . . . , pn ), donde X es una variable aleatoria discreta finita que toma los valores x1 , x2 , . . . , xn con probabilidad p1 , p2 , . . . , pn respectivamente. Propiedades Partiendo de la definición de entropı́a, las primeras cuatro propiedades son inmediatas. No negatividad: Hn (p1 , p2 , . . . , pn ) ≥ 0 (1.2) Hn (p1 , p2 , . . . , pn ) = Hn (pσ(1) , pσ(2) , . . . , pσ(n) ) (1.3) Simetrı́a: donde σ es una permutación arbitraria de (1, 2, . . . , n), es decir, la entropı́a es invariante respecto al orden de los experimentos. Expansibilidad: Hn (p1 , p2 , . . . , pn ) = Hn+1 (p1 , . . . , pk , 0, pk+1 , . . . , pn ) (1.4) Esto indica que añadir eventos de probabilidad cero a los posibles resultados de un experimento no cambia la entropı́a del resultado final. Previsibilidad: H1 (1) = 0 No hay incertidumbre alguna sobre el resultado de un experimento con un solo resultado posible. Recusividad o propiedad de agrupamiento: r X Hn (p1 , p2 , . . . , pn ) = H2 pk , k=1 + + r X Pr i=1 pk Hn−r ! pr p1 k=r+1 (r = 1, . . . , n − 1) pk k=r+1 pk Hr k=1 n X n X pi , . . . , Pr i=1 pr+1 Pn i=r+1 pi pi , . . . , Pn pn i=r+1 pi (1.5) Demostración: n X Hn (p1 , p2 , . . . , pn ) = − pk log2 pk k=1 r X = − pk log2 pk − k=1 n X pk log2 pk k=r+1 Note − r X pk log2 pk = − k=1 r r X X k=1 = − = − r X k=1 r X i=1 pk pi · Pr pk log2 pk log2 k=1 pj ! j=1 r X i=1 r X k=1 pi pk ! − ! + log2 r X j=1 r X r X k=1 i=1 r X pj · Pr − k=r+1 pk log2 pk = − n X k=r+1 pk log2 n X pi · Pr j=1 p Pr 1 p k Hr j=1 k=1 k=r+1 pk + n X k=r+1 j=1 pk De la misma forma se encuentra n X pk pk Hn−r pj pj pj log2 pk Pr j=1 pr , . . . , Pr pr+1 Pn ! i=r+1 pi j=1 , . . . , Pn ! pj ! pj pn i=r+1 pi Sumando ambas igualdades queda Hn (p1 , p2 , . . . , pn ) = − r X pk log2 k=1 + + r X p k Hr k=1 n X r X pk − k=1 pk Hn−r k=r+1 que es (1.5). i=1 pk log2 k=r+1 p1 Pr n X pi Pn i=r+1 pr i=1 pi pk k=r+1 , . . . , Pr pr+1 n X pi , . . . , Pn pn i=r+1 pi El siguiente ejemplo podrı́a ser útil para entender la propiedad de recursividad de la entropı́a. Ejemplo 1 Se quiere realizar dos experimentos y calcular la entropı́a del resultado en cada uno de estos. El primer experimento consiste en elegir una carta al azar en un mazo de 52 cartas. El segundo experimento consiste en separar un mazo de cartas en dos grupos que llamaremos A y B. El grupo A contiene las cartas cuya pinta es corazón, pica o diamante y el grupo 2 contiene las cartas cuya pinta es trebol. Una vez que las cartas son separadas en los grupos descritos se elige al azar una carta de uno de los grupos. Note que la probabilidad de escoger una carta cualquiera al azar en un mazo de 52 cartas es 1 . 52 Por esto, la entropı́a del resultado del primer experimento es H52 1 1 ,..., 52 52 52 X 1 1 =− log2 = log2 52 52 52 i=1 Se calculará ahora la entropı́a del resultado del segundo experimento. La probabilidad de escoger alguno de los dos grupos es la suma de las probabilidades de los átomos que lo conforman, es decir, la probabilidad de elegir el grupo A es y la probabilidad de elegir el grupo B es 13 . 52 39 52 Por lo tanto, la entropı́a debida a la elección de uno de estos grupos es 39 13 13 39 13 39 H2 , = − log2 − log2 52 52 52 52 52 52 Ahora, la probabilidad de escoger una carta cualquiera en el grupo A, sabiendo que se eligió el grupo A es 1 . 39 Luego, la entropı́a producida por la elección de una carta del grupo A es H39 1 1 ,..., 39 39 =− 39 X 1 1 log2 = log2 39 39 39 i=1 Con un razonamiento análogo se obtiene que H13 1 1 ,..., 13 13 13 X 1 1 log2 = log2 13 =− 13 13 i=1 La probabilidad de elegir al grupo A es 39 52 y 13 52 es la probabilidad de elegir el grupo B. Ası́, la entropı́a de que produce elegir una carta cualquiera en un mazo de 52 cartas separadas en dos grupos como los que se describieron antes es 39 13 1 1 39 1 13 1 H2 , + H39 ,..., + H13 ,..., 52 52 52 39 39 52 13 13 13 39 13 13 39 39 = − log2 − log2 + log2 39 + log2 13 52 52 52 52 52 52 = log2 52 La entropı́a producida por el resultado de ambos experimentos es la misma como se verá a continuación. De igual forma, si se separa el mazo de cartas en trece grupos de cuatro cartas cuyo número o figura coincida y se elige una carta, la entropı́a es exactamente la misma. Esto sugiere una generalización de la propiedad de agrupamiento para n ≥ 2 grupos. Lema 1 (Concavidad) La funcion H1 (x) es una función cóncava diferenciable en (0, 1) y continua en [0, 1] Demostración: Para verificar la primera parte basta ver que H1 (x) = − x ln1 2 < 0, x > 0 y la ′′ segunda parte es directa de lı́mx→0+ x log2 x = 0. Pn Lema 2 (Shannon) Si pi ≥ 0, (i = 0, 1, . . . , n), i=1 pi = 1 y qi ≥ 0, (i = P 0, 1, . . . , n), ni=1 qi = 1 son distribuciones de probabilidades entonces − n X pi log2 pi ≤ − i=1 n X pi log2 qi (1.6) i=1 Demostración: Se reescribe (1.6) y se tiene − n X pi log2 i=1 Se multiplica esta última expresión por pi ≤0 qi (1.7) qi qi y por (1), queda: ! ! n n n X X X pi pi pi pi qi log2 ≤ − qi qi log2 = 1 log2 1 = 0 − qi qi qi qi i=1 i=1 i=1 que es exactamente (1.7). El lado izquierdo de (1.7) se conoce como la Divergencia de Kullback-Leibler. Teorema 1 (Maximalidad) Para toda distribución de probabilidad (p1 , p2 , . . . , pn ), 1 1 1 , ,..., = log2 n Hn (p1 , p2 , . . . , pn ) ≤ Hn (1.8) n n n Demostración: Por el lema de Shannon con qi = n1 , se tiene Hn (p1 , p2 , . . . , pn ) − n X k=1 pk log2 pk ≤ − n X k=1 pk log2 1 1 = − log2 = log2 n n n Esto dice que la entropı́a como medida de la incertidumbre del resultado de un experimento es mayor cuando todos los posibles resultados tienen la misma probabilidad. Un ejemplo sencillo de una interpretación del concepto de entropı́a tiene que ver con adivinar el valor de una variable aleatoria finita X que tiene n valores posibles, a través de preguntas binarias (preguntas cuyas posibles respuestas son sı́ y no). Este proceso se conoce como juego Bar Kochba. La entropı́a de la variable aleatoria dice el número mı́nimo de preguntas que se debe hacer para revelar el valor de X. Ejemplo 2 ¿Cuántas preguntas binarias son necesarias para adivinar un número entre 1 y 16? ¿Cuántas preguntas son suficientes? ¿Cuáles deben ser estas preguntas?. En principio todos los valores en el rango de X tienen la misma probabilidad, "1 1 tanto la entropı́a del experimento es H16 = 16 = log2 16 = 4. , . . . , 16 1 , 16 La entropı́a de cada pregunta binaria si la respuesta sı́ tiene probabilidad " respuesta no tiene probabilidad 12 con cada pregunta es H2 12 , 12 = 1. La entropı́a que se espera al realizar ocho preguntas binarias es 1 1 1 1 = 8 = log2 256 H2 , , + . . . + H2 2 2 2 2 {z } | 8 veces Al menos cuatro preguntas son necesarias para tener la información H16 por lo 1 2 y la "1 1 . , . . . , 16 16 Ahora la pregunta es: ¿Cuatro preguntas son suficientes para revelar el valor de X? La clave para responder esta pregunta está en la independecia de las preguntas y la propiedad de maximalidad de la entropı́a. Se asume que la probabilidad de obtener un sı́ como respuesta a una pregunta es igual a la probabilidad de obtener un no. Las preguntas se eligen de forma tal que el rango de posibles valores de X se reduzca con cada una de ellas. A primera vista las preguntas no parecerán independientes. Pero la pregunta que se está haciendo indirectamente tiene que ver con la representación binaria (con ceros y unos) del valor de X. Si el valor de X que se quiere adivinar es 7, se pueden formular las siguientes preguntas sobre el valor de X: ¿Es menor que 8?, Sı́. (Es equivalente a la pregunta: ¿El primer dı́gito de la expresión binaria del valor de X es 0? X = 0xxx) ¿Es menor que 4?, No. (¿El segundo dı́gito de la expresión binaria del valor de X es 0? X = 01xx) ¿Es menor que 6?, No. (¿El tercer dı́gito de la expresión binaria del valor de X es 0? X = 011x) ¿Es menor que 7?, No.(¿El cuarto dı́gito de la expresión binaria del valor de X es 0? X = 0111) X es menor que 8 y no es menor que 7, el valor de X es 7. O equivalentemente, la expresión binaria de X es 0111. Ahora se sabe cuántas preguntas son necesarias y suficientes y cómo se eligen. Si X puede tomar n valores entonces el número de preguntas suficientes para revelar su valor " es Hn n1 , . . . , n1 = ⌈log2 n⌉. De esto se puede concluir también que la entropı́a representa el número de bits nece- sarios para codificar cada uno de los valores que puede tomar la variable aleatoria. Hay otra forma de interpretar la entropı́a que podrı́a ser útil para recordar su definión. La entropı́a de una variable aleatoria X que toma valores x1 , x2 , . . . , xn con probabilidades p1 , p2 , . . . , pn , puede ser vista también como el valor esperado de otra variable aleatoria peculiar, W , que es función de X de la siguiente forma: W (X) toma valores − log2 pi con probabilidad pi . Ası́, H(X) = E (W (X)) = − n X pi log2 pi i=1 Esta interpretación de la entropı́a está relacionada con la definición de entropı́a en termodinámica. La segunda ley de la termodinámica dice que la entropı́a de un sistema aislado es no decreciente. A menudo, en termodinámica, la entropı́a se define como el logaritmo del número de microestados posibles para un sistema, lo cual no está lejos de nuestra noción de entropı́a si todos los estados son igualmente probables [2]. 1.2.1. Entropı́a conjunta y entropı́a condicional Si se supone que una varible aletorias E representa el sı́mbolo que se transmitirá a través de un canal de comunicación y otra variable aleatoria R representa el sı́mbolo que se recibe después de la transmisión, serı́a interesante responder preguntas como cuán incierto es R si conocemos E, i.e., H(R | E) o viceversa H(E | R). Para esto será necesario definir entropı́a condicional y extender el concepto de entropı́a para n ≥ 1 variables aleatorias. Sean X y Y variables aleatorias discretas cuya función de probabilidad conjunta es P (X = xi , Y = yj ) = p(xi , yj ) = pij . Se extenderá el concepto de entropı́a para el par (X, Y ) y se definirá su entropı́a condicional como sigue. Definición 2 La entropı́a del vector (X, Y ) es: H(X, Y ) = − m n X X p(xi , yj ) log2 p(xi , yj ) (1.9) i=1 j=1 Definición 3 La entropı́a condicional de Y dado que X = xi es: H(Y | X = xi ) = − m X p(yj | xi ) log2 p(yj | xi ) (1.10) j=1 Definición 4 La entropı́a condicional de Y dado X es: H(Y | X) = − n X i=1 p(xi ) m X p(yj | xi ) log2 p(yj | xi ) (1.11) j=1 La entropı́a condicional mide la incertidumbre sobre el valor de Y que se tiene una vez que se conoce X. Propiedades Aditividad fuerte: H(X, Y ) = H(X) + H(Y | X) (1.12) Demostración: Para esta prueba es conveniente notar que −xy log2 xy = −xy log2 y − yx log2 x (1.13) Sea qij = P (Y = yj |X = xi ), H(X, Y ) = Hnm (p1 q11 , p1 q12 , . . . , p1 q1m , . . . , pn qn1 , pn qn2 , . . . , pn qnm ) = n X m X −pk qkj log2 pk qkj k=1 j=1 = n X pk = pk = m X m X qkj j=1 −qkj log2 qkj + j=1 k=1 n X −qkj log2 qkj + j=1 k=1 n X m X n X n X −pk log2 pk k=1 −pk log2 pk k=1 pk Hm (qk1 , qk2 , . . . , qkm ) + Hn (p1 , p2 , . . . , pn ) k=1 = H(Y | X) + H(X) De la misma forma se puede demostrar que dada una variable aleatoria Z H(X, Y | Z) = H(X | Z) + H(Y | X, Z) Aditividad: Si X y Y son variables aleatorias independientes entonces H(X, Y ) = H(X) + H(Y ) (1.14) Demostración: Por (1.13), queda: H(X, Y ) = Hmn (p1 q1 , p1 q2 , . . . , p1 qm , p2 q1 , p2 q2 , . . . , p2 qm , . . . , pn q1 , pn q2 , . . . , pn qm ) = n X m X −pk qj log2 pk qj k=1 j=1 = n X k=1 = m X pk m X −qj log2 qj + j=1 −qj log2 qj + j=1 m X j=1 n X qj n X −pk log2 pk k=1 −pk log2 pk k=1 = Hm (q1 , q2 , . . . , qm ) + Hn (p1 , p2 , . . . , pn ) = H(Y ) + H(X) Subaditividad H(X, Y ) ≤ H(X) + H(Y ) (1.15) Demostración: H(X) + H(Y ) = − n X pi log2 pi − i=1 = − m X pj log2 pj j=1 n X m X p(xi , yj ) log2 p(xi ) − i=1 j=1 = m n X X m X n X p(xi , yj ) log2 p(yj ) j=1 i=1 p(xi , yj ) log2 p(xi )p(yj ) i=1 j=1 usando 1.6 nos queda n X m X p(xi , yj ) log2 p(xi )p(yj ) ≥ i=1 j=1 n X m X p(xi , yj ) log2 p(xi , yj ) = H(X, Y ) i=1 j=1 con igualdad si y sólo p(xi )p(yj ) = p(xi , yj ) ∀i, j, i.e., si X y Y son independientes (cf. Aditividad). Monotonı́a H(Y | X) ≤ H(Y ) (1.16) Demostración: Por (1.12) y (1.15) tenemos que H(X, Y ) = H(X) + H(Y | X) ≤ H(X) + H(Y ) ⇒ H(Y | X) ≤ H(Y ) Ejemplo 3 La Serie Mundial es una serie de siete juegos que termina cuando un equipo gana cuatro juegos. Sea X la variable aleatoria que representa el resultado de una serie entre los equipos A y B. Algunos posibles valores de X son AAAA, BABABAB y BBBAAAA. Sea Y el número de juegos jugados, cuyo rango está entre 4 y 7. Asumiendo que los equipos están a la misma altura y que los juegos son independientes se quiere calcular H(X), H(Y ), H(Y |X) y H(X|Y ). Hay que ver primero cuáles son todas las posibles series mundiales o valores de X y sus respectivas probabilidades. Por ejemplo, los valores que puede tomar X si el número de juegos, n, de la serie es 4 son AAAA,BBBB. Si n = 5 los valores que toma X son BAAAA, ABAAA, AABAA, AAABA, ABBBB, BABBB, BBABB, BBBAB Cuadro 1.1: Ejemplo 3. Distribución de X n # de posibles valores de X P (X) 4 2 1 24 5 8 1 25 6 20 1 26 7 40 1 27 La distribución de Y es 1 1 = 3 4 2 2 1 1 P (Y = 5) = 8 · 5 = 2 2 2 1 5 P (Y = 6) = 20 · 6 = 4 2 2 1 5 P (Y = 7) = 40 · 7 = 4 2 2 P (Y = 4) = 2 · Ahora se puede calcular H(X), H(Y ), H(Y |X) y H(X|Y ). 1 1 1 1 1 1 1 1 H(X) = H70 4 , 4 , 5 , . . . , 5 , 6 , . . . , 6 , 7 , . . . , 7 2 2 |2 {z 2 } |2 {z 2 } |2 {z 2 } 8 veces 20 veces 40 veces 1 1 1 1 1 − 8 · 5 log2 − 20 · 6 log2 = −2 · 4 log2 4 5 2 2 2 2 2 1 1 5 5 = − (−4) − (−5) − (−6) − (−7) 8 4 16 16 93 = − = 5,81 16 1 26 1 − 40 · 7 log2 2 1 27 H(Y ) = H4 1 23 1 = − 3 2 = 1,92 = − 1 1 5 5 , , , 23 22 24 24 1 5 5 1 1 5 5 log2 − 2 log2 − 4 log2 − 4 log2 3 2 4 2 2 2 2 2 2 24 1 10 10 (−3) − 2 (−2) − 4 (−4) − 4 log2 5 2 2 2 Para calcular H(Y |X) se necesita H(Y |X = x) para todos los valores de x. Es fácil ver, por ejemplo, que H(Y |X = AAAA) = H(Y |X = BBBB) = H4 (1, 0, 0, 0) = 0 En realidad, H(Y |X = x) = 0 para cualquier valor de X pues al conocer el valor de X se conoce el valor de Y . Ası́ H(Y |X) = 0. Para calular H(X|Y ) se usa (1.12) y se tiene H(X|Y ) = H(X, Y ) − H(Y ) = H(Y |X) + H(X) − H(Y ) = 0 + H(X) − H(Y ) = 5,81 − 1,92 = 3,89 1.3. Información Ahora se presenta el concepto de información, conocido también como información mutua. Se llama información mutua de un par de variables aleatorias a la cantidad de información que una variable aleatoria contiene sobre otra, que no es más que la reducción de la incertidumbre de una variable aleatoria debida al conocimiento de la otra. Definición 5 La información sobre X contenida en Y es I(X | Y ) = H(X) − H(X | Y ) La información mutua es una medida de dependencia entre un par de variables aleatorias, e.g., I(X | Y ) = 0 si y sólo si X y Y son independientes. Propiedades No negatividad I(X | Y ) ≥ 0 Esto es inmediato de (1.16). La igualdad se alcanza sólo cuando las variables aleatorias son independientes. Simetrı́a o balance de la información I(X | Y ) = I(Y | X) Esta sorprendente propiedad se verifica facilmente a partir de (1.12) y dice que Y contiene tanta información sobre X como X sobre Y . I(X | Y ) = H(X) − H(X | Y ) = H(X) − H(Y ) + H(X, Y ) = H(Y ) − H(Y | X) = I(Y | X) Ejemplo 4 Los habitantes de cierto caserı́o están divididos en dos grupos, A y B. En el grupo A la mitad de las personas dicen la verdad, tres décimos mienten y un quinto de ellos se niegan a responder. En el grupo B, tres décimos dicen la verdad, la mitad mienten y dos décimos no responden. Sea p la probabilidad de que una persona seleccionada al azar pertenezca al grupo A. Sea I = I(p) la información transmitida acerca del estatus de una persona (si dice la verdad, miente o no responde) una vez que se conoce a qué grupo pertenece. ¿Cuál es máximo valor que puede tomar I ? y ¿cuál es el porcentaje de personas en el grupo A para las cuales el máximo ocurre? Primero se definen V , M y N como los eventos “la persona elegida dice la verdad”, “la persona miente” y “la persona no contesta”, respectivamente, A y B como los eventos “la persona pertenece al grupo A” y “la persona pertence al grupo B” y sea P (A) = p. Se calculará la probabilidad de cada evento P (V ) = P (V | A)P (A) + P (V | B)P (B) 1 3 3 2 3 2 = P (A) + [1 − P (A)] = + P (A) = + p 2 10 10 10 10 10 P (M ) = P (M | A)P (A) + P (M | B)P (B) 1 1 2 3 P (A) + [1 − P (A)] = − p = 10 2 2 10 P (N ) = P (N | A)P (A) + P (N | B)P (B) 2 2 2 = P (A) + [1 − P (A)] = 10 10 10 Ahora, Y será la variable aleatoria que toma los valores V , M y N según la respuesta del individuo y X será la variable aleatoria que toma valores A y B según el grupo al que pertenezca. Entonces 3 1 2 2 2 2 2 2 1 3 + p log2 + p − − p log2 − p − log2 H(Y ) = − 10 10 10 10 2 10 2 10 10 10 y H(Y | X) = P (A)H(Y | X = A) + P (B)H(Y | X = B) = pH(Y | X = A) + (1 − p)H(Y | X = B) 1 3 2 3 1 2 , , + (1 − p)H3 , , = pH3 2 10 10 10 2 10 1 3 2 1 3 2 = pH3 , , , , + (1 − p)H3 2 10 10 2 10 10 1 3 2 = H3 , , = 1,49 2 10 10 Finalmente se puede calcular I(Y | X) = = H(Y ) − H(Y | X) 3 1 1 3 2 2 2 2 1 2 2 2 3 + p log2 + p − − p log2 − p − log2 − H3 , , − 10 10 10 10 2 10 2 10 10 10 2 10 10 Se deriva respecto a p y se obtiene ∂ 3 1 2 2 2 2 2 2 I(Y | X) = − log2 + p − + log2 − p + ∂p 10 10 10 10 10 2 10 10 Se iguala a cero y se obtiene el valor del p para el que la información es máxima 2 log2 10 2 1 − 10 p 2 3 2 − 10 p 10 =0⇒ 2 1 2 − 10 p 10 2 3 2 − 10 p 10 =1⇒p= 1 2 Con este valor de p el valor máximo de la información es Imax (Y | X) = 0,4 log2 0,4 − 0,4 log2 0,4 − 0,2 log2 0,2 − 1,49 = 0,037 Lo cual quiere decir que saber a que grupo pertence el individuo no da mucha información sobre si dice la verdad, miente o no responde. CAPÍTULO 2 FUENTES DE INFORMACIÓN 2.1. Introducción La fuente de información es el componente del sistema de comunicación que produce el mensaje que se quiere transmitir al receptor final o destino. Las fuentes de información se clasifican de acuerdo a la estructura estadı́stica de la sucesión de sı́mbolos que emiten. La codificación de los sı́mbolos emitidos por una fuente y la compresión los datos generados por las mismas son objetos de estudio para diferentes teorı́as vinculadas a la Teorı́a de Información. Uno de los teoremas de Shannon que se estudiará más adelante proporciona resultados concretos sobre estos procesos dando un lı́mite teórico para la compresión de datos y un número de bits promedio para la codificación de sı́mbolos producidos por la fuente. Las fuentes de información pueden ser discretas, continuas o mixtas en dependecia de la estructura del sistema de comunicación del cual forma parte. En este capı́tulo se estudiarán fuentes de información discretas (concretamente las de Markov) y se asumirá que las propiedades estadı́sticas de dichas fuentes son invariantes en el tiempo. Además se estudiará una propiedad general de las fuentes de información como lo es la propiedad de equipartición asintótica, que establece que las sucesiones de sı́mbolos emitidas por una fuente pueden dividirse en dos clases claramente definidas: las sucesiones tı́picas y las sucesiones atı́picas. La probabilidad de que la fuente emita una sucesión tı́pica es 2−nH{X} aproximadamente, donde H {X} es la entropı́a de la fuente de información. 2.2. Fuentes de Información de Markov Para el desarrollo de este capı́tulo es necesario tener en cuenta algunos conceptos de la teorı́a de cadenas de Markov. En el Apéndice A se recuerdan algunas definiciones y resultados elementales. Las demostraciones y otros resultados pueden ser consultados en [3], [4] o [5]. El alfabeto de la fuente, que en adelante se llamara Γ, no es más que el conjunto de todos los sı́mbolos que puede generar la fuente. La selección sucesiva de sı́mbolos de Γ se considera un proceso estocástico y su estructura estadı́stica caracteriza a la fuente de información. Ahora se puede definir qué es una fuente de información y caracterizar las de Markov que serán de mayor interés en este estudio. Definición 6 Una fuente de información es una sucesión de variables aleatorias X0 , X1 , X2 , . . ., tal que: i) Cada Xi toma valores en un conjunto finito Γ, y ii) La sucesión es estacionaria, i.e., P {Xi1 = γ1 , Xi2 = γ2 , . . . , Xik = γk } = P {Xi1 +h = γ1 , Xi2 +h = γ2 , . . . , Xik +h = γk } para todos los enteros i1 , i2 , . . . , ik , h ≥ 0 y γ1 , γ2 , . . . , γk ∈ Γ Definición 7 Una fuente de información de Markov es una sucesión estacionaria {Xn = f (Zn )}n≥0 donde Z0 , Z1 , Z2 , . . . es una cadena de Markov finita, f es una función cuyo dominio es el conjunto de estados y cuyo rango es el conjunto finito Γ,i.e., f : S → Γ y W ∈ [0, 1]n es la distribución estacionaria mediante la cual se elige el estado inicial Z0 . Una vez que se conoce la estructura de una fuente de información es natural preguntarse si existe una forma de adaptar el concepto de entropı́a para este componente del sistema. La respuesta es sı́ como se presenta a continuación. Esta definición de incertidumbre de una fuente fue presentada por Shannon en [1] y es posible interpretarla como el número de bits emitidos por la fuente por cada sı́mbolo o como entropı́a de un sı́mbolo particular emitido por la fuente conociendo los sı́mbolos que fueron emitidos antes que él. Definición 8 Dada una fuente de información X0 , X1 , . . . la incertidumbre de la fuente se denota por H {Xn , n = 0, 1, . . .} o H {X} y se define como lı́m H(Xn | X0 , X1 , . . . , Xn−1 ) n→∞ Es conveniente notar dos cosas respecto a {H(Xn | X0 , X1 , . . . , Xn−1 )}n≥1 : La sucesión es no creciente. Es fácil ver esto usando (1.16) y el carácter estacionario de la cadena de la siguiente manera: H(Xn | X0 , X1 , . . . , Xn−1 ) ≤ H(Xn | X1 , . . . , Xn−1 ) = H(Xn−1 | X0 , X1 , . . . , Xn−2 ) Todos los términos de la sucesión son mayores o iguales que cero, por lo cual el lı́mite H {X} existe. Además por (1.16) y (1.8) H {X} ≤ H(Xn | X0 , X1 , . . . , Xn−1 ) ≤ H(Xn ) ≤ log2 |Γ| Aunque el siguiente teorema nos brinda otra presentación de la definición de la entropı́a de una fuente, calcularla es difı́cil en la mayorı́a de los casos. Teorema 2 Si X0 , X1 , . . ., es una fuente de información, entonces H(X0 , X1 , . . . , Xn ) n→∞ n+1 H {X} = lı́m (2.1) Demostración: Sea gn = H(Xn | X0 , X1 , . . . , Xn−1 ), n = 1, 2, . . . g0 = H(X0 ) entonces por (1.12), H(X0 ) + H(X1 | X0 ) + . . . + H(Xn | X0 , X1 , . . . , Xn−1 ) H(X0 , X1 , . . . , Xn ) = n+1 n+1 g0 + g1 + . . . + gn = n+1 pero por definición de H {X}, gn → H {X} y como la cada término de la sucesión H(X0 , X1 , . . . , Xn ) n+1 n≥0 es la media aritmética de una sucesión que converge a H {X}, esta también converge a H {X}. Además, Pn gi hn+1 H(X0 , X1 , . . . , Xn ) = = i=0 n+1 n+1 n+1 es una sucesión no creciente, por lo tanto Pn Pn−1 P ngn − n−1 hn hn+1 i=0 gi i=0 gi i=0 gi − = − = n+1 n n+1 n n(n + 1) Como {gn } es también una sucesión no creciente gi ≥ gn , n = 0, 1, . . . , n − 1 y en consecuencia ngn − n−1 X gi ≤ ngn − ngn = 0. i=0 La incertidumbre de una fuente determina la capacidad mı́nima que debe tener un canal para transmitir de forma confiable el mensaje emitido por la fuente, una vez que ha sido codificado. Esto cobrará más sentido en el próximo capı́tulo. Una clase particular de fuentes de información de Markov son las fuentes unifilares (o de una sola fibra) para las cuales el cálculo de la incertidumbre resulta más sencillo. Definición 9 Dada una fuente de información de Markov con conjunto de estados S = {s1 , s2 , . . . , sr }, alfabeto Γ, con función asociada f : S → Γ, la distribución estacionaria W = [w1 w2 · · · wr ] y sk1 , sk2 , . . . , sknk los estados que pueden ser alcanzados en un paso desde sk , para cualquier 1 ≤ k ≤ r, es decir, los estados sj tales que pkj > 0 ,1 ≤ j ≤ r. La fuente se llama unifilar si para cada estado sk , los sı́mbolos f (sk1 ), f (sk2 ), . . . , f (sknk ) son distintas,i.e., cada estado alcanzable directamente desde sk está asociado con un sı́mbolo distinto del alfabeto. Teorema 3 La entropı́a de una fuente de información de Markov unifilar esta dada por H {X} = r X wk H (k) (2.2) k=1 donde H (k) = Hnk (pk1 , pk2 , . . . , pknk ) es la incertidumbre del estado sk con pk1 , pk2 , . . . , pknk la probabilidad de ir a los estados directamente alcanzables desde sk . Demostración: La cadena de Markov de la fuente es un proceso estocástico Z0 , Z1 , . . ., donde Zn representa el estado del proceso después de n transiciones. Entonces 1 1 X P {Z0 = α0 , . . . , Zn = αn } log2 P {Z0 = α0 , . . . , Zn = αn } H(Z0 , Z1 , . . . , Zn ) = − n+1 n+1 α∈S con α = (α0 , . . . , αn ) y P {Z0 = α0 , . . . , Zn = αn } = P {Z0 = α0 , } P {Z1 = α1 , . . . , Zn = αn | Z0 = α0 } Se supondrá que el estado inicial es α0 , αi es el estado de la cadena después de i transiciones (i = 1, 2, . . . , n) y γi = f (αi ) ∈ Γ. Como la fuente es unifilar la sucesión de sı́mbolos γ1 , γ2 , . . . , γn no puede ser producida por otra sucesión de estados α′ 1 , α′ 2 , . . . , α′ n . Por esto se puede escribir − X (P {Z0 = α0 } P {Z1 = α1 , . . . , Zn = αn | Z0 = α0 }) log2 P {Z0 = α0 } P {Z1 = α1 , . . . , Zn = αn | Z0 = α0 } γ1 ,...,γn ∈Γ α0 ∈S como − X γ1 ,...,γn ∈Γ α0 ∈S (P {Z0 = α0 } P {X1 = γ1 , . . . , Xn = γn | Z0 = α0 }) [log2 P {Z0 = α0 } + log2 P {X1 = γ1 , . . . , Xn = γn | Z0 = α0 }] para notar que es equivalente a H(Z0 ) + H(X1 , . . . , Xn | Z0 ) pero H(X1 , . . . , Xn | Z0 ) = H(Z0 , X1 , . . . , Xn ) − H(Z0 ) = H(X1 , . . . , Xn ) + H(Z0 | X1 , . . . , Xn ) − H(Z0 ) Ahora H(Z0 | X1 , . . . , Xn ) ≤ H(Z0 ) ≤ log2 r y log2 r n+1 → 0 cuando n → ∞ por lo cual H(Z0 , Z1 , . . . , Zn ) = n→∞ n+1 H(X1 , . . . , Xn ) n→∞ n+1 H(X0 , . . . , Xn−1 ) = lı́m n→∞ n+1 H(X0 , . . . , Xn−1 ) n = lı́m · n→∞ n n+1 lı́m lı́m de lo cual se concluye que H {X} = H {Z} y en este caso H {Z} se calcula fácilmente. H {Z} = lı́m H(Zn | Z0 , Z1 , . . . , Zn−1 ) n→∞ = H(Zn | Zn−1 ) = H(Z1 | Z0 ) r X = P {Z0 = sk } H(Z1 | Z0 = sk ) k=1 = r X wk H (k) k=1 También es importante conocer el grado de dependencia de un sı́mbolo respecto a los sı́mbolos que le precedieron para determinar el orden de la fuente de información. Este conocimiento sobre la estructura de la fuente permite codificar los mensaje de forma tal que la capacidad necesaria para transmitirlos se reduzca considerablemente. Además, saber si la fuente es de orden finito, N , permite expresar la incertidumbre de la fuente como la diferencia de la entropı́a de N + 1 sı́mbolos sucesivos y la entropı́a de N sı́mbolos sucesivos lo cual simplifica aún más el cálculo de la incertidumbre de las fuentes unifilares de Markov. Ahora se verá cómo determinar el orden de una fuente. Definición 10 Una cadena de Markov unifilar se dice de orden M si el estado Zt está determinado por los sı́mbolos Xt ,Xt−1 ,. . .,Xt−M +1 pero no por los sı́mbolos Xt ,Xt−1 ,. . .,Xt−i , (i < M − 1). Si la fuente es de orden M , entonces para n ≥ M P {Xt = γt | Xt−1 = γt−1 , . . . , Xt−M = γt−M } = P {Xt = γt | Xt−1 = γt−1 , . . . , Xt−n = γt−n } Definición 11 Una fuente unifilar de Markov es de orden infinito si no es de orden M para cualquier M finito. Para encontrar el orden de una fuente hay que estudiar los estados asociados a todas las sucesiones de sı́mbolos de longitud n ≥ 1 hasta encontrar el M tal que para todas las sucesiones de sı́mbolos de longitud M el estado final es independiente del estado inicial. A continuación se presenta un criterio para detectar el n en el cual se debe detener el proceso para decir que la fuente es de orden infinito. Teorema 4 Si una fuente de información de Markov unifilar con r estados es de orden finito M , entonces M ≤ 12 r(r − 1). Demostración: Sea Q una sucesión cualquiera de sı́mbolos de tamaño 12 r(r − 1). Q = α1 , α2 , . . . , α 1 r(r−1) 2 Hay que probar que el estado final asociado a Q es el mismo para todos los estados iniciales. Si u0 y v0 son dos estados iniciales distintos, entonces la sucesión Q toma estado u0 en algún momento a lo largo de la sucesión u1 ,u2 ,. . . ,u 1 r(r−1) y pasa lo mismo con el estado 2 v0 en la sucesión v1 ,v2 ,. . . ,v 1 r(r−1) . Si ui = vi para algún i con 0 < i < 12 r(r − 1) entonces 2 uj = vj para i ≤ j ≤ 1 r(r 2 − 1). En particular para u 1 r(r−1) = v 1 r(r−1) . 2 2 Ahora se asume que ui 6= vi para 0 ≤ i < 12 r(r − 1). Si para un i y un j particulares 0 ≤ i < j ≤ 12 r(r − 1) se tiene ui = uj y vi = vj , entonces la fuente debe ser de orden infinito, lo cual contradice la hipótesis. De la misma forma, no se puede tener ui = vj y vi = uj , 0 ≤ i < j ≤ 12 r(r − 1). Por lo tanto, si 0 ≤ i < j ≤ 21 r(r − 1), entonces los conjuntos {ui , vi } y {uj , vj } no son iguales y además ui = 6 vi para 0 ≤ i < 12 r(r − 1). Sin " embargo, sólo hay 2r = 12 r(r − 1) formas posibles de escoger dos estados distintos de los r. En consecuencia (u0 , v0 ),(u1 , v1 ),(u2 , v2 ),. . .,(u 1 r(r−1)−1 , v 1 r(r−1)−1 ) agota todos los 2 2 pares distintos de estados posibles y por lo tanto u 1 r(r−1) = v 1 r(r−1) . 2 2 Ejemplo 5 Se supone que existe un lenguaje conformado por cuatro sı́mbolos: A, B, C y el espacio. Los sı́mbolos ocurren independientemente excepto por las siguientes restricciones: No puede haber dos espacios seguidos Si el sı́mbolo A ocurre inmediatamente después de B, C o el espacio entonces el sı́mbolo siguiente debe ser A tambien, es decir, P {Xt | Xt−1 = A, Xt−2 6= A} = 1 El diagrama de Markov para esta fuente se muestra en la Figura 2.1 donde f (s1 ) = f (s5 ) = A f (s2 ) = B f (s3 ) = C f (s4 ) = Espacio Figura 2.1: Diagrama de Markov para el Ejemplo 5 A partir del digrama mostrado en la Figura 2.1 se puede construir la matriz de transición asociada a la cadena para resolver el sistema W Π = W y ası́ determinar las probabilidades del estado de equilibrio W de la cadena de Markov. 1/4 1/4 1/4 1/4 0 0 1/4 1/4 1/4 1/4 0 1/4 1/4 1/4 1/4 0 1/3 1/3 0 1/3 1 0 0 0 0 La probabilidad del estado de equilibrio es W = 2 2 2 1 1 9 9 9 6 6 . Para determinar el orden de la fuente se construyen tablas con los estados de transición para esta fuente. E representa el sı́mbolo espacio. Xt Zt−1 A B C E s1 s1 s2 s3 s4 s2 s5 s2 s3 s4 s3 s5 s2 s3 s4 s4 s5 s2 s3 - s5 s1 - - - Cuadro 2.1: Estados de transición para la fuente del Ejemplo 5 (Orden 1) La fuente no es de orden 1 ya que el estado Zt de la fuente en el tiempo t no está determinado por la salida previa de la fuente Xt−1 . Por ejemplo, si Xt = A entonces Zt puede ser o bien s1 o bien s5 . Se verificará ahora si es de orden 2, Como se ve en la tabla, Zt está completamente Xt−1 Xt Zt−2 AA AB AC AE BA BB BC BE CA CB CC CE EA EB EC EE s1 s1 s2 s3 s4 s5 s2 s3 s4 s5 s2 s3 s4 s5 s2 s3 - s2 s1 - - - s5 s2 s3 s4 s5 s2 s3 s4 s5 s2 s3 - s3 s1 - - - s5 s2 s3 s4 s5 s2 s3 s4 s5 s2 s3 - s4 s1 - - - s5 s2 s3 s4 s5 s2 s3 s4 s5 s2 s3 - s5 s1 s2 s3 s4 - - - - - - - - - - - - Cuadro 2.2: Estados de transición para la fuente del Ejemplo 5 (Orden 2) determinado por los sı́mbolos Xt−1 Xt sin importar el estado inicial, por lo tanto la fuente es de orden 2. Ahora se asume que si el sı́mbolo anterior es el espacio el sı́mbolo siguiente podrı́a ser A, B o C conla misma probabilidad y si el sı́mbolo anterior es B o C o los dos sı́mbolos anteriores son ambos A entonces el sı́mbolo siguiente podrı́a ser A, B, C o espacio con la misma probabilidad. Como esta fuente es unifilar se puede usar el Teorema 3 para calcular la entropı́a de la fuente H {X} = = = 4 1 1 1 1 1 1 1 1 1 1 1 1 2 1 H5 , , , , 0 + H5 0, , , , + H5 (1, 0, 0, 0, 0) + H5 0, , , 0, 9 4 4 4 4 9 4 4 4 4 6 6 3 3 3 1 1 1 1 1 1 1 6 1 H4 , , , , , + H3 9 4 4 4 4 6 3 3 3 1 4 1 2 log2 4 + log2 3 = + log2 30 = 1,6 3 6 3 6 2.3. Propiedad de Equipartición Asintótica El equivalente a la Ley Débil de los Grandes Números en la teorı́a de información es el Teorema o Propiedad de Equipartición Asintótica. La Ley Débil de los Grandes Números establece que para variables aleatorias X1 , X2 , . . . , Xn independientes e identicamente distribuidas la media muestral de dichas variables se aproxima a E (X) cuando n es suficientemente grande. La Propiedad de Equipartición Asintótica establece que para variables aleatorias con las mismas condiciones − n1 log2 P (X1 = α1 , . . . , Xn = αn ) se aproxima a la incertidumbre de la fuente H {X} donde P (X1 = α1 , . . . , Xn = αn ) es la probabilidad de que la fuente emita la sucesión α1 , . . . , αn . Esta propiedad, como se mencionó anteriormente, nos permite separar el conjunto de todas sucesiones que pueden ser emitidas por una fuente en dos conjuntos: el de las sucesiones tı́picas, que se denota como T , y el de las sucesiones atı́picas. Para el conjunto de la sucesiones tı́picas la entropı́a de la muestra se acerca mucho a la entropı́a real. Ahora se verá formalmente qué es una sucesión tı́pica. Sean α = (α1 , α2 , . . . , αn ) una sucesión de sı́mbolos, fi = fi (X1 , X2 , . . . , Xn ) el número de veces que aparece el sı́mbolo αi en la sucesión X1 , X2 , . . . , Xn y dado ǫ > 0 se fija un k > 0 tal que 1 k2 < ǫ m (es conveniente notar que con estas condiciones fi tiene distribución binomial con parámetros n, pi donde pi = P (X = αi )). Definición 12 Se dirá que la sucesión α es tı́pica si f (α) − np i i < k, i = 1, 2, . . . , m. p npi (1 − pi ) Ası́, en una sucesión tı́pica cada sı́mbolo aparece en promedio con su frecuencia esperada npi . Cuando n es suficientemente grande hay aproximadamente 2H{X}n sucesiones tı́picas de longitud n, cada una con probabilidad aproximada 2−H{X}n . Definición 13 Sea X1 , X2 , . . . una fuente de información con alfabeto Γ, es decir, una sucesión estacionaria de variables aleatorias que toman valores en el conjunto finito Γ. Para cada sucesión α = (α1 , . . . , αm ), αi ∈ Γ se define la variable aleatoria n1 Nαn (X1 , . . . , Xn ) como el número de enteros i tales que Xi = α1 , Xi+1 = α2 , . . ., Xi+m−1 = αm , 1 ≤ i ≤ n − m + 1. Definición 14 Se dice que una fuente de información es ergódica si para todas las sucesiones α = (α1 , . . . , αm ),la variable aleatoria 1 N n (X1 , . . . , Xn ) n α converge en probabilidad a P {X1 = α1 , . . . , Xm = αm }. Todas estas herramientas permiten enunciar el Teorema de Equipartición Asintótica conocido también como el Teorema de Shannon-McMillan-Breiman. Claude Shannon desarrolló por primera vez el resultado de la convergencia en probabilidad para las fuentes de Markov ergódicas estacionarias, McMillan probó la convergencia en L1 para fuentes ergódicas estacionarias y Breiman probó la convergencia casi siempre para este mismo tipo de fuentes. Teorema 5 (Shannon-McMillan-Breiman) Sea {Xn }n≥1 una fuente de información ergódica con alfabeto Γ e incertidumbre H {X}. Si X1 = α1 , . . .,Xn = αn , entonces la sucesión de variables aleatorias 1 Vn (X1 , . . . , Xn ) = − log2 P (X1 = α1 , . . . , Xn = αn ) n converge en probabilidad a H {X} La demostración de este teorema está expuesta claramente en [6], [2] y [7] al igual que las de algunos resultados relacionados con las ya mencionadas sucesiones tı́picas y la compresión de datos que se desprenden de él. Como consecuencia del Teorema de Equipartición Asintótica no es difı́cil ver que el conjunto de sucesiones tı́picas de longitud n, Tn , tiene las siguientes propiedades: Si (α1 , α2 , . . . , αn ) ∈ Tn , entonces H {X} − ǫ ≤ − n1 log2 p(α1 , α2 , . . . , αn ) ≤ H {X} + ǫ. P (Tn ) > 1 − ǫ para n grande. |Tn | ≤ 2n(H{X}−ǫ) . Se verá ahora una aplicación de la Propiedad de Equipartición Asintótica en la compresión de datos. Si X1 , X2 , . . . , Xn son variables aleatorias independientes e idénticamente distribuidas con función de masa de probabilidad p(x). Se quiere encontrar una descripción corta para tales vectores de variables aleatorias. Para ello se separarán en sucesiones tı́picas y atı́picas y luego se ordenan lexicográficamente los elementos en ambos grupos. Entonces se puede representar todas las sucesiones tı́picas a través del ı́ndice de la sucesión en el conjunto. Se sabe que a lo sumo hay 2n(H{X}+ǫ) sucesiones tı́picas, por lo cual se necesitan al menos ⌈n(H {X} + ǫ)⌉ bits para indexar. Si se coloca un cero antes de cada ı́ndice de la sucesión se necesitan ⌈n(H {X} + ǫ)⌉ + 1 bits para representar cada sucesión tı́pica. De la misma forma se pueden indexar las sucesiones atı́picas usando un uno como prefijo de los ı́ndices usando no más de ⌈n log2 |Γ|⌉ + 1 y ası́ se tiene un código para todas las sucesiones posibles. El esquema de codificación anterior se caracteriza por lo siguiente: El código puede descifrarse paso a paso fácilmente. El primer bit indica la longitud de la palabra que lo sigue. Las sucesiones tı́picas tienen descripciones cortas de longitud nH {X} aproximadamente. Sea An el conjunto de todas las sucesiones que se pueden formar con n sı́mbolos, α = (α1 , α2 , . . . , αn ), n ≥ 1 y k(W (α)) la longitud de la palabra del código asociada a α. Si n es suficientemente grande para que la probabilidad del conjunto de las sucesiones tı́picas sea no menos de 1 − ǫ, entonces la longitud esperada de las palabras del código es E [k (W (An ))] = X p(α)k(W (α)) α∈A = X p(α)k(W (α)) + X p(α)k(W (α)) α∈Tnc α∈Tn ≤ X p(α) (⌈n(H {X} + ǫ)⌉ + 1) + α∈Tn = P (Tn ) (⌈n(H {X} + ǫ)⌉ + 1) + P X p(α) (⌈n log2 |Γ|⌉ + 1) α∈Tnc (Tnc ) (⌈n log2 |Γ|⌉ + 1) ≤ n(H {X} + ǫ) + ǫ ⌈n log2 |Γ|⌉ + 1 = n (H {X} + ǫ′ ) Con ǫ′ es arbitrariamente pequeño con una elección apropiada tanto de ǫ como de n. Esto es una prueba del siguiente teorema. Teorema 6 Sean X1 , X2 , . . . , Xn variables aleatorias idenpendientes idénticamente distribuidas con función de masa p(x) y ǫ > 0. Entonces existe un código que manda inyectivamente las sucesiones α = (α1 , α2 , . . . , αn ) a sucesiones de dı́gitos binarios y 1 E k (W (An )) ≤ H {X} + ǫ n para n suficientemete grande. Esto nos dice que se pueden representar las sucesiones de n sı́mbolos usando en promedio nH {X} bits. Ejemplo 6 Una fuente de información sin memoria emite ceros y unos de manera independiente con probabilidades p(1) = 0,005 y p(0) = 0,995. Se debe asignar una palabra del código a cada sucesión formada por 100 dı́gitos con tres unos o menos. Se hallará la longitud mı́nima necesaria para asignarles palabras del código a todas las sucesiones que tengan tres unos o menos, asumiendo que todas las palabras del código tienen la misma longitud. En el capı́tulo 1, se vió que la entropı́a representa el número de bits necesarios para codificar cada uno de los valores que puede tomar una variable aleatoria. Entonces sólo es necesario ver cuántos valores puede tomar la variable aleatoria representada por 100 dı́gitos binarios con a lo sumo tres unos. 100 100 100 100 100 + + + + = 166751 0 1 2 3 4 Como todas las sucesiones tienen la misma probabilidad, la entropı́a de X es 1 1 H166751 ,..., = log2 166751 = 17,35 166751 166751 Por lo cual el número de bits necesarios y suficientes para codificar este tipo de sucesiones es ⌈17,35⌉ = 18. La probabilidad de que la fuente emita una sucesión a la que no se le haya asignado una palabra del código es 1− 3 X 100 k=0 k (0,005)k (0,995)n−k = 1 − 0,9983 = 0,0017 CAPÍTULO 3 CANALES DE COMUNICACIÓN 3.1. Introducción El canal es el componente del sistema de comunicación encargado de transmitir el mensaje emitido por la fuente una vez que ha sido codificado. Dicho mensaje es una señal adaptada al canal. El conjunto de todos los posibles mensajes codificados es el conjunto de entradas. Durante la transmisión, el canal actúa sobre estos mensajes para producir los elementos del conjunto de salidas. La acción de un canal se puede describir a través de la distribución de probabilidad sobre todas las sucesiones de salida para cada sucesión de entrada. Dicha distribución de probabilidad induce también a una distribución de las sucesiones de entradas y a la distibución conjunta de las entradas y las salidas. Esto permite calcular entropı́as y ası́ llegar a un concepto llamado capacidad que se estudiará en este capı́tulo. Durante la transmisión pueden haber perturbaciones por ruido (con efectos impredecibles sobre el mensaje)o por distorsión (siempre con el mismo efecto sobre una señal). La distorsión se puede corregir aplicando la operación inversa mientras que el ruido no siempre puede ser removido de la señal, porque su acción no siempre es la misma. Una vez que se ha recibido la salida de la fuente, se intenta recobrar el mensaje original. En el próximo capı́tulo se verá qué se puede hacer para evitar que dos sucesiones de entrada distintas tengan la misma sucesión de salida y de está forma evitar errores en la transmisión del mensaje. También se verá en este capı́tulo que es posible transmitir información a través de un canal a cualquier tasa menor que la capacidad del canal con una probabilidad de error arbitrariamente pequeña. Esta afirmación constituye uno de los resultados más importates obtenidos por Shannon. 3.2. Canales discretos sin memoria Los canales de comunicación pueden ser discretos o continuos y a su vez con o sin memoria. En este trabajo se limitará a lo canales dicretos sin memoria. Definición 15 Un canal discreto es un sistema conformado por un alfabeto de entrada X , un alfabeto de salida Y y una matriz p(y | x) que expresa la probabilidad de observar un sı́mbolo y dado que se envió un sı́mbolo x. Definición 16 Se dice que un canal discreto no tiene memoria si la distribución de probabilidad de una salida depende sólo de la entrada correspondiente y es condicionalmente independiente de previas entradas o salidas del canal. 3.3. Capacidad Dado un canal discreto sin memoria con alfabeto de entrada X = {x1 , . . . , xM } y alfabeto de salida Y = {y1 , . . . , yL } y matriz del canal [aij ], aij = p (yj | xi ), i = 1, . . ., M , j = 1,. . ., L. Si una variable aleatoria toma valores x1 , . . . , xM con probabilidades p(x1 ),. . .,p(xM ) respectivamente , entonces el canal de salida también es una variable aleatoria. La distribución de al entrada X y de la salida Y está dada por P {X = xi , Y = yi } = p(xi )p(yi | xi ) y la distribución de Y está dada por P {Y = yi } = M X p(xi )p(yj | xi ) i=1 Dadas estas distribuciones se puede saber cuál es la cantidad de información máxima procesada por un canal, i.e., la capacidad del canal. Definición 17 La capacidad C de un canal se define como C = máx I(X | Y ) p(x) Algunas propiedades de la capacidad son: C ≥ 0. Ya se vió que I(X | Y ) ≥ 0 C ≤ log2 |X |. Es fácil ver esto pues C = máxp(x) I(X | Y ) ≤ H(X) ≤ log2 |X | C ≤ log2 |Y| Concavidad La información mutua,I(X | Y ), es una función concava de p(x) para p(x | y) fijo. Por el Lema 1, H(X) es cóncava y es fácil ver que H(X | Y ) es una función lineal de p(x). Luego, la diferencia de ambos términos es una función concava de p(x). Generalmente calcular la capacidad de un canal puede resultar difı́cil. Ahora se estudiarán algunas clases de canales para las cuales el cálculo es sencillo. Un canal sin pérdida es un canal para el cual H(X | Y ) = 0 para cualquier distribución de entrada, es decir, un canal sin perdidas se caracteriza por el hecho de que las entradas están completamente determinadas por las salidas y por lo tanto no pueden ocurrir errores en la transmisión. Equivalentemente, los valores de Y pueden ser particionados en conjuntos disjuntos B1 , B2 , . . . , BM tal que P {Y ∈ Bi | X = xi } = 1, i = 1, . . . , M . Un canal es determinı́stico si p(yj | xi ) = 1 o 0 para todo i, j, es decir si Y esta determinado por X que es lo mismo que decir que H(Y | X) = 0 para todas las distribuciones de entrada. Si un canal no tiene pérdidas y es determinı́stico se dice que es un canal sin ruido. Un canal tiene se llama inútil o de capacidad cero si I(X | Y ) = 0 para todas las distribuciones de entrada. Equivalentemente un canal inútil puede ser caracterizado por la condición de que H(X | Y ) = H(X) para todo p(x), o alternativamente X y Y son independientes para todo p(x). Por lo tanto un canal es inútil si y sólo si las filas de su matriz son idénticas. Un canal es simétrico si cada fila de la matriz del canal [p(yj | xi )] contiene el mismo conjunto de números p′1 , p′2 , . . . , p′L y cada columna de la matriz del canal [p(yj | xi )] ′ contiene el mismo conjunto de números q1′ , q2′ , . . . , qM . Una consecuencia inmediata de la definición de canal simétrico es que H(Y | X) es independiente de la distribución de entrada p(x) y depende sólo de las probabilidades del canal p(yj | xi ). Para probar esto es conveniente notar que si X = xi , las probabilidades asociadas a los sı́mbolos de salida y1 , . . . , yL no necesariamente en este orden son p′1 , p′2 , . . . , p′L , ası́ H(Y | X = xi ) = L X p′j log2 p′j , i = 1, 2, . . . M j=1 Por lo tanto H(Y | X) = M X j=1 p(xi )H(Y | X = xi ) = − L X p′j log2 p′j (3.1) j=1 para cualquier distribución de entrada p(x). El canal simétrico binario es el canal simétrico más famoso es por ser el modelo más simple de un canal con errores. Existe una expresión cerrada para la capacidad de los canales simétricos. Si se considera un canal simétrico con alfabeto de entrada X , alfabeto de salida Y y matriz de canal ′ con filas p′1 , p′2 , . . . , p′L y columnas q1′ , q2′ , . . . , qM . Ya que H(Y | X) no depende de la dis- tribución de entrada, el problema de maximizar la información I(X | Y ) = H(Y ) − H(Y | X) reduce el problema a maximizar la incertidumbre de la salida H(Y ). Se sabe por (1.8) que H(Y ) ≤ log2 |Y| ≤ log2 L con igualdad si y sólo si los valores de Y son igualmente probables. Ası́, si se puede encontrar una distribución de entrada bajo la cual todos lo valores de Y tienen la misma probabilidad, esa distribución de entrada podrı́a maximizar I(X | Y ). Si todos los sı́mbolos de entrada de un canal simétrico son igualmente probables entonces todos los sı́mbolos de salida son igualmente probables y ası́ se obtiene el resultado deseado. Para probar esto se hace p(xi ) = p(yj ) = M X p(xi , yj ) = i=1 Sin embargo, el término 1 M para i = 1, 2, . . . , M y se escribe. M X i=1 M 1 X p(xi )p(yj | xi ) = p(yj | xi ) M i=1 (3.2) PM p(yj | xi ) es la suma de las entradas en la j-ésima columna de PM ′ P la matriz del canal, como el canal es simétrico se tienemos que M i=1 p(yj | xi ) = k=1 qk i=1 es independiente de j. Ası́, p(yj ) no depende de j o equivalentemente todos los valores de Y tienen la misma probabilidad. Por lo tanto el máximo H(Y ) = log2 L se puede obtener y se concluye por (3.1) que la capacidad de un canal simétrico es Csim = log L + L X p′j log2 p′j j=1 Ejemplo 7 Se conecta en serie un cierto número de canales binarios simétricos idénticos. Sea Xk la salida del k-ésimo canal y la entrada del (k + 1)-ésimo canal. Asumamos 0 < β < 1, donde β es la probabilidad de transmitir un sı́mbolo errado. Sea pn = P {Xn = 0}, n ≥ 0. Asumiendo que p0 es conocida, se encontrará una expresión explı́cita para pn y se verá que la capacidad de la combinación de canalaes conectados en serie se aproxima a cero cuando n crece lo suficiente. Primero hay que calcular pn P {Xn = 0} = P (Xn = 0 | Xn−1 = 1)P (Xn−1 = 1) + P (Xn = 0 | Xn−1 = 0)P (Xn−1 = 0) = β(1 − P (Xn−1 = 0)) + (1 − β)P (Xn−1 = 0) = β(1 − pn−1 ) + (1 − β)pn−1 Se tiene entonces pn = β(1 − pn−1 ) + (1 − β)pn−1 ⇒ pn − (1 − 2β)pn−1 = β (3.3) Entonces la solución para esta ecuación es pn = A(1 − 2β)n + B (3.4) Para determinar el valor de B es necesaria una solución particular de (3.3), e.g., B − (1 − 2β)B = β Luego B = 1 2 Ası́, " y sustituyendo n = 0 y B en (3.4) tenemos que el valor de A es p0 − 12 . pn = 1 p0 − 2 (1 − 2β)n + 1 2 Claramente (1 − 2β)n −−−→ 0, ası́ que pn −−−→ 21 . La capacidad de esta combinación de n→∞ n→∞ canales es Cn = 1 − H2 (pn , 1 − pn ) −−−→ 0 n→∞ Ahora se verá cómo se calcula la capacidad para el caso general Teorema 7 Si la matriz Π de un canal discreto sin memoria es cuadrada e invertible, Π−1 = [qij ] y dk = M X qjk 2− PM i=1 qji H(Y |X=xi ) >0 j=1 La capacidad del canal está dada por C = log2 M X 2− PM i=1 qji H(Y |X=xi ) (3.5) j=1 y una distribución que alcanza la capacidad está dada por p(xk ) = 2−C dk , 1 ≤ i, j, k ≤ M La demostración de este teorema está en [6] y la idea general es maximizar la función de información mutua usando multiplicadores de Lagrange. 3.4. Esquemas de Decodificación Se quiere resolver el siguiente problema: Para una distribución de entrada dada p(x), se construye un esquema de decisión que minimice la probabilidad de error. Tal esquema de decisión se llama el esquema del observador ideal. Para encontrar el decodificador necesario se asume que cada sı́mbolo de salida yj está asociado con un sı́mbolo de entrada x∗j . Sea p(e) la probabilidad de error total y p(e′ ) la probabilidad de transmisión correcta. Dado que se recibe yj , la probabilidad de que la transmisión sea correcta es la probabilidad de que la entrada real sea x∗j . Se puede escribir la probabilidad de que la transmisión sea correcta como ′ p(e ) = L X ′ p(yj )p(e | yj ) = j=1 L X j=1 p(yj )P X = x∗j | yj La probabilidad p(yj ) es la misma para cualquier esquema de decisión ya que p(yj ) depende solo de la distribución de entrada y la matriz del canal. Si se elige x∗j como el valor de X que maximiza p(x | yj ) también se habrá maximizado p(e′ | yj ) para cada j y por lo tanto se habrá maximizado la probabilidad de transmitir correctamente. Ejemplo 8 Un canal discreto sin memoria esta caracterizado por la matriz 1 2 1 6 1 3 1 3 1 2 1 6 1 6 1 3 1 2 Se encontrará el esquema del observador ideal si p(x1 ) = 1/2, p(x2 ) = p(x3 ) = 1/4 y se calculará la probabilidad de error asociada. La probabilidad de error asociada está dada por p(e) = 3 X p(yj )p(e | yj ) = i=1 3 X p(yj ) i=1 # X % p(xi | yj ) i6=j Calculemos p(yj ), j = 1, 2, 3. 3 8 1 p(y2 ) = p(y2 | x2 )p(x2 ) + p(y2 | x2 )p(x2 ) + p(y2 | x3 )p(x3 ) = 3 7 p(y3 ) = p(y3 | x3 )p(x3 ) + p(y3 | x2 )p(x2 ) + p(y3 | x3 )p(x3 ) = 24 p(y1 ) = p(y1 | x1 )p(x1 ) + p(y1 | x2 )p(x2 ) + p(y1 | x3 )p(x3 ) = Ahora, p(xi | yj ) = p(xi )p(yj | xj ) p(xi , yj ) = p(yj ) p(yj ) y ası́ se obtiene 2 p(x1 | y1 ) = , 3 1 p(x2 | y1 ) = , 9 2 p(x3 | y1 ) = , 9 1 p(x1 | y2 ) = , 2 3 p(x2 | y2 ) = , 8 1 p(x3 | y2 ) = , 8 2 7 2 p(x2 | y3 ) = 7 3 p(x3 | y3 ) = 7 p(x1 | y3 ) = Ya se puede calcular la probabilidad de error 1 1 1 7 2 2 1 3 1 2 + + + + + = p(e) = 8 9 9 3 2 8 24 7 7 2 El esquema de decisión del observador ideal es que decodifica y1 como x1 , y2 como x1 y y3 como x3 pues son los que tienen mayor probabilidad. 3.5. Teorema Fundamental Ahora se formulará la idea de que es posible transmitir información a través de un canal con ruido a cualquier tasa menor que la capacidad del canal con una probabilidad de error arbitrariamente pequeña. Se tiene una fuente de información que produce una sucesión de dı́gitos binarios a una tasa fija de R digitos por segundo. Entonces en n segundos produce nR dı́gitos, por lo tanto el número total de mensajes que la fuente puede producir en n segundos es 2nR . En cualquier intervalo de n segundos la fuente producirá una de esas posibles sucesiones. Se supone que la información producida por la fuente es transmitida a través de un canal discreto sin memoria y que es posible enviar sı́mbolos a través del canal a cualquier tasa menor que un sı́mbolo por segundo. Al cabo de n segundos se observa el mensaje producido por la fuente para luego asignar una palabra del código a cada mensaje. Ası́, en lugar de codificar por separado cada dı́gito emitido por la fuente codificamos bloques de n dı́gitos. Transmitimos la palabra y al recibir la sucesión de salida intentamos identificar la sucesión de entrada. Ahora, si se mantiene la tasa de transmisión R no se puede demorar más de n segundos procesando la información producida por la fuente en un intervalo de tiempo igual. Como la tasa de transmisión del canal no es mayor que un dı́gito por segundo la palabra clave asignada al mensaje de la fuente no debe contener más de n sı́mbolos. Para mantener la tasa se necesita un código con 2nR palabras de longitud no mayor que n. La idea básica del teorema fundamental es que dado un ǫ positivo si se elige n suficientemente grande se puede encontrar 2nR palabras del código de longitud n con el esquema de decisión correspondiente con una probabilidad de error positiva y uniforme. Se dirá que un código uniforme es un conjunto de s palabras todas de longitud n junto a un esquema de decisión correspondiente, es decir, una función que asigna a cada sucesión de salida de longitud n una de las s palabras o una partición del conjunto de todas las sucesiones de salida de longitud n en conjuntos disjuntos B1 , . . . , Bs , llamados conjuntos decodificadores. Una salida en el conjunto Bi será decodificado como x(i) . Se usará X = (X1 , . . . , Xn ) para denotar una entrada elegida aleatoriamente y Y = (Y1 , . . . , Yn ) para la salida correspondiente Una vez que la sucesiones del código y los conjuntos decodificadores están dados, se pueden calcular varias probabilidades de error. Por ejemplo, la probabilidad de error dado que se transmitió x(i) es X p(e | x(i) ) = P Y ∈ / Bi | X = x(i) = p(y | x(i) ) y∈Bi Si se elige una palabra del código al azar de acuerdo a una distribución Q que asigna a una palabra x(i) la probabilidad p(x(i) ). Luego se transmite la palabra elegida a través de un canal y se toma una decisión a la salida de acuerdo con el esquema de decisión dado. La probabilidad de error resultante está dada por pQ (e) = s X p(x(i) )p(e | x(i) ) i=1 La probabilidad de error medio de un código está definida por s X ¯ =1 p(e | x(i) ) p(e) s i=1 ¯ si la distribución asociada es uniforme para todas las palabras del código. pQ (e) = p(e) La probabilidad de error máxima de un código está definida por pm (e) = máx p(e | x(i) ). Ası́ si pm (e) ≤ ǫ, no importa cual palabra sea transmitida, la probabilidad de error no excede a ǫ; en otras palabras, se tiene un esquema de decodificación cuyo error es uniforme y está acotado por ǫ. Teorema 8 (Teorema Fundamental de la Teorı́a de Información) Dado un canal discreto sin memoria con capacidad positiva y 0 < R < C, entonces existe una secuencia de códigos S (1) , S (2) , . . . tal que S (n) es un código con 2nR palabras de longitud n y probabilidad de error máxima es λn → 0 cuando n → ∞. Esto es posible escogiendo n suficientemente grande , para reducir la máxima probabilidad de error tanto como se desee manteniendo la tasa de transmisión. La prueba de este teorema está en [?], [2],[6] y está claramente dividida en dos partes. La primera es probar que se puede transmitir la información a una tasa R < C y la segunda es ver que efectivamente la probabilidad máxima de error tiende a cero a medida que n crece. ¡ CAPÍTULO 4 CODIFICACIÓN 4.1. Introducción Los términos código y codificación tienen que ver con formas de representar la información. A lo largo de este trabajo se ha asumido que los códigos empleados para representar la información son binarios, es ese el motivo de la elección del número 2 como la base del logaritmo en la definición de entropı́a. Aunque los códigos binarios están entre lo más conocidos por su uso en las aplicaciones computacionales, no son los únicos. Todas las definiciones y resultados que se han dado hasta ahora pueden adapatarse a códigos n-arios con pocas modificaciones. Los tres tipos de codificación que se emplean en la teorı́a de la información son codificación de la fuente, codificación del canal y codificación para privacidad. El proceso de codificación de la fuente usualmente está ligado a la compresión de datos, representando los datos con la menor cantidad posible de bits. Sin olvidar que la cantidad mı́nima de bits para codificar un mensaje es la entropı́a de dicho mensaje. En este capı́tulo se hablará un poco más sobre la codificación de la fuente y sobre uno de los códigos más famosos, el Código de Huffman. En la fase de codificación del canal se realizan los procesos de detección y corrección de errores para mejorar la confiabilidad del canal. Esto se logra añadiendo bits de redun- dancia. Capacidad del canal y códigos de corrección de errores, en particular del Código de Hamming también se discutirán en este capı́tulo. Para privacidad, se usa criptografı́a en el proceso de codificación del mensaje de forma que no lo pueda entender un espı́a. Normalmente un mensaje encriptado tiene el mismo número de bits que el mensaje original. Este tipo de codificación no se abordará en este estudio. 4.2. Codificación Sea Γ = {γ1 , γ2 , . . . , γD } un alfabeto con D ≥ 2 y X = {x1 , x2 , . . . , xn } el conjunto de mensajes emitidos por la fuente de información de un sistema de comunicación. Definición 18 Si S (1) y S (2) son palabras construidas con sı́mbolos de Γ y además S (2) se puede construir escribiendo algunos sı́mbolos de Γ al final de S (1) se dice que S (2) es una continuación de S (1) o que S (1) es prefijo de S (2) . Para codificar debemos asociar a cada mensaje xi una palabra del código S(xi ) conformada por sı́mbolos de Γ de tal manera que S(xi ) no sea continuación de S(xj ) para i 6= j, i, j = 1, 2, . . . , n. La correspondencia antes descrita es un código y se denota como S(X, Γ). Definición 19 Si en un código S(X, Γ) ninguna palabra S(xi ) es prefijo de otra S(xj ) para i 6= j, i, j = 1, 2, . . . , n, se dice que el código tiene la propiedad de prefijo. A los códigos con la propiedad de prefijo también se les conoce como códigos simples o instantáneos. Definición 20 Se dice que un código es unicamente descifrable o de descifrado único si cada sucesion finita de elementos de Γ corresponde a lo sumo a un mensaje xi ∈ X, i = 1, 2, . . . , n. Los códigos con la propiedad de prefijo son un caso particular de los códigos con descifrado único . Si tenemos un código S(X, Γ) y un conjunto de palabras asociadas a X bajo este código entonces el conjunto de palabras escritas sin espacios se puede transformar nuevamente y sin ambigüedad en la sucesión original de mensajes (por la propiedad de prefijo) esto quiere decir que dichos mensajes tienen descifrado único. A continuación veremos un algoritmo para determinar si un código tiene descifrado único. Para comenzar construimos una sucesión de conjuntos {Ti }i≥0 como sigue. T0 será el conjunto de palabras originales en el código. Para formar T1 , miramos todos los pares de elementos de T0 . Si una palabra S (i) es prefijo de S (j) entonces colocamos los sı́mbolos con los que se deberı́a completar S (i) para que sea igual a S (j) como una palabra en el conjunto T1 . En general, para formar Tn comparamos T0 con Tn−1 . Si la palabra S ∈ T0 es prefijo de una sucesión SW ∈ Tn−1 el sufijo W se coloca en el conjunto Tn y si una sucesión A ∈ Tn−1 es prefijo de una palabra clave AB ∈ S0 colocamos el sufijo B en el conjunto Tn . Una vez construida la sucesión de conjuntos antes descritos el criterio para detectar si el código es de descifrado único esta dado por el siguiente teorema. Teorema 9 Un código es unicamente descifrable si y sólo si ninguno de los conjuntos T1 , T2 , T3 , . . . contiene una palabra clave,i.e., algún elemento de T0 . La demostración de este teorema está expuesta claramente en [6] y fue desarrollado por Sardinas y Petterson en [8]. Ejemplo 9 Determinar si el código mostrado en la Tabla 4.1 es de descifrado único, utilizando el algoritmo anterior. Para determinar si el código es de decifrado único usando el Teorema 9 se contruye la Tabla 4.2 xi S(xi ) x1 010 x2 0001 x3 0110 x4 1100 x5 00011 x6 00110 x7 11110 x8 101011 Cuadro 4.1: Código del Ejemplo 9 T0 T1 T2 T3 T4 T5 T6 010 1 100 11 00 01 0 110 011 10 110 001 0 110 0001 11110 0110 01011 1100 00011 0011 00110 0110 11110 101011 Cuadro 4.2: Construcción de la sucesión de conjuntos Ti para el Ejemplo 9 La palabra en la columna correspondiente a T6 encerrada en el cuadro también está en la columna de T0 , por lo tanto el código no es de descifrado único. La sucesión 000110101111000110, por ejemplo, tiene más de un posible descifrado como sigue 0001 101011 1100 0110 = S(x2 )S(x8 )S(x4 )S(x3 ) 00011 010 11110 00110 = S(x5 )S(x1 )S(x7 )S(x6 ) Se trantarán ahora dos problemas importantes. Dados X y Γ, se considera la sucesión de enteros positivos k1 , k2 , . . . , kn . el primer problema consiste en responder la siguiente pregunta: ¿Cuáles son las condiciones necesarias y sufiecientes para la existencia del un código S(X, Γ), tal que la longitud de la palabra del código S(xj ) deba ser exactamente kj , j = 1, 2, . . . , n? Kraft fue el primero en responder esta pregunta en [9] para códigos con la propiedad de prefijo y posteriormente de manera independiente McMillan probó un resultado más general para códigos de descifrado único. Teorema 10 (Kraft-McMillan) Una condición necesaria y suficiente para la existencia de un código S(X, Γ) tal que la longitud de cada palabra S(xj ) sea el número dado kj , j = 1, . . . , n es que se satisfaga la siguiente desigualdad n X D−kj ≤ 1 (4.1) j=1 Demostración: Primero se supone que existe un código con longitudes de palabra (k1 , k2 , . . . , kn ). Se define l = máx1≤j≤n kj y se denota wk el número de mensajes en X cuya palabra del código asociada tiene longitud k, con k = 1, 2, . . . , l. Algunos wk pueden ser 0. Se tiene entonces w1 ≤ D (4.2) pues Γ tiene D sı́mbolos y se pueden construir a lo sumo D palabras de longitud 1 para el código. Las w2 palabras de longitud 2 del código pueden usar sólo los D − w1 sı́mbolos restantes como inicial de la palabra para poder conservar la propiedad de prefijo en el código, mientras que el segundo sı́mbolo puede ser cualquiera de los D. Entonces, w2 ≤ (D − w1 )D = D2 − w1 D (4.3) Lo mismo ocurre para los primeros dos sı́mbolos de las palabras del código cuya longitud es 3, hay a lo sumo D2 − w1 D − w2 posibilidades mientras que el tercer sı́mbolo puede ser cualquiera de los D. w3 ≤ (D2 − w1 D − w2 )D = D3 − w1 D2 − w2 D y finalmente wl ≤ Dl − w1 Dl−1 − w2 Dl−2 − . . . − wl−1 D (4.4) Dividiendo por Dl , se tiene l X wi D−i ≤ 1 (4.5) i=1 Podemos reescribir esta suma usado la definición de los números kj y wj l X i=1 wi D −i = |D −1 −1 + .{z . . + D } + |D w1 veces −2 −2 + .{z .. + D }+... + D | w2 veces Y ası́ (4.5) es equivalente a la desigualdad de Kraft. −l −l + .{z .. + D } = wl veces n X D−kj j=1 Ahora, si se supone que se satisface (4.1) o (4.5) para k1 , k2 , . . . , kn , entonces cada sumando del lado izquierdo de (4.5) es no negativo y las sumas parciales son 1 a lo sumo. w1 D−1 ≤ 1 o w1 ≤ D w1 D−1 + w2 D−2 ≤ 1 .. . o w2 ≤ D2 − w1 D .. . w1 D−1 + w2 D−2 + . . . + wl D−l ≤ 1 o wl ≤ Dl − w1 Dl−1 − . . . − wl−1 D De esta manera se tienen las desigualdades (4.2),(4.3),(4.4), lo cual implica la existencia del código requerido y ası́ termina la prueba. Una consecuencia de este teorema es el siguiente corolario. Corolario 1 Una condición necesaria y suficiente para la existencia de un código uniforme S(X, Γ) con longitud de palabra constante k, es nD−k ≤ 1 (4.6) Demostración: La prueba es directa. Hay Dk palabras de longitud k; entonces la condición necesaria y suficiente de existencia del código es n ≤ Dk , que es equivalente a la desigualdad (4.6). La ventaja de usar códigos con la propiedad de prefijo es que los mensajes pueden ser decodificados sı́mbolo a sı́mbolo. No es necesario esperar que el mensaje haya sido transmitido en su totalidad para comenzar el proceso de decodificación. Un resultado importante sobre los códigos instantáneos y que será útil para resolver el segundo problema es el siguiente. Teorema 11 Un código instantáneo con longitudes de palabra k1 , k2 , . . . , kn existe si y sólo si satisface la desigualdad de Kraft. El otro problema que queremos resolver está relacionado con la eficiencia y la tasa de transmisión de información. Antes de describir el problema es necesaria la siguiente definición. Definición 21 Dado un código S(X, Γ) y k1 , k2 , . . . , kn una sucesión de longitudes de palabras, se define la logitud promedio de las palabras de un código como k̄ = n X p j kj (4.7) j=1 Esta es la longitud esperada por palabra respecto a la distribución (p1 , p2 , . . . , pn ). El objetivo de la codificación sin ruido es construir un código de decifrado unico que minimice la longitud promedio de las palabras clave o palabras del código, es decir, se intenta minimizar P pi ki . Para resolver este problema es necesario enunciar Teorema de Codificación Sin Ruido de Shannon que y otras cotas para k̄ que se presenta a continuación . Teorema 12 (Teorema de Codificación Sin Ruido) Para todo código S(X, Γ) que satisfaga la desigualdad de Kraft k̄ ≥ Hn (p1 , p2 , . . . , pn ) log2 D (4.8) A partir del Teorema de Kraft este Teorema de Shannon afirma que para cada código S(X, Γ) con D sı́mbolos, la longitud promedio de una palabra del código no puede ser menor que la entropı́a de la ditribución dividida por log2 D. Demostración: Sea S(X, Γ) un código que satisface la desigualdad de Kraft. Entonces, con la notación qj = Dkj , j = 1, 2, . . . , n, se tiene qj > 0, j = 1, 2, . . . , n y n X qj ≤ 1 (4.9) j=1 por el teorema de Kraft y porque Pn j=1 qj ≤ 1. Ahora, usando la Desigualdad de Shannon y la definición de longitud promedio de las palabras en un código n n X X pj log2 pj ≤ − pj log2 qj Hn (p1 , p2 , . . . , pn ) = − j=1 = − = − j=1 n X j=1 n X pj log2 D−kj pj kj log2 D j=1 = k̄ log2 D Con lo cual queda probado el teorema. Teorema 13 Para toda distribución de probabilidad existe un código que satisface la desigualdad de Kraft tal que k̄ < Hn (p1 , p2 , . . . , pn ) +1 log2 D (4.10) Demostración: Se considera el intervalo real de longitud 1 log2 pj log2 pj − ,− +1 log2 D log2 D En cada uno de estos intervalos hay exactamente un entero positivo kj∗ 0<− log2 pj log pj ≤ kj∗ ≤ − 2 + 1 log2 D log2 D Se probara primero que la sucesión k1∗ , . . . , kn∗ pertenece a satisface la desigualdad de Kraft usando la última desigualdad. Entonces se tiene ∗ − log2 pj ≤ kj∗ log2 D = − log2 D−kj o ∗ pj ≥ D−kj , n X ∗ Dkj ≤ j=1 n X =1 j=1 por lo que N satisface la desigualdad de Kraft . Ahora, multiplicando por pj y sumamos para obtener k¯∗ = n X j=1 4.2.1. pj kj∗ < − Pn n pj log2 pj X Hn (p1 , p2 , . . . , pn ) + +1 pj = log2 D log2 D j=1 j=1 Constucción de Códigos Óptimos Lema 3 Si un código S(X, Γ) es óptimo y es instantáneo para una distribución p1 , p2 , . . . , pn entonces es de descifrado único. Supongamos que un código de descifrado único S ′ (X, Γ) tiene longitud de palabra promedio mas pequeña que S(X, Γ). Sea k1′ , k2′ , . . . , kn′ las longitudes de las palabras de S ′ (X, Γ), entonces se satisface n X ′ D−ki ≤ 1 (4.11) i=1 pero por el teorema 11 existe un código instantaneo S ′′ (X, Γ) con longitudes de palabra k1′ , k2′ , . . . , kn′ . Por lo tanto la longitud de palabra promedio del codigo S ′′ (X, Γ) es igual a la del código S ′ (X, Γ), lo cual contradice el hecho de que S(X, Γ) es el código instantáneo óptimo. El siguiente lema resume algunas las condiciones de los códigos óptimos instantáneos y se omitirá su prueba por su sencillez. Lema 4 Dado un código binario instantáneo S(X, Γ), la longitud de sus palabras k1 , k2 , . . . , kn y sus respectivas probabilidades p1 , . . . , pn . Se ordenan los sı́mbolos en forma decreciente de acuerdo a su probabilidad y que un grupo de sı́mbolos con la misma probabilidad se ordenan de forma creciente según su longitud. Entonces si S(X, Γ) es óptimo y es instantáneo dbe tener las siguientes propiedades: Los sı́mbolos de mayor probabilidad son los que tienen las palabras más cortas del código, i.e., pj > pk implica nj ≤ nk Los dos sı́mbolos menos probables tienen palabras claves de igual longitud. Entre las palabras clave de de longitud kn debe haber al menos dos palabras clave que coincidan en todos los digitos excepto el último. El lema anterior será un herramienta útil para presentar el siguiente algoritmo creado por Huffman para construcción de códigos óptimos instantáneos que se presenta a continuación. Si se tiene un arreglo de sı́mbolos γ1 , γ2 , . . . , γn con probabilidades p1 , p2 , . . . , pn , asumiendo una vez más que estas probabilidades estan ordenadas en forma decreciente, entonces se combinan los dos últimos sı́mbolos γn−1 y γn en un sı́mbolo equivalente γn,n−1 con probabilidad pn + pn−1 . Ahora, hay que suponer que de alguna forma se podrı́a construir un código óptimo S2 (X, Γ) para el nuevo conjunto de sı́mbolos. Se construye ahora un código S1 (X, Γ) para el conjunto original de sı́mbolos γ1 , γ2 , . . . , γn . Las palabras clave asociadas γ1 , γ2 , . . . , γn−2 son exactamente las mismas palabras clave que corresponden al código S2 (X, Γ). Las palabras clave asociadas a xn−1 y xn se formana añadiendo un cero y un uno , respectivamente a la palabra clave S(γn,n−1 ) asociada al sı́mbolo γn,n−1 ∈ S2 (X, Γ). Se puede afirmar ahora que S1 (X, Γ) es un código óptimo para la distribución de probabilidad p1 , p2 , . . . , pn . La idea es repetir el algoritmo hasta que queden sólo dos sı́mbolos. Este código óptimo de dos sı́mbolos deberá tener los bits 0 y 1 como palabras clave asociadas. Luego, se sustituye desde este código de dos sı́mbolos hasta llegar al original sustituyendo los sı́mbolos en todos los códigos intermedios. Para probar esta afirmación supongamos que S1 (X, Γ) no es óptimo. Sea S1′ (X, Γ) un código instantáneo óptimo para los sı́mbolos γ1 , γ2 , . . . , γn , entonces S1′ (X, Γ) tendrá palabras clave S ′ (γ1 ), S ′ (γ2 ), . . . , S ′ (γn ) con longitudes k1′ , k2′ , . . . , kn′ respectivamente. Por el ′ lema anterior, kn−1 = kn′ y al menos dos palabras de longitud kn′ coinciden en todos sus dı́gitos menos el último. Sin pérdida de generalidad se puede asumir que S ′ (γn−1 ) y S ′ (γn ) son dos de esas palabras. Luego, se combinan una vez más los dos últimos sı́mbolos para construir el código S2′ (X, Γ) tomando como palabra clave para γn,n−1 la palabra clave S ′ (γn ) (o S ′ (γn−1 ) ) sin el último dı́gito. Ahora se puede afirmar que S2′ (X, Γ) tiene longitud de palabra promedio menor que S2 (X, Γ), lo que contradice la optimalidad de S2 (X, Γ). La longitud de palabra promedio de S2′ (X, Γ) es ′ ′ k¯2′ = p1 k1′ + . . . + pn−2 kn−2 + (pn−1 + pn )(kn−1 − 1) ′ ′ + pn−1 kn−1 + pn kn′ − (pn−1+pn ) = p1 k1′ + . . . + pn−2 kn−2 Como S1′ (X, Γ) tiene menor longitud de palabra promedio que S1 (X, Γ) ′ ′ + pn−1 kn−1 + pn kn′ < p1 k1 + . . . + pn−2 kn−2 + pn−1 kn−1 + pn kn p1 k1′ + . . . + pn−2 kn−2 Usando el hecho de que kn = kn−1 , se obtiene ′ − 1) k¯2′ < p1 k1 + . . . + pn−2 kn−2 + (pn−1 + pn )(kn−1 Además, como kn−1 − 1 = kn,n−1 , la expresión a la derecha es la longitud de palabra promedio de S2 (X, Γ) y con eso termina la prueba. Conclusión Este estudio no trivial pero accesible de los fundamentos matemáticos de la teorı́a de la información brinda una perspectiva clara de la teorı́a que permite ver su sencillez y su potencial de aplicaciones en los sistemas de comunicación moderno y en diversas áreas de la ciencia. Bibliografı́a [1] C. Shannon. A mathematical theory of communications. The Bell System Technical Journal, 27:623–656, 1948. [2] J. Cover, T. y Thomas. Elements of Information Theory. John Wiley & Sons Inc., 1991. [3] J.R. Norris. Markov Chains. Cambridge University Press, 1997. [4] W. Feller. An Introduction to Probability and Applications. [5] K. Chung. A Course in Probability Theory. Harcourt, Brace World, Inc., 1968. [6] R. Ash. Information Theory. Dover Publications Inc., 1965. [7] S. Guiasu. Information Theory with Applications. McGraw-Hill Inc., 1977. [8] W. Sardinas, A. y Patterson. A necessary and sufficient condition for the unique decomposition of coded messages. IRE Convention Record, 8:104–108, 1953. [9] L. Kraft. A device for quantizing, grouping, and coding amplitude modulated pulses. Cambridge, MA: MS Thesis, Electrical Engineering Department, MIT, 1949.