Older Version Newer Version

GerdIsenberg GerdIsenberg Jan 25, 2018

**[[Home]] * [[Engines]] * Vajolet**
|| [[image:320px-Torri_del_Vaiolet.JPG link="http://en.wikipedia.org/wiki/File:Torri_del_Vaiolet.JPG"]] ||~ || **Vajolet** and **Vajolet2**,
are [[UCI]] compliant [[Open Source Engines|open source chess engines]] by [[Marco Belli]], written in [[Cpp|C++]] and released under the [[Free Software Foundation#GPL|GNU General Public License v3]]. Vajolet, named after the [[https://en.wikipedia.org/wiki/Vajolet_Towers|Vajolet Towers]] in the [[https://en.wikipedia.org/wiki/Dolomites|Dolomites]], started its life in 2010 as [[C sharp|C#]] engine <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=34545|Vajolet Chess Engine]] by [[Marco Belli]], [[CCC]], May 27, 2010</ref>. When Marco worked through [[Stef Luijten|Stef Luijten's]] tutorial on [[Winglet]], //Writing a Chess Program in 99 Steps// <ref>[[http://web.archive.org/web/20120621100214/http://www.sluijten.com/winglet/|Winglet, Writing a Chess Program in 99 Steps]] by [[Stef Luijten]], [[http://en.wikipedia.org/wiki/Wayback_Machine|Wayback Machine]]</ref> <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=38787|Writing a chess program in xx steps]] by [[Stef Luijten]], [[CCC]], April 18, 2011</ref>, he rewrote Vajolet in [[Cpp|C++]] <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=52709&start=18|Re: where to start chess programming?]] by [[Marco Belli]], [[CCC]], June 22, 2014</ref>. Vajolet 2.03 played the [[IGWT 2013|International Gsei Web Tournament 2013]] and qualified for the final of 8 Italian and 8 non Italian engines, where it lost from [[iCE]]. ||
|| [[https://en.wikipedia.org/wiki/Vajolet_Towers|Vajolet Towers]] <ref>The Torri del Vaiolet in the [[https://en.wikipedia.org/wiki/Dolomites|Dolomites]], [[https://en.wikipedia.org/w/index.php?title=Fassa_Valley|Fassa Valley]], [[https://en.wikipedia.org/wiki/Trentino|Trentino]], [[https://en.wikipedia.org/wiki/Italy|Italy]], seen descending from the [[https://it.wikipedia.org/wiki/Rifugio_Passo_Santner|Rifugio Passo Santner]]. In the bottom at the right the [[https://it.wikipedia.org/wiki/Rifugio_Re_Alberto|Rifugio Re Alberto]], Photo by [[http://commons.wikimedia.org/wiki/User:Vincenzo_Gianferrari_Pini|Vincenzo Gianferrari Pini]], August 8, 2000, [[https://en.wikipedia.org/wiki/Vajolet_Towers|Vajolet Towers from Wikipedia]]</ref> ||~ ||^ ||
[[toc]]
=Vajolet2=
[[#2]]**Vajolet2**, first released in May 2014, was another complete rewrite in [[Cpp#11|C++11]] <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=51786|Vajolet2 released]] by [[Marco Belli]], [[CCC]], March 29, 2014</ref>. Apparently,  [[Texel's Tuning Method]] worked well for Vajolet2 <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=51786&start=22|Re: Vajolet2 released]] by [[Marco Belli]], [[CCC]], March 31, 2014</ref>.

=Description= 
==Board Representation==
Vajolet2 is a [[Bitboards|bitboard]] engine and used a [[Kindergarten Bitboards|kindergarten like]] technique taken from [[Winglet]] <ref>[[http://web.archive.org/web/20120621060943/http://www.sluijten.com/winglet/11movegen03.htm#Move_generation_for_sliding_pieces_-_magic_bitboards_|Writing a chess program in 99 steps - Move generation for sliding pieces]] by [[Stef Luijten]], [[http://en.wikipedia.org/wiki/Wayback_Machine|Wayback Machine]]</ref> to determine [[Sliding Piece Attacks|sliding piece attacks]] with 32 [[https://en.wikipedia.org/wiki/Kibibyte|KiB]] precalculated lookup tables[64][64] each on [[Ranks|ranks]], [[Files|files]], [[Diagonals|diagonals]] and [[Anti-Diagonals|anti-diagonals]], indexed by [[Squares|square]] and hashed line [[Occupancy|occupancy]] - the [[First Rank Attacks#TheOuterSquares|inner six bits]] multiplied by a [[Magic Bitboards|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 <ref>see Macros RANKATTACKS, FILEATTACKS, SLIDEA8H1ATTACKS, SLIDEA1H8ATTACKS, etc. in [[https://code.google.com/p/vajolet2/source/browse/movegen.h|vajolet2/source/browse/movegen.h]], or inline functions attackFromRook and attackFromBishop in the more recent [[https://code.google.com/p/vajolet/source/browse/movegen.h|vajolet/source/browse/movegen.h]]</ref>. Since June 2016 with Vajolet2 2.2 [[Sliding Piece Attacks|sliding piece attacks]] are determined by [[Pradu Kannan|Pradu Kannan's]] implementation of [[Magic Bitboards]]. Along with [[Piece-Lists|piece lists]], Vajolet2 performs a [[Move Generation#Staged|staged]] [[Move Generation#Legal|legal move generation]] <ref>[[http://vajoletchess.blogspot.it/2013/11/first-achievement-move-generator.html|first achievement: MOVE GENERATOR]]</ref>. 

==Search== 
The [[Search|search]] uses C++ [[https://en.wikipedia.org/wiki/Template_%28C%2B%2B%29#Function_templates|function templates]] to distinguish between pure [[Alpha-Beta|alpha-beta]] and [[Principal Variation Search|PVS]], for the main search as well for [[Quiescence Search|quiescence]]. Vajolet2 2.1, released in January 2016, applies [[Lazy SMP]] <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=58762|Vajolet 2.1 released]] by [[Marco Belli]], [[CCC]], January 01, 2016</ref>. The list of [[Selectivity|selectivity]] features is quite huge.

===Selectivity===
* [[Check Extensions]]
* [[Delta Pruning]]
* [[Futility Pruning]]
* [[History Leaf Pruning]]
* [[Late Move Reductions]]
* [[Futility Pruning#MoveCountBasedPruning|Late Move Pruning]]
* [[Mate Distance Pruning]]
* [[Mate Threat Extensions]]
* [[ProbCut#MPC|Multi–ProbCut]]
* [[Null Move Pruning]]
* [[Quiescence Search]] 
* [[Razoring]]
* [[Singular Extensions#RestrictedSE|Restricted Singular Extensions]]
* [[Static Exchange Evaluation|SEE Pruning]]
* [[Sibling Prediction Pruning]]
* [[Reverse Futility Pruning|Static Null Move Pruning]]

===[[Move Ordering]]===
* [[Principal Variation|Principal Variation Extraction]]
* [[Killer Heuristic]]
* [[History Heuristic]]
* [[Internal Iterative Deepening]]
* [[MVV-LVA]]
* [[Static Exchange Evaluation]]

===[[Transposition Table]]===
* [[Zobrist Hashing]]
* [[Transposition Table#Bucket|Four Bucket System]]
* [[Transposition Table#ReplacementStrategies|Depth-preferred Replacement Scheme]]

==[[Evaluation]]==
* [[Material#Balance|Material Balance]]
* [[Mobility]] 
* [[Piece-Square Tables]]
* [[Tapered Eval]]

===[[Pawn Structure]]===
* [[Backward Pawn]]
* [[Candidate Passed Pawn]]
* [[Doubled Pawn]]
* [[Isolated Pawn]]
* [[Passed Pawn]]
* [[Pawn chain|Pawn Chain]]

===[[King Safety]]===
* [[King Safety#PawnShield|Pawn Shield]]
* [[King Safety#PawnStorm|Pawn Storm]]
* [[King Safety#SquareControl|Square Control]]

===[[Hash Table|Caches]]===
* [[Evaluation Hash Table|Evaluation Cache]]
* [[Material Hash Table|Material Cache]]
* [[Pawn Hash Table|Pawn Cache]]

===Misc===
* [[Center Control]]
* [[Loose Piece|Loose Pieces]]
* [[Pawn Rams (Bitboards)|Number of Pawn Rams]] as [[Blockage Detection|Blockage Indicator]]
> and more ...

=See also=
* [[Various Classifications#Geography|Geography]]

=Forum Posts=
==2010 ...==
* [[http://www.talkchess.com/forum/viewtopic.php?t=34545|Vajolet Chess Engine]] by [[Marco Belli]], [[CCC]], May 27, 2010
* [[http://www.talkchess.com/forum/viewtopic.php?t=45918&start=4|Re: Test 071112]] by [[Marco Belli]], [[CCC]], November 10, 2012
* [[http://www.talkchess.com/forum/viewtopic.php?t=47974|vajolet 2.03 release]] by [[Marco Belli]], [[CCC]], May 12, 2013
* [[http://www.talkchess.com/forum/viewtopic.php?t=50170|vajolet 2.48 released]] by [[Marco Belli]], [[CCC]], November 21, 2013
* [[http://www.talkchess.com/forum/viewtopic.php?t=50472|floating point SSE eval]] by [[Marco Belli]], [[CCC]], December 13, 2013 » [[Evaluation]], [[Float]], [[Score]]
* [[http://www.talkchess.com/forum/viewtopic.php?t=51302|where can I make my engine play against human?]] by [[Marco Belli]], [[CCC]], February 16, 2014
* [[http://www.talkchess.com/forum/viewtopic.php?t=51786|Vajolet2 released]] by [[Marco Belli]], [[CCC]], March 29, 2014
* [[http://www.talkchess.com/forum/viewtopic.php?t=53048|vajolet2 1.43 released]] by [[Marco Belli]], [[CCC]], July 22, 2014
* [[http://www.talkchess.com/forum/viewtopic.php?t=53220|advanced tapered evalutation]] by [[Marco Belli]], [[CCC]], August 08, 2014 » [[SSE]], [[Tapered Eval]]  
* [[http://www.talkchess.com/forum/viewtopic.php?t=53299|vajolet2 1.45 release]] by [[Marco Belli]], [[CCC]], August 15, 2014
==2015 ...==
* [[http://www.talkchess.com/forum/viewtopic.php?t=56086|Vajolet2 2.0 released]] by [[Marco Belli]], [[CCC]], April 21, 2015
* [[http://www.talkchess.com/forum/viewtopic.php?t=58762|Vajolet 2.1 released]] by [[Marco Belli]], [[CCC]], January 01, 2016
* [[http://www.talkchess.com/forum/viewtopic.php?t=60535|Vajolet, new version 2.2]] by [[Marco Belli]], [[CCC]], June 19, 2016
* [[http://www.talkchess.com/forum/viewtopic.php?t=63301|vajolet2 2.3 release]] by [[Marco Belli]], [[CCC]], February 28, 2017
* [[http://www.talkchess.com/forum/viewtopic.php?t=65770|Vajolet2 2.4 Release]] by [[Marco Belli]], [[CCC]], November 19, 2017
* [[http://www.talkchess.com/forum/viewtopic.php?t=66412|Vajolet2 2.5 Release]] by [[Marco Belli]], [[CCC]], January 25, 2018

=External Links=
==Chess Engine==
* [[https://github.com/elcabesa/vajolet/|GitHub - elcabesa/vajolet]]
* [[https://code.google.com/p/vajolet/|vajolet chess engine - Google Project Hosting]]
* [[http://vajoletchess.blogspot.it/|vajoletChess Blog]]
* [[http://www.g-sei.org/category/chess-engines/vajolet/|Vajolet]] « [[G 6]]
* [[http://www.computerchess.org.uk/ccrl/4040/cgi/compare_engines.cgi?family=Vajolet&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|Vajolet]] in [[CCRL|CCRL 40/40]]
* [[http://www.computerchess.org.uk/ccrl/404/cgi/compare_engines.cgi?family=Vajolet&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|Vajolet]] in [[CCRL|CCRL 40/4]]
==Misc==
* [[https://en.wikipedia.org/wiki/Vajolet_Towers|Vajolet Towers from Wikipedia]]
* [[http://www.summitpost.org/torri-del-vajolet-vajolet-towers/150951|Torri del Vajolet / Vajolet Towers : Climbing, Hiking & Mountaineering : SummitPost]]
* [[http://physics-server.uoregon.edu/~belitz/db_virtual/db_climbing/peaks/vajolet_towers.html|Vajolet Towers]] by [[http://physics-server.uoregon.edu/~belitz/|Dietrich Belitz]], July 29, 2004 
* [[https://en.wikipedia.org/wiki/Rosengarten_group|Rosengarten group from Wikipedia]]

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