hachu.git
12 years agoImplement repetition detection
H.G. Muller [Thu, 5 Jul 2012 21:45:15 +0000]
Implement repetition detection

A linear search through repStack, containing the hash keys, is used
to detect repetitions and declare them lost. Repetitions can already
start two ply ago, due to turn passing. A reversible move counter
is added for the purpose, and saved in the UndoInfo.

12 years agoGive pieces of same type same Zobrist key
H.G. Muller [Thu, 5 Jul 2012 21:39:00 +0000]
Give pieces of same type same Zobrist key

Give different piece keys to white and black pieces of same type. Switch
to a system that assigns the key 'on demand', when the entry in the
list of piece descriptions is first used. Let Lookup return pointer
rather than number in list, so that future versions can search in multiple
lists (for other variants).

12 years agoKeep track of PV
H.G. Muller [Thu, 5 Jul 2012 21:29:57 +0000]
Keep track of PV

Use the triangular-array method (Fairy-Max style) to keep track of the PV.

12 years agoPass difEval on to root search
H.G. Muller [Thu, 5 Jul 2012 21:20:04 +0000]
Pass difEval on to root search

Upto now all searches started at 0.

12 years agoAdd some debug prints
H.G. Muller [Thu, 5 Jul 2012 21:13:26 +0000]
Add some debug prints

12 years agoSave hash key in UndoInfo
H.G. Muller [Thu, 5 Jul 2012 21:04:39 +0000]
Save hash key in UndoInfo

This to make it possible for the MakeMove and UnMake to update it
at game level during the ponder search.

12 years agoFix alpha bug, promotion bug, highlighting and move printing bugs
H.G. Muller [Thu, 5 Jul 2012 20:52:48 +0000]
Fix alpha bug, promotion bug, highlighting and move printing bugs

Two crippling bugs fixed: alpha was not  reset at the start of later
iterations, and promotions were added to the move-list of deeper nodes
due to spoiling of the global nonCapts.
Essential deferrals were not correctly flagged on input moves.
Printing move lists could miss some initial moves, wrecking highlighting.

12 years agoAdd time control
H.G. Muller [Thu, 5 Jul 2012 20:36:49 +0000]
Add time control

A simple time control, finishing iterations, is added. Also a node counter.

12 years agoFix signals for Linux, input-buffer overrun
H.G. Muller [Thu, 5 Jul 2012 19:53:37 +0000]
Fix signals for Linux, input-buffer overrun

12 years agoMore developed version for WinBoard Alien Edition
H.G. Muller [Tue, 3 Jul 2012 13:00:23 +0000]
More developed version for WinBoard Alien Edition

This commit contains the code as it was further developed on Windows,
and tested under WB-Alien. Highlighting was added, and a 3-ply fixed-depth
search is invoked when it is the engines turn to move. Piece-square tables
have been added to draw pieces to the center, and the move generator respects
the special Lion-capture and promotion rules of Chu Shogi. Most of the time
things work, but there must be a bad bug, as sometimes it suddenly moves
with an opponent piece!

12 years agoInitial commit of Linux code
H.G. Muller [Tue, 3 Jul 2012 12:54:54 +0000]
Initial commit of Linux code

This embrionic code was developed on Linux. The move generator is
sort of working, but the multi-move feature is barely tested, because
the standard XBoard does not support that.