Невозможно следовать интуиции за минимальной дистанцией редактирования
Так что я только начал читать на MED, но совершенно не в состоянии следить за этим. Предположим, мне нужно преобразовать «ВОДА» в «ВЕРХ». Теперь я могу заменить:
W->A, A->T, T->E, E->R, R->W
Таким образом, общая стоимость = 2 + 2 + 2 + 2 + 2 = 10 (все замены)
Однако это не правильно, я знаю, это должно быть так
WATER-
-ATERW
Таким образом, общая стоимость здесь = 1 + 1 = 2 (удаление и вставка) Но тогда мой вопрос заключается в том, как программа узнает, что она не должна совпадать'W'->'A'
и скорее удали'W'
и соответствовать'ATER'
в обе строки ?? Как эта интуиция / логика внедряется в программу?