Buscar

Lista5 CodigosEficientesCompressao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Lista 5 – Códigos eficientes e compressão 
 
1) Considere um dado de 8 lados cujas faces estão escritas as letras de A até 
H. As probabilidades de sair cada face são: A (1/2), B (1/4), C (1/8), D (1/16), E 
(1/32), F (1/64), G (1/128) e H (1/128). 
 
a) Encontre as codificações de Shannon-Fano e de Huffman dos símbolos 
emitidos por essa fonte 
b) Calcule a entropia da fonte e compare com o comprimento médio das 
codificações obtidas no item a, determinando assim as eficiências das 
codificações Shannon-Fano e Huffman 
 
 
2) Um dado viciado de 5 faces possui probabilidade 1/8 de sair a face A e 1/8 
de sair a face B. As outras três faces C, D e E possuem ¼ de probabilidade de 
sair cada uma. 
 
a) Encontre as codificações de Shannon-Fano e de Huffman dos símbolos 
emitidos por essa fonte. 
b) Calcule a entropia da fonte e compare com o comprimento médio dos 
códigos obtidos no item a (ou seja, determine as eficiências das 
codificações Shannon-Fano e Huffman). 
 
 
3) Construa os códigos de Shannon-Fano e de Huffman para o conjunto de 
símbolos abaixo e compare os comprimentos médios dos códigos obtidos com 
a entropia H(X), determinando suas eficiências: 
 
Símbolo Probabilidade 
x1 0,2 
x2 0,18 
x3, x4, x5 0,1 cada 
x6 0,061 
x7 0,059 
x8, x9, x10, x11 0,04 cada 
x12 0,03 
x13 0,01 
 
 
4) Você deseja transmitir a seguinte frase para um receptor: “esta lista e muito 
facil”. Para transmitir esta frase, você utiliza o padrão ASCII para mapear os 
caracteres em sequências de bits (7 bits por caractere). 
 
a) Quantos bits serão necessários para codificar a sequência acima? 
 
b) Como ficaria esta sequência após a aplicação da codificação de Shannon-
Fano? Qual é o comprimento médio do código gerado? 
 
c) Como ficaria esta sequência após a aplicação da codificação de Huffman? 
Qual é o comprimento médio do código gerado? 
d) Calcule a entropia da fonte e as eficiências das codificações obtidas nos 
itens a, b e c. 
 
 
5) Você está desenvolvendo um novo computador, com memória baseada em 
moléculas de DNA. Você utilizará as 4 bases disponíveis para armazenar 
dados. 
 
a) Quantas bases serão necessárias para armazenar 1 Terabyte de dados? 
 
b) Você deseja armazenar um arquivo contendo apenas 8 tipos de símbolos, 
que aparecem em cada posição respectivamente com probabilidades: (10%, 
20%, 20%, 15%, 15%, 10%, 5% e 5%). Proponha uma codificação auto-
pontuável utilizando as bases A, C, T e G que seja a mais enxuta possível e 
determine a eficiência dessa codificação. 
 
 
6) Foi pedido para que você codifique um trava línguas em inglês 
compactamente. Essa é a sentença: “peter piper picked a peck of pickled 
peppers”. A distribuição de frequência dos símbolos é: 
 
 
 
a) Uma forma de codificar essa sequência seria usar um código de tamanho 
fixo, com cada palavra de código minimamente longa para codificar 14 
símbolos diferentes. Quantos bytes seriam necessários para transmitir essa 
frase de 44 caracteres em uma codificação de tamanho fixo? 
 
b) Determine o número mínimo de bits requerido para codificar a frase inteira 
(conteúdo de informação da frase), assumindo que cada caractere é 
independente do caractere em volta. 
 
c) Qual é a contribuição teórica de cada um dos 14 símbolos à informação 
média? 
 
d) Faça um dicionário de códigos para os 14 símbolos usando a codificação de 
Huffman. 
e) Usando a sequência de códigos do item d para codificar a frase: 
i. Quantos bits são necessários? 
ii. Como esse número se compara com o número de bits necessário na 
codificação com tamanho fixo do item a? 
iii) Como esse número se compara com o conteúdo de informação da frase 
calculado no item b? 
 
 
7) Considere uma fonte X com símbolos xi, para i= 1, 2, 3, 4. Sejam os códigos 
binários a seguir: 
 
 
 
a) Quais deles são códigos instantâneos? Explique. 
 
b) Quais deles são unicamente decodificáveis? Explique. 
 
 
8) Explique os códigos de cada coluna abaixo (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...) 
 
 
 
 
9) Uma fonte X possui quatro símbolos x1, x2, x3 e x4 com p(x1) = ½, p(x2) = 
¼ e p(x3) = p(x4) = 1/8. Construa o código de Shannon-Fano para X. Mostre 
que esse código possui eficiência de 100%. 
 
 
10) Considere uma fonte X com m símbolos xi, i=1, ..., m de mesma 
probabilidade. Seja n o tamanho da palavra de um código de tamanho fixo. 
Mostre que, se n = log2m, então a eficiência do código é de 100%. 
 
 
11) Em uma cadeia de DNA, existem quatro tipos de bases: G, T, C e A.Qual a 
informação contida em uma sequência de DNA de tamanho 10 nos seguintes 
casos? 
 
a) A chance de ocorrência de cada base é igual 
 
b) As bases G e T têm o dobro de chance de ocorrência do que as bases C e A 
 
 
12) Considere os quatro códigos listados abaixo: 
 
 
 
a) Identifique os códigos de prefixo e construa suas árvores de decisão 
individuais. 
 
b) Decodifique a sequência 0011011111000 usando os códigos de prefixo 
identificados no item a. Tente repetir o mesmo procedimento para os códigos 
que não são de prefixo. 
 
 
13) Considere um dado de 8 lados cujas faces estão escritas as letras de A até 
H. Considerando que todas as faces possuem igual probabilidade de saírem, 
discuta se é possível ou não construir um código que seja mais eficiente do que 
o código de tamanho fixo para este caso. 
 
 
14) Uma fonte X possui cinco símbolos com probabilidades: p(x1) = 0,4, p(x2) = 
0,19, p(x3) = 0,16, p(x4) = 0,15 e p(x5) = 0,1. 
 
a) Construa o código de Shannon-Fano para X e calcule a eficiência do código. 
 
b) Repita para o código de Huffman e compare os resultados. 
 
 
15) Uma fonte X possui cinco símbolos de mesma probabilidade. 
 
a) Construa o código de Shannon-Fano para X e calcule a eficiência do código. 
 
b) Repita para o código de Huffman e compare os resultados. 
 
 
 
 
 
 
 
16) Dado viciado: Suponha que o dado está viciado, com as seguintes 
probabilidades: 1: 0.05; 6: 0.3; de 2 a 5: 0,1625. 
 
a) Determine as eficiências dos códigos abaixo 
 
 
 
b) Determine os códigos de Shannon-Fano e de Huffman e suas 
respectivas eficiências. 
 
 
17) Considere uma fonte discreta sem memória cujo alfabeto consiste de K 
símbolos equiprováveis. Que condições devem ser satisfeitas por K e pelo 
tamanho da palavra-código (de tamanho fixo) para que a eficiência de 
codificação seja 100%? 
 
 
18) Joãozinho afirma que é possível projetar um método que produza códigos 
mais eficientes que o de Huffman. Ele elaborou o seguinte método iterativo: 
 
- 1ª iteração: Para os 2 símbolos mais prováveis, atribua palavras-código de 1 
bit seguindo a ordenação binária 
- 2ª iteração: Para os próximos 4 símbolos mais prováveis, atribua palavras-
código de 2 bits seguindo a ordenação binária 
- 3ª iteração: Para os próximos 8 símbolos mais prováveis, atribua palavras-
código de 3 bits seguindo a ordenação binária 
 ... 
- Na iteração: Para os próximos 2N símbolos mais prováveis, atribua palavras-
código de N bits seguindo a ordenação binária 
 
a) Aplique o método descrito por Joãozinho para as seguintes probabilidades 
das seis faces de um dado viciado, obtendo seus códigos correspondentes: 
 
P(X = 1) = 1/4; P(X = 2) = 1/4; P(X = 3) = 1/4; P(X = 4) = 1/8; P(X = 5) = 1/16; P(X = 6) = 1/16 
b) Determine as eficiências do código desenvolvido por Joãozinho e do código 
de Huffman para o dado viciado do item a. Notou algo estranho na eficiência do 
código do Joãozinho? Caso afirmativo, explique o que há de estranho. 
 
19) Os códigos podem ser classificados em 4 tipos 
i – singular 
ii – não-singular,porém não unicamente decodificável 
iii – unicamente decodificável, porém não instantâneo 
iv – instantâneo 
 
a) Determine o tipo de cada um dos códigos a seguir e justifique 
 
a1) Código Morse: 
 
a2) A = 00, B = 01, C = 10, D = 11 
a3) A = 010, B = 100, C = 101, D = 100 
a4) A = 10, B = 11, C = 00, D = 110 
a5) A = 0, B = 011, C = 10, D = 01 
 
b) Por que, no código Morse, é necessária uma pausa (intervalo de tempo 
maior) entre a emissão de dois caracteres (letras ou números) e um intervalo 
de tempo ainda maior entre duas palavras? 
 
 
20) Dois dados não viciados são jogados por Alice e a soma de seus 
resultados é anotada por ela. Bob deve fazer uma sequência de perguntas do 
tipo sim/não para descobrir esse número. Descreva uma estratégia para ele 
fazer isso de maneira a tentar minimizar o número de questões feitas. Essa 
estratégia tem que ser melhor do que aquela obtida para o exercício 8 da 
lista anterior. 
 
21) Considere a mensagem “122121213”. Assumindo que cada caractere é um 
ASCII de 8 bits, como ela seria transmitida na codificação run-length? Qual é a 
taxa de compressão obtida? 
 
 
 
 
 
 
 
22) Consideremos a seguinte variante em versão portuguesa da famosa frase 
do político JFK: 
 
A pergunta de cada um de nós não deve ser o que o país pode fazer por nós; 
mas sim o que cada um de nós pode fazer pelo país 
 
a) Quantos bytes ocupa a frase? 
b) Que frequência tem cada uma das palavras? 
c) Monte um dicionário estático para essa frase com base na resposta da 
questão b. 
d) Quantos bytes ocupa o dicionário? 
 
 
23) Por que run-length pode ser considerado um exemplo de detecção de 
redundância? Esse algoritmo garante economia de espaço? Em que 
circunstâncias o algoritmo resulta num arquivo comprimido que é maior que o 
original? 
 
 
24) Como as sequências a seguir seriam codificadas com run-length? 
 
a) AAABBBBBBYYYYPPPPPPPPPTKKKKKKKK 
b) 111112223333312222221111111333333333 
 
 
25) Qual porcentagem de compressão foi conseguida em cada caso no 
exercício anterior? 
 
26) Em que casos se recomenda o uso de compressão com ou sem perda? 
Discuta. 
 
27) Elabore um método simples para quantizar uma imagem de 8 bits de níveis 
de cinza em outra imagem de 4 bits de níveis de cinza. Tal método pode ser 
facilmente estendido para imagens coloridas (RGB)? 
 
28) Sejam as duas mensagens seguintes: 
 
i) AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBB 
 
ii) ABABABABABABABABABABABABABABABABABABABAB 
 
A codificação run-length teria um bom desempenho para comprimir a 
mensagem i? E com relação à compressão da mensagem ii? Justifique. 
 
 
 
 
29) Considere uma imagem da bandeira da Alemanha de resolução 30 X 40 no 
padrão RGB de 1 byte por canal, onde as 10 primeiras linhas correspondem à 
cor preta, as 10 linhas seguintes correspondem à cor vermelha e as últimas 10 
linhas correspondem à cor amarela. 
 
a) Qual é o tamanho de um arquivo contendo essa imagem (em bits e em 
bytes)? Justifique. 
 
b) Considere o método de compressão run-length no qual um conjunto de 
pixels consecutivos de mesma cor é codificado com o padrão binário da 
cor correspondente seguida por um valor entre colchetes [X], onde X é o 
número de repetições consecutivas da cor considerada. Suponha que os 
colchetes são representados por 1 byte (caracteres ASCII) e X é um 
número inteiro representado por 4 bytes. Além disso, o arquivo 
compactado deve conter um cabeçalho que informa a resolução do 
arquivo, sendo constituído por dois números inteiros representados por 2 
bytes cada. Qual é o tamanho do arquivo do item anterior após essa 
compressão (em bits e em bytes)? Qual é a taxa de compressão obtida 
em relação ao tamanho do arquivo obtido no item a? Justifique. 
 
c) Qual dos métodos de compressão seria mais adequado para comprimir 
a imagem da bandeira da Alemanha: run-length ou código de Huffman? 
Justifique.

Continue navegando