The game was played as an A17 English defence 1. c4 Nf6 2. Nc3 e6, an opening having high popularity in the 70’s, but not played often at top level nowadays. In a B+R vs N+R and pawns on the board, Equinox went for a passer on the a-file. Gaviota rightly estimated that the knight was enough to defend this endgame, and accepted the play. The two engines “shook hands” for a draw on move 64. Scroll down to replay the game.
More about Gaviota
Gaviota (Spanish word for Seagull) is a chess engine available for Windows, Linux, and Android, written and managed by Miguel Ballicora. The code has been written as portable as possible, so Gaviota could easily support other OS in the future.
Gaviota is only an engine, so it needs to be plugged to a proper chess GUI. Current version fully supports the latest Winboard/Xboard with all its new features. For instance, if you use Winboard or Xboard, you can configure the engine options directly from the graphical interface. Thus, Gaviota can be used with any graphic interface that follows the Chess Engine Communication Protocol, also known as Winboard protocol.
Gaviota has its own book, learning, endgame table bases, and can use up to sixteen processors or cores (SMP). Considering its multiprocessing abilities, the full name for versions 0.74 and up could be Bandada de Gaviotas (Seagull Flock).
The current version of Gaviota that held Equinox for a draw is 0.86. To understand the huge work behind an engine, here is the change log from version 0.85 to 0.86.
v0.86: changes compared to v0.85.1
54 files changed, 3580 insertions(+), 2412 deletions(-)
Changes affecting strength
- History heuristics modified: A “capacitor-like” system is used for aging values
- Nullmove search results is stored in hash tables.
- Hash table moves, when there is a hit, are properly restored as killers
- Threat move structure implemented, used for ordering quiet moves (escape from)
- Margin for “leaf forward pruning” adjusted.
- LMR criteria modified (more aggressive, reduction=2 for very late moves)
- Rook piece square tables implemented and tuned
- Allow hashtable cutoffs in PV (back)
- Search at root was re-structured and cleaned up
- Rook trapped code fixed
- Implement pawn PSTs
- King safety and attack pressure redesigned
- King in endgame evaluation modified
- Futility extended to five plies, rather than four
- Specialized evaluation and search for KQKR positions
- Hash has been specialized for pawnless positions
- To allow nullmove: not pawnless positions, and several pieces needed
- Margins of futility varies with move count, values tuned
- Tapered evaluation for pawn structure (values tuned for opening and endgame)
Bug fixes and features
- Output of PVs in UCI was fixed
- Delay RAM initialization until “isready” UCI command
- Fix bug, aliasing of a variable did not allow to initialize Hash in UCI with new compiler switches (reported by Clemens Keck)
- Update gtb-probe code with some warning silencing (v0.4.5)
- Long PVs until checkmate, when an endgame tablebase checkmate is reported
- Command “set” implemented to vary some internal parameters
- Modify UCI output, PV isolated in one line (improvement on certain GUIs)
- Fix bug when picking moves that were previous killers
- Fix bugs in KPK internal bitbase
- Fix empty PVs not reported in UCI