ElChinito: A Crafty Clone

Archive of the old Parsimony forum. Some messages couldn't be restored. Limitations: Search for authors does not work, Parsimony specific formats do not work, threaded view does not work properly. Posting is disabled.

ElChinito: A Crafty Clone

Postby Paul Hunter » 20 Aug 2004, 23:33

Geschrieben von:/Posted by: Paul Hunter at 21 August 2004 00:33:32:

As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Paul Hunter
 

Re: ElChinito: A Crafty Clone

Postby Günther Simon » 20 Aug 2004, 23:46

Geschrieben von:/Posted by: Günther Simon at 21 August 2004 00:46:19:
Als Antwort auf:/In reply to: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 00:33:32:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
I think the coincidences you found are stunning. I would suggest
though, that you post the result of your investigations also at the
CCC-Forum, thus we may hear Bobs judgement soon.
Regards,
Günther
Günther Simon
 

Re: ElChinito: A Crafty Clone

Postby Peter Berger » 21 Aug 2004, 00:18

Geschrieben von:/Posted by: Peter Berger at 21 August 2004 01:18:20:
Als Antwort auf:/In reply to: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 00:33:32:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
Peter Berger
 

Re: ElChinito: A Crafty Clone

Postby Paul Hunter » 21 Aug 2004, 01:09

Geschrieben von:/Posted by: Paul Hunter at 21 August 2004 02:09:58:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Peter Berger at 21 August 2004 01:18:20:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.
Paul Hunter
 

Re: ElChinito: A Crafty Clone

Postby Roger Brown » 21 Aug 2004, 02:49

Geschrieben von:/Posted by: Roger Brown at 21 August 2004 03:49:24:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 02:09:58:

Hello Paul,
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.

Knowing Peter I suspect it is a compliment....
:-)


Your knowledge makes this seem all basic to you. I can assure you that it is rocket science to me. Dann Corbit speaks your language as well I suspect.
I suppose that some of us - particularly in this Forum - would not be happy if the cloners (I am not saying that the engine under discussion is in fact a clone!) simply got smarter at concealing their activities.
That having been said, more information is always better than less so let us see what happens next.
Thanks for the analysis.
Later.
Roger Brown
 

Re: ElChinito: A Crafty Clone

Postby Graham Banks » 21 Aug 2004, 02:54

Geschrieben von:/Posted by: Graham Banks at 21 August 2004 03:54:04:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 02:09:58:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.

If List is proven not to be a Crafty clone, a lot of well known people on this forum and CCC will have to eat humble pie and apologise big time. Unfortunately (and I don't like saying this) I don't think that some of them are capable of doing so.
Graham.
Graham Banks
 

clickable

Postby Matthias Gemuh » 21 Aug 2004, 05:28

Geschrieben von:/Posted by: Matthias Gemuh at 21 August 2004 06:28:04:
Als Antwort auf:/In reply to: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 00:33:32:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecraftybuild/crafty-clone.html




BigLion + Taktix
Matthias Gemuh
 

Re: ElChinito: A Crafty Clone

Postby Daniel Shawul » 21 Aug 2004, 06:51

Geschrieben von:/Posted by: Daniel Shawul at 21 August 2004 07:51:17:
Als Antwort auf:/In reply to: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 00:33:32:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
i would like to say that the source code of DAnchess has been examined by
4/5 independent persons and found to be not a clone,that's why i am participating at WBEC. If you want to have a look what i have now, i can send it
to you if you keep it secret. I have no secrets to hide but since the accusation started i have tried to follow a very different approach than crafty.
every fast engine has been accused clone even Ruffian. MY OPINION is that they are not. I just appreciate the nice pruning method that ruffian has crafty doesn't.same to List...
Enjoy chess programming!
daniel
Daniel Shawul
 

Re: ElChinito: A Crafty Clone

Postby Andrew Williams » 21 Aug 2004, 07:55

Geschrieben von:/Posted by: Andrew Williams at 21 August 2004 08:55:44:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 02:09:58:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.
Which version of List did you analyze?
Andrew
Andrew Williams
 

Re: ElChinito: A Crafty Clone

Postby Uri Blass » 21 Aug 2004, 09:43

Geschrieben von:/Posted by: Uri Blass at 21 August 2004 10:43:47:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 02:09:58:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.
Thanks for your analysis.
I hope that you can continue and do not check only for Crafty clones.
It may be productive if you can check that programs are not Pepito clone or Fruit clone or Arasan clone or clone of another free source code.
Uri
Uri Blass
 

Re: ElChinito: A Crafty Clone

Postby Paul Hunter » 21 Aug 2004, 10:25

Geschrieben von:/Posted by: Paul Hunter at 21 August 2004 11:25:39:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Graham Banks at 21 August 2004 03:54:04:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.

If List is proven not to be a Crafty clone, a lot of well known people on this forum and CCC will have to eat humble pie and apologise big time. Unfortunately (and I don't like saying this) I don't think that some of them are capable of doing so.
Graham.
I have looked at version 4.61 of List.
It is very obvious that it does not use BitBoards. I believe that Dan Corbit has stated that he has seen the List source code and that it indeed does not use BitBoards. This is easy to verify even without the source code. Just disassemble the list binary and look for BitBoard routines - finding bits in 64-bit variables, 64-bit operations (XOR, OR, AND of two 32-bit vars) to test bits, set bits, clear bits; finding attacks using rotated BitBoards; etc.
Paul Hunter
 

Re: ElChinito: A Crafty Clone

Postby Andrew Williams » 21 Aug 2004, 10:41

Geschrieben von:/Posted by: Andrew Williams at 21 August 2004 11:41:13:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 11:25:39:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.

If List is proven not to be a Crafty clone, a lot of well known people on this forum and CCC will have to eat humble pie and apologise big time. Unfortunately (and I don't like saying this) I don't think that some of them are capable of doing so.
Graham.
I have looked at version 4.61 of List.
It is very obvious that it does not use BitBoards. I believe that Dan Corbit has stated that he has seen the List source code and that it indeed does not use BitBoards. This is easy to verify even without the source code. Just disassemble the list binary and look for BitBoard routines - finding bits in 64-bit variables, 64-bit operations (XOR, OR, AND of two 32-bit vars) to test bits, set bits, clear bits; finding attacks using rotated BitBoards; etc.

Here is a description of what happened at Graz:
http://www.chessbase.com/newsdetail.asp?newsid=1330
Here, reference is made to versions 4.60 and 5.04. It wasn't just a random accusation, and Fritz Reul decided against responding to it, although he was given ample opportunity.
I don't have any strong impression either way about List's case, but in such situations, you have to be *VERY* careful about what you are saying. This is also true of what you say about El Chinito of course.
Andrew
Andrew Williams
 

Re: ElChinito: A Crafty Clone

Postby Uri Blass » 21 Aug 2004, 10:42

Geschrieben von:/Posted by: Uri Blass at 21 August 2004 11:42:29:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Daniel Shawul at 21 August 2004 07:51:17:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
i would like to say that the source code of DAnchess has been examined by
4/5 independent persons and found to be not a clone,that's why i am participating at WBEC. If you want to have a look what i have now, i can send it
to you if you keep it secret. I have no secrets to hide but since the accusation started i have tried to follow a very different approach than crafty.
every fast engine has been accused clone even Ruffian. MY OPINION is that they are not. I just appreciate the nice pruning method that ruffian has crafty doesn't.same to List...
Enjoy chess programming!
daniel
My opinion is that there are probably more clones and until now there was no serious examination of chess programs in order to find it.
I really hope that Paul Hunter will continue to investigate.
This is important also to convince other people to stop clonning engines.
Uri
Uri Blass
 

Re: ElChinito: A Crafty Clone

Postby Paul Hunter » 21 Aug 2004, 10:54

Geschrieben von:/Posted by: Paul Hunter at 21 August 2004 11:54:37:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Andrew Williams at 21 August 2004 11:41:13:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.

If List is proven not to be a Crafty clone, a lot of well known people on this forum and CCC will have to eat humble pie and apologise big time. Unfortunately (and I don't like saying this) I don't think that some of them are capable of doing so.
Graham.
I have looked at version 4.61 of List.
It is very obvious that it does not use BitBoards. I believe that Dan Corbit has stated that he has seen the List source code and that it indeed does not use BitBoards. This is easy to verify even without the source code. Just disassemble the list binary and look for BitBoard routines - finding bits in 64-bit variables, 64-bit operations (XOR, OR, AND of two 32-bit vars) to test bits, set bits, clear bits; finding attacks using rotated BitBoards; etc.

Here is a description of what happened at Graz:
http://www.chessbase.com/newsdetail.asp?newsid=1330
Here, reference is made to versions 4.60 and 5.04. It wasn't just a random accusation, and Fritz Reul decided against responding to it, although he was given ample opportunity.
I don't have any strong impression either way about List's case, but in such situations, you have to be *VERY* careful about what you are saying. This is also true of what you say about El Chinito of course.
Andrew
In that article, there is mention of evidence, but no detail at all. Is it because the output of List is the same as Crafty? Is is because the moves generated is the same? If that's all they have, that's pretty lame.
We're talking about cloning source, and not ideas. After reverse-engineering the List binary, you come up with a source that is really different from that of Crafty, then I say that's not a clone.
In the case of ElChinito, you reverse-engineer the binary and you come up with Crafty source. In anyone's book, that's source code cloning.
Paul Hunter
 

Re: ElChinito: A Crafty Clone

Postby Uri Blass » 21 Aug 2004, 11:03

Geschrieben von:/Posted by: Uri Blass at 21 August 2004 12:03:31:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 11:54:37:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.

If List is proven not to be a Crafty clone, a lot of well known people on this forum and CCC will have to eat humble pie and apologise big time. Unfortunately (and I don't like saying this) I don't think that some of them are capable of doing so.
Graham.
I have looked at version 4.61 of List.
It is very obvious that it does not use BitBoards. I believe that Dan Corbit has stated that he has seen the List source code and that it indeed does not use BitBoards. This is easy to verify even without the source code. Just disassemble the list binary and look for BitBoard routines - finding bits in 64-bit variables, 64-bit operations (XOR, OR, AND of two 32-bit vars) to test bits, set bits, clear bits; finding attacks using rotated BitBoards; etc.

Here is a description of what happened at Graz:
http://www.chessbase.com/newsdetail.asp?newsid=1330
Here, reference is made to versions 4.60 and 5.04. It wasn't just a random accusation, and Fritz Reul decided against responding to it, although he was given ample opportunity.
I don't have any strong impression either way about List's case, but in such situations, you have to be *VERY* careful about what you are saying. This is also true of what you say about El Chinito of course.
Andrew
In that article, there is mention of evidence, but no detail at all. Is it because the output of List is the same as Crafty? Is is because the moves generated is the same? If that's all they have, that's pretty lame.
We're talking about cloning source, and not ideas. After reverse-engineering the List binary, you come up with a source that is really different from that of Crafty, then I say that's not a clone.
In the case of ElChinito, you reverse-engineer the binary and you come up with Crafty source. In anyone's book, that's source code cloning.
Did you investigate 5.04 or 4.60?
It is possible that 4.61 is not a clone when 5.04 or 4.60 are clones of Crafty.
I do not claim that it is the case but it is better to investigate 4.60 or 5.04 because the claim of having part of Crafty were against 4.60 and 5.04
Uri
Uri Blass
 

Re: ElChinito: A Crafty Clone

Postby Daniel Shawul » 21 Aug 2004, 11:06

Geschrieben von:/Posted by: Daniel Shawul at 21 August 2004 12:06:05:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Uri Blass at 21 August 2004 11:42:29:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
i would like to say that the source code of DAnchess has been examined by
4/5 independent persons and found to be not a clone,that's why i am participating at WBEC. If you want to have a look what i have now, i can send it
to you if you keep it secret. I have no secrets to hide but since the accusation started i have tried to follow a very different approach than crafty.
every fast engine has been accused clone even Ruffian. MY OPINION is that they are not. I just appreciate the nice pruning method that ruffian has crafty doesn't.same to List...
Enjoy chess programming!
daniel
My opinion is that there are probably more clones and until now there was no serious examination of chess programs in order to find it.
I really hope that Paul Hunter will continue to investigate.
This is important also to convince other people to stop clonning engines.
Uri
i am not supporting cloning either.
my point is there are some things which chess programms have in common.
especially everybody developing his chess engine in the same environment CCC,i am sure all of us have something in common unless one is a genius creating everything by himself. Don't you?? Take a look at all open source and tell me you don't notice what i am saying. Infact what all of them luck is that little piece of code/idea. And if the supposed cloner has something different from the pack , he is a genius for me.
Daniel Shawul
 

Re: ElChinito: A Crafty Clone

Postby Paul Hunter » 21 Aug 2004, 11:11

Geschrieben von:/Posted by: Paul Hunter at 21 August 2004 12:11:39:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Uri Blass at 21 August 2004 12:03:31:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.

If List is proven not to be a Crafty clone, a lot of well known people on this forum and CCC will have to eat humble pie and apologise big time. Unfortunately (and I don't like saying this) I don't think that some of them are capable of doing so.
Graham.
I have looked at version 4.61 of List.
It is very obvious that it does not use BitBoards. I believe that Dan Corbit has stated that he has seen the List source code and that it indeed does not use BitBoards. This is easy to verify even without the source code. Just disassemble the list binary and look for BitBoard routines - finding bits in 64-bit variables, 64-bit operations (XOR, OR, AND of two 32-bit vars) to test bits, set bits, clear bits; finding attacks using rotated BitBoards; etc.

Here is a description of what happened at Graz:
http://www.chessbase.com/newsdetail.asp?newsid=1330
Here, reference is made to versions 4.60 and 5.04. It wasn't just a random accusation, and Fritz Reul decided against responding to it, although he was given ample opportunity.
I don't have any strong impression either way about List's case, but in such situations, you have to be *VERY* careful about what you are saying. This is also true of what you say about El Chinito of course.
Andrew
In that article, there is mention of evidence, but no detail at all. Is it because the output of List is the same as Crafty? Is is because the moves generated is the same? If that's all they have, that's pretty lame.
We're talking about cloning source, and not ideas. After reverse-engineering the List binary, you come up with a source that is really different from that of Crafty, then I say that's not a clone.
In the case of ElChinito, you reverse-engineer the binary and you come up with Crafty source. In anyone's book, that's source code cloning.
Did you investigate 5.04 or 4.60?
It is possible that 4.61 is not a clone when 5.04 or 4.60 are clones of Crafty.
I do not claim that it is the case but it is better to investigate 4.60 or 5.04 because the claim of having part of Crafty were against 4.60 and 5.04
Uri
The List implementation looks very different, that it would be very difficult to find the parts that are similar to Crafty.
In ElChinito, they are so same (including Crafty bugs), that it is difficult to find parts that are different.
Paul Hunter
 

Re: ElChinito: A Crafty Clone

Postby Andrew Williams » 21 Aug 2004, 11:12

Geschrieben von:/Posted by: Andrew Williams at 21 August 2004 12:12:54:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Paul Hunter at 21 August 2004 11:54:37:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
Problem with these clever posts is, that maybe soon every cute trick , that might be noticed by more or less ordinary users, might be posted.
Peter
I don't exactly get what you are trying to imply here.
Cloning open source is easy. Just change the output text and you can almost get away with it. Then, don't release your "modified" source.
What the authors of ElChinito probably never realized is that you can reverse the compilation process. You can deduce the C source from the binaries.
Remember all talk about List being a Crafty clone also. Well, its not. I have analyzed that too. It does not even use bitboards.

If List is proven not to be a Crafty clone, a lot of well known people on this forum and CCC will have to eat humble pie and apologise big time. Unfortunately (and I don't like saying this) I don't think that some of them are capable of doing so.
Graham.
I have looked at version 4.61 of List.
It is very obvious that it does not use BitBoards. I believe that Dan Corbit has stated that he has seen the List source code and that it indeed does not use BitBoards. This is easy to verify even without the source code. Just disassemble the list binary and look for BitBoard routines - finding bits in 64-bit variables, 64-bit operations (XOR, OR, AND of two 32-bit vars) to test bits, set bits, clear bits; finding attacks using rotated BitBoards; etc.

Here is a description of what happened at Graz:
http://www.chessbase.com/newsdetail.asp?newsid=1330
Here, reference is made to versions 4.60 and 5.04. It wasn't just a random accusation, and Fritz Reul decided against responding to it, although he was given ample opportunity.
I don't have any strong impression either way about List's case, but in such situations, you have to be *VERY* careful about what you are saying. This is also true of what you say about El Chinito of course.
Andrew
In that article, there is mention of evidence, but no detail at all. Is it because the output of List is the same as Crafty? Is is because the moves generated is the same? If that's all they have, that's pretty lame.
We're talking about cloning source, and not ideas. After reverse-engineering the List binary, you come up with a source that is really different from that of Crafty, then I say that's not a clone.
In the case of ElChinito, you reverse-engineer the binary and you come up with Crafty source. In anyone's book, that's source code cloning.
Please see Uri's response. Uri's point is precisely the point I was trying to make. I should have been clearer.
None of this is to dispute the work you have done with El Chinito, Paul. But precision and clarity is *everything* in this sort of discussion. It would be helpful, for example, if you were to put on your page precisely which versions of El Chinito and Crafty you have worked with. If not for now, for later, when people are coming back to the issue in the months to come. Of course it would also help people to confirm your results for themselves.
Andrew
Andrew Williams
 

Re: ElChinito: A Crafty Clone

Postby Paul Hunter » 21 Aug 2004, 11:26

Geschrieben von:/Posted by: Paul Hunter at 21 August 2004 12:26:19:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Daniel Shawul at 21 August 2004 12:06:05:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
i would like to say that the source code of DAnchess has been examined by
4/5 independent persons and found to be not a clone,that's why i am participating at WBEC. If you want to have a look what i have now, i can send it
to you if you keep it secret. I have no secrets to hide but since the accusation started i have tried to follow a very different approach than crafty.
every fast engine has been accused clone even Ruffian. MY OPINION is that they are not. I just appreciate the nice pruning method that ruffian has crafty doesn't.same to List...
Enjoy chess programming!
daniel
My opinion is that there are probably more clones and until now there was no serious examination of chess programs in order to find it.
I really hope that Paul Hunter will continue to investigate.
This is important also to convince other people to stop clonning engines.
Uri
i am not supporting cloning either.
my point is there are some things which chess programms have in common.
especially everybody developing his chess engine in the same environment CCC,i am sure all of us have something in common unless one is a genius creating everything by himself. Don't you?? Take a look at all open source and tell me you don't notice what i am saying. Infact what all of them luck is that little piece of code/idea. And if the supposed cloner has something different from the pack , he is a genius for me.

Sure, there is almost an optimal way of writing chess code these days, and many routines will be similar.
But why would anyone copy the bugs in Crafty code? That's pretty dumb cloning.
Why would unrelated code in one's "original" code end-up side-by-side and implemented in the same way.
Take all the open-source chess engines out there, and tell me if the disaasembly of any two binaries will even come close to each other.
Paul Hunter
 

Re: ElChinito: A Crafty Clone

Postby Uri Blass » 21 Aug 2004, 11:29

Geschrieben von:/Posted by: Uri Blass at 21 August 2004 12:29:43:
Als Antwort auf:/In reply to: Re: ElChinito: A Crafty Clone geschrieben von:/posted by: Daniel Shawul at 21 August 2004 12:06:05:
As I was building Crafry using different compilers, I was analyzing the assembly output of each compiler to see how each one optimizes the Crafty code. It then occurred to me that I can take those assembly output to easily find if other engines are using Crafty code.
Read the analysis here:
http://www.geocities.com/alternativecra ... clone.html
i would like to say that the source code of DAnchess has been examined by
4/5 independent persons and found to be not a clone,that's why i am participating at WBEC. If you want to have a look what i have now, i can send it
to you if you keep it secret. I have no secrets to hide but since the accusation started i have tried to follow a very different approach than crafty.
every fast engine has been accused clone even Ruffian. MY OPINION is that they are not. I just appreciate the nice pruning method that ruffian has crafty doesn't.same to List...
Enjoy chess programming!
daniel
My opinion is that there are probably more clones and until now there was no serious examination of chess programs in order to find it.
I really hope that Paul Hunter will continue to investigate.
This is important also to convince other people to stop clonning engines.
Uri
i am not supporting cloning either.
my point is there are some things which chess programms have in common.
especially everybody developing his chess engine in the same environment CCC,i am sure all of us have something in common unless one is a genius creating everything by himself. Don't you?? Take a look at all open source and tell me you don't notice what i am saying. Infact what all of them luck is that little piece of code/idea. And if the supposed cloner has something different from the pack , he is a genius for me.

I do not see it in that way.
The main problem for me is when a programmer copy code that he does not understand or does not understand the reason for the choice of this structure or this variables or copy tables of numbers from another program.
Crafty is a good example because people including you copied the same structure of bitboard without asking themselves why to define it in that way.
You also copied the same evaluation in part of the cases.
It is not copying ideas because copying ideas means that you do not have exactly the same numbers in the evaluation and it usually also means that you need to do more tests to find if a change is productive because you may have a bug in implementing the idea or your numbers are too high.
The same kind of copying can be done also to other programs and not only to Crafty so it is important to check that programs are not clones of other free source code programs.
Uri
Uri Blass
 

Next

Return to Archive (Old Parsimony Forum)

Who is online

Users browsing this forum: Google [Bot] and 27 guests