SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
1
Teoria Matemática da Comunicação 5 - 1CCISEL 99
Criptografia Computacional
Sessão nº5
Redundância e Introdução à
Codificação de Fonte
Teoria Matemática da Comunicação 5 - 2CCISEL 99
Criptografia Computacional
Redundância num conjunto binário
• Considere um conjunto binário onde a probabilidade
de um dos textos em claro é p. Quando é que existe
redundância?
– Porque temos de usar pelo menos um símbolo para
representar cada um dos textos então sempre que as
suas probabilidades determinarem uma entropia
diferente de 1 existe redundância na representação
destes textos
Nota: a entropia é uma medida da quantidade de informação média
necessária para descrever os textos
2
Teoria Matemática da Comunicação 5 - 3CCISEL 99
Criptografia Computacional
Redundância num conjunto quaternário
• Dado o conjunto de 4 textos em claro onde p(a)=0,5
p(b)=0,25 , p(c)=0,125 e p(d)=0,125 (logo H(P)=1,75)
quando é que existe redundância?
– Usando 2 dígitos binários na representação dos
textos existe redundância porque a quantidade de
informação necessária em média para os descrever
é 1,75 bits.
Teoria Matemática da Comunicação 5 - 4CCISEL 99
Criptografia Computacional
Redundância duma linguagem
• Seja L uma linguagem natural. Define-se
redundância de L como sendo
RL = 1- ( H(L) / ( N × log2 |P| ))
– H(L) representa a entropia do conjunto dos textos de L
ou a quantidade de informação média contida em cada
letra dum texto “com significado”.
– N é o número médio de símbolos usados para representar
os textos de L.
– |P| é a dimensão do alfabeto usado na representação dos
textos de L.
3
Teoria Matemática da Comunicação 5 - 5CCISEL 99
Criptografia Computacional
Redundância do Inglês
• Seja |P|=26 a dimensão do alfabeto; então um texto
pode ser representado com 1 símbolo de P (letra),
logo a quantidade de informação média associada a
cada letra é 1 × log2 26 ≈ 4,7 [bit] (numa sequência
aleatória com letras equiprováveis).
• Considerando o valor empírico H(L) ≈1,25 [bit/letra]
vem
RL = 1- ( 1,25 / (1 × log2 26))
≈ 1 - (1,25/4,7) ≈ 0,75
Teoria Matemática da Comunicação 5 - 6CCISEL 99
Criptografia Computacional
Entropia duma linguagem
• Seja L uma linguagem natural. Define-se entropia
de L como sendo
H(L) = lim n→∞ H(Pn) / n [bit/letra]
– Pn representa uma v.a. que tem como distribuição de
probabilidades a distribuição que se observa para os
n-gramas do texto
4
Teoria Matemática da Comunicação 5 - 7CCISEL 99
Criptografia Computacional
Entropia do Português e do Inglês (estimativas)
Ficheiro H(X) H(X,Y)/2 H(X,Y,Z)/3
pt.z26 3,980 3,678 3,282
trab.z26 4,081 3,780 3,416
tese22.z26 4,018 3,724 3,391
média (PT) 4,026 3,727 3,363
devices.z26 4,221 3,918 3,562
history3.z26 4,246 3,966 3,614
appnote.z26 4,176 3,825 3,382
bertrand.z26 4,159 3,835 3,510
média (UK) 4,201 3,886 3,517
ref. Stinson 4,190 3,900 -
rand.z26 4,700 4,700 4,696
Teoria Matemática da Comunicação 5 - 8CCISEL 99
Criptografia Computacional
Análise do sistema One Time Pad de Vernam
H(K|C) = H(P) + H(K) - H(C) ?
a
b
1
2
Dados:
p(a) = 1/4, p(b) = 3/4
P(k1) = 1/2, p( k2 ) = 1/2
Verifica-se que
H(P) ≈ 0,81 [bit/texto]
H(K) = 1 [bit/chave]
H(C) = 1 [bit/cripto]
k2
k2
k1
k1
H(K|C) ≈ 1 + 0,81 - 1 ≈ 0,81 é menor !!!
• Mas se maximizarmos H(P) temos que H(K|C)=H(K)
5
Teoria Matemática da Comunicação 5 - 9CCISEL 99
Criptografia Computacional
Conceitos básicos da Teoria da Informação
– Medida de quantidade de informação (entropia).
– Capacidade de informação dum canal.
– Codificação:
• codificação de fonte
• [cifra]
• codificação de canal
Teoria Matemática da Comunicação 5 - 10CCISEL 99
Criptografia Computacional
Modelo de fonte discreta sem memória
X
xi ∈ { x1, x2,…, xM }
• xi representa um símbolo da fonte
• p(xi) é a probabilidade dum símbolo tal que p(xi) = 1
• fonte estacionária logo as probabilidades mantêm-se ao longo
do tempo
• símbolos independentes (não existe memória)
• símbolos produzidos ao ritmo médio de r símbolos/s
• define-se velocidade de informação da fonte por
R = r × H(X) onde H(X) é a entropia da fonte
∑∈Xxi
6
Teoria Matemática da Comunicação 5 - 11CCISEL 99
Criptografia Computacional
Modelo genérico da codificação de fonte
r × H(X)
• rb representa o ritmo médio de dígitos binários produzidos pelo
codificador
• H(p0) representa a entropia da fonte binária onde a probabilidade do
símbolo 0 é p0
• importante: no processo de codificação não pode haver “ganho” nem
“perca” de informação
• Define-se comprimento médio N do código gerado como
N = p(xi) × n(xi)
sendo n(xi) o nº de dígitos binários usados para representar o
símbolo da fonte xi
codificador
binário
rb × H(p0)
xi b1, b2,…, bN
∑∈Xxi
Teoria Matemática da Comunicação 5 - 12CCISEL 99
Criptografia Computacional
Teorema da codificação de fonte
• Shannon estabeleceu(1) que
H(X) ≤ N ≤ H(X) + ε com ε ≥ 0
– quando N = H(X) o código diz-se óptimo
(1) A mathematical theory of communication, 1948
7
Teoria Matemática da Comunicação 5 - 13CCISEL 99
Criptografia Computacional
Classes de códigos
• Códigos singulares
– ex.: 1, 1, 1, 1
• Códigos não singulares que não têm
descodificação única
– ex.: 0, 010, 01, 10
• Códigos não singulares de descodificação única
– ex.“comma code”: 0, 01, 011, 0111, …
• Códigos prefixo ou instantâneo
– ex.código de Huffman: 0, 10, 110, 111
Teoria Matemática da Comunicação 5 - 14CCISEL 99
Criptografia Computacional
Características dos códigos prefixo
• Os comprimentos das palavras do código satisfazem
a desigualdade de Kraft
– condição necessária para que o código seja prefixo
– atendendo a esta constrição demonstra-se que o
comprimento médio de qualquer código prefixo
satisfaz
H(X) ≤ N ≤ H(X) + 1
∑ ≤−
i
xn i
12 )(
8
Teoria Matemática da Comunicação 5 - 15CCISEL 99
Criptografia Computacional
Comprimento médio dos códigos prefixo (demonstração)
• Por definição N = p(xi) × n(xi)
• Os códigos prefixo satisfazem
• Os valores de n(xi) que minimizam N e que verificam a
desigualdade de Kraft obtêm-se por
n(xi)* = -log2 p(xi)
usando n(xi) = n(xi)* vem
N = p(xi) × n(xi)* = p(xi) × -log2 p(xi) = H(X)
usando n(xi) ≠ n(xi)*
N = p(xi) × n(xi)* ≤ p(xi) × (-log2 p(xi) +1) = H(X) + 1
logo H(X) ≤ N ≤ H(X) + 1 c.q.d.
∑ ≤−
i
xn i
12 )(
∑∈Xxi
∑∈Xxi
∑∈Xxi
∑∈Xxi
∑∈Xxi
Teoria Matemática da Comunicação 5 - 16CCISEL 99
Criptografia Computacional
Código de dimensão fixa - binário natural
• Entropia da fonte
H(X) = p(xi) × -log2 p(xi) = 1,75 [bit/símbolo]
• Comprimento médio do código
N = p(xi) × n(xi) = 2 dígitos
– note-se que N = H(X) + 0,25 sendo ε = 0,25
• Redundância na representação dos símbolos da fonte
R = 1- ( 1,75 / (2 × log2 2)) = 0,125
xi p(xi) -log2 p(xi) C(xi)
a 1/2 1 00
b 1/4 2 01
c 1/8 3 10
d 1/8 3 11
∑∈Xxi
∑∈Xxi
9
Teoria Matemática da Comunicação 5 - 17CCISEL 99
Criptografia Computacional
Código de dimensão variável -“comma code”
• Entropia da fonte
H(X) = p(xi) × -log2 p(xi) = 1,75 [bit/símbolo]
• Comprimento médio do código
N = p(xi) × n(xi) = 1,875 dígitos
– note-se que N = H(X) + 0,125 sendo ε = 0,125
• Redundância na representação dos símbolos da fonte
R = 1- ( 1,75 / (1,875 × log2 2)) = 0,067
∑∈Xxi
∑∈Xxi
xi p(xi) -log2 p(xi) C(xi)
a 1/2 1 0
b 1/4 2 01
c 1/8 3 011
d 1/8 3 0111

Más contenido relacionado

La actualidad más candente

Exame de Matematica A, 11º ano,2016.Versão 2
Exame de Matematica A, 11º ano,2016.Versão 2Exame de Matematica A, 11º ano,2016.Versão 2
Exame de Matematica A, 11º ano,2016.Versão 2Yolanda Acurcio
 
Revisão de linguagem C para Sistemas Embarcados
Revisão de linguagem C para Sistemas EmbarcadosRevisão de linguagem C para Sistemas Embarcados
Revisão de linguagem C para Sistemas EmbarcadosRodrigo Almeida
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em Crodolfoeyalana
 
Exame de Matemática A_v2_2011
Exame de Matemática A_v2_2011Exame de Matemática A_v2_2011
Exame de Matemática A_v2_2011David Azevedo
 
Algoritmo de Rabin-Karp - Artigo
Algoritmo de Rabin-Karp - ArtigoAlgoritmo de Rabin-Karp - Artigo
Algoritmo de Rabin-Karp - ArtigoLorran Pegoretti
 
18 algoritmos de busca de palavras em texto
18   algoritmos de busca de palavras em texto18   algoritmos de busca de palavras em texto
18 algoritmos de busca de palavras em textoRicardo Bolanho
 
OperaçõEs Com PolinôMios2
OperaçõEs Com PolinôMios2OperaçõEs Com PolinôMios2
OperaçõEs Com PolinôMios2guestd49fc4
 
000004 logaritmo
000004 logaritmo000004 logaritmo
000004 logaritmojosewammes
 
Calculo numerico capitulo 2
Calculo numerico capitulo 2Calculo numerico capitulo 2
Calculo numerico capitulo 2Bruno Mulina
 
Função exponencial e função logarítmica
Função exponencial e função logarítmicaFunção exponencial e função logarítmica
Função exponencial e função logarítmicaEverton Moraes
 
Equações Polinomiais
Equações PolinomiaisEquações Polinomiais
Equações PolinomiaisNanda Freitas
 
Matlab – curso básico (1)
Matlab – curso básico (1)Matlab – curso básico (1)
Matlab – curso básico (1)Felipe Meganha
 

La actualidad más candente (19)

Complexidade algoritmos
Complexidade algoritmosComplexidade algoritmos
Complexidade algoritmos
 
Integracao parte1 montera
Integracao parte1 monteraIntegracao parte1 montera
Integracao parte1 montera
 
Calculo1 aula08
Calculo1 aula08Calculo1 aula08
Calculo1 aula08
 
Exame de Matematica A, 11º ano,2016.Versão 2
Exame de Matematica A, 11º ano,2016.Versão 2Exame de Matematica A, 11º ano,2016.Versão 2
Exame de Matematica A, 11º ano,2016.Versão 2
 
Revisão de linguagem C para Sistemas Embarcados
Revisão de linguagem C para Sistemas EmbarcadosRevisão de linguagem C para Sistemas Embarcados
Revisão de linguagem C para Sistemas Embarcados
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
 
Lista 1 - Cálculo
Lista 1 - CálculoLista 1 - Cálculo
Lista 1 - Cálculo
 
Math
MathMath
Math
 
Exame de Matemática A_v2_2011
Exame de Matemática A_v2_2011Exame de Matemática A_v2_2011
Exame de Matemática A_v2_2011
 
Algoritmo de Rabin-Karp - Artigo
Algoritmo de Rabin-Karp - ArtigoAlgoritmo de Rabin-Karp - Artigo
Algoritmo de Rabin-Karp - Artigo
 
18 algoritmos de busca de palavras em texto
18   algoritmos de busca de palavras em texto18   algoritmos de busca de palavras em texto
18 algoritmos de busca de palavras em texto
 
OperaçõEs Com PolinôMios2
OperaçõEs Com PolinôMios2OperaçõEs Com PolinôMios2
OperaçõEs Com PolinôMios2
 
Slides numerico c02
Slides numerico c02Slides numerico c02
Slides numerico c02
 
000004 logaritmo
000004 logaritmo000004 logaritmo
000004 logaritmo
 
Calculo numerico capitulo 2
Calculo numerico capitulo 2Calculo numerico capitulo 2
Calculo numerico capitulo 2
 
03 raizes
03 raizes03 raizes
03 raizes
 
Função exponencial e função logarítmica
Função exponencial e função logarítmicaFunção exponencial e função logarítmica
Função exponencial e função logarítmica
 
Equações Polinomiais
Equações PolinomiaisEquações Polinomiais
Equações Polinomiais
 
Matlab – curso básico (1)
Matlab – curso básico (1)Matlab – curso básico (1)
Matlab – curso básico (1)
 

Destacado

Presentacion 4 logística inversa
Presentacion 4 logística inversaPresentacion 4 logística inversa
Presentacion 4 logística inversakeylimar2000
 
Presentacion 3 logistica.
Presentacion 3 logistica.Presentacion 3 logistica.
Presentacion 3 logistica.keylimar2000
 
El concepto de logística inversa
El concepto de logística inversaEl concepto de logística inversa
El concepto de logística inversamglogistica2011
 
Logistica inversa (1)
Logistica inversa (1)Logistica inversa (1)
Logistica inversa (1)omy215
 
Logistica Inversa
Logistica InversaLogistica Inversa
Logistica Inversagrupo93
 
Logistica inversa
Logistica inversaLogistica inversa
Logistica inversayanieugenio
 
LOGISTICA INVERSA
LOGISTICA INVERSALOGISTICA INVERSA
LOGISTICA INVERSAkathie9130
 
Logistica Inversa
Logistica InversaLogistica Inversa
Logistica InversaDavid Levy
 

Destacado (12)

Presentacion 4 logística inversa
Presentacion 4 logística inversaPresentacion 4 logística inversa
Presentacion 4 logística inversa
 
Presentacion 3 logistica.
Presentacion 3 logistica.Presentacion 3 logistica.
Presentacion 3 logistica.
 
El concepto de logística inversa
El concepto de logística inversaEl concepto de logística inversa
El concepto de logística inversa
 
Logistica inversa (1)
Logistica inversa (1)Logistica inversa (1)
Logistica inversa (1)
 
Logística inversa
Logística inversaLogística inversa
Logística inversa
 
Logistica Inversa
Logistica InversaLogistica Inversa
Logistica Inversa
 
Logística inversa
Logística inversaLogística inversa
Logística inversa
 
PowerPoint LOGÍSTICA INVERSA
PowerPoint LOGÍSTICA INVERSAPowerPoint LOGÍSTICA INVERSA
PowerPoint LOGÍSTICA INVERSA
 
Logistica inversa
Logistica inversaLogistica inversa
Logistica inversa
 
Logistica inversa
Logistica inversa Logistica inversa
Logistica inversa
 
LOGISTICA INVERSA
LOGISTICA INVERSALOGISTICA INVERSA
LOGISTICA INVERSA
 
Logistica Inversa
Logistica InversaLogistica Inversa
Logistica Inversa
 

Similar a Codificação de fonte e redundância em comunicações

Sessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonteSessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fontePedro De Almeida
 
Sessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosSessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosPedro De Almeida
 
Sessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosSessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosPedro De Almeida
 
Sessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritméticaSessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritméticaPedro De Almeida
 
OperaçõEs Com PolinôMios2
OperaçõEs Com PolinôMios2OperaçõEs Com PolinôMios2
OperaçõEs Com PolinôMios2guestd49fc4
 
aula sobre polinomios matematica basica1
aula sobre polinomios matematica basica1aula sobre polinomios matematica basica1
aula sobre polinomios matematica basica1RobertaArago2
 
Booklet reais
Booklet reaisBooklet reais
Booklet reaispm3d
 

Similar a Codificação de fonte e redundância em comunicações (10)

Sessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonteSessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonte
 
Sessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosSessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocos
 
Sessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosSessão 10 Códigos Cíclicos
Sessão 10 Códigos Cíclicos
 
Sessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritméticaSessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritmética
 
OperaçõEs Com PolinôMios2
OperaçõEs Com PolinôMios2OperaçõEs Com PolinôMios2
OperaçõEs Com PolinôMios2
 
aula sobre polinomios matematica basica1
aula sobre polinomios matematica basica1aula sobre polinomios matematica basica1
aula sobre polinomios matematica basica1
 
Booklet reais
Booklet reaisBooklet reais
Booklet reais
 
Polinomios 17122016
Polinomios 17122016Polinomios 17122016
Polinomios 17122016
 
Polinomios
PolinomiosPolinomios
Polinomios
 
APDS- Apresentaçao.pptx
APDS- Apresentaçao.pptxAPDS- Apresentaçao.pptx
APDS- Apresentaçao.pptx
 

Codificação de fonte e redundância em comunicações

  • 1. 1 Teoria Matemática da Comunicação 5 - 1CCISEL 99 Criptografia Computacional Sessão nº5 Redundância e Introdução à Codificação de Fonte Teoria Matemática da Comunicação 5 - 2CCISEL 99 Criptografia Computacional Redundância num conjunto binário • Considere um conjunto binário onde a probabilidade de um dos textos em claro é p. Quando é que existe redundância? – Porque temos de usar pelo menos um símbolo para representar cada um dos textos então sempre que as suas probabilidades determinarem uma entropia diferente de 1 existe redundância na representação destes textos Nota: a entropia é uma medida da quantidade de informação média necessária para descrever os textos
  • 2. 2 Teoria Matemática da Comunicação 5 - 3CCISEL 99 Criptografia Computacional Redundância num conjunto quaternário • Dado o conjunto de 4 textos em claro onde p(a)=0,5 p(b)=0,25 , p(c)=0,125 e p(d)=0,125 (logo H(P)=1,75) quando é que existe redundância? – Usando 2 dígitos binários na representação dos textos existe redundância porque a quantidade de informação necessária em média para os descrever é 1,75 bits. Teoria Matemática da Comunicação 5 - 4CCISEL 99 Criptografia Computacional Redundância duma linguagem • Seja L uma linguagem natural. Define-se redundância de L como sendo RL = 1- ( H(L) / ( N × log2 |P| )) – H(L) representa a entropia do conjunto dos textos de L ou a quantidade de informação média contida em cada letra dum texto “com significado”. – N é o número médio de símbolos usados para representar os textos de L. – |P| é a dimensão do alfabeto usado na representação dos textos de L.
  • 3. 3 Teoria Matemática da Comunicação 5 - 5CCISEL 99 Criptografia Computacional Redundância do Inglês • Seja |P|=26 a dimensão do alfabeto; então um texto pode ser representado com 1 símbolo de P (letra), logo a quantidade de informação média associada a cada letra é 1 × log2 26 ≈ 4,7 [bit] (numa sequência aleatória com letras equiprováveis). • Considerando o valor empírico H(L) ≈1,25 [bit/letra] vem RL = 1- ( 1,25 / (1 × log2 26)) ≈ 1 - (1,25/4,7) ≈ 0,75 Teoria Matemática da Comunicação 5 - 6CCISEL 99 Criptografia Computacional Entropia duma linguagem • Seja L uma linguagem natural. Define-se entropia de L como sendo H(L) = lim n→∞ H(Pn) / n [bit/letra] – Pn representa uma v.a. que tem como distribuição de probabilidades a distribuição que se observa para os n-gramas do texto
  • 4. 4 Teoria Matemática da Comunicação 5 - 7CCISEL 99 Criptografia Computacional Entropia do Português e do Inglês (estimativas) Ficheiro H(X) H(X,Y)/2 H(X,Y,Z)/3 pt.z26 3,980 3,678 3,282 trab.z26 4,081 3,780 3,416 tese22.z26 4,018 3,724 3,391 média (PT) 4,026 3,727 3,363 devices.z26 4,221 3,918 3,562 history3.z26 4,246 3,966 3,614 appnote.z26 4,176 3,825 3,382 bertrand.z26 4,159 3,835 3,510 média (UK) 4,201 3,886 3,517 ref. Stinson 4,190 3,900 - rand.z26 4,700 4,700 4,696 Teoria Matemática da Comunicação 5 - 8CCISEL 99 Criptografia Computacional Análise do sistema One Time Pad de Vernam H(K|C) = H(P) + H(K) - H(C) ? a b 1 2 Dados: p(a) = 1/4, p(b) = 3/4 P(k1) = 1/2, p( k2 ) = 1/2 Verifica-se que H(P) ≈ 0,81 [bit/texto] H(K) = 1 [bit/chave] H(C) = 1 [bit/cripto] k2 k2 k1 k1 H(K|C) ≈ 1 + 0,81 - 1 ≈ 0,81 é menor !!! • Mas se maximizarmos H(P) temos que H(K|C)=H(K)
  • 5. 5 Teoria Matemática da Comunicação 5 - 9CCISEL 99 Criptografia Computacional Conceitos básicos da Teoria da Informação – Medida de quantidade de informação (entropia). – Capacidade de informação dum canal. – Codificação: • codificação de fonte • [cifra] • codificação de canal Teoria Matemática da Comunicação 5 - 10CCISEL 99 Criptografia Computacional Modelo de fonte discreta sem memória X xi ∈ { x1, x2,…, xM } • xi representa um símbolo da fonte • p(xi) é a probabilidade dum símbolo tal que p(xi) = 1 • fonte estacionária logo as probabilidades mantêm-se ao longo do tempo • símbolos independentes (não existe memória) • símbolos produzidos ao ritmo médio de r símbolos/s • define-se velocidade de informação da fonte por R = r × H(X) onde H(X) é a entropia da fonte ∑∈Xxi
  • 6. 6 Teoria Matemática da Comunicação 5 - 11CCISEL 99 Criptografia Computacional Modelo genérico da codificação de fonte r × H(X) • rb representa o ritmo médio de dígitos binários produzidos pelo codificador • H(p0) representa a entropia da fonte binária onde a probabilidade do símbolo 0 é p0 • importante: no processo de codificação não pode haver “ganho” nem “perca” de informação • Define-se comprimento médio N do código gerado como N = p(xi) × n(xi) sendo n(xi) o nº de dígitos binários usados para representar o símbolo da fonte xi codificador binário rb × H(p0) xi b1, b2,…, bN ∑∈Xxi Teoria Matemática da Comunicação 5 - 12CCISEL 99 Criptografia Computacional Teorema da codificação de fonte • Shannon estabeleceu(1) que H(X) ≤ N ≤ H(X) + ε com ε ≥ 0 – quando N = H(X) o código diz-se óptimo (1) A mathematical theory of communication, 1948
  • 7. 7 Teoria Matemática da Comunicação 5 - 13CCISEL 99 Criptografia Computacional Classes de códigos • Códigos singulares – ex.: 1, 1, 1, 1 • Códigos não singulares que não têm descodificação única – ex.: 0, 010, 01, 10 • Códigos não singulares de descodificação única – ex.“comma code”: 0, 01, 011, 0111, … • Códigos prefixo ou instantâneo – ex.código de Huffman: 0, 10, 110, 111 Teoria Matemática da Comunicação 5 - 14CCISEL 99 Criptografia Computacional Características dos códigos prefixo • Os comprimentos das palavras do código satisfazem a desigualdade de Kraft – condição necessária para que o código seja prefixo – atendendo a esta constrição demonstra-se que o comprimento médio de qualquer código prefixo satisfaz H(X) ≤ N ≤ H(X) + 1 ∑ ≤− i xn i 12 )(
  • 8. 8 Teoria Matemática da Comunicação 5 - 15CCISEL 99 Criptografia Computacional Comprimento médio dos códigos prefixo (demonstração) • Por definição N = p(xi) × n(xi) • Os códigos prefixo satisfazem • Os valores de n(xi) que minimizam N e que verificam a desigualdade de Kraft obtêm-se por n(xi)* = -log2 p(xi) usando n(xi) = n(xi)* vem N = p(xi) × n(xi)* = p(xi) × -log2 p(xi) = H(X) usando n(xi) ≠ n(xi)* N = p(xi) × n(xi)* ≤ p(xi) × (-log2 p(xi) +1) = H(X) + 1 logo H(X) ≤ N ≤ H(X) + 1 c.q.d. ∑ ≤− i xn i 12 )( ∑∈Xxi ∑∈Xxi ∑∈Xxi ∑∈Xxi ∑∈Xxi Teoria Matemática da Comunicação 5 - 16CCISEL 99 Criptografia Computacional Código de dimensão fixa - binário natural • Entropia da fonte H(X) = p(xi) × -log2 p(xi) = 1,75 [bit/símbolo] • Comprimento médio do código N = p(xi) × n(xi) = 2 dígitos – note-se que N = H(X) + 0,25 sendo ε = 0,25 • Redundância na representação dos símbolos da fonte R = 1- ( 1,75 / (2 × log2 2)) = 0,125 xi p(xi) -log2 p(xi) C(xi) a 1/2 1 00 b 1/4 2 01 c 1/8 3 10 d 1/8 3 11 ∑∈Xxi ∑∈Xxi
  • 9. 9 Teoria Matemática da Comunicação 5 - 17CCISEL 99 Criptografia Computacional Código de dimensão variável -“comma code” • Entropia da fonte H(X) = p(xi) × -log2 p(xi) = 1,75 [bit/símbolo] • Comprimento médio do código N = p(xi) × n(xi) = 1,875 dígitos – note-se que N = H(X) + 0,125 sendo ε = 0,125 • Redundância na representação dos símbolos da fonte R = 1- ( 1,75 / (1,875 × log2 2)) = 0,067 ∑∈Xxi ∑∈Xxi xi p(xi) -log2 p(xi) C(xi) a 1/2 1 0 b 1/4 2 01 c 1/8 3 011 d 1/8 3 0111