Bob Hyatt says that....

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

Moderator: Ras

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

Re: Bob Hyatt says that....

Post by bob »

trojanfoe wrote:
michiguel wrote:
Alexander Schmidt wrote:
fern wrote: show us specific lines of code that are equal to those from fruit.
http://pagesperso-orange.fr/ct_chess/Fr ... rt_go.html
Is this all?

My goodness. I stayed away from this riot but I thought there was more about it.
I can see a similarity that is easily explained in this manner: Vas looked at the code and said, "I see a loop with strtok to parse UCI" and he implemented it that way. Of course, UCI is "universal" and both codes will converge towards those commands. Several lines are mixed, so it does not make any sense to copy and paste a code and later mix it up for no purpose. No reason to obfuscate this... it is easier to rewrite it from scratch!

I see zero proof of violation of GPL from this file.

Miguel
Why would Vas look at the code for a UCI parser? It's a pretty simple specification - I don't understand why he would need to see someone else's code. I recently implemented a UCI parser myself and never used strtok at all - but then it's my style not to use strtok much anyway. It's strange that Vas's style is to use strtok in the same way someone else has. Hmmmm.

There is more than zero proof here...
This is a hopeless discussion.. Some are _not_ going to be convinced, because of whatever personal reasons they have. Evidence be damned. Discussions be damned. It is just not going to change their opinion or adamant refusal to accept any kind of evidence, period.

The best that can be hoped for is that enough questions are raised, enough evidence is produced, that eventually the question has to be answered in a way that is consistent with all the facts, whatever they are by then. Might be nothing to it. Might be a lot to it. But the detractors are not going to help in any way so it is just wasted bandwidth. I know, I know, I've been just as guilty of wasting bandwidth. But I'm 60 years old now so we can blame that on old age. :)
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Bob Hyatt says that....

Post by bob »

trojanfoe 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.
Well 'handwriting' is one of the important points Bob is trying to make. A programmer's style is unique, not only in the names they give functions and variables, but how they decide to store, manpulate and represent data. Two programmers sitting next to each other in an office, which shares a coding standard and use of the same libraries and tools, etc., will produce different code when given the same objective. Usually programmer A won't like the code produced by programmer B (or maybe that's just me) - as the style and technique will be different to the way they would have done it.

This is similar to two 'lay' people being asked to write down a description of a shared experience - not only will they use different words and structure, but the handwriting will be distinct as well.
hopeless argument.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Bob Hyatt says that....

Post by bob »

Dann Corbit wrote:
trojanfoe wrote:
michiguel wrote:
Alexander Schmidt wrote:
fern wrote: show us specific lines of code that are equal to those from fruit.
http://pagesperso-orange.fr/ct_chess/Fr ... rt_go.html
Is this all?

My goodness. I stayed away from this riot but I thought there was more about it.
I can see a similarity that is easily explained in this manner: Vas looked at the code and said, "I see a loop with strtok to parse UCI" and he implemented it that way. Of course, UCI is "universal" and both codes will converge towards those commands. Several lines are mixed, so it does not make any sense to copy and paste a code and later mix it up for no purpose. No reason to obfuscate this... it is easier to rewrite it from scratch!

I see zero proof of violation of GPL from this file.

Miguel
Why would Vas look at the code for a UCI parser? It's a pretty simple specification - I don't understand why he would need to see someone else's code. I recently implemented a UCI parser myself and never used strtok at all - but then it's my style not to use strtok much anyway. It's strange that Vas's style is to use strtok in the same way someone else has. Hmmmm.

There is more than zero proof here...
Does it strike you as *wrong* that someone should look at someone else's open source code and learn from it?

If that is what chess programming has degenerated to, then it is no longer a worthwhile exercise.

I'll admit that I am a fossil. When I started programming in the mid 1970's, people used to invent algorithms and post them in the ACM. They actually *hoped* that people would learn from them and improve them.

So that is why the prevailing attitudes strike me as so very strange. I really don't understand it.

Now, let me back up a bit. I do not approve of breaking laws -- even laws that I think are wrong or stupid. But if someone is within the law and learns from publicly available information I think that they are heros and not villians.

IMO-YMMV.
I don't think that's the issue here. Tracy has been itching for a change in how we do our evaluation. Presently we have a main component, and then king safety and endgame-specific stuff. The final score is main +MGscale(safety) + EGscale(endgame). He has wanted to try the fruit-like approach of just computing two scores, one as if it were the early middlegame, one as if it were the late endgame, and then interpolate between them. Which was the "fruit approach". If you want my opinion, it looks a tad sloppy, because both scores get updated everywhere but by different amounts. So the work is increased. But it allows for a smoother transition, and now the scale factor can be different for different terms since we have separate score values for MG vs EG concepts. Whether it will be better or not I don't know. I've done a couple already to get us started. That's an idea. Not one byte of code was taken from Fruit. No score values copied (our evaluation is not changing at the moment, just the way we accumulate and interpolate the final scores), no code copied, not even a single line of code. No blocks of code copied. No nothing. That is how it _should_ be done. Tracy looked at Fruit and said "let's try this." I said "OK, let's see how it works." And perhaps progress will be made. Someone mentioned the q-check idea. Simple change or 500+ lines of code? I'll let you guess and tell all later. I could look at fruit. Something tells me he didn't write code to specifically generate all direct and discovered checks, rather than generating them all and sifting the non-checks out. That is why there is such an impossibly small chance of duplicate blocks of code. An _incredibly_ small chance.

And some are just not going to have any part of it.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Bob Hyatt says that....

Post by bob »

trojanfoe wrote:
bob wrote:Of course, I suspect you are hung up on the syntactical issue again, where I am talking semantics.

So code might be interpreted as either

i++;
x = x[j] + n;

or

x[i++] = x[j] + n;


Errr... those aren't equivalent Bob.

Code: Select all

i++;
x[i] = x[j] + n;
and

Code: Select all

x[++i] = x[j] + n;
Would be equivalent.
Correct. was in a hurry to finish that before going out to eat with wife. wife was impatient. She came first. :)
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Bob Hyatt says that....

