1 Codificación y transmisión de la Información

teorıa de la codificación intenta dar respuesta a estas distintas necesidades; entre .... la asignación a cada sımbolo d
158KB Größe 24 Downloads 41 Ansichten
1 Codificaci´ on y transmisi´ on de la Informaci´ on 1..

´n Introduccio

Codificar una determinada informaci´on consiste en escribir ´esta en un determinado alfabeto, es decir mediante un n´ umero (finito) de s´ımbolos concretos que recibir´an el nombre de alfabeto. La primera pregunta que nos podemos plantear es ¿para qu´e? Antes incluso de que el hombre alcanzase un grado de desarrollo intelectual “elevado”ha sentido la necesidad de transmitir informaci´on a otros hombres, de almacenarla para ser usada en el momento apropiado, de ocultarla a sus rivales o simplemente a terceras personas, .... Este fen´omeno no es siquiera privativo del hombre sino que aparece en estadios mucho m´as primitivos de la evoluci´on. Cualquiera de las manipulaciones anteriores requiere un “alfabeto”(es decir, conjunto de s´ımbolos) que permita trasladar dicha informaci´on en una combinaci´on de los mismos. Cualquiera de las manipulaciones descritas se puede situar dentro de un marco general al que llamaremos Esquema general de comunicaci´ on:

Fuente Codificador Canal Decodificador Usuario → → → → 0 a a→x x y y 7→ a a0 En dicho esquema y como primera aproximaci´on debemos mencionar que el papel de la Fuente es el un dispositivo que es capaz de generar cierta informaci´on, el canal es el medio a trav´es del cual dicha informaci´on de va transmitir y el codificador al menos debe hacer que la informaci´on generada por la fuente sea susceptible de ser transmitida por el canal. En sentido amplio el canal puede ser espacial o temporal (un hilo telef´onico, ´optico, almacenamiento en un disco, en un libro, ), puede estar afectado o no de ruido

2

1 Codificaci´on y transmisi´on de la Informaci´on

que altere la informaci´on a su paso por el canal, puede estar expuesto a que intrusos lean o alteren la informaci´on, etc. La informaci´onn se codifica en el codificador para adaptarla al canal que usemos y para que sea u ´til a los fines que se persigan. La teor´ıa de la codificaci´on intenta dar respuesta a estas distintas necesidades; entre ellas citemos: • Conseguir que ocupe el menor espacio posible (compresi´ on). • Conseguir que los ruidos del canal no afecten al contenido de la informaci´on (correcci´on de errores). • Conseguir que la informaci´on no sea accesible a terceras personas no autorizadas (privacidad). La teor´ıa de la informaci´on se ocupa de modelizar matem´aticamente el esquema anterior proporcionado un marco general adecuado para el tratamiento de la informaci´on. La criptolog´ıa se ocupa de los problemas relativos a la privacidad y la teor´ıa de c´ odigos correctores de la recuperaci´on de la informaci´on en canales afectados por ruido, es decir, de la transmisi´on de manera fiable a trav´es de canales no confiables.

´ n de Fuente Codificacio

2..

En el esquema general de comunicaci´on expuesto en la introducci´on nos ocuparemos en esta secci´on del problema de codificaci´on de los mensajes emitidos por una ‘Fuente’ en un cierto alfabeto atendiendo a criterios de econom´ıa y de sencillez de lectura (decodificaci´on). Tambi´en podemos pensar en este problema como el problema de codificaci´on para un canal sin ruido, la propia naturaleza del mismo lleva a utilizar ‘codigos de longitud variable’.

2..1.

Fuente

Una Fuente es un dispositivo que puede generar en cada unidad de tiempo un s´ımbolo cualquiera de un cierto conjunto fijo de s´ımbolos. Supondremos que el conjunto de s´ımbolos es un conjunto finito S = {s1 , . . . , sm } (Fuentes discretas) y que la selecci´on de un s´ımbolo concreto en un instante dado se hace con arreglo a una distribuci´on de probabilidades de S ({p1 , . . . , pm }, pi = p(F = si ), p1 + · · · + pm = 1) fija, en particular dicha elecci´on no est´a afectada por las elecciones anteriores ni por otros factores ajenos al propio experimento. Podemos pensar la Fuente como una sucesi´on de variables X1 , . . . , Xn . . ., cada una de las cuales toma valores en el conjunto S; de manera que decir que Xi = sk quiere decir que la Fuente emite el s´ımbolo k en el ‘ensayo’ i (o en la posici´on i o en el instante i). No estamos interesados en el mecanismo de elecci´on utilizado. Seg´ un el problema a modelizar si

1 Codificaci´on y transmisi´on de la Informaci´on

3

dispondremos de unas frecuencias y por la tanto de unas probabilidades para las distintas elecciones. As´ı es completamente natural pensar que, para cada i, Xi es una variable aleatoria que toma valores en S con arreglo a una distribuci´on de probabilidades pik = p(Xi = sk ). La hip´otesis de que la fuente no tiene memoria quiere decir que X1 , . . . , Xn . . . es una sucesi´on de variables aleatorias independientes e igualmente distribuidas. En este caso, para cada k fijo, pik = pk es independiente de i y abusando de las notaciones denotaremos por F cualquiera de las variables Xi , i = 1, 2, . . .. La naturaleza de los mensajes no nos interesa y desde un punto de vista matem´atico la Fuente no es otra cosa para nosotros que el conjunto P finito de s´ımbolos S junto con la distribuci´on de probabilidades pi = p(F = si ), pi = 1, en S. Es evidente que el u ´nico dato relevante es, de hecho, la distribuci´on de probablidades. (2..1.1). Dado un conjunto finito, A, denotaremos por A∗ el cojunto de palabras de A. Es decir, el conjunto de sucesiones finitas de elementos de A. N´otese que en A∗ se pueden “operar”dos palabras mediante la concatenaci´on: si a = a1 a2 . . . ar , b = b1 b2 . . . bs ∈ A∗ entonces a · b = ab = a1 a2 . . . ar b1 b2 . . . bs ∈ A∗ . Es f´acil ver que la operaci´on anterior es asociativa y por tanto, si inclu´ımos en A∗ la palabra vac´ıa, obtenemos que A∗ es un monoide. Para una palabra a ∈ A∗ , `(a) denota su longitud, es decir, el n´ umero de simbolos de A que la componen. Se llama mensaje a cualquiera de los elementos de S ∗ , i.e. a una sucesi´on finita de s´ımbolos del conjunto S. Es perfectamente factible suponer que la Fuente emite mensajes en lugar de s´ımbolos (agrupando varios s´ımbolos consecutivos).

2..2.

Codificaci´ on de la Fuente

Es el proceso por el cual los s´ımbolos (o los mensajes) de una Fuente se codifican (i.e. se escriben) mediante s´ımbolos de un alfabeto, Σ, que permita su posterior transmisi´on, almacenamiento,.... M´as concretamente, sea Σ = {t1 , . . . , tq } un conjunto finito, y q su cardinal; llamaremos a Σ un alfabeto q-ario y normalmente se elegir´a en funci´on del uso que daremos a la informaci´on que emite la fuente. Por ejemplo, puede ser un alfabeto formado por los s´ımbolos susceptibles de ser transmitidos por un canal, o de ser almacenados en un cierto dispositivo. Un alfabeto habitual es el alfabeto binario, formado por los s´ımbolos {0, 1}. Una codificaci´on de la fuente es una aplicaci´on inyectiva f : S → Σ∗ , es decir, es la asignaci´on a cada s´ımbolo de una sucesi´on finita de caracteres de Σ de manera que a dos s´ımbolos distintos le correspondan palabras diferentes. Es claro que f se puede extender a una aplicaci´on (que llamaremos tambi´en f ), f : S ∗ → Σ∗ , mediante la operaci´on f (a · b) = f (a) · f (b).

4

1 Codificaci´on y transmisi´on de la Informaci´on

(2..2.1). Si fijamos un c´odigo, f : S → Σ∗ , se llama longitud media del mismo a la media ponderada de las longitudes de las palabras wi = f (si ): `(f ) = p1 · `(w1 ) + . . . + pm · `(wm ) . Uno de los primeros problemas que surge en la codificaci´on de una fuente es conseguir que `(f ) sea tan peque˜ no como sea posible, o en otras palabras, utilizar el menor espacio (en promedio) posible. (2..2.2). Descifrado. C´ odigos Instant´ aneos. Diremos que un c´odigo f : S → ∗ Σ es descifrable ´o descifrable con unicidad si cada uno de los elementos de Σ∗ corresponde a lo sumo a un mensaje, i.e. a un elemento de S ∗ . En otras palabras, un codigo es descifrable si y s´olo si la aplicaci´on inducida f : S ∗ → Σ∗ es tambi´en inyectiva. La propiedad de ser descifrable un c´odigo es absolutamente imprescindible si se pretende que la codificaci´on de un mensaje formado por m´as de un s´ımbolo se puede leer correctamente. En principio el m´etodo de decodificaci´on de un c´odigo descifrable no es u ´nico, depender´a del c´odigo utilizado y, en algunos casos, no es claro ni siquiera que exista un algoritmo que resuelva el problema. Sin embargo, dentro de los c´odigos descifrables hay una subclase de ellos con un m´etodo sencillo y completamente eficaz: Se dice que un c´odigo f : S → Σ∗ es instant´ aneo si, para cada i ∈ {1, . . . , m}, f (si ) no es prefijo de f (sj ) para todo j 6= i. Se dice que z ∈ Σ∗ es prefijo de w ∈ Σ∗ si existe x ∈ Σ∗ tal que z · x = w. Ejemplo 2..2.1 Si tenemos S = {s1 , s2 , s3 , s4 } y Σ = {0, 1} el c´odigo s1 s2 s3 s4

→ 0 → 01 → 011 → 111

es un c´odigo descifrable, pero no es instant´aneo. Obs´ervese que para descifrar por ejemplo 011 . . . 1 es necesario almacenar toda la palabra y, desde el final, ir quitando todos los grupos de 3 unos (que corresponden al simbolo s4 ) posibles. El resto que queda ser´a uno de los tres primeros s´ımbolos. As´ı 011111 decodifica en s3 s4 , mientras que 0111111 decodifica en s1 s4 s4 . Obs´ervese que no es posible decodificar sin saber cuantos unos aparecen hasta llegar al 0 (si existe) siguiente. En cambio el c´odigo s1 → 0 s2 → 10 s3 → 110 s4 → 111

1 Codificaci´on y transmisi´on de la Informaci´on

5

es un c´odigo instant´aneo. La observaci´on principal (v´alida en cualquier c´odigo instant´aneo) es que este c´odigo se puede ir decodificando comenzando por el principio y sin saber que ocurre en posiciones alejadas del mismo. (2..2.3). Decodificaci´ on. Si disponemos de un c´odigo instant´aneo f , el procedimiento de decodificaci´on de una palabra z = f (s), s ∈ S ∗ , es muy sencillo. Si escribimos z = z1 z2 . . . zr , utilizamos el siguiente criterio: Leemos caracteres consecutivos (comenzando por la izquierda) hasta que encontremos que los primeros t simbolos z1 . . . zt forman una palabra c´odigo, en ese momento almacenamos la misma (o el s´ımbolo que le corresponde) y continuamos con el resto de la palabra. La garant´ıa de que el m´etodo anterior funciona es precisamente que si t es el m´ınimo entero tal que existe i con f (si ) = z1 . . . zt entonces una secuencia mas larga: z1 . . . zt zt+1 . . . zk no es nunca una palabra c´odigo; por tanto la u ´nica posibilidad de decodificar estos t primeros s´ımbolos es la encontrada por el algoritmo. El m´etodo de decodificaci´on anterior es, as´ımismo, la prueba de que cualquier c´odigo instant´aneo es descifrable. ¿ Por qu´e? t Programar el m´etodo de decodificaci´on anterior u (2..2.4). Problema de la codificaci´ on de la Fuente: Consiste en encontrar para una Fuente concreta c´odigos descifrables de longitud media tan peque˜ na como sea posible. Un c´odigo con estas caracter´ısticas se llama c´ odigo compacto. Mejor a´ un, encontrar c´odigos instant´aneos de longitud media minimal (i.e. unc´ odigo optimal ).

2..3.

Desigualdad de Mc Millan y construcci´ on de Kraft

Afortunadamente (y sorprendentemente) ambos problemas son equivalentes. La prueba de este hecho reposa en la desigualdad de Mc. Millan y la construcci´on de c´odigos instant´aneos de Kraft-Mc. Millan. En lo que sigue S = {s1 , . . . , sm } es el conjunto de s´ımbolos de la Fuente con distribuci´on de probabilidades p1 , . . . , pm y Σ es un alfabeto con q elementos. Desigualdad de Mc. Millan: Si existe un c´odigo descifrable f : S → Σ∗ con longitudes `1 , . . . , `m (i.e. `i = `(f (si ))) entonces 1 1 1 + ` 2 + . . . + `m ≤ 1 ` 1 q q q Construcci´ on de Kraft-Mc. Millan: Si tenemos `1 , . . . , `m n´ umeros enteros positivos tales que satisfacen la desigualdad anterior entonces existe un c´odigo instant´aneo con dichas longitudes.

6

1 Codificaci´on y transmisi´on de la Informaci´on Antes de probar este u ´ltimo enunciado observemos que la combinaci´on de ambos nos dice que es equivalente encontrar un c´odigo instant´aneo con determinadas longitudes a encontrar un c´odigo descifrable con las mismas longitudes. Adem´as, como veremos, la prueba del segundo enunciado consiste en la construcci´on expl´ıcita de un c´odigo instant´aneo siempre que se satisfaga la condici´on necesaria para su existencia establecida en la desigualdad de Mc. Millan. Veamos pues la prueba del u ´ltimo enunciado.

Sea ` el m´aximo de las longitudes prefijadas y para cada j, (1 ≤ j ≤ `), sea ` P nj = #{i ∈ {1, . . . , m} | `i = j}. Es evidente que m = nj y que reordenando la j=1

suma:

m P

(1/q `i ), la desigualdad de Mc. Millan se puede escribir tambi´en como

i=1 m P i=1

1 q `i

=

` P j=1

nj qj

≤1.

Quitando denominadores y despejando n` encontramos que n` ≤ q ` − (q `−1 n1 + . . . + qn`−1 ) . Puesto que n` ≥ 0, sacando factor comun q en la expresi´on de la derecha y despejando n`−1 obtenemos que n`−1 ≤ q `−1 − (q `−2 n1 + . . . + qn`−2 ) . Es claro que inductivamente podemos probar entonces que para cada j, (1 ≤ j ≤ `) se tiene: nj ≤ q j − (q j−1 n1 + . . . + qnj−1 ) . Obs´ervese que en particular, n1 ≤ q y n2 ≤ q 2 − qn1 . Ahora construiremos el c´odigo f de la forma siguiente: En primer lugar tomemos una partici´on de S de la forma S = S1 ∪ S2 ∪ . . . ∪ S` de manera que #Si = ni . Construiremos f inductivamente sobre cada uno de los conjuntos Si , fi = f |Si : Si → Σi y de manera que las imagenes ya construidas: f1 (S1 ), . . . , fi−1 (Si−1 ) no sean prefijos de las nuevas. Comenzamos con S1 , puesto que n1 ≤ q existe una aplicaci´on inyectiva f1 : S1 → Σ. Para construir f2 de S2 en Σ2 observemos que como primer caracter no debemos utilizar ninguno de los de f (S1 ), es decir, de los q 2 elementos de que disponemos a priori en Σ2 el car´acter de instant´aneo que queremos para f hace que debamos prescindir de n1 · q, los correspondientes a f1 (S1 ) × Σ. Puesto que #(Σ2 − f (S1 ) × Σ) = q 2 − q · n1 y n2 ≤ q 2 − n1 · q, es posible definir una aplicaci´on inyectiva f2 : S2 → Σ2 − f (Si ) × Σ que cumplir´a las condiciones requeridas.

1 Codificaci´on y transmisi´on de la Informaci´on

7

Supongamos que hemos construido fj : Sj → Σj , (1 ≤ j ≤ i − 1) en la forma anterior y construyamos ahora fi : Si → Σi . Para ello, debemos prescindir de los subconjuntos (disjuntos!!) fj (Sj ) × Σi−j de Σi si queremos que las palabras ya definidas no sean prefijo de las nuevas. As´ı pues debemos definir i

fi : Si → Σ −

i−1 [

fj (Sj ) × Σi−j .

j=1

Puesto que #(Σi −

i−1 [

fj (Sj ) × Σi−j ) = q i − (

j=1

i−1 P

nj q i−j ) ≥ ni

j=1

esto es posible y la prueba termina.

2..4.

Teorema de Shannon para fuentes sin memoria

La construcci´on de Kraft expuesta en el apartado anterior permite asegurar que el problema de la b´ usqueda de c´odigos compactos es, desde el punto de vista te´orico, equivalente al de la b´ usqueda de c´odigos ´optimos. El Teorema de Shannon que enunciaremos en este apartado nos proporciona cotas para las longitudes medias de los c´odigos que buscamos. Puesto que el problema de codificaci´on de una fuente se puede entender tambi´en como el problema de codificaci´on para un canal sin ruido, es frecuente referirse al citado Teorema como Teorema de Shannon para canales sin ruido. Teorema de Shannon: Si f : S → Σ∗ es un c´odigo descifrable entonces `(f ) ≥ H(S)/ log2 (q), siendo q = #Σ. Adem´as existen c´odigos instant´aneos f de longitud media `(f ) < 1 + H(S)/ log2 (q). La funci´on H(S) es la funci´on entrop´ıa de S, es decir, H(S) = H(p1 , . . . , pm ) = −

m P

pi log2 (pi ) ,

i=1

por lo tanto el cociente H(S)/ log2 (q) no es otra cosa que la funci´on entrop´ıa de S relativa al alfabeto Σ, i.e., tomando logaritmos en base q en lugar de logaritmos en base 2. El Teorema de Shannon se puede interpretar en t´erminos de informaci´on de la siguiente manera: H(S) se interpreta como la cantidad de informaci´on (en promedio) que proporciona un s´ımbolo de S, por otro lado, un s´ımbolo de Σ proporciona una informaci´on m´axima de log2 (q) bits (exactamente log2 (q) si los caracteres del alfabeto Σ los suponemos equiprobables). Por lo tanto, en promedio, para codificar un s´ımbolo de S necesitaremos un m´ınimo de H(S)/ log2 (q) s´ımbolos de Σ.

8

2..5.

1 Codificaci´on y transmisi´on de la Informaci´on

Construcci´ on de c´ odigos ´ optimos

El m´etodo que expondremos se debe a Huffman y construye para una fuente S y el alfabeto Σ = {0, 1} un c´odigo optimo, es decir, un c´odigo instant´aneo de longitud m´ınima. Es posible hacer la misma construcci´on (con ligeros cambios) tambi´en en el caso de alfabetos arbitrarios, sin embargo dicha generalizaci´on no aporta gran cosa an cuanto a las ideas que se utilizan. En lo que sigue supondremos fija la Fuente S = {s1 , . . . , sm } con probablidades p1 , . . . , pm , pi = p(si ) (1 ≤ i ≤ m) y el alfabeto Σ = {0, 1}. Para un c´odigo f : S → Σ∗ denotaremos wi = f (si ), `i = `(wi ) (1 ≤ i ≤ m). Supondremos que hemos ordenado los s´ımbolos de S de manera que se tenga p1 ≥ p2 ≥ . . . ≥ pm y de manera que, si tenemos pi = pi+1 = . . . = pi+r entonces `i ≤ `i+1 ≤ . . . ≤ `i+r . (2..5.1). Propiedades de los c´ odigos ´ optimos: Supongamos que el c´odigo f es ´optimo, se tienen entonces las siguientes propiedades: 1.- Si m = 2, entonces w1 = 0, w2 = 1 es un c´odigo ´optimo para cualquier asignaci´on de probabilidades p1 , p2 . La justificaci´on de este hecho es completamente evidente. 2.- Si pi > pj entonces `i ≤ `j . En efecto, supongamos que se tiene `j > `i . Intercambiando las palabras wi , wj (i.e. considerando el c´odigo f 0 : S → Σ∗ definido por f 0 (si ) = wj , f 0 (sj ) = wi , f 0 (sk ) = wk para k 6= i, j) obtenemos un nuevo c´odigo f 0 que sigue siendo instant´aneo y `(f ) − `(f 0 ) = pi `i + pj `j − (pi `j + pj `i ) = (pi − pj )(`i − `j ) > 0 en contra de la hip´otesis de que f es un c´odigo ´optimo. 3.- `m−1 = `m . En caso contrario debe ser `m−1 < `m (ya que hemos ordenado los s´ımbolos de 0 manera que `m−1 ≤ `m ). En este caso consideremos wm la palabra resultante de eliminar de wm el u ´ltimo s´ımbolo. Observemos que, si k 6= m, wk no es prefijo 0 de wm (de serlo lo ser´ıa tambi´en de wm lo que es imposible debido a que f es 0 6= wk . El c´odigo f 0 que resulta de sustituir wm por instant´aneo) y en particular wm 0 wm es entonces un c´odigo instant´aneo y evidentemente `(f 0 ) < `(f ), en contra de que f tiene longitud m´ınima. 4.- Hay dos palabras de longitud m´axima `m que se diferencian s´olo en el u ´ltimo d´ıgito. En efecto, en caso contrario las palabras de longitud m´axima se distinguen en alguno de los `m − 1 primeros caracteres. Por lo tanto, si borramos el u ´ltimo car´acter a todas las palabras de longitud m´axima obtenemos un nuevo c´odigo instant´aneo de longitud media estrictamente inferior. (2..5.2). Las propiedades anteriores muestran tambi´en como tranformar un determinado c´odigo instant´aneo fe en otro c´odigo instant´aneo f de longitud menor o

1 Codificaci´on y transmisi´on de la Informaci´on

9

igual que `(fe) y de manera que las condiciones anteriores se cumplan. M´as precisamente, Etapa 1: Reordenamos los s´ımbolos de manera que se tenga que p1 ≥ p2 ≥ . . . ≥ pm . Etapa 2: Aplicando reiteradamente la propiedad (2) podemos construir f de manera que `(f ) ≤ `(fe) y si pi > pj entonces `i ≤ `j . Etapa 3: Dentro de las palabras que corresponden a s´ımbolos consecutivos con la misma probabilidad, mediante una permutaci´on de los mismos podemos suponer que las longitudes de las palabras son crecientes; i.e. si tenemos pi = pi+1 = . . . = pi+r entonces `i ≤ `i+1 ≤ . . . ≤ `i+r . Etapa 4: Mediante la operaci´on descrita en la propiedad (3) anterior podemos suponer que la longitud m´axima `m se alcanza, al menos, en las dos u ´ltimas palabras. Etapa 5: Si tenemos `m−r = . . . = `m−1 = `m , la prueba de la propiedad (4) anterior nos permite construir un c´odigo para el que dos de dichas palabras (de longitud m´axima) difieren s´olo en el u ´ltimo d´ıgito. Si estas son wi , wj (m−r ≤ i, j ≤ m) una permutaci´on de las palabras wm−r , . . . , wm nos permite adem´as suponer que wm−1 y wm difieren s´olo en el u ´ltimo d´ıgito. Los comentarios anteriores se pueden resumir en el siguiente: Lema: Sea S = {s1 , . . . , sm }, con probabilidades pi = p(si ) (1 ≤ i ≤ m), supongamos que p1 ≥ p2 ≥ . . . ≥ pm y sea fe: S → Σ∗ un c´odigo instant´aneo. Existe entonces otro c´odigo instant´aneo f con `(f ) ≤ `(fe), y que satisface las siguientes propiedades: 1) `1 ≤ `2 ≤ . . . ≤ `m−1 = `m . 2) wm−1 y wm se diferencian s´olo en el u ´ltimo d´ıgito. (2..5.3). Algoritmo de Huffman Procederemos por inducci´on sobre el n´ umero m de s´ımbolos de S. Si m = 2, f (s1 ) = 0 y f (s2 ) = 1 resuelve el problema. Supongamos que m > 2. Sea S 0 = {s01 , . . . , s0m−1 } con probabilidades p0i = p(s0i ) = p(si ) = pi (1 ≤ i ≤ m − 2) y p0m−1 = p(s0m−1 ) = pm−1 + pm . Es inmediato que p01 , . . . , p0m−1 es una distribuci´on de probabilidades sobre S 0 . Por hip´otesis de inducci´on podemos suponer construido un c´odigo ´optimo para S 0 y p01 , . . . , p0m−1 , f 0 : S 0 → Σ∗ , y denotamos por wi0 = f (s0i ), `0i = `(wi0 ), (1 ≤ i ≤ m − 1). Definimos entonces el c´odigo f : S → Σ∗ de la siguiente forma:  0  si i 6= m − 1, m wi 0 wi = f (si ) = wm−1 0 si i = m − 1   0 wm−1 1 si i = m Obs´ervese que las palabras del c´odigo f son las mismas que las de f 0 para 1 ≤ i ≤ 0 m−2 y que wm−1 y wm se obtienen a˜ nadiendo a wm un cero y un uno respectivamente

10

1 Codificaci´on y transmisi´on de la Informaci´on

en la u ´ltima posici´on. (2..5.4). Prueba de la optimalidad del c´ odigo de Huffman El c´odigo f es un c´odigo instant´aneo de manera evidente por la construcci´on. Debemos probar entonces que f tiene longitud m´ınima entre todos los c´odigos instant´aneos de S. La prueba es, como ya hicimos en la construcci´on, por inducci´on sobre m. Observemos en primer lugar que

`(f ) =

m−2 P

pj `j + (pm−1 + pm )(`m−1 − 1) + (pm−1 + pm )

j=1

=

m−1 P

p0j `(wj0 ) + (pm−1 + pm ) = `(f 0 ) + (pm−1 + pm ) .

j=1

Sea ahora h : S → Σ∗ un c´odigo instant´aneo y supongamos que `(h) < `(f ). Por el Lema anterior podemos suponer que la longitud m´axima, `, de las palabras del c´odigo h se alcanza para h(sm−1 ) y h(sm ) y que dichas palabras difieren s´olo en el u ´ltimo d´ıgito. Sea h0 el c´odigo instant´aneo construido sobre S 0 de manera que 0 0 ´ltimo h (si ) = h(si ), (1 ≤ i ≤ m − 2) y h0 (s0m−1 ) es el resultado de eliminar el u d´ıgito de h(sm ). Es evidente que `(h) = `(h0 ) + (pm−1 + pm ) y por tanto la condici´on `(h) < `(f ) es equivalente a la condici´on `(h0 ) < `(f 0 ). Esta desigualdad contradice la hip´otesis de inducci´on, seg´ un la cual f 0 es un c´odigo ´optimo para S 0 . (2..5.5). El m´etodo pr´actico para construir un c´odigo ´optimo para S consiste en aplicar reiteradamente el proceso anterior m−1 veces. En este momento disponemos (m−1) (m−1) de S, S (1) = S 0 , . . . , S (m−1) = {s1 , s2 } y conocemos el proceso para construir un c´odigo ´optimo para S (i) , supuesto que conoci´esemos un c´odigo ´optimo para S (i+1) . (m−1) (m−1) As´ı pues basta comenzar a construir un c´odigo ´optimo para S (m−1) = {s1 , s2 } (m−1) (m−1) mediante s1 7→ 0 ,s2 7→ 1 y aplicar el proceso anterior m − 2 veces. Veamos un par de ejemplos: Ejemplo 2..5.1 Se considera S = {s1 , . . . , s5 } con 5 s´ımbolos de probabilidades {0,4, 0,2, 0,15, 0,15, 0,1}. 0 100 101 110 111

s1 s2 s3 s4 s5

0.4 0.2 0.15 0.15 0.1

0 100 101 11

s01 s02 s03 s04

0.4 0.2 0.15 0.25

0 s01 10 s02 11 s03

0.4 0.35 0.25

0 s01 1 s02

0.4 0.6

Ejemplo 2..5.2 Se considera S = {s1 , . . . , s5 } con 5 s´ımbolos de probabilidades {0,5, 0,2, 0,15, 0,1, 0,05}.

1 Codificaci´on y transmisi´on de la Informaci´on

0 10 110 1110 1111

3..

s1 s2 s3 s4 s5

0.5 0.2 0.15 0.1 0.05

0 10 110 111

s01 s02 s03 s04

0.5 0.2 0.15 0.15

0 s01 10 s02 11 s03

11

0.5 0.2 0.3

0 s01 1 s02

0.5 0.5

Canales

El canal es el medio a trav´es del cual se realiza la transmisi´on. Se pueden clasificar de varios modos, dependiendo del criterio que deseemos utilizar. Por el momento, en el esquema general de comunicaci´on que mencionamos al comienzo no comtemplamos ninguna forma de codificar (y como consecuencia de decodificar), por tanto dicho esquema lo podemos reducir a: Esquema general de transmisi´ on: Emisor → Canal → Receptor El canal permite transmitir ciertos s´ımbolos de un alfabeto E y emitido un s´ımbolo se recibir´a un s´ımbolo de otro alfabeto (en principio distinto) R. N´otese que no se contempla la posibilidad de que el s´ımbolo se “pierda”, siempre que hay una entrada suponemos que el canal proporciona una salida. As´ı podemos distinguir entre muchos tipos de canales. Mencionaremos s´olo algunos de ellos: Canales discretos o continuos: Dependiendo de la naturaleza de los alfabetos de entrada y de salida. Un canal discreto es aquel en que ambos son conjuntos finitos: E = {e1 , . . . , en } (alfabeto de entradas), R = {r1 , . . . , rm } (alfabeto de salidas). En lo que sigue supondremos que los canales considerados son todos ellos discretos. El dato relevante en esta definici´on es el cardinal de los conjuntos E y R y no el conjunto concreto que utilicemos como alfabeto. Llamaremos canal q-ario a un canal discreto en el que ambos alfabetos tienen igual cardinal y ´este es el n´ umero natural q. Es claro que en este caso podemos suponer que ambos alfabetos son el mismo conjunto, es decir, E = R. Canales con memoria o sin memoria: Los canales de los cuales nos ocuparemos en esta secci´on son los llamados canales sin memoria. Esto quiere decir lo siguiente, en principio si emitimos el s´ımbolo e ∈ E la probabilidad de recibir el s´ımbolo r ∈ R puede depender de m´as factores que el s´ımbolo e y el s´ımbolo r, por ejemplo del instante de tiempo en que se transmita, del s´ımbolo emitido anteriormente, del recibido anteriormente, etc. Podemos llamar a estos factores que pueden intervenir en la transmisi´on estados del canal.Por ejemplo, se sabe que las interferencias de una onda son m´as frecuentes a determinadas horas del d´ıa, de manera

12

1 Codificaci´on y transmisi´on de la Informaci´on

que este hecho establece distintos estados para un canal dependiendo de la hora de transmisi´on. Un canal sin memoria es aquel en que los posibles estados del mismo no afectan a la probabilidad de recibir r ∈ R habiendo emitido e ∈ E y esto para cualquier pareja e y r. Es decir es un canal en el cual los posibles estados son irrelevantes para la transmisi´ on. En el problema que estamos tratando esto es lo mismo que decir que no hay estados diferentes en el canal. (3..0.6). El conocimiento y las pruebas de un canal discreto sin memoria nos permitir´a evaluar la probabilidad de recibir el s´ımbolo rj sabiendo que ha sido emitido ei , expresamos dicha probabilidad mediante la notaci´on p(R = rj |E = ei ) y abreviadamente p(R = rj |E = ei ) = pij . Las probabilidades pij se pueden ordenar en forma de una matriz n×m, P = (pij ), y s´ olo dependen del canal . La matriz P se llama matriz del canal y desde el punto de vista matem´atico es cuanto se necesita sobre el canal para poder estudiarlo. m P Notemos que la matriz P cumple que pij = 1, puesto que la suma anterior expresa j=1

probabilidad de recibir uno cualquiera de los s´ımbolos de R supuesto que se ha transmitido el s´ımbolo ei ∈ E. Es decir, la fila i-´esima de la matriz es la distribuci´on de la probabilidad condicionada p(R|E = ei ). (3..0.7). Emisor: Supondremos que el emisor es un dispositivo que permite seleccionar un s´ımbolo del conjunto E = {e1 , . . . , en } (alfabeto de entradas) con arreglo a una distribuci´on de probablidades p1 , . . . , pn . Es decir, pi es la probabilidad de seleccionar el s´ımbolo ei , (1 ≤ i ≤ n). Expresaremos este hecho simplemente con p(E = ei ) = pi . Resumiendo las condiciones anteriores podemos decir: (3..0.8). Definici´ on: Un canal discreto y sin memoria es una terna formada por dos conjuntos finitos E = {e1 , . . . , en }, R = {r1 , . . . , rm } y una matriz n × m de n´ umeros reales: P = (pij ) con la condici´on de que la suma de cualquiera de sus filas es 1. (3..0.9). Definici´ on: Un esquema de transmisiones discreto y sin memoria est´a formado por un canal discreto y sin memoria junto con una sucesi´on p1 , . . . , pn de n´ umeros reales tales que su suma es uno. (3..0.10). Fijemos los alfabetos de entrada, E, y de salida R. El emisor se interpreta simplemente como una variable aleatoria que toma valores en E a la que llamaremos tambi´en E, es decir que selecciona los s´ımbolos a ser emitidos. El receptor se puede interpretar como una variable aleatoria a valores en R (que

1 Codificaci´on y transmisi´on de la Informaci´on

13

tambi´en llamamos R). La relaci´on de dependencia de dichas variables aleatorias est´a expresada por la matriz del canal cuya entrada (i, j) expresa la probabilidad de que R tome el valor rj condicionada a que E ha tomado el valor ei . Podemos utilizar como espacio muestral ambiente el conjunto E × R = {(ei , rj ) | i = 1, . . . , n ; j = 1, . . . , m}. En ´el la variable aleatoria E nos dar´a el s´ımbolo emitido, mientras que la variable aleatoria R nos dar´a el s´ımbolo recibido, de manera que p(E = ei ) = pi y p(R = rj |E = ei ) = pij para i = 1, . . . , n; j = 1, . . . , m. La informaci´on anterior es suficiente para conocer la probabilidad del suceso (ei , rj ), es decir la distribuci´on conjunta de E y R; en efecto: p(ei , rj ) = p(E = ei )p(R = rj |E = ei ) = pi pij . Tambi´en podemos conocer la distribuci´on de probabilidades de la variable R: p(R = rj ) = qj =

P

p(E = ei )p(R = rj |E = ei ) =

i

P

pi pij .

i

es decir, conocer la probabilidad de recibir un s´ımbolo rj . Obs´ervese que la igualdad anterior se puede expresar en forma matricial como:   p11 p12 . . . p1m  (q1 , . . . , qm ) = (p1 , . . . , pn ) ·  . . . . . . pn1 pn2 . . . pnm (3..0.11). Canales sim´ etricos. Son aquellos canales para los cuales su matriz de probabilidades P = (pij ) cumple la condici´on de que las entradas de todas sus filas son iguales salvo reordenaci´on de las mismas y lo mismo ocurre con las columnas. As´ı pues los canales sim´etricos cumplen la condici´on de que

{pi1 , pi2 , . . . , pim } = {pj1 , pj2 , . . . , pjm } {p1t , p2t , . . . , pnt } = {p1s , p2s , . . . , pns } para cualesquiera i, j = 1, . . . , n, s, t = 1, . . . , m. A veces se distingue entre canales sim´etricos en la entrada (aquellos que son sim´etricos por filas) y canales sim´etricos en la llegada (aquellos que son sim´etricos por columnas), siendo en este caso un canal sim´etrico el que lo es en la salida y en la llegada. t Demostrar que si P = (pij ) es la matrizP u de un canal q-ario sim´etrico entonces la suma de cualquiera de sus columnas: qi=1 pij vale 1. En cap´ıtulos sucesivos se supondr´a que los canales son siempre sim´etricos.

14

1 Codificaci´on y transmisi´on de la Informaci´on

(3..0.12). Canal binario sim´ etrico El canal sim´etrico mas utilizado es el llamado canal binario sim´ etrico, el nombre binario quiere decir que n = m = 2, es decir tanto el alfabeto de entrada como el de salida tienen dos elementos. Denotando estos por 0 y 1 en ambos alfabetos el esquema del canal binario sim´etrico y su matriz son 0 p p1 − p

(3..0.13). Ejemplo. Supongamos que tenemos un canal n-ario (el alfabeto de s´ımbolos emitidos y recibidos es el mismo, n = m) y de manera que en caso de que el s´ımbolo emitido se transmita de forma err´onea cualquiera de los restantes se puede recibir con la misma probabilidad e independientemente del s´ımbolo emitido. Para fijar ideas diremos que el canal es completamente sim´ etrico. Si llamamos p a la probabilidad de error en la transmisi´on de un s´ımbolo cualquiera entonces: ( ( pi (1 − p) si j = i 1 − p si j = i p pi p p(E = ei , R = rj ) = p(R = ej |E = ei ) = pij = si j 6= i. si j 6= i n−1 n−1 Como consecuencia tambien obtenemos que qj = p(R = rj ) =

P i

pi pij = pj (1 − p) +

p P p (1 − pj ). pi = pj (1 − p) + n − 1 i6=j n−1

Usando la u ´ltima expresi´on observamos tambi´en que si la distribuci´on de E es equiprobable, es decir, pi = 1/n para todo i, entonces la distribuci´on de R es tambi´en equiprobable: qj = 1/n (lo que resulta l´ogico sin m´as que pensar un poco). (3..0.14). Ejemplo: Canal binario con p´ erdida. Supongamos que el alfabeto de entrada de un canal es E = {0, 1} y el de salida es R = {0, 1, ∗} (el s´ımbolo ∗ se usa para denotar la p´erdida de un s´ımbolo en la transmisi´on). La matriz del canal vamos a suponer que es   1−α α1 α2 P = , α1 1 − α α2 con la condici´on α = α1 + α2 . N´otese que estamos imponiendo que la probabilidad de p´erdida de un s´ımbolo es α2 , independientemente del s´ımbolo emitido. Si imponemos la condici´on de que qj = 1/3, j = 1, 2, 3; el sistema de ecuaciones anterior es en este caso (p1 , p2 )P = (1/3, 1/3, 1/3)

p1 + p2 = 1.

1 Codificaci´on y transmisi´on de la Informaci´on

15

y para que tenga soluci´on es condici´on necesaria que, en particular, el rango de la matriz Pe (obtenida ampliando la matriz P con una fila formada por (1/3, 1/3, 1/3)) sea 2. Pero esto no es siempre cierto, de hecho si tomamos el caso particular en que α1 = α2 = α/2, obtenemos: 1 − α α/2 α/2 α/2 1 − α α/2 = α2 /4 − α(1 − α) + (1 − α)2 1/3 1/3 1/3 y a fin de que esta cantidad sea 0 debe ser (resolviendo la ecuaci´on de segundo grado que resulta): α = 2/3, por tanto 1−α=

1 3

1 α1 = α2 = . 3

Luego en general (para otros valores distintos de la entrada α) no se puede conseguir que la distribuci´on de R sea equiprobable. Obs´ervese que la matriz que resulta de la condici´on anterior es   1/3 1/3 1/3 P = 1/3 1/3 1/3 y la salida es puramente aleatoria, es decir emitido un s´ımbolo cualquiera de las tres posibilides en la recepci´on puede ocurrir con igual probabilidad.

3..1.

Extensiones de un canal

Consideremos un canal discreto sin memoria C con alfabeto de entrada E = {e1 , . . . , en } y de salida R = {r1 , . . . , rm }. La extensi´on r-´esima del canal C, C (r) , es un canal discreto sin memoria para el cual el alfabeto de entrada es E r , el de salida Rr y con matriz asociada P (r) definida de la siguiente forma: Observemos que la matriz en este caso debe tener tama˜ no nr × mr y los “s´ımbolos”de entrada pasan a ser secuencias de longitud r de simbolos del alfabeto incial E, i.e. los elementos E r = {σ = (α1 , . . . , αr ) | αi ∈ E}. De manera similar los “nuevos simbolos”de salida pasan a ser Rr = {τ = (β1 , . . . , βr ) | βi ∈ R}. Si consideramos el elemento de la matriz correspondiente a la entrada σ = (α1 , . . . , αr ) y a la salida τ = (β1 , . . . , βr ) definimos (r)

p(Rr = τ | E r = σ) = P(σ,τ ) = p(β1 | α1 )p(β2 | α2 ) . . . p(βr | αr ) d´onde p(βi | αi ) es la probabilidad de que, en el canal inicial con matriz P , el s´ımbolo βi ∈ R se reciba cuando αi ∈ E se transmite. Por ejemplo, si C es el canal binario sim´etrico con probabilidad de error p, sabemos que su matriz es la matriz   1−p p P = p 1−p

16

1 Codificaci´on y transmisi´on de la Informaci´on

y su alfabeto de entradas y salidas es {0, 1}. Si consideramos su segunda extensi´on, obtenemos un canal C (2) con alfabetos de entrada y salida E 2 = {00, 01, 10, 11} y cuya matriz es, poniendo q = 1 − p para simplificar,  2  q qp pq p2   qp q 2 p2 pq  qP pP (2)  P = pq p2 q 2 pq  = pP qP p2 pq qp q 2 Nos podemos imaginar la extensi´on r-´esima de un canal de dos formas interesantes e instructivas. La primera es imaginar C (r) como r copias del canal C operando en paralelo e independientemente: C C entrada → (α1 , . . . , αr )

salida .. .

.. .

.. .

→ (β1 , . . . , βr )

C La segunda es la siguiente: imaginemos que transmitimos ordenadamente palabras de longitud r formadas por s´ımbolos de E de manera que la transmisi´on de un s´ımbolo no afecta a la de los siguientes ni es afectada por la transmisi´on de los anteriores (i.e. el canal es sin memoria). En este caso como la trasnmisi´on de cada s´ımbolo es independiente de los dem´as la probabilidad de recibir la secuencia τ = (β1 , . . . , βr ) cuando se transmite la secuencia σ = (α1 , . . . , αr ) es p(τ | σ) = p(β1 | α1 )p(β2 | α2 ) . . . p(βr | αr ) , ya que los distintos “experimentos”son independientes. Dicha probabilidad es justamente la que definimos para la entrada (σ, τ ) de matriz P (r) , de manera que la extensi´on C (r) del canal C nos permite imaginar un problema de transmisi´on de palabras de una longiud fija como un problema de transmisi´on de s´ımbolos de un nuevo alfabeto. Este artificio es u ´til en muchos casos ya que el mismo canal real se puede ver con alfabetos diferentes, es decir desde el punto de vista del modelo te´orico da lugar a canales diferentes. Este punto de vista es esencial en algunos c´odigos correctores concebidos para su uso en canales binarios, pero tratados desde el punto de vista te´orico como canales con conjunto de s´ımbolos {0, 1}r .