Stockfish DD – 置換表

今回紹介するのはStockfish DDの置換表の実装です。

最新のStockfishの実装では置換表の1エントリーがStockfish DDからさらに節約されていますが、ハッシュキーのbit数を減らしてあるのでハッシュ衝突の確率が上がるため一概に良いとは言えません。

 

 

 

Stockfish DD – 置換表」への2件のフィードバック

  1. いつも参考にさせてもらっています。
    bonanzaの置換表ではエントリーを64ビットにパックしていましたが、stockfishではされていないのですね。
    以前指し手構造体は一つの変数にパックしたほうがよいという話を見たことがあったのですが、ハッシュエントリーはパックしないほうがいい理由などはあるのでしょうか?

    • 置換表の局所的にアクセスするメモリ、どうせL1/L2 cacheには収まらないのが普通ですから、packして小さなメモリにおさめても、さほど速度には影響せず、また、メモリ自体はいまごろのPCですとふんだんにありますからメモリ使用効率はあまり問題ではなく、unpackに要するコストが増大するのが許せないということですね。lockless hashのようなものを実装するときは、1エントリーが小さいに越したことはないと思いますが、Stockfishではlockless hash採用してませんし…。(他スレッドから壊したい放題!)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です