Telegram Group & Telegram Channel
Наверное все использовали или видели такую конструкцию для генерации случайного числа в нужном диапазоне (в данном случае от 0 до 123):

a = $urandom % 123

Но не все обращают внимание на то, что такое выражение выдаст случайное число не с равномерным распределением (не всегда). Конкретно в этом случае вероятность получения чисел от 0 до 36 будет выше, чем всех остальных. При этом, чем меньше отношение интервала к максимальному случайному числу, тем больше будет неравномерность.

Функция $urandom выдаёт 32-битное число, т.е. максимальное значение 2^32 и неравномерность в примере выше будет настолько маленькая, что ни в каких реальных применениях вы её не заметите. Однако, если интервал сделать, например, 0.1 от максимального случайного числа, то неравномерность будет заметна уже на тысячах выборок.

Как можно догадаться, чтобы распределение не ломалось, нужно выбирать интервал равный степени двойки, чтобы весь интервал случайных чисел делился на него нацело.



group-telegram.com/enginegger/7
Create:
Last Update:

Наверное все использовали или видели такую конструкцию для генерации случайного числа в нужном диапазоне (в данном случае от 0 до 123):

a = $urandom % 123

Но не все обращают внимание на то, что такое выражение выдаст случайное число не с равномерным распределением (не всегда). Конкретно в этом случае вероятность получения чисел от 0 до 36 будет выше, чем всех остальных. При этом, чем меньше отношение интервала к максимальному случайному числу, тем больше будет неравномерность.

Функция $urandom выдаёт 32-битное число, т.е. максимальное значение 2^32 и неравномерность в примере выше будет настолько маленькая, что ни в каких реальных применениях вы её не заметите. Однако, если интервал сделать, например, 0.1 от максимального случайного числа, то неравномерность будет заметна уже на тысячах выборок.

Как можно догадаться, чтобы распределение не ломалось, нужно выбирать интервал равный степени двойки, чтобы весь интервал случайных чисел делился на него нацело.

BY Arnold Enginegger


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/enginegger/7

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

"Your messages about the movement of the enemy through the official chatbot … bring new trophies every day," the government agency tweeted. WhatsApp, a rival messaging platform, introduced some measures to counter disinformation when Covid-19 was first sweeping the world. Although some channels have been removed, the curation process is considered opaque and insufficient by analysts. "There are several million Russians who can lift their head up from propaganda and try to look for other sources, and I'd say that most look for it on Telegram," he said. As a result, the pandemic saw many newcomers to Telegram, including prominent anti-vaccine activists who used the app's hands-off approach to share false information on shots, a study from the Institute for Strategic Dialogue shows.
from sa


Telegram Arnold Enginegger
FROM American