Uri Blass wrote:To be more specific I am interested in thinking by myself about the israeli chess championship games but not about every position(I have no time for it) but only about the positions when players did significant mistakes.
You can download the games in the following link
http://www.theweekinchess.com/chessnews ... ships-2014
Possible output that I would like to have is list of fen for all the positions when players did mistakes of at least 0.5 pawns(without best move)
when I simply think about diagram number 1 and later about diagram number 2 and later about diagram number 3...
and only after thinking about diagrams from the same game compare the move that I choose with the best move or the game move.
Of course if the evaluation is already +3.5 and a move drops the evaluation to 2.8 then it is not interesting so I would like to have only positions when the evaluation is smaller than 1.5 pawn advantage for one side before the move or after the move.
I get interested on this but using games from Philippine National Championships just held recently also.
I tried Fritz 13, but it has its own way of creating tactics positions even though you allowed to blunder check at 50 cp, and its format should also be in cb.
So here is what I tried, convert the pgn to epd lines using pgn2fen program, the output is like below, then create a python script to analyze those positions following some criteria that you specified, like 50cp minimum blunder threshold, and position should not be an obvious loss or win, by some threshold too.
Code: Select all
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - fmvn 1; hmvc 0; pm g3;
rnbqkbnr/pppppppp/8/8/8/6P1/PPPPPP1P/RNBQKBNR b KQkq - fmvn 1; hmvc 0; pm d5;
rnbqkbnr/ppp1pppp/8/3p4/8/6P1/PPPPPP1P/RNBQKBNR w KQkq - fmvn 2; hmvc 0; pm Bg2;
rnbqkbnr/ppp1pppp/8/3p4/8/6P1/PPPPPPBP/RNBQK1NR b KQkq - fmvn 2; hmvc 1; pm c6;
rnbqkbnr/pp2pppp/2p5/3p4/8/6P1/PPPPPPBP/RNBQK1NR w KQkq - fmvn 3; hmvc 0; pm Nf3;
rnbqkbnr/pp2pppp/2p5/3p4/8/5NP1/PPPPPPBP/RNBQK2R b KQkq - fmvn 3; hmvc 1; pm g6;
rnbqkbnr/pp2pp1p/2p3p1/3p4/8/5NP1/PPPPPPBP/RNBQK2R w KQkq - fmvn 4; hmvc 0; pm O-O;
rnbqkbnr/pp2pp1p/2p3p1/3p4/8/5NP1/PPPPPPBP/RNBQ1RK1 b kq - fmvn 4; hmvc 1; pm Bg7;
rnbqk1nr/pp2ppbp/2p3p1/3p4/8/5NP1/PPPPPPBP/RNBQ1RK1 w kq - fmvn 5; hmvc 2; pm d3;
rnbqk1nr/pp2ppbp/2p3p1/3p4/8/3P1NP1/PPP1PPBP/RNBQ1RK1 b kq - fmvn 5; hmvc 0; pm e5;
rnbqk1nr/pp3pbp/2p3p1/3pp3/8/3P1NP1/PPP1PPBP/RNBQ1RK1 w kq - fmvn 6; hmvc 0; pm Nbd2;
rnbqk1nr/pp3pbp/2p3p1/3pp3/8/3P1NP1/PPPNPPBP/R1BQ1RK1 b kq - fmvn 6; hmvc 1; pm Ne7;
rnbqk2r/pp2npbp/2p3p1/3pp3/8/3P1NP1/PPPNPPBP/R1BQ1RK1 w kq - fmvn 7; hmvc 2; pm e4;
rnbqk2r/pp2npbp/2p3p1/3pp3/4P3/3P1NP1/PPPN1PBP/R1BQ1RK1 b kq - fmvn 7; hmvc 0; pm O-O;
rnbq1rk1/pp2npbp/2p3p1/3pp3/4P3/3P1NP1/PPPN1PBP/R1BQ1RK1 w - - fmvn 8; hmvc 1; pm Qe2;
rnbq1rk1/pp2npbp/2p3p1/3pp3/4P3/3P1NP1/PPPNQPBP/R1B2RK1 b - - fmvn 8; hmvc 2; pm Qc7;
rnb2rk1/ppq1npbp/2p3p1/3pp3/4P3/3P1NP1/PPPNQPBP/R1B2RK1 w - - fmvn 9; hmvc 3; pm b4;
rnb2rk1/ppq1npbp/2p3p1/3pp3/1P2P3/3P1NP1/P1PNQPBP/R1B2RK1 b - - fmvn 9; hmvc 0; pm dxe4;
rnb2rk1/ppq1npbp/2p3p1/4p3/1P2p3/3P1NP1/P1PNQPBP/R1B2RK1 w - - fmvn 10; hmvc 0; pm dxe4;
rnb2rk1/ppq1npbp/2p3p1/4p3/1P2P3/5NP1/P1PNQPBP/R1B2RK1 b - - fmvn 10; hmvc 0; pm f6;
rnb2rk1/ppq1n1bp/2p2pp1/4p3/1P2P3/5NP1/P1PNQPBP/R1B2RK1 w - - fmvn 11; hmvc 0; pm Qc4+;
rnb2rk1/ppq1n1bp/2p2pp1/4p3/1PQ1P3/5NP1/P1PN1PBP/R1B2RK1 b - - fmvn 11; hmvc 1; pm Kh8;
rnb2r1k/ppq1n1bp/2p2pp1/4p3/1PQ1P3/5NP1/P1PN1PBP/R1B2RK1 w - - fmvn 12; hmvc 2; pm a4;
rnb2r1k/ppq1n1bp/2p2pp1/4p3/PPQ1P3/5NP1/2PN1PBP/R1B2RK1 b - - fmvn 12; hmvc 0; pm b6;
rnb2r1k/p1q1n1bp/1pp2pp1/4p3/PPQ1P3/5NP1/2PN1PBP/R1B2RK1 w - - fmvn 13; hmvc 0; pm Ba3;
rnb2r1k/p1q1n1bp/1pp2pp1/4p3/PPQ1P3/B4NP1/2PN1PBP/R4RK1 b - - fmvn 13; hmvc 1; pm a6;
[...]
The fmvn is the full move number, while the pm is the predicted move. That pm is the move played by the player.
Here is some sample output of the script, these positions are from chisr14.pgn
Code: Select all
rq2rb1k/7p/pn3pp1/Qb2p3/1P2P3/B1R2NP1/2P2PBP/R5K1 w - - fmvn 26; hmvc 7; pm Bf1; c0 "pm ce -72"; bm a3b2; c1 "bm ce -6"; c2 "atms 5000"; c3 "engine sf5";
r3rb1k/1q5p/p4pp1/Q3p3/1PN1P3/B1nB2P1/2P2P1P/R5K1 b - - fmvn 30; hmvc 4; pm Nxe4; c0 "pm ce 66"; bm e8b8; c1 "bm ce 143"; c2 "atms 5000"; c3 "engine sf5";
rr4k1/1nqbbppp/3p1n2/pp1Pp1B1/2p1P3/2P2NNP/PPB2PP1/R2QR1K1 w - - fmvn 17; hmvc 0; pm Nh4; c0 "pm ce -91"; bm d1d2; c1 "bm ce -22"; c2 "atms 5000"; c3 "engine sf5";
rr4k1/1nqbbppp/3p1n2/pp1Pp1B1/2p1P2N/2P3NP/PPB2PP1/R2QR1K1 b - - fmvn 17; hmvc 1; pm g6; c0 "pm ce 20"; bm f6d5; c1 "bm ce 91"; c2 "atms 5000"; c3 "engine sf5";
4r3/3br2k/3p2pp/pp1P1p2/2pBnQ1P/2P5/PP4PK/4R3 b - - fmvn 33; hmvc 5; pm Rg8; c0 "pm ce -221"; bm g6g5; c1 "bm ce -5"; c2 "atms 5000"; c3 "engine sf5";
6r1/3br2k/3p2pp/pp1P1p2/2pBnQ1P/2P5/PP2R1PK/8 b - - fmvn 36; hmvc 11; pm Rge8; c0 "pm ce -252"; bm g8f8; c1 "bm ce -88"; c2 "atms 5000"; c3 "engine sf5";
The script is appending these comments once a position is within the criteria.
Code: Select all
c0 "pm ce -72"; bm a3b2; c1 "bm ce -6"; c2 "atms 5000"; c3 "engine sf5";
Take sample 1.
[d]rq2rb1k/7p/pn3pp1/Qb2p3/1P2P3/B1R2NP1/2P2PBP/R5K1 w - -
Code: Select all
pm Bf1; c0 "pm ce -72"; bm a3b2; c1 "bm ce -6"; c2 "atms 5000"; c3 "engine sf5";
In this position the player played Bf1. I let sf analyzed this for 5 sec or "atms 5000" atms = analysis time millisec, and sf liked it with bm a3b2 with "bm ce of -6", ce = centipawn evaluation. But if Bf1 is played sf scored it at "pm ce -72", so -6 - (-72) = 66 cp hence this position is saved by the script. Those ce analysis figures can vary with analysis time, num threads and other factors of course.
Here is the sample script run. It will ask for the epd file, with fmvn, and pm, then ask some uci engine options.
Code: Select all
Please enter epd file to process: chisr14.epd
The filename of output file is analysis-chisr14.epd
Please enter engine file name: sf5
Please enter search time in milli seconds: 5000
Please enter number of positions to analyze and saved: 6
Please enter hash size in mb: 64
Please enter number of Threads: 1
Analysing positions, please wait ...
This pos is skipped, fmvn is below 12
[...]
analyzing for saving pos 1
bestmove a2a4
[...]
analyzing for saving pos 6
bestmove e2e4
Done!!, number of positions analyzed and saved: 6
You can save the above script output as epd, then load it in arena gui (I use 3.5). Enable epd display list, and enable also the epd show in separate window. Once separated it is now convenient to hide and show the pm and bm from the epd list window. You may arrange as well the main window displaying the position on the board.
Let me know if you need the script, it requires installation of python in windows os.