将棋必勝法

将棋のできない私が書くのもなんだが、勿論、「将棋必勝法」は存在しない。
必勝法が存在しないからこそ、ゲームとして成立し、奥深さも存在する。

だが、必勝法が存在する「ゲーム」もある。
(正確には、『必勝法が存在するように、ルールが定められた「ゲーム」』だが)


例えば、
  多くのマッチ棒を3つの山に分ける。各山には少なくとも1本以上のマッチ棒があるように分ける。
  以下のルールに従ってゲームを行う。
   二人のプレーヤーが交互に、これらの山一つを選び、その山から好きな本数のマッチ棒を取り去る。
   この操作を交互に繰り返し、最後にマッチ棒を全部取り去る立場になった人が勝ち。

  このゲームでは、3つの山の各マッチ棒の本数で先手必勝か後手必勝が決まる。


 「先手必勝、後手必勝の判定法」(☆)

  各山にあるマッチ棒の本数を2進法で表す。
  2進法で表した各山の数字の各桁を10進法で足す。
  各桁ごとの和が全て偶数であれば後手必勝、一つでも奇数があれば先手必勝。

    例えば、2本、5本、9本の山があると、2進法で表すと、10、101、1001なので、各桁を10進法で足し合わせると、
    1112となり先手必勝の状態である。


先手必勝の形であれば、先手の人は☆の方法で各桁の和が全て偶数になるようにマッチ棒を取り去り続ければ先手が必ず勝つ。
後手必勝の形であっても、相手がこの方法を知らなければ、先手必勝の形にすればよい。


(簡単な証明)
   2人のうち一方(Aとする)がマッチ棒を取り除いた直後の状態を☆の方法で表したとき、各桁ごとの和が全て偶数だとすると、
   各桁の数字は0または2である。
  (山は3つで、マッチの本数は2進法で表しているので、各桁の和は0,1,2,3のいずれかになる)

  (Ⅰ)各桁の数字が全て0であれば、それはマッチ棒が1本もないことを表すのでAの勝ち。

  (Ⅱ)少なくともn桁目の数字が2だとする。
     各山の本数は2進法で表されているので、0か1で表現されている。なので、n桁目の和が2ということは、
     0+1+1の組み合わせしかありえない。
     2進法で表してn桁目が「1」が2つあるということは、2つの山にはそれぞれ2^(n-1)本以上のマッチ棒が残っていることを意味する。
     相手は1つの山からしかマッチ棒を取り除けないので、何本取り除こうがもう1つの山にはまだ2^(n-1)本以上のマッチが残っている。
     つまり、この段階で相手は勝てない。

   よって、Aは(Ⅱ)の状態を保ちつつ、最終的に(Ⅰ)の状態にすればよいので、先手必勝となる。
                                                   (証明終わり)


   同様な方法で「後手必勝」の証明もできる。



3x4のどうぶつしょうぎには78手での後手必勝手順(勿論、両者最善手を指し続けて)が存在する。
間違って相手が最善手を指さなければ更に短手数で後手勝ちになるのだが、将棋が出来ない私は、この必勝法を暗記して実践しても、
相手が最善手を指してくれないと途端に自分で考えなければならなくなり、勝利からは限りなく遠ざかってしまう。
なんとも不思議な感じだ。