Откуда возникает перекос при генерации через остаток

Нет: ноль получается в 4 случаях, единица и двойка — в 3. Число исходов 10 не делится на 3, поэтому простое взятие остатка создаёт modulo bias.

Короткий ответ

Что ответить на собеседовании

Нет: ноль получается в 4 случаях, единица и двойка — в 3. Число исходов 10 не делится на 3, поэтому простое взятие остатка создаёт modulo bias.

Подробный разбор

Ответ с пояснениями

Условие

Равномерно выбирается целое от 0 до 9, затем вычисляется x % 3. Равновероятны ли результаты 0, 1 и 2? Как убрать перекос?

Ответ

Нет: ноль получается в 4 случаях, единица и двойка — в 3. Число исходов 10 не делится на 3, поэтому простое взятие остатка создаёт modulo bias.

Отбрасывайте 9 и повторяйте выбор: на диапазоне 0–8 каждая группа имеет по три значения. Общий принцип — принимать диапазон длины, кратной числу нужных исходов. Для безопасности используйте подходящий криптографический генератор; устранение modulo bias само по себе не делает слабый генератор криптографически стойким.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее