Abyss' board is represented as Mailbox - a one-dimensional array of 90 computer words, indexed by 0 .. 89. Pieces are encoded by ±1 for red and black pawns until ±7 for red and black kings, empty squares are represented by zero. To detect the edges of the board and palace during move generation, board arrays of pre-computed 12-bit direction masks consisting of four groups for each orthogonal direction of 3 bits each are utilized. Only the empty intersection of the move direction with the mask of the target square indicates target on board or inside palace, followed by piece specific tests to generate pseudo legal moves or to continue a direction loop for rook or cannon. Detection of strictly legal moves, i.e. it does not expose the own king in check, or does not oppose both kings on the same file with no pieces intervening, is delayed until the move is actually made for efficiency reasons - since not all generated pseudo legal moves are examined.
The search procedure of Abyss was subject of Chun Ye's thesis concerning selectivity, in particular extensions which are combined in various experiments, and further elaborated in two additional papers along with Tony Marsland [6][7]. Abyss already featured recursive null move pruning with depth reduction of 1 [8], and further Don Beal'snull move quiescence search[9]. A piece evading move extension was motivated by threat detection concerning the complicated repetition rules of Chinese Chess.
^ Description is based on Chun Ye (1992). Experiments in Selective Search Extensions. M.Sc. thesis, Department of Computing Science, University of Alberta, pdf
^Don Beal (1989). Experiments with the Null Move. Advances in Computer Chess 5, A revised version is published (1990) under the title A Generalized Quiescence Search Algorithm. Artificial Intelligence, Vol. 43, No. 1, pp. 85-98. ISSN 0004-3702.
Home * Games * Chinese Chess Engines * Abyss
a Chinese Chess program by Chun Ye and Tony Marsland, written in C under Unix aka SunOS. A X Window GUI was written in C++ by Haiying Wang [1]. The program was subject of Chun Ye's 1992 master thesis at University of Alberta [2] on the topic of selectivity and extension heuristics in the domain of Chinese Chess. Not only Ye's advisor, Tony Marsland, contributed to the development of the program, but also Don Beal - at that time visiting professor at University of Alberta - in particular concerning null move quiescence search.
Abyss participated at all three Computer Olympiads which took place in Maastricht, winning the gold medal (shared) at the 3rd Computer Olympiad, 1991, while the 1999 version played in 2001 and 2002, respectively.
Table of Contents
Description
The framework of Abyss [4] was based on the Western experimental Chess program Parabelle by Fred Popowich and Tony Marsland [5].Move Generation
Abyss' board is represented as Mailbox - a one-dimensional array of 90 computer words, indexed by 0 .. 89. Pieces are encoded by ±1 for red and black pawns until ±7 for red and black kings, empty squares are represented by zero. To detect the edges of the board and palace during move generation, board arrays of pre-computed 12-bit direction masks consisting of four groups for each orthogonal direction of 3 bits each are utilized. Only the empty intersection of the move direction with the mask of the target square indicates target on board or inside palace, followed by piece specific tests to generate pseudo legal moves or to continue a direction loop for rook or cannon. Detection of strictly legal moves, i.e. it does not expose the own king in check, or does not oppose both kings on the same file with no pieces intervening, is delayed until the move is actually made for efficiency reasons - since not all generated pseudo legal moves are examined.Search
The search procedure of Abyss was subject of Chun Ye's thesis concerning selectivity, in particular extensions which are combined in various experiments, and further elaborated in two additional papers along with Tony Marsland [6] [7]. Abyss already featured recursive null move pruning with depth reduction of 1 [8], and further Don Beal's null move quiescence search [9]. A piece evading move extension was motivated by threat detection concerning the complicated repetition rules of Chinese Chess.Basics
Zobrist Hashing
Move Ordering
Selectivity
Check Evasion Extensions
Recapture Extensions
King Threats
One Reply Extensions
Singular Extensions
Recursive Null Move Pruning with R = 1
Don Beal's Null Move Quiescence Search
Futility Pruning
Quiescence Search
Evaluation
Attacking King Zone
Penalty for King on rank or file of opponent's Cannon
Misc
Abyss' ICGA Tournaments
[10]See also
Publications
External Links
Engine
Misc
References
What links here?
Up one Level