Code: Select all
for m in move_loop {
// do move loop stuff
let evaluation = if !draw() {
make_move(m)
-alpha_beta(d -1, -b, -a)
unmake(m)
} else {
DRAW
}
}
[/quote]
Moderators: hgm, Rebel, chrisw
Code: Select all
for m in move_loop {
// do move loop stuff
let evaluation = if !draw() {
make_move(m)
-alpha_beta(d -1, -b, -a)
unmake(m)
} else {
DRAW
}
}
[/quote]
You are right. I forgot the terminology. The right name is leaf node for nodes that return an "inexact" evaluation and 'terminal node' for the nodes that terminated the game (checkmate or draw). As I understood, Marcel counted none of them.
Yes, I have been optimistic by not polling time in qsearch. This is fixed (with another bug costing a bunch of Elo) now in Dumber 1.1:
I count every nodes, ie interior, terminal and leaf nodes: https://www.chessprogramming.org/Nodelithander wrote: ↑Thu Mar 04, 2021 6:32 pm Much appreciated! Even though, if it's 100 ELO stronger than rustic, it's not quite in reach for my engine just yet!
It may be a stupid question but do you count every node evaluated in QSearch or stop counting as soon as you reach depth 0 and start QSearch?
I'm still gettingabulmo2 wrote: ↑Sun Mar 07, 2021 6:55 pm Yes, I have been optimistic by not polling time in qsearch. This is fixed (with another bug costing a bunch of Elo) now in Dumber 1.1:
https://github.com/abulmo/Dumb/releases/tag/dumber-1.1
Code: Select all
[Termination "time forfeit"]
[TimeControl "40/5+0.5"]
Thanks for the bug report. Dumber did not handle time increments correctly. The bug is corrected in version 1.2 and I removed older buggy versions.lithander wrote: ↑Mon Mar 08, 2021 2:02 amI'm still gettingabulmo2 wrote: ↑Sun Mar 07, 2021 6:55 pm Yes, I have been optimistic by not polling time in qsearch. This is fixed (with another bug costing a bunch of Elo) now in Dumber 1.1:
https://github.com/abulmo/Dumb/releases/tag/dumber-1.1...in CuteChess. Considering that you report 10x more NPS than me that shouldn't be too fast for Dumber!^^Code: Select all
[Termination "time forfeit"] [TimeControl "40/5+0.5"]
Code: Select all
# PLAYER : RATING ERROR POINTS PLAYED (%)
1 dumber-1.2 : 1918.5 70.4 265.5 300 88.5%
2 tscp181 : 1692.0 64.9 186.5 300 62.2%
3 rustic.alpha1 : 1581.6 63.8 147.0 300 49.0%
4 MinimalChessEngine : 683.6 166.0 1.0 300 0.3%
White advantage = 18.96
Draw rate (equal opponents) = 10.28 %
Code: Select all
Score of MinimalChess 0.3 vs dumber-1.2: 45 - 892 - 63 [0.076] 1000
... MinimalChess 0.3 playing White: 27 - 451 - 22 [0.076] 500
... MinimalChess 0.3 playing Black: 18 - 441 - 41 [0.077] 500
... White vs Black: 468 - 469 - 63 [0.499] 1000
Elo difference: -432.7 +/- 36.1, LOS: 0.0 %, DrawRatio: 6.3 %
Hi Richard,abulmo2 wrote: ↑Wed Mar 10, 2021 9:01 amThanks for the bug report. Dumber did not handle time increments correctly. The bug is corrected in version 1.2 and I removed older buggy versions.lithander wrote: ↑Mon Mar 08, 2021 2:02 amI'm still gettingabulmo2 wrote: ↑Sun Mar 07, 2021 6:55 pm Yes, I have been optimistic by not polling time in qsearch. This is fixed (with another bug costing a bunch of Elo) now in Dumber 1.1:
https://github.com/abulmo/Dumb/releases/tag/dumber-1.1...in CuteChess. Considering that you report 10x more NPS than me that shouldn't be too fast for Dumber!^^Code: Select all
[Termination "time forfeit"] [TimeControl "40/5+0.5"]
Here is a fast tournament with your time control and no time losses from dumberCode: Select all
# PLAYER : RATING ERROR POINTS PLAYED (%) 1 dumber-1.2 : 1918.5 70.4 265.5 300 88.5% 2 tscp181 : 1692.0 64.9 186.5 300 62.2% 3 rustic.alpha1 : 1581.6 63.8 147.0 300 49.0% 4 MinimalChessEngine : 683.6 166.0 1.0 300 0.3% White advantage = 18.96 Draw rate (equal opponents) = 10.28 %
+432 for Dumber. If the rating that was calculated for MMC in my gauntlets is anywhere near accurate, Dumber performs around 2000 Elo. What does it *exactly* have as a feature set? PVMove ordering, MVV-LVA, Killer, History heuristics, and a tuned (but not tapered) evaluation, with only PST's and material? (Or does it have other evaluation terms?) If that is all, I wonder if I can actually reach 2000 Elo with only that feature set in Rustic. I'd be happy if I can reach 2000 WITH a hash table.
Do you mean a compilation to a 32-bit executable? The 64-bit executable targeted core2 CPU which are pretty old already.