| Здравствуйте, гость | Правила · Помощь |
Все темы | | | |
| » Аппаратный генератор случайных чисел, Может быть, он лучше? | | | |
|
» 21/08/2012, 21:08, Волколак
|
|
Читал недавно, такие генераторы работают в непрерывном режиме, т.е. постоянно выдают в общий доступ поток случайных чисел. Лень счас искать ссылку, но может быть это лучше, чем то что сейчас е...?
|
|
|
||||
С этим не поспоришь. Более того, уверен что обычная системная функция rand вполне подходит для целей генерации зар в нардах или даже сдач в преферансе. Насколько я знаю Сан Сеич с последним не согласится, но это уже частности.
Не знаю что имел ввиду автор старттопика, однако вынужден тут возразить Сан Сеичу. То что причиной возможной кривости Генератора(в чём я лично НЕ уверен) является не сам ГСЧ, а "программные хлопоты", связанные с доставкой случ. числа из заранее сгенерированного массива на конкретный стол и его преобразование в зар, мы все знаем практически наверняка. Так вот если предположить, что у аппаратного ГСЧ есть собственный сегмент памяти, к которому есть доступ со стороны ОС, то можно получать тот самый массив не единовременно, а динамически, при этом доступ к этому сегменту осуществлять через некоторый глобальный указатель, то многие "программные хлопоты" устранятся. |
||||
|
|
|
Встряну, не столько на правах специалиста, сколько на правах завсегдатая подобных тем.
Согласен с Сашуном. (Правда ставлю пиво, что сам он это мое утверждение назовет ложным Проблема действительно не в ГСЧ. Я уже как-то писал, что равное выпадение за турнир Тузов или семерок может дать отдельному игроку значительно лучшее (по правилам Префа) сочетание этих карт. Поэтому множество сдач в отдельной партии надо анализировать не на "случайность", а на соотношение КП (коэффициента прухи) всех участников. Поэтому генератор сдач надо поправлять. 1.Считаю, что разработчик ГСС ОБЯЗАН указать за какое число сдач игрок получит карты со средним КП. Например марка ГСС-1000, обозначит,что сыграв 1000 сдач игрок получит карту со средним КП. Выигранные/проигранные за это время висты можно смело относить на счет мастирсва. 2.В турнире, если нас интересует спортивный принцип, должен использоваться генератор соответствующий длительности турнира. 3.В отдельной партии КП одного участника не должен быть более чем в два раза лучше,чем у другого. где-то так... |
|
|
||
За число сдач примерно равное 5*2,75*10^15, где 2,75*10^15 - количество разных преферансных раскладов. -------------------- С уважением, А.Малышев |
||
|
|
||
Оно именно так и сделано. При таймауте в межсерверном обмене и невозможности получения на игровой сервер сгенерированного ХОРОШИМ ГЕНЕРАТОРОМ (Мерсенна) массива случайных чисел на игровом сервере автоматически включается запасной системный генератор ОС с малой, недостаточной, базой. Отсюда и косяки. За все 3 гамблерских ГСЧ и алгоритмы выдачи на столы игровых атрибутов (карт, зар, камней и т.д.) писалось не раз и ОЧЕНЬ ПОДРОБНО. Для преферанса повторяемость последовательности набора 32 натуральных чисел в случайном порядке (по числу карт в колоде) должна быть не хуже 3*10^15, чего, ясное дело, не может обеспечить никакой системный генератор никакой ОС, имеющий "от природы" короткую базу. А вот для нард (понятно всем - всего 2 зарика) или для бриджа (подумайте!! -------------------- С уважением, А.Малышев |
||
|
|
||||
Так, пиво я выиграл )) Теперь свое согласие с Сашуном могу и отозвать. Маэстро, давай не будем уходить в школьную теорию- ибо истина конкретна. "Плохой" ГСЧ может с какого-то момента начать повторяться,так ? А нам-то какое дело ?! Пусть он начнет повторяться после 10000 тысяч раскладов. Ужасно ? Теоретически да. А практически,а практически гораздо важнее то,о чем я написал в первом посте. |
||||
|
|
|
Таким образом "кривизна" генератора происходит не от его качества как ГСЧ, а только от его качества как ГСС.
Извините,если я так непонятно излагаю)) |
|
|
||||||||||
Хоть убей не понял :-)
Поправлять Генератор НИЗЗЯ. Это равносильно манипулированию им.
Эта идея-фикс с "коэффицентом прухи" мне совсем не понятна. Кто будет считать его, по какой методике? Разработчик ГСЧ НЕ обязан уметь играть в преферанс, и, вообще, НЕ должен ориентироваться на какую либо конкретную игру. Всё что от него требуется это генерация равномерной последовательности случайных чисел с достаточно большой базой.
Вихрь Мерсенна с базой 2^19937 Вас не устравивает??
Надо ли полагать, что Вы хотите исключить из преферанса мизера и десятерики? Это сообщение отредактировал lulukyan - 22/08/2012, 21:55 |
||||||||||
Все темы | | | |
« Предыдущая тема | Перечень тем | »
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
0 Пользователей:
