Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / Question for Vas: Rybka attack issue
- - By Werewolf (*****) [gb] Date 2007-03-11 22:54
Hi Vas,
I want to have rybka as my no1 chess analysis assistant since it is the top program. But when I reach positions like this:
r1b2rk1/ppqp1p1p/1nn1p1p1/4P1B1/3P4/1BPQ1N2/P4PPP/R3K2R w KQ - 0 13


I begin to worry. White wins easily with Bf6 and Qe3 - the first thing that came into my head. Hiarcs finds it instantly. Rybka doesn't find it at all - which is AMAZING. Does rybka not have any k-side attack code in it?? How can it play 3000elo and not know how to finish black off here??
Parent - By stvs (***) [gr] Date 2007-03-12 00:49
you have right.here we have one the main weak spots of rybka yet!.king safety,defence and attack.
hiarcs in kings attacks is strong.fritz have some problems here shredder too.
long term strategy-kings safety is for my opinion the next giant step who must be done without sacrifice
others parts of rybka.is true hiarcs is optimistic for kings attacks but...in dry positional positions have problem
rybka simply have the most accurate estimation of an position than others engines generaly speaking.
but is extremely difficult to put in rybka engine all the strong points of others engines without hurt the
positional play from her.i think vas can explain how difficult is, but for my opinion is tough.
yes rybka already have huge elo. in engines, all the programers says that exist lot room for improvements.
so finaly rybka miss the  position here yes, but i can show you  1000 positions who hiarcs,fritz,shredder fail compared to rybka.
if vas successfully improve and the king safety on rybka then the elo will jump 50 more:)
Parent - By insipid (**) [us] Date 2007-03-12 01:04
You are greatly simplifying the position, number one.  It's not quite as simple as playing Bf6, Qh6, Qg7 mate.  There are several defenses, like ...d6 and ...Ne7, or ...h6 and ...Kh7, which force white to come up with some more moves.  You say Hiarcs finds this move instantly, and yes, it likes Bf6 right away, but still, this is with an eval of less than 5 to me, still far less than it will be two moves later - in other words, Hiarcs isn't seeing everything either.

You are right - in this case Rybka seems to underperform and isn't optimistic enough about this simple dark-square attack.  However, at depth 14 for me Rybka still chooses Bf6.  It will indeed find this move given time.  I understand the eval isn't as high as it should be, but in reality this is true of other programs too.

And even if you played Rybka's first choice here, Nd2, I doubt you'd find many engines that could hold the black side. (or any) The engine is a tool for analysis and it will do just fine here, the key thing is that Rybka's evals are far more reliable than the other top programs most of the time.  You do have somewhat of a point here - other engines are correct to see the position as more strongly favoring white, but you are really simplifying the issues.  To say Hiarcs finds this idea instantly and Rybka doesn't at all is a long way from accurate.

