LINUX.ORG.RU

random.choice is not random

 


0

1

У меня только что в программе random.choice выбрал одно и то же значение четыре раза подряд. Когда протестировал в консольке [choice(k) for i in range(10)] (где k это массив из 8 различных строк) то одна повторилась аж 5 раз, сначала три раза подряд вначале и потом ещё два раза подряд в середине.

Так же randint(0,1) только что вывел девять раз подряд 1 прежде получился ноль. Как бы вероятность такого события должна быть очень мала, верно? Примерно 0.5**9 = 0.00195.

Что-то мне подсказывает что у питона есть проблемы. Причём, плавающие. На больших выборках среднее соответствует мат. ожиданию, но локально, кмк, есть проблемы.

Это вообще нормально? :( Пока горожу свой костыль на os.urandom.

Python 3.4.3, arch linux amd64.

cast tailgunner

★★★★★

кто-то где-то seed выставил а конечный пользователь(программист) не в курсе?

qulinxao ★★☆
()
Ответ на: комментарий от shrub

Лол, из мана random(3):

The functions described in this manual page are not cryptographically secire. Cryptographic applications should use arc4random(3) instead.

При этом random так себя не ведет

anonymous
()
Ответ на: комментарий от true_admin

на коротких выборках доверительный интервал ты ж в курсе «больше» самих значений :)

qulinxao ★★☆
()

Сколько дилетантов в треде!

ТС, дай 1500 случайных чисел от 1 до 1000, плиз.

anonymous
()
Ответ на: комментарий от true_admin

стал чуточку умнее

стал чуточку осведомлённее.

5/7 следствием поумнения есть в будущем указание на вопросительность (маркировка глифой вопроса) random.choice is not random

qulinxao ★★☆
()
Ответ на: комментарий от true_admin

> Меня в треде убедили что с рандомом всё хорошо

То сам вероятность подсчитал почти правильно, а то его убедили. Лишь бы хоть как работало, вообще.

anonymous
()
Ответ на: комментарий от CryAngel

смотри с того места где рассказываеться(письменно) про гсч как вырезка n цифр из серединки квадрата числа(длины n) из прошлой стадии(итерации)

qulinxao ★★☆
()

Во-первых, вероятность любого отдельно взятого элементарного исхода очень мала. Вы необоснованно рассматриваете некоторую ситуацию как особенную и делаете статистические выводы на основании одного эксперимента - такое совершенно точно недопустимо.

Во-вторых, не должно быть таких претензий к генератору псевдослучайных чисел.

xecu91
()
Ответ на: комментарий от true_admin

true_admin

Скорее всего. Но зато теперь расковырял исходники random, почитал википедию, поговорил с народом и стал чуточку умнее.


вместо того чтобы работать

yurikoles ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.