Cap 12 - Processamento de Texto-4spp

Cap 12 - Processamento de Texto-4spp - Agenda Processamento...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
FPED Reconhecimento de Padroes 1 Processamento de Textos Capítulo 11 a b a c a a b 2 3 4 a b a c a b a b a b FPED Reconhecimento de Padrões 2 Agenda Reconhecimento de Padrões ! O método da força bruta (FB) ! O método de Boyer-Moore (BM) ! O método de Knuth-Morris-Pratt (KMP) Busca de Palavras em Textos ! Tries Compressão de textos ! Código de Huffman FPED Reconhecimento de Padroes 3 Reconhecimento de Padrões (Pattern Matching) a b a c a a b 2 3 4 a b a c a b a b a b FPED Reconhecimento de Padrões 4 Strings (§ 11.1) Uma string é uma sequência ou cadeia de caracteres Exemplos de strings: ! Um programa Java ! Um documento HTML ! Uma sequência de DNA ! Uma imagem digitalizada Um alfabeto ! é um conjunto de caracteres possíveis para uma família de strings Exemplos de alfabetos: ! ASCII ! Unicode ! {0, 1} ! {A, C, G, T} Considere uma string P de comprimento m ! Uma substring P [ i . . j ] de P é a subsequência de P formada pelos caracteres nas posições de i até j inclusive ! Um prefixo de P é uma substring do tipo P [0 .. i ], i ! m-1 ! Um sufixo de P é uma substring do tipo P [ i . .m ± 1], i " 0. Sejam as strings T (texto de tamanho n) e P (padrão), o problema do reconhecimento de padrões consiste em encontrar uma sub sequência em T, que seja igual a P. Suponha que n >>> m. Aplicações: ! Editores de textos ! Programas de busca (Search engines): Google, Altavista,etc ! Pesquisa em biologia
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
FPED Reconhecimento de Padrões 5 Método da Força Bruta (§ 11.2.1) O algoritmo da força bruta (FB) para reconhecimento de padrões procura o padrão P , iniciando na primeira posição de T , e então sucessivamente testando P em todas as posições subsequentes de T , até que uma das condições ocorra: ! o padrão P seja encontrado, ou ! todas as posições de T onde poderia estar tenham sido tentadas. O algoritmo FB executa em tempo O ((n-m+1)m) = O ( nm ) passos Exemplo do pior caso: ! T = aaa … ah ! P = aaah ! pode ocorrer em imagens, ou em seqüências de DNA ! não é comum em textos da língua Inglesa (ou Portuguesa) Algoritmo BruteForceMatch ( T, P ) Entrada: texto T de comprimento n e padrão de comprimento m (m ! n) Saida: í ndice de T onde começa uma substring igual a P, ou ± 1 caso não a encontre para i ! 0 até n ± m {testa o deslocamento i do padrão} j ! 0 enquanto (( j < m) e (T [ i + j ] = P [ j ] )) j ! j + 1 se j = m retorne i {achou P na posição i } return -1 {não achou uma substring igual a em T } FPED Reconhecimento de Padrões 6 O Método Boyer-Moore (§ 11.2.2) O algoritmo de Boyer-Moore (BM) para reconhecimento de padrões se baseia em duas heurísticas Heurística do espelho: compara P com uma subsequência de T do fim para o começo Heurística do salto de caracteres: quando um erro ocorre em T [ i ] = c ! se P contém c , desloque P para frente, de modo a alinhar T [ i ] com a última ocorrência de c em P ! senão, desloque P para frente, de modo a alinhar P [0] com T [ i + 1] Exemplo 1 a p a t t e r n m a t c h i n g a l g o r i t h m r i t h m r i t h m r i t h m r i t h m r i t h m r i t h m r i t h m 2 3 4 5 6 7 8 9 10 11 T: P: FPED Reconhecimento de Padrões 7 A Função l Last-Occurrence z
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 13

Cap 12 - Processamento de Texto-4spp - Agenda Processamento...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online