From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * RomiChess

Pavlov in his laboratory [1]

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.


RomiChess is famous for its learning approach [2], and uses bitboards as basic data structure, in particular Sherwin Bitboards to determine sliding piece attacks [3]. 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 [4].


As explained by Michael Sherwin, RomiChess uses two types of learning [5] :

  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 [6]

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

2010 ...

2015 ...



External Links

Chess Engine


Return on marketing investment from Wikipedia
6019. Who? (C.N. 6006) - Chess Notes by Edward Winter


Up one level