summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
H.G.Muller [Sat, 14 Jan 2017 18:07:55 +0000]
Make minimum LMR depth a macro, foreasy tuning
H.G.Muller [Sat, 14 Jan 2017 18:00:06 +0000]
Respect minimum LMR depth during hash probing
We can add the reduction to the actual search depth to determine up to
which depth a probe result ca be used, but only if the actual depth is
at least the miimumdepth where LMR is allowed.
H.G.Muller [Sat, 14 Jan 2017 17:50:56 +0000]
Prune futile interpositions at d <= 1
A variable ipMask records squares attacked by board moves along the
check ray, immediately after move generation. Evasion drops are then
limited only to such squares, at depth <= 1.
H.G.Muller [Sat, 14 Jan 2017 17:40:30 +0000]
Assert no unexpected King capture
A hash-key collision sometimes leaves a King up for grabs.
H.G.Muller [Sat, 14 Jan 2017 17:33:00 +0000]
Fix depth reporting
Use the original reduction for depth bootstrapping.
H.G.Muller [Sat, 14 Jan 2017 12:11:54 +0000]
Put drops start after castlings
H.G.Muller [Sat, 14 Jan 2017 12:06:23 +0000]
Value castling rights
The evaluation now takes possesion of castling rights into account.
It is also figured out if castling is actually possible.
H.G.Muller [Sat, 14 Jan 2017 11:48:19 +0000]
Keep track of attacked squares near King
The move generator now marks all attacked squares on an auxiliary board.
At the end it counts the number of such squares next to the enemy King,
empty squares and captures separately. It also counts the number of
unattacked empty squares next to the King.
H.G.Muller [Sat, 14 Jan 2017 10:39:13 +0000]
Disarm printing of debug boards
When running under XBoard, printing a board would be seen as Thinking
Output. Now the board lines are prefixedwith #, as CECP requires.
H.G.Muller [Sat, 14 Jan 2017 10:30:20 +0000]
Keep track of total hand values
With the aidof two new tables, handBulk[] (piece-list size) and dropBulk[]
(board sized), we now keep track of the total value of pieces in the hands.
This is stored in the promoGain for piece type 30, (which is not used in
any variant), to easily index it with the side to move.
H.G.Muller [Wed, 28 Dec 2016 19:39:23 +0000]
Implement drop restrictions for Shogi
The various routines for dropping pieces now repect the rules that
pieces should not be dropped where they have no moves.
H.G.Muller [Wed, 28 Dec 2016 18:26:47 +0000]
Suppress check test after null move
After null move we should never be in check, but the test for determining
it would use variables that might not be initialized (like to-square).
Make sure we indicate there is no check (also in checkDist, which is used
testing for distant checks).
H.G.Muller [Wed, 28 Dec 2016 16:40:27 +0000]
Implement castling
MoveGen() now also generates castlings. Legality is tested by the kludge
of replacing the Rook by a second King during the (early) move generation
in the next ply. MakeMove() is refactored to make sure both King and Rook
victim are saved. In addition promotion is now implemented by OR'ing the
promoInc into the piece code,tomake the engine resistent to promoting an
already-promoted piece (e.g. due to hash-move mixup).
H.G.Muller [Wed, 28 Dec 2016 16:01:16 +0000]
Print setup and piece commands in engine-defined variants
A setup command with the start position is now sent whenever a variant
is initialized, and ptc[] contains a piece-to-char table for that variant.
In addition, piece commands are sent when betza[] contains move definitions
for that variant.
H.G.Muller [Wed, 28 Dec 2016 15:47:23 +0000]
Reorder pieces, and define values for all variants
Lance now immediately follows Pawn, so that they can be taken out of the
droppable set together when calculating evasion drops on last rank. The
downside is that the Lance will participate in mini- and Judkins' Shogi
as a non-present piece. The piece IDs of Wa Shogi are changed to conform
with Sjaak II's assigment,and the startup FEN is changed accordingly.
Piece values are assigned for all variants.
H.G.Muller [Wed, 28 Dec 2016 14:17:18 +0000]
Make variants also accessible through systematic names
The engine-defined variants are now also announced as 5x5+5_shogi etc.,
and such names are matched based on the board parameters in the variant-
definition table.
H.G.Muller [Wed, 28 Dec 2016 14:10:53 +0000]
Put Tori Shogi 6th in variant-description list
This to put all variants that have non-Pawn pieces with drop restriction
contiguously.
H.G.Muller [Wed, 28 Dec 2016 14:05:17 +0000]
Fix reading of Shogi-promoted pieces in FEN
The '+' sign in FENs was considered a digit, and thus did not have the
intended effect.
H.G.Muller [Wed, 28 Dec 2016 13:59:58 +0000]
Add and initialize some more piece-square tables
The number of PST in increased to 9 pairs, and they are initialized
to be useful for various groups of pieces (e.g. Shogi generals).
H.G.Muller [Fri, 21 Oct 2016 12:57:36 +0000]
Implement randomizing
The first 10 half-moves are now randomized by adding a small random bonus
to each move in the root.
H.G.Muller [Fri, 21 Oct 2016 12:38:05 +0000]
Initial version of engine
Crazyhouse sort of works here.