Алгоритм Смита-Уотермана , вероятно, будет более адаптирован к вашей задаче, поскольку он позволяет вам определить функцию оценки, которая будет отражать то, что вы считаете «сходством» между персонажами (для instance O
очень похож на 0
et c). Я думаю, что у него есть то преимущество, что вы можете определить свою собственную функцию оценки, что не обязательно относится к ванильной версии других алгоритмов, которые вы представляете.
Этот алгоритм широко используется в биоинформатике, где биологи попытайтесь обнаружить последовательности ДНК, которые могут быть разными, но иметь одинаковые или очень похожие функции (например, что AGC
кодирует тот же белок, что и GTA
).
Алгоритм работает в квадрате c время с использованием динамического c программирования, и его довольно легко реализовать.