将ぎの実けんレポート
ぼくの春休みの宿だいでは、FPGAの将ぎのエンジンのこう成をいろいろ変えて、ノードの数がどう変わるかを調べました。
次の10通りのこう成をくらべました。
(ア) き本アルファベータ
(イ) (ア)+ 反ぷく深化
(ウ) (イ)+ FUTILITY PRUNING(もどき)
(エ) (ウ)+ EXTENDED FUTILITY PRUNING(もどき)
(オ) (エ)+ 深さ=1では打つ手を指さない
(カ) (オ)+ NULLMOVE PRUNING、さい帰なし、R3D=7(※)
(キ) (カ)で NULLMOVE PRUNING のさい帰をありにした
(ク) (キ)で R3D=6 にした
(ケ) (キ)で R3D=5 にした
(コ) (ク)+ PVS
(※)R3Dは、R=3とする深さのことです
これらの10通りをえらんだ理ゆうですが、まずさい初はき本アルファベータからはじめて、それからほ木先生のプリントに「こうするといいよ」と書かれていたことを一つずつつい加していきました。「もどき」とあるのは、FPGAでは先生のやっている通りに作るのがむずかしかったので、ハードでもできるように少しさぼっちゃいました。てへ。ごめんなさい。
(オ)の「打つ手を指さない」は、静止探さくでStandPatを使っているので、深さ=1で当たりの手を打っても、次に相手にパスされるとむだになるなぁ、と思ってこうしました。ちなみにぼくは今もやっぱり、StandPatはとっても気もちわるいなぁと思っています。だけどStandPatにしないとまた別の問だいが出てくるので、今はこうしています。このへんの事じょうについては、また夏休みの宿だいにでも考えてみたいと思います。
(キ)~(ケ)ですが、ほ木先生のプリント(2006年8月 じょうほうしょ理)を読むとさい帰かどうかよくわかりませんでした。R3Dは7みたいです。小宮先生のプリントではさい帰でないコードになっていました。Fabian先生のFruitのかい説では「つねにR=3でさい帰」となっていました。どうするのがいいのかわからなかったので、いろいろ変えてやってみました。
15~25分切れ負けだと、だいたい1手10~15秒くらいで指さないといけないと思います。島先生の「読みのぎ法」の25問をとかせて、適ぎ深さを変えながら1問あたりの平きんノード数をみてみました。えらんだ手が少しずつ変わっているので、単じゅんにくらべるのはもしかしたらあまりよくないのかもしれません。だけどとりあえずノード数だけならべてみます。
1問あたりの平きんノード数の表
深さ6 7 8
ア 23042520
イ 12112786 90207415
ウ 75797284
エ 68488777
オ 38210226
カ 35529881
キ 16160660 80446932
ク 74772127
ケ 74589707
コ 66844067
FPGAは6.25Mnps (※)で動いているので、たとえば62500000ノードだと10秒になります。
※"nodes per second"というのがふ通の言い方のようなので、合わせました
[まとめ]
ほ木先生の言うとおりにしていったら、はじめは深さ6しか読めなかったのに、深さ8まで読めるようになりました。このおかげでKShogi初きゅうやyowai_gpsに勝てるようになったので、とってもうれしかったです。やっぱりほ木先生はすごいなぁ、と思いました。
おわり
ついしん とーとつですがアルジャーノンに花たばをあげてください。
最近のコメント