Я работал над интерфейсом MPD в Ruby с возможностью воспроизведения случайного альбома.Улучшение «разрешения» случайных данных
album = all[(rand*all.length).floor]
all
Где это массив имен всех альбомов в библиотеке, выбирает альбом, чтобы играть.
Это работает, однако, я считаю, что он воспроизводит несколько альбомов больше, чем другие, а иногда и очень очевидно (я видел, как он играл один и тот же альбом два раза подряд, у меня в библиотеке несколько сотен альбомов, так что это должно быть статистически очень вряд ли произойдет), а с другой стороны, много альбомов никогда не играли.
Есть ли способ получить более случайное число? Есть ли камень, который реализует лучший алгоритм случайных чисел? Нужно ли менять семена?
"Очень" маловероятно, нет. Если у вас есть, скажем, 300 альбомов, шансы сыграть одну и ту же вещь дважды подряд - около 1 в 300 ... –
На самом деле, вполне вероятно, см. «Парадокс дня рождения»: http: //en.wikipedia .org/wiki/Birthday_problem Из 365 возможных дней рождения в случайной группе из 23 человек шансы лучше 50%, что по крайней мере у двух из них будет тот же день рождения. Перевод песни на песни, если вы играете 23 песни в случайном порядке из коллекции песен 365, лучше, чем 50% вероятность того, что одна и та же песня появится дважды. Через два часа/40 песен у вас есть ~ 12% шанс получить одну и ту же песню дважды подряд. Это один из менее интуитивных эффектов случайности :) –
j-g-faustus, вот почему мне нужно больше узнать о статистике! Спасибо, что опубликовали это сообщение, и всем, кто отправил ответ в ответ –