Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / In retrospect (locked)
1 25 6 7 8 9 10 11 Previous Next  
Parent - - By Banned for Life (Gold) Date 2011-07-15 05:41
I have it on good authority, from one of your top investigators no less, that Vas used Prado's code in R4. Since Vas didn't spend much time throwing R4 together, it's much more likely he put it in during the R3 development. I don't doubt he used your stuff in earlier versions.

Of course, if I really thought it was important (and I don't), I would go to the source, rather than trying to read the tea leaves.
Parent - - By bob (Gold) Date 2011-07-15 16:25
I read Vas comments.  Where he clearly stated, multiple times, that he had used Crafty's rotated bitboards.  And that in R4 he had changed to Pradu's magic multiply move generation.  And I have stated that more than once.  So I am not sure why you are re-stating what has already been written?
Parent - - By Banned for Life (Gold) Date 2011-07-15 16:35
So I am not sure why you are re-stating what has already been written?

Because of your inaccurate statement up above.

Do a bit of research.  Unless you don't trust what Vas has said previously, namely that his bitboard programs have all been based on Crafty's rotated bitboard code...

This is flat out wrong since R4 was NOT based on Crafty's rotated bitboard code. Capiche?
Parent - - By bob (Gold) Date 2011-07-15 17:12
Not only can't you argue the law, but you can't cut and paste the original post?  Here is my _complete_ statement, where you intentionally omitted the last part.  This comes from about 5 posts up in this thread:

BTW he _has_ admitted, several times previously, that he copied the rotated bitboard code from Crafty.  SO the code is in rybka 1.0 beta and later versions until supposedly version 4 where he then used Pradu's magic bitboard stuff instead.

Seems like my statement is perfectly correct and matches what is known.
Parent - - By Banned for Life (Gold) Date 2011-07-15 17:59
Do a bit of research.  Unless you don't trust what Vas has said previously, namely that his bitboard programs have all been based on Crafty's rotated bitboard code...

That's the complete post. You made it, and it's not accurate. It's not my fault you're going senile.
Parent - - By bob (Gold) Date 2011-07-15 18:48
It is your fault by not looking 2 replies back where that was first made.  I don't quote my entire previous post every time I reply.  But it is there.  Senile I am not.  Ignorant in software development you are...
Parent - - By Banned for Life (Gold) Date 2011-07-15 19:02
You are a dishonest man.
Parent - By bob (Gold) Date 2011-07-15 19:27
Pot, kettle...

I'm not twisting words, snipping to take things out of context, claiming I have studied something when I have not, made up legal statements and then posted them as fact, etc.  One has to be careful when living in a glass house...
Parent - - By zwegner (***) Date 2011-07-15 22:12

> BTW he _has_ admitted, several times previously, that he copied the rotated bitboard code from Crafty.


Huh? No he hasn't. The code isn't even the same.
Parent - - By bob (Gold) Date 2011-07-15 22:18
In rybka prior to 4?  Better look again.  I will try to find his statement, but he has repeated that multiple times...
Parent - - By zwegner (***) Date 2011-07-15 22:25
Any Rybka, at least since R1 beta. IIRC even the pre-beta Rybkas used different indexing (which I thought was weird). R1 doesn't have any bitboard initialization code in it, and the indexing is also different from Crafty. This was one of the first things I checked when I started looking into R1...
Parent - - By bob (Gold) Date 2011-07-16 06:36
I am not following several things.  First, in pre-rybka-1 (1.6.1) _everything_ matched Crafty 19.x exactly.  From move ordering, to evaluation code, bitboard patterns in evaluation, so I am not sure what you mean.  Particularly about "different indexing".  Crafty's bitboard code changed several times over the years, from the early days of pre-rotated, through the "COMPACT_ATTACKS" versions to the rather simple 19.x version that was really 64 bit friendly.

Now, it would seem, that you even contradict Vas who has stated multiple times that he copied the rotated bitboard from Crafty, until he switched to the magic stuff in R4.  I will go look again, to find the notes I made to see what you might mean by "different indexing"...

And how would it not have any "initialization code" at all?  The rotated tables have to come from somewhere, they are large and if initialized at compile time, they would make the binary enormous.  In particular, these:

    BITBOARD     bishop_attacks_rl45[64][256];
    BITBOARD     bishop_attacks_rr45[64][256];
    BITBOARD     rook_attacks_r0[64][256];
    BITBOARD     rook_attacks_rl90[64][256];
    int          bishop_mobility_rl45[64][256];
    int          bishop_mobility_rr45[64][256];
    int          rook_mobility_r0[64][256];
    int          rook_mobility_rl90[64][256];

The first 4 add up to 64K entries = 512K bytes if initialized.  And then another 256K for the second batch.  How would one initialize those things???
Parent - - By Richard Vida (**) Date 2011-07-17 12:29

> And how would it not have any "initialization code" at all?  The rotated tables have to come from somewhere, they are large and if initialized at compile time, they would make the binary enormous.  In particular, these:
>
>     BITBOARD     bishop_attacks_rl45[64][256];
>     BITBOARD     bishop_attacks_rr45[64][256];
>     BITBOARD     rook_attacks_r0[64][256];
>     BITBOARD     rook_attacks_rl90[64][256];
>     int          bishop_mobility_rl45[64][256];
>     int          bishop_mobility_rr45[64][256];
>     int          rook_mobility_r0[64][256];
>     int          rook_mobility_rl90[64][256];
>
> The first 4 add up to 64K entries = 512K bytes if initialized.  And then another 256K for the second batch.  How would one initialize those things???


in Rybka it is

BITBOARD attacks_left_45[64][64];
BITBOARD attacks_right_45[64][64];
BITBOARD attacks_0[64][64];
BITBOARD attacks_90[64][64];

this adds up to 16K entries = 128K, and it is indeed pre-initialized and contained in the executable.
Parent - - By bob (Gold) Date 2011-07-17 15:46
BITBOARD w_pawn_attacks[64];
BITBOARD b_pawn_attacks[64];
BITBOARD knight_attacks[64];
BITBOARD bishop_attacks_rl45[64][64];
BITBOARD bishop_attacks_rr45[64][64];
BITBOARD rook_attacks_r0[64][64];
BITBOARD rook_attacks_rr90[64][64];

You mean like those?  :)  We finally decided that the original Rybka was a copy of Crafty 19.x, and our best estimate was roughly Crafty 19.10 based on the time frame.  The above is from Crafty 19.10 for reference.  When I did a "cd" to the old versions, I apparently either left off the 1 in .10 or the 0, as versions thru 19.8 used the older approach, newer versions were changed to reduce the size of the arrays.  the two end-bits in the occupied squares of a rank/file/diagonal are irrelevant to a sliding piece.  Hence the reduction of the occupancy subscript by 2^2.
Parent - - By zwegner (***) Date 2011-07-17 16:28
You're making me have to go look it up now :)

Rybka 1.6.1 has the bishop shift tables:

.rdata:005BC2C0 byte_5BC2C0     db     0,    0,    4,    7,   11,   16,   22,   29
.rdata:005BC2C0                 db     0,    4,    7,   11,   16,   22,   29,   37
.rdata:005BC2C0                 db     4,    7,   11,   16,   22,   29,   37,   44
.rdata:005BC2C0                 db     7,   11,   16,   22,   29,   37,   44,   50
.rdata:005BC2C0                 db    11,   16,   22,   29,   37,   44,   50,   55
.rdata:005BC2C0                 db    16,   22,   29,   37,   44,   50,   55,   59
.rdata:005BC2C0                 db    22,   29,   37,   44,   50,   55,   59,    0
.rdata:005BC2C0                 db    29,   37,   44,   50,   55,   59,    0,    0
.rdata:005BC300 byte_5BC300     db    29,   22,   16,   11,    7,    4,    0,    0
.rdata:005BC300                 db    37,   29,   22,   16,   11,    7,    4,    0
.rdata:005BC300                 db    44,   37,   29,   22,   16,   11,    7,    4
.rdata:005BC300                 db    50,   44,   37,   29,   22,   16,   11,    7
.rdata:005BC300                 db    55,   50,   44,   37,   29,   22,   16,   11
.rdata:005BC300                 db    59,   55,   50,   44,   37,   29,   22,   16
.rdata:005BC300                 db     0,   59,   55,   50,   44,   37,   29,   22
.rdata:005BC300                 db     0,    0,   59,   55,   50,   44,   37,   29


These are similar to Crafty, except the 6 corner squares have been zeroed and the tables reversed due to not having Crafty's weird square mapping. The tables in both programs are byte arrays. So looking back now, they are pretty similar (I think before I compared the first couple entries in the tables and concluded they were completely different... huh). But since every rotated bitboard implementation is going to be similar, and there's no initialization code to be found, (even back in 1.6.1), it's hard to say if this was really copied or not. By the time we get to R1, the rotated bitboard code is mostly the same, except similar tables are used for rooks (instead of calculating the shifts like Crafty), and the tables are 4-byte ints rather than bytes. Looking back on it now, I'd say there's a decent chance it was copied and modified from Crafty (why wouldn't it be in 1.6.1?), and that survived into the R1 series. But Vas definitely never said this publicly. He never said he copied Pradu's code either, we just know that from Mark.
Parent - By RFK (Gold) Date 2011-07-17 16:31
I'm not a programmer but what I think I hear you saying is -that you are guessing?! Suggesting? :eek:
Parent - - By Ugh (*****) Date 2011-07-17 16:52 Edited 2011-07-17 16:54
These tables are dictated by the geography of the chess board and the way in which a diagonal piece moves along a ray and are arguably "elements dictated by efficiency" as in the section on Filtration below. In that case due legal process says the table should be removed from consideration before the Comparison stage and you should not even be mentioning it, let alone suggesting it as (very weak) grounds for copy infringement.

ie the table is irrelevent, it has to be that way because "concerns for efficiency may limit the possible ways to achieve a particular function, making a particular expression necessary to achieving the idea"

Filtration
The second step is to remove from consideration aspects of the program which are not legally protectable by copyright. The analysis is done at each level of abstraction identified in the previous step. The court identifies three factors to consider during this step: elements dictated by efficiency, elements dictated by external factors, and elements taken from the public domain.[6][2]
The court explains that elements dictated by efficiency are removed from consideration based on the merger doctrine which states that a form of expression that is incidental to the idea can not be protected by copyright. In computer programs, concerns for efficiency may limit the possible ways to achieve a particular function, making a particular expression necessary to achieving the idea. In this case, the expression is not protected by copyright.[7]
Eliminating elements dictated by external factors is an application of the scènes à faire doctrine to computer programs. The doctrine holds that elements necessary for, or standard to, expression in some particular theme can not be protected by copyright.[8] Elements dictated by external factors may include hardware specifications, interoperability and compatibility requirements, design standards, demands of the market being served, and standard programming techniques.[9] Finally, material that exists in the public domain can not be copyrighted and is also removed from the analysis.[2]


I also point out en passent that there was absolutely no filtering applied at all in the process of producing results for the eval-function-plagiarism document. Not only was filtering (required as part of due legal process) not considered but no thought at all was given to a suitable filtering methodology at the abstraction level used. Simply, this renders the entire document (eval-function-plagiarism) invalid. Watkins did not do what he should have done and did not even consider it at all. Bad science. Throw the document in the bin, together with the entire report on Vas which critically depends on it.
Parent - - By zwegner (***) Date 2011-07-17 17:04
Huh? I'm talking about how the code is _different_ from Crafty, and how I don't think there's enough similarity to say that it was copied. Certainly I'm not "suggesting it as grounds for copyright infringement". Notice how I never mentioned this in any report?
Parent - - By Ugh (*****) Date 2011-07-17 17:28
Fair enough. It has been noted that you have said there is no code copy Fruit-Rybka.
Parent - - By zwegner (***) Date 2011-07-17 20:45
Well people can "note" whatever they want, but I would hope that most people would know that that isn't anywhere close to true.

Just to make this clear to everyone reading: YES THERE IS COPIED CODE. VASIK IS GUILTY. GET OVER IT.
Parent - - By Mec (*) Date 2011-07-29 13:50 Edited 2011-07-29 13:58

>> Just to make this clear to everyone reading: YES THERE IS COPIED CODE. VASIK IS GUILTY. GET OVER IT.


Oh, and where is your Abstraction-Filtration-Comparison test?

If you're really the 'expert' you pretend to be you should've known that there's no evidence whatsoever for your crazy and libelous claims that VR copied code, violated the GPL etc. without AFC test.

Trotzky is absolutely right whenever he claims that all your evidence about Rybka's apparent similarity to Fruit is the result of an Apple & Orange comparison.

Yeah, that's it's exactly what it is: Comparing a dubious RE disassembly of Rybka 1.0 to Fruit's actual C-source code can't ever yield the conclusion that source code was copied, and even less so is it suitable to impend GPL violation on someone without having done

an AFC test in the first place (for the purpose of determining which portions of Fruit's C-source code where copyright-able at all, and which lines of Fruit's source code were not protected by GPL

Possible reasons why some portions of source code can't be protected under copyright (and no, simply using GPL doesn't automatically grant you the authorship of your whole source code)

- there may be several lines of code which can't be protected because they couldn't be programmed in some other way,

- another reason why certain parts of your source code mustn't be taken into consideration (for a regular copyright infridgement proceeding) can be, that several other programs, which may have existed even before Fruit 2.1 came along,
contained identical code lines (which basically renders these portions of source code to be under Public Domain, and my guess is that this is exactly what VR means, whenever he says that - in case he copied code, then only such code lines which could've
been found in several other programs, too.
so that's why these lines of code can securely be treated as 'Public Domain' (from a legal perspective: The true 'original' author in these cases usually can't be determined reliably any longer, thus these portions of source code are treated as
Public Domain and mustn't be taken into consideration for Copyright Infridgement issues)

- constant numbers or tables of numbers usually can't be programmed in 'some other way' (it's usually dictated by the syntax rules of C or whatever programming language you use), hence they are generally NOT protected under copyright.

- ...

There are several more reasons why major portions of source code must be excluded in the first place, before a regular expert witness will deal with any further comparisons (regarding source code similarity or code copying.)

Btw. using a RE disassembly for AFC-test purpose wouldn't be admisible (in a proceeding) anyways.

Ok, hope I didn't bore you with facts you should have known, long before you ever compared your very first line of Rybka's RE disassembly to Fruit's sources.

Because you failed to do an AFC-test, because you compared an unadmisible piece of evidence (RE Rybka) to Fruit's source, because you pretended to be able to reconstruct the exact lines of C-Code VR must have used due to your 'knowledge' about assemblers (You would be surprised how different two lines of C-Code can be, and are still mapped to the same machine instruction by modern-day compilers ...), because of all of these flaws in your submission of 'apparent' proves regarding VR violating GPL,
there are only two reasonable conclusions why you came up with your pipe dreams:

- You didn't know a thing of assemblers, AFC-tests, about the graveness of imputing Copyright Infridgement on a (former) programming fellow etc., hence you're both incompetent and irresponsible and shouldn't have been appointed as the ICGA's primary
expert witness ever. No regular jury on earth would ever accept such an unqualified and incompetent expert witness, ever.

- You really did know about assemblers, AFC-tests, about the graveness of imputing Copyright Infridgement on VR etc.. However, you nevertheless chose to mislead your ICGA-inquisitors with your 'expertises' of a coffee cup reader, because comparing a RE disassembly to actual C-source code is like an Apple & Orange comparison. (What a surprise! Both are Fruits! :lol:). Most likely you just wanted to get rid of VR because you knew you couldn't ever write a program as strong as Rybka. Hence you mislead your
ICGA-fellows on purpose.

Well, your ingenious 'expertises' and findings about similarities of Rybka and Fruit may impress a bunch of narrow-minded, self-proclaimed 'programmers' at talkchess, or  - even easier - software users here on the Rybka Forums,
but from now on be assured that Trotzky won't be your only contradictor here when you or Bobby show up and accuse VR blatantly of having commited GPA violations, Copyright Infridgements and who knows what else VR may have done (in your fanatasy).

:lol: ICGA-'Experts' DEBUNKED
... of being highly incompetent, because they didn't do an AFC-test.
Parent - By Ugh (*****) Date 2011-07-29 14:22
Right on.

I was going to bring this up at some future point, but you preempt me ... when talking about Filtertion in A-F-C.

You know the definition and formula for piece mobility? Of course, it is well known and defined, for example, in the programmer wiki

http://chessprogramming.wikispaces.com/Mobility

"Mobility with Bitboards
For programs using Bitboards, piece mobility can be calculated very quickly either by Population Count or a SIMD-wise kind of weighted population count."


The popcount version can be written in one line of code and I defy any sensible programmer to do it by anything other than popcount(squaresattackedbitmap less friendlyoccupiedsquaresbitmap)

But, if you dare, in your bitboard program, to do a mobility count on knights according to the wiki formula, BB-Watkins will add 80% to your Fruit plagiarism score, and then, if you dare to do a mobility count on bishops, again according to the wiki formuka, BB-Watkins will hit you with another 80% plagiarism score!!!!!

Insanity. And, as you state above, the code should get thrown straight out of the comparison process in the FILTRATION stage at least on grounds "there may be several lines of code which can't be protected because they couldn't be programmed in some other way", or, as I would put it, on grounds of speed of code and utility and as the wiki says: do it with popcount.

