strelka 2.0

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

Moderators: hgm, Rebel, chrisw

Dann Corbit
Posts: 12545
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: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.
While the overall outline is the same there are lots of differences between 1.0 and 2.0.

The most significant from a size standpoint is that 1.0 had a huge material table in data format and 2.0 generated material constants.

Strelka 2.0 is also stronger than Strelka 1.0

Strelka 1.0 was a Winboard engine. Strelka 2.0 is a UCI engine.
rfadden

Re: Strelka 2.0 -- TO Dann Corbit

Post by rfadden »

Dann Corbit wrote:
GenoM wrote: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.
While the overall outline is the same there are lots of differences between 1.0 and 2.0.

The most significant from a size standpoint is that 1.0 had a huge material table in data format and 2.0 generated material constants.

Strelka 2.0 is also stronger than Strelka 1.0

Strelka 1.0 was a Winboard engine. Strelka 2.0 is a UCI engine.
Yes, that huge table appears in Rybka 1.0 Beta, and it is very large and prominent in the binary. In the binary image of Rybka you really notice that there is one main very large table of values. From my own memory, from recall, I remember that the index into this table is formed by taking the counts of each piece type, with white separate from black, and turning this into a single index. I think people were referrring to this as a "Material Imbalance" table.

Vasic wrote that the earlier rip-off of Rybka 1.0 had this data table but that the author was storing the table slightly encrypted. The Strelka code was running some sort of Exclusive Or operation over the table to restore it back to match the constants in Rybka 1.0.

So I could give you the first 16 values of the Rybka 1.0 table and after the decrypt step of Strelka 1.0 we could compare the table values.

On the other hand a thinking person is going to understand ahead of time that these tables will exactly match, since everything else in the program exactly matches Rybka 1.0 Beta.

Also we all still have the binary of Strelka 1.0, and I can look inside and see the data table and also find the Exclusive Or operations or simply run the program and look at the table values after the decrypt operation occurs.

So with this table use, Strelka 1.0 Beta would appear to be closer to Rybka 1.0 Beta.

Thanks.
Dann Corbit
Posts: 12545
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Strelka 2.0 -- TO Dann Corbit

Post by Dann Corbit »

rfadden wrote:
Dann Corbit wrote:
GenoM wrote: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.
While the overall outline is the same there are lots of differences between 1.0 and 2.0.

The most significant from a size standpoint is that 1.0 had a huge material table in data format and 2.0 generated material constants.

Strelka 2.0 is also stronger than Strelka 1.0

Strelka 1.0 was a Winboard engine. Strelka 2.0 is a UCI engine.
Yes, that huge table appears in Rybka 1.0 Beta, and it is very large and prominent in the binary. In the binary image of Rybka you really notice that there is one main very large table of values. From my own memory, from recall, I remember that the index into this table is formed by taking the counts of each piece type, with white separate from black, and turning this into a single index. I think people were referrring to this as a "Material Imbalance" table.

Vasic wrote that the earlier rip-off of Rybka 1.0 had this data table but that the author was storing the table slightly encrypted. The Strelka code was running some sort of Exclusive Or operation over the table to restore it back to match the constants in Rybka 1.0.

So I could give you the first 16 values of the Rybka 1.0 table and after the decrypt step of Strelka 1.0 we could compare the table values.

On the other hand a thinking person is going to understand ahead of time that these tables will exactly match, since everything else in the program exactly matches Rybka 1.0 Beta.
This is not true. The two programs do not produce the same analysis for some positions.

Also we all still have the binary of Strelka 1.0, and I can look inside and see the data table and also find the Exclusive Or operations or simply run the program and look at the table values after the decrypt operation occurs.

So with this table use, Strelka 1.0 Beta would appear to be closer to Rybka 1.0 Beta.

Thanks.
You previously claimed that Strelka 2.0 was line for line identical with Rybka. Strelka 2.0 has about 30% code changes from Strelka 1.0. Hence both statements cannot be true.

