Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / ChessVibes article
1 2 3 4 5 6 Previous Next  
Parent - - By bob (Gold) Date 2013-10-01 18:03
Yawn. 

Nothing new.  Same old exaggerations and distortions.
Parent - - By Nelson Hernandez (Gold) Date 2013-10-01 18:21
Readers of the article will note that Dr. Hyatt was put in a position of trust to assemble evidence and come to reasonable conclusions about the Rybka matter.  They will also note his dismissive attitude and imperviousness to points of view offered by several individuals just as qualified. 

The larger chess community which has not been following the many thousands of charges and counter-charges will find this article fascinating.
Parent - - By bob (Gold) Date 2013-10-01 19:11
You might find it "fascinating" if you have not followed the discussions since the ICGA decision was made.  Otherwise you will find it simply repetitive, and just as inaccurate as when the debate first started.  We are not seeing any "debate" anywhere.  Just insults, improbable justifications, and similar stuff, going all the way through outright distortions.

One simple example of late.

Ed complained BITTERLY about the "fruitification" approach Zach used when he chose variable names from the (nameless) rybka assembly language (he used the same names as used in the fruit source to make the comparison easier).  He then turns around and complains BITTERLY about Fadden's poor choise of variable names in HIS disassembly, because the names did not match Fruits (and directly called Fadden's work "sloppy").  Richard (and I) both pointed out that this is self-contradictory, you can't have it both ways.  His response?  <waves hands> and proclaims "I only want the truth."  I suppose one would have to ask "which truth" since according to his terminology there must be more than one..

Should someone produce some actual technical evidence showing ICGA conclusions were wrong, I'd be happy to look.  To date, all that has been produced is lots of insults, verbiage and distortion, very little else.  There is a LOT of additional evidence from Fadden that can be found if one looks.  But no one will, of course, as it just digs the hole deeper.
Parent - - By Ugh (*****) Date 2013-10-01 19:19
I believe my evidence, much developed by others, on the PST table section demonstrates, technically, that there is no proof of copying shown.

My discussions with you on the iconic mobility code, show that after abstracting for mailbox-bitboard differences, that there is no code left to compare, and again no way you can demonstrate copying over and above any other development method.

The recent example discussed here, rook open file, again shows such substantial differences to what you claim it corresponds to, in contrary to your own program which matches Fruit, that again the case that this code is proved copied is shown to be false.

We can go on and on, but the iconic mobility example says it all. The code you abstract to pretend to show non-literal copying, or whatever is the latest name, is ALL the code. There is nothing left behind to show copying. Then your ridiculous case boils down to he must have copied even though he also threw away all Fruit code to do so.

Daft!
Parent - - By bob (Gold) Date 2013-10-01 19:30
The specific approach used in Fruit/Rybka mobility is identical.  Count number of squares a bishop attacks, remove those occupied by friendly pieces, multiply number of remaining squares by a constant.  Done.  There are dozens of OTHER ways to compute mobility.  Weight the squares differently.  Exclude squares attacked by enemy pawns, or by enemy pawns and lesser-valued pieces.  Etc.  Yet they match perfectly.  Pure coincidence according to you.  But there are too MANY coincidences.  In your world, you could walk into a casino, play one hand of blackjack and win, pick one number on a roulette wheel and win, pick one bet on the craps table and win, play one hand of 3-card poker and win, and then think that was a perfectly normal day.  In the case of Rybka, you'd have to play 35 different games, one round each, and win 'em all.  And that is "normal".  Pure coincidence.

For the open/half open file, you seem to think it ok to copy a car completely, add one rear-view mirror so you can see better out the off-side window, and call this "original".  And just because it looks like that "other car" is total coincidence.
Parent - - By Ugh (*****) Date 2013-10-01 19:57 Edited 2013-10-01 20:18
Your analogies are nonsensical. As to be expected when the FACTS are so strongly against you.

You NEVER proved copying. When everything was different, as it was, your assertion of "copied and modified" is just a Catch 22 catch all and therefore just plain stupid. You had to PROVE it - Failed.

The mobility code is no "coincidence", both Rybka and Fruit and many many other programs all use the same formula (which was in the programmer wiki even, until,a few weeks ago) to calculate mobility. Namely, mobility =sum of pseudo legal moves. All your "coincidence" amounts to is use of same formula (using an entirely different additive algorithm incidentally) with totally different code to do it. And for each of your alleged "coincidences", there are many more differences. There are TOO many differences and NOTHING directly matching. Who are you trying to kid?

One last thing, a challenge you failed every time up till now. Bring here ONE other programmer, just one, prepared to argue the case that mobility code was copied. Just ONE other programmer, present his case and argue it. Can't can you? Because no one wants  to argue idiocies. Except for you.
Parent - - By bob (Gold) Date 2013-10-01 20:20
Unfortunately, "everything was NOT different" is the correct statement, not "everything WAS different."

How about we debate the last point discovered, hashing.  You say "nothing matches".  I say EVERYTHING matches.  Let's go from there...

Oh yes, you don't want to talk about that point.

Your challenge is, of course, a straw man type of argument.  The code was copied and significantly modified to incorporate bitboards.  So what?
Parent - By Venator (Silver) Date 2013-10-01 20:25
Your nonsense is unimportant now. Chess players all over the world will read the article and understand perfectly what crimes you have committed. The general consensus is changing, it is going to turn against you. Bye bye Bob, no more lies are going to save you.
Parent - - By Ugh (*****) Date 2013-10-01 20:51

Your challenge is, of course, a straw man type of argument.  The code was copied and significantly modified to incorporate bitboards.  So what?


hahaha, very funny! your "significantly modified" actually means "entirely thrown away and totally rewritten, not a trace of Fruit code to be found". Which means your "copy" allegation is entirely without foundation. How have you "copied" something when none of it is there? How do you even know the mobility is based on Fruit's idea and not found in how to write a chess program 101? Answer: you don't.

The iconic mobility codings show nothing. They are quite meaningless in a discussion about copying. They "add up" to nothing, and they don't add up with all your other nothings either.

Answer the question, can you find ANYONE to agree with you on the iconic mobility stuff? It's important because that's how the evaluation works, practically ALL the chessic meaning is in the accessing and manipulation of the data structure. Practically all the meaning therefore is coded utterly differently, using different algorithms. When you "abstract" this highly different code part, you abstract almost everythign and have nothing left to show or compare. End of story. Nothing proven because nothing to show.
Parent - - By bob (Gold) Date 2013-10-01 23:44
The mobility code shows that Vas copied EXACTLY what Fruit does.  With all the other similarities and actual examples of copied code, it is certainly not a big stretch to assume he copied the fruit bishop mobility code and then did the necessary things to make it bitboard compliant.  Like it or not, they do EXACTLY the same thing, which is NOT exactly the same thing everyone else is doing.  Just another similarity.  Coincidental, apparently, for one that believes in THAT many coincidences.

Notice that in some places the underlying code structure is still there.

The infamous

s = s + a;
if (c)
  s = s - a + b;

And you DID ignore the hashing issue.  Why is that?  I suspect most can figure out why...

BTW, ZERO abstraction in the hashing code.  Zero modifications since it is bitboard independent.  Sort of blows your favorite argument right out of the water..
Parent - - By Ugh (*****) Date 2013-10-02 09:25
The mobility code shows that Vas copied EXACTLY what Fruit does.

You are just being silly. The mobility code shows one thing and one thing only - that they used the same common known formula. It is logically nonsense to describe that with the word "copy" because you cannot possibly know the "source" of the information. Likewise all the other differently coded ideas in the evaluation.

Answer me this: would you, personally, NEED to copy a mobility function? Isn't it just too easy and trivial? Would Ed need to? Would the world champion NEED to? It's just silly to even suggest it.

btw, how do you expect us to believe Fruit code was taken via cut and paste, thoroughly understood, underlying data structure converted to bitboards, changed all over the place, substantial amounts of new concept code added, tested and tuned in FIVE AND A HALF MONTHS, becoming the world's strongest chess program by more ELO than you could have dreamed of?

I can believe program already existed, already very strong, then Fruit source released, goes through Fruit taking "many" things, tests and tunes and releases the world champion program five months later. That's viable. But your derivative, cut and paste is out of the question on that time scale. The tuning alone is too much time. The conversion and bug testing is too much time alone. The new concept codes and testing and tuning, too much time alone. Yours is a fantasy scenario. Not possible. Needs a Marvel Comic character and some kryptonite.
Parent - - By bob (Gold) Date 2013-10-02 13:36
It shows that they used the SAME "known formula" out of a set of "known formulas" that has a large number of possibilities.

Individually:

(1) count each square the bishop attacks

(2) exclude squares occupied by friendly pieces

(3) exclude squares attacked by enemy pawns

(4) include squares x-rayed through a piece that moves similarly (bishop on same diagonal as queen, rook on same rank/file as queen or vice-versa)

(5) exclude squares attacked by lower-valued pieces (for rooks/queens, obviously)

(6) weigh squares attacked equally

(7) weigh squares toward center more

(8) weigh squares toward opponent king more

(9) weigh squares individually

Pick just one.  Pick any two.  Pick any 3.  Any idea how many combinations?

9 if you pick just one.  36 if you pick any 2.  84 if you pick any 3.  126 if you pick any 4.   over 250 combinations so far.  But Rybka/Fruit do it exactly the same way.   As they do other things in exactly the same way.

This is not a question about "needing".  Vas NEEDED an evaluation function that worked.  Copying is the easiest way, by far, to get one up and going quickly.  BTW it wasn't 5.5 months.  It was 1.5 years.  Your buddy Ed has made that pretty clear.  But if you assume it WAS 5.5 months, which is easier, copying or writing from scratch?  It is no contest.

Of course the "program" existed prior to fruit.  We know exactly what was in THAT program.  For the record, Rybka 1.0 beta is dated December 2005.  First released version of Fruit was April 2004.  Rybka 1.6 (Crafty version) was dated April 2004.  so 18 months from last crafty clone to 1.0 beta final version.  Talk about fantasy.  You REALLY think it easier to write from scratch than to copy?  Particularly seeing the approach he took for 1.4 - 1.6.1?
Parent - - By Ugh (*****) Date 2013-10-02 17:42
Here you go again, round and round in circles.

That the idea that the mobility code was copied has been utterly refuted time and time again. By me and by several others. Apparently you want to argue idiocies on a last man left standing basis, you'll lose that one on life expectancy basis because you are the ONLY one who argues it, and we are many.

So, take your pick, life expectancy statistics or logic. You lost this one, either way.

Try  and find something that is at least challenging won't you?
Parent - - By bob (Gold) Date 2013-10-02 18:34
Nothing is "refuted" just because you say it is refuted.  How did he end up with the exact method used in Fruit?  Other programs vary significantly in mobility. I've already given lots of different things I have either tried myself, or seen or read where others used them.
Parent - - By user923005 (****) Date 2013-10-02 22:32
He already said that he went back and forwards examining the fruit code.  The same as you said you went back and forward through a few programs examining LMR.
It's common practice.

Not shocking that many things have strong similarities.
Parent - - By bob (Gold) Date 2013-10-02 22:42
There's ONE big difference.  I didn't copy one line of code.  Not one.
Parent - - By user923005 (****) Date 2013-10-02 23:06 Upvotes 1
I believe you.
It is certainly possible that Vas copied code.
It is also possible that he simply learned how it worked and wrote his own version.

I do not claim that Vas has been proven innocent.  Only that he has not been proven guilty.
Parent - By Ugh (*****) Date 2013-10-03 07:22
Precisely so. We can't prove him innocent. There is no possible defence to the Hyatt copy-modify charge, for anybody could have copied and modified anything. Bob's Crafty could be a copy-modify version of TSCP according to Bob's own logic. Of course it isn't, but a madman could go running around saying it is, and how to refute or prove the negative without an entire historical development narrative, preferably on video.
Parent - - By cipri (**) Date 2013-10-07 10:35
yes, like i said before. In real life there don't exist any proofs. Nothing can be proved. If you put one apple on the table, and put another apple on the table, then you can not prove that you have on the table at least two apples. Even if you see it, it's in front of your eyes. Yet you can not prove it.

In the case of vas, you can have hints, and everyone must decide for oneself, if the hints are not strong enough, you can say to yourself that you don't believe them. But before you can say that a hint is not strong enough in your opinion, you must first understand it. "Just saying no, it's a lie", just because you heard it before in the mouth of somebody else is not the most intelligent behavior.
Parent - - By Kappatoo (*****) Date 2013-10-07 10:50
Seriously, how often do you want to repeat this? And has it ever crossed your mind that 'proof' means something slightly different outside of logic or mathematics?
Parent - - By cipri (**) Date 2013-10-07 15:36 Edited 2013-10-07 15:44
> has it ever crossed your mind that 'proof' means something slightly different outside of logic or mathematics


proof in real life is something slightly different than outside math? what is it then? How do you define it? I know just the mathematical definition.

I repeat, because some people perhaps didn't read it, since the forum here is a little messy, and you can lose the overview.
I want to help the people understand, and make them think about what is a proof, and to make them think, what means for them a proof, and in what conditions they would accept something as a proof in real life.
Because in case you are a rybka-defender, you have to know, that all evidence  can be shown to not be enough evidence  for a proof. So in case somebody doesn't define for himself a border, a line, above which he can admit that vas copied, then for sure, no arguments and not evidence will help. In this case, the result is already now known for him, and that means, that the proof was not delivered and will not be delivered in the future.  So from this point of view, this person can safe time, and doesn't need to pay anymore attention to the posts of dr. hyatt etc, who try to show some evidence.
I want to help the people understand, that in makes not that much sense to say "prove that vas copied", but it makes more sense, to define first what means a proof to him, what kind of evidence would be enough for himself to be convinced that code-copy happened.
For example for some/most programmers  the quirks that dr. hyatt posted here, might be enough ,  for others might not. For others might not be enough to see on youtube a tape, where vas is directly copying.
It's also not yet clear I guess to many, what they mean by copy.
If i take a car,  and do a lot of modifications and turn it into an airplane,  did I copy ?

