All streams
Search
Write a publication
Pull to refresh

Comments 26

Это очень интересно! Прочитал на одном дыхании -никогда не задумывался об этом)

Спасибо за перевод. Вообще, рандомизация - та ещё головная боль...

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

А в чем проблема, что алгоритм предоставил игрокам колоду, перетасованную одним из 200,000 вариантов, а не из 57! ? Игроки ведь все равно не знают, какой вариант им выпал.

А вот тут начинается самый цимес: у тебя на руке 3 или 5 карт – это один из 132 тысяч или 300+ миллионов вариантов (порядок карт тоже важен) соответственно. А значит, по своим картам ты можешь как минимум уточнить вероятности раскладов противника, а как максимум – узнать всю колоду.

Верно. С каждой раскрытой картой ветка следующей карты сильно сужается.

Кажется очевидным вариант выбирать случайную карту, исключать ее из выборки, выбирать следующую из оставшихся. И так до конца. Неужели кто-то делал иначе.

«выбирать случайную карту» в этом же и цимес

В работе компьютеров нет случайности, а в лавовых лампах - есть (в достаточной на сегодня степени)

В работе компьютеров случайность есть уже довольно давно.

Вы забыли приставку псевдо-

Нет, там нет приставки "псевдо".

Так программисты зря до сих пор используют генераторы псевдослучайных чисел? Где-то внутри компьютера есть бесплатный источник случайности? Просветите же, прошу.

Нет, не зря. Аппаратные ГСЧ очень медленные, поэтому их используют напрямую только там, где это оправдано. В иных случаях используют различные ГПСЧ, которые намного быстрее. Но их можно инициировать (seeding) от аппаратного ГСЧ для улучшения качества получаемых последовательностей.

ГСЧ в современных компьютерах встроен прямо в процессор - это используется в эмуляции TPM. Но если есть отдельный дискретный модуль TPM, то можно использовать и его.

Хм, действительно, узнал из гугления о команде RDRAND. Для меня это что-то новое, спасибо)

Да не за что. Пользуйтесь на здоровье! :)

Кстати, есть еще RDSEED. С точки зрения случайности она лучше, чем RDRAND.

То есть, "цимес" статьи не в тасовании колоды карт, а в отсутствии в те времена доступного нормального ГСЧ?

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

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

Причина этого кажущегося несоответствия заключается в том, что люди обычно недооценивают количество возможных пар учеников. Из 30 учеников можно сформировать 435 пар. Если понять это, то вероятность того, что каждая пара учеников родилась в разные дни, уже не покажется такой высокой.

Мне показалось, что тут должно быть так:

"Причина этого кажущегося несоответствия заключается в том, что люди обычно ПЕРЕОЦЕНИВАЮТ количество возможных пар учеников."

Кроме того, вот этот логический вывод отнюдь не очевиден, кмк:

Из 30 учеников можно сформировать 435 пар. Если понять это, то вероятность того, что каждая пара учеников родилась в разные дни, уже не покажется такой высокой.

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

Учитывая, что новые колоды часто продаются не в рандоме а разложенные по мастям и рангу, думаю что очень много должно быть повторений в начале тасовки, нет ?

Тут на хабре был перевод https://samwho.dev/reservoir-sampling/ (не нашел)

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

Sign up to leave a comment.

Articles