I have seen lots of nearly identical null move codes.bob wrote:I've said this several times, but once more won't hurt. I can explain a specific algorithm to students, and tell them to go write the code, and no two will look similar, unless something bad is going on. The programming language is too rich in features. It would be tantamount to telling a group to go write a story about a boy in the old west and his dog, the dog gets bit by a rabies carrying animal and eventually the boy has to shoot him." And then getting two stories back that match "old yeller" word for word. Even the stories would not be identical, much less the sentence and paragraph structures.Dann Corbit wrote:According to the evidence provided, I see two possibilities.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
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.
I have seen lots of nearly identical pvs codes.
I have seen lots of nearly identical alpha-beta codes.
That is not surprising, since the algorithms are well defined. If I gave an assignment to write a quicksort routine, I would expect all of the routines to look very similar.
If all the students (for instance) went and looked at the Knuth TAOCP example in Mix and wrote a C version, would you be surprised to see that the codes were extremely similar? And would you think that the students were guilty of wrongdoing (especially if they gave credit to Knuth and cited the page number)?
Similarity of routines does *prove* one thing:
Vas has read and studied the Fruit code base *very carefully*.
But then again, he *said that* in the readme to Rybka 1.0 beta. So there is no revelation there.
It is not evidence of wrongdoing. There is nothing wrong with doing things the same way as someone else (and if you give them credit there is no plagiarism either). In fact, the only reason to do things differently is if the different way is better.
Now, there may have been wrongdoing. But I have not yet seen convincing evidence of it. From what I have seen so far, the only way to get proof of wrongdoing would be for Vas to admit it.