Computer Chess Club Archives


Search

Terms

Messages

Subject: Rybka - My 2 Cents...

Author: Steve Maughan

Date: 12:06:27 12/07/05


For what’s worth here are my thoughts and comments about Rybka from an aspiring
programmer’s perspective.

I hate to admit to this but my first knee-jerk thought when I heard about the
amazing results was, “is it a clone”.  I think it’s a valid question since I
hadn’t heard of the program or the programmer before the release of the beta
version.  But it’s also a question I’d hate anyone else to ask of my engine -
yet with Fruit, Crafty and Glaurung’s source in the public domain it’s difficult
to avoid.  Can I suggest that if anyone does want to avoid the ‘c’ word they
might consider releasing earlier weaker versions of their programs?  As soon as
I downloaded and played with the engine it became apparent that it’s not a
clone.  In case anyone is wondering here are my main reasons for this
conclusion.

1) Different PVs to any other engine – generally shorter PVs than Fruit’s /
Glaurung’s or Crafty’s

2) Evaluation of positions has no correlation to Fruit’s / Glaurung’s or
Crafty’s

3) Cannot convert some basic endgames e.g. KBN v K

4) Mate scores are always shown as +/-320 – most engines show +/-M??

5) It occasionally crashes!!  Fruit and Glaurung have never crashed on my
machine

6) Upon searching for “Vasik” in the CC Search engine there are a five pages of
posts.  Clearly he has been lurking around CCC for some time.

7) Rybka played in CCT6, coming towards the bottom of the pack – i.e. it does
have a pedigree

So I’m 99.9% sure it’s not a clone.

The next thing that pricked my attention was that the author, Vasik Rajlich, is
an International Master (he’s even in the ChessBase players database along with
his photograph).  Now I always thought that strong chess players didn’t make
great chess programmers.  This is something that Christophe Therone has
commented about in the past – they get too hung up on concepts that are
difficult to program.  Now as a relatively weak chess player (~1700 ELO) and
aspiring chess programmer I’ve always taken some comfort in this thought.  Yet
Rybka seems to disprove this theory; or at least demonstrate an exception.  And
Vasik seems to have taken the typical IM / GM approach of cramming knowledge
into his program with little care for the speed of the search.  This fact has
certainly given me pause for thought.  One thing that Fruit has demonstrated
(especially versions 1.0 and 1.5) is that a good solid search with a relatively
basic evaluation can still play great chess.  In the last five years I would
even say that the consensus view has, up to this point, been that search was the
area of a program that really impacted the strength.  I’m not saying that Rybka
has a weak search, on the contrary it seems to be brilliant at tactics, but for
me Rybka demonstrates the importance of a great evaluation.  I also came across
a CCC post by Vasik where he stated that if you have a relatively fast engine
and you start adding a little knowledge you may well see a fall in strength
since the program’s set of knowledge is not balances and in most positions it’s
just slower than the ‘dumb’ version.  This makes sense and is something that
I’ve observed with Monarch.  I’m certainly inspired to work harder on Monarch’s
evaluation having seen Rybka play – which must be a good thing!

I think with Fruit and Rybka we have interesting times ahead.   Others may
disagree but I see Fruit and Rybka as a somewhat different paradigms.  Fabian
has a brilliantly clean search while I feel Rybka has a fantastic evaluation.
Will they converge or diverge in their approach – who knows?

I’ve also pitted Rybka against the usual suspects and it’s performed admirably.
As others have commented it seems to have sophisticated mobility and space
control heuristics.  It also seems to be relatively happy with odd looking pawn
configurations.  Rybka wins many games due to its pawn race evaluation which
seems to be the best in the industry.  One thing I have noticed is that Rybka
seems to have a tendency to swap off queens early on in the game.  I suspect it
would do better to be a little stickier with its queen and let its tactical
prowess shine through.

Anyway that’s my 2 cents – you may or may not agree.  Here’s a game I enjoyed
where Rybka rips into Gandalf 6.

[Event "5 Minutes/Game + 1 Seconds/Move"]
[Site "Lake Forest, FL"]
[Date "2005.12.05"]
[Round "1"]
[White "Rybka 1.0 Beta 32-bit"]
[Black "Gandalf 6.0"]
[Result "1-0"]

1. d4 {book 0s} d5 {book 0s} 2. c4 {book 0s} dxc4 {book 0s}
3. Nf3 {book 0s} Nf6 {book 0s} 4. e3 {book 0s} e6 {book 0s}
5. Bxc4 {book 0s} a6 {book 0s} 6. Qe2 {book 0s} c5 {book
0s} 7. dxc5 {book 0s} Bxc5 {book 0s} 8. O-O {book 0s} b5
{book 0s} 9. Bd3 {+0.12/11 7s} Nc6 {book 0s} 10. Rd1
{+0.11/11 10s} Qe7 {-0.16/13 21s} 11. a4 {+0.11/11 7s} b4
{-0.25/13 11s} 12. Nbd2 {+0.15/11 10s} O-O {-0.19/13 18s}
13. b3 {+0.22/12 15s} e5 {-0.35/13 14s} 14. Ne4 {+0.38/9
5s} Be6 {-0.32/12 8s} 15. Nxf6+ {+0.98/12 9s} Qxf6
{-0.32/12 14s} 16. Qc2 {+0.90/12 6s} e4 {-0.54/12 17s}
17. Bxe4 {+1.58/11 6s} Qxa1 {-1.05/12 27s} 18. Bb2
{+1.51/12 8s} Qxd1+ {-1.31/13 23s} 19. Qxd1 {+1.62/13 5s}
Rfd8 {-1.31/13 19s} 20. Qc2 {+1.95/12 11s} Na5 {-1.21/11
6s} 21. Bxh7+ {+2.33/11 8s} Kh8 {-1.05/12 6s} 22. Bd3
{+2.60/11 5s} Bxb3 {-1.50/11 8s} 23. Qxc5 {+3.42/13 6s}
Rxd3 {-2.46/13 15s} 24. h3 {+3.42/13 10s} Rd5 {-2.36/12 4s}
25. Qxb4 {+3.84/12 16s} f6 {-3.39/12 13s} 26. Kh2 {+3.84/12
4s} Bd1 {-2.43/10 8s} 27. e4 {+4.53/11 3s} Nc6 {-4.38/14
11s} 28. Qb7 {+4.61/12 4s} Rdd8 {-4.67/13 3s} 29. Qxc6
{+4.74/11 7s} Rdc8 {-4.73/11 3s} 30. Qd5 {+4.75/12 3s} Bxf3
{-4.89/12 3s} 31. gxf3 {+4.75/15 5s} Re8 {-4.86/11 3s}
32. e5 {+5.56/13 3s} fxe5 {-5.82/13 5s} 33. Bxe5 {+6.62/14
3s} Rad8 {-6.30/14 5s} 34. Qe4 {+7.43/14 6s} 1-0



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.