A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Casamento de Padrão Aproximado e Compressão de Huffaman

Apresentações semelhantes


Apresentação em tema: "Casamento de Padrão Aproximado e Compressão de Huffaman"— Transcrição da apresentação:

1 Casamento de Padrão Aproximado e Compressão de Huffaman
Keila Chagas – Charles -

2 Temas Relacionados Cadeia de Caractere Casamento Exato
Casamento Aproximado Algoritmo Shift-And Shift-And Casamento Exato Shift-And Casamento Aproximado Compressão de Texto Algoritmo de Huffnam

3 Objetivos Fazer uma abordagem sobre processamento de cadeias de caracteres, mostrando inicialmente as definições de casamento de cadeias, busca exata (casamento exato), busca aproximada (casamento aproximado). Algoritmo utilizado: Shift-And Apresentar o método de Huffman, o qual é um dos métodos mais conhecidos para compressão de texto. Algoritmo utilizado: Algoritmo de Huffman

4 Cadeia de Caractere A C D K M Z O A 1 3 5 6 8 9
1 3 5 6 8 9 COMPUTAÇÃO UFU MESTRADO É uma seqüência qualquer elemento

5 Casamento Exato Problema básico consiste em obter todas as ocorrências exatas do padrão no texto. Consiste em ler os caracteres do texto um a um e, a cada passo, algumas variáveis são atualizadas de forma a identificar uma ocorrência possível.

6 Casamento de Cadeia (Padrão)
Dado um padrão (teste) e um texto, ambos cadeias de caracteres, determine se o padrão aparece em algum lugar no texto. EXEMPLO: OS TESTES TESTAM ESTES ALUNOS... TESTE

7 Casamento Aproximado É o problema de encontrar um P(padrão) em um T(texto) quando um número limitado de k operações (erros) inserção, de substituição e de retirada é permitido entre P e suas ocorrências de T.

8 Casamento Aproximado OS TESTES TESTAM ESTES ALUNOS... TESTE TESTA
ERRO DE SUBSTITUIÇÃO DE UM CARACTER TE TE ERRO DE RETIRADA DE UM CARACTER TESTES ERRO DE INSERÇÃO DE UM CARACTER

9 Algoritmo Shift-And Proposto por Baeza-Yates e Gonnet (1989), para resolver o problema de casamento de padrão, ou seja de encontrar um determinado padrão no conteúdo do texto.

10 Shift-And para Casamento Exato

11 Exemplo de Funcionamento
Pesquisar o padrão P= teste no texto T= os testes.... Passo 1 Passo 2 Casamento Exato de Padrão

12 Shift-And para Casamento Aproximado

13 Shift-And para Casamento Aproximado
Foi proposto por Wu e Manber (1992), é uma extensão do algoritmo Shift-And para casamento exato de caracteres.

14 Passos do Algoritmo Passo1: O algoritmo empacota cada linha j (0<j≤k) do autômato não-determinista(*) em uma palavra Rj diferente do computador. Passo2: A cada novo caractere lido do texto, todas as transições do autômato são simuladas usando operações entre (k +1) máscaras de bits, todas as (k+1) máscaras de bits têm a mesma estrutura e assim o mesmo bit é alinhado com a mesma posição no texto.

15 Passos do Algoritmos Passo3: Na posição i do texto, os valores R´j, 0 < j ≤ k, são obtidos a partir dos valores correntes Rj, a saber: R´o =((Ro>>1) | 10m-1 ) & M[T[i]] e R´J = ((Rj>>1) & M[T[i]]] ) | Rj-1 | (Rj-1>>1) | (R´j-1>>1), onde M é a tabela de máscara relativa ao padrão Ro equivale ao algoritmo Shift-And para casamento exato Rj recebem os 1s (estados ativos)

16 Permitindo 1 Erro de Inserção
Pesquisar o padrão P= teste no texto T= os testes testam Texto R´0 (Casamento Exato) R´1(Casamento Aproximado) o s t e a m Existe uma ocorrência exata na leitura do oitavo caractere (letra “e”) e duas ocorrências, permitindo uma inserção nas posições 9 e 12 (letras “s” e “e”)

17 1erro de Inserção, 1 erro de retirada e 1 erro de substituição
Pesquisar o padrão P= teste no texto T= os testes testam Texto R´0 (Casamento Exato) R´1(Casamento Aproximado) o s t e a m Existe uma ocorrência exata na leitura do oitavo caractere (letra “e”) e cinco ocorrências, permitindo um erro nas posições 7, 9, 12, 14 e 15 (letras “t”, “s”, “e”, “t”e “a”)

18 Compressão de Texto Está relacionada com maneiras de representar o texto original em menos espaço.Para isso, basta substituir os símbolos de texto por outros que possam ser representados usando um número menos de bits ou bytes O ganho em espaço obtido pode ser medido pela razão de compressão, definida pela porcentagem que o arquivo comprimido representa em relação ao tamanho do arquivo não comprimido. Ex.: arquivo não comprimido 100 bytes arquivo comprimido 30 bytes razão da compressão é de 30%

19 Aspectos da Compressão a considerar
Velocidade de compressão e descompressão: em muitas situações a velocidade de descompressão é mais importante do que a de compressão; Possibilidade de realizar casamento de cadeias diretamente no texto comprimido Permitir acesso direto a qualquer parte do texto comprimido e iniciar a descompressão a partir da parte acessada

20 Compressão de Huffnam Um dos métodos de codificação mais conhecidos é o de Huffaman (1952) A idéia do método é atribuir códigos mais curtos a símbolos com freqüências altas.

21 Funcionamento do Algoritmo
“para cada rosa rosa, uma rosa é uma rosa 1º Passo: separar o conjunto de símbolos e suas freqüências 1 1 4 1 2 1 para cada rosa ,* uma é

22 Algoritmo de Huffman para cada ,* uma é rosa para cada ,* uma é rosa
2º Passo: A cada iteração, as duas arvores com menores freqüências são combinadas em uma única árvore e a soma de suas freqüências é associada ao nó raiz. para 1 cada 4 ,* uma 2 é rosa (A) para cada 1 4 ,* uma 2 é rosa (B) para cada 1 4 ,* uma 2 é rosa (C)

23 Algoritmo de Huffman para cada ,* uma é rosa para cada ,* uma é rosa
cada 1 4 ,* uma 2 é rosa (D) para cada 1 ,* uma é rosa 2 4 (F) 6 10 para cada 1 4 ,* uma é rosa 2 (E) 6

24 Algoritmo de Huffman Ao final das n-1 interações, obtém-se a árvore de codificação, na qual os códigos associados a cada palavra são representados pela seqüência dos rótulos das arestas que levam raiz à folha que representam. Ex. Palavra “para”é “1100”

25 Algoritmo de Huffman para cada 1 ,* uma é rosa 2 4 6 10

26 Autômato Não-Determinístico
Um autômato não-determinístico é aquele que uma vez que, a partir do estado inicial 0, por meio de caractere de transição a, é possível atingir todos os estados determinados neste autômato. 1 2 3 a b c d (a) (b) Dois autômatos, onde o estado 0 é inicial e o estado 3 é final. Autômato finito não-determinista Autômato finito determinista Voltar

27 Máscara relativa a P= teste
Construção de uma tabela M para armazenar uma máscara de bits (b1..., bm) para cada caractere. Padrão 1 2 3 4 5 M(t) M(e) M(s) M(t) é 10010, pois o caractere t aparece nas posições 1 e 4 de P Voltar

28 Buscar P= Teste no T= os testes...
Passo 2 Fase da pesquisa de P(padrão) em T(texto), o valor do conjunto é inicializado como R=0m (0m, significa 0 repetido m vezes) Buscar P= Teste no T= os testes... R= sendo m, tamanho de bits da palavra Continua

29 (...)Passo 2 Para cada novo caractere t lido do texto, o valor do conjunto R´ é atualizado de acordo com a seguinte fórmula.: R´= (R>>1) |1 0m-1&M[T[i]] R´= vetor novo R= vetor antigo m= quantidade de bits do padrão M[T[i]]= vetor de mascaras do padrão R=[ ] (R>>1)-desloca todas as posições para direita e coloca-se 1 (or 1 0m1) Texto (R>>1) | 1 0m-1 o s t e Voltar

30 Casamento Padrão Exato
Pesquisar o padrão P= teste no texto T= os testes.... O 1 na última coluna significa que o estado final está ativo, indicado casamento de P= teste no texto T= os testes.. Texto (R>>1) |10m-1 O S T E Voltar


Carregar ppt "Casamento de Padrão Aproximado e Compressão de Huffaman"

Apresentações semelhantes


Anúncios Google