Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / discussions about rule 2
1 2 3 4 5 6 Previous Next  
Parent - - By Trotsky (****) [fr] Date 2012-01-26 22:13
Oh god, you are so boring. Look, your panel was set up under a CHARTER which set its frames of reference. That Charter is what you were working to, or should have been, not something else written elsewhere.

The Charter did not mention rule 2. It mentioned cloning and derivatives. Hence rule 2 was a fall back because you were unable to prove cloning or derivative.

Stop playing games.
Parent - - By bob (Bronze) [us] Date 2012-01-26 22:27
You try to spend most of your time here in semantic games.  The panel was formed to investigate the fruit case, which was the direct result of a group of 16 current programmers making a formal protest to the ICGA.  "derivative" is the absolutely correct term for Rybka in this investigation, because it was derived from Fruit, with pieces still present in 2.3.2a at least.

If you must, however,

"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 the details of their submission form. 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."

See that big fat bold word in rule 2?  Appears TWO times.  That would be "derived" and "derivatives."  So what, exactly, is this incredibly insigntful point you are trying to make?  That we WERE supposed to be investigating whether Rybka was a derivative of fruit, because that violates rule 2?  Isn't that EXACTLY what I said?  And "I am so boring?"  Does boring somehow mean "one who reads and understands written text" in your universe???
Parent - - By Trotsky (****) [fr] Date 2012-01-26 22:59
You can quote from wherever external document you like, but the Charter of your investigative panel sets the frame of reference for your investigation,. That charter charges you to investigate clone and derivative, a wide ranging investigation. You could hav esaid copyright infringement, code copying, but you, icga, didn't. You settled for the lesser rule 2 and plagiarism. Because, obviously, there was no proof of anything stronger than plagiarism, or feature copying. Not code copying.
Parent - By bob (Bronze) [us] Date 2012-01-27 04:54
And you don't think that because rule 2 is explicitly referring to "derivative programs" and the charter is explicitly referring to "derivative programs" the two things are NOT somehow connected?

I will say it again, with Rybka 1.6.1 there is absolutely irrefutable evidence of code copying.  With Rybka 1.0 beta, there is strong evidence of non-literal copying, because of the necessary bitboard changes...
Parent - - By AWRIST (****) Date 2012-01-26 22:03
Ok, perhaps I have misunderstood. But I asked you to comment on the whole. Isnt it sort of nitpicking to allegate a source code copy of Crafty if it was in experimental style just to see how thing are working, adding his special new tech and after having won insight re-writing it all over. Where is the problem?

Arent you a bit obsessed like the character played by De Niro in Meeting the parents? ;-)
Parent - By bob (Bronze) [us] Date 2012-01-26 22:11
Is it nit-picking if a kid steals five bucks from a convenience store's cash register when the owner is not looking?

The problem is that he originally copied my code completely, made a few minor changes that were not even apparent when looking, and then claimed that was his original code.  He claimed the rybka development was ALWAYS incremental, that is, no "throw everything out and rewrite".  Just a steady series of changes.  That is also false, as can be verified by comparing the last "private version" 1.6.1 to the first public version 1.0 beta.  They are nowhere near similar in terms of search, eval, UCI, etc.  Because that code was "non-incrementally copied directly from Fruit, and then modified to work with bitboards."

So why is this supposedly "OK?"  Because of the strength of Rybka?  All other rules take second-chair to "improving strength at all cost?"
Parent - - By Richard Vida (**) Date 2012-01-26 04:02

> ... waited for such a development of stolen Rybka source by anonn vilains


to my knowledge Rybka source was never stolen

> All the hippo robbo shit is criminal and evil


If you are talking about Ippolit/Robbolito, there is nothing criminal about them.
Parent - - By AWRIST (****) Date 2012-01-26 10:31
Thanks for the statement, so let me ask if you really think that anonymity is ok if you did a R/E and then publish it opensource? Or is that all wrong understood? Why? In my eyes this is totally criminal out of evil intent to harm a oparticular programmer with Rybka. That this anon stuff is tolerated in our scene is just another aspect of the crime going on for years.

R/E for personal, private learning is ok and couldnt be forbidden anyway but then publishing the results that should be alienated in our community. Could you explain why these vilains remain anons if it were legal what they have done?
Parent - - By Rebel (****) Date 2012-01-26 10:49

> R/E for personal, private learning is ok and couldnt be forbidden anyway but then publishing the results that should be alienated in our community.


It's forbidden by EU law to publish RE work, for the USA it's unclear.

http://en.wikipedia.org/wiki/Reverse_engineering#European_Union

So the ICGA (headquarter London) technically broke the EU law publishing the Zach and Watkins documents.

Ippo/Robo etc is more complicated. We have Vas' statement that the R3 hackers were so kind to announce Ippo.

http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=190922#pid190922
Parent - - By AWRIST (****) Date 2012-01-26 11:03
Yes, Ed, and I remember having asked it already, isnt it blackmail, which is why I call them criminals. For too long they were (as anons) taken somewhat seriously as criminals. I remember that you didnt agree at the time of the debate. Why?
Parent - - By Rebel (****) Date 2012-01-26 14:30
I always having trouble calling people criminals, too strong wordings. But that's just me.
Parent - - By AWRIST (****) Date 2012-01-26 17:42
If they would appear in public with their identities they would say "ok, if you think we've done something against the law, please note that we are fighting against a commercial guy Vas Rajlich, then please sue us. We have a good conscience." But they dont. They are hiding, which in itself is admitting that they know that they are involved in illegal things and that is why I call them criminals. You see it's not because I'm suddenly the super expert who had proven what they had done, I'm just arguing with logic. Also I dont tolerate that such proven idiots like kranium who already had been caught for betrayel two times are accepted like normal guys. But we have big confusion in our community.  Like yourself, you are defending Vas but you are also defending his enemies at the same time. Ok, but from the outside as mere user of chess software I cant judge it. It is just looking weird. Kind of.

Question is if that is worth all the debates at all!? We are not talking about psychology but right or wrong in computerchess, no?
Parent - By Rebel (****) Date 2012-01-26 17:57

>  Like yourself, you are defending Vas but you are also defending his enemies at the same time.


We are obvious on the same track, have the same goal, there is no mistake here. Nevertheless I believe that only debate plus time can resolve the issue and that too strong language use works counterproductive although releasing your true feelings as an exception to the rule is good and sometimes even needed when dealing with certain characters.
Parent - - By Trotsky (****) [fr] Date 2012-01-26 11:07
Are you sure the ICGA is London based? Of course one cannot set up an "international" organisation and just let it float statelessly; every organisation has to be registered in some jurisdiction somewhere, have its accounts audited or checked by a professional in that jurisdiction and filed to the appropriate authority in the jurisdiction, possibly for taxation depending on status (company, registered charity etc etc.)

It might be worth asking ICGA where they file?

It is difficult to see how the publishing of RE-ed source is not a copyright infringement. Attacker Hyatt claims the defence that "publishing copied RE-source" is just fine, but we would argue that since the "copying" or rather use of ideas, was not at source code level, was overlapping only, and there is plenty of "own ideas" in there as well that this is no defence.
Parent - - By AWRIST (****) Date 2012-01-26 11:31
From earlier Presidents like Marsland ICGA might even be a Canadian entity?
Parent - - By Trotsky (****) [fr] Date 2012-01-26 11:49
possibly, one would imagine it could be "registered" in any connected jurisdiction, where "connected" means, I suppose, where it mainly conducts its business, or HQ as you call it, and where it presents its accounts annually for auditing and taxation purposes. I stress that one cannot just set up an organisation that takes in and sends out payments and have it "float" in limboland.
Parent - By Banned for Life (Gold) Date 2012-01-26 13:10
But the Cayman Islands are pretty close! :wink:
Parent - By Rebel (****) Date 2012-01-26 14:34

> Are you sure the ICGA is London based?


Don't know for sure. I see a London address but lately saw the University of Tilburg (NL) listed as well.

> It might be worth asking ICGA where they file?


Absolutely.

The FIDE might know :wink:
Parent - - By Alkelele (***) Date 2012-01-22 20:40

> What we found was above ANY reasonable limit.  Suppose you say "no more than 10% of the eval code can match".  Rybka 1.0 beta and Fruit were WAY beyond 10%.  Beyond 50%.


Rybka 2.3.2 only matched 8 out of Fruit's 29 eval features. And note, this is when talking about a match in the most abstract sense, as in, does the same thing in a chess/math-semantical way. There were probably fewer than 8 matches in an algorithmic sense, and so far there is no evidence whatsoever for any match in a source code sense, at all.

So you are either lying or being intentionally dishonest.
Parent - By AWRIST (****) Date 2012-01-22 20:57
First of all thanks for joining Alkelele. I had set myself a time limit of 22:00 which is coming in two minutes. Please give the debate a chance. Just keep asking before you go into conclusions. that's more suspense.

Bob, I wanna thank you for the first part so far. Please let's continue that soon. It was really a good experience to be able to concentrate on my certainly mostly lay questions. Thanks for all the for me deeper explanations. I hope we can have that phone call and that then I can understand you speech. Honestly I watched a couple of Charlie Sheen in Two and a half men and he was really hard to understand for a German. I guess you must have a similar accent with letting many letters drop on the soil. :)
Parent - - By michiguel (**) Date 2012-01-22 21:04

>> What we found was above ANY reasonable limit.  Suppose you say "no more than 10% of the eval code can match".  Rybka 1.0 beta and Fruit were WAY beyond 10%.  Beyond 50%.
> Rybka 2.3.2 only matched 8 out of Fruit's 29 eval features. And note, this is when talking about a match in the most abstract sense, as in, does the same thing in a chess/math-semantical way. There were probably fewer than 8 matches in an algorithmic sense, and so far there is no evidence whatsoever for any match in a source code sense, at all.
>
> So you are either lying or being intentionally dishonest.


Only 2 PST in R2.3.3 out of 10 could be generated with the Fruit code, modifying the constants and multipliers. These two are based only on the centralization vector [-3,-1,0,1]. There is another that is too trivial to consider (Rook opening, with a linear bonus for a, c, d and e files). The 12th is initialized to zero (Rook endgame).

Miguel
Parent - - By bob (Bronze) [us] Date 2012-01-22 22:28
What, exactly are you looking at? 

I personally verified that bishops and knights worked.  And pawns except for the two central squares and they would match for one, the endgame bonus for the other.  You don't think queens and kings match?   And in light of those matching, the rook matching (even though it is very simple) seems clear enough to include.

What, exactly, are you talking about when you say only 2 match???

Zach gave the code.  You should try running it and comparing...
Parent - - By michiguel (**) Date 2012-01-22 22:36

> What, exactly are you looking at? 
>
> I personally verified that bishops and knights worked.  And pawns except for the two central squares and they would match for one, the endgame bonus for the other.  You don't think queens and kings match?   And in light of those matching, the rook matching (even though it is very simple) seems clear enough to include.
>
> What, exactly, are you talking about when you say only 2 match???
>
> Zach gave the code.  You should try running it and comparing...


R2.3.2 not R1. Please read the message you are replying to.

Miguel
Parent - - By bob (Bronze) [us] Date 2012-01-22 22:41
Sorry. 

But that begs the question, "what is the point"?  Rybka 4 might match even fewer. 

However, at least for 2.3.2 the eval terms were still highly correlated...
Parent - - By michiguel (**) Date 2012-01-22 22:45

> Sorry. 
>
> But that begs the question, "what is the point"?  Rybka 4 might match even fewer. 


Just setting the record straight for this particular issue, which is not very clear in the report.

Miguel

>
> However, at least for 2.3.2 the eval terms were still highly correlated...

Parent - - By bob (Bronze) [us] Date 2012-01-23 00:20
The report from Zach is CLEARLY about Rybka 1.0 beta, would you agree?  Nothing else mentioned?  Mark's paper is where the 2.3.2a evalcomp is done. 

When we were talking about PSTs, I therefore assumed 1.0 beta as nobody has mentioned 2.3.2a PSTs here...
Parent - - By michiguel (**) Date 2012-01-23 02:13

> The report from Zach is CLEARLY about Rybka 1.0 beta, would you agree?  Nothing else mentioned?  Mark's paper is where the 2.3.2a evalcomp is done. 
>
> When we were talking about PSTs, I therefore assumed 1.0 beta as nobody has mentioned 2.3.2a PSTs here...


The report from the ICGA, says (page6):
"Here is my list of differences in eval between Rybka 2.3 (mid Feb 2007)
and Rybka 1.0 Beta....."
etc.
etc.
"PawnFile PST is now [-4,-1,0,+1,+1,0,-1,-4] rather than -3 on a/h files."

That is wrong (all the ranks are different) and besides, grossly misleading, making it look like the PSTs were conserved, when they were not.
The report has an appendix with the PST from 2.3.2
http://www.chessvibes.com/plaatjes/rybkaevidence/RybkaEvalCompare.pdf

Do you even know what it was reported?

Miguel
Parent - By bob (Bronze) [us] Date 2012-01-24 04:14
So you take Zach's paper with several PAGES of PST information, and then ONE sentence in a lot of other eval information about 2.3.2?  And think they were discussed at equal length?  I didn't remember that one sentence, NO.  Sorry.  I don't remember the entire report line for line either.
Parent - - By bob (Bronze) [us] Date 2012-01-22 22:13
Or, perhaps, YOU are not reading the report??

Nobody else has NEARLY as much in terms of perfect matches...
Parent - - By Ray (****) Date 2012-01-22 23:12

> Nobody else has NEARLY as much in terms of perfect matches...


How do you know, you didn't investigate all the other engines that participated in the ICGA WCC did you !!
Parent - By bob (Bronze) [us] Date 2012-01-23 00:17
We investigated a BUNCH, yes.  Certainly not ALL.

So we were just "lucky" to find Rybka, and not find any other program so similar to fruit???
Parent - - By AWRIST (****) Date 2012-01-28 10:55
What does this show? That e.g. Bob has no basic education in the basics of methodology (incl. logic) otherwise such a mistake could never happen. Also later in the exchanges here in this thread between Bob, Trotsky, Alkelele and BFL it's always going around this aspect, what does this mean in relation to the basic allegation, aha, no, it's exactly not code copying at all, that is zero, but the semantical similarities, aha, well...
Parent - - By Rebel (****) Date 2012-01-28 13:53

> What does this show?


That there is no hard evidence for copying.

Some quotes from Zach, who is sure about Vasik guilt by other considerations than his work alone.

Zach Wegner : The semantic equivalence stuff is more about trying to prove copyright infringement in a case with imperfect information (i.e., we don't have R1's source code). I would have a different view of the case if I believed that Vas had coded all of Rybka from scratch, and only used Fruit as a source of ideas.

Zach Wegner : Coming back to R1/Fruit, yes, if you look at each example in detail, you can't say there is much hard evidence of direct code copying. As I said to Vas, I'm only completely certain that three characters were copied ("0.0").
Parent - - By Nick (****) [gb] Date 2012-01-28 14:07

> As I said to Vas, I'm only completely certain that three characters were copied ("0.0").


Well, Zach, you cannot be certain of that at all.  Vas may have written 0. and not 0.0.  You'd need to understand a little bit more about compilers to appreciate this of course.  If you read the 10 page summary from CB http://chessbase.com/news/2011/riis01-summary.pdf (page 5) you'll see that such an error is not uncommon for large shops. 

Any programmer will tell you how easily this happens and how often it has happened to them in their programming.

Matthias Wüllenweber has seen it himself in CB code.

It would seem that Zach is completely certain of nothing.
Parent - - By bob (Bronze) [us] Date 2012-01-29 03:21
No "chess programmer" will tell you how easy that would be to do.  I have not done it once in 40 years now.  Simply no floating point in any of my code that "plays chess".

0.0 is completely unnatural in integer code.  The keys are too far apart to make it accidental.  This pig is NOT going to fly...
Parent - - By michiguel (**) Date 2012-01-29 03:54

> No "chess programmer" will tell you how easy that would be to do.  I have not done it once in 40 years now.  Simply no floating point in any of my code that "plays chess".
>
> 0.0 is completely unnatural in integer code.  The keys are too far apart to make it accidental.  This pig is NOT going to fly...


"." and ">" are not so far apart. In fact, they are the same key! (with and without the shift)

if (x>.0) //">" key gets stuck, with and without shift, compiles to (x>0.0)

Miguel
PS: .0 is another option, not only 0.
People did not think about it.
Parent - - By bob (Bronze) [us] Date 2012-01-29 04:36
Implausible.

The code was

if (movetime >= 0.0)

So > is irrelevant since the = follows before you get to the constant.  

Too much time being spent dreaming up possible explanations.  None of which really rise to the level of even "barely plausible".  It is hard to get that . in there even with > and . sharing the same key, because the = was also present...  This is clearly a case for occam's razor when there is other code around that 0.0 line that matches well with Fruit...
Parent - - By michiguel (**) Date 2012-01-29 04:48

> Implausible.
>
> The code was
>
> if (movetime >= 0.0)
>
> So > is irrelevant since the = follows before you get to the constant.  
>
> Too much time being spent dreaming up possible explanations.  None of which really rise to the level of even "barely plausible".  It is hard to get that . in there even with > and . sharing the same key, because the = was also present...  This is clearly a case for occam's razor when there is other code around that 0.0 line that matches well with Fruit...


if (0.<=movetime)

:-)
Miguel
Parent - - By Nick (****) [gb] Date 2012-01-29 11:20

> if (0.<=movetime)


Nice!  It was this "float" that bugged me more than anything else.  Vas told us that he definitely wrote his own code and we asked him what this float was doing in there.  Vas said he didn't know, thought it was weird and perhaps a bug even.  We didn't know what to do, on the one hand we really believed him that he wrote his own code but on the other this looked like a copy job.  Then when it was pointed out by an experienced C/C++ programmer that Vas could have written 0. it all made sense.  At that point any sane person breathed a sigh of relief and realized that Vas was true to his word.  It's bizarre how things happen, if only "Rick Fadden" had known a bit more about compilers I doubt that this witch hunt would have ever happened in the first place.
Parent - - By Rebel (****) Date 2012-01-29 14:21
There is more to tell about 0.0-gate:

The pre-Rybka's have the UCI protocol inside while Crafty is Winboard. Looking at the UCI code in the pre-Rybka's it has the below odd kind of flag which is in Rybka also (see Fadden's post) but not in Fruit.

depthLimit = 0x7FFFFFFF;   // where in Fruit ???

It proves Vas had its own UCI code before Fabien even started with Fruit and that this same UCI code is in Rybka, not Fruit's.

0.0-gate is no longer.

In other words Vas spoke the truth last month.

There isn't much I can help with here. I don't know where the 0.0 came from. It's definitely weird/wrong.

Rybka was UCI from the beginning, even back when everybody was using WinBoard. I would say that every two to three years I do a big cleanup of this code. This might take a few hours, and then I won't touch it until the next time. My first UCI parser actually used inheritance, I was extending UCI to do some testing, but that was gone even before Rybka 1.

Best regards,
Vas
Parent - - By bob (Bronze) [us] Date 2012-01-29 16:57
Pre-rybkas (1.4 - 1.6.1) had no fruit code.  There was none to have, remember the dates???

Vas HAD to do his original UCI code.  He copied Crafty, which had none. 

That is a "newsflash"???

BTW there is no 0.0 and such in 1.4 - 1.6.1, so exactly what does this have to do with anything???  Crafty had its own built-in time control stuff...

As far as "depthlimit" I have no idea what it does.  Not used in the Crafty code he copied extensively...

None of this means a thing regarding whether or not he copied Fruit code, of course...
Parent - By Rebel (****) Date 2012-01-29 21:46
Once again, in more detail:

Fruit 1.0 - March 16, 2004

Rybka 1.4 - March 31, 2004
Rybka 1.6.1 - April 19, 2004

1. Crafty is winboard, always has been.

2. Rybka 1.6.1 is UCI. Thus Vas code, before Fabien.

3. The 161 UCI time-control code contains a special mark: 7fffffff

4. The same 7fffffff mark is found in the Rybka 1.0 UCI time-control code.

5. The 7fffffff mark is NOT in Fruit.

Conclusion: there was no copying of Fruits time control, it's Vas own code.

To check:

http://www.top-5000.nl/Fruit_vs_Fadden.htm

http://www.talkchess.com/forum/viewtopic.php?p=187290#187290 (as referred in Watkins document chapter 6.3.2 Time management)
Parent - By turbojuice1122 (Gold) [us] Date 2012-01-29 16:22
Even though this is a cute way of doing it and reproducing a mistake from typing quickly, I highly doubt that this is how it happened--nearly everyone is going to put their variable first, then the argument, then the number.

I think it's simply a case of automatically thinking 0.0, and typing this, and that error staying in.  This is also more likely than copying it over from Fruit, though it might have occurred from looking at the Fruit code while writing the Rybka code.

The entire 0.0 thing is an absurd argument.  If it happened in analogous places multiple times throughout the code, then there would be something there.  But just happening once means nothing.  Of course, the other side will come back with, "well, when you combine this with all of the other stuff that is found, you get a much more complete picture", when in reality, each element of the "other stuff" has equal to or less validity as this.  They keep using the "complete picture" argument, when in fact, none of the pieces of the picture gives anything consistent.  You can create a theory in which some of the parts are broken, with most of the parts being solid, with the understanding that the broken pieces are not so important and will probably be corrected at a later date to make the standing theory cleaner and more complete, but you can't create a theory in which all of the parts are broken.
Parent - - By bob (Bronze) [us] Date 2012-01-29 16:23
Not correct.  Would have to be 0. < movetime

Again, lots of implausible explanations, when the obvious one is laying there in plain sight...
Parent - - By michiguel (**) Date 2012-01-29 21:51

> Not correct.  Would have to be 0. < movetime


1) You mentioned it was <= rather than < (or >= rather than =). Make up your mind!
2) What difference does it make?

Miguel

>
> Again, lots of implausible explanations, when the obvious one is laying there in plain sight...

Parent - By Trotsky (****) [fr] Date 2012-01-29 21:56
He plays pretend and extend
Parent - By bob (Bronze) [us] Date 2012-01-29 23:19
Because if you type >= how would you get that . AFTER you had already let the > key up, and also had hit the = key which is in a different place.  THEN accidentally hit the "." key somehow???

That's why it was important...
Parent - - By Uly (Gold) [mx] Date 2012-01-29 09:55

> This is clearly a case for occam's razor


From Wikipedia:

"Occam's razor is not an embargo against the positing of any kind of entity, or a recommendation of the simplest theory come what may.

The other things in question are the evidential support for the theory. Therefore, according to the principle, a simpler but less correct theory should not be preferred over a more complex but more correct one. It is this fact which gives the lie to the common misinterpretation of Occam's razor that "the simplest" one is usually the correct one.

For instance, classical physics is simpler than more recent theories; nonetheless it should not be preferred over them, because it is demonstrably wrong in certain respects."
Parent - By bob (Bronze) [us] Date 2012-01-29 16:19
The wiki is not "the ultimate authority in all things."

One has to use their God-given "common sense" when something has to be evaluated by inference...
Parent - - By marcelk (*) Date 2012-01-29 12:52
This argument would carry a lot more weight if the same mistake can be demonstrated in other bodies of work. E.g. scan through google code archives, and see how frequent this typo is.

(I did this for my own code, and I found the typo zero times in it)
Up Topic Rybka Support & Discussion / Rybka Discussion / discussions about rule 2
1 2 3 4 5 6 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill