Это общее требование, и, к сожалению, оно нелогично - и поэтому, конечно, оно не может быть реализовано.Вот в чем проблема: предположим, что строки 1 и 2 более чем на 90% похожи (по определению WHATEVER).Предположим также, что строки 2 и 3 более чем на 90% похожи.Эти два предположения НЕ подразумевают, что строки 1 и 3 более чем на 90% похожи!Тем не менее, вы должны сгруппировать строки 1 и 2 вместе, а также 2 и 3, поэтому строки 1, 2, 3 должны быть в одной группе (даже если 1 и 3 не «достаточно похожи»).
Теперь представьте, что строки 5 и 6 недостаточно похожи.Позже мы добавим строку 7, которая более чем на 90% похожа на строку 5, а также более чем на 90% похожа на строку 6. И что теперь?Теперь вы должны сгруппировать строки 5 и 6 вместе!
Пример оформления:
row 1 ABCDEFGHIJ
row 2 ABCDEFGHIX
row 3 ABCDEFGHYX
Все три строки имеют длину в десять букв.Строка 1 и строка 2 имеют 9 общих символов (в одинаковых позициях), поэтому по одному показателю они «похожи на 90%».То же самое со строками 2 и 3;но строки 1 и 3 схожи только на 80%.
Итог: вся концепция фатально ошибочна - нет уточнения формулировки проблемы, которая сделает его осмысленным.
Математическое (теоретическое, академическая) концепция, стоящая за этим обсуждением, - это «отношение эквивалентности»Отношение - это отношение эквивалентности, если оно рефлексивно (каждый элемент связан с самим собой), симметрично (если A и B находятся в отношении, то так же и B и A) и транзитивно (если A иB в этом отношении, как и B и C, тогда A и C находятся в отношении).Концепция, с которой вы работаете, является рефлексивным и симметричным отношением, но оно не является ПЕРЕХОДНЫМ - и, следовательно, это не отношение эквивалентности.С другой стороны, отбрасывание «вещей» в группы - это то же самое, что и определение отношения эквивалентность .Вы не можете создавать «группы» на основе отношения, которое не является транзитивным.