Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Análise de Entropia e Codificação de Informação, Notas de estudo de Sistemas Distribuídos

Este documento aborda o conceito de entropia e sua aplicação na codificação de informação. Ele apresenta conceitos básicos, como a representação de probabilidades e a entropia de uma fonte, além de exemplos de códigos binários e a importância da eficiência na transmissão de informações. O documento também discute a importância de eliminar redundância e o uso de códigos compactos.

O que você vai aprender

  • Explique o conceito de código compacto.
  • Qual é a definição de entropia em informação teórica?
  • Quais são os passos para codificar uma fonte de símbolos?
  • Como é calculada a entropia de uma fonte?
  • Qual é a importância da eficiência na codificação de informação?

Tipologia: Notas de estudo

2021

Compartilhado em 24/04/2021

fidalgo-jeremias-mboa-5
fidalgo-jeremias-mboa-5 🇧🇷

4 documentos

1 / 40

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Teoria da Informação
Ementa
Conceitos e Medidas da Informação
Modelo Fonte-Canal
Codificação da Fonte
Compressão de dados
Bases algébricas para detecção e correção de erros
Códigos de Bloco e Polinomiais
Criptografia
Bibliografia
Livro Texto
WELLS, RICHARD. Applied Coding and Information Theory for Engineers
Livros Complementares
GALLAGER. Information theory and reliable communication
CSISZAR, ELIAS. Topics on Information Theory
LATHI. Random Signal and Information Theory
HAMMING. Coding and Information Theory
BLAHUT. Principles and Practice of Information Theory
Provas
09 de Outubro
02 de Dezembro
A nota final será dada de acordo com a fórmula abaixo
5
22 21 MTPP
NF ++
=
Onde NF = Nota Final
Px = Prova x
MT = Média dos Trabalhos
Homepage :www.ene.unb.br/juliana/cursos/teoriainf
Material elaborado por Eduardo Wolsky e digitado por Rafael Oliveira em 03/07/2003
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28

Pré-visualização parcial do texto

Baixe Análise de Entropia e Codificação de Informação e outras Notas de estudo em PDF para Sistemas Distribuídos, somente na Docsity!

Teoria da Informação

Ementa

  • Conceitos e Medidas da Informação
  • Modelo Fonte-Canal
  • Codificação da Fonte
  • Compressão de dados
  • Bases algébricas para detecção e correção de erros
  • Códigos de Bloco e Polinomiais
  • Criptografia

Bibliografia

Livro Texto W ELLS, RICHARD. Applied Coding and Information Theory for Engineers

Livros Complementares G ALLAGER. Information theory and reliable communication CSISZAR , ELIAS. Topics on Information Theory LATHI. Random Signal and Information Theory HAMMING. Coding and Information Theory BLAHUT. Principles and Practice of Information Theory

Provas

  • 09 de Outubro
  • 02 de Dezembro

A nota final será dada de acordo com a fórmula abaixo

2 P 1 2 P 2 MT

NF

Onde NF = Nota Final P x = Prova x MT = Média dos Trabalhos

Homepage :www.ene.unb.br/juliana/cursos/teoriainf

Material elaborado por Eduardo Wolsky e digitado por Rafael Oliveira em 03/07/

Primeira Aula

Imaginando uma moeda "desonesta" que tem uma probabilidade de 1/4 de cair como cara. Para um milhão de lançamentos quantos bits são necessários para transmitir os resultados? À primeira vista acreditamos que sejam necessários 1.000.000 bits mas apenas 811.300 bits podem transmitir esta informação. Pensando numa moeda mais viciada, com probabilidade de 1/ para cair cara, podemos enviar estas informações de várias maneiras possíveis. Eis algumas idéias:

a) Enviar somente o número do lançamento onde deu cara 20 bits por número x 1000 = 20.000 bits

b) Enviar o número relativo do lançamento onde deu cara 12 bits por número x 1000 = 12.000 bits

"Quanto menor a incerteza menor a quantidade de informação"

Imaginemos agora um dado com oito faces (D8) com as seguintes probabilidades:

pA = 1/ pB = 1/ pC = 1/ pD = 1/ pE = 1/ pF = 1/ p (^) G = 1/ p (^) H = 1/

Para representar cada lançamento, como temos oito resultados, seriam necessários três bits. Mas o número médio de bits por lançamento pode ser diminuído. Imagine a seguinte representação:

Representação C

2 2 , 25 bits 4

× + × + × + × + × =

Conseguimos alcançar vários valores, mas como saber se o valor é o menor possível? O número mínimo de bits necessários para representar os resultados pode ser obtido através da fórmula

j

ni

H ( X ) px (^) i log 2 pxi

Esta fórmula representa o valor da incerteza , só precisamos enviar os dados que nos são incertos e a esta incerteza damos o nome de entropia cujo símbolo é H(X). Se o valor obtido for próximo ao encontrado utilizando-se a fórmula pode-se saber que a representação é boa.

Assim, no exemplo do D5 acima temos que sua entropia é de:

bits

H X p p n

x (^) i xi

log 128 128

log 128 128

log 64 64

log 32 32

log 16 16

log 8 8

log 4 4

log 2 2

( ) log

2 2 2 2 2 2 2 2

5

1

2

= (^) ∑−

Vejamos agora um outro exemplo. Imagine um dado comum (D6) honesto, ou seja, as probabilidades de cair em qualquer face são iguais e tem valor pn =1/6. O mínimo de bits necessário é:

H X p p bits n

x (^) i xi 6 log^62 ,^584962501

1 ( ) log (^62)

6

1

= (^) ∑− 2 = =

Uma representação seria a seguinte:

Face Repres. 1 000 2 001 3 010 4 011 5 10 6 11

Que já é uma representação simplificada da óbvia. O número de bits

médio pode ser obtido simplesmente somando-se o valor de todos os bits e dividindo pelo número de possibilidades, isto é:

O valor é bastante aproximado do número mínimo de bits necessários. Agora que obtivemos um pouco de experiência, podemos retomar o problema da moeda cujas probabilidades estão ilustradas abaixo, assumindo que Cara = H ( Head ) e Coroa = T ( Tail ) teremos:

pH =1/ pT =3/

A entropia do evento é:

log 4 0 , 81127814 4

log 4

H ( X )= 2 + 2 =

Não podemos simplificar mais a representação de cada resultado pois para cada um deles foi indicado um bit, 0 ou 1. Porém, podemos nos utilizar de uma outra artimanha. Agruparemos os resultados em grupos de quatro (valor escolhido arbitrariamente) e para cada um desses grupos daremos uma representação. Sabe-se que cada grupo tem uma probabilidade de ocorrer, logo, logicamente, os grupos com maior probabilidade serão representados por um menor número de bits.

Result. Probabilidade Valor Repres. A Repres. B TTTT (^) pTpTpTpT 81/256=0,316 0 0 TTTH 1000 101 TTHT 1001 100 THTT 1010 1101 HTTT

pTpTpTpH 27/256=0,

1011 1100 TTHH 110000 111000 THTH 110001 111001 HTTH 110010 111010 THHT 110011 111011 HTHT 11010 111111 HHTT

pTpTpHpH 9/256=0,

THHH 111000 1111010

HTHH 111001 1111011

HHTH 111010 1111100

HHHT

pTpHpHpH 3/256=0,

111011 1111101 HHHH pHpHpHpH 1/256=0,004 1111 1111000

Segunda Aula 28/08/

Modelo Fonte/Canal

Dados x Informação x Conhecimento

  • Os dados são qualquer fluxo entre fonte e destino
  • A Informação está associada ao processo da informação
  • O Conhecimento está associado ao processamento da informação

Tipos de Fontes

Fonte Contínua: Associada ao sinal analógico Fonte Discreta: Associada ao sinal digital, transmite símbolos de um alfabeto fonte.

Alfabeto

Uma fonte discreta possui um número finito de símbolos únicos. O conjunto de símbolos é chamado de alfabeto-fonte.

Exemplo 1 O conjunto das letras maiúsculas

A = {A, B, C, D,... Z}

Exemplo 2 O conjunto das letras maiúsculas, minúsculas e numerais.

A = {A, B, C,... X, Y, Z, a, b, c,... x, y, z, 0, 1, 2,... 7, 8, 9}

O número de elementos de um alfabeto A é chamado de cardinalidade e designado por | A |. Um alfabeto de n letras sobre A é chamado um n -grama sobre A. A partir de um alfabeto podemos gerar um novo alfabeto pela construção de n -gramas sobre o alfabeto original obtendo um alfabeto extensão.

