Algebraic Chess Notation
Home *Chess *Game *Notation * Algebraic Chess Notation
Algebraic Chess Notation is a chess notation to record and representmoves of ahuman readablegame notation. It is based on a system developed byPhilipp Stamma to notate thetarget square byalgebraic coordinates, and various forms to represent theorigin square of the move, either by language dependentpiece initials and/orfile,rank- orsquare notation of the from- or origin square.Promotions must be disambiguated by including the promoted piece type, andcastling usually has their own symbol strings ('O-O', 'O-O-O'). Some format variations also specify acaptured piece, if any, for the purpose to make the notation reversible, and to go backward as easy as forward while re-playing a game.
Contents
Sequence of Moves
Chess programs need to convert thelist ofencoded moves into a sequence of printable strings, or to render them inside anotation window. The move number of the game, starting by '1.' from theinitial position, is prefix of the white halfmove, followed by a the black reply, often in a second column of a grid view. If a move notation starts with Black, also after embedded comments or annotations, a trailingellipsis is used instead of a single dot.
<move> ::= <move number><move descriptor><move number> ::= <digit>[<digit>...]{'.' | '...'}Modern chess programs, and theirgraphical user interface often support various modes to represent all kinds of game and move notations. Regardinginput of moves from auser interface, or reading moves from text files, programs needs to parse strings accordantly.
Pure coordinate notation
Considering the common From-Tomove encoding inside a chess program, pure coordinate notation is a straight-forward chess notation to use only algebraic From- and To-coordinates. This notation omits any machine redundant piece letters for the moving and/or capturing pieces, and only has to specify the promoted piece as trailingletter in case ofpromotions.
<move descriptor> ::= <from square><to square>[<promoted to>]<square> ::= <file letter><rank number><file letter> ::= 'a'|'b'|'c'|'d'|'e'|'f'|'g'|'h'<rank number> ::= '1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'<promoted to> ::= 'q'|'r'|'b'|'n'
Pure algebraic coordinate notation was often used in early microcomputer chess programs, sometimes even with capital file letters. Some programs used a hyphen or 'x' delimiter between the coordinate substrings to distinguishquiet moves fromcaptures in move outputs. While not common in human chess notation, pure coordinate notation has the advantage to avoid any ambiguity and is further easy convertible from a move list without the need of retrieving information from internalboard representations, (i.e. whichpieces occupy which squares). Evencastling was often written as E1G1 or E1C1 instead of 'O-O' or 'O-O-O'.
XBoard
Per default, theChess Engine Communication Protocol requires pure algebraic coordinate notation without from-to delimiters as input and output move format[1] .
UCI
TheUCI communication protocol requirespure algebraic coordinate notation without from-to delimiters as well. Inside its specification the UCI move format is called "long algebraic notation"[2] , which might be considered slightly incorrect concerning leading piece character and dash or hyphen between from- and to coordinates, see LAN definition below.
Output Samples
| 8080 Chess Display[3] | Kempelenmove list[4] |
ICCF numeric notation
The language independentICCF numeric notation as used inCorrespondence chess is a numerical pure coordinate notation, giving coordinates by two digits (File '1'-'8) rather than letters ('a'-'h') for the file. In case of promotions a fifth trailing digit is used: '1' for queen, '2' for rook, '3' for bishop and '4' for knight.
Smith Notation
The Smith notation designed byWarren D. Smith[5], as used in theInternet Chess Club chess server, encodes moves with from-square, to-square, and to make it reversible, so it is as easy to go backwards in a game as forwards, what piece was captured, if any ('E' forEn passant, the redundant 'c' and 'C' indicate king- or queen sidecastling):
<Smith move descriptor> ::= <from square><to square>[<capture indicator>][<promoted to>]<capture indicator> ::= 'p' | 'n' | 'b' | 'r' | 'q' | 'k' | 'E' | 'c' | 'C'
Long Algebraic Notation (LAN)
Beside the already sufficient and unambiguous pure origin- and target-coordinates, LAN uses a leading redundant, national dependent uppercasepiece letter or figurine piece symbol of the moving piece usually other than apawn, to represent the move, which makes it morehuman readable and compatible with SAN anddesciptive notation. However, for chess programs using pure from-to move encoding, converting the move list to LAN already requires a board representation in sync with the leading moves already played, to lookup the piece on the board.
<LAN move descriptor piece moves> ::= <Piece symbol><from square>['-'|'x']<to square><LAN move descriptor pawn moves> ::= <from square>['-'|'x']<to square>[<promoted to>]<Piece symbol> ::= 'N' | 'B' | 'R' | 'Q' | 'K'
English symbolsKnight,Bishop,Rook,Queen andKing.
| Aart Bik'sChess for Android, G1 version with LAN representation[6] |
Standard Algebraic Notation (SAN)
Standard algebraic notation (SAN) is the official notation of theFIDE which must be used in all recognized international competition involving human players[7] . Concerning computer chess, SAN is a representation standard for chess moves inside thePortable Game Notation standard using theASCIILatin alphabet[8], and should be supported as default notation by all modern chess programs and their user interfaces[9].
| Aart Bik'sChess for Android, latest version in SAN mode[10] |
While otherwise similar to LAN, SAN suppresses redundant information concerning the from-square, while keeping the descriptive letter or symbol of pieces other than a pawn. SAN further suppresses the from-to hyphen, and in some variations also the capture indicator 'x' (or ':').
<SAN move descriptor piece moves> ::= <Piece symbol>[<from file>|<from rank>|<from square>]['x']<to square><SAN move descriptor pawn captures> ::= <from file>[<from rank>] 'x' <to square>[<promoted to>]<SAN move descriptor pawn push> ::= <to square>[<promoted to>]
Ambiguities
If the piece is sufficient to unambiguously determine the origin square, the whole from square is omitted. Otherwise, if two (or more) pieces of the same kind can move to the same square, the piece's initial is followed by (in descending order of preference)
- file of departure if different
- rank of departure if the files are the same but the ranks differ
- the complete origin square coordinate otherwise
Captures
Captures are denoted by the lower case letter "x" immediately prior to the destination square. Pawn captures with the omitted piece symbol, include the file letter of the originating square of the capturing pawn prior to the "x" character, even if not required for unambiguousness. Some SAN variations in printed media even omit the target rank if unambiguous, like dxe, which might not be accepted as input format.
En passant
The PGN-Standard does not requireEn passant captures have any special notation, and is written as if the captured pawn were on the capturing pawn's destination square.FIDE states the redundant move suffix "e.p." optional (after 1 July 2014)[11].
In the case of an ‘en passant’ capture, ‘e.p.’ may be appended to the notation.
Pawn promotion
Apawn promotion requires the information about the chosen piece, appended as trailing Piece letter behind the target square. The SAN PGN-Standard requires an equal sign ('=') immediately following the destination square.
Castling
Castling is indicated by the special notations, "O-O" for kingside castling and "O-O-O" for queenside castling. While the FIDE handbook[12] uses the digit zero, the SAN PGN-Standard requires the capital letter 'O' for its export format.
Converting Moves
Due to the most compact representation, considering ambiguities concerning the origin square, converting moves with pure from- and to-squares to SAN requires not only an underlying board representation to determine piece initials, but alsolegal move generation for a subset of moves to the destination square.Pseudo legal, butillegal moves for instance with aPinned piece must not be considered in ambiguous issues in an export format.
XBoard 2
With theChess Engine Communication Protocol version 2, one can use the feature command to select SAN as move format for both input and output[13] .
Figurine Algebraic Notation (FAN)
Figurine notation uses miniature piece icons instead of single letter piece abbreviations. This enables the moves to be read independent of the language. TheUnicodeMiscellaneous Symbols set includes all of thesymbols necessary for FAN if appropriatefonts were installed on the computer[14] .Chess GUIs may alternatively useScalable Vector Graphics or other scalable 2DVector Graphics to render the symbols inside their views.
Vector Graphics
| IsiChess, notation window with figurine LAN, using 2DVector Graphics, seesample code |
LaTeX
| FAN inLaTeX[15] |
Reading Chess
In an attempt ofComputer vision,Henry S. Baird andKen Thompson usedoptical character recognition along with various heuristics and applying the rules of chess, to "read" the figurine notation from Informant'sEncyclopaedia of Chess Openings with high accuracy and a success rate of 99.995% on approximately one million characters (2850 games, 945 pages)[16] .
See also
Publications
- Henry S. Baird,Ken Thompson (1990).Reading Chess.IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 12, No. 6,pdf
- Michel Goossens,Frank Mittelbach,Sebastian Rahtz,Denis Roegel,Herbert Voß (2007).The LATEXGraphics Companion. Second Edition, Addison-Wesley, ISBN-13: 978-0-321-50892-8,sample pdf, 10.1 Chess, 10.2 Xiangqi—Chinese Chess[17]
Forum Posts
2000 ...
- correct SAN notation ? byAndreas Herrmann,CCC, December 19, 2002
- Crafty (under winboard) question byAndrei Fortuna,CCC, December 21, 2003 »WinBoard
2010 ...
- SAN Move Disambiguation -- looking for test positition by humble programmer,CCC, April 12, 2010 »PGN
- Unicode values for chessmen bySteven Edwards,CCC, March 07, 2011
- Determining From squares by David Whitten,CCC, December 04, 2011
- What world have I been in - castling notation? by Lonnie Cook,CCC, September 13, 2014
- SAN test position byMatthew Lai,CCC, September 11, 2016 »SAN
- WAC using coordinate notation? byErin Dame,CCC, September 17, 2017 »Pure coordinate notation,Win at Chess
2020 ...
- Optimised Algebraic Notation by Dmitry Shechtman,CCC, November 29, 2021
External Links
- Algebraic chess notation from Wikipedia
- Desciptive notation from Wikipedia
- Punctuation (chess) from Wikipedia
- Chess symbols in Unicode from Wikipedia
- Standard: Portable Game Notation Specification and Implementation Guide bySteven Edwards - 8.2.3: Movetext SAN (Standard Algebraic Notation)
- SAN Kit: Implemented Standards for Chess Move Notation bySteven Edwards
- FIDE handbook, Laws of Chess - Appendix C. Algebraic notation
- Smith notation (Wayback Machine)
References
- ↑Chess Engine Communication Protocol: 8. Commands from xboard to the engine
- ↑The UCI Specification
- ↑Processor Technology 8080 CHESS User's Manual.pdf,pdf
- ↑Kempelen Chess from Sierra Online fromThe Spacious Mind
- ↑Smith notation (Wayback Machine)
- ↑Aart's Android Page
- ↑FIDE handbook, Laws of Chess - Appendix C. Algebraic notation
- ↑Standard: Portable Game Notation Specification and Implementation Guide bySteven Edwards - 8.2.3: Movetext SAN (Standard Algebraic Notation)
- ↑SAN Kit: Implemented Standards for Chess Move Notation bySteven Edwards
- ↑Aart's Android Page
- ↑FIDE handbook, Laws of Chess - Appendix C. Algebraic notation, C-9
- ↑FIDE handbook, Laws of Chess - Appendix C. Algebraic notation - C.13 Abbreviations
- ↑Chess Engine Communication Protocol: 9. Commands from the engine to xboard
- ↑Unicode values for chessmen bySteven Edwards,CCC, March 07, 2011
- ↑Michel Goossens,Frank Mittelbach,Sebastian Rahtz,Denis Roegel,Herbert Voß (2007).The LATEXGraphics Companion. Second Edition, Addison-Wesley, ISBN-13: 978-0-321-50892-8,sample pdf, 10.1 Chess, 10.2 Xiangqi—Chinese Chess
- ↑Henry S. Baird,Ken Thompson (1990).Reading Chess.IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 12, No. 6,pdf
- ↑LaTeX from Wikipedia




