Allow steroids

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

Moderators: hgm, Rebel, chrisw

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

Re: Allow steroids

Post by hgm »

Uri Blass wrote:If HGMini has the same strength like Houdini or even if it is 1 elo better than houdini then rating lists are not going to accept it in case that it is not an original engine.
Ah, but that is exatly the point I am trying to get across. You need to exclude engines based on originality.

And of course it will not always be so clear as between Houdini and HG_Mini, where I openly admit the latter is a copy. For instance, there are many Fruit derivatives around that are significantly stronger than Fruit, but are independently derived. The same is already true for Ippolit derivatives, and will be even more so in the future. So which one are you going to take.

Some people might think it is no problem, because their vision is limited to the number 1 "TopDog", and the current situation where there is one that happens to be 150 Elo stronger than the rest. For one, that will not always be the case, and (especially when slightly improving existing code will be a generally accepted practice in computer-Chess tournaments), there will be more, which are close. And a 100-Elo lead is not much. In a 9-round tournament, a TopDog faced with 25 100-Elo weaker opponents will almost certainly not end number one. So if a year from now Houdini has progressed to be 250 Elo above Ippolit but 25 other independent Ippo derivatives have all gained 150 Elo compared to their starting point, then what would you do to discriminate between the 25 "first-losers" (who, in tournament practice, of course will always provide the winner....)?
benstoker
Posts: 342
Joined: Tue Jan 19, 2010 2:05 am

Re: Allow steroids

Post by benstoker »

hgm wrote:
benstoker wrote:I'm not interested in the tournament that's all about awarding the First Loser program. Some are, however, and that's fine with me. De gustibus non disputandum est.
Indeed it would be pointless to discuss whether you should be interested or not. I, for one, have no interest whatsoever for tournaments where engines stronger than 2600 Elo participate. (And note that I am not making a nuisance of myself by trying to force others to abandon testing of such engines! :lol: ) The point is, however, that no one _cares_ whether you are interested or not. You are not a participant, you are not paying to watch, so you are not factor.
I don't expect people to care whatever the heck my opinion is about who the Top Dog is. I don't decide that, of course. Never said I did. The chess engine community decides that. And the consensus is well settled that Houdini is the current Top Dog. That consensus was not formed via the results of some First Loser tournament where the programmers are required to wear special underwear. Guess what: designation of Top Dog is done by the chess engine community at large. That is the real tournament -- one hundred thousand geeks all over the net running their own little tournaments and reporting their results to all their buddies on the Interweb. There is no standards body, or licensing agency for chess engines. There never will be. Sure, there are "respected" chess engine tournaments and events with venerated histories. They have their reasons for excluding the Top Dog, and maybe they have very good reasons, but, since they exclude Top Dog, it's just another First Loser tournament that by its own chosen definition CANNOT determine or designate Top Dog.
Then I guess the brain dead know something you don't, i.e., Top Dog has a little somethin' that makes it better than all the rest. Of course, the brain dead moron chess engine virtual woodpushing automatons don't know why Top Dog plays better than all the rest, but they know that it does. Again, Top Dog is Top Dog. You'll never be able to take that away from Top Dog.
If the brain dead do not know the difference between 'original' and 'stronger', they must indeed be very brain dead. There needs to be absolutely nothing original in TopDog. It could simply be a faster compile, for instance. It could combine two ideas copied from different programs. Like the evaluation from one, and the search from the other. But again, no one cares what the brain dead think.
If you don't care about or desire to use the Top Dog chess engine, and instead prefer to twiddle with "pedagogical" engines, what's wrong with that? Absolutely nothing. Meanwhile, back at the farm, blubbering morons eating their snot are giggling and rolling around on the floor watching Houdini trounce Even Deeper Rybka.
Fine. "Routine" apparently means something other than my usage. I suppose you mean code specific to a program. Thus, you mean the idea of SEE is implemented differently in routines unique to each program?
Of course. SEE is just an elementary strategic game concept. Humans apply it too. It is about the first thing a beginning Chessplayer has to learn: which captures you can safely make, and which you better refrain from. Initially they will use approximations like "more attackers than protectors" or "lower attacks higher", but they would still be very low level if they did not realize that a Pawn attacked by N+R and defended by K+Q is not safe... There are zillions of different algorithms to calculate SEE: iterative, recursive, using beta cutoffs or not. Some even will arrive at different values (depending on if they use "X-raying", and how, pay attention to discovered checks). And each algorithm has many different implementations in code, depending on the data structure to represent the board. (Not even to mention different programming languages; that would only make different translations of the same implementation.)
Okay. So what. Stockfish is C++. Crafty is C. Both use SEE. Fruit doesn't use bitboards. Rybka 1 supposedly does, yet the Star Chamber says Rybka 1 is a rip of Fruit. All the top programs use the SAME "ideas" then, expressed in sundry ways through unique routines. Big deal. Idea or routine, Top Dog has one or the other that all the others do not, ...
And now that is a 'conclusion' as unsound as they come...
Are you telling me that you want to challenge Leibniz's principle of the Indiscernibility of Identicals? Good luck with that; you'll turn the whole history of computer science on its head.

If TopDog = BestProgram and FirstLoser = SecondBestProgram and BestProgram ≠ SecondBestProgram, then TopDog ≠ FirstLoser.

BestProgram is defined to mean "beats SecondBestProgram and is better than SecondBestProgram".

TopDog is unique because the predicate BestProgram applies only to it and to no other program. Because the predicate BestProgram cannot apply to FirstLoser, then FirstLoser ≠ TopDog and FirstLoser ≠ BestProgram.

... and is of such a character and improvement that it defeats all other programs. That makes it ORIGINAL under any common definition of that word in any language.
Again wrong. Only very warped minds would consider something that is 99% identical to something that already existed 'original'. If you live in a condo farm where all houses have dark-green window sills, and you paint them light green, only an idiot would say "wow, that guy lives in a very original house". And whether light-green or dark-green would be an obectively beter choice for the paint (e.g. because one is thermally insulating and the other not) is an independent matter that has absolutely nothing to do with that.
You seeme determined to diagnose the whole lot of TopDog aficionados with all manner of heinous mental disorders. And now you make fun of where they live. :D Hey, I've been to Almere. It ain't that bad.

But I still think you lose yourself in insignificant quibbles, by continuing to argue why some think it would be morally / ethically good to allow participation of non-orginal engines in tournaments. Because even if you could convince everyone, they still would not do it, because it does not work. It is like you are organizing a big human-rights campaign because your landlord has fixed a sign on the front of your house: "forbidden to levitate here". That just side steps the issue that the laws of gravity would not allow you to levitate in any case. Like you are still side stepping the issue here, by still failing to answer the question if you would allow Houdini to enter in your TopDog tournament, or HGMini, or both (and what about the other 50?). Tournaments are not viable without some originality filter, and strength cannot substitute, because (1) there will always be hundreds of programs of identical strength and (2) you don't know the strength in advance.
I agree that the organization of a tournament for chess, or any sport, requires some kind of filter. I get it. I should not be allowed to compete in the Tour de France with a Vespa. Got it.

But, there is another tournament out there where steroids are allowed, and for some reason, this tournament manages mostly to filter out all of the bizarre thought experiment scenarios you have described above in these threads. I am not sure exactly how I know it, but I do know that Houdini is Top Dog. The chess engine community knows that too. And that Top Dog designation was not bestowed upon Houdini via the auspices of the Supreme Order of Fraternal Fathers of Chess Engines Tournament. This other tournament, the Steroids Allowed Tournament, is not a republic, not a dictatorship; it is a radical democracy. The Steroids Allowed Tournament's participants and voters are legion, dispersed all over the Interweb. They never sleep. They never stop testing chess engines. They have computers running 24 hours 7 days a week doing nothing but running chess engine matches. They report their results on the Interweb and the blubbering morons eating their snot compare notes and run more tests, and still more tests, because it never stops, ever, never, ever. And a consensus is formed in rapid order, and a new king is crowned Top Dog.

The Fraternal Order sniffs and ignores the cry of the screaming, ignorant masses. Let them eat cake, such is the cliche. The blubbering morons are too course and vulgar to appreciate the peccadilloes of the Fraternal Order. The blubbering morons are not even capable of understanding why it is that someone would want to exclude Top Dog, the undisputed heavyweight champion of the world.

And when the Fraternal Order comes back from Davos, having anointed the First Loser, the blubbering morons can hardly contain their excitement when their Top Dog chess engine soundly defeats the Fraternal Order's First Loser.

And when the Fraternal Order adjudges Top Dog to be a "clone" or "not original", the blubbering morons muster enough intelligence to think "hmmm ... i wundor y day say dis topdog injin aint orijeenul if it done be able to beat the holy crap out of dat der First Loser".

Whatever it is about Ippo* and Houdini that made them Top Dog, I surely hope you will never implement in your program those particular ideas or routines that made it Top Dog. That would not be very original now, would it.
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Allow steroids

Post by hgm »

You seem to have turned 180 degrees from your initial post. Originally you wanted all tournaments to be open to anyone. Now you don't care, because the computer-Chess community at large is the only 'real tournament', and they know who TopDog is anyway, despite tournament rules being as they are.

This discusson must have been good for something! :lol:
Whatever it is about Ippo* and Houdini that made them Top Dog, I surely hope you will never implement in your program those particular ideas or routines that made it Top Dog. That would not be very original now, would it.
This might be disappointing to you, but it is not very likely that Houdini or Ippo* contain anything that fits your description. This has been remarked upon in another thread already. When Rybka, which at the time was some 150 Elo stronger than all its competitors at the time, was taken apart, absolutely nothing spectacular was revealed. It was just the same old and tried ideas everyone has been using. But applied in a skillful way and implemented in code of high quality (low bug rate). The main 'secret' of these strong engines seems to be low number of bugs.

Now of course you could argue that when program X has no bugs, any other program Y that does also have a low number of bugs is 'not very original'. You can only be counted as original when you have a very high number of bugs, otherwise you are too much like X. Because the 'idea' by Fabien / Vas / Robert to make an engine with very few bugs was a stroke of genius, a breakthrough invention that only they deserve the credit for. Except of course that this was not really their idea at all, and that before them even the biggest moron already knew that bugs are bad. So this is all a bit silly in the extreme.

The strength of the code reflects the skill of the programmer. That is the 'secret idea'.
Richard Allbert
Posts: 792
Joined: Wed Jul 19, 2006 9:58 am

Re: Allow steroids

Post by Richard Allbert »

Lol... on a ratings list somewhere soon!
benstoker
Posts: 342
Joined: Tue Jan 19, 2010 2:05 am

Re: Allow steroids

Post by benstoker »

hgm wrote:You seem to have turned 180 degrees from your initial post. Originally you wanted all tournaments to be open to anyone. Now you don't care, because the computer-Chess community at large is the only 'real tournament', and they know who TopDog is anyway, despite tournament rules being as they are.

This discusson must have been good for something! :lol:
I feel like I'm still looking straight ahead. :D
Whatever it is about Ippo* and Houdini that made them Top Dog, I surely hope you will never implement in your program those particular ideas or routines that made it Top Dog. That would not be very original now, would it.
This might be disappointing to you, but it is not very likely that Houdini or Ippo* contain anything that fits your description. This has been remarked upon in another thread already. When Rybka, which at the time was some 150 Elo stronger than all its competitors at the time, was taken apart, absolutely nothing spectacular was revealed. It was just the same old and tried ideas everyone has been using. But applied in a skillful way and implemented in code of high quality (low bug rate). The main 'secret' of these strong engines seems to be low number of bugs.

Now of course you could argue that when program X has no bugs, any other program Y that does also have a low number of bugs is 'not very original'. You can only be counted as original when you have a very high number of bugs, otherwise you are too much like X. Because the 'idea' by Fabien / Vas / Robert to make an engine with very few bugs was a stroke of genius, a breakthrough invention that only they deserve the credit for. Except of course that this was not really their idea at all, and that before them even the biggest moron already knew that bugs are bad. So this is all a bit silly in the extreme.

The strength of the code reflects the skill of the programmer. That is the 'secret idea'.


There is something wrong about a tournament that excludes the one chess engine that is by all accounts better than all other chess engines. Define and refine your filter, but if its definition excludes the best engine known in the community, then the tournament is by definition a First Loser tournament. If you want it to be that way, then that's your freedom of association.

If you cannot make a filter capable of distinguishing the best program from all of the bizarre thought experiment programs you describe above, then by all means, exclude the best engine from your tournament.

The tournament that excludes the best engine is simply suspect. There's a fundamental problem with that.

When a very large majority of people want to use the best engine out there, but that engine is not allowed to compete in some tournament, then that tournament becomes as relevant to them as what is playing on TV in the game room at the old folks' home.

And if computer chess development has evolved into nothing more than a bug squashing contest, then the whole business must really be a bit of a bore. Maybe that's why people like Fabian just quit doing it.

Your suggestion is a bit shocking, that the best programs are separated from the second best not by originality or ingenuity per se, but instead by having "less bugs". The "secret ideas" are nothing more than "less bugs"?! To use 13 year old parlance, "are you for real, dude?!" Is it true? That you really are all using the same ideas, but just laboriously scrubbing out the bugs in your code? There are no more new ideas to be found in computer chess? The difference between Crafty and Robbolito is that Crafty has more bugs?
benstoker
Posts: 342
Joined: Tue Jan 19, 2010 2:05 am

Re: Allow steroids

Post by benstoker »

Don wrote:z
benstoker wrote:How about this. Quit testing and just let all athletes use steroids, HGH, EPO, bionic limbs, whatever, and let's just see who runs the fastest.

How about this. Allow ALL chess engines in tournaments regardless of origin and originality. Everybody has copied alpha-beta. You engine authors are ALL plagiarists. Don't you realize this? You all use the same algorithms. Every one of you. The differences are only slight shades of gray, really amounting to little more than tweaks and optimizations of parameters. Which engine author today actually owns a truly original and revolutionary idea? Who?
I mean no disrespect to you when I say that you are very naive about this point.
Actually, it shows respect to just reply as you have. Thx.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Allow steroids

Post by Don »

benstoker wrote: There is something wrong about a tournament that excludes the one chess engine that is by all accounts better than all other chess engines. Define and refine your filter, but if its definition excludes the best engine known in the community, then the tournament is by definition a First Loser tournament. If you want it to be that way, then that's your freedom of association.
Ben,

In the real world of sports, which is definitely considered a competition, steroids are not allowed for a reason. The reason is that they are dangerous. Anyone taking them has an unfair advantage when honest athletes choose not to ruin their health just to get a little glory. By having that rule and making sure it's enforced, more talented people can compete.

So people actually have INTEGRITY about this sort of thing and to me that's what a real man is. Many athletes love their sports and are fully dedicated to it, but they want to compete on their OWN merit and get satisfaction that would not be possible if their performance was artificially enhanced.

Your argument that something is wrong if the best engine is not allowed to compete is quite true but for the reasons you believe. Something IS wrong but it has to be done if we are to maintain some dignity and integrity.

To me it's not only about having the top engine. To some that's the only thing that matters. Although I do WANT to have the best chess engine, I'm not going to take steroids nor am I going to jump to the front of the race to do so in Rosie Ruiz style. I continue to be staggered by the willingness of people to accept so much shame for just a moment in the sun.

If and when it happens that I do have the top engine, it will have been for fun and satisfaction that I could and I will be able to take full credit for it in good conscience. It won't be somebody else's work that I'm taking credit for.

I have said just about all I need to say. I see that a great number of people feel the same way I do about this and I think you are in a minority, which in this case is a good thing.
benstoker
Posts: 342
Joined: Tue Jan 19, 2010 2:05 am

Re: Allow steroids

Post by benstoker »

My steroids remark is hyperbole. Exaggeration with enough truth to turn heads. But the analogy has limits. I don't disagree with what you say below. It just is not very clear, not at all black and white.

The BB article seems to make a strong case that rybka 1 was derived from fruit. But BB hedges on whether borrowing from fruit is wrong. Have not all top programs adopted the new ideas fruit introduced? Does your program? Was it crafty that introduced bitboards? Now all top progs use that. What's wrong with me taking stockfish as a base and trying to make a substantial improvement to it? What if I improved it by 100 elo? Can I call it then my own program, give it a name, catfish? It's gpl and so I'd have to make the source available, I think. What then if the stockfish authors took my catfish routines and issued a new stockfish version? Is that okay? Would that make the new stockfish illegal, unethical?

Are you, Don, not going to examine the ippo* code and see if there's something to learn there? You have looked at fruit and crafty I would think. And probably stockfish. Why wouldn't you? Are you suppose to write a program and reinvent every wheel made in chess programming in the last 30 yrs?

Somebody came out with a stockfish version and called it tinapa and it changed 1 line of code and I can't remember it. Would you say that is a clone? If I change a cotter pin on my car, is it the same car?

It seems that a gain of more than 30 elo is regarded as significant. Do you think houdart gained more than 30 with Houdini by just squashing bugs?

As an experiment, I wonder if you could take Ivanhoe code and make it as strong as Houdini. I know you would not do that. I'm just wondering if you could. Do you think you have the skills to do that, hypothetically? In other words, starting with the Ivanhoe code base, is it more or less a trivial task for a top chess eng programmer to clean that mess up and make it perform as well as Houdini? Is it trivial to add more than 100 elo to Ivanhoe code base?

Somehow I think or believe it is not trivial, but will have to defer to you. I hear you guys talk about how long it takes to just eke out 10 more elo.

Now, if houdart's achievement is not a trivial affair, then what kind of recognition does he deserve? Jeremy is put off that houdart denies that Houdini is based on ippo, but aside from the misrepresentation issue there, what to make of the fact that it's so much stronger?







Don wrote:
benstoker wrote: There is something wrong about a tournament that excludes the one chess engine that is by all accounts better than all other chess engines. Define and refine your filter, but if its definition excludes the best engine known in the community, then the tournament is by definition a First Loser tournament. If you want it to be that way, then that's your freedom of association.
Ben,

In the real world of sports, which is definitely considered a competition, steroids are not allowed for a reason. The reason is that they are dangerous. Anyone taking them has an unfair advantage when honest athletes choose not to ruin their health just to get a little glory. By having that rule and making sure it's enforced, more talented people can compete.

So people actually have INTEGRITY about this sort of thing and to me that's what a real man is. Many athletes love their sports and are fully dedicated to it, but they want to compete on their OWN merit and get satisfaction that would not be possible if their performance was artificially enhanced.

Your argument that something is wrong if the best engine is not allowed to compete is quite true but for the reasons you believe. Something IS wrong but it has to be done if we are to maintain some dignity and integrity.

To me it's not only about having the top engine. To some that's the only thing that matters. Although I do WANT to have the best chess engine, I'm not going to take steroids nor am I going to jump to the front of the race to do so in Rosie Ruiz style. I continue to be staggered by the willingness of people to accept so much shame for just a moment in the sun.

If and when it happens that I do have the top engine, it will have been for fun and satisfaction that I could and I will be able to take full credit for it in good conscience. It won't be somebody else's work that I'm taking credit for.

I have said just about all I need to say. I see that a great number of people feel the same way I do about this and I think you are in a minority, which in this case is a good thing.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Allow steroids

Post by Don »

The short answer is that I DO look at other programs to find ideas. But you are not a programmer and the non-programmers here have a difficult time truly appreciating the truth of what has been said by Mark Uniacke and other programmers. I'll try to state this principle succinctly if I can.

Komodo has been in development for about 3 years give or take a year. We have recently gained about 40 ELO from a fairly recently released Komodo 1.3. That represents about 1 month of effort out of 3 years. In other words, if Komodo is rated 2800, the first 2760 ELO took about 97% of the effort and the last 3 percent was given to making the last 40 ELO.

If I were to START with Ivanhoe, it would be exactly the same as what Rosie Ruiz did in the Boston marathon. I could avoid 95 percent of the work simply by starting ahead of the other runners. Drive myself to the front of the line where nobody can see me and jump in.

It's probably the evaluation function that really tells the picture however. It's really difficult to build a really awesome evaluation function that is balanced and complete. That just requires a lot of careful engineering, testing and hard work.

If you were a programmer, I think you would say "ouch" and be quite incensed that someone else just started from an already well developed and strong evaluation function. And Houdart basically takes full credit for his strong chess program. Yes, he was up front when he admitted that he used ideas from other strong programs but that was a smokescreen, he said that because he thought it would cover him. It is similar to what Vas did, at first giving some credit to Fruit, but gradually backing away from that as people started to give him more attention.

I would fully respect Roberts efforts had he simply had been totally up front about it. He could have said, "yes, I'm taking Ivanhoe as a starting point and I want to see what I can do with it, I have a lot of good ideas ...." and nobody would have faulted him for that. It probably still wouldn't be allowed in tournaments, but at least he would have some respect with the serious programmers - I have not seen ANY of the top guys showing him respect because that would be like having the top runners in the Boston marathon going up to Rosie Ruiz and congratulating her on her "fine effort."

The real difference in good programs is not in a grab bag of various parts, it's how they are put together.

You are trying to argue that using the ideas of others is exactly the same as cloning a program, and if you cannot understand the difference, then I can see why you won't let go of this. But it IS in fact a big difference. Putting your name on someones else's hard work is not an honorable thing to do, but building on the ideas of others IS.



benstoker wrote:My steroids remark is hyperbole. Exaggeration with enough truth to turn heads. But the analogy has limits. I don't disagree with what you say below. It just is not very clear, not at all black and white.

The BB article seems to make a strong case that rybka 1 was derived from fruit. But BB hedges on whether borrowing from fruit is wrong. Have not all top programs adopted the new ideas fruit introduced? Does your program? Was it crafty that introduced bitboards? Now all top progs use that. What's wrong with me taking stockfish as a base and trying to make a substantial improvement to it? What if I improved it by 100 elo? Can I call it then my own program, give it a name, catfish? It's gpl and so I'd have to make the source available, I think. What then if the stockfish authors took my catfish routines and issued a new stockfish version? Is that okay? Would that make the new stockfish illegal, unethical?

Are you, Don, not going to examine the ippo* code and see if there's something to learn there? You have looked at fruit and crafty I would think. And probably stockfish. Why wouldn't you? Are you suppose to write a program and reinvent every wheel made in chess programming in the last 30 yrs?

Somebody came out with a stockfish version and called it tinapa and it changed 1 line of code and I can't remember it. Would you say that is a clone? If I change a cotter pin on my car, is it the same car?

It seems that a gain of more than 30 elo is regarded as significant. Do you think houdart gained more than 30 with Houdini by just squashing bugs?

As an experiment, I wonder if you could take Ivanhoe code and make it as strong as Houdini. I know you would not do that. I'm just wondering if you could. Do you think you have the skills to do that, hypothetically? In other words, starting with the Ivanhoe code base, is it more or less a trivial task for a top chess eng programmer to clean that mess up and make it perform as well as Houdini? Is it trivial to add more than 100 elo to Ivanhoe code base?

Somehow I think or believe it is not trivial, but will have to defer to you. I hear you guys talk about how long it takes to just eke out 10 more elo.