Part of what you are saying is true. Things were taken from Rybka. Part of what you are saying is not true. Parts of Strelka are cleary modifications of Fruit code. The entry point names are not the same in Rybka 1.0 and Strelka 1.0 (or any other Strelka). If Strelka had been reconstructed from the Rybka assembly, we would not see the Fruit function, structure and variable names, because these are simplified by the compiler. The taking of code from Fruit is now excusable because his program has become open source (though he should have been up front about the origins of that material as well).

The taking without permission of things from Rybka is something I do not like. The fact that the author was not immediately forthcoming about the origins of the material is something I do not like. But I also dislike your untrue assertions. To me, they are also reprehensible. If you accuse someone of wrongdoing, then the accusations should be correct. Your accusations are not correct.

Yuri Osipov did some things that were distasteful to me. I guess that he did not know that these practices were questionable or maybe he did. He is the only one who can aswer that. But the accusations you are making are half-truths at best. I wish you would be more careful in your remarks so that at least they would be correct.
Uri Blass
Posts: 10345
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Strelka 2.0 -- TO Dann Corbit

Post by Uri Blass »

I will comment only about the fruit-strelka part because I do not know the source of rybka so I cannot comment about differences between rybka and strelka.

You say:
"The taking of code from Fruit is now excusable because his program has become open source"

This is not correct.
Ideas were taken from fruit but no significant code from fruit was taken by copy and paste.

The similiarity in ideas is no reason to force strelka to become open source(otherwise it could also be a reason to force rybka and many other programs to become open source).

The fact that fabien had no objection to strelka has nothing to do with the fact that strelka is open source.

Toga is also open source and I am sure that fabien is going to have a different opinion about toga and he is going to be against the idea of not considering him as one of the authors of toga.

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

Re: Strelka 2.0 -- TO Dann Corbit

Post by Dann Corbit »

Uri Blass wrote:I will comment only about the fruit-strelka part because I do not know the source of rybka so I cannot comment about differences between rybka and strelka.

You say:
"The taking of code from Fruit is now excusable because his program has become open source"

This is not correct.
Ideas were taken from fruit but no significant code from fruit was taken by copy and paste.
The example I gave from the evaluation function (using the name 'noter' from the French) shows that the code was refactored, I think. Obviously, it cannot work simply by cut and paste but I think it could be argued that the program must become GPL. I am not totally certain of it, espeically since I am not a lawyer. However, now that the code *has* become GPL, then the objections {if there were any} would pass since that is the objective of GPL.
The similiarity in ideas is no reason to force strelka to become open source(otherwise it could also be a reason to force rybka and many other programs to become open source).

The fact that fabien had no objection to strelka has nothing to do with the fact that strelka is open source.
I agree that those are two separate issues. Fabian has said it is OK. Even if he said it was not OK, as long as the license is not violated there can be no further objection.

Toga is also open source and I am sure that fabien is going to have a different opinion about toga and he is going to be against the idea of not considering him as one of the authors of toga.
Uri
You cannot undo authorship. Fabian will be one of the authors of Toga for all eternity whether someone erases his name or not.

Eventually, Toga may be totally dissimilar from Fruit. But the origin does not change.
Uri Blass
Posts: 10345
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Strelka 2.0 -- TO Dann Corbit

Post by Uri Blass »

Dann Corbit wrote:
Uri Blass wrote:I will comment only about the fruit-strelka part because I do not know the source of rybka so I cannot comment about differences between rybka and strelka.

You say:
"The taking of code from Fruit is now excusable because his program has become open source"

This is not correct.
Ideas were taken from fruit but no significant code from fruit was taken by copy and paste.
The example I gave from the evaluation function (using the name 'noter' from the French) shows that the code was refactored, I think. Obviously, it cannot work simply by cut and paste but I think it could be argued that the program must become GPL. I am not totally certain of it, espeically since I am not a lawyer. However, now that the code *has* become GPL, then the objections {if there were any} would pass since that is the objective of GPL.
The similiarity in ideas is no reason to force strelka to become open source(otherwise it could also be a reason to force rybka and many other programs to become open source).

The fact that fabien had no objection to strelka has nothing to do with the fact that strelka is open source.
I agree that those are two separate issues. Fabian has said it is OK. Even if he said it was not OK, as long as the license is not violated there can be no further objection.

Toga is also open source and I am sure that fabien is going to have a different opinion about toga and he is going to be against the idea of not considering him as one of the authors of toga.
Uri
You cannot undo authorship. Fabian will be one of the authors of Toga for all eternity whether someone erases his name or not.

Eventually, Toga may be totally dissimilar from Fruit. But the origin does not change.
1)The point is that I understood that Fabien(after looking at the code) does not consider himself as one of the authors of strelka so the situation of strelka relative to fruit is different than the situation of toga.

2)I am not sure about the legal status of the code of strelka and if it is GPL.

I am not sure if people are allowed to release new versions of strelka that are stronger than the original version including the source.

Uri
rfadden

Re: Strelka 2.0 -- TO Dann Corbit

Post by rfadden »

Dann Corbit wrote:
rfadden wrote:
Dann Corbit wrote:
GenoM wrote: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.
While the overall outline is the same there are lots of differences between 1.0 and 2.0.

The most significant from a size standpoint is that 1.0 had a huge material table in data format and 2.0 generated material constants.

Strelka 2.0 is also stronger than Strelka 1.0

Strelka 1.0 was a Winboard engine. Strelka 2.0 is a UCI engine.
Yes, that huge table appears in Rybka 1.0 Beta, and it is very large and prominent in the binary. In the binary image of Rybka you really notice that there is one main very large table of values. From my own memory, from recall, I remember that the index into this table is formed by taking the counts of each piece type, with white separate from black, and turning this into a single index. I think people were referrring to this as a "Material Imbalance" table.

Vasic wrote that the earlier rip-off of Rybka 1.0 had this data table but that the author was storing the table slightly encrypted. The Strelka code was running some sort of Exclusive Or operation over the table to restore it back to match the constants in Rybka 1.0.

So I could give you the first 16 values of the Rybka 1.0 table and after the decrypt step of Strelka 1.0 we could compare the table values.

On the other hand a thinking person is going to understand ahead of time that these tables will exactly match, since everything else in the program exactly matches Rybka 1.0 Beta.
This is not true. The two programs do not produce the same analysis for some positions.

Also we all still have the binary of Strelka 1.0, and I can look inside and see the data table and also find the Exclusive Or operations or simply run the program and look at the table values after the decrypt operation occurs.

So with this table use, Strelka 1.0 Beta would appear to be closer to Rybka 1.0 Beta.

Thanks.
You previously claimed that Strelka 2.0 was line for line identical with Rybka. Strelka 2.0 has about 30% code changes from Strelka 1.0. Hence both statements cannot be true.

Part of what you are saying is true. Things were taken from Rybka. Part of what you are saying is not true. Parts of Strelka are cleary modifications of Fruit code. The entry point names are not the same in Rybka 1.0 and Strelka 1.0 (or any other Strelka). If Strelka had been reconstructed from the Rybka assembly, we would not see the Fruit function, structure and variable names, because these are simplified by the compiler. The taking of code from Fruit is now excusable because his program has become open source (though he should have been up front about the origins of that material as well).

The taking without permission of things from Rybka is something I do not like. The fact that the author was not immediately forthcoming about the origins of the material is something I do not like. But I also dislike your untrue assertions. To me, they are also reprehensible. If you accuse someone of wrongdoing, then the accusations should be correct. Your accusations are not correct.

Yuri Osipov did some things that were distasteful to me. I guess that he did not know that these practices were questionable or maybe he did. He is the only one who can aswer that. But the accusations you are making are half-truths at best. I wish you would be more careful in your remarks so that at least they would be correct.
There is one very important thing that I did not yet have a chance to describe to people.

I looked at Rybka when the highest version was 1.01 and that is when I first saw the Node Count Obfuscation that is in the code. In this view there are no variable names, everything is just numbers such as "L456123".

Jury Osipov clearly used Fruit 2.1 nomenclature and he used Fruit 2.1 variable names as he made sense out of these numeric variables.

When I showed the tree of function calls of Rybka 1.0 Beta to Vasic as part of this discussion his first comment was something like: "Yuck, I don't like your variable names."

Now keep in mind that I explained there was only one difference between the Call tree of Rybka 1.0 Beta and the call tree of Strelka 2.0, and that is the area that I accurately identified in my posting. Jury skipped using "Full_Root_Base" which is where Rybka 1.0 applies a large table and that's about it.

So, I used the fruit names like "full_root_base" and I added "caps" because my names were meant to be read in a document. Vasic uses short variable names and I'm guessing names more like this: "fullRootBase", or "FullRootBase." Years ago we all used a lot of underscore, and there is a trend (in the past 10 years) to ditch the underscores.

Since Jury did not include Vas's Node Count Obfuscation, I came up with variable names here, and I called the critical ones either: node_tick_high, node_tick_low, or nodeTickHigh, nodeTickLow... So as soon as Vas saw this he told everyone that the real name of these two variables are "gulp" and "tick".

So as all of the code exactly matches between the binary of Rybka and the C code of Strelka, I end up changing the names of the labels in Rybka to match Strelka names (Fruit names) and all of the code is matching but the variable names are not even close to the names that Vasic selected.

I worked inside of Fruit 2.1 for something like four months as I was developing my system that plays the game of Chaxx, and I'm not seeing a direct copying of Fruit as I walk through Strelka, I'm seeing an exact alignment of all instructions with the internal binary code of Rybka.

So reverse engineering of Rybka was done while looking at Fruit and while using Fruit's variable names.

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

Dann I am going to prove my claims. The parts missing from Strelka... let's call this "x"... I am finishing reversing "x" and I am adding this to Strlka. My version which will be called "Rip-ka" will exactly match Rybka 1.0 Beta. Experts such as Bob Hyatt will then be able to see the two and compare. The experts will then confirm that Strelka is a pure reverse engineering of Rybka that uses the variable names of fruit.

(We have two actual variable names of Rybka... "gulp" and "tick" and I can use those in the appropriate spot.)

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

It looks to me like Dann was having a lot of fun with Strelka and my guess is that he has plans for using Strelka for many fun and exciting purposes.

I haven't known anything about those plans, I simply came on and started writing about what I had seen.

So what really happened is that I accidentally stepped onto Dann's "Home Turf." Dann has some serious territory that he is now defending.

Since Dann is all angry that I accidentally am standing on his land, he is following some sort of primal instinct now to kick me off of his turf.

Hey Dann I'm not standing on your land. What is this turf that you claim?

Do you think I came here to get between you and your fun? Yes it is apparent that you have big plans for Strelka.

I am going to continue with my proof that Strelka includes a pure rip-off copy of the logic in Rybka. I will give out the proof.

In the mean time Dann you should stop trying to initiate a flame war.

Have you seen how these things turn out? These things never end, they just go on and on... Is this what you want?

The way to stop a flame war is to have all parties dampen their comments somewhat. Dampen down the rhetoric. Turn down the gain of this amplification.
ozziejoe
Posts: 811
Joined: Wed Mar 08, 2006 10:07 pm

Re: Strelka 2.0 -- TO Dann Corbit

Post by ozziejoe »


Dann I am going to prove my claims. The parts missing from Strelka... let's call this "x"... I am finishing reversing "x" and I am adding this to Strlka. My version which will be called "Rip-ka" will exactly match Rybka 1.0 Beta. Experts such as Bob Hyatt will then be able to see the two and compare. The experts will then confirm that Strelka is a pure reverse engineering of Rybka that uses the variable names of fruit.

this will be great and perhaps finally put an end to this debate.

if it is true that the "author" of strelka added the names of fruit, then it suggests two things

1) he stole vas' hard work
2) and he tried to destroy vas' reputation by making strelka look like fruit

Osipov sounds a bit psycho to me....Why would he act it such a hostile and destructive fashion, with no apparent motive. He sounds a bit like Glenn close in fatal attraction. Vas might find a boiled bunney in his kitchen.... (you will need to see the movie to get that:))

best
Joseph
Tony Thomas

Re: Strelka 2.0 -- TO Dann Corbit

Post by Tony Thomas »

SzG wrote:
rfadden wrote: It looks to me like Dann was having a lot of fun with Strelka and my guess is that he has plans for using Strelka for many fun and exciting purposes.

I haven't known anything about those plans, I simply came on and started writing about what I had seen.

So what really happened is that I accidentally stepped onto Dann's "Home Turf." Dann has some serious territory that he is now defending.

Since Dann is all angry that I accidentally am standing on his land, he is following some sort of primal instinct now to kick me off of his turf.

Hey Dann I'm not standing on your land. What is this turf that you claim?

Do you think I came here to get between you and your fun? Yes it is apparent that you have big plans for Strelka.

I am going to continue with my proof that Strelka includes a pure rip-off copy of the logic in Rybka. I will give out the proof.

In the mean time Dann you should stop trying to initiate a flame war.

Have you seen how these things turn out? These things never end, they just go on and on... Is this what you want?

The way to stop a flame war is to have all parties dampen their comments somewhat. Dampen down the rhetoric. Turn down the gain of this amplification.
Your imagination has carried you away here. Otherwise I'd have to assume that it is you who wants to generate a flame war. Please stop the talking, present the proofs instead.
What turf is he talking about?? Dann simply said that his claim about Strelka being 100% same as Rybka 1.0 beta is wrong. I have never seen a flame war started by Dann, and since it is Rick who is new around here he should refrain from making such bold claims.
Uri Blass
Posts: 10345
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Strelka 2.0 -- TO Dann Corbit

Post by Uri Blass »

Tony Thomas wrote:
SzG wrote:
rfadden wrote: It looks to me like Dann was having a lot of fun with Strelka and my guess is that he has plans for using Strelka for many fun and exciting purposes.

I haven't known anything about those plans, I simply came on and started writing about what I had seen.

So what really happened is that I accidentally stepped onto Dann's "Home Turf." Dann has some serious territory that he is now defending.

Since Dann is all angry that I accidentally am standing on his land, he is following some sort of primal instinct now to kick me off of his turf.

Hey Dann I'm not standing on your land. What is this turf that you claim?

Do you think I came here to get between you and your fun? Yes it is apparent that you have big plans for Strelka.

I am going to continue with my proof that Strelka includes a pure rip-off copy of the logic in Rybka. I will give out the proof.

In the mean time Dann you should stop trying to initiate a flame war.

Have you seen how these things turn out? These things never end, they just go on and on... Is this what you want?

The way to stop a flame war is to have all parties dampen their comments somewhat. Dampen down the rhetoric. Turn down the gain of this amplification.
Your imagination has carried you away here. Otherwise I'd have to assume that it is you who wants to generate a flame war. Please stop the talking, present the proofs instead.
What turf is he talking about?? Dann simply said that his claim about Strelka being 100% same as Rybka 1.0 beta is wrong. I have never seen a flame war started by Dann, and since it is Rick who is new around here he should refrain from making such bold claims.
Certainly there is some difference between strelka and rybka1.0 beta because they do not generate the same output and Rick also did not deny it.

The output of strelka1.8 was more similiar to rybka relative to the output of strelka2.0 but it also was not the same.

2.0 is clearly an improvement relative to 1.8 and unlike 1.8 the target with 2 was not to have output that is very close to rybka(except nodes per second) but to have better version than 1.8

Uri