Rybka 1.0 vs. Strelka

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

Moderator: Ras

User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Wanted: some opposition to the provided evidence

Post by Zach Wegner »

Dann Corbit wrote:According to the evidence provided, I see two possibilities.
1. The Rybka author took Fruit code and modified it.
2. The Ryka author studied Fruit code and took the ideas in it.

Item 1 is illegal and item 2 is legal. There is obviously no way to differentiate which one was done. I assume that there are no patents on any of Fruit's algorithms. If this is the case, then it is not wrong, immoral or unethical to read the code, study the code, improve the code, rewrite the code, alter the code, etc. and then write your own version.

The code is not identical. The similar parts that have been demonstrated are all trivial anyway.
If you read the thread that I just posted ("Questions for Vas") and still believe that, then I would have to seriously question your expertise on the matter. How many engines do you know that store both an upper and lower bound in the hash table? How many do you know that use setjmp to exit the search function? How many do you know that store only the hashkeys for game history?

I'm not saying that it's impossible for any other engine to have these same ideas in them. But there are very many low level similarities (in non trivial areas), and only to Fruit.
Everyone who wrote a chess program borrowed ideas from other people. People who claim otherwise are liars. Either that or they do not use alpha-beta, null move pruning, hash tables, etc.

I think that the mud slinging contest is a silly farce.
Slingers: "LOOK HE COPIED!"
Of course, we *all* did. Let's be honest. Everyone who failed to learn from Fruit's code is an idiot.
Personally, I learned nothing. I really don't like Fruit's code at all. Feel free to say whatever you want about me...
chrisw

Re: Wanted: some opposition to the provided evidence

Post by chrisw »

Zach Wegner wrote:
Dann Corbit wrote:According to the evidence provided, I see two possibilities.
1. The Rybka author took Fruit code and modified it.
2. The Ryka author studied Fruit code and took the ideas in it.

Item 1 is illegal and item 2 is legal. There is obviously no way to differentiate which one was done. I assume that there are no patents on any of Fruit's algorithms. If this is the case, then it is not wrong, immoral or unethical to read the code, study the code, improve the code, rewrite the code, alter the code, etc. and then write your own version.

The code is not identical. The similar parts that have been demonstrated are all trivial anyway.
If you read the thread that I just posted ("Questions for Vas") and still believe that, then I would have to seriously question your expertise on the matter. How many engines do you know that store both an upper and lower bound in the hash table? How many do you know that use setjmp to exit the search function? How many do you know that store only the hashkeys for game history?

I'm not saying that it's impossible for any other engine to have these same ideas in them. But there are very many low level similarities (in non trivial areas), and only to Fruit.
Everyone who wrote a chess program borrowed ideas from other people. People who claim otherwise are liars. Either that or they do not use alpha-beta, null move pruning, hash tables, etc.

I think that the mud slinging contest is a silly farce.
Slingers: "LOOK HE COPIED!"
Of course, we *all* did. Let's be honest. Everyone who failed to learn from Fruit's code is an idiot.
Personally, I learned nothing. I really don't like Fruit's code at all. Feel free to say whatever you want about me...
It's a long time ago, but I think CSTal stored upper and lower bounds in hash
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Wanted: some opposition to the provided evidence

Post by Zach Wegner »

chrisw wrote:It's a long time ago, but I think CSTal stored upper and lower bounds in hash
Fruit is a CSTal clone!!

hehe sorry, couldn't resist.

There are some other engines that use the dual-bound hash (those with MTD(f)), but they are quite rare. I would guess that there are about 5 PVS engines that use it. And that's just one small point...
chrisw

Re: Wanted: some opposition to the provided evidence

Post by chrisw »

Zach Wegner wrote:
chrisw wrote:Dann,

It is being claimed that the code fragment disassembly of Rybka 1 (?) posted by Zach is the same as a disassembly of Fruit. We await the evidence ...

Chris
Chris,

The evidence of course exists. It's hard for me to post it right now because I'm at work. There's no need for everyone to repeatedly request this evidence, as it will be posted. I'd prefer to wait and organize everything into a webpage, but since people are asking, I can post a comparison of the given disassembly with Fruit. Of course I can't do a side-by-side comparison here...
ok, no problem

it is important to make your case that everything is laid out in full detail

it's no good to post a Rybka disassembly and just state "Fruit is the same". People need to see the Fruit disassembly and then make their own judgement.

also, the other side need to see your full evidence in order to be able to make a refutation

Sorry to be so pedantic, but imagine you're trying to convince a set of lazy orangutans and that's the level of evidence you need ;-)
Last edited by chrisw on Mon Aug 25, 2008 11:32 pm, edited 1 time in total.
chrisw

Re: Wanted: some opposition to the provided evidence

Post by chrisw »

Zach Wegner wrote:
chrisw wrote:It's a long time ago, but I think CSTal stored upper and lower bounds in hash
Fruit is a CSTal clone!!

hehe sorry, couldn't resist.

There are some other engines that use the dual-bound hash (those with MTD(f)), but they are quite rare. I would guess that there are about 5 PVS engines that use it. And that's just one small point...
oh, I just save everything, it's my programming style
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Wanted: some opposition to the provided evidence

Post by Zach Wegner »

chrisw wrote:ok, no problem

it is important to make your case that everything is laid out in full detail

it's no good to post a Rybka disassembly and just state "Fruit is the same". People need to see the Fruit disassembly and then make their own judgement.

also, the other side need to see your full evidence in order to be able to make a refutation

