Longer comments by V. Rajlich

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

Moderators: hgm, Rebel, chrisw

Marc Lacrosse
Posts: 511
Joined: Wed Mar 08, 2006 10:05 pm

Longer comments by V. Rajlich

Post by Marc Lacrosse »

From Rybka forum today (http://rybkaforum.net/cgi-bin/rybkaforu ... id=1655#fp) :

I just did put a few underlining of my own.

Sorry to add a new thread but I think that this post by Vas is very important, probably more than any other post so far on the subject.

Marc
Hi,

I got quite a few emails about this. Let me clarify a few points:

1) There is no doubt in my mind that the similarities(in executables and in output) between Rybka 1.0 and Strelka 1.8 are not a coincidence. This is in contrast to Strelka 1.0, where the similarities didn't seem to me to be excessive.

2) I have no idea how this was achieved. Whether something 'wrong' was done, whether Strelka author is just making fun of me and Rybka, whether Strelka 1.8 should be tested by CEGT, CCRL, etc - these are deeper questions. I am 100% sure that nobody has gotten a hold of my source code - this stays on just one machine which is not connected to the internet. This has been the case since well before Rybka 1.0.

3) This Strelka release does not bother me personally, partly because I don't really know what was done, but mainly because these similarities are with Rybka 1.0, which is ancient, incomplete, prototype-level code. If the similarities were with Rybka 2.3.2a, and if the playing-strength was on par with Rybka 2.3.2a, then Convekta would need to investigate this and consider their options.

4) From the point of view of the computer chess community, this is an issue which is in my view worth investigating. I'd like to thank the guys who have contributed to this - it is important. Writing something of Strelka 1.8 strength is a significant effort which requires multiple thousand man hours of development and testing. In light of this, we should have a procedure which is fair to the Strelka author and also fair to other aspiring engine authors. It's good to have an environment which is conducive to productive contributions from everybody.

Vas
mjlef
Posts: 1494
Joined: Thu Mar 30, 2006 2:08 pm

Re: Longer comments by V. Rajlich

Post by mjlef »

Marc Lacrosse wrote:From Rybka forum today (http://rybkaforum.net/cgi-bin/rybkaforu ... id=1655#fp) :

I just did put a few underlining of my own.

Sorry to add a new thread but I think that this post by Vas is very important, probably more than any other post so far on the subject.

Marc
Hi,

I got quite a few emails about this. Let me clarify a few points:

1) There is no doubt in my mind that the similarities(in executables and in output) between Rybka 1.0 and Strelka 1.8 are not a coincidence. This is in contrast to Strelka 1.0, where the similarities didn't seem to me to be excessive.

2) I have no idea how this was achieved. Whether something 'wrong' was done, whether Strelka author is just making fun of me and Rybka, whether Strelka 1.8 should be tested by CEGT, CCRL, etc - these are deeper questions. I am 100% sure that nobody has gotten a hold of my source code - this stays on just one machine which is not connected to the internet. This has been the case since well before Rybka 1.0.

3) This Strelka release does not bother me personally, partly because I don't really know what was done, but mainly because these similarities are with Rybka 1.0, which is ancient, incomplete, prototype-level code. If the similarities were with Rybka 2.3.2a, and if the playing-strength was on par with Rybka 2.3.2a, then Convekta would need to investigate this and consider their options.

4) From the point of view of the computer chess community, this is an issue which is in my view worth investigating. I'd like to thank the guys who have contributed to this - it is important. Writing something of Strelka 1.8 strength is a significant effort which requires multiple thousand man hours of development and testing. In light of this, we should have a procedure which is fair to the Strelka author and also fair to other aspiring engine authors. It's good to have an environment which is conducive to productive contributions from everybody.

Vas
So now the issue is did someone get a copy of Vasik's source code (theft, or perhaps by accident), or did a very clever programmer or programmers reverse engineer Rybka (which would be legal, and frankly, pretty impressive). I would suggest one of the three board members that have a copy of the source send a screen or two of it to Vasik. I think pretty much all programmers know their own work and he could maybe tell if it was his original code or something built to act a lot like it. And I would love to hear what Strelka's author has to say about it. He did post comments months ago that it used well known ideas.

Mark
User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 3:54 am
Location: San Jose, California

Re: Longer comments by V. Rajlich

Post by Bill Rogers »

You are incorrect about reverse engineering. That still comes under the copywright laws of stealing. Take a look at the post about clones. Whether you steal the code from the authors PC or you disassemble the released code and claim is as your own you are guilty of a punishable crime if the author so wishes. The author owns the code and anyone who takes it without his/her permission is stealing.
Bill
mjlef
Posts: 1494
Joined: Thu Mar 30, 2006 2:08 pm

Re: Longer comments by V. Rajlich

Post by mjlef »

Bill Rogers wrote:You are incorrect about reverse engineering. That still comes under the copywright laws of stealing. Take a look at the post about clones. Whether you steal the code from the authors PC or you disassemble the released code and claim is as your own you are guilty of a punishable crime if the author so wishes. The author owns the code and anyone who takes it without his/her permission is stealing.
Bill
Actually, it is probably not illegal, if done properly. Not to repeat what others have written, but you can use an intermediate team that disassembles the code, and writes a spec for how it operates (creas a set of rules to follow). then another team writes a program to follow those rules. You can copyright specific words of how to bake a cake, but not the ideas in that cake recipe. This has been done with old MS-DOS, etc. And it is unclear if the orignal Rybka was even copyrighted at all...

But I do think we know right from wrong. Even paraphraseine Edgar Alan Poe without credit is wrong to most of us, even if it is legal.

Mark
Norm Pollock
Posts: 1056
Joined: Thu Mar 09, 2006 4:15 pm
Location: Long Island, NY, USA

Re: Longer comments by V. Rajlich

Post by Norm Pollock »

Vas said: I am 100% sure that nobody has gotten a hold of my source code - this stays on just one machine which is not connected to the internet. This has been the case since well before Rybka 1.0.

No backup? Not even a CD put into a safe deposit vault box? Obviously he doesn't want to broadcast where he keeps the backups.
Marc Lacrosse
Posts: 511
Joined: Wed Mar 08, 2006 10:05 pm

Re: Longer comments by V. Rajlich

Post by Marc Lacrosse »

There is one aspect of Vas' comments that I do not completely understand :

1. Vas seems to be pretty sure that his own source code (including older versions) could not have been stolen. Logical consequence is that Vas is sure that some kind of reverse engineering is involved.

2. Then Vas says that he is not really worried because copied functionalities are those of the older rybka 1.0.

But IMHO if this is really a case of reverse engineering Vas should be much more worried than if it had been one shot rybka 1.0 code-steal : the same guy could well decide to produce a new strelka from a more recent rybka version using the same techniques ...

Marc
Christopher Conkie
Posts: 6073
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

Re: Longer comments by V. Rajlich

Post by Christopher Conkie »

Marc Lacrosse wrote:There is one aspect of Vas' comments that I do not completely understand :

1. Vas seems to be pretty sure that his own source code (including older versions) could not have been stolen. Logical consequence is that Vas is sure that some kind of reverse engineering is involved.
No...the last part is not the logical conclusion. It's one of two logical conclusions. The other has been stated elsewhere by me.
2. Then Vas says that he is not really worried because copied functionalities are those of the older rybka 1.0.
It depends...that may well be (almost certainly) a facade.
But IMHO if this is really a case of reverse engineering Vas should be much more worried than if it had been one shot rybka 1.0 code-steal : the same guy could well decide to produce a new strelka from a more recent rybka version using the same techniques ...

Marc
You got it in one. Congrats.

Go to the top of the class.

Christopher
Christopher Conkie
Posts: 6073
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

And now for something that might end this......

Post by Christopher Conkie »

http://rybkaforum.net/cgi-bin/rybkaforu ... l?tid=1655

Code: Select all

OK. I will give you one more example, and then I will shut up forever.
If you still think he did this as a joke and you don't shut this guy now, then maybe you deserve the next Strelka based on your latest code.

Rybka 1.0:
.rdata:00420358 dword_420358    dd 3Dh, 0, 48h, 1, 55h, 2, 61h, 4, 6Ch, 7, 77h, 0Ah, 82h
.rdata:00420358                 dd 0Dh, 8Bh, 11h, 95h, 15h, 9Eh, 1Ah, 0A7h, 1Fh, 0B0h
.rdata:00420358                 dd 24h, 0B8h, 2Ah, 0B4h, 2Eh, 0B5h, 32h, 0B5h, 37h, 0B5h
.rdata:00420358                 dd 3Ch, 0B6h, 41h, 0B5h, 47h, 0B5h, 4Ch, 0B4h, 52h, 0B4h
.rdata:00420358                 dd 58h, 0B3h, 5Eh, 0B2h, 64h, 0B1h, 6Ah, 0B0h, 71h, 0ACh
.rdata:00420358                 dd 75h, 0A9h, 7Bh, 0A7h, 81h, 0A4h, 88h, 0A2h, 8Eh, 9Fh
.rdata:00420358                 dd 95h, 9Ch, 9Ch, 99h, 0A2h, 96h, 0AAh, 92h, 0B1h, 8Fh
.rdata:00420358                 dd 0B8h, 8Ch, 0BFh, 88h, 0C7h, 83h, 0CCh, 7Eh, 0D3h, 7Ah
.rdata:00420358                 dd 0DAh, 76h, 0E1h, 71h, 0E9h, 6Dh, 0F0h, 68h, 0F8h, 64h
.rdata:00420358                 dd 0FFh, 5Fh, 107h, 5Ah, 10Fh, 55h, 117h, 50h, 11Fh, 4Bh
.rdata:00420358                 dd 127h, 45h, 12Dh, 3Dh, 12Ah, 36h, 127h, 2Fh, 124h, 29h
.rdata:00420358                 dd 120h, 23h, 11Dh, 1Dh, 118h, 17h, 113h, 12h, 10Eh, 0Dh
.rdata:00420358                 dd 109h, 8, 104h, 4, 0FEh, 0, 0F9h

Strelka 1.8:
.rdata:0041E760 dword_41E760    dd 3Dh, 0, 48h, 1, 55h, 2, 61h, 4, 6Ch, 7, 77h, 0Ah, 82h
.rdata:0041E760                 dd 0Dh, 8Bh, 11h, 95h, 15h, 9Eh, 1Ah, 0A7h, 1Fh, 0B0h
.rdata:0041E760                 dd 24h, 0B8h, 2Ah, 0B4h, 2Eh, 0B5h, 32h, 0B5h, 37h, 0B5h
.rdata:0041E760                 dd 3Ch, 0B6h, 41h, 0B5h, 47h, 0B5h, 4Ch, 0B4h, 52h, 0B4h
.rdata:0041E760                 dd 58h, 0B3h, 5Eh, 0B2h, 64h, 0B1h, 6Ah, 0B0h, 71h, 0ACh
.rdata:0041E760                 dd 75h, 0A9h, 7Bh, 0A7h, 81h, 0A4h, 88h, 0A2h, 8Eh, 9Fh
.rdata:0041E760                 dd 95h, 9Ch, 9Ch, 99h, 0A2h, 96h, 0AAh, 92h, 0B1h, 8Fh
.rdata:0041E760                 dd 0B8h, 8Ch, 0BFh, 88h, 0C7h, 83h, 0CCh, 7Eh, 0D3h, 7Ah
.rdata:0041E760                 dd 0DAh, 76h, 0E1h, 71h, 0E9h, 6Dh, 0F0h, 68h, 0F8h, 64h
.rdata:0041E760                 dd 0FFh, 5Fh, 107h, 5Ah, 10Fh, 55h, 117h, 50h, 11Fh, 4Bh
.rdata:0041E760                 dd 127h, 45h, 12Dh, 3Dh, 12Ah, 36h, 127h, 2Fh, 124h, 29h
.rdata:0041E760                 dd 120h, 23h, 11Dh, 1Dh, 118h, 17h, 113h, 12h, 10Eh, 0Dh
.rdata:0041E760                 dd 109h, 8, 104h, 4, 0FEh, 0, 0F9h

This seems to be an array of 130 numbers you use in your evaluation. You do some kind of multiplication using these numbers. Strelka has the same array, and does the same multiplication.
I am sure you know what these numbers are used for.

I am going back to my lair now... There are just too many clueless people in this world... I'm too tired of fighting them all... But I will be back ... one day ...

Best wishes to you and the Rybka,
The Dark Avenger
This is quite hard to explain away...its very hard in fact.

I have no doubt that someone with 30 years programming experience will try and if so, i'm all ears...

Christopher