Just for a bit of fun, I decided to get a sense of what the engine thinks the 'value of the pieces' really is. I downloaded the pgn file of all games played on lichess in November 2014 (randomly chosen month with a reasonable file size), and from those games I took a smaller and more manageable subset of games haphazardly.
I filtered through the pgn to find positions with (a) a precomputed evaluation (b) a piece imbalance. Then I further filtered for positions where a piece was not just captured (and would presumably be recaptured on the next move).
Then I fit a least-squares model to the get the coefficients in:
centipawn-evaluation = (pawn value) * (#white pawns - #black pawns) + (knight value) * (#white knights - #black knights) + ...
Without further ado, here is what the fit spit out:
pawn: 2.41
knight: 4.83
bishop: 5.29
rook: 10.28
queen: 11.98.
You can check this yourself by running the code in github.com/felipeh/piece_values . The database of games used is very small indeed, but I thought it was fun.
I then tried again with substantially more games and got similar values:
pawn: 2.39
knight: 5.85
bishop: 6.52
rook: 9.31
queen: 16.15.
When normalized so that pawns are worth one pawn, this matches a bit better with the standard values:
pawn: 1.0
knight: 2.4
bishop: 2.7
rook: 3.9
queen: 6.8.
It is at least worth pointing out that bishops do seem more valuable than knights, but I am not sure how much I trust these numbers otherwise!
Seems like there are plenty of other fun things to try in this vein. For example, one could further filter positions for 'closed' vs 'open' positions (using maybe the number of pawns as a proxy) and test the relative value of knights vs bishops in such situations. Or maybe it would be interesting to find an approximate guess for the material value of having a rook on an open file, or a passed pawn, or something like that.
What experiments would you try? And, since I am assuming that this has already been done by much smarter people than me, where can one find analysis like this elsewhere?
I filtered through the pgn to find positions with (a) a precomputed evaluation (b) a piece imbalance. Then I further filtered for positions where a piece was not just captured (and would presumably be recaptured on the next move).
Then I fit a least-squares model to the get the coefficients in:
centipawn-evaluation = (pawn value) * (#white pawns - #black pawns) + (knight value) * (#white knights - #black knights) + ...
Without further ado, here is what the fit spit out:
pawn: 2.41
knight: 4.83
bishop: 5.29
rook: 10.28
queen: 11.98.
You can check this yourself by running the code in github.com/felipeh/piece_values . The database of games used is very small indeed, but I thought it was fun.
I then tried again with substantially more games and got similar values:
pawn: 2.39
knight: 5.85
bishop: 6.52
rook: 9.31
queen: 16.15.
When normalized so that pawns are worth one pawn, this matches a bit better with the standard values:
pawn: 1.0
knight: 2.4
bishop: 2.7
rook: 3.9
queen: 6.8.
It is at least worth pointing out that bishops do seem more valuable than knights, but I am not sure how much I trust these numbers otherwise!
Seems like there are plenty of other fun things to try in this vein. For example, one could further filter positions for 'closed' vs 'open' positions (using maybe the number of pawns as a proxy) and test the relative value of knights vs bishops in such situations. Or maybe it would be interesting to find an approximate guess for the material value of having a rook on an open file, or a passed pawn, or something like that.
What experiments would you try? And, since I am assuming that this has already been done by much smarter people than me, where can one find analysis like this elsewhere?