Is strelka a clone?

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

Moderators: hgm, Rebel, chrisw

Is Strelka a clone?

Poll ended at Mon Jul 16, 2007 1:58 pm

Almost certainly
33
38%
It seems likely
18
21%
I don't think so
13
15%
Almost certainly not
6
7%
I reserve my opinion
16
19%
 
Total votes: 86

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

Re: Is strelka a clone?

Post by Dann Corbit »

You can't decide the truth with a poll.
It's like voting for pi or some other natural constant.
I have seen the source code for Strelka. There is literally no way that it is a clone of Rybka. It is possible that the author has studied Rybka and got good ideas from it. But there is totally, completely, nothing whatsoever wrong with that.
MartinBryant

Re: Is strelka a clone?

Post by MartinBryant »

Dann,
it has also been stated here that you have not seen the source for Rybka.
If that is true (is it?) then how can seeing Strelka's source tell you anything?
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Is strelka a clone?

Post by Dann Corbit »

Since the source code for Rybka has not been published, Stelka could only be a clone if Rybka's code were somehow stolen and embedded as an image.

I have seen reverse engineered code (it's jumbled, goto filled gobblydy-gook since optimizers do all sorts of strange rearragements and the original control structures are lost), and Strelka's code does not look like reverse engineered code to me.

It is possible that the author has studied Rybka's operations somehow and leaned from it (even very likely) but there is nothing illegal about that.

As far as finding an identical embedded stream of bytes in a program -- what hogwash. Any two programs that use printf() or cout will have identical embedded streams of bytes.

I find the whole thing very tiring. Really, it makes me sad about the whole of chess programming science. I am a fossil from the days of the ACM when people found software ideas and shared them openly. And so the current state of affairs with allegations, insinuations and that sort of thing strikes me as truly tragic.

Of course, it is possible that I have been fooled along with the others. But I doubt it.
MartinBryant

Re: Is strelka a clone?

Post by MartinBryant »

With respect Dann, I have to disagree.
I just posted elsewhere that my uni project was an assembler-to-Pascal decompiler. That was 30 years ago.
I can't believe that the latest state of the art tools can't do a much better job and then with a bit if tidying up, you've got a respectable piece of source code.
Gandalf

Re: Is strelka a clone?

Post by Gandalf »

To put the issue into perspective: The highly experienced programmers who have looked at Strelka's source code say it is not a clone. The author of Rybka dismisses the issue. It is only the community, which has just an executable as proof, that insists on cloning accusations.
MartinBryant

Re: Is strelka a clone?

Post by MartinBryant »

Correct on every point as far as it goes.

However...
1) My earlier point was that seeing Strelka's code is surely irrelevant without seeing Rybka's too?!
2) Why should Vas care as it's a clone of an old version.
3) The community really does seem to care about the truth as evidenced by postings and emails. Personally (if you read my original post yesterday) I don't really care. But it's an interesting debate.
Uri Blass
Posts: 10301
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Is strelka a clone?

Post by Uri Blass »

Dann Corbit wrote:Since the source code for Rybka has not been published, Stelka could only be a clone if Rybka's code were somehow stolen and embedded as an image.

I have seen reverse engineered code (it's jumbled, goto filled gobblydy-gook since optimizers do all sorts of strange rearragements and the original control structures are lost), and Strelka's code does not look like reverse engineered code to me.

It is possible that the author has studied Rybka's operations somehow and leaned from it (even very likely) but there is nothing illegal about that.

As far as finding an identical embedded stream of bytes in a program -- what hogwash. Any two programs that use printf() or cout will have identical embedded streams of bytes.

I find the whole thing very tiring. Really, it makes me sad about the whole of chess programming science. I am a fossil from the days of the ACM when people found software ideas and shared them openly. And so the current state of affairs with allegations, insinuations and that sort of thing strikes me as truly tragic.

Of course, it is possible that I have been fooled along with the others. But I doubt it.

The main problem is identical or almost identical analysis both in evaluation and search.

studying rybka's output in order to improve your evaluation(assuming rybka has better evaluation) make sense but even in that case I do not expect a program to have identical evaluation to rybka even in situations when it does not make sense to have evaluation that is different than 0 as King against king.

rybka tries to hide her evaluation but not writing output at small depth and this is the reason that I am basically interested in analysis of fortress
positions because in fortress positions the evaluation is partially exposed.

It is logical to learn from this experience of analysing fortress position and get evaluation that is more similiar to rybka but having evaluation that is totally identical in more than one case does not make sense and it cannot be an accident and the problem is not only identical evaluation but also identical search in many positions as evidence proved and even if the evaluation is different I can find the same patterns in the score changes.

This can happen only with copying code and it cannot happen without cloning

The programmer of sterlka did not understand rybka's code otherwise he could avoid the same bugs


Same pattern of drop in the evaluation score when you have a queen
This pattern is also in old strelka.

Why does it happen?

Note that no other program that I know shows drop in evaluation for white by more than 3 pawns.

Strelka's score drops from
+- (12.53) in depth 6 to 8.50 in depth 7

Rybka's score drops from 12.34 pawns in depth 4 to 8.37 pawns at depth 5






New game - Strelka 1.8 UCI
[D]4k3/2pp1p2/8/8/Q7/8/8/4K3 w - - 0 1

Analysis by Strelka 1.8 UCI:

1.Qa4-a8+ Ke8-e7 2.Qa8-e4+ Ke7-d8
+- (11.05) Depth: 1 00:00:00
1.Qa4-a8+ Ke8-e7 2.Qa8-e4+ Ke7-d6 3.Qe4-f4+ Kd6-c6 4.Qf4xf7
+- (12.23) Depth: 2 00:00:00
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 f7-f5 3.Qf4xf5
+- (12.24) Depth: 3 00:00:00
1.Qa4-f4 d7-d6 2.Qf4-f6 Ke8-d7 3.Qf6xf7+ Kd7-c6
+- (12.31) Depth: 4 00:00:00
1.Qa4-f4 d7-d6 2.Qf4-f6 d6-d5 3.Qf6-e5+ Ke8-d8 4.Qe5xd5+ Kd8-e7
+- (12.44) Depth: 5 00:00:00
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 f7-f5 3.Qf4xf5 Kd8-e8 4.Ke1-d2
+- (12.53) Depth: 6 00:00:00 25kN
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 f7-f5 3.Qf4xf5 Kd8-e8 4.Ke1-d2 c7-c6
+- (8.50) Depth: 7 00:00:00 144kN
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 c7-c6 3.Qf4xf7 Kd8-c7 4.Ke1-d2 c6-c5 5.Qf7-f4+ d7-d6
+- (8.50) Depth: 8 00:00:00 399kN
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 c7-c6 3.Qf4xf7 Kd8-c7 4.Ke1-d2 c6-c5 5.Qf7-f4+ d7-d6 6.Qf4-f7+ Kc7-d8
+- (8.50) Depth: 9 00:00:00 873kN
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 c7-c6 3.Qf4xf7 Kd8-c7 4.Ke1-d2 c6-c5 5.Qf7-f4+ d7-d6 6.Qf4-f7+ Kc7-d8 7.Qf7-f6+ Kd8-d7
+- (8.50) Depth: 10 00:00:01 1733kN
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 c7-c6 3.Qf4xf7 Kd8-c7 4.Ke1-d2 c6-c5 5.Qf7-f4+ d7-d6 6.Qf4-f7+ Kc7-d8 7.Qf7-f6+ Kd8-d7 8.Qf6-f5+ Kd7-e7
+- (8.50) Depth: 11 00:00:03 3273kN
1.Qa4-b5 c7-c6 2.Qb5-g5 f7-f5 3.Qg5-f6 f5-f4 4.Ke1-e2 c6-c5 5.Qf6xf4 Ke8-e7 6.Qf4-e5+ Ke7-d8 7.Qe5xc5
+- (9.49) Depth: 12 00:00:04 7491kN
1.Qa4-b5 c7-c6 2.Qb5-g5 f7-f5 3.Qg5-f6 f5-f4 4.Ke1-e2 c6-c5 5.Qf6xf4 Ke8-e7 6.Qf4-e5+ Ke7-d8 7.Qe5xc5 Kd8-e8
+- (9.55) Depth: 13 00:00:07 10137kN
1.Qa4-b5 c7-c6 2.Qb5-g5 f7-f5 3.Qg5-f6 f5-f4 4.Ke1-e2 c6-c5 5.Qf6xf4 Ke8-e7 6.Qf4-e5+ Ke7-d8 7.Qe5xc5 Kd8-e8 8.Qc5-e5+ Ke8-d8
+- (9.55) Depth: 14 00:00:10 14446kN
1.Qa4-b5 c7-c6 2.Qb5-g5 f7-f5 3.Qg5-f6 f5-f4 4.Ke1-e2 c6-c5 5.Qf6xf4 Ke8-e7 6.Qf4-e5+ Ke7-d8 7.Qe5xc5 Kd8-e8 8.Qc5-e5+ Ke8-d8 9.Qe5-f6+ Kd8-c7
+- (9.55) Depth: 15 00:00:17 22531kN

(, 10.07.2007)

New game - Strelka 1.8 UCI
4k3/2pp1p2/8/8/Q7/8/8/4K3 w - - 0 1

Analysis by Rybka 1.0 Beta 32-bit:

1.Qa4-f4
+- (12.12) Depth: 3 00:00:00
1.Qa4-e4+
+- (12.19) Depth: 3 00:00:00
1.Qa4-e4+ Ke8-d8
+- (12.34) Depth: 4 00:00:00
1.Qa4-e4+ Ke8-d8 2.Qe4-f4
+- (8.37) Depth: 5 00:00:00
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 c7-c6
+- (8.37) Depth: 6 00:00:00 47kN
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 c7-c6 3.Qf4xf7
+- (8.37) Depth: 7 00:00:00 106kN
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 c7-c6 3.Qf4xf7 Kd8-c7
+- (8.37) Depth: 8 00:00:00 235kN
1.Qa4-e4+ Ke8-d8 2.Qe4-f4 c7-c6 3.Qf4xf7 Kd8-c7 4.Ke1-d2
+- (8.37) Depth: 9 00:00:01 476kN

(, 10.07.2007)
Uri Blass
Posts: 10301
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Is strelka a clone?

Post by Uri Blass »

Gandalf wrote:To put the issue into perspective: The highly experienced programmers who have looked at Strelka's source code say it is not a clone. The author of Rybka dismisses the issue. It is only the community, which has just an executable as proof, that insists on cloning accusations.
There are cases when we do not need the source to be practically sure that a program is a clone.

Identical or almost identical analysis in many positions is a strong evidence.

Note that I did not need to work hard to compose positions when the behaviour is the same and after reading in the rybka forum that strelka is a clone I decided to test some positions.

Uri
James Constance
Posts: 358
Joined: Wed Mar 08, 2006 8:36 pm
Location: UK

Re: Is strelka a clone?

Post by James Constance »

For my part I agree entirely with Uri. Note that having someone say that they have looked at the source is hardly as compelling as seeing the analysis scroll down on the screen in front of you.

(Although I should say, although I believe Strelka and Rybka use the same code, I don't know which came first or whether they have a common source.)

Nevertheless, I am enjoying the poll - I find it interesting that opinion is divided in this way. :D

This has probably been mentioned before, but it would lovely if Strelka's author would say a few words... :roll:
swami
Posts: 6640
Joined: Thu Mar 09, 2006 4:21 am

Re: Is strelka a clone?

Post by swami »

For my part I agree entirely with Uri.
He has only posted the similarity of evaluation so far and he hasn't posted different other dissimilar evaluations and he hasn't even mentioned what the differences were either.But I don't criticise him for that.He can have opinion of strelka being a clone.
Nevertheless, I am enjoying the poll - I find it interesting that opinion is divided in this way. :D
If you take "I reserve my opinion" into Strelka not being a clone,since it means "I'm not sure" and doesn't need to be put into "I'm sure it is a clone"
add the last three choices(26 votes total out of 61) but most of the people
seem to ignore "I reserve the opinion" and they instead vote for "almost certainly" based on lot of escessive ranting in CCC, If there had been less ranting I would guess that the poll results for both the sides would be equalised.

If Vas checks the code of strelka and confirms that it is not a clone then the opinion will change but still there would be few!
This has probably been mentioned before, but it would lovely if Strelka's author would say a few words... :roll:
Author of Strelka seems to speak mostly on russian and Sergei said he can't speak here in english.