うらお16やねうら王を始めとする従来型の将棋ソフトはチェスのソフトであるStockfishの探索部を参考にしているのに、Stockfishに何ら貢献していないという趣旨のことを先日記事に書きました。Learning勢は残れていなかった)、チェスのソフトの世界では、この勢力図がいままさに変わろうとしています。うらお8だいたいにおいて、やねうら王ほどメジャーな将棋ソフトの探索部に大きなバグを埋め込むことは常識的に考えると不可能である。多くの人が改良に参加している&参考にしているので、誰かの目に止まるはずではある。ところが、公開後、数年も誰も気づかなかったbugがつい先日見つかった。Aperyの平岡さんが、AperyをRustで書き直している時にRustのコンパイラが警告を出したので気づいたと言うのだ。(WCSC29の会場で平岡さんから直接教えてもらった。うらお142016年に互角局面集というのを本ブログで公開した。従来、強くなったかの計測は将棋所を用いて定跡なしで自己対局させていた。それだと同じ進行・同じ戦型に偏るため何らかの互角に近い局面を用意する必要があった。SMPの部分のコードだと、コア数が増えてきた時に同じdepthを探索しているスレッドが増えすぎて良くないのではないかという指摘があった。50%」などと表示されている。これはHASH利用率と呼ばれる。この数字が大きくなってくると探索の効率が悪くなる。要するに潤沢にメモリがある場合に比べると弱くなる。これは、どれくらいの値までであるなら適切なのか?HASH利用率が99%にならない限りHASHには余裕があるものなのか?HASHはどういう仕組みになっているのか?HASH利用率が50%の状況で、ハッシュ衝突はしているのか?など、わりとソフトを長年使っていても知らない人が多いのでここに原理から詳しく説明した決定版的な記事を書く。うらお返信ONE_PLYというのは、1手を表す値のことです。