Something very strange [Strelka]

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

Moderator: Ras

Andrej Sidorov

Re: Something very strange [Strelka]

Post by Andrej Sidorov »

Nid Hogge wrote: btw, he DID initially plan to go commercial with it. I guess he was too afraid from a legal action in this case from Convekta which AFAIK is also russian based.
Lies.
Dann Corbit
Posts: 12803
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Something very strange [Strelka]

Post by Dann Corbit »

Uri Blass wrote:
Dann Corbit wrote:
Uri Blass wrote:
Dann Corbit wrote:And you do not understand what I am saying. If Osipov has borrowed ideas from Fruit (and most people are saying that he has and in my opinion he has) then it is not possible for his program to ply like Rybka and yet still use the ideas of Fruit.

Don't you see the dilemma? I see two possibilities:
1. They are not so much clones like most people think
2. Something unimaginable.

I am sure that there are more possibilities than these, but it is where I am stuck.

My puzzlement is that I cannot understand it.
I do not understand the problem.
There is no rule that using ideas from fruit is illegal

I see no contradiction between the following that I believe to be correct:

1)Rybka is using ideas from fruit.
2)Strelka is using ideas from fruit.
3)Strelka(version1.8) was designed to play similiar to rybka
by reverse engineering rybka and using ideas from fruit.

Uri
I have not tested it myself thoroughly, but I still cannot believe that the programs Rybka and Strelka play identically or nearly identically. Now, I think it could appear that way especially if bugs were introduced to be the same in both programs and so those would stand out. If we test these sorts of positions, we may imagine that they play identically because other programs play very differently. But I imagine that playing a large number of games we should see lots of difference shere and there.
Similiarity between strelka1.8 and rybka1.0beta is not only about identical bugs but also about other things.

There are positions when they are not the same but it is clear that the similiarity was designed and not something random.

Here is another example for similiarity between strelka1.8 and rybka1.0beta

New game - Rybka 2.3.2a 32-bit
[d]rnbqkbnr/pppppppp/8/8/2BPPB2/2N2N2/PPP2PPP/R2QK2R w KQkq - 0 1

Analysis by Strelka 1.8 UCI:

1.Nf3-e5 e7-e6 2.Qd1-h5 Qd8-f6 3.g2-g3
± (0.83) Depth: 5 00:00:00
1.Nf3-e5 e7-e6 2.d4-d5 Ng8-f6 3.0-0 Bf8-c5 4.d5xe6 f7xe6
± (0.81) Depth: 6 00:00:00 26kN
1.0-0 e7-e6 2.d4-d5 Ng8-f6 3.d5xe6 f7xe6 4.Nf3-e5
± (0.87) Depth: 7 00:00:00 148kN
1.0-0 d7-d6 2.e4-e5 h7-h6 3.Qd1-d3 Qd8-d7 4.e5-e6 f7xe6 5.Qd3-g6+ Ke8-d8
± (0.91) Depth: 8 00:00:00 364kN
1.0-0 d7-d6 2.e4-e5 Bc8-f5 3.Nf3-h4 Bf5-c8 4.e5xd6 c7xd6 5.Rf1-e1
± (0.97) Depth: 9 00:00:01 664kN
1.0-0 d7-d6 2.e4-e5 e7-e6 3.e5xd6 c7xd6 4.Bc4-b5+ Nb8-c6 5.Bb5xc6+ b7xc6 6.Qd1-d3 Ng8-f6 7.Rf1-e1
± (0.99) Depth: 10 00:00:02 1306kN

(, 12.01.2008)

New game - Rybka 2.3.2a 32-bit
rnbqkbnr/pppppppp/8/8/2BPPB2/2N2N2/PPP2PPP/R2QK2R w KQkq - 0 1

Analysis by Rybka 1.0 Beta 32-bit:

1.0-0
± (0.82) Depth: 3 00:00:00
1.Nf3-e5
± (0.83) Depth: 3 00:00:00
1.Nf3-e5
± (0.81) Depth: 4 00:00:00
1.Nf3-e5 e7-e6
± (0.78) Depth: 5 00:00:00
1.0-0 e7-e6
± (0.87) Depth: 5 00:00:00
1.0-0 e7-e6 2.d4-d5
± (0.91) Depth: 6 00:00:00 23kN
1.0-0 d7-d6 2.e4-e5 Bc8-d7
± (0.95) Depth: 7 00:00:00 51kN
1.0-0 d7-d6 2.e4-e5 g7-g6 3.Rf1-e1
± (0.96) Depth: 8 00:00:01 97kN
(, 12.01.2008)


Comparison of the scores of both programs(depth x of rybka is equivalent to depth x+2 of strelka):

Strelka 0.83/5 0.81/6 0.87/7 0.91/8 0.97/9 0.99/10
Rybka 0.83/3 0.81/4 0.87/5 0.91/6 0.95/7 0.96/8

Uri
I ran a test on that position just now. In my test, I let a bunch of strong engines think for 30 seconds and copied the last pv. According to my test, Prodeo is more similar to Rybka 1.0 than Strelka:

Code: Select all

Prodeo 1.6                    11 00:21 25.527.456 1.215.593 +1.29 00 a7a6 a2a4 d7d6 e4e5 e7e6 d4d5 f7f6 e5xf6 Qd8xf6 Bf4g5 Qf6f5
Rybka v1.0 Beta.w32               12 00:28 2.145.694 79.470 +0.94 00 a7a6 a2a4 h7h5 h2h3 d7d6 e4e5 Nb8c6 Nf3g5
Ruffian 2.1.0                 11 00:21 38.092.809 1.813.943 +1.28 00 a7a6 Nc3d5 d7d6 Nd5b4 h7h6 Qd1d3 g7g5 Qd3b3 Bc8e6 Qb3a4+ Nb8d7
List512                                10 00:08 9.527.599 0 +1.28 00 d7d6 a2a3 Nb8c6 b2b4 h7h6 Bf4e3 Bc8g4 h2h3 Bg4e6
TogaIIv3.1.2SE_P4_SSE2       12/38 00:18 12.476.044 685.000 +2.57 00 d7d6 e4e5 h7h6 e5xd6 c7xd6 Rf1e1 Ng8f6 Bc4b5+ Bc8d7 Bf4xd6 e7e6 Bb5xd7+ Nb8xd7 Nc3b5 Nf6d5 c2c4
EngineShredder9UCI            13/38 00:13 6.189.161 443.572 +3.03 00 d7d6 e4e5 h7h6 e5xd6 c7xd6 Rf1e1 Ng8f6 Bc4b5+ Bc8d7 Bf4xd6 e7e6 Bd6f4 Bd7xb5 Nc3xb5
Toga-32bit                   12/47 00:25 16.657.045 664.002 +2.48 00 d7d6 e4e5 Nb8c6 e5xd6 c7xd6 Qd1e2 f7f6 Nc3e4 e7e5 d4xe5 f6xe5 Ne4g5 Ng8h6 Ra1d1
Fruit2.2.1                   12/38 00:25 17.229.452 688.800 +2.38 00 d7d6 e4e5 Nb8c6 Rf1e1 e7e6 e5xd6 Bf8xd6 Bf4xd6 Qd8xd6 d4d5 Qd6c5 Bc4b5 a7a6 Bb5xc6+ b7xc6
Ktulu_75                      12 00:21 23.397.321 1.069.836 +2.32 00 d7d6 Nf3g5 Ng8h6 e4e5 e7e6 Qd1h5 Nb8c6 Bc4b5 Bf8e7 Bb5xc6+ b7xc6 a2a3
Crafty 21.6                   12 00:21 32.644.040 1.554.478 +1.96 00 e7e6 d4d5 Bf8c5 d5xe6 f7xe6 Nf3d4 Ng8f6 e4e5 Bc5xd4 Qd1xd4 Nb8c6
Movei UCI                              11 00:25 7.258.175 0 +2.48 00 e7e6 d4d5 d7d6 d5xe6 Bc8xe6 Bc4xe6 f7xe6 Nf3d4 e6e5 Qd1h5+ g7g6
Gandalf60                    11/42 00:28 13.982.379 497.593 +3.00 00 e7e6 d4d5 Nb8a6 e4e5 Ng8e7 d5d6 c7xd6 e5xd6 Ne7c6 Qd1e2 Na6c5
Fruit-2-3-1                      13 00:13 9.061.970 700.833 +2.04 00 e7e6 d4d5 Ng8f6 e4e5 Nf6h5 Bf4e3 Bf8b4 Nf3d4 Qd8h4 g2g3 Qh4h3 d5xe6 d7xe6
Yace Paderborn                10 00:22 23.347.729 1.061.260 +1.60 00 e7e6 d4d5 Ng8f6 e4e5 Nf6h5 Bf4g5 Bf8e7 Nf3d4 Be7xg5
Strelka_1.8_UCI               13 00:16 12.542.411 1.067.439 +1.03 00 g7g6 Rf1e1 a7a6 Nc3d5 d7d6 e4e5 Nb8c6 Nd5xc7+ Qd8xc7 e5xd6 Qc7b6 Nf3e5 Nc6xe5 Bf4xe5
Rybkav2.3.2a.w32                  12 00:22 1.797.129 84.060 +1.90 00 Nb8a6 d4d5 e7e6 d5xe6 d7xe6 Qd1e2 Ng8f6 Ra1d1 Bc8d7
Rybka v1.2.w32                      11 00:11 731.496 69.068 +1.19 00 Nb8c6 d4d5 Nc6a5 Bc4e2 Ng8f6 b2b4 e7e5 Nf3xe5
Glaurung_win_32                 13 00:20 13.608.150 669.923 +3.05 00 Nb8c6 Nf3g5 Ng8h6 Qd1h5 g7g6 Qh5h4 e7e6 Nc3b5 d7d6 Bf4e3 Nc6b4 Qh4f4 Nb4xc2
Strelka_2_0                     12 00:23 14.280.048 980.570 +2.81 00 Nb8c6 Qd1e2 d7d6 e4e5 e7e6 d4d5 d6xe5 Nf3xe5 Nc6xe5 Qe2xe5 Ng8f6 d5xe6 Bc8xe6 Bc4xe6 f7xe6 Qe5xe6+ Qd8e7 Qe6f5
Hiarcs11.2SPUCI               11/31 00:14 3.712.076 269.949 +2.17 00 Nb8c6 Qd1e2 d7d6 e4e5 e7e6 d4d5 Nc6a5 Bf4g5
Delfi                           11 00:13 11.673.449 876.385 +2.10 Nf3e5 e7e6 d4d5 Qd8f6 Ne5d3 d7d6 00 e6e5 Bf4e3 Ng8e7 Qd1e2
ChessTiger2007UCI               15 00:21 15.814.336 791.112 +1.50 Nf3g5 e7e6 d4d5 f7f6 Ng5f3 Bf8b4 d5xe6 Qd8e7 Bf4xc7 d7xe6 Bc7g3 Bb4xc3+ b2xc3 Nb8c6 00
Aristarch 4.50                  11 00:12 12.590.395 979.035 +1.59 Nf3g5 e7e6 d4d5 f7f6 Ng5f3 Bf8d6 Bf4xd6 c7xd6 d5xe6 d7xe6
DeepSjeng 1.6                12/35 00:27 13.058.628 488.302 +1.85 Qd1e2 Nb8c6 000 Ng8h6 Bc4b5 Nh6g4 d4d5 Nc6b4 Nf3d4 h7h5 a2a3 Nb4a6 f2f3 Ng4f6
Alexander Schmidt
Posts: 1235
Joined: Thu May 10, 2007 2:49 pm

Re: Something very strange [Strelka]

Post by Alexander Schmidt »

Dann Corbit wrote:If the search and eval is from Fruit, even with borrowed Rybka tables, the answers should be different for a search. Does anyone have a logical explanation?
You can find the same evaluation only in positions with 2 or 3 pieces includeing kings. There are not much possibilities for different extensions. If you compare Strelka 1 and Rybka 1 the search is completely different, in some positions one of the engines is in seconds at the max. depth and the other is very slow.
GenoM wrote:Your question has only one answer but some people with "eyes wide shut" do not want to see it.
Don't cry. This people just want to tell you what is an evidence and what are speculations. It is not as clear as you want to make the people think. If you ever compared Strelka and Rybka, you found lots of differences in the search.

If you look in the CCC archives, or at the interview with Vas, you will see that I always asked criticaly. But it's is simply not proveable and not sure that Rybka is a Fruit clone. Even about the sources of Strelka the opinions are different.

And if you read the forum carefully, you can find my personal opinion :)

http://talkchess.com/forum/viewtopic.ph ... ht=#154628

Alex
Uri Blass
Posts: 11015
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Something very strange [Strelka]

Post by Uri Blass »

Dann Corbit wrote:
Uri Blass wrote:
Dann Corbit wrote:
Uri Blass wrote:
Dann Corbit wrote:And you do not understand what I am saying. If Osipov has borrowed ideas from Fruit (and most people are saying that he has and in my opinion he has) then it is not possible for his program to ply like Rybka and yet still use the ideas of Fruit.

Don't you see the dilemma? I see two possibilities:
1. They are not so much clones like most people think
2. Something unimaginable.

I am sure that there are more possibilities than these, but it is where I am stuck.

My puzzlement is that I cannot understand it.
I do not understand the problem.
There is no rule that using ideas from fruit is illegal

I see no contradiction between the following that I believe to be correct:

1)Rybka is using ideas from fruit.
2)Strelka is using ideas from fruit.
3)Strelka(version1.8) was designed to play similiar to rybka
by reverse engineering rybka and using ideas from fruit.

Uri
I have not tested it myself thoroughly, but I still cannot believe that the programs Rybka and Strelka play identically or nearly identically. Now, I think it could appear that way especially if bugs were introduced to be the same in both programs and so those would stand out. If we test these sorts of positions, we may imagine that they play identically because other programs play very differently. But I imagine that playing a large number of games we should see lots of difference shere and there.
Similiarity between strelka1.8 and rybka1.0beta is not only about identical bugs but also about other things.

There are positions when they are not the same but it is clear that the similiarity was designed and not something random.

Here is another example for similiarity between strelka1.8 and rybka1.0beta

New game - Rybka 2.3.2a 32-bit
[d]rnbqkbnr/pppppppp/8/8/2BPPB2/2N2N2/PPP2PPP/R2QK2R w KQkq - 0 1

Analysis by Strelka 1.8 UCI:

1.Nf3-e5 e7-e6 2.Qd1-h5 Qd8-f6 3.g2-g3
± (0.83) Depth: 5 00:00:00
1.Nf3-e5 e7-e6 2.d4-d5 Ng8-f6 3.0-0 Bf8-c5 4.d5xe6 f7xe6
± (0.81) Depth: 6 00:00:00 26kN
1.0-0 e7-e6 2.d4-d5 Ng8-f6 3.d5xe6 f7xe6 4.Nf3-e5
± (0.87) Depth: 7 00:00:00 148kN
1.0-0 d7-d6 2.e4-e5 h7-h6 3.Qd1-d3 Qd8-d7 4.e5-e6 f7xe6 5.Qd3-g6+ Ke8-d8
± (0.91) Depth: 8 00:00:00 364kN
1.0-0 d7-d6 2.e4-e5 Bc8-f5 3.Nf3-h4 Bf5-c8 4.e5xd6 c7xd6 5.Rf1-e1
± (0.97) Depth: 9 00:00:01 664kN
1.0-0 d7-d6 2.e4-e5 e7-e6 3.e5xd6 c7xd6 4.Bc4-b5+ Nb8-c6 5.Bb5xc6+ b7xc6 6.Qd1-d3 Ng8-f6 7.Rf1-e1
± (0.99) Depth: 10 00:00:02 1306kN

(, 12.01.2008)

New game - Rybka 2.3.2a 32-bit
rnbqkbnr/pppppppp/8/8/2BPPB2/2N2N2/PPP2PPP/R2QK2R w KQkq - 0 1

Analysis by Rybka 1.0 Beta 32-bit:

1.0-0
± (0.82) Depth: 3 00:00:00
1.Nf3-e5
± (0.83) Depth: 3 00:00:00
1.Nf3-e5
± (0.81) Depth: 4 00:00:00
1.Nf3-e5 e7-e6
± (0.78) Depth: 5 00:00:00
1.0-0 e7-e6
± (0.87) Depth: 5 00:00:00
1.0-0 e7-e6 2.d4-d5
± (0.91) Depth: 6 00:00:00 23kN
1.0-0 d7-d6 2.e4-e5 Bc8-d7
± (0.95) Depth: 7 00:00:00 51kN
1.0-0 d7-d6 2.e4-e5 g7-g6 3.Rf1-e1
± (0.96) Depth: 8 00:00:01 97kN
(, 12.01.2008)


Comparison of the scores of both programs(depth x of rybka is equivalent to depth x+2 of strelka):

Strelka 0.83/5 0.81/6 0.87/7 0.91/8 0.97/9 0.99/10
Rybka 0.83/3 0.81/4 0.87/5 0.91/6 0.95/7 0.96/8

Uri
I ran a test on that position just now. In my test, I let a bunch of strong engines think for 30 seconds and copied the last pv. According to my test, Prodeo is more similar to Rybka 1.0 than Strelka:
I do not know how you check similiarity
I did not check it based on a single score but based on a sequence of scores.

Strelka1.8 0.83/5 0.81/6 0.87/7 0.91/8 0.97/9 0.99/10
Rybka1.0 beta 0.83/3 0.81/4 0.87/5 0.91/6 0.95/7 0.96/8

You can see that the scores of strelka1.8 and rybka1.0beta are identical at small depth.

rybka 3-6 is identical to strelka 5-8

I prefer to compare small depths because in comparing big depths some factors that are different may be more effective.

Uri
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: Something very strange [Strelka]

Post by slobo »

Rolf wrote:
GenoM wrote:
Dann Corbit wrote:I do not understand how Strelka can be both a clone of Fruit and of Rybka and yet get exactly the same evaluation as Rybka.

If the search and eval is from Fruit, even with borrowed Rybka tables, the answers should be different for a search.

Does anyone have a logical explanation?
Your question has only one answer but some people with "eyes wide shut" do not want to see it.

Regards,
Geno


Let me simply conclude something out of the latter parameter. We have someone who publicly announced that he would show something allegedly "evil" on the side of Vasik Rajlich and his creation Rybka. In the meantime we know that this figure has tried to blackmail Rajlich by urging him to allow a commercial business with this "Strelka", what was refused. Then the figure published the source code of the Strelka 2.0 which was now defined as a clone by the Rybka author.
Yes, it would be a sufficient proof.
But can you prove it?
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: Something very strange [Strelka]

Post by slobo »

Alexander Schmidt wrote:
Dann Corbit wrote:If the search and eval is from Fruit, even with borrowed Rybka tables, the answers should be different for a search. Does anyone have a logical explanation?
You can find the same evaluation only in positions with 2 or 3 pieces includeing kings. There are not much possibilities for different extensions. If you compare Strelka 1 and Rybka 1 the search is completely different, in some positions one of the engines is in seconds at the max. depth and the other is very slow.
GenoM wrote:Your question has only one answer but some people with "eyes wide shut" do not want to see it.
Don't cry. This people just want to tell you what is an evidence and what are speculations. It is not as clear as you want to make the people think. If you ever compared Strelka and Rybka, you found lots of differences in the search.

If you look in the CCC archives, or at the interview with Vas, you will see that I always asked criticaly. But it's is simply not proveable and not sure that Rybka is a Fruit clone. Even about the sources of Strelka the opinions are different.

And if you read the forum carefully, you can find my personal opinion :)

http://talkchess.com/forum/viewtopic.ph ... ht=#154628

Alex
So, you support the idea that the same evaluation function is a proof for cloning? Only this element is sufficient for a sentence?
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
Alexander Schmidt
Posts: 1235
Joined: Thu May 10, 2007 2:49 pm

Re: Something very strange [Strelka]

Post by Alexander Schmidt »

slobo wrote:So, you support the idea that the same evaluation function is a proof for cloning?
Yes, exactly the same evals in many different positions and in all depth of this positions are an evidence for me.
slobo wrote:Only this element is sufficient for a sentence?
No. But you need exactly the same behaviour in many cases.

Alex
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: Something very strange [Strelka]

Post by slobo »

Alexander Schmidt wrote:
slobo wrote:So, you support the idea that the same evaluation function is a proof for cloning?
Yes, exactly the same evals in many different positions and in all depth of this positions are an evidence for me.
slobo wrote:Only this element is sufficient for a sentence?
No. But you need exactly the same behaviour in many cases.

Alex
My question is about concept:

Is only the same evaluation code in two engines sufficient to say:
"one of these engines is a clone" ?

Is only the same search function code in two engines sufficient to say:
"one of these engines is a clone" ?

I have never heard about such criterion.

It is well known that many engines share the same move generation code, and no one claim they are clones.
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
Guetti

Re: Something very strange [Strelka]

Post by Guetti »

Dann Corbit wrote:I do not understand how Strelka can be both a clone of Fruit and of Rybka and yet get exactly the same evaluation as Rybka.

If the search and eval is from Fruit, even with borrowed Rybka tables, the answers should be different for a search.

Does anyone have a logical explanation?
Very briefly, there are two scenarios that are imaginable why there is fruit code (or let's say, algorithms) in Strelka.

1. They were there in the first place in Rybka and got disassembled and reconstructed.

2. Not everything was possible to be reconstructed from the disassembled data (quite likely) and missing stuff was "fixed" with the help of the freely available source of a strong chess engine.

Now everybody blames Vas for borrowing from Fruit, but actually scenario 2 makes more sense in my opinion.
Uri Blass
Posts: 11015
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Something very strange [Strelka]

Post by Uri Blass »

slobo wrote:
Alexander Schmidt wrote:
slobo wrote:So, you support the idea that the same evaluation function is a proof for cloning?
Yes, exactly the same evals in many different positions and in all depth of this positions are an evidence for me.
slobo wrote:Only this element is sufficient for a sentence?
No. But you need exactly the same behaviour in many cases.

Alex
My question is about concept:

Is only the same evaluation code in two engines sufficient to say:
"one of these engines is a clone" ?

Is only the same search function code in two engines sufficient to say:
"one of these engines is a clone" ?

I have never heard about such criterion.

It is well known that many engines share the same move generation code, and no one claim they are clones.
It is not well known to me.
Which engines share the same move generation code?

Movei does not share the same move generator with other programs.

Uri