Seja A ={ a 0 , a 1 , a 2 ,... am -1 } onde | A | = m. Podemos gerar A^2 contendo m^2 2-gramas tal que A^2 ={ a 0 a 0 , a 0 a 1 , a 0 a 2 ,... a m-1 a m-1 }. Generalizando, concatenando-se n letras de A obtemos o alfabeto An^ contendo mn^ n- gramas de A.

Exemplo

Considere o alfabeto A = {A, B, C,... Z}

  • Podemos dizer que CARRUAGEM é um 9-grama sobre o alfabeto A.

Considerando o alfabeto A^3 = {AAA, AAB, AAC,... ZZZ}

  • Podemos dizer que CAR RUA GEM é um 3-grama sobre o alfabeto A^3.

Considerando o alfabeto conjunto dos meios de transporte

  • Podemos dizer que CARRUAGEM é um 1-grama

Associações

A 6 Z

O Alfabeto A foi associado ao conjunto dos inteiros

A B C ... X Y Z

Quantidade de Informação

Hartley escreveu em 1923 o arquivo que inaugurou a “Teoria da Informação” Shannon em 1948 descobriu que a função log pode medir a quantidade de Informação.

Suponha E 1 e E 2 dois eventos com probabilidades de ocorrência p 1 e p 2. É de se esperar que a quantidade de informação obtida pelo conhecimento da ocorrência de ambos os eventos possa se relacionar ao conhecimento individual da ocorrência de cada evento I ( E 1 E 2 ) = I ( E 1 ) + I ( E 2 ), caso E 1 e E 2 sejam independentes.

I ( E )=−log 2 p ( E )

A equação acima nos dá a medida de informação resultante da ocorrência de um determinado evento E com probabilidade p ( E ).

Entropia

Dada uma variável aleatória x , a qual pode assumir um número finito de valores possíveis x (^) i , 1 ≤ in , com probabilidades pi associadas a cada um

Exemplo 2 Qual é a entropia de uma fonte de 4 símbolos com distribuição de probabilidade PA = {0,5; 0,3; 0,15; 0,05}?

bits

H

0 , 05 log 0 , 15

0 , 15 log 0 , 3

( 0 , 5 ; 0 , 3 ; 0 , 15 ; 0 , 05 ) 0 , 5 log 22 0 , 3 log 2 2 2

Terceira Aula

Teorema Para ∀ inteiro positivo n de distribuição de probabilidade P={ p 1 , p 2 , p 3 , ... pn }, temos que H ( p 1 , p 2 , p 3 , ... pn ) ≤ log 2 n , prevalecendo a igualdade se e

somente se i n n

pi = ∀ 1 ≤ ≤

Entropia Conjunta

Seja X um vetor aleatório, X =[ A , B ], onde A e B são variáveis aleatórias, assumindo um número finito de valores possíveis ai e bj , respectivamente. Então, a entropia para o vetor X pode ser escrita como:

ij

H X H AB p A ai B bj p A ai B bj ,

( ) ( , ) ( , )log 2 ( , )

Generalizando, se X = [ X 1 , X 2 , X 3 ,... Xn ] então podemos escrever:

ij k

H X H X X X Xn pxi xj xk pxi xj xk ,...

( ) ( 1 , 2 , 3 ... ) ( , ,... )log 2 ( , ,... )

Teorema Se x e y são duas variáveis aleatórias que assumem um número finito de valores, então H ( x , y ) ≤ H ( x ) + H ( y ) com a igualdade prevalecendo se e somente se x e y forem independentes.

Entropia Condicional

A incerteza acerca de X dado que Y = y pode ser definida como:

i

H ( X | Y y ) p ( x xi | Y y )log 2 p ( x xi | Y y )

A entropia condicional H ( X | Y ) chamada equivocação de X em relação a Y , será o valor médio esperado ponderado para todas as possíveis ocorrências de Y :

i j

i j i j

ij

j i j i j

p x y px y

H X Y p y p x y px y

,

2

,

2

( , )log ( | )

( | ) ( ) ( | )log ( | )

Teorema H ( X , Y )= H ( X )+ H ( Y | X )= H ( Y )+ H ( X | Y ) (1) p ( a , b )= p ( b ) p ( a | b )= p ( a ) p ( b | a ) (2)

que o símbolo de índice t é uma letra de A.

H ( a 0 , a 1 ,... an- 1 ) = H ( a 0 ) + H ( a 1 , a 2 ,... an- 1 | a 0 )

Repetindo o argumento teremos

H ( a 0 , a 1 ,... an- 1 ) = H ( a 0 ) + H ( a 1 | a 0 ) + H ( a 2 | a 0 , a 1 ) + ... + H ( an- 1 | a 0 ,... an -2 )

Este resultado é conhecido como a regra da cadeia para a entropia.

=

1

0

n

i

H a a an H ai

Com a igualdade valendo se e somente se todos os símbolos na seqüência são independentes, neste caso, fonte é dita ser sem memória. Caso contrário a fonte é dita ser com memória ou makroviana.

Exemplo Suponha uma fonte sem memória com A = {0,1} tendo símbolos equiprováveis emitindo 6 símbolos. Seguindo o sexto símbolo, suponha que um sétimo símbolo, soma módulo 2 (XOR) dos outros seis símbolos, seja transmitido. Qual a entropia do 7-grama?

Sabemos que:

0 1 0 2 0 1 3 0 1 2 4 0 3 5 0 4 6 0 5

0 1 2 6 Ha H a a H a a a Ha a a a Ha a a Ha a a Ha a a

H a a a a = + + + + + +

Como a fonte é sem memória, os primeiros seis símbolos da seqüência são independentes, portanto:

H ( a 0 , a 1 , a 2 ... a 6 )= H ( a 0 )+ H ( a 1 )+ H ( a 2 )+ H ( a 3 )+ H ( a 4 )+ H ( a 5 )+ H ( a 6 | a 0 ... a 5 )

Como todos os eventos são equiprováveis H é máxima e, neste caso, necessita de um bit para ser transmitida. O último termo é zero pois não há incerteza por este ser em função dos seis primeiros que, neste caso, foram dados. Assim:

H ( a 0 , a 1 , a 2 ... a 6 )= 1 + 1 + 1 + 1 + 1 + 1 + 0 = 6 bits

Quarta Aula

Codificação da Fonte

Um codificador de fonte é um elemento de processamento de dados que toma como entrada um n -grama de um alfabeto-fonte A e produz como saída um m -grama do alfabeto código B. Estes m -gramas são chamados palavras-código.

C : AB

O codificador tem como objetivos processar a entrada de tal forma que a informação média transmitida (ou armazenada) por uso do canal aproxime-se de H ( A ), encontrar códigos decodificáveis univocamente, isto é, para todo elemento de A haja apenas um B e vice-versa.

C ( a ) 6 bC −^1 ( b ) 6 a

Um codificador também deve encontrar códigos que possam ser decodificados instantaneamente.

Exemplo Seja uma fonte de quatro símbolos A={ a 0 , a 1 , a 2 , a 3 } que possuem probabilidades PA ={0,5; 0,3; 0,15; 0,05}. Seja C um codificador que mapeia os símbolos de A em strings de dígitos binários {0, 10, 110, 111} respectivamente. Qual é o número médio de palavras por símbolo? Qual a eficiência do codificador?

Com a codificação C teríamos um número médio de palavras por símbolos

n = 1 ⋅ 0 , 5 + 2 ⋅ 0 , 3 + 3 ⋅ 0 , 15 + 3 ⋅ 0 , 05 = 1 , 7 bits

A entropia (incerteza) da fonte original é dada por:

H A 1 , 6477 bits 0 , 05

0 , 05 log 0 , 15

0 , 15 log 0 , 3

0 , 3 log 0 , 5

( )= 0 , 5 log 2 + 2 + 2 + 2 =

Dado que a eficiência η é dada pela entropia dividida pelo número médio

de bits temos que:

97 % 1 , 7

n

H A

binário |B| = 2 qual será o valor de Λ, considerando L = 1?

log 10 1

log

2

Λ ≥

n L m

Como o comprimento de uma palavra código deve ser um número inteiro

(obviamente) temos que Λ = 4 bits.

Se escolhermos usar menos que log mn letras-código por letra-fonte, então precisaríamos relaxar na nossa insistência em sempre sermos capazes de decodificar a seqüência fonte a partir da palavra-código.

Considere a variável aleatória X com espaço amostral X = { x 1 , x 2 }, p ( x 1 ) = p 1 = 1/3 e p ( x 2 ) = p 2 = 2/3. A entropia de X é dada por

H X 0 , 918 bits 3

log 3

