edit-distance-0.2.0: Levenshtein and restricted Damerau-Levenshtein edit distances

Text.EditDistance

Description

Computing the edit distances between strings

Synopsis

Documentation

data EditCosts Source

Constructors

EditCosts 

Fields

deletionCosts :: Costs Char
 
insertionCosts :: Costs Char
 
substitutionCosts :: Costs (Char, Char)
 
transpositionCosts :: Costs (Char, Char)
 

levenshteinDistance :: EditCosts -> String -> String -> IntSource

Find the Levenshtein edit distance between two strings. That is to say, the number of deletion, insertion and substitution operations that are required to make the two strings equal. Note that this algorithm therefore does not make use of the transpositionCost field of the costs. See also: http://en.wikipedia.org/wiki/Levenshtein_distance.

restrictedDamerauLevenshteinDistance :: EditCosts -> String -> String -> IntSource

Find the restricted Damerau-Levenshtein edit distance between two strings. This algorithm calculates the cost of the so-called optimal string alignment, which does not always equal the appropriate edit distance. The cost of the optimal string alignment is the number of edit operations needed to make the input strings equal under the condition that no substring is edited more than once. See also: http://en.wikipedia.org/wiki/Damerau-Levenshtein_distance.