Beruflich Dokumente
Kultur Dokumente
Universidad de
Rafael Molina Tema 3: Codificacin Huffman !
ranada
" " &l algoritmo del cdigo de Huffman Cdigos de Huffman " Adaptativos ' *rocedimiento de codificacin ' *rocedimiento de decodificacin ' *rocedimiento de actuali)acin
Contenido s
olom$
" +,-Cdigo Tunstall " Aplicaciones del cdigo de Huffman Resum " en .i$liogra " f(a Ap/ndice: 0ongitud del cdigo de Huffman 1 " cdigo de Huffman e2tendido +,- &stas secciones son ilustrativas3 no entran
en el e2amen
Rafael Molina Tema 3: Codificacin Huffman 4
&l cdigo de Huffman est9 $asado en dos propiedades de los cdigos prefi%o ptimos:
1.
&n un cdigo prefi%o ptimo3 los s(m$olos m9s frecuentes 'los 5ue tienen ma1or pro$a$ilidad< tienen pala$ras del cdigo m9s cortas 5ue las pala$ras menos frecuentes.
2.
&n un cdigo prefi%o ptimo3 los dos s(m$olos 5ue ocurren con menos frecuencia tendr9n la misma longitud.
Demostracin de que estas condiciones las cumple un cdigo prefijo ptimo: 0a primera condicin es o$via. &l n7mero medio de $its por s(m$olo ser(a ma1or si esta condicin no se cumpliese.
Rafael Molina Tema 3: Codificacin Huffman =
*ara pro$ar la segunda condicin usaremos reduccin al a$surdo. :upongamos 5ue e2iste un cdigo prefi%o ptimo3 C 3 en el 5ue los dos s(m$olos menos pro$a$les no tienen la misma longitud. :ean *! 1 *4 las correspondientes pala$ras del cdigo 1 supongamos 5ue long+*!->? 1 long+*4->n con ?@n. Al ser un cdigo prefi%o3 *! no puede ser prefi%o de *4. *or tanto podemos suprimir los n<? 7ltimos d(gitos de *4 1 tener a7n dos cdigos distintos. :ea C el nuevo cdigo3 Asigue siendo prefi%oB
Rafael Molina Tema 3: Codificacin Huffman C
Como estos s(m$olos son los menos pro$a$les ninguna otra pala$ra puede ser m9s larga 5ue estas dos 1 por tanto no 6a1 peligro de 5ue al 6acer m9s corta esta pala$ra del cdigo +la de *4- se convierta en prefi%o de ninguna otra. *or tanto3 C sigue siendo prefi%o. Hemos creado un nuevo cdigo3 C3 5ue 6ace 5ue C no sea ptimo3 lo 5ue contradice la 6iptesis inicial so$re C.
*ara construir el cdigo de Huffman le aDadimos la siguiente condicin a las dos propiedades vistas de los cdigos prefi%o ptimos: :i u 1 v son los dos s(m$olos menos pro$a$les en el alfa$eto3 si la codificacin de u es m,E3 la de v ser9
1.
2.
Comien)a a construir un 9r$ol por las 6o%as com$inando los dos s(m$olos menos pro$a$les3
3.
Itera el procedimiento
*+ la s *+ *+
G *+ & >E.E!
Rafael Molina Tema 3: Codificacin Huffman H
pro$a$ilidades
E. =
E
!.E
E. ;
! E
E . E G
S
& E.E! E
a: !E
pro$a $le
e A
pro$a$ilidades
1
E E
#tro e%emplo
E.C
!.E !
D E.! A EE
E.;
. E! C !E D !!
Rafael Molina Tema 3: Codificacin Huffman !E
pro$a$ilidades
#tro
e%emplo
E E ! E
E.4
afael
Codificacin
Huffman !!
! !.E
*ara disminuir la varian)a colocamos3 en caso de empate en las pro$a$ilidades de los nodos3 los nodos 1a utili)ados lo m9s alto posi$le procurando utili)arlos lo m9s tarde posi$le. Retomemos el e%emplo de la seccin anterior. . E.; A E.4 C E.4 D E.!
& E.!
pro$a$ ilidade s
E !
! E.;
!.E ! E.4
EE !E !!
C odificacin H uffman !3
E ! ! E!E
2.
*ara tener estas pro$a$ilidades podemos leer los datos para o$tenerlas 1 luego codificar los s(m$olos usando el cdigo de Huffman para dic6as pro$a$ilidades3 o $ien podemos ir constru1/ndolo +adaptativamente- mientras vamos le1endo los s(m$olos. &sta es la $ase del cdigo Huffman adaptativo.
*ara la construccin del 9r$ol adaptativamente3 veamos a continuacin 5u/ propiedades caracteri)an a un 9r$ol $inario para 5ue sea el correspondiente a un
cdigo de Huffman.
Rafael Molina Tema 3: Codificacin Huffman
!;
Consideremos un 9r$ol $inario correspondiente a un alfa$eto de tamaDo n en el 5ue los s(m$olos del alfa$eto son las 6o%as. +pru/$alo por &ntonces3 el n7mero de nodos del 9r$ol es 4n<! induccin-.
A cada nodo del 9r$ol $inario le vamos a asignar dos campos: I7mero del nodo 1 peso del nodo.
&l n7mero de nodo es un n7mero 7nico asignado a cada nodo del 9r$ol entre ! 1 4n<!. 0os n7meros los notaremos 1!3L314n<!.
&l peso de un nodo 6o%a es simplemente el n7mero de veces 5ue aparece el s(m$olo correspondiente 1 el de uno interno la suma de los pesos de sus dos 6i%os. 0os
*uede pro$arse 5ue: :i al asignar n7meros a los nodos comen)ando por el uno 1 recorriendo el 9r$ol por niveles +asignamos3 de i)5uierda a derec6a en cada nivel 1 de las 6o%as +a$a%o- a la ra() +arri$a- los pesos de los nodos 5uedan ordenados en un orden no decreciente
&l 9r$ol o$tenido es un 9r$ol $inario correspondiente a un cdigo de Huffman para dic6os s(m$olos con las pro$a$ilidades de cada nodo 6o%a igual a su peso dividido por la suma de los pesos.
&n el e%emplo de la derec6a: "&ntre par/ntesis los pesos de cada nodo. "Dentro de los cuadrados el n7mero asignado a cada nodo. *or tanto3 este 9r$ol es el correspondiente al cdigo de Huffman para estos s(m$olos con las pro$a$ilidades 5ue se o$tienen a partir del n7mero de veces 5ue 6a aparecido cada s(m$olo dividido por el n7mero de s(m$olo le(dos.
+!C-
F =
+F-
H C
+;-
+G -
+3-
+!-
+4-
+4-
+4-
Rafael
&n el cdigo Huffman adaptativo ni el transmisor ni el receptor conocen al principio las pro$a$ilidades de los s(m$olos. *or eso:
1.
Codificador 1 decodificar comien)an con un 9r$ol con un nodo 7nico 5ue corresponde a todos los s(m$olos no transmitidos +IMT- 1 5ue tiene peso cero. Mientras progresa la transmisin se aDadir9n nodos al 9r$ol correspondientes a s(m$olos 5ue apare)can por primera ve)3 se modificar9n los pesos +tanto si el s(m$olo es nuevo como si es 1a e2istente- 1 se actuali)ar9 el 9r$ol para 5ue siga cumpliendo t6e si$ling propert1 +siga siendo de
2.
Huffman-.
4 Algoritmo de codificacin.
3.
Algoritmo de decodificacin. *roceso de actuali)acin del 9r$ol para 5ue mantenga t6e si$ling propert1.
4.
Antes de descri$ir estas partes comentaremos $revemente so$re la codificacin de los s(m$olos:
Rafael Molina Tema 3: Codificacin Huffman !G
Codificacin de un smbolo que aparece por primera vez: ":alvo 5ue sea el primero de todos lo s(m$olos de la secuencia3 la codificacin de un s(m$olo 5ue aparece
por primera ve) consta de la codificacin 5ue proporciona el 9r$ol del nodo IMT seguido de un cdigo fi%o para el s(m$olo 5ue de$en conocer codificador 1 decodificador "&n el caso en 5ue sea el primer s(m$olo 5ue aparece en la secuencia no necesitamos transmitir el cdigo de IMT.
Si el smbolo ya ha aparecido "Utili)amos la codificacin 5ue proporciona el 9r$ol 5ue vamos constru1endo.
4E
n7meros nodos3
3.
para
los
1.
correspondiente a IMT3
2.
E
IMT
4nJ!
I7mer o
del nodo
Rafael Molina Tema 3: Codificacin Huffman 4!
:i encontramos un s(m$olo nuevo +ver notaentonces generar el cdigo del nodo IMT seguido del cdigo fi%o +ver nota- del s(m$olo. ADadir el nuevo s(m$olo al 9r$ol3 :i el s(m$olo 1a est9 presente3 generar su cdigo usando el 9r$ol3 Actuali)ar el 9r$ol para 5ue siga conservando t6e si$ling propert1.
2.
3.
Iota: Recordemos 5ue para el no 6ace falta primer s(m$olo cdigo de IMT. <ransmitir el principio cdigo fi%o es conocido alpor codificador 1 decodificador.
Rafael Molina Tema 3: Codificacin Huffman 44
Decodificar el s(m$olo usando el 9r$ol actual3 :i encontramos el nodo IMT3 usar el cdigo fi%o para decodificar el s(m$olo 5ue viene a continuacin. ADadir el nuevo s(m$olo al 9r$ol3 Actuali)ar el 9r$ol para 5ue siga conservando t6e si$ling propert1.
2.
3.
Iota: recordar3 de nuevo3 5ue el primer s(m$olo no va precedido por el cdigo de IMT
Rafael Molina Tema 3: Codificacin Huffman 43
4. 5.
:ea y la 6o%a +s(m$olo- con peso x3 :i y es la ra()3 aumentar x en ! 1 salir Intercam$iar y con el nodo con el n7mero ma1or 5ue tenga el mismo peso 5ue /l +salvo 5ue sea su padreAumentar x en ! :ea y el padre 5ue tiene su peso x +el 5ue sea3 no el definido en ;- ir al paso 4 del algoritmo
Rafael Molina Tema 3: Codificacin Huffman 4;
Ejemplo
Consideremos el alfa$eto A>Na3$3c3dO 1 realicemos la codificacin de la secuencia aa$cdad *rimero vemos el n7mero de nodos 5ue necesitaremos Iodos>4,;J!>G
E!E d
E!!
Iniciali)acin
E
IMT
aa$cdad en A>Na3$3c3dO
codificaci n E
IMT F
E
a
E E !
IM T
! E
E
IMT
!
a
R
" aa$cdad
Tenemos
del de
!G
IMT a
salida>EEE
! E ! E
IMT F
!
a
salida>E EE!
! E !
IM T
4 E
E
IMT
4
a
! 4
a H
Cdi go de IMT
de codificaci n E E
IM T
salida>EEE!EE E! ! 4
H
Cdig o de $
! E
$ C
Codificaci
Huffman 3E
4 E E E E
= F
G I M T
! 4
a
!
!
C
IMT$
3 E ! E
F
!
$ H
E
IM T
! 4
H
a
"
aa$cda d Tenemos
IM T
3: Rafa Codi el ficac Molin in a Huff Tema man 34
salida>EEE!EEE! 3 E ! E E
= F
! !
E !
3
F
! 4
a
E
H
3
F
! 4 E E
IM T
E E
3
! !
c
E 4 E E !
=
E ! E E
G IMT 3 =
! ! ! !
c $ ; C
! 4
a
E 4
=
;
F
E ! E
! ! !
$
! 4
a
H u f T f m a n
a d a p t a c i n
salida>EEE!EEE!EEE!EEE EE!! s
IMT
E E E
IM T
4
5
F c 4
!
M
E 4 E ! E E E E
IMT d
5
;
F
! 4
a
! ! !
$ ;
E ! E E
IM T
E !
3
E 4
5
;
F
! 4
a
! ! !
$ ;
!
c 4
! !
! !
d 4
!
c
Rafael Molina
E ! E !
3
4
5
;
G F
! ; 4
a F
! !
$ ;
! 4
a
! !
3
CAM.I# #RD&
Tema 3: Codificacin Huffman
M c
! !
E 4 E Ra
fa el M oli na
E 4 E
! =
;
F
! E
!C
! 4
a $
E !
!
3
E !
! !
E E
; c
IMT d
! !
cin ! 3
; c 4
E E
IM T
! !
d
a d a p t a
E !
$
E !
E E
IM T
C C
! !
; c
! !
c 4
a Codificacin 3: Huffman 3H
4
a
3 E
=
! 4
3 C
!$
E !
E E
IMT
! !
d 4
! !
c
ie l ad 9 a n pt r $ ac d
ol
Raf ael M na a 3: Codificacin oTe Huffman 3G li m
" aa$cdad Tenemos salid a>EE E!EE E!EE E!EE EEE! ! salid a>EE E!EE E!EE
E!EEEEE!!E E 4
a
Rafael Molina
c 4
;E
! ! ;
3
a
3 E
=
! 4
3
!$
E !
E E
IMT
! !
d
E 3
C a
C
F
! 3
= C
"
aa d
E !
$
! !
c ;
Te s
! !
c 4 ;
E !
4 !
EEE!EE
E E
I MT
p tn a d c el i9r
E 3
a
C
F
! E E
I MT
Rafael Molina
! !
d
E 3
a
C
F
! 3
=
E !
$
! 4
3
E !
E E
I MT
! !
d
! !
E 3
a
C
F
! 3
=
E !
d
! 4
3
E !
! !
c
I MT
E E
! !
$
s c $ # a i $ m o
T
E 4
E E
IM T
E 3
a C
C
F
! !
c ;
E 4
d
! !
c ;
E E
I MT
4
R M ina Tema 3: o Codificacin l Huffman ;;
3
a
; E 4
d
=
! 4
C 3
E !
IM T
E E
! !
$ 4
! !
c
E 3
a
F
F
! ;
=
E 4
d
! 4
3
E !
! !
c
E E
I MT
! !
$
4
e
R a f a
&%ercicio: Usando el cdigo fi%o a>EEE3 $>EE!3 c>E!E3 d>E!! Decodificar la secuencia EE!!EEEE usando el cdigo de Huffman adaptativo.
Aun5ue el cdigo de Huffman es uno de los m/todos de codificacin de longitud de pala$ra varia$le m9s conocidos3 e2isten otros m/todos algo menos conocidos pero tam$i/n mu1 7tiles. &n particular los m/todos de olom$<Rice 1 Tunstall 5ue veremos a continuacin.
Huffman ;C
III.; Cdigo de
olom$
Consideremos un suceso A 5ue tiene pro$a$ilidad p 1 c su complementario A 5ue tiene pro$a$ilidad 5>!<p +o$viamente pJ5>!-. Pueremos codificar el n7mero de veces +rac6a>run lengt6- 5ue aparece A antes de 5ue apare)ca A . :uponemos 5ue las reali)aciones son independientes. #$serva 5ue si p es pr2imo a uno esperamos 5ue apare)ca muc6as veces el suceso A antes de 5ue apare)ca un A .
Rafael Molina Tema 3: Codificacin Huffman ;F
A es 5ue salga cara al lan)ar una moneda c 1 A es o$viamente 5ue salga cru). &n el pro$lema del agente EE!!! de olom$ +ver c material adicional- el suceso A es 5ue salga el cero en la ruleta 1 A es 5ue no salga +la ruleta tiene los n7meros del E al 3C-. *untos en $lanco 1 negro como podr(a ser el contenido de una 6o%a.
Rafael Molina Tema 3: Codificacin Huffman ;H
2.
3.
#$serva 5ue para la ruleta *+A->3CK3F 1 *+A ->!K3F. 1. &n el caso de la moneda +si no est9 c sesgada- *+A->*+A ->!K4. 2. &n el caso de 6o%as en $lanco 1 negro se podr(a estimar p. 0os fa$ricantes de impresoras suponen
p>E.E=
0o 5ue 5ueremos codificar son las reali)aciones de la varia$le aleatoria I definida por I> n7mero de veces 5ue aparece A antes de 5ue apare)ca A . &sta varia$le tiene la siguiente distri$ucin de pro$a$ilidad *+I>n->p 5 n>E3!343L.
Rafael Molina Tema 3: Codificacin Huffman ;G
Una posi$le codificacin ser(a: Cada ve) 5ue apare)ca el suceso A lo codificamos con c un uno 1 cuando se produ)ca el suceso A lo codificamos con un cero. De esta forma el valor n de la varia$le aleatoria I se codifica mediante n unos seguidos de un cero. &s decir3 E ! 4 3 . .
cdig o E !E !!E
&ste cdigo reci$e el nom$re de cdigo unario. ACu9l es el n7mero medio de $its
!!! E . .
n=0
q 1 p q
+qpnp
q 1 p 1 1 = p
+ pq deriv
pn
n=0
n=0
1 + p pq
(1 2 p)
#$serva 5ue si p est9 mu1 pr2imo a uno Cp+I- es mu1 grande. ACu9nto vale la entrop(a de la varia$le aleatoria I en funcin de pB.
n=0
q log( q) 1 p q log( q)
pq log( p)npn1
n=0 n=0
pq log( p)derivada
pn
1 p pq log( = q log( q) p) =
= log (q )
log( p p) 1 p
1p
Rafael Molina Tema 3: Codificacin Huffman =4
#$serva 5ue para p grande de$er(amos ser capaces de me%orar el cdigo unario. :in em$argo3 para p>E.=3 Cp+I- 'Hp+I->E 1 el cdigo unario es el me%or 5ue podemos utli)ar.
Rafael Molina Tema 3: Codificacin Huffman =3
olom$ intuitivamente.
:upongamos 5ue tenemos una rac6a de apariciones de A de longitud n! 1 otra rac6a de apariciones de A de longitud n4+Rn!- cu1a pro$a$ilidad es la mitad. ACmo est9n relacionados n4 1 n!B.
de donde
= 0.5P(N = n ) = 0.5q2
1
n log p
1
= q2
1+n log p
1
Mu1 importante
log p
log p
Intutivamente3 nos gustar(a 5ue el cdigo de n4 fuese un $it m9s largo 5ue el de n!. &sto es lo 5ue consigue el cdigo de olom$. Antes un poco de notacin
w=
1 log p
==
n w
y R = n Qw
&n otras pala$ras P es el cociente 1 R es el resto de la divisin de n por S +#$serva 5ue si nT>nJS entonces PT>PJ!0a codificacin de olom$ para n consiste en:
!. un prefi%o unario +para el cociente3 es decir para P-3 4. 1 un sufi%o $inario +para el resto3 R- usando
log w
bits
w= 4,
log w = 2
I E ! 4 3 ;
P E E E E !
R E ! 4 3 E
= C
! !
! 4
Huffman =F
!EE! !E!E
w= 5,
log w = 3
I E ! 4 3 ;
P E E E E E
R E ! 4 3 ;
= C
! !
E !
Huffman =H
!EEEE !EEE!
0a parte sufi%o del cdigo es me%ora$le cuando S no sea una potencia de 43 si usamos la siguiente representacin de longitud varia$le: :ea R W NE3!3L3S<!O
Usando log
bits
!jemplo s:
E !
! 4
!E !!
E E S>4 Resto R
E !
odifi caci n Huff ma n RCE a f a e l M o li n a T e m a 3 : C
! 4
!
E S>; E
!
S>=
E E
Resto R E ! 4 3
! !
E 4
! 3
E E
Resto R E ! 4 3
! !
E 4 E
! !
Representaci n EE E! !E !!
Representaci n EE E! !E !!E
;
Codifica cin Huffma C! Tema 3: n Rafael Molina
!!!
ollu$:
<!K=
. &ntonces
C X D I
# #00U.
w = 5,
log w = 3
I E ! 4 3 ; = Rafael Molina C
P E E E E E ! Codificacin !
R E ! 4 3 ; E !Huffman
Cdigo de Tunstall
:upongamos 5ue tenemos inicialmente m s(m$olos 1 5ueremos usar como salida representaciones de n longitud fi%a con n $its3 siendo 4 Rm. :uponemos 5ue las reali)aciones de dic6os s(m$olos son independientes. Construccin del 9r$ol:
"8ormar un 9r$ol con una ra() 1 m 6i%os con arcos eti5uetados con los s(m$olos del alfa$eto3 ":i el n7mero de 6o%as del 9r$ol3 l3 cumple lJ+m< n !-@ 4 seguir3 en caso contrario parar., "&ncontrar la 6o%a con ma1or pro$a$ilidad +la pro$a$ilidad es el producto de las pro$a$ilidades de los s(m$olos del camino de la ra() a las 6o%as- 1
,Yustificacin de la condicin de parada: Qeamos cuantos 6o%as tiene el 9r$ol3 :i en un instante tiene l 6o%as3 para e2pandir le 5uitamos una 1 de esa una salen m. *or tanto una ve) reali)ada la e2pansin tenemos l<!Jm 5ue
necesitaremos 5ue sea menor 5ue 4 1a 5ue necesitamos de%arnos al menos un cdigo li$re como 1a veremos.
Una ve) construido el 9r$ol le asignamos un cdigo de longitud n a cada una de las 6o%as.
Rafael Molina Tema 3: Codificacin Huffman C;
:upongamos 5ue *+A->E.C3 *+.->E.3 1 *+C->E.! 1 n>3. *or tanto3 deseamos generar una representacin de longitud fi%a 3. *aso !
A E.C
. E.3
C E.!
. E.3
C E.!
*aso 3
*aso 4 0>F3 FJ4>G3 Codificacin final +6a1 varias opcionesG ZH3 :alimos
C
A . !E!
C E!!
EEE E!E EE!
!EE
Raf ael
&l cdigo de Tunstall 6a generado la siguiente representacin AA APu/ enviamos el &ntrada :alida ocurre si cdigo no 5ueremos AAA EEE utili)ado codificar +!!!- 1 un AA. EE! la cdigo fi%o para AA. secuencia AAC E!E eneralmen AAB. te3 si 6a1 ? A. E!! nodos AA no tiene AC !EE representaci internos en el 9r$ol n. . !E! necesitarem os ?<! *ara C !!E codificar el cdigos fi%os. &n
Rafael Molina
CG
#tro e%emplo. :upongamos *+A->E.G 1 *+.->E.! 1 usamos n>4. &l 9r$ol 5ue construir(amos ser(a
&ntrada AA A. .
:alida EE E! !E A EE
. !E . E!
*ro$lema: considera la ta$la en la 5ue el cdigo !!! es utili)ado para anunciar 5ue a continuacin viene el cdigo de A o AA. C &ntrada :alida APu/ A proceso AAA EEE seguir(amos B para AA. EE! codificar las AAC E!E secuencias A. AC . C E!! !EE !E! !!E
Rafael Molina
CA .. AA C C. .A
Tema 3: Codificacin Huffman F4
Te2to: Usaremos diferentes tipos de te2to 1 aplicaremos Huffman 6a$iendo calculado antes las pro$a$ilidades de cada letra a partir del te2to. &liminar la correlacin a5u( es m9s complicado 1 veremos como 6acerlo en cap(tulos posteriores. :onido: Cada canal est/reo se muestrea a ;;.! ?H) 1 utili)a una representacin de !C $its. Aun5ue no vamos a construir el cdigo Huffman !C +tendr(a 4 entradas-3 calcularemos la entrop(a 1 por tanto una estimacin de la me%or compresin 5ue podemos alcan)ar. *odemos tam$i/n eliminar +o disminuir- la correlacin entre los datos 1 volver a calcular la entrop(a 1 por tanto una estimacin de la compresin a alcan)ar con este modelo.
Rafael Molina Tema 3: Codificacin Huffman F;
2. 3. 4.
Cdigo de Huffman3 no adaptativo adaptativo3 Cdigos unarios 1 de olom$3 Cdigos de Tunstall3 Aplicaciones.
III.H .i$liograf(a
[. :a1ood3 \Introduction to Data Compression]3 Morgan and [aufmann3 4EEE.
aterial adicional de la asignatura
" . 0angdon3 Data Compression3 Universidad de California3 !GGG. +langdon^Run<0engt6^&ncodings.pdf-. "Ro5ue Mar(n3]Compresores estad(sticos]3 Universidad de Murcia3 +EE^compresores^estad(sticos^univ.murcia.pdf-. "Iotas so$re el cdigo de olom$ + olom$^Iotes.pdf-. "#tra presentacin so$re compresores estad(sticos3 +EE^compresores^estad(sticos^II.pdf-. "Temas 43 3 1 ; del curso de compresin de datos impartido en :ton1 .roo? Universit1 +IM3 U:A-3 +tema_4333;`^ston1.pdf-. "Tema 3 del curso de compresin de datos impartido en C6almers Universit1 of Tec6nolog1 +:uecia-3 curso 4EE3<4EE;. +tema3^c6almers.pdf-. ":. a. olom$3 \Run<0engt6 &ncodings]3 I&&& Trans. #n Information T6eor13 IT<!4: 3GG<;E!3 !GCC.
"D.A. Huffman3 \A met6od for t6e construction of minimum redundanc1 codes]3 *roceedings of t6e IR&3 ;E:!EGH<!!E!3 !G=!.
Rafael Molina Tema 3: Codificacin Huffman FC
H (S)
n < H(S) + 1
*rimer Teorema de :6annon o Teorema 8undamental de la Codificacin sin Ruido: Dada una fuente : > N2!3 ... 2mO 1 un alfa$eto $inario3 e2iste al menos un cdigo prefi%o C cu1a longitud media cumple
n < H (S) +
0a demostracin del teorema es la siguiente: :upongamos 5ue codificamos $lo5ues de 5 mensa%es 1 seguimos suponiendo 5ue son independientes3 entonces tendremos +o$serva 5ue la fuente es a6ora 5 : H (S q ) nq H (S q ) +1
.asta con elegir un tamaDo de $lo5ue 5 suficientemente grande para conseguir !K5 @ W para 5ue se cumpla lo afirmado por el teorema.