BB's Rybka/Ippolit comparison

General discussion about computer chess...
Post Reply
Chan Rasjid
Posts: 33
Joined: Thu Jun 10, 2010 4:41 pm
Real Name: Chan Rasjid

Re: BB's Rybka/Ippolit comparison

Post by Chan Rasjid » Mon Jun 14, 2010 9:35 am

BB+ wrote: ...
Incredibly detailed proof that Ippolit is not a reverse-engineered Rybka!
Depends on what you mean by "reverse-engineered"... 8-) I would find it wholly plausible that IPPOLIT is a "reverse-engineered Rybka with many changes", and indeed I would assert that the IPPOLIT maker(s) certainly knew much of the internal workings of Rybka. It is not, however, merely a "code-based" copy therein (and my recollection is that the claim, at least at one point, was that code of Rybka appeared in IPPOLIT). I see no way to differentiate as to whether IPPOLIT "started from scratch" and implemented Rybka-like-parts one-by-one, or "started as a functional equivalent to Rybka" and then was modified (rather substantially). There are a few clues, for instance IPPOLIT computes Crafty-style bitboards at startup (as opposed to just having huge arrays in the executable), to indicate that at least some parts of IPPOLIT are completely independent (code-wise) from Rybka.
...
So what this meant is that in the end, no one will ever know if ippolit is "reversed-engineered" from Rybka, EXCEPT THE AUTHOR OF IPPOLIT HIMSELF.

Reverse engineering may be understood in the simplest of manner without bickering about semantics - looking into the binaries of a program to study its working. No one ever accused Fabien or Bob Hyatt about peeking into the binaries of the earlier top programs like Shredder or Fritz to learn about their workings. It is a question of trust.
In the case of Ippolit, even if it appears the author of Ippolit seem to know much about the internal workings of Rybka, it is still just a very probable guess. There is still the no-so-probable that he is a genius. But the detractors can call upon the very strong argument that the Ippolit author is anonymous.

Rasjid

User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Re: BB's Rybka/Ippolit comparison

Post by Rebel » Mon Jun 14, 2010 9:47 am

BB+ wrote: Yes, the timing of certain events has always been a background issue involving these "clones" (for instance "Yakov" seems to have first appeared about a week after Jury Osipov claimed in a Russian forum to have an engine that was 50 ELO better than Rybka 3 -- and then IPPOLIT went viral about 2 days after "Yakov" started speaking "Spanish") -- however, in this case, I finished that document in mid-May (about six months of on/off --mostly off-- preparation), and posted it on Zach's secret forum. He took a couple of weeks to read it (busy with WCCC -- he had told me back in March of his Zappa connection), and then asked for permission to post it elsewhere. This was already done a few weeks ago; Zach can speak for himself, but my impression is that he was just busy with other things between when he offered to post it on TalkChess and when it appeared here. Of course, to the conspiracy theorist, exploiting coincidences to their maximal impact is a known political technique. :twisted:
Hello BB,

You by accident aren't Brigitte Bardot? The only BB I know :mrgreen:

Kidding aside, moving into conspiracy mode, the connection to Zappa is interesting. Is it possible there never was a real Rybka but that Anthony made a deal with Vas to commercialize Zappa under the name of Rybka, Vas acting like a kind of agent (distributor) for Anthony doing all the "other" stuff, Anthony having his hands free for programming. And somewhere in time they got a conflict, money issues, whatever... Then Anthony (disappointed, angry, out of revenge, whatever...) released his sources, free for everybody so Vas not easily can make new money.

It would explain a couple of things:

1) The absence of the promised Rybka 3 update, Vas not having the sources because he never had any sources of Rybka. Only executables to test were send to Vas.

2) The incredible big elo jump Rybka 1.0 beta made during its initial release, from a low ranked engine suddenly at top. That has been never seen before in the history of computer chess.

Another more softer version:

Anthony gave his sources to Vas, do what you want with it, but he also gave it to others.

Ed

gbh
Posts: 2
Joined: Mon Jun 14, 2010 10:15 am
Real Name: gbh

Re: BB's Rybka/Ippolit comparison

Post by gbh » Mon Jun 14, 2010 10:25 am

I noticed most of the document is structured: "Rybka does it like this, but IPPOLIT does it like that..', or "Rybka does it like this, while IPPOLIT does...." But at one point author writes: "Rybka has extra bonuses [..... ], but I ignore these". Not IPPOLIT but _I_, the author of the report.

Is BB the author of IPPO or am I reading it wrong? He may just have forgotten to replace _I_ with _IPPOLIT_ at that place is my guess.

User avatar
Chris Whittington
Posts: 437
Joined: Wed Jun 09, 2010 6:25 pm

Re: BB's Rybka/Ippolit comparison

Post by Chris Whittington » Mon Jun 14, 2010 10:32 am

BB+ wrote:
there is the possibility that the Rybka code and the IPPOLIT code were written substantially by the same person/team, if I was investigating this, that's were I would put a strong line of questioning and research
I disagree with this. Why bother making so many changes if so, such as reordering the pieces, changing hash entries from 64-bit to 128-bit, etc. My take on the "goal" of IPPOLIT was to write something that was substantially un-Rybka-like if one investigated it with a fine-tooth comb, but to release it such a way that made it "obvious" that it was a clone. [Why, for instance, did IPPOLIT go unmentioned from May to October --- could the programmers not find a forum for it? Well, maybe the authors gave up, as everyone thought they were kooks akin to "Ben Lau", but more likely they wished to play-up the "censorship" angle -- but I would rather stick with facts, as opposed to psychological speculation].

Firstly, congratulations on a fine report - the whole computer chess community should be grateful to you for it.

Reading the report quickly at first (I like to do this to get a 'feeling'), gave me two feelings

a) that from a top-down perspective both programs were quite similar

b) from a bottom up perspective both were quite different

and these feelings/conclusions remained on second, slower reading. In a sense top-down similarities are going to be about ideas, while bottom-up similarities would point to code copying. It's also going to be true that all chess programs are going to show top-down similarities by the very nature of the process and ideas known and so on, but this one gave me a feeling there was more, and I rationalised that to the idea that maybe there was a common developer involved somehow, or that both programs came from the same school. Just a feeling and maybe quite random.

If it were the same programmer, I don't find the 'differences' (you mention hash, piece order and so on) strange. At the end of a long iterative development process (several versions) one always has some unsatisfactory elements which are set in concrete somehow and difficult to change. The start again approach (which would probably be used by a departing programmer) is quite likely to lead to the sort of 'differences' you mention, simply because it is start-again and the unhappy set-in-concrete stuff cries out to be changed and can be easily changed.

I do agree with your pointing to the 'political aspects' of IPPOLIT. I see it myself for obvious reasons, but, for them, this was not just a program but a political statement delivered with an anarchic sense of humour and it was obvious to me at least right from the start that this was no stupid copy but an astonishing project by some very creative and funny guys having a lot of fun on the way. They set out to turn the world upside down and while some humourless ones may dislike their supposed anti-capitalist approach or their alleged intention to bring down the commercial side of computer chess, actually, bringing down the commercial side has been a strong thread in computer chess ever since I've been around, and is probably pretty much achieved by now.

So, for me anyway, the mixture of very high technical skill levels and knowledge, the mix with the slightly insane anarcho-politics and the lengthy determination to keep going in the face of censorship, abuse, bannings and lies all suggest a very bright and determined person(s) with a very strong personal investment brought about by some sort of personal contact that went sour. A man on a mission with all the strength brought about by being right while the mass of others was wrong. This guy, being right, was never going to be a copying cheat.

Jeremy Bernstein
Site Admin
Posts: 1226
Joined: Wed Jun 09, 2010 7:49 am
Real Name: Jeremy Bernstein
Location: Berlin, Germany
Contact:

Re: BB's Rybka/Ippolit comparison

Post by Jeremy Bernstein » Mon Jun 14, 2010 10:34 am

gbh wrote:I noticed most of the document is structured: "Rybka does it like this, but IPPOLIT does it like that..', or "Rybka does it like this, while IPPOLIT does...." But at one point author writes: "Rybka has extra bonuses [..... ], but I ignore these". Not IPPOLIT but _I_, the author of the report.

Is BB the author of IPPO or am I reading it wrong? He may just have forgotten to replace _I_ with _IPPOLIT_ at that place is my guess.
As in "I, the author of the report, ignore the extra bonuses, because they are irrelevant to a comparison of IPPOLIT and Rybka (they are not present in IPPOLIT)".

gbh
Posts: 2
Joined: Mon Jun 14, 2010 10:15 am
Real Name: gbh

Re: BB's Rybka/Ippolit comparison

Post by gbh » Mon Jun 14, 2010 10:40 am

Jeremy Bernstein wrote:
gbh wrote:I noticed most of the document is structured: "Rybka does it like this, but IPPOLIT does it like that..', or "Rybka does it like this, while IPPOLIT does...." But at one point author writes: "Rybka has extra bonuses [..... ], but I ignore these". Not IPPOLIT but _I_, the author of the report.

