Здравствуйте, гость Правила · Помощь

»  И снова о НЁМ ))) Подписаться | Сообщить другу | Версия для печати
      » 24/10/2003, 14:22,  BlackRaven 
Пока он "виснет" и "падает" (это я о Слоне, а вы что подумали?)))), вспомним о его запчасти, о ГЕНЕ.

Кто-то может попроСЧе без самой верхней математики объяснить:

1. Есть ли какая-то особая трудность в том, чтобы генерировать не 600 раскладов всему клубу сразу, а скажем, каждому столу свой расклад?

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

3. В таком случае (см.п.2) сколько раз достаточно было бы перетасовать колоду из 32 карт (нашу с вами преф-колоду), чтобы влияние предыдущей цепОчки (последовательности) карт не было заметным, и карты бы были хорошо перетасованы. Способ перетасовки: колоду пополам, а после этого карту за карту.
      » 24/10/2003, 14:23,  AndyBig 
А че, опять упал ?
      » 24/10/2003, 15:21,  Добряк 
Ответы БЕЗ МАТЕМАТИКИ.

1. Есть ли какая-то особая трудность в том, чтобы генерировать не 600 раскладов всему клубу сразу, а скажем, каждому столу свой расклад?

Ответ.
И сейчас выдаваемый на стол расклад является "своим". Просто он генерится не ПОСЛЕ ЗАПРОСА для его выдачи на стол, а ЗАРАНЕЕ.
Для лучшего понимания можно представить, что карты продаются в магазине УЖЕ ПЕРЕТАСОВАННЫМИ случайным образом, и перед каждой сдачей просто распечатываатся НОВАЯ, ЗАРАНЕЕ перетасованная колода.
============

3. ... сколько раз достаточно было бы перетасовать колоду из 32 карт (нашу с вами преф-колоду), чтобы влияние предыдущей цепОчки (последовательности) карт не было заметным, и карты бы были хорошо перетасованы. Способ перетасовки: колоду пополам, а после этого карту за карту.

Ответ.
Если колоду из 32 карт тасовать врезкой или внахлест ТОЧНО "КАРТА В КАРТУ" то, после 5 таких врезок, расположение карт в колоде будет ИДЕНТИЧНО исходному. Это хорошо известно "мастерам ловких рук", некоторые из которых достаточно виртуозно такие врезки "исполняют".

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

Ответ.
Можно. Но тогда выйдет не игра в преферанс на СЛУЧАЙНЫХ раскладах, как это предусмотрено Кодексом Преферанса, а викторина по решению префзадач.

Кодекс Преферанса:
3.2.3. Сдающий должен тщательно пеpетасовать каpты, затем положить колоду на стол перед своим соседом справа и предложить ему снять. Положив оставшиеся каpты на снятые, он pаздаёт их. Любой из участников игры может попросить потасовать карты ещё – до того, как произошёл съём. Перед съёмом любой из игроков может попросить дать ему карты для тасования. Перетасовав, он возвращает их сдающему.

3.2.4. Если во время тасовки перевернётся или упадёт одна или несколько карт, карты следует тасовать ещё раз до съёма.

3.2.5. Съём колоды обязателен.

3.2.6. Съём следует делать на столе (не в руке сдающего), одной рукой, таким обpазом, чтобы в снятой или оставленной части колоды оказалось не менее четырёх каpт. Если съём произошёл с нарушением правил, то любой из игроков может попросить повторить тасование и съём.

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

Вот так.
      » 25/10/2003, 00:25,  BlackRaven 
Понимаешь ли, Сашун, всё оно верно вроде, вот только тут колоду никто не сдвигает, а есть мнение, что даже авторитетные генераторы МОГУТ циклить. Ну и их, как тут уже было когда-то на примере показано, подвергают профилактике, "сдвигая" или "срезая" колоду время от времени. Т.е. исходный расклад для генератора в таком случае разный. Оно бы было так и у нас, если бы колоду, "собирали" со стола или "срезали". Но я так думаю тут всегда начинают с одного и того же порядка карт.

Хотя оно только моё мнение, даже не математическое, а так чисто житейское. Ну привык я к тому, чтоб срезали колоду.

На счёт случайных раскладов я понимаю, если ГЕНЯ хороший, то он лучше тасует, в смысле случайнее, чем большинство из нас)). Это верно.

А вот про способ перетасовки карт я как раз думал, что если делить колоду пополам, а затем совмещать половинки в одну строго карту за карту, то после 6-7 раз как раз то, что надо получится, в смысле хорошо перетасованная колода. Правда это было сказано по отношению к играм типа "Двадцать Одно", Покер и т.д. Там где неплохо бы знать какая карта за какой шла в предыдущем раскладе.
      » 25/10/2003, 04:13,  MishaX 
"Но я так думаю тут всегда начинают с одного и того же порядка карт."

"Исходного порядка карт" здесь не бывает в принципе. Бывает в рандомайзерах исходное число, в качестве которого обычно берется компьютерный таймер - эти самые миллисекунды на момент запуска программы довольно случайны. :)
      » 25/10/2003, 05:16,  BlackRaven 
Верю, но тут же уже публиковалась статья, в которой использование таймера в качестве исходного числа, подвергалось некоторому дополнительному (простите меня за неграмотность) уточнению или услучайниванию.))) А именно - человек раздавал карты (делал первую раздачу, то был Бридж), а уж затем этот "живой" расклад вводился в ГЕНЮ, а дальше вот, как ты пишешь, Миша.

Или я напутал?
      » 25/10/2003, 05:57,  Добряк 
Тут МишаХ немножко "не в курсе дела".

Добряк, Дата: 20 Авг 2003 14:47

Генераторов раскладов тут [на Гамблере] 2.

1-й "плохой" на системном ГСЧ ОС - имеет короткую базу и, вследствие этого, не обеспечивает выборку из ПОЛНОГО множества раскладов. Встроен в серверную часть игровой программы. Генерит заведомо КОСЫЕ расклады вследствие малости базы. Является вспомогательным.

2-й ГСЧ на простых 17-значных числах Мерсенна цельносодран с японского. Повторяемость не хуже 1/2^127. Тестирован на случайность стандартными статметодами. Генерит 600 раскладов сразу, записывает их в базу, откуда они по запросу проги выдаются на стол.
Потом генератор "переупорядочивается" и снова генерит 600 раскладов и т.д. "Отклонения от случайности" где-то в 9-12-м знаке после запятой. Вставлен в прогу (с опубликованием в конференции кода) пару лет назад после годичной "войны" с программерами. Они до этого искренне верили в "хорошесть" 1-го генератора. Аж покуда не было "тыкнуто" в систематичность наличия в прикупах по 30-35 тузов вместо 25 на сотню сдач.
Имеет контрольную функцию "выдать для проверки серию раскладов для анализа".
===========

При нарушении межсерверного обмена расклады БЕЗ УВЕДОМЛЕНИЯ начинает генерить 1-й генератор. Опытные игроки тут ето уже "видят на глаз".
Признаки работы "плохого" генератора - запаздывание открывания информации об игроке, сообщения в конференции, архивного файла и т.п.

Надписи [yu-gen]/[] в верхней строке окна игровой программы при начале торговли при коротких по времени подвисаниях недостоверны.
===================

yurets, Дата: 27 Мая 2001 20:09
"...функции есть реализация генератора Мерсенна, я уже упоминал это. если интересуют подробности - могу дать ссылку. математически доказано, что этот генератор выдает равномернораспределенные значения в диапазоне -2**31..2**31-1, периодичность - 2**19937-1, т.е. существенно больше чем число вариантов раздачи карт в префе, бридже и даже тароке..."..."далее, число из диапазона -2**31..2**31-1 переводится в диапазон 0..N-1, где N - число оставшихся на текущий момент карт в колоде"..."последняя функция сначала раздает все карты подряд (7п8п...КчТч), далее случайным образом выдергивает карты из еще несданной части колоды и помещает их в сданную часть этой колоды, повторяя это столько раз сколько нужно (31 для преферанса и 51 для бриджа). когда в несданной части осталась одна карта - сдача сдана"
      » 25/10/2003, 06:53,  LemBa 
Эх...избитая тема. Баальшие споры были в дебечках с пол года и даже просили автора хоть на чуть чуть приподнять завесу столь мифического устройства. Ждем пока ответа.... А вопросы были теже: про смену колоды, контролирование конструкций и т.д. Сошлись тогда к мению что работает это так:
(вкратце) Существует независимый модуль, которорый в бесконечном цикле генерит Х_битную последовательность. В свою очередь при обращении к нему каждая функция берет нужное количество бит. Получается, что понятий перетасовать, сменить колоду или учитывать предыдущую раздачу нет в принципе. Но! коль такая криванча, необходимо контролить Гену и это очень даже можно и нужно сделать.
Сейчас я совсем другого мнения. При первом общении к Гене стол берет сразу пачку раскладов, блок т.е. раздач на 50 сразу Отсюда вырисовывается и быстрота Гамблера. В этом случае можно говорить о смене колоды. Например игрок имеет 1 раз за партию поменять колоду, загрузить новые 50 раздач.
      » 25/10/2003, 08:38,  Добряк 
Не "стол берет пачку раскладов", а ВСЕ ЗАЛЫ сервера.

Т.е. из етой кучи в 623 префрасклада выдаются по требованию раздачи на столы во все 8 залов где играют в етот преферанс.
      » 25/10/2003, 10:56,  LemBa 
коль так, получается все расклады на гамбе заранее извесны. интересно а на бене такая же метода? там вроде на деньги играют.
« Предыдущая тема | Перечень тем | Следующая тема »
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей: