[Stockfish] futility margins array *1
// Init futility margins array for (d = 1; d < 16; d++) for (mc = 0; mc < 64; mc++) FutilityMargins[d][mc] = Value(112 * int(log(double(d * d) / 2) / log(2.0) + 1.001) - 8 * mc + 45);
- ややこしい式になっているが、dが増えると増加・mcが増えると減少。
- なぜ mc (movecount) が増えると減るのだろうか?
- 手が良い順番に並んでいるなら、後半の手ほど悪いはず
- 低いマージンで刈ってもいいだろう
- では後半はマージンが負になってしまう。いいのかそれで?
It's not a bug. Negative futility pruning values at depth = 1 are okay. Move count based pruning is going to hit us hard anyway razoring everything where moveCount > 4.
https://github.com/mcostalba/Stockfish/commit/4502917665d50394ead903d0b82c6e7b4777b99d
- これで良いらしい。
- GPSfish でも値はそのまま使われている。いいのか?
- 切捨てのせいで線が重なってる。これでいいんかな?