確かに指数関数的な差を感じます

http://chocobo.yasuda-u.ac.jp/~nisimura/mymove/index.cgi


>例えば静止探索で取る手しか探索していなかったりという具合に、普通に考えれば高速な側に未実装なところはあります。評価関数もほぼ駒割のみですので遥かに軽いですし、Futility Pruning のマージンも非常に小さくなっています。
>指し手の質をとりあえず度外視すればこのほうが高速になりそうに思えますが、現マイムーブは遥かに遅いです。


保木さんの論文を読みましたが、静止探索の候補手(tactical_moves)は、取る手だけじゃなくて、1手詰みも読んでるようで、
このへんは逆に遅くなってそうですね。
ただ、静止探索でも読んだ深さに応じて、読む候補手の内容を変えるのはなるほどなと思いました。
KFEndのような、普通の静止探索+同じマスでの静止探索という二段階探索をやってるのかな? と思ってましたが、
サンプルは、通常の静止探索のみだったので、やや意外でした(アルゴリズムを紹介するためのサンプルコードなので、実態はわかりませんが)
bonaは、futilityのマージンはわりと大き目の安全策をとられてる感じがします。たしかに小さいほど深く読めますから、小さくできればこしたことはないですね。


>もちろん、単なるプログラミング能力の差もかなりあることでしょうが、それは線形関数的な差にしかならないと思うんですよね。
>現状では指数関数的な差があるように思えます。


 そうですね。指数関数的な差を感じるので、なにか決定的に違うかと思ったんですが、
 普通の評価関数が、同一評価と判断するものを、細かく違いを判断できれば、それだけ枝狩が起きる機会が増えるでしょうから、
 そのへんの違いもあるでしょうね。盤上での二つの駒の位置関係なども評価されてるとあったので、
 Bona囲いなどは、それで発生してるんじゃないかと思います。bonaは見てると、駒の配置が非常に統制が取れていると感じるので、
 たとえば、金と銀が、互いに利きを付け合ってると+評価とか、そういう「図形認識」としての評価もかなり入ってるんじゃないかと思います。


 あと、bitboardもありますが、マイムーブはbitboard化されてるようですが、保木さんのbitboard解説に、利きが高速に計算できるとあったので、
 bonaは利きも使ってるんだろうなと思いました。私は遅くなるので今は利きなしで作ってますが、あったほうがいいのは確かでしょうし。
 たしかfruitChessも、利きは常に持っていない仕様という話が、yssの掲示板であったような記憶があります。
 


 そういえば、今日は京急将棋祭りで、森内名人と小学生の対決もあるらしいけど、甲子園観戦もしたいので、家でおとなしく将棋作ってましょう(^^;
http://members2.jcom.home.ne.jp/saeki-8dan-salon/sub8.html
 GA勝!さんは、なにやら囲碁と連珠がまざったようなゲームを作られる模様。YSSの掲示板では、囲碁チャレンジの話題も。