So we have two lots of 80% plagiarism score equivalent (at least) in the Rybka "plagiarism" score which SHOULD NOT BE THERE.
Parent - By AWRIST (****) Date 2011-07-29 15:52
Mec, thanks so far. Let me give a single reason for Bob's naivety and this is that he never did it by himself, he bought what his helpers could find. I mean Wegner and Watkins. If it really boils down to the difficulty to have a watertight proof if you just have nothing authentic to compare and you must work on an as if basis, then I get it why Hyatt was always so desperately seeking help from Vas himself. Bob repeated for a hundred times that Vas could easily prevent further inquiries and anger if he would simply show a little piece of his code that would prove that he didnt do what Bob suspected. Know what I mean. If they have nothing then there is no DNA test. Because it's pure fantasy. Even the most intelligent fantasy remains fantasy.

I had expected that at least as single programmer peer would have stood up and had declared against his panelists why their whole procedere is such a shit against another peer. I mean, isnt it a known truth in the saying, who might be without faults he might throw the first stone. But moral and ethics is rare these days. The more so must be highlighted what Trotsky and Mec are doing here for the cause of fairness and justice. That Bob Hyatt does ignore all that proves that also the secretariat isnt sober in legal respect. The whole verdict against Vas isnt kosher. Because nobody with a rest of self-respect would never step forward and cooperate with such a bunch of biased losers.
Parent - By zwegner (***) Date 2011-07-29 16:33
I was going to respond to this, but then I realized that it was many long paragraphs of nonsense that would be a complete waste of time to even read. You have no idea what you are talking about.
Parent - - By bob (Gold) Date 2011-07-17 17:13 Edited 2011-07-17 17:15
The tables are unique to the way you decide to rotate, and shift.  I've yet to see two different programmers do this twice.  Ask the dark thought guys.  Or anyone else that "rolled their own".  In fact, for those that "rolled their own" there is not any agreement in the 3 amounts of rotation.  0 and right 90?  left 90 and 0?  right 45 and left 45?  Right 45 and right 135?  Do you count the two end bits in the shifts or not?  Do you use them in the attack lookups or not?  Too many choices to see the same thing done the same way.  And, of course, for the 1.6.1 case, there are a few other problems.  Exact evaluation, line for line.  Exact move selection code, using the same "phase numbers" and such, something I have not seen anyone else even use, period...

But don't let that stop your wrangling...

You do not have to "filter" when you show _exact_ copying over hundreds of consecutive lines of code...

we are not trying to prove that "ideas were copied exactly."  We proved that _code_ was copied exactly.  You are in the _wrong_ section of copyright law.

I also do believe that he publicly stated that he had changed to magic move generation by the time Rybka 4 was released.
Parent - - By Ugh (*****) Date 2011-07-17 17:26
Your language usage is so sloppy (deliberately imo) in particular with your multitasking use of the word "copy" and the flipping from one case to others without specifying which case you refer to, that it is very difficult for me to describe it as anything other than dissembling.

One gets the impression that you are street-fighting and not actually searching for truth.
Parent - By bob (Gold) Date 2011-07-17 19:48
I have not changed my definition of copying one time.  Cut and Paste is a simple example.  If you cut and past, you copy.  Even if after you cut and paste you have to modify the code to fit your data structures.  Copying is copying.
Parent - By bob (Gold) Date 2011-07-17 17:09
Wrong version of Crafty I think.  Version 19.9 or so changed the arrays.  From 64x256 to 64x64 for starters...  Versions from 19.8 and earlier (or 19.7 and earlier, memory is not so clear as we looked at this a couple of months ago) had two different approaches.  One with "COMPACT_ATTACKS" and one with the origina' 8 bit occupancy indices that I changed to 6 since the two end points have nothing to do with how far a piece slides up and down the rays...

I think the "corner zeros" are irrelevant, because when you exclude the rightmost and leftmost bit (since the final square on any rank/file/diagonal is attacked whether it is occupied or not) you can either shift one of them off, or for the 6 corner squares the occupancy is "zero" no matter what is on the board.  In looking, since he apparently initialized them externally, this change was probably obvious once one looks at the attack data.  I couldn't believe how obvious it was to me, after I realized it, that the two end bits are irrelevant and reduces the size of the tables by 4x.  Fortunately, I eventually did.

Also, Crafty hasn't had the "crayish" square mappings for several years.  I'd have to look to see when it changed.  It is possible that this was changed then, I am not sure...
Parent - - By Richard Vida (**) Date 2011-07-17 23:22
No problem. But the point was about initialization code. And there is none in public Rybkas.
Parent - By bob (Gold) Date 2011-07-18 01:48
I'm surprised, but then again, I did the same for the Zobrist randoms in Crafty.
Parent - - By zwegner (***) Date 2011-07-16 00:31
While I certainly wouldn't want to stop everyone from arguing needlessly, I'd just like to add my two cents on where Crafty/pre-beta Rybkas fit into this.

Whether pre-beta Rybkas violated Crafty's license is pretty irrelevant to me. The only people that were potentially harmed were the beta testers. The only significance is showing the pedigree of Rybka. Vas said before that Rybka started in 2003, and he had never done a rewrite from scratch. This seemed incredulous to me--why was so much of the base structure so similar to Fruit (UCI parser etc.)? Once the pre-beta Rybkas were made available, it was basically proven that Vas' statement was a lie (I would seriously doubt anyone's mental ability if they disputed this). While Mark and I only looked at portions of the early Rybkas (I spent maybe a couple weeks on it), we were unable to find any code that they shared with R1.

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"). But given the entire picture (how similarities to Fruit are all over the place, and the previous Rybka versions shared no code) it's just so obvious to me that Vas took Fruit as a base and rewrote things on top of it, presumably until he felt it was "clean". For all the debate, I'm really puzzled why people (who are sufficiently knowledgeable) would dispute this. A lot of talk has been about the evaluation, and while that is interesting from an originality standpoint, it's perfectly reasonable to say that it's OK as long as no code copied. But once the pre-beta Rybkas were released, it was all over. The pre-beta Rybkas were IMO the lynchpin of the entire case--no wonder Vas was pissed when they were leaked (once again, huge credit to Olivier). After that, it became very hard to claim that Rybka didn't start life as Fruit. In fact, I would tend to doubt their mental ability as above, but since so many seem to have differing opinions, I'll just say I disagree :)
Parent - By Ugh (*****) Date 2011-07-16 08:22
Whether pre-beta Rybkas violated Crafty's license is pretty irrelevant to me.
agreed

While Mark and I only looked at portions of the early Rybkas (I spent maybe a couple weeks on it), we were unable to find any code that they shared with R1.
agreed

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.
agreed

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

it's just so obvious to me that Vas took Fruit as a base and rewrote things on top of it, presumably until he felt it was "clean".
agreed, although it may have been side-by-side rather than on-top-of as the actress said to the bishop

A lot of talk has been about the evaluation, and while that is interesting from an originality standpoint, it's perfectly reasonable to say that it's OK as long as no code copied.
agreed

Zach, I don't think anybody disputes what you've written, and I doubt you dispute that in the age of freely available open-source that any "new" program does not start life as one of the open source programs. I think, although my mind may be playing tricks on me, that at least one of Bob's close programmer friends program started off as Gnu, one of the world championship programs is supposed to have started off as Gnu - nothing wrong with that, as long as they get to be sufficiently different and removed from the open source origin.
Parent - By Banned for Life (Gold) Date 2011-07-16 09:12
I suspect if what you wrote had been the conclusion, there would have been no controversy. But what fun would that have been? :smile:
Parent - - By Nelson Hernandez (Gold) Date 2011-07-27 02:48

> it's just so obvious to me that Vas took Fruit as a base and rewrote things on top of it, presumably until he felt it was "clean"


Assuming this is exactly what happened, which I have no reason to doubt, where do you draw the line between "acceptable" and "unacceptable"?  Seems to me Vas made a judgment that after 'x' changes in form and substance the whole was "clean".  But there's no objective or quantifiable 'x' threshold other than rigid absolutism, is there?  And doesn't the whole case rest on the proposition that there is such a threshold, and reasonable men with specialized knowledge can ascertain what 'x' is?

I think Vas believed a 150 or 200 ELO strength increase made him invulnerable.  And, of course, I am very biased in this, but from my perspective his logic was impeccable.  Yes, a 150-200 ELO increase does grant certain immunity.  It is not a factor that can be discarded as irrelevant.  Nor can you discard subsequent further gains in ELO.  Cumulatively this ought to protect a person from charges of copying, cheating, unethical behavior, etc.

Given the totality of your statements, both those that condemn Vas and moderate the allegations, how can you really believe that some great ethical crime has been committed here?  Unlike others you seem like a reasonable person.  I ask for a reasonable and honest answer.  (Note: I am asking Zack, not anyone else.)
Parent - - By zwegner (***) Date 2011-07-27 03:51
I do not believe that you can make a clean program with this method of development. At every step of the way, you have a Fruit derivative. The GPL, as interpreted by the FSF, applies in this way too (so technically Rybka 4 is still in violation of the GPL). Note that this is only unacceptable if you deny the connection, as Vas does. When I say he felt it was "clean", I mean that he thought he had changed enough to avoid getting caught. This is just so obvious to me. Why do you think he tried to hide the early Rybka versions?

I think the idea that he should be protected from those charges because of some strength increase is, frankly, fucking stupid. He should be commended for his contributions to computer chess. But he should also be condemned for an ethical wrongdoing, at the very least until he ADMITS it. It's easy to see it your way, since you're benefitting from his product. To me, your words just sound like some reporter on a 24-hour news network giving extreme deference to a politician. Vas protected us from terrorism! I never really cared about Rybka at all until I heard there was Fruit code in it. If you remember, I was not in any way a competitor with Vas when I did the majority of the work investigating it. I once got sort-of-close to a draw in an online tournament and was very pleased. The only motivation I had was as an open source advocate.

(Note: I'm sorry if I sounded rude in that paragraph, it wasn't intentional. Hyperbole is the modus operandi in this forum :)).

