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

ニムとニム和

石の個数を 2 進法で表し、排他的論理和(ニム和) を計算できる。ニム和が かどうかで先手必勝・後手必勝を判定し、ニム和を にする手を求められる

前提

この技能までの道筋(7 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 分数のたし算・ひき算 (算数 計算と数のきまり)
  2. 小数の四則計算 (算数 計算と数のきまり)
  3. 正負の数の加法・減法 (中学数学 数と式)
  4. 分数のかけ算・わり算 (算数 計算と数のきまり)
  5. 四則の混じった計算の順序 (算数 計算と数のきまり)
  6. 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
  7. n 進法 (数学A 整数の性質)

説明

ニムは、いくつかの山に分かれた石を 2 人が交互に取り合うゲームです。1 回の手番では 1 つの山を選び、その山から 1 個以上の石を取ります(全部取ってもかまいません)。最後の石を取った人が勝ちです。各山の石の個数を 2 進法で表して「ニム和」を計算すると、局面を見ただけで先手と後手のどちらが必勝かが判定できます。さらに、勝つためにどの山から何個取ればよいかも求められます。

なぜそうしてよいのか

0 以上の整数 のニム和 は、次の手順で作る数です。 を 2 進法で表して桁をそろえ、各桁ごとに「」と計算します。これは、繰り上がりのない足し算を 2 で割った余りで行うことにあたります。たとえば 、 なので です。この演算は順序を入れ替えても組み方を変えても結果が同じなので、 が意味をもちます。各桁を見ると、その桁に 1 をもつ山の数が奇数なら 1、偶数なら 0 になります。また 、 が成り立ちます。

ニム和 について、次の 2 つの事実が成り立ちます。(1) の局面からどう動かしても、 になる。1 つの山を から に変えると、新しいニム和は です。 なのでどこかの桁が食い違い、この値は 0 になりません。(2) の局面からは、 にする手が必ずある。 の 2 進法で 1 が立っている最上位の桁を の位とします。 のこの桁が 1 なので、この桁が 1 である山 が少なくとも 1 つあります。 を に変えると、 の位より上の桁は変わらず、 の位は 1 から 0 になります。それより下の桁がどう変わっても、下の桁の値の合計は最大でも です。よって となり、石を取る正しい手になります。このときの新しいニム和は です。

石が全部なくなった局面のニム和は 0 です。そこで の局面で手番の人が毎回 (2) の手を打つと、相手には (1) により必ず の局面を返されます。石は毎手減るのでゲームは必ず終わり、最後の石を取るのは の局面で手番を迎える側です。したがって、ニム和が でなければ手番の人(先手)の必勝、 なら後手の必勝です。

手順

  1. 各山の石の個数を 2 進法で表し、桁をそろえて縦に並べる

  2. 各桁ごとに 1 の個数を数え、奇数なら 1、偶数なら 0 としてニム和 を求める

  3. 判定する: なら後手必勝、 なら先手必勝

  4. のときは、 の最上位の 1 の桁を見つけ、その桁が 1 である山 を選ぶ

  5. 選んだ山を 個にする(取る個数は )。これで全体のニム和が になる

例題

石の山が 3 つあり、山 A に 6 個、山 B に 9 個、山 C に 13 個の石がある。ニムを行うとき(1 つの山から 1 個以上取る。最後の石を取った人が勝ち)、先手がニム和を にする手を打つ。そのような手はただ 1 つである。手を打った後の山 A, B, C の石の個数を、順に組 で求めよ。

例題の解答

手順 1: 、、 と表し、桁をそろえる。
手順 2: 各桁の 1 の個数を数える。 の位は で 2 個なので 0。 の位は で 2 個なので 0。 の位は で 1 個なので 1。 の位は で 2 個なので 0。よって である。
手順 3: なので先手必勝である。
手順 4: の最上位の 1 は の位にある。 の位が 1 である山は A()だけである。実際、B では 、C では となり、どちらも石を増やすことになるので手にならない。
手順 5: 山 A を 個にする(2 個取る)。確認すると となる。
よって、手を打った後は である。

答え:

よくある誤り

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

入口の問題

この技能を使う問題

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