log 3

Vamos repetir o experimento L vezes para obter uma seqüência de L variáveis aleatórias independentes, distribuídas identicamente. Portanto, existem 2 L^ seqüências possíveis. Se o número de ocorrências de x 1 em um

determinada seqüência é k , a probabilidade da seqüência é p (^) 1 k^ ( 1 − p 1 )^1 − k uma

vez que existem !( )!

K L K

L

K

L

tais seqüências, suas probabilidades totais

são pk^ p LK K

L −

1 (^1 1 )

É importante observar que a probabilidade de uma ocorrência para qual k é significativamente diferente de Lp 1 é muito pequena. Todas as seqüências típicas são mais ou menos equiprováveis a 2 - LH ( X )^ e o número total de seqüências típicas é de 2 LH ( X ).

Podemos observar que

I ( XL ) ≅ LH ( X ), a medida que L cresce P ( XL ) ≅ 2 - LH ( X ) O número total de tais seqüências é M (^) T ≅ 2 LH ( X ) Λ ≅ LH ( X ) bits por palavra código

Quinta Aula

Teorema Seja S uma fonte sem memória de entropia H ( S ) e seja B um código

de comprimento Λ sobre um alfabeto de m símbolos. Se pe é a probabilidade de

ocorrência de uma seqüência de comprimento L da fonte não coberta pelo código então para qualquer δ > 0, se

m

H s L log 2

pe pode ser feito tão pequena quanto se queira.

I ( B Λ)= I ( SL )= LH ( S )

Códigos de Comprimento Variável

Seja uma fonte discreta sem memória A={ a 1 , a 2 , ... an } com p ( ai ) = pi , 1 ≤ in. Queremos codificar cada letra da fonte usando uma seqüência de letras de um alfabeto-código B={ b 1 , b 2 ,... bm } com |B|= m. Seja λ o comprimento da palavra-código utilizada para codificar a i -ésima letra de A, o comprimento médio das palavras-código será

=

n

i

pi i 1

Considere, por exemplo, um alfabeto-fonte de 4 símbolos com as probabilidades mostradas na tabela abaixo, bem como quatro exemplos de codificação.

Letra p ( ai ) Cód. I Cód. II Cód. III Cód. IV a 1 0,5 0 0 0 0 a 2 0,25 0 1 10 01 a 3 0,125 1 00 110 011 a 4 0,125 10 10 111 0111

É importante ressaltar que os códigos I e II não são univocamente decodificáveis. Com os dados da tabela é possível calcular o comprimento médio das palavras-código:

Além disso, existe um código instantâneo tendo comprimento médio satisfazendo:

log

2

m

H s

Construção de Códigos de Condição Prefixa

Codificação de Blocos Encurtados Seja um alfabeto fonte de n símbolos e um alfabeto-código de m símbolos. Escolha r tal que mr^ ≥ n , de forma a podermos construir um código de blocos de comprimento r capaz de representar todos os símbolos da fonte. Construa a árvore total ( m 1 r ). Elimine ( mr - n ) dos nós terminais originais e encurte os nós correspondentes a estes nós, atendendo à condição prefixa.

Exemplo Construa um código univocamente decodificável de condição prefixa supondo que n =5 e m =2 e todos os símbolos são equiprováveis.

Primeiramente temos que definir o comprimento r do código. Como m r^ ≥ n assumimos que r = 3. Então construímos a árvore total conforme ilustrado abaixo.

Agora devemos eliminar m r-n dos nós que corresponde a 2 3 -5 = 3 nós, lembrando que os nós que levam a apenas um ramo podem ser eliminados, assim temos:

Na figura acima os nós marcados com vermelho foram os três nós escolhidos para serem eliminados. O nó marcado de rosa pode ser eliminado porque não levava a lugar algum. E os nós marcados de verde foram eliminados porque o nó de origem levava apenas a um ramo (já se sabia que a informação era 011 quando recebemos o 0 pois nenhum outro código inicia-se com 0). Assim podemos finalmente desenhar a árvore indicando seus símbolos e seus respectivos códigos:

Assim criamos um código univocamente decodificável e de condição pré- fixa. Mas não há garantias que este código seja o ideal, por exemplo, se calcularmos o número médio de bits do código chegaremos ao valor de 2,6 bits (para eventos equiprováveis). Tomando aleatoriamente outros três nós para serem encurtados no