Upload
alejandros194
View
101
Download
0
Embed Size (px)
Citation preview
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 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
k
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
<=∑=
−
k
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
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
α
α α
α α
α
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
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
n
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 η