Spartan
Revision as of 21:41, 17 September 2020 by GerdIsenberg (talk | contribs)
Spartan,
an UCI compliant open source chess engine by Christian Daley,
written in C and distributed under the GNU General Public License, first released in April 2016
as successor of JFresh [2].
As a pure bitboard engine, Spartan applies Matt Taylor's folding trick to scan bits [3], and Brian Kernighan's way to count bits [4].
In calculating king passer tropism in evaluation,
Spartan uses the Euclidean distance between king and passer squares with double arithmetic due to C standard library square root (double sqrt(double)) [5]
[6] of the sum of squares of rank difference and file difference, which is quite expensive. Recommended is looking up the Chebyshev distance or Manhattan distance for that purpose.
Contents
Features
Board Representation
Search
- Iterative Deepening
- Aspiration Windows
- Alpha-Beta
- Principal Variation Search
- Transposition Table
- Selectivity
- Move Ordering
Evaluation
- Material
- Tapered Eval
- Piece-Square Tables
- Mobility
- Rooks on (Semi) Open Files
- Connectivity
- Pawn Structure
- Passed Pawn
- King Safety
Misc
See also
Forum Posts
- New UCI engine: Spartan by CDaley11, OpenChess Forum, April 23, 2016
- New UCI engine Spartan released (a while ago) by Günther Simon, CCC, May 11, 2016
External Links
Chess Engine
Misc
- spartan - Wiktionary
- Spartan - Wiktionary
- Spartan Chess - Chess Variant Page
- Spartan Race from Wikipedia
- Sparta from Wikipedia
- Sparta (disambiguation) from Wikipedia
- Broken Brass Ensemble - Spartan, North Sea Jazz 2019, NPO Radio 2 Soul & Jazz, YouTube Video
References
- ↑ SPARTAN-101 (Shuttle Pointed Autonomous Research Tool for Astronomy) carrier module of STS-51-G, the 18th flight of NASA's Space Shuttle program, and the fifth flight of Space Shuttle Discovery, June 17-24, 1985, NASA image, SPARTAN – Wikipedia.de (German), Wikimedia Commons
- ↑ New UCI engine: Spartan by CDaley11, OpenChess Forum, April 23, 2016
- ↑ Spartan/bitscan.h at master · christiandaley/Spartan · GitHub
- ↑ Spartan/bitscan.c at master · christiandaley/Spartan · GitHub
- ↑ partan/eval.h at master · christiandaley/Spartan · GitHub, #define DIST(sq1, sq2) ((int)sqrt(((...
- ↑ C sqrt() - C Standard Library
- ↑ Spartan/Readme.md at master · christiandaley/Spartan · GitHub
- ↑ Spartan Chess - Chess Variant Page