strelka 2.0

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Edsel Apostol
Posts: 803
Joined: Mon Jul 17, 2006 5:53 am
Full name: Edsel Apostol

Re: strelka 2.0

Post by Edsel Apostol »

I have seen and studied the source code of Fruit for years now and Strelka for months and I can say that Strelka is not a clone of Fruit. Clone in my definition is a copy/paste thing.

Though I will say that 80% to 90% of the ideas in Fruit are being implemented in Strelka with a different set of weights. Fabien says that there is nothing wrong with using others' ideas that's why he says that Strelka is okay with him.

The major differences between Strelka and Fruit is that Strelka scores mobility higher in middlegame than in the endgame, the reverse of what Fruit does. Strelka also doesn't score pawn structure much, though it has a much better passed pawn evaluation compared to Fruit. The knight in Strelka has a higher king attacks score and a higher piece square table values.

One more major difference is the material tables that if other programmer's statement is correct worth only more or less 40 elo. Add this to the elo gained in some search modifications and I will doubt that Rybka (if it was indeed where Strelka came from) has gained only 20 elo from Fruit just like what Vas has said when he was interviewed years ago.
Kaj Soderberg

Re: strelka 2.0

Post by Kaj Soderberg »

SzG wrote:
IWB wrote:
SzG wrote:
IWB wrote: PS: As Strelka is 90% Fruit the whole excitement deserves 10% of the attention it actualy gets!
The more posts I read about the matter the more confused I get.

If the statement of the above PS is true and Rick Fadden's statement (Strelka is equivalent to Rybka) is also true then it follows that Rybka is 90% Fruit.

As I am sure about the correctness of my reasoning, at least one of the premises must be false.
Why must one premis be wrong?

Bye
Ingo
Because no one is questioning the originality of Rybka.
I do, but not in a negative way.

Probably the open source Fruit is the "father" of many current top engines.

Maybe in the beginning Rybka was 70% Fruit and 30% Vas.
Maybe it is now 40% Fruit and 60% Vas.

Maybe Strelka is 80% Fruit/Rybka and 20% Juri.
Maybe the next version or engine by Juri is more Juri than before.

It all comes down to 3 things IMO:
1. Fabien released a strange new development in computerchess by releasing his code.
2. We have a new generation of top engines with the same founding father.
3. Honesty is what counts; the author may explain what is borrowed and what is new.

Best regards,

Kaj
Uri Blass
Posts: 10412
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: strelka 2.0

Post by Uri Blass »

IWB wrote:
hawkeye wrote:will strelka be tested on time controls aside from 40/4?
Hello Hawkeye,

Part of my private list (no betas): Time= 6 + 3 (average game 16 min), Ponder on, Starting positions (no book), changing colors, no learning, 256 MB Hash, only 4 pc TBs and just one single thread for all. Overall 66000 games.

Unfortunately I can not format correctly.

Have a look at position 5 and 6.

Program Elo + - Games Score Av.Op. Draws

1 Rybka 2.3.2a mp : 2721 9 9 3900 70.6 % 2568 36.2 %
2 Rybka 1.2f : 2671 7 7 6500 66.0 % 2556 32.9 %
3 Zappa Mexico II x64 : 2619 13 13 1600 55.8 % 2578 40.1 %
4 Deep Shredder 11 x64 : 2600 12 12 2200 56.2 % 2557 35.0 %
5 Strelka 2.0 B x64 : 2597 16 16 1000 52.8 % 2578 43.5 %
6 Rybka 1.0 Beta x64 : 2593 11 11 2300 53.5 % 2569 36.7 %
7 Zappa Mexico I X64 : 2591 9 9 3600 53.2 % 2568 40.4 %
8 Naum 3 x64 : 2589 13 13 1800 51.2 % 2581 38.5 %
9 Toga II 1.4 beta5c BB : 2579 15 15 1200 51.2 % 2570 43.2 %
10 HIARCS 12 MP : 2578 15 15 1200 48.2 % 2590 39.6 %
11 Naum 2.2 : 2542 10 10 2700 43.5 % 2588 42.9 %
12 Rybka 1.0 Beta 32-bit : 2541 8 8 4400 50.1 % 2540 33.2 %
13 HIARCS 11.2 : 2535 7 7 6600 45.5 % 2567 36.3 %
14 Fruit 2.3 : 2530 22 22 600 51.9 % 2517 39.2 %
15 Fruit 05/11/03 : 2530 9 9 3800 43.1 % 2578 39.7 %
16 DS 10 Balmung : 2529 10 10 2600 49.9 % 2530 42.5 %
17 Loop 13.5 : 2524 8 8 4400 44.2 % 2564 37.6 %
18 LoopMP 12.32 : 2523 9 9 3800 49.3 % 2528 34.8 %
19 Loop M1-P : 2521 24 24 500 49.2 % 2527 39.6 %
20 Toga II 1.2.1a : 2519 7 7 6600 46.6 % 2542 35.2 %
21 ListMP 11.64b : 2516 12 12 2200 44.0 % 2558 35.9 %
22 Deep Shredder 10 x64 : 2510 7 7 5300 44.8 % 2546 37.9 %
23 HIARCS 11 MP : 2505 19 19 800 44.9 % 2541 36.4 %
24 Naum 2.1 NoLearn : 2504 9 9 3700 44.6 % 2542 36.4 %
25 Toga II 1.3x4 : 2497 19 19 800 44.6 % 2535 38.9 %
26 Hiarcs X54 64bit UCI NORM : 2495 22 22 600 43.9 % 2537 36.5 %
27 Spike 1.2 Turin : 2476 7 7 6200 39.4 % 2550 36.0 %
28 DS 9.02 1T : 2465 16 16 1400 37.9 % 2551 29.1 %
29 Deep Sjeng 2.7 : 2457 13 14 1800 31.7 % 2590 33.8 %
30 Glaurung 2-epsilon/5 : 2445 16 16 1300 34.8 % 2554 30.9 %
31 Deep Sjeng 2.5 : 2385 20 20 900 29.9 % 2532 30.6 %


Bye
Ingo

PS: As Strelka is 90% Fruit the whole excitement deserves 10% of the attention it actualy gets!
Strelka is not 90% fruit.

Uri
rfadden

Re: strelka 2.0

Post by rfadden »

On the subject of how much Fruit is in Rybka 1.0 beta... Rybka is not a Fruit clone. More detailed observations below...

ozziejoe wrote:I think some people are suggesting that rybka = fruit clone

Of course if rybka is a clone of fruit than it must be a clone on steroids.

Here is a comparison (from good ol CCRL)

Rybka 1.0 64-bit 2921

Fruit 2.1 2796


Wow, what a clone. But maybe I'm being unfair. Perhaps fruit 2.1 gets a massive speed up on a 64 bit computer. Oh wait. Fruit is not a bitboard engine. It does not benefit from 64 bit. Oh yea. Oh, but that has nothing to do with rybka's clone status (said in a sarcastic voice)..

And finally, I suppose we can all agree that vasik is an uncreative, cloning, hack (much like the noble author of strelka who says "I crack comercial software and give it to the world, but vasik is a naughty boy too!").

lately, vas has made fruit 2.1 an engine on steroids, cocain, and crack.


Rybka 2.3.2a 64-bit 4CPU 3127
Fruit 2.1 2796


Now that you critics of vasik have the uncompliled fruit/rybka, it should make it supremely easy for you to create an engine that is at least as good as rybka 1.2f.. I presume we shall see your engines shortly. I look forward to the high quality work


Or......Rybka is at the head of a chess engine revolution...Rybka and now other engines are playing qualitatively differently than they did before (e.g., in the days of fruit 2.1).

best
Joseph

First, this past fall I worked extensively with the source code to Fruit 2.1. I was writing a system that plays the game of Chaxx (similar to Camelot). I started from scratch with all original logic logic because the moves of this game are completely different from Chess, but then I found that I could directly use the ideas encoded in Fruit 2.1 in my Chaxx playing program. For a while I "lived inside" the Fruit 2.1 search routines.

With this as background, as I currently live inside of Rybka (solely by the perfect guidance of the Strelka source code to Rybka)... I do not get the impression that Rybka/Strelka is a clone of Fruit.

I want to be clear Rybka does not look like a clone of Fruit. There is a completely different "feel" to the structure and the coding.

I have further offered my guess on this subject over on the Rybka forum:

From reading the early posts as Vas was working on Rybka before 1.0 beta, his engine is/was Rotated Bitboards like Crafty. (Please don't take this thought too far, but if anything, early Rybka would be more like a Crafty clone).

When Fruit 2.1 came out and when Fruit 2.2 had great success at beating the top commercial engines it looks like Vas studied Fruit source in order to learn as much as possible. Vas then experimented and applied the lessons learned by applying ideas within the Rybka context and he had great success. Rybka was ripe for this improvement.

Things did happen in a hurry because note that Rybka 1.0 beta did not even have the logic for promoting to anything other than a Queen. I've seen this in the code. Jury changed this code in Strelka. Jury added the promotion logic, possibly using a later version of Rybka as reference.

Back as he was developing Rybka 1.0 Beta, Vas was applying the lessons from Fruit within his quite different Rybka code and this worked well.

My guess is that while Vas was experimenting with the ideas and lessons from Fruit he also made his own discoveries... subtle tweaks and additions, and then futher than that Rybka has plenty of it's own original ideas. (Let me qualify this as: from a person who was living inside of Fruit 2.1 for months, these ideas in Rybka look original to me.)

I would like to add though, that a year from now someone could for example find that something implemented in Rybka 1.0 beta came from some other open source chess engine. Possibly yes, possibly no. Here I'm just saying that I can't vouch for the originality it's just that ideas in Rybka look original to me.

-----------------

When you watch Rybka 1.0 beta search after the deliberate Node Count Obfuscation logic is removed, the progression of search looks quite a lot like Fruit.
It looks like Vas added the Obfuscation logic to fool people and to hide the fact that his own search had taken on the "Look and Feel" of fruit.

If he had not fooled the world then he likely would have had more problems at the time with people thinking that he had just copied Fruit.

Roughly speaking I believe he copied the ideas that Fabien had given to the world, but it looks like Vas did this by applying R&D with his own engine, making modifications to make his own program adopt one or more ideas from Fruit.

Rybka relies so heavily on Rotated Bitboards and related ideas for it's core, and so roughly I would guess that Vas benefitted more from Crafty than from Fruit if you contemplate the Look and Feel of the bulk of the code.

In a recent post Vas said that he was greatly aided by Crafty source back when he first started his own development. He mentioned that everyone gets a tremendous boost from having the source to a high quality program where so many tough issues and details are already worked out and available for someone to learn.

Presently, April 27, I believe that the "secret" to Rybka is:

A good core engine based upon Rotated Bitboards,

an approach of adopting the good ideas from the field, including doing original R&D work while applying the ideas of other Open Source programs,

and most importantly, Vas's skill as an International Master of Chess in the deep knowledge of the Game and his intense work on the Evaluation Function, with his work to put chess knowlege into practical tables.
He succeeded in getting his superior chess knowledge factored into the program.

Also note what Vas is doing today. He hired someone with Grandmaster level chess knowlege to work tirelessly toward putting further chess knowledge into the tables that are used in Rybka Eval. I am guessing further, in this direction. Vas made it to the top of the list by using his own knowledge, but this process was very difficult and tenuous (easy to make a mistake, hard to know what should be emphasized) and a lot of work was required to improve the program further. He could take a break from this tough process by hiring an other expert to do this task, while he then gave himself the more fun task of trying to extract more from Search.
The remaining area where Vas can try to advance the start-of-the-art is in Search. Fabien/Fruit advanced the start-of-the-art in search, and Vas/Rybka also benefitted from that. Vas's most unique contribution has likely been in Eval (also with credit to his efforts in overall packaging and tuning).
Gandalf

Re: strelka 2.0

Post by Gandalf »

My brief opinion...
rfadden wrote:I want to be clear Rybka does not look like a clone of Fruit. There is a completely different "feel" to the structure and the coding.
I don't think many people question that any Rybka code is a rewrite of the corresponding code in Fruit. Wasn't one of the Fruit authors quoted as saying that this was OK in his perspective?
rfadden wrote:Back as he was developing Rybka 1.0 Beta, Vas was applying the lessons from Fruit within his quite different Rybka code and this worked well.

...

My guess is that while Vas was experimenting with the ideas and lessons from Fruit he also made his own discoveries... subtle tweaks and additions, and then further than that Rybka has plenty of it's own original ideas.
Agreed, and that's what I think makes Rybka so strong: a stable and well engineered base which makes it easy to add more original ideas. The problem, though, is that Rybka progressed so fast by 'bypassing' the hard work needed to create a solid, 2800 rated foundation. If I am right in this, then why is Fruit not appropriately credited by Rybka's author?
rfadden wrote:Vas's most unique contribution has likely been in Eval (also with credit to his efforts in overall packaging and tuning).
I think that Vasik recently said that 75% of the new evaluation terms are added by Larry Kaufman and 25% by himself. Also he once mentioned that search and evaluation are about equally important to Rybka's success.
ernest
Posts: 2041
Joined: Wed Mar 08, 2006 8:30 pm

Re: strelka 2.0

Post by ernest »

Gandalf wrote:Wasn't one of the Fruit authors quoted...
George Clooney would say: Fabien! Who else?! :D
ernest
Posts: 2041
Joined: Wed Mar 08, 2006 8:30 pm

Re: Strelka 2.0

Post by ernest »

rfadden wrote:Roughy I recall that the Strelka 1.0 either did not use UCI, or it had a problem with it's implementation.
Actually, Strelka 1.0 beta was Winboard, with Winboard code heavily borrowed from Dann Corbit's Beowulf.
Of course Strelka 1.0 beta can be run as UCI, using Wb2Uci.
(peculiarity: the hash table of Strelka 1.0 beta has a fixed size, of something like 32 MB, or less)
Dann Corbit
Posts: 12566
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: strelka 2.0

Post by Dann Corbit »

Kaj Soderberg wrote:
SzG wrote:
IWB wrote:
SzG wrote:
IWB wrote: PS: As Strelka is 90% Fruit the whole excitement deserves 10% of the attention it actualy gets!
The more posts I read about the matter the more confused I get.

If the statement of the above PS is true and Rick Fadden's statement (Strelka is equivalent to Rybka) is also true then it follows that Rybka is 90% Fruit.

As I am sure about the correctness of my reasoning, at least one of the premises must be false.
Why must one premis be wrong?

Bye
Ingo
Because no one is questioning the originality of Rybka.
I do, but not in a negative way.

Probably the open source Fruit is the "father" of many current top engines.

Maybe in the beginning Rybka was 70% Fruit and 30% Vas.
Maybe it is now 40% Fruit and 60% Vas.

Maybe Strelka is 80% Fruit/Rybka and 20% Juri.
Maybe the next version or engine by Juri is more Juri than before.

It all comes down to 3 things IMO:
1. Fabien released a strange new development in computerchess by releasing his code.
It was not a new development. Strong open source engines have long been the inspiration for:
1. Honest inspiration
2. Borderline/questionable borrowing
3. Downright, unethical cheating.

2. We have a new generation of top engines with the same founding father.
I think that people probably learn as much or more from Glaurung and Scorpio as Fruit now.
3. Honesty is what counts; the author may explain what is borrowed and what is new.
Here I agree very strongly. While honesty does not give us license to break the law, it is an essential part of any project of this nature.

Best regards,

Kaj
Dann Corbit
Posts: 12566
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Strelka 2.0 -- TO Dann Corbit

Post by Dann Corbit »

GenoM wrote:
ernest wrote:
rfadden wrote: I read a fairly extensive interview with Jury Osipov that was posted on the Internet...
Hi Rick,
Which of Osipov's Strelka versions is closest to Rybka 1.0 beta:
Strelka 1.0 beta (the 1st one, no multivariation)?
Strelka 1.8 UCI?
Strelka 2.0 Beta (the latest one, with source code)?

Shouldn't it be Strelka 1.0 beta, if Strelka is a copy of Rybka?
And a request to Dann Corbit -- he saw the source of the first Strelka -- can he share his opinion how close are these two sources?
How can I comment on which is closest to Rybka, since I have never seen the source for Rybka? Only Vas can comment on that.

As far as expertize in understanding Strelka, Uri Blass is the top expert, I think, because he has studied it very carefully.
User avatar
GenoM
Posts: 910
Joined: Wed Mar 08, 2006 9:46 pm
Location: Plovdiv, Bulgaria

Re: Strelka 2.0 -- TO Dann Corbit

Post by GenoM »

How close are the sources of different Strelka versions to each other I ment, not to Rybka
Even Yuri Osipov can not comment how close are the sources of Strelka to these of Rybka cause he doesnt saw the last ones.
take it easy :)