Voir Dire

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

Moderator: Ras

Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Voir Dire

Post by Sven »

hgm wrote:
Sven Schüle wrote:And without the sources being available, the burden of proof more than ever is on the accuser's side.
This also is in gross dis-accord with practice in real courts. When I am accused of tax fraud, I can elect to not provide the administrative documents the Dutch equivalent of the IRS requests of me. But the consequence of that is that the burden of proof is reversed, and I will be judged guilty unless I can prove my innocence.

Without sources, the burden of proof is on the defender's side.
Vas' statements that he no longer had the old sources were known in advance, so there was no such request by the ICGA to provide sources that could have denied by Vas. The story is different. The binary (Rybka 1.0 beta) was examined, similarities were found and analyzed by Zach Wegner and later by Mark Watkins, and based on the paper of Zach it was claimed that code copying were proven. Vad denied this. Mark Watkins found some more evidence but he also wrote that
this document is fundamentally incapable of anticipating even legitimate explanations of the evidence here enumerated, and as such, is more of a call to further conversation than the final word.
(page 1) and
While a large (indeed, almost complete) match is found, it is presumably feasible to opine that the Fruit source code can be taken as a "manual" for chess programming (perhaps in the sense of a modern version of How Computers Play Chess), and if this paradigmatic view is accepted, then the re-use of the same evaluation components might arguably be less derelict.
(page 2) indicating that drawing the line between "copying ideas" and "copying code", whether used in the context of GPL/copyright/legal issues (which he explicitly avoids to touch) or of "originality" (which is relevant for the ICGA viewpoint) is not a well-defined task in computer chess.
hgm wrote:This whole voir-dire argument is utterly ridiculous. The ICGA judgement in the Rybka case is based based on factual evidence. Pieces of code that occur in both Crafty and Rybka, which are unlikely beyond reasonable doubt to be the same by independent development (e.g. because they are dead code).

It does not matter how biased the one pointing out that code is. Even the most biased panel in the world cannot point out code that is not there. If the panel is lying and has fabricated the evidence, just point out that the mentioned code does not occur in Crafty or Rybka at all. Discrediting the people that brought the evidence is a pointless rear-guard battle when the evidence speaks for itself...
You may be right about Crafty-Rybka. But the report filed to the ICGA refers to pre-Beta Rybka only, apart from this section on page 7 of the "RybkaInvestigation.pdf" document:
Rybka also uses Crafty's method of rotated bitboards
for the board representation and, given the above evidence, it seems quite likely that there would be code “borrowing” in this aspect also. The rotated bitboard appears in all early versions of Rybka until being replaced in Rybka 4 with freely available code from Pradu Kannan.
So all the copied Crafty code shown to be part of the old pre-Beta Rybka in the "crafty-rybka evidence.rtf" document is irrelevant for the ICGA since pre-Beta Rybka did not compete at WCCC. Regarding rotated bitboards, tens or even hundreds of engines were using that method before magic bitboards appeared (and using a common method does neither violate copyright nor originality), so it is ridiculous to claim that the existence of rotated bitboard code in Rybka < R4 proves any kind of wrongdoing. Bob pointed out in a recent post that he focusses on initialization code but I highly doubt that there is anything not straight forward in initialization code of rotated bitboards for a decent programmer.

Next time we check how many people are using 0x88, and watch out for any board representation that is not original.

Sven
User avatar
hgm
Posts: 28493
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Voir Dire

Post by hgm »

Sven Schüle wrote:Vas' statements that he no longer had the old sources were known in advance, so there was no such request by the ICGA to provide sources that could have denied by Vas.
Not that I know of. The statement of Vas I have seen was that he did not have the source exact same Rybka 3 version that was disassembled to make Ippolit. I have never seen any statements where he said he lost all Rybka versions except the very last. I was under the impression that ICGA did request source code. Even if they would know Vas did not have them, they would still have to request it formally. When my tenants do not pay their rent, I have to formally request them to pay up before I can turn to the court to have them evicted. Even when I know they cannot pay.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Voir Dire

Post by bob »

Shaun wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:If the juror has already formed a fixed opinion based on prior knowledge or prejudice related to a material issue in the case, then he will be excused from serving on that jury.
Irrelevant: adjective; not connected with or being related to something.

I nor none of the panel were on the "jury". Can we switch gears to something relevant now???

Again, for the record, the "jury" was the ICGA board. Why not go thru voir dire? Because this is not a criminal court. It is an organization with an event and rules that must be followed. Ever seen a jury voir dire when NASCAR disqualifies a car for using illegal parts? Of course not. Again: irrelevant.
I guess that NASCAR has their rules written down in writing and if there is a disagreement, there is a book that they can go to and say, "These are the rules, here are the penalties, these are the appeal procedures". I guess that they would use these rules. I guess that if a ruling were to go against the FORD team, NASCAR would not get the information about whether FORD was guilty from CHEVY, HONDA, and TOYOTA.

Yes, a court of law is only a metaphor to explain my feelings. And yes, courtroom procedures were not followed here. And yet the actions very much have a courtroom sort of outcome. Reputations are destroyed, livlihoods are destroyed, etc. Just like a real court case.

I do recognize that the board of programmers in opposition probably felt, almost to a man, that they were doing the right thing. But there is a reason that courtrooms have very specific rules about admissibility of evidence, selection of jurors, etc. and these rules are good rules. If you form a body, and if the decisions of the body have the weight and impact of law (e.g. destruction of reputation and livlihood), then I think that legal sorts of procedures should be followed and I think that these sort of things should be spelled out in advance.

Do you not believe that at least one person involved might have had personal feelings against Vas, and also that such involvement would be bad? Even if such a person did not feel that their anger towards Vas would color their opinions, do you not see the reason that such things are disallowed from a court of law?
One rule: Programmer must provide source code when there is a protest. Vas refused. If you break a rule, what should happen? Should you not be kicked out of that event, or if it is over, have the title stripped away?

I do not even begin to understand your reasoning here. It is just continual "this should not have happened, I don't know why, but it just shouldn't"

BTW, if I don't like the defendant, I can still testify against him. Absolutely _nothing_ in the legal system prevents that. Neither side is allowed to make false statements (oops, Vas did that repeatedly). Neither side is allowed to fabricate evidence (none was fabricated). The prosecution is not allowed to hide exculpatory evidence that would help the defence. None of that was done here...
Re:
"Programmer must provide source code when there is a protest"
Does this apply to commercial programmers?
I have heard that such a rule has been proposed, but I understood that the commercial programmers never agreed to it.

If there was such a rule in place and Vas both agreed to and violated that rule, then whatever the exact penalty proposed in the original documentation is exactly what should have been enforced.

Is that the case in fact?
It is absolutely the case. Here is the precise rule from the ICGA WCCC rules:
2. Each program must be the original work of the entering developers. Programming teams whose code is derived from or including game-playing code written by others must name all other authors, or the source of such code, in their submission details. Programs which are discovered to be close derivatives of others (e.g., by playing nearly all moves the same), may be declared invalid by the Tournament Director after seeking expert advice. For this purpose a listing of all game-related code running on the system must be available on demand to the Tournament Director.
That rule applies to each _entrant_ commercial or not. It has been in the ICGA and ICCA rules since I have been participating.
But asking for the source 5 years later is not reasonable...

For historical reasons you keep previous versions of Crafty and that is great, however most? certainly a large percentage of people would not keep very old source.

Also with Rybka you have the version that plays in tournaments and the UCI version - I dont know at what point the versions split however I would suspect they are quite different now.
That's simply silly. It is perfectly reasonable to (say) burn a CD with the source of a version used to play in an ICGA tournament. Stick it in a drawer with a label on it. But even a version from the last ICGA event would be sufficient here. If it were clean, things would be different. If not, then the program is still an illegal entry.
John Conway
Posts: 161
Joined: Wed Jul 11, 2007 1:44 pm

Re: Voir Dire

Post by John Conway »

