Наверное все использовали или видели такую конструкцию для генерации случайного числа в нужном диапазоне (в данном случае от 0 до 123):
a = $urandom % 123
Но не все обращают внимание на то, что такое выражение выдаст случайное число не с равномерным распределением (не всегда). Конкретно в этом случае вероятность получения чисел от 0 до 36 будет выше, чем всех остальных. При этом, чем меньше отношение интервала к максимальному случайному числу, тем больше будет неравномерность.
Функция $urandom выдаёт 32-битное число, т.е. максимальное значение 2^32 и неравномерность в примере выше будет настолько маленькая, что ни в каких реальных применениях вы её не заметите. Однако, если интервал сделать, например, 0.1 от максимального случайного числа, то неравномерность будет заметна уже на тысячах выборок.
Как можно догадаться, чтобы распределение не ломалось, нужно выбирать интервал равный степени двойки, чтобы весь интервал случайных чисел делился на него нацело.
Наверное все использовали или видели такую конструкцию для генерации случайного числа в нужном диапазоне (в данном случае от 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
Multiple pro-Kremlin media figures circulated the post's false claims, including prominent Russian journalist Vladimir Soloviev and the state-controlled Russian outlet RT, according to the DFR Lab's report. Either way, Durov says that he withdrew his resignation but that he was ousted from his company anyway. Subsequently, control of the company was reportedly handed to oligarchs Alisher Usmanov and Igor Sechin, both allegedly close associates of Russian leader Vladimir Putin. Update March 8, 2022: EFF has clarified that Channels and Groups are not fully encrypted, end-to-end, updated our post to link to Telegram’s FAQ for Cloud and Secret chats, updated to clarify that auto-delete is available for group and channel admins, and added some additional links. Russians and Ukrainians are both prolific users of Telegram. They rely on the app for channels that act as newsfeeds, group chats (both public and private), and one-to-one communication. Since the Russian invasion of Ukraine, Telegram has remained an important lifeline for both Russians and Ukrainians, as a way of staying aware of the latest news and keeping in touch with loved ones. The channel appears to be part of the broader information war that has developed following Russia's invasion of Ukraine. The Kremlin has paid Russian TikTok influencers to push propaganda, according to a Vice News investigation, while ProPublica found that fake Russian fact check videos had been viewed over a million times on Telegram.
from sg