Sorry to be so pedantic ;-)
That's fine. I haven't looked at the Fruit disassembly, only at the source. It might be worthwhile at some point to try to compile it with certain compilers and see if the instruction scheduling etc. match up with the binary, but I haven't done it yet.

I haven't posted all the evidence yet simply because the questions are mainly for Vas to refute. He's the one with the Rybka code, and everyone has access to the Fruit code. So he can basically answer "that's just a coincidence", "I was looking at Fruit when I wrote that", or "that's not true". For the last case I will post disassembly, otherwise I will wait to get it all organized into a webpage.

It's hard to show a comparison, because the huge block of assembly I posted are equivalent to about 20 lines of Fruit code. I will try to make a side-by-side with a line of Fruit next to 10 or so lines of assembly, but it might look crappy. Just warning you.
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Wanted: some opposition to the provided evidence

Post by Sven »

Zach Wegner wrote:
Dann Corbit wrote:[...]The code is not identical. The similar parts that have been demonstrated are all trivial anyway.
If you read the thread that I just posted ("Questions for Vas") and still believe that, then I would have to seriously question your expertise on the matter. How many engines do you know that store both an upper and lower bound in the hash table? How many do you know that use setjmp to exit the search function? How many do you know that store only the hashkeys for game history?

I'm not saying that it's impossible for any other engine to have these same ideas in them. But there are very many low level similarities (in non trivial areas), and only to Fruit.
Zach,

I think what you write here is only about using ideas but is not related to the GPL issue.

Another point: the disassembly that has been posted repeatedly refers to function names "start_go" and "start_search", beneath others. I can't find these names in Fruit 2.1 source but they exist in Strelka 2.0. As far as I understand this is a disassembly taken from Rybka 1.0 beta. So when assigning names to Rybka functions, obviously you have chosen some Strelka names, is this right? Now my question: why didn't you choose Fruit names, in order to simplify the comparison?

Sven
Enir
Posts: 208
Joined: Mon Aug 18, 2008 7:31 pm

Re: Wanted: some opposition to the provided evidence

Post by Enir »

Image

Nice photo! :)

Facing the camera, from right to left: David Levy, Frans Morsch, me (Enrique), my wife Ans, Amir Ban, Vesselin Topalov, Sergey Karjakin and Karjakin's mother. It was the dinner after the closing ceremony of Bilbao 2004.

Enrique
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Wanted: some opposition to the provided evidence

Post by bob »

R Look, how Bob is now running hot in his campaign. Funny, but I thought it all the time. This isnt science what Bob is showing. It's like his absolution of the mean IBM fraud (from science position) against Kasparov.olf wrote:

Where is "Bob running hot"??? I am simply standing by me believe that this is not a "chance" event. For as much code to be similar as has bee posted, there is _far_ more than chance involved.

As far as fraud goes, the only Fraud I saw was Kasparov. Blaming a loss on cheating, rather than his own poor play (game 6 for example, playing an opening everyone knew would lead to exactly the kind of game one can not play against a machine. As far as conditions go, Kasparov was not forced to sign the contract, he held all the cards. If he negotiated something that he wished he had not, whose fault is that???
Dann Corbit
Posts: 12777
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Wanted: some opposition to the provided evidence

Post by Dann Corbit »

Terry McCracken wrote:
Dann Corbit wrote:
tiger wrote:Zach is showing code snippets where Rybka 1.0 is actually more similar to Fruit than Strelka 2.0.

A few days ago there was some vocal opposition to the idea that Rybka 1.0 coud be a derived work of Fruit 2.1.

Where is the opposition now?

There are several skilled people ready to explain why many programmers think (without daring to tell it) that Rybka started its life as Fruit 2.1.

The evidence is now being shown factually. Feel free to contradict it factually.



// Christophe
According to the evidence provided, I see two possibilities.
1. The Rybka author took Fruit code and modified it.
2. The Ryka author studied Fruit code and took the ideas in it.

Item 1 is illegal and item 2 is legal. There is obviously no way to differentiate which one was done. I assume that there are no patents on any of Fruit's algorithms. If this is the case, then it is not wrong, immoral or unethical to read the code, study the code, improve the code, rewrite the code, alter the code, etc. and then write your own version.

The code is not identical. The similar parts that have been demonstrated are all trivial anyway.

Everyone who wrote a chess program borrowed ideas from other people. People who claim otherwise are liars. Either that or they do not use alpha-beta, null move pruning, hash tables, etc.

I think that the mud slinging contest is a silly farce.
Slingers: "LOOK HE COPIED!"
Of course, we *all* did. Let's be honest. Everyone who failed to learn from Fruit's code is an idiot.
The only salient question is *how* Vas copied (e.g. learning ideas or copying code is not provable unless the code is identical and the code is not identical even in its most similar parts).
Mechanical estimates of how much code is similar are very unimpressive to me, especially when you consider that strcpy, printf, etc are going to be embedded in most programs.
Bob is a top expert, also Bob started completely from scratch, so did Christophe!
Both of them are the simultaneous inventors of alpha-beta, hash tables and null move then? Remarkable.
Zach is also giving further evidence in another thread for Vas to answer and Vas alone and Vas should answer!
I agree that Vas is the only one who can really answer the questions.
It's that simple. No one is trying to destroy Rybka or hurt Vas.

But the roots of Rybka are being fully investigated, and this process should be allowed to continue unimpeded.
Only if performed in a manner that protects the dignity of all parties.