Why are the Ippo derivative stronger than Stockfish?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: Why are the Ippo derivative stronger than Stockfish?

Post by lkaufman »

zamar wrote:
lkaufman wrote: An interesting question is what would happen if someone ported the SF eval to an IPP* derivative or the IPP* eval to SF, with appropriate changes to scale so margins are valid. Has anyone done so? Any opinions on what would happen in each of these two cases?
I think you are the man who should know, because you wrote IPPO's eval :-) IPPO's eval is much more complex than SF's eval (fx. SF has only one open file bonus, but IPPO has many different weights depending on piece blockade on the file. And there are many other fine tunings for different terms, as we both know).

At some point we tried to implement those IPPO's eval terms in SF, but their possible ELO strength increase seems to be so minor that our testing system is not enough accurate to reliably measure the improvement.

Of course we could just take everything at one shot, but we don't want to put SF on same legally grey waters on which IPP* is sailing.
The fundamental difference between Rybka 3 (and therefore Ippo's) eval and SF eval is that in Rybka 3 I tried to make the eval "right" in human terms and only grudgingly accepted "wrong" weights when they tested as better. In other words, it was a hybrid between my opinion and what tested best. But I believe SF weights are determined purely by what tested as best, with no regard to a human's opinion. So it's far from obvious to me that the Ippo weights actually produce a higher Elo than the SF weights, even if it is obvious that the Ippo weights are "better" from a human perspective. It would be very interesting if you (or someone else) made a SF version to test using the Ippo eval, as it would answer this question. If the Ippo weights tested as better, it would tell you that your method of determining eval weights is not so good. You would not have to copy the Ippo eval, you could then come up with a different method of setting eval weights that produced more reasonable-looking evals. But I won't be surprised if using Ippo weights hurts your Elo.
User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 12:00 pm
Location: Slovakia, EU

Re: Why are the Ippo derivative stronger than Stockfish?

Post by rvida »

mcostalba wrote: I don't agree. Houdini 1.03 _could be_ more or less Ippo cleaned up and refined, perhaps throwing in some SF stuff.

But Houdini 1.5 has some new tricks in IMHO, otherwise you cannot get 70 ELO jump only fine tuning an engine that, by the way, is already very well tuned.
About Houdini: I was curious too what makes Houdini so much stronger than rest of IPPO family. Disassembling an entirely unknown program is a _very_ hard task, but fortunately we have 90% of its sources and with them the task is much much easier.

I would feel very uncomfortable revealing in public what I have learned from H1.5, but take my word - almost all of the improvements are very IPPO specific and are not applicable to neither SF, Critter nor Komodo.
And some of them we already use and are not that original... e.g. rewarding safe queen contact checks in king safety evaluation (iirc I saw this already in glaurung 2.1?)

Richard
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: Why are the Ippo derivative stronger than Stockfish?

Post by lkaufman »

rvida wrote:
I would feel very uncomfortable revealing in public what I have learned from H1.5, but take my word - almost all of the improvements are very IPPO specific and are not applicable to neither SF, Critter nor Komodo.
And some of them we already use and are not that original... e.g. rewarding safe queen contact checks in king safety evaluation (iirc I saw this already in glaurung 2.1?)

Richard
How can you tell whether they would help Komodo. Although Komodo is not much like Ippo, we may be using some particular Ippo idea that is among the things Houdini has improved. Of course even if so we may have already found a similar optimization ourselves.
Anyway you confirm my opinion that Houdini is an optimized/improved Ippo derivative, so what is your opinion as to why Ippo and now Houdini are roughly a hundred Elo stronger than any unrelated programs of the same age (i.e. Houdini vs. SF 2 or Robbo vs. SF 1.5 or so)?
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: Why are the Ippo derivative stronger than Stockfish?

Post by Houdini »

rvida wrote:I would feel very uncomfortable revealing in public what I have learned from H1.5...
Just give appropriate credit in the next Critter release, for example "without ideas obtained by disassembling Houdini 1.5 this Critter version would not nearly have been as strong".

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

Re: Why are the Ippo derivative stronger than Stockfish?

Post by Houdini »

mcostalba wrote:P.S: Probably the correct (and honest) way to present the original question should have been: "Komodo is much weaker then SF and in Ippo although we have tried all the ideas both in SF and Ippo: how can do that ?"
:lol:
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Why are the Ippo derivative stronger than Stockfish?

Post by mcostalba »

Houdini wrote:
rvida wrote:I would feel very uncomfortable revealing in public what I have learned from H1.5...
Just give appropriate credit in the next Critter release, for example "without ideas obtained by disassembling Houdini 1.5 this Critter version would not nearly have been as strong".

Robert
Robert you are much more brave than me. If I were you I would probably keep quiet....and avoid such comments especially against one of the undoubtedly best original engine developers out there.

Just my 2 cents...


P.S: You, as me and many others are not in a position to blame disassembling of an engine given that we have took _a lot_ of ideas (someone more than others), from Ippo & friends sources that were very possibly insipired by a disassemble of a well known engine.
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: Why are the Ippo derivative stronger than Stockfish?

Post by Houdini »

Marco,
mcostalba wrote:Robert you are much more brave than me. If I were you I would probably keep quiet....and avoid such comments especially against one of the undoubtedly best original engine developers out there.
I don't question Richard's status, I suggest that he gives credit where credit is due.
In this thread you'll also find Komodo and Stockfish developers acknowledging using ideas from the Ippolit sources, why not give formal credit for this?
mcostalba wrote:P.S: You, as me and many others are not in a position to blame disassembling of an engine given that we have took _a lot_ of ideas (someone more than others), from Ippo & friends sources that were very possibly insipired by a disassemble of a well known engine.
Again, I didn't blame, I suggested giving credit.

Robert
Gian-Carlo Pascutto
Posts: 1243
Joined: Sat Dec 13, 2008 7:00 pm

Re: Why are the Ippo derivative stronger than Stockfish?

Post by Gian-Carlo Pascutto »

Houdini wrote: In this thread you'll also find Komodo and Stockfish developers acknowledging using ideas from the Ippolit sources, why not give formal credit for this?
You mean something like: "We use ideas debuted in Rybka 3 and obtained through reverse engineering"?
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Why are the Ippo derivative stronger than Stockfish?

Post by mcostalba »

Houdini wrote: Again, I didn't blame, I suggested giving credit.
Robert, I think you've done a good job with Houdini, actually you are the only one that was able to obtain such a big boost out of Ippo. So I have already written and I have no problem to write again that I think you deserve sure credit for the improving you got with Houdini.

But I don't think would be correct to align all the developers on a single line: "let everybody give credit to Ippo becuase everybody took ideas from that !".

I think is not correct doing so because we blur the line between taking ideas and taking more than that.

If Richard says that Houdini was easy to disassemble because he already got 90% of source code, this for me is an important fact, also because I trust a lot Richard and I know he is not the guy that gives random numbers....

Now I stop because I think you already got the message. Anyhow let's make a funny deal: you write on your site that you started out of Ippo sources and we write on our that we have took ideas from Ippo :-) What do you think ?
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: Why are the Ippo derivative stronger than Stockfish?

Post by Houdini »

Gian-Carlo Pascutto wrote:You mean something like: "We use ideas debuted in Rybka 3 and obtained through reverse engineering"?
No, people should give credit for what they effectively used.
I give credit to Ippolit, Stockfish and Crafty because these engines are what I studied. How and why these source codes have been constructed is beyond my knowledge, your guess is as good as mine.

Robert