sakurapyon’s blog

sakurapyon’s blog

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%