On Dalke

Code, algorithms, languages, construction...
User923005
Posts: 616
Joined: Thu May 19, 2011 1:35 am

Re: On Dalke

Post by User923005 » Wed Mar 28, 2012 10:21 pm

+1

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: On Dalke

Post by hyatt » Wed Mar 28, 2012 11:06 pm

syzygy wrote:It is not up to you to decide whether leaving this out is unimportant. The purpose of the document is to present the evidence to the reader, so that the reader can make up his mind himself. Or am I missing something here?

Apparently. No one knew there was a mistake until recently. It makes no sense to revise the report at this point, as it is now a part of "computer chess history." Feel free to make up your own mind. If you think that one character makes any difference with all the other evidence in the report, let me know...

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: On Dalke

Post by hyatt » Wed Mar 28, 2012 11:09 pm

syzygy wrote:
User923005 wrote:Without the code to examine (the result of reverse engineering is *not* the code) we are left with guessing "Did Vas modify existing code until it did what he wanted, or did he learn what Fabian was doing and then do something very similar himself?" I consider either outcome a possibility. The problem, as I see it, is that it is very, very difficult to tell which is which.
The way I understand things now, there are basically two separate accusations.

One is about literal code copying (with some modifications afterwards). The time allocation code allegedly is an example of this.

The other is about non-literal code copying. The set of common evaluation features allegedly is an example of this.

The two are not completely unrelated, but I would say they do not add up: if both can only be "half proven", this does not add up to a "full proof" of wrong doing.

Having the Rybka source would probably help for the first accusation, especially if there turns out to be much more than the few small pieces that I have seen so far. Those few pieces seem to allow for alternative explanations, especially since a lot of those pieces are explained e.g. by reading the UCI protocol. One could also wonder whether, even assuming those pieces were copied, this amounts to an infringement of Rule 2. The pieces are tiny compared to the whole programs and are hardly related to game play (sure, time allocation is a little bit game play related).
Have you read ALL of Mark's report? IE the part about "root move search" as one example? Everything done exactly the same in both programs but not in others? Etc. That's copied stuff, not rewritten stuff, as the bitboard change doesn't do much to the search code at all.


Suppose those tiny pieces had been copied with full permission from Fabien. Would Vas then have infringed Rule 2 for not entering Fabien's name as co-author on the form? I think not. (Note that Fabien (not) giving permission is not an element of Rule 2: whether he gave it or not does not change whether Vas violated Rule 2 or not.)
Since both competed in the same event, yes it violates rule 2.


The second accusation I have already discussed in my comment above. I don't have the impression that having the Rybka source code would make much difference here. The code implementing the evaluation featurse was certainly not copied. It is completely different. The only question here is whether Vas crossed the line between idea and expression in selecting his set of evaluation features. I would say no, but I accept that reasonable people can disagree on this point. One thing is certain: this is a grey area.
User923005 wrote:Algorithms are not protectable without a patent. Whether or not Vas has gone beyond fair use with bits of code or whether his use of creative expression extracted from Fruit being beyond what is allowed with copyright laws would probably require a level of legal expertize that nobody involved has (just guessing here, but I doubt any of the panel members is an expert is software intellectual rights).
This area is so grey, that it seems almost sure that different jurisdictions would come to different conclusions. It seems rather credible that Vas honestly thought he did nothing wrong when "copying" evaluation ideas. Even if the ICGA would have to disagree that he did nothing wrong, it seems very questionable to punish Vas so heavily for happening to be on the "wrong" side of a very vague line.

And then of course there is the whole conviction process. Although the ICGA Board bears responsibility for the final decision, the panel was clearly intended to prepare the decision for the Board. This in itself is not a problem at all, but it does mean that all panel members should have been impartial. This was clearly not the case.

Even if the ICGA Board has not acted unlawfully by not ensuring a fair procedure (which is debatable), that is not an excuse. (If it was an excuse, the Board could as well have decided straight away, without any investigation.)

Until recently, for me the by far strongest argument against Vas was his lack of cooperation. However, now that I have seen a bit more of the history of this whole issue I can understand that Vas did not see any point in cooperating with a panel basically led by Bob. Bob was not the whole panel, but it takes a lot of faith to believe that the panel could have deviated from his views.

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: On Dalke

Post by hyatt » Wed Mar 28, 2012 11:12 pm

syzygy wrote:
User923005 wrote:Without the code to examine (the result of reverse engineering is *not* the code) we are left with guessing "Did Vas modify existing code until it did what he wanted, or did he learn what Fabian was doing and then do something very similar himself?" I consider either outcome a possibility. The problem, as I see it, is that it is very, very difficult to tell which is which.
The way I understand things now, there are basically two separate accusations.

One is about literal code copying (with some modifications afterwards). The time allocation code allegedly is an example of this.

The other is about non-literal code copying. The set of common evaluation features allegedly is an example of this.

The two are not completely unrelated, but I would say they do not add up: if both can only be "half proven", this does not add up to a "full proof" of wrong doing.

Having the Rybka source would probably help for the first accusation, especially if there turns out to be much more than the few small pieces that I have seen so far. Those few pieces seem to allow for alternative explanations, especially since a lot of those pieces are explained e.g. by reading the UCI protocol. One could also wonder whether, even assuming those pieces were copied, this amounts to an infringement of Rule 2. The pieces are tiny compared to the whole programs and are hardly related to game play (sure, time allocation is a little bit game play related).

Suppose those tiny pieces had been copied with full permission from Fabien. Would Vas then have infringed Rule 2 for not entering Fabien's name as co-author on the form? I think not. (Note that Fabien (not) giving permission is not an element of Rule 2: whether he gave it or not does not change whether Vas violated Rule 2 or not.)

The second accusation I have already discussed in my comment above. I don't have the impression that having the Rybka source code would make much difference here. The code implementing the evaluation featurse was certainly not copied. It is completely different. The only question here is whether Vas crossed the line between idea and expression in selecting his set of evaluation features. I would say no, but I accept that reasonable people can disagree on this point. One thing is certain: this is a grey area.
User923005 wrote:Algorithms are not protectable without a patent. Whether or not Vas has gone beyond fair use with bits of code or whether his use of creative expression extracted from Fruit being beyond what is allowed with copyright laws would probably require a level of legal expertize that nobody involved has (just guessing here, but I doubt any of the panel members is an expert is software intellectual rights).
This area is so grey, that it seems almost sure that different jurisdictions would come to different conclusions. It seems rather credible that Vas honestly thought he did nothing wrong when "copying" evaluation ideas. Even if the ICGA would have to disagree that he did nothing wrong, it seems very questionable to punish Vas so heavily for happening to be on the "wrong" side of a very vague line.

And then of course there is the whole conviction process. Although the ICGA Board bears responsibility for the final decision, the panel was clearly intended to prepare the decision for the Board. This in itself is not a problem at all, but it does mean that all panel members should have been impartial. This was clearly not the case.

Even if the ICGA Board has not acted unlawfully by not ensuring a fair procedure (which is debatable), that is not an excuse. (If it was an excuse, the Board could as well have decided straight away, without any investigation.)

Until recently, for me the by far strongest argument against Vas was his lack of cooperation. However, now that I have seen a bit more of the history of this whole issue I can understand that Vas did not see any point in cooperating with a panel basically led by Bob. Bob was not the whole panel, but it takes a lot of faith to believe that the panel could have deviated from his views.

You should ask a few panel members about my participation. I did not push anyone. I didn't try to persuade anyone to vote "yes". I helped when looking at the crafty / rybka 1.6.1 evidence, because I certainly understood my code. I helped with writing parts of the final report. But ask around to see how much influence I tried to exert. I suppose I could simply copy and paste every post I made on the Wiki during the investigation, which would reveal just how far off the mark your last paragraph goes...

syzygy
Posts: 148
Joined: Sun Oct 16, 2011 4:21 pm

Re: On Dalke

Post by syzygy » Thu Mar 29, 2012 12:04 am

hyatt wrote:
syzygy wrote:It is not up to you to decide whether leaving this out is unimportant. The purpose of the document is to present the evidence to the reader, so that the reader can make up his mind himself. Or am I missing something here?
Apparently. No one knew there was a mistake until recently.
Until 2010, but I am not talking about that. I am also not asking for these reports to be revised. (Well, an addendum wouldn't seem to much to ask for, but anyway.)

I am talking about the way panel members are dismissing this as "unimportant".

Had I been a panel member, I would have been very careful not to create the impression that I did not care about factual errors in the evidence. I would not try diversions as "ah, doesn't matter, doesn't change one bit, he is guilty anyway, who cares".

syzygy
Posts: 148
Joined: Sun Oct 16, 2011 4:21 pm

Re: On Dalke

Post by syzygy » Thu Mar 29, 2012 12:08 am

hyatt wrote:
Bob was not the whole panel, but it takes a lot of faith to believe that the panel could have deviated from his views.
You should ask a few panel members about my participation. I did not push anyone. I didn't try to persuade anyone to vote "yes". I helped when looking at the crafty / rybka 1.6.1 evidence, because I certainly understood my code. I helped with writing parts of the final report. But ask around to see how much influence I tried to exert. I suppose I could simply copy and paste every post I made on the Wiki during the investigation, which would reveal just how far off the mark your last paragraph goes...
It does not even matter so much what happened inside the panel. The point is that Vas had no reason to trust the process, if only for your presence. Just look at your posts from 2010.

syzygy
Posts: 148
Joined: Sun Oct 16, 2011 4:21 pm

Re: On Dalke

Post by syzygy » Thu Mar 29, 2012 12:18 am

hyatt wrote:
Suppose those tiny pieces had been copied with full permission from Fabien. Would Vas then have infringed Rule 2 for not entering Fabien's name as co-author on the form? I think not. (Note that Fabien (not) giving permission is not an element of Rule 2: whether he gave it or not does not change whether Vas violated Rule 2 or not.)
Since both competed in the same event, yes it violates rule 2.
Assuming he violated Rule 2, do you agree that Vas would have still violated Rule 2 if he had had Fabien's full permission? Still "close derivates" in the same tournament, still not "all other authors" named?

Advance warning: the next step will be reminding you of people entering engines with code copied from crafty with your permission.

User avatar
marcelk
Posts: 52
Joined: Fri Jan 28, 2011 10:27 pm
Real Name: Marcel van Kervinck

Re: On Dalke

Post by marcelk » Thu Mar 29, 2012 2:33 am

hyatt wrote:
syzygy wrote: Until recently, for me the by far strongest argument against Vas was his lack of cooperation. However, now that I have seen a bit more of the history of this whole issue I can understand that Vas did not see any point in cooperating with a panel basically led by Bob. Bob was not the whole panel, but it takes a lot of faith to believe that the panel could have deviated from his views.
You should ask a few panel members about my participation. I did not push anyone. I didn't try to persuade anyone to vote "yes". I helped when looking at the crafty / rybka 1.6.1 evidence, because I certainly understood my code. I helped with writing parts of the final report. But ask around to see how much influence I tried to exert. I suppose I could simply copy and paste every post I made on the Wiki during the investigation, which would reveal just how far off the mark your last paragraph goes...
Yes, would you please publish all posts you made on the wiki during the Panel's investigation period.

In addition to that please also your e-mails (if any) of that period to panel members. As you might remember Ed has recently requested the panel members for permission to make public all of the Panel's wiki discussions. (A permission which was not granted BTW). However, in response to that request you have replied that such wiki release would not paint the full picture because "there were many email discussions along with the Wiki threads." (your words, Feb/13 2012). Would you therefore make public any e-mail you sent to any panel member during the panel's investigation phase?

Please realize that the mere suggestion that such emails indeed exist cast a cloud on the objectivity of the Panel, because the Charter explicitly forbade such secondary communications (for obvious reasons, I hope). You are the only one who can clear that cloud.

User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Re: On Dalke

Post by Rebel » Thu Mar 29, 2012 10:29 am

hyatt wrote:
syzygy wrote:Regarding paragraph 6.3.2 of RYBKA_FRUIT_Mar11.pdf, it seems to be accepted now that the decompiled line "if (movetime >= 0.0) {" should have read "if (movetime > 0.0) {". In other words, the ">=" from Fruit cannot be found in Rybka.

A panel member has suggested that this error in the decompiled Rybka code was already known to him and at least one of the other the panel members in 2010, and therefore certainly at the time of the official investigation.

Is this true? If so, why was this not corrected in RYBKA_FRUIT_Mar11.pdf?

According to this panel member, it was not important. In his words:
You think that a different comparison just invalidates that entire section of the comparison? Not for me.
Could anyone explain this point? Why was it not important that the readers of this document (i.e. the other panel members, the ICGA Board, the public) were presented facts that were as accurate as possible?

After Ed pointed the >= vs > comparison error out, I remembered that I had seen this a while back. I originally thought Mark Watkins might have mentioned it, and asked him. He thought it had come up on CCC in mid-2010. I did not recall this until Ed's comment. And even then, the "recollection" was vague and I still don't know exactly when/where/who mentioned it.

The reason I said "this is unimportant" is that this is a single line of code, out of all the evidence that has been shown. It is not even 0.1% of the total evidence. And as I said, "If you remove that line" nothing changes. The rest of the code around that line STILL matches between the two programs, not to mention the search and eval code included in the report.

Clear enough???
Loud and clear.

You were deliberately withholding crucial information since 2010. Worse, you hinting here Mark also knew.

What you are saying here is that Mark deliberately left the false information in his document.

Cheating the Panel. Cheating those who signed the Fabien letter.

I signed the Fabien letter MAINLY because of:

FRUIT - if (movetime >= 0.0)
RYBKA - if (movetime >= 0.0)

As it was a clear sign of copying.

And I wasn't told about the wrong decompile while the information was known.

The truth:

RYBKA - if (movetime > 0.0)

is a bomb under "0.0" gate.

And it was withhold.

That's cheating.

And I know various programmers who signed the Fabien letter that took the same road as me, "0.0" greatly worked as a catalysator to accept the rest of the documents without much criticism. They can speak up for themselves if they feel that is the right thing to do.

I would like to see Mark to clarify the matter.

Can you blame me for having a hard time to believe your side of the story especially the Mark Watkins part ?

User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Re: On Dalke

Post by Rebel » Thu Mar 29, 2012 12:43 pm

syzygy wrote:
hyatt wrote:
Bob was not the whole panel, but it takes a lot of faith to believe that the panel could have deviated from his views.
You should ask a few panel members about my participation. I did not push anyone. I didn't try to persuade anyone to vote "yes". I helped when looking at the crafty / rybka 1.6.1 evidence, because I certainly understood my code. I helped with writing parts of the final report. But ask around to see how much influence I tried to exert. I suppose I could simply copy and paste every post I made on the Wiki during the investigation, which would reveal just how far off the mark your last paragraph goes...
It does not even matter so much what happened inside the panel. The point is that Vas had no reason to trust the process, if only for your presence. Just look at your posts from 2010.
Vas on this - http://rybkaforum.net/cgi-bin/rybkaforu ... ?tid=23966

Post Reply