Cinnamon
Cinnamon,
anUCI compliantopen source chess engine byGiuseppe Cannella, written inC++11, published underGPL Version 3. Cinnamon was first released in February 2013[2] under that name, while former versions of the engine were calledButterfly. It targets multiple hardware platforms andoperating systems such asWindows,Linux,Mac OS andAndroid, also available for theRaspberry Pi, and further provides aJavaScript library to play withchessboard.js or any jsGUI.
Contents
Sliding Piece Attacks
Cinnamon1.2 applied a kind ofclassical approach to generate ray-wisesliding piece attacks,captures andquiet moves.Cinnamon2.0 already used line-wiseoccupancy lookups.Four pre-calculated attack arrays containing attack bitboards onranks,files,diagonals andanti-diagonalswere indexed by the square of the sliding piece, and the associatedoccupancy index of that line, determining the blockers affecting the attack set. Rather than to get the occupancy index fromincremental updatedrotated bitboards for each of the four line kinds, Cinnamon extracts line occupancies into a dense index range usingmultiplication and shift right,as mentioned indiagonals to rank orflip about the diagonal.The resulting 8-bit occupancy requires 512 KiB for all lookup tables, so considering theinner six bits would quarter the table sizes. In Cinnamon2.3 the occupancy index may be computed by thePEXT instruction, if the executable is compiled withBMI2 enabled.
Features
Board Representation
- Bitboards
- Sliding Piece Attacks by line-wiseOccupancy Lookup
Search
- Lazy SMP
- Iterative Deepening
- Aspiration Windows
- Principal Variation Search
- Transposition Table
- Selectivity
- Move Ordering
Evaluation
Misc
See also
Forum Posts
- OSX compiler wanted byGiuseppe Cannella,Winboard Forum, July 06, 2013
- Cinnamon 1.1 for Mac OS X 32-bit byNorbert Raimund Leisner,CCC, July 07, 2013
- Cinnamon 2.0 released by supersharp77,CCC, April 17, 2016
- Cinnamon 2.3 byGraham Banks,CCC, October 19, 2020
External Links
Chess Engine
Misc
- Cinnamon (disambiguation) from Wikipedia
- cinnamon - Wiktionary
- Cinnamon (software) from Wikipedia
- Bill Anschell,Jose Martinez,Chris Symer -La Flor de la Canela byChabuca Granda,YouTube Video
References
- ↑Cinnamon: sticks (ceylon cinnamon fromSri Lanka), powder, and flowers. Created from 31 images stacked withCombineZP, bySimon A. Eugster,CC BY-SA 3.0,Wikimedia Commons,Cinnamomum from Wikipedia
- ↑Cinnamon « G 6
- ↑GitHub - gekomad/Cinnamon: C++ UCI chess engine

