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

Paladin

Home * Engines * Paladin

Charlemagne and his Paladin 1Charlemagne and his Paladin 1


  1. Roland receives the sword Durendal from Holy Roman Emperor Charlemagne. From a manuscript of a chanson de geste. Paladin from Wikipedia, Wikimedia Commons↩︎

Paladin,
an experimental UCI compliant open source chess engine by Ankan Banerjee, written in C++. Paladin is intended as testbed for various bitboard techniques concerning space-time tradeoff, more or less suited for various architectures, such as GPU friendly Kogge-Stone algorithms versus fancy or even plain magic bitboards to determine sliding piece attacks. Paladin features a set of compile time switches to control the search, to use intrinsics for population count and bitscan, and as mentioned, to determine computation versus lookup techniques 1. While not officially released nor announced, the testing community exploited the publicly available sources from GitHub providing its author with a fait accompli 2.

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

Description

Board Representation

Paladin's board is represented by a dense hexa bitboard suited for a copy-make approach, that is six bitboards for white pieces, pawns, knights, diagonal and orthogonal sliding pieces, and kings. The base ranks of the pawn bitboard are even used to encode game state data such as castling rights, en passant target square and halfmove clock 3.

The search is basic alpha-beta with transposition table inside an iterative deepening loop without aspiration 4 5, enhanced by adaptive null move pruning, LMR and a few extensions. Move ordering is due to hash move and IID, MVV/LVA and SEE for captures, and killer heuristic and history heuristic otherwise.

Evaluation

Paladin's rudimentary evaluation is based on the simplified evaluation function by Tomasz Michniewski with point values partly taken from Larry Kaufman's material imbalance article 6 7.

Forum Posts

Re: New engine? by Ankan Banerjee, CCC, July 11, 2016

Chess Engine

Misc

Paladin (comics) from Wikipedia

Paladin (character class) from Wikipedia

Watch on YouTube

References

Up one Level


  1. chess_cpu/switches.h at master · ankan-ban/chess_cpu · GitHub↩︎

  2. Re: New engine? by Ankan Banerjee, CCC, July 11, 2016↩︎

  3. chess_cpu/chess.h at master · ankan-ban/chess_cpu · GitHub↩︎

  4. chess_cpu/main.cpp at master · ankan-ban/chess_cpu · GitHub↩︎

  5. chess_cpu/search.cpp at master · ankan-ban/chess_cpu · GitHub↩︎

  6. The Evaluation of Material Imbalances by Larry Kaufman↩︎

  7. chess_cpu/eval.cpp at master · ankan-ban/chess_cpu · GitHub↩︎

Categories: Open Source · Comics · Fiction · Military · Music

What links here

Contributors: GerdIsenberg.