Carballo
Carballo,
an open source chess engine by Alberto Alonso Ruibal, written in Java,
licensed under the GNU General Public License, and first released in 2009 [2].
Carballo supports the UCI protocol, and a HTML5 based GUI dubbed Mobialia Chess [3], developed by Lukas Laag with the Google Web Toolkit (GWT) using the Vectomatic SVG library [4] [5].
Carballo features pondering, a PolyGlot opening book, and since version 1.2, Chess960. Karballo is a Kotlin version of Carballo [6] [7].
Contents
Etymology
Carballo is actually a Galician word meaning oak, it's all about search trees [8].
Description
Board Representation
Carballo is a bitboard engine and applies magic bitboards to determine sliding piece attacks. Staged move generation along with move ordering is controlled by an iterator object which gets the next move during search, and uses legal move generation. This is so far implemented by making and testing whether pseudo-legal moves leave the own king in check.
Search
The search performs alpha-beta PVS inside the iterative deepening loop with aspiration windows, utilizing a transposition table also in quiescence, verified and indexed by Zobrist Keys. Selectivity considers the wide range of state of the art techniques.
Move Ordering
- History Heuristic
- Internal Iterative Deepening
- Killer Heuristic (4 Slots)
- MVV-LVA
- Principal Variation Extraction from TT
- Static Exchange Evaluation (SEE)
Selectivity
- Check Extensions (SEE >= 0)
- Futility Pruning
- Late Move Reductions
- Mate Distance Pruning
- Mate Threat Extensions
- Null Move Pruning
- Passed Pawn Extensions
- Razoring
- Quiescence Search (SEE >= 0)
- Static Null Move Pruning
Evaluation
The evaluation is designed to plug in various evaluaton functions. Available are a simplified evaluation function, a sophisticated, complete evaluation function, an experimental one, and some dynamic for specialized endgames, such as a KPK bitbases [10]. Most important features are listed below.
Simplified
Complete
See also
Postings
2009
- Carballo (Java UCI) by Alberto Alonso Ruibal by Christopher Conkie, CCC, October 28, 2009
- Re: Carballo (Java UCI) by Alberto Alonso Ruibal, CCC, October 29, 2009
2010 ...
- A new Carballo 0.5 by Ruxy Sylwyka, CCC, April 19, 2011
- Test Carballo 0.8 JA by Pedro Castro, CCC, July 03, 2013
- Carballo 1.2 Gauntlet for CCRL 40/40 by Graham Banks, CCC, April 15, 2015
- Carballo 1.2 exe by Arnaud lohéac, CCC, May 05, 2015
- Carballo 1.3 is out by Arnaud lohéac, CCC, July 18, 2015
- Carballo Chess engines by Damir Desevac, CCC, October 02, 2016
- Converting Carballo to Kotlin by Alberto Alonso Ruibal, April 02, 2017
External Links
Chess Engine
- albertoruibal/carballo · GitHub
- Carballo Chess Engine | SourceForge.net
- Index of /chess/engines/Jim Ablett/CARBALLO by Jim Ablett, hosted by Kirill Kryukov
- Carballo in CCRL Blitz
- Carballo in CCRL 40/15
Misc
- Carballo (disambiguation) from Wikipedia
- Carballo from Wikipedia
- Serafin Carballo con Abuña Jazz, YouTube Video
References
- ↑ Storkeegen was (The last living branch on the tree died in 1981) an old oak (Quercus robur) in Nordskoven, Hornsherred near Jægerspris in the northern part of the island of Zealand, Denmark. This drawing is by Axel Schovelin and printed in Troels Frederik Troels-Lund (1914). Daglivt liv i Norden i det sekstende Aarhundrede. Volume 1, 4th Edition, Egen i Danmark, p. 27, Roble - Wikipedia.es (Spanish), Quercus robur, Wikimedia Commons
- ↑ Re: Carballo (Java UCI) by Alberto Alonso Ruibal, CCC, October 29, 2009
- ↑ Mobialia Chess - Mobialia
- ↑ lib-gwt-svg « vectomatic
- ↑ vectomatic - standard dynamic 2D graphics in web browsers - Google Project Hosting
- ↑ GitHub - albertoruibal/karballo: A Kotlin Chess Engine
- ↑ Converting Carballo to Kotlin by Alberto Alonso Ruibal, April 02, 2017
- ↑ albertoruibal/carballo · GitHub
- ↑ carballo/readme.md at master · albertoruibal/carballo · GitHub
- ↑ carballo/core/src/main/java/com/alonsoruibal/chess/evaluation at master · albertoruibal/carballo · GitHub