I guess, that to enough people it's not yet clear to themselves  what they mean, so perhaps this can help to make them think more deeply about the situation.
Parent - - By Kappatoo (*****) Date 2013-10-07 17:05
If it were the only use of the term, then the presumption of innocence - i.e., one is innocent until proven guilty - would mean that no-one is ever convicted.
Just mentally replace 'proof' by something like 'sufficient evidence' or 'evidence which makes it highly likely', if it's hard for you to apply the term in non-mathematical contexts.

> I want to help the people understand, that in makes not that much sense to say "prove that vas copied", but it makes more sense, to define first what means a proof to him, what kind of evidence would be enough for himself to be > convinced that code-copy happened.


Did you define this for yourself? What is your definition then? Maybe it would help others if they were able to go along with yours.

As I have said before, I am not sure whether what Vas did in creating Rybka was morally acceptable and/or within ICGA regulations. In any case, one might get the impression that for someone who keeps preaching objectivitiy, your view seems rather one-sided. For example, a big part of the problem is due to the ICGA's failure to define properly what is to count as sufficiently original. It is thus a bit ironic to accuse only Vas' defenders that they fail to be specific in this respect. Also, to present Hyatt as a model of rationality is just ... I don't know how to put it.

> I guess, that to enough people it's not yet clear to themselves  what they mean, so perhaps this can help to make them think more deeply about the situation.


Thank you.
Parent - - By cipri (**) Date 2013-10-07 18:50
> 'sufficient evidence' or 'evidence which makes it highly likely''

yes, also this are not defined (or are just unknown to me). What is sufficient evidence for you, might not be enough for somebody else. what is highly likely? and how to measure the probability in this case?

> For example, a big part of the problem is due to the ICGA's failure to define properly what is to count as sufficiently original.

i don't talk related to the icga, because i don't know it, i didn't pay attention to it, how it works, and what their rules are.

Might be, that they have rules which leave a lot of space, and in which also the case vas fits inside.

Yes, the icga could define popely what is sufficiently original, but I guess it's not the best idea, since it would be difficult, and would let a lot of space for copying. Therefore it's easy to define... what is sufficient for being disqualified.
Your fist idea could work too, but it's a matter of philosophy, if one can accept code-copy as long as it is not too much.

If I had to make the rules, I would just allow  just open source engines to take part. Or at least, that the once you get money (i guess the first 3 places) have to make the source code public.

> Also, to present Hyatt as a model of rationality is just ...

Dr. hyatt tries to present facts, he shows asm-code , which means effort. While others respond to this effort with injuries and saying it's a lie.

I compare this with a math lecture again: this is to me, like a math professors comes to his analysis class and makes a proof, and a student stands up  saying it's a lie and makes injuries. Can you imagine this in real life? It's nearly not imaginable. What one can do, is to take his proof, analyze it, and show where the mistake was done, and then see if the other can accept it, or can combat your arguments.
Parent - - By turbojuice1122 (Gold) Date 2013-10-07 23:25
Not everything can be defined in terms of mathematics, and if you try to do so, you get contradictions.  This is a well-known result dating back to Godel.  That's why we use the term "reasonable doubt".  What is understood as reasonable can generally be agreed upon.
Parent - - By cipri (**) Date 2013-10-08 00:53 Edited 2013-10-08 01:09
yes, you can define, but it doesn't need to be so called "well-defined", and this can yield contradictions, this is trivial for that you don't need the theorems of gödel (but cam easily construct examples).

What I was saying is, that fact is, nobody can prove that vas is guilty or not. So there are (at least) two solutions:
1) You say, impossible to prove, so I don't care, don't pay attention to any tries of showing the that copy happened, because it's impossible to proof, and you go home.
2) You can try to define something like an upper-bound , which must be traversed to make you be willing to accept that it is likely that vas copied.

For many people this "upper-bound" , will not be the same.

What I want to say, if you want dr. hyatt to make you believe that vas copied, then you must explain him, what your criteria are, where is the limit/bound. And here is the problem, you don't know what would suffice for yourself (i guess).
Might be, that your criteria is: a video showing vas copying directly, and this video must be approved by the FBI , and being made under legal circumstances.
Then of course dr. hyatt can show you  all kind of asm-code-comparisons  and without any chance .

That means for example, instead of saying "dr. please prove that rybka is a copy, a derivative", you could say for example: "dr. hyatt, please show that 10% (or any other number)  of the asm-code of rybka matches with fruit and crafty".

Before all, there is a test, which could clarify a little little by testing the phillosophy:

Question:  If you take a car, and a boat, and turn it into something like a motorboat,  do you considers this result to be original or a derivative?

Sometimes I have the impression, that many rybka-fans  are considering  it to be original  ... and perhaps me too, at least it's a original derivative :-)

But I guess, it would still violate the rules of the icga. 

So the situation of vas might be, that he might have violated the rules of icga, but, that in your eyes, that rules are not valid.

On the other side, if you don't like the rules of the icga, why don't you make you own competition, like kasparov did.

And so you can make you own rules, and control who can take part and who not.

Take as an example the chess rating list  you find on the rybka home page, where rybka is still the dominant number one.
http://ssdf.bosjo.net/

You are talking that it's not fine how was excluded. But perhaps you remember how the engines where banned from ccrl  , just because vas (or and other rybka-people)  was saying that the engines are clones of rybka.
And on this forum for regular users everything was censured when it was something related to the so called clones. You could not write houdini... even less, you can not even write h*****i  , even that was too much. And all that on the word of vas, saying that these where clones.
Even more interesting, today, you get houdini-commercials on this site.
Parent - - By turbojuice1122 (Gold) Date 2013-10-08 01:52
In many cases, while the upper bound is not agreed upon by all, the evidence shows that the defendant is either clearly above it or clearly below it.  I disagree that the theorems of Godel don't apply in legal situations--I think that this is precisely where we have a practical application of these things, and this is why lawyers are able to take everyone's money, whether they are innocent or guilty: the legal system itself must, by definition, contain potential contradictions, and these are exploited intentionally or otherwise all the time.

In Vas's case, I don't think that his guilt, if any, would cross the "upper bound" for most jurists.  However, I think that if they were being asked to declare him "completely innocent", he wouldn't cross that upper bound, either.  He would definitely be in the "grey area", as would many other programmers.
Parent - - By cipri (**) Date 2013-10-08 10:54
> He would definitely be in the "grey area", as would many other programmers.

Yes, I also guess that enough people copied from crafty, fruit.. and later robbolito etc...
For jurists... (also depending on the country) vas might be innocent (or in the gray area), depending on the laws (for example in some countries you are allowed to copy books, and in india you are allowed to copy medicine and sell it for less).
But it also might be, that  for his case the  the icga-rules   sufficient to cover his case.

like i said before, i guess it's a matter of personal philosophy :    taking a boat and a car, and creating out of them a motor-boat   is an original product?  different people will have  different opinions.
If the icga forbits that case, you have to take the risk to be excluded, or you don't accept their rules and make your own championship,

The funny thing is, robbolito and houdini are said to contain code that came from RE. But for a big and complex program, you are not likely to get something like a copy of rybka. So robbolito/houdini also might contain ideas/code from rybka , but of course with own changes and additions.

I hope now you see the immoral attitude. The situation was really strange, it was incredible how vas (and his people) managed to censurate some engines. And other people just took his word and took down the engines from chess-rating-sites. At least they could have marked the engines with read to indicate, that their legal status is no yet clear. But they where completely banned, just because of vas saying they are clones.

And imagine vas, had the source code of crafty and fruit, while others had just the binary of rybka.
And as said before, go to the home page of rybka, and you will see that under links you have  an area with "major chess rating lists", and there you see the following link
http://ssdf.bosjo.net/
which is also the only one.  I hope you notice the manipulation they are doing. In that rating list not even stockfish is appearing (not to speak about komodo or houdini...etc...)
Parent - By Labyrinth (*****) Date 2013-10-08 12:35

>The situation was really strange, it was incredible how vas (and his people) managed to censurate some engines.


If "engine X" came out tomorrow, and it was quite obviously a clone of H3 with minor changes. Houdart could come out saying that it was a complete ripoff of his code and you'd see the same thing happen.

People don't like thieves, especially thieves that steal from the team they're rooting for.

Also, at first these were not contributing anything to computer chess really. Strelka 1b came at a time when R1B was already greatly surpassed, and the "clones" of R3 were only just a hair stronger than R3 itself, and often had a ton of bugs. Not much, if anything was lost by the censorship that existed, and it didn't last for long.

I mean look at it this way, if you're on a forum related to a business, there's no way they're going to let you post info on pirated versions of their product. In this case it wasn't quite pirated software, but it was close enough. I mean it makes perfect sense to me, but the anti-vas crowd saw it as pure evil.

>"major chess rating lists", and there you see the following link


http://ssdf.bosjo.net/
which is also the only one.  I hope you notice the manipulation they are doing. In that rating list not even stockfish is appearing (not to speak about komodo or houdini...etc...)

That's just old and outdated. SSDF is really super obsolete right now.

I guess they should take it off the Rybka website, but I mean, it's not there to intentionally mislead people. The website in general is really quite ancient at this point.
Parent - By turbojuice1122 (Gold) Date 2013-10-08 21:00
As for the motor-boat analogy, that doesn't work at all with Rybka.  Rybka doesn't look much like Fruit except for some parts (which are still written differently), it doesn't play like Fruit, and it is far stronger than Fruit.  I think that a more correct analogy would be a Ferrari having its wheels, headlights, and windshield wipers at roughly the same part of the car as some other vehicles.

I agree that it was bad to censor the other engines from this site.  Fortunately, this didn't happen for long.  Also, Vas wasn't responsible for this--by the time that Houdini came out, he had been inactive on this site for quite awhile.

As for the home page of Rybka, well, that is a different site than this forum.  Their purpose is explicitly to try to sell Rybka to more people, and there is nothing wrong with giving only a link to the only major rating list that still has Rybka at the top.  Something similar (and more dishonest) occurs at the Hiarcs site, where they claim a world championship victory that didn't actually occur.  That's commercialization.  Even this is okay in the commercial realm, as there are independent entities (ICGA, if you want to call that "independent" from them) that actually claim that this is correct.
Parent - - By turbojuice1122 (Gold) Date 2013-10-01 20:42

> Nonsensical gambling analogies and "In the case of Rybka, you'd have to play 35 different games, one round each, and win 'em all."


These would be much more appropriate analogies if they were analogous to thinking that it wouldn't be unusual for Rybka to play chess against 35 different opponents and have the moves come up the same as Fruit.  Since the latter is obviously not the case, these analogies are meaningless.

> you seem to think it ok to copy a car completely, add one rear-view mirror so you can see better out the off-side window, and call this "original".  And just because it looks like that "other car" is total coincidence.


The correct analogy for Rybka is that you think that even though you have two completely different cars, the fact that the new one has a rear-view window and mirrors in roughly the same locations as another car, the new one is a 'direct copy'/

You really shouldn't try to illustrate your points with analogies, Bob.  You have neither the intelligence nor the sense of perspective necessary to do this effectively.
Parent - - By bob (Gold) Date 2013-10-02 00:18
I expected you to miss the point and divert the discussion.  If _I_ walked into a casino and won like that, I would be suspicious that something untoward was happening.  To believe in so many coincidences is simply not rational.  Ditto for the RYbka case.  The ONLY explanation offered to date has been "coincidence".  Believe that if you want...
Parent - - By turbojuice1122 (Gold) Date 2013-10-02 01:35

> I expected you to miss the point and divert the discussion.


Wow...you seem to have missed the point entirely.  I guess that I'm naive for continuing to be surprised when this happens.

> If _I_ walked into a casino and won like that, I would be suspicious that something untoward was happening.  To believe in so many coincidences is simply not rational.


The point, since you missed it entirely, is that there really are not all that many coincidences in which to believe.  The analogy you attempted to make would have been comparable to Rybka playing almost all of the same moves as Fruit in a large number of games.  In fact, this doesn't occur...in fact, some versions of Crafty are more guilty of such similarities than is Rybka.

> The ONLY explanation offered to date has been "coincidence".


When you have such a large number of possible similarities, and most of them are negative, one should not be surprised if there are a few positives, especially when talking about similarities (not identical matches), and it's known that the programmer got many ideas from Fruit.
Parent - - By bob (Gold) Date 2013-10-02 02:37
There are > 35 "coincidences" in the ICGA evidence.  Add another for the hashing.  Look at Fadden's discussions where he mapped procedure calls between fruit/strelka/rybka to show just how similar the overall program structure is, and how different it is from other engines...

The hashing from Fruit is not "an idea".  It is WAY more than that.  This has already been discussed to death.
Parent - - By turbojuice1122 (Gold) Date 2013-10-02 10:20
The actual number of coincidences is certainly less than a dozen.  There is a difference between imagined coincidences and actual coincidences.  The great majority of the imagined coincidences by you and others have been beaten to death.

> The hashing from Fruit is not "an idea".  It is WAY more than that.  This has already been discussed to death.


From an earlier thread, you state,

> It was all published by Richard, copied by me and aligned with Fruit to show the match.


The "copied by me and aligned with Fruit to show the match" should concern many people, especially given your history of "taking liberties" with the truth.  Nonetheless, let's give you this one: given the version of Rule 2 that was in use at the time, you have several problems.  (1) This isn't part of the "meat" of the program in terms of generating the moves (to wit: the evaluation), and so isn't going to be something that influences the program to "play nearly all the same moves", (2) this wasn't presented with the ICGA evidence, and so Vas wasn't offered the opportunity to give an full explanation (not that he was offered one anyway), (3) this wasn't in a version that competed in an ICGA event...as far as I can tell, the first Rybka version to do this was something very closely related to Rybka 2.0, which participated in the 2006 WCCC.
Parent - - By bob (Gold) Date 2013-10-02 13:42
Rule two does not mention "meat".   Hashing is absolutely a part of the chess engine.  Your argument is beyond specious.

Why would the copied/aligned with fruit concern anyone?  Are you capable of downloading fruit 2.1 source code?  Capable of looking at the file "trans.cpp" and "trans.h"?  Capable of looking at Richard's RE code he posted here?

Feel free to dispute ANY of what I posted, but DO show where it is wrong.  I copied Fruit code DIRECTLY from the fruit 2.1 source distribution that ANYONE can download.  Richard took the 1.0 beta Rybka and RE-ed the hash code from that.  Compare 'em.  I'm sure you will ALWAYS find something wrong with any evidence presented.  Not part of the eval (when rule two does NOT mention eval.)  Here's a hint.  Remove hashing from Rybka, and see how that affects the move selection. It will be significant.  It will play differently AND horribly in endgames, for one example.
Parent - - By turbojuice1122 (Gold) Date 2013-10-02 22:51

> Rule two does not mention "meat".


That is correct.  It mentions only one thing: playing nearly all of the same moves.  Crafty is more guilty of that than Rybka.
Parent - - By bob (Gold) Date 2013-10-03 02:27
Sorry, but it does not.  It says "for example...."

It does not say "this is the ONLY indicator".  It says ""for example"

If you want to quote it, quote it correctly, here is the complete rule.

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.

Do you REALLY need to look up the definition of "e.g."???  Here's a hint:  Latin exempli gratia (for example)
Parent - - By turbojuice1122 (Gold) Date 2013-10-04 00:04
You still don't get it, do you?  "derived from" is not a concrete statement that is useful, as this would include all programs entered in the past several decades.  We have to go with the parts of rules that are actually meaningful, can be verified, and can be enforced.  The only thing stated in Rule 2 in this regard is "playing nearly all the same moves".
Parent - - By bob (Gold) Date 2013-10-04 00:16
"derived from" is crystal clear.  As is "original".  Program A is NOT derived from program B unless parts of B are in A.  Otherwise they are independent, original programs.  WE don't have to go with anything other than the frequently discussed intent of rule 2.  WE wrote the rule.  WE agreed to abide by the rule.
Parent - - By user923005 (****) Date 2013-10-04 00:20
If your program uses lots of things from other chess programs is it original or not?
Parent - - By bob (Gold) Date 2013-10-04 01:18 Edited 2013-10-04 01:23
Original in the sense of rule two, absolutely.  Contains NO code taken from other programs.  Not a thing said about ideas in rule 2.

this is the gold standard for icga events:

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.

"derived from or including game-playing code written by others..." is the key.   You won't find any of that in Crafty, but you will in Rybka, which is the problem.  Other definitions of "originality" are irrelevant since all we were tasked to do was answer the question "did Vas violate rule 2?"
Parent - - By user923005 (****) Date 2013-10-04 03:10
"Original in the sense of rule two, absolutely.  Contains NO code taken from other programs.  Not a thing said about ideas in rule 2."

Then according to Watkins and Zach, Rybka was totally acceptable, since it has no code taken from other programs, according to their findings.

If you are going to use 'non-literal copying' as something to disqualify a program, they you should actually prove non-literal copying.  Of course, that is exorbitantly expensive and difficult, so if you mean something else like:
"Not more than 70% of the same evaluation terms as other programs" or some other such nonsense, it should be spelled out exactly what that means and how you would go about proving it.
Parent - - By bob (Gold) Date 2013-10-04 04:39
Sorry, but Mark/Zach show that code WAS taken from fruit via the non-literal route.  That is still taking code.  And then there is the bit board stuff.  The hashing stuff.  And since this is still being discussed, I feel perfectly happy continuing to look to see what more might have been copied.

In the current context, just the hash code is enough to DQ Rybka, since that is a direct copy.
Parent - - By user923005 (****) Date 2013-10-04 09:15
No such thing has been demonstrated.
The findings of both disassemblers was that zero literal copying took place.
You disagree with them?
Parent - - By bob (Gold) Date 2013-10-04 16:34
Let's add "disassembler #3 and #4".  #3 (Richard) has shown conclusively that Rybka 1.0 beta contains Fruit's "trans.cpp" code exactly.  No doubt.  100% literal copy.  No modification due to bitboards needed nor done.  #4 (me) has shown that the crafty rotated bitboard code from 1.4-1.6.1 is STILL present in 1.0 beta.  100% literal copy.  No modifications due to bitboards since it was already bitboard.

Back to #1 and #2.  Both agree that go_parse() was copied.  A minor change or two, but most matches perfectly.  Richard disassembled this code AGAIN, and showed the same.

Do you STILL want to say there is no evidence of literal copying?  non-literal copying is another topic, addressed by the eval disassembly of Zach, of course.
Parent - - By user923005 (****) Date 2013-10-04 18:22
You do not have any proof of literal copying,  including the transposition table.
There appears to be enough evidence to show that go_parse() and the transposition table use the same algorithm.
I have seen other programs that have similar UCI and Xboard parsing routines.  For instance, the Xboard parsing routines from TSCP are widely copied.
I have seen other programs with similar hash tables.  Shall we eject all of these programs as well?
In order to prove that the code was copied, it is important first to obtain the code.  That is a rather important step which all of you seem to have missed.
As for non-literal copying, there are two ways we can consider this.
The first way is the legal term "non-literal copying" which has a clear set of conditions to prove.
Since you have accomplished exactly zero of the steps to prove non-literal copying as spelled out in the legal documentation, I assume you do not mean that.
Hence, you must mean, "using the same ideas" or something along those lines.  Perhaps if you could spell out exactly what you mean by non-literal copying, we could come to some sort of sensible conclusion about whether or not Vas did it.
Parent - - By bob (Gold) Date 2013-10-04 19:36
You will simply have to believe whatever you want.  I am absolutely certain that the trans.cpp code was copied.  If you compile the fruit source and match it to the C/asm code Richard posted, they are a match.  The more examples of direct copying that come to light simply makes it more and more clear.

We are not talking about "other programs with similar hash tables".  We are talking about two programs with identical hash tables.  You and Ed do like to do that distortion thing, don't you?

You have missed an important step.  We HAVE the code in the binary.  The asm is perfectly clear.  Just as clear as it was in the crafty bitboard code discussion.  Fruit's code compiles to asm that matches Rybka.  Rybka's C compiled to asm that IS rybka binary.  You REALLY want to stick to the implication that the Rybka C source looks significantly different, and just by pure accident and coincidence produces exactly the same asm that fruit's trans.cpp produces?  If you want to discuss things with me, at LEAST pick something that has even a remote chance of explaining the matches, not just "you have not proven...  you have not seen the original source..."  NOWHERE will you find a requirement to have the original C to determine if the original C matches the suspected copy, if you have the binary instead.  It is much easier to compare c source to c source.  But comparing c source to asm source is really easy when you don't have to deal with the non-literal aspect, and for bit boards and trans/ref table code, the copy is purely literal.

In discussing hash or ttable code, do NOT use the term "similar".  It is completely incorrect.  Use the term "identical".
Parent - - By Rebel (****) Date 2013-10-04 20:46

>You will simply have to believe whatever you want.  I am absolutely certain that the trans.cpp code was copied.


That's hyperbole.

In a nutshell, what is 90% equal are the TT ingredients, 90% because the order is different. Thereafter TT_receive() is forced code. TT_store() is where the intelligence is, and it is different. The Zobrist table, also different. That's no copy of trans.cpp.

The only thing you may conclude that Vas liked the Fruit flexibility of the TT ingredients because with 2 bounds he could easily switch between PVS and MTD(f), the latter Vas literally stated BTW in the old CCC archives.
Parent - - By bob (Gold) Date 2013-10-04 21:02
The order is absolutely irrelevant.  If you want a percentage discount for different order, call it 1%.  Students don't get away with just changing the order of variables in a structure and then claiming "I wrote this, it is my original code..."

Have you looked at the store code?  Or is this just guesswork?  Richard POSTED the store code.  It matches fruit perfectly.  Ergo, as usual, I have absolutely no idea what you are talking about.  The problem with your explanation is that for every hash implementation I have seen for mtd(f), everyone has stored two bounds, and two drafts.  Fruit stores FOUR drafts.  Sort of hard to explain that away.  The only thing I can conclude is that he copied the code.  BTW it is trans_retrieve() and trans_store().  Feel free to show where trans_store() is different.  I posted both fruit and 1.0 beta rykba (from Richard) a couple of times. 

Who cares about the zobrist numbers?  They are a product of whatever pseudo-random-number-generator was used.
Up Topic Rybka Support & Discussion / Rybka Discussion / ChessVibes article
1 2 3 4 5 6 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill