Projeto e Anlise de Algoritmos Prof Ruy Luiz

  • Slides: 20
Download presentation
Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú 9/7/2021 Ruy Luiz Milidiú 1

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú 9/7/2021 Ruy Luiz Milidiú 1

Método do Guloso 9/7/2021 Ruy Luiz Milidiú 2

Método do Guloso 9/7/2021 Ruy Luiz Milidiú 2

Compressão de dados Qual a codificação mais curta para uma mensagem com estes 100

Compressão de dados Qual a codificação mais curta para uma mensagem com estes 100 símbolos? 3 BITS = 8 símbolos 3 x 100 = 300 BITS 9/7/2021 Ruy Luiz Milidiú 3

Árvore de codificação 0 1 A B C D E F G H 9/7/2021

Árvore de codificação 0 1 A B C D E F G H 9/7/2021 Ruy Luiz Milidiú código 1 00010 0011 0000 01 00100 00011 00101 4

Código de redundância Mínima z. Entrada ya 1 , a 2 , … ,

Código de redundância Mínima z. Entrada ya 1 , a 2 , … , a n yf 1 , f 2 , … , f n símbolos freqüências z. Saída y. T árvore binária de codificação c(T) = min { c(X) | X é AB de codificação } c(X) = i folhas(X) fi. li 9/7/2021 Ruy Luiz Milidiú 5

… guloso por MENOR FREQUENCIA 100 40 20 20 9 11 4 6 5

… guloso por MENOR FREQUENCIA 100 40 20 20 9 11 4 6 5 5 3 1 3 3 9/7/2021 Ruy Luiz Milidiú 60 6

Algoritmo de Huffman L nós em ordem crescente de valor; while |L| > 1

Algoritmo de Huffman L nós em ordem crescente de valor; while |L| > 1 sejam x e y os dois nós de menor valor em L; remova x e y de L; crie um novo nó p, pai de x e y; atribua a p a soma dos valores de x e y; insira p em L; 9/7/2021 Ruy Luiz Milidiú 7

Eficiência Operação Esforço ordenar inserir O(n. lg(n) ) linear Ordenação Inserção de nó O(n.

Eficiência Operação Esforço ordenar inserir O(n. lg(n) ) linear Ordenação Inserção de nó O(n. lg(n)) O(k) k=n-1, …, 1 (n-1) + (n-2) + … + 1 = (n-1). n/2 O(n. lg(n)) + O(n 2) 9/7/2021 Ruy Luiz Milidiú 8

Corretude: caso base Existe uma árvore ótima onde: ypelo menos dois nós externos tem

Corretude: caso base Existe uma árvore ótima onde: ypelo menos dois nós externos tem a altura da árvore; yos dois símbolos de menor freqüência são mais externos; yos dois símbolos de menor freqüência tem o mesmo nó pai. z. DEM. : por balanceamento algébrico ! 9/7/2021 Ruy Luiz Milidiú 9

Corretude: passo indutivo min 60. l 1+20. l 2+5. l 3+5. l 4+3. l

Corretude: passo indutivo min 60. l 1+20. l 2+5. l 3+5. l 4+3. l 5+3. l 6+3. l 7+1. l 8 l 7 = l 8 min 60. l 1+20. l 2+5. l 3+5. l 4+3. l 5+3. l 6+(3+1). l 7 = 1+ l. PAI(7, 8) min 60. l 1+20. l 2+5. l 3+5. l 4+3. l 5+3. l 6+4. l. PAI(7, 8)+4 equivale a min 60. l 1+20. l 2+5. l 3+5. l 4+3. l 5+3. l 6+4. l. PAI(7, 8) 9/7/2021 Ruy Luiz Milidiú 10

Melhoria I Nós internos são criados em ordem crescente de valor. Dem. : exercício

Melhoria I Nós internos são criados em ordem crescente de valor. Dem. : exercício z. Aplicação y. PILHA para folhas ordenadas y. FILA para nós internos 9/7/2021 Ruy Luiz Milidiú 11

Melhoria II Permutar subárvores do mesmo nível não altera a altura das folhas. Dem.

Melhoria II Permutar subárvores do mesmo nível não altera a altura das folhas. Dem. : exercício zÁrvores Canônicas y. Nós internos a esquerda das folhas. y. Representação xquantidade de nós internos (ou externos) por nível 9/7/2021 Ruy Luiz Milidiú 12

De internos para externos. . . 9/7/2021 Ruy Luiz Milidiú 1 0 2. 2

De internos para externos. . . 9/7/2021 Ruy Luiz Milidiú 1 0 2. 2 3 2. 1 2 13

De externos para internos. . . 9/7/2021 Ruy Luiz Milidiú 1 2/2 2 4/2

De externos para internos. . . 9/7/2021 Ruy Luiz Milidiú 1 2/2 2 4/2 4 2/2 2 0 14

Árvore canônica o 9/7/2021 Ruy Luiz Milidiú 1 15

Árvore canônica o 9/7/2021 Ruy Luiz Milidiú 1 15

Construção IV 36 II 15 7 I 10 8 5 I II IV V

Construção IV 36 II 15 7 I 10 8 5 I II IV V III 10 25 IV 15 15 IV 21 17 36 08 11 9/7/2021 Ruy Luiz Milidiú III 21 11 5 16

Padrões de intercalação 9/7/2021 Ruy Luiz Milidiú 17

Padrões de intercalação 9/7/2021 Ruy Luiz Milidiú 17

Padrões de intercalação z. Entrada yn arquivos ordenados yri número de registros no arquivo

Padrões de intercalação z. Entrada yn arquivos ordenados yri número de registros no arquivo i, i=1, …, n z. Saída y. AB de intercalação que MINIMIZA o esforço total de intercalação dos n arquivos dados 9/7/2021 Ruy Luiz Milidiú 18

Custo Total de Intercalação z. Custo de uma intercalação ysoma dos tamanhos dois arquivos

Custo Total de Intercalação z. Custo de uma intercalação ysoma dos tamanhos dois arquivos z. Custo Total you somar os custos de cada intercalação xsoma dos valores dos nós internos you somar { tamanho_do_arquivo x número_de_intercalações_em_que_o_arquivo _participa } xsoma ponderada das alturas das folhas 9/7/2021 Ruy Luiz Milidiú 19

Solução z. AB de intercalação mínima y. AB de codificação ótima z. Solução Gulosa

Solução z. AB de intercalação mínima y. AB de codificação ótima z. Solução Gulosa y. Algoritmo de Huffman 9/7/2021 Ruy Luiz Milidiú 20