Шанс, что у игрока есть карта, учитывая набор возможных карт на игрока

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

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

Есть ли способ эффективно рассчитать (достаточно точно) вероятность того, что конкретный игрок действительно имеет определенную карту?

Наивным способом было бы просто сгенерировать все перестановки всех оставшихся карт и проверить, какие из этих перестановок возможны с учетом ограничений, упомянутых ранее. Но это не совсем эффективный способ.

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

Например:

  • У каждого игрока осталось по 2 карты
  • Игрок А может иметь AS, KS.
  • Игрок B может иметь AS, KS, AH и KH.

Алгоритм 1 правильно обнаружит, что вероятность того, что у игрока B есть AS, равна 0. Алгоритм 2 неправильно обнаружит, что вероятность того, что у игрока B есть AS, равна 0,5.

Есть ли лучший алгоритм, который был бы достаточно точным и достаточно быстрым?


person Zompy    schedule 16.08.2017    source источник
comment
Нет, если только игрок не выбирает случайным образом среди всех допустимых карт. Например, в игре с взятием уловок, если игрок не может последовать его примеру и сбрасывает пикового валета, маловероятно, что у него будет двойка пик.   -  person Paul Hankin    schedule 16.08.2017


Ответы (1)


Возьмите страницу из книги по квантовой механике. Учтите, что каждая карта находится в сочетании состояний с вероятностями - например. x|AS>+y|KS>+z|AH>+w|KH>. Для 36 карт получается матрица 36 х 36, где изначально все значения равны 1/36. Ограничения заключаются в том, что сумма всех значений в строке равна 1 (каждая карта находится где-то), а сумма всех значений в столбце равна 1 (каждая карта является чем-то). Для вашего мини-примера исходная матрица будет

0.25 0.25 0.25 0.25 (AS)
0.25 0.25 0.25 0.25 (KS)
0.25 0.25 0.25 0.25 (AH)
0.25 0.25 0.25 0.25 (KH)
(0)  (1)  (2)  (3)

Пусть карты A равны 0, 1, а карты B равны 2, 3. Вероятность того, что у B есть AS, равна 0,5. Теперь вы видите, что P(0 = AH) = 0, затем вы устанавливаете соответствующий элемент равным 0 и пропорционально изменяете значения столбца и строки, а затем все остальные значения, чтобы суммы оставались равными 1:

0.33 0.22 0.22 0.22 (AS)
0.33 0.22 0.22 0.22 (KS)
0.00 0.33 0.33 0.33 (AH)
0.33 0.22 0.22 0.22 (KH)
(0)  (1)  (2)  (3)

Добавление наблюдений P(0 = KH) = 0, P(1 = AH) = 0, P(1 = KH) = 0 дает вам эту матрицу:

0.50 0.50 0.00 0.00 (AS)
0.50 0.50 0.00 0.00 (KS)
0.00 0.00 0.50 0.50 (AH)
0.00 0.00 0.50 0.50 (KH)
(0)  (1)  (2)  (3)

Как видите, P(2 = AS или 3 = AS) = 0, как и должно быть. Обратите внимание, что в большинстве игр игроку разрешается перетасовывать карты в руке (т. е. когда B разыгрывает карту, вы не знаете, является ли она (2) или (3)). Предположим, что A и B обмениваются картами (1) и (2) — при этом матрица остается неизменной, — а затем, когда B перемешивает свои карты, матрица принимает вид

0.50 0.25 0.00 0.25 (AS)
0.50 0.25 0.00 0.25 (KS)
0.00 0.25 0.50 0.25 (AH)
0.00 0.25 0.50 0.25 (KH)
(0)  (1)  (2)  (3)

Также обратите внимание, что модель не идеальна - она ​​не позволяет отметить наблюдения типа «В имеет либо (AS, KH), либо (AH, KS)». Но в некоторых определениях «достаточно точного» это, вероятно, так.

person Abstraction    schedule 16.08.2017