agausmann / perftree

Perft debugger. Compare your chess engine's move generation to Stockfish
MIT License
62 stars 4 forks source link

Documentation #12

Open geoff-m opened 7 months ago

geoff-m commented 7 months ago

The readme says

For each move available at the current position, print the move and the number of nodes at the given depth which are an ancestor of that move, separated by whitespace.

Does "the current position" mean the same thing as what you call "the base position" earlier in this section? If not, what does "the current position" mean?

Also, you meant descendant instead of ancestor, right?

agausmann commented 7 months ago

Starting at the "base" position (i.e. $fen, set by the fen command), your engine should apply the moves provided in the $moves list (modified by the move/unmove/moves command) to get to the "current" position, from which it executes the perft.

Yes, that should be "descendant", thanks.

geoff-m commented 7 months ago

Oh, now I understand. I was thinking the optional move list represented moves that should each be played in the given position (effectively selecting multiple branches starting at the root), not a sequence of moves to be played one after the other (effectively selecting a single deep branch).

agausmann commented 7 months ago

Would you mind taking a look at #14 ? I've tried to reword those docs to hopefully make it more clear in general.