Laskos wrote:Sven Schüle wrote:If B is derived from A, and C is derived from B, then C is also derived from A.
But if B (Strelka) is derived from A (Rybka 1.0) and B is also derived from C (Fruit 2.1) then there is no "is-derived-from" relationship between A and C.
To make it simple, let's use "A --> B" for "B is derived from A".
This is correct:
(A --> B and B --> C) implies (A --> C)
But this is wrong:
(A --> B and C --> B) implies (A --> C)
Therefore your last sentence, if you would have finished it in the way most readers would expect, would be lacking some logical foundation.
That is wrong, I agree:
"
But this is wrong:
(A --> B and C --> B) implies (A --> C)"
Yes. But it has nothing to do with my post.
What I was saying, and Vasik said half of that, Fabien said another half is the correct one:
(A = B and C --> B) implies (C --> A)
I confirmed what was Vasik saying in my post with similarity graph in this thread. In fact this similarity graph probably confirms what Fabien is saying too (Rybka 1.0 is shown closer to Fruit 2.1 than Houdini 1.5 is to Rybka 3).
Your "A = B", intended as "Rybka = Strelka", is clearly wrong. It is a known fact that Strelka was based on both Fruit and Rybka.
http://www.talkchess.com/forum/viewtopi ... 815#347815
Therefore any connection between Fruit and Rybka can't be concluded based on Strelka but needs a _direct_ comparison.
The remaining part of my reply is not mainly intended as a reply to your post, Kai, but more as a general comment on the current topic.
This direct Fruit-R1 comparison was tried by Zach Wegner:
http://www.talkchess.com/forum/viewtopi ... 198#328198
, with various discussions following later on in different threads. But a couple of programmers, including Miguel, Uri, HGM and myself, for instance, could not be convinced that this proves anything beyond taking a lot of ideas from Fruit. One main problem of the comparison done by Zach was that the code snippets on the "right side" are intended to represent Rybka 1.0 beta but they can't since the Rybka source code is unknown; instead these snippets were created by disassembling Rybka 1.0 and using names and "infrastructure" from Fruit and/or Strelka source code to get something that can be displayed on the same level as the Fruit 2.1 source code on the "left side". Zach confirmed this more or less:
http://www.talkchess.com/forum/viewtopi ... 230#328230
, although he stated that he also looked into the (Rybka) binary for confirmation. But how can we be sure about his interpretation? It was requested a lot of times to post also the disassembling results but this has never happened.
I really think it is crucial to get this right once and for all. As long as there are still substantial doubts about the Fruit-R1 connection it is not correct to say that the existence of copied _code_ were a proven fact. It does not become truth by just repeating it 10000 times.
Sven