15.7 例題: ポーカーの手の数え上げ

ファイブカード・ドロー (five-card draw) は最も単純なポーカーであり、プレイヤーには \(52\) 枚の通常のトランプ一式1から \(5\) 枚の手札 (hand) がゲーム開始時に配られる。ファイブカード・ドローにおける異なる手札の個数は \(52\) 要素集合の \(5\) 要素部分集合の個数に等しく、次のように計算できる:

\[ \binom{52}{5} = \frac{52!}{5!(52-5)!} 2{,}598{,}960 \]

数え上げの練習として、特別な性質を持つ手札の個数を計算してみよう。

15.7.1 フォーカードの手札

フォーカード (four-of-a-kind) とは、同じ数字のカードが \(4\) 枚揃うことを意味する。フォーカードの手札はいくつあるだろうか? 例えば、次の手札はフォーカードである:

\[ \begin{alignedat}{5} \{& 8\clubsuit, \ && 8\diamondsuit,\ && Q\heartsuit,\ && 8\heartsuit, \ && 8\spadesuit \} \\ \{& A\spadesuit,\ && 2\spadesuit, \ && 2\heartsuit,\ && 2\diamondsuit,\ && 2\clubsuit \} \end{alignedat} \]

これまでと同じように、この問題を列の数え上げ問題に変換することが最初の一歩となる。任意のフォーカードの手札は次の情報によって一意に特定される:

よって、フォーカードの手札から二つの異なる数字と絵柄からなる三つ組への全単射が存在する。例えば、上述した二つの手札には次の三つ組が対応する:

\[ \begin{alignedat}{5} (8,\ Q,\ \heartsuit) \longleftrightarrow \{& 8\clubsuit, \ && 8\diamondsuit,\ && Q\heartsuit,\ && 8\heartsuit, \ && 8\spadesuit \} \\ (2,\ A,\ \spadesuit) \longleftrightarrow \{& A\spadesuit,\ && 2\spadesuit, \ && 2\heartsuit,\ && 2\diamondsuit,\ && 2\clubsuit \} \end{alignedat} \]

後はそういった列を数えればよい。一つ目の数字の選択肢は \(13\) 個、二つ目の数字の選択肢は \(12\) 個、そして絵柄の選択肢は \(4\) 個ある。よって一般化された乗算則より、フォーカードの手札は \(13 \cdot 12 \cdot 4 = 624\) 個あると分かる。これは \(2{,}598{,}960 / 624 = 4165\) 回に \(1\) 回しかフォーカードが揃わないことを意味する。驚くことではないが、フォーカードは非常に強い役とされている。

15.7.2 フルハウスの手札

フルハウス (full house) とは、数字が同じ \(3\) 枚のカード (三枚組) と数字が同じ \(2\) 枚のカード (ペア) が揃うことを意味する。例えば次の手札はフルハウスである:

\[ \begin{alignedat}{5} \{& 2\clubsuit, \ && 2\spadesuit, \ && 2\diamondsuit, \ && J\spadesuit, \ && J\diamondsuit \} \\ \{& 5\diamondsuit, \ && 5\spadesuit, \ && 5\heartsuit, \ && 7\heartsuit, \ && 7\spadesuit \} \end{alignedat} \]

ここでも、問題を列に関する問題に変換しよう。フルハウスの手札から次の情報を並べた列への全単射が存在する:

手札と列の対応関係の例を次に示す:

\[ \begin{alignedat}{7} & (2,\ \{ \clubsuit, \spadesuit, \diamondsuit \},\ J,\ \{ \spadesuit, \diamondsuit \}) && \longleftrightarrow \{&& 2\clubsuit, \ && 2\spadesuit, \ && 2\diamondsuit, \ && J\spadesuit, \ && J\diamondsuit \} \\ & (5,\ \{ \diamondsuit, \spadesuit, \heartsuit \},\ 7,\ \{ \heartsuit, \spadesuit \}) && \longleftrightarrow \{&& 5\diamondsuit, \ && 5\spadesuit, \ && 5\heartsuit, \ && 7\heartsuit, \ && 7\spadesuit \} \end{alignedat} \]

一般化された乗算則を使えば、フルハウスの手札の個数が分かる:

\[ 13 \cdot \binom{4}{3} \cdot 12 \cdot \binom{4}{2} \]

ここまでは良い調子だ ── しかし、次はこれほど上手く行かない。

15.7.3 ツーペアの手札

ツーペアの手札はいくつあるだろうか? ある数字のカードが \(2\) 枚、別の数字のカードが \(2\) 枚、さらに別の数字のカードが \(1\) 枚あるような手札がツーペアである。例を次に示す:

\[ \begin{alignedat}{5} \{& 3\diamondsuit, \ && 3\clubsuit, \ && Q\diamondsuit, \ && Q\heartsuit, \ && A\clubsuit \} \\ \{& 9\diamondsuit, \ && 9\spadesuit, \ && 5\heartsuit, \ && 5\heartsuit, \ && K\spadesuit \} \end{alignedat} \]

ツーペアの手札は次の情報が並んだ列で一意に特定できる:

よって、ツーペアの手札の個数は次のように計算できる...ように思われる:

\[ 13 \cdot \binom{4}{2} \cdot 12 \cdot \binom{4}{2} \cdot 11 \cdot 4 \]

しかし、これは間違っている! 上述の列からツーペアの手札への写像が全単射でない事実が問題となる: この写像は \(2\) 対 \(1\) である。例えば、例として示した \(2\) 個の手札に対応する列は \(2\) 個ずつ存在する:

\[ \begin{alignedat}{5} (3,\ \{ \heartsuit, \clubsuit \},\ Q,\ \{ \diamondsuit, \heartsuit \},\ A,\ \spadesuit) \ \raisebox{-0.5em}{\(\searrow\)} \quad & && && && && \\ \{& 3\diamondsuit, \ && 3\clubsuit, \ && Q\diamondsuit, \ && Q\heartsuit, \ && A\spadesuit \} \\ (Q,\ \{ \diamondsuit, \heartsuit \},\ 3,\ \{ \heartsuit, \clubsuit \},\ A,\ \spadesuit) \ \raisebox{ 0.5em}{\(\nearrow\)} \quad & && && && && \\ \\ (9,\ \{ \heartsuit, \diamondsuit \},\ 5,\ \{ \heartsuit, \spadesuit \},\ K,\ \clubsuit) \ \raisebox{-0.5em}{\(\searrow\)} \quad & && && && && \\ \{& 9\diamondsuit, \ && 9\diamondsuit, \ && 5\heartsuit, \ && 5\spadesuit, \ && K\clubsuit \} \\ (5,\ \{ \heartsuit, \spadesuit \},\ 9,\ \{ \heartsuit, \diamondsuit \},\ K,\ \clubsuit) \ \raisebox{ 0.5em}{\(\nearrow\)} \quad & && && && && \\ \end{alignedat} \]

この問題の原因は二つのペアを区別できない点にある。「\(5\) のペアと \(9\) のペアを持つ手札」と「\(9\) のペアと \(5\) のペアを持つ手札」は等しい。フルハウスの手札を数えるとき同じ問題が起こらなかったのは、例えば「\(6\) の三枚組と \(K\) のペア」と「\(K\) の三枚組と \(6\) のペア」が当然ながら異なるためである。

全く同じ理由で間違った個数が計算される例は以前にも見た。それは、第 15.3.2 項で異なるチェスの駒を配置する問題を考えた後に、第 15.4.1 項見分けの付かない二つのルークを配置する問題を考えたときのことである。そのときと同様に、ここでも除算則を使えば正しい個数を計算できる。今考えている問題では、列の個数がツーペアの手札の個数の \(2\) 倍だと除算則から分かるので、ツーペアの手札の個数は次のように計算できる:

\[ \frac{1}{2} \cdot 13 \cdot \binom{4}{2} \cdot 12 \cdot \binom{4}{2} \cdot 11 \cdot 4 \]

異なるアプローチ

危ないところだった! 実際の試験で同じ問題が出題されたら、多くの生徒は列から手札への写像が \(2\) 対 \(1\) である事実を見過ごし、単位を落とし、犯罪にまみれた人生へ突き進むことになるだろう。より平和な世界を実現するためにできることが二つある:

一つ目の対策は先ほど行ったので、二つ目の対策を試してみよう。ツーペアの手札と次の情報を並べた列の間には全単射がある:

列と手札の対応関係の例を次に示す:

\[ \begin{alignedat}{8} &( \{ 3, Q \},{} &&\{ \diamondsuit, \clubsuit \}, \{ \diamondsuit, \heartsuit \}, A, \spadesuit ) &&\longleftrightarrow \{&& 3\diamondsuit, \ && 3\clubsuit, \ && Q\diamondsuit, \ && Q\heartsuit, \ && A\clubsuit \} \\ &( \{ 9, 5 \},{} &&\{ \heartsuit, \spadesuit \}, \{ \heartsuit, \diamondsuit \}, K, \clubsuit ) &&\longleftrightarrow \{&& 9\diamondsuit, \ && 9\spadesuit, \ && 5\heartsuit, \ && 5\diamondsuit, \ && K\clubsuit \} \end{alignedat} \]

よって、ツーペアの手札の個数は次のように計算できる:

\[ \binom{13}{2} \cdot \binom{4}{2} \cdot \binom{4}{2} \cdot 11 \cdot 4 \]

これは以前に得た解答を少しだけ変形したものに等しい。

15.7.4 全ての絵柄が含まれる手札

全ての絵柄を少なくとも \(1\) 枚ずつ含む手札はいくつあるだろうか? この条件を満たす手札の例を次に示す:

\[ \begin{alignedat}{5} \{& 7\diamondsuit, \ && K\spadesuit, \ && 3\diamondsuit, \ && A\heartsuit, \ && 2\clubsuit \} \\ \end{alignedat} \]

こういった手札は次に示す情報を並べた列で特定できる:

例えば、先ほど示した例は次の列で特定できる:

\[ (7,\ K,\ A,\ 2,\ \diamondsuit,\ 3) \longrightarrow \{7\diamondsuit, \ K\spadesuit, \ 3\diamondsuit, \ A\heartsuit, \ 2\clubsuit \} \\ \]

この手札に対応付く異なる列は存在するだろうか? 実は \(1\) 個だけ存在する! この手札では \(3\diamondsuit\) ではなく \(7 \diamondsuit\) を「最後の \(1\) 枚」とみなすこともでき、そのとき異なる列が得られる。つまり、次の対応関係が成り立つ:

\[ \begin{alignedat}{5} (7,\ K,\ A,\ 2,\ \diamondsuit,\ 3) \ \raisebox{-0.5em}{\(\searrow\)} \quad & && && && && \\ \{& 7\diamondsuit, \ && K\clubsuit, \ && A\heartsuit, \ && 2\spadesuit, \ && 3\diamondsuit \} \\ (3,\ K,\ A,\ 2,\ \diamondsuit,\ 7) \ \raisebox{0.5em}{\(\nearrow\)} \quad & && && && && \\ \end{alignedat} \]

つまり、全ての絵柄が含まれる手札の個数は次の値に等しい:

\[ \frac{13^{4} \cdot 4 \cdot 12}{2} \]

  1. 通常のトランプ一式に含まれる \(52\) 枚のカードは、それぞれ絵柄 (suit) と数字 (rank) を持つ。そして、絵柄と数字の組はカードごとに異なる。絵柄には次の \(4\) 種類がある:

    \[ \spadesuit\ (\text{スペード}) \qquad \heartsuit\ (\text{ハート}) \qquad \clubsuit\ (\text{クラブ}) \qquad \diamondsuit\ (\text{ダイヤ}) \]

    そして数字には次の \(13\) 種類がある。昇順に並んでいる:

    \[\overset{\text{エース}}{A}\quad 2\quad 3\quad 4\quad 5\quad 6\quad 7\quad 8\quad 9\quad 10\quad \overset{\text{ジャック}}{J}\quad \overset{\text{クイーン}}{Q}\quad \overset{\text{キング}}{K} \]

    例えば \(8\heartsuit\) は「ハートの \(8\)」を表し、\(A \spadesuit\) は「スペードのエース」を表す。 ↩︎

広告