| Здравствуйте, гость | Правила · Помощь |
Все темы | | | |
| » Объясните админы, в чем тут дело??, Логи инсайд! | | | |
|
|
||||
Премного благодарна за разъяснение! Это сообщение отредактировал MeaCulpa - 21/12/2010, 16:24 |
||||
|
|
|
MeaCulpa вам с моим дедушкой надо поиграть. оба плакать будите одному куш вай вай вай и потом другому вай вай вай. чё расплакались вам рейт этой игрой угробили навсегда))))ума не хватает этот рейт востановить? пишите возраст хотяб пишут а то дети вопросы задают. мне кажется
|
|
|
|
Слон никогда не кинет все куши - он бегает по своему "кругу". А круг маленький и дури в нем много ))
|
|
|
||
Генератор псевдо-случайных чисел действительно "бегает по кругу". Однако я не могу взять в толк как Вы, Уважаемая, сумели оценить его величину? Ваши рассуждения по этому поводу могут оказаться очень полезными сообществу гамблерян. |
||
|
|
|
Давайте посчитаем просто на пальцах - любимый ГСЧ с вихрем Мерсена М = 2**31 - 1. В лучшем случае зациклится через М шагов, в других через М/4 . Т.е имеем последовательность "0" и "1" длиной в 2**63 (ГСЧ дает М случайных 32 битных числа). Возьмем среднюю длину игры в длинные нарды 46 ходов. Т.е нам кинули 92=(46*2) разрядное ШЕСТЕРИЧНОЕ число. Для чисел от 1 до 6 необходимо три бита. Итого имеем всег0 (2**3)**92 = 2 ** 276; Отсюды легко посчитать что хороший ГСЧ с таким М - дает менее четверти возможных комбинаций из 46 бросков. Наверняка, ШЕСТИРИЧНЫЕ числа полуючают более простым путем (каким нить действом по модулю 6 или 36) с тремя битами работать - эт сдвигать надо... думать ... Тогда перекрывают еще меньше чем четверть.
|
|
|
||||
цитата из Википедии
Остальные Ваши рассуждения комментировать излишне. Единственно добавлю, что если бы Ваша цифра(M=2^31-1) была бы верной, то это был бы не Генератор а пародия на него. PS. Чтобы хотя бы попытаться представить себе это число(2^19937-1), то добавлю, что это число, будь оно написано в десятичной системе счисления, не поместилось бы на одной полной странице( единица с 6000( шесть тысяч) нулями) Это сообщение отредактировал lulukyan - 25/12/2010, 01:19 |
||||
|
|
|
)) Можно поговрить дальше ) Генератор дает переменные типа double в диапазоне от 0 - до 1. Далее из них надо получить целое число в дипазоне от 1 до 6 через некоторую функцию. Рассмотрим для примера два случая - int Y1= Random()*6. + 1 ; int Y2 = Random()*6. + 1 ;
и второй вариант int Y1 = Random()*36. ; Int Y2= (Y1/6)+1; Y1= (Y1%6) +1; Сомнений нет что будут разные пары Y1 и Y2? Периоды зацикливания у них будут разные - тоже не вызывает сомнений? А вот как их периоды зацикливания связаны с периодом Random() - Вы не подскажите? |
|
|
||||
Откуда такая уверенность? :-)
Один к одному. |
||||
Все темы | | | |
« Предыдущая тема | Перечень тем | »
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
0 Пользователей:
