\閲覧ありがとうございます!当サイトではリンク広告を利用しています/
ニムは、石取りゲームに分類されるもののの一つで、最後の石をとったほうが勝ちというルールを持ちます。ここでは、前回の記事に引き続いて、ニムの攻略のコツを解説していきます。また、数学的な必勝法も解説していきます。
ニムは、石取りゲームの一種です。前回の記事では、石取りゲームについては「一回にとれる上限があり、最後に石をとったほうが負け」というルールでの攻略のコツを解説しましたが、ニムは、その逆に近いです。
ニムのルールは以下のようになります。
このゲームでは山に分けるかわりに、一回にとる上限がありません。
ニムは、数学的に必勝法が確立されており、自分が必勝の手番であれば、ミスをしない限り絶対に勝つことができます。
ニムは、ルールの単純さからコンピュータなどでの実装も早くから行われていました。
また、ニムを印象的なゲームとして劇中で使った映画もあり、それが『去年マリエンバートで』という映画です。
この映画は金獅子賞を受賞しています。
ここからは、ニムの必勝法や攻略のコツについて解説していきます。
ますは、簡単に、山が二つで、個数が同じ場合をもとに解説していきます。この場合の攻略方法は、とても簡単ですぐに覚えて使うことができます。
山が二つで、各山に同じ石の個数がある場合は、後手必勝です。なので、相手に先手を譲って、あとで取れば簡単に勝つことができます。
攻略のコツは、「相手の真似をして、少なくなったほうから同じ個数をとり、常に山にある石の個数を同じにする」という方法です。
例えば、石の個数が4つずつだったとすると、以下の図のようにプレイすることで、常に後手が勝つことがわかります。
こういったやり方は「真似将棋」とか「ミラーリング」とか言われたりしますね。
以下では、これを一般化して、山の個数が任意、石の個数が任意の場合の必勝法を解説していきます。
山の個数が任意、石の個数も任意の場合は、必勝法は存在しているものの、やや複雑になります。
というのも、2進数で個数を表して計算するという方法が必要だからです。
ここでは具体例として、山が三つ(山A、山B、山Cとする)、石が3,4,5個だった場合で解説していきます。
石の個数を2進数に表すと、3=011、4=100、5=101となります。
ここで、各桁ごとに、二進数の計算をします。ただしその時には「排他的論理和」という和を使います。
この排他的論理和とは、同じ数字があったら0、違う数字があったら1、という風に桁が決まります。
この例では、
011
100
101
ーー
010
となり、各桁の排他的論理和は010となります。10進数で表せば2です。この計算結果を「ニム和」と呼んだりします。
ここまでの計算で、以下がわかります。
さらにすごいのは、この計算によって、勝つためのとり方もわかるのです。
上の例では、ニム和が2であり、計算によって先手必勝であることがわかります。
とり方は、「ニム和が0に変わるようなとり方をすれば勝つ」ということが明らかになっています。
具体的なやり方は、各山に上で出たニム和を同じ計算で足し合わせます。
すると、
011+010=001(十進数で1)
100+010=110(十進数で6)
101+010=111(十進数で7)
ここで、山Aだけ、足し合わせると数字が減ることがわかります。この減った山から、2つの石(先ほど出したニム和の十進数)をとればよいのです。
こうすると、ニム和を計算すると001+100+101=0に変わることがわかります。
あとは、相手がとった後で同じ計算を繰り返し、同じ手順で石をとっていけば必勝です。
この後のゲームの流れは、以下のようになります。
それぞれの山の個数を(A,B,C)で表しています。また、後手は必勝法を知らないので、てきとうにとるとします。
このように、ニム和を計算することで必勝の手番と取り方がわかります。
ただし、この方法は万能なのですが、二進数にして毎ターンごとに計算しなければならないというのがかなり煩雑です。
ちなみに、上述のように山の個数が二つで、石の数が同じ場合は後手が勝つ、ということもこの2進数の方法で確かめられます。
石の個数が4つの場合は二進数は100であるので、100+100をそれぞれの桁ごとに足し、答えを出すと000になります。
すると、ニム和が0の時は後手が勝つということが確かめられます。
二進数に変化すると勝てるというのがほかのゲームにはない面白さだと思います。