Robodini Q&A

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

Moderators: hgm, Rebel, chrisw

User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 12:00 pm
Location: Slovakia, EU

Robodini Q&A

Post by rvida »

Please accept my apologies for the confusion I unwillingly created. This unfortunate Robodini thing got way more attention than it really deserves. I got a lot of questions regarding this by emails/pms/whatnot, so I decided to answer them all in a single forum post in the form of a FAQ document.

Q: Robodini is a clone of Houdini3?
A: Yes, that was the intent

Q: Robodini is a hex-edited/packed/modified H3 binary?
A: No. It was compiled from source code (written by me) and packed with MPRESS(64bit)/UPX(32bit). Compression ratio is close to 2.5:1

Q: Why that funny name?
A1: The name "Robodini" was inspired by dr. Wael Deeb
A2: I thought this name will fit the origin of Houdinis code base
A3: I realized that there is a typo - "Robbodini" would be more adequate ;)

Q: Are you serious about this engine?
A: No. In fact, I think it is pretty useless. It lacks many features of a full-blown chess engine. No SMP, no EGTB support, etc... Honestly, I don't want to see anybody wasting his time seriosly testing it.

Q: Is your Robodini stronger than H3?
A: Definitely not. At the source code level it has the _potential_ to be _at most_ equal to H3. But the published binary is some 10-12% slower than H3, plus I am sure there are some hidden bugs (it is almost impossible to write bug-free code in such a short time)

Q: What was your motivation to write such a "monstrosity"?
A1: It was a bet inspired by a discussion on the Rybka forum. Some people didn't believe it is doable.
A2: Besides that, I really (i mean REALLY) wanted to show how easy job is this given Houdinis origins. (With a truely original engine it would be almost impossible to do a decent RE in such a short time. Having Robbolito source code at my disposal was really essential.

Q: Please, will you release a multi-threaded version?
Q: Are you planning to develop Robodini further?
A: No. I won the bet, and I am done. The published version 1.1 is the last. There will be no SMP, no FiftyDistance, no MateSearch, no EGTBs, no whatever... If you want a full-blown engine, please consider purchasing the real thing (H3), or download a free alternative.

Q: Why is the executable so small?
A: One of the terms of our bet was (to prevent me cheating by hex-editing???) to produce an executable smaller in size than the compressed "material table" in the H3 binary. My challenger wanted to be sure I really did my job thoroughly :). In fact this gave me quite a bit of headaches. I am not really good at maths and it took a considerable amount of time until I derived the correct formulas for the H3 material table. I don't want to do it again...

Q: How close is the R1.1 evaluation to H3?
Q: I ran R1.1 through Don's similarity tester and it is incredibly close to H3. Why is that?
A: They are as close as possible. When fed by random middlegame positions, both engines should give exactly same moves/evaluations/node counts during at least one second or one million nodes. (1-thread, same hash sizes, and both engines restarted between searches). This was one of the terms of the bet. Due to a bug in H3 which is very hard to reproduce node counts may differ after some millions of nodes.

Q: Why you have published a cloned engine?
A: In order to claim my win on the bet I was supposed to publish a working binary on a public chess forum. I deliberately choose the Immortal forum (even the russian section) in the hope that there it will not attract too much publicity... Alas, I was mistaken - it seems once something is published, the community won't be ignorant.

Q: You did this to hurt mr. Houdart?
A: No. Although I do have some ethical objections against mr. Houdart, I think this release won't harm his sales nor his ego.

Q: How much time you spent writing this engine?
A: 3-4 hours per day for 2 weeks. It was certainly less than 80 hours. But agian, without Robbolito codebase it would be impossible in such a short time...

Q: How you did it?
A: I took the Robbolito sources and backported all the changes Robert made.

Q: Are you willing to publish source code?
A: No. Despite R1.1 being a H3 clone, it contains a lot of boilerplate code that is (c) by me. I hate the Robbodini coding style - I had to replace it with something more readable/maintainable while preserving its functionality.

Q: Can you improve H3?
A: I don't know. I won't try. I discovered several bugs, most of them are inconsequential. Only one of them affects the gameplay seriously, but it is not unimaginable that by fixing it the engine might become weaker...
melajara
Posts: 213
Joined: Thu Dec 16, 2010 4:39 pm

Re: Robodini Q&A

Post by melajara »

Amazing :lol:

Did you use Hopper or IdaPro for RE?

Now, did this excursus teach you something valuable for the further development of Critter?

Btw, how is Critter? Any plans for an update?

Very best regards.
Per ardua ad astra
User avatar
Master Om
Posts: 449
Joined: Wed Nov 24, 2010 10:57 am
Location: INDIA

Re: Robodini Q&A

Post by Master Om »

You found Bugs in Houdini 3 ? Does it affect in analysis ?
Always Expect the Unexpected
User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 12:00 pm
Location: Slovakia, EU

Re: Robodini Q&A

Post by rvida »

Master Om wrote:You found Bugs in Houdini 3 ? Does it affect in analysis ?
One of the bugs was already discussed here - the one which caused 32bit version to produce different analysis than the 64bit one. H3 modifies the value of a knight depending on "pawn spread" (the file distance between leftmost and rightmost pawn). Due to a bug it tries to apply this term even when no pawns are present on the board which gives an undefined result (this happens to be zero in the 64bit version but nonzero in 32bits).

Other bug which might affect analysis is much harder to explain. When the side to move has already a position much better than the "best-so-far", and the opponent does not immediately threaten his king, search on the given branch may terminate prematurely, sparing some nodes. This is called static null-move pruning. But (if I didn't overlook something) the variable tested for the "threat on my king" belongs to a one-ply-deeper position which is in many cases completely unrelated to the current one.
IanO
Posts: 496
Joined: Wed Mar 08, 2006 9:45 pm
Location: Portland, OR

Re: Robodini Q&A

Post by IanO »

What were the terms of the bet? What did you win?

Thank you, Richard. Sadly, this lays my doubts to rest regarding the origins of Houdini, far more than any of the other statistical similarity tests that have been presented.

...

I am tempted to make you a similar bet regarding Rybka 3 and Strelka or Ippolit... As it stands, there is a mountain of proof linking Rybka beta and Fruit/Crafty, but less evidence that subsequent Rybkas were not completely rewritten. I haven't looked, but are Ippolit and Strelka considered to be closer to Fruit or to Rybka 3?
User avatar
Master Om
Posts: 449
Joined: Wed Nov 24, 2010 10:57 am
Location: INDIA

Re: Robodini Q&A

Post by Master Om »

rvida wrote:
Master Om wrote:You found Bugs in Houdini 3 ? Does it affect in analysis ?
One of the bugs was already discussed here - the one which caused 32bit version to produce different analysis than the 64bit one. H3 modifies the value of a knight depending on "pawn spread" (the file distance between leftmost and rightmost pawn). Due to a bug it tries to apply this term even when no pawns are present on the board which gives an undefined result (this happens to be zero in the 64bit version but nonzero in 32bits).

Other bug which might affect analysis is much harder to explain. When the side to move has already a position much better than the "best-so-far", and the opponent does not immediately threaten his king, search on the given branch may terminate prematurely, sparing some nodes. This is called static null-move pruning. But (if I didn't overlook something) the variable tested for the "threat on my king" belongs to a one-ply-deeper position which is in many cases completely unrelated to the current one.

Now I Understand when U said Harder to explain!!. In a layman Language its something related to ignoring threats on the own king when it thinks its clearly better than the opponent ?
Always Expect the Unexpected
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Robodini Q&A

Post by jdart »

rvida wrote: I took the Robbolito sources and backported all the changes Robert made.
How do you know what those are?

--Jon
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: Robodini Q&A

Post by Houdini »

rvida wrote:Q: Robodini is a clone of Houdini3?
A: Yes, that was the intent
After your and Jury Osipov's reverse engineering of Houdini 1.5 and the production of Strelka 5, there is a strong feeling of "déja vu".

Oddly you failed to mention in your Q&A that for over 18 months you've had access to the RE Houdini 1.5 sources provided by Jury Osipov, and that this most certainly is 100 times more relevant for RE'ing Houdini 3 than your quoting some unknown Robbolito sources...

Based on past experience, let me predict the near future:
1) In a couple of weeks or months you'll release Critter 1.8 or Critter 2.
2) It will feature a nice Elo jump of, say, 40 Elo. You will feign indignation at any suggestion that the Elo jump would be in any way related to the RE of Houdini.
3) In the similarity diagram the new Critter will be very close to Houdini 3, just like Critter 1.4 and 1.6 are indistinguishable from Houdini 1.5 (and Strelka 5). Again you will feign outrage at mentioning this simple fact, claiming that the 99% similarity with Houdini is the result of using identical PST (LOL).
4) Afterwards Critter progress will once again stall... probably until the release of Houdini 4 and subsequent RE.

That's my bet... let's see in a couple of months whether I win it :).

While RE'ing Houdini seems to you a fun thing to do and has given you some nice forum exposure over the last 18 months, all the evidence suggests that it has killed any originality in chess engine development you previously had. Critter 0.9 was a great engine, unfortunately afterwards you've turned it into a weak Houdini clone.

Robert
User avatar
pohl4711
Posts: 2434
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Robodini Q&A

Post by pohl4711 »

Houdini wrote:
rvida wrote:Q: Robodini is a clone of Houdini3?
A: Yes, that was the intent
After your and Jury Osipov's reverse engineering of Houdini 1.5 and the production of Strelka 5, there is a strong feeling of "déja vu".

Oddly you failed to mention in your Q&A that for over 18 months you've had access to the RE Houdini 1.5 sources provided by Jury Osipov, and that this most certainly is 100 times more relevant for RE'ing Houdini 3 than your quoting some unknown Robbolito sources...

Based on past experience, let me predict the near future:
1) In a couple of weeks or months you'll release Critter 1.8 or Critter 2.
2) It will feature a nice Elo jump of, say, 40 Elo. You will feign indignation at any suggestion that the Elo jump would be in any way related to the RE of Houdini.
3) In the similarity diagram the new Critter will be very close to Houdini 3, just like Critter 1.4 and 1.6 are indistinguishable from Houdini 1.5 (and Strelka 5). Again you will feign outrage at mentioning this simple fact, claiming that the 99% similarity with Houdini is the result of using identical PST (LOL).
4) Afterwards Critter progress will once again stall... probably until the release of Houdini 4 and subsequent RE.

That's my bet... let's see in a couple of months whether I win it :).

While RE'ing Houdini seems to you a fun thing to do and has given you some nice forum exposure over the last 18 months, all the evidence suggests that it has killed any originality in chess engine development you previously had. Critter 0.9 was a great engine, unfortunately afterwards you've turned it into a weak Houdini clone.

Robert
I really 100% agree with that. When you look in my LS ratinglist, you can see, that Critter 1.6a and Strelka 5.5 have nearly identical results (and draw-rate!) after 28000/29000 games...So I believe, that Critter 1.6a contains a lot of Strelka 5.5...

http://ls-ratinglist.beepworld.de/

Best - Stefan
User avatar
Sylwy
Posts: 4465
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: The attack of clones

Post by Sylwy »

Houdini wrote:
A.-In a couple of weeks or months you'll release Critter 1.8 or Critter 2.
B.-Critter 0.9 was a great engine, unfortunately afterwards you've turned it into a weak Houdini clone.

Robert

A.-Nope ! Will be Robodinello Sublimello 1.0 !!! The clone of Houdinello Futurello number три !!! Which is the clone of a clone...............
In nomine Patris, et Filii, et Spiritus Sancti Amen !

B.-Fear ? :roll: Maybe Sublimello will be commercial !

:lol: :lol: :lol:


Robodinello regards,
SilvianR :wink: