I'm in the process of writing my own piece square tables for my engine and decided to try to extract some statistics from a PGN database.
The best I could find was KingBase Lite with almost a million games with ELO > 2200: http://www.kingbase-chess.net/
So I wrote a little script to count the most common destination squares from every moves and here's the result:
Opening (loosely defined as more than 16 pieces remaining on the board): https://vinc.cc/images/kingbase-lite-2017-openings.png
Endings (16 pieces or less): https://vinc.cc/images/kingbase-lite-2017-endings.png
I can't use those values directly for my PST, but still it's interesting, we can visually confirm a lot of rules from the images.
Most common destination squares from 1M chess games
Moderators: hgm, Rebel, chrisw
-
- Posts: 33
- Joined: Tue Jan 19, 2010 8:38 am
- Location: Brittany, France
-
- Posts: 46
- Joined: Sun Nov 30, 2014 12:06 am
Re: Most common destination squares from 1M chess games
Very interesting. It also would be interesting to see average centipawn deviations from the engine's best choices for each square. In other words, which destination squares tend to be associated with more accurate play.
-
- Posts: 395
- Joined: Fri Aug 12, 2016 8:43 pm
Re: Most common destination squares from 1M chess games
There is a tool in SCID that does that and it's called "piece tracker" (but there was a bug in 4.6.4 when selecting multiple pieces, so it would be better to compile the git version).vincent wrote:So I wrote a little script to count the most common destination squares from every moves and here's the result:
However it does not filter by piece count like you did, but using a range of move numbers.
-
- Posts: 33
- Joined: Tue Jan 19, 2010 8:38 am
- Location: Brittany, France
Re: Most common destination squares from 1M chess games
Thanks it's been a while since I used SCID. I just installed it and this tool is indeed quite interesting, and fast, much faster than my script using python-chess!Fulvio wrote:There is a tool in SCID that does that and it's called "piece tracker" (but there was a bug in 4.6.4 when selecting multiple pieces, so it would be better to compile the git version).vincent wrote:So I wrote a little script to count the most common destination squares from every moves and here's the result:
However it does not filter by piece count like you did, but using a range of move numbers.
Today I updated my script to check each moves with stockfish for 10ms and keep only those with a positive score (above 10 cp). But so far the end result doesn't look much different.