UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume...

47
UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2012.2 Análise da Eficiência da Codificação de Huffman em Extensões de Fontes de Informação TRABALHO DE GRADUAÇÃO Aluno: Diocleciano Dantas Neto {[email protected]} Orientador: Daniel Carvalho da Cunha {[email protected]} Recife, 29 de abril de 2013.

Transcript of UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume...

Page 1: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

UNIVERSIDADE FEDERAL DE PERNAMBUCO

GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO

CENTRO DE INFORMÁTICA

2012.2

Análise da Eficiência da Codificação de Huffman em Extensões de Fontes de Informação

TRABALHO DE GRADUAÇÃO

Aluno: Diocleciano Dantas Neto {[email protected]} Orientador: Daniel Carvalho da Cunha {[email protected]}

Recife, 29 de abril de 2013.

Page 2: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

II

UNIVERSIDADE FEDERAL DE PERNAMBUCO

GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO

CENTRO DE INFORMÁTICA

2012.2

Análise da Eficiência da Codificação de Huffman em Extensões de Fontes de Informação

TRABALHO DE GRADUAÇÃO

Trabalho de Graduação apresentado no Centro de Informática da Universidade Federal de Pernambuco por Diocleciano Dantas Neto e orientado pelo Prof. Dr. Daniel Carvalho da Cunha, como requisito para a obtenção do grau de Bacharel em Engenharia da Computação.

Recife, 2013

Page 3: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

III

Análise da Eficiência da Codificação de Huffman em Extensões de Fontes de Informação

Diocleciano Dantas Neto

________________________________________________ Orientador: Prof. Dr. Daniel Carvalho da Cunha

Page 4: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

IV

“A felicidade não se resume na

ausência de problemas, mas sim na

sua capacidade de lidar com eles.”

Albert Einstein

Page 5: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

V

Primeiramente agradeço e dedico este

trabalho aos meus pais e familiares. Em

especial agradeço a Isabella Santos pelo

apoio e motivação, sempre com

conselhos sábios e incentivos positivos.

Page 6: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

VI

Resumo

Atualmente, o método de codificação de Huffman e adaptações do mesmo são

usados principalmente no campo de compressão sem perdas de arquivos de textos,

áudio, imagens e vídeos. Uma aplicação direta para os formatos de imagens são os

formatos JPG e o PNG. Para arquivos de vídeos, utiliza-se o formato MPEG, enquanto

que para áudio, os formatos MP3 e AAC. Por fim, diversos programas de compressão,

como o Winzip e Gzip, também fazem uso da compressão sem perdas.

Sabe-se, por consequência do Primeiro Teorema de Shannon, que se pode

aumentar a eficiência da codificação através de extensões da fonte de informação, ou

seja, quanto maior a ordem da fonte estendida, mais a eficiência se aproximará de

100%. No entanto, para algumas distribuições de probabilidade do alfabeto da fonte

original, essa afirmação não é verdadeira, pois ocorre um deterioramento da eficiência

quando se aumenta a ordem da fonte estendida, mas respeitando-se os limites

impostos pelo Primeiro Teorema de Shannon.

Este trabalho tem como objetivo realizar uma análise da codificação de Huffman

para fontes de informações sem memória e suas extensões. Pretende-se avaliar o

comportamento das eficiências dos códigos obtidos para diversas extensões da fonte,

quando a distribuição de probabilidade do alfabeto da fonte original é alterada.

Page 7: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

VII

Índice

1. Introdução ...................................................................................................................... 10

2. Revisão Bibliográfica ....................................................................................................... 12

2.1 Teoria da Informação ............................................................................................... 12

2.2 Fontes de Informação .............................................................................................. 12

2.3 Extensão de uma Fonte sem Memória ..................................................................... 13

2.4 Codificação de Fontes de Informação ...................................................................... 14

2.5 Código de Huffman .................................................................................................. 16

3. Experimentos .................................................................................................................. 22

3.1 Introdução ............................................................................................................... 22

3.2 Análise dos Resultados ............................................................................................ 23

3.2.1 Fonte Binária ................................................................................................... 23

3.2.2 Fonte Ternária ................................................................................................. 29

4. Conclusão e Trabalhos Futuros ........................................................................................ 34

5. Referências ..................................................................................................................... 36

ANEXO I – Códigos do MATLAB utilizados ................................................................................ 37

ANEXO II – Distribuições de probabilidade para fonte ternária ................................................ 41

Page 8: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

VIII

Lista de Figuras

Figura 1: Representação de uma fonte de informação discreta. .............................................. 13

Figura 2: Hierárquia de classificação de códigos. ..................................................................... 15

Figura 3: Eficiência para a codificação de Huffman da fonte binária e suas extensões em função

da probabilidade (extensões de ordem 2 a 5). ..................................................................... 24

Figura 4: Eficiência para a codificação de Huffman da fonte binária e suas extensões em função

da probabilidade (extensões de ordem 6 a 9). ..................................................................... 24

Figura 5: Eficiência para a codificação de Huffman da fonte binária e suas extensões em função

da probabilidade (extensões de ordem 2 a 5) – escala ampliada. ........................................ 25

Figura 6: Eficiência para a codificação de Huffman da fonte binária e suas extensões em função

da probabilidade (extensões de ordem 6 a 9) – escala ampliada. ........................................ 25

Figura 7: Perda de eficiência para as extensões da fonte binária em função da distribuição de

probabilidade e ordem de extensão. ....................................................................................... 27

Figura 8: Plano Perda de Eficiência das extensões versus Distribuição de Probabilidade para a

fonte binária. .......................................................................................................................... 28

Figura 9: Plano Perda de Eficiência das extensões versus Ordem da Extensão para a fonte

binária. ................................................................................................................................... 29

Figura 10: Comportamento da eficiência da codificação de Huffman em função da distribuição

de probabilidade dos símbolos da fonte ternária..................................................................... 30

Figura 11: Eficiência do código de Huffman obtido para a extensão de 2ª ordem da fonte

ternária. .................................................................................................................................. 31

Figura 12: Eficiência do código de Huffman obtido para a extensão de 3ª ordem da fonte

ternária. .................................................................................................................................. 31

Figura 13: Eficiência do código de Huffman obtido para a extensão de 4ª ordem da fonte

ternária. .................................................................................................................................. 31

Figura 14: Eficiência do código de Huffman obtido para a extensão de 5ª ordem da fonte

ternária. .................................................................................................................................. 31

Figura 15: Perda de eficiência obtida para a codificação de Huffman, considerando a fonte

ternária e suas extensões de ordem 2 a 5................................................................................ 32

Page 9: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

IX

Lista de Tabelas

Tabela 1: Um código de bloco não singular. ............................................................................ 14

Tabela 2: Um código unicamente decodificável. ...................................................................... 15

Tabela 3: Um código instatâneo. ............................................................................................. 15

Tabela 4: Codificação de Huffman de uma fonte binária com distribuição de probabilidade

dada por . ....................................................................................... 18

Tabela 5: Codificação de Huffman para a extensão de segunda ordem de uma fonte binária

com distribuição de probabilidade dada por ................................... 19

Tabela 6: Codificação de Huffman para a extensão de terceira ordem de uma fonte binária com

distribuição de probabilidade dada por . ......................................... 21

Tabela 7: Distribuições de probabilidade para o experimento da fonte binária. ....................... 23

Tabela 8: Distribuições de probabilidade para o experimento da fonte ternária. ..................... 41

Page 10: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

10

1. Introdução

A primeira menção ao termo “Teoria da Informação” ocorreu em 1927 por Ralph

Vinton Lyon Hartley durante trabalho apresentado no Congresso Internacional de

Telégrafo e Telefone (SEIZING, 2009). Surgiu naquele momento, os primeiros esboços

de uma nova ciência: a Teoria da Informação.

Muitos dos avanços na Teoria da Informação aconteceram no final da década de

40 e na década de 50 com as publicações dos estudos de Robert Wiener e de Claude

Elwood Shannon (SEIZING, 2009). Vários avanços tecnológicos ocorridos no Século XX e

além se deram com base nas teorias desses dois grandes estudiosos. Shannon

introduziu o conceito de entropia da informação, que basicamente é uma medida de

incerteza. A partir desse conceito, foi possível estabelecer uma medida para a

informação e calcular parâmetros tais como a eficiência da codificação de uma fonte

de informação.

Entre as áreas em que a Teoria da Informação é aplicada, pode-se destacar a

compressão de dados com e sem perdas, a codificação de canal, a codificação de fonte

de informação, a criptografia e a transmissão de dados. No campo das comunicações e

compressão de dados, a eficiência é um requisito chave, tendo um grande peso no

desempenho do sistema em questão.

Em 1952, David Huffman, o então estudante de Doutorado do MIT, apresentou

um método ótimo para obter um código compacto para fontes de informação sem

memória, um marco na evolução da compressão e transmissão de dados.

Atualmente o método de codificação de Huffman, ou adaptações do mesmo, é

usado principalmente no campo de compressão sem perdas de arquivos de textos,

áudio, imagens e vídeos. Uma aplicação direta para os formatos de imagens são os

formatos JPG e o PNG. Para arquivos de vídeos, utiliza-se o formato MPEG, enquanto

que para áudio, são usados os formatos MP3 e AAC. Por fim, diversos programas de

compressão, como o Winzip e Gzip, também fazem uso da compressão sem perdas.

Page 11: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

11

Sabe-se, por consequência do Primeiro Teorema de Shannon (ABRAMSON, 1963,

p.72), que se pode aumentar a eficiência da codificação através de extensões da fonte

de informação, ou seja, quanto maior a ordem da fonte estendida, mais a eficiência se

aproximará de 100%. No entanto, para algumas distribuições de probabilidade do

alfabeto da fonte, essa afirmação não é verdadeira: tem-se um deterioramento da

eficiência quando se aumenta a ordem da fonte estendida, mas respeitando-se os

limites impostos pelo Primeiro Teorema de Shannon (FENWICK, 1995).

Este trabalho tem como objetivo realizar uma análise da codificação de

Huffman para fontes de informações sem memória e suas extensões. Pretende-se

avaliar o comportamento das eficiências dos códigos obtidos para diversas extensões

da fonte, quando a distribuição de probabilidade do alfabeto da fonte original é

alterada.

Page 12: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

12

2. Revisão Bibliográfica

Este capítulo tem o intuito de realizar uma revisão de forma sucinta dos

principais conceitos envolvidos neste trabalho de graduação, baseado nas definições e

conceitos encontrados em (ABRAMSON, 1963).

2.1 Teoria da Informação

No campo da computação, vários problemas estão relacionados com a

representação, armazenamento e transmissão da informação. A partir do estudo

realizado em (SHANNON, 1948), tais questões começaram a ser respondidas quando

foi definida uma medida para a quantidade de informação. A partir daí, foi possível

extrair algumas propriedades da informação.

Um conceito importante é como medir a informação a ser armazenada ou

transmitida. Para isso, define-se a quantidade de informação associada a um evento

como sendo:

,

em que é a probabilidade de ocorrência do evento .

A unidade de medida da quantidade de informação é definida pela base do

logaritmo utilizado. Caso seja a base 2, a unidade de medida da quantidade de

informação é “bit” (acrônimo de binary unit). Neste trabalho, assumiremos o “bit”

como unidade de informação.

2.2 Fontes de Informação

Uma fonte de informação nada mais é do que um mecanismo gerador de

informação a partir de um alfabeto de símbolos finito e é denotada por

Page 13: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

13

, em que cada símbolo ocorre com probabilidade , com

A Figura 1 ilustra a representação de uma fonte de informação.

Figura 1: Representação de uma fonte de informação discreta.

Em uma fonte discreta sem memória seus símbolos do alfabeto são

estaticamente independentes, tal que:

Define-se a quantidade média de informação, ou entropia, como sendo a

quantidade média de informação por símbolo da fonte:

Interpreta-se também a entropia como sendo “a quantidade média de incerteza

que o observador possui antes de obsevar a saída da fonte” (ABRAMSON, p. 15)

2.3 Extensão de uma Fonte sem Memória

Dependendo do sistema a ser modelado, uma fonte de informação precisará de

um alfabeto com mais símbolos. Em vez de aumentar a quantidade de símbolos do

alfabeto, pode-se considerar a saída da fonte formada por blocos de símbolos do

alfabeto original. Assim, a fonte de informação passa a ter

símbolos (sequências) de informação possíveis.

Formalmente, define-se a extensão de uma fonte de informação sem memória

como uma fonte de informação com alfabeto , em que cada

Fonte de

Informação

Page 14: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

14

símbolo corresponde a uma sequência de símbolos de que possui uma

probabilidade de ocorrência. O fato de a fonte original não possuir memória faz

com que a fonte estendida também não possua memória. Sendo assim, a

probabilidade de cada símbolo corresponde à probabilidade da sequência de ’s.

Como os símbolos da fonte são estatisticamente independentes, tem-se que:

.

A partir da definição apresentada anteriormente, pode-se demonstrar que a

entropia da fonte estendida se relaciona com a entropia da fonte original, tal que

(ABRAMSON, 1963, p. 21):

(2.1)

2.4 Codificação de Fontes de Informação

Um código é definido como sendo um mapeamento de todos os símbolos

possíveis de em sequências de símbolos de algum outro alfabeto ,

definido como alfabeto do código. Com isso, pode-se definir um código de bloco, que é

um código que mapeia cada símbolo do alfabeto da fonte em uma sequência fixa de

símbolos do alfabeto , que são chamadas de palavras-código.

Os códigos podem ser classificados como:

Não Singular: caso todas as palavras códigos são distintas entre si. Ex:

Tabela 1: Um código de bloco não singular.

Símbolos da Fonte Código

s1 0

s2 11

s3 00

s4 01

Page 15: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

15

Unicamente decodificável (UD): somente se a n-ésima extensão do código

é não singular, para todo n finito. Ex.:

Tabela 2: Um código unicamente decodificável.

Símbolos da Fonte Código

s1 00

s2 01

s3 10

s4 11

Instantâneo: se for possível decodificar cada palavra em uma sequência

sem ser preciso referir-se a símbolos futuros. Ex.:

Tabela 3: Um código instatâneo.

Símbolos da Fonte Código

s1 0

s2 10

s3 110

s4 1110

A hierarquia de classificação dos tipos de código é mostrada na Figura 2.

CÓDIGOS

DE BLOCO

NÃO DE BLOCO

SINGULAR

NÃO SINGULAR

UNICAMENTE DECODIFICÁVEL

NÃO UNICAMENTE

DECODIFICÁVEL

INSTANTÂNEO

NÃO INSTANTÂNEO

Figura 2: Hierárquia de classificação de códigos.

Page 16: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

16

O comprimento médio de um código é definido como sendo:

em que é o comprimento de cada palavra código.

Um código unicamente decodificável é dito compacto se seu comprimento

médio for menor ou igual ao comprimento médio de qualquer outro código

unicamente decodificável para a mesma fonte e o mesmo alfabeto do código. Dito

isso, pode-se deduzir que (ABRAMSON, p. 68):

(2.2)

Pode-se agora definir a eficiência de um código, como sendo:

Em consequência de (2.2), tem-se que:

2.5 Código de Huffman

O código gerado pelo método de Huffman (HUFFMAN, 1952) é dito compacto,

pois possui o menor comprimento médio possível se os símbolos da fonte S forem

decodificados um a um. O método de codificação de Huffman é dito ótimo, pois

garante sempre gerar um código compacto. O código de Huffman também é

instantâneo.

Para obter um código de Huffman, considere a fonte , com o alfabeto

e probabilidades , e os símbolos são ordenados de tal

forma que . Para compor o código de Huffman, tomam-

se os seguintes passos:

Page 17: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

17

Combina-se os dois últimos símbolos em um só, obtendo-se uma nova

fonte com apenas símbolos (redução de );

os símbolos dessa redução podem ser reordenados e novamente

combina-se os dois últimos para formar uma nova redução;

segue-se este procedimento, constrói-se uma sequência de fontes, cada

uma contendo um símbolo a menos em relação à anterior, até que uma

fonte com apenas 2 símbolos seja obtida, onde um código trivial

instantâneo é obtido apenas com duas palavras código ‘0’ e ‘1’;

o próximo passo é voltar na árvore binária, produzida pelas sucessivas

reduções, rastreando por quais símbolos da fonte reduzida

imediatamente anterior o símbolo foi obtido e compor um novo código

instantâneo para esta fonte, concatenando ‘0’ ou ‘1’ para os respectivos

símbolos da fonte reduzida anterior até se obter um código instantâneo

para a fonte original.

A prova que o código obtido é compacto pode ser encontrada em (ABRAMSON,

1963, p. 82).

A seguir, é apresentado um exemplo da aplicação do procedimento para se obter

um código compacto por meio da codificação de Huffman de uma fonte binária com

alfabeto e probabilidades , assim como de

suas extensões até a terceira ordem.

Primeiramente, calcula-se a entropia da fonte binária, tal que:

Em seguida, aplica-se a codificação de Huffman à fonte binária. Neste caso, basta

rotular os símbolos da fonte com os bits 0 e 1, conforme indicado na Tabela 4.

Page 18: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

18

Tabela 4: Codificação de Huffman de uma fonte binária com distribuição de probabilidade dada por .

Fonte Original

Símbolo Probabilidade Código C1

s1 0,7 0

s2 0,3 1

Após a obtenção do código, calcula-se o comprimento médio ( ) e a eficiência

( ) do código C1, tal que:

A extensão de segunda ordem da fonte é definida como

e probabilidades:

Com o auxílio da Equação , calcula-se a entropia da fonte estendida :

Vamos agora apresentar o procedimento para a obtenção de um código de

Huffman para a fonte estendida .

Primeiramente, ordena-se os símbolos da fonte estendida em ordem

decrescente de probabilidade, como nas primeira e segunda colunas da Tabela 2.

Page 19: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

19

Posteriormente, combina-se os dois últimos símbolos para obter a fonte reduzida

denotada como , fazendo , como indicado pela linha em vermelho

na Tabela 5. Novamente ordena-se os símbolos da fonte reduzida pelas

probabilidades em ordem decrescente e repete-se o último passo para chegar à fonte

reduzida , que contém somente dois símbolos. Atribui-se os bits 0 e 1 como palavras

código dos símbolos de e retorna-se à fonte reduzida mantendo a palavra código

do símbolo em comum entre e , como indicado pela seta tracejada na Tabela 5.

Então, concatena-se 0 e 1 à palavra código do símbolo de com menor

probabilidade, dando origem às palavras códigos dos dois símbolos de do qual foi

originado. Repete-se esse passo entre e a fonte estendida. Finalmente, o código de

Huffman C2 é obtido para a fonte estendida .

Tabela 5: Codificação de Huffman para a extensão de segunda ordem de uma fonte binária com distribuição de probabilidade dada por .

Fonte Original S2 Fontes Reduzidas

Símbolo Prob. Cód.C2 S1 S2

s1s1 0.49

1 0.49

1

0.51

0

s1s2 0.21 01 0.30

00

0.49

1

s2s1 0.21 000 0.21

01

s2s2 0.09 001

Após a obtenção do código, calcula-se o comprimento médio ( ) e a eficiência

( ) do código C2, tal que:

Page 20: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

20

Para finalizar o exemplo, considere a extensão de terceira ordem da fonte ,

sendo:

e probabilidades, tal que:

Com o auxílio da Equação , calcula-se a entropia da fonte estendida :

A seguir, o procedimento para obter um código de Huffman para a fonte

estendida é apresentado na Tabela 6, semelhante ao procedimento para a fonte

estendida .

Page 21: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

21

Tabela 6: Codificação de Huffman para a extensão de terceira ordem de uma fonte binária com distribuição de probabilidade dada por .

Fonte Original S2 Fontes Reduzidas

Símb. Prob. Cód. C3 S1 S2 S3 S4 S5 S6

s1s1s1 0.343

00 0.343

00

0.343

00

0.343

00

0.343

00

0.363

1

0.637

0

s1s1s2 0.147 11 0.147

11

0.147

11

0.216

10

0.294

01

0.343

00

0.363

1

s1s2s1 0.147 010 0.147

010

0.147

010

0.147

11

0.216

10

0.294

01

s2s1s1 0.147 011 0.147

011

0.147

011

0.147

010

0.147

11

s1s2s2 0.063

1000

0.09

101

0.126

100

0.147

011

s2s1s2 0.063

1001

0.063

1000

0.09

101

s2s2s1 0.063 1010 0.063

1001

s2s2s2 0.027 1011

Após a obtenção do código, calcula-se o comprimento médio ( ) e a eficiência

( ) do código C3, tal que:

Foram apresentados e exemplificados os conceitos necessários para um bom

entendimento dos experimentos e resultados descritos nos próximos capítulos.

Em uma breve análise das eficiências e , respectivamente para os

códigos C1, C2 e C3, nota-se que , tal fato será analisado e discutido no

Capítulo 3.

Page 22: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

22

3. Experimentos

Sabe-se que em consequência do Primeiro Teorema de Shannon (ABRAMSON,

1963, p.72), pode-se melhorar a eficiência da codificação realizando extensões da

fonte original, visto que (FENWICK, 1995):

(3.1)

em que é a ordem da extensão da fonte. Isto significa que à medida que se torna

suficientemente grande, a eficiência da -ésima extensão tende a 1. Contudo,

percebe-se no exemplo apresentado ao final do Capítulo 2, que para algumas

distribuições de probabilidade dos símbolos da fonte, o aumento da ordem da

extensão da fonte implica na degradação da eficiência do código obtido, contradizendo

a tendência estabelecida pelos limites da eficiência definidos na Equação .

3.1 Introdução

Tendo em vista o comportamento não condizente com a tendência estabelecida

no início deste capítulo pela Equação (3.1), foram realizados experimentos com o

intuito de analisar o comportamento da eficiência para codificações de Huffman de

fontes de informação sem memória e suas extensões.

Para realizar tal análise, foram feitos experimentos com o auxílio do MATLAB

R2011a, considerando o uso de fontes de informação com alfabetos binário e ternário.

Para compor as distribuições de probabilidade dos símbolos da fonte binária e ternária

foi adotado um passo de 0,01. No processo de codificação de Huffman, foi considerada

apenas a utilização de alfabeto de código binário. Os códigos gerados no MATLAB para

os experimentos estão apresentados no ANEXO I.

A escolha da ordem máxima de extensão da fonte analisada se deu pela

avaliação do custo computacional exigido para a obtenção do código, bem como dos

cálculos de seus parâmetros, uma vez que a complexidade cresce exponencialmente

com , em que é o número de símbolos do alfabeto da fonte original e é a ordem

Page 23: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

23

da extensão. Por este motivo, foram obtidas extensões de nona e quinta ordem para

as fontes binária e ternária, respectivamente.

3.2 Análise dos Resultados

Percebe-se uma tendência em relação à distribuição de probabilidade dos

símbolos da fonte: tanto para a fonte binária quanto para a ternária, a eficiência do

código tende a crescer, formando picos convexos crescentes e a quantidade de picos é

diretamente proporcional à ordem da extensão. Uma análise mais detalhada é

realizada nas próximas seções

3.2.1 Fonte Binária

As distribuições de probabilidade da fonte binária estão indicadas na Tabela 7,

em que é a probabilidade de ocorrência do símbolo 0 e é a probabilidade de

ocorrência do símbolo 1. No total, foram consideradas 49 distribuições de

probabilidade.

Tabela 7: Distribuições de probabilidade para o experimento da fonte binária.

Distribuição 1 - Distribuição 1 - Distribuição 1 -

1 0,01 0,99 18 0,18 0,82 35 0,35 0,65

2 0,02 0,98 19 0,19 0,81 36 0,36 0,64

3 0,03 0,97 20 0,20 0,80 37 0,37 0,63

4 0,04 0,96 21 0,21 0,79 38 0,38 0,62

5 0,05 0,95 22 0,22 0,78 39 0,39 0,61

6 0,06 0,94 23 0,23 0,77 40 0,40 0,60

7 0,07 0,93 24 0,24 0,76 41 0,41 0,59

8 0,08 0,92 25 0,25 0,75 42 0,42 0,58

9 0,09 0,91 26 0,26 0,74 43 0,43 0,57

10 0,10 0,90 27 0,27 0,73 44 0,44 0,56

11 0,11 0,89 28 0,28 0,72 45 0,45 0,55

12 0,12 0,88 29 0,29 0,71 46 0,46 0,54

13 0,13 0,87 30 0,30 0,70 47 0,47 0,53

14 0,14 0,86 31 0,31 0,69 48 0,48 0,52

15 0,15 0,85 32 0,32 0,68 49 0,49 0,51

16 0,16 0,84 33 0,33 0,67

17 0,17 0,83 34 0,34 0,66

Page 24: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

24

Para cada fonte binária representada por uma distribuição da Tabela 7, foram

geradas extensões de ordem , e para cada extensão considerada, foi

gerado um código de Huffman e calculada a sua eficiência. As Figuras 3 e 4 ilustram o

comportamento das eficiências em função da probabilidade do símbolo da fonte

binária original.

Figura 3: Eficiência para a codificação de Huffman da fonte binária e suas extensões em função da probabilidade (extensões de ordem 2 a 5).

Figura 4: Eficiência para a codificação de Huffman da fonte binária e suas extensões em função da probabilidade (extensões de ordem 6 a 9).

Page 25: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

25

Uma vez que os valores de eficiência são muito próximos (fontes estendidas a

partir da 5ª ordem), alguns trechos das Figuras 3 e 4 foram ampliados, destacando-se

apenas as eficiências acima de 95% (extensões de ordem 2 a 5) e 98% (extensões de

ordem 6 a 9), respectivamente. As Figuras 5 e 6 mostram a ampliação mencionada.

Figura 5: Eficiência para a codificação de Huffman da fonte binária e suas extensões em função da probabilidade (extensões de ordem 2 a 5) – escala ampliada.

Figura 6: Eficiência para a codificação de Huffman da fonte binária e suas extensões em função da probabilidade (extensões de ordem 6 a 9) – escala ampliada.

Page 26: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

26

Para distribuições de probabilidade a partir de aproximadamente ,

percebe-se que a eficiência da codificação aproxima-se de 100% com um ganho muito

pequeno não importando a ordem da extensão, como nota-se nas Figuras 5 e 6.

À medida que se diminui , tem-se um ganho considerável na eficiência da

codificação da extensão de segunda ordem em relação à da fonte original,

principalmente para valores pequenos de como se nota na Figura 3. Por exemplo,

para , a eficiência da codificação da extensão de segunda ordem em relação à

eficiência da fonte original dá um salto de 0,08 para 0,15, um aumento aproximado de

87%.

Para permitir a identificação das distribuições de probabilidade nas quais ocorre

a degradação da eficiência, assim como a ordem da extensão, foi gerado um gráfico

3D, no qual o eixo x representa a distribuição de probabilidade, o eixo y representa a

ordem da extensão e, por fim, o eixo z representa a magnitude da perda da eficiência.

A magnitude da perda da eficiência foi calculada pela diferença entre a eficiência

da extensão de ordem e da extensão de ordem . Isto significa que o gráfico

indica somente quais distribuições de probabilidade e em quais ordens de extensão

houve o comportamento não condizente com a tendência estabelecida pela equação

(3.1). Por exemplo, a maior magnitude de perda na eficiência do código de Huffman

ocorreu para , da extensão de terceira para a de quarta ordem, conforme

observado na Figura 7.

Page 27: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

27

Figura 7: Perda de eficiência para as extensões da fonte binária em função da distribuição de probabilidade e ordem de extensão.

Outro resultado constatado é que se tem um ganho diminuído à medida que se

aumenta a ordem da extensão. Tal ganho deve-se ser avaliado cuidadosamente, pois

se tem que levar em conta o custo computacional associado ao cálculo da extensão e

sua respectiva codificação. Em via de regra, esse comportamento é seguido para as

demais distribuições, porém há casos onde se percebe uma perda da eficiência quando

aumentamos a ordem da extensão. A Figura 8 mostra em quais distribuições há uma

perda da eficiência, adicionalmente percebe-se que a magnitude da perda não passa

dos 2% no pior caso e que não houve perda para distribuições a partir de .

Page 28: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

28

Figura 8: Plano Perda de Eficiência das extensões versus Distribuição de Probabilidade para a fonte binária.

Não houve perda da eficiência da codificação em relação à extensão de segunda

ordem para nenhuma distribuição de probabilidade e à medida que a ordem da

extensão cresce se observa uma tendência decrescente na magnitude da perda como

se pode perceber no gráfico da Figura 9.

Page 29: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

29

Figura 9: Plano Perda de Eficiência das extensões versus Ordem da Extensão para a fonte binária.

Quando , a eficiência da codificação para a fonte original atinge seu valor

máximo, como também a eficiência para as suas extensões independente da ordem.

Este fato pode ser explicado por ser a única distribuição de probabilidade para a fonte

binária em que se calculando o

, para , resulta em um número inteiro.

Isso ocorre por conta do alfabeto do código ser binário e as probabilidades dos

símbolos da fonte serem potências de

, com . Pode-se obter informações

adicionais sobre esse fato em (ABRAMSON, 1963, p. 88).

3.2.2 Fonte Ternária

Foram geradas 810 combinações para a distribuição de probabilidade da fonte

ternária. As distribuições obtidas estão representadas no ANEXO II devidamente

identificadas em sequência.

Para cada distribuição de probabilidade foi atribuída uma identificação em

sequência de acordo com a Tabela 8 localizada no ANEXO II, por conta da

Page 30: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

30

impossibilidade de representar as mesmas no eixo x de maneira legível nos gráficos

gerados para a eficiência da codificação da fonte original e suas extensões.

Para a fonte ternária, percebe-se um padrão de comportamento semelhante ao

da fonte binária, salvo quando se aproxima da distribuição de probabilidade

identificada como 810, pois a eficiência da codificação decresce como se nota na

Figura 10. Tanto a quantidade de picos quanto a variação dos mesmos é maior do que

para a fonte binária.

Figura 10: Comportamento da eficiência da codificação de Huffman em função da distribuição de probabilidade dos símbolos da fonte ternária.

Vale ressaltar que nas distribuições identificadas da 14 (0,01;0,16;0,83) até a 47

(0,01;0,49;0,5) a extensão de segunda ordem tem uma eficiência acima de 0,9, como

se observa na Figura 11, um ganho na eficiência da codificação entre 30% e 50%.

Com a extensão de segunda ordem da fonte ternária se obtêm, em boa parte das

distribuições de probabilidade, uma eficiência acima de 90%.

Apesar de uma variação maior da eficiência na codificação das extensões das

fontes ternárias comparada com as das fontes binárias, a eficiência da codificação para

Page 31: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

31

as extensões das fontes ternárias se aproximam mais rapidamente de 100% na maioria

das distribuições de probabilidade, como se nota nas Figuras 11, 12, 13 e 14.

Figura 11: Eficiência do código de Huffman obtido para a extensão de 2ª ordem da fonte ternária.

Figura 12: Eficiência do código de Huffman obtido para a extensão de 3ª ordem da fonte ternária.

Figura 13: Eficiência do código de Huffman obtido para a extensão de 4ª ordem da fonte ternária.

Figura 14: Eficiência do código de Huffman obtido para a extensão de 5ª ordem da fonte ternária.

Semelhantemente ao experimento para a fonte binária, foi gerado um gráfico

onde se mostra em quais distribuições de probabilidade e extensões houve uma perda

na eficiência, ao se comparar fontes estendidas consecutivas (ordens e ). A

degradação da eficiência à medida que a ordem da extensão cresce está representada

Page 32: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

32

na Figura 15. Nota-se que as maiores magnitudes de perda na eficiência, como

também o maior número de distribuições de probabilidades atingido, é quando se

passa da extensão de terceira para a de quarta ordem. Contudo, a magnitude da perda

é, em geral, abaixo de 2%.

Figura 15: Perda de eficiência obtida para a codificação de Huffman, considerando a fonte ternária e suas extensões de ordem 2 a 5.

A eficiência do código da extensão de segunda ordem sempre é maior para todas

as distribuições de probabilidades em relação ao da codificação da fonte original, em

outras palavras, não houve perda na magnitude da eficiência do código obtido para a

extensão de segunda ordem em relação ao código obtido para a fonte original.

Algo semelhante ao caso para a fonte binária quando é que a única

distribuição que a eficiência foi máxima na codificação da fonte original e das suas

extensões foi a identificada como 746 (0,25;0,25;0,5), pois em se calcular o

para , resulta em um número inteiro. Pode-se estender esta constatação para

Page 33: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

33

o caso em que o alfabeto do código é ternário e as probabilidades dos símbolos da

fonte original são potências de

, com .

Page 34: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

34

4. Conclusão e Trabalhos Futuros

Com a análise dos resultados dos experimentos, percebe-se uma tendência em

haver uma perda de maior magnitude na eficiência da codificação para a extensão de

quarta ordem em relação à de terceira ordem, em geral abaixo 2%, tanto para a fonte

binária quanto para a fonte ternária.

A perda na eficiência pode não parecer significativa, porém tem que se levar em

consideração o custo computacional para se obter as codificações das extensões em

questão. Em outras palavras, dependendo da distribuição de probabilidade da fonte

original não é viável realizar sua extensão a fim de se obter uma maior eficiência para a

codificação, para ordens acima da segunda.

Mostrou-se ser uma tendência para uma grande parte das distribuições de

probabilidades, tanto para a fonte binária quanto para a ternária, um ganho

significativo na eficiência da codificação quando se obteve a codificação da extensão

de segunda ordem. O ganho na eficiência da codificação passou dos 90% para a

maioria das distribuições de probabilidade, salvo para as distribuições da fonte binária

com e para a distribuição de número 746 da fonte ternária. Conclui-se que,

dependendo da aplicação, é valido levar em consideração a obtenção da extensão de

segunda ordem da fonte original a fim de se obter um ganho significativo da eficiência

na codificação.

Uma possível aplicação para os resultados obtidos é a codificação de imagens em

escala de cinza para a exibição em displays monocromáticos utilizando a técnica de

dithering (YAO, 2010) a fim de obter um ganho significativo na eficiência da

codificação. Desta maneira, é possível economizar largura de banda para a transmissão

dos dados em questão.

Um possível trabalho futuro seria a obtenção de expressões analíticas para

representar a eficiência da codificação de Huffman para as diversas extensões da fonte

de informação. Como também aplicar os resultados obtidos neste trabalho de

graduação para melhorar o desempenho da compressão sem perdas de imagens preto

e branco. Tratando-as como fontes de informações binárias. Desta forma seria possível

Page 35: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

35

analisar a distribuição de probabilidade dos seus símbolos (cor do pixel) e caso seja

pertinente, realizar a extensão de segunda da fonte original a fim de se obter uma

codificação mais eficiente, consequentemente uma melhor taxa de compressão.

.

Page 36: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

36

5. Referências

ABRAMSON, N. Information Theory and Coding. 1 ed., Mc-Graw Hill, 1963.

FENWICK, P. M., “Huffman Code Efficiencies for Extensions of Sources,” IEEE

Transactions on Communications, vol. 43, nº 2/3/4, Fev/Mar/Abr 1995.

HUFFMAN, D. A. “A Method for the Construction of Minimum-Redundancy Codes,” Proceedings of the IRE, pp. 1098-1101, Set 1952.

SALOMON, D. Data Compression – The Complete Reference. 3 ed., Springer-Verlag NY, 2004.

SEISING R., “On two 60 years old theories and the Theory of Fuzzy Sets and Systems: Cybernetics and Information Theory,” In: Proc. of the 28th North American Fuzzy Information Processing Society Annual Conf., 2009, USA, pp. 1-6.

SHANNON C. E., "A Mathematical Theory of Communication", The Bell System Technical Journal, 27, pp. 379-423 & 623-656, 1948. YAO Z., WAN Y., “A High Performance Dithering Method For Gray And Color Image Quantization,” In Proc. of the 6th International Conference on Wireless Communications Networking and Mobile Computing (WiCOM), 2010.

Page 37: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

37

ANEXO I – Códigos do MATLAB utilizados

function [e,l,h]=huffman(prob); %HUFFMAN Retorna: % -a eficiência "e" da codificação % -o comprimento médio das palavras-código "l" % -o codigo de Huffman "h" if abs(sum(prob)-1)>10e-10 error('prob não é um vetor de probabilidade, a soma é maior do que 1') end %Ordena o vetor de probabilidade em ordem decrescente prob=sort(prob,'descend'); n=length(prob); q=prob; m=zeros(n-1,n); for i=1:n-1 [q,l]=sort(q); m(i,:)=[l(1:n-i+1),zeros(1,i-1)]; q=[q(1)+q(2),q(3:n),1]; end for i=1:n-1 c(i,:)=blanks(n*n); end c(n-1,n)='0'; c(n-1,2*n)='1'; for i=2:n-1 c(n-i,1:n-1)=c(n-i+1,n*(find(m(n-i+1,:)==1))-(n-2):n*(find(m(n-i+1,:)==1))); c(n-i,n)='0'; c(n-i,n+1:2*n-1)=c(n-i,1:n-1); c(n-i,2*n)='1'; for j=1:i-1 c(n-i,(j+1)*n+1:(j+2)*n)=c(n-i+1,n*(find(m(n-i+1,:)==j+1)-1)+1:n*find(m(n-i+1,:)==j+1)); end end for i=1:n h(i,1:n)=c(1,n*(find(m(1,:)==i)-1)+1:find(m(1,:)==i)*n); ll(i)=length(find(abs(h(i,:))~=32)); end %Calcula o comprimento médio da codificação l=sum(prob.*ll); %Calcula a entropia da codificação binária ent=entropia(prob,2); %Calcula a eficiência da codificação e=ent/l;

Page 38: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

38

function y=extensao(p,n,f) % Calcula até a n-ésima extensão da fonte com distribuição de %probabilidade p. Na n-ésima linha do arquivo passado como parametro 'f' é salvo %a n-ésima extensão com seu comprimento média, entropia e eficiência. 'y' é %um vetor de tamanho 'n' onde na i-ésima posição está a eficiência i-ésima %extensão. if n<1 error('A extensão tem q ser no mínimo 1') end %Aloca o vetor Y y=zeros([1,n]); %Cria arquivo de saída fid=fopen(f,'w'); %Copia a vetor de probabilidade para a primeira extensão ext=p; %Laço que calcula até a n-ésima extensão for i=1:n %primeira codificação if i==1 [e,l,h]=huffman(p); else j=1; for k=1:length(ext) for g=1:length(p) tmp(j)=ext(k)*p(g); j=j+1; end end %ext assume os novos valores da extensão ext=tmp; %os paremetros são calculados [e,l,h]=huffman(ext); end %Salva no arquivo as informações da codificação fprintf(fid,'%c','#'); fprintf(fid,'%d',i); fprintf(fid,'%s','=> '); fprintf(fid,'%f',e); fprintf(fid,'%c',' '); fprintf(fid,'%f',l); for j=1:length(h) fprintf(fid,'%s',h(j,:)); end fprintf(fid,'\n'); %salva a eficiência da i-ésima extensão y(i)=e; end %Fecha arquivo de saída e retorna o status da operação de saída fclose(fid); y;

Page 39: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

39

function P=inserirLinha(M,k,linha) %Insere na k-ésima linha da matriz M a 'linha' caso ela ainda não exista na %matriz M. [n,m]=size(M); temLinha=0; for i=1:n if M(i,:)==linha temLinha = 1; end end if temLinha == 0 M((n+1),:)=linha; end P=M;

%Monta a matriz de probabilidades para o experimento da fonte ternaria A=0.01:0.01:0.98; B=0.01:0.01:0.98; C=0.01:0.01:0.98; p=1; P=[]; for a=1:length(A) for b=1:length(B) for c=1:length(C) prob = [A(a) B(b) C(c)]; if sum(prob) == 1 prob=sort(prob); P=inserirLinha(P,p,prob); p=p+1; end end end end

function h=entropia(p1,r) %H=ENTROPIA(P) retorna a entropia do vetor de probabilidade P %com o alfabeto da fonte com "r" símbolos. if abs(sum(p1)-1)>10e-10 error('prob não é um vetor de probabilidade, a soma é maior do que 1') end l=-log10(p1)/log10(r); h=sum(p1.*l);

Page 40: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

40

function [E,D]=experimentoTernario(P) %E é a matriz de eficiências, onde na i-ésima linha está respectivamente %as eficiências da codificação até a extensão de ordem 5, da i-ésima distribuição %de probabilidade localizada na matriz P. for i=1:length(P) E(i,:)=extensao(P(i,:),5,int2str(i)); end [n,m]=size(E); %D é a matriz da diferença entre a eficiência da extensão de ordem (n+1)-ésima e a de n-ésima ordem D=zeros(n,(m-1)); for i=1:n for j=1:(m-1) d=E(i,j+1)-E(i,j); if d<0 D(i,j)=d; end end end

Page 41: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

41

ANEXO II – Distribuições de probabilidade para fonte

ternária

Tabela 8: Distribuições de probabilidade para o experimento da fonte ternária.

1 [0,01 0,01 0,98]' 41 [0,01 0,43 0,56]' 81 [0,02 0,37 0,61]' 121 [0,03 0,36 0,61]'

2 [0,01 0,02 0,97]' 42 [0,01 0,44 0,55]' 82 [0,02 0,38 0,6]' 122 [0,03 0,37 0,6]'

3 [0,01 0,03 0,96]' 43 [0,01 0,45 0,54]' 83 [0,02 0,39 0,59]' 123 [0,03 0,38 0,59]'

4 [0,01 0,04 0,95]' 44 [0,01 0,46 0,53]' 84 [0,02 0,4 0,58]' 124 [0,03 0,39 0,58]'

5 [0,01 0,05 0,94]' 45 [0,01 0,47 0,52]' 85 [0,02 0,41 0,57]' 125 [0,03 0,4 0,57]'

6 [0,01 0,06 0,93]' 46 [0,01 0,48 0,51]' 86 [0,02 0,42 0,56]' 126 [0,03 0,41 0,56]'

7 [0,01 0,09 0,9]' 47 [0,01 0,49 0,5]' 87 [0,02 0,43 0,55]' 127 [0,03 0,42 0,55]'

8 [0,01 0,1 0,89]' 48 [0,02 0,02 0,96]' 88 [0,02 0,44 0,54]' 128 [0,03 0,43 0,54]'

9 [0,01 0,11 0,88]' 49 [0,02 0,03 0,95]' 89 [0,02 0,45 0,53]' 129 [0,03 0,44 0,53]'

10 [0,01 0,12 0,87]' 50 [0,02 0,04 0,94]' 90 [0,02 0,46 0,52]' 130 [0,03 0,45 0,52]'

11 [0,01 0,13 0,86]' 51 [0,02 0,05 0,93]' 91 [0,02 0,47 0,51]' 131 [0,03 0,46 0,51]'

12 [0,01 0,14 0,85]' 52 [0,02 0,08 0,9]' 92 [0,02 0,48 0,5]' 132 [0,03 0,47 0,5]'

13 [0,01 0,15 0,84]' 53 [0,02 0,09 0,89]' 93 [0,02 0,49 0,49]' 133 [0,03 0,48 0,49]'

14 [0,01 0,16 0,83]' 54 [0,02 0,1 0,88]' 94 [0,02 0,06 0,92]' 134 [0,03 0,34 0,63]'

15 [0,01 0,17 0,82]' 55 [0,02 0,11 0,87]' 95 [0,03 0,03 0,94]' 135 [0,03 0,33 0,64]'

16 [0,01 0,18 0,81]' 56 [0,02 0,12 0,86]' 96 [0,03 0,04 0,93]' 136 [0,03 0,32 0,65]'

17 [0,01 0,19 0,8]' 57 [0,02 0,13 0,85]' 97 [0,03 0,07 0,9]' 137 [0,03 0,31 0,66]'

18 [0,01 0,2 0,79]' 58 [0,02 0,14 0,84]' 98 [0,03 0,08 0,89]' 138 [0,03 0,3 0,67]'

19 [0,01 0,21 0,78]' 59 [0,02 0,15 0,83]' 99 [0,03 0,09 0,88]' 139 [0,03 0,06 0,91]'

20 [0,01 0,22 0,77]' 60 [0,02 0,16 0,82]' 100 [0,03 0,1 0,87]' 140 [0,03 0,05 0,92]'

21 [0,01 0,23 0,76]' 61 [0,02 0,17 0,81]' 101 [0,03 0,11 0,86]' 141 [0,04 0,06 0,9]'

22 [0,01 0,24 0,75]' 62 [0,02 0,18 0,8]' 102 [0,03 0,12 0,85]' 142 [0,04 0,07 0,89]'

23 [0,01 0,25 0,74]' 63 [0,02 0,19 0,79]' 103 [0,03 0,13 0,84]' 143 [0,04 0,08 0,88]'

24 [0,01 0,26 0,73]' 64 [0,02 0,2 0,78]' 104 [0,03 0,14 0,83]' 144 [0,04 0,09 0,87]'

25 [0,01 0,27 0,72]' 65 [0,02 0,21 0,77]' 105 [0,03 0,15 0,82]' 145 [0,04 0,1 0,86]'

26 [0,01 0,28 0,71]' 66 [0,02 0,22 0,76]' 106 [0,03 0,16 0,81]' 146 [0,04 0,11 0,85]'

27 [0,01 0,29 0,7]' 67 [0,02 0,23 0,75]' 107 [0,03 0,17 0,8]' 147 [0,04 0,12 0,84]'

28 [0,01 0,3 0,69]' 68 [0,02 0,24 0,74]' 108 [0,03 0,18 0,79]' 148 [0,04 0,13 0,83]'

29 [0,01 0,31 0,68]' 69 [0,02 0,25 0,73]' 109 [0,03 0,19 0,78]' 149 [0,04 0,14 0,82]'

30 [0,01 0,32 0,67]' 70 [0,02 0,26 0,72]' 110 [0,03 0,2 0,77]' 150 [0,04 0,15 0,81]'

31 [0,01 0,33 0,66]' 71 [0,02 0,27 0,71]' 111 [0,03 0,21 0,76]' 151 [0,04 0,16 0,8]'

32 [0,01 0,34 0,65]' 72 [0,02 0,28 0,7]' 112 [0,03 0,22 0,75]' 152 [0,04 0,17 0,79]'

33 [0,01 0,35 0,64]' 73 [0,02 0,29 0,69]' 113 [0,03 0,23 0,74]' 153 [0,04 0,18 0,78]'

34 [0,01 0,36 0,63]' 74 [0,02 0,3 0,68]' 114 [0,03 0,24 0,73]' 154 [0,04 0,19 0,77]'

35 [0,01 0,37 0,62]' 75 [0,02 0,31 0,67]' 115 [0,03 0,25 0,72]' 155 [0,04 0,2 0,76]'

36 [0,01 0,38 0,61]' 76 [0,02 0,32 0,66]' 116 [0,03 0,26 0,71]' 156 [0,04 0,21 0,75]'

37 [0,01 0,39 0,6]' 77 [0,02 0,33 0,65]' 117 [0,03 0,27 0,7]' 157 [0,04 0,22 0,74]'

38 [0,01 0,4 0,59]' 78 [0,02 0,34 0,64]' 118 [0,03 0,28 0,69]' 158 [0,04 0,23 0,73]'

39 [0,01 0,41 0,58]' 79 [0,02 0,35 0,63]' 119 [0,03 0,29 0,68]' 159 [0,04 0,24 0,72]'

40 [0,01 0,42 0,57]' 80 [0,02 0,36 0,62]' 120 [0,03 0,35 0,62]' 160 [0,04 0,25 0,71]'

Page 42: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

42

161 [0,04 0,26 0,7]' 201 [0,05 0,2 0,75]' 241 [0,06 0,18 0,76]' 281 [0,07 0,17 0,76]'

162 [0,04 0,27 0,69]' 202 [0,05 0,21 0,74]' 242 [0,06 0,19 0,75]' 282 [0,07 0,18 0,75]'

163 [0,04 0,28 0,68]' 203 [0,05 0,22 0,73]' 243 [0,06 0,2 0,74]' 283 [0,07 0,19 0,74]'

164 [0,04 0,29 0,67]' 204 [0,05 0,23 0,72]' 244 [0,06 0,21 0,73]' 284 [0,07 0,2 0,73]'

165 [0,04 0,34 0,62]' 205 [0,05 0,24 0,71]' 245 [0,06 0,22 0,72]' 285 [0,07 0,21 0,72]'

166 [0,04 0,35 0,61]' 206 [0,05 0,25 0,7]' 246 [0,06 0,23 0,71]' 286 [0,07 0,22 0,71]'

167 [0,04 0,36 0,6]' 207 [0,05 0,26 0,69]' 247 [0,06 0,24 0,7]' 287 [0,07 0,23 0,7]'

168 [0,04 0,37 0,59]' 208 [0,05 0,27 0,68]' 248 [0,06 0,25 0,69]' 288 [0,07 0,24 0,69]'

169 [0,04 0,38 0,58]' 209 [0,05 0,28 0,67]' 249 [0,06 0,26 0,68]' 289 [0,07 0,25 0,68]'

170 [0,04 0,39 0,57]' 210 [0,05 0,29 0,66]' 250 [0,06 0,27 0,67]' 290 [0,07 0,26 0,67]'

171 [0,04 0,4 0,56]' 211 [0,05 0,33 0,62]' 251 [0,06 0,28 0,66]' 291 [0,07 0,27 0,66]'

172 [0,04 0,41 0,55]' 212 [0,05 0,34 0,61]' 252 [0,06 0,29 0,65]' 292 [0,07 0,28 0,65]'

173 [0,04 0,42 0,54]' 213 [0,05 0,35 0,6]' 253 [0,06 0,32 0,62]' 293 [0,07 0,29 0,64]'

174 [0,04 0,43 0,53]' 214 [0,05 0,36 0,59]' 254 [0,06 0,33 0,61]' 294 [0,07 0,31 0,62]'

175 [0,04 0,44 0,52]' 215 [0,05 0,37 0,58]' 255 [0,06 0,34 0,6]' 295 [0,07 0,32 0,61]'

176 [0,04 0,45 0,51]' 216 [0,05 0,38 0,57]' 256 [0,06 0,35 0,59]' 296 [0,07 0,33 0,6]'

177 [0,04 0,46 0,5]' 217 [0,05 0,39 0,56]' 257 [0,06 0,36 0,58]' 297 [0,07 0,34 0,59]'

178 [0,04 0,47 0,49]' 218 [0,05 0,4 0,55]' 258 [0,06 0,37 0,57]' 298 [0,07 0,35 0,58]'

179 [0,04 0,48 0,48]' 219 [0,05 0,41 0,54]' 259 [0,06 0,38 0,56]' 299 [0,07 0,36 0,57]'

180 [0,04 0,33 0,63]' 220 [0,05 0,42 0,53]' 260 [0,06 0,39 0,55]' 300 [0,07 0,37 0,56]'

181 [0,04 0,32 0,64]' 221 [0,05 0,43 0,52]' 261 [0,06 0,4 0,54]' 301 [0,07 0,38 0,55]'

182 [0,04 0,31 0,65]' 222 [0,05 0,44 0,51]' 262 [0,06 0,41 0,53]' 302 [0,07 0,39 0,54]'

183 [0,04 0,3 0,66]' 223 [0,05 0,45 0,5]' 263 [0,06 0,42 0,52]' 303 [0,07 0,4 0,53]'

184 [0,04 0,05 0,91]' 224 [0,05 0,46 0,49]' 264 [0,06 0,43 0,51]' 304 [0,07 0,41 0,52]'

185 [0,04 0,04 0,92]' 225 [0,05 0,47 0,48]' 265 [0,06 0,44 0,5]' 305 [0,07 0,42 0,51]'

186 [0,05 0,05 0,9]' 226 [0,05 0,32 0,63]' 266 [0,06 0,45 0,49]' 306 [0,07 0,43 0,5]'

187 [0,05 0,06 0,89]' 227 [0,05 0,31 0,64]' 267 [0,06 0,46 0,48]' 307 [0,07 0,44 0,49]'

188 [0,05 0,07 0,88]' 228 [0,05 0,3 0,65]' 268 [0,06 0,47 0,47]' 308 [0,07 0,45 0,48]'

189 [0,05 0,08 0,87]' 229 [0,06 0,06 0,88]' 269 [0,06 0,31 0,63]' 309 [0,07 0,46 0,47]'

190 [0,05 0,09 0,86]' 230 [0,06 0,07 0,87]' 270 [0,06 0,3 0,64]' 310 [0,08 0,08 0,84]'

191 [0,05 0,1 0,85]' 231 [0,06 0,08 0,86]' 271 [0,07 0,07 0,86]' 311 [0,08 0,09 0,83]'

192 [0,05 0,11 0,84]' 232 [0,06 0,09 0,85]' 272 [0,07 0,08 0,85]' 312 [0,08 0,1 0,82]'

193 [0,05 0,12 0,83]' 233 [0,06 0,1 0,84]' 273 [0,07 0,09 0,84]' 313 [0,08 0,11 0,81]'

194 [0,05 0,13 0,82]' 234 [0,06 0,11 0,83]' 274 [0,07 0,1 0,83]' 314 [0,08 0,12 0,8]'

195 [0,05 0,14 0,81]' 235 [0,06 0,12 0,82]' 275 [0,07 0,11 0,82]' 315 [0,08 0,13 0,79]'

196 [0,05 0,15 0,8]' 236 [0,06 0,13 0,81]' 276 [0,07 0,12 0,81]' 316 [0,08 0,14 0,78]'

197 [0,05 0,16 0,79]' 237 [0,06 0,14 0,8]' 277 [0,07 0,13 0,8]' 317 [0,08 0,15 0,77]'

198 [0,05 0,17 0,78]' 238 [0,06 0,15 0,79]' 278 [0,07 0,14 0,79]' 318 [0,08 0,16 0,76]'

199 [0,05 0,18 0,77]' 239 [0,06 0,16 0,78]' 279 [0,07 0,15 0,78]' 319 [0,08 0,17 0,75]'

200 [0,05 0,19 0,76]' 240 [0,06 0,17 0,77]' 280 [0,07 0,16 0,77]' 320 [0,08 0,18 0,74]'

Page 43: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

43

321 [0,08 0,19 0,73]' 361 [0,09 0,21 0,7]' 401 [0,1 0,32 0,58]' 441 [0,11 0,39 0,5]'

322 [0,08 0,2 0,72]' 362 [0,09 0,22 0,69]' 402 [0,1 0,33 0,57]' 442 [0,11 0,4 0,49]'

323 [0,08 0,21 0,71]' 363 [0,09 0,23 0,68]' 403 [0,1 0,34 0,56]' 443 [0,11 0,41 0,48]'

324 [0,08 0,22 0,7]' 364 [0,09 0,24 0,67]' 404 [0,1 0,35 0,55]' 444 [0,11 0,42 0,47]'

325 [0,08 0,23 0,69]' 365 [0,09 0,29 0,62]' 405 [0,1 0,36 0,54]' 445 [0,11 0,43 0,46]'

326 [0,08 0,24 0,68]' 366 [0,09 0,3 0,61]' 406 [0,1 0,37 0,53]' 446 [0,11 0,44 0,45]'

327 [0,08 0,25 0,67]' 367 [0,09 0,31 0,6]' 407 [0,1 0,38 0,52]' 447 [0,12 0,12 0,76]'

328 [0,08 0,26 0,66]' 368 [0,09 0,32 0,59]' 408 [0,1 0,39 0,51]' 448 [0,12 0,13 0,75]'

329 [0,08 0,27 0,65]' 369 [0,09 0,33 0,58]' 409 [0,1 0,4 0,5]' 449 [0,12 0,14 0,74]'

330 [0,08 0,28 0,64]' 370 [0,09 0,34 0,57]' 410 [0,1 0,41 0,49]' 450 [0,12 0,15 0,73]'

331 [0,08 0,29 0,63]' 371 [0,09 0,35 0,56]' 411 [0,1 0,42 0,48]' 451 [0,12 0,16 0,72]'

332 [0,08 0,3 0,62]' 372 [0,09 0,36 0,55]' 412 [0,1 0,43 0,47]' 452 [0,12 0,17 0,71]'

333 [0,08 0,31 0,61]' 373 [0,09 0,37 0,54]' 413 [0,1 0,44 0,46]' 453 [0,12 0,18 0,7]'

334 [0,08 0,32 0,6]' 374 [0,09 0,38 0,53]' 414 [0,1 0,45 0,45]' 454 [0,12 0,19 0,69]'

335 [0,08 0,33 0,59]' 375 [0,09 0,39 0,52]' 415 [0,11 0,11 0,78]' 455 [0,12 0,2 0,68]'

336 [0,08 0,34 0,58]' 376 [0,09 0,4 0,51]' 416 [0,11 0,12 0,77]' 456 [0,12 0,21 0,67]'

337 [0,08 0,35 0,57]' 377 [0,09 0,41 0,5]' 417 [0,11 0,13 0,76]' 457 [0,12 0,26 0,62]'

338 [0,08 0,36 0,56]' 378 [0,09 0,42 0,49]' 418 [0,11 0,14 0,75]' 458 [0,12 0,27 0,61]'

339 [0,08 0,37 0,55]' 379 [0,09 0,43 0,48]' 419 [0,11 0,15 0,74]' 459 [0,12 0,28 0,6]'

340 [0,08 0,38 0,54]' 380 [0,09 0,44 0,47]' 420 [0,11 0,16 0,73]' 460 [0,12 0,29 0,59]'

341 [0,08 0,39 0,53]' 381 [0,09 0,45 0,46]' 421 [0,11 0,17 0,72]' 461 [0,12 0,3 0,58]'

342 [0,08 0,4 0,52]' 382 [0,1 0,1 0,8]' 422 [0,11 0,18 0,71]' 462 [0,12 0,31 0,57]'

343 [0,08 0,41 0,51]' 383 [0,1 0,11 0,79]' 423 [0,11 0,19 0,7]' 463 [0,12 0,32 0,56]'

344 [0,08 0,42 0,5]' 384 [0,1 0,12 0,78]' 424 [0,11 0,2 0,69]' 464 [0,12 0,33 0,55]'

345 [0,08 0,43 0,49]' 385 [0,1 0,13 0,77]' 425 [0,11 0,21 0,68]' 465 [0,12 0,34 0,54]'

346 [0,08 0,44 0,48]' 386 [0,1 0,14 0,76]' 426 [0,11 0,22 0,67]' 466 [0,12 0,35 0,53]'

347 [0,08 0,45 0,47]' 387 [0,1 0,15 0,75]' 427 [0,11 0,23 0,66]' 467 [0,12 0,36 0,52]'

348 [0,08 0,46 0,46]' 388 [0,1 0,16 0,74]' 428 [0,11 0,24 0,65]' 468 [0,12 0,37 0,51]'

349 [0,09 0,09 0,82]' 389 [0,1 0,17 0,73]' 429 [0,11 0,27 0,62]' 469 [0,12 0,38 0,5]'

350 [0,09 0,1 0,81]' 390 [0,1 0,18 0,72]' 430 [0,11 0,28 0,61]' 470 [0,12 0,39 0,49]'

351 [0,09 0,11 0,8]' 391 [0,1 0,19 0,71]' 431 [0,11 0,29 0,6]' 471 [0,12 0,4 0,48]'

352 [0,09 0,12 0,79]' 392 [0,1 0,2 0,7]' 432 [0,11 0,3 0,59]' 472 [0,12 0,41 0,47]'

353 [0,09 0,13 0,78]' 393 [0,1 0,21 0,69]' 433 [0,11 0,31 0,58]' 473 [0,12 0,42 0,46]'

354 [0,09 0,14 0,77]' 394 [0,1 0,22 0,68]' 434 [0,11 0,32 0,57]' 474 [0,12 0,43 0,45]'

355 [0,09 0,15 0,76]' 395 [0,1 0,23 0,67]' 435 [0,11 0,33 0,56]' 475 [0,12 0,44 0,44]'

356 [0,09 0,16 0,75]' 396 [0,1 0,24 0,66]' 436 [0,11 0,34 0,55]' 476 [0,13 0,13 0,74]'

357 [0,09 0,17 0,74]' 397 [0,1 0,28 0,62]' 437 [0,11 0,35 0,54]' 477 [0,13 0,14 0,73]'

358 [0,09 0,18 0,73]' 398 [0,1 0,29 0,61]' 438 [0,11 0,36 0,53]' 478 [0,13 0,15 0,72]'

359 [0,09 0,19 0,72]' 399 [0,1 0,3 0,6]' 439 [0,11 0,37 0,52]' 479 [0,13 0,16 0,71]'

360 [0,09 0,2 0,71]' 400 [0,1 0,31 0,59]' 440 [0,11 0,38 0,51]' 480 [0,13 0,17 0,7]'

Page 44: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

44

481 [0,13 0,18 0,69]' 521 [0,14 0,33 0,53]' 561 [0,16 0,18 0,66]' 601 [0,17 0,34 0,49]'

482 [0,13 0,19 0,68]' 522 [0,14 0,34 0,52]' 562 [0,16 0,22 0,62]' 602 [0,17 0,35 0,48]'

483 [0,13 0,2 0,67]' 523 [0,14 0,35 0,51]' 563 [0,16 0,23 0,61]' 603 [0,17 0,36 0,47]'

484 [0,13 0,21 0,66]' 524 [0,14 0,36 0,5]' 564 [0,16 0,24 0,6]' 604 [0,17 0,37 0,46]'

485 [0,13 0,25 0,62]' 525 [0,14 0,37 0,49]' 565 [0,16 0,25 0,59]' 605 [0,17 0,38 0,45]'

486 [0,13 0,26 0,61]' 526 [0,14 0,38 0,48]' 566 [0,16 0,26 0,58]' 606 [0,17 0,39 0,44]'

487 [0,13 0,27 0,6]' 527 [0,14 0,39 0,47]' 567 [0,16 0,27 0,57]' 607 [0,17 0,4 0,43]'

488 [0,13 0,28 0,59]' 528 [0,14 0,4 0,46]' 568 [0,16 0,28 0,56]' 608 [0,17 0,41 0,42]'

489 [0,13 0,29 0,58]' 529 [0,14 0,41 0,45]' 569 [0,16 0,29 0,55]' 609 [0,17 0,2 0,63]'

490 [0,13 0,3 0,57]' 530 [0,14 0,42 0,44]' 570 [0,16 0,3 0,54]' 610 [0,17 0,19 0,64]'

491 [0,13 0,31 0,56]' 531 [0,14 0,43 0,43]' 571 [0,16 0,31 0,53]' 611 [0,18 0,18 0,64]'

492 [0,13 0,32 0,55]' 532 [0,15 0,15 0,7]' 572 [0,16 0,32 0,52]' 612 [0,18 0,2 0,62]'

493 [0,13 0,33 0,54]' 533 [0,15 0,16 0,69]' 573 [0,16 0,33 0,51]' 613 [0,18 0,21 0,61]'

494 [0,13 0,34 0,53]' 534 [0,15 0,17 0,68]' 574 [0,16 0,34 0,5]' 614 [0,18 0,22 0,6]'

495 [0,13 0,35 0,52]' 535 [0,15 0,18 0,67]' 575 [0,16 0,35 0,49]' 615 [0,18 0,23 0,59]'

496 [0,13 0,36 0,51]' 536 [0,15 0,19 0,66]' 576 [0,16 0,36 0,48]' 616 [0,18 0,24 0,58]'

497 [0,13 0,37 0,5]' 537 [0,15 0,2 0,65]' 577 [0,16 0,37 0,47]' 617 [0,18 0,25 0,57]'

498 [0,13 0,38 0,49]' 538 [0,15 0,21 0,64]' 578 [0,16 0,38 0,46]' 618 [0,18 0,26 0,56]'

499 [0,13 0,39 0,48]' 539 [0,15 0,23 0,62]' 579 [0,16 0,39 0,45]' 619 [0,18 0,27 0,55]'

500 [0,13 0,4 0,47]' 540 [0,15 0,24 0,61]' 580 [0,16 0,4 0,44]' 620 [0,18 0,28 0,54]'

501 [0,13 0,41 0,46]' 541 [0,15 0,25 0,6]' 581 [0,16 0,41 0,43]' 621 [0,18 0,29 0,53]'

502 [0,13 0,42 0,45]' 542 [0,15 0,26 0,59]' 582 [0,16 0,42 0,42]' 622 [0,18 0,3 0,52]'

503 [0,13 0,43 0,44]' 543 [0,15 0,27 0,58]' 583 [0,16 0,21 0,63]' 623 [0,18 0,31 0,51]'

504 [0,14 0,14 0,72]' 544 [0,15 0,28 0,57]' 584 [0,16 0,2 0,64]' 624 [0,18 0,32 0,5]'

505 [0,14 0,15 0,71]' 545 [0,15 0,29 0,56]' 585 [0,16 0,19 0,65]' 625 [0,18 0,33 0,49]'

506 [0,14 0,16 0,7]' 546 [0,15 0,3 0,55]' 586 [0,17 0,17 0,66]' 626 [0,18 0,34 0,48]'

507 [0,14 0,17 0,69]' 547 [0,15 0,31 0,54]' 587 [0,17 0,18 0,65]' 627 [0,18 0,35 0,47]'

508 [0,14 0,18 0,68]' 548 [0,15 0,32 0,53]' 588 [0,17 0,21 0,62]' 628 [0,18 0,36 0,46]'

509 [0,14 0,19 0,67]' 549 [0,15 0,33 0,52]' 589 [0,17 0,22 0,61]' 629 [0,18 0,37 0,45]'

510 [0,14 0,2 0,66]' 550 [0,15 0,34 0,51]' 590 [0,17 0,23 0,6]' 630 [0,18 0,38 0,44]'

511 [0,14 0,21 0,65]' 551 [0,15 0,35 0,5]' 591 [0,17 0,24 0,59]' 631 [0,18 0,39 0,43]'

512 [0,14 0,24 0,62]' 552 [0,15 0,36 0,49]' 592 [0,17 0,25 0,58]' 632 [0,18 0,4 0,42]'

513 [0,14 0,25 0,61]' 553 [0,15 0,37 0,48]' 593 [0,17 0,26 0,57]' 633 [0,18 0,41 0,41]'

514 [0,14 0,26 0,6]' 554 [0,15 0,38 0,47]' 594 [0,17 0,27 0,56]' 634 [0,18 0,19 0,63]'

515 [0,14 0,27 0,59]' 555 [0,15 0,39 0,46]' 595 [0,17 0,28 0,55]' 635 [0,19 0,19 0,62]'

516 [0,14 0,28 0,58]' 556 [0,15 0,4 0,45]' 596 [0,17 0,29 0,54]' 636 [0,19 0,2 0,61]'

517 [0,14 0,29 0,57]' 557 [0,15 0,41 0,44]' 597 [0,17 0,3 0,53]' 637 [0,19 0,21 0,6]'

518 [0,14 0,3 0,56]' 558 [0,15 0,42 0,43]' 598 [0,17 0,31 0,52]' 638 [0,19 0,22 0,59]'

519 [0,14 0,31 0,55]' 559 [0,16 0,16 0,68]' 599 [0,17 0,32 0,51]' 639 [0,19 0,23 0,58]'

520 [0,14 0,32 0,54]' 560 [0,16 0,17 0,67]' 600 [0,17 0,33 0,5]' 640 [0,19 0,24 0,57]'

Page 45: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

45

481 [0,13 0,18 0,69]' 521 [0,14 0,33 0,53]' 561 [0,16 0,18 0,66]' 601 [0,17 0,34 0,49]'

482 [0,13 0,19 0,68]' 522 [0,14 0,34 0,52]' 562 [0,16 0,22 0,62]' 602 [0,17 0,35 0,48]'

483 [0,13 0,2 0,67]' 523 [0,14 0,35 0,51]' 563 [0,16 0,23 0,61]' 603 [0,17 0,36 0,47]'

484 [0,13 0,21 0,66]' 524 [0,14 0,36 0,5]' 564 [0,16 0,24 0,6]' 604 [0,17 0,37 0,46]'

485 [0,13 0,25 0,62]' 525 [0,14 0,37 0,49]' 565 [0,16 0,25 0,59]' 605 [0,17 0,38 0,45]'

486 [0,13 0,26 0,61]' 526 [0,14 0,38 0,48]' 566 [0,16 0,26 0,58]' 606 [0,17 0,39 0,44]'

487 [0,13 0,27 0,6]' 527 [0,14 0,39 0,47]' 567 [0,16 0,27 0,57]' 607 [0,17 0,4 0,43]'

488 [0,13 0,28 0,59]' 528 [0,14 0,4 0,46]' 568 [0,16 0,28 0,56]' 608 [0,17 0,41 0,42]'

489 [0,13 0,29 0,58]' 529 [0,14 0,41 0,45]' 569 [0,16 0,29 0,55]' 609 [0,17 0,2 0,63]'

490 [0,13 0,3 0,57]' 530 [0,14 0,42 0,44]' 570 [0,16 0,3 0,54]' 610 [0,17 0,19 0,64]'

491 [0,13 0,31 0,56]' 531 [0,14 0,43 0,43]' 571 [0,16 0,31 0,53]' 611 [0,18 0,18 0,64]'

492 [0,13 0,32 0,55]' 532 [0,15 0,15 0,7]' 572 [0,16 0,32 0,52]' 612 [0,18 0,2 0,62]'

493 [0,13 0,33 0,54]' 533 [0,15 0,16 0,69]' 573 [0,16 0,33 0,51]' 613 [0,18 0,21 0,61]'

494 [0,13 0,34 0,53]' 534 [0,15 0,17 0,68]' 574 [0,16 0,34 0,5]' 614 [0,18 0,22 0,6]'

495 [0,13 0,35 0,52]' 535 [0,15 0,18 0,67]' 575 [0,16 0,35 0,49]' 615 [0,18 0,23 0,59]'

496 [0,13 0,36 0,51]' 536 [0,15 0,19 0,66]' 576 [0,16 0,36 0,48]' 616 [0,18 0,24 0,58]'

497 [0,13 0,37 0,5]' 537 [0,15 0,2 0,65]' 577 [0,16 0,37 0,47]' 617 [0,18 0,25 0,57]'

498 [0,13 0,38 0,49]' 538 [0,15 0,21 0,64]' 578 [0,16 0,38 0,46]' 618 [0,18 0,26 0,56]'

499 [0,13 0,39 0,48]' 539 [0,15 0,23 0,62]' 579 [0,16 0,39 0,45]' 619 [0,18 0,27 0,55]'

500 [0,13 0,4 0,47]' 540 [0,15 0,24 0,61]' 580 [0,16 0,4 0,44]' 620 [0,18 0,28 0,54]'

501 [0,13 0,41 0,46]' 541 [0,15 0,25 0,6]' 581 [0,16 0,41 0,43]' 621 [0,18 0,29 0,53]'

502 [0,13 0,42 0,45]' 542 [0,15 0,26 0,59]' 582 [0,16 0,42 0,42]' 622 [0,18 0,3 0,52]'

503 [0,13 0,43 0,44]' 543 [0,15 0,27 0,58]' 583 [0,16 0,21 0,63]' 623 [0,18 0,31 0,51]'

504 [0,14 0,14 0,72]' 544 [0,15 0,28 0,57]' 584 [0,16 0,2 0,64]' 624 [0,18 0,32 0,5]'

505 [0,14 0,15 0,71]' 545 [0,15 0,29 0,56]' 585 [0,16 0,19 0,65]' 625 [0,18 0,33 0,49]'

506 [0,14 0,16 0,7]' 546 [0,15 0,3 0,55]' 586 [0,17 0,17 0,66]' 626 [0,18 0,34 0,48]'

507 [0,14 0,17 0,69]' 547 [0,15 0,31 0,54]' 587 [0,17 0,18 0,65]' 627 [0,18 0,35 0,47]'

508 [0,14 0,18 0,68]' 548 [0,15 0,32 0,53]' 588 [0,17 0,21 0,62]' 628 [0,18 0,36 0,46]'

509 [0,14 0,19 0,67]' 549 [0,15 0,33 0,52]' 589 [0,17 0,22 0,61]' 629 [0,18 0,37 0,45]'

510 [0,14 0,2 0,66]' 550 [0,15 0,34 0,51]' 590 [0,17 0,23 0,6]' 630 [0,18 0,38 0,44]'

511 [0,14 0,21 0,65]' 551 [0,15 0,35 0,5]' 591 [0,17 0,24 0,59]' 631 [0,18 0,39 0,43]'

512 [0,14 0,24 0,62]' 552 [0,15 0,36 0,49]' 592 [0,17 0,25 0,58]' 632 [0,18 0,4 0,42]'

513 [0,14 0,25 0,61]' 553 [0,15 0,37 0,48]' 593 [0,17 0,26 0,57]' 633 [0,18 0,41 0,41]'

514 [0,14 0,26 0,6]' 554 [0,15 0,38 0,47]' 594 [0,17 0,27 0,56]' 634 [0,18 0,19 0,63]'

515 [0,14 0,27 0,59]' 555 [0,15 0,39 0,46]' 595 [0,17 0,28 0,55]' 635 [0,19 0,19 0,62]'

516 [0,14 0,28 0,58]' 556 [0,15 0,4 0,45]' 596 [0,17 0,29 0,54]' 636 [0,19 0,2 0,61]'

517 [0,14 0,29 0,57]' 557 [0,15 0,41 0,44]' 597 [0,17 0,3 0,53]' 637 [0,19 0,21 0,6]'

518 [0,14 0,3 0,56]' 558 [0,15 0,42 0,43]' 598 [0,17 0,31 0,52]' 638 [0,19 0,22 0,59]'

519 [0,14 0,31 0,55]' 559 [0,16 0,16 0,68]' 599 [0,17 0,32 0,51]' 639 [0,19 0,23 0,58]'

520 [0,14 0,32 0,54]' 560 [0,16 0,17 0,67]' 600 [0,17 0,33 0,5]' 640 [0,19 0,24 0,57]'

Page 46: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

46

641 [0,19 0,25 0,56]' 684 [0,21 0,27 0,52]' 727 [0,23 0,35 0,42]' 770 [0,26 0,37 0,37]'

642 [0,19 0,26 0,55]' 685 [0,21 0,28 0,51]' 728 [0,23 0,36 0,41]' 771 [0,27 0,27 0,46]'

643 [0,19 0,27 0,54]' 686 [0,21 0,29 0,5]' 729 [0,23 0,37 0,4]' 772 [0,27 0,28 0,45]'

644 [0,19 0,28 0,53]' 687 [0,21 0,3 0,49]' 730 [0,23 0,38 0,39]' 773 [0,27 0,29 0,44]'

645 [0,19 0,29 0,52]' 688 [0,21 0,31 0,48]' 731 [0,24 0,24 0,52]' 774 [0,27 0,3 0,43]'

646 [0,19 0,3 0,51]' 689 [0,21 0,32 0,47]' 732 [0,24 0,25 0,51]' 775 [0,27 0,31 0,42]'

647 [0,19 0,31 0,5]' 690 [0,21 0,33 0,46]' 733 [0,24 0,26 0,5]' 776 [0,27 0,32 0,41]'

648 [0,19 0,32 0,49]' 691 [0,21 0,34 0,45]' 734 [0,24 0,27 0,49]' 777 [0,27 0,33 0,4]'

649 [0,19 0,33 0,48]' 692 [0,21 0,35 0,44]' 735 [0,24 0,28 0,48]' 778 [0,27 0,34 0,39]'

650 [0,19 0,34 0,47]' 693 [0,21 0,36 0,43]' 736 [0,24 0,29 0,47]' 779 [0,27 0,35 0,38]'

651 [0,19 0,35 0,46]' 694 [0,21 0,37 0,42]' 737 [0,24 0,3 0,46]' 780 [0,27 0,36 0,37]'

652 [0,19 0,36 0,45]' 695 [0,21 0,38 0,41]' 738 [0,24 0,31 0,45]' 781 [0,28 0,28 0,44]'

653 [0,19 0,37 0,44]' 696 [0,21 0,39 0,4]' 739 [0,24 0,32 0,44]' 782 [0,28 0,29 0,43]'

654 [0,19 0,38 0,43]' 697 [0,22 0,22 0,56]' 740 [0,24 0,33 0,43]' 783 [0,28 0,3 0,42]'

655 [0,19 0,39 0,42]' 698 [0,22 0,23 0,55]' 741 [0,24 0,34 0,42]' 784 [0,28 0,31 0,41]'

656 [0,19 0,4 0,41]' 699 [0,22 0,24 0,54]' 742 [0,24 0,35 0,41]' 785 [0,28 0,32 0,4]'

657 [0,2 0,2 0,6]' 700 [0,22 0,25 0,53]' 743 [0,24 0,36 0,4]' 786 [0,28 0,33 0,39]'

658 [0,2 0,21 0,59]' 701 [0,22 0,26 0,52]' 744 [0,24 0,37 0,39]' 787 [0,28 0,34 0,38]'

659 [0,2 0,22 0,58]' 702 [0,22 0,27 0,51]' 745 [0,24 0,38 0,38]' 788 [0,28 0,35 0,37]'

660 [0,2 0,23 0,57]' 703 [0,22 0,28 0,5]' 746 [0,25 0,25 0,5]' 789 [0,28 0,36 0,36]'

661 [0,2 0,24 0,56]' 704 [0,22 0,29 0,49]' 747 [0,25 0,26 0,49]' 790 [0,29 0,29 0,42]'

662 [0,2 0,25 0,55]' 705 [0,22 0,3 0,48]' 748 [0,25 0,27 0,48]' 791 [0,29 0,3 0,41]'

663 [0,2 0,26 0,54]' 706 [0,22 0,31 0,47]' 749 [0,25 0,28 0,47]' 792 [0,29 0,31 0,4]'

664 [0,2 0,27 0,53]' 707 [0,22 0,32 0,46]' 750 [0,25 0,29 0,46]' 793 [0,29 0,32 0,39]'

665 [0,2 0,28 0,52]' 708 [0,22 0,33 0,45]' 751 [0,25 0,3 0,45]' 794 [0,29 0,33 0,38]'

666 [0,2 0,29 0,51]' 709 [0,22 0,34 0,44]' 752 [0,25 0,31 0,44]' 795 [0,29 0,34 0,37]'

667 [0,2 0,3 0,5]' 710 [0,22 0,35 0,43]' 753 [0,25 0,32 0,43]' 796 [0,29 0,35 0,36]'

668 [0,2 0,31 0,49]' 711 [0,22 0,36 0,42]' 754 [0,25 0,33 0,42]' 797 [0,3 0,3 0,4]'

669 [0,2 0,32 0,48]' 712 [0,22 0,37 0,41]' 755 [0,25 0,34 0,41]' 798 [0,3 0,31 0,39]'

670 [0,2 0,33 0,47]' 713 [0,22 0,38 0,4]' 756 [0,25 0,35 0,4]' 799 [0,3 0,32 0,38]'

671 [0,2 0,34 0,46]' 714 [0,22 0,39 0,39]' 757 [0,25 0,36 0,39]' 800 [0,3 0,33 0,37]'

672 [0,2 0,35 0,45]' 715 [0,23 0,23 0,54]' 758 [0,25 0,37 0,38]' 801 [0,3 0,34 0,36]'

673 [0,2 0,36 0,44]' 716 [0,23 0,24 0,53]' 759 [0,26 0,26 0,48]' 802 [0,3 0,35 0,35]'

674 [0,2 0,37 0,43]' 717 [0,23 0,25 0,52]' 760 [0,26 0,27 0,47]' 803 [0,31 0,31 0,38]'

675 [0,2 0,38 0,42]' 718 [0,23 0,26 0,51]' 761 [0,26 0,28 0,46]' 804 [0,31 0,32 0,37]'

676 [0,2 0,39 0,41]' 719 [0,23 0,27 0,5]' 762 [0,26 0,29 0,45]' 805 [0,31 0,33 0,36]'

677 [0,2 0,4 0,4]' 720 [0,23 0,28 0,49]' 763 [0,26 0,3 0,44]' 806 [0,31 0,34 0,35]'

678 [0,21 0,21 0,58]' 721 [0,23 0,29 0,48]' 764 [0,26 0,31 0,43]' 807 [0,32 0,32 0,36]'

679 [0,21 0,22 0,57]' 722 [0,23 0,3 0,47]' 765 [0,26 0,32 0,42]' 808 [0,32 0,33 0,35]'

680 [0,21 0,23 0,56]' 723 [0,23 0,31 0,46]' 766 [0,26 0,33 0,41]' 809 [0,32 0,34 0,34]'

681 [0,21 0,24 0,55]' 724 [0,23 0,32 0,45]' 767 [0,26 0,34 0,4]' 810 [0,33 0,33 0,34]'

682 [0,21 0,25 0,54]' 725 [0,23 0,33 0,44]' 768 [0,26 0,35 0,39]'

683 [0,21 0,26 0,53]' 726 [0,23 0,34 0,43]' 769 [0,26 0,36 0,38]'

Page 47: UNIVERSIDADE FEDERAL DE PERNAMBUCOcin.ufpe.br/~tg/2012-2/ddn2.pdf · “A felicidade não se resume na ... Tabela 4: Codificação de Huffman de uma fonte binária com distribuição

47