Changes

Jump to: navigation, search

Leorik

4,385 bytes added, 12:32, 25 March 2022
Created page with "'''Home * Engines * Leorik''' FILE:Leorik.Logo.png|border|right|thumb| Leorik Logo <ref>[https://www.talkchess.com/forum3/viewtopic.php?f=7&t=79049&start=..."
'''[[Main Page|Home]] * [[Engines]] * Leorik'''

[[FILE:Leorik.Logo.png|border|right|thumb| Leorik Logo <ref>[https://www.talkchess.com/forum3/viewtopic.php?f=7&t=79049&start=120 Re: Devlog of Leorik] by [[Thomas Jahn]], [[CCC]], March 19, 2022</ref> ]]

'''Leorik''',<br/>
an [[UCI]] compatible, didactic [[:Category:Open Source|open source chess engine]] by [[Thomas Jahn]], written in [[C sharp|C#]], and first published in January 2022 - its development reported in a [[CCC]] devlog <ref>[https://www.talkchess.com/forum3/viewtopic.php?f=7&t=79049 Devlog of Leorik] by [[Thomas Jahn]], [[CCC]], January 04, 2022</ref>.
Unshackled from the constraints of minimalism and simplicity, Leorik is the successor of Thomas Jahn's bare-bones chess engine [[MinimalChess]] <ref>[https://github.com/lithander/Leorik/blob/master/README.md Leorik/README.md at master · lithander/Leorik · GitHub]</ref>, and as of Spring 2022, work in progress.
<span id="LeorikAttacks"></span>
=Leorik Attacks=
Leorik is a [[Bitboards|bitboard]] engine and applies an unique approach in determining [[Sliding Piece Attacks|sliding piece attacks]] based [[On an empty Board#LineAttacks|line-wise attacks on the otherwise empty board]] (either pre-calculated or calculated on the fly). All bits below the slider's [[Origin Square|origin square]] [[General Setwise Operations#BitbySquare|bit]] are used to separate [[On an empty Board#PositiveRays|positive]] and [[On an empty Board#NegativeRays|negative]] [[Rays|rays]] to scan the nearest blocker (if any) accordingly. Positive rays use the line occupancy, intersected with the bits not below to [[General Setwise Operations#Smearing|smear its LS1B]] (if any) down (MaskLow => bb ^ (bb - 1)). Negative Rays use the line occupancy, intersected with the bits below to smear its [[General Setwise Operations#TheMostSignificantOneBitMS1B|MS1B]] (if any) down (MaskHigh => 0x7FFFFFFFFFFFFFFFUL >> [[BitScan#TrailingZeroCount|trailingZeroCount]](bb|1)). The [[General Setwise Operations#ExclusiveOr|symmetric difference]] of both down smears, restricted to the line-wise attacks on the otherwise empty board results in the sliding attack bitboard from that square on one particular line <ref>[https://github.com/lithander/Leorik/blob/master/Leorik.Core/Bitboard.cs Leorik/Bitboard.cs at master · lithander/Leorik · GitHub]</ref> <ref>[https://www.talkchess.com/forum3/viewtopic.php?f=7&t=79049&start=2 Re: Devlog of Leorik] by [[Thomas Jahn]], [[CCC]], January 04, 2022</ref>.

=Selected Features=
<ref>[https://github.com/lithander/Leorik/blob/master/README.md Leorik/README.md at master · lithander/Leorik · GitHub]</ref>
==[[Board Representation]]==
* [[Bitboards]]
* [[#LeorikAttacks|Leorik Attacks]]
* [[Copy-Make]]
==[[Search]]==
* [[Iterative Deepening]]
* [[Negamax]] [[Alpha-Beta]]
* [[Principal Variation Search]]
* [[Transposition Table]]
** [[Zobrist Hashing]]
** [[Transposition Table#Bucket|Two Buckets]]
** [[Transposition Table#Aging|Aging]]
* [[Move Ordering]]
** [[MVV-LVA]]
** [[Killer Heuristic]]
** [[History Heuristic]]
* [[Selectivity]]
** [[Null Move Pruning]] (2.0)
** [[Late Move Reductions]]
** [[Futility Pruning]] (2.0)
==[[Evaluation]]==
* [[Tapered Eval]]
* [[Material]]
* [[Piece-Square Tables]]

=See also=
* [[Diablo]]
* [[MinimalChess]]

=Forum Posts=
* [https://www.talkchess.com/forum3/viewtopic.php?f=7&t=79049 Devlog of Leorik] by [[Thomas Jahn]], [[CCC]], January 04, 2022
* [https://www.talkchess.com/forum3/viewtopic.php?f=7&t=79412&start=1 Re: Transposition tables are hard...] by [[Thomas Jahn]], [[CCC]], February 25, 2022

=External Links=
==Chess Engine==
* [https://github.com/lithander/Leorik GitHub - lithander/Leorik: Unshackled from the constraints of minimalism and simplicity Leorik is the successor to my bare-bones chess engine MinimalChess]
* [https://ccrl.chessdom.com/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Leorik%201.0%2064-bit#Leorik_1_0_64-bit Leorik 1.0 64-bit] in [[CCRL|CCRL Blitz]]
==Misc==
* [https://diablo.fandom.com/wiki/Leoric Leoric | Diablo Wiki | Fandom]
* [https://leoric.js.org/api/ Leoric - an object-relational mapping for Node.js]

=References=
<references />
'''[[Engines|Up one level]]'''
[[Category:Open Source]]
[[Category:UCI]]
[[Category:C sharp]]
[[Category:Didactic]]
[[Category:X64]]
[[Category:PC]]
[[Category:Windows]]
[[Category:Demonology]]

Navigation menu