В игре с уловками часто легко отследить, какие карты может оставить каждый игрок. Например, если следующая масть обязательна, а игрок не следует масти, очевидно, что у игрока больше нет карт этой масти.
Это означает, что во время игры вы можете накапливать знания о том, какие карты могут быть у каждого игрока.
Есть ли способ эффективно рассчитать (достаточно точно) вероятность того, что конкретный игрок действительно имеет определенную карту?
Наивным способом было бы просто сгенерировать все перестановки всех оставшихся карт и проверить, какие из этих перестановок возможны с учетом ограничений, упомянутых ранее. Но это не совсем эффективный способ.
Другой подход состоял бы в том, чтобы просто проверить, сколько других людей могут иметь конкретную карту. Например, если у 3 игроков может быть определенная карта, вы можете использовать 1/3 как шанс того, что у конкретного игрока есть определенная карта. Но это часто неверно.
Например:
- У каждого игрока осталось по 2 карты
- Игрок А может иметь AS, KS.
- Игрок B может иметь AS, KS, AH и KH.
Алгоритм 1 правильно обнаружит, что вероятность того, что у игрока B есть AS, равна 0. Алгоритм 2 неправильно обнаружит, что вероятность того, что у игрока B есть AS, равна 0,5.
Есть ли лучший алгоритм, который был бы достаточно точным и достаточно быстрым?