k-takahashi's blog

個人雑記用

合議アルゴリズム「文殊」

 情報処理学会誌の今月号(Vol.50 No.9)の小特集の一つが「コンピュータ将棋の新しい波」。5月に行われた第19回世界コンピュータ将棋選手権を受けたもので、4本の論文が掲載されている。その一つが、話題になった「文殊」。ソースコード公開されたBonanzaを利用し、その評価値に乱数を加えた複数のBonanzaを走らせ、その結果の合議で次の差し手を決めるというシステムで、3位入賞となった。
 その「文殊」を紹介する伊藤毅志氏の論文が載っていたので読んでみた。


 内容は、伊藤氏のページ(http://homepage1.nifty.com/ta_ito/ito-lab/gougi/gougi.html)に掲載されているものとほぼ同じ。懐疑的だった周囲の声に対抗するため、まず5五将棋でテスト。次に本将棋だがいきなりシステムが組めないので、市販ソフトの差し手を手で集計するという方法でテスト。そして、公開されたBonanzaでということになり、これも予備実験で優秀な結果を得、選手権参加となった。


 この開発過程においては、常に元になったアルゴリズムよりも合議制の方がよいという結果を得ながら進んできたが、意外なことに選手権本戦では元になったBonanzaに敗れている。面白く、効果もありそうだが、まだまだ手についたばかりということの現れだろう。
 合議システムの有効性についての定性的手説明は、「明らかな悪手を排除できるから」ということになっているようだ。ミスの少ない方が勝つというのは実力が均衡しているときはよく言われることだから、何となく納得できる。大コケしないことが求められるシステム(金融基幹系システムとか)への応用とか、たしかにできるかもしれない。


 記事中の指摘で面白かったのが、囲碁モンテカルロ法への適用実験への言及。「いっぱい試して良さそうなものを選ぶ」というモンテカルロ法に合議システムを追加しても効果はなさそうな気がするのだが、試験では有効だったらしい。分析は、今研究室とかでやっているのかな。報告が楽しみ。