つ、疲れた(^-^;)
土日、もくもくと、もくもくもくもくと作業してますが。
もう限界っす……。
疲れた。疲労の限界です……
うさぴょんの育ての親さんに教えてもらったallocateConsoleを組み込んで、
CSA将棋+DLLで、うさぴょん10秒、20秒モードと同じぐらいの思考速度でスパーリング中。
なかなか勝てず(^^;
マシン的に、自作は64 x2 4400+。うさぴょんはCeleron1.8GHzぐらいのマシンで動かしている。
マシンのパワー的には、YSSベンチだと3倍ぐらい開いている。
やはり将棋ソフトは、アルゴリズムが占める割合がでかいですね。
マシンが三倍速くても、ぜんぜんかないません。
パスを入れたり、探索中に必至を探索を入れたりしましたが、きちんと動いているのか、いまいちよくわかんない。
相手陣に角を打ち込むなんて手は、時々テストの棋譜を用意して試しているが、
うさぴょんとやっていて負けるパターンは、安易に角を切り(もしくは交換)、
それを打つのかと思いきや? 打たずに、ごにょごにょしてるうちに、
逆にうさぴょんに角を打ち込まれて、そのまま王を詰めろに持っていかれる……。
なぜ意図した手を打ってくれないのかを、ひとつひとつ調べて、コードを改良するしかないな……。
疲れる作業です。
激指2や東大将棋を利用して、その局面で打つべき手を調べて、自作が打ってくれるようにせねばならない。
根本的に、オーダリングが大事なのだと思う。今は三手の静止探索(+交換値)でオーダリングしてるだけだし。
しかし、オーダリングで上位にあっても打ってくれない場合は評価関数の問題か?(はたまた読みが足りないか)
やるべきことは多い……。
相手の最善手を予想して、それを受ける手を生成をやりたいのだけど、なかなか難しい!
ちょっと休憩しよう(^^;