Aside from that, I think this forum needs to, basically, chill out. There are so few posts that have any technical value at all. All of your arguing accomplishes precisely nothing. Nobody cares anymore, nobody even talks about it on Talkchess, Vas doesn't care, ...well, at least he'd have you believe that. :)
Parent - - By RFK (Gold) Date 2011-07-27 05:07 Edited 2011-07-27 05:11
I am not a programmer - how much of Fruit can you seriously attribute to Rybka's success! Please, no long convoluted programming jargon - straight forward - frank  short and sweet assessment. If you can only surmise than don't offer an opinion.
Parent - - By zwegner (***) Date 2011-07-27 05:12
~2800 Elo
Parent - By RFK (Gold) Date 2011-07-27 05:14
Thank you !
Parent - - By RFK (Gold) Date 2011-07-27 05:22 Edited 2011-07-27 05:35
Let me put this into terms that I can understand-

What you are suggesting is that Vas didn't just take ideas-code - but the essence of the guys work? Is that what you are saying here? The essence of Fruit! [edit] 

I'm gathering that you are not prepared to commit to making that statement. But only giving an elo est. That isn't the same thing.
Parent - By Watchman (***) Date 2011-07-27 06:20 Edited 2011-07-27 06:25

>Let me put this into terms that I can understand-


hahahahahahahaha

HAHAHAHAHAHAHA!

Another gem! :lol:

Edit:

btw... wow... seems Zach knocked the wind out of Nelson's sails.

"carry on my wayward son... there'll be peace when you are done...  lay your weary head to rest... don't cha cry no more" (for the nelson btw)
Parent - By AWRIST (****) Date 2011-07-27 07:46
But he should also be condemned for an ethical wrongdoing, at the very least until he ADMITS it. I never really cared about Rybka at all until I heard there was Fruit code in it. If you remember, I was not in any way a competitor with Vas when I did the majority of the work investigating it. I once got sort-of-close to a draw in an online tournament and was very pleased. Aside from that, I think this forum needs to, basically, chill out.

What I see here, a wannabe member of a thought police, a hypocrit and dirty liar, who, instead of writing his own program, in other words being creative himself, prefered to invade into the program of a genius to then have the chance to steal legally because his own talents were mediocre. So, just another fachidiot.
Parent - By RFK (Gold) Date 2011-07-27 08:06 Edited 2011-07-27 08:20

> I think the idea that he should be protected from those charges because of some strength increase is, frankly, fucking stupid.


I don't know what he did with Fruit! Whether he was lazy and cut corners - which is what it sound like to me and not just a few people. It isn't a matter of denial as you would have it.  Some of us see in the  ICGA an evil intent and you see Vas as having evil intent.  I'm being told that there is no evil intent on the part of the ICGA in their efforts to black ball Vas. But at the same time it is hard for any of you to conceive of Vas as having had an insight into a greater roll that the ideas behind Fruit would play in his creation of Rybka when he first set out programming. To him this would not be copying.  He did actually what he said.  It is a part of the creative process.  

So if you want to impute motives, considering that  Vas is far from some mediocre run of the mill programmer,  another one might be that he saw the ideas Fruit held as rudimentary to his way of thinking and on the path toward a greater evolution of his own ideas.

I think you and others are inferring an evil intent that just may not have been there. I'm pretty tired so I hope I'm getting my point across. Artists mix ideas all the time - and Vas is...an artist whether you would like to believe that or not.

Interestingly enough every art movement  historically has a  period of strict conventionalism that pits itself up against the  more experimental and expressive movements of the period- I don't have to tell you which will out last which and which will bring more innovation and change.
Parent - - By Ugh (*****) Date 2011-07-27 08:43
"I do not believe that you can make a clean program with this method of development. At every step of the way, you have a Fruit derivative. The GPL, as interpreted by the FSF, applies in this way too (so technically Rybka 4 is still in violation of the GPL). Note that this is only unacceptable if you deny the connection, as Vas does. When I say he felt it was "clean", I mean that he thought he had changed enough to avoid getting caught. This is just so obvious to me."

Problem with the above (Rybka is a derivative of Fruit) is based upon the unproven assumption that Vas started with Fruit and converted it. It went unchallenged in the groupthink of the wiki. It has been a mantra repeated by Hyatt for several years. And the evidence is what exactly?

"This is just so obvious to me" is not evidence.

There's more than one developmental pathway model ...

Zach/Hyatt model: starts with Fruit converts it gradually, ends up with Rybka. It's a derivative because it derives (starts from) from Fruit and there is sufficient Fruitiness left behind in the final version.

Alternative model: starts with a shell, based on Vas work with Crafty in the previous two years. Has Fruit open in another screen. Builds Rybka. The result may be Fruity but it is not a derivative.

There may be some anecdotal evidence for your model, but, as far as I can tell there is no good proof, just a groupthinky belief. Basically I think your argument is: Vas started with Fruit because he is a thief. Vas is a thief because he started with Fruit. Or, in other words, your argument is circular: the conclusion is the premise and the premise is the conclusion.
Parent - By AWRIST (****) Date 2011-07-27 10:34
This is all trivial. How can this be that a lay like me can identify obsessional and one-dimensional reasoning? Because it has nothing to do with programming issues. What we have here is a case of group hystery among otherwise reasonable people. But they have a common vice and that is their lynch justice addiction. The contrast between Zach and Bob couldnt be more telling. Here a senior ex champion who mainly has given up competition which isnt bad as such, if he would use his time in a positive manner. But this is something he cant. He must scapegoat other people. It's a tricky form of murder.

Then Zach, I'm arguing this way for years already. What should a young technically talented man do , either creating his own stuff, or accusing and chasing others. But no, he cant. He's a serial code killer. Not realising that his specific findings have no real meaning in context. Here is where his talent is cheating him. Of course he finds something, but he isnt able to make the right conclusions. He's driven by the mad delusion of greatness, that he although not competing is basically the best of all of them. What a loser!
Parent - - By Lukas Cimiotti (Bronze) Date 2011-07-27 06:03

>which I have no reason to doubt


Maybe I can give you a reason to doubt.
Strelka was Fruit with some parts of Rybka - as Ossipov stated in this post: http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=353477#pid353477
So, yes, you find lots of Fruit in Strelka. But that does not mean there is much Fruit in Rybka. If you look at the so-called evidence, you find that the similarities they found are really meager.
Parent - - By zwegner (***) Date 2011-07-27 06:56
hahahahahahahahaha

OK I'm sorry but that is just completely ridiculous. I have looked at nearly every byte of the Rybka 1.0 beta binary. Rybka is even more similar to Fruit than Strelka is. And there's even "forensic" evidence that Rybka had copied code: the fact that there are multiple sort routines, different move generators store moves in different ways (one generator uses a Fruit-like data structure, the other is Strelka-like), different board initialization functions, etc. Strelka had all of that cleaned up.

The denial is getting pretty pointless.
Parent - - By Lukas Cimiotti (Bronze) Date 2011-07-27 07:24

>Rybka is even more similar to Fruit than Strelka is.


hahahahahaha
Parent - - By zwegner (***) Date 2011-07-27 07:28
I TREMBLE BEFORE YOUR KNOWLEDGE OH WISE ONE
Parent - - By Lukas Cimiotti (Bronze) Date 2011-07-27 07:29
Congrats for getting a world champion title for your lies.
Parent - - By zwegner (***) Date 2011-07-27 07:44
Why, thank you!

I'd like to dedicate this win to Lukas Cimiotti, who has been such a great sport in congratulating me.
Up Topic Rybka Support & Discussion / Rybka Discussion / In retrospect (locked)
1 25 6 7 8 9 10 11 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill