Я играю с алгоритмом редактирования расстояния Левенштейна , и я хочу расширить его, чтобы подсчитать транспозиции, то есть обмены соседними буквами, как 1 редактирование . Немодифицированный алгоритм подсчитывает вставки, удаления или замены, необходимые для достижения определенной строки из другой. Например, расстояние редактирования от «КОТЯТ» до «СИДЕНИЕ» равно 3. Вот объяснение из Википедии:
Следуя тому же методу, расстояние редактирования от "CHIAR" до "CHAIR" равно 2:
I Я хотел бы засчитать это как «1 редактирование», так как я обмениваюсь только двумя соседними буквами. Как я могу это сделать?