I have at depth 15 Hiarcs 10 giving this +4.38 Bf6 and Rybka giving it +2.07 Bf6.. and just a couple moves later both engines will be rating it closer to +10. 
Parent - By Michael Hart (***) Date 2007-03-12 01:31
  16  00:31     5.593.335  179.863  +1.68  13.Nd2 f5 14.exf6 d5 15.0-0 Nd7 16.Qf3 Qd8 17.f7+ Rxf7 18.Bxd8 Rxf3 19.Nxf3 Nxd8 20.Rfe1 Nf6 21.Ne5 Kg7 22.Bc2 Nf7 23.Rab1 Nxe5 24.Rxe5 b6
  17  00:39     6.763.045  176.933  +1.68  13.Nd2 f5 14.exf6 d5 15.0-0 Nd7 16.Qf3 Qd8 17.f7+ Rxf7 18.Bxd8 Rxf3 19.Nxf3 Nxd8 20.Rfe1 Nf6 21.Rab1 b6 22.c4 Nc6 23.Ba4 Na5 24.c5 Nc4
  18  00:55     9.511.128  174.060  +1.68  13.Nd2 f5 14.exf6 d5 15.0-0 Nd7 16.Qf3 Qd8 17.f7+ Rxf7 18.Bxd8 Rxf3 19.Nxf3 Nxd8 20.Rfe1 Nf6 21.Rab1 Nf7 22.c4 Nd6 23.c5 Nde4
  18  08:41    85.459.612  167.951  +3.33  13.Bf6 h5 14.Nh4 d5 15.Nxg6 Nd7 16.Nxf8 Kxf8 17.Qh7 Ke8 18.Qh8+
  19  08:43    85.832.141  167.953  +3.33  13.Bf6 h5 14.Nh4 d5 15.Nxg6 Nd7 16.Nxf8 Kxf8 17.Qh7 Ke8 18.Qh8+ Nf8 19.0-0 b5 20.Qxh5 Rb8 21.Rac1 Ba6 22.Rfd1 Ng6 23.Qh7 Nce7 24.g3 Bb7 25.Rd2 Nf5

  12  00:02       354.613  185.836  +1.33  13.Nd2 d6 14.exd6 Qxd6 15.Ne4 Qa3 16.0-0 Nd5 17.c4 Qa6 18.Rad1 Ndb4 19.Nf6+ Kh8 20.Qh3 h5 21.Bh6
  13  00:03       588.238  188.944  +1.30  13.Nd2 d6 14.exd6 Qxd6 15.Ne4 Qa3 16.0-0 f5 17.Nc5 Nd5 18.Rfe1 Qb2 19.Rac1 f4 20.Rc2 Qa3 21.Nxe6 Bxe6 22.Rxe6 Qa5
  14  00:10     1.897.658  191.316  +1.51  13.Nd2 d6 14.exd6 Qd7 15.0-0 Nd5 16.Qf3 Qxd6 17.Ne4 Qa3 18.Bh6 f5 19.Bxf8 Qxf8 20.Nc5 Qd6 21.Rfe1 b6 22.Bxd5 exd5 23.Re8+ Kg7
  15  00:39     7.737.399  200.579  +1.68  13.Nd2 Nxe5 14.dxe5 Qxe5+ 15.Qe3 Qxe3+ 16.fxe3 d5 17.0-0 Bd7 18.a4 Bc6 19.Be7 Rfe8 20.Bd6 Rad8 21.Be5 f5 22.Bf6 Rc8 23.a5 Nd7
  16  00:48     9.601.810  201.749  +1.55  13.Nd2 Na5 14.Ne4 f5 15.exf6 d5 16.Nc5 Nbc4 17.0-0 b6 18.Na4 e5 19.Qg3 Bf5 20.Rfe1 Rae8 21.dxe5 Nxb3
  16  03:49    41.886.405  187.031  +2.25  13.Bf6 d6 14.Qd2 Ne7 15.g4 Ned5 16.Qh6 Qxc3+ 17.Nd2 Qxa1+ 18.Bd1 Nxf6 19.exf6

With outlook normal Rybka finds the move in 8 min 43 secs at depth 18. At outlook ultra optimistic Rybka finds the move at depth 16 and 3 min 49 secs.  So Rybka does "understand" the position, it only takes it a bit more time to find the move.
Parent - - By h1a8 (***) [us] Date 2007-03-12 03:44
anti-human rybka will probably find the move in a heartbeat.
It specializes in kingside attacks (as seen in Rybka vs. GM Elhverst).
Parent - - By valdimor [be] Date 2007-03-12 05:20
the reason why rybka doesn't immediatly kill off her opponent is because she likes to do it slowly :))
Parent - - By DamirD81 (***) [dk] Date 2007-03-12 10:38
Rybka Winfinder finds Lf6 in 3 min and 22 sec on longer time controls.
Parent - - By Werewolf (*****) [gb] Date 2007-03-12 10:59
The defences black can offer are very inadequate. The main point is that its evaluation of the position wasn't that high to begin with whereas Hiarcs knew that Bf6 was curtains: +5 is a massive score, which is what I get. Really though it is a pretty simple position. Show this to any titled player and he'll just laugh - he wont even bother trying to defend black's position. Sure black has some defences like Ne7 and Nf5 to protect g7 but anyone can see g4 will stop that.

I could provide you with 20 examples like this where Rybka has trouble.
Parent - - By insipid (**) [us] Date 2007-03-12 14:18
Blacks best defense to Bf6 is ...h6, then Qe3 Kh7 defending h6.  Now white plays Ng5+! and black steps back with Kg8.. and then, do you know what wins now?  Did you see all that immediately when you first saw the position?  Again, you are simplifying the issues.  Neither engine is seeing everything, Hiarcs is just being far more optimistic .. which works out well here, but there will be many examples of this same difference between the engines helping Rybka more.
Parent - - By Werewolf (*****) [gb] Date 2007-03-12 15:47
You are funny. This is one of my own games - yes I DID see Ng5 - it's a standard trick in this sort of position, but no, I did not analyse any further nor is it necessary since black is just lost and there are several ways of winning.

According to the engine (after Kg8) Ne4 or Ne6 is possible. Instead of moving the knight I just simply went for Qh3 h5 g4 and black caved in a few moves later.

All these variations are very easy to see because white has nearly all his army attacking while black is bottled up on the Q-side so white can sac away until he gives mate.
Parent - By grolich (***) Date 2007-03-12 18:11
It's not that difficult to understand this behavior:

1) Modern Chess programs Hiarcs included, use forward pruning to prune out some variations early on. Some do it less aggressively and some a bit more...

This gives the programs something resembling a "directional search", where they look only at the direction they choose.
While Rybka does it more aggressively than any other engine, Hiarcs uses the same technique.

The heuristics and techniques used to know what variations to prune out are different for each engine.

Hiarcs is programmed to search king attacking positions more aggressively, and it often prunes out other, more promising options (I've seen it lose because of this), and while in this position (and many others, to be frank) Hiarcs will perform better than Rybka, but in the vast majority of positions, Rybka will perform better (even in some king attack situations).

It's funny, but the pruning modern programs use, while it increases their level of play, further defines their "style", and makes it more similar to human styles of play, in that it's sometimes hard to find better moves which are not within that style.

2) The move suggested by Rybka Nd2, seems to lead to a completely crushing game for white as well. Even if not immediately winning, I can beat players hundreds of points above me after Nd2. That is, I suspect, one of the reasons that Rybka does not bother searching at other alternatives more closely.

3) Hiarcs' eval: +5 is quite meaningless... I've seen modern programs rate +5 drawn positions (rare, but exist), and +1.3 for easily (and quickly) winning positions. The exact number is not important. What will be the likely result is importnat. Even modern programs don't give that.
+5 by hiarcs and +2.5 by Rybka can be exactly the same. Programs may seem to work on different scales in different types of positions, and Rybka hates giving a large plus to anyone, as far as I can tell.

That's actually a plus, because I can trust that when the evaluation becomes high enough, it is a win 99.99% of the time (there are exceptions even to this, of course), while I've seen Hiarcs give me huge pluses with no forced win.
In the end, if the value is high, there's really no difference between Rybka's +2.5 (when Bf6 is found in single PV mode), and Hiarcs +5.  It was probably one of the ways to make it like this kind of positions anyway...

In conclusion: Hiarcs plays this position better, and many others. Rybka plays most positions better.
Actually, when Hiarcs gets a very promising attacking position against Rybka it tends to have a nice winning percentage, but in most games, it either gets to no such position, or overestimates his chances.

To be fair, evaluation / heuristics / pruning related to king safety and attack are indeed one of the parts in serious need for improvement.
I'm sure Vas is aware of that.

That is why I believe Rybka is such a wonder: it is already incredibly strong (the strongest...) even when it has so many small (and I'm sure a few not so small are hiding) problems and inefficiencies.
Parent - - By grolich (***) Date 2007-03-12 18:23
Actually I have to agree with the player here. There aren't many ways to simplify this... It's already very simple, and after Bf6 h6 Qe3 Kh7,
ALREADY everything wins: not only Ng5 immediately... also h4 wins easily and immediately. (well, not only the dark squares are weak... the g pawn can't move because of Qd3 and Bc2 after h5.

even g4 wins in the same way (delaying Ng5 has no effect).

actually, almost ANY move leaves white with a crushing advantage, even if he does not see the tactics immediately (even just 0-0 will reach a crushing position very quickly... Ng5 will simply be played a bit later.

The thing is, Rybka's Nd2 still leaves white with a totally crushing and easily winning game. The attack is just not as immediately crushing as Bf6.
Cases where there is no good alternative will probably cause Vas a bit more worry.

Though admittedly, I hope this aspect will improve soon.
Parent - - By Werewolf (*****) [gb] Date 2007-03-12 19:36
Grolich has probably got to the bottom of Rybka's...er...shortcomings.

It would have been nice to Vas comment on this though. Vas...?
Parent - - By grolich (***) Date 2007-03-12 19:43
Just in case anyone wrongfully thinks I think Rybka is worse than Hiarcs or that its pruning is just bad.

My meaning was that it is EXACTLY Rybka's excessive pruning that enables her to be as strong as it is...
some positions are played slightly more poorly... others (many more) are played stronger than other programs...

Of course, the werewolf is right (not that I would dare offend a werewolf to his face even if it were not the case...):
It would be nice to know if improving the attack/king safety evaluation / heuristics, anything else related to it is a major
candidate to be improved soon, or will it take a few versions?
Parent - - By BigBen (****) Date 2007-03-13 11:55 Edited 2007-03-13 11:57
Hi,
    Rybka 2.1o MP plays Bf6 :) I had the game set for a 25 min Blitz .... 2.31 MP also played Bf6 and also Rybka 2 beta 8 MP played Bf6 ..... Fastest to find the move was as usual Rybka 2 beta 8 lol which I once again put down to its very high KNS ....

Werewolf what hardware were you useing? This maybe a contributary factor

OK something I have suspected for many years is that if you are using infinite analysis it always takes longer to find a move compared to a game mode so it can be quite easy to miss a move be it in say chessbase 9 or the Fritz GUI's (I cant speak for Chess Assisstant and Arena etc because I dont use them)

Regards
Parent - - By grolich (***) Date 2007-03-13 13:05
The move is found after a minute and thirty seconds on singe processor 32 bit versions of 2.3.1. (at least on my system).
It stands to reason that a dual CPU machine (or a quad) 64 bit (though 32bit should be enough) will find it much faster... Quad 64 would probably find it a lot faster. More than 6 times faster, probably, because I'm using a slightly older Athlon.

I believe that what bothered the player here was that Hiarcs found it in a heartbeat (on the same weak hardware), and other engines in not much more than that...

So, the stronger computer is one reason.
The high Nodes/sec of Rybka 2 beta is another.

But after studying many examples such as this one, I believe that the main reason is that 2.3.1 simply uses heavier pruning.
Vas have said before that he realizes that the different heuristics can be improved upon...
As long as Rybka becomes generally stronger overtime it's OK to have a certain annoyance introduced into the system.
It's the overall performance that counts.

Either the move is pruned out or not selected for a deeper look anymore, so it takes longer to find it.

The only reason that this is a shame is because it prevents some (perhaps many) people from using ONLY Rybka as their analysis engine.
Since not everyone has the resources to buy all the Chess engines they want, many settle for buying just one... and even if Rybka is the stronger one (no if there, actually...it IS), more people would buy it, which would make sure Vas has more resources to feed the fish with, and the cycle of improvement will continue in an ever growing pace.

I know a few people using Rybka and Hiarcs, Rybka and Junior, and Rybka and Shredder for their analysis. Then again, I know people using only Shredder, Hiarcs, Junior and co.

As to what are the exact problems with the heuristics, I have had many examples like this before.

Vas, would it help if I send you examples of games/positions such as this if and when I run into them in the future?
Parent - - By BigBen (****) Date 2007-03-13 16:01 Edited 2007-03-13 16:36
Hi,
    Crafty 20.14 went for Nd2 while Fritz 10 and Deep Shredder9 x64 went for Bf6 .... It does as grolich mentions seem to be a pruning issue although as already mentioned Nd2 and other moves all win so all roads lead to Rome in this case :)

Regards
Parent - - By Werewolf (*****) [gb] Date 2007-03-13 17:45
I'm using Pentium M 1.86 - so not that fast
Parent - By dareapa (**) [us] Date 2007-03-13 18:31
Rybka 2.2 played it in25 seconds bf6...that is
Parent - By Reshevsky (*) [ph] Date 2007-03-14 11:17
This game shows Rybka 2.3.1 giving a magnificent performance in a fantastic Kingside attack that denudes Mephisto (Nimzo 3.5) to nothingness.

[Event "?"]
[Site "?"]
[Date "2007.03.15"]
[Round "?"]
[White "Mephisto MeisterSchach"]
[Black "Rybka 2.3.1"]
[Result "0-1"]

1. d4 {0s} d5 {book 0s} 2. Nf3 {2s (c4)} c5 {book 0s}
3. dxc5 {14s (c4)} e6 {book 0s} 4. e4 {7s} Bxc5 {+0.22/11
8s} 5. exd5 {0s} Nf6 {+0.24/11 7s} 6. Bb5+ {18s} Bd7
{+0.36/14 4s} 7. Bxd7+ {1s} Qxd7 {+0.29/13 3s} 8. Nc3 {0s
(dxe6)} Nxd5 {+0.19/13 18s} 9. Ne4 {15s (Nxd5)} Qc7
{+0.08/12 7s} 10. O-O {15s} Nd7 {+0.06/13 1s} 11. c4 {9s
(Qe2)} N5f6 {+0.11/12 5s} 12. Nxc5 {4s} Nxc5 {+0.17/13 2s}
13. Qc2 {4s} O-O {+0.14/13 5s} 14. b3 {35s (b4)} e5
{-0.08/13 7s} 15. Bb2 {31s} e4 {-0.04/15 17s} 16. Ne5 {3s}
Rfe8 {-0.07/14 29s} 17. b4 {2s} Ne6 {-0.06/13 4s} 18. Rfe1
{13s (Rfd1)} a5 {-0.20/11 4s} 19. a3 {3s} Nf4 {-0.24/11 1s}
20. Qc3 {17s} Rad8 {-0.37/12 5s} 21. Ng4 {13s (f3)} N6h5
{-0.58/12 7s} 22. Nh6+ {6s} Kf8 {-0.63/14 11s} 23. Nf5
{12s} Qc6 {-0.63/13 8s} 24. bxa5 {11s (Re3)} Kg8 {-0.64/10
5s} 25. g3 {8s (Re3)} Rd3 {-1.38/11 3s} 26. Nd4 {7s} Nh3+
{-3.01/14 10s} 27. Kg2 {2s (Kf1)} N5f4+ {-4.89/12 2s}
28. Kh1 {29s} Nxf2+ {-4.97/16 0s} 29. Kg1 {3s} N2h3+
{-4.83/16 17s} 30. Kh1 {0s} Rxd4 {-4.75/14 1s} 31. Qe3 {5s
(Re3)} Nf2+ {-5.38/11 1s} 32. Kg1 {11s} N4h3+ {-5.20/12 4s}
33. Kg2 {6s} Rd3 {-5.53/12 3s} 34. Qb6 {9s} Qd7 {-5.63/12
4s} 35. Qb5 {11s} Qc8 {-6.00/13 1s} 36. Re2 {29s} e3
{-6.96/14 0s} 37. Kf1 {7s} Ne4 {-5.00/12 5s} 38. c5 {16s
(Be5)} Nd2+ {-8.53/10 1s} 39. Kg2 {18s} Rb3 {-10.62/15 0s}
40. Qa4 {3s} Rxb2 {-12.51/12 0s} 41. Rae1 {5s} Re5
{-13.49/13 2s} 42. c6 {7s (a6)} Nf2 {-20.08/9 1s} 43. g4
{7s} Rb4 {-M12/11 0s} 44. Rxe3 {10s} Rxa4 {-M11/10 0s}
45. h3 {4s} Qxc6+ {-M6/9 0s} 46. Kxf2 {5s} Rf4+ {-M6/4 0s}
47. Kg1 {3s} Nf3+ {-M4/3 0s} 48. Rxf3 {3s} Rxe1+ {-M3/3 0s}
49. Kf2 {2s} Qxf3+ {-M2/3 0s} 50. Kxe1 {3s} Qg2 {-M1/3 0s}
51. a4 {2s} Rf1# {-M0/3 0s} 0-1

Enjoy!
Parent - By Vasik Rajlich (Silver) [hu] Date 2007-03-14 13:37
Yes, I am aware of this, and do work on it. However, I want Rybka to be balanced. Testsuite performance is one aspect. Playing normal decent chess is another one. There are tradeoffs involved and until I make some breakthrough, engines which are more tactically oriented are going to be a bit faster at these types of positions.

If you really want top raw tactical performance, you can use the WinFinder. Personally, I don't think it's worth the CPU cycles, but YYMV.

Vas
Parent - By Reshevsky (*) [ph] Date 2007-03-17 16:48
Here is a nice example of Rybka 2.3.1's Kingside Attacking play.

[Event "?"]
[Site "?"]
[Date "2007.03.18"]
[Round "?"]
[White "Rybka 2.3.1"]
[Black "Genius 7"]
[Result "1-0"]

1. e4 e6 2. d4 d5 3. c4 dxe4 4. Nc3 Nf6 5. f3 exf3 6. Nxf3
Bb4 {27s} 7. a3 {-0.17/13 9s} Bxc3+ {13s (Bd6)} 8. bxc3
{-0.04/13 6s} c5 {2s} 9. Be2 {-0.04/13 8s} Qa5 {5s} 10. O-O
{+0.09/12 9s} Nc6 {7s (Qxc3)} 11. Qd3 {+0.34/12 10s} O-O
{4s} 12. Ne5 {+0.11/13 34s} Nxe5 {12s (cxd4)} 13. dxe5
{+0.37/13 2s} Nd7 {1s} 14. Qg3 {+0.39/13 5s} Qc7 {11s}
15. Bf4 {+0.44/15 16s} Re8 {5s} 16. h4 {+0.42/14 4s} Kh8
{14s (b6)} 17. Rad1 {+0.67/11 6s} b6 {22s (Rg8)} 18. Rd6
{+0.89/11 8s} Rf8 {25s (Bb7)} 19. Rfd1 {+1.03/12 4s} Nb8
{13s (a6)} 20. h5 {+1.58/13 3s} h6 {10s} 21. Bxh6 {+4.52/14
16s} gxh6 {12s} 22. Qf4 {+6.98/15 4s} Kh7 {14s (f5)}
23. Bd3+ {+9.59/13 3s} Kg7 {3s (Kg8)} 24. Qf6+ {+M15/13 1s}
Kg8 {6s} 25. Qxh6 {+M13/16 0s} f5 {8s} 26. exf6 {+M14/8 0s}
Nc6 {4s} 27. Rxc6 {+M11/12 0s} Qd7 {6s} 28. Qg5+ {+M10/8
0s} Kh8 {7s} 29. Rxe6 {+M9/7 0s} Rf7 {4s} 30. Qh6+ {+M8/5
0s} Kg8 {3s} 31. Re5 {+M7/4 0s} Rxf6 {3s (Qd4+)} 32. Qxf6
{+M6/3 0s} Qf7 {2s} 33. Bh7+ {+M3/3 0s} Kxh7 {9s} 34. Qxf7+
{+M2/3 0s} Kh8 {2s (Kh6)} 35. Rd8# {+M1/3 0s} 1-0

[D]
rnb2r1k/p1q2pp1/1p1Rp2p/2p1P2P/2P2B2/P1P3Q1/4B1P1/3R2K1 w - -


Here Rybka played Bxh6!
Up Topic Rybka Support & Discussion / Rybka Discussion / Question for Vas: Rybka attack issue

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill