Сегодня я изучал расстояние Левенштейна и наткнулся на то, что кажется странным способом вычисления в хорошо известном алгоритме Вагнера-Фишера.Пожалуйста, помогите мне понять, где я ошибся.
Первая строка - Max
.
Вторая - Annas
.
Матрица преобразования будетследующее:
Алгоритм сообщает, что расстояние Левенштейна от Макса до Анны равно 4.
Так вот как я понимаю, это должно работать: (учитывая, чтостоимость любого действия составляет 1)
M
против A
-> Заменить m
на a
( 1 действие на данный момент)
A
против N
-> Заменить a
на n
( 2 действий до сих пор)
X
против N
-> Заменить x
на n
( 3 действий на данный момент)
После этого нам просто нужно добавить буквы, оставленные a и s, которые на 2 требуют от нас больше действийВ результате получается 5 , а не 4.
Я вижу, что он идет по более простому пути, вероятно, но что это?Пожалуйста, объясните это алгоритмы логики работы.
Спасибо.