Laskos wrote:
John Conway wrote:
Dann Corbit wrote:If the juror has already formed a fixed opinion based on prior knowledge or prejudice related to a material issue in the case, then he will be excused from serving on that jury.
You mean like when Vas acted as judge, jury and prosecutor in the Ippolit affair?
Exactly. On one hand I am happy that Rybka was degraded to the level of Ippolit, but I would be happier if Ippolit would have been raised to the level of Rybka. Remember when even the name "Ippolit" was forbidden here? In fact my opinion would be to consider legit both Rybka and Ippolits, although the case against both is clear. We should accept the new paradigm in chess programming, more so after such extremely strong engines as IvanHoe and Stockfish are available at the source code level. In fact I cannot imagine the recent surge of engines to the level of Rybka 4 without Ippolits. Do we have to install some degrees of legitimacy? - as for now the boundary of what is legit and what is not is very fussy. People have to admit that the rules of CC programming are different now than 10 years ago, a thing beneficial to all CC community, if CC is a science as Physics and Mathematics are. The progress due to Crafty, Fruit, Stockfish, and Ippos is unbelievable.

Kai
Before considering Rybka and Ippolit to be on the same level, remember that Ippolit codes were made available.
wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: Voir Dire

Post by wgarvin »

geots wrote:
Dann Corbit wrote:
geots wrote:
bob wrote:
geots wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:If the juror has already formed a fixed opinion based on prior knowledge or prejudice related to a material issue in the case, then he will be excused from serving on that jury.
Irrelevant: adjective; not connected with or being related to something.

I nor none of the panel were on the "jury". Can we switch gears to something relevant now??

Again, for the record, the "jury" was the ICGA board. Why not go thru voir dire? Because this is not a criminal court. It is an organization with an event and rules that must be followed. Ever seen a jury voir dire when NASCAR disqualifies a car for using illegal parts? Of course not. Again: irrelevant.
I guess that NASCAR has their rules written down in writing and if there is a disagreement, there is a book that they can go to and say, "These are therules, here are the penalties, these are the appeal procedures". I guess that they would use these rules. I guess that if a ruling were to go against the FORD team, NASCAR would not get the information about whether FORD was guilty from CHEVY, HONDA, and TOYOTA.

Yes, a court of law is only a metaphor to explain my feelings. And yes, courtroom procedures were not followed here. And yet the actions very much have a courtroom sort of outcome. Reputations are destroyed, livlihoods are destroyed, etc. Just like a real court case.

I do recognize that the board of programmers in opposition probably felt, almost to a man, that they were doing the right thing. But there is a reason that courtrooms have very specific rules about admissibility of evidence, selection of jurors, etc. and these rules are good rules. If you form a body, and if the decisions of the body have the weight and impact of law (e.g. destruction of reputation and livlihood), then I think that legal sorts of procedures should be followed and I think that these sort of things should be spelled out in advance.

Do you not believe that at least one person involved might have had personal feelings against Vas, and also that such involvement would be bad? Even if such a person did not feel that their anger towards Vas would color their opinions, do you not see the reason that such things are disallowed from a court of law?

It is no surprise to me that Bob gets a thrill trying to talk me down, but with you he wants to "shift gears" and change the subject. Wonder why that would be?- Dann, if Vas is guilty of anything, he needs to pay the price if it was bad enough. But 2 things need to be included- 1. Be sure of the extent of his wrongdoing. 2. Every commercial programmer has to take the same litmus test and take his medicine. Wonder if Hyatt has a problem with that?

Best to you, Dann
If someone cheats, I believe they should be held accountable. Whomever gets caught up in the process. But point 2 "every commercial ..." is false. And is not a part of our legal system. Madoff was found guilty. Not every investor needs to be tried to see if they are guilty of the same things, until there is some evidence that suggests that they are. Feel free to invest your time in looking at the insides of all the commercial programs. If you find one that appears to be illicit, I'll be more than happy to help you take it to the ICGA for the same kind of investigation. I'm not going to spend my time looking at every program, however, without some reasonable suspicions.

So lets leave things as they are. We wont wonder why one update to Shredder was only 9 elo stronger, and after that it just got better and better. Hmm. Shit, i forgot. We have to abide by what YOU call reasonable.
I do not think that there is anything wrong with learning about (for instance) LMR or material imbalances as described in Larry Kaufman's paper. If there is a big jump in Shredder's strength, I do not think it is any grounds for assumption of guilt.

I keep bringing up the fundamental algorithms, but I really do not think anything is wrong with using them. Rather, I think you are an idiot if you do not learn from new technology. The reason I keep bringing up the various facets of a chess program is that it is quite difficult to tell by looking whether or not someone has copied the ideas and edited them or has memorized the idea and then written his own version.

I also do not know that Vas is innocent. To the contrary, I think it is not unlikely that he has done something wrong. But I think making decisions about whether someone else is a wrongdoer should be handled very carefully and only by persons who have no axe to grind. If there is malice, even a little bit, in someone's heart, then the impartial scales of justice have been tipped.
That is my objection.

Dann, i guess that is why i have always had such respect for you. You play the game of life fairly. I am sure Vas is not totally innocent- I never said he was. But if he crossed a line he shouldnt have, "where exactly is that line?" You wont find 3 people who would mark it at the same place. The gray areas make it almost laughable when someone trys to defend their actions with Vas. Look, this is the biggest bunch of crapola I may hav e ever seen, and it is really starting to stink right now.
"Where exactly is that line" is a difficult question, that the panel struggled with while discussing the allegations against Rybka. I'm still not exactly sure where that line should be drawn; however, fortunately (or unfortunately?) in this case, there was strong evidence that Rybka 1.0 Beta's entire evaluation was derived from Fruit 2.1's, plus a bunch of other evidence showing that earlier versions contained direct copies of code from Crafty (including some "smoking gun" examples like the test for 99999, an identical pawn-hash clearing bug, etc. Even if the boundary between 'fair use of a few lines of code' and 'unacceptable wholesale copying' is kind of fuzzy, it was pretty clear after examining all of the evidence gathered that Rybka was not 100% "original work of the entering developers".

I was surprised by the lifetime ban, which was a stronger punishment than that suggested by the Secretariat in their summary report. However, there is no doubt in my mind that some parts of Fruit and Crafty were plagarised by Vas, and he then entered and won a bunch of tournaments with an unfair advantage over other competitors who spent the time and effort to write their own eval instead of just copying Fruit's.

Vas obviously invested a lot of hard work in Rybka, making it a very strong program and finding some innovations that other chess programmers had missed. This case is painful partly because his contributions have raised the bar for computer chess, benefiting lots of players (even if he did not freely share his techniques with other programmers, being a commercial engine). But competitions have to be fair, and competitors have to follow the rules of the competition if they're going to compete. Winning the WCCC is a tremendous accomplishment for an engine author, but I for one would like to know that they won it fair-and-square, on their own merits, and were not significantly advantaged by having stolen and profited from someone else's hard work. Thats why all authors have to be listed on the entry form, and any code written by others has to be disclosed.
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 10:01 pm
Location: Irvine, CA, USA

Re: Voir Dire

Post by Dirt »

bob wrote: That's simply silly. It is perfectly reasonable to (say) burn a CD with the source of a version used to play in an ICGA tournament. Stick it in a drawer with a label on it. But even a version from the last ICGA event would be sufficient here. If it were clean, things would be different.
Just wait awhile. I'm sure he is busy removing all traces of Crafty and Fruit from his sources. I'm sure he always meant to.
kranium
Posts: 2130
Joined: Thu May 29, 2008 10:43 am

Re: Voir Dire

Post by kranium »

wgarvin wrote: "Where exactly is that line" is a difficult question, that the panel struggled with while discussing the allegations against Rybka. I'm still not exactly sure where that line should be drawn; however, fortunately (or unfortunately?) in this case, there was strong evidence that Rybka 1.0 Beta's entire evaluation was derived from Fruit 2.1's, plus a bunch of other evidence showing that earlier versions contained direct copies of code from Crafty (including some "smoking gun" examples like the test for 99999, an identical pawn-hash clearing bug, etc. Even if the boundary between 'fair use of a few lines of code' and 'unacceptable wholesale copying' is kind of fuzzy, it was pretty clear after examining all of the evidence gathered that Rybka was not 100% "original work of the entering developers".
Agreed,
there certainly was a 'brilliant'? improvement shortly after Fruit's release...

Rybka (Rajlich?) 1.6.1 (April 2004) -> ~2100 ELO
Fruit 2.1 (June 2005) -> ~2800 ELO
Rybka 1.0 beta (late 2005) -> ~2900 ELO

sources
http://computerchess.org.uk/ccrl/4040/r ... t_all.html
http://www.open-aurec.com/chesswar/Ches ... 007CSt.htm
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Voir Dire

Post by bob »

Dirt wrote:
bob wrote: That's simply silly. It is perfectly reasonable to (say) burn a CD with the source of a version used to play in an ICGA tournament. Stick it in a drawer with a label on it. But even a version from the last ICGA event would be sufficient here. If it were clean, things would be different.
Just wait awhile. I'm sure he is busy removing all traces of Crafty and Fruit from his sources. I'm sure he always meant to.
And if he does, that would clear the issue so far as I am concerned. It would not change the vacated titles, of course. And I do not know if the ICGA would reconsider the ban once Rybka 5 is proven to be clean. But it would certainly be an improvement over the current situation where "the cone of silence" (old Get Smart TV series + the movie) seems to have dropped down unexpectedly.
User avatar
hgm
Posts: 28493
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Voir Dire

Post by hgm »

I am against lifelong bans as a matter of principle. (I mean, it is not like we are dealing with a murderer knifing opponents on a WCCC.) Even if we belief in the rule "once a cheater, always a cheater", this can be effectively cured by requiring him to submit source + binary in advance, so to require this of him as a sanction seems good enough.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Voir Dire

Post by Laskos »

John Conway wrote:
Laskos wrote:
John Conway wrote:
Dann Corbit wrote:If the juror has already formed a fixed opinion based on prior knowledge or prejudice related to a material issue in the case, then he will be excused from serving on that jury.
You mean like when Vas acted as judge, jury and prosecutor in the Ippolit affair?
Exactly. On one hand I am happy that Rybka was degraded to the level of Ippolit, but I would be happier if Ippolit would have been raised to the level of Rybka. Remember when even the name "Ippolit" was forbidden here? In fact my opinion would be to consider legit both Rybka and Ippolits, although the case against both is clear. We should accept the new paradigm in chess programming, more so after such extremely strong engines as IvanHoe and Stockfish are available at the source code level. In fact I cannot imagine the recent surge of engines to the level of Rybka 4 without Ippolits. Do we have to install some degrees of legitimacy? - as for now the boundary of what is legit and what is not is very fussy. People have to admit that the rules of CC programming are different now than 10 years ago, a thing beneficial to all CC community, if CC is a science as Physics and Mathematics are. The progress due to Crafty, Fruit, Stockfish, and Ippos is unbelievable.

Kai
Before considering Rybka and Ippolit to be on the same level, remember that Ippolit codes were made available.
Yes, but the first time I saw Ippolit, it was clear that it's Rybkish. I think no one serious doubts that Ippolit is an improved Rybka 3, and now that Rybka 1.0 is an improved, bitboard Fruit 2.1. The ugliest thing was certainly Vas gaining money from a thievery, but as a general approach in building engines, I would consider all Rybkas, Ippos, Houdinis as legit. Forgot, the neglect in general view, and in particular on CCC, of the excellent IvanHoe, which is second only to Houdini as strength goes and as analysis tool.

Banning all those mentioned above and not the new, officially legit, strong engines would be unfair, as the latter certainly contain hacks from Ippo-Ivan sources. I will run a similarity test with the strongest engines, hope that something will come out.

Kai