Difference between revisions of "Cassandre"
GerdIsenberg (talk | contribs) (Created page with "'''Home * Engines * Cassandre''' border|right|thumb|180px| Cassandra <ref>[[:Category:Evelyn De Morgan|Evelyn De Morgan - [https://...") |
GerdIsenberg (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
=Description= | =Description= | ||
Cassandre is a [[Bitboards|bitboard]] engine using [[Rotated Bitboards|rotated bitboards]] with 256 [[Occupancy of any Line|occupancy states]] to determine [[Sliding Piece Attacks|sliding piece attacks]], | Cassandre is a [[Bitboards|bitboard]] engine using [[Rotated Bitboards|rotated bitboards]] with 256 [[Occupancy of any Line|occupancy states]] to determine [[Sliding Piece Attacks|sliding piece attacks]], | ||
− | [[BitScan|bitscan]] aka first- and last one by conditional 16-bit lookups, and [[Population Count|population count]] by eight byte lookups credited to [[Dann Corbit]] <ref>[http://cassandre.sourceforge.net/about.html Cassandre - Chess Engine - About]</ref>. | + | [[BitScan|bitscan]] aka first- and last one by conditional 16-bit lookups, and [[Population Count|population count]] by eight byte lookups credited to [[Dann Corbit]] <ref>[http://cassandre.sourceforge.net/about.html Cassandre - Chess Engine - About], cassandre-0.24\src\BitboardToolkit.cpp - contage de bits par table lookup (D. Corbit)</ref>. |
Cassandre greatly lacks any [[Move Ordering|move ordering]] except generating [[Captures|captures]] before [[Quiet Moves|quiet moves]]. | Cassandre greatly lacks any [[Move Ordering|move ordering]] except generating [[Captures|captures]] before [[Quiet Moves|quiet moves]]. | ||
− | The structure of | + | The structure of the [[Move Generation|move generation]] [[Bitboard Serialization|serialization loops]] is an instructive counterexample of how one shouldn't write a bitboard engine. |
=See also= | =See also= |
Latest revision as of 21:24, 30 December 2019
Cassandre,
an Chess Engine Communication Protocol and UCI compliant open source chess engine under the terms of the GNU General Public License (GPL) by Raphael Grundrich, Thomas Adolph and Jean-Francois Romang,
written in C++ and first released in March 2003. Cassandre started as a student project at Louis Pasteur University, Strasbourg [2].
Description
Cassandre is a bitboard engine using rotated bitboards with 256 occupancy states to determine sliding piece attacks, bitscan aka first- and last one by conditional 16-bit lookups, and population count by eight byte lookups credited to Dann Corbit [3]. Cassandre greatly lacks any move ordering except generating captures before quiet moves. The structure of the move generation serialization loops is an instructive counterexample of how one shouldn't write a bitboard engine.
See also
External Links
Chess Engine
Misc
- Cassandre - Wikipédia.fr (French)
- Cassandra from Wikipedia
- Cassandra (disambiguation) from Wikipedia
- Cassandra (metaphor) from Wikipedia
- Cassandra (name) from Wikipedia
References
- ↑ Evelyn De Morgan - Cassandra (1898, London). Cassandra in front of the burning city of Troy at the peak of her insanity, Wikimedia Commons
- ↑ Cassandre - Chess Engine
- ↑ Cassandre - Chess Engine - About, cassandre-0.24\src\BitboardToolkit.cpp - contage de bits par table lookup (D. Corbit)