Universidade Federal de Minas Gerais
Departamento de Ciência da Computação
Algoritmos e Estruturas de Dados III
2
semestre de 2008
Trabalho prático 6
Data de entrega: 10 de dezembro de 2008
Este trabalho tem por objetivo projetar e avaliar uma extensão
do algoritmo Boyer-Moore como base para uma máquina de busca.
Dada uma consulta a ser respondida, o seu algoritmo deve
retornar os conjuntos de ocorrências das palavras que não
estejam mais que X caracteres distantes entre si. Uma solução
ingênua é executar o algoritmo várias vezes, registrar as
ocorrências para cada palavra da consulta e verificar essas
ocorrências de forma a verificar se elas estão próximas o
suficiente. A sua estratégia deve ser independente do
tamanho da consulta, ou seja, será realizado apenas uma
passada para cada consulta.
Pede-se:
- Descreva como você vai estender o algoritmo.
- Discuta a correção e complexidade obtidos.
- Avalie experimentalmente o seu algoritmo, verificando o número de
comparações realizadas para cada consulta. Utilize o seguinte arquivo
como base para busca. Varie o número de termos na consulta e
o limiar de distância a ser utilizado. Derive experimentalmente a complexidade do seu algoritmo como função do tamanho do texto, do tamanho dos padrões e do número de padrões.
- Apresente a documentação da proposta e dos resultados (veja aqui maiores detalhes sobre a
entrega
de trabalhos práticos). O seu
trabalho deve ser submetido ao Minha.ufmg.
Wagner Meira Jr
2008-11-30