I read a fairly extensive interview with Jury Osipov that was posted on the Internet. Jury gave his background in writing some initial, simple game programs and then he described his development of Strelka as original.Dann Corbit wrote:This is just as untruthful as the most outrageous thing Mr. Osipov has ever said.rfadden wrote:The fraud is due to the fact that Jury Osipov implemented the author strings to say that he is the author. He did not credit Vasic. He also entered his program in at least one computer chess tournament in Russia, and from the posts that I have seen he continues to deny that he reverse engineered Rybka. He wants to be known as an author of a great chess program and yet I have seen that there are no original lines of code in Strelka, everything is exactly matching Rybka (except for the addition of PV display).slobo wrote:
"And then there is the attempt of the author of strelka to spoil vasik's reputation"
Ask Crafty´s author about Rybka´s author reputation.
"Stealing programming from another and then making it public is morally repugnant to me."
It is your interpretation, but it is not universal. On the contrary: it is rather ethnocentric.
It´s a pity to see that there are a lot of people who consider Robin Hood a simple stealer.
Let´s put a little light on the problem:
You are a stealer when you steal something from people who are NOT in debt with anyone.
You are probably a kind of stealer when you steal something from people who ARE in debt with others, and use stolen things for your proper benefits.
But, when you "steal" someone who is in debt with others, and you share "stolen things" with others, you are Robin Hood.
Of course, you are not obliged to accept my logic, but you should, at least, think a little more about other models of thinking and seeing the world, before blaming people you don´t like.What Mr. Osipov did as far as reverse engineering was questionable in nature. However, this false image of what occurred is also bad behavior.So Jury has tried to benefit from this theft of intellectual property.
He denys that it is theft. He is on record in interviews as saying this is his own work.
This continued defense of Jury Osipov looks "political" to me. This looks like a typical "gang" or "clique" mentality. Slobodan perhaps identifies with Jury in some way outside of computer chess, and so Jury is to be defended at all costs. That's my guess.
So this is not an intellectual angle, I think this is an example of typical politics.
Here is an example of this "alignment" or gang or group thinking: I happen to like Bob Hyatt. He helped me years ago, and he has been great to me... So if Bob belches in public (just an example) I am going to come on and defend belching in public. I will tell you all of the reasons why belching means nothing and how this is no issue relating to character. If anyone attempts to say something bad about Bob, I will defend him instinctively, because I either am, or I consider myself to be in his "posse." He might not even know that I am in his "posse" but I *think* I am, or I think this way, so I instinctively defend Bob.
I suspect that Slobodan thinks of himself as part of Jury Osipov's "posse" and so he defends Jury no matter what.
If Jury commits a crime then Slobodan would instinctively write that it is not a crime.
I believe this is all politically motivated and so Slobodan does not look very "intellectual" here as he defends his friend/buddy Jury...
My friend/buddy is Bob, so don't anyone even *think* about saying anything bad about Bob. I'm in his posse...
Keep in mind I'm writing my opinion. I have described the pattern that I see. I have encountered a lot of this "political bias" over the years and generally I don't like dealing with politics.
IMO-YMMV
The point of the interview was Jury defending Strelka as totally original work, with no copying of Rybka.
I found the source to Strelka and I started comparing the details internally by looking at the X86 code of Rybka. Within minutes I started unraveling all of the Rybka binary code. Seconds into starting I was finding unique constants in Rybka that had been taken exactly as is and put into Strelka. There were completely unambigous demonstrations of direct and perfect copying and this just continued and continued, so I started linearly going through everything, while labeling all variables, functions, structures in Rybka. It was like solving a jigsaw puzzle. I could see blanks in the variables of Rybka and I would sometimes just be so curious so I would resolve those variable at the time as follows:
I would pick an "unknown" Rybka global variable location and then list all of the functions where the variable was used. Then I would look in the functions in Strelka and see a variable that seemed to be used in the same functions there, so that became a candidate, and then I would dive in deeper.
I could look at all of the calculations that referenced that one variable in Rybka, and then find in Strelka the exact same calculations that referenced variable X. I would cross check and see there were no calculations in Strelka for variable X beyond the exact match with the calculations in Rybka.
Every unique angle I pursued, whether it was going through the code sequentially, identifying 100% match, or switching to an approach where I pick one variable at a time... in all such final resolving everything exactly matched.
I continued this effort until all of Rybka was decoded.
I then used the decoded Rybka to implement my Node Count Patch.
One of the key items which Jury left out of Strelka is the Node Count Obfuscation that Vasic put into Rybka 1.0 Beta. I have written separately about my patches that remove all of this obfuscation from the Rybka 1.0 beta binary...
So I have gone through weeks worth of proof but here I have written about my experience 9only) and I have not yet delivered the first batch of the proof of what I have seen, here. I should probably just get started gathering and displaying this proof of what I've seen so others can understand the accuracy of the exact match between Rybka and Strelka.
When I ran into small pieces of Rybka that were not in Strelka that really got my attention. Since I have the "primer", everything is visible so I started expressing the missing logic in C/C++ myself, and I could see why Strelka searches and does Eval while skipping a couple of steps from Rybka, and so yes this explains why in tests from Chess positions, Strelka gives different answers.
So every piece of Rybka, x, y, or z that is missing in Strelka happens to be the key material that I remain most interested in. Naturally in my notes I write the C code of x, y, and z in order to really look at it and to make sure I see everything that is going on.
By adding x, y, and z to Strelka (and by removing Jury's Multi-PV addition) I would then have a complete Rybka to look at, and that's an interesting goal. When I compile this program (and I will add the appropriate Author strings to this - credit goes to Vasic Rajlich) then this binary will make moves and play chess exactly matching Rybka 1.0 beta.
For testing and further proof I suppose one idea is to use Rybka 1.0 beta, plus a renamed version of the Rybka 1.0 beta .exe file, plus the "Rip-ka" that I compile. The renamed .exe should correlate with Rybka in the same way as "Rip-ka" (Rip-ka is "Rip Off" Rybka).
-----------
My main interest is understanding Rybka, and so as I work on x, y, z, I end up completing the initial, key part of this pursuit of knowledge.
Next I will instrument Rip-ka so I can gather statistics and measure what is going on inside the program while it runs. I have a number of original (as far as I know) ideas for viewing what goes on inside a chess program.
In my Graphics Hardware R&D work I developed a relatively straightforward technique that I intend to reuse for visualizing Rip-ka.
I would love to write about this technique now, but I sense a potentially hostile audience here...
So I'll continue writing on this subject in another thread and roughly I'll be writing with other folks who are not defending their original turf.
So in any case, I think the topic will continue with interesting results coming out of these developments. I think there is more to learn from Instrumented Rip-ka.