核兵器および通常兵器の廃絶をめざすブログ

近代文学研究を通して、世界平和を考えています。

クロード・E・シャノン 「チェス指し機械」(1955) その2

 1955年の科学水準で、チェス指し機械は実現可能か。シャノンは三段階にわけて解説します。
 
 第一段階。8×8のチェス盤のマス目それぞれに、行と列からなる番号を与える(左下隅が00、右上隅が77)。
 各駒にもそれぞれ番号を与える。これで、盤面のすべてを電子計算機に「記憶」させることができます。
 
 第二段階。戦略をきめる。これが大変なのです。
 最初の1手は32手。敵の第一手も32手。この調子で32×32×・・・とすべての可能性を計算していくと、決着までに10の120乗ほどの変化が生じるそうです。
 当時のコンピュータでそれら全部の局面に対応するのは無理なので、手抜きを考えます(人間もやってることだし)。局面を点数に換算して、点数が高くなりそうな展開だけを読むことにするのです。
 クイーンの価値はだいたいポーン9個分。ルークは5個分。ビショップとナイトはそれぞれ3個分と計算して、味方はプラス、敵はマイナスで足し算し、現在の得点(評価函数)を出す。それが最大になるように次の手を指すわけです。
 ただ、駒の損得だけだと、クイーンを取って喜んだ直後にチェックメイトされかねないので、「駒の動きやすさと位置、王の防備の弱さ、歩の陣列の性質、等々」(142ページ)をも数値化する必要があります。これが難しいと思うのですが、シャノンはさらっと流してます。
 さらに、敵の手も読む必要があります。自分の番では自分が最も有利になるように、敵の番では自分が最も不利になるように(ミニマックスですね)。そうやって可能性のある手順だけを厳選し、広すぎず深すぎずに読むわけです(ゲーム木の枝刈り)。
 
 第三段階。以上の戦略を機械のことばに反訳する。
 主プログラムと9個の副プログラムからなる。副のうち6個は各駒の動きを担当し、第7は可能な動かしかたの表を作り、第8が評価し、第9が読み、最後に主プログラムが最善と判断した手を決定する。以上。
 
 これで一応、チェスを指せるプログラムは完成するわけですが(ソースコードは書いてありません。プログラムのそのまた計画書です)、まだ問題はあります。「機械のおもな弱点といえば、失着をやっても肝に銘じないということだろう」(145ページ)。今のところは、それは人間だけの強みのようです。