Are these persons incompetent ?

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

Moderator: Ras

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

Re: Are these persons incompetent ?

Post by James Constance »

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???
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! :shock: But I suppose things were done on trust!?
Dann Corbit
Posts: 12777
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Are these persons incompetent ?

Post by Dann Corbit »

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.
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:

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: 12777
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Are these persons incompetent ?

Post by Dann Corbit »

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
User avatar
mclane
Posts: 18897
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Are these persons incompetent ?

Post by mclane »

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.
Dann Corbit
Posts: 12777
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Are these persons incompetent ?

Post by Dann Corbit »

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.
Of course that claim is an utter load of crap.

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: 12777
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Are these persons incompetent ?

Post by Dann Corbit »

Brian Hoffman reported identical analysis with the version on the site and his binary at the time.
Uri Blass
Posts: 10793
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Are these persons incompetent ?

Post by Uri Blass »

Dann Corbit wrote:
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 looks like the work of a programmer and not like the output of a reverse engineering tool.
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.

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".
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.

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).

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).
In that case, you can do this for Thinker with well commented source code in .125 months = 4 days.
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.
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.
You can find out for yourself in just a few minutes with IdaPro:
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
I think that this is simply nonsense
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 ?

Post by mjlef »

Bryan Hofmann wrote:
Uri Blass wrote:
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
I suggested it as a possibility.
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
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?


Bryan
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: 10793
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Are these persons incompetent ?

Post by Uri Blass »

Dann Corbit wrote:
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.
Of course that claim is an utter load of crap.

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.
How do you know that 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
User avatar
tiger
Posts: 819
Joined: Sat Mar 11, 2006 3:15 am
Location: Guadeloupe (french caribbean island)

Re: Are these persons incompetent ?

Post by tiger »

Dann Corbit wrote:
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).
Have you ever really tried this yourself with a large project?
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.

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
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.

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