RomiChess

Home * Engines * RomiChess



RomiChess, (Romi) a WinBoard compatible chess engine by Michael Sherwin, written in C and first released in June 2005, version p3k is available as open source from Jim Ablett's WinBoard chess projects.

=Description= RomiChess is famous for its learning approach , and uses bitboards as basic data structure, in particular Sherwin Bitboards to determine sliding piece attacks. Its search is alpha-beta with transposition table, null move pruning and LMR inside an iterative deepening framework with aspiration windows. Romi's evaluation features an oracle approach of pre-processing piece-square tables at the root.

=Learning= As explained by Michael Sherwin, RomiChess uses two types of learning :
 * 1) Monkey see Monkey do. Romi remembers and incorporates winning lines regardless of which side played the moves into the opening book and can play them back instantly up to 180 ply if the stats for that line remain good.
 * 2) Pavlov's dog experiments adapted to computer chess. Each sides moves are given a slight bonus if that side has won and the other sides moves are given a slight penalty. So, good moves can get a slight penalty and bad moves can get a slight bonus, however, through time those are corrected. These bonus/penalties are loaded into the hash table before each move by the computer. If Romi is loosing game after game then this will cause Romi to 'fish' for better moves to play until Romi starts to win.

=Tournament Play= RomiChess played the ACCA 2006 and ACCA 2008 ACCA Americas' Computer Chess Championships, and the WCRCC 2008 ACCA World Computer Rapid Chess Championship.

=Selected Games= ACCA 2006, round 4, Arasan - RomiChess [Event "ACCA 2006"] [Site "ICC"] [Date "2006.11.08"] [Round "4"] [White "Arasan"] [Black "RomiChess"] [Result "1/2-1/2"]

1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.Qc2 O-O 5.a3 Bxc3+ 6.Qxc3 b6 7.Bg5 Bb7 8.e3 d6 9.Ne2 Nbd7 10.Qd3 c5 11.Nc3 Re8 12.Nb5 Qb8 13.dxc5 dxc5 14.Rd1 h6 15.Bh4 Ne5 16.Qd6 Ne4 17.Qxb8 Raxb8 18.Nxa7 Ng6 19.Bg3 Nxg3 20.hxg3 Red8 21.Rxd8+ Rxd8 22.Nb5 Ne5 23.Nc3 Kh7 24.f4 Ng4 25.e4 Kg8 26.Rg1 Nf6 27.e5 Ne4 28.Nxe4 Bxe4 29.Be2 Rd4 30.b4 Bd3 31.bxc5 bxc5 32.Kf2 Bxe2 33.Kxe2 Rxc4 34.Ra1 Ra4 35.Kd2 Kh7 36.Kc3 c4 37.Kc2 Kg6 38.g4 h5 39.Kc3 hxg4 40.g3 Kf5 41.Kd4 g5 42.fxg5 Kxg5 43.Ra2 f6 44.exf6 Kxf6 45.Ke4 Ke7 46.Kf4 Kd6 47.Ke4 Kc5 48.Ke3 Ra7 49.Ke4 c3 50.Kd3 Rf7 51.Kxc3 Rf3+ 52.Kc2 Rxg3 53.Ra1 Kc4 54.Kd2 Kd4 55.Ke2 Re3+ 56.Kf2 e5 57.a4 Rf3+ 58.Kg2 e4 59.a5 e3 60.a6 e2 61.a7 Rf8 62.Kg3 Ke3 63.Ra3+ Kd4 64.Ra4+ Ke3 65.Ra3+ Kd2 66.Ra2+ Ke3 67.Ra3+ 1/2-1/2

=Forum Posts=

2005 ...

 * Cycle V-2005 final result 10. Bundesliga- games - RomiChess Proto 1a ! by Karl-Heinz Söntges, CCC, June 17, 2005
 * Gauntlets Liste B 5' + 5" RomiChess Proto 2k - report and games by Karl-Heinz Söntges, CCC, December 03, 2005
 * RomiChess && learning or the emperor has no clothes by Michael Sherwin, Winboard Forum, May 19, 2006
 * New RomiChess released (WBEC site) by Michael Sherwin, CCC, January 31, 2008
 * Question(s)/tips/discussion about RomiChess by Martin Thoresen, CCC, April 06, 2008
 * The simple truth ... by Michael Sherwin, CCC, May 18, 2008
 * Normalizing the eval by Michael Sherwin, CCC, June 04, 2009
 * RomiChess useing Dann Corbit's smooth formula for 'R' by Michael Sherwin, CCC, December 30, 2009
 * Re: Did people try replacing LMR by pruning by Michael Sherwin, CCC, December 31, 2009

2010 ...

 * Romichess bug (Michael?) by Miguel A. Ballicora, CCC, August 28, 2010
 * Re: Positional learning by Michael Sherwin, CCC, December 18, 2010

2015 ...
2017 2018
 * I've been fiddling with my chess engine by Michael Sherwin, CCC, November 29, 2016
 * What is causing this problem? by Michael Sherwin, CCC, August 16, 2017 » Move Ordering
 * RomiChess P3M by Graham Banks, CCC, August 22, 2017
 * Seems Romichess P3m is a failure by Michael Sherwin, CCC, September 03, 2017
 * RomiChess reaches a milestone by Michael Sherwin, CCC, October 01, 2017
 * Update on null move and LMR by Michael Sherwin, CCC, October 01, 2017 » R
 * RomiChess P3n released by Graham Banks, CCC, October 05, 2017
 * AlphaGo Zero And AlphaZero, RomiChess done better by Michael Sherwin, CCC, December 07, 2017 » AlphaZero
 * Understanding the power of reinforcement learning by Michael Sherwin, CCC, December 12, 2017
 * I can't believe that so many people don't get it! by Michael Sherwin, CCC, December 18, 2017
 * Two new instances of RomiChess in self play by Michael Sherwin, CCC, December 25, 2017
 * RomiFischer vs RomiKarpov for some lite fun by Michael Sherwin, CCC, December 27, 2017
 * RomiKarpov vs RomiKasparov by Michael Sherwin, CCC, December 28, 2017
 * Training with RomiChess in console mode by Michael Sherwin, CCC, January 01, 2018
 * Idea for Michael/RomiChess by Brendan J. Norman, CCC, Januray 02, 2018
 * Some RomiChess progress by Michael Sherwin, CCC, March 31, 2018
 * Romi-Carlsen vs Romi-Caruana for entertainment only by Michael Sherwin, CCC, September 22, 2018

=External Links=

Chess Engine

 * Engine Download List from Ron Murawski's Computer-Chess Wiki
 * Index of /chess/engines/Jim Ablett/ROMICHESS collected by Jim Ablett, hosted by Kirill Kryukov
 * RomiChess P3k 64-bit in KCEC
 * RomiChess in CCRL 40/4
 * RomiChess in CCRL 40/40

Misc

 * Romi (disambiguation) from Wikipedia
 * Return on marketing investment from Wikipedia


 * 5162. Romi/Romih - Chess Notes by Edward Winter
 * 6019. Who? (C.N. 6006) - Chess Notes by Edward Winter


 * Max Romih from Wikipedia
 * Pavlov's Dog - Of Once and Future Kings, Pampered Menial (1975), YouTube Video

=References= Up one level