How block_size affects transposition logic
masterThe block_size parameter in DamerauLevenshtein.distance controls how the algorithm handles transpositions (swapping blocks of characters). This allows you to switch between standard Levenshtein, Damerau-Levenshtein, and the Boehmer & Rees modification.
block_size | Algorithm Type | Behavior |
|---|---|---|
0 | Pure Levenshtein | Transposition does not count as an edit. |
1 | Pure Damerau-Levenshtein | Transposition between 2 adjacent characters counts as 1 edit. |
2 | Boehmer & Rees | Transposition between blocks up to 2 characters (e.g., abcd $\leftrightarrow$ cdab counts as 2 edits). |
3 | Boehmer & Rees | Transposition between blocks up to 3 characters (e.g., abcdef $\leftrightarrow$ defabc counts as 3 edits). |