Changes

Jump to: navigation, search

Chenard

6,138 bytes added, 20:51, 18 March 2020
Created page with "'''Home * Engines * Chenard''' FILE:Bundesarchiv Bild 183-2008-0516-500, Fernschreibmaschine mit Telefonanschluss.jpg|border|right|thumb| Early Teletype <..."
'''[[Main Page|Home]] * [[Engines]] * Chenard'''

[[FILE:Bundesarchiv Bild 183-2008-0516-500, Fernschreibmaschine mit Telefonanschluss.jpg|border|right|thumb| Early Teletype <ref>[https://commons.wikimedia.org/wiki/File:Bundesarchiv_Bild_183-2008-0516-500,_Fernschreibmaschine_mit_Telefonanschluss.jpg?uselang=en A Creed Model 7 teleprinter in 1930], Photo by Willi Illger, [https://commons.wikimedia.org/wiki/Commons:Bundesarchiv Bundesarchiv], [http://www.bild.bundesarchiv.de/archives/barchpic/search/_1441442505 Bild 183-2008-0516-500], [https://creativecommons.org/licenses/by-sa/3.0/de/deed.en CC BY-SA 3.0 DE], [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons], [https://de.wikipedia.org/wiki/Fernschreiber Fernschreiber - Wikipedia.de]</ref> ]]

'''Chenard''',<br/>
an [[:Category:Open Source|open source chess program]] by [[Don Cross]], written in [[Cpp|C++]]. Its development already started in 1993, and it is maintained and improved until the present.
The source code of the didactic program is well structured and documented, is in the [https://en.wikipedia.org/wiki/Public_domain public domain] with attribution of author's name and web address required in distributed works <ref>[http://cosinekitty.com/chenard/ Chenard - a freeware chess program] by [[Don Cross]]</ref>.
A [[Windows]] version comes with an own [[GUI]], other versions for [[Windows]] and [[Linux]] support the [[Chess Engine Communication Protocol]] aka [[WinBoard]] or [[XBoard]], its own native [[CLI|command line interface]], or [https://en.wikipedia.org/wiki/Teleprinter teletype] chess.

=Description=
Chenard provides a [[Genetic Programming#GeneticAlgorithm|genetic algorithm]] framework for evolving [[Move Ordering|move ordering]] and [[Evaluation|evaluation]] heuristics.
The [[Board Representation|board is represented]] by a [[Mailbox|12x12 mailbox]] with [[Pieces#DisjointPieceFlags|disjoint piece flag encoding]].
Since Chenard isn't [[Negamax|negamaxing]], [[Search|search]], evaluation as well as [[Move Generation|move generation]] routines are implemented separately for White and Black.

==Search==
Chenard's [[Search|search]] is pure [[Alpha-Beta|alpha-beta]] with [[Transposition Table|transposition table]],
despite [[Quiescence Search|quiescence search]] and its top layer with [[Quiescence Search#Checks|checks]],
without any [[Selectivity|selectivity]] in form of [[Extensions|extensions]], [[Pruning|forward pruning]] and [[Reductions|reductions]].
The [[Root|root]] search implements [[Iterative Deepening|iterative deepening]] without [[Aspiration Windows|aspiration windows]].
The [[Depth|depth]] parameter, suited to index a [[Ply|ply]] [[Stack|stack]], starts at the root with zero and is incremented through the indirect [[Recursion|recursive]] function calls until the the maximum depth, dubbed level, is reached and quiescence is called <ref>[https://github.com/cosinekitty/chenard/blob/master/src/search.cpp chenard/search.cpp at master · cosinekitty/chenard · GitHub]</ref>.

==Evaluation==
The [[Evaluation|evaluation]] looks sophisticated considering a bunch of features, many part of Chenard's genes.
Beside the aggregation of [[Material|material]], imbalance terms and [[Piece-Square Tables|piece-square tables]],
which decides on an early exit aka [[Lazy Evaluation|lazy evaluation]], Chenard looks at [[Trapped Pieces|immobile]] and [[Connectivity|connected]] pieces,
along with various [[Evaluation of Pieces|piece specific evaluation features]], and further takes [[Pawn Structure|pawn structure]] with focus on [[Passed Pawn|passed pawns]], [[King Safety|king safety]], and even [[Tactics|tactical motives]] such as [[Pin|pinned pieces]] and [[Double Attack|forks]] into account.
Beside, Chenard has a [[Mop-up evaluation|mop-up evaluation]] for late endgames like [[KBNK Endgame|KBNK]].

==EGDB==
Chenard has its own [[Endgame Tablebases#DTM|depth to mate]] [[Endgame Tablebases|endgame databases]], generator and probing code <ref>[https://github.com/cosinekitty/endgame GitHub - cosinekitty/endgame: Chess endgame database generator]</ref> <ref>[https://github.com/cosinekitty/chenard/blob/master/src/egdbase.cpp chenard/egdbase.cpp at master · cosinekitty/chenard · GitHub]</ref> <ref>[https://levelup.gitconnected.com/build-your-own-chess-endgame-monster-a3fb23bb3ec1 Build Your Own Chess Endgame Monster - Level Up Coding] by [[Don Cross]], February 17, 2020</ref>.

=Screen Shot=
[[FILE:chenard_screen_shot.jpg|none|border|text-bottom|link=http://cosinekitty.com/chenard/]]
Chenard's [[Windows]] [[GUI]] <ref>[http://cosinekitty.com/chenard/ Chenard - a freeware chess program] by [[Don Cross]]</ref>

=See also=
* [[Flywheel]]

=Forum Posts=
* [http://www.talkchess.com/forum/viewtopic.php?t=20846 Chenard 1.136 with Winboard support available] by [[Jim Ablett]], [[CCC]], April 26, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=21252 Chenard 1.1.40 JA] by [[Harun Taner]], [[CCC]], May 20, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=29749 Chenard] by [[Gabor Szots]], [[CCC]], September 14, 2009
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=61386 an oldy but goody, Chenard for the Mac - xBoard with source] by [[Michael Byrne|MikeB]], [[CCC]], September 10, 2016

=External Links=
==Chess Program==
* [http://cosinekitty.com/chenard/ Chenard - a freeware chess program] by [[Don Cross]]
* [https://github.com/cosinekitty/chenard cosinekitty/chenard · GitHub]
* [http://www.computerchess.org.uk/ccrl/404/cgi/compare_engines.cgi?family=Chenard&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Chenard] at [[CCRL|CCRL 40/4]]
==Misc==
* [https://en.wikipedia.org/wiki/Chenard-Walcker Chenard-Walcker from Wikipedia]
* [https://en.wikipedia.org/wiki/Louis_Chenard Louis Chenard from Wikipedia]

=References=
<references />
'''[[Engines|Up one Level]]'''
[[Category:Open Source]]
[[Category:XBoard]]
[[Category:WinBoard]]
[[Category:X86]]
[[Category:X64]]
[[Category:Windows]]
[[Category:Linux]]

Navigation menu