Bob Hyatt says that....

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

Moderator: Ras

User avatar
Mike S.
Posts: 1480
Joined: Thu Mar 09, 2006 5:33 am

Re: Bob Hyatt says that....

Post by Mike S. »

bob wrote: But the policy has always been there, and I have always arrived with either my source on a laptop, or more commonly, with a complete listing printed in a 3-ring binder.
Yes, that's admirable and that is how it should be done. But that programmer WAS NOT THERE. Afaik, he was finishing his studies on a university in Germany, just at that time, and was substituted by someone else. Maybe that operator only had the executable and not the sources; I don't know. Of course, I guess communication and preparation of both of them could have been better. But I cannot believe that you really support a disqualification for not showing the source, a demand virtually based on NOTHING, if the programmer didn't have a chance to defend himself on site, face to face. Rules are ok, but rules need to be applied with common sense, not with maximal brutality.
Regards, Mike
User avatar
Mike S.
Posts: 1480
Joined: Thu Mar 09, 2006 5:33 am

Re: Bob Hyatt says that....

Post by Mike S. »

I only want to mention that I was referring to List as of the year 2003, when the WCh. was held in Graz. IIRC, Fruit was not a topic yet, in that time. The suspicion was Crafty clone, not Fruit clone.

I do not comment on more recent Lists and Loops, but I am aware of the CCRL ponder hit statistics. That's a different topic; I wonder if the ICGA officials are aware of the CCRL ponder hit statistics. I'd like to bet that they are not, and win a fortune. :mrgreen:
Regards, Mike
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Bob Hyatt says that....

Post by bob »

Mike S. wrote:
bob wrote: But the policy has always been there, and I have always arrived with either my source on a laptop, or more commonly, with a complete listing printed in a 3-ring binder.
Yes, that's admirable and that is how it should be done. But that programmer WAS NOT THERE. Afaik, he was finishing his studies on a university in Germany, just at that time, and was substituted by someone else. Maybe that operator only had the executable and not the sources; I don't know. Of course, I guess communication and preparation of both of them could have been better. But I cannot believe that you really support a disqualification for not showing the source, a demand virtually based on NOTHING, if the programmer didn't have a chance to defend himself on site, face to face. Rules are ok, but rules need to be applied with common sense, not with maximal brutality.
Not quite that simple. The programmer knew the rules. They have been the same with regard to that issue since the first ACM event I played in in 1976. And I believe he refused to comply after contact, although I do not remember the specific details since I only read about this after the fact, not being present to watch.
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

Re: Bob Hyatt says that....

Post by CThinker »

I agree with Bob that the chances of two original work being identical is relly low. Especially low for the resulting binaries to be identical.

However, what I disagree with is with the particular setjmp example.

First, it is argued that setjmp is so rare in usage, that, if it is found in a new code, then it must have been copied from Fruit. The reality is, the use of try/catch/jmp is very common and is a programming 'pattern'. When programmers see that there is process that can be interrupted and that its state is not needed, then one can simply restore from a saved state when interrupted.

Surely, no one would claim that Fruit was copied from TSCP, since TSCP used setjmp before Fruit did.

If you study the code, you can see that "there is no copying of ideas" either. The implementations of known users of setjmp are all different.

Below is a demonstration of the way Fruit, Strelka and TSCP were coded. You will note that there are all very different from each other.

---

Fruit maintains two boards. There is the main board that gets updated only when the 'game' state has changed. And then there is the search board which gets initialized before a search starts. It is what gets updated during search. Its state is never preserved after the search.

Code: Select all

SearchBestMove()
{
    if (setjmp(...)) return;

    SearchBoard = GameBoard; // initialize the search board from the game board

    Iterate (SearchBoard); // search using the search board
}
Strelka maintains only one board. This board is saved just before the search, and then restored after the search. This method is actually less efficient than that of Fruit because it requires a 'restore' process.

Code: Select all

Iterate()
{
    BoardType SavedBoard;
    SavedBoard = GameBoard; // save the game board

    for (depth=0; depth<MaxDetph; depth++) {
        ...
    }

    GameBoard = SavedBoard; // restore the game board
}

FindBestMove()
{
    if (setjmp(...)) return;
    Iterate();
}
TSCP maintains only one board. When the search is interrupted, it 'undo's all the moves.

Code: Select all

FindBestMove()
{
    if (setjmp(...)) {
        if (interrupted) {
            UndoAllMoves();
        }
        return;
    }

    Iterate();
}
If there is any copying, it is in some other part of the code. Not here.

