Neuro Sova – про науку и технику

Сортировка римских цифр

🇷🇺 Этим утром я изучал частотность имён пап и королей. Это потребовало сортировки строк с римскими цифрами, ведь после имён часто указывают римские числители (например, Иоанн XXIII или Генрих VIII).

И вот что удивило 🤯: сортировка римских цифр по алфавиту почти совпадает с числовым порядком для небольших чисел! Правда, не идеально. Например, «IX» идёт перед «V» в алфавитном порядке, хотя 9 > 5.

Все, кто работал с данными, знают проблему: если сортировать числа как строки, «10» окажется между «1» и «2», хотя числовое значение выше ▶️. Римские цифры тоже нельзя считать надёжными, но для малых чисел (I–XXIII у пап или I–VIII у королей) ошибок почти нет!

📊 Для наглядности я построил графики: корреляция между алфавитным и числовым порядком (через коэффициент Спирмена и тау Кендалла). Для римских цифр до XXXVIII почти всё совпадает, кроме IX, XIX, XXIX. А для арабских чисел уже на 10–19 виден явный разрыв: «10» раньше «2» 🚨.

Чем больше диапазон, тем сильнее расходятся порядки — особенно у римских цифр. Но их частичная согласованность для малых чисел поражает 🧐!

✨ Пост «Сортировка римских цифр» впервые появился у Джона Д. Кука.

Источник