集合トランプ

次世代のトランプ「集合トランプ」で遊べるゲームを紹介しています

位相麻雀

前回までは、「包含関係」や「補集合」など、比較的直感的に理解しやすいものを用いた集合トランプゲームを紹介していました。今回は、集合トランプならではの、数学要素マシマシなゲーム 位相麻雀 を紹介します!

この記事は、数学ゲーム Advent Calendar 2018 の 3 日目を担当しています:

概要

ひとことで言えば、位相麻雀は「自分の 位相 を育てる」ゲームです。「位相」という概念を†完全に†理解するのはきわめて難しいので、以下の記事で「集合トランプで遊ぶのに十分な程度の」解説をしています:

ちなみに、位相麻雀は「麻雀」の名を冠していますが、実は麻雀要素はそれほど濃くありません。*1

ルール

今回は題材が題材なので、ルール説明もちょっと数学チックに書いてみようと思います。

以下では、 n = 4,\ k = 2 とします。

プレイヤー

位相麻雀では、プレイヤーは 2 ~ 4 人を想定しています。各プレイヤーは「位相」「手札族」「バッファ領域」の 3 つの集合族 *2 を持ちます。さらに、これとは別にプレイヤー間で共有される集合族として「山札族」「捨て札族」が存在します。

位相

これを大きくする(ここに入っているカードの枚数を増やす)ことが、ゲームの目的です。なお、位相は 公開情報(表向きにして机などに並べておく)です。

この集合族は、常に  U 上の位相でなければなりません。言い換えれば、この集合族が  U 上の位相でなくなるような操作を行うことはできません。

なお、3 人以上で遊ぶ場合、同じ集合が書かれたカードが世界に各色 2 枚存在していますが、位相の中に同じ集合が書かれたカードを 2 枚入れてはいけません。

手札族

基本的には、この集合族から位相へとカードを追加していくことになります。なお、手札族は 非公開情報(他人に見せないで持っておく)です。

この集合族は、手番終了時には  n 枚以下でなければなりません。言い換えれば、手札族が  n+1 枚以上のときに手番を終了することはできません。

バッファ領域

言うなれば、テトリスの「ホールド」にあたる役割を果たす集合族です。詳しくは、後続のルール説明をご覧になってください。なお、位相と同じくバッファ領域は 公開情報 です。

この集合族には、最大でも  k 枚しかカードを入れておくことができません。言い換えれば、バッファ領域に属するカードが  k+1 枚以上になるような操作を行うことはできません。

山札族

いわゆる山札です。裏向きに積み重ねて場に置かれているので、非公開情報 です。

捨て札族

いわゆる捨て札です。これは 公開情報 です。

初期化

まず、ゲームのはじめの準備として、以下を行います:

  • 各プレイヤーに  \emptyset, U を 1 枚ずつ配り、位相とします。*3
  • 2 人プレイのときは、集合トランプのどちらか 1 色 30 枚、3 ~ 4 人プレイのときは、集合トランプの 2 色合計 60 枚をよく切って、山札族として裏向きに積み重ねて置いておきます。( \emptyset, U が除かれていることに注意してください)
  • 各プレイヤーは、山札族から  n 枚引いて手札族とします。
  • 各プレイヤーのバッファ領域は、初期状態では空とします。

以上の準備が終わったら、適当な方法でプレイヤーの手番の順番を定めて、ゲームを開始してください。

手番でできること

手番が始まったら、まず山札族から 1 枚引いて手札族に加えてください。このとき、山札族が空であれば、その時点で手番は終了し、ゲーム終了処理へ移ります。

以上の操作を行った後では、この手番中に以下の操作を任意の順で任意の回数だけ行うことができます。

位相を拡張する

自分の手札族またはバッファ領域に属するカードを任意枚選び、同時に 位相へと移動させます。位相は、条件「和と積について閉じている(位相に属するどの 2 元の和集合・共通部分も位相に属している)」が常に満たされていなければならないことに気をつけてください。

手札をバッファへ送る

自分の手札族に属するカードを 1 枚選び、バッファ領域へと移動させます。バッファ領域の要素数上限が  k 枚であることに気をつけてください。

手札を捨てる

自分の手札族に属するカードを 1 枚選び、捨て札族へと移動させます。


手番が終了する時点で、手札族が  n 枚以下になっていなければならないことに注意してください。なお、山札族から 1 枚カードを引いた後の手札族が  n 枚以下であるならば、その後何も操作をせずに手番を終了することも可能です。

手番でないときにできること

捨て札を奪う

手番のプレイヤーが手札を捨てたタイミングで、手番でないプレイヤーは、手番が回ってくるのが早い順に *4、高々 1 人まで *5 以下のいずれかを行うことができます。

  • その捨て札と、自分の手札族・バッファ領域から選んだ任意枚(0 枚でもよい)を 同時に 自分の位相へと移動させる
  • その捨て札を自分のバッファ領域へ追加する

このときも、位相の条件やバッファの要素数上限を破ってはいけません。

バッファされたカードを奪う

以上と同様のことが、バッファされたカードに対しても行えます。すなわち、手番のプレイヤーが手札をバッファしたタイミングで、手番でないプレイヤーは、手番が回ってくるのが早い順に、高々 1 人まで以下を行うことができます。

  • そのバッファされた札と、自分の手札族・バッファ領域から選んだ任意枚(0 枚でもよい)を 同時に 自分の位相へと移動させる

「自分のバッファ領域へ追加する」ことは、バッファされたカードに対しては行えません。なお、このときも、位相の条件を満たさなくなるような操作は許容されないことに注意してください。

終了処理

位相の要素数(位相に属しているカードの枚数)が多い順に、プレイヤーの順位が定まります。

プレイ風景

ある 3 人プレイ時の様子を、写真とともにお送りいたします。

ゲーム開始時の位相は、密着位相  \{\emptyset, U\} です。ここにどんどんカードを追加していくことで、より"大きな"位相へと成長させていきましょう:

f:id:muratsubo:20181202163006p:plain
初期位相  \{\emptyset, U\}

わたしの手番が回ってきました。初期手札 4 枚に山札族から引いた 1 枚を加えて、現在の手札族はこの 5 枚からなっています:

f:id:muratsubo:20181202164650p:plain
5 枚の手札

密着位相には、どんなカードでも入れることができます*6 はじめにどれを入れるかが迷いどころですね。

f:id:muratsubo:20181202165359p:plain
 \{1, 5\} を追加!

ここでは、まず  \{1, 5\} を位相へと移すことにしました。こうすれば、いま手札族にある  \{1, 2, 5\} も位相に追加することができますね。実際、次に手番が回ってきたときには、 \{1, 2, 5\} を位相に加えることにしました:

f:id:muratsubo:20181202165507p:plain
続けて  \{1, 2, 5\} も追加!

さらに、次の手番では山札族から運よく  \{1\} を引くことができたので、ダイレクトに位相へ放り込みました:

f:id:muratsubo:20181202165711p:plain
さらに  \{1\} を追加!

どんどん位相が育っていきますね。しかしながら、常にうまく位相へとカードを追加できるわけではありません。この次の手番、わたしの手札は

 \{1, 3, 5\}, \{2, 3, 4\}, \{2, 3, 5\}, \{1, 2, 3, 4\}, \{2, 3, 4, 5\}

 
の 5 枚になりました。しかし、これらはどれも今の位相:

 \{\emptyset, \{1\}, \{1, 5\}, \{1, 2, 5\}, U\}

 
に追加することができません:

  •  \{1, 3, 5\} を追加するには、この他に  \{1, 3, 5\} \cup \{1, 2, 5\}  = \{1, 2, 3, 5\} がないといけません。
  •  \{2, 3, 4\} を追加するには、まず  \{1\} \cup \{2, 3, 4\}  = \{1, 2, 3, 4\} \{2, 3, 4\} \cap \{1, 2, 5\}  = \{2\} が必要ですね。さらに、 \{2\} が必要ということは、 \{2\} \cup \{1\}  = \{1, 2\} も要求されます。まとめると、 \{2, 3, 4\} を追加しようとすると、他に  \{1, 2, 3, 4\},\ \{2\},\ \{1, 2\} の 3 枚を用意しなければなりません。
  •  \{2, 3, 5\} を追加するには、 \{5\}, \{2, 5\}, \{1, 2, 3, 5\} の 3 枚が必要です。
  •  \{1, 2, 3, 4\} を追加するには、 \{1, 2\} が必要です。
  •  \{2, 3, 4, 5\} を追加するには、 \{5\}, \{2, 5\} の 2 枚が必要です。

どれも位相に追加できないものの、手札が 4 枚を超えているので、手札のうち少なくとも 1 枚を捨てるか、あるいはバッファに退避させないといけません。

ここでは、追加が難しい(他に 3 枚ものカードを要求される) \{2, 3, 4\} を捨てることにしました:

f:id:muratsubo:20181202173924p:plain
 \{2, 3, 4\} を捨てた

