Skip to main content
guest
Join
|
Help
|
Sign In
chessprogramming
Home
guest
|
Join
|
Help
|
Sign In
Wiki Home
Recent Changes
Pages and Files
Members
Home
Basics
Getting Started
Board Representation
Search
Evaluation
Principle Topics
Chess
Programming
Artificial Intelligence
Knowledge
Learning
Testing
Tuning
User Interface
Protocols
Dictionary
Lists
Arts
Cartoons
CC Forums
Conferences
Dedicated CC
Engines
Games
Hardware
History
Organizations
Papers
People
Periodical
Samples
Software
Timeline
Tournaments and Matches
Videos
Misc
Acknowledgments
On New Pages
Recommended Reading
Wikispaces Help
Paladin
Edit
0
4
…
7
Tags
comics
engines
fiction
military
musicvideos
opensourceengines
uciengines
Notify
RSS
Backlinks
Source
Print
Export (PDF)
Home
*
Engines
* Paladin
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]
.
Charlemagne and his Paladin
[3]
Table of Contents
Description
Board Representation
Search
Evaluation
See also
Forum Posts
External Links
Chess Engine
Misc
References
What links here?
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
[4]
.
Search
The
search
is basic
alpha-beta
with
transposition table
inside an
iterative deepening
loop without
aspiration
[5]
[6]
, 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
[7]
[8]
.
See also
Comics
Fiction
Military
Forum Posts
New engine?
by
Günther Simon
,
CCC
, May 31, 2016
Re: New engine?
by
Ankan Banerjee
,
CCC
, July 11, 2016
External Links
Chess Engine
GitHub - ankan-ban/chess_cpu: Ankan's new chess engine
Paladin 0.1 64-bit
in
CCRL 40/4
Misc
paladin - Wiktionary
Paladin from Wikipedia
Paladin (disambiguation) from Wikipedia
Paladin (comics) from Wikipedia
Paladin (character class) from Wikipedia
Paladin
- The Fakir I (1971),
YouTube
Video
References
^
chess_cpu/switches.h at master · ankan-ban/chess_cpu · GitHub
^
Re: New engine?
by
Ankan Banerjee
,
CCC
, July 11, 2016
^
Roland
receives the sword
Durendal
from
Holy Roman Emperor
Charlemagne
. From a manuscript of a
chanson de geste
.
Paladin from Wikipedia
,
Wikimedia Commons
^
chess_cpu/chess.h at master · ankan-ban/chess_cpu · GitHub
^
chess_cpu/main.cpp at master · ankan-ban/chess_cpu · GitHub
^
chess_cpu/search.cpp at master · ankan-ban/chess_cpu · GitHub
^
The Evaluation of Material Imbalances
by
Larry Kaufman
^
chess_cpu/eval.cpp at master · ankan-ban/chess_cpu · GitHub
What links here?
Page
Date Edited
Ankan Banerjee
Aug 26, 2017
Engines
Mar 10, 2018
Paladin
Jan 29, 2017
Up one Level
Javascript Required
You need to enable Javascript in your browser to edit pages.
help on how to format text
Turn off "Getting Started"
Home
...
Loading...
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].
Table of Contents
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 [4].Search
The search is basic alpha-beta with transposition table inside an iterative deepening loop without aspiration [5] [6], 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 [7] [8].See also
Forum Posts
Re: New engine? by Ankan Banerjee, CCC, July 11, 2016
External Links
Chess Engine
Misc
Paladin (comics) from Wikipedia
Paladin (character class) from Wikipedia
References
What links here?
Up one Level