bitboard版
脱れさぴょん版は、とりあえず αβ探索が動くようになった。まだ、どこかから非合法手をもってくるんで、要デバッグ。 *動いてるだけ* なので、速度は遅いし、オーダリングしてないから深く読めない。簡単に速くなりそうなところに手を入れて1桁ぐらい速くしてから、処理追加かな…
- rotated bitboard
- alpha beta
- Null move
- LMR
- オーダリングしてないのにLMRして意味があるのか?
- History入れたらPVSにしよう
- Fractional Plies
- Iterative Deepening
- 王手延長1手
- オーダリングなし。手生成の順番だけ
- 取る成る手→移動手→打つ手
- Hash Move 1手
- Killer Move 1手
- 静止探索なし
- Bonanza 6由来のKKP
- 差分評価してない
- ソースコードの大きさは現在5Kstepちょい
- オリジナルのれさぴょんは4Kstep、sakurapyon-44が8Kstepぐらい。れさぴょん小さいなー。
↓指し手生成祭り局面を探索してみた。深さ5(王手延長)で800万ノード以上読んでる。これは遅いわけだ。141秒しかかかってないのは静止探索がないからだろうな。sakurapyon-44 は深さ5のときに 1.8万ノードだからまさに桁違い。44の方は15秒で76万ノード読んでるので速度は同じぐらいかな(静止探索の有無の差があるのに)。
後手:White 後手の持駒: 金 銀 桂 歩五 9 8 7 6 5 4 3 2 1 +---------------------------+ |v香 ・ ・ ・ ・ ・ ・v桂v香|一 | ・ ・ ・ ・ ・ と ・v金v王|二 | ・ ・v桂v歩 ・ 銀 ・ ・ ・|三 |v歩 ・v歩 ・ ・ ・ ・ 歩v歩|四 | ・ ・ ・ 歩 ・ ・ 銀v歩 ・|五 | ・ 歩 歩v角 ・ ・ 歩 ・ 歩|六 | 歩 ・ ・ ・ ・ ・ 金 銀 ・|七 | 飛 ・ ・ ・ ・ ・ ・ ・ ・|八 | 香 桂 ・ ・ ・ ・v角 王 香|九 +---------------------------+ 先手:Black 先手の持駒: 飛 金 手数=1 後手番 * 駒割り=643,kkp=454 hash=9365f3b4015e7502, bhash=5e70ca12a600c67c, hhash=cd1539a6a75eb37e 1. 322: 1( 0.00) △65桂(73) 1. 212: 1( 0.00) △57角成(66) 1. 130: 1( 0.00) △48角成(66) 1. -148: 1( 0.00) △99角成(66) 2. 1111: 6( 0.00) △99角成(66)▲99飛(98) 2. 898: 12( 0.00) △65桂(73)▲13金打 2. 788: 18( 0.00) △57角成(66)▲13金打 2. 695: 66( 0.00) △13桂(21)▲32銀成(43) 2. 662: 223( 0.01) △13桂打▲18玉(29) 2. 582: 365( 0.01) △13銀打▲18玉(29) 3. 410: 868( 0.02) △13銀打▲23歩成(24)△23金(22)▲22金打△22金(23) 3. 90: 1110( 0.02) △65桂(73)▲23歩成(24)△23金(22) 3. -18: 1656( 0.03) △57角成(66)▲23歩成(24)△23金(22) 4. 551: 9540( 0.17) △57角成(66)▲23歩成(24)△23玉(12)▲24金打△12玉(23)▲13金(24)△13金(22) 4. 77: 20496( 0.28) △48角成(66)▲23歩成(24)△23玉(12)▲48飛(98)△48角成(39) 4. 31: 271170( 3.28) △87銀打▲77桂(89)△98銀成(87)▲98香(99) 5. 23: 375161( 5.53) △87銀打▲23歩成(24)△23金(22)▲32飛打△13玉(12)▲18飛(98)△99角成(66) 5. 11: 605960( 9.64) △48角成(66)▲23歩成(24)△23金(22)▲32飛打△22銀打▲48飛(98)△48角成(39) 5. 8: 3608687(61.96) △31桂打▲23歩成(24)△23桂(31)▲31と(42)△35桂(23)▲21と(31) 5. 7: 6209657(105.69) △33金打▲15歩(16)△28銀打▲28飛(98)△28角成(39)▲28玉(29) this: nodes=8213681, leaf=56842577, leaf/node=6.9, (24.1^5=56842577), 141.58sec, 58013.7nps, 401482.4leafs/secs total:betacut=5902252/7122943, betacut pos=1.2, beta cut ratio=0.7 total:hash count=13832974, hash hit=8133018, 58.8%, hash2 hit=176424, 1.3%
追記: MVV (MVV/LVAではない)を入れただけで劇的に速くなった。バグってるとしか思えないが、はてさて…
(LMRが利きすぎてたようだ。減らしたらまた遅くなった)
1. 10: 1( 0.00) ▲16歩(17) 2. 0: 4( 0.00) ▲16歩(17)△14歩(13) 3. 80: 11( 0.00) ▲16歩(17)△14歩(13)▲15歩(16) 4. -309: 26( 0.00) ▲16歩(17)△14歩(13)▲15歩(16)△15歩(14) 5. -30: 65( 0.00) ▲16歩(17)△14歩(13)▲15歩(16)△15歩(14)▲15香(19) 6. -309: 192( 0.00) ▲16歩(17)△14歩(13)▲15歩(16)△15歩(14)▲26歩(27)△24歩(23) 7. -30: 477( 0.00) ▲16歩(17)△14歩(13)▲15歩(16)△15歩(14)▲26歩(27)△24歩(23)▲15香(19) 8. -516: 1751( 0.01) ▲16歩(17)△14歩(13)▲15歩(16)△15歩(14)▲26歩(27)△24歩(23)▲15香(19)△15香(11) 9. -261: 7523( 0.03) ▲16歩(17)△14歩(13)▲15歩(16)△15歩(14)▲26歩(27)△24歩(23)▲25歩(26)△25歩(24)▲15香(19) 10. -58: 39363( 0.12) ▲16歩(17)△14歩(13)▲15歩(16)△15歩(14)▲15香(19)△15香(11)▲26歩(27)△18香成(15)▲18飛(28)△13桂(21) 11. -117: 226502( 0.80) ▲16歩(17)△14歩(13)▲15歩(16)△15歩(14)▲26歩(27)△24歩(23)▲15香(19)△15香(11)▲48玉(59)△17香成(15) 12. -69: 1343982( 4.51) ▲16歩(17)△14歩(13)▲15歩(16)△15歩(14)▲15香(19)△15香(11)▲13歩打△17香成(15)▲12歩成(13)△27杏(17)▲27飛(28)△24歩(23) 評価値:-69 1343982 nodes, 4.51sec, 297883.9nps this: nodes=1343982, leaf=2911223, leaf/node=2.2, (3.2^12=2911223), 4.51sec, 297883.8nps, 645251.3leafs/secs total:betacut=623590/836214, betacut pos=1.3, beta cut ratio=0.5 total:hash count=1918680, hash hit=1304918, 68.0%, hash2 hit=0, 0.0%