Yes, many ways to reach a complete game. At lower ply, just iterate through all the root moves, similar to how a Perft does, but start chess games.Thank you for the recognition.Yes, win loss draw counts can be used. However, a finer level of control is possible with bonus/penalties because they can vary in importance according to depth. At lower ply they are very small so the the root move does not change that easily. At higher ply the bonus/penalties are less small to cause the algorithm to switch to another move quickly. Therefore the search through the search space happens top down. If 1. a move is best according to the eval and it also scores well in the games it may never change to another move. There is a million ways to do everything it seems!
How many Perfts 4 or 5 can you do before you reach the end of a game? A lot of different chess games at one time. Let statistics determine the move.
perft 4
total moves=197281 time=0.00
perft 5
total moves=4865609 time=0.07
perft 6
total moves=119060324 time=1.80
6k1/8/6PP/3B1K2/8/2b5/8/8 b
perft 5
total moves=79772 time=0.00
perft 6
total moves=1302053 time=0.02
perft 7
total moves=13763111 time=0.27
perft 8
total moves=223455144 time=3.90
I talked to Bob a while ago. PV jumping I called it. E.g., ply 20 search. Jump to the end of that PV line, and do another 20 ply search, and repeat this until you reach end of game. Then go to the next root move and do the same. 20 seemed like a good number before Crafty started to use more time. That, of course, is just an example without testing or tuning. Anything 1 to 20. Completing games for all the moves up to a e.g., Perft 5 would generate IMO significant statistics.
Also, a debug mode for PGN output could be added to generate large databases of the games / second.