Difference between revisions of "ROCE"

From Chessprogramming wiki
Jump to: navigation, search
(Created page with "'''Home * Engines * ROCE''' '''ROCE''', (Roman's Own Chess Engine)<br/> an UCI compliant chess engine by Roman Hartmann, written in C. Its devel...")
 
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
  
 
'''ROCE''', (Roman's Own Chess Engine)<br/>
 
'''ROCE''', (Roman's Own Chess Engine)<br/>
an [[UCI]] compliant chess engine by [[Roman Hartmann]], written in [[C]]. Its development started in late 2003.  
+
an [[UCI]] compliant chess engine by [[Roman Hartmann]], written in [[C]] - development started in late 2003.  
 
ROCE played the [[WCRCC 2007]] and the [[WCRCC 2008]] respectively, and became a reference engine for [[Perft]] and [[Perft#Divide|Divide]]  
 
ROCE played the [[WCRCC 2007]] and the [[WCRCC 2008]] respectively, and became a reference engine for [[Perft]] and [[Perft#Divide|Divide]]  
 
<ref>[http://www.rocechess.ch/perft.html A few informations regarding perft/divide]</ref>.  
 
<ref>[http://www.rocechess.ch/perft.html A few informations regarding perft/divide]</ref>.  
Line 8: Line 8:
 
=Description=
 
=Description=
 
Roce's [[Board Representation|board is represented]] by a [[10x12 Board|10x12 board]] and a [[Piece-Lists|piece list]], [[Incremental Updates|incrementally updated]] during [[Make Move|make move]],  
 
Roce's [[Board Representation|board is represented]] by a [[10x12 Board|10x12 board]] and a [[Piece-Lists|piece list]], [[Incremental Updates|incrementally updated]] during [[Make Move|make move]],  
which is also applied to the [[Evaluation|evaluation]] [[Score|score]]. It [[Move Generation#Legal|generates legal moves]] only.  
+
which is also applied to the [[Evaluation|evaluation]] [[Score|score]]. It initially [[Move Generation#Legal|generated legal moves]] only, and switched to [[Move Generation#PseudoLegal|pseudo legal]] later <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=7&t=35586&start=5 Re: Legal or Pseudo-Legal Move generation] by [[Roman Hartmann]], [[CCC]], July 27, 2010</ref>.
 
Plain [[Alpha-Beta|alpha-beta]] is realized in [[Negamax|negamax]] manner with [[Beta-Cutoff|Beta-cutoffs]], and performs [[Null Move Pruning|null move pruning]] with [[Depth Reduction R|R=2]] and [[Null Move Pruning#ZugzwangVerification|verification search]],  
 
Plain [[Alpha-Beta|alpha-beta]] is realized in [[Negamax|negamax]] manner with [[Beta-Cutoff|Beta-cutoffs]], and performs [[Null Move Pruning|null move pruning]] with [[Depth Reduction R|R=2]] and [[Null Move Pruning#ZugzwangVerification|verification search]],  
 
and a [[Quiescence Search|quiescence search]] considering [[MVV-LVA|MVV/LVA]] to [[Move Ordering|order moves]] <ref>Description based on [http://www.rocechess.ch/rocee.html ROCE - Roman's Own Chess Engine - A few technical details]</ref>.  
 
and a [[Quiescence Search|quiescence search]] considering [[MVV-LVA|MVV/LVA]] to [[Move Ordering|order moves]] <ref>Description based on [http://www.rocechess.ch/rocee.html ROCE - Roman's Own Chess Engine - A few technical details]</ref>.  
Line 18: Line 18:
 
* [http://www.talkchess.com/forum/viewtopic.php?t=21919 WCRCC-Report] by [[Roman Hartmann]], [[CCC]], June 23, 2008 » [[WCRCC 2008]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=21919 WCRCC-Report] by [[Roman Hartmann]], [[CCC]], June 23, 2008 » [[WCRCC 2008]]
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=6&t=35439 STS <nowiki>[1-10]</nowiki> Roce 0.0380] by [[Swaminathan Natarajan]], July 15, 2010 » [[Strategic Test Suite]]
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=6&t=35439 STS <nowiki>[1-10]</nowiki> Roce 0.0380] by [[Swaminathan Natarajan]], July 15, 2010 » [[Strategic Test Suite]]
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=35586&start=5 Re: Legal or Pseudo-Legal Move generation] by [[Roman Hartmann]], [[CCC]], July 27, 2010
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=36411&start=12 Re: Question regarding WAC number 2] by [[Roman Hartmann]], [[CCC]], October 19, 2010 » [[Win at Chess]]
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=48502&start=1 Re: Chess960 / FRC on ICS] by [[Roman Hartmann]], [[CCC]], July 01, 2013 » [[Chess960]]
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=52965 perft/divide bug in roce38 and Sharper? [SOLVED]] by thedrunkard, [[Computer Chess Forums|Winboard Forum]], October 16, 2013 » [[Perft]], [[Sharper]]
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=52965 perft/divide bug in roce38 and Sharper? [SOLVED]] by thedrunkard, [[Computer Chess Forums|Winboard Forum]], October 16, 2013 » [[Perft]], [[Sharper]]
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=57235&start=21 Re: Worst advice] by [[Roman Hartmann]], [[CCC]], August 11, 2015 » [[Aspiration Windows]]
  
 
=External Links=
 
=External Links=
Line 33: Line 37:
 
'''[[Engines|Up one level]]'''
 
'''[[Engines|Up one level]]'''
 
[[Category:UCI]]
 
[[Category:UCI]]
 +
[[Category:Chess960]]
 
[[Category:PC]]
 
[[Category:PC]]
 
[[Category:X86]]
 
[[Category:X86]]

Latest revision as of 16:07, 22 November 2020

Home * Engines * ROCE

ROCE, (Roman's Own Chess Engine)
an UCI compliant chess engine by Roman Hartmann, written in C - development started in late 2003. ROCE played the WCRCC 2007 and the WCRCC 2008 respectively, and became a reference engine for Perft and Divide [1].

Description

Roce's board is represented by a 10x12 board and a piece list, incrementally updated during make move, which is also applied to the evaluation score. It initially generated legal moves only, and switched to pseudo legal later [2]. Plain alpha-beta is realized in negamax manner with Beta-cutoffs, and performs null move pruning with R=2 and verification search, and a quiescence search considering MVV/LVA to order moves [3].

See also

Forum Posts

External Links

Chess Engine

A few informations regarding perft/divide » Perft
How to write a chess engine

Misc

References

Up one level