Тест на дружбу
Это игра: вводишь два имени — получаешь процент дружбы от 0 до 100. Формула ниже открыта целиком, каждый шаг виден рядом с результатом, и одна и та же пара имён всегда даёт одинаковое число. Введённые имена не сохраняются и не отправляются на сервер: расчёт происходит в браузере.
Как считается процент дружбы
Оба имени сначала приводятся к единому виду. Регистр не важен, необычные апострофы и дефисы становятся обычными, а надстрочные знаки внутри латиницы убираются: José и Jose считаются одинаковым написанием. Потом пара сортируется в канонический порядок — поэтому перестановка полей не меняет ответ.
Пробелы и дефисы при подсчёте букв не учитываются. Дальше считаются четыре фактора. Первый — общие буквы, вес 40%.
Это мультимножественный Жаккар по буквам: каждая буква считается столько раз, сколько встречается, и сравнивается пересечение с объединением. Второй — близость первых букв, вес 25%. Разница алфавитных позиций первых букв делится на 8.
Третий — баланс гласных, вес 20%. Считается разница долей гласных в двух именах. Четвёртый — соотношение длин, вес 15%.
Короткое имя делится на длинное. Каждый фактор округляется до четырёх знаков после запятой. Результат считается из округлённых значений: сумма умножается на 100 и округляется в целое от 0 до 100.
Скрытых слагаемых и случайности нет. Поэтому одна и та же пара имён всегда даёт одно и то же число.
Какие имена принимаются
Поддерживаются три письменности: латиница, кириллица и деванагари. Каждое поле должно оставаться внутри одной письменности, но два поля могут быть в разных. Буква считается графемой: например, क्षि — одна буква, а не три.
Транслитерации нет: «Иван» и «Ivan» — разные написания, поэтому и результаты разные. Имена длиннее 64 графем или символы вне трёх письменностей дают понятную ошибку формы, а не ноль.
Что означает процент
Число — это арифметика двух написаний, а не оценка людей. Высокий процент значит, что у имён больше общих букв, ближе первые буквы, похожий баланс гласных и подходящие длины. Низкий — что эти признаки совпадают меньше.
Инструмент не знает, дружат ли два человека на самом деле, и ничего не спрашивает об их отношениях. Он не использует даты, возраст и вообще ничего, кроме двух имён. Это игра, и её правила видны.