Now, if houdart's achievement is not a trivial affair, then what kind of recognition does he deserve? Jeremy is put off that houdart denies that Houdini is based on ippo, but aside from the misrepresentation issue there, what to make of the fact that it's so much stronger?







Don wrote:
benstoker wrote: There is something wrong about a tournament that excludes the one chess engine that is by all accounts better than all other chess engines. Define and refine your filter, but if its definition excludes the best engine known in the community, then the tournament is by definition a First Loser tournament. If you want it to be that way, then that's your freedom of association.
Ben,

In the real world of sports, which is definitely considered a competition, steroids are not allowed for a reason. The reason is that they are dangerous. Anyone taking them has an unfair advantage when honest athletes choose not to ruin their health just to get a little glory. By having that rule and making sure it's enforced, more talented people can compete.

So people actually have INTEGRITY about this sort of thing and to me that's what a real man is. Many athletes love their sports and are fully dedicated to it, but they want to compete on their OWN merit and get satisfaction that would not be possible if their performance was artificially enhanced.

Your argument that something is wrong if the best engine is not allowed to compete is quite true but for the reasons you believe. Something IS wrong but it has to be done if we are to maintain some dignity and integrity.

To me it's not only about having the top engine. To some that's the only thing that matters. Although I do WANT to have the best chess engine, I'm not going to take steroids nor am I going to jump to the front of the race to do so in Rosie Ruiz style. I continue to be staggered by the willingness of people to accept so much shame for just a moment in the sun.

If and when it happens that I do have the top engine, it will have been for fun and satisfaction that I could and I will be able to take full credit for it in good conscience. It won't be somebody else's work that I'm taking credit for.

I have said just about all I need to say. I see that a great number of people feel the same way I do about this and I think you are in a minority, which in this case is a good thing.
Uri Blass
Posts: 10302
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Allow steroids

Post by Uri Blass »

hgm wrote:You seem to have turned 180 degrees from your initial post. Originally you wanted all tournaments to be open to anyone. Now you don't care, because the computer-Chess community at large is the only 'real tournament', and they know who TopDog is anyway, despite tournament rules being as they are.

This discusson must have been good for something! :lol:
Whatever it is about Ippo* and Houdini that made them Top Dog, I surely hope you will never implement in your program those particular ideas or routines that made it Top Dog. That would not be very original now, would it.
This might be disappointing to you, but it is not very likely that Houdini or Ippo* contain anything that fits your description. This has been remarked upon in another thread already. When Rybka, which at the time was some 150 Elo stronger than all its competitors at the time, was taken apart, absolutely nothing spectacular was revealed. It was just the same old and tried ideas everyone has been using. But applied in a skillful way and implemented in code of high quality (low bug rate). The main 'secret' of these strong engines seems to be low number of bugs.

Now of course you could argue that when program X has no bugs, any other program Y that does also have a low number of bugs is 'not very original'. You can only be counted as original when you have a very high number of bugs, otherwise you are too much like X. Because the 'idea' by Fabien / Vas / Robert to make an engine with very few bugs was a stroke of genius, a breakthrough invention that only they deserve the credit for. Except of course that this was not really their idea at all, and that before them even the biggest moron already knew that bugs are bad. So this is all a bit silly in the extreme.

The strength of the code reflects the skill of the programmer. That is the 'secret idea'.
I disagree that the secret of rybka or houdini is only having a small number of bugs.

Even if we do not talk about chess but only about speed then having a code that does the same thing faster can be described as a new idea.

Evaluation function and search have many parameters and having not optimal weights cannot be described as a bug because it is practically impossible to have the best parameters.

If the parameters of program A are better than the parameters of other programs(for example A can use null move with R=3 that is better than other programs that use R=2 and it may be a combination of parameters and not a single parameter because the reason that R=3 is better for program A is other parameters in program A) then the combination of parameters of program A can be described as a new idea.

The fact that programmers who read the code of A do not understand exactly what makes program A stronger does not mean that it has no new idea and it is not easy to understand why program A is stronger by reading the code.