ガン牌つきジジ抜き

これのアルゴリズムを考えてみた。
完全にフラットなカードで行う場合は、このゲームは本当にただの運ゲーにしかならない。しかしそこに、ガン牌――つまりカードの裏の傷等でカードを特定できる――要素を入れると、途端に戦術を駆使することが可能になる。ただし、このガン牌の不安定な点は、プレイヤーによって覚えているカードの種類が異なることである。全てを見通す神はこの場にはいないのだ。
ルール上、プレイヤーにできることは上座からカードを一枚ドローし、下座からのドローに応えるだけである。そこで駆使できる戦術とは、上座からドローする時の選択にかかってくる。そこで、上座のカードと下座のカードを分類し、以下の優先順位でカードをドローする。一つの優先順位の中に複数のカードがあれば、ランダムで決める。

ドローの優先順位 カード分類
1 ガン牌可能カード 自分の手札とマッチするカード ジジ
2 下座とマッチするカード
3 下座とマッチしないカード
4 自分の手札とマッチしないカード 下座とマッチしないカード
5 下座とマッチするカード
6 ガン牌不可能カード
7 ガン牌可能カード 自分の手札とマッチしないジジ
ま、だいたいこんなもんかな。