Difference between revisions of "RomiChess"

From Chessprogramming wiki
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
'''[[Main Page|Home]] * [[Engines]] * RomiChess'''
 
'''[[Main Page|Home]] * [[Engines]] * RomiChess'''
  
[[FILE:Ivan-Pavlov06.jpg|border|right|thumb| [https://en.wikipedia.org/wiki/Ivan_Pavlov Pavlov] in his laboratory <ref>[https://en.wikipedia.org/wiki/Ivan_Pavlov Pavlov] in his laboratory, Image by [https://en.wikipedia.org/wiki/Karl_Bulla Karl Bulla], [https://en.wikipedia.org/wiki/Iskra_(magazine) Iskra magazine] No. 12, March 24, 1913, [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons]</ref> ]]
+
[[FILE:Ivan-Pavlov06.jpg|border|right|thumb| [https://en.wikipedia.org/wiki/Ivan_Pavlov Pavlov] in his laboratory <ref>[https://en.wikipedia.org/wiki/Ivan_Pavlov Pavlov] in his laboratory, Image by [https://en.wikipedia.org/wiki/Karl_Bulla Karl Bulla], [https://history-foto.livejournal.com/268684.html ИСКРЫ, No. 12, March 24, 1913], [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons]</ref> ]]
  
 
'''RomiChess''', (Romi)<br/>
 
'''RomiChess''', (Romi)<br/>
Line 17: Line 17:
 
# [https://en.wikipedia.org/wiki/Ivan_Pavlov Pavlov's] [https://en.wikipedia.org/wiki/Classical_conditioning 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 [[Transposition Table|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.  
 
# [https://en.wikipedia.org/wiki/Ivan_Pavlov Pavlov's] [https://en.wikipedia.org/wiki/Classical_conditioning 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 [[Transposition Table|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.  
  
=Tournaemnt Play=
+
=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.  
 
RomiChess played the [[ACCA 2006]] and [[ACCA 2008]] ACCA Americas' Computer Chess Championships, and the [[WCRCC 2008]] ACCA World Computer Rapid Chess Championship.  
  
Line 59: Line 59:
 
==2015 ...==
 
==2015 ...==
 
* [http://www.talkchess.com/forum/viewtopic.php?t=62309 I've been fiddling with my chess engine] by [[Michael Sherwin]], [[CCC]], November 29, 2016
 
* [http://www.talkchess.com/forum/viewtopic.php?t=62309 I've been fiddling with my chess engine] by [[Michael Sherwin]], [[CCC]], November 29, 2016
 +
'''2017'''
 
* [http://www.talkchess.com/forum/viewtopic.php?t=64912 What is causing this problem?] by [[Michael Sherwin]], [[CCC]], August 16, 2017 » [[Move Ordering]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=64912 What is causing this problem?] by [[Michael Sherwin]], [[CCC]], August 16, 2017 » [[Move Ordering]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=64960 RomiChess P3M] by [[Graham Banks]], [[CCC]], August 22, 2017
 
* [http://www.talkchess.com/forum/viewtopic.php?t=64960 RomiChess P3M] by [[Graham Banks]], [[CCC]], August 22, 2017
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=65069 Seems Romichess P3m is a failure] by [[Michael Sherwin]], [[CCC]], September 03, 2017
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=6&t=65350 RomiChess reaches a milestone] by [[Michael Sherwin]], [[CCC]], October 01, 2017
 
* [http://www.talkchess.com/forum/viewtopic.php?t=65351 Update on null move and LMR] by [[Michael Sherwin]], [[CCC]], October 01, 2017 » [[Depth Reduction R|R]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=65351 Update on null move and LMR] by [[Michael Sherwin]], [[CCC]], October 01, 2017 » [[Depth Reduction R|R]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=65384 RomiChess P3n released] by [[Graham Banks]], [[CCC]], October 05, 2017
 
* [http://www.talkchess.com/forum/viewtopic.php?t=65384 RomiChess P3n released] by [[Graham Banks]], [[CCC]], October 05, 2017
Line 66: Line 69:
 
* [http://www.talkchess.com/forum/viewtopic.php?t=65990 Understanding the power of reinforcement learning] by [[Michael Sherwin]], [[CCC]], December 12, 2017
 
* [http://www.talkchess.com/forum/viewtopic.php?t=65990 Understanding the power of reinforcement learning] by [[Michael Sherwin]], [[CCC]], December 12, 2017
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66051 I can't believe that so many people don't get it!] by [[Michael Sherwin]], [[CCC]], December 18, 2017
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66051 I can't believe that so many people don't get it!] by [[Michael Sherwin]], [[CCC]], December 18, 2017
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=66122 Two new instances of RomiChess in self play] by [[Michael Sherwin]], [[CCC]], December 25, 2017
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=6&t=66152 RomiFischer vs RomiKarpov for some lite fun] by [[Michael Sherwin]], [[CCC]], December 27, 2017
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=6&t=66166 RomiKarpov vs RomiKasparov] by [[Michael Sherwin]], [[CCC]], December 28, 2017
 +
'''2018'''
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66199 Training with RomiChess in console mode] by [[Michael Sherwin]], [[CCC]], January 01, 2018
 
* [http://www.talkchess.com/forum/viewtopic.php?t=66199 Training with RomiChess in console mode] by [[Michael Sherwin]], [[CCC]], January 01, 2018
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=66213 Idea for Michael/RomiChess] by [[Brendan J. Norman]], [[CCC]], Januray 02, 2018
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=6&t=66977 Some RomiChess progress] by [[Michael Sherwin]], [[CCC]], March 31, 2018
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=6&t=68486 Romi-Carlsen vs Romi-Caruana for entertainment only] by [[Michael Sherwin]], [[CCC]], September 22, 2018
  
 
=External Links=  
 
=External Links=  

Latest revision as of 21:01, 4 March 2019

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.

Description

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

Learning

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

2017

2018

External Links

Chess Engine

Misc

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

References

Up one level