Texel

Home * Engines * Texel



Texel, a free UCI compliant open source chess engine under the GNU General Public License developed by Peter Österlund. Texel, first released in March 2012, was basically a C++11 port of Peter's Java engine CuckooChess, the name change inspired by HMS Cuckoo, which was wrecked on April 04, 1810 on the Haak Sands off the Texel at Callantsoog.

Texel applies many of the standard methods for computer chess programs, such as iterative deepening, negascout, aspiration windows, quiescence search with SEE pruning and MVV/LVA move ordering, hash table, history heuristic, recursive null moves, futility pruning, late move reductions, opening book and magic bitboards.

=Version History=

Texel 1.00
Changes of unreleased Texel 1.00 compared to the development version of CuckooChess:
 * Ported from Java to C++. About twice as fast as a result)
 * Added evaluation term to avoid walking into wrong corner in KRKB endings
 * Implemented reverse futility pruning
 * Implemented late move pruning

Texel 1.01
First released version in March 2012 addressing following topics:
 * Replaced cuckoo hashing with a more cache-friendly alternative
 * Implemented passed pawn race evaluation
 * Increased passed pawn bonus for pawns on rank 6 and 7

Texel 1.02
Texel 1.02, released in June 2013, had a number of mostly small changes, new evaluation features, and speed ups, such as only one check in quiescence search, cache line aligned entries of the transposition table, cache-optimized magic bitboard constants, support for SSE4.2 PopCount, and reduced aspiration windows with gradually widening after fail-high/low at the root.

Texel 1.03
Texel 1.03, released in January 2014, was a huge improvement of about 100 Elo over Texel 1.02 using one core, mostly due to automated tuning of evaluation parameters. Further, beside other tweaks, Texel 1.03 incorporates a unique recursive parallel search using threads, combining the power of DTS with the simplicity of ABDADA, and further applies null move verification and more aggressive LMR, but no longer uses the Botvinnik-Markoff extension.

Texel 1.04
Texel 1.04 in May 2014 is about 70 elo stronger than Texel 1.03 on Peter's Linux computer at very fast time controls, using one core. Almost all changes are improvements in the evaluation function.

Texel 1.05
Texel 1.05, released in January 2015, is about 57 elo stronger than Texel 1.04 on Peter's Linux computer at very fast time controls. The most notable changes are support for Gaviota and Syzygy tablebases, singular extensions , detection of 16 pawn fortress positions. and support for multi-threaded search on Android devices. Further improvements are due to more aggressive LMR, disabling of LMP in  PV nodes , check extensions for negative SEE moves only if the remaining depth is small, and bonus for pieces protected by pawns.

Texel 1.06
Texel 1.06 was released in July 2016, and supports polyglot opening books, and comes with many search and evaluation improvements, beside others, more aggressive LMR and null move pruning, maximum number of search threads up to 512, support for Windows NUMA systems having more than 64 cores, a small (512KB) per-thread evaluation hash table, and a 4-way set associative transposition table. Texel 1.06 is around 40-50 elo stronger than Texel 1.05 in self play at very fast time controls.

Texel 1.07
On September 30, 2017, Texel 1.07 came with a new parallel search based on Lazy SMP and ABDADA able to use computer clusters, and further supports large pages in Windows.

=See also=
 * CuckooChess
 * Geography
 * Lazy SMP - Lazy Cluster
 * Mammal
 * Texel's Tuning Method

=Forum Posts=

2012 ...
2013 2014
 * New chess engine: Texel by Peter Österlund, CCC, March 24, 2012
 * Elo versus speed by Peter Österlund, CCC, April 02, 2012
 * Texel recipe to fix TT draws scores by Marco Costalba, CCC, June 23, 2012 » Path-Dependency, Fifty-move Rule
 * Texel 1.02 by Peter Österlund, CCC, June 08, 2013
 * Texel 1.02: First Impressions by Mike Scheidl, CCC, June 14, 2013
 * Recursive DTS-like search algorithm by Peter Österlund, CCC, July 24, 2013 » Parallel Search, Recursion
 * Texel 1.03 by Peter Österlund, CCC, January 19, 2014
 * Texel 1.03 gives good initial impression by Mike Scheidl, CCC, January 21, 2014
 * The texel evaluation function optimization algorithm by Peter Österlund, CCC, January 31, 2014 » Automated Tuning, Texel's Tuning Method
 * Texel 1.04 by Peter Österlund, CCC, May 29, 2014
 * LMP in PV nodes by Peter Österlund, CCC, December 27, 2014 » Move Count Based Pruning (LMP), PV-Node

2015 ...
2016 2017
 * Texel 1.05 by Peter Österlund, CCC, January 24, 2015
 * History heuristic and fixed depth search by Peter Österlund, CCC, May 16, 2015 » History Heuristic, Late Move Reduction Test Results
 * Texel 1.06 by Peter Österlund, CCC, July 10, 2016
 * How texel probes endgame tablebases by Peter Österlund, CCC, July 16, 2016 » Gaviota Tablebases, Syzygy Bases
 * NUMA Texel version by Dann Corbit, CCC, March 29, 2017 » NUMA
 * Re: Is AlphaGo approach unsuitable to chess? by Peter Österlund, CCC, May 31, 2017 » AlphaGo, Deep Learning, Giraffe
 * Lazy SMP and "lazy cluster" experiments by Peter Österlund, CCC, August 06, 2017 » Lazy SMP - Lazy Cluster
 * Approximate ABDADA by Peter Österlund, CCC, August 23, 2017 » ABDADA


 * Texel 1.07 by Peter Österlund, CCC, September 30, 2017

2020 ...

 * Re: Fast reverse move generation by Peter Österlund, CCC, December 18, 2021 » Reverse Move Generation

=External Links=

Chess Engine

 * CuckooChess - A Java Chess Program - Texel: C++11 port
 * Texel Chess Engine - Android Apps on Google Play
 * Index of /chess/engines/Jim Ablett/TEXEL by Jim Ablett, hosted by Kirill Kryukov
 * Texel in CCRL 40/4

Texel

 * Texel from Wikipedia
 * Texel - Wikipedia.nl (Dutch)
 * Texel (disambiguation) from Wikipedia
 * Texel (sheep) from Wikipedia
 * Texel (graphics) from Wikipedia
 * Focus - Texel Sarasani Festival 1971, YouTube Video

=References= Up one level