LINUX.ORG.RU
решено ФорумTalks

тасовка колоды, количество вариантов


0

1

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

Есть в интернетах статья (и не одна) о том, что сетевые покерные площадки изначально неполноценны и типа это очевидно любому математику. Потому что рандом может выдать только число 2³² а возможное количество состояний колоды — 54!, которое на несколько порядков больше. Поэтому колода на таких площадках может принимать только ограниченное количество состояний из всех допустимых, и на этом уже можно жульничать.

Мой вопрос такой: чем плох алгоритм, при котором состояние колоды определяется состоянием каждой карты в отдельности? Каждая карта может принимать одно из 54 состояний, ведь можно же рандомизировать именно таким образом?

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

★★

Если рандом это 32 бита то да. А если два рандома по 32 бита то уже 2 в 64 степени. Ну и тд.

ansky ★★★★★
()
Ответ на: комментарий от ansky

>Но казино всегда выигрывает

ну в покере прямой выгоды казино по-науке быть не должно. Оно просто собирает небольшй сбор за предоставление платформы.

dikiy ★★☆☆☆
()

А ничего, что в покере даже на полном столе из 9 человек имеют значение только 23 карты и порядок остальных совершенно не важен?

Smeea
()
Ответ на: комментарий от adriano32

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

Smeea
()
Ответ на: комментарий от Smeea

>А ничего, что в покере даже на полном столе из 9 человек имеют значение только 23 карты и порядок остальных совершенно не важен?

фимоза сабжевых пейсателей это не отменяет.

dikiy ★★☆☆☆
()

Появилась идея для стартапа: генерим все возможные состояния колоды, складываем в БД и делаем удобное API. Предоставляем доступ всяким интернет-казино за абонентскую плату. Они получают честно перетасованные колоды и сертификат, подтверждающий это. Всем PROFIT, пацаны!

power
()
Ответ на: комментарий от power
int getRandomNumber()
{
         return 4; // chosen by fair dice roll. 
                   // guarenteed to be random. 
}
alpha ★★★★★
()
Ответ на: комментарий от power

> появилась идея для стартапа: генерим все возможные состояния колоды, складываем в БД

54!

Всего делов-то поместить в базу 2.308E71 записей.

Sadler ★★★
()
Ответ на: комментарий от Sadler

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

Sadler ★★★
()
Ответ на: комментарий от Manhunt

man knuth shuffle

ага, да, это я и имел в виду

name_no ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.