Equal treatment

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

Moderators: hgm, Rebel, chrisw

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

Re: Equal treatment

Post by Uri Blass »

SzG wrote:If it turns out (or has it turned out already?) that Rybka is a Fruit clone will we stop using it and demand our money back? If not, shall we not stop bashing the author of another program for which he did not ask any money?

Vasik used ideas from fruit but I think that you cannot prove that he used code from fruit.

The difference between rybka and strelka is that
Vasik tried to make a strong engine when the author of strelka did not try to make a strong engine but only tried to make something that is the same as rybka beta.

I think that he could easily write a better chess program than strelka and maybe even write a better chess program than commercial rybka but
he was not interested in it.

I think that it may be possible to do the same for other programs and people may write a program that generate similiar output as Junior or Fritz.

I am not sure if reverse engineering is needed and
I think that first step in this direction may be to try to write a program that generate the same output as Fritz in king against king.

You can learn about the order of moves of a program based on watching the output of it in king against king positions even without the code.

For example you can learn that glaurung probably generates Ke1-d1 before generating other moves when Naum2.0 probably generates Ke1-e2 first.




[D]4k3/8/8/8/8/8/8/4K3 w - - 0 1



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

Re: Equal treatment

Post by mjlef »

Also note during the origional Strelka release the author not only admitted using ideas from other porograms and that he had read them, but that there were no new ideas in Strelka. Granted he did not crdit at the time which engines he used, nor did he state he had disassembled the code or Rybka, but he ceratinly did not make any claim of Strelka being a fully original work.

I bet a lot of other top chess programmers had peered inside the competitions EXEs and tried to figure them out.

Mark
Peter Fendrich

Re: Equal treatment

Post by Peter Fendrich »

"Every" chess computer company did that.
From the first Boris until now.
If not by the programmer himself, it is by people hired to do it. It is essential for the business to have knowledge about your competitors products.
I have been asked to do reverse engineering myself many years ago but I was not interested. No need for extra money :) and what they didn't know was that my assembly knowledge is almost nil.

It is not illegal whatever moral issues we think it have.

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

Re: Equal treatment

Post by Dann Corbit »

Uri Blass wrote:
SzG wrote:If it turns out (or has it turned out already?) that Rybka is a Fruit clone will we stop using it and demand our money back? If not, shall we not stop bashing the author of another program for which he did not ask any money?

Vasik used ideas from fruit but I think that you cannot prove that he used code from fruit.

The difference between rybka and strelka is that
Vasik tried to make a strong engine when the author of strelka did not try to make a strong engine but only tried to make something that is the same as rybka beta.
I think that the best way to find out what his goal was is probably to ask him.
I think that he could easily write a better chess program than strelka and maybe even write a better chess program than commercial rybka but
he was not interested in it.

I think that it may be possible to do the same for other programs and people may write a program that generate similiar output as Junior or Fritz.

I am not sure if reverse engineering is needed and
I think that first step in this direction may be to try to write a program that generate the same output as Fritz in king against king.

You can learn about the order of moves of a program based on watching the output of it in king against king positions even without the code.

For example you can learn that glaurung probably generates Ke1-d1 before generating other moves when Naum2.0 probably generates Ke1-e2 first.


[D]4k3/8/8/8/8/8/8/4K3 w - - 0 1

Uri
I learned from watching Winfinder that how it works is to add 1/2 pawn to the current high score and search util something is found. That is why it finds interesting moves so quickly. Of course, it may miss 1/4 pawn better moves and it may search for 15 plies and never see anything better (and you will sometimes see this behavior).

It seems like it might be a good "panic mode" to have in your normal chess search. E.g. if you suddenly find yourself down by a full pawn due to something unexpected, then try a winfind search to pull yourself out of the hole.
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Equal treatment

Post by Dann Corbit »

Not too long ago Chrilly Doninger (sp?) made it clear that he was studying Rybka's assembly code in a post that he made here.
Vempele

Re: Equal treatment

Post by Vempele »

Dann Corbit wrote: I learned from watching Winfinder that how it works is to add 1/2 pawn to the current high score and search util something is found.
I learned the same (and more) from googling the readme.
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: Equal treatment

Post by Rolf »

Peter Fendrich wrote:"Every" chess computer company did that.
From the first Boris until now.
If not by the programmer himself, it is by people hired to do it. It is essential for the business to have knowledge about your competitors products.
I have been asked to do reverse engineering myself many years ago but I was not interested. No need for extra money :) and what they didn't know was that my assembly knowledge is almost nil.

It is not illegal whatever moral issues we think it have.

/Peter
Everything that is not illegal is therefore allowed?? -- And then, I know the company of SHREDDER, FRITZ and JUNIOR but I failed to find the company for RYBKA actually... You would have done a great service to the computerchess community if you had published the company that contacted you. Just to clarify what makes the strength of the usual market leaders in computerchess. In the meantime I found out CONVECTA. From Russia. Peter, how probable is it that an unknown, anonymous genius from Russia attacked CONVECTA program RYBKA instead of CHESSBASE programs??? And why didnt he write a stronger STRELKA? Isnt that the answer to the questions about his motif?

It is a scandal that insiders who know the details dont talk about details of the situation in computerchess business for the last decades. Just publishing the facts and if necessary adding the meaning of the facts. Not building smoke screens about neutrality in testing and such some.
-Popper and Lakatos are good but I'm stuck on Leibowitz
Peter Fendrich

Re: Equal treatment

Post by Peter Fendrich »

The point is that this applies to all business in the world. It is not a computer business thing. No smoke at all.
To study your competitors products in detail is essential in all business and it is good for evryone. The customers, the nations, the world! Study and develop. I am not talking about breaking patents or copyrights. Just about learning and developing.
I don't defend the Strelka author here because I don't know what he did but to disassembly and study the Rybka code is perfectly allright.
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: Equal treatment

Post by Rolf »

Peter Fendrich wrote:The point is that this applies to all business in the world. It is not a computer business thing. No smoke at all.
To study your competitors products in detail is essential in all business and it is good for evryone. The customers, the nations, the world! Study and develop. I am not talking about breaking patents or copyrights. Just about learning and developing.
I don't defend the Strelka author here because I don't know what he did but to disassembly and study the Rybka code is perfectly allright.
How could you study and learn without breaking the rules of copyright? And why do you call disassembling perfectly right and Chrilly once wrote that he could well continue with engineering RYBKA but he wouldnt do it "of course"? Further. If by such handling all the details could be reveiled then why nobody analysed the commercially and competitively successful programs like SHREDDER, FRITZ and JUNIOR? Questions on the behalf of public interest.
-Popper and Lakatos are good but I'm stuck on Leibowitz
Peter Fendrich

Re: Equal treatment

Post by Peter Fendrich »

That is a good question and I am not a legal expert but as far as I know you can always do that for personal use. What I don't know is if for instance Chessbase are allowed to prevent me from doing that and if they are trying to do that in their licence agreements.

Antother question is if I manage to reveal some "secrets" from a commercial program can I publish my findings in text? I don't know the answer.

What I am talking about is looking at the machine code or the disassemblied version of it and learn. It is like studying and remembering poetry. Break it down into pieces try to understand how the author created it. Learn and develop something of your own.

To disassembly and understand the programs you mentioned (Fritz, Shredder and Junior) is a real challenge and a task comparable to write the programs yourself. It requires a great dela of skills in both chess programing and assembly language and who is prepared to put all that time and effort in something like this?
You can rest assured that the authors of these three programs have carefully studied each others programs, both in behaviour and in code snippets.
/Peter