Dado um enorme banco de dados de palavras permitidas (classificadas em ordem alfabética) e uma palavra, encontre a palavra no banco de dados mais próxima da palavra especificada em termos de distância de Levenshtein.
A abordagem ingênua é, é claro, simplesmente calcular a distância de levenshtein entre a palavra especificada e todas as palavras do dicionário (podemos fazer uma pesquisa binária no banco de dados antes de calcular as distâncias).
Gostaria de saber se existe uma solução mais eficiente para esse problema. Talvez alguma heurística que nos permita reduzir o número de palavras a serem pesquisadas ou otimizações para o algoritmo de distância de levenshtein.
Links para artigos sobre o assunto são bem-vindos.