Rival

Home * Engines * Rival

[ The Rivals [1] 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].

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](David_Slate "David Slate") & [Atkin](Larry_Atkin "Larry Atkin") (1977) <a id="cite-note-9" href="#cite-ref-9">[9]</a>, [Newborn](Monroe_Newborn "Monroe Newborn") (1975) <a id="cite-note-10" href="#cite-ref-10">[10]</a> and [Hyatt](Robert_Hyatt "Robert Hyatt") et al (1985) <a id="cite-note-11" href="#cite-ref-11">[11]</a>. 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](Hans_Berliner "Hans Berliner") et al (1990) <a id="cite-note-12" href="#cite-ref-12">[12]</a> suggests the opposite to the last assumption. 

Sreenshots

DOS & Windows

[13]

Rivaldos.jpgRivalwin.jpg
Rival for DOSRival for Windows

Android

JavaRival, UCI engine for Android [13]

Forum Posts

Chess Engine

Chess Programming

Negamax Alpha-Beta Pruning Move Ordering Quiescence Transposition/Refutation Tables Killer Heuristics Minimal Window Timing Moves Draw Scoring Static Board Evaluation Openings

Misc

References

  1. Yr Eifl from Llandegfan at sunset, Image by Velela, February 21, 2005, Wikimedia Commons
  2. Rival Chess Engine - About ( Wayback Machine)
  3. Rival Chess - Red Hot Pawn
  4. The Chess Variant Pages: Computer resources
  5. Introduction
  6. Rival Chess Engine - Magic Bitboards ( Wayback Machine)
  7. Understanding magic bitboards in chess programming ( Wayback Machine) by Chris Moreton in his programming blog, August 07, 2013
  8. Rival Chess Engine - Static Board Evaluation
  9. 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
  10. Monroe Newborn (1975). Computer Chess. Academic Press » Ostrich
  11. Robert Hyatt, Albert Gower, Harry Nelson (1985). Cray Blitz. Advances in Computer Chess 4 » Cray Blitz
  12. 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. 13.0 13.1 Rival Chess

Up one level