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