The simple truth ...

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

The simple truth ...

Post by Michael Sherwin »

... the way that I see it.

As a programmer my skills are way below par. It is a miracle that I ever was able to create a working chess engine in the first place--let alone an interesting and rather strong one. I learned (self taught) to program (other than simple 8-bit micro basic) in C by just jumping in and writing a chess program. I learned to do both at the same time. It is the hardest (and most frustrating) thing that I have ever done. My memory is poor for specifics like spelling and computer language syntax, so for years a simple C-primer was used to write just about every line of code. With out the book my mind was blank and I could not write a single line of code. Now, I no longer need the book, but it took a long, long time to get to this point.

The reason that I am admitting this is that I do not know when if ever I will be able to find the time to continue. Taking care of my mother who has alzhimers is taking all my time and strength. I just want people to know what RomiChess is and the idea behind it.

What is RomiChess:

It is a poorly written chess engine. The eval took me only one day to write and is just some vauge idea of how I envisioned the eval should work that was slapped together. Some tunning now and then has improved it slightly. The search is just as bad. I've spent 99% of the developement time on the search and have accomplished very little. There are a multitude of things that I have not been able to successfully add to it. The hash tables are not designed properly and may be buggy. Any attempt to change them have only led to crashes. The learning is broke in that it often fails the verify move routine and one third of the learn file is useless garbage. Also the learning does not handle tranpositions. Still RomiChess can learn to beat some really strong chess programs in a very small amount of games. I could go on and on about the deficiencies in RomiChess.

So, what is the point to my admittance of near ineptitude. It is just simply that if there is as much wrong with RomiChess as I claim there is and it has still managed to climb above 2400 elo CEGT and even 2500 elo CCRL then there must be something good about it.

The Idea behind RomiChess:

The something good, I postulate, is the idea behind it. Or should I say the philosophy behind it. The philosophy behind it, is that a chess program is only as good as its next move. Pure endleaf evaluation does not take this into concideration. In this scheme any move is fine as long as the score that is backed up for it is good. Many games are lost due to bad moves that have a good value backed up for it. Just that simple. RomiChess does a very poor job at setting up piece square tables at the beginning of every search that tend to guide the pieces to squares that make sense given the position on the board, now. This can be done better, much better, than I have done it. The main idea has been done only in the thinest way. The potential is huge and untapped.

The big idea:

I bonus in the endleaf eval a value for each root move and each responce. so, there is a line similar to this--score += (wEvalBonus - bEvalBonus)--that passes the bonus to all nodes in the search tree beyound the first two moves. The way that it is done now is very 'thin' as only history counters are used for this. A very complex positional analisys should be conducted to determine these bonuses.

What I am saying:

What I am saying, IMHO, is that if someone far more capable than myself were to have written a chess engine, using the philosophy that I used in RomiChess, then ...

$.02
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
brianr
Posts: 536
Joined: Thu Mar 09, 2006 3:01 pm

Re: The simple truth ...

Post by brianr »

How much of Romi's sucess would you say is due to learning vs without?

IIRC, Tinker would often trounce Romi in the early days.
Now it is the other way around.
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: The simple truth ...

Post by Michael Sherwin »

brianr wrote:How much of Romi's sucess would you say is due to learning vs without?

IIRC, Tinker would often trounce Romi in the early days.
Now it is the other way around.
The CEGT and CCRL ratings were arrived at through testing with learning dissabled. Romi's play is chaotic. In a recent tournament bearing her name (A Romp with Romi) she did much better against the top engines than she did against the bottom engines and came in last place with 40%.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: The simple truth ...

Post by Dann Corbit »

Michael Sherwin wrote:
brianr wrote:How much of Romi's sucess would you say is due to learning vs without?

IIRC, Tinker would often trounce Romi in the early days.
Now it is the other way around.
The CEGT and CCRL ratings were arrived at through testing with learning dissabled. Romi's play is chaotic. In a recent tournament bearing her name (A Romp with Romi) she did much better against the top engines than she did against the bottom engines and came in last place with 40%.
If she is also learning against the poor engines, then perhaps that will explain the worse performace against poor engines.

(Luke 6:40) A pupil is not above his teacher, but everyone that is perfectly instructed will be like his teacher.
;-)
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: The simple truth ...

Post by Michael Sherwin »

Dann Corbit wrote:
Michael Sherwin wrote:
brianr wrote:How much of Romi's sucess would you say is due to learning vs without?

IIRC, Tinker would often trounce Romi in the early days.
Now it is the other way around.
The CEGT and CCRL ratings were arrived at through testing with learning dissabled. Romi's play is chaotic. In a recent tournament bearing her name (A Romp with Romi) she did much better against the top engines than she did against the bottom engines and came in last place with 40%.
If she is also learning against the poor engines, then perhaps that will explain the worse performace against poor engines.

(Luke 6:40) A pupil is not above his teacher, but everyone that is perfectly instructed will be like his teacher.
;-)
That might explain Romi's poor performance at WBEC this time.

In George Lyapco's tournament Romi is one point out of a promotion spot just two points behind Garbo! Oh, and there are two rounds left to go. But, Romi will have to take both games (maybe 1.5/2) from DanaSah 3.63 to promote and hope that one of the three engines with 18 points stumble.

Edit:Just saw this one--Romi sac's a piece! :D

Code: Select all

[Event "ChessWar XII C 40m/20'"]
[Site "DEVILLE1-5D9C28"]
[Date "2008.05.18"]
[Round "7.15"]
[White "RomiChess P3k_x64"]
[Black "Francesca MAD 0.1.3"]
[Result "1-0"]
[BlackElo "2374"]
[ECO "B40/03"]
[Opening "Sicilian"]
[Variation "Fianchetto (...e6 Nc3...a6)"]
[WhiteElo "2255"]
[TimeControl "40/7200:40/7200:7200"]
[Termination "normal"]
[PlyCount "165"]
[WhiteType "program"]
[BlackType "program"]

1.Nf3 c5 2.e4 {-0.05/9 -0.05/9} e6 3.Nc3 {-0.74/9 -0.74/9} a6 4.g3 {-0.98/9
-0.98/9} b5 5.Bh3 {0.78/15 +0.78/15} Bb7 {-0.23/14 -0.23/14} 6.d3 {0.74/16 +0.74/16} d5
{-0.16/14 -0.16/14} 7.exd5 {0.90/15 +0.90/15} b4 {-0.22/14 -0.22/14} 8.dxe6 {0.92/16
+0.92/16} bxc3 {-0.95/16 -0.95/16} 9.exf7+ {0.93/16 +0.93/16} Kxf7 10.Ne5+ {0.80/15
+0.80/15} Ke8 {-0.57/15 -0.57/15} 11.Qh5+ {0.78/16  +0.78/16} g6 12.Nxg6 {1.10/17
+1.10/17} Nf6 13.Qe2+ {1.19/17 +1.19/17} Be7 14.Nxe7 {1.19/17 +1.19/17} Qxe7 {0.00/15
+0.00/15} 15.Qxe7+ {1.09/18 +1.09/18} Kxe7 16.O-O {1.11/18 +1.11/18} cxb2 {-0.44/15
-0.44/15} 17.Bxb2 {1.11/17 +1.11/17} Kf7 {-0.49/17 -0.49/17} 18.Rfe1 {1.27/17 +1.27/17}
Bc8 19.Bg2 {1.41/17 +1.41/17} Ra7 20.Rab1 {1.29/16 +1.29/16} Re8 {-0.52/17
-0.52/17} 21.Rxe8 {1.33/17 +1.33/17} Nxe8 {-1.05/19 -1.05/19} 22.Bc3 {1.34/17  +1.34/17}
Nd7 {-0.36/15 -0.36/15} 23.Bd5+ {1.22/17 +1.22/17} Kf8 24.Be4 {1.31/17 +1.31/17} h6
{-0.39/17 -0.39/17} 25.f3 {1.32/16 +1.32/16} Nd6 {-0.24/16 -0.24/16} 26.h4 {1.22/16
+1.22/16} Nb5 {-0.18/16 -0.18/16} 27.Bd2 {1.25/17 +1.25/17} Kg7 {-0.28/18 -0.28/18} 28.a4
{1.32/16 +1.32/16} Nd6 {-0.46/17 -0.46/17} 29.Bc3+ {1.30/16 +1.30/16} Kf7 {-0.36/16
-0.36/16} 30.Bd5+ {1.26/16  +1.26/16} Kg6 {-0.61/18 -0.61/18} 31.Bc6 {1.29/17 +1.29/17}
Rc7 {-0.45/18 -0.45/18} 32.Be4+ {1.37/17 +1.37/17} Nxe4 {-0.44/19 -0.44/19} 33.dxe4
{1.42/19 +1.42/19} Rc6 34.a5 {1.71/17 +1.71/17 } Re6 35.g4 {1.83/17 +1.83/17} Kf7
{-0.64/20 -0.64/20} 36.Kf2 {1.76/18 +1.76/18} Rg6 37.Ke2 {1.95/17 +1.95/17} Ke7 {-0.73/18
-0.73/18} 38.h5 {2.06/18 +2.06/18} Rc6 {-0.80/20 -0.80/20} 39.Bd2 {2.25/18 +2.25/18} Ne5
{-0.80/19 -0.80/19} 40.g5 {2.14/17 +2.14/17} hxg5 {-0.51/20 -0.51/20} 41.Bxg5+ {1.82/19
+1.82/19} Kf8 42.Bf4 {2.17/17 +2.17/17} Nf7 {-0.90/19 -0.90/19} 43.Rg1 {2.38/15 +2.38/15}
Be6 {-0.79/17 -0.79/17} 44.Kf2 {2.12/16 +2.12/16} Bc4 {-0.79/18 -0.79/18} 45.Rh1
{2.09/18 +2.09/18} Kg7 {-0.79/18 -0.79/18} 46.Ke3 {2.02/18 +2.02/18} Rc8 {-0.65/17
-0.65/17} 47.Rg1+ {1.96/18 +1.96/18} Kh8 {-0.66/18 -0.66/18} 48.Rg6 {1.94/19 +1.94/19}
Nd8 49.Rh6+ {1.84/18  +1.84/18} Kg7 {-0.48/21 -0.48/21} 50.Rb6 {1.76/18 +1.76/18}
Kh8 {-0.46/19 -0.46/19} 51.Bg5 {1.96/18 +1.96/18} Ne6 {-0.73/19 -0.73/19} 52.f4
{2.00/19 +2.00/19} Kh7 53.Bf6 {1.72/18 +1.72/18} Nd4 {0.00/20 +0.00/20} 54.Bxd4 {1.66/19
+1.66/19} cxd4+ {0.00/21 +0.00/21} 55.Kxd4 {1.74/20  +1.74/20} Bb5 56.e5 {1.36/17
+1.36/17} Rxc2 {0.25/19 +0.25/19} 57.f5 {1.50/18 +1.50/18} Rd2+ {0.25/18 +0.25/18} 58.Ke4
{1.72/18 +1.72/18} Rh2 {0.25/19 +0.25/19} 59.Kf4 {1.94/17 +1.94/17 } Rxh5 {0.00/18
+0.00/18} 60.e6 {2.08/18 +2.08/18} Ba4 61.Rxa6 {2.93/19 +2.93/19} Rh1 62.Kg5 {4.00/17
+4.00/17} Rg1+ {-0.80/18 -0.80/18} 63.Kf6 {4.05/18 +4.05/18} Rg8 {-0.80/21  -0.80/21}
64.Rb6 {4.06/19 +4.06/19} Rf8+ {-0.80/19 -0.80/19} 65.Ke5 {4.99/19 +4.99/19} Ra8
{-1.40/20 -1.40/20} 66.a6 {5.46/20 +5.46/20} Bd1 67.f6 {6.55/19 +6.55/19} Kg6 {-4.40/19
-4.40/19} 68.f7 {7.36/19 +7.36/19} Kg7 69.Rb1 {6.60/17 +6.60/17} Bh5 {-14.60/25
-14.60/25} 70.a7 {11.35/18  +11.35/18} Bxf7 71.Rb7 {16.64/19 +16.64/19} Re8 {-15.17/20
-15.17/20} 72.Rxf7+ {17.15/18  +17.15/18} Kg6 {-20.52/22 -20.52/22} 73.Rb7 {18.15/17
+18.15/17} Ra8 {-198.46/23 -198.46/23} 74.e7 {18.67/18 +18.67/18} Re8 75.Ke6 {19.59/17
+19.59/17} Rc8 76.Rb8 {28.02/13 +28.02/13} Rc6+ {-198.88/22 -198.88/22} 77.Kd5 {29.03/13
+29.03/13} Ra6 {-199.02/22 -199.02/22} 78.e8=Q+ {M500/5  +327.53/5} Kg5 {-198.60/10
-198.60/10} 79.Qe5+ {M500/9 +327.53/9} Kh4 {-198.60/8 -198.60/8} 80.Rb4+ {M500/2 +327.58/2}
Kh3 81.Qe3+ {M500/2 +327.58/2} Kg2 {-199.58/18 -199.58/18} 82.Rb2+ {M500/2
+327.58/2} Kh1 {-199.72/20 -199.72/20} 83.Qc1# {M500/2  +327.65/2 Romi says, White mates} 
{Mate} 1-0
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through