• Nenhum resultado encontrado

NI05 - Entropia e Medidas de Informação II

N/A
N/A
Protected

Academic year: 2021

Share "NI05 - Entropia e Medidas de Informação II"

Copied!
59
0
0

Texto

(1)

BC-0504

Natureza da Informação

(2)

• Imaginemos que lançamos ao ar uma moeda

um milhão de vezes e anotamos o resultado “1” para cara e

“0” para coroa,

obtendo, por exemplo,

0101101001010110101100110010100110101 ...

• Como a probabilidade de cair cara ou coroa é

a mesma, nós temos que a informação de

cada jogada é um bit e a informação total é

(3)

• E se a moeda estivesse alterada para cair cara uma vez só a cada 1000 jogadas? Assim, obteríamos:

00000100...000000100000...0001

• Num milhão de jogadas, a moeda cairia cara umas 1000 vezes.

• Seria possível utilizar uma codificação mais enxuta para representar a sequência anterior? Veremos nos slides seguintes ...

(4)

Uma primeira tentativa de codificação

•Para identificar um 1 no meio de 1000000 de dígitos

preciso de log2(1000000)= 20 bits (ou 20 perguntas bem formuladas).

•Então, para codificar os mil uns que aproximadamente há na sequência de 1 milhão de dígitos precisaríamos:

1000x 20= 20000 bits ou

20000/1000000= 0,02bits por dígito

Seria possível uma codificação ainda mais enxuta para codificar a posição dos mil uns?

(5)

Uma tentativa mais enxuta de codificação

• Ao invés de codificar a posição absoluta de cada 1, poderíamos identificar cada 1 pela distância de cada 1 para o 1 anterior.

• Em média a distância de um 1 para o seguinte 1 é de cerca de mil dígitos.

• Suponhamos que a distância máxima entre dois uns seja 4000 dígitos, distância que pode ser codificada com log2(4000)=12 bits • Neste caso 12 bits seria o maior número de bits para codificar a distância entre uns, por exemplo (1230)dec = (001110011001)bin. •Para codificar os 1000 uns precisaríamos de 1000x12 bits=

12000bits ou 12000/1000000 = 0,012 bits por dígito

00010000....00000001000000...0000100000...01000000...0

1230 dígitos 990 dígitos

(6)

• Portanto, passamos de uma codificação de

1.000.000 de bits para uma com 20.000 bits e depois para uma 12.000 bits, alcançando uma taxa de compressão de

• E seria possível uma codificação ainda mais enxuta? % 8 , 98 100 1000000 12000 1000000 

(7)

A fórmula de Shannon fornece a quantidade de

informação da codificação mais enxuta possível

• Mesmo que não saibamos como comprimir

mais a sequência, a fórmula de Shannon nos

diz quanta informação existe na codificação mais enxuta possível.

• No nosso exemplo,

bits S 0114 , 0 999 / 1000 log 32 , 3 999 , 0 1000 log 32 , 3 001 , 0 999 / 1000 log 999 , 0 1000 log 001 , 0 1000 999 log 1000 999 1000 1 log 1000 1 10 10 2 2 2 2                                         

(8)

Eficiência de um código

• É obtida dividindo-se a entropia de Shanonn S, pelo número médio de bits por dígito

(bits/dígito).

• No caso da primeira tentativa de codificação

• E no caso da segunda tentativa:

• Por tanto, a segunda tentativa de codificação é mais eficiente.

5704

,

0

02

,

0

0114

,

0

L

S

95

,

0

012

,

0

0114

,

0

L

S

(9)
(10)

Mas qual é o melhor código

possível?

• Conhecemos a distribuição das probabilidades

de cada estado.

• Temos um alfabeto D para as palavras código

• e.g., D={0,1}

• Queremos construir um código ótimo.

• Menor comprimento médio possível

• Primeiramente, o código deve ter algumas

(11)

Qual é o melhor código possível?

• Código não-singular

• Cada estado x é mapeado para uma seqüência

diferente em C.

• Ou seja, dois estados diferentes não são

(12)

Qual é o melhor código possível?

• Código unicamente decodificável

• Definição: A extensão C* de um código é um

mapeamento de sequências finitas em X para sequências finitas em C, definido por:

• Ou seja, é apenas uma concatenação das

palavras código correspondentes à sequência em X.

(13)

Qual é o melhor código possível?

• Código unicamente decodificável

• Definição: Um código é unicamente decodificável

se a sua extensão é não-singular.

• Ou seja, qualquer sequência em C tem apenas

uma única sequência de estados que pode produzi-la.

• Ou seja, não há ambiguidade se uma

(14)

Qual é o melhor código possível?

• Código prefixo, ou instantâneo, ou

auto-pontuável.

• Vários nomes para a mesma coisa:

• Deve ser importante! ;-)

(15)

Qual é o melhor código possível?

• Código prefixo, ou instantâneo, ou

auto-pontuável.

• Códigos onde nenhuma palavra-código é prefixo

de outra.

• Ao receber uma palavra código, esta pode ser

imediatamente decodificada.

(16)

Qual é o melhor código possível?

• Relação entre as classes:

• Consegue provar estas

(17)

Qual é o melhor código possível?

• Exemplos das classes:

• Exercício: Explique os códigos de cada coluna acima

(porque a primeira coluna trata-se de um código

singular, porque a segunda trata-se de um código não-singular mas não unicamente decodificável, e assim por diante...)

(18)

Em direção ao código ótimo

• Algoritmos de Shannon-Fano e de Huffman

• Produzem códigos relativamente eficientes:

• Métodos que constroem uma árvore de

decisão, tentando dividir o espaço das

probabilidades de maneira mais equiprovável possível (aprox 50% de um lado, e 50% do

outro) 1 ) ( ) ( C L X S

(19)

Algoritmos de Shannon-Fano e de Huffman

• Cada símbolo a ser codificado se situa numa das

folhas da árvore

• Ou seja, nenhum símbolo pode ser ancestral de

outro na árvore

Consequência: Como um símbolo nunca pode ser

ancestral de outro na árvore, nenhum símbolo é prefixo de outro

• Portanto, produzem códigos de prefixo

(20)

Relação da entropia com árvores de decisão

• Quantidade de informação: indica exatamente em

que nível cada símbolo deve se situar para que se obtenha a melhor árvore de decisão possível

(codificação ótima)

Consequência: a entropia é o limite mínimo para a

quantidade de informação média por símbolo que uma fonte transmite (Primeiro Teorema de Shannon)

(21)

Relação da entropia com árvores de decisão

• Exemplo: P(A) = 1/2, P(B) = 1/4, P(C) = 1/8, P(D) = 1/8

•- log2(P(A)) = - log2(1/2) = 1 •- log2(P(B)) = - log2(1/4) = 2 •- log2(P(C)) = - log2(1/8) = 3 •- log2(P(D)) = - log2(1/8) = 3 A B C D Nível 1 Nível 2 Nível 3 0 1 1 1 0 0 A = 0 B = 01 C = 110 D = 111

(22)

Relação da entropia com árvores de decisão

• Ou seja, quanto menos provável (mais raro) um

símbolo, mais para o fundo da árvore (mais bits para codificá-lo)

• Em média, transmitimos o menor número de bits

possível por mensagem através dessa estratégia

(23)

Código de Shannon-Fano

• Um procedimento para se gerar um código

• Cada estado gerado é independente dos

anteriores.

• P(x) nunca muda

• Fornece código eficiente

• Procedimento para se construir uma árvore de

decisão 1 ) ( ) (   C L X S

(24)

Analogia com jogo das perguntas

• Queremos adivinhar um objeto em um conjunto,

com uma série de perguntas com resposta sim/não.

• Quais as melhores perguntas?

• Aquelas que dividem o universo pela metade

• Quantas perguntas ótimas são necessárias?

• Mínimo log2(numero de objetos)

(25)

• Supõe fonte DMS (Discreta sem memória)

• Necessário conhecer as probabilidades de cada símbolo:

• Fornece um código eficiente, ou seja, com

• Sendo o comprimento médio das palavras do código.

• Idéia: agrupar símbolos em par de grupos

aproximadamente equiprováveis. Daí, a codificação ótima de cada grupo consiste em simplesmente

atribuir um dígito binário a cada grupo, por exemplo, “0” para o primeiro e “1” para o segundo.

Código de Shannon-Fano

   

x P x P

 

xk P 1 , 2 , 1   L SL

(26)

Código de Shannon-Fano

Descrição do algoritmo:

 Ordenação: listar os símbolos segundo ordem de probabilidade decrescente.

 Partição: dividir em dois grupos de maneira tão equiprovável quanto for possível.

 Atribuir “0” ao primeiro grupo e “1” ao segundo.

 Repetir o procedimento até que cada grupo contenha um único símbolo.

 O código corresponde ao conjunto de dígitos (“0” ou “1”)

atribuídos a cada símbolo.

(27)

Exemplo de Cód. de Shannon-Fano

S = 2,36 bits/símbolo L = 2,38 bits/símbolo Eficiência = S/L = 0,99

(28)

• Também supõe fonte DMS e, também, é

necessário se conhecer as probabilidades dos símbolos.

• Em geral, fornece o código ótimo:

• Idéia: atribuir mais bits para os símbolos menos prováveis usando uma árvore binária.

• Pelo fato de seguir uma árvore binária, sempre fornece um código prefixo (o que garante

decodificação unívoca e instantânea).

Código de Huffman

1 ~ máx L S   

(29)

Código de Huffman

Descrição do algoritmo:

 Ordenação: listar os símbolos segundo ordem de probabilidade decrescente.

 Redução: agrupar os dois símbolos menos prováveis e reordenar, novamente, segundo probabilidades

decrescentes. (Esse é o passo de redução 1.)

 Repetir a redução até que haja apenas dois grupos.

 Codificação: a partir da última redução, atribuir “0” ao

primeiro dígito de todos os símbolos do primeiro grupo e “1” àqueles do segundo grupo.

 Repetir o procedimento anterior até alcançar a primeira coluna.

(30)

Exemplo de Cód. de Huffman

[Coleção Schaum, Hwei Hsu]

S= 2,36 bits/símbolo L = 2,38 bits/símbolo Eficiência = S/L = 0,99

(31)

Exercício

1. [1, Ex.10.34, p.278] Uma fonte discreta sem memória (DMS) emite cinco símbolos,

s1, s2, s3, s4 e s5, com probabilidades P(s1)=0.4, P(s2)=0.19, P(s3)=0.16, P(s4)=0.15 e P(s5)=0.1. Pede-se:

a) Construa um código de Shannon-Fano.

b) Calcule a entropia da fonte, o comprimento médio do código do item anterior e a sua eficiência.

c) Construa um código de Huffman.

d) Calcule o comprimento médio do código do item anterior e a sua eficiência.

e) Compare a eficiência alcançada nas duas formas de codificação.

Resp.: a) 00, 01, 10, 110, 111 (atenção: há outras soluções possíveis); b) 2.15, 2.25, 95.6%; c) 1, 000,

001, 010, 011 (atenção: há outras soluções possíveis); d) 2.2; e) A eficiência do cód. de Huffman é maior do que a obtida usando Shannon-Fano.

(32)

Código de Lempel-Ziv

• Na prática, normalmente, não conhecemos as probabilidades dos símbolos da fonte.

• Além disso, fontes práticas não são DMS. Por

exemplo, na codificação de texto, a letra “Q” quase nunca é seguida de outra letra “Q”.

• O código proposto por Lempel e Ziv é adaptativo: reconhece padrões de bits que aparecem com mais frequência nos dados.

• Cria codebook (livro de código) com os padrões mais frequentes que aparecem nos dados.

• Padrões de bits correspondentes a sequências improváveis (como “QQ”) não são incluídos no

(33)

Código de Lempel-Ziv

(Cont.)

• Para uma longa sequência de dados, o código de

Lempel-Ziv converge assintoticamente para o código ótimo.

• Para codificação de texto, supera a eficiência do cód. de Huffman porque leva em conta a dependência

entre os símbolos.

• Usado pelo programa de compressão de dados 7zip para o formato “.7z” (www.7-zip.org).

(34)

• Dada a sequência de entrada: 000101110010100101

Codebook: supõe já armazenadas as palavras (#1) = “0” e (#2) = “1”

• Começando pela esquerda, simultaneamente, vai-se observando a sequência bit-a-bit e codificando. Sempre que aparece uma “palavra mais curta nunca vista antes” esta é acrescentada no codebook. No exemplo acima,

Sequencia 00 01 011 10 010 100 101

Codificação 11 12 42 21 41 61 62

Codebook #3 #4 #5 #6 #7 #8 #9

• Daí, é só transmitir os números da “Codificação” que o receptor poderá reconstruir a sequência e o codebook.

• Os números da “Codificação” podem ser representados em binário. Por exemplo, usando 4 bits para cada codificação, sendo 3 bits para a posição no codebook e 1 bit final (chamado de “inovação”) que é sempre 0 ou 1 , obtém-se o seguinte:

Codificação 11 12 42 21 41 61 62

Representa-ção binária

0010 0011 1001 0100 1000 1100 1101

Obs.: neste exemplo, trocou-se a “sequência de entrada” pela representação binária acima,

não havendo “compressão”. Contudo, para sequências mais longas, começa-se a ter maior eficiência na codificação.

(35)

2. Dada a sequência de entrada

000101110010100101

e usando a codificação em binária do exemplo anterior (com 4 bits), pede-se:

a) O número de palavras de código que podem ser armazenadas no codebook.

b) A saída codificada.

c) Houve compressão? Explique o motivo.

d) Faça a decodificação usando apenas a saída codificada.

Exercício

(36)
(37)

Lembremos da Charada de Maxwell

• Maxwell apresentou esta charada para Boltzmann

• O diabo abria a comporta (sem atrito e portanto sem exercer

trabalho) para que as moléculas mais rápidas e quentes (vermelhas) ficassem de um lado e as moléculas mais frias e lentas (azuis) do

outro.

• Assim a entropia diminui sem custo, e o sistema poderia acumular energia de graça, podendo ser usado como um “perpetuum mobile”

(38)

I

Entropia inicial: S1 Entropia final: S2

E lembremos que a diferencia entre as entropias das duas situações era justamente a informação que o diabo

arrecadava para abrir ou fechar a porta

(39)

Fonte fria Fonte quente Fonte de calor Q1 Q2 Trabalho

(40)

Fonte fria Fonte quente Fonte de calor Q1 Q2 Trabalho Fonte fria Fonte quente Fonte de calor Q1 Q2 Trabalho s

S

(41)

S

s

(42)

Informação transmitida, I

• É a diferencia entre o grau de entropia ou

imprevisibilidade inicial (S) e a imprevisibilidade final Sm 42

I

S

S

m

(43)

S, I e S

m

são entropias

• A entropia S é chamada também entropia da fonte de informação. Representa a capacidade potencial de informação que pode ser

fornecida por um determinado arranjo ou dispositivo.

• I é a chamada Informação transmitida ou “arredacada”.

• Sm é a entropia final, depois da mensagem

(44)

Exemplo:

• Joga-se uma bola de numa matriz com 16 possíveis

posições.

• Qual a entropia inicial (S) e qual a entropia final (Sm)? • Qual a quantidade de

informação (I) fornecida por esta bola?

(45)

Exemplo:

• Entropia inicial: S=log2(16)=4

(46)

Exemplo:

• Entropia final: Sm=log2(15)=3,9

• Informação transmitida pela bola de gude:

0.0931

15

16

log

15

log

16

log

2 2 2

S

S

m

I

(47)

Introdução as probabilidades

• Probabilidades condicionais.

(48)

Cálculo da informação

transmitida, I, via probabilidades

m1, m2,...mi,..

I

r1, r2,...rj,..

(49)

 

log2( ( j)) ( 1)log2( ( 1)) ( n)log( ( n)) j j P r P r P r P r P r r P S  

  

)) / ( log( ) / ( )) / ( ( log ) / ( )) / ( ( log / 1 2 1 2 i n i n i i i j j i j m m r P m r P m r P m r P m r P m r P S i      

• Sm é a média dos Smi         ( / )log ( ( / )) )) / ( ( log ) / ( )) / ( ( log ) / ( 2 , 2 2 i j i j j i i i i j i j j i j i j i j i i m i i m m m r P m r P m P m r P m r P m P m r P m r P m P S m P S S i i



         

Medida da informação, I, calculada com probabilidades

m

S S

(50)

Medida de informação, I, calculada com probabilidades 50

 

j i

j i

j i i j j j m m r P m r P m P r P r P S S I / log / ) ( log ) ( 2 , 2

    

 

 

j i

i i j P m P r m r P

/

Tendo em consideração que:

Obtemos:

 

 

           

) ( / log / ) ( / log / ) ( log / ) ( 2 , 2 , 2 , j i j j i i j i i j i j j i i j i j j i i r P m r P m r P m P m r P m r P m P r P m r P m P I

(51)

Exemplo de cálculo de

informação transmitida

• Maria espera um email de Júlio (que é muito importante pra ela).

• Por isso o comportamento C de Maria está hoje muito imprevisível, com dois tipos de reações:

C=cruim: preocupada e chateada. C=cbom: alegre e feliz (como sempre)

(52)

9 , 0 ) | ( 1 , 0 ) | (       b b b r m M c C P m M c C P

• As amigas de Maria que estão estudando a disciplina Natureza da Informação decidem estimar a imprevisibilidade de Maria perante as duas possíveis

mensagens de Júlio:

M = mb= e-mail bom M = mr= e-mail ruim cujas probabilidades são:

Conhecendo muito bem Maria, as amigas calculam as probabilidades de Maria estar alegre ou preocupada, dependendo do e-mail ser bom ou ruim.

2 , 0 ) / ( 8 , 0 ) / (       r b r r m M c C P m M c C P 9 , 0 ) ( 1 , 0 ) (   r b m P m P

(53)

9 , 0 ) | ( 1 , 0 ) | (       b b b r m M c C P m M c C P

• Qual a incerteza inicial sobre o estado de Maria depois do email, agora que sabemos que a mensagem virá? Podemos obter esse resultado pelo teorema da probabilidade total.

2 , 0 ) / ( 8 , 0 ) / (       r b r r m M c C P m M c C P bits C Entropia 841 , 0 551 , 0 331 , 0 ) 27 , 0 log( 27 , 0 ) 73 , 0 log( 73 , 0 ) (      

  

   

  

27 , 0 9 , 0 2 , 0 1 , 0 9 , 0         b b b b r r b P c m P m P c m P m c P

  

   

  

73 , 0 9 , 0 8 , 0 1 , 0 1 , 0         r b b r r r r P c m P m P c m P m c P

(54)

• Qual seria a imprevisibilidade prevista de Maria se o e-mail for bom - (abuso de notação: P(M=mb) escrito como P(mb))

• Qual seria a imprevisibilidade prevista de Maria se o e-mail for ruim

47 , 0 9 , 0 log 9 , 0 1 , 0 log 1 , 0 )) | ( log( ) | ( )) | ( ( log ) | ( )) | ( ( log | 2 2             

b b b b b r b r b j j b j b m m c P m c P m c P m c P m c P m c P S

72 , 0 2 , 0 log 2 , 0 8 , 0 log 8 , 0 )) | ( log( ) | ( )) | ( ( log ) | ( )) | ( ( log | 2 2 2             

r b r b r r r r r j j r j r m m c P m c P m c P m c P m r P m r P S

(55)

• Na verdade o e-mail ainda não foi encaminhado. Então a

imprevisibilidade média de Maria prevista pelas amigas dela é uma média ponderada pelas probabilidades da mensagem:

• Portanto a informação média transmitida pelo e-mail é:

 

 

 

69 , 0 72 , 0 9 , 0 47 . 0 1 , 0             

m b mb r mr i i m m S P m S P m S P m S S i i 146 , 0 695 , 0 841 , 0      S Sm I

(56)

• ATENÇÃO: Isto é uma média! Não sabemos qual será a mensagem!

– Por isso aparece a média ponderada!

• Podemos escrever Entropia(C|M) = 0,69

– Definição: Entropia Condicional (Conditional Entropy) – Significa “A entropia de C dado que sabemos M”

– Considera todos os possiveis valores de M, não um valor específico de M – É o Sm que mostramos no slides anteriores.

(57)

No caso de sabermos o conteúdo do email, como:

“Maria recebeu um e-mail bom!” entropia final seria:

... e a quantidade de Informação realmente transmitida seria

Obs.: podemos escrever

Entropia(C|M=mb)=0,47 bits,

que é a entropia dado um valor específico para M.

bits m M c C m M c C P m M c C m M c C P S b b b b b r b r mb 47 , 0 ) 9 , 0 ( log ) 9 , 0 ( ) 1 , 0 ( log 1 , 0 ) | ( log ) | ( ) | ( log ) | ( 2 2 2 2                 bits S S I   mb  0,841 0,47  0,371

(58)

Exemplos de cálculo da quantidade de

Informação

• Se a Maria não está nem aí pro Júlio, C não muda com a mudança da mensagem:

e a informação transmitida pelo e-mail seria:

58 ) ( ) | (cj mi P cj P

 

0 ) ( log | ) ( ) ( | log | ) ( 2 , 2 ,                      j j j i i j i j i j j i i j i c P c P m c P m P c P m c P m c P m P I

(59)

Exercício

1. Num sistema de comunicação binário, uma fonte emite

dígitos (“0” e “1”) equiprováveis. O canal tem uma probabilidade p de cometer erro (trocar “1” por “0” e vice-versa). Calcular:

a) A entropia da fonte (S).

b) A entropia das bits recebidos na saída do canal (Sm).

c) A quantidade média de informação transmitida pelo

canal (I).

d) A informação (I) transmitida para p=0.1.

e) A informação (I) transmitida para p=0.5. Neste caso,

observar a saída permite concluir algo sobre a mensagem emitida pela fonte?

Resp.: a) 1 b) S(p), onde S(p) = -p.logp-(1-p).log(1-p) c) I = 1-S(p) d) 0,531 e) 0.

Referências

Documentos relacionados

Corograpliiu, Col de Estados de Geografia Humana e Regional; Instituto de A lta C ultura; Centro da Estudos Geográficos da Faculdade de Letras de Lisboa.. RODRIGUES,

Podem treinar tropas (fornecidas pelo cliente) ou levá-las para combate. Geralmente, organizam-se de forma ad-hoc, que respondem a solicitações de Estados; 2)

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...

QUANDO TIVER BANHEIRA LIGADA À CAIXA SIFONADA É CONVENIENTE ADOTAR A SAÍDA DA CAIXA SIFONADA COM DIÂMTRO DE 75 mm, PARA EVITAR O TRANSBORDAMENTO DA ESPUMA FORMADA DENTRO DA

Com relação à germinação das sementes armazenadas em câmara fria, aos três meses de armazenamento (Tabela 10), observou-se em sementes tratadas ou não com fungicidas e