Vajolet
Vajolet and Vajolet2,
are UCI compliant open source chess engines by Marco Belli, written in C++ and released under the GNU General Public License v3. Vajolet, named after the Vajolet Towers in the Dolomites, started its life in 2010 as C# engine [2]. When Marco worked through Stef Luijten's tutorial on Winglet, Writing a Chess Program in 99 Steps [3] [4], he rewrote Vajolet in C++ [5]. Vajolet 2.03 played the International Gsei Web Tournament 2013 and qualified for the final of 8 Italian and 8 non Italian engines, where it lost from iCE.
Contents
Vajolet2
Vajolet2, first released in May 2014, was another complete rewrite in C++11 [6]. Apparently, Texel's Tuning Method worked well for Vajolet2 [7].
Description
Board Representation
Vajolet2 is a bitboard engine and used a kindergarten like technique taken from Winglet [8] to determine sliding piece attacks with 32 KiB precalculated lookup tables[64][64] each on ranks, files, diagonals and anti-diagonals, indexed by square and hashed line occupancy - the inner six bits multiplied by a magic factor and shifted right by the strange looking 57, while 58 is more natural to ensure a six bit index range, but factors are designed that the most significant bit of the 64-bit product will be clear [9]. Since June 2016 with Vajolet2 2.2 sliding piece attacks are determined by Pradu Kannan's implementation of Magic Bitboards. Along with piece lists, Vajolet2 performs a staged legal move generation [10].
Search
The search uses C++ function templates to distinguish between pure alpha-beta and PVS, for the main search as well for quiescence. Vajolet2 2.1, released in January 2016, applies Lazy SMP [11]. The list of selectivity features is quite huge.
Selectivity
- Check Extensions
- Delta Pruning
- Futility Pruning
- History Leaf Pruning
- Late Move Reductions
- Late Move Pruning
- Mate Distance Pruning
- Mate Threat Extensions
- Multi–ProbCut
- Null Move Pruning
- Quiescence Search
- Razoring
- Restricted Singular Extensions
- SEE Pruning
- Sibling Prediction Pruning
- Static Null Move Pruning
Move Ordering
- Principal Variation Extraction
- Killer Heuristic
- History Heuristic
- Internal Iterative Deepening
- MVV-LVA
- Static Exchange Evaluation
Transposition Table
Evaluation
Pawn Structure
King Safety
Caches
Misc
- and more ...
Forum Posts
2010 ...
- Vajolet Chess Engine by Marco Belli, CCC, May 27, 2010
- Re: Test 071112 by Marco Belli, CCC, November 10, 2012
- vajolet 2.03 release by Marco Belli, CCC, May 12, 2013
- vajolet 2.48 released by Marco Belli, CCC, November 21, 2013
- floating point SSE eval by Marco Belli, CCC, December 13, 2013 » Evaluation, Float, Score
- where can I make my engine play against human? by Marco Belli, CCC, February 16, 2014
- Vajolet2 released by Marco Belli, CCC, March 29, 2014
- vajolet2 1.43 released by Marco Belli, CCC, July 22, 2014
- advanced tapered evalutation by Marco Belli, CCC, August 08, 2014 » SSE, Tapered Eval
- vajolet2 1.45 release by Marco Belli, CCC, August 15, 2014
2015 ...
- Vajolet2 2.0 released by Marco Belli, CCC, April 21, 2015
- Vajolet 2.1 released by Marco Belli, CCC, January 01, 2016
- Vajolet, new version 2.2 by Marco Belli, CCC, June 19, 2016
- vajolet2 2.3 release by Marco Belli, CCC, February 28, 2017
- Vajolet2 2.4 Release by Marco Belli, CCC, November 19, 2017
- Vajolet2 2.5 Release by Marco Belli, CCC, January 25, 2018
- Vajolet2 2.6 Release by Marco Belli, CCC, June 26, 2018
- Vajolet2 2.7 release by Marco Belli, CCC, April 03, 2019
- Vajolet2 2.8 release by Marco Belli, CCC, November 01, 2019
External Links
Chess Engine
- GitHub - elcabesa/vajolet
- vajolet chess engine - Google Project Hosting
- vajoletChess Blog
- Vajolet « G 6
- Vajolet in CCRL 40/40
- Vajolet in CCRL 40/4
Misc
- Vajolet Towers from Wikipedia
- Torri del Vajolet / Vajolet Towers : Climbing, Hiking & Mountaineering : SummitPost
- Vajolet Towers by Dietrich Belitz, July 29, 2004
- Rosengarten group from Wikipedia
References
- ↑ The Torri del Vaiolet in the Dolomites, Fassa Valley, Trentino, Italy, seen descending from the Rifugio Passo Santner. In the bottom at the right the Rifugio Re Alberto, Photo by Vincenzo Gianferrari Pini, August 8, 2000, Vajolet Towers from Wikipedia
- ↑ Vajolet Chess Engine by Marco Belli, CCC, May 27, 2010
- ↑ Winglet, Writing a Chess Program in 99 Steps by Stef Luijten, Wayback Machine
- ↑ Writing a chess program in xx steps by Stef Luijten, CCC, April 18, 2011
- ↑ Re: where to start chess programming? by Marco Belli, CCC, June 22, 2014
- ↑ Vajolet2 released by Marco Belli, CCC, March 29, 2014
- ↑ Re: Vajolet2 released by Marco Belli, CCC, March 31, 2014
- ↑ Writing a chess program in 99 steps - Move generation for sliding pieces by Stef Luijten, Wayback Machine
- ↑ see Macros RANKATTACKS, FILEATTACKS, SLIDEA8H1ATTACKS, SLIDEA1H8ATTACKS, etc. in vajolet2/source/browse/movegen.h, or inline functions attackFromRook and attackFromBishop in the more recent vajolet/source/browse/movegen.h
- ↑ first achievement: MOVE GENERATOR
- ↑ Vajolet 2.1 released by Marco Belli, CCC, January 01, 2016