3 Comments

Or is it perft vs perft. You control the tree expansion to be full legal to certain go depth. All node being only checked for terminal outcomes or intput depth. I might have not parsed well. But if this last thing, then yes. SF perft would be same tree growth. and I don't know the details of how you count the node there, but if UCI imposes a perf mode for engines. Then then what ever node defition it would be comparable, and supporting your argument, that somehow it is the lowest level move generation sub-module (I am guessing from my past SF understanding, I might not be having the details of move preordering etc. .right. and move generation conceptual start and end in the search module. been a while if I ever did.

Expand full comment

I have a question about node terminology in engine outputs. Is it all nodes or only the leaf nodes (getting a static evaluation). I am asking because I just read that you were comparing SF and your move generation. But SF measure is from the UCI ouput, I get confused if that include interior nodes. As if you are builder the partial tree search like SF type of engine, the move generation is "uptree" frome leaf nodes. I have not follow the detail since you entered the move part. I might have lost track of your node typing. (programming wiki has more than one, depending on the heuristic names. but with AB pruning you already have types. I am more interested with the disctinction between interior nodes (always interior, as iterative deepening (are you using that yet) would have more nodes having been evaluated as leafs, than in the godepth (UCI input depth model of trea search stop) maximal iterative depth), one might think is only looking an interior nodes of such full PV (or what you call the full partial branches of your search tree). If and when I make sense. I would be curious about how you would keep classifying nodes, if my coarse root node, leftmost mode in one branch of the many candidates being exploered, on each branches, interior nodes, and the leaf nodes. AB pruning would add more types. and iterative deepening would allow a whole zoo of foward pruning heuritics.

so if SF is only giving the leaf nodes in its node count, and you are looking at all interior nodes in move generation and rewinds, you might be looking at SF agreesive tree growth pruning.

Expand full comment

I used the UCI output from Stockfish and actually don't know if it includes interior nodes. But my main point was that there is still a lot of improvement for the speed of my move generation, so I don't think that the exact numbers matter at this point.

For my own engine, I counted all nodes and I only used the perft for now without any tree search since this isn't implemented yet.

Expand full comment