GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Chess Programming Wiki
  • All pages
  • Other namespaces
  • Categories
  • Credits

This view

  • Original page
  • New address

GeezerVison is showing chessprogramming.org — Cinnamon - Chess Programming Wiki

Cinnamon

Home * Engines * Cinnamon

Cinnamon 1Cinnamon 1


  1. Cinnamon: sticks (ceylon cinnamon from Sri Lanka), powder, and flowers. Created from 31 images stacked with CombineZP, by Simon A. Eugster, CC BY-SA 3.0, Wikimedia Commons, Cinnamomum from Wikipedia↩︎

Cinnamon,
an UCI compliant open source chess engine by Giuseppe Cannella, written in C++11, published under GPL Version 3. Cinnamon was first released in February 2013 1 under that name, while former versions of the engine were called Butterfly. It targets multiple hardware platforms and operating systems such as Windows, Linux, Mac OS and Android, also available for the Raspberry Pi, and further provides a JavaScript library to play with chessboard.js or any js GUI.

Contents
  1. Sliding Piece Attacks
  2. Features
    1. Board Representation
    2. Search
    3. Evaluation
    4. Misc
  3. See also
  4. Forum Posts
  5. External Links
    1. Chess Engine
    2. Misc
  6. References

Sliding Piece Attacks

Cinnamon 1.2 applied a kind of classical approach to generate ray-wise sliding piece attacks, captures and quiet moves. Cinnamon 2.0 already used line-wise occupancy lookups. Four pre-calculated attack arrays containing attack bitboards on ranks, files, diagonals and anti-diagonals were indexed by the square of the sliding piece, and the associated occupancy index of that line, determining the blockers affecting the attack set. Rather than to get the occupancy index from incremental updated rotated bitboards for each of the four line kinds, Cinnamon extracts line occupancies into a dense index range using multiplication and shift right, as mentioned in diagonals to rank or flip about the diagonal. The resulting 8-bit occupancy requires 512 KiB for all lookup tables, so considering the inner six bits would quarter the table sizes. In Cinnamon 2.3 the occupancy index may be computed by the PEXT instruction, if the executable is compiled with BMI2 enabled.

Features

2

Board Representation

  • Bitboards
  • Sliding Piece Attacks by line-wise Occupancy Lookup

Search

  • Lazy SMP
  • Iterative Deepening
  • Aspiration Windows
  • Principal Variation Search
  • Transposition Table
  • Selectivity
    • Razoring
    • Null Move Pruning
    • Late Move Reductions
    • Futility Pruning
    • Delta Pruning
  • Move Ordering
    • MVV/LVA
    • Killer Heuristic

Evaluation

  • Material
  • Lazy Evaluation
  • Evaluation Hash Table
  • Mobility
  • Pawn Structure
  • King Safety

Misc

  • PolyGlot Opening Book
  • Gaviota Tablebases
  • Syzygy Bases
  • Perft
  • Pondering
  • Chess960

See also

  • Butterfly

Forum Posts

  • OSX compiler wanted by Giuseppe Cannella, Winboard Forum, July 06, 2013
  • Cinnamon 1.1 for Mac OS X 32-bit by Norbert Raimund Leisner, CCC, July 07, 2013
  • Cinnamon 2.0 released by supersharp77, CCC, April 17, 2016
  • Cinnamon 2.3 by Graham Banks, CCC, October 19, 2020

External Links

Chess Engine

  • GitHub - gekomad/Cinnamon: C++ UCI chess engine
  • Cinnamon in CCRL Blitz

Misc

  • Cinnamon from Wikipedia
  • Cinnamomum from Wikipedia

Cinnamomum burmannii from Wikipedia

Cinnamomum cassia from Wikipedia

Cinnamomum verum from Wikipedia

  • Cinnamon (disambiguation) from Wikipedia
  • cinnamon - Wiktionary
  • Cinnamon (software) from Wikipedia
  • Bill Anschell, Jose Martinez, Chris Symer - La Flor de la Canela by Chabuca Granda, YouTube Video

Watch on YouTube

References

Up one Level


  1. Cinnamon « G 6↩︎

  2. GitHub - gekomad/Cinnamon: C++ UCI chess engine↩︎

Categories: Open Source · GPL · PC · UCI · Chess960 · ARM · X86 · X64 · Android · Mac · Linux · Windows · Plant · Music

What links here

Contributors: GerdIsenberg.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.