Данные и случайный выбор

Методика

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

Три набора с точными названиями

Набор из 193 позиций — это явный список действующих членов ООН. Набор из 195 позиций добавляет Святой Престол и Государство Палестина — два государства-наблюдателя при ООН. Набор из 249 позиций объединяет 248 строк M49 с буквенным кодом и TW, чтобы представить страны и территории ISO 3166-1. Территории ISO не называются суверенными государствами.

Снимок данных и происхождение

Набор countries-2026-08 включен в приложение. UN M49 предоставляет коды и статистические группировки; закрепленная версия CLDR 48 — отображаемые названия на девяти языках; flag-icons 7.5.0 — локальные SVG-флаги по лицензии MIT. Вместе со снимком записаны адреса источников, хеши получения и лицензии.

  • REST Countries и другие географические API не используются во время работы.
  • Специальные коды CLDR AC, CP, CQ, DG, EA, IC, TA и XK исключены.
  • Для Антарктиды регион M49 явно имеет пустое значение, а не придуманную группировку.

Алгоритм нового случайного выбора

Новый случайный режим получает беззнаковые 32-битные значения из Web Crypto. Выборка с отбрасыванием удаляет хвост, вызывающий смещение при делении по модулю, после чего алгоритм Фишера — Йетса перемешивает стабильный список кандидатов. Серия выбирается без возвращения позиций, сетевые запросы не выполняются. При N допустимых кандидатах вероятность каждого из них в первом выборе равна 1/N. Вероятность конкретной упорядоченной последовательности из k позиций без возвращения равна 1/[N×(N−1)×…×(N−k+1)].

Воспроизводимый алгоритм

Режим с ключом нормализует исходную строку, хеширует ее байты UTF-8 версионированной 32-битной смесью FNV-1a и передает результат документированному генератору семейства Mulberry32. Одинаковые исходная строка, идентификаторы кандидатов, версия набора данных и алгоритм rcg-seeded-v1 дают одну последовательность. Результат воспроизводим, но не защищен для лотерей или решений, которыми заинтересованная сторона может манипулировать. Открытый тестовый вектор: для первых 10 идентификаторов ISO в отсортированном порядке class-7 → ar, ad, ae, al, aq.

Колода, воспроизведение и экспорт

Колода без повторов хранит только стабильные идентификаторы и указатель позиции. В общих фрагментах версионируемые настройки и идентификаторы находятся после знака #, поэтому состояние не отправляется с запросом страницы. CSV и JSON содержат активную версию данных; несовместимые в будущем ссылки явно сообщают об ошибке, а не незаметно изменяют результат.

Обслуживание и исправления

Источники проверяются не реже одного раза в квартал, а также после подтвержденного существенного изменения названия или статуса. Для обновления нужны сформированная разница, точные проверки 193/195/249 и ручная проверка чувствительных случаев. Классификация используется функционально и не выражает позицию по вопросу суверенитета.