「将棋には必勝手順があるのか?」と問われれば「勿論」と答えることは出来ます。着手可能な手をすべて読み尽くせば抽出できるわけですよ、理論的には。ただ現実問題として、しらみつぶしに調べるとなると、宇宙に存在するすべての原子の個数では足りないほどの手数を読まなければならず(大変だ!)、したがって人類なんかとっくに滅亡してしまっているだろうから無理だったりする(聞いたところによるとね)。
チェスの世界ではコンピューターが人間のチャンピオンを破っているけれど、あれだってすべてを計算し尽くしているわけでなく、序盤と終盤はデータベース(終盤のデータベースだって?)があるからほとんど計算しなくて済むものの、中盤は形勢判断を行う為にぱちぱちとソロバンを弾いているんだな。
形勢判断部分はソフトの心臓部であり、しらみつぶしから逃れる手段な訳なのよ。ここらへんがプログラマーの腕の見せ所なの。最近では将棋ソフトの種類が数多く出回っているし、日本だけではなく北朝鮮やイギリスなどでも開発されているっていうんだから驚き。
形勢判断部分を強くする手法として、無駄な読み時間を削るというものがある。じゃあどの手を端折るかという問題にぶつかるのですね。局面の形勢判断は実に微妙。だからなかなかすっきりとしたプログラムを作るのは難しいみたい。おそらくアルゴリズムを足しては検証、引いては検証するという、気の遠くなるような作り方をしているんだ思うんだよね。
今のソフトは終盤に無類の強さを発揮するけど、まだまだ序中盤力に難がある。トータルでだいたいアマチュア二、三段といったところでしょう。アマチュアの平均棋力より少し上ぐらいかな。しかしプロにはまだまだ及ばない。チェスの例にならえば将棋だっていつかコンピューターに負ける日が来るけれども。そのとき将棋界はどのような反応をするんでしょうか。プロ棋士なら誰しも、コンピューターに「負けました」とはいいたくないだろうし。さて、その貧乏くじを引くのは一体誰なんでしょうねえ。