Difference between revisions of "Rival"

From Chessprogramming wiki
Jump to: navigation, search
(Created page with "'''Home * Engines * Rival''' [[FILE:Ye Eifl @ sunset.jpg|border|right|thumb| The Rivals <ref>[https://en.wikipedia.org/wiki/Yr_Eifl Yr Eifl] from [https://e...")
 
Line 15: Line 15:
 
Rival is described in detail on the ''redhotpawn'' sites <ref>[https://www.redhotpawn.com/rival/programming/index.php Introduction]</ref>.  
 
Rival is described in detail on the ''redhotpawn'' sites <ref>[https://www.redhotpawn.com/rival/programming/index.php Introduction]</ref>.  
 
Rival for Java uses [[Bitboards|bitboards]] with [[Bibob#BERF|big-endian rank-file]] [[Square Mapping Considerations|mapping]].  
 
Rival for Java uses [[Bitboards|bitboards]] with [[Bibob#BERF|big-endian rank-file]] [[Square Mapping Considerations|mapping]].  
It determines [[Sliding Piece Attacks|sliding piece attacks]] with [[Magic Bitboards|magic bitboards]] <ref>[http://web.archive.org/web/20160304114223/http://www.rivalchess.com/magic-bitboards/ Rival Chess Engine - Magic Bitboards] ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine])</ref>.
+
It determines [[Sliding Piece Attacks|sliding piece attacks]] with [[Magic Bitboards|magic bitboards]] <ref>[http://web.archive.org/web/20160304114223/http://www.rivalchess.com/magic-bitboards/ Rival Chess Engine - Magic Bitboards] ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine])</ref> <ref>[http://web.archive.org/web/20160314001240/http://www.afewmorelines.com/understanding-magic-bitboards-in-chess-programming/ Understanding magic bitboards in chess programming] by [[Chris Moreton]] in his programming blog, August 07, 2013 ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine])</ref>.
  
 
==Search==
 
==Search==
Line 71: Line 71:
 
: [https://www.redhotpawn.com/rival/programming/evaluation.php Static Board Evaluation]
 
: [https://www.redhotpawn.com/rival/programming/evaluation.php Static Board Evaluation]
 
: [https://www.redhotpawn.com/rival/programming/openings.php Openings]
 
: [https://www.redhotpawn.com/rival/programming/openings.php Openings]
 +
* [http://web.archive.org/web/20160314001240/http://www.afewmorelines.com/understanding-magic-bitboards-in-chess-programming/ Understanding magic bitboards in chess programming] by [[Chris Moreton]] in his programming blog, August 07, 2013 ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine])
 
==Misc==
 
==Misc==
 
* [https://en.wiktionary.org/wiki/rival rival - Wiktionary]
 
* [https://en.wiktionary.org/wiki/rival rival - Wiktionary]

Revision as of 22:18, 27 June 2021

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].

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

DOS & Windows

[13]

Rivaldos.jpg
Rivalwin.jpg
Rival for DOS Rival for Windows

Android

RivalForAndroid.jpg

JavaRival, UCI engine for Android [13]

Forum Posts

External Links

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

Up one level