Eu tenho um aplicativo que precisa calcular bilhões de distâncias de levenshtein entre pares de strings. As cadeias são sequências de DNA curtas (70 de comprimento), consistindo apenas de 4 caracteres. Também pode-se supor que uma das seqüências seja fixa, ou seja, estamos comparando uma sequência fixa com um bilhão de outras seqüências.
Eu sei que a implementação de programação dinâmica da distância levenshtein é , gostaria de saber se há algum espaço para melhorias. Eu encontrei esses dois algoritmos:
- algoritmo, em que é a distância de edição de Berghel et al . No entanto, não posso assumir que é pequeno, por isso pode não dar nenhuma vantagem
- aproximação em tempo de Andoni et al . Mas tenho duas preocupações com relação a isso:
- Esse algoritmo também é rápido na prática?
- Faz significa que a distância de edição calculada no pior dos casos é vezes o real? Nesse caso, é demais.
Você conhece algum outro algoritmo / idéia / abordagem que possa ser aplicável?