I will make a claim now. Thinker uses strrchr (StrRChr). Its use is very rare in chess programs. Any new program that uses that function is probably a copy of Thinker. :roll:
User avatar
tiger
Posts: 819
Joined: Sat Mar 11, 2006 3:15 am
Location: Guadeloupe (french caribbean island)

Re: Bob Hyatt says that....

Post by tiger »

chrisw wrote:
tiger wrote:
chrisw wrote:
GenoM wrote:
chrisw wrote:
GenoM wrote:
Alexander Schmidt wrote:Chris, I guess I know what you are doing right now. You talked to Vas, asking about all this stuff here. He is a really nice guy and you believed him that he didn't do anything wrong.

I believed him too when I asked right after the Rybka 1.0 release.

I hope you will not get disapointed to much one day. I mean that honestly.
Yes, his POV is mainly based on personal feelings -- it seems that for him is most important to contradict with all Bob Hyatt is saying on the matter. And to challenge EVERY point Bob Hyatt made.

He (ChrisW) is ready to deny that 2+2=4 written by two different people is the same because it's wriiten with different handwritings.
No, no!! I say 33 out of 114 is 28% and is different hand ;-)
Writing 2+2=4 is is not wrong, even if it was cribbed in class room :-)
More often 2+2 makes 5 - it's what to look for

as in 100% identical = 28% identical

4000 corresponding identical code lines = metaphorical 4000 code lines

they will provide more examples, it's only a matter of time .....


Where did I wrote that there were "4000 corresponding identical code lines"?

At least until now your reasoning was just stubborn like "one line means nothing, let's go to the next, loop". Now you are making things up.

// Christophe
You are talking continuously about 4000 code lines. So they're neither corresponding, nor identical, nor consecutive? Just any old code lines?

Various examples below, accompanied by comments like: get 100000 monkeys off your hat, or "smart idiot" or "arrogant" or some other insult from you.
Christophe Theron wrote:
Another one: one line of code alone cannot breach the GPL. Let's look at this 4000 lines program. Line 1: cannot breach the GPL. OK check this one. Line 2: cannot breach the GPL. OK fine. Line 3: cannot breach... And so on.

Finally you will get your 1000000 monkeys off your hat.

You are (were) a programmer and deliberately play the smart idiot here. This is what I would call arrogant, because it would be better to tell me directly that you are not interested in looking at the evidence and that all you want is that people stop posting it and go directly to the FSF.
Christophe Theron wrote:
Of course by dissecting the source code into individual lines you can use the argument "one line of code cannot possibly breach the GPL".

Considering that a 4000 lines program is composed of individual lines, and that no single line alone can breach any copyright license, then it follows that none of these lines can breach the GPL and so the program is clean.

We are talking of blocks of code that are identical or equivalent semantically. The probability of them happening in two programs writen independantly is so tiny that it makes them appear suspicious.
Christophe Theron wrote:
(warning: the above is use of the argument: "one single line of code cannot violate any copyright, so 4000 of them cannot either")


Again, where did I say I was talking about 4000 corresponding identical lines?

You are not an idiot, you are clearly a clever guy. You are posturing as an idiot in order to completely obstruct the debate.

I find this attitude arrogant because you seem to be confident that your expertise in programming will allow you to deceive people with less expertise. You are using expertise as a mean of obstruction.

In your first attempts I thought you were trying to offer some balance to the claims and the evidence posted, because no other people with expertise was doing it. I could at least find this justification for some questionable reasoning you were using, because it is true that both sides need to be defended.

But lately you have increasingly been resorting to obstruction. So systematically actually that I think Vas would be better defended by silence, which he was using with significant success before your interventions.



// Christophe
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: Bob Hyatt says that....

Post by pedrox »

tmokonen wrote:
pedrox wrote:
There is a page with evidence to show that El Chinito is a clone of Crafty?

Thank you.

Pedro
There was an admission and apology from Eugenio Castillo on the Arena web site at one time, I don't know if it is still there.
Thx

I only found in Arena this:

"Unfortunately, clones are the topics which produced always the biggest threads in popular computer chess fora. In all of these bigger discuss in the past the well-known self artists are on the first positions with a lot of comments. A good example was the clone discuss to ELChinito. ELChinito programmer Eugenio Castillo is working more as 12 years in chess programming. His older DOS program Eugen (playwing strenght = around 2.400 ELO) is a good example for Eugenio's fantastic work. A self artist search the sensation and used popular chess fora for his publication. It is a disgrace for the chess community and fora administrators to support such discuss to outstanding personalities, like Eugenio Castillo.

Again, we are speaking about a person, which made chess programming since more as 12 years!
This programmer got an attack from a lot of persons we know only from nonsens WWW forum messages. And all this without to speak with Eugenio "Face to Face". A lot of Manitou's are sitting in a small chambers and like it to used the keyboard for his wild fantasy. What can I say? Unfortunately, we are speaking from humans!

For months I delete ELChinito in the ATL-1 tournament for get more calm to this topic (ELChinito are a partner program of Arena Chess GUI). Fact is that Eugenio Castillo is working on his program and the results are just great. ELChinito made 250 nps (slow) on my Pentium IV 2.67 GHz Maxdata notebook but produce great results. Eugenio had rewritten the search (he are working a long time on it). I like the program ELChinito and the results of 13.5 : 3.5 vs. Crafty 19.18 with 40 moves in 20 minutes is very strong. I analyse the games and can find nothing which is to compare with Crafty. Crafty have simple no chance, its easy ..."
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Bob Hyatt says that....

Post by Zach Wegner »

I do remember clearly that some specific parts of El Chinito were shown to be from Crafty. I want to say this was shown by disassembly, but I'm not sure. The part that I remember was a routine called score_mate or something. The return value was checked to be 99999, when this piece of code was only accidentally left in Crafty, as that routine didn't return that value.
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: Bob Hyatt says that....

Post by BubbaTough »

I wonder if the ICGA officials are aware of the CCRL ponder hit statistics
I hate to drag things off topic a little (OK, actually I don't mind at all)...but could someone tell me what how to interpret these numbers...as in what range is considered "significantly different", or "pretty close" or "awfully suspicious"?

-Sam
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Bob Hyatt says that....

Post by bob »

BubbaTough wrote:
I wonder if the ICGA officials are aware of the CCRL ponder hit statistics
I hate to drag things off topic a little (OK, actually I don't mind at all)...but could someone tell me what how to interpret these numbers...as in what range is considered "significantly different", or "pretty close" or "awfully suspicious"?

-Sam
It is somewhat like Einsteinianism... that is, everything is relative.

The higher the number, the more alike the two programs are searching and evaluating. But this is only a general observation and doesn't carry a whole lot of weight. My ponder search starts on a move that will be at least 1 ply shallower than the move my opponent plays, so the idea is not correct all the time.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Bob Hyatt says that....

Post by bob »

CThinker wrote:I agree with Bob that the chances of two original work being identical is relly low. Especially low for the resulting binaries to be identical.

However, what I disagree with is with the particular setjmp example.

First, it is argued that setjmp is so rare in usage, that, if it is found in a new code, then it must have been copied from Fruit. The reality is, the use of try/catch/jmp is very common and is a programming 'pattern'. When programmers see that there is process that can be interrupted and that its state is not needed, then one can simply restore from a saved state when interrupted.
Who, exactly, has said that? I only said that when comparing fruit and rybka, and seeing setjmp() in both, just shows that this is an even lower probability for a "by chance" accidental duplication by two independent programmers. The more rare the constructs used in two apparent copies, the more likely the two are actually related. I never said finding it in Rybka proved anything, I clearly said that it is just another small piece of data.

I don't see why every word I write has to be subject to exaggeration or interpreted based on oddball grammatical parsing rather than what was actually said.

Surely, no one would claim that Fruit was copied from TSCP, since TSCP used setjmp before Fruit did.
Nope, because we are looking at a significant block of code. And adding an oddball mechanism for terminating the search just makes the two codes look more like one came from the other.

If you study the code, you can see that "there is no copying of ideas" either. The implementations of known users of setjmp are all different.
I hate to be rude, but who cares? That is _not_ what has been discussed. The fact that two pieces of code have a significant number of identical lines, and then adding setjmp() only adds to the likelihood one came from the other.


Below is a demonstration of the way Fruit, Strelka and TSCP were coded. You will note that there are all very different from each other.
And again, who cares? Look at the fruit/rybka example instead, which shows the _identical_ way setjmp() (among other things) can be used. This has become a common approach to arguing in this discussion, and it is horribly flawed. First you say we said something we didn't say, then you try to show that that statement has exceptions. Who cares?

I snipped the rest as it is 100% irrelevant in the current discussion since it is arguing against a statement that has never been made in the first place.