Xpoint
   [напомнить пароль]

Алгоритм случайного выбрасывания пар карт

Метки: [без меток]
2009-10-28 11:13:40 [обр] levaohare[досье]

Задача.

Необходимо выбросить случайную последовательность карт (по две карты для каждого из N игроков). Есть условие, что у каждого игрока может быть только определенный набор пар карт. Например у перого игрока могут быть только либо 2 туза (AA) либо 2 короля (KK), масти могут быть любыми. У второго игрока: AA, KK, QQ, AK(одномастные). и.т.п.

Пример: у всех 3 игроков могут быть или AA или KK; (AA всего -6 комбинаций; KK - тоже)

При случайных выбрасываниях все комбинации должны получиться равноверояnными: AA AA KK, AA KK KK, AA KK KK, KK AA AA, KK AA KK, KK KK AA.

спустя 1 час 23 минуты [обр] Филипп Ткачев(0/112)[досье]
спустя 1 день 4 часа [обр] levaohare[досье]
Там не все так просто.
спустя 3 часа 13 минут [обр] Thirteensmay(0/157)[досье]
Так а в чем конкретно сложность ? тянем случайную карту и проверяем укладывается она в условия или нет, если нет то перетягиваем, если перебрали всю колоду а набор сформировать не удалось, начинаем формирование сначала.
спустя 14 часов [обр] levaohare[досье]
Ты прав. Этот алгоритм верный. Только для 10 игроков с учетом того, что после этого нада будет просчитывать силу рук - он будет слишком медленным. Скорость играет не маловажный фактор. Я пытался бросать случайную пару из возможных для игроков, и если попал в уже выбранную то перебрасывать. и даже случайно выбирать порядок игроков при выбрасывании, но результаты не сходятся с теорией. Пары имеют корреляцию.
спустя 31 минуту [обр] Thirteensmay(0/157)[досье]
Определите полные правила а не и т.п., тогда можно оптимизировать.
спустя 6 часов [обр] levaohare[досье]
У любого игрока может быть любой набор пар от только AA до полного рандома.
спустя 48 минут [обр] Thirteensmay(0/157)[досье]
у каждого игрока может быть только определенный набор пар
у любого игрока может быть любой набор пар

Подробнее пожалуйста, и с толкованием, мне оно не больше чем вам нужно.

У одного игрока может быть несколько пар ? сколько ? парой считается совпадение по номиналу - например АА или QQ (возможно разномастные), и/или совпадение по масти ?

спустя 20 часов [обр] levaohare[досье]
Всего сушествует 169 различных вариантов пар. Пары делятся на 3 типа : одинаковые по достоинству (например АА), разные по достоинству одинаковы по масти (например АQs, s -означает split - одномастные) и разные по достоинству и разные по масти (например AQ). В реальной игре игрокам раздается именнго по две карты. Задача в том, что делается предположение что игрок будет делать ставку только если у него определенная рука, т.е. пара. Естественно что у разных игроков разный стиль игры, и они будут делать ставку только если у них пара из определенного набора. Цель решить задачу в общем случае. Т.е. создать аппарат для случайного выброса пар из определенных наборов(для конкретно взятых игроков). Для других игроков начальными условиями будут другие наборы пар.
Извини, что непонятно объясняю.
спустя 1 час 5 минут [обр] Thirteensmay(0/157)[досье]
Ага, значит нам дано несколько исходных наборов пар, карты внутри набора и между наборами могут повторяться, например:
Набор 1: AкAп, AкKп, KпKч
Набор 2: AкAп, AкKч, KпQк
(индексы к, п, ч, б - масти)
Всего возможно 169 различных вариантов пар.
Необходимо случайно выбрать по одной паре из каждого набора, но так чтобы результат укладывался в одну колоду, т.е. без повторов карт. ?
спустя 27 минут [обр] levaohare[досье]
Ну не множко не так. Если в набор входит АА, то в него должны входить все 6 возможных комбинации АА. если АКs то все 4 возможные пары AKs, если AK то все 12 вариантов. А так все так.
спустя 7 минут [обр] levaohare[досье]
И всего возможно не 169 вариантов раздичных пар. а 169 типов различных пар.
спустя 4 минуты [обр] levaohare[досье]
Это я ошибся
спустя 9 минут [обр] levaohare[досье]
Пока приходит на ум только алгоритм похожий на твой. только тянем не случайную карту из всей колоды. а создаем для каждого набора только чать колоды, в которой существуют все карты для образования данного набора. (хотя из них могут собраться и пары не входящие в набор, если они создаются то перебрасываем)
спустя 2 часа 6 минут [обр] Dennis F. Latypoff aka funky_dennis(0/78)[досье]
s — это не split, это suited
спустя 2 минуты [обр] Dennis F. Latypoff aka funky_dennis(0/78)[досье]
как сделаете — скажите в каком покерруме ваш "ГСЧ" работает, всем скажу, чтобы не играли там...
спустя 1 месяц 6 дней [обр] levaohare[досье]
http://www.codingthewheel.com/......-equity-calculation-in-poker-1
вот если интересно кому. на этом сайте очень много интересного по этой теме
Powered by POEM™ Engine Copyright © 2002-2005