Is BB the author of IPPO or am I reading it wrong? He may just have forgotten to replace _I_ with _IPPOLIT_ at that place is my guess.
As in "I, the author of the report, ignore the extra bonuses, because they are irrelevant to a comparison of IPPOLIT and Rybka (they are not present in IPPOLIT)".
I'm not sure at all about that intepretation allthough it crossed my mind. In those cases he always writes it down like: "Rybka then has a second condition for this “move-skipping” that IPPOLIT does not do at CUT nodes", instread of: "Rybka then has a second condition for this “move-skipping” but I ignore this one".

Robert Flesher
Posts: 53
Joined: Thu Jun 10, 2010 3:16 pm
Real Name: Robert Flesher

Re: BB's Rybka/Ippolit comparison

Post by Robert Flesher » Mon Jun 14, 2010 12:43 pm

Rebel wrote:
BB+ wrote: Yes, the timing of certain events has always been a background issue involving these "clones" (for instance "Yakov" seems to have first appeared about a week after Jury Osipov claimed in a Russian forum to have an engine that was 50 ELO better than Rybka 3 -- and then IPPOLIT went viral about 2 days after "Yakov" started speaking "Spanish") -- however, in this case, I finished that document in mid-May (about six months of on/off --mostly off-- preparation), and posted it on Zach's secret forum. He took a couple of weeks to read it (busy with WCCC -- he had told me back in March of his Zappa connection), and then asked for permission to post it elsewhere. This was already done a few weeks ago; Zach can speak for himself, but my impression is that he was just busy with other things between when he offered to post it on TalkChess and when it appeared here. Of course, to the conspiracy theorist, exploiting coincidences to their maximal impact is a known political technique. :twisted:
Hello BB,

You by accident aren't Brigitte Bardot? The only BB I know :mrgreen:

Kidding aside, moving into conspiracy mode, the connection to Zappa is interesting. Is it possible there never was a real Rybka but that Anthony made a deal with Vas to commercialize Zappa under the name of Rybka, Vas acting like a kind of agent (distributor) for Anthony doing all the "other" stuff, Anthony having his hands free for programming. And somewhere in time they got a conflict, money issues, whatever... Then Anthony (disappointed, angry, out of revenge, whatever...) released his sources, free for everybody so Vas not easily can make new money.

It would explain a couple of things:

1) The absence of the promised Rybka 3 update, Vas not having the sources because he never had any sources of Rybka. Only executables to test were send to Vas.

2) The incredible big elo jump Rybka 1.0 beta made during its initial release, from a low ranked engine suddenly at top. That has been never seen before in the history of computer chess.

Another more softer version:

Anthony gave his sources to Vas, do what you want with it, but he also gave it to others.

Ed

Ok then, my turn! Only because conspiracys can be fun :mrgreen:

I surmise that the pseudonym "BB" is actually short for BB King, therefore, Johan de Koning must be the real identity of BB. See reference to , "The King", below.


In 1987, Johan de Koning (de Koning is Dutch for “The King”) started writing chess programs. The first version of “The King” was running on a 68000 processor, which had been introduced in microcomputers shortly before. Always trying to improve performance, The King was rewritten for the ARM-family of RISC-processors and finally for the Intel 80X86-family.

From the start, The King was given an attractive and enterprising playing style. Unlike many other computer programs, The King actively seeks attacking possibilities and is ready to sacrifice material not only on tactical, but also on positional grounds. Results and playing strength of the program steadily increased, and it has been among the world’s strongest ever since 1990.


If anyone was going to solve this huge mystery, of course it would be "Chessmaster" !! :lol:

Jeremy Bernstein
Site Admin
Posts: 1226
Joined: Wed Jun 09, 2010 7:49 am
Real Name: Jeremy Bernstein
Location: Berlin, Germany
Contact:

Re: BB's Rybka/Ippolit comparison

Post by Jeremy Bernstein » Mon Jun 14, 2010 1:27 pm

The predictable "shoot the messenger" reactions are starting up. From Vas's buddy "Kullberg" on rybkaforum:
I read this pdf. It makes clear the author disassembled / decompiled Rybka 3. And he has quite some knowledge about programming of chess engines. He concentrated on finding differences between Rybka and Ippolit. It's very easy to find such differences if you put them in yourself.

My first thought now is: is BB the cloner? Is he trying to legalize the clone code to make money out of it?
Would anyone disassemble Rybka only to write a few pages in a forum? Understanding disassembled code is hard work.

Just some thoughts
Then we have the "I don't get it, so I'll just ignore it" reaction. "M ANSARI" says:
actually saw the link on CCC and took a quick read, and to be honest there is almost nothing that I can understand. Most likely it would take someone with programming experience to look into what was written and either debunk it or confirm it. I also read some posts by some who tried to make sense of all of this, and have to admit some were pretty outrageous. I mean the idea that Rybka is a "team effort" is simply not true, it is pretty much a one guy show. Now you could say that Vas might have a split personality that he is not even aware of, and that dark side in him might have come up with the code just to piss the light side of him ... I mean anything is possible. Or maybe his wife got pissed off at him because he was not giving her quality time ... and that was a way to get even. Or maybe someone stole Vas's source of R3 and tried to used it to extort money from him and when Vas didn't play ball he did Ippolit to spite him. Now taking this as a non-programmer and after EXTENSIVELY (emphasis extensively) testing and testing and again testing different positions and probing different weaknesses ... I as a chess engine enthusiast have absolutely no doubt that Ippolit based engines and Rybka 3 are directly linked.

What is also certain is that Zach and BB both have said that Ippolit strength comes from R3 (at least I know for sure that Zach can be quoted word for word on that). Chris W seems to think that it is by the same author or authors as R3, and ironically the disassembler of the Rybka beta who came up with the first Rybka clone Strelka is almost 100% sure that it could have only be written by Vas himself.

Let the conspiracy theories roll :D
And I guess we'll be arguing about this for the next 2-3 years. Thank you very much, BB, for presenting this document. I had a chance to scan it while watching the Germany game last night, and I appreciate the level of detail you provide (I find the information about data structures, bitwidths and bit usage particularly convincing, as a RE hack job would most likely never bother to change these underlying details, even if higher-level changes managed to alter output in the direction of unrecognizability). I don't pretend to understand the particulars of chess engine design -- it's not my corner of the programming universe -- but I'm looking forward to more reactions from those who do.

Jeremy

User avatar
Matthias Gemuh
Posts: 295
Joined: Wed Jun 09, 2010 2:48 pm
Contact:

Re: BB's Rybka/Ippolit comparison

Post by Matthias Gemuh » Mon Jun 14, 2010 1:54 pm

Some otherwise fairly competent people out there are allowing their commercial interests to cloud their understanding of this wonderful BB report.

What a pity :evil: !

Matthias.
Aided by engines, GMs can be very strong.
http://www.hylogic.de

User avatar
kingliveson
Posts: 1388
Joined: Thu Jun 10, 2010 1:22 am
Real Name: Franklin Titus
Location: 28°32'1"N 81°22'33"W

Re: BB's Rybka/Ippolit comparison

Post by kingliveson » Mon Jun 14, 2010 2:02 pm

Gian-Carlo Pascutto AKA GCP the amateur chess programmer author of commercial SJENG is being coy.
Steve wrote: in your opinion
given
1)the BB report
2) Vas's recent email posted here with his permission

is there any reason for Ippo to be treated any differently here then say Fritz or Hiarcs?
that is to say..
should links be allowed and should discussion of these engines now be in a forum open to the public(unregistered lurkers)?
the EOC forum was created and made hidden as a compromise between those certain that the engine was an illegal clone and those unsure

give the events of the last few days i am finding it hard to justify the treatment of Ippo differently then all other engines
just your opinion

it is the opinion of programmers like yourself ,Hyatt,Matthias..etc etc that should weighed heavily on this issue
and the rest of us talking heads just should listen(hard to do on an Internet forum)
Regards
Steve
GCP wrote: I don't know. The matter is not clear to me, as we do not know the full truth.

What I do know, is that suing anonymous authors for copyright infringement is practically as good as impossible.

What is not impossible, is to sue people who are known by name, and who own a business hosting a forum. So I fully understand the forum owners that they are very careful here: *they*, and not the Ippolit people, are vulnerable if it is illegal.

Vasik clearly called Ippolit illegal, and the Ippolit authors did not respond.

In these circumstances, I would do the same thing as the forum owners here. If someone feels differently, they're free to set up their own forum so they can get the cease & desist notices for themselves.
Imagine being asked "when did you stop beating your wife?" Think about it for a second -- you lose regardless of your answer. Vasik originally claimed Ippolit was clone of Rybka. Then yesterday he says, Ippolit is disassembled Rybka with considerable changes. GCP says Ippolit authors never responded to the charges -- not true. The authors responded refuting clone claims and it's on their website. What GCP failed to say is no shred of proof has ever been offered by the accuser. And of course, there is still Rybka/Fruit GPL code violation that is quite clear.
PAWN : Knight >> Bishop >> Rook >>Queen

Post Reply