This is a temporary, read-only recovery of the chessprogrammingwiki while a longer-term plan is worked out. Editing is not possible right now, but will be again soon.
Chess Programming Wiki All pages Other namespaces

NoraGrace

Home * Engines * NoraGrace

NoraGrace Logo 1NoraGrace Logo 1


  1. Logo by Graham Banks from a picture of Nora Grace Oldre's footprints, Release Release 1.0 of the NoraGrace Chess Engine · ericoldre/NoraGrace-Chess · GitHub, NoraGraceV10.zip/NoraGrace.png, Re: Some others chess engines written in C# by Eric Oldre, CCC, June 29, 2014↩︎

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 evolved from a C# port of Sinobyl 1, and 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 2 3 .

Contents
  1. Description
    1. Board Representation
    2. Search
    3. Evaluation
  2. See also
  3. Forum Posts
  4. External Links
    1. Chess Engine
    2. Misc
  5. References

Description

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 double words. Bitboard serialization applies the C# yield statement 4, 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: NoraGrace's BERLEF Mapping

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

Forum Posts

Chess Engine

Misc

References

Up one Level


  1. trunk/Sinobyl | SVN | Assembla↩︎

  2. New open source engine in C# - NoraGrace by Eric Oldre, CCC, June 20, 2014↩︎

  3. Perinatal mortality from Wikipedia↩︎

  4. public static IEnumerable ToPositions(this Bitboard bitboard) in Bitboard.cs↩︎

Categories: Open Source · MIT · C sharp · WinBoard · PC · X86 · X64 · Windows · Given Name

What links here

Contributors: GerdIsenberg.