技能一覧 › 大学数学 ゲーム理論

グランディ数と mex

1 つの山(局面)のグランディ数を、1 手で移れる局面のグランディ数の集合の mex(含まれない最小の 0 以上の整数)として、小さい局面から順に表にできる。取れる個数が のようなゲームで、グランディ数の周期を見つけられる

前提

中学までに習ったことだけで始められます。

説明

二人が交互に手を指し、指せなくなった人が負けになるゲームでは、局面ごとに「グランディ数」という 0 以上の整数を決められます。グランディ数は「1 手で移れる局面のグランディ数の集合の mex」として、小さい局面から順に機械的に計算できます。グランディ数が 0 の局面は手番の人の負け、0 でない局面は手番の人の勝ちとわかります。また、取れる個数が決まった石取りゲームでは、表に周期が現れるので、石が非常に多い山のグランディ数も計算できます。

なぜそうしてよいのか

まず言葉を決めます。0 以上の整数からなる有限集合 に対し、 に含まれない最小の 0 以上の整数を と書きます(minimum excluded の略)。たとえば 、 で、空集合なら です。石が 個の山から、集合 (例: )に入っている個数だけ石を取るゲームを考え、取れなくなった人を負けとします。石 個の局面のグランディ数を で定めます。右辺には より小さい局面しか出てこないので、 と小さい順に表を埋めていけば必ず計算できます。

なぜこれで勝ち負けがわかるのでしょうか。mex の定義から次の 2 つが成り立ちます。(i) なら、0 は集合に含まれないので、どの手を指しても移った先のグランディ数は 0 ではありません。(ii) なら、0 は集合に含まれる(含まれなければ mex は 0 になる)ので、グランディ数 0 の局面へ移る手があります。指せない局面は です。したがって、0 でない局面の手番の人は「相手に必ず 0 の局面を渡す」ことができ、相手は 0 でない局面を返すしかありません。石は毎回減るのでこれは必ず終わり、最後に指せなくなるのは 0 の局面を渡された側です。つまり の局面は手番の人の負け、 の局面は手番の人の勝ちです。さらに なら「 の局面には移れるが、 の局面には移れない」という情報も持っています。これは、複数の山を組み合わせたゲームを解くときに役立ちます(スプレイグ・グランディの定理)。

周期が現れる理由は次のとおりです。 の最大値を とすると、 のとき は直前の 個の値 だけで決まります。そこで、ある について が の 個連続で成り立ったとします。すると では と が同じ値から同じ計算で求まるので、帰納的に、すべての で が成り立ちます。こうして周期 が確定します。

手順

  1. ゲームのルールから、石 個の局面から 1 手で移れる局面を書き出す。取れる個数の集合を とすると、移り先は ()。 より多い個数は取れないことに注意する

  2. 指せない局面のグランディ数を 0 とする。たとえば

  3. の順に、移り先のグランディ数の集合 を作り、( に無い最小の 0 以上の整数)を表に書き込む

  4. の最大値を とし、表の中で が の 個連続で成り立つ を探す。見つかれば、すべての で (周期 )と確定する

  5. 大きな では、 を で割った余り を求め、 とする。 なら手番の人の負け、 なら勝ちと判定できる

例題

石が 個の山がある。二人が交互に、山から 個、 個、 個のいずれかを取る(山に残っている個数より多くは取れない)。取れなくなった人が負けとする。石 個の局面のグランディ数を とするとき、 を求めよ。

例題の解答

【手順1】 なので、石 個の局面からの移り先は です。ただし 以上になるものに限ります。
【手順2】。
【手順3】小さい順に計算します。










表は に対して となります。
【手順4】 です。 は と 4 個連続で一致します。よって で、すべての について です。
【手順5】 より余りは なので、 です( でないので、先手が勝ちます)。

答え:

よくある誤り

この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。

入口の問題

この技能を使う問題

この技能の次に学べること