捨てたカードは、他のプレイヤーに奪う権利が発生するので、手放すカードはできるだけ 他のプレイヤーが奪いにくいであろう ものを選ぶべきです。しかしここでは、残念なことに次の手番のプレイヤーに  \{2, 3, 4\} をバッファされてしまいました:

f:id:muratsubo:20181202174517p:plain
捨て札を奪われてしまった!

このプレイヤーは  \{1, 2, 3, 4\} さえ手に入れれば  \{2, 3, 4\} を位相に入れることができるので、この捨て札はバッファに入れるだけの価値がある、と考えたのでしょう。しかし、実はこれは計算済みです。なぜなら、わたしは手札に  \{1, 2, 3, 4\} を 1 枚持っているからです! これを手放さない限り、このプレイヤーは  \{1, 2, 3, 4\} を確保するのは難しいだろう、という算段です。


とまあ、位相麻雀はこんな感じで進行します。全部を伝えると記事が長くなりすぎてしまうので、プレイ風景はこの辺で終えておきます。ちなみに、このゲームの勝者はこんな立派な位相を育てあげていました:

f:id:muratsubo:20181202175354p:plain
16 個の集合からなる位相!

ちなみに、包含関係のある集合どうしを線で結んでみると、以下のような図 *7 が描けます:

f:id:muratsubo:20181202180159p:plain
上の位相のハッセ図

綺麗な形をしてますね。みなさんも、位相麻雀で自分だけのカッコいい位相を育てましょう!

派生ルール

手札上限枚数  n、バッファ上限枚数  k

以上では、 (n, k) = (4, 2) として説明しましたが、例えば  (n, k) = (3, 2), (4, 1), (5, 1) などとすることも考えられます。

 n, k が大きくなるほど、位相に同時に追加できるカードの枚数が多くなるので、位相を大きく育てやすくなることが期待されます。しかし、そのぶん考えなければならない事項が増えるので、位相麻雀に慣れた人向けといったところでしょうか。

反対に、 n, k が小さくなれば、カードを捨てなければならない場面が増えるため、カードの取捨選択の戦略が重要になってきます。これはこれで頭を使いますね。

ドラ

申し訳程度の麻雀追加要素ですね。ゲーム開始時に、山札から 1 枚カードを抜いておき、表ドラ(公開情報として、表向きで置いておく)あるいは裏ドラ(非公開情報として、裏向きで置いておく)とするルールです。

ゲーム終了時に、各プレイヤーは「ドラである集合に加え、自分の手札族・バッファ領域から選んだ任意枚(0 枚でもよい)を同時に自分の位相へと移動させることができる」ならば、これを行うことができます。*8 その際、ドラである集合は、表ドラならカード 2 枚分、裏ドラならカード 3 枚分 として扱います。

まとめ

位相麻雀 は、集合トランプ上に定まっている遊び方のなかでも、特に "数学らしい" もののひとつですね。このゲームが「位相」というふわっとした概念に慣れ親しむきっかけになれれば幸いです。*9

しかしまあ、本記事において位相麻雀のルールはひととおり説明しましたが、やはり文字や写真だけでは、どういうゲームなのか伝わりにくいですよね。後日、機会を見つけて、位相麻雀を遊んでいる様子の動画を撮影しようかと思っています。

さて、集合トランプで遊べるゲームはまだまだたくさん考案しているので、今後もどんどん記事にして紹介していく所存です。お楽しみに~

*1:そもそもわたしが麻雀について詳しく知らないんですよね

*2:集合トランプのカード何枚かの集合のこと

*3:プレイヤーが 3 人以上の場合は  \{\emptyset, U が不足しますが、その場合は自前で仮カードを用意するか、心の目で補ってください

*4:例えば、プレイヤーが A, B, C, D の 4 人存在し、この順に(A → B → C → D → A → ……)手番が回っているとします。このとき、B が手札を捨てた場合、「手番が回ってくるのが早い順」は C → D → A となります

*5:上の注釈における例で、B の捨てたカードを C が奪った場合は、D や A にカードを奪う権利は回ってこない、ということを意味します

*6:任意の  A \subset U に対し、 \{\emptyset, A, U\} U 上の位相をなすことが分かると思います

*7:このような図は ハッセ図 と呼ばれています

*8:複数のプレイヤーがこの操作を可能な場合は、その全員がそれを行うことができます。ドラであるカードは 1 枚しかありませんが、ここでは "仮想的に" ドラである集合を位相に加える、という処理になります

*9:とはいえ、集合トランプでは有限集合上の位相しか考えられないので、ここで出てくる位相の "位相っぽさ" は薄いのですが……