Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / Asides and commentary on RV's decompilation and reports
1 2 3 412 13 Previous Next  
Parent - - By bob (Gold) Date 2013-08-13 22:58
This is STILL wrong.  Richard clearly explained that there are two different things here.

(1) fruit source, which is BEFORE compiler does anything.  You can put something in a procedure/function, and it appears as separate code in the source.

(2) then you compile it and suddenly that procedure is gone, with the code inside it being inlined at the point of invocation to get rid of the call overhead.  If you look at the rybka binary, you can't tell whether something was inlined or written that way.  But you are trying to use the two to say "these are not the same."  Richard clearly told you you are simply wrong there.  Your response of "I am only interested in what is done inside here" shows you don't quite get what compilers do.  Study automatic inlining a bit online, it's complex, but compilers are VERY good at it today.  They were very good at it 10 years ago...

You "new" statement is still wrong, then.  You don't know what "here" was in the original source.  He even told you he had tried it with a current compiler to verify, which it did...
Parent - - By Ray (****) Date 2013-08-14 05:45

> If you look at the rybka binary, you can't tell whether something was inlined or written that way.  But you are trying to use the two to say "these are not the same.


Yeah, and you trying to use it to say they ARE the same. And here you are saying that decompilation is an exact science. Yeah right.
Parent - By bob (Gold) Date 2013-08-14 16:17
Saying "they are semantically equivalent" in those places is VERY precise.  RE is as exact as it gets here.  ALL the asm instructions have to be used to match the suspected original C.  If they do, then case closed.
Parent - - By Rebel (****) Date 2013-08-14 07:19
Bob, the UCI parse_go() issue in CCC at the time was promoted as THE evidence Vas copied Fruit. When I did my own RE (my first ever) I found 3 RE errors, different code, 2 Vasik bugs in 10 C-lines of alleged copied Fruit code that made R10b lose 15-20% of its games on fast time controls, Fruit never. The sum of differences is enough to trash the claim.

The fact Richard found something that was overlooked by Zach, Watkins and myself is not going to change my overall opinion that Vas copied Fruit after all because all of the above listed differences remain.
Parent - - By Ray (****) Date 2013-08-14 10:03

> The fact Richard found something that was overlooked by Zach, Watkins and myself is not going to change my overall opinion that Vas copied Fruit after all because all of the above listed differences remain.


How could that happen, when RE is an exact science ?
Parent - By Ugh (*****) Date 2013-08-14 11:03
is RE a science? don't think so, it's a process.
Parent - By Rebel (****) Date 2013-08-14 11:53
RE is not exact science but (to be clear) I agree with Richard's initial post in which he states "But I very much doubt I could find some serious flaws in it. I sincerely think that the RE is correct, and all the problems (and all flamewars on this forum) are caused by _interpretation_ of the results".

We found a few RE errors, Zach honestly has admited them (contrary to the chief of the Inquisition) meaning that 99% is still correct. It's all about the interpretation (and presentation) of the RE data as wriiten in the 2 VIG-based documents of Zach and Watkins.
Parent - - By bob (Gold) Date 2013-08-14 16:11
The UCI parse_go() was NOT promoted as THE evidence.  It was a single piece of evidence that represented a tiny bit of the ICGA evidence/report.  Interestingly, I just did a quick search for "1.0" on the final report.  Found 32 matches.  EVERY ONE was in "rybka 1.0 beta".  If it was "the evidence" why was it so glaringly missing from the final report?  Why is UCI missing except for comments about it being a UCI engine by a couple of authors?  Why is "parse_go" missing?

Of course nothing is going to change your mind...  when you can only resort to hyperbole/distortion trying to make a point...
Parent - By Banned for Life (Gold) Date 2013-08-14 23:36
Of course the UCI parse_go() was NOT promoted as THE evidence. Let's not forget about the side by side PST code that YOU pointed out on several occasions! It's not _that_hard to find it! :lol:

Topic Minority Report 2 - Unravelling the technical report By bob Date 2011-07-25 20:08
The evidence is _not_ based on "conjecture".  It is based on specific analysis of Rybka and Crafty or Rybka and Fruit.  There is no "interpretation" required.  Have you actually _read_ Zach's and Mark's report?  People keep saying "show me side by side comparisons."  First page of Zach's report has _exactly_ that.  Two columns.  The comparison goes on for  pages and pages.  Side by side.  Piece by piece...

Topic Minority Report 3, PST + other lookup tables are they legal? By bob Date 2011-07-26 12:58
This is a PDF link:  http://icga.wikispaces.com/file/view/ZW_Rybka_Fruit.pdf.  Page one is introduction.  Page 2 has piece square tables _and_ some side-by-side code.  The next several pages _all_ have "side-by-side code analysis."  Did you just read the "introduction" and quit?  that would explain a lot...

I didn't know it was _that_ hard to find it...
Parent - - By Rebel (****) Date 2013-08-15 06:39
Check the old CCC threads, it was after Fadden's decompile programmers started to take the (then) rumors seriously, "yeah, this looks like Fruit" or similar utterings.
Parent - By bob (Gold) Date 2013-08-15 20:14
That was step ONE.  The BIG step was Zach's evaluation analysis...

So, step ONE out of several hundred steps.
Parent - - By Ray (****) Date 2013-08-14 10:06

> I sincerely think that the RE is correct, and all the problems (and all flamewars on this forum) are caused by _interpretation_ of the results.


But Bob says RE is an exact science, there is no interpretation.
Parent - - By Ugh (*****) Date 2013-08-14 11:09
RE is a process, not a science. There's also a difference between RE with the intention of building something identical or similar or discovering ideas, and RE with the intent to compare. The creative opportunities open to the RE engineer in the latter are very great and bias potentially plays a large part depending on the reasons for the comparison. In the latter case, the RE is never really tested, because it is not going to become part of a product that has to go through quality control and eventually work. Hence there is no real proof that the extracted idea or code actually does what it says.
Parent - - By bob (Gold) Date 2013-08-14 16:00
This was about semantic equivalence.  Showing that a given binary (asm) is equivalent to a given C.

That's exact.  No interpretation needed.  The only issue is the abstraction needed to factor out the board representation that affects some of the comparisons...  But one can STILL show semantic equivalence in such cases.  The backward pawn code is the easiest to follow example.  They test the pawn locations in a different way, but they test for pawns on the same squares to set the score..
Parent - - By Rebel (****) Date 2013-08-16 07:44
Quoting from the counter investigation which you probably never read :

Fruit's backward pawn is different, quite unique we must say, it has code for second ranked pawns that can advance 2 squares. Rybka has not, just a quick and dirty evaluation. Which program before Fruit had this feature? And why since the accusation is that Rybka 1.0 started her life as Fruit 2.1 did Rajlich removed that?
Parent - - By bob (Gold) Date 2013-08-16 16:52
So?  Crafty ALSO did the same thing.  In fact, Crafty took it even further, but the idea was the same, if a pawn can advance to protect this pawn, it is not backward, whether the pawn has to advance 1, 2, 3 or more squares is irrelevant.  In Crafty it simply has to be able to safely advance, not impeded by enemy pawns so that it can't pass a specific square.

In Rybka, that is a simple mask check.

Are you reading Richard's analysis?  He is finding more and more things that are the same...

Including a quirk here and there that is even more revealing...
Parent - - By Ray (****) Date 2013-08-16 21:01

> Are you reading Richard's analysis?  He is finding more and more things that are the same...


Nope, he is finding more and more that is different. There are similarities yes, but not evidence of copying.
Parent - - By bob (Gold) Date 2013-08-17 00:59
So far he has found much more that is similar than different.
Parent - - By Rebel (****) Date 2013-08-17 05:36
So far he has found much more that is similar than different.

Yep, that's how your VIG mind works.

Even when it's about standard stuff (like hashing) which by definition is similar in nature you shout : COPY! See elsewhere in this thread.

Truth is, the list of differences (which Zach and Watkins missed) becomes longer and longer and the probability percentage Vas got his first 2700 elo for free by copying Fruit becomes lower and lower.
Parent - By oudheusa (*****) Date 2013-08-17 07:51

> Truth is, the list of differences (which Zach and Watkins missed) becomes longer and longer and the probability percentage Vas got his first 2700 elo for free by copying Fruit becomes lower and lower.


+1
Parent - - By bob (Gold) Date 2013-08-17 16:30
You left the rest of the statement out however, the sin of omission.  The list of differences is growing.  The list of similarities is growing FASTER...
Parent - By Ugh (*****) Date 2013-08-17 16:42
The problem, methinks ....

Parent - - By John (**) Date 2013-08-17 15:13
Bob, can't we just agree that there are two sides of this story and that both sides have their pro's and con's?

So far, all clone issues in ICGA tournaments were straightforward, with all programmers agreeing. In the Rybka story this is not the case, otherwise there would not be so many heated discussions afterwards. Evidence has to be 100% clear and should not be subject to several interpretations, as we have it here. There are currently a lot of intelligent people disagreeing with you and although I understand your point of view, this cannot be rejected.
Parent - - By bob (Gold) Date 2013-08-17 16:25
There's always two sides to every story.  Won't argue there.  Let's wait to see what Richard has to say.
Parent - - By John (**) Date 2013-08-17 17:02
Fair enough. But I notice that Richard posts similarities and differences between Rybka and Fruit, so I am afraid that the status quo will remain as it is. And don't you think that if intelligent people fail to come to an agreement on a subject, even after 3 years of argueing, there simply is something wrong?
Parent - - By bob (Gold) Date 2013-08-17 19:46
not at all.  Do you believe in creationism or evolution?  Is something wrong since there are two opposed viewpoints?
Parent - - By John (**) Date 2013-08-18 07:04
The previous clone issues were 100% clear. Nobody disagreed. Now there is much disagreement. That should give you a clear signal that the data can be interpreted in several ways. Do you agree that the other side *could* be right on many points?
Parent - By Ugh (*****) Date 2013-08-18 07:32
You can't teach an old dogma new tricks.
Parent - - By bob (Gold) Date 2013-08-18 15:35
Perhaps on one or two or even three.  But there are WAY too many "points"...
Parent - - By John (**) Date 2013-08-18 16:19
Can you name these two, three points?
Parent - - By bob (Gold) Date 2013-08-18 16:52
Nothing specific to name.  I've not seen any point so far that has been discredited.  I simply allowed for the possibility that one might argue reasonably against 1, 2 or even 3.
Parent - - By John (**) Date 2013-08-18 17:23
Thus, those other intelligent programmers are simply totally wrong on (almost) everything?
Parent - - By bob (Gold) Date 2013-08-18 17:28
"Those intelligent programmers that believe he copied too much" must ALSO be wrong on almost everything?

If you look at the counter-evidence, it almost ALWAYS revolves around one theme..  "It COULD have happened that..." followed by some highly implausible set of events/circumstances that would excuse his behavior.  One could argue that space aliens were involved.  Impossible to prove it did NOT happen.  But how plausible?   The volume of ICGA data is the major problem, and it is still growing daily..
Parent - - By John (**) Date 2013-08-18 17:52
You don't answer the question. You still claim that those other programmers, who disagree with you, are wrong on everything?
Parent - - By bob (Gold) Date 2013-08-18 18:14
If you read, MOST programmers seem to be more concerned about the punishment than the evidence. 

Those that disagree I do believe are wrong, until such time as they come up with something clear, concise, and real, that casts doubt on one or more pieces of evidence.  Has not happened as of yet.

And, for the record, things are getting worse, not better.  You should do what I just suggested Trotsky do...  compare the R1b hash store code Richard posted here to the hash code in Fruit 2.1 (fruit source trans.cpp if you are not familiar with the program structure).

If you read any computer chess literature, you will find that a hash table entry generally has the following:

1.  signature, to verify the position matches the tt entry.

2.  draft (remaining depth)

3.  bound/value

4.  position type (EXACT, LOWER, UPPER)

5.  best move.

6.  some sort of age indicator.

Some add the static evaluation.

Fruit has all of this stuff:

struct entry_t {
   uint32 lock;
   uint16 move;
   sint8 depth;
   uint8 date;
   sint8 move_depth;
   uint8 flags;
   sint8 min_depth;
   sint8 max_depth;
   sint16 min_value;
   sint16 max_value;
};

two sets of values, FOUR depth values.  Rybka has the same.  Makes you go "hmmmm".

This would be interesting to discuss.  Here's what Crafty uses, which is EXACTLY what rybka 1.4-1.6.1 used:

*     shr  bits     name description                                          *
*      55   9       age  search id to identify old trans/ref entries.         *
*      53   2      type  0->value is worthless; 1-> value represents a        *
*                        fail-low bound; 2-> value represents a fail-high     *
*                        bound; 3-> value is an exact score.                  *
*      32  21      move  best move from the current position, according to    *
*                        the search at the time this position was stored.     *
*      17  15     draft  the depth of the search below this position, which   *
*                        is used to see if we can use this entry at the       *
*                        current position.                                    *
*       0  17     value  unsigned integer value of this position + 65536.     *
*                        this might be a good score or search bound.          *
*       0  64       key  64 bit hash signature, used to verify that this      *
*                        entry goes with the current board position.          *

Nothing alike.
Parent - - By John (**) Date 2013-08-18 18:24
Sorry, but this is a very disappointing reply on your part. First you said 'they may be right on a few points'. Now you have switched to 'they didn't show anything of relevance whatsoever'.

So, once again the same question: are all these intelligent programmers wrong on everything? Just 'yes' or 'no' please.
Parent - - By bob (Gold) Date 2013-08-18 21:33
You asked me if it was possible.  I replied "yes".  But I do not have any specifics because so far, nothing has been shown, specifically...

There are two groups of programmers.

(1) the group that believes the punishment was too harsh.  Has nothing to do with whether they believe Vas innocent or guilty.

(2) the very small group that argue against the ICGA evidence using every trick/distortion/deception/etc possible.  Two of 'em are regular posters here.  Yes, I believe THAT group is wrong, period.

Clear enough?
Parent - - By Rebel (****) Date 2013-08-18 21:52
(2) the very small group that argue against the ICGA evidence

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

I count 11 critical chess programmers.
Parent - - By bob (Gold) Date 2013-08-18 22:00 Edited 2013-08-18 22:08
Let's take just one statement to make the point here (last one on the page you linked to):

"As the Rybka source was never published, the only possible thing to do with disassembly is to say that it contains a code that compiles at the same instuction sequences. But it's not a prove of direct copying of the code."

Does that say the evidence is wrong?  Does it say the evidence is based on nonsense?  It simply says "it contains a code that compiles at the same instructions sequences.  It is not a prove of direct copying of the code." 

We never claimed that there was direct copying proved, because our evidence has to be based solely on semantic equivalence obtained by comparing asm to C.  We suggested that in most cases, this led to non-literal copying because of the forced conversion to bitboards.

That statement does not exactly state "I believe Vas is innocent."

You implied Charles' opinion was important and revealing.  Did he EVER "write that paper"?  You stated "and secondly Roberson's answer (see above) to the (pushing) question:?.  I don't see any "answer"?  I see only this: "I think the key to the Fruit eval issue is whether or not they both could have been inspired by other previous open source code and open technical discussions. On this issue, I've found some of Zach's paper to be incorrect as to the originality of Fruit's eval. I am working on a report to fully detail my thoughts."  What do you believe that means?  Seems that in a couple of places, Zach claimed fruit did something new/unique and he questions that.  Fine.  The key, however, was that the same semantics were in both.  Hard to wave that away.  I notice you have avoided the new TT code discussion?  "too close for comfort"?

It's another Fruit/Rybka oddity that is hard to explain.  And forget this "studying the idea and then writing original code."  The TT store and probe code Richard provided goes beyond that just a bit...
Parent - - By Rebel (****) Date 2013-08-18 22:31
The point of the link I gave you is your distortion and dishonesty.

Bob - (2) the very small group that argue against the ICGA evidence

You are well aware of this group of dissenting (critical) chess programmers and yet you (again) decided to downplay its importance.
Parent - - By bob (Gold) Date 2013-08-18 22:34
Note that not every person in that group feels Vas is innocent.  You exaggerate to claim they do.  No matter what part of the ICGA process they disagree with, you distort that to "innocent."

Not exactly the same thing..
Parent - - By Rebel (****) Date 2013-08-18 22:43
Reasonable doubt usually means undecided or innocent, in any case not guilty.
Parent - - By bob (Gold) Date 2013-08-19 00:27
Eh?  Not in Civil cases.  Criminal only.  Here "preponderance of the evidence" is the standard.  That simply means that > 50% of the evidence supports a guilty verdict...
Parent - - By Ugh (*****) Date 2013-08-19 11:01
not when you're destroying somebody's reputation and business it isn't
Parent - - By bob (Gold) Date 2013-08-19 17:10
Civil case is civil case.  _I_ am not the one that chose to copy everything in sight and claim it to be original, remember?
Parent - By Rebel (****) Date 2013-08-19 17:39
Well, anno 2013 the jury vote would be quite different.
Parent - By Ugh (*****) Date 2013-08-19 11:07
You asked me if it was possible.  I replied "yes".  But I do not have any specifics because so far, nothing has been shown, specifically...

There are two groups of programmers.

(1) the group that believes the punishment was too harsh.  Has nothing to do with whether they believe Vas innocent or guilty.

(2) the very small group that argue against the ICGA evidence using every trick/distortion/deception/etc possible.  Two of 'em are regular posters here.  Yes, I believe THAT group is wrong, period.

Clear enough?


as opposed to the very small group of ONE programmer who still believes in the ICGA witchhunt case and regularly posts here?

can you send one programmer here, just one, who still has the power of speech, and is able and willing to argue the same case as you? Just one will do.

and another thing, when this started, you had a whole posse of attack dogs who came and personally insulted and derided anyone who disagreed with the Verdict Hyatt. Where are they now? Even your attack dogs see the writing on the wall.
Parent - By John (**) Date 2013-08-19 15:20
I currently count a lot more programmers who are in disagreement with the ICGA report, verdict and sentence, than programmers who think the ICGA was right. You seem the only one left. And I am rather disappointed how you speak about well respected programmers who are in disagreement with you.
Parent - - By Banned for Life (Gold) Date 2013-08-18 18:28
The fact that R1B used a very similar TT structure with Fruit has been well known since Strelka 2 came out. If you were studying Fruit, you would note the contents of the TT records, and if you thought the concept was good, you might even use it yourself. This shows nothing except the well known fact that Vas was familiar with Fruit, having studied it extensively prior to coming out with Rybka 1.0 Beta.

Bob's claim that the sudden shift in TT format is unusual is also baseless. Rybka's current hash structure is very different from what is seen in Rybka 1.0 Beta. In fact, it uses 8-bytes per record rather than 16...
Parent - - By bob (Gold) Date 2013-08-18 21:40
The contents are "odd" to say the least.  Particularly when he had previously used a more normal entry in the crafty derivatives...  So he copied my TT code, then he copied Fruits.  The code does not come "from the table".  The table format is driven by the code.  Compare Fruit/Rybka...  Weren't you the one claiming Vas had developed some super-clever hashing stuff?  Where is that, exactly?  Or did you mean Fabien?
Up Topic Rybka Support & Discussion / Rybka Discussion / Asides and commentary on RV's decompilation and reports
1 2 3 412 13 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill