А-аа, кажется, понял, в чем ошибка. Если мозг еще не бредит, то суть в следующем: если бы условие на отбрасывание проверялось только для одной компоненты, например, для черной фишки, то для этого цвета получалась бы нужная маргинальная плотность. А так есть еще и второе условие для другого цвета - белого, которое может "забраковывать" варианты, которые были "одобрены" первым условием, тем самым "деформируя" первое маргинальное распределение. И наоборот. Получается, эти два условия для каждого цвета "интерферируют", портя маргинальные распределения друг друга :(
Как вариант надо продумывать, можно ли их "править" так, чтобы не было "интерференции".
Дело не в этом, если я понимаю правильно.
Рассматриваем исходы примера с фишками:
(1, 2), (1, 3), (2, 1), (3, 1) - Это исходы Группы A. Исходы, содержащие фишку на первой клетке.
(2, 3), (3, 2) - Это исходы группы B. Исходы, у которых на первой клетке фишки нет.
Проблема в том, что для получения нужных маргинальных распределений нам нужно, чтобы вероятность отсеивания исходов группы B была 100%
вне зависимости от того, как просериваются исходы группы A. Даже если каким-то образом мы учитываем то, о чем вы сказали, и при рассмотрении исхода группы A не проводится прореживание по фишке, стоящей не на первой клетке - даже в этом случае полного отсутствия прореженности нужная вероятность не достигается за счет того, что мы допускаем исходы группы B.
Дело в том, что в ходе просеивания понизить вероятность конкретного исхода можно не только путем его избыточного прореживания, но и путем недостаточного прореживания конкурирующих исходов, произведения маргинальных вероятностей компонентов которых больше совместной вероятности.
Алгоритм знает, что для клеток 2 и 3 маргинальные вероятности должны быть 25%, но он не знает, что эти 25% должны достигаться за счет исходов группы A, он считает исходы группы B столь же достойными того, чтобы принимать участие в формировании маргинальной вероятности 25% для 2й и 3й клеток.
Вот в чем проблема.