Allow steroids

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

Moderators: hgm, Rebel, chrisw

Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Allow steroids

Post by Milos »

hgm wrote:The fact that you continue to stress this, suggest you have really no idea as to how stupid a statement that is.

Of course Vas cannot easily improve Rybka. Because it is his own program! If he could improve it, he would already have done so. He put every trick in there he knows, so he is out of tricks.

But other top programmers know other tricks, that Vas has never heard of (like they don't know all Vas' tricks). By adding the tricks they know, and Vas didn't, they can quite easily improve it. While Vas himself could never add the tricks he didn't know.

Your statement just reveals that you have no clue at all what is involved in the development of a Chess engine.
You claim Ippo is essentially Rybka so improving Ippo for Vas would be the same as improving Rybka if you were able to follow logic based on your own premises.
I don't know if failing basic logic qualifies you to being stupid, but knowing some chess programming doesn't help you much looking better in that regard...
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Allow steroids

Post by hgm »

Where have I claimed that? It seems you confuseme with Vas, now...
benstoker
Posts: 342
Joined: Tue Jan 19, 2010 2:05 am

Re: Allow steroids

Post by benstoker »

Don wrote:There is a discussion on the Ippolit forum about the changes he made to obfuscate what he had done,
Don, can you please post the link to the "Ippolit forum" where that discussion is? Is that the Russian site or the wikispaces deal? Thx.
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Allow steroids

Post by Milos »

hgm wrote:Where have I claimed that? It seems you confuseme with Vas, now...
Really?
hgm wrote:my current opinions on this are:
* Rybka is a legal derivative of Fruit
* Ippolit is an illegal derivative of some later Rybka
So how would Vas be capable to improve derivative of his own Rybka (according to your opinion) for 60-70 Elo in 6 months, when he's not capable to improve his own Rybka for more than 40 Elo in 2 and a half year???
Could you tell us that Mr. Smart Chess Programmer?
Last edited by Milos on Tue Feb 15, 2011 8:25 pm, edited 1 time in total.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Allow steroids

Post by Don »

Milos wrote:
Don wrote:Every reasonable chess programmer (who uses good testing methodology and is reasonable talented) can improve on Ivanhoe. For example if the Stockfish team started with Ivanhoe I am positive they would find some substantial improvements. So could Gian-Carlo, Vas, and ANY of the good engineers in computer chess.
When you will stop repeating this BS???
It took Vas two and a half years to improve Rybka for less than 40 Elo. Allegedly his own engine. And you think he could improve Ippo for 60-70 Elo as Robert did in six months???
There are several issues here:

1. I personally believe it's easier to improve somebody else's engine than your own because you get the benefit of HIS ideas as well as your own.

2. Your statement about how long it took Vas to gain 40 ELO or less is conjecture and doesn't matter anyway due to point 1 above. None of us really knows how much of that time Vas spent working on the code. Although my own personal work ethic is much more consistent these days, I can say that most of the work I have done on computer chess in the past is focused on short intense periods where I did not even want to go to bed. Many of my chess programs were developed in a relative short burst of intense inspiration followed by work on other things or just laziness.

3. I think it's very likely that Vas held back his best version. He stated that he intended to do that so it's likely that he did. We know his plan is to have the cluster Rybka and whether this is a good idea or not, it sure makes sense to me that he would have resevered his best stuff for that.

Also, Vas feels that he was burned by the reverse engineering. From your own point of view his achievements based on Fruit is proof of his brilliance and originality, so surely Vas would be highly motivated to not put out his very best. It's VERY likely that he held something back from Rybka 4. I personally don't think he wanted to even release Rybka 4 but I don't really know.

I really don't want to bash you or offend you on this, but you ARE being naive about how this works. You have a very simplistic mental model of the computer chess development process. It's mostly about very hard work, combined with state of the art ideas that EVERYONE has access to, and a few good idea of your own, most of which are just clever variations of existing ideas. It's more about the engineering process and incrementally testing and adding to what already exists. For most programmers what already exists is the current version of their own source code. For the plagiarists it's starting at the top. The analogy of butting in at the front of the line is not the least bit exaggerated or strained - it's very much on the mark and you have seen other programmers verify this, not just me.

Common sense should tell you that if I have the source code to Houdini for example, I can make any changes I want, and discard anything that doesn't make the program weaker. If the change doesn't make it stronger or weaker, I will keep the change so that the program looks different. Any of the top guys know how to make a substantial number of changes that are of the nature that it won't make much difference at all, but it will change the code. And of course it isn't difficult to obfuscate a few things, although I think these guys are finding out that it's more difficult that it might seem to hide the truth.

I think a real tough issue for the cloners is evaluation. That is REALLY hard. You cannot build a top notch evaluation from scratch without months of effort. The cloners know that they cannot change it substantially without suddenly weakening the program and that it requires a huge amount of hard work so most of them try to make a few fundamental changes to keep it from being completely obvious and then incrementally improve it from that point on. It's not that hard to improve the evaluation function, it's just very tedious and each step is painful.
You are either playing stupid or just malicious.
I'm being realistic. I'm try to explain how the process works.
Since version 1.7.1 more than six months ago, when they exhausted all the ideas from Ippo, SF hardly improved for more than 20 Elo.
You are incapable to improve your own engine (which is 200 Elo weaker than Houdinin) for 50 Elo in a full year despite all the Ippo/Ivanhoe sources and Larry's help. What the hell are talking about then???
You don't feel very good about yourself do you?
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Allow steroids

Post by Don »

benstoker wrote:
Don wrote:There is a discussion on the Ippolit forum about the changes he made to obfuscate what he had done,
Don, can you please post the link to the "Ippolit forum" where that discussion is? Is that the Russian site or the wikispaces deal? Thx.
The subject is "Houdini's NOT by Robert Houdart"

Here is where it is posted:

http://ippolit.wikispaces.com/message/v ... t/34059140

Don
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Allow steroids

Post by hgm »

Milos wrote:Really?
hgm wrote:my current opinions on this are:
* Rybka is a legal derivative of Fruit
* Ippolit is an illegal derivative of some later Rybka
So how would Vas be capable to improve derivative of his own Rybka (according to your opinion) for 60-70 Elo in 6 months, when he's not capable to improve his own Rybka for more than 40 Elo in 2 and a half year???
Could you tell us that Mr. Smart Chess Programmer?
For one, note that this is only forwarded as opinion. The only one in a position to caim anything about this is Vas. Secondly, it says derivative, which is not the same as identical copy, and secondly, it says later, not latest. If it was not derived from the very latest, an easy start for Vas would be to implement all improvements he made since the version from which it was derived. Then if any new ideas were added (and Ippolit was claimed to be stronger than Rybka at the time), he has new material to work with, (optimize the ideas, with the aid of his presumably better resources).

That doesn't sound so difficult, does it?
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: Allow steroids

Post by Rolf »

Don wrote: You don't feel very good about yourself do you?
I want to express my thanks for the detailed message and especially for your kindness. That will have influence in the longer perspective, Don.
-Popper and Lakatos are good but I'm stuck on Leibowitz
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Allow steroids

Post by Milos »

Don wrote:2. Your statement about how long it took Vas to gain 40 ELO or less is conjecture and doesn't matter anyway due to point 1 above. None of us really knows how much of that time Vas spent working on the code. Although my own personal work ethic is much more consistent these days, I can say that most of the work I have done on computer chess in the past is focused on short intense periods where I did not even want to go to bed. Many of my chess programs were developed in a relative short burst of intense inspiration followed by work on other things or just laziness.
3. I think it's very likely that Vas held back his best version. He stated that he intended to do that so it's likely that he did. We know his plan is to have the cluster Rybka and whether this is a good idea or not, it sure makes sense to me that he would have resevered his best stuff for that.
So a guy whose main source of income is his precious Rybka, doesn't really work on it as you do??? And he's only working on his precious cluster?
You are really starting to sound like Rolf in a ludicrous attempt to defend undefendable...
Also, Vas feels that he was burned by the reverse engineering. From your own point of view his achievements based on Fruit is proof of his brilliance and originality, so surely Vas would be highly motivated to not put out his very best. It's VERY likely that he held something back from Rybka 4. I personally don't think he wanted to even release Rybka 4 but I don't really know.
Let me quote you Bob on this:
Rolf wrote: The author decided to throw R4 not with the optimal strength, because it would be stlen (decompiled) by your allies. I read that already bugs weaken a program. Now the cluster Rybka gets full strength. What's your comment?
bob wrote:A succinct one; "bullshit".
Needless to say most of the reasonable ppl would agree with Bob's comment...
1. I personally believe it's easier to improve somebody else's engine than your own because you get the benefit of HIS ideas as well as your own.
...
I think a real tough issue for the cloners is evaluation. That is REALLY hard. You cannot build a top notch evaluation from scratch without months of effort. The cloners know that they cannot change it substantially without suddenly weakening the program and that it requires a huge amount of hard work so most of them try to make a few fundamental changes to keep it from being completely obvious and then incrementally improve it from that point on. It's not that hard to improve the evaluation function, it's just very tedious and each step is painful.
Let me tell you something Mr. Great Programmer. Seriously I had a positive opinion about your programming skills, MIT guy, etc. However, with recent posts (in last year or so) you have demonstrated you have really no clue about modern chess programming. It's probably the age, but could be other stuff too.

Modern chess programming is all about search and a little bit about static evaluation and king safety.
If you compare Rybka and Ippo you will notice that Ippo's eval is so much weaker, still Ippo plays much stronger (on any TC). Why? Search is better.
If you strip down all Larry's dynamic evaluation terms from Rybka (and what he claims from Ippo) except king safety you know how much you would lose? 50 Elo, only 50Elo. That's how much all dynamic evaluation crap is worth.
On the other hand static eval terms (where Larry had zero influence, everything automatically tuned for Vas in a great fashion by someone powerful) - material imbalance and PST's are worth at least 150 Elo (compared to something untuned like from Fruit). The rest of the benefit from eval comes from mobility.

If you don't believe me, strip one by one element and measure strength. Anyway that's something you should have done long ago if you had at least a bit of systematization that a scientist should have.
Disclaimer: it only works with programs that have pretty good search, and good static evaluation (no clue whether this is good or not and therefore work in Komodo).

And let me give you a bit of secret. Houdini improvement in strength is definitively not in eval ;).

And if was about eval, well you already know Rybka eval from Larry, why you haven't improved your Komodo with your own ideas so far??? :wink:
benstoker
Posts: 342
Joined: Tue Jan 19, 2010 2:05 am

Re: Allow steroids

Post by benstoker »

Don wrote:
benstoker wrote:
Dann Corbit wrote: If I take Houdini and binary edit it my own name, then I have made a wonderfully original program, because it is at least as strong as the strongest program in the world.
You think? Is that what Houdini is, then? A mere hexedit job? Really? If you bring your hexedit job to the First Loser Tourney and only come in as strong and not stronger than some other hexedit job, then no, I have no idea beyond looking at stdout whether your hack is original or not. But, I'll say it again and again, if your hexedit hack, for reasons known only to God, manages to trounce all other engines in a significant way (as Houdini has), then, I gotta hand it to you, brother, you got to be some kind of genius having created Top Dog with nothing more than a hex editor. That is freaking Original with a capital O.
This is your misconception and you are wrong about it. The analogy which is most appropriate is the marathon analogy.
Please, I think the analogies are, shall I dare say it, getting very anal.
Every reasonable chess programmer (who uses good testing methodology and is reasonable talented) can improve on Ivanhoe. For example if the Stockfish team started with Ivanhoe I am positive they would find some substantial improvements. So could Gian-Carlo, Vas, and ANY of the good engineers in computer chess.
And I certainly can see and appreciate how a serious engineer who takes pride in his own work would have little interest in simply fiddling with IvanHoe as a starting point. Though, I'm sure there are other respected engineers who would not recoil at the thought.

I wonder, what if somebody extracted some of the good stuff out of IvanHoe and submitted it for inclusion in Stockfish, saying up front "hey guys, I got this out of IvanHoe ..."? Should the Stockfish gang reject it?
We basically use a trial and error procedure. ALL of us have good ideas and we implement them and then test them. The ones that don't work we discard and the ones that work we keep. When we look at other peoples source code (which we do) we see things they did wrong - and if they looked at ours they would see things we did wrong. I could improve Stockfish, Houdini, Ivanhoe or any program you could give me and I'm quite sure all the top guys could do so too. As a matter of fact, look how quickly the already brilliant program Glaurung improved when the talents of others was added to the team.

However, improving a very strong program is not the same as MAKING a very strong program from scratch. When you start from someone else's best work, you start with all of the THEIR good ideas then you add your own to it. If you start with the very best program you have basically pushed your way to the front of the line and you take off from there.
I think there may be some kind of bifurcation of standards between the open source crowd and the closed source crowd. And I didn't realize that or fully appreciate it. After all, with open source, it is only expected that I would stand on the shoulders of giants. With open source I do get to jump in at the middle of the race and there's no problem with that. That's the whole idea of open source. Take other's work, improve it, contribute your improvements back. That goes on here in talkchess and at open-chess, where code for Stockfish is contributed all the time. I think it's done a lot in the open source world. Apple's Safari originated from the KDE Konqueror browser. They took it, improved it, renamed it, and, if I'm not mistaken, eventually contributed some of the code back - but I don't remember - they should have, if they didn't.

With open source, I can't fake it. Hex editors will get me nowhere and are pointless. With open source, I have to write the code and it's useless if it's not original and does not improve the program. With open source, people really do get to look at what I did. And if I have come up with a new idea that improves the science of computer chess, that idea is expressed openly and subject to scrutiny and peer review. That idea can be tested by others to see if results can be duplicated, and thereby confirming the advancement of the science.

Closed source is just different. Closed source is just a completely different game, isn't it? There's no community contribution. Indeed, code inspection is not just verboten, it becomes almost illegal. Closed source involves just one man or a close company of individuals working privately. How am I suppose to know when or if something original has been contributed to a closed source program? It's a black box.

Say you give me two closed source programs. You ask me to tell you if they are different. What can I do? I guess I'd first note the file size. I can whip out a hex editor. I'd could call up Dr. Hyatt and beg him to run these things on his cluster and tell me which one plays better. If there was a difference, and one was stronger than the other, then I'd know that much. What else can I do to examine a closed source prog? I'd look at its stdout output. Compare that. What else? Send it to BB and Zach and beg them to do some disassembly judo on it. What else? Ask the author? That's probably the last thing I'd do. Like the old rap song, "ya cant truss it."

Houdart dumps his closed source program on the world. It's another black box. If he's done nothing other than copy IvanHoe code and renamed it, then he's a joke. I cannot see the code. What do I do? Well, the file size is different. Somehow I manage to talk Dr. Hyatt into testing it. He reports back to me that Houdini crushes everything. I ask him, "how? what's new about it." He says, "Hell if I know. I got better things to do. Ask Zach." Zach calls BB and they spend a couple months doing their disassembly judo on it. They issue a report. The conclusion is expressed in words like this: "there are enough similarities to say that Houdini is in some areas substantially similar, if not identical, to IvanHoe and in other parts substantially dissimilar." Thank you BB and Zach. After all that, I still don't really know much about Houdini, other than the glaring fact that it is significantly better than everything else.

And so although Houdini is clearly original in some significant respect, I can never know why or how. It's the best engine in the world that does not advance the science of computer chess one bit, since the knowledge of its improvement is private and secret.

Closed source engines are never in a race of Ideas. That's not their game. The Ideas expressed in closed source engines are unknown, or are only vaguely hinted at by their mealy-mouthed authors. I can go to the First Loser Tourney with my Hexeditorolito closed source engine and intone to the slobbering crowd that it employs my new Super Duper 4th Dimension Bitboards idea. That's nothing more than a stupid advertising slogan. It may not even be true. In fact, truth be told, I made it up when I was drunk. It doesn't even matter! Who cares? Because if Hexeditorolito trounces the competition, I go home with the prize regardless. Whatever I did to make Hexeditorolito win, nobody will ever know! Ain't that great? All I hope is that I can sell enough Hexeditorolitos before those annoying holier-than-thou disassemblers are on to me. Sound familiar?

Which is why ... closed source engines are only in it to win, to beat the other engines. The closed source engines can't say their race is about Ideas of computer chess ... ever ... UNLESS the ideas are EXPRESSED. Fabian's Ideas were expressed when he opened the source. And the science was advanced.

If any closed source author proclaims he's written an engine from the ground up that is all his, I really have no reason to believe it. My response is SHOW ME THE MONEY. Because, with a closed source engine, what the hell do I care what Ideas are inside the engine -- the author ain't going to tell me. All I care about is whether the closed source engine performs. Did it win or lose. Is it Top Dog or First Loser.


It does take a certain amount of talent to improve a very strong program, but you are completely ignorant about the process if you believe that is proof of genius. Houdini is a case in point. The day Robert Houdart put the sources to Ivanhoe on his hard disk and put his name on it, he immediately joined the ranks of the elite in chess programming. There is a discussion on the Ippolit forum about the changes he made to obfuscate what he had done, but the bottom line is that he STARTED from that point and then moved forward from there. So for as long as he didn't get caught, he had the best program in the world.

A more accurate way to characterize this is to say that Houdart helped build the best program in the world, but he only helped. He does not deserve top billing on the marquee, but people like you keep him in business.
Agreed. Houdart did something, who knows what, that deserves credit (that's what I'm saying). Agreed. He didn't do it on his own from ground up. And I would add he deserves discredit for taking an open source program and making it closed source. Whatever else is said, it's the best program. It's original in some significant respect, and it cannot be any more a pariah than any other closed source black box chess engine.