Escolar Documentos
Profissional Documentos
Cultura Documentos
ao
Mario A. T. Figueiredo
Vers
ao 1.5
Novembro de 2007
Conte
udo
1 Introdu
c
ao `
a Teoria da Informa
c
ao
1.1 Fontes de Informac
ao sem Mem
oria . . . . . . . . . . . . . . . . . .
1.2 Medida de Informac
ao: a Entropia . . . . . . . . . . . . . . . . . .
1.3 Propriedades Elementares da Entropia e Quantidades Relacionadas
1.3.1 Limites Superior e Inferior para a Entropia . . . . . . . . .
1.3.2 Entropia Conjunta . . . . . . . . . . . . . . . . . . . . . . .
1.3.3 Entropia Condicional e Lei de Bayes para Entropias . . . .
1.3.4 Informac
ao M
utua . . . . . . . . . . . . . . . . . . . . . . .
1.4 Desigualdade da Informac
ao . . . . . . . . . . . . . . . . . . . . . .
1.5 Corol
arios da Desigualdade da Informac
ao . . . . . . . . . . . . . .
1.6 A Desigualdade do Processamento de Dados . . . . . . . . . . . . .
2 Codifica
c
ao de Fontes Discretas Sem Mem
oria
2.1 C
odigos . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Definic
oes e Notac
ao . . . . . . . . . . . . . . .
2.1.2 C
odigos N
ao Singulares . . . . . . . . . . . . .
2.1.3 C
odigos Univocamente Descodific
aveis . . . . .
2.1.4 C
odigos Instant
aneos . . . . . . . . . . . . . . .
2.2 Desigualdade de Kraft-McMillan . . . . . . . . . . . .
2.3 C
odigos Ideais e C
odigos Optimos
. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
9
10
11
12
14
16
18
19
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
21
21
22
23
24
25
27
30
31
33
33
34
35
37
40
41
47
CONTEUDO
4
3 Fontes Discretas com Mem
oria
3.1 Processos Estoc
asticos Discretos em Tempo Discreto . . . .
3.2 Processos Estacion
arios . . . . . . . . . . . . . . . . . . . .
3.3 Processos de Markov . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Processos de Markov Invariantes no Tempo . . . . .
3.3.3 Distribuic
ao dos Estados e Distribuic
ao Estacion
aria
3.4 Taxas de Entropia . . . . . . . . . . . . . . . . . . . . . . .
3.5 Codificac
ao de Fontes com Mem
oria . . . . . . . . . . . . .
A Demonstra
c
ao do Teorema da M
edia de Ces`
aro
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
51
52
52
52
53
57
59
62
65
Captulo 1
Introduc
ao `
a Teoria da Informac
ao
A teoria da informac
ao dedica-se ao estudo de medidas de informaca
o e suas propriedades
e aplicac
oes, nomeadamente em problemas de telecomunicac
oes. N
ao se pode afirmar que
existe a teoria da informac
ao, mas sim diversas teorias da informac
ao, com fundamentac
oes
conceptuais diversas [4]; as mais famosas s
ao a teoria da informaca
o de Shannon (TIS) e a teoria
da informaca
o de Kolmogorov (TIK). A TIS, desenvolvida por Claude Shannon nos anos 40
[10], suporta-se numa perspectiva probabilstica, enquanto que a TIK adopta uma perspectiva
computacional [8]. Este texto foca exclusivamente a TIS, introduzindo os conceitos te
oricos
b
asicos e suas aplicac
oes em problemas de compress
ao e codificac
ao de dados.
Para alem da sua clara import
ancia pr
atica em telecomunicac
oes, a TIS tem influencia
e aplicabilidade em v
arias
areas cientficas e tecnol
ogicas: biologia (em particular, na biologia molecular [12], na neurobiologia [9], na biologia te
orica [2]); fsica (fsica estatstica,
fsica qu
antica e cosmologia [11]); qumica [5]; matem
atica (por exemplo, teoria das probabilidades e estatstica [7], teoria erg
odica, sistemas din
amicos, c
alculo combinat
orio, algebra,
optimizac
ao); economia (em particular, na an
alise de estrategias de investimento e no estudo
de mercados bolsistas [4]). Este facto reforca a ideia de que um conhecimento b
asico de teoria da informac
ao deve fazer parte da formac
ao essencial de qualquer engenheiro cuja
area de
especialidade contemple a manipulac
ao (isto e, aquisic
ao, armazenamento, ou transmiss
ao) de
informac
ao, nomeadamente as telecomunicac
oes.
1.1
Fontes de Informac
ao sem Mem
oria
A
` TEORIA DA INFORMAC
CAPITULO 1. INTRODUC
AO
AO
N
X
pi = 1.
i=1
N
X
i=1
1.2
p(xi )f (xi ) =
N
X
pi f (xi ).
(1.1)
i=1
Medida de Informac
ao: a Entropia
(1.2)
A ENTROPIA
1.2. MEDIDA DE INFORMAC
AO:
Note-se que o par (X, Y ) pode ser visto simplesmente como uma vari
avel aleat
oria que
toma valores no produto cartesiano X Y, em que X e Y s
ao os conjuntos (ou alfabetos)
nos quais as vari
aveis X e Y , respectivamente, tomam valores. Por exemplo, se X =
{1, 2, 3} e Y = {a, b}, tem-se X Y = {(1, a), (1, b), (2, a), (2, b), (3, a), (3, b)}. Se as
vari
aveis X e Y forem independentes, vem p[(X, Y ) = (1, a)] = p[X = 1] p[Y = a],
p[(X, Y ) = (1, b)] = p[X = 1] p[Y = b], etc. Esta factorizac
ao escreve-se geralmente
(numa notac
ao pouco correcta, mas muito comum) como p(x, y) = p(x)p(y) e constitui,
precisamente, a definic
ao de independencia.
A terceira condic
ao e um pouco mais elaborada. Considere-se uma fonte com um alfabeto
X = {x1 , ..., xN }, com N 3; agrupem-se os smbolos em dois grupos A e B; por exemplo,
A = {x1 , ..., xa } e B = {xa+1 , ..., xN }. A probabilidade da fonte gerar um smbolo do
grupo A e, obviamente, pA = p1 + ... + pa ; a probabilidade de se obter um smbolo do
grupo B e pB = pa+1 + ... + pN . A terceira condic
ao a impor `
a func
ao H e a seguinte:
H(p1 , ..., pN ) = H(pA , pB ) + pA H
p1
pa
, ...,
pA
pA
+ pB H
pa+1
pN
, ...,
pB
pB
(1.3)
S
ao as probabilidades condicionadas p(xi |xi A); pela lei de Bayes, sabe-se que estas s
ao dadas por
p(xi |xi A) =
p(xi , xi A)
=
pA
p(xi )
pA
xi A
xi 6 A
A
` TEORIA DA INFORMAC
CAPITULO 1. INTRODUC
AO
AO
possvel provar que a u
E
nica funcao que verifica estas quatro condic
oes tem a forma
H(p1 , ..., pN ) = C
N
X
i=1
N
X
pi log
i=1
1
,
pi
(1.4)
N X
M
X
i=1 j=1
N X
M
X
i=1 j=1
N
X
i=1
z }|
M
X
p(yj )
j=1
{z
H(X)
= H(X) + H(Y ),
} |
N
X
j=1
z }|
N
X
p(xi )
i=1
{z
H(Y )
(1.6)
=
=
pa
p1
, ...,
pA
pA
pN
pa+1
, ...,
pB
pB
p2
p4
p1
p3
H(p1 + p2 , p3 + p4 ) + (p1 + p2 ) H
,
+ (p3 + p4 ) H
,
p1 + p2 p1 + p2
p3 + p4 p3 + p4
(p1 + p2 ) log(p1 + p2 ) (p3 + p4 ) log(p3 + p4 )
p1
p2
p2
p1
(p1 + p2 )
log
+
log
p + p2
p1 + p2 p1 + p2
p1 + p2
1
p3
p3
p4
p4
(p3 + p4 )
log
+
log
p3 + p4
p3 + p4 p3 + p4
p3 + p4
(p1 + p2 ) log(p1 + p2 ) (p3 + p4 ) log(p3 + p4 )
p1
p2
p3
p4
+ p2 log
p3 log
+ p4 log
p1 log
p1 + p2
p1 + p2
p3 + p4
p3 + p4
(p1 + p2 ) log(p1 + p2 ) (p3 + p4 ) log(p3 + p4 )
H(pA , pB ) + pA H
+ pB H
(1.7)
1.3
10
A
` TEORIA DA INFORMAC
CAPITULO 1. INTRODUC
AO
AO
cional, informac
ao m
utua) e apresentam-se algumas das suas propriedades. Dada a sua natureza
elementar, apresentar-se-
ao todas as demonstrac
oes.
1.3.1
N
X
p(xi ) log
i=1
1
= E[ log p(X)];
p(xi )
dado que, para qualquer smbolo x, se verifica p(x) 1, isso implica que log p(x) 0. O valor
esperado de uma func
ao n
ao negativa e, obviamente, n
ao negativo. Pode tambem apresentar-se
uma demonstrac
ao directa com base na seguinte cadeia de desigualdades:
H(X) = H(p1 , ..., pN ) =
N
X
i=1
z}|{
|{z} | {z }
pi log pi .
{z
{z
No tratamento dos smbolos com probabilidade nula (pi = 0), coloca-se a quest
ao acerca de
que valor atribuir a 0 log 0. Dado que a func
ao logaritmo n
ao est
a definida em zero, considera-se
a extens
ao por continuidade, usando o limite limp0 p log p. Embora seja uma indeterminacao
do tipo 0 (), e possvel levantar esta indeterminac
ao e verificar que limp0 p log p = 0.
Assim, convenciona-se que sempre que surgir um termo 0 log 0, este deve ser entendido como
limp0 p log p e, como tal, toma o valor zero. Deste modo, os smbolos com probabilidade zero
n
ao contribuem para a entropia, tudo se passando como se n
ao existissem no alfabeto.
Em que condic
oes pode a entropia ser zero? Se se observar que cada parcela da soma que
define a entropia, pi log pi , e uma quantidade n
ao negativa, conclui-se que a entropia apenas
pode ser nula se todas estas parcelas forem zero. Cada uma destas parcelas apenas e zero se a
correspondente probabilidade pi for igual a 0 ou 1. Dado que a soma de todas as probabilidades
e igual a 1, apenas uma das probabilidades pode ser igual a 1, concluindo-se que a entropia e
nula se um dos smbolos tiver probabilidade 1 e todos os outros probabilidade 0. Este conclusao
est
a de acordo com a interpretac
ao da entropia como medida de incerteza pois, se um smbolo
possui probabilidade 1 de ocorrer, a incerteza e claramente inexistente.
A segunda propriedade fundamental da entropia afirma que, para uma fonte X com um
alfabeto de N smbolos, H(X) log N . A demonstrac
ao desta propriedade ser
a apresentada
mais tarde, dado que se baseia na desigualdade da informacao, a qual ser
a enunciada e demonstrada adiante. No entanto, pode desde j
a verificar-se que esta propriedade est
a tambem de
acordo com a interpretac
ao da entropia como medida de incerteza: a incerteza (imprevisibilidade) m
axima atinge-se na situac
ao em que todos os smbolos s
ao equiprov
aveis; recorde-se
que se mostrou em (1.5) que, ao caso pi = 1/N , para i = 1, ..., N , corresponde H = log N .
H (bits/smbolo)
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
p
0.6
0.7
0.8
0.9
1.3.2
Entropia Conjunta
p(x, y) = 1.
xX yY
X X
(1.8)
xX yY
Sendo uma entropia, H(X, Y ) verifica as duas desigualdades acima enunciadas: 0 H(X, Y )
log(M N ) = log N + log M . Recorde-se que, dado que X e Y podem tomar N e M valores
diferentes, respectivamente, o par (X, Y ) pode tomar N M valores diferentes (que e o cardinal
A
` TEORIA DA INFORMAC
CAPITULO 1. INTRODUC
AO
AO
12
x1 XL x2 X2
(1.9)
xL XL
L
X
log(|Xl |),
l=1
1.3.3
p(x|y) = 1,
xX
p(y) H(X|Y = y)
(1.10)
yY
p(y)
yY
X X
xX
(1.11)
yY xX
2
Recorde-se que os valores de p(y) podem ser obtidos das probabilidades conjuntas por marginalizac
ao:
P
p(y) = xX p(x, y).
(1.12)
A demonstrac
ao desta igualdade e simples:
H(X|Y ) + H(Y ) =
X X
yY xX
X X
X X
(1.13)
yY
yY xX
X X
(1.14)
yY xX
yY xX
X X
(1.15)
(1.16)
yY xX
X X
yY xX
= H(X, Y ).
(1.17)
(1.18)
14
A
` TEORIA DA INFORMAC
CAPITULO 1. INTRODUC
AO
AO
L
X
(1.20)
l=2
1.3.4
Informac
ao M
utua
A igualdade expressa em (1.17), H(X|Y ) + H(Y ) = H(Y |X) + H(X), sugere que se considere
uma outra quantidade obtida por permutac
ao das parcelas H(X|Y ) e H(Y |X) para os membros
opostos da igualdade. Da, surge a igualdade
H(Y ) H(Y |X) = H(X) H(X|Y ) I(X; Y )
(1.21)
xX
X X
X X
xX yY
X X
(1.22)
xX yY
X X
(1.23)
xX yY
xX yY
p(x|y)
=
p(x, y) log
p(x)
xX yY
X X
X X
xX yY
p(x, y) log
p(x, y)
p(x)p(y)
(1.24)
(1.25)
P
Na passagem de (1.22) para (1.23) usou-se de novo a igualdade p(x) = yY p(x, y); para obter
(1.25) a partir de (1.24), invocou-se a lei de Bayes sob a forma p(x|y) = p(x, y)/p(y).
Usando a lei de Bayes para entropias H(X|Y ) = H(X, Y ) H(Y ) pode calcular-se a
informac
ao m
utua sem usar explicitamente entropias condicionais:
I(X; Y ) = H(X) H(X|Y ) = H(X) + H(Y ) H(X, Y ).
Esta igualdade sugere que a informac
ao m
utua pode ser vista como uma medida de dependencia
entre vari
aveis aleat
orias, pois quanto mais independentes forem X e Y , menor ser
a a
diferenca entre H(X) + H(Y ) e H(X, Y ). Esta afirmac
ao ser
a confirmada mais adiante e
apresentada mais formalmente.
Uma das propriedades b
asicas da informac
ao m
utua pode obter-se directamente da igualdade I(X; Y ) = H(X)+H(Y )H(X|Y ). Se as vari
aveis aleat
orias X e Y forem independentes,
tem-se H(X, Y ) = H(X) + H(Y ) e, como tal,
I(X; Y ) = H(X) + H(Y ) H(X, Y ) = 0;
ou seja, a informac
ao m
utua entre vari
aveis aleat
orias independentes e nula. Esta observacao
reforca a sugest
ao de que a informac
ao m
utua pode ser vista como uma medida de dependencia
entre vari
aveis aleat
orias.
Considere-se agora o caso em que uma vari
avel e uma func
ao determinstica da outra, ou
seja, pode escrever-se X = f (Y ), em que f : Y X e uma func
ao determinstica. Neste caso,
como mostrado acima, H(X|Y ) = 0 e a informac
ao m
utua fica I(X; Y ) = H(X) H(X|Y ) =
H(X). Ou seja, neste caso a informac
ao m
utua e igual `
a entropia da vari
avel cuja entropia
condicional e nula.
Finalmente refira-se que a informac
ao m
utua, por ser igual a uma diferenca entre entropias, se expressa nas mesmas unidades que essas entropias; por exemplo, em bits/smbolo
ou nats/smbolo.
A
` TEORIA DA INFORMAC
CAPITULO 1. INTRODUC
AO
AO
16
1.4
Desigualdade da Informa
c
ao
p1 (x) log
xX
p1 (x)
.
p2 (x)
(1.26)
2
df (x)
1
df (x)
2 d f (x)
f (x) = f (x0 ) + (x x0 )
+
(x
x
)
f (x0 ) + (x x0 )
,
0
2
dx x0 |2 {z
dx x0
} d x x
0
{z
{z
}
}
{z
tangente a f em x0
1.4. DESIGUALDADE DA INFORMAC
AO
17
(1.27)
com igualdade se e s
o se x = 1, como ilustrado na figura 1.2.
2
1.5
ln(x)
x1
1
0.5
0
0.5
1
1.5
2
2.5
0
0.5
1.5
x
2.5
1 X
p1 (x)
p1 (x) ln
ln c xX
p2 (x)
1 X
p2 (x)
p1 (x) ln
ln c xX
p1 (x)
1 X
p2 (x)
p1 (x) ln
ln c xA
p1 (x)
(1.28)
(1.29)
1 X
p2 (x)
p1 (x)
1
ln c xA
p1 (x)
(1.30)
1 X
1 X
p2 (x)
p1 (x) 0.
ln c xA
ln c xA
|
{z
{z
=1
(1.31)
A igualdade entre (1.28) e (1.29) justifica-se pelo facto de que os termos com p1 (x) = 0
tem uma contribuic
ao nula para o somat
orio. A passagem de (1.29) para (1.30) usa a
desigualdade (1.27).
A
` TEORIA DA INFORMAC
CAPITULO 1. INTRODUC
AO
AO
18
p2 (x)
p2 (x)
1,
p1 (x)
p1 (x)
para todos os x A, s
ao igualdades se e s
o se p2 (x)/p1 (x) = 1, para todos os x A.
A conjunc
ao destas duas condic
oes implica que DKL (p1 kp2 ) = 0 se e s
o se p1 (x) = p2 (x),
para todos os x X .
Finalmente, resta mostrar que a informac
ao m
utua e, de facto, uma divergencia de KullbackLeibler. A observac
ao da express
ao (1.25) mostra que, de facto,
I(X; Y ) = DKL (p1 kp2 ) =
X X
p1 (x, y) log
xX yY
p1 (x, y)
p2 (x, y)
1.5
Corol
arios da Desigualdade da Informa
c
ao
xX
= H(X) log N.
xX
p(x) log N
19
O segundo corol
ario e H(X|Y ) H(X), com igualdade se e s
o se X e Y forem independentes. A demonstrac
ao e trivial, recordando a definic
ao de informac
ao m
utua em
(1.21):
0 I(X : Y ) = H(X) H(X|Y ).
Esta desigualdade afirma que a incerteza de uma vari
avel aleat
oria X n
ao pode aumentar
pela presenca de uma segunda vari
avel aleat
oria Y ; pode apenas manter-se inalterada ou
diminuir.
Finalmente, o terceiro corol
ario afirma que a entropia conjunta atinge o seu valor m
aximo
na situac
ao de independencia. Partindo da regra de cadeia (1.20) e invocando o corol
ario
anterior, segundo o qual H(Xl |Xl1 , ..., X1 ) H(Xl ),
H(X1 , ..., XL ) = H(X1 ) +
L
X
l=2
L
X
H(Xl ),
(1.32)
l=1
com igualdade se e s
o se as vari
aveis aleat
orias X1 ,...,XL forem independentes.
1.6
p(x, y, z)
p(z|x, y) p(x, y)
p(z|y) p(x|y)p(y)
=
=
= p(z|y) p(x|y),
p(y)
p(y)
p(y)
desde que p(y) > 0, para todos os y Y. A igualdade p(x, z|y) = p(z|y) p(x|y) estabelece que
X e Z s
ao condicionalmente independentes, na presenca de Y .
Obviamente, dadas duas vari
aveis aleat
orias X e Y , se uma terceira vari
avel aleat
oria Z
for uma func
ao determinstica de uma delas, Z = f (Y ), verifica-se que X Y Z.
A chamada desigualdade do processamento de dados (DPD) afirma: se X Y
Z, ent
ao I(X; Y ) I(X; Z). Isto e, se Z apenas depende de X atraves de Y , ent
ao, Z
possui menos informac
ao acerca de X do que Y . Por outras palavras, qualquer que seja o
processamento que se aplique a Y , sendo o resultado Z, o resultado deste processamento nao
pode ter mais informac
ao acerca de X do que o pr
oprio Y . A importante lic
ao e: nenhum
tipo de processamento aplicado a um conjunto de dados pode aumentar o conte
udo informativo
desse conjunto de dados.
20
A
` TEORIA DA INFORMAC
CAPITULO 1. INTRODUC
AO
AO
A demonstrac
ao da DPD e simples e resulta da desigualdade da informac
ao que foi enunciada e demonstrada na secc
ao 1.4. Considerem-se as informac
ao m
utua I(X; Y, Z) entre a
vari
avel X e o par de vari
aveis (Y, Z); informac
ao m
utua e dada, por definic
ao, por
I(X; Y, Z) = H(Y, Z) H(Y, Z|X)
(1.33)
(1.34)
(1.35)
{z
I(X;Y |Z)
{z
I(X;Z)
a igualdade entre (1.33) e (1.34) resulta da lei de Bayes para entropias H(Y, Z) = H(Y |Z) +
H(Z), a qual, naturalmente, tambem e v
alida para entropias condicionais, H(Y, Z|X) =
H(Y |Z, X) + H(Z|X). A quantidade I(X; Y |Z) = H(Y |Z) H(Y |Z, X) designa-se, naturalmente, como informac
ao m
utua condicional e tem uma definic
ao identica `
a informacao
m
utua n
ao condicional, mas envolvendo entropias condicionais. Dado que e possvel repetir a
sequencia (1.33) - (1.35) trocando Y com Z, pode escrever-se
I(X; Y, Z) = I(X; Z) + I(X; Y |Z) = I(X; Y ) + I(X; Z|Y ).
(1.36)
Captulo 2
Codificac
ao de Fontes Discretas Sem
Mem
oria
Um dos papeis fundamentais das grandezas e propriedades estudadas no Captulo 1 consiste no
estabelecimento de limites te
oricos para a codificac
ao de informac
ao. Neste captulo, estudamse esses limites bem como tecnicas concretas que os aproximam (e, sob certas circunst
ancias,
os atingem).
2.1
2.1.1
C
odigos
Definic
oes e Notac
ao
A formalizac
ao do conceito de c
odigo e necess
aria ao seu estudo `
a luz da teoria da informac
ao.
Informalmente, um c
odigo e uma forma de representar os smbolos de uma dada fonte; para o
efeito, atribui-se a cada smbolo gerado pela fonte uma sequencia de smbolos do alfabeto sobre
o qual est
a definido o c
odigo. Formalmente, considere-se uma fonte sem mem
oria, discreta, que
gera smbolos de um alfabeto X = {x1 , ..., xN }. Um codificador, ou simplesmente um c
odigo,
definido sobre o alfabeto D, e uma func
ao
C : X D,
onde D denota o conjunto de todas as sequencias finitas de smbolos de D. Recorde-se que
D k representa a k-esima a potencia cartesiana do conjunto D, isto e, o conjunto de todas
as sequencias de k elementos de D. No caso bin
ario, D = {0, 1}, com k = 3, tem-se D 3 =
{000, 001, 010, 011, 100, 101, 110, 111}. A notac
ao D representa o conjunto (infinito) de todas
as sequencias finitas de elementos de D. Por exemplo, no caso bin
ario, D = {0, 1},
D = {0, 1, 00, 01, 10, 11, 000, 001, ..., 111, 0000, 0001, 0010, ...}.
Assim, um c
odigo atribui a cada smbolo do alfabeto da fonte, X , uma sequencia finita de
smbolos de D.
21
22
CAPITULO 2. CODIFICAC
AO
C(b) = 10,
C(c) = 22,
C(d) = 2,
C(e) = 210.
(2.1)
l(b) = 2,
l(c) = 2,
l(d) = 1,
l(e) = 3.
2.1.2
C
odigos N
ao Singulares
Apresentam-se de seguida v
arias condic
oes a impor aos codigos por forma a serem utiliz
aveis.
A primeira, e mais fraca, condic
ao a impor a um c
odigo e que este seja n
ao singular; isto e,
que a func
ao C : X D seja injectiva:
(x1 6= x2 ) (C(x1 ) 6= C(x2 )),
(2.3)
onde x1 e x2 s
ao dois smbolos arbitr
arios de X . Esta condic
ao garante que se se enviar uma
palavra de c
odigo para um receptor, este pode descodific
a-la sem ambiguidade, isto e, pode
saber qual o smbolo da fonte que foi codificado. O c
odigo definido no Exemplo 2.1 e claramente
n
ao singular.
2.1. CODIGOS
2.1.3
23
C
odigos Univocamente Descodific
aveis
A condic
ao de n
ao singularidade, se bem que razo
avel, e em geral insuficiente se se pretender
usar o c
odigo para enviar, n
ao um u
nico smbolo, mas uma sequencia de smbolos. Ilustre-se
esta afirmac
ao com o exemplo seguinte.
Exemplo 2.3 Considere-se X = {a, b, c, d}, D = {0, 1}, e o c
odigo bin
ario C definido por
C(a) = 0,
C(b) = 1,
C(c) = 01,
C(d) = 10,
(2.4)
o qual e claramente n
ao singular. Ao receber-se, por exemplo, a sequencia 0110, n
ao e possvel
determinar se a sequencia de smbolos de fonte codificada foi cd, abba, abd, ou cab.
Para se evitar este tipo de ambiguidade, deve exigir-se ao c
odigo que seja univocamente
descodific
avel; esta condic
ao e formalizada no par
agrafo seguinte.
odigo C : X D. A
Seja x1 , ..., xn uma sequencia de n smbolos de X . Considere-se um c
extens
ao de ordem n do c
odigo C, denotada C n , e uma func
ao de X n para D definida pela
simples concatenac
ao das palavras de C, isto e,
C n (x1 , ..., xn ) = C(x1 ) C(x2 ) C(xn ).
Exemplo 2.4 A extens
ao de ordem 2 do c
odigo C definido no Exemplo 2.3 e
C 2 (aa) = C(a)C(a) = 00
C 2 (ab) = C(a)C(b) = 01
C 2 (ac) = C(a)C(c) = 001
C 2 (ad) = C(a)C(d) = 010
C 2 (ba) = C(b)C(a) = 10
C 2 (bb) = C(b)C(b) = 11
C 2 (bc) = C(b)C(c) = 101
C 2 (bd) = C(b)C(d) = 110
C 2 (ca) = C(c)C(a) = 010
C 2 (cb) = C(c)C(b) = 011
C 2 (cc) = C(c)C(c) = 0101
C 2 (cd) = C(c)C(d) = 0110
C 2 (da) = C(d)C(a) = 100
C 2 (db) = C(d)C(b) = 101
C 2 (dc) = C(d)C(c) = 1001
C 2 (dd) = C(d)C(d) = 1010
O c
odigo denotado C , a que se chama simplesmente extens
ao (sem ordem) do c
odigo C, e
obtido do mesmo modo mas considerando todos as sequencias de X de qualquer comprimento.
Um c
odigo C e dito univocamente descodific
avel se a sua extens
ao C for n
ao singular.
24
CAPITULO 2. CODIFICAC
AO
2.1.4
C
odigos Instant
aneos
b c| c...c...c
{z } b n par
cs
d c| c...c...c
{z } b n mpar.
n1
cs
2
n
2
25
2.2
Desigualdade de Kraft-McMillan
O objectivo de desenho de um c
odigo e, naturalmente, obter o menor comprimento medio
possvel. Como e
obvio, n
ao e possvel reduzir arbitrariamente o comprimento de todas as
palavras, mantendo o c
odigo instant
aneo; por exemplo, num c
odigo bin
ario, para um alfabeto
de fonte com mais de dois smbolos, se 0 for uma palavra de c
odigo, n
ao pode existir mais
nenhuma palavra com apenas um bit, pois todas as restantes palavras tem de comecar por
1 (para que 0 n
ao seja prefixo de nenhuma delas). Este facto e expresso formalmente pela
teorema de Kraft-McMillan, mais conhecido como desigualdade de Kraft-McMillan (DKM).
DKM: Seja C : X D um c
odigo, com um alfabeto de c
odigo D com D smbolos. Se C e
instant
aneo, os comprimentos das suas palavras verificam
X
Dl(x) 1.
(2.6)
xX
Dli 1,
i=1
existe um c
odigo D-
ario instant
aneo para um alfabeto com N smbolos, cujos comprimentos s
ao esses n
umeros.
Demonstra
c
ao 1: Seja lmax um n
umero maior ou igual ao comprimento m
aximo das palavras
do c
odigo, isto e,
lmax max{l(x), x X }.
Para uma dada palavra C(x), de comprimento l(x), o n
umero de palavras de comprimento
lmax que possuem C(x) como prefixo e
D(lmax l(x)) .
Para dois smbolos diferentes x1 e x2 , dado que o c
odigo e instant
aneo, os conjuntos das
palavras de comprimento lmax que possuem C(x1 ) e C(x2 ) como prefixos s
ao disjuntos.
l
max
Como o n
umero total de palavras de comprimento lmax e D
, tem-se que
X
xX
(2.7)
26
CAPITULO 2. CODIFICAC
AO
dividindo ambos os termos por Dlmax , obtem-se (2.6).
A implicac
ao reciproca resulta do facto de ser possvel associar, a cada c
odigo de prefixo,
uma
arvore D-
adica cujas folhas s
ao as palavras de c
odigo. Dado que o c
odigo e de
prefixo, existe um e um s
o caminho da raiz da
arvore ate cada uma das folhas. Para
esclarecer esta afirmac
ao, apresenta-se na figura 2.1 a
arvore correspondente ao c
odigo
instant
aneo definido por C(a) = 0, C(b) = 10, C(c) = 110, C(d) = 111. A descodificac
ao
de uma palavra de c
odigo corresponde a um trajecto da raiz ate uma das folhas, no qual
cada smbolo de c
odigo indica que ramo seguir a partir de cada n
o interior da
arvore.
0 = C(a)
10 = C(b)
110 = C(c)
111 = C(d)
2.3. CODIGOS
IDEAIS E CODIGOS
OPTIMOS
27
isto e,
(x) = 0.d1 (x) d2 (x) ... dl(x) (x) =
l(x)
X
di (x) Di .
i=1
xX
xX
2.3
C
odigos Ideais e C
odigos Optimos
28
CAPITULO 2. CODIFICAC
AO
{l (x), x X } = soluc
ao de
minimizar
l(x) p(x)
xX
ao
sob a restric
(2.8)
Dl(x) 1.
xX
Embora este problema se possa facilmente atacar usando a tecnica dos multiplicadores de
Lagrange (ver, por exemplo, [4]), pode usar-se uma abordagem indirecta baseada na desigualdade da informac
ao e formalizada na seguinte desigualdade.
Desigualdade Fundamental da Codifica
c
ao de Fonte: Seja uma uma fonte X, de alfabeto X , cujos smbolos s
ao emitidos com probabilidades {p(x), x X }. Qualquer c
odigo
cujos comprimentos verifiquem a desigualdade de Kraft-McMillan, ao ser usado para codificar essa fonte, apresenta um comprimento medio maior ou igual `
a entropia da fonte,
isto e,
!
!
X
Dl(x) 1
L(C) =
xX
(2.9)
xX
com igualdade se e s
o se l(x) = logD p(x), para todos os x X , e onde HD (X) denota
simplesmente a entropia calculada usando logaritmos de base D.
Demonstra
c
ao: Considere-se D = 2, por simplicidade; a demonstrac
ao e trivialmente modificada para qualquer valor de D > 1. Escreva-se L(C)H(X), que se pretende demonstrar
ser maior ou igual que zero,
L(C) H(X) =
p(x) l(x) +
xX
(2.10)
xX
Note-se que se pode escrever l(x) = log2 2l(x) ; introduzindo esta igualdade acima, vem
L(C) H(X) =
xX
xX
p(x) log
xX
p(x)
.
2l(x)
p(x) log
p(x) log
xX
xX
A p(x)
A 2l(x)
p(x)
2l(x)
A
xX
x X
p(x) log A.
2l(x ) ,
(2.11)
2.3. CODIGOS
IDEAIS E CODIGOS
OPTIMOS
29
Definindo-se q(x) = 2l(x) /A tem-se que q(x) 0, para todos os x X , bem como
X
1 X l(x)
q(x) =
2
= 1,
A xX
xX
pelo que pode interpretar-se o primeiro somat
orio em (2.11) como uma divergencia de
Kullback-Leibler. Assim,
=1
}|
X
p(x)
L(C) H(X) =
p(x) log
log A
p(x) 0,
q(x) | {z } xX
xX
X
{z
=DKL (pkq)0
}|
{z
2l(x)
= 2l(x) l(x) = log p(x),
A
(2.12)
para todos os x X .
A desigualdade que acabou de ser demonstrada fornece a soluc
ao para o problema enunciado
P
em (2.8). O menor valor possvel para xX p(x) l(x), sob a condic
ao que os l(x) verifiquem
a DKM e dado precisamente por (2.12). Estes comprimentos ser
ao designados ditos ideais e
denotados como
1
l (x) = log p(x) = log
.
(2.13)
p(x)
Por construc
ao, verificam a DKM, e conduzem a um valor esperado igual `
a entropia (como
se verificou na demonstrac
ao anterior). O motivo pelo qual se designam estes comprimentos
ao ser (em geral n
ao s
ao)
como ideais, e n
ao
optimos, e o seguinte: os valores l (x) podem n
n
umeros inteiros, pelo que n
ao e possvel construir palavras de c
odigo com esses comprimentos.
Ignorando, por momentos, esta restric
ao, deve observar-se que a interpretac
ao de (2.13) e
simples: aos smbolos mais prov
aveis atribuem-se palavras mais curtas e aos smbolos menos
prov
aveis correspondem palavras de c
odigo mais longas. Apenas e possvel construir um c
odigo
instant
aneo com comprimentos dados por l (x) se estes forem inteiros; isto sucede se e s
o se
todas as probabilidades p(x) forem potencias de 2 (ou de D, no caso dum alfabeto de c
odigo
D-
ario), necessariamente de expoente negativo, pois p(x) 1. Uma func
ao de probabilidade
em que todos os valores s
ao potencias de 2 diz-se di
adica (ou D-
adica, no caso geral).
Para obter comprimentos inteiros e necess
ario impor essa restric
ao adicional no problema
de optimizac
ao que conduz aos comprimentos do c
odigo o
ptimo:
minimizar
l(x) p(x)
xX
sob as restric
oes
Dl(x)
xX
(2.14)
30
CAPITULO 2. CODIFICAC
AO
A introducao da restric
ao adicional confere a este problema um car
acter combinat
orio, deixando,
como tal, de poder ser resolvido com ferramentas de an
alise de func
oes reais de vari
aveis reais
(recorde-se que, subjacentes `
a desigualdade da informac
ao, est
ao propriedades de convexidade
da func
ao logaritmo). A um c
odigo instant
aneo cujas palavras apresentam os comprimentos
optimos chama-se c
odigo
optimo e denota-se como C opt .
2.4
Limites para os C
odigos Optimos
xX
Dl
s (x)
D log p(x)
xX
Dlog p(x) =
xX
p(x) = 1.
xX
xX
<
xX
xX
= H(X) + 1,
p(x)
xX
(2.15)
devido `
a desigualdade z < z + 1, v
alida para qualquer real z.
Finalmente, pode estabelecer-se os limites inferior e superior para o comprimento medio do
c
odigo
optimo.
Limites Para o C
odigo Optimo:
O valor esperado do comprimento de um c
odigo instant
aneo
optimo verifica:
(2.16)
2.5. EXTENSOES
DE FONTE
31
Demonstra
c
ao: A desigualdade da esquerda e uma simples consequencia de C opt ser instantaneo, logo verificar a DKM e, consequentemente, possuir um valor esperado do
comprimento n
ao inferior `
a entropia da fonte. A segunda desigualdade e um simples
corol
ario de (2.15): de facto, se C opt e
optimo, o seu comprimento esperado n
ao pode
s
opt
s
exceder o de C (ou n
ao seria
optimo) donde L(C ) L(C ) < H(X) + 1.
Em conclus
ao, quer o c
odigo de Shannon C s , quer o c
odigo
optimo C opt , tem um valor
esperado de comprimento que se situa menos de 1 bit/smbolo acima da entropia da fonte. Este
excesso pode ser desprez
avel no caso de fontes de entropia elevada (definidas sobre alfabetos
grandes), mas pode ser relativamente grave no caso de fontes de baixa entropia (por exemplo,
com alfabetos pequenos). Esta observac
ao e relevante pois e f
acil demonstrar que existem fontes
cuja valor esperado do comprimento dos c
odigos
optimos est
ao arbitrariamente pr
oximos de
H(X) + 1.
Exemplo 2.9 Considere-se uma fonte com um alfabeto de apenas dois smbolos, X = {a, b}.
Existem apenas dois c
odigos bin
arios para esta fonte: c
odigo C1 , definido por C1 (a) = 0 e
C1 (b) = 1; c
odigo C2 , definido por C2 (a) = 1 e C2 (b) = 0. Dado que ambos tem valor esperado
do comprimento igual a 1, tem-se L(C opt ) = 1. Como a entropia de uma fonte com dois
smbolos pode ser arbitrariamente pr
oxima de zero (ver Figura 1.1), pode ter-se H(X) + 1
arbitrariamente pr
oximo de L(C opt ).
2.5
Extens
oes de Fonte
x1 X
xn X
onde p(x1 , ..., xn ) e a probabilidade da sequencia de smbolos (x1 , ..., xn ) e lnopt (x1 , ..., xn ) e o
comprimento da palavra de c
odigo
optimo para a sequencia de smbolos (x1 , ..., xn ). Como
qualquer outro c
odigo
optimo, Cnopt verifica (2.16), ou seja
H(X(n) ) L(Cnopt ) < H(X(n) ) + 1,
(2.17)
CAPITULO 2. CODIFICAC
AO
32
onde H(X(n) ) = H(X1 , ..., Xn ) e a entropia da fonte extendida. Pelo facto da fonte original
n
ao possuir mem
oria, e de todos os Xi possurem a mesma func
ao de probabilidade, verifica-se
que
H(X(n) ) = H(X1 , ..., Xn ) =
n
X
H(Xi ) = nH(X),
i=1
e, assim,
n H(X) L(Cnopt ) < n H(X) + 1.
(2.18)
1
,
n
(2.19)
1
1.1836
L(C2opt ) =
0.5918 bits/smbolo,
2
2
medido em bits por smbolo da fonte original. Note-se que este valor verifica H(X) = 0.3373
0.5918 < H(X) + 1/2 = 0.8373. Com a extens
ao, conseguiu-se passar a diferenca para a entropia de (10.3373) = 0.6627 bits/smbolo para apenas (0.59180.3373) = 0.2545 bits/smbolo.
2.6
33
Codificac
ao com Modelo Errado
Nesta secc
ao, estuda-se o impacto sobre o valor esperado do comprimento de codificac
ao do uso
de uma func
ao de probabilidade errada. Considere-se uma fonte de alfabeto X cuja func
ao de
probabilidade e p(x). Desenha-se um c
odigo C com comprimentos de Shannon baseados numa
func
ao de probabilidade q(x), n
ao necessariamente igual a p(x), ou seja l(x) = log q(x).
Usando o facto de que, para qualquer n
umero a, tem-se a a, pode concluir-se que
Lp (C) =
xX
p(x) log
1
q(x)
p(x) log
p(x)
q(x) p(x)
p(x) log
p(x) X
1
+
p(x) log
q(x) xX
p(x)
xX
xX
xX
(2.20)
xX
<
p(x)
p(x)
p(x) log
xX
xX
xX
1
log
+1
q(x)
log
p(x)
+1
q(x) p(x)
X
p(x) X
1
+
p(x) log
+
p(x)
q(x) xX
p(x) xX
(2.21)
2.7
Codificac
ao de Huffman
Nest secc
ao apresenta-se a soluc
ao do problema de optimizac
ao conducente aos comprimentos
do c
odigo optimo. Dado que se trata de um problema combinat
orio, pelo facto de se estar
sob a condic
ao de que os comprimentos devem ser n
umeros inteiros, n
ao e possvel aplicar as
CAPITULO 2. CODIFICAC
AO
34
habituais ferramentas do c
alculo (derivadas, multiplicadores de Lagrange, etc.) para deduzir
uma soluc
ao. E, no entanto, possvel apresentar uma soluc
ao e demonstrar que e
optima.
2.7.1
Algoritmo de Huffman
O algoritmo apresentado em seguida foi proposto por Huffman em 1952 [6], para resolver o
problema da codificac
ao
optima de uma fonte sem mem
oria, isto e, para resolver (2.14). Por
agora, considerar-se-
ao apenas c
odigos bin
arios, isto e, com D = {0, 1}; mais adiante serao
indicadas as diferencas para o caso de alfabetos de c
odigo de dimens
ao D arbitr
aria.
Considera-se uma fonte X emitindo smbolos de um alfabeto X = {x1 , ..., xN }, com probabilidades {p1 , ..., pN }. O algoritmo de Huffman pode ser dividido em duas partes.
Parte A: Repetem-se os seguintes passos:
Passo A.1: Ordenam-se os smbolos por ordem decrescente de probabilidade.
Passo A.2: Agrupam-se os dois smbolos menos prov
aveis num super-smbolo cuja
probabilidade e a soma das probabilidades dos dois smbolos agrupados (o alfabeto
resultante possui um smbolo a menos).
Passo A.3: Se o alfabeto resultante possui dois ou mais smbolos, volta-se ao Passo A.1;
caso contr
ario, est
a concluda a parte A.
Parte B: A Parte A do algoritmo produziu uma arvore bin
aria na qual as folhas (n
os sem
descendentes) correspondem aos smbolos da fonte. Basta agora percorrer a
arvore da
raiz at
a cada uma das folhas, atribuindo (de forma arbitr
aria) os smbolos 0 e 1 a
cada par de ramos com origem em cada n
o interno (n
ao folha) da
arvore.
No caso de existirem, em algum ponto do algoritmo, dois ou mais smbolos (ou supersmbolos) com o mesmo valor de probabilidade a ordenac
ao destes smbolos e arbitr
aria, sem
que isso tenha qualquer impacto no comprimento medio do c
odigo resultante.
Apresenta-se de seguida um exemplo. Considere-se o alfabeto X = {a, b, c, d}, com probabilidades, respectivamente, {0.1, 0.25, 0.2, 0.45}. O primeiro passo consiste em ordenar o
alfabeto por ordem decrescente de probabilidades; o resultado desta ordenac
ao e {d, b, c, a},
com probabilidades ordenadas {0.45, 0.25, 0.2, 0.1}. No passo A.1 agrupam-se os dois smbolos
menos provaveis, c e a, num super-smbolo (a, c) com probabilidade p(a) + p(c) = 0.1 + 0.2 =
0.3. Este passo est
a ilustrado na figura 2.2 (a); nesta figura, junto a cada n
o da
arvore bin
aria
que vai sendo construda est
a indicado qual o conjunto de smbolos que lhe corresponde e qual
a correspondente probabilidade total. O alfabeto resultante e {d, b, (a, c)}, com probabilidades
{0.45, 0.25, 0.3}, no qual os smbolos a e c do alfabeto original foram substitudos pelo supersmbolo (a, c). Dado que este alfabeto possui dois ou mais (neste caso tres) smbolos, volta-se
ao passo A.1. Reordenando o alfabeto obtem-se {d, (a, c), b}, com probabilidades ordenadas
{0.45, 0.3, 0.25}. Procede-se agora ao passo A.2, no qual se agrupam os smbolos de menor
probabilidade: (a, c) e b, num novo super-smbolo ((a, c), b). Este passo est
a ilustrado na
figura 2.2 (b). O alfabeto resultante e {d, ((a, c), b)}, com probabilidades {0.45, 0.55}. Reordenando e agrupando, obtem-se finalmente um alfabeto com apenas um smbolo {((a, c), b, d)},
DE HUFFMAN
2.7. CODIFICAC
AO
35
(((a,c),b), 0.55)
(((a,c),b), 0.55)
(d, 0.45)
((a,c), 0.3)
((a,c), 0.3)
((a,c), 0.3)
(b, 0.25)
(c, 0.2)
(a, 0.1)
(b, 0.25)
(c, 0.2)
(a, 0.1)
(c, 0.2)
(a, 0.1)
1 = C(d)
00 = C(b)
011 = C(c)
010 = C(a)
2.7.2
36
CAPITULO 2. CODIFICAC
AO
function C = huff(p)
N = length(p)
if N=2
C(1) = "0";
C(2) = "1";
else
[psorted , indices] = sort(p);
% the two smallest probabilities in p are
% psorted(1) and psorted(2) or, equivalently,
% p(indeces(1)) and p(indeces(2)).
% Their locations are indeces(1) and indeces(2).
% Now, we need to find which of these two positions
% is the leftmost, that is, appears first in p.
first = min(indeces(1),indeces(2));
second = max(indeces(1),indeces(2));
% Now we build a new vector of probabilities, called paux,
% with N-1 elements. The two smallest probabilities in p are added
% and stored in paux(first)
% Example: if p={0.2 0.1 0.2 0.05 0.2 0.25},
%
the two smallest probabilities are 0.1 and 0.05, and
%
paux = {0.2 0.15 0.2 0.2 0.25}
paux(first) = psorted(1) + psorted(2);
paux(1:first-1) = p(1:first-1);
paux(first+1:second-1) = p(first+1:second-1);
paux(second:N-1) = p(second+1:N);
% Now we ask for the Huffman code for the probabilities in paux.
% by calling the function huff itself. Heres the recursiveness!
Caux = huff(paux);
% Now, we have the Huffman code for the vector of probabilities paux.
% To obtain the Huffman code for the full vector p, we simply
% split the "super-symbol" into its two original components,
% and append "0" and "1" to their codewords.
C(1:second-1) = Caux(1:second-1);
C(first) = strcat(C(first),"0"));
C(second) = strcat(Caux(first),"1"));
C(second+1:N) = Caux(second:N-1);
endif
DE HUFFMAN
2.7. CODIFICAC
AO
37
2.7.3
Demonstrac
ao de Optimalidade
A demonstrac
ao de optimalidade dos c
odigos de Huffman suporta-se num lema auxiliar que de
seguida se apresenta e demonstra.
Lema 1: Considere-se um c
odigo C desenhado para uma fonte com um alfabeto de N smbolos,
X , emitidos com probabilidades {p1 , ..., pN }. Sejam {l1 , ..., lN } os comprimentos das palavras
desse c
odigo. Sem perda de generalidade (pois pode sempre reordenar-se os smbolos `
a partida),
considere-se que as probabilidades estao ordenadas por ordem decrescente, isto e, p1 p2
38
CAPITULO 2. CODIFICAC
AO
L(C) =
N
X
ln pn = K + li pi + lj pj ,
n=1
L(C ) =
N
X
ln pn = K + lj pi + li pj .
n=1
{z
>0
} | {z }
<0
mostrando que L(C ) < L(C) o que negaria a optimalidade de C, provando assim a
validade da implicac
ao.
b) Aos dois u
ltimos smbolos (na lista ordenada) correspondem palavras de igual comprimento,
isto e, lN 1 = lN .
Demonstra
c
ao: Comeca por mostrar-se que, necessariamente, lN 1 lN ; de facto, se pN 1 >
pN , ent
ao lN 1 lN , de acordo com a parte (a) do lema acima demonstrada; se pN 1 =
pN , ent
ao lN 1 lN , de acordo com as hip
otese do lema relativamente `
a ordem das
palavras de c
odigo associadas a smbolos de igual probabilidade. Uma vez demonstrado
que lN 1 lN , basta agora demonstrar que n
ao e possvel ter-se lN 1 < lN . Ora se lN 1 <
lN , como o c
odigo e, por hip
otese, instant
aneo, a palavra N 1 n
ao e prefixo da palavra
N ; como tal, podem truncar-se os bits em excesso mantendo o car
acter instant
aneo do
c
odigo, mas reduzindo o comprimento medio e assim negando a sua optimalidade. Isto
demonstra que n
ao se pode ter lN 1 < lN , o que conjugado com lN 1 lN mostra que
lN 1 = lN .
DE HUFFMAN
2.7. CODIFICAC
AO
39
CAPITULO 2. CODIFICAC
AO
40
outro c
odigo instant
aneo CN que e
optimo, como tal verificando L(CN ) < L(CN ). Se CN
e
optimo, verifica o Lema 1; assim, pela parte (b) do Lema 1, aos dois smbolos menos prov
aveis
O comprimento medio de CN
e
1
L(CN
1 ) = p1 l1 + p2 l2 + + (pN + pN 1 ) (lN 1 1)
L(CN
1 ) = p1 l1 + p2 l2 + + pN 1 lN 1 + pN lN (pN + pN 1 ),
{z
)
L(CN
{z
L(CN )
L(CN
1 ) L(CN 1 ) = L(CN ) (pN + pN 1 ) L(CN ) + (pN + pN 1 ) = L(CN ) L(CN ) < 0,
2.7.4
A modificac
ao do algoritmo de Huffman para alfabetos D-
arios e simples. Em vez de se agruparem os dois smbolos menos prov
aveis, agrupam-se os D smbolos menos prov
aveis. O resultado e uma arvore D-
aria da qual e possvel obter as palavras do c
odigo instant
aneo D-
ario
optimo. No entanto, existe um pequeno detalhe ao qual e importante prestar atenc
ao: e
necess
ario dispor, ate ao final do algoritmo (quando se atinge a raiz da arvore D-
aria), de
D smbolos para agrupar; se assim n
ao for, desperdicam-se palavras curtas (ou seja, palavras
junto `
a raiz da
arvore).
Ilustra-se o problema referido no par
agrafo anterior com um pequeno exemplo. Considere-se
uma fonte que emite smbolos do alfabeto {a, b, c, d}, com probabilidades {1/2, 1/4, 1/8, 1/8},
1
A),
onde P denota a negac
Recorde-se que (A B) (B
ao da proposic
ao P .
DE SHANNON-FANO-ELIAS
2.8. CODIFICAC
AO
41
n
ao
optimo, pois o c
odigo alternativo {C (a) = 1, C (b) = 2, C (c) = 01, C (d) = 02} e ainda
instant
aneo e tem menor comprimento medio. A origem do problema reside no facto de se
ter atingido o est
agio final do algoritmo apenas com 2 smbolos para agrupar; isto teve como
consequencia que uma palavra curta, neste exemplo simplesmente 2, n
ao p
ode ser usada.
A solucao para este problema e simples. Acrescentam-se ao alfabeto um conjunto de
palavras com probabilidade zero, por forma a garantir que seja possvel construir uma
arvore
D-
aria completa (isto e, na qual todos os n
os internos tem D descendentes) com esse n
umero
de folhas. No exemplo anterior, considere-se o novo alfabeto {a, b, c, d, e}, com probabilidades {1/2, 1/4, 1/8, 1/8, 0}. Da aplicac
ao directa do algoritmo de Huffman resulta agora
{C(a) = 0, C(b) = 1, C(c) = 20, C(d) = 21, C(e) = 22}. A palavra de c
odigo C(e) = 22 pode
ser descartada, pois a sua probabilidade de utilizac
ao e zero. O c
odigo restante e claramente
optimo.
2.8
Codificac
ao de Shannon-Fano-Elias
42
CAPITULO 2. CODIFICAC
AO
i
X
pj , para i = 1, 2, ..., N,
(2.22)
j=1
DE SHANNON-FANO-ELIAS
2.8. CODIFICAC
AO
pi
= Fi pi +
2
pi
= Fi .
2
43
(2.24)
F i+1 F i = Fi +
pi
pi + pi+1
> 0.
2
(2.25)
(2.26)
(2.27)
(2.29)
que representa o n
umero a truncado para possuir apenas l dgitos fraccion
arios 2 . Assim, pode
escrever-se
C(xi ) = digitos de F i li .
(2.30)
Recorde-se que todos os n
umeros F i s
ao menores que 1, pelo que todos possuem escritas da
forma F i = 0.d1 d2 , possivelmente com um n
umero infinito de dgitos; naturalmente, na
palavra de c
odigo n
ao se inclui o zero `a esquerda do ponto, pelo que C(xi ) = d1 d2 dli .
Antes de demonstrar que esta escolha conduz, de facto, a um codigo instant
aneo, apresentamse de seguida dois exemplos: um para um c
odigo decimal e outro para um c
odigo bin
ario.
2
Por exemplo, no caso decimal, 2 = 3.14 e 1.283893 = 1.283. Ainda no caso decimal, observe-se
que, de facto, al = 10l 10l a; por exemplo, 102 102 41.48597 = 102 4148.597 = 102 4148 = 41.48 =
41.485972 .
Numa base arbitr
aria b (por exemplo 2), a definic
ao (2.29) generaliza-se para al = bl bl a. Por exemplo,
0.10010010104 = 0.1001.
CAPITULO 2. CODIFICAC
AO
44
Exemplo 2.11 Considere-se uma fonte que gera smbolos do alfabeto X = {x1 , x2 , ..., x10 , x11 }
com probabilidades {1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256, 1/512, 1/1024, 1/1024}. Na
tabela seguinte, apresentam-se os valores de F i , os comprimentos li e as correspondentes
palavras do c
odigo de SFE decimal. Note-se que, contrariamente ao que se passa com a codificaca
o de Huffman, o c
odigo de SFE para uma dada fonte e u
nico.
i
pi
log10 pi
li
Fi
C(xi )
1
2
3
4
5
6
7
8
9
10
11
0.50000000000
0.25000000000
0.12500000000
0.06250000000
0.03125000000
0.01562500000
0.00781250000
0.00390625000
0.00195312500
0.00097656250
0.00097656250
0.3010
0.6020
0.9030
1.2041
1.5051
1.8061
2.1072
2.4082
2.7092
3.0102
3.0102
2
2
2
3
3
3
4
4
4
5
5
0.250000000000
0.625000000000
0.812500000000
0.906250000000
0.953125000000
0.976562500000
0.988281250000
0.994140625000
0.997070312500
0.998535156250
0.999511718750
25
62
81
906
953
976
9882
9941
9970
99853
99951
pi
log2 pi
li
Fi
(F i )(2)
1
2
3
4
5
6
7
8
9
10
11
0.50000000000
0.25000000000
0.12500000000
0.06250000000
0.03125000000
0.01562500000
0.00781250000
0.00390625000
0.00195312500
0.00097656250
0.00097656250
1
2
3
4
5
6
7
8
9
10
10
2
3
4
5
6
7
8
9
10
11
11
0.250000000000
0.625000000000
0.812500000000
0.906250000000
0.953125000000
0.976562500000
0.988281250000
0.994140625000
0.997070312500
0.998535156250
0.999511718750
0.0100000000000
0.1010000000000
0.1101000000000
0.1110100000000
0.1111010000000
0.1111101000000
0.1111110100000
0.1111111010000
0.1111111101000
0.1111111110100
0.1111111111100
C(xi )
01
101
1101
11101
111101
1111101
11111101
111111101
1111111101
11111111101
11111111111
DE SHANNON-FANO-ELIAS
2.8. CODIFICAC
AO
45
bin
aria da fonte e 1.9980 bits por smbolo.
A ttulo de comparaca
o, apresenta-se na tabela seguinte um c
odigo bin
ario o
ptimo (de Huffman) para esta fonte, cujo comprimento medio e 1.9980 bits/smbolo, precisamente igual a
`
entropia, pois a distribuica
o de probabilidadades da fonte e di
adica (todas as probabilidades s
ao
potencias de 2).
pi
1
2
3
4
5
6
7
8
9
10
11
0.50000000000
0.25000000000
0.12500000000
0.06250000000
0.03125000000
0.01562500000
0.00781250000
0.00390625000
0.00195312500
0.00097656250
0.00097656250
C opt (xi )
0
10
110
1110
11110
111110
1111110
11111110
111111110
1111111110
1111111111
(2.31)
li = log2 pi + 1
(2.32)
com
conduz, de facto, a um c
odigo instant
aneo. Para tal, usa-se a relac
ao entre palavras de c
odigo
e sub-intervalos de [0, 1[ (anteriormente usado na Secc
ao 2.2, na Demonstrac
ao 2). No caso
presente, o intervalo associado `
a palavra de c
odigo C(xi ) e
h
I(xi ) = F i li , F i li + 2li ,
pois C(xi ) tem li dgitos (bits). Para que o c
odigo seja instant
aneo, e necess
ario e suficiente que
todos os intervalos I(xi ), I(x2 ), ..., I(xN ) sejam disjuntos. Para confirmar que os intervalos
s
ao, de facto, disjuntos, considerem-se dois intervalos genericos consecutivos: I(xi ) e I(xi+1 ).
Estes intervalos s
ao disjuntos se o limite direito de I(xi ) (isto e, F i li + 2li ) for estritamente
menor do que o limite esquerdo de I(xi+1 ) (isto e, F i+1 li+1 ), ou seja, e necess
ario mostrar
que
F i li + 2li F i+1 li+1 < 0.
(2.33)
Considerando a primeira parcela de (2.33), pode verificar-se que
F i li + 2li
F i + 2li
(2.34)
CAPITULO 2. CODIFICAC
AO
46
= F i + 2( log2 pi +1)
1
= F i + 2 log2 pi
2
1
F i + 2( log2 pi )
2
pi
= Fi + ,
2
(2.35)
(2.36)
(2.37)
(2.38)
(2.39)
(2.40)
pi
pi+1
pi + pi+1
F i+1 +
= F i F i+1 +
= 0,
{z
}
|
2
2
2
(2.41)
(2.42)
c
odigo de Shannon-Fano-Elias aproxima-se arbitrariamente do valor da entropia da fonte. E
neste sentido que se deve entender a afirmac
ao avancada no incio desta secc
ao de que a codificac
ao de SFE e quase
optima.
3
Veja-se, no caso decimal, que al > a 10l ; por exemplo, a diferenca entre qualquer n
umero da forma
0.314 e 0.314 e menor que 0.001.
ARITMETICA
2.9. CODIFICAC
AO
2.9
47
Codificac
ao Aritm
etica
A codificacao aritmetica4 pode ser vista simplesmente como uma forma eficiente de implementar
a codificacao de Shannon-Fano-Elias, no caso de extens
oes de ordem elevada de fontes sem
mem
oria.
Considere-se uma fonte sem mem
oria, emitindo smbolos do alfabeto X , com probabilidades {p(x), x X }. Pretende codificar-se uma sequencia de n smbolos gerados por esta
fonte, (x1 , x2 , ..., xn ), usando codificac
ao de Shannon-Fano-Elias. Para tal, como descrito na
secc
ao anterior, basta calcular p(x1 , x2 , ..., xn ) (ou seja pi , na notac
ao da secc
ao anterior) e
ao anterior). Com Fi e pi , pode calcular-se F i ,
F (x1 , x2 , ..., xn ) (ou seja, Fi , na notacao da secc
usando (2.24) e li = log pi + 1; conhecidos F i e li , pode obter-se a palavra de c
odigo de SFE
atraves de (2.30). No caso de uma fonte sem mem
oria, p(x1 , x2 , ..., xn ) = p(x1 ) p(x2 ) p(xn ).
Note-se que na definic
ao de F (x1 , x2 , ..., xn ) est
a implcita uma ordenac
ao de conjuntos
de smbolos do alfabeto, pois, por definic
ao (ver (2.22))
X
F (x1 , ..., xn ) =
p(x1 , ..., xn ).
A relac
ao de ordem usada em (x1 , ..., xn ) (x1 , ..., xn ) e a chamada ordem lexicogr
afica;
esta, por sua vez, suporta-se numa relac
ao de ordem para os smbolos do alfabeto, ou seja, o
alfabeto X deve ser visto como um conjunto ordenado de smbolos, para os quais a relac
ao a < b
significa que a surge primeiro no alfabeto do que b. A ordem lexicogr
afica e uma generalizacao
da habitual ordem alfabetica, definida por
(x1 , ...,
xn )
xi = xi i < m
xm < xm
Por outras palavras, uma sequencia de smbolos (x1 , ..., xn ) e dita menorque (ou que est
a`
a
esquerda de) um outra (x1 , ..., xn ) se forem identicas ate uma determinada posic
ao m 1 e,
na primeira posic
ao, m, em que diferem, o smbolo xm for menor(na ordem do alfabeto) do
que xm ; a ordem entre os smbolos seguintes e irrelevante.
Exemplo 2.13 Um pequeno exemplo ajudar
a a tornar o conceito mais claro. Considere-se o
alfabeto X = {a, b, c, d}, com a ordem implcita a < b < c < d. A sequencia (ababcbcbda) e
menorque (abadaadccb) pois os 3 primeiros smbolos s
ao iguais, (aba); no primeiro smbolo
em que as duas sequencias diferem (o quarto), o smbolo da primeira sequencia, b, e menordo
que o smbolo na mesma posica
o na segunda sequencia, d.
A ideia central da codificac
ao aritmetica e de que e possvel calcular F (x1 , x2 , ..., xn )
e p(x1 , x2 , ..., xn ) atraves de um procedimento (aritmetico) simples de sucessivas partic
oes
de subintervalos de [0, 1[. Para simplificar a escrita formal do algoritmo, considera-se que o
alfabeto e {1, 2, ..., N }, sem qualquer perda de generalidade, dado que se tinha j
a assumido
4
48
CAPITULO 2. CODIFICAC
AO
Note-se que os N subintervalos sao definidos por N + 1 pontos, pois o limite esquerdo de
um subintervalo e igual ao limite direito do subintervalo seguinte. Assim, se se convencionar que p(0) = 0, pode escrever-se uma express
ao generica para o subintervalo Ii , da
forma Ii = [Li , Ri [= [Ti , Ti+1 [, com
Ti = L + (R L)
i1
X
p(j).
j=0
i
X
j=0
p(j) L (R L)
i1
X
p(j) = (R L)p(i).
j=0
ARITMETICA
2.9. CODIFICAC
AO
49
[L, R[
T1
T2
T3
T4
T5
xt
novo [L, R[
RL
1
2
3
4
5
6
7
[0, 1[
[0, .4[
[0, .16[
[.064, .12[
[.064, .0864[
[.08461, .0864[
[.08584, .086176[
0
0
0
.064
.064
.08461
.08584
.4
.16
.064
.0864
.07296
.085056
.0859744
.75
.3
.12
.106
.0808
.08584
.086092
.85
.36
.144
.1144
.08461
.086176
.0861424
1.0
0.4
.16
.12
.0864
.0864
.086176
1
1
2
1
4
3
2
[0, .4[
[0, .16[
[.064, .12[
[.064, .0864[
[.08461, .0864[
[.08584, .086176[
[.0859744, .086092[
.4
.16
.056
.0224
.00224
.000336
0.0001176
0.0001176
= 0.0860332.
2
Em base 2, este n
umero escreve-se
F (1, 1, 2, 1, 4, 3, 2) = 0.0860332(10) = 0.0001011000000110010001...(2) ,
pelo que a palavra de c
odigo se obtem tomando os primeiros 15 dgitos,
C(1, 1, 2, 1, 4, 3, 2) = 000101100000011.
Note-se que, para obter a palavra de Huffman para esta sequencia, seria necess
ario desenhar
7
um c
odigo de Huffman para um alfabeto extendido com 4 = 16384 smbolos.
50
CAPITULO 2. CODIFICAC
AO
Captulo 3
Processos Estoc
asticos Discretos em Tempo Discreto
(3.1)
(3.3)
CAPITULO 3. FONTES DISCRETAS COM MEMORIA
52
(3.4)
3.2
Processos Estacion
arios
(3.5)
3.3
3.3.1
Processos de Markov
Introduc
ao
O conceito de processo de Markov vai finalmente permitir caracterizar processos definidos num
intervalo de tempo infinito com um conjunto finito de probabilidades. Por este motivo, esta
classe de processos e extremamente utilizada em muitas
areas tecnicas e cientficas, tais o
controlo, o processamento de sinais, a fsica, a economia, a biologia; ao estudante interessado
num estudo mais aprofundado dos processos de Markov, sugere-se o excelente livro [3]. Os
processos de Markov discretos em tempo discreto (os u
nicos focados neste texto, pois s
ao os de
interesse como modelos de fontes discretas com mem
oria) sao geralmente designados de cadeias
de Markov (Markov chains).
Um processo X = {X1 , X2 , ..., Xt , ...} e dito de Markov (ou markoviano) de ordem n se
verificar a seguinte propriedade:
P (Xt = xt |Xt1 = xt1 , Xt2 = xt2 , ..., X1 = x1 ) = P (Xt = xt |Xt1 = xt1 , ..., Xtn = xtn ) ,
(3.6)
53
para qualquer sequencia (x1 , ..., xt ) X t . Por palavras, um processo e markoviano de ordem n
se a probabilidade do smbolo emitido num instante t, dado todo o passado, for apenas funcao
de um passado recente de durac
ao n. O caso particular de n = 1, dito processo markoviano de
primeira ordem, no qual
P (Xt = xt |Xt1 = xt1 , Xt2 = xt2 , ..., X1 = x1 ) = P (Xt = xt |Xt1 = xt1 ) ,
(3.7)
3.3.2
(3.8)
qualquer que seja a sequencia (x1 , ..., xn+1 ) X (n+1) , designa-se um processo de Markov
invariante no tempo.
Exemplo 3.1 Considere-se um processo de Markov de ordem 3, definido no alfabeto X =
{a, b, c}. Se o processo for invariante no tempo, verifica-se que
P (X4 = a|X3 = c, X2 = b, X1 = a) = P (X34 = a|X33 = c, X32 = b, X31 = a)
= P (X269 = a|X268 = c, X267 = b, X266 = a)
= P (Xk+4 = a|Xk+3 = c, Xk+2 = b, Xk+1 = a),
para qualquer valor de k. Ou seja, a probabilidade de a fonte emitir o smbolo a ap
os ter
emitido a sequencia abc e a mesma em qualquer instante de tempo.
Um processo de Markov de ordem 1 invariante no tempo fica completamente caracterizado
por um conjunto de N N probabilidades (designadas probabilidades de transi
c
ao)
P (X2 = j|X1 = i),
(3.9)
para i, j X = {1, ..., N }, e pelas probabilidades iniciais P (X1 = k), para k X . Habitualmente escreve-se este conjunto de probabilidades sob a forma de uma matriz P, dita matriz
de transi
c
ao, cujo elemento (i, j) e dado por
Pi,j = P (X2 = j|X1 = i).
(3.10)
CAPITULO 3. FONTES DISCRETAS COM MEMORIA
54
Esta matriz possui a propriedade de que todos os elementos pertencem ao intervalo [0, 1] (pois
s
ao probabilidades) e os elementos de qualquer linha somam 1,
N
X
Pi,j = 1,
j=1
pois
N
X
Pi,j =
j=1
N
X
P (X2 = j|X1 = i) = 1.
j=1
Uma matriz que verifica estas propriedades designa-se uma matriz estoc
astica. As probabilidades iniciais agrupam-se num vector p(1), cujos elementos s
ao
p1 (1)
p2 (1)
..
.
pN (1)
P (X1 = 1)
P (X1 = 2)
..
.
P (X1 = N )
verificando, obviamente,
N
X
pi (1) = 1.
i=1
Qualquer func
ao de probabilidade conjunta, para um conjunto de instantes consecutivos com
{1, 2, ..., t} se pode escrever com base nestas probabilidades. De facto, uma simples aplicacao
da lei de Bayes e da propriedade de markovianidade de ordem 1 (ver (3.7)) permite escrever
P (Xt = xt , ..., X1 = x1 ) = P (Xt = xt |Xt1 = xt1 , ..., X1 = x1 ) P (Xt1 = xt1 , ..., X1 = x1 )
= P (Xt = xt |Xt1 = xt1 ) P (Xt1 = xt1 , ..., X1 = x1 ).
Repetindo o procedimento de modo recursivo, obtem-se
P (Xt = xt , ..., X1 = x1 ) = p(X1 = x1 )
t
Y
u=2
t
Y
u=2
t
Y
Pxu1 , xu .
u=2
Exemplo 3.2 Considere-se um processo de Markov de primeira ordem, definido num alfabeto
X = {1, 2, 3}, com matriz de transica
o P, de dimens
ao 33, e vector de probabilidades iniciais
p(1), de dimens
ao 3 1. A probabilidade de se observar a sequencia (3, 1, 3, 3, 2, 1), a partir
do instante 1, e
P (X1 = 3, X2 = 1, X3 = 3, X4 = 3, X5 = 2, X6 = 1) = p3 (1) P3,1 P1,3 P3,3 P3,2 P2,1 .
55
XXXX
P (X1 = x1 , X2 = x2 , X3 = x3 , X4 = 1, X5 = x5 , X6 = 3)
x1 x2 x3 x5
XXXX
x1 x2 x3 x5
E comum representar-se uma cadeia de Markov de ordem 1 com auxilio de um grafo, em que
cada n
o corresponde a um dos smbolos da fonte (que no caso de ordem 1, coincide com o estado
da fonte). Entre cada par de n
os, existe um arco dirigido, etiquetado com a probabilidade da
respectiva transic
ao. Habitualmente, omitem-se os arcos associados a probabilidades nulas. O
exemplo seguinte ilustra a construc
ao deste grafo para um caso simples.
Exemplo 3.4 Considere-se uma fonte de Markov de primeira ordem, com quatro estados/smbolos
X = {1, 2, 3, 4}, cuja matriz de transica
o e
P=
0.1
0.45
0
0.5
0.2 0 0.35
.
0.2 0
0.8
0.5 0
0
CAPITULO 3. FONTES DISCRETAS COM MEMORIA
56
0.45
0.1
0.2
0.3
0.5
0.4
0.35
0.2
0.5
0.8
0.2
P=
0.1
0.6
0.3
1.0
0.9
0.4
0.7
0.0
.
P =
57
0.9
0.1
1,2
1,1
0.7
0.6
0.3
2,1
0.4
2,2
1.0
3.3.3
Distribuic
ao dos Estados e Distribui
c
ao Estacion
aria
N
X
j=1
N
X
pj (1) Pj,i ,
j=1
p(2) =
p1 (2)
p2 (2)
..
.
pN (2)
N
X
j=1
N
X
=
j=1
..
N
X
X
pj (1) Pj,1
j=1
X
N
=
pj (1) Pj,2
j=1
N
.X
.
.
pj (1) Pj,N
j=1
= PT p(1),
CAPITULO 3. FONTES DISCRETAS COM MEMORIA
58
ou seja, a distribuic
ao no instante 2 obtem-se multiplicando o vector da distribuic
ao no instante
1 pela transposta da matriz de transic
ao. Naturalmente, este facto pode generalizar-se para
qualquer par de instantes consecutivos,
p(t + 1) = PT p(t).
(3.11)
(3.12)
(3.13)
"
p() =
Uma cadeia de Markov diz-se irredutvel se for possvel transitar, num intervalo de tempo
(discreto) finito, de qualquer estado, para qualquer estado. Formalmente, uma cadeia de
Markov diz-se irredutvel se, para qualquer par de estados i 6= j {1, ..., N }, existe um inteiro
t, finito, tal que
Pt
> 0.
i,j
Pt
i,j
59
3.4
Taxas de Entropia
1
H(X1 , X2 , ..., Xt ),
t
(3.14)
H(X) =
lim
(3.15)
quando o limite existe. Tambem este conceito de entropia coincide com a definic
ao de entropia
de uma vari
avel aleat
oria, no caso de uma fonte sem mem
oria. Numa fonte sem mem
oria, pela
propriedade de independencia, tem-se H(Xt |Xt1 , ..., X1 ) = H(Xt ); como todas as vari
aveis
1
A demonstrac
ao deste resultado, baseado no famoso teorema de Perron-Frobenius, est
a para l
a do
ambito
deste texto; o leitor interessado pode encontrar mais detalhes em [3], ou em qualquer bom livro sobre processos
de Markov.
CAPITULO 3. FONTES DISCRETAS COM MEMORIA
60
ao igualmente distribudas, vem H(Xt |Xt1 , ..., X1 ) = H(Xt ) = H(X), pelo que
aleat
orias Xt s
H (X) = H(X).
Uma propriedade fundamental destes dois conceitos de entropia e a sua existencia e igualdade, no caso dos processos estacion
arios:
X e estacion
ario H (X) existe e H (X) = H(X).
A demonstrac
ao desta propriedade divide-se em dois passos:
Exist
encia de H (X): Para demonstrar este facto (para X estacion
ario), comeca por verificarse que, pelo facto de o condicionamento reduzir a entropia,
H(Xt |Xt1 , ..., X1 ) H(Xt |Xt1 , ..., X2 );
(3.16)
(3.17)
(3.18)
pelo que
Assim, a sequencia H(Xt |Xt1 , ..., X1 ) e monotonicamente decrescente com t; como
tambem se verifica que H(Xt |Xt1 , ..., X1 ) 0, tem-se uma sequencia decrescente e
limitada por baixo, logo convergente. Em conclus
ao, o limite que define H (X) existe.
Igualdade de H(X) e H (X): A demonstrac
ao deste resultado suporta-se no teorema da
media de Ces`
aro (demonstrado no Apendice A), o qual afirma o seguinte: seja an uma
sequencia de n
umeros reais e bn uma sequencia definida a partir de an como
bn =
n
1X
ai ,
n i=1
lim bn = a.
(onde H(X1 |X0 ) significa simplesmente H(X1 )). Usando esta decomposic
ao na definicao
de H(X),
1
H(Xt , ..., X1 )
t t
t
1X
= lim
H(Xs |Xs1 , ..., X1 )
t t
s=1
H(X) =
lim
= H (X),
em que a terceira igualdade resulta directamente to teorema da media de Ces`
aro.
(3.19)
61
(3.20)
(3.21)
t
t
= H(X2 |X1 ),
onde a igualdade (3.20) resulta da propriedade de Markov de primeira ordem e a igualdade
(3.21) resulta do facto do processo ser estacion
ario. A taxa de entropia condicional de um
processo de Markov de primeira ordem estacion
ario pode ent
ao escrever-se em termos da matriz
de transic
ao e da distribuic
ao estacion
aria. Usando a definic
ao de entropia condicional (ver
(1.10)),
H (X) = H(X2 |X1 ) =
=
iX
N
X
i=1
N
X
i=1
N
X
i=1
pi (1)
N
X
j=1
pi ()
N
X
(3.22)
j=1
H(, 1 ) +
H(, 1 ),
+
+
CAPITULO 3. FONTES DISCRETAS COM MEMORIA
62
P=
0
1/3
1/3
1/3
1/2
1/3
1/3
1/3
1/2
1/2
1/3
1/3
1/3
0
1/3
1/3
1/3
1/2
1/2
1/3
1/3
1/3
1/2
1/3
1/3
1/3
0
P =
0 1/2 1/2 0
0
0
0
0
0
0
0
0 1/3 1/3 1/3 0
0
0
0
0
0
0
0
0 1/3 1/3 1/3
0
0
0 1/2 0 1/2 0
0
0
0
0
0
0
0
0 1/3 1/3 1/3
0
0
0 1/3 1/3 1/3 0
0
0
0
0
0
0
0
0 1/2 1/2 0
3.5
1
3 + 6 log2 3
(3 H(1/2, 1/2) + 6H(1/3, 1/3, 1/3)) =
= 1.39 bits/smbolo.
9
9
Codificac
ao de Fontes com Mem
oria
O desenho de c
odigos
optimos para fontes com mem
oria resume-se ao desenho de c
odigos
optimos para a distribuic
modela a fonte. E
obvio que o limite inferior para o comprimento medio do c
odigo assim
obtido e a taxa de entropia condicional, como ilustrado no exemplo seguinte.
Exemplo 3.10 Retomando o exemplo 3.9, considere-se o problema de desenhar um esquema
de codificaca
o o
ptimo para a fonte descrita. Por observaca
o da matriz P, constata-se que, em
6 dos 9 estados, a fonte se comporta como uma fonte tern
aria na qual os tres smbolos {a, b, c}
3.5. CODIFICAC
AO
63
s
ao equiprov
aveis. Nos restantes 3 estados, a fonte comporta-se como uma fonte bin
aria, na
qual os dois smbolos possveis s
ao equiprov
aveis. Assim, a codificaca
o o
ptima consiste em usar
o seguinte conjunto de c
odigos.
C
odigos
optimos
smbolos anteriores
aa
ab
ac
ba
bb
bc
ca
cb
cc
0
0
0
0
0
0
0
0
smbolo
b
c
0
1
10 11
10 11
10 11
1
10 11
10 11
10 11
1
5
6 + 3 1.4444 bits/smbolo,
3
64
Ap
endice A
Demonstrac
ao do Teorema da M
edia
de Ces`
aro
Seja an uma sequencia de n
umeros reais e bn uma sequencia definida a partir de an como
bn =
n
1X
ai ,
n i=1
aro afirma
isto e, a media dos n primeiros termos da sequencia an . O teorema da media de Ces`
que
lim an = a lim bn = a.
n
Demonstra
c
ao: O facto de an convergir para a e equivalente a
>0 N () : n N () |an a| < ,
isto e, para qualquer vizinhanca de a, arbitrariamente pequena, existe um ponto da sequencia
an a partir do qual todos os termos pertencem a esta vizinhanca.
Para demonstrar o teorema da media de Ces`
aro e necess
ario demonstrar uma implicacao
semelhante para a sequencia bn . Para tal, toma-se um valor arbitrariamente pequeno > 0 e
o correspondente N () e escreve-se, para n > N (),
|bn a| =
n
1 X
(ai a)
n i=1
n
1X
|ai a|
n i=1
N ()
n
1 X
1 X
|ai a| +
|ai a|.
n i=1
n N ()+1
N ()
n
1 X
1 X
|ai a| +
.
n i=1
n N ()+1
65
66
DO TEOREMA DA MEDIA
`
APENDICE
A. DEMONSTRAC
AO
DE CESARO
N ()
1 X
n N ()
.
|ai a| +
n i=1
n
N ()
1 X
|ai a| + .
n i=1
(A.1)
PN ()
Note-se que, para um dado N (), a quantidade A() = i=1 |ai a| e uma constante independente de n. Assim, dado um valor > 0 arbitrariamente pequeno, tome-se = /2; daqui
resulta
|bn a| <
1
A() + /2.
n
(A.2)
Finalmente,
n
2
A() |bn a| < .
Bibliografia
[1] R. Ash, Information Theory. New York: Dover Publications, 1965.
[2] R. Ayres, Information, Entropy, and Progress: A New Evolutionary Paradigm. New York:
Springer Verlag, 1994.
[3] P. Bremaud, Markov Chains. Springer Verlag, 1999.
[4] T. Cover and J. Thomas, Elements of Information Theory. New York: John Wiley &
Sons, 1991.
[5] K. Eckschlager, Information Theory in Analytical Chemistry. New York: Wiley, 1994.
[6] D. Huffman, A method for the construction of minimum redundancy codes,Proceedings
of the IRE, vol. 40, pp. 10981101, 1952.
[7] S. Kullback, Information Theory and Statistics. New York: John Wiley & Sons, 1959.
[8] M. Li and P. Vitanyi, An Introduction to Kolmogorov Complexity and its Applications.
New York: Springer Verlag, 1997.
[9] F. Rieke, Exploring the Neural Code. Cambridge, M.A.: MIT Press, 1997.
[10] C. E. Shannon, A mathematical theory of communication, Bell Systems Technical Journal, vol. 27, pp. 379423, 623656, 1948.
[11] T. Stonier, Information and the Internal Structure of the Universe: an Exploration into
Information Physics. New York: Springer Verlag, 1990.
[12] H. Yockey, Information Theory and Molecular Biology. Cambridge: Cambridge University
Press, 1992.
67