Post by bob »

Sounds more like an unhealthy imagination...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Bob Hyatt says that....

Post by bob »

Rolf wrote:
kranium wrote:
Mike S. wrote:
Rolf wrote: the whole thing will happen on the players meeting in Beijing shortly before the big tournament.
Yes, I guess that's the time and location when some people want to crucify Vas and then celebrate their satanic mass. Vas should withdraw from the world championship! Chessmaster (the best selling chess software) and since many years, Fritz (the second best selling chess software) did not require to participate. Rybka doesn't either. After the so called world champion 2008 has been crowned, Rybka will defeat it 60:40 at least, anytime anywhere.

Rolf, you remember Graz 2003. Meanwhile, F.Reul has sold his program to Nintendo, for the Wii console, the currently best selling video console. I guess from all chess programmers, he is currently the one who creates the biggest revenue. That is his silent revenge for the injustice of Graz.
yes, good point...
but they are not going to 'crucify' him...that would be completely unfair, and unwarranted. i don't even think they should him question about it, but i can't control that. everything that has been discussed here was just that - it was debate, public forum 'discussion'. the fact that it became so heated reflects the passion and love that people have for chess.

i for one, can accept the fact that the community believes that a violation has not been conclusively proven. (unless the FSF magically appears and corrects me!). but i also believe there is significant cause for concern, there is simply too much code to ignore, but even then, we're talking about rybka 1.0, 3 years ago, so maybe it's less relevant?
i don't know,

there was some conjecture about subsequent versions, and the connection kinda logically follows. but that's speculation, and i think that everybody saw it as that. in any event, it would good to know the truth.

he has a right to be there,
it's unfortunate that the outcome of the tournament is so certain. it would take a miracle...? (is it even remotely possible that rybka doesn't win?)
Norm, three questions to you, please tolerate such ones for the sake of truth:

- there was a clone affair connected with your person, why are you, a good chess programmer so actively participating actually as if you could be a trustable attorney fighting for the truth - I just dont get it and I have nothing against you personally but please try to give your view on that peoblem.

- Norm, I dont know your education, but anyway you are very smart IMO, so my next question, of course not to programming but what a "debate" is also besides a mere factual exchange. McLuhan said the message is the message. Do you understand what this means?? I ask because I have the strong opinion that the debaters here dont resalise what such a public inquiry can cause even if each one for himself claims honestly that he does only factually discuss a problem. Do you get what I mean?

- If you agree with me that such a debate can lead to consequences that are indipendent of the single participants?

- Why do you personally and in connect with you collaboraters avoid to research Fritz, Junior and such programs but only Rybka? Can that be justified somehow?
First, there was only one program they "might" have copied, namely gnuchessx. The original gnu was not going to run on a PC at the time Fritz was started (It has been around a long while). Junior did not "suddenly pop up" and has been around for many years as well. Ditto for Rebel. Shredder. chessmaster. Wchess.

And it is the same reason nobody in their right mind would imply Crafty was a copy, because in 1994 there was nothing to copy but gnuchess, and that is an easy comparison for anyone to make.

So it is about "instant creation", and the similarities with early output that Vincent harped on for several months. It has been a smouldering topic that has simply refused to die out.


[
John

Re: Bob Hyatt says that....

Post by John »

Several of the signs of pseudoscience are evident in this thread. :(

CCC members are encouraged to review them.
Last edited by John on Sat Aug 30, 2008 4:27 am, edited 1 time in total.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Bob Hyatt says that....

Post by michiguel »

trojanfoe wrote:
michiguel wrote:
Alexander Schmidt wrote:
fern wrote: show us specific lines of code that are equal to those from fruit.
http://pagesperso-orange.fr/ct_chess/Fr ... rt_go.html
Is this all?

My goodness. I stayed away from this riot but I thought there was more about it.
I can see a similarity that is easily explained in this manner: Vas looked at the code and said, "I see a loop with strtok to parse UCI" and he implemented it that way. Of course, UCI is "universal" and both codes will converge towards those commands. Several lines are mixed, so it does not make any sense to copy and paste a code and later mix it up for no purpose. No reason to obfuscate this... it is easier to rewrite it from scratch!

I see zero proof of violation of GPL from this file.

Miguel
Why would Vas look at the code for a UCI parser? It's a pretty simple specification - I don't understand why he would need to see someone else's code. I recently implemented a UCI parser myself and never used strtok at all - but then it's my style not to use strtok much anyway. It's strange that Vas's style is to use strtok in the same way someone else has. Hmmmm.

There is more than zero proof here...
Why would he look? that is not a key question. He did look at Fruit's code and study it! So he looked, that is not a mystery. Once you study a source code, you can be easily influenced by it. He could have seen a loop with strtok a that is the only thing he needed to remember to write something that ends up with ~30/100 lines similar.

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

Re: Bob Hyatt says that....

Post by Bill Rogers »

I read all of Fabians postings and to tell you the truth no one can say for sure whether is dicovered the search routine or maybe just the way it display the board on the screen. Remember he inserted what he thought were the names of the variables, because they are simple not there in the compiled code.
Years agp I dissambles the code of a chess program and to tell you the truth even following the 8080 dissassambler language it was almost impossible to tell what the program was doing.
Bill
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 »

Bill Rogers wrote:I read all of Fabians postings and to tell you the truth no one can say for sure whether is dicovered the search routine or maybe just the way it display the board on the screen. Remember he inserted what he thought were the names of the variables, because they are simple not there in the compiled code.
Years agp I dissambles the code of a chess program and to tell you the truth even following the 8080 dissassambler language it was almost impossible to tell what the program was doing.
Bill
1. Fruit does not have a function to display the board
2.It is quite possible what a program is doing by disassembly. We can't determine the exact variable names, but we can create new variable names that accurately describe the use of the variable. Look at Strelka...