Changes

Jump to: navigation, search

ChessCore

3,366 bytes added, 20:30, 29 March 2020
Created page with "'''Home * Engines * ChessCore''' FILE:OnlineChessSmall.jpg|border|right|thumb|link=https://web.archive.org/web/20120105083121/http://www.chessbin.com/| Ch..."
'''[[Main Page|Home]] * [[Engines]] * ChessCore'''

[[FILE:OnlineChessSmall.jpg|border|right|thumb|link=https://web.archive.org/web/20120105083121/http://www.chessbin.com/| ChessBin.com chess <ref>[https://web.archive.org/web/20120105083121/http://www.chessbin.com/ Computer Chess Information and Resources] ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine])</ref> ]]

'''ChessCore''', (ChessBin.com)<br/>
a chess engine by [[Adam Berent]], written in [[C sharp|C#]].
The ''ChessBin.com'' chess engine was documented in a blog format, and has been converted to cross-platform [https://en.wikipedia.org/wiki/.NET_Core .NET Core] dubbed '''ChessCore''', [[:Category:Open Source|open source]] under the [[Massachusetts Institute of Technology#License|MIT License]] published on [https://en.wikipedia.org/wiki/GitHub GitHub] <ref>[https://github.com/3583Bytes/ChessCore GitHub - 3583Bytes/ChessCore: Chess Engine Implemented in .net core]</ref>.
The program makes heavy use of the .NET Core [https://en.wikipedia.org/wiki/Garbage_collection_(computer_science) garbage collector] (GC)
<ref>[https://www.tutorialspoint.com/dotnet_core/dotnet_core_garbage_collection.htm .NET Core - Garbage Collection - Tutorialspoint]</ref> and is mentioned as buggy in [[Ron Murawski|Ron Murawski's]] engine list <ref>[http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:chess_engine_list Chess Engine List] from [[Ron Murawski|Ron Murawski's]] [http://computer-chess.org/doku.php?id=home Computer-Chess Wiki]</ref>.

=Evaluate Moves=
One sample of ChessCore's extensive GC usage demonstrates its [[Alpha-Beta]] search - at each [[Node|node]], it allocates the [[Move List|move list]] and each generated [[Moves|move]] on the [[Data#Dynamic Data|heap]] <ref>[https://github.com/3583Bytes/ChessCore/blob/master/ChessCoreEngine/Search.cs#L406 ChessCore/Search.cs at master · 3583Bytes/ChessCore · GitHub - private static List<Position> EvaluateMoves(Board examineBoard, byte depth)]</ref>:
For some reason, internal class ''position'' encapsulates the move.
<pre>
private static List<Position> EvaluateMoves(Board examineBoard, byte depth) {
...
List<Position> positions = new List<Position>();
for (byte x = 0; x < 64; x++) { ...
Piece piece = examineBoard.Squares[x].Piece;
... continue if empty or opponent piece
foreach (byte dst in piece.ValidMoves) { ...
Position move = new Position(x, dst);
... Score move, killers, etc ..
positions.Add(move);
}
}
return positions;
}
</pre>
=Forum Posts=
* [http://www.talkchess.com/forum3/viewtopic.php?f=6&t=31312 ChessBin 00.59] by [[Harun Taner]], [[CCC]], December 28, 2009

=External Links=
* [https://github.com/3583Bytes/ChessCore GitHub - 3583Bytes/ChessCore: Chess Engine Implemented in .net core]
* [https://www.adamberent.com/home/chess/ Chess – Adam Berent]
* [https://www.adamberent.com/home/chess/computer-chess/ Computer Chess – Adam Berent]
* [https://web.archive.org/web/20120105083121/http://www.chessbin.com/ Computer Chess Information and Resources] ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine])

=References=
<references />
'''[[Engines|Up one level]]'''
[[Category:Open Source]]
[[Category:C sharp]]
[[Category:WinBoard]]
[[Category:XBoard]]
[[Category:Android]]
[[Category:Linux]]
[[Category:Windows]]
[[Category:Mac]]

Navigation menu