Задача о расстоянии Дамерау-Левенштейна
Определение: |
Расстояние Дамерау — Левенштейна между двумя строками, состоящими из конечного числа символов — это минимальное число операций вставки, удаления, замены одного символа и транспозиции двух соседних символов, необходимых для перевода одной строки в другую. |
Является модификацией расстояния Левенштейна, отличается от него добавлением операции перестановки.
Расстояние Дамерау — Левенштейна является метрикой.
Практическое применение
Описание алгоритма
Метод динамического программирования позволяет найти расстояние Дамерау — Левенштейна между двумя строками
и , длины которых равны соответственно и , затратив сравнительно небольшое количество вычислительных ресурсов.Простая модификация алгоритма поиска расстояния Левенштейна не приводит к цели:
Рассмотрим более сложный алгоритм, который корректно решает задачу поиска расстояния Дамерау — Левенштейна.