5
 www.eresvago.net Codificación de una fuente: Códigos de longitud constante:  D n  L n  D  L log log  Donde:  D es el número de símbolos de la fuente.  L es la longitud de las palabras-código de la fuente. n número de mensajes a transmitir. Para codificar una m-pla de mensajes, la longitud a elegir será:  D n m  L log log  Códigos de longitud variable: Longitud media: Consideremos el conjunto } ,.., , { 2 1  n a a a S  = y n k a  prob  P k k  ... 2 , 1 }, {  = = o transmitid sea  = = n k k k  L  p  L 1 ·  Donde: k  L es la longitud del mensaje k a  Código instantáneo: Un código se denomina instantáneo si ninguna palabra-código es el inicio (prefijo) del otra palabra-codigo de longitud mayor. Nota: Un código instantáneo es un código de decodificación única, aunque el recíproco no siempre es cierto Desigualdad de Kraft:  (existencia de códigos de longitud variable) 1 1 = n k  L  K  D  Construcción de códigos instantáneos: EJEMPLO: Si } ,..., , , { 6 3 2 1  a a a a S  = son los mensajes que cierta fuente tiene que transmitir: ¿Es posible construir un código binario de longitudes variables: 2,2,3,4,4,5 ? Efectivamente, ya que: 1 32 25 2 6 1 < = = k  L k , y la desigualdad de Kraft asegura la existencia. Tomamos L=5 y siguiendo el algoritmo de construcción de códigos instantáneos. 0 0 0 0 0 0 0 0 1 1 1 1 1 a1 a2 a3 a4 a5 a 6 tenemos: a 1 =00 a 2 =01 a 3 =100 a 4 =1010 a 5 =1011 a 6 =11000

resumti_02

Embed Size (px)

Citation preview

Page 1: resumti_02

5/7/2018 resumti_02 - slidepdf.com

http://slidepdf.com/reader/full/resumti02 1/4

 

 

www.eresvago.net

Codificación de una fuente:

Códigos de longitud constante:

≥≡≥

 D

n Ln D L

log

log 

Donde:  D es el número de símbolos de la fuente.

 L es la longitud de las palabras-código de la fuente.n número de mensajes a transmitir.

Para codificar una m-pla de mensajes, la longitud a elegir será:

 D

nm L

log

log 

Códigos de longitud variable:

Longitud media: Consideremos el conjunto },..,,{ 21 naaaS  = y nk a prob P  k k  ...2,1},{ == otransmitidsea  

∑=

=n

k k  L p L

1

·  

Donde: k  L es la longitud del mensaje k a  

Código instantáneo: Un código se denomina instantáneo si ninguna palabra-código es el inicio (prefijo) delotra palabra-codigo de longitud mayor.

Nota:

Un código instantáneo es un código de decodificación única, aunque el recíproco no siempre es cierto

Desigualdad de Kraft: (existencia de códigos de longitud variable)

1

1

≤∑=

−n

 L K  D  

Construcción de códigos instantáneos:

EJEMPLO: Si },...,,,{ 6321 aaaaS  = son los mensajes que cierta fuente tiene que transmitir:

¿Es posible construir un código binario de longitudes variables: 2,2,3,4,4,5 ?

Efectivamente, ya que: 132

252

6

1

<=∑=

 Lk  , y la desigualdad de Kraft asegura la existencia.

Tomamos L=5 y siguiendo el algoritmo de construcción de códigos instantáneos.

0

0 0

0

0

0

0

0

1

1 1

1

1

a1 a2

a3

a4 a5

a6

tenemos:a1=00a2=01a3=100a4=1010a5=1011a6=11000

Page 2: resumti_02

5/7/2018 resumti_02 - slidepdf.com

http://slidepdf.com/reader/full/resumti02 2/4

 

 

www.eresvago.net

Teorema 2.5 Para todo código instantáneo (de decodificación única), asociado al conjunto

},...,,{ 21 naaaS  = de mensajes producidos por una fuente, la longitud media del código cumple que:

 D

S  H  L

log

)(≥ , la igualdad se consige i L

i D p−=⇔  

La capacidad del código es  Dlog  

Eficacia de un código: Es el cociente entre la longitud media mínima que puede conseguir un código,

utilizado para codificar los mensajes de una fuente S  , y la longitud media  L correspondiente a este código.

)log(

)(

 D L

S  H eficacia =η   

Redundancia: Está definida como el complemento a uno de la eficacia.

η −= 1aredundanci  

Teorema 2.9: Siempre podremos construir un código instantáneo, de decodificación única, de tal forma quesu longitud media verifique:

1log

)(

log

)(+≤≤

 D

S  H  L

 D

S  H  

Primer Teorema de Shannon: Sea },...,,{ 21 naaaS  = el conjunto de los mensajes a codificar mediante un

alfabeto de  D símbolos. Siempre es posible encontrar un código instantáneo, de decodificación única, para

la fuente mS  , tal que su longitud media m L cumpla:

m D

S  H 

m

 L

 D

S  H  m 1

log

)(

log

)(

+≤≤  

Algoritmos de construcción de códigos instantáneos:

1. Método de Shannon: binarios, posiblemente no óptimos.2. Método de Huffman: D-ários y óptimos.3. Método de Shannon-Fanno: D-ários y según como se aplique puede ser óptimo.

Método de Shannon para construcción de códigos instantáneos

EJEMPLO:Supongamos que queremos codificar, mediante un código instantáneo binario, la fuente

},,,,,{ 654321 aaaaaaS = con una distribución de prob 05.0,1.0,2.0,25.0,3.0 654321 ====== p p p p p p  Utilizando el algoritmo de Shannon, resulta:

• Obtener  k  L :1

21

2−≥≥ ii L

i

 L

 p 

• Obtener  k  :

−=

+=

+=

=

+

)(1

.....

)(

.....

)(

0

1

112

1

nn

iii

a p

a p

a p

α 

α α 

α α 

α 

 

Page 3: resumti_02

5/7/2018 resumti_02 - slidepdf.com

http://slidepdf.com/reader/full/resumti02 3/4

 

 

www.eresvago.net

• Obtener el código: Pasar a binario k α  (decimales) y coger las k  L primeras cifras.

S   k  p   k  L   k α    código k k  L p ·   k k  p p ·log−  

1a   0.30 2 0.00 00 0.60 0.521

2a   0.25 2 0.30 01 0.50 0.5003a   0.20 3 0.55 100 0.60 0.464

4a   0.10 4 0.75 1100 0.40 0.332

5a   0.10 4 0.85 1101 0.40 0.332

6a   0.05 5 0.95 11110 0.25 0.216

75.2= L   365.2)( =S  H   

Eficacia 86.0)(==

 L

S  H η   

Código instantáneo óptimo: Un código instantáneo es óptimo, para un conjunto de mensajes dado, si noexiste otro código instantáneo con una longitud media menor.

Método de Huffman para construcción de códigos instantáneos

EJEMPLO: (Caso binario).

Construir un código óptimo para la fuente },,,,,{ 654321 aaaaaaS  = , con una distribución de

probabilidades tal como se indica a continuación 05.0,1.0,2.0,25.0,3.0 654321 ====== p p p p p p  

Sinopsis del algoritmo:

• ordenar las probabilidades en orden decreciente (de mayor a menor).

• atribuir como últimos simbolos: 1,01 ==− nn aa .

• fusionar  nn aaa y1.' −= .

• asignar la probabilidad de )()()'( 1 nn a pa pa p += − .

• volver a paso 1) hasta cubrir todas las ia  

• para obtener los códigos recorrer desde la raiz hacia el simbolo ia .

1a  

0.3

2a  

0.25

3a  

0.2

4a  

0.1

5a  

0.1

6a  

0.050 1 0 10.55 0.15 

1 00.25 

1 00.45 

0 1

Page 4: resumti_02

5/7/2018 resumti_02 - slidepdf.com

http://slidepdf.com/reader/full/resumti02 4/4

 

 

www.eresvago.net

Así tenemos:

mensajes código i p   ii L p ·   ii p p ·log−  

1a   00 0.3 0.6 0.521

2a   01 0.25 0.5 0.500

3a   11 0.2 0.4 0.464

4a   101 0.1 0.3 0.332

5a   1000 0.1 0.4 0.332

6a   1001 0.05 0.2 0.216

4.2= L   bits365.2)( =S  H   

Eficacia 985.04.2

365.2

2·log4.2

365.2

·log

)(====

 D L

S  H η   

EJEMPLO: (caso general).

Construir un código óptimo con el alfabeto }2,1,0{ para la fuente },,,,,{ 654321 aaaaaaS = , con unadistribución de probabilidades 05.0,1.0,2.0,25.0,3.0 654321 ====== p p p p p p  

La diferencia respecto al caso binario reside en:

• Atribuir los 2+r  primeros símbolos del alfabeto }1,...,1,0{ − D , como últimos

símbolos de los 2+r  últimos mensajes a codificar.

• Donde r es el resto de la división:1

2

 D

03,6 =→== r  Dn  

1a  

0.3

2a  

0.25

3a  

0.2

4a  

0.1

5a  

0.1

6a  

0.05

0 10.15 

0 2 10.45 

1 2 0

Así tenemos:

mensajes código i p   ii L p ·   ii p p ·log−  

1a   1 0.3 0.3 0.521

2a   2 0.25 0.25 0.500

3a   00 0.2 0.4 0.464

4a   02 0.1 0.2 0.332

5a   010 0.1 0.3 0.332

6a   011 0.05 0.15 0.216

6.1= L   bits365.2)( =S  H   

Eficacia 931.03·log6.1

365.2

·log

)(===

 D L

S  H η