Ануп Томас Мэтью и Ануп Т. Мэтьюможет (НЕявляется) это один и тот же человек?

Да!

И могут ли Anoop TMи Anoop KJ быть одним и тем же человеком?

Возможно, нет

Это предпосылка Похожего алгоритма. Застрял на этой проблеме и попытался найти существующие алгоритмы для этого — расстояние Левенштейна, индекс Жаккара, расстояние Хэмминга — все они оперировали посимвольно и редактировали расстояния. И эти алгоритмы расстояния редактирования имеют возможность определить, изменился ли символ, а не то же самое слово/часть слова или нет.

Подобный алгоритм

Вместо того, чтобы находить сходство по буквам, алгоритм Similarish пытается найти совпадения в словах. Отсутствие слова не означает, что они оба разные, но написание собственного имени менее подвержено ошибкам, так что это может быть не опечатка, а другое имя.

Step 1: procedure similarish(a,b)
Step 2: Separate both strings as only text in lowercase as words: lists —  a and  b
Step 3: let count = 0; let length_a = len(a); let length_b = len(b)
Step 4: if length_a > length_b: a,b = b,a
Step 5: for substring_a in a do:
Step 6: for substring_b in b do:
Step 7: if substring_a == substring_b or substring_a in substring_b or substring_b in substring_a
Step 8: count = count + 1
Step 9: end for
Step 10: end for
Step 11: return count >= min(length_a, length_b)
Step 12: end procedure

Реализация Python

Осторожность

Чтобы было ясно, этот алгоритм предоставляет понятие «может быть», а не «есть». То есть две строки могут быть одинаковыми на основе сходства, но есть вероятность, что алгоритм может быть неправильным.