Difference between revisions of "NoraGrace"

From Chessprogramming wiki
Jump to: navigation, search
(Created page with "'''Home * Engines * NoraGrace''' border|right|thumb| NoraGrace Logo <ref>Logo by [[Graham Banks from a picture of Nora Grace Oldre's...")
 
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
 
'''NoraGrace''',<br/>
 
'''NoraGrace''',<br/>
 
a [[WinBoard]] compliant [[:Category:Open Source|open source chess engine]] by [[Eric Oldre]],  
 
a [[WinBoard]] compliant [[:Category:Open Source|open source chess engine]] by [[Eric Oldre]],  
written in [[C sharp|C#]] and first released in June 2014 under the [[Massachusetts Institute of Technology#License|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 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=52700 New open source engine in C# - NoraGrace] by [[Eric Oldre]], [[CCC]], June 20, 2014</ref> <ref>[https://en.wikipedia.org/wiki/Perinatal_mortality Perinatal mortality from Wikipedia]</ref> .  
+
written in [[C sharp|C#]] and first released in June 2014 under the [[Massachusetts Institute of Technology#License|MIT License]]. NoraGrace evolved from a C# port of [[Sinobyl]] <ref>[https://www.assembla.com/code/sinobyl/subversion/nodes/129/trunk/Sinobyl trunk/Sinobyl | SVN | Assembla]</ref>, 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 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=52700 New open source engine in C# - NoraGrace] by [[Eric Oldre]], [[CCC]], June 20, 2014</ref> <ref>[https://en.wikipedia.org/wiki/Perinatal_mortality Perinatal mortality from Wikipedia]</ref> .  
  
 
=Description=  
 
=Description=  
Line 49: Line 49:
 
[[Category:C sharp]]
 
[[Category:C sharp]]
 
[[Category:WinBoard]]
 
[[Category:WinBoard]]
 +
[[Category:PC]]
 
[[Category:X86]]
 
[[Category:X86]]
 
[[Category:X64]]
 
[[Category:X64]]
 
[[Category:Windows]]
 
[[Category:Windows]]
 
[[Category:Given Name]]
 
[[Category:Given Name]]

Latest revision as of 12:49, 7 February 2021

Home * Engines * NoraGrace

NoraGrace Logo [1]

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 [2], 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 [3] [4] .

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 [5], 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:

Berlef.JPG

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

Forum Posts

External Links

Chess Engine

Misc

References

  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
  2. trunk/Sinobyl | SVN | Assembla
  3. New open source engine in C# - NoraGrace by Eric Oldre, CCC, June 20, 2014
  4. Perinatal mortality from Wikipedia
  5. public static IEnumerable<Position> ToPositions(this Bitboard bitboard) in Bitboard.cs

Up one Level