> Each evaluation "concept" was done the same way, using the same tests, in the same order, etc.
One can see clearly from Watkins' report that this is a lie.
http://icga.wikispaces.com/file/view/EVAL_COMP.pdf
In this report:
1) Rybka 1.0 beta matches 10 out of 28 Fruit features (abstract matches).
2) While Rybka 2.3.2 matches in 7 out of 28 features.
Bob afterwards changed his tune to, for instance;
> The super-majority of eval terms were done exactly the same way. Same tests, in the same order, testing the same things in the same way, the only difference being the rather obvious bitboard vs mailbox approach.
http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=396041;hl=super%5c-majority
And recently, he said that:
> By itself? Not so meaningful. Taken together with all the other matches? too many. WAY too many [matches in eval features]...
We must presume that Robert Hyatt has made a count of the matches, where he looked at the various features and then determined whether they matched.
So, here is the challenge for Bob:
Tell us which of the 28 eval features in Fruit were matched perfectly, in the sense that they, in Rybka, were the "Same tests, in the same order, testing the same things in the same way, the only difference being the rather obvious bitboard vs mailbox approach."
The 28 eval features in Fruit (according to Watkins report, not couting the "has a knight PST" non-feature) are:
1) Knight mobility
2) Bishop mobility
3) Trapped bishops
4) Opposite Bishop ending
5) Bishop pair
6) Rook mobility
7) Rooks on open files
8) Rooks on semi-open files
9) Blocked rooks
10) Rooks on 7th rank
11) Queen mobility
12) Queens on 7th rank
13) Doubled pawns
14) Isolated pawns
15) Backward and weak pawns
16) Blocked central pawns and/or bishops
17) Candidate passed pawns
18) Passed pawns, initial bonuses
19) Passed pawns, king locations
20) Passed pawns, freedom to advance
21) Passed pawns, sundry
22) King danger, when to use
23) King danger from pieces, method
24) King danger from pieces, relative weightings
25) King shelter from friendly pawns
26) King storm from enemy pawns
27) Game phases and/or interpolation
28) Draw recognition, insucient material
It should be noted that the rook/queen on seventh rank feature pair is essentially one feature, but anyway.
Bob, tell us which of these 28 features are perfect matches, and show us the evidence that you used to determine that they were.
general computer games programmer/maintainer with Ubisoft (in Montreal),
who in part suggested the Abstraction-Filtration-Comparison methodology as
applied to the ICGA criteria. He has no links to either Rybka or its competitors."
i've been playing an ubisoft game. i thought this was cool.
"The initial elements of evidence considered are 'probative', in that they point
to a strong likelihood of fairly direct code copying. These include mechanisms
to control the 'search' of the engine, identical structures and ordering of idio-
syncratic elements of Fruit 2.1, and re-appearance of redundant code."
there is no video of vasik in pajamas typing on his computer with a cup of coffee on the table and directly copying. you have to take a look at all of the allegations as a whole. looking at the same exact evidence, rybka fans can have their own interpretation and say that any similarity happened accidentally, while watkins claims "a strong likelihood".
"Some of this is routine (such as computing bounds for a variable, and per-
haps the formula for time limit 1), and some has been partially modified in
Rybka 1.0 Beta, but there are notable parts for which Fruit 2.1 either made a
specific choice (having time max be essentially one-half the current time, with
an increment based on movestogo-1), or did something rather nonstandard
(setting time limit 1 to be 5 times the movetime).
Again it seems to me that the burden should fall on those who contest that
Rybka 1.0 Beta did not originate from Fruit 2.1 in this bit of code – is there
another computer chess program that follows this pattern (other, of course, than
those that derive directly from Fruit)?"
again, there can be 2 different perspectives about the same code. watkins thinks the "burden" here lies on the pro-rybka side. is it just a coincidence that they're very similar?
"This consists of a rather short piece of code to determine what (an
do when a search has concluded (the UCI protocol specifies that the
should in some cases not be sent immediately). Here is the Fruit 2.1
if (infinite || ponder) SearchInput->infinite = true;
ASSERT(!Searching); ASSERT(!Delay);
Searching = true;
Infinite = infinite || ponder;
Delay = false;
search();
search_update_current();
ASSERT(Searching); ASSERT(!Delay);
Searching = false;
Delay = Infinite;
if (!Delay) send_best_move();
Here is the corresponding code from the Rybka 1.0 Beta executable.
0x40702e: test %r15b,%r15b # r15 is ‘‘infinite’’
0x40704d: jne 0x407054
0x40704f: test %r13b,%r13b # r13 is ‘‘ponder’’
0x407052: je 0x407063* [0x40705b] # if either is true
0x407054: movb $0x1,$(0x66c32c) # SearchInput->Infinite = true
0x407063* movb $0x1,$(0x6696e1) # set Searching = true
0x40705b: test %r15b,%r15b # check ‘‘infinite’’ again
0x40706a: jne 0x40707a
0x40706c: test %r13b,%r13b # check ‘‘ponder’’ again
0x40706f: jne 0x40707a # if both false,
0x407071: mov %r13b,$(0x6696e2) # set Infinite = false
0x407078: jmp 0x407081 # else
0x40707a: movb $0x1,$(0x6696e2) # set Infinite = true
0x407081: movb $0x0,$(x06696e3) # set Delay = false
0x407088: callq 0x408f90 # call the search function
0x40708d: movzbl $(0x6696e2),%eax # load Infinite variable
0x40709b: movb $0x0,$(0x6696e1) # set Searching = false
0x4070a2: mov %al,$(0x6696e3) # set Delay = Infinite
0x407094* test %al,%al # if Infinite is true
0x4070a8: jne 0x4070af # then don’t
0x4070aa: callq 0x406aa0 # call send_best_move()
Note in particular that (infinite || ponder) gets (redunantly) computed
twice in both. Also, the operations with Searching, Infinite, and Delay
are ordered the same. Finally, setting Delay to be 'false' can be seen as
redundant in Fruit, as three lines above it was ASSERTed to be so.
The above code is quite idiosyncratic to Fruit 2.1 (it differs slightly in
Fruit 1.0), and re-appears essentially verbatim in Rybka 1.0 Beta."
watkins alleges there's "essentially verbatim" code. can you refute this?
As I have (again) repeatedly stated... some code was directly copied, where bitboards don't matter (the above code is an example) while some code was "non-literally copied" (specific term used in copyright law) where the original had to be translated to bitboards to be usable...
gine or another. In some cases, closely related evaluation features were merged,
and it was not always clear how to sub-divide features (particularly king safety).
one obtains 28 overlap numbers from the pairs of engines. Although a fuller
statistical analysis for the EVAL COMP result remains obscure, it is abundantly
clear that the overlap between Fruit 2.1 and Rybka 1.0 Beta is dramatically more
than would be expected by chance. Using rudimentary statistics and crude
assumptions of distribution, the rarity of the Fruit/Rybka overlap appears to
be more than 1 in a million, most likely more than 1 in a billion, and possibly
more than 1 in a trillion."
watkins said there were "50 elements" not just 28 fruit features. i think watkins means "28 overlap numbers" out of about 50 elements. the highest composite score (on a scale of 0-100) was 82.5 between rybka 2.3.2a and rybka 1 beta. the 2nd highest score was 74.4 between rybka 1 beta and fruit.
"Since each feature is not a binary yes/no, but can (e.g.) vary in many ways
with subconditions, each pair of engines was compared for its total “overlap” for
each feature.
One criticism of EVAL COMP was that it was 'subjective'. As much of the
basis for the numerical scores was given in the textual descriptions, it is difficult,
however, to say it is 'arbitrary'. Presumably someone could independently
repeat the analysis."
he clearly wrote the disclaimer, "not a binary yes/no", and that it was "subjective", so there was some room for interpretation. i don't think this was some sneaky, dirty tactic used to attack rybka.
"The level of abstraction chosen was a written description of what
each engine considered for each feature (many features were absent in many of
the programs).
it is the rarity of the Rybka/Fruit overlap that is of significance, and not the raw numbers."
i don't think this comparison table of 9 engines is that important. alkelele, maybe you're putting too much emphasis on this?
i think watkins was just attempting to quantify similarity between engines for a superficial indication. this is like comparing and contrasting the characteristics of boxers. height, weight, reach, record, style, etc.
the meat of the discussion should be the side-by-side code, and i'll defer to hyatt.
> watkins said there were "50 elements" not just 28 fruit features. i think watkins means "28 overlap numbers" out of about 50 elements. the highest composite score (on a scale of 0-100) was 82.5 between rybka 2.3.2a and rybka 1 beta. the 2nd highest score was 74.4 between rybka 1 beta and fruit.
No, you don't understand his "28 overlap numbers"; it has nothing to do with the number of evaluation features. He gets this from how many engine pairs there are. There are 9 engines in the survey, but he removes one Rybka when analysing the overlap numbers, resulting in (8*7)/2 = 28 engine pairs.
Incidentally, there are also 28 evaluation features in Fruit (not couting the "has a knight PST" non-feature), but this is a mere coincidence.
> he clearly wrote the disclaimer, "not a binary yes/no", and that it was "subjective", so there was some room for interpretation. i don't think this was some sneaky, dirty tactic used to attack rybka.
You can use partial matches when you want to establish an "overall similarity", and when you want to show that the "overall similarity" is higher than for some random engine developed in a black box. However, nobody disputes this point, since it has been known from the very start that Vas studied Fruit during Rybka development.
Please note this again: The only thing that the statistical analysis (eg. "the rarity of the Fruit/Rybka overlap appears to be more than 1 in a million, most likely more than 1 in a billion, and possibly more than 1 in a trillion") reveals is that Vas was influenced by Fruit during development.
However, I am interested in semantical equivalence here. How many of the evaluation features in Fruit were matched in Rybka, from the point of semantical equivalence. Bob Hyatt claimed that each feature matches, later he claimed that a super-majority matches.
> i don't think this comparison table of 9 engines is that important. alkelele, maybe you're putting too much emphasis on this?
Incidentally, I would happen to agree with you. This table is not that important since all it shows is that Vas took a look on Fruit during development, something that has been known to anybody since the first Rybka release. However, great importance has been attached to this survey in the panel reports. Also, the survey is a natural starting point for trying to answer the question: "How many evaluation features in Fruit have a semantical equivalent in Rybka?"
That ship has already sailed...
You don't "study" an evaluation and then match so closely. Just doesn't happen. Humans can't keep that much information in their head (Miller's Law) considering all the low-level details. You could not "study Fruit's eval", then put it down for a day, and come back and name the specific eval things it considers, much less the small underlying details that are present in both. Simply "implausible". A "grasp in the dark" to find any possible excuse, no matter how unlikely it is. Thinking that if you can "prove it was not impossible" then you are done. But not so fast. You have to prove your reason(s) are also "not improbable" to make any headway. So far, score is zero...
You have previously stated that each one of them were doing the same thing, in the same way, in the same order etc. etc.
You have also stated that a super-majority of them were done in the same way.
And you have stated that "way too many" were.
So we must presume that you have made a count. Hence it should be easy for you to answering the following question:
How many semantically equivalent matches are there among the eval features, and which are they?
It adds up.
If you compared two books and every other word was a match, could you spot that, even with all the different other words??? I could...
So, let's imagine that Fruit and then Rybka, which read Fruit and took many thing forwards and backwards, both worked from this high level idea, eval based on mobility. Rybka did it better and more extensively than Fruit, but that's the base of the eval feature match. Not copying, but top-down grand idea. And the reason Rybka matches badly with the old programs in the Watkins test set, they are all old paradigm.
Now, when we come to look at the individual eval features, we find not your "exact matches, line by line, same order, everything the same", we find differences that you overlooked. For example, in your latest example, Fruit is hard coding a difference between captures and non-captures. Rybka does not. That's a big difference, but you overlooked it and didn't mention it in the report. The FIVE eval features we looked at, with you, here, in heavy argument, allegedly identical code, have all broken down under close inspection, whether because of fantasy code in PST, or failure to recognise the semantic difference of open files in the rook case, or in this case failure to spot the hard coded capture/non-capture differences.
By extrapolation, the rest of your "exact" matches are not going to match up either. And your "same recipe" allegation is going to fail not only because it is not the same recipe, but because there appear to be usage of similar feature ideas simply because both programs moved into a new paradigmatic space. It's the ideas, ideas and ideas, stupid.
You realised, but you didn't have the technical, Fernando also, that +400 from one new person, that can't be duplicated by the old people, can only mean one thing. Hello Kuhn. Well done both of you. Speight also.
Vas realised what was the essence of Fruit. It was not the code, it was the beginnings of a new, big, yet simple idea. Mobility and smooth, continuous evaluation. With that one big idea, from reading Fruit, he was able to work from the top down, creating a smooth mobility based evaluation and massively benefiting the search from reduced noise (the accurate smoothing) and massively benefiting the search from the increase in move choices (mobility increases your move count and choice), no doubt there are other search benefits as well. From the new idea came the material imbalance table, where, instead of the very crude mobility measurement of a piece (13359, for that is what "material" is, namely mobility), he built a way more accurate table based evaluation, which reflects mobility and inter-piece cooperation. Devastating. And the new idea just permeated everything he did.
The dinosaurs, meanwhile, the Therons, Zachs, Hyatts, Uniackes and co, unable to see or understand the new idea, assume that it has to be done the way they do it. Disassemble the target program and implement its new sub-features one by one, until you get +400. Incremental puzzle-solving. hehehehe!!! Dimwits! You have to understand the new unifying idea first!
The dimwits assume copying, because that's all they could do themselves, indeed, they said that's what to do (Theron: if I would have, then I could have. Hyatt: all you need is time). But copying without understanding gets you nowhere in this kind of science shift. And, if you have the understanding, then copying is irrelevant and counter-productive. What is to be done is to understand, implement and develop the idea. The new idea permeates and changes everything, it tells you what to throw out, what to include, what to redo and what new that needs to be done, with everything being done in the style of the new big idea.
The dimwits searched for copy because incremental puzzle-solving was their way, and because they did not understand.
What Bob is always talking about the old days in the 60s, ridiculous from a standpoint of chess. The sole factor was hardware bullcraft, but not chess. Still, Bob is our bro, because we would do it all the same. What is our advantage?
(1) As chessplayers we know that after every win there is someone lurking behind the corner who wipes the floor with our errors single-handedly.
(2) We are part of a whole of players which helps us to show unpretentiousness, but Hyatt still today confounds his own chess with the strength of GMs, books and actually the machines. More, he's the machine itself while in reality he's a patzer like all of us. I dont know Ken Thompson, but I could well imagine that he belives if his BELLE solved all the endings (Friedel: here G-o-d is playing chess) then he is also a chess genius, what is ridiculous if he really believed that. Nothing in contrast could beat the honesty of a Richard Lang, also multitime Wch while himself he admittedhe couldnt play a decent game of chess.
(3) Ed & you are outstanding and modest characters, because I see no other one around who is realising his own faults, admitting having done the similar of what Vas was accused of. And that in a climate of a yearlong hate campaign, admitting and explaining it in public. While the logic of Bob is anti-science, closed form, and childish because he's obsessed by concepts like total guilt and absolute innocence like the religious fundamentalists are thinking. An artificial entity like their report degenerated into a mantra for Bob. If you dont accept their report you are not from this Earth, not a human being at all, more like bacteria.
No, this isnt science at all, even not chess, because it's always about taking and giving, but not downgrading others to as.sho.le status. As the inquisitor spoke, it's not about compassion or mercy. Understood, you poor Corbit, tip to hat, dear Dann.
_sigh_
It's the fate of genius.
I don't understand so something is wrong.
Now that I found something wrong I understand.
Another example - http://en.wikipedia.org/wiki/Cesar_Millan#Criticism
As I said, you want to take each tiny piece of code, look at it, and say this is not convincing and should be filtered. Just line a single piece of circumstantial evidence at a triel is not convincing. But all of it taken together....
> But all of it taken together....
Exactly.
VII states : Rybka is way too original to be a clone.
Subject: Rybka - How much Fruit is inside ?
From: Vasik Rajlich
Message Number: 469187
Date: December 12, 2005 at 03:34:15
[...]
The Rybka source code is original and pre-dates all of the Fruit releases.
[...]
When Fruit 1.0 was "out and running" Rybka was a copy of Crafty...
So of course his statements should be taken at face value, correct???
And what do you base that "way too original" on? Certainly not on comparing the binary to fruit. So you are in this rather ridiculous group that says "Rybka was much stronger, so it must be original?" Rybka 1.0 beta and the last version of Fruit Fabien shipped out at around that same time are VERY close on the rating lists. Rybka wasn't "hundreds of elo stronger" at that point. Later, yes. Much later. Houdini is also stronger than ip*. Given some time...
What does that prove about originality? Absolutely nothing.
> What does that prove about originality? Absolutely nothing.
Prepare for a surprise, probably today.
That you are not only a very bad loser, but you have NO CLUE why it is that good.
It is the same as if a 2500 player starts calling Magnus Carlsen bad names and downgrade his achievements of the past years: outright pathetic.
> Second, the PST was not copied.
But you could generate it with the Fruit PST generator!
> it has been replaced by one that is just as simple, which is very slightly stronger, and which looks nothing like that one
And I bet that one too can be generated with Fruit generator....just change a few constants here and there. Sounds familiar?
This is nonsense. I was using the latest commercial Fruit that Fabien was selling on the night that Rybka 1 Beta was released, and it wiped the floor with Fruit. As Anthony later said:
Let me add one other thing: I'm talking about Rybka 1.0 Beta, that engine that took the chess world by storm and crushed everything that opposed it.
Anthony Cozzie
Don't you have any better revisionist history to peddle?
On one list, R1b was slightly ahead, at a different time control that version of Fruit (not 2.1) was slightly ahead. Fabien had finished his "tuning" by that time but did not release that source because he was involved in a discussion with Convecta...
You can find all of this on the ChessBase web site...
On the day that R1B was released, it crushed all of the commercial Fruits and DS9s and Zappas in the Playchess Engine Room, all 120+ of them, and by the end of the day, more than 100 people had switched. Saying that R1B was only slightly better than other engines is pure Hyatt bullshit. As Anthony Cozzie said four years ago:
Let me add one other thing: I'm talking about Rybka 1.0 Beta, that engine that took the chess world by storm and crushed everything that opposed it.
Anthony knew that because Zappa was one of the engines that was getting crushed that night. But it's always good to hear your revisionist history. Keep spewing, maybe somebody who wasn't there will believe you.
And it shows that Rybka was not 300+ elo stronger at that point. In fact, Fabien closed the gap. CCRL doesn't have the exact release dates that I could find, but we know when Fabien's last official (and unofficial) versions were released...
So, there is REAL rating/Elo numbers. +100 is not exactly "crushing" either...
I purchased Fruit 2.2 on October 9, 2005 and received Fruit 2.2.1 when it came out as an update. According to the Fruit web page, these were the last versions developed by Fabien:
Fruit is available for free for Windows, Linux and Mac OS X (Intel and PowerPC).
The latest version is Fruit 2.3 from Ryan Benitez, only available for Windows. It is based on Fruit 2.2.1 with further development from Ryan Benitez.
Fruit 2.2, 2.2.1, and the last beta from Fabien Fruit 05/11/03 (November 2005) are available for Windows, Linux and Mac OS X.
Fabien is no longer working on Fruit. Most of the changes since November 05 are done by
Ryan with permission of Fabien along with some review of code and discussion of ideas
When Rybka 1 Beta was released in early December, it crushed Fruit 2.2.1 and was so dominant that 90% of the people in the Chessbase engine room switched engines in one day (a feat never repeated).
So please explain why Fabien is deceiving us on his own web page, and then maybe you can convince everybody that was running engines in the Chessbase engine room that Rybka wasn't really crushing its opponents, and holding "No Rybka" tournaments wasn't really necessary.
Those were not the "last versions developed..." They were the "last versions distributed publicly.
There are several OTHER versions that were tested, particularly as Fabien was negotiating with Convecta...
The last version of Fruit rated came out a couple of months AFTER Rybka 1.0 beta... Why don't you check dates first???
Nobody cares about "the chessbase engine room." I am talking about the rating lists such as SSDF, CCRL, ChessWar, etc...
Once again you are too much of a moron to realize that what you are disputing is right off of Fabien's web page.
Nobody cares about "the chessbase engine room."
The Chessbase engine room is an excellent metric for both engine popularity and engine strength.
I am talking about the rating lists such as SSDF, CCRL, ChessWar, etc...
You're too much of a blithering idiot to understand that Anthony was right when he said:
I'm talking about Rybka 1.0 Beta, that engine that took the chess world by storm and crushed everything that opposed it.
Again, check some of the rating lists to see when they started to rate each version.
This is not rocket science. It is "secretary 101" to compare dates and times to see which one came last...
He references releases out to 2007 authored by his successor. You're just too stupid to read what he wrote on his own webpage.
This is not rocket science. It is "secretary 101" to compare dates and times to see which one came last...
Apparently you aren't up to the task.
I'm talking about Rybka 1.0 Beta, that engine that took the chess world by storm and crushed everything that opposed it.
There were no comparable engines for five years after the release of R1 Beta in December 05.
And this is what Fabien has posted on his website:
Fruit 2.2, 2.2.1, and the last beta from Fabien Fruit 05/11/03 (November 2005) are available for Windows, Linux and Mac OS X.
Fabien is no longer working on Fruit. Most of the changes since November 05 are done by
Ryan with permission of Fabien along with some review of code and discussion of ideas
Fruit 2.3 Ryan (including Beta versions 070327, 061115a, and 061115b) for Windows
These are further developments of Ryan Benitez based on the source code of Fruit 2.2.1
> Fabien is no longer working on Fruit. Most of the changes since November 05 are done by
> Ryan with permission of Fabien along with some review of code and discussion of ideas
>
And Ryan always told me that Rybka was fine.
Correction: a lot of chess players and engine players care about the chessbase engine room. They don't care, however, about Crafty.
SMK had people beta testing in the engine room on many occasions.
Anthony Cozzie was no stranger to the engine room and his book maker, Erdo, did a lot of Zappa testing there.
Vas certainly cared about maintaining Rybka dominance there, and Lukas did a lot of testing there several years ago.
Beta testing for Deep Sjeng, and the Deep Sjeng cluster were done in the engine room.
Of course authors only care when they are competitive...
you rascal, you.
Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill