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. The program was subject of Chun Ye's 1992 master thesis at University of Alberta 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.
 * Home * Engines * Abyss**
 * Home * Games * Chinese Chess Engines * Abyss**
 * [[image:180px-Lysefjorden_-_Man_standing_on_Preikestolen.JPG width="220" link="https://commons.wikimedia.org/wiki/File:Lysefjorden_-_Man_standing_on_Preikestolen.JPG"]] ||~ || **Abyss**,

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. || toc =Description= The framework of Abyss was based on the Western experimental Chess program Parabelle by Fred Popowich and Tony Marsland.
 * At the Edge of the Abyss ||~ ||^ ||

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. Abyss already featured recursive null move pruning with depth reduction of 1, and further Don Beal's null move quiescence search. A piece evading move extension was motivated by threat detection concerning the complicated repetition rules of Chinese Chess.

Basics
> Zobrist Hashing
 * Iterative Deepening
 * Aspiration Windows
 * Principal Variation Search
 * Transposition Table
 * Refutation Table

Move Ordering

 * Hash Move
 * Refutation Move
 * MVV/LVA
 * History Heuristic

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
 * Extensions
 * Pruning

Evaluation
> Attacking King Zone > Penalty for King on rank or file of opponent's Cannon
 * Material Balance with Point Values
 * ~ XXXXX ||~ Piece ||~ Opening ||~ ||~ Endgame ||
 * ~ || King ||||||= 7000 ||
 * ~ || Rook ||||||= 1800 ||
 * ~ || Cannon ||> 900 ||~ ||> 800 ||
 * ~ || Horse ||> 800 ||~ ||> 900 ||
 * ~ || Elephant ||||||= 300 ||
 * ~ || Advisor ||||||= 300 ||
 * ~ || Pawn ||||||= 100 ||
 * Piece-Square Tables
 * Square Control
 * King Safety

Misc

 * Opening Book

=Abyss' ICGA Tournaments=
 * ~ Edition ||~ Version ||~ Ranking ||~ Participants ||
 * 3rd Computer Olympiad, Maastricht 1991 || ||> 1 ||> 2 ||
 * 6th Computer Olympiad, Maastricht 2001 || Abyss '99 ||> 3 ||> 3 ||
 * 7th Computer Olympiad, Maastricht 2002 || Abyss '99 ||> 4 ||> 4 ||

=See also=
 * Comics
 * Demonology
 * Metaphysics
 * Mythology
 * Parabelle

=Publications=
 * Chun Ye (**1992**). //Experiments in Selective Search Extensions//. M.Sc. thesis, Department of Computing Science, University of Alberta, [|pdf]
 * Chun Ye, Tony Marsland (**1992**). //Experiments in Forward Pruning with Limited Extensions.// ICCA Journal, Vol. 15, No. 2, [|pdf]
 * Chun Ye, Tony Marsland (**1992**). //Selective Extensions in Game-Tree Search.// Heuristic Programming in AI 3, [|pdf]

=External Links=

Engine

 * [|Abyss' ICGA Tournaments]

Misc
> media type="youtube" key="r_zTerIEYGk"
 * [|abyss - Wiktionary]
 * [|Abyss from Wikipedia]
 * [|Abyssal zone from Wikipedia]
 * [|Abyssal plain from Wikipedia]
 * [|Abyss (comics) from Wikipedia]
 * [|Abyss (religion) from Wikipedia]
 * [|Abyss (roller coaster) from Wikipedia]
 * [|Abyss (Thelema) from Wikipedia]
 * [|Abyssinia from Wikipedia]
 * [|In the Abyss - Wikipedia]
 * [|Abyss Odyssey - Wikipedia]
 * [|Tales of the Abyss - Wikipedia]
 * Slayer - [|Seasons in the Abyss], [|Wacken] [|2014], [|YouTube] Video

=References= =What links here?= include page="Abyss" component="backlinks" limit="40"
 * Up one Level**