Some of my utils
EPDSETS is a command line tool to create EPD Opening Sets for eng-eng Matches. It uses a database of 174.000+ opening positions created from the openings as used by CCRL and CEGT during the 2006-2017 period. The database of 174.000 positions is analyzed by Stockfish 9 in order to create selective opening EPD sets based on score.
Select EPD file. Default: database.epd
Score overview database, see example.
Split the database in parts of (any number)
Create EPD opening sets based on score.
Is an extra, removes doubles in EPD sets.
Score overview, number of EPD 174707 0.00 | 0.10 | 0.20 | 0.25 | 0.30 | 0.40 | 0.50 | 0.75 | 1.00 | >2.00 29048 |24196 |11862 |11652 |21844 |19159 |33242 |15197 | 8257 | 250
SOMU is a command line utility operated by the arrow keys. It contains 6 PGN and 8 EPD tools. PGN files are found (stored) in the PGN folder, likewise EPD files in the EPD folder. It's functions:
The PGN part
From a PGN create and (automatically) view a HTML file, example-1 is created from gambit.pgn (provided in the download) taken from the YAT gambit tournament. Example-2 is created from a CCRL pgn testing Komodo 12.
Check the PGN of an engine-engine PLY-Match, games should be indentical else perhaps something is wrong. Different moves are marked and stored in OUTPUT.PGN Background: it's extremely important (especially for starters) that a PLY-MATCH (say PLY=10) produces the exact same reverse game, so game-1 and game-2 in the PGN should be 100% equal, game-3 = game-4 and so on.
This function will create a cross table from a (large) PGN file. Maximum number of players (human and/or engine) is 100. Example taken from the gambit.pgn mentioned earlier. Another example, the final FCP rating list by Frank Quisinsky.
Strip played moves by engines from a PGN. What is left and stored in OUTPUT.PGN are the book moves. Handy for opening book tuning with Polyglot.
Split large PGN files into smaller parts.
Remove Double Openings (games)
From a PGN collection display the match score, then remove the double openings and calculate the new match score without the double openings. This util is handy in 3 ways:
. checking an eng-eng match for opening doubles, see screenshot (file bf.pgn)
. pre-checking your predefined opening sets for eng-eng matches.
. In case a PGN doesn't contain comments it will check for duplicated games.
The EPD part
Remove doubles from an EPD collection.
EPD to PGN
Converts EPD to PGN, bm and ce tags included when present. Try this with the included 150 positions example.epd file.
Split large EPD files into smaller parts.
Create a statistic from an EPD collection. It also will create 10 separate EPD files:
. Queen | Rook | Bishop and Knight promotions
. Possitive Mate in X moves | Negative Mate in -X moves
. Pawn Endings | Bishop Knight endings | Rook endings | Queen Endings
Reverse (mirror) an EPD collection. Output stored as OUTPUT.EPD
Analyze EPD ++
The advantage of Analyze EPD and Analyze EPD ++ is that it will work with every new version provided the Stockfish team doesn't change the bench function. Just copy a newer Stockfish version in the SOMU folder.
Current default version is SF10x a beta version considerable stronger than SF9, see results.
EPD legal check
Remove invalid positions from an EPD collection. It's highly recommanded before running large EPD sets with Analyze EPD or Anylyze EPD ++ to check an EPD file first to avoid SF to crash because not seldom EPD sets created from a PGN database may contain garbage positions.
There are a number of hidden features under the function keys
Delete bad or too good EPD positions controlled by a flexible score margin.
Quickly count the number of games in a PGN.
Create PGN index for the use in ProDeo 2.9a
Remark - The PGN part is compatible with Arena and Cutechess-cli, the gibberish ChessBase PGN's work for the most part except for depth and time statistics.
Tord Romstad, Marco Costalba and Joona Kiisk for Stockfish.
Produces an output pgn file that puts each 'full move' on the same line while also removing comments.
Creates a sorted list of players based on points with the S-B (Sonneborn-Berger) value as tiebreaker.
Collects and stores games for each pair of players in a separate PGN file called box00.pgn, box01.pgn etc. with a maximum of 100 pairs.
Split (large) PGN files into x smaller parts.
Extracts games in which a player name begins with a user-specified name_search-string.
Performs user-specified player name changes based on a user-created text file named 'changes', see example given or the README for details.
Extracts games of players who meet or exceed a user-specified minimum number of games.
Lists player names, the number of games, the number of points and the the score percentages. The list is sorted in descending order by percentage.
Produces statistics involving the number of games, the number of players, dates, results, Elo ratings, plycounts and ECO's and more.
Detailed description of the above utils.
Homepage Norm Pollack, get all the 46 PGN utils and more.