Aller au contenu
uencoder

Levenshtein Distance

La distance de Levenshtein est le nombre minimal d'insertions, de suppressions et de substitutions d'un seul caractère nécessaires pour rendre deux chaînes identiques.

Objectif

Mesure la différence d'édition entre chaînes ; utilisée pour l'appariement approximatif et la correction orthographique.

Mécanisme

Programmation dynamique : d[i][j] = min(d[i-1][j]+1, d[i][j-1]+1, d[i-1][j-1]+coût), où le coût vaut 0 si les caractères concordent et 1 sinon. Temps et espace en O(m×n) ; l'espace peut être optimisé à O(min(m,n)).

Cas d’usage

  • Correction orthographique
  • Alignement de séquences d'ADN
  • Recherche floue et déduplication
  • Traitement automatique du langage

Exemples

  • entrée
    kitten → sitting
    Output
    3

    Substitute k→s, e→i, and insert g

Erreurs courantes

Full O(mn) computation is too slow for long strings
Use a BK-tree or early termination by threshold

Termes associés

Outils associés

References