A database for learning evaluation functions
Posted: Fri Oct 28, 2016 11:11 am
Hi,
I have been thinking of doing this for a long time, and I am finally doing it. I am building a database of ~1.34M positions and associated game results, trying to have as few biases as possible. It should be suitable for learning an evaluation function using a neural network, or to tune parameters in a more traditional evaluation function.
This is the procedure I am using:
(1) Download a PGN database with all CCRL 40/4 games.
(2) Convert games to simple lists of moves, with one game per line.
(3) Use a modified version of my engine RuyDos that starts with a random position from each game (at least 20 plies into the game, and at least 10 plies before the end of the game) and extracts the position of the 1,000-th call to the static evaluation function.
(4) Play one game per position using Stockfish 6, using cutechess-cli with time control 30/1 (about 2 seconds per game, and with my 4 cores working concurrently, I expect this will take about a week).
(5) Join the positions and the results.
The first ten positions look like this:
Will anybody be interested in a database like this? Is there anything you would have done differently?
Thanks!
Álvaro.
I have been thinking of doing this for a long time, and I am finally doing it. I am building a database of ~1.34M positions and associated game results, trying to have as few biases as possible. It should be suitable for learning an evaluation function using a neural network, or to tune parameters in a more traditional evaluation function.
This is the procedure I am using:
(1) Download a PGN database with all CCRL 40/4 games.
(2) Convert games to simple lists of moves, with one game per line.
(3) Use a modified version of my engine RuyDos that starts with a random position from each game (at least 20 plies into the game, and at least 10 plies before the end of the game) and extracts the position of the 1,000-th call to the static evaluation function.
(4) Play one game per position using Stockfish 6, using cutechess-cli with time control 30/1 (about 2 seconds per game, and with my 4 cores working concurrently, I expect this will take about a week).
(5) Join the positions and the results.
The first ten positions look like this:
Code: Select all
3r4/4k3/8/5p1R/8/1b2PB2/1P6/4K3 b - - 1-0
3nk2r/rp1b2pp/pR3p2/3P4/1Q3q2/3B1N2/5PPP/5RK1 w k - 1-0
1R6/7p/4k1pB/p1PpP3/2n4P/3K4/P4r2/8 b - - 0-1
3R4/5r1k/2b4p/5p2/1PB5/4q3/P4RPP/6K1 w - - 1/2-1/2
8/5kp1/p4n1p/3pK3/1B6/8/8/8 w - - 0-1
3q3k/1br2pp1/1p6/pP1pR1b1/3P4/P2Q2P1/1B5P/5RK1 b - - 1-0
2b1rbk1/1p1n1pp1/3p3p/6q1/1BB1P3/2N2P1P/R2Q2P1/6K1 w - - 1/2-1/2
2q3k1/5pp1/p3p2p/1p6/1n1P4/5PP1/PP1QN2P/3R2K1 w - - 1-0
8/3b1Q1p/p2p1pp1/4bk2/4r1q1/7P/P4PP1/3R1RK1 w - - 1-0
rq3rk1/2p2ppp/p2b4/1p1Rp1BQ/4P3/1P5P/1PP2PP1/3R2K1 b - - 1-0
Thanks!
Álvaro.