Rival
Rival, (Rival Chess, NewRival)
a chess engine by Chris Moreton and Russell Newman, written in C++, starting in 1992 as MS-DOS program with an own GUI,
before being rewritten for Windows as WinBoard compatible engine (NewRival) a couple of years later
[2].
The UCI protocol was implemented in 2006 as Rival UCI 1.18 for Windows, while the current Rival engine was ported to Java as used in the Android application.
DOS and Windows versions are available as source code [3].
Further, Rival is able to play various chess variants like Kinglet, Losing Chess, and Shatranj
[4].
Description
Rival is described in detail on the redhotpawn sites [5]. Rival for Java uses bitboards with big-endian rank-file mapping. It determines sliding piece attacks with magic bitboards [6] [7].
Search
Rival applies PVS negamax alpha-beta with transposition table, killer heuristic and quiescence inside an iterative deepening framework.
Evaluation
The evaluation function calculates scores of both sides, and returns the score difference of the side to move minus the side not on the move in negamax manner, considering pawn structure, various piece terms, and king safety. A quote from Rival's Static Board Evaluation site [8]:
The factors considered in the evaluation function have been chosen because they are relatively quick to calculate. Very few of the ideas are entirely original; many represent elementary chess knowledge and many have been used in other chess programs. Sources that have been of particular influence are Slate & Atkin (1977) [9], Newborn (1975) [10] and Hyatt et al (1985) [11]. Some of the factors have been added to overcome certain weaknesses that the program has shown, others have been left out in the hope that the gain in search speed would outweigh the loss in evaluation quality. The work of Berliner et al (1990) [12] suggests the opposite to the last assumption.
Sreenshots
Forum Posts
- Rival Chess 1.5.041 by Chris Moreton, rgcc, November 03, 1998
- Rival Chess by Đorđe Vidanović, rgcc, November 04, 1998
- History Heuristic on its own by Chris Moreton, CCC, January 16, 1999 » History Heuristic
- Rival Chess advances to Winboard Championships! by Daniel Chancey, CCC, March 24, 2000
- Rival Chess 1.0.1 and 1.0.3 by Tony Mokonen, CCC, July 29, 2017
External Links
Chess Engine
- Rival Chess - Red Hot Pawn
- GitHub - chris-moreton/rival-chess-android-engine
- GitHub - chris-moreton/rival-chess-dos
- Rival Chess Engine (Wayback Machine)
- Rival Chess Engine - Magic Bitboards (Wayback Machine)
- Rival Chess Free - Android Apps on Google Play
- Rival in CCRL 40/15
- Defending Humanity's Honor by Tim Krabbé, see game NewRival - Faile with 493 moves, and playing 402 moves with bare kings!
Chess Programming
- Negamax
- Alpha-Beta Pruning
- Move Ordering
- Quiescence
- Transposition/Refutation Tables
- Killer Heuristics
- Minimal Window
- Timing Moves
- Draw Scoring
- Static Board Evaluation
- Openings
- Understanding magic bitboards in chess programming (Wayback Machine) by Chris Moreton in his programming blog, August 07, 2013
Misc
References
- ↑ Yr Eifl from Llandegfan at sunset, Image by Velela, February 21, 2005, Wikimedia Commons
- ↑ Rival Chess Engine - About (Wayback Machine)
- ↑ Rival Chess - Red Hot Pawn
- ↑ The Chess Variant Pages: Computer resources
- ↑ Introduction
- ↑ Rival Chess Engine - Magic Bitboards (Wayback Machine)
- ↑ Understanding magic bitboards in chess programming (Wayback Machine) by Chris Moreton in his programming blog, August 07, 2013
- ↑ Rival Chess Engine - Static Board Evaluation
- ↑ David Slate, Larry Atkin (1977). CHESS 4.5 - The Northwestern University Chess Program. Chess Skill in Man and Machine, reprinted (1988) in Computer Chess Compendium » Chess 4.5
- ↑ Monroe Newborn (1975). Computer Chess. Academic Press » Ostrich
- ↑ Robert Hyatt, Albert Gower, Harry Nelson (1985). Cray Blitz. Advances in Computer Chess 4 » Cray Blitz
- ↑ Hans Berliner, Gordon Goetsch, Murray Campbell, Carl Ebeling (1990). Measuring the Performance Potential of Chess Programs. Artificial Intelligence, Vol. 43, No. 1, pp. 7-21 » HiTech
- ↑ 13.0 13.1 Rival Chess