Yes, this occured to me also. I took it for granted that those looking at the source would compile it to confirm that it was the source of the exe in question... surely!bob wrote:one key question... have you tested the source code by compiling it and seeing how it behaves on the test positions that have been posted???
Are these persons incompetent ?
Moderator: Ras
-
James Constance
- Posts: 358
- Joined: Wed Mar 08, 2006 8:36 pm
- Location: UK
Re: Are these persons incompetent ?
-
Dann Corbit
- Posts: 12803
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Are these persons incompetent ?
Bryan Hoffman's version played identical, mine had problems on my first pass (I did a profile guided optimization which gives wrong results). The stock binary created on my machine works fine. Here are some outputs:bob wrote:one key question... have you tested the source code by compiling it and seeing how it behaves on the test positions that have been posted??? We had a case many years ago where someone entered a genius clone, but had a source code that would play chess. Just nowhere as good as genius. And when the challenge was made, his "executable (the genius clone) would not match his "source" (compiled on site by the testers) at all.
Code: Select all
C:\programme\winboard\strelka>epd2wb Strelka_dann.exe \epd\alj-ste.epd 60
Epd2Wb, Release 02/TM
original version by Bruce Moreland with some modifications by Thomas Mayer
epd2wb comes with ABSOLUTELY NO WARRANTY - released under GPL
Engine: Strelka v.1.0.beta
Suite: \epd\alj-ste.epd
Positions: 1
Time per move: 60 seconds
Language: English (PNBRQK)
Engine will use ...
"analyze": No
"white" &
"black": Yes
"ping": No
"setboard": Yes
"usermove": Yes
Test delay: 4 seconds
-------------------------------------------------------------------------------
Nr: 1 (of 1)
Id: Aljechin-Sterk
Fen: r4rk1/p4ppp/qp2p3/b5B1/n1R5/5N2/PP2QPPP/1R4K1 w - - 0 1
Bm: Bf6
no 1 10 -913 2 c4a4 a6e2
no 1 10 -761 5 e2e6 f7e6 c4a4
no 1 10 -344 12 g5d8 a8d8
no 1 10 +8 13 g5e7
no 1 10 +9 19 g5f4
no 1 10 +39 44 f3e5
no 1 10 +48 69 b1d1
no 2 10 -18 116 b1d1 a4b2
no 2 10 +15 185 f3e5 a4c5
no 3 10 +9 1013 f3e5 f7f6 b2b3 f6g5 b3a4
no 3 10 +20 2284 f3d4 h7h6 g5f4
no 4 10 +5 4158 f3d4 a4c5 b1d1 a8c8
no 4 30 +9 8588 e2f1 a4c5 b2b4 h7h6 b4a5 h6g5 a5b6 a7b6
f3g5 a6a2 b1b6
no 5 40 +15 12487 e2f1 a4c5 b2b4 f7f6 b4c5 f6g5 f3g5
no 5 40 +48 16531 f3d4 h7h6 g5h6 a4b2 b1b2 g7h6 e2g4 g8h7
no 6 60 +48 23453 f3d4 h7h6 g5h6 a4b2 b1b2 g7h6 e2g4 g8h7
no 7 100 +81 63800 f3d4 a4c5 b2b4 h7h6 g5e7 f8e8 e7c5 b6c5
b4c5
no 7 140 +83 82950 e2f1 a4c5 b2b4 a5b4 b1b4 a6a2 g5e7 f8c8
e7c5 c8c5 c4c5 b6c5
no 8 150 +100 114729 e2f1 a4c5 b2b4 a5b4 b1b4 a6a2 g5e7 f8c8
f3e5
no 9 210 +90 175385 e2f1 a4c5 b2b4 a5b4 b1b4 a6a2 f1b1 a2e2
b1c2 e2d3 c2d3 c5d3
no 9 280 +141 253828 f3d4 a4c5 b2b4 e6e5 d4c6 c5e6 c6e7 g8h8
b4b5 a6b7 e2e5
no 10 400 +128 407059 f3d4 a4c5 b2b4 e6e5 d4c6 c5e6 b4b5 a6b7
c6a5 b6a5 e2e5 e6g5 e5g5
no 11 870 +145 981542 f3d4 a4c5 b2b4 h7h6 g5e3 a5b4 c4b4 a6b7
d4b5 b7e7 b1c1 a8c8 e3c5 c8c5 c1c5 e7c5
no 12 1780 +141 2140919 f3d4 a4c5 b2b4 c5e4 g5f4 e6e5 f4e5 f7f6
d4c6 f6e5 e2e4 b6b5 c6e7 g8h8
no 13 3760 +160 4661662 f3d4 a4c5 b2b4 h7h6 g5e3 a5b4 c4b4 a6b7
d4b5 f8d8 e3c5 b6c5 b4b3 b7d5 h2h3
no 14 9000 +159 11207318 f3d4 a4c5 b2b4 a5b4 c4b4 e6e5 e2e5 c5d3
e5g3 d3b4 g5h6 g7g6 h6f8 a6a2 g3b3 g8f8
b3b4 f8g7
no 15 19310 +164 24333442 f3d4 a4c5 b2b4 a5b4 c4b4 e6e5 d4b5 a8c8
b1d1 f8e8 b4g4 e5e4 g5f6 g7g6 h2h3 a6a4
no 16 42530 +157 53861346 f3d4 a4c5 b2b4 a5b4 b1b4 f7f6 g5e3 f8d8
b4b1 d8d5 e2c2 g8h8 h2h3 a8d8 d4c6 d8c8
e3c5 c8c6
Result: Failure (0 of 1 solved so far - 0%)
-------------------------------------------------------------------------------
Position results:
PosNr solved ply time last pv
----- ------ --- ------------- ------------------------------------------------
1 no [--:--:--,--] [16] +1.57 f3d4 a4c5 b2b4 a5b4 b1b4 f7f6 g5e3
f8d8 b4b1 d8d5 e2c2 g8h8 h2h3 a8d8 d4c6 d8c8
e3c5 c8c6
-------------------------------------------------------------------------------
Results:
0 problems solved.
1 problem unsolved.
C:\programme\winboard\strelka>epd2wb Strelka-bryann-hoffman.exe \epd\alj-ste.epd 60
Epd2Wb, Release 02/TM
original version by Bruce Moreland with some modifications by Thomas Mayer
epd2wb comes with ABSOLUTELY NO WARRANTY - released under GPL
Engine: Strelka v.1.0.beta
Suite: \epd\alj-ste.epd
Positions: 1
Time per move: 60 seconds
Language: English (PNBRQK)
Engine will use ...
"analyze": No
"white" &
"black": Yes
"ping": No
"setboard": Yes
"usermove": Yes
Test delay: 4 seconds
-------------------------------------------------------------------------------
Nr: 1 (of 1)
Id: Aljechin-Sterk
Fen: r4rk1/p4ppp/qp2p3/b5B1/n1R5/5N2/PP2QPPP/1R4K1 w - - 0 1
Bm: Bf6
no 1 0 -913 2 c4a4 a6e2
no 1 10 -761 5 e2e6 f7e6 c4a4
no 1 10 -344 12 g5d8 a8d8
no 1 10 +8 13 g5e7
no 1 10 +9 19 g5f4
no 1 10 +39 44 f3e5
no 1 10 +48 69 b1d1
no 2 10 -18 116 b1d1 a4b2
no 2 10 +15 185 f3e5 a4c5
no 3 10 +9 1013 f3e5 f7f6 b2b3 f6g5 b3a4
no 3 10 +20 2284 f3d4 h7h6 g5f4
no 4 10 +5 4158 f3d4 a4c5 b1d1 a8c8
no 4 40 +9 8588 e2f1 a4c5 b2b4 h7h6 b4a5 h6g5 a5b6 a7b6
f3g5 a6a2 b1b6
no 5 60 +15 12487 e2f1 a4c5 b2b4 f7f6 b4c5 f6g5 f3g5
no 5 60 +48 16531 f3d4 h7h6 g5h6 a4b2 b1b2 g7h6 e2g4 g8h7
no 6 70 +48 23453 f3d4 h7h6 g5h6 a4b2 b1b2 g7h6 e2g4 g8h7
no 7 110 +81 63800 f3d4 a4c5 b2b4 h7h6 g5e7 f8e8 e7c5 b6c5
b4c5
no 7 120 +83 82950 e2f1 a4c5 b2b4 a5b4 b1b4 a6a2 g5e7 f8c8
e7c5 c8c5 c4c5 b6c5
no 8 150 +100 114729 e2f1 a4c5 b2b4 a5b4 b1b4 a6a2 g5e7 f8c8
f3e5
no 9 200 +90 175385 e2f1 a4c5 b2b4 a5b4 b1b4 a6a2 f1b1 a2e2
b1c2 e2d3 c2d3 c5d3
no 9 260 +141 253828 f3d4 a4c5 b2b4 e6e5 d4c6 c5e6 c6e7 g8h8
b4b5 a6b7 e2e5
no 10 390 +128 407059 f3d4 a4c5 b2b4 e6e5 d4c6 c5e6 b4b5 a6b7
c6a5 b6a5 e2e5 e6g5 e5g5
no 11 840 +145 981542 f3d4 a4c5 b2b4 h7h6 g5e3 a5b4 c4b4 a6b7
d4b5 b7e7 b1c1 a8c8 e3c5 c8c5 c1c5 e7c5
no 12 1750 +141 2140919 f3d4 a4c5 b2b4 c5e4 g5f4 e6e5 f4e5 f7f6
d4c6 f6e5 e2e4 b6b5 c6e7 g8h8
no 13 3680 +160 4661662 f3d4 a4c5 b2b4 h7h6 g5e3 a5b4 c4b4 a6b7
d4b5 f8d8 e3c5 b6c5 b4b3 b7d5 h2h3
no 14 8780 +159 11207318 f3d4 a4c5 b2b4 a5b4 c4b4 e6e5 e2e5 c5d3
e5g3 d3b4 g5h6 g7g6 h6f8 a6a2 g3b3 g8f8
b3b4 f8g7
no 15 18870 +164 24333442 f3d4 a4c5 b2b4 a5b4 c4b4 e6e5 d4b5 a8c8
b1d1 f8e8 b4g4 e5e4 g5f6 g7g6 h2h3 a6a4
no 16 41610 +157 53861346 f3d4 a4c5 b2b4 a5b4 b1b4 f7f6 g5e3 f8d8
b4b1 d8d5 e2c2 g8h8 h2h3 a8d8 d4c6 d8c8
e3c5 c8c6
Result: Failure (0 of 1 solved so far - 0%)
-------------------------------------------------------------------------------
Position results:
PosNr solved ply time last pv
----- ------ --- ------------- ------------------------------------------------
1 no [--:--:--,--] [16] +1.57 f3d4 a4c5 b2b4 a5b4 b1b4 f7f6 g5e3
f8d8 b4b1 d8d5 e2c2 g8h8 h2h3 a8d8 d4c6 d8c8
e3c5 c8c6
-------------------------------------------------------------------------------
Results:
0 problems solved.
1 problem unsolved.
C:\programme\winboard\strelka>epd2wb Strelka-original.exe \epd\alj-ste.epd 60
Epd2Wb, Release 02/TM
original version by Bruce Moreland with some modifications by Thomas Mayer
epd2wb comes with ABSOLUTELY NO WARRANTY - released under GPL
Engine: Strelka v.1.0.beta
Suite: \epd\alj-ste.epd
Positions: 1
Time per move: 60 seconds
Language: English (PNBRQK)
Engine will use ...
"analyze": No
"white" &
"black": Yes
"ping": No
"setboard": Yes
"usermove": Yes
Test delay: 4 seconds
-------------------------------------------------------------------------------
Nr: 1 (of 1)
Id: Aljechin-Sterk
Fen: r4rk1/p4ppp/qp2p3/b5B1/n1R5/5N2/PP2QPPP/1R4K1 w - - 0 1
Bm: Bf6
no 1 0 -913 2 c4a4 a6e2
no 1 10 -761 5 e2e6 f7e6 c4a4
no 1 10 -344 12 g5d8 a8d8
no 1 10 +8 13 g5e7
no 1 10 +9 19 g5f4
no 1 10 +39 44 f3e5
no 1 10 +48 69 b1d1
no 2 10 -18 116 b1d1 a4b2
no 2 10 +15 185 f3e5 a4c5
no 3 10 +9 1013 f3e5 f7f6 b2b3 f6g5 b3a4
no 3 30 +20 2284 f3d4 h7h6 g5f4
no 4 30 +5 4158 f3d4 a4c5 b1d1 a8c8
no 4 40 +9 8588 e2f1 a4c5 b2b4 h7h6 b4a5 h6g5 a5b6 a7b6
f3g5 a6a2 b1b6
no 5 60 +15 12487 e2f1 a4c5 b2b4 f7f6 b4c5 f6g5 f3g5
no 5 60 +48 16531 f3d4 h7h6 g5h6 a4b2 b1b2 g7h6 e2g4 g8h7
no 6 70 +48 23453 f3d4 h7h6 g5h6 a4b2 b1b2 g7h6 e2g4 g8h7
no 7 120 +81 63800 f3d4 a4c5 b2b4 h7h6 g5e7 f8e8 e7c5 b6c5
b4c5
no 7 140 +83 82950 e2f1 a4c5 b2b4 a5b4 b1b4 a6a2 g5e7 f8c8
e7c5 c8c5 c4c5 b6c5
no 8 170 +100 114729 e2f1 a4c5 b2b4 a5b4 b1b4 a6a2 g5e7 f8c8
f3e5
no 9 230 +90 175385 e2f1 a4c5 b2b4 a5b4 b1b4 a6a2 f1b1 a2e2
b1c2 e2d3 c2d3 c5d3
no 9 310 +141 253828 f3d4 a4c5 b2b4 e6e5 d4c6 c5e6 c6e7 g8h8
b4b5 a6b7 e2e5
no 10 450 +128 407059 f3d4 a4c5 b2b4 e6e5 d4c6 c5e6 b4b5 a6b7
c6a5 b6a5 e2e5 e6g5 e5g5
no 11 980 +145 981542 f3d4 a4c5 b2b4 h7h6 g5e3 a5b4 c4b4 a6b7
d4b5 b7e7 b1c1 a8c8 e3c5 c8c5 c1c5 e7c5
no 12 2030 +141 2140919 f3d4 a4c5 b2b4 c5e4 g5f4 e6e5 f4e5 f7f6
d4c6 f6e5 e2e4 b6b5 c6e7 g8h8
no 13 4290 +160 4661662 f3d4 a4c5 b2b4 h7h6 g5e3 a5b4 c4b4 a6b7
d4b5 f8d8 e3c5 b6c5 b4b3 b7d5 h2h3
no 14 10210 +159 11207318 f3d4 a4c5 b2b4 a5b4 c4b4 e6e5 e2e5 c5d3
e5g3 d3b4 g5h6 g7g6 h6f8 a6a2 g3b3 g8f8
b3b4 f8g7
no 15 21960 +164 24333442 f3d4 a4c5 b2b4 a5b4 c4b4 e6e5 d4b5 a8c8
b1d1 f8e8 b4g4 e5e4 g5f6 g7g6 h2h3 a6a4
no 16 48400 +157 53861346 f3d4 a4c5 b2b4 a5b4 b1b4 f7f6 g5e3 f8d8
b4b1 d8d5 e2c2 g8h8 h2h3 a8d8 d4c6 d8c8
e3c5 c8c6
Result: Failure (0 of 1 solved so far - 0%)
-------------------------------------------------------------------------------
Position results:
PosNr solved ply time last pv
----- ------ --- ------------- ------------------------------------------------
1 no [--:--:--,--] [16] +1.57 f3d4 a4c5 b2b4 a5b4 b1b4 f7f6 g5e3
f8d8 b4b1 d8d5 e2c2 g8h8 h2h3 a8d8 d4c6 d8c8
e3c5 c8c6
-------------------------------------------------------------------------------
Results:
0 problems solved.
1 problem unsolved.
-
Dann Corbit
- Posts: 12803
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Are these persons incompetent ?
This is Rybka 1.0, 1.1, 1.2 for the same position (output through Arena):
Code: Select all
Analysis from C:\epd\alj-ste.epd
7/9/2007 10:54:33 PM Level: 60 Seconds
Analyzing engine: Rybka v1.2.w32
1) Bf6; id "Aljechin-St
Searching move: Bg5-f6
Best move (Rybka v1.2.w32): Kg1-f1
Not found in: 01:00
2 00:01 560 1.220 +0.09 Rb1c1
2 00:01 632 1.291 +0.47 Nf3d4
3 00:01 816 1.443 +0.55 Nf3d4
4 00:01 1.168 1.960 +0.66 Nf3d4 Na4c5
5 00:01 1.744 2.718 +0.66 Nf3d4 Na4c5 b2b4
5 00:01 2.848 3.807 +1.06 Qe2f1 Na4c5 b2b4
6 00:01 4.256 5.573 +1.05 Qe2f1 Na4c5 b2b4 Ba5xb4
7 00:01 6.552 7.939 +0.95 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2
8 00:01 11.832 13.126 +0.91 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e7
9 00:02 26.408 22.165 +0.89 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e7 Rf8c8
10 00:02 55.512 35.639 +0.87 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e7 Rf8c8 Rc4d4
10 00:03 81.016 39.021 +1.09 Nf3d4 Na4c5 b2b4 e6e5 Nd4f5 Nc5e6 b4xa5 Ne6xg5
11 00:03 123.152 45.592 +1.06 Nf3d4 Na4c5 b2b4 e6e5 Nd4f5 Nc5e6 Bg5e7 Ra8c8 b4b5
12 00:04 213.072 56.524 +1.10 Nf3d4 Na4c5 b2b4 e6e5 Nd4f5 Nc5e6 Bg5e7 b6b5 Rc4c3 Ba5c7
13 00:10 576.696 64.160 +0.76 Nf3d4 Na4c5 b2b4 Nc5e4 Bg5e7 Rf8e8 b4xa5 Ne4d2 Qe2xd2 Qa6xc4 Be7g5
13 00:12 790.088 70.536 +0.95 Qe2f1 Na4c5 b2b4 Ba5xb4 Rc4xb4 Qa6xa2 Bg5e7 Rf8c8 Rb1d1 f7f6 Rd1d2 Qa2a3
14 00:18 1.344.264 78.793 +0.89 Qe2f1 Na4c5 b2b4 Ba5xb4 Rc4xb4 Qa6xa2 Bg5e7 Rf8c8 Rb1d1 f7f6 Rd1d2 Qa2a3 Rb4g4
14 00:27 2.151.088 84.362 +0.97 Kg1f1 f7f6 Bg5e3 Qa6b5 b2b4 Ra8c8 Rc4xc8 Qb5xe2+ Kf1xe2 Rf8xc8 Be3d2 Rc8c2 b4xa5 Rc2xa2
15 00:30 2.481.296 86.724 +0.94 Kg1f1 f7f6 Bg5e3 Qa6b5 b2b4 Ra8c8 Rc4xc8 Qb5xe2+ Kf1xe2 Rf8xc8 Be3d2 Rc8c2 b4xa5 Rc2xa2
16 00:45 3.983.736 92.186 +1.02 Kg1f1 f7f6 Bg5e3 Qa6b5 b2b4 Ra8c8 Rc4xc8 Qb5xe2+ Kf1xe2 Rf8xc8 Be3d2 Rc8c2 b4xa5 Rc2xa2
7/9/2007 10:55:36 PM, Time for this analysis: 00:01:00, Rated time: 01:00
0 of 1 matching moves
7/9/2007 10:55:36 PM, Total time: 12:01:03 AM
Rated time: 01:00 = 60 Seconds
--------------------------------------------------------------------------------
Analysis from C:\epd\alj-ste.epd
7/9/2007 10:54:33 PM Level: 1 Second
Analyzing engine: Rybka v1.1.w32
1) Bf6; id "Aljechin-St
Searching move: Bg5-f6
Best move (Rybka v1.1.w32): Kg1-f1
Not found in: 01:00
2 00:01 368 830 +0.33 Nf3d4
3 00:01 736 1.606 +0.67 Nf3d4
4 00:01 1.240 1.980 +0.78 Nf3d4 Na4c5
5 00:01 2.344 3.409 +1.03 Nf3d4 Na4c5 b2b4
5 00:01 3.848 4.668 +1.23 Qe2f1 Na4c5 b2b4
6 00:01 5.424 6.233 +1.21 Qe2f1 Na4c5 b2b4 Ba5xb4
7 00:01 8.248 8.716 +1.09 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2
7 00:01 11.112 11.199 +1.18 Nf3d4 Na4c5 b2b4 e6e5 Nd4c6
8 00:01 15.416 14.429 +1.03 Nf3d4 Na4c5 b2b4 e6e5 Nd4c6 Nc5e6
8 00:01 19.920 17.877 +1.07 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e7
9 00:02 37.296 26.266 +1.01 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e7 Rf8c8
10 00:03 76.048 36.102 +1.00 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e7 Rf8c8 h2h3
11 00:04 143.992 44.093 +1.03 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e7 Rf8c8 h2h3 f7f5
11 00:05 188.344 45.540 +1.36 Nf3d4 Na4c5 b2b4 e6e5 Nd4c6 Nc5e6 Bg5d2 Ra8d8 Nc6xd8
12 00:07 307.352 49.727 +1.33 Nf3d4 Na4c5 b2b4 e6e5 Nd4f5 Nc5e6 Bg5h6 e5e4 b4xa5 g7xh6
13 00:18 837.776 49.955 +1.07 Nf3d4 Na4c5 b2b4 Nc5e4 Bg5e7 Rf8e8 Rb1c1 b6b5 b4xa5 b5xc4 Qe2xe4
13 00:34 1.798.392 54.286 +1.10 Kg1f1 f7f6 Bg5e3 Qa6b5 b2b4 Ra8c8 Rc4xc8 Qb5xe2+ Kf1xe2 Rf8xc8 Be3d2 Ba5xb4 Rb1xb4 Na4c3+
14 00:37 2.031.960 56.714 +1.17 Kg1f1 f7f6 Bg5e3 Qa6b5 b2b4 Ra8c8 Rc4xc8 Qb5xe2+ Kf1xe2 Rf8xc8 Be3d2 Ba5xb4 Rb1xb4 Na4c3+
15 00:53 3.100.384 60.310 +1.15 Kg1f1 f7f6 Bg5e3 Qa6b5 b2b4 Ra8c8 Rc4xc8 Qb5xe2+ Kf1xe2 Rf8xc8 Be3d2 Ba5xb4 Rb1xb4 Na4c3+
7/9/2007 10:56:43 PM, Time for this analysis: 00:01:00, Rated time: 01:00
0 of 1 matching moves
7/9/2007 10:56:44 PM, Total time: 12:02:11 AM
Rated time: 01:00 = 60 Seconds
--------------------------------------------------------------------------------
Analysis from C:\epd\alj-ste.epd
7/9/2007 10:54:33 PM Level: 1 Second
Analyzing engine: Rybka v1.0 Beta.w32
1) Bf6; id "Aljechin-St
Searching move: Bg5-f6
Best move (Rybka v1.0 Beta.w32): Kg1-f1
Not found in: 01:00
3 00:00 535 4.980 +0.18 Bg5e7
3 00:00 747 6.953 +0.38 Nf3d4
4 00:00 1.345 10.930 +0.70 Nf3d4
5 00:00 3.556 13.689 +1.43 Nf3d4 Na4c5
5 00:00 5.974 19.544 +1.76 Qe2f1 Na4c5
6 00:00 8.520 25.288 +1.78 Qe2f1 Na4c5 b2b4
7 00:00 14.359 34.760 +1.86 Qe2f1 Na4c5 b2b4 Ba5xb4
8 00:00 26.405 49.340 +1.78 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2
9 00:01 53.497 56.475 +1.78 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e7
10 00:02 128.058 70.500 +1.72 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e3 Rf8c8
11 00:04 307.926 80.705 +1.84 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e3 Ra8c8 Be3xc5
12 00:07 585.793 82.556 +1.74 Qe2f1 Na4c5 b2b4 Ba5xb4 Rb1xb4 Qa6xa2 Bg5e3 Ra8c8 Be3xc5 Rc8xc5
12 00:13 1.109.825 85.371 +1.82 Kg1f1 f7f6 Bg5e3 Qa6b5 b2b4 Ra8d8 Rb1b3 Rd8d1+ Qe2xd1 Qb5xc4+
13 00:17 1.512.506 88.970 +2.01 Kg1f1 f7f6 Bg5e3 Qa6b5 b2b4 Ra8d8 Rb1b3 Rd8d1+ Qe2xd1 Qb5xc4+
14 00:30 2.612.196 93.292 +1.96 Kg1f1 f7f6 Bg5e3 Qa6b5 b2b4 Ra8d8 Rb1b3 Rd8d1+ Qe2xd1 Qb5xc4+
7/9/2007 10:57:50 PM, Time for this analysis: 00:01:00, Rated time: 01:00
0 of 1 matching moves
7/9/2007 10:57:51 PM, Total time: 12:03:17 AM
Rated time: 01:00 = 60 Seconds
-
mclane
- Posts: 18946
- Joined: Thu Mar 09, 2006 6:40 pm
- Location: US of Europe, germany
- Full name: Thorsten Czub
Re: Are these persons incompetent ?
this dialogue says that somebody has disassembled rybka. and that he now knows the "secret" , that there IS no secret. and he claims that he has a FAIR kind of rybka, a kind of clon program, that gives exact NPS and search depth etc. not the HIDDEN in rybka.
this dialogue says it all. it was disassembled from rybka into C.
and made into a working program that copies the ideas... to find out about computerchess. how it is done in programs like rybka.
this dialogue says it all. it was disassembled from rybka into C.
and made into a working program that copies the ideas... to find out about computerchess. how it is done in programs like rybka.
-
Dann Corbit
- Posts: 12803
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Are these persons incompetent ?
Of course that claim is an utter load of crap.mclane wrote:this dialogue says that somebody has disassembled rybka. and that he now knows the "secret" , that there IS no secret. and he claims that he has a FAIR kind of rybka, a kind of clon program, that gives exact NPS and search depth etc. not the HIDDEN in rybka.
this dialogue says it all. it was disassembled from rybka into C.
and made into a working program that copies the ideas... to find out about computerchess. how it is done in programs like rybka.
Now, it is possible (in fact easy) to go into the source code and make a few simple changes (e.g. where nodes are reported or depths are reported) and change a single assembly instruction or calculation constant and change the output of the program -- which is trivial. So such a 'fair' binary may exist (one that reports things in a way more like we are used to seeing). But the claim that they have reverse engineered it and fully understood it is a lie.
-
Dann Corbit
- Posts: 12803
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Are these persons incompetent ?
Brian Hoffman reported identical analysis with the version on the site and his binary at the time.
-
Uri Blass
- Posts: 10983
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: Are these persons incompetent ?
I think that this is simply nonsenseDann Corbit wrote:The source code looks like the work of a programmer and not like the output of a reverse engineering tool.tiger wrote:I still have no idea how Dann and Bryan could decide with such authority that Strelka was not a clone.
I have expressed my doubts at the time and got no convincing answer. My doubts were about the fact that they said it was not a clone without having the Rybka source code at their disposal.
The source code for Rybka is not available, so to produce source code from Rybka, it would have to be disassembled.
It is easy to disassemble a binary but you will not get C back from it.
There are some assmbly to C translators and all of them are garbage. In short, they don't work except on trivial snippets and the output in these cases is only marginally useful.My opinion is based on 30 years of programming experience. I have done reverse engineering projects (I wrote a decompiler for Clipper type database languages) and I know what is possible and what is not possible. It is possible that I am wrong, but I still do not think that Strelka is a clone. I guess (because of the similar evaluations and other surprising things found) that Strelka's author may have studied Rybka, perhaps even tracing in assembly mode.
Apparently their belief was essentially based on the fact that Strelka was written in C and that it was different structurally from the chess engine source code they had seen before. Which has a close to zero value to me.
Apart from that it was "believe us, it's not a clone".
Now, let's view the evidence for cloning:
1. Highly similar evals and pvs.
2. Similar block of bytes inside binary.
For 1, it is not surprising at all. If you examine the pv for any two strong programs analysing WAC, we will find that almost all pvs and scores will agree at least approximately. Even having the same bug is not surprising. I have seen other people make the exact same mistakes as I have on many occasions.
For 2, again no surprise. A common function or precomputed table (e.g. Mersenne prime computed random numbers using the same default seed).In that case, you can do this for Thinker with well commented source code in .125 months = 4 days.
Give me 4 to 5 months and I'm pretty sure I can convert any chess engine from EXE to C source and masquerade it to look like a new one, including some changes in the evaluation weights that will turn into a slightly different play from the original (and some elo loss BTW).
70,144 Thinker.exe
2,514,944 Rybka v1.0 Beta.w32.exe
Of course, the difficulty does not scale linearly, but a large volume might be data so we will say that the ratio may hold.You can find out for yourself in just a few minutes with IdaPro:I'm not saying that it has been done and that Strelka is the result. I'm saying that it cannot be ruled out just by looking at a C source code, so what Dann and Bryan have said is very unconvincing to me.
So I do not trust the opinion of Dann and Bryan.
I do not trust what Vas has to say on this either.
What's left? Quite troubling positions and analysis posted by Uri and others.
There is also this 6328 bytes block that is common in both Rybka and Strelka, and the status of which is still undecided. Is it a common library? A common block of code? A common block of data? The answer to this question could mean a lot.
http://www.datarescue.com/
Now, the answer is not guaranteed, because I have seen IdaPro mistake data for code and vice/versa but it is fairly reliable.
// Christophe
that converting exe file to C is proportional to the size of the exe.
The difficulty of getting C code from assembler is not proportional to the code size.
If rybka is using a big table of constants and if you find what is the meaning of that table then you only need to figure out what the rest of the code does and the rest of the code may be the same size as thinker.
Note that I doubt if it is so easy to convert exe file to C code that does the same job or almost the same job and
if people can do it then it may be interesting to have step after step instructions how to do it with open free source code without looking first at the source.
Inspite of it after reading more about it the possibility that strelka is based on the exe file of rybka and not based on stealing the source code of Vas seems to be a possibility with bigger probability.
Note that the time gap from rybka beta to strelka was more than one year
so it seems that this was not done in a short time and note also that it seems that there was some motivation behind strelka that is to expose the fact that rybka's depth number and rybka's nodes number are wrong.
Note that I reject the claim that I read that rybka has no knowledge because having a better data structure in order to search faster and using bitboard in more efficient way than Crafty is clearly an important knowledge and I also think that fruit has an important knowledge in the evaluation so in case that Vas learned from fruit's evaluation it is not a problem.
There is a difference between learning and having identical evaluation and even if some components of rybka and fruit are the same you will not find identical evaluations between rybka and fruit and fruit has some knowledge that King against king is 0.00 unlike rybka.
Uri
-
mjlef
- Posts: 1494
- Joined: Thu Mar 30, 2006 2:08 pm
Re: Are these persons incompetent ?
Bryan,Bryan Hofmann wrote:There is a hole in your theory that the code was stolen. I was e-mail by Sergei back when Strelka was first release and asked to review the code to close the argument that it was a clone. Sergei at that time truly believed that I had the Rybka code and even posted this belief on this site (As I do compile code for several authors including commercial ones). I never contradicted this belief until after I had received the code. So with this knowledge would anyone in their right mind send me code that they knew was a clone of Rybka?Uri Blass wrote:I suggested it as a possibility.Eelco de Groot wrote:Hi Uri,
Well I don't agree about the "simply stole". I don't think there is anything simple about that and besides it would be a criminal act. Maybe even in Russia, they must have some laws there.
I wrote some more. But I think I'd better stop speculating now, as that serves not much purpose.
Regards, Eelco
The second possibility is that he translated the exe file of rybka to C
seems to be something with smaller probability but it is also possible that he did it.
It is clear that it is not a clone.
Note that I read your private message and I do not think that there is something wrong in suggesting the possibility that he stole rybka's code.
The wrong thing is releasing something that is so similiar to rybka both in evaluation and search.
This cannot be not on purpose and it is the same as copying some chapters from a book and changing some other chapters and claiming the book is your book.
Uri
Bryan
Can we clear up a few things based upon your access to the code, which the rest of us have not had. I do not want you to give away program secrets, of course, so these questions are more general in nature.
1. Have you ever seen the source code of any version of Rybka? If you have then that would be great since you could tell immediately if Strelka is very similar?
2. If not, then when you examined the source code to Strelka, were parts in Russian, or annotated in some way that it indicates a Russian author wrote it? English? Hungarian? I am speaking of variable and function names, not the C code words, of course.
3. Was the source well annotated and using descriptive names for things? Reverse compilers without access to symbol names would be nearly unreadable since they typically just assign address names to variables. If everything was assigned descriptive names, it would rule out any theories of a reverse compiled being used on any code without debugging information.
Perhaps we could ask the author about the similarities in PVs and score. Very clever people can reverse engineer a program by looking at its output in games, and deduce things like how the evaluation fucntions works. Remember, this guy is a cryptographer, and might love that kind of puzzle. I think we all can agree he is clever (clever in writing a strong program, or clever in figuring out how some of Rybka might work).
Thanks!
-
Uri Blass
- Posts: 10983
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: Are these persons incompetent ?
How do you know that it is a lie?Dann Corbit wrote:Of course that claim is an utter load of crap.mclane wrote:this dialogue says that somebody has disassembled rybka. and that he now knows the "secret" , that there IS no secret. and he claims that he has a FAIR kind of rybka, a kind of clon program, that gives exact NPS and search depth etc. not the HIDDEN in rybka.
this dialogue says it all. it was disassembled from rybka into C.
and made into a working program that copies the ideas... to find out about computerchess. how it is done in programs like rybka.
Now, it is possible (in fact easy) to go into the source code and make a few simple changes (e.g. where nodes are reported or depths are reported) and change a single assembly instruction or calculation constant and change the output of the program -- which is trivial. So such a 'fair' binary may exist (one that reports things in a way more like we are used to seeing). But the claim that they have reverse engineered it and fully understood it is a lie.
I agree that it is probably very hard to understand code directly
but I guess that a possible way to try may be not only to look at the exe file but also to look at the output of the exe file in different cases and try to do something that produce the same.
Maybe the strelka author can do their program even more similiar to rybka because I find that even in king against king the analysis is not exactly the same and you only have the same evaluations but a different move.
I suspect that the move ordering is not the same
both try to centralize the king but strelka tries to centralize it by
Ke1-e2 when rybka tries to centralize it by Ke1-d2
New game - Rybka 1.0 Beta 32-bit
4k3/8/8/8/8/8/8/4K3 w - - 0 1
Analysis by Strelka 1.8 UCI:
1.Ke1-e2
= (0.21) Depth: 1 00:00:00
1.Ke1-e2 Ke8-d7
= (0.03) Depth: 2 00:00:00
1.Ke1-e2 Ke8-d7 2.Ke2-d3
= (0.09) Depth: 3 00:00:00
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6
= (0.03) Depth: 4 00:00:00
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4
= (0.09) Depth: 5 00:00:00
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6
= (0.15) Depth: 6 00:00:00 1kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4
= (0.09) Depth: 7 00:00:00 1kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6
= (0.15) Depth: 8 00:00:00 2kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 9 00:00:00 3kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 10 00:00:00 4kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 11 00:00:00 5kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 12 00:00:00 7kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 13 00:00:00 8kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 14 00:00:00 10kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 15 00:00:00 12kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 16 00:00:00 15kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 17 00:00:00 17kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 18 00:00:00 20kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 19 00:00:00 23kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 20 00:00:00 26kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 21 00:00:00 28kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 22 00:00:00 31kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 23 00:00:00 34kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 24 00:00:00 37kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 25 00:00:00 39kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 26 00:00:00 42kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 27 00:00:00 45kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 28 00:00:00 48kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 29 00:00:00 51kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 30 00:00:00 53kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 31 00:00:00 56kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 32 00:00:00 59kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 33 00:00:00 62kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 34 00:00:00 64kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 35 00:00:00 67kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 36 00:00:00 70kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 37 00:00:00 73kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 38 00:00:00 75kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 39 00:00:00 78kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 40 00:00:00 81kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 41 00:00:00 84kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 42 00:00:00 86kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 43 00:00:00 89kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 44 00:00:00 92kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 45 00:00:00 95kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 46 00:00:00 97kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 47 00:00:00 100kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 48 00:00:00 103kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 49 00:00:00 106kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 50 00:00:00 108kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 51 00:00:00 111kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 52 00:00:00 114kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 53 00:00:01 117kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 54 00:00:01 119kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 55 00:00:01 122kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 56 00:00:01 125kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 57 00:00:01 128kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 58 00:00:01 130kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 59 00:00:01 133kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 60 00:00:01 136kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 61 00:00:01 139kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 62 00:00:01 142kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 63 00:00:01 144kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 64 00:00:01 147kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 65 00:00:01 150kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 66 00:00:01 153kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 67 00:00:01 155kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 68 00:00:01 158kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 69 00:00:01 161kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 70 00:00:01 164kN
1.Ke1-e2 Ke8-d7 2.Ke2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4
= (0.00) Depth: 71 00:00:01 166kN
(, 10.07.2007)
New game - Rybka 1.0 Beta 32-bit
4k3/8/8/8/8/8/8/4K3 w - - 0 1
Analysis by Rybka 1.0 Beta 32-bit:
1.Ke1-d2
= (0.09) Depth: 3 00:00:00
1.Ke1-d2
= (0.15) Depth: 4 00:00:00
1.Ke1-d2 Ke8-d7
= (0.09) Depth: 5 00:00:00
1.Ke1-d2 Ke8-d7 2.Kd2-d3
= (0.15) Depth: 6 00:00:00 1kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6
= (0.00) Depth: 7 00:00:00 2kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4
= (0.00) Depth: 8 00:00:00 3kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6
= (0.00) Depth: 9 00:00:00 5kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4
= (0.00) Depth: 10 00:00:00 6kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6
= (0.00) Depth: 11 00:00:00 8kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 12 00:00:00 10kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 13 00:00:00 12kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 14 00:00:00 15kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 15 00:00:00 17kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 16 00:00:00 20kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 17 00:00:00 23kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 18 00:00:00 26kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 19 00:00:00 29kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 20 00:00:00 32kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 21 00:00:00 35kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 22 00:00:00 37kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 23 00:00:00 40kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 24 00:00:00 43kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 25 00:00:00 46kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 26 00:00:00 49kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 27 00:00:00 52kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 28 00:00:00 55kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 29 00:00:00 58kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 30 00:00:00 61kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 31 00:00:00 64kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 32 00:00:00 67kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 33 00:00:00 69kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 34 00:00:00 72kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 35 00:00:00 75kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 36 00:00:00 78kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 37 00:00:00 81kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 38 00:00:00 84kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 39 00:00:00 87kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 40 00:00:00 90kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 41 00:00:00 93kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 42 00:00:00 96kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 43 00:00:00 99kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 44 00:00:00 102kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 45 00:00:00 104kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 46 00:00:00 107kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 47 00:00:00 110kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 48 00:00:00 113kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 49 00:00:00 116kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 50 00:00:00 119kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 51 00:00:00 122kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 52 00:00:00 125kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 53 00:00:00 128kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 54 00:00:01 131kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 55 00:00:01 134kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 56 00:00:01 136kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 57 00:00:01 139kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 58 00:00:01 142kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 59 00:00:01 145kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 60 00:00:01 148kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 61 00:00:01 151kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 62 00:00:01 154kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 63 00:00:01 157kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 64 00:00:01 160kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 65 00:00:01 163kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 66 00:00:01 166kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 67 00:00:01 169kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 68 00:00:01 171kN
1.Ke1-d2 Ke8-d7 2.Kd2-d3 Kd7-d6 3.Kd3-d4 Kd6-e6 4.Kd4-e4 Ke6-d6 5.Ke4-d4 Kd6-e6
= (0.00) Depth: 69 00:00:01 174kN
(, 10.07.2007)
Uri
-
tiger
- Posts: 819
- Joined: Sat Mar 11, 2006 3:15 am
- Location: Guadeloupe (french caribbean island)
Re: Are these persons incompetent ?
Dann Corbit wrote:Have you ever really tried this yourself with a large project?tiger wrote:I still have no idea how Dann and Bryan could decide with such authority that Strelka was not a clone.
I have expressed my doubts at the time and got no convincing answer. My doubts were about the fact that they said it was not a clone without having the Rybka source code at their disposal.
Apparently their belief was essentially based on the fact that Strelka was written in C and that it was different structurally from the chess engine source code they had seen before. Which has a close to zero value to me.
Apart from that it was "believe us, it's not a clone".
Give me 4 to 5 months and I'm pretty sure I can convert any chess engine from EXE to C source and masquerade it to look like a new one, including some changes in the evaluation weights that will turn into a slightly different play from the original (and some elo loss BTW).
I think it is far harder than you imagine.
I can imagine reverse engineering little snippets, but not a whole program of some 2+ megabytes.
The source code I examined was neat, structured, well arranged and well commented. I have seen the output of reverse engineering tools and it does not look like that.It is not impossible that it is a clone. But I think it would have been more difficult that writing Strelka in the first place.
I'm not saying that it has been done and that Strelka is the result. I'm saying that it cannot be ruled out just by looking at a C source code, so what Dann and Bryan have said is very unconvincing to me.
So I do not trust the opinion of Dann and Bryan.
I do not trust what Vas has to say on this either.
What's left? Quite troubling positions and analysis posted by Uri and others.
There is also this 6328 bytes block that is common in both Rybka and Strelka, and the status of which is still undecided. Is it a common library? A common block of code? A common block of data? The answer to this question could mean a lot.
// Christophe
A small experiment:
The EXE file of Rybka 1.0 beta Win32 is 2.5Mb in size. Once you compress it with RAR, it is only 431Kb.
The EXE file of Chess Tiger 2007.1 (actually it's the DLL) is 356Kb. Once you compress it with RAR, it's 123Kb.
I do not know what's in Rybka's EXE, but to me it looks like it is approximately 3 to 4 times as "complex" as Chess Tiger. Either there are loads of filler in order to obfuscate the real code, or there are loads of duplicate code (like unrolling loops like crazy) or there are loads of tables that can be easily compressed.
3 to 4 times as complex is an upper bound. It could be less.
BTW if you do the same experiment with Rybka 2.3.2a Win32, you end up with a 223Kb RAR file (from a 3.5Mb EXE file!!!).
Maybe Rybka's EXE have been inflated on purpose, just to frighten the potential hackers/disassembler amateurs? Maybe you have fallen into this trap like everybody else.
Disassembling Rybka 1.0 beta, studying it and rewriting the C source code (even if you structure it differently) does not sound as difficult as you think when you look only at the bare EXE size. I know how complex my code is, and even if it took me 20 years to have it this way, it's not so complex. All this time has been spent experimenting, and only what works has been kept.
From this I can tell you that a talented programmer with enough background in chess programming could reverse engineer it and rebuild it in a few weeks. Remember it's not 2.5Mb, it's much less, and parts of it are just tables.
There are talented people with a lot of time in their hands, and who are starving for public attention. Just because you would not care to go thru all these pains to achieve this result does not mean that there is nobody out there ready to do it.
Actually I'm surprised that it has not been done before, with ChessGenius or maybe Fritz or Shredder a few years ago. Maybe just because at the time the "clone" would have been ready the competition would have already caught up. But in the case of Rybka it's different: it was so much better than the competition that it was actually possible to build a clone before the competition came back. Even now, no free program has reached the level of Rybka 1.0 beta. If you clone it and release the source code, tadaa, you are #1 in the category of open source chess program.
Somebody has pointed out that there is a disassembler that is able to do a good job at disassembling Rybka without leaving too much to be manually understood. He did not say which disassembler, just that there is at least one that is able to do it.
I think you have taken a serious risk when you have declared that Strelka was not a clone, basing this only on the fact that you had got the source code and on your belief that reverse engineering Rybka 1.0 would be too hard. You did not even have the source code of Rybka to compare!
Sorry, but I cannot count your opinion on Strelka and to me the question about it being some kind of Rybka clone is still open, now with significant evidence suggesting that it may well be.
// Christophe