PAWNY

Introduction
Pawny is UCI chess engine
with estimated strength FM (FIDE Ranks Classification).
The program supports
limited console mode interface for debugging purposes.
For
more information on commands supported, see readme.txt located in the .zip
package.
Occasionally,
Pawny is playing at FICS using the
account handle “PawnyX”.
Downloads
|
|
Windows, Linux, Source. |
|
|
|
Technical Info
Board rep. and move
generation
The
board is represented as (16*16) array, filled with piece codes.
Piece
Lists are represented as array of linked lists.
Search
techniques used:
-
Iterative deepening
-
Alpha-Beta PVS + aspiration (1/5 PAWN)
-
Internal Iterative Deepening
-
Adaptive Null Move Pruning
-
Futility Pruning (including Ext. F.P. and Razoring)
-
Delta Pruning at Quiescence Search, based on SEE results (1 PAWN value margin)
-
Late Move Reductions (4 Full depth and Reduction of 1 ply)
-
Killer and History Heuristics
-
Transposition Table (1 table/4 entry bucket)
-
Extensions:
·
Check Extension (1 ply)
·
Single Reply to Check Extension (1 ply)
·
Mate Threat Extension (1/2
ply)
·
Queen Prom. Extension (1/2 ply)
·
Pawn Push Extension (1/2 ply)
·
Fractional Depth Representation (*4)
Evaluation:
At this time, the
evaluation function is still simplistic. It evaluates material, psq tables for
each piece. Basic terms in pawn structure are in place – doubled, hanging,
passed, backward pawns.
Piece evaluation takes
into account factors that are valid game phase independently. Game phase
evaluation includes just a couple of things:
Opening evaluation with
basic info for piece development, Midgame evaluation – mobility, center
control. Both in combination with king
safety.
Rook and Knights material
imbalance calculations. Endgame evaluation – Distance and support for passed
pawns.
Static exchange evaluation
– for presumably bad captures only.
Missing Features, Known Bugs and To-Do
List
So far it has been tested
mostly with ChessBase and BabasChess interfaces. It works under Arena with the
remark that output is liable to further changes and improvements.
Further
work to be done on transposition table, pawn hash table improvement, e.t.c.
More
sophisticated time control would be nice as well. For now is used just a simple
time control management that only excludes new iteration if there is not enough
time for it –
also
a record in the to-do list. There are some known bugs, related to mate handling
and mate search (and '#x' displaying) – further work on correcting them trough
the TT.
Contact
For
any impressions, remarks, deprecations, feel free to email me at: pawnychess@gmail.com
The following text will not be seen after you upload your website, please keep
it in order to retain your counter functionality
cricketcontrol.info