明日、プロ棋士とコンピュータの団体戦の第5局がおこなわれて
おばかなマスコミがあおっていて、わたしもあおられているが、
いわれているように
コンピューター対人間ではなく
ソフトをかいた人とプロ棋士の戦いである。
コンピュータの能力よりも
ソフト(アルゴリズム)をかく人の能力が評価されるべきなのである。

コンピュター将棋のリーグというものがあるらしく
そのなかでも優秀なプログラマー棋士のひとりが
伊藤英紀らしくA級指し手1号というおもしろいブログもかいている。

そのなかでアルゴリズムの一端を披露している:
ここだ

ボナメソではもちろん関数ももっと複雑だし変数(x)もひとつだけでなくたくさんあるのですが、要は棋譜データの集合に対してある「関数」を定義して、その関数の値を最小にする変数の組が将棋の評価関数になる、というふうに問題を定式化した。「関数を最小にする」というのは、「その関数を微分したものをゼロにする」こととほとんど同じなので、結局方程式を解くことになります。で、その方程式を解く具体的手順を示した。ここで、求める変数というのはたとえば「持ち駒の金の価値(点数)」であったり、「玉飛接近の形のマイナス点」だったりする。ボナメソとはこういうものです。

複雑度こそ違え、要はボナメソというのはニュートン法や割り算の筆算法と同じく、「方程式を数値的に求めるための解法の一種」です。(一般的な意味での)「学習」とか「知能」とか呼ぶべき物ではありません。割り算の筆算を「学習」とは言いませんよね。

もちろん、「学習」でないからと言って、ボナメソの価値をいささかも減じるものではありません。従来「大体 0.5」だったものが、「0.585」にまで精度が上がった。それによってコンピュータ将棋がかなり強くなった、というのは動かしようのない事実です。ただそれを「学習」などと実態にそぐわない言葉で呼ぶのはやめましょう、というだけです。


理系のひとだとなんとなくうまずけるところだ。

この方法は将棋まかりでなく
他の分野でもつかえそうだな。