Tunguska

an UCI compliant open source chess engine by Fernando Tenorio, written in C++11, released in December 2016 on [|GitHub]. Tunguska may be build to run under Windows, Linux and Mac OS. A new version should fix the inappropriate sliding piece attack implementation (see below) either by using leading zero count intrinsics or magic bitboards. || toc =Description=
 * Home * Engines * Tunguska**
 * [[image:Tunguska.jpg link="https://commons.wikimedia.org/wiki/File:Tunguska.png"]] ||~ || **Tunguska**,
 * Fallen trees at [|Tunguska], 1927 ||~ ||^ ||

Board Representation
Tunguska represents the board using a bitboard array declaration along the the obligatory 8x8 board. Sliding piece attacks are generated ray-wise by the classical approach. While this approach relies on scanning the nearest blocker in positive and negative directions using bitscan forward or bitscan reverse, aka trailing (tzc) or leading zero count (lzc), Tunguska implements these zero counts, in particular lzc, without machine instructions. Kim Walisch's and Mark Dickinson's suggestion of a parallel prefix fill for a MS1B separation along with De Bruijn multiplication and lookup is likely the cheapest general implementation without hardware support, but still far to slow for this purpose considering other sliding piece attack approaches.

Search
So far the search uses iterative deepening, alpha-beta with transposition table, check extensions, null move pruning, late move reductions and futility pruning. The move ordering is enhanced by using the history heuristic and killer heuristic.

Evaluation
Tunguska's evaluation relies on material, piece-square tables, mobility, various piece specific terms, pawn structure, and pawn shield and zone attacks concerning king safety. All feature weights are aggregated as distinct middlegame and endgame scores, finally interpolated by the current game phase - a technique known as tapered eval.

=See also=
 * Disaster
 * Geography

=Forum Posts=
 * [|New engine Tunguska 1.0] by Fernando Tenorio, CCC, December 11, 2016
 * [|Tunguska engine v2.0]by Fernando Tenorio, CCC, September 09, 2017

=External Links=

Chess Engine

 * [|GitHub - fernandotenorio/Tunguska: UCI compliant chess Engine]
 * [|Tunguska 1.0 64-bit in CCRL 40/40]

Misc

 * [|Tunguska event from Wikipedia]
 * [|Podkamennaya Tunguska River from Wikipedia]

=References= =What links here?= include page="Tunguska" component="backlinks" limit="20"
 * Up one Level**