Hint for ChessGUI users

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Hint for ChessGUI users

Post by jdart »

At least half of the ECO codes that ChessGUI puts into its PGN files are wrong. The ones that are wrong are often far off from the right ones.

If you want to fix this (and ChessGUI won't because the author has discontinued the project), you can use pgn-extract (https://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/).

The -e switch will add or replace ECO codes in a PGN file. For this to work you need the eco.pgn file that comes with pgn-extract in the same directory as pgn-extract. So you'd do something like:

pgn-extract -e badfile.pgn > goodfile.pgn

ChessBase can set ECO codes too but it costs, and pgn-extract is free.

--Jon
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Hint for ChessGUI users

Post by Matthias Gemuh »

Replacing EcoList.txt in the GUI_DATA folder may help if ithe ECOs are indeed wrong. :roll:

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
Graham Banks
Posts: 41423
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Hint for ChessGUI users

Post by Graham Banks »

Matthias Gemuh wrote:Replacing EcoList.txt in the GUI_DATA folder may help if ithe ECOs are indeed wrong. :roll:

Matthias.
Don't be so down on yourself for any faults there may be with ChessGUI.
It is still a fantastic piece of work. :)

Perhaps Jon can amend the file and make it available.
gbanksnz at gmail.com
Modern Times
Posts: 3546
Joined: Thu Jun 07, 2012 11:02 pm

Re: Hint for ChessGUI users

Post by Modern Times »

Good to know thanks. The CCRL scripts use pgn-extract to assign the ECO codes regardless of what any of the GUIs may record.
User avatar
hgm
Posts: 27793
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Hint for ChessGUI users

Post by hgm »

What is the point of ECO codes anyway? Is this purely a database thing, so that people can more easily look for games with a specific opening?

What is the algorithm for assigning ECO codes? Is there an official book that assigns codes to positions, and should a game be classified as the latest position occurring in it that was still in that book?

WinBoard currently does not assign ECO codes, but it can handle opening book. So it would be relatively easy to give it a second, specially prepared book to probe it for retrieving ECO codes. E.g. the book could contain the ECO code of the position instead of the move.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Hint for ChessGUI users

Post by Matthias Gemuh »

Graham Banks wrote: Don't be so down on yourself for any faults there may be with ChessGUI.
It is still a fantastic piece of work. :)

Perhaps Jon can amend the file and make it available.
No problem, Graham. :wink:

I do not remember from where I got my ECO list, but it seems to agree with http://chess-db.com/public/research/eco_names.htm
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
Ajedrecista
Posts: 1968
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: Hint for ChessGUI users.

Post by Ajedrecista »

Hello:
hgm wrote:What is the algorithm for assigning ECO codes? Is there an official book that assigns codes to positions, and should a game be classified as the latest position occurring in it that was still in that book?
I have no idea about that algorithm. However, I know that there are some ECO lists but they are not official. I have one that I think it comes from Arena GUI:

Code: Select all

