コンピュータ将棋プログラムをLISPで書く


On Lisp
計算機プログラムの構造と解釈

「コンピュータ将棋プログラムをLISPで書く」と言うとコンピュータ将棋開発関係者にすら完全にネタかと思われているのが実状ではあるが、私はこれを機にその誤解を解いておきたい。


ここでは、私がC#で書いたLISPエンジンのソースを公開し、これが実際にコンピュータ将棋プログラムの開発において非常に有効であることを示す。


・何故LISPはネタだと思われるのか?


普通、コンピュータ将棋は、評価関数が同等であればあとは、1秒間にいかにたくさんの局面を調べられるかが肝要である。そのために上位のコンピュータ将棋ソフトは血の滲むような高速化のための努力をしているのである。


最強クラスのコンピュータ将棋ソフトであるBonanzaGPS将棋に関してはソースが公開されている。そのどちらも高速化には数々のテクニックが使われている。


それなのに、LISPなんかに本当にトッププログラムと互角にやり合えるだけのポテンシャルがあるのか?あなたがそう考えるのは当然のことである。あせらずゆっくり話を聞いて欲しい。


長文なので続きはこちらで↓


コンピュータ将棋プログラムをLISPで書く
http://labs.yaneu.com/20090905/