NoraGrace

a WinBoard compliant open source chess engine by Eric Oldre, written in C# and first released in June 2014 under the [|MIT License]. NoraGrace is dedicated to //Nora Grace Oldre// who was taken from Eric and his wife unexpectedly a few days before she was due to be born. || toc =Description=
 * Home * Engines * NoraGrace**
 * [[image:NoraGrace.png width="156" height="77" link="https://github.com/ericoldre/NoraGrace-Chess/releases/tag/v1.0"]] ||~  || **NoraGrace**,
 * NoraGrace Logo ||~   ||^   ||

Board Representation
Like Sinobyl, NoraGrace relies on bitboards, and further has an 8x8 mailbox. It uses magic bitboards to determine sliding piece attacks - factors were calculated from sparse 64-bit randoms. BitScan is implemented via 32-bit De Bruijn multiplication to conditionally branch on low and high dwords. Bitboard serialization applies the C# [|yield statement], which is further used in various move generation routines. NoraGrace's square mapping has ranks from 8 to 1 mapped to 0-7 at the big-end over files from 'a' to 'h', square zero is a8:
 * [[image:berlef.JPG link="Bibob#BERLEF"]] ||
 * NoraGrace's BERLEF Mapping ||

Search
NoraGrace applies negamax alpha-beta with transposition table and quiescence search inside an iterative deepening framework with aspiration windows, enhanced by adaptive null move pruning with verification search in the endgame, extensions if SEE > 0 for checks and pawns to 7th rank, futility pruning and LMR.

Evaluation
Evaluation takes game phases into account, using a tapered eval along with //PhasedScore// objects, interpreting the low and high 32-bit double words of a 64-bit long as two SIMD integers of an endgame and opening score. Beside other features, NoraGrace considers material, piece-square tables, king safety, cached pawn structure and mobility.

=See also=
 * Given Name
 * Sinobyl

=Forum Posts=
 * [|New open source engine in C# - NoraGrace] by Eric Oldre, CCC, June 20, 2014
 * [|NoraGrace 2.0 (c# engine)] by Eric Oldre, CCC, November 22, 2014

=External Links=

Chess Engine

 * [|Ericoldre/NoraGrace-Chess · GitHub]
 * [|Releases · ericoldre/NoraGrace-Chess · GitHub]
 * [|NoraGrace 1.0 64-bit] in CCRL 40/40

Misc

 * [|List of Irish-language given names - Wikipedia]

=References= =What links here?= include page="NoraGrace" component="backlinks" limit="20"
 * Up one Level**