*Version=1.17
*Author= Christopher Conkie, E-mail: DELETED FOR AVOIDING SPAM
{A00   Anderssen Opening}1.a3
{A00   Creepy Crawly (Basman) Opening }1.a3 e5 2.h3 d5
{A00   Ware (Meadow Hay) Opening}1.a4
{A00   Crab Opening}1.a4 e5 2.h4
{A00   Durkin's Attack}1.Na3
{A00   Dunst (Sleipner-Heinrichsen-Van Geet) Opening}1.Nc3
{A00   Dunst (Sleipner-Heinrichsen-Van Geet) Opening: 1...Nf6}1.Nc3 Nf6
{A00   Dunst (Sleipner-Heinrichsen-Van Geet) Opening: 1...Nf6 2.Nf3}1.Nc3 Nf6 2.Nf3
{A00   Dunst (Sleipner-Heinrichsen-Van Geet) Opening: Tübingen Gambit}1.Nc3 Nf6 2.g4
{A00   Dunst (Sleipner-Heinrichsen-Van Geet) Opening: 1...e5}1.Nc3 e5
{A00   Dunst (Sleipner-Heinrichsen-Van Geet) Opening: 1...e5 2.Nf3}1.Nc3 e5 2.Nf3
{A00   Battambang Opening}1.Nc3 e5 2. a3

[...]

{E99   King's Indian: Mar del Plata, 10.f3 f5 11.Be3 f4}1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O Nc6 8.d5 Ne7 9.Ne1 Nd7 10.f3 f5 11.Be3 f4
{E99   King's Indian: Mar del Plata, 10.f3 f5 11.Be3 f4 12.Bf2 g5}1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O Nc6 8.d5 Ne7 9.Ne1 Nd7 10.f3 f5 11.Be3 f4 12.Bf2 g5
{E99   King's Indian: Mar del Plata, 10.f3 f5 11.Be3 f4 12.Bf2 g5 13.a4}1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O Nc6 8.d5 Ne7 9.Ne1 Nd7 10.f3 f5 11.Be3 f4 12.Bf2 g5 13.a4
{E99   King's Indian: Mar del Plata, 10.f3 f5 11.Be3 f4 12.Bf2 g5 13.a4 Ng6}1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O Nc6 8.d5 Ne7 9.Ne1 Nd7 10.f3 f5 11.Be3 f4 12.Bf2 g5 13.a4 Ng6
{E99   King's Indian: Mar del Plata, Benko Attack}1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O Nc6 8.d5 Ne7 9.Ne1 Nd7 10.f3 f5 11.g4
{E99   King's Indian: Mar del Plata, Benko Attack, 11...Kh8}1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O Nc6 8.d5 Ne7 9.Ne1 Nd7 10.f3 f5 11.g4 Kh8
{E99   King's Indian: Mar del Plata, Benko Attack, 11...Nf6}1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O Nc6 8.d5 Ne7 9.Ne1 Nd7 10.f3 f5 11.g4 Nf6
{E99   King's Indian: Mar del Plata, Benko Attack, 11...Nf6 12.Nd3}1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O Nc6 8.d5 Ne7 9.Ne1 Nd7 10.f3 f5 11.g4 Nf6 12.Nd3
I am sure that you are aware of this list. The full one has around 10400 lines (circa 1.03 MB in TXT extension) so I do not post it; there is a shorter version by the way. From my little experience with Arena, I have seen that ECO codes change dinamically with the moves, that is, that without opening book you can see a French defence and at some point (move 10 or 12, for example) black plays ..., c6 and ECO code switch to Caro-Kann, but I would say that it is correct most of the times (reminder: from my little expreience).

Regards from Spain.

Ajedrecista.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Hint for ChessGUI users

Post by Matthias Gemuh »

hgm wrote:..., and should a game be classified as the latest position occurring in it that was still in that book?

...
ChessGUI does it that way, or at least that was the intent.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
Nordlandia
Posts: 2821
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: Hint for ChessGUI users

Post by Nordlandia »

There is currently one annoying issue in the chessbase gui:

In case you run analysis on 100% cpu time, new moves in the annotation panel it freeze the whole computer for 2-4 seconds.
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Hint for ChessGUI users

Post by jdart »

The usual algorithm is to match the game to known positions that in turn are mapped to ECO codes, with the intent that the deepest position in the game that matches a known position is the best match.

I have a mapping file for Arasan that gets translated into a cpp file and
compiled in: https://github.com/jdart1/arasan-chess/ ... r/book/eco. It is not too bad but I am sure it is not perfect. I fix it periodically if I find errors.

Originally ECO was a set of hardbound books and each section had a different set of openings. Sometimes the sections were based on a "not" move .. for example a start position and any move except Be3 (which might be in the next section). I haven't seen any software that captures this rule.

In any case ECO classification is imperfect due to transpositions. There are a few openings that are notorious for being able to be classified multiple ways (IIRC Semi-Tarrasch D41 is one - it can be reached via multiple move orders and may be classified different ways depending on the order). Even ChessBase is inconsistent about assigning codes in some of these positions. I can live with that. What I find annoying though is classifications that are just way wrong. For example:

1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Bb7 5. Bg2 c5 6. d5 exd5 7. Nh4 g6 8. Nc3 Bg7 9. O-O d6

was classified A63 (Benoni) but this is a fairly standard position from E16 (QID).

--Jon