Older Version Newer Version

GerdIsenberg GerdIsenberg Oct 2, 2016

**[[Home]] * [[Engines]] * Carballo**
|| [[image:313px-Storkeegen.jpg link="https://commons.wikimedia.org/wiki/File:Storkeegen.jpg"]] ||~ || **Carballo**,
an [[Open Source Engines|open source chess engine]] by [[Alberto Alonso Ruibal]], written in [[Java]], licensed under the [[Free Software Foundation#GPL|GNU General Public License]], and first released in 2009 <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=30361&start=4|Re: Carballo (Java UCI)]] by [[Alberto Alonso Ruibal]], [[CCC]], October 29, 2009</ref>. Carballo supports the [[UCI]] protocol, and a [[https://en.wikipedia.org/wiki/HTML5|HTML5]] based [[GUI]] dubbed [[Mobialia Chess]] <ref>[[http://www.mobialia.com/apps/chess/|Mobialia Chess - Mobialia]]</ref>, developed by [[Lukas Laag]] with the [[https://en.wikipedia.org/wiki/Google_Web_Toolkit|Google Web Toolkit]] (GWT) using the //Vectomatic SVG// library <ref>[[http://www.vectomatic.org/libs/lib-gwt-svg|lib-gwt-svg « vectomatic]]</ref> <ref>[[https://code.google.com/p/vectomatic/|vectomatic - standard dynamic 2D graphics in web browsers - Google Project Hosting]]</ref>. Carballo features [[Pondering|pondering]], a [[PolyGlot]] [[Opening Book|opening book]], and since version 1.2, [[Chess960]]. ||
|| Storkeegen <ref>[[https://da.wikipedia.org/wiki/Storkeegen|Storkeegen]] was (The last living branch on the tree died in 1981) an old [[https://en.wikipedia.org/wiki/Oak|oak]] ([[https://en.wikipedia.org/wiki/Quercus_robur|Quercus robur]]) in [[http://horns-herred.dk/page70.html|Nordskoven]], [[https://en.wikipedia.org/wiki/Hornsherred|Hornsherred]] near [[https://en.wikipedia.org/wiki/J%C3%A6gerspris|Jægerspris]] in the northern part of the island of [[https://en.wikipedia.org/wiki/Zealand|Zealand]], [[https://en.wikipedia.org/wiki/Denmark|Denmark]]. [[https://commons.wikimedia.org/wiki/File:Storkeegen.jpg|This drawing]] is by [[http://da.wikipedia.org/wiki/Axel_Schovelin|Axel Schovelin]] and printed in [[https://en.wikipedia.org/wiki/Troels_Frederik_Lund|Troels Frederik Troels-Lund]] (**1914**). //[[http://runeberg.org/dagligt/|Daglivt liv i Norden i det sekstende Aarhundrede]]//. Volume 1, 4th Edition, [[http://runeberg.org/dagligt/1/0079.html|Egen i Danmark, p. 27]], [[https://es.wikipedia.org/wiki/Roble|Roble - Wikipedia.es]] (Spanish), [[http://commons.wikimedia.org/wiki/Quercus_robur|Quercus robur]], [[https://en.wikipedia.org/wiki/Wikimedia_Commons|Wikimedia Commons]]</ref> ||~ ||^ ||
[[toc]]
=Etymology=
Carballo is actually a [[http://en.wikipedia.org/wiki/Galician_language|Galician]] word meaning [[http://en.wikipedia.org/wiki/Oak|oak]], it's all about [[Search Tree|search trees]] <ref>[[https://github.com/albertoruibal/carballo|albertoruibal/carballo · GitHub]]</ref>.

=Description=
<ref>[[https://github.com/albertoruibal/carballo/blob/master/readme.md|carballo/readme.md at master · albertoruibal/carballo · GitHub]]</ref>
==Board Representation==
Carballo is a [[Bitboards|bitboard]] engine and applies [[Magic Bitboards|magic bitboards]] to determine [[Sliding Piece Attacks|sliding piece attacks]]. [[Move Generation#Staged|Staged move generation]] along with [[Move Ordering|move ordering]] is controlled by an [[https://en.wikipedia.org/wiki/Iterator|iterator]] object which gets the next move during [[Search|search]], and uses [[Move Generation#Legal|legal move generation]]. This is so far implemented by [[Make Move|making]] and testing whether [[Pseudo-Legal Move|pseudo-legal moves]] leave the own king in [[Check|check]].

==Search==
The [[Search|search]] performs [[Alpha-Beta|alpha-beta]] [[Principal Variation Search|PVS]] inside the [[Iterative Deepening|iterative deepening]] loop with [[Aspiration Windows|aspiration windows]], utilizing a [[Transposition Table|transposition table]] also in [[Quiescence Search|quiescence]], verified and indexed by [[Zobrist Hashing|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|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)
* [[Reverse Futility Pruning|Static Null Move Pruning]]

==Evaluation==
The [[Evaluation|evaluation]] is designed to plug in various [[Evaluaton function|evaluaton functions]]. Available are a [[Simplified evaluation function|simplified evaluation function]], a sophisticated, complete evaluation function, an experimental one, and some dynamic for specialized endgames, such as a [[KPK]] [[Endgame Bitbases|bitbases]] <ref>[[https://github.com/albertoruibal/carballo/tree/master/core/src/main/java/com/alonsoruibal/chess/evaluation|carballo/core/src/main/java/com/alonsoruibal/chess/evaluation at master · albertoruibal/carballo · GitHub]]</ref>. Most important features are listed below. 

===Simplified===
* [[Material#Balance|Material Balance]]
* [[Piece-Square Tables]]

===Complete===
* [[Mobility]]
* [[Tapered Eval]]
* [[Pawn Structure]]
* [[King Safety]]
* [[Tempo|Tempo Bonus]]
* [[Trapped Pieces]]

=See also=
* [[Various Classifications#Geography|Geography]]
* [[Godot]]
* [[Mobialia Chess]]
* [[Various Classifications#Plants|Plants]]

=Forum Posts=
* [[http://www.talkchess.com/forum/viewtopic.php?t=30361|Carballo (Java UCI) by Alberto Alonso Ruibal]] by [[Christopher Conkie]], [[CCC]], October 28, 2009
> [[http://www.talkchess.com/forum/viewtopic.php?t=30361&start=4|Re: Carballo (Java UCI)]] by [[Alberto Alonso Ruibal]], [[CCC]], October 29, 2009
* [[http://www.talkchess.com/forum/viewtopic.php?t=38788|A new Carballo 0.5]] by [[http://www.talkchess.com/forum/profile.php?mode=viewprofile&u=881|Ruxy Sylwyka]], [[CCC]], April 19, 2011
* [[http://www.talkchess.com/forum/viewtopic.php?t=48528|Test Carballo 0.8 JA]] by [[Pedro Castro]], [[CCC]], July 03, 2013
* [[http://www.talkchess.com/forum/viewtopic.php?t=56014|Carballo 1.2 Gauntlet for CCRL 40/40]] by [[Graham Banks]], [[CCC]], April 15, 2015
* [[http://www.talkchess.com/forum/viewtopic.php?t=56244|Carballo 1.2 exe]] by Arnaud lohéac, [[CCC]], May 05, 2015
* [[http://www.talkchess.com/forum/viewtopic.php?t=57007|Carballo 1.3 is out]] by Arnaud lohéac, [[CCC]], July 18, 2015
* [[http://www.talkchess.com/forum/viewtopic.php?t=61579|Carballo Chess engines]] by Damir Desevac, [[CCC]], October 02, 2016

=External Links=
==Chess Engine==
* [[https://github.com/albertoruibal/carballo|albertoruibal/carballo · GitHub]]
* [[http://sourceforge.net/projects/carballo/|Carballo Chess Engine | SourceForge.net]]
* [[http://kirr.homeunix.org/chess/engines/Jim%20Ablett/CARBALLO/|Index of /chess/engines/Jim Ablett/CARBALLO]] by [[Jim Ablett]], hosted by [[Kirill Kryukov]]
* [[http://www.computerchess.org.uk/ccrl/404/cgi/compare_engines.cgi?family=Carballo&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents|Carballo]] in [[CCRL|CCRL 40/4]]
* [[http://www.computerchess.org.uk/ccrl/4040/cgi/compare_engines.cgi?family=Carballo&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents|Carballo]] in [[CCRL|CCRL 40/40]]
==Misc==
* [[https://en.wikipedia.org/wiki/Carballo_%28disambiguation%29|Carballo (disambiguation) from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Carballo|Carballo from Wikipedia]]
* [[http://flickrhivemind.net/Tags/carballo,oak/Interesting|The World's Best Photos of carballo and oak - Flickr Hive Mind]]
* [[http://serafincarballo.com/|Serafin Carballo]] con [[http://serafincarballo.com/bio.html|Abuña Jazz]],  [[https://en.wikipedia.org/wiki/YouTube|YouTube]] Video
> [[media type="youtube" key="ECuLY3T0-Oo" width="560"]]

=References= 
<references />
=What links here?= 
[[include page="Carballo" component="backlinks" limit="40"]]
**[[Engines|Up one Level]]**