From Chessprogramming wiki
Jump to: navigation, search

Home * Knowledge * Opening Book * ECO

Encyclopaedia of Chess Openings, (ECO)
a de facto standard of a classification system for chess openings, established by Chess Informant since 1966, using a coding system that has been widely-used and adopted by other chess publications, chess programs, databases and GUIs. There are five main categories, "A" to "E", which are divided into one hundred subcategories each, in total 500 from A00 to E99. ECO code is a registered trademark of Chess Informant [1] .

Main Classifications


ECO codes are defined by halfmove sequences from the initial position with non-uniform length or depth of one to 28 plies [2] . The position reached after that move sequence associates the ECO code. Depending on the particular opening and its classification granulation and depth, the ECO assignment may change during the course of the opening from halfmove to halfmove to more specific classified ECO codes until it sticks with the final assessment. However, due to transpositions, even into color flipped positions, ambiguity manifests in different implementations of chess engines, databases and GUIs. As pointed out by Gregor Cramer, ChessBase assigns "1.f4 e5 2.d4" to A02, and "1.d4 e5 2.f4" to A40, but Scidb assigns both lines to A02 [3] . Since there are zillions of transpositions f.i. between Scandinavian gambit B01, Caro Kann B13, B14, Symmetrical English A35, and Queens Gambit D26, D40, ..., the following position has ambiguous ECO assignments. How should it be classified? Depending on the sequence of moves reaching it?

    
    
    
    
    
    
    
    
  
   
      
      
   
  
♜ ♝♛♚♝ ♜
♟♟   ♟♟♟
  ♞ ♟   
  ♘  ♘  
♙♙   ♙♙♙
♖ ♗♕♔♗ ♖

r1bqkb1r/pp3ppp/2n1p3/3n4/3P4/2N2N2/PP3PPP/R1BQKB1R w KQkq -
Four of many possible move sequences to reach the same position:

1.e4 d5 2.exd5 Nf6 3.c4 c6 4.d4 cxd5 5.Nc3 Nc6 6.Nf3 e6 7.cxd5 Nxd5
1.e4 c6 2.d4 d5 3.exd5 cxd5 4.c4 e6 5.Nf3 Nf6 6.cxd5 Nxd5 7.Nc3 Nc6
1.d4 d5 2.c4 e6 3.Nc3 Nf6 4.Nf3 c5 5.cxd5 Nxd5 6.e3 cxd4 7.exd4 Nc6
1.c4 c5 2.Nc3 Nf6 3.Nf3 Nc6 4.e3 e6 5.d4 cxd4 6.exd4 d5 7.cxd5 Nxd5

Sample Implementation

The book identification code of the opening book in IsiChess (commercial DOS version) had all book lines defined in a PGN-like textfile with a descriptive name and ECO code associated, much more than the 500 determinative ECO lines and full of transpositions, merged into an opening tree similar to a persistent transposition table indexed by the Zobrist key, keeping not only a list of possible moves from the current position, but also a list of different predecessor moves aka indices to the different opening lines. Its book editor has not only an opening tree view, but also a list view of opening lines where multiple lines with different last moves and possibly ECO codes may appear, leading to the current position.

See also

Forum Posts

1998 ...

2000 ...

2010 ...

External Links


Up one level