LD = расстояние Левенштейна
Просто делаю несколько примеров на бумаге, кажется, это работает, но кто-нибудь знает, всегда ли это так?
Допустим, у меня есть 3 строки
BOT
BOB
BOM
LD (BOT, BOB) = 1
и
LD (BOB, BOM) = 1
тогда
LD (BOT, BOM) = макс (LD (BOT, BOB), LD (BOB, DOM)) = 1
OR
BÀAB
BBAB
BCCD
LD (BBAB, BAAB) = 1
и
LD (BBAB, BCCD) = 3
затем
LD (BAAB, BCCD) = макс (LD (BBAB, BAAB), LD (BBAB, BCCD)) = 3
Я бы хотел знать, всегда ли это применимо.
То есть
LD (B, C) = max (LD (A, C), LD (A, B))
РЕДАКТИРОВАТЬ - Добавлено 22.10.2009 19:08 PST
Я начинаю думать, что это справедливо для слов одинаковой длины, в противном случае вы все равно можете это сделать, но вам нужно добавить абсолютное значение разницы в длине слова.
По существу LD (B, C) = max (LD (A, C), LD (A, B)) + abs (длина (B) -длина (C))