Time to rethink what Vasik Rajlich has done?

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

Moderators: hgm, Rebel, chrisw

chrisw
Posts: 4313
Joined: Tue Apr 03, 2012 4:28 pm

Re: Time to rethink what Vasik Rajlich has done?

Post by chrisw »

hgm wrote: Mon Jul 05, 2021 11:22 pm
towforce wrote: Mon Jul 05, 2021 10:48 pmbtw, whether or not Vas was directly asked for the source code, one would expect the reaction of an innocent man to be, "Look - here's the source code".
Exactly. And how much sense does it make to not ask for source code, while the tournament rules clearly specify you can, but out of the blue decide "hey, let's try to solve this by reverse engineering the damned thing".

That just defies credibility. ICGA was stupid, but they cannot have been that stupid.
Conjecture and wishful thinking are not evidence.

Evidence is things like email traffic (no request for source code), actual offences charged and convicted for. Does ICGA ever mention Vas as guilty as per Rule 2 of not providing requested source code. No it doesn't. No mention at all. You're just making it up as you go along, are you not?

What actually happened was that the panel decided Vas wasn't going to send them source so they never asked that he be asked. They also were unable to identify which Rybka versions competed where, so they didn't know what to ask for. Instead they just continued to de-compile whatever Rybka versions they could find but they couldn't accurately connect the executables they'ld managed to get hold of with tournament entered versions.

ICGA never asked Vas for any source.

It's not cool to make up offences that never happened. Is it? Why are you doing it? It's highly misleading for readers, not to mention libellous on Vas.
I wrote almost twenty five years ago now, Charter Rule 5. "Are not of questionable legal status." precisely to cover libelling people who were not here to respond. Hasn't he been damaged enough yet? Mostly on this forum btw. Not good.
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Time to rethink what Vasik Rajlich has done?

Post by hgm »

towforce wrote: Mon Jul 05, 2021 11:58 pmThis is from memory from when I read the report years ago, so apologies if I'm wrong, but I thought that it reported that Vas had said that he didn't have the source code for the version used in the competition in question? I might have read that somewhere else. It would be useful if anyone has the time for someone to read the report and check what everyone is saying. One thing I feel sure of: the report was written by at least two people - not just one.
Exactly. This was what I was referring to. The flimsy excuse of not having the exact version anymore because it was so long ago. According to some this is an outright lie. But ask yourself, what is more likely? That this is a lie, or that those who claim it is are lying?
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Time to rethink what Vasik Rajlich has done?

Post by hgm »

chrisw wrote: Tue Jul 06, 2021 12:03 am
hgm wrote: Mon Jul 05, 2021 11:22 pm
towforce wrote: Mon Jul 05, 2021 10:48 pmbtw, whether or not Vas was directly asked for the source code, one would expect the reaction of an innocent man to be, "Look - here's the source code".
Exactly. And how much sense does it make to not ask for source code, while the tournament rules clearly specify you can, but out of the blue decide "hey, let's try to solve this by reverse engineering the damned thing".

That just defies credibility. ICGA was stupid, but they cannot have been that stupid.
Conjecture and wishful thinking are not evidence.
Absence of evidence is not evidence of absence...

You try to make a new circus about an issue that I already declared irrelevant. Your whole rant just confirms what I said in the first place: the ICGA handled it stupidly. They should have asked for source, and then convicted Vas when he was not willing to give it.

I would have thought that is a no-brainer.
chrisw
Posts: 4313
Joined: Tue Apr 03, 2012 4:28 pm

Re: Time to rethink what Vasik Rajlich has done?

Post by chrisw »

hgm wrote: Mon Jul 05, 2021 11:57 pm
chrisw wrote: Mon Jul 05, 2021 11:43 pmICGA did NOT ask Vas for source code, Vas can't be guilty of not providing something he was never asked for.
Even if we would believe such a fairy tale, he was still negligent by not offering the source code spontaneously in his defense. Of course you can argue that under the 5th amendment he is not obliged to incriminate himself, but if showing the code would incriminate him, he was guilty to begin with.
As an amateur programmer you appear unable to understand that a commercial chess programmer with the outstandingly strongest and unassailable chess source of that time is not going to voluntarily present those source codes to a bunch of commercial competitors and wannabee chess programmers and chess programmers who have been massively insulting him for years as a hooligan and thief etc etc and who are already desperately trying to decompile his versions and find the secrets. Commercial rule 1. Keep secure your IP from outsiders.
He would have been quite correct too, as those gentlemen who illegally decompiled his engine and published it decided they could do whatever they liked with his codes once they'ld gotten hold of them.
All irrelevant, however. ICGA never asked Vas for any source code. ICGA never accused Vas of a rule 2 breach by not supplying it. You're literally just making this up. Very poor behaviour from someone who asserts the importance of not misleading the readers.

You know what the English police says when they arrest someone? It is something to the effect of "You have the right to remain silent, but if you exercise that right it might later hurt your defense in court".

The problem is that your claims have to fight an uphill battle against an incredibly unfavorable prior likelihood, so that your rather weak evidence gets nowhere near overturning alternative theories. Such that your claims are simply false becouse you were poorly informed, or perhaps even just making it up.
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Time to rethink what Vasik Rajlich has done?

Post by mar »

hgm wrote: Tue Jul 06, 2021 12:08 am
towforce wrote: Mon Jul 05, 2021 11:58 pmThis is from memory from when I read the report years ago, so apologies if I'm wrong, but I thought that it reported that Vas had said that he didn't have the source code for the version used in the competition in question? I might have read that somewhere else. It would be useful if anyone has the time for someone to read the report and check what everyone is saying. One thing I feel sure of: the report was written by at least two people - not just one.
Exactly. This was what I was referring to. The flimsy excuse of not having the exact version anymore because it was so long ago. According to some this is an outright lie. But ask yourself, what is more likely? That this is a lie, or that those who claim it is are lying?
how is that a flimsy excuse or even a lie? ah yes, according to some.
it would also imply that he was asked for the source code, which I somehow can't seem to find in the e-mail correspondence link

I've lost a lot of my really ancient sources (who hasn't is probably very young and uses git - which is good) - not a tragedy

and all that is assuming Vas even used some sort of scm and used tags or had source backups of specific versions, so I don't think that's unlikely at all,
if he was asked to provide the source code of course (preferrably there's a better evidence for this than a gossip)
Martin Sedlak
User avatar
towforce
Posts: 11546
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK

Re: Time to rethink what Vasik Rajlich has done?

Post by towforce »

The ICGA took the time and trouble to document the case against the Rybka program (and hence its author). If you wish to make the case that the evidence is bad, and that the people who created it were incompetent and biased, here's the work you need to do:

* create a single document (bits and pieces on different web pages won't do)

* summarise all the evidence in the ICGA document. DON'T LEAVE ANY OUT.

* gather all of the evidence that Rybka does not contain any copied code, and put it together in a clear and well-organised way

* show that the evidence that Rybka does not contain copied code is stronger than the evidence that it does contain copied code

Partisan rhetoric is easier and more fun to write than the above document would be. I get that, and I both understand and accept that it's what people want to do in this situation. But it's a conspicuously lazy way to oppose the report.
Writing is the antidote to confusion.
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Time to rethink what Vasik Rajlich has done?

Post by mar »

towforce wrote: Tue Jul 06, 2021 1:14 am The ICGA took the time and trouble to document the case against the Rybka program (and hence its author). If you wish to make the case that the evidence is bad, and that the people who created it were incompetent and biased, here's the work you need to do:

* create a single document (bits and pieces on different web pages won't do)

* summarise all the evidence in the ICGA document. DON'T LEAVE ANY OUT.

* gather all of the evidence that Rybka does not contain any copied code, and put it together in a clear and well-organised way

* show that the evidence that Rybka does not contain copied code is stronger than the evidence that it does contain copied code

Partisan rhetoric is easier and more fun to write than the above document would be. I get that, and I both understand and accept that it's what people want to do in this situation. But it's a conspicuously lazy way to oppose the report.
you got it reversed it seems.
the burden of evidence lies on the accusers - and I'm not convinced at all that code was copied (we're talking a lifetime ban here which in reality is reserved for the worst criminals)
the "evidence" provided isn't just bad, it's trash and a mushroom fantasy at best.

even bob got caught with his pants down (copy-pasted Fruit bishop psq - and we're talking a verbatim copy-paste here - as was pointed out by Miguel - what's the probability that you get 64 exact same values by accident, even if psq back then didn't contain much information and contrary to Crafty's static tables in Fruit they were generated from a handful of arguments for easier tuning),
I hope he enjoyed the taste of his own medicine - hence the psq part of the evidence is complete garbage, the tables were actually different (some similarities - yes, if you do some math magic), not to mention that data != code.

I've also seen his (bob's) insult spree on the Rybka forum back in the day (totally didn't lose it + winning arguments by calling people names),
I've read the "evidence" back in the day as well, even looked at some R1.0b disassembly

what to say - I don't have R1.2 source code or binary (or whichever version did play in Rybka's first ICGA tournament) and I really don't like being told what I "need to do" in my precious spare time :roll:

if you can get the source, then we can compare to Fruit and see who was right (note that the whole case was based around code copying, not ideas) - isn't going to happen, of course unless someone takes the time and decompiles the binary that participated in the tournament (and even that will be more or less an imagination of what the actual code looks like),
assuming ICGA at least has that, I certainly don't

so: not some fantasy disassembly that doesn't even match, not tables that are mostly different and certainly not non-gameplay code, which was presented as one of the "pillars" of the "evidence"

some more food for thought:
- if I recall Fabien was actually pushed into writing the open letter
- nobody explained why R1.0b was disassembled instead of the actual version that participated and was subject to ICGA rules
- as Chris pointed out, the evidence didn't undergo any critical review, which is quite stunning considering what was at stake (destroying a fellow chess programmer)
Martin Sedlak
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Time to rethink what Vasik Rajlich has done?

Post by mar »

(warning: a very long post coming)

looking at this masterpiece https://www.chessprogramming.org/images ... _Fruit.pdf
I can't help myself but that's just embarassing for the lack of a better term...

starting with PSQ: Wegner dismantles his own evidence first by stating

Code: Select all

Also, note that here too that the PST values are hardcoded into the Rybka executable file, they are
not calculated at startup like Fruit's
then he gives "pseudocode" with several changes that generates Rybka's bakes PSQ, what a brilliant fallacy - hint: Rybka contains NO PSQ initialization
code, so the pseudocode for Rybka is nothing more than a fabricated fantasy

next comes passer evaluation with a mysterious "quad" function, that's nothing but fixed point linear interpolation with rounding with a fancy name
again - Rybka uses (oh my god, who would have thought that!) a precomputed table that can be generated with a code that, again, isn't present in Rybka at all

unstoppable passer: comparing bitboard-based code that's completely different (again where's the "copied code", hello?)
and almost forgot another hilarious quote:

Code: Select all

To do this we make an approximation of the SEE that is usually equivalent. We simply make
sure that for every square in the promotion path that is attacked by the opponent, we also have a piece defending that
square.
so Fruit uses SEE and Rybka doesn't - how is this even funny, when it's something completely different?

king distance: yes, using a precomputed table [fromsq][tosq] with manhattan distance... who would have thought that having this in your code makes it Fruit-based?!

values: as already stated: precomputed linear ramps with magic constant where Rybka has a fixed table
back to quad aka lerp: does anyone seriously believe that linear interpolation can be covered with GPL as is? in general, GPL violation must imply copying of very large chunks of code, otherwise one could claim that using say for (int i=0; i<n; i++) violates GPL; how do you even know it's the same code when decompiled?!

material: Rybka using a table, basically again Wegner dismantles himself :

Code: Select all

The material tables in Rybka were one of the more interesting features introduced. Their implementation was a new
way to evaluate material imbalances. The indexing and evaluations in the table seem to be unique, but there are some
very interesting similarities in the information stored in the table with Fruit.
another hilarious quotes:

Code: Select all

I will note that all of the formulae for
Rybka's flags have been decoded--since the material table is a large constant array in the Rybka executable, the code
to set the flags is not there. The formulae are found by analyzing the pattern of when it appears in the material table.

Code: Select all

The use of 0x08 for a king safety flag in both programs is certainly interesting, though.
yes, the number 8 is very interesting indeed!
still waiting for copied code
so, Rybka uses a huge material table so again the Rybka "pseudo-code" is not present in the binary either

lazy eval - not in Fruit

phase:
(note: tapered eval - what we all do these days - again the idea is to interpolate opening=>endgame based on non-pawn material)

again, don't see anything special here at all.
as usual:

Code: Select all

Rybka has the same formula as Fruit. There is one important difference though:
so yeah, it's the same except... hilarious!

again, phase is stored in the material table so the "Rybka pseudocode" is a lie again as there's no such code in the binary

pawn evaluation:
pawn hash table, ok... again different in Rybka (surprise)

pawn structure eval: nothing special (common) except that Rybka has bitboards (and a much cleaner and nicer implementation btw) - again I don't see any "copied code"

mobility:
again dismantled by Wegner right at the top:

Code: Select all

The mobility calculations of Fruit and Rybka seem different, but Rybka's turns out to be a simple bitboard
translation of Fruit's.
who'd have thought that for (simple) BB engines you simply compute attack mask and count bits, unless you want something fancy
I don't think this is even funny...

rook on open, semi-open... ok, again BB vs mailbox, rook on 7th: no comment :)
hilarious quote number xy:

Code: Select all

From looking at the piece evaluation of both engines, we find that they are almost identical.
again, no copied code, just pretty common ideas

king evaluation:
blah blah, common stuff, hilarious quote(tm):

Code: Select all

The weights are different in Rybka of course, but both programs have zero weight for pawns.
that plus bitboards vs mailbox (again), no copied node

I'm already a bit exhausted by reading vast amounts of nonsense but let's finish this...

shelter: 3 files adjacent to king, yeah very "uncommon"... plus something interesting that I don't actually do, hmm... who cares
okay, here he can talk about an idea (not code!), that is assuming the pseudo-code isn't store in table again :)

shelter values:

Code: Select all

This bonus is different in Rybka, and is simply a table.
I don't know if I should laugh, actually
blah... storm, ok...

Code: Select all

All of this shelter evaluation code in Rybka above is an equivalent; it doesn't appear in the Rybka binary
trapped bishop, blocked bishop, blocked rook:
similar ideas but again mailbox vs BB so I see no copied code

so we have concluded Wegner's evaluation comparison between Rybka and Fruit with the only possible outcome: Wegner proved
that Rybka doesn't contain ANY Fruit code when it comes to evaluation.

I wonder what's comes next... or rather not...

so far I'm quite disgusted and when I said the evidence was trash I think I was actually very mild...
Martin Sedlak
Michel
Posts: 2272
Joined: Mon Sep 29, 2008 1:50 am

Re: Time to rethink what Vasik Rajlich has done?

Post by Michel »

I always thought that the main smoking gun was Strelka which was based on Fruit and which Vas himself claimed to be a clone of Rybka.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Time to rethink what Vasik Rajlich has done?

Post by mar »

Michel wrote: Tue Jul 06, 2021 6:13 am I always thought that the main smoking gun was Strelka which was based on Fruit and which Vas himself claimed to be a clone of Rybka.
yes, but how... Osipov claimed Strelka was based on Fruit, but it obviously contains decompiled part of Rybka (which is probably why Vas claimed it to be mostly a clone after a quick look) - like eval and material table, why decompiled - some variable names seem wrong and off (which is in line with what Vas claimed himself)

and Fabien himself claimed Strelka is Fruit from what I've read, so... pick a side :)

Strelka even uses the Fruit constants used to generated the PSQ tables, which are (by Wegners evidence) "different" in Rybka but can be generated with those magic numbers and x changes here and there => while in Rybka those different values are baked in tables, so again - where's the alleged copied code in Rybka?!

I claim that "regarding to eval" Rybka 1.0b is original at source core level (tm), which is what Wegner's evidence actually proves. it also proves the exceptional engineering skills of Vas (especially when it comes to optimization)

so what remains is search and I haven't looked at that part of the "evidence" yet, not sure if I want because having read Wegner's "evidence", I want to puke actually.

either way I'm shocked :shock:
Martin Sedlak