eng-eng match statistics

Discussion of chess software programming and technical issues.

Moderators: hgm, Dann Corbit, Harvey Williamson

User avatar
Rebel
Posts: 6946
Joined: Thu Aug 18, 2011 12:04 pm

eng-eng match statistics

Post by Rebel »

In the past I have written a PGN utility that produces all kind of statistics from an eng-eng match. Among other things it for instance produces a statistic in which game phase a game is lost.

Code: Select all

Phase                 LOST           DRAWS          WON        
Overview       MIDG END1 END2 END3          MIDG END1 END2 END3
190             202    4  157   90    816    335   10  221   75   1054.0 (55.0%)
186             335   10  221   75    816    202    4  157   90    864.0 (45.0%)

Late Endgame           LOST           DRAWS           WON          
Overview       QUEEN ROOK LIGHT PAWN          QUEEN ROOK LIGHT PAWN
190               17   23    27    0    514      18   20    23    0
186               18   20    23    0    514      17   23    27    0
The abbreviations in the Phase Overview stand for:

•MIDG: Opening and Middle Game.
•END1: No Queens on the board.
•END2: Real Endgame. Sum black&white <= 26 using the Pawn=1, Knight=3, Bishop=3, Rook=5, Queen=9 formula.
•END3: Late Endgame. Sum black&white <= 10 using the above formula, so Rook, Bishop, Knight and pawn endings.

The second overview (Late endgame overview) further splits the ending in Queen | Rook | Bishop/Knight | Pawn endings.

I want to improve here and further split the Late endgame overview more specifically in a third overview. But before investing time I want to ask first if something similar already is in the open.

It's a long time ago I made this feature (part of Protools) before cutechess-cli saw the light (or became popular) and surprisingly it seems to work with cutechess-cli scores and depths as well. Saves me some trouble. Other supported formats are Chessbase and Arena score+depth PGN's.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

PGN tags: Termination and FinalFEN

Post by sje »

PGN tags: Termination and FinalFEN

For your purposes, you might want to consider using two PGN tags which Symbolic uses in all its PGN output.

Termination gives the cause of game termination.

FinalFEN gives the FEN of the last position.

When these tags are present, they may save considerable processing time for game termination classification.

For samples, see any of my recently posted match result PGN files.
Vinvin
Posts: 5223
Joined: Thu Mar 09, 2006 9:40 am
Full name: Vincent Lejeune

Re: eng-eng match statistics

Post by Vinvin »

The "player report" in SCID do even more :

1) opening
2) Positional theme
3) P, B&N, R, R+B&N, Q, Q+B&N, ...

Simply open the PGN file in SCID and simply click menu : Tools -> Player report

SCID is here : http://scidvspc.sourceforge.net/#toc3

Example in french :

Code: Select all

3.1 Ouvertures

  1&#58; A20-A29   1   0%
  2&#58; B90-B99   1  50%
  3&#58; C00-C09   1  50%
  4&#58; D00-D09   1  50%
  5&#58; D90-D99   1   0%

3.2 Thèmes positionnels

Fréquence des thèmes dans les premiers 20 coups de chaque partie&#58;
   Roques du même côté&#58;            60%    Pion Dame blanc isolé&#58;             0%
   Roques du côté opposé&#58;           0%    Pion Dame noir isolé&#58;              0%
   Avalanche de pions à l'aile roi&#58;  40%    Pion blanc sur la 5/6/7e rangée&#58;  80%
   Dames échangées&#58;                 20%    Pion noir sur la 2/3/4e rangée&#58;    0%
   Paire de fous&#58;                     20%    Colonne c/d/e ouverte&#58;             20%

3.3 Finales

Classification du matériel des positions finales&#58;
                             P     FC      T   T,FC      D   D,FC    D,T D,T,FC
 Les parties du rapport     0%     0%    20%    60%     0%     0%     0%    20%
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: eng-eng match statistics

Post by Ferdy »

Rebel wrote:In the past I have written a PGN utility that produces all kind of statistics from an eng-eng match. Among other things it for instance produces a statistic in which game phase a game is lost.

Code: Select all

Phase                 LOST           DRAWS          WON        
Overview       MIDG END1 END2 END3          MIDG END1 END2 END3
190             202    4  157   90    816    335   10  221   75   1054.0 &#40;55.0%)
186             335   10  221   75    816    202    4  157   90    864.0 &#40;45.0%)

Late Endgame           LOST           DRAWS           WON          
Overview       QUEEN ROOK LIGHT PAWN          QUEEN ROOK LIGHT PAWN
190               17   23    27    0    514      18   20    23    0
186               18   20    23    0    514      17   23    27    0
The abbreviations in the Phase Overview stand for:

•MIDG: Opening and Middle Game.
•END1: No Queens on the board.
•END2: Real Endgame. Sum black&white <= 26 using the Pawn=1, Knight=3, Bishop=3, Rook=5, Queen=9 formula.
•END3: Late Endgame. Sum black&white <= 10 using the above formula, so Rook, Bishop, Knight and pawn endings.

The second overview (Late endgame overview) further splits the ending in Queen | Rook | Bishop/Knight | Pawn endings.

I want to improve here and further split the Late endgame overview more specifically in a third overview. But before investing time I want to ask first if something similar already is in the open.

It's a long time ago I made this feature (part of Protools) before cutechess-cli saw the light (or became popular) and surprisingly it seems to work with cutechess-cli scores and depths as well. Saves me some trouble. Other supported formats are Chessbase and Arena score+depth PGN's.
Pgn-extract is capable of extracting games from any material configurations. Example p vs p, q vs q, rn vs rbp, etc. I have this tool (dos batch files) where given a pgn, I will extract games involving material config that I want to examine. Say games with positions where there are no queens. Once extracted I run ordo to see how engines would look in these type of material config.
Example from Gauntlet test, at tc 300s + 100ms - queenless. My engine is D2015.1.262.

Code: Select all

   # PLAYER                   &#58; RATING  ERROR   POINTS  PLAYED    (%)   CFS&#40;next&#41;
   1 HIARCS 14 WCSC           &#58;  173.5  201.5      5.0       7   71.4%      52
   2 Quazar_0.4_x64           &#58;  166.5  202.0      5.0       7   71.4%      87
   3 Gaviota v1.0 64bit       &#58;   23.4  142.8      5.0      10   50.0%      58
   4 D2015.1.262              &#58;    8.7   51.4     46.0      87   52.9%      51
   5 Hannibal 1.1 64bit       &#58;    6.5  144.8      5.5      11   50.0%      53
   6 Spark 1.0 x64            &#58;   -3.5  234.1      2.0       4   50.0%      52
   7 DiscoCheck 5.2.1         &#58;  -12.2  154.3      5.0      11   45.5%      59
   8 Cheng_4.39_x64           &#58;  -38.7  160.5      4.0       9   44.4%      60
   9 Hakkapeliitta 3.0 x64    &#58;  -68.1  150.6      3.5       9   38.9%      54
  10 Arasan_18_x64_popcnt     &#58;  -81.2  176.6      3.0       8   37.5%      78
  11 SmarThink v1.7           &#58; -174.9  147.2      3.0      11   27.3%     ---

White advantage = 24.48 +/- 32.04
Draw rate &#40;equal opponents&#41; = 54.90 % +/- 5.96

Code: Select all

 4&#41; D2015.1.262              8.7 &#58;     87 (+24,=44,-19&#41;,  52.9 %

    vs.                          &#58;  games (  +,  =,  -),   (%) &#58;    Diff,    SD, CFS (%)
    HIARCS 14 WCSC               &#58;      7 (  1,  2,  4&#41;,  28.6 &#58;  -164.8, 106.9,    6.2
    Quazar_0.4_x64               &#58;      7 (  1,  2,  4&#41;,  28.6 &#58;  -157.8, 108.6,    7.3
    Gaviota v1.0 64bit           &#58;     10 (  2,  6,  2&#41;,  50.0 &#58;   -14.7,  75.0,   42.2
    Hannibal 1.1 64bit           &#58;     11 (  2,  7,  2&#41;,  50.0 &#58;    +2.2,  74.8,   51.2
    Spark 1.0 x64                &#58;      4 (  1,  2,  1&#41;,  50.0 &#58;   +12.3, 127.9,   53.8
    DiscoCheck 5.2.1             &#58;     11 (  3,  6,  2&#41;,  54.5 &#58;   +20.9,  78.8,   60.5
    Cheng_4.39_x64               &#58;      9 (  2,  6,  1&#41;,  55.6 &#58;   +47.5,  84.7,   71.2
    Hakkapeliitta 3.0 x64        &#58;      9 (  3,  5,  1&#41;,  61.1 &#58;   +76.9,  81.4,   82.7
    Arasan_18_x64_popcnt         &#58;      8 (  3,  4,  1&#41;,  62.5 &#58;   +89.9,  97.6,   82.2
    SmarThink v1.7               &#58;     11 (  6,  4,  1&#41;,  72.7 &#58;  +183.6,  78.8,   99.0