Engines ELO disparity

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

Moderators: hgm, Rebel, chrisw

kurt

Engines ELO disparity

Post by kurt »

Hi All,
Could someone here clear up my apparent misunderstanding about engine programming?
Am I wrong to assume that for some designers it seems to be just a hoppy to come up with a workable engine and then keep trying to improve it with a Stone Age mentality?
Ok; let me try to explain why I have this perception. Whenever I observe an engine tournament I see warfare between single loader muskets against rattling guns and laser guided missiles.
In my opinion it makes no sense to have an engine competition of such disparity comparable to horsemen facing armored tanks.
Why are we not discussing the science to construct engine capability requirements to compete at the current top level or above 3000 elo rating to remove the big disparity between competing engines?
Why is it a crime to use a known technique of a wheel motion and enforce the use of rollers and lever actions to stay within the law of copyrights?
Are we teaching historical techniques to build a single muzzle loaded musket forever?
When do we accept that ideas like the creation of the wheel is property of the human race just as the knowledge for making atomic weapons even so it may not be desirable for all?
From slinging rocks, bows and arrows to gun power and now atomic energy science has advanced against all hindrance from their discovers which must have been fierce and outlawed by the stronger opponent just as vehemently opposed as the currently best performing engine.
Yes, the power of wealth creates political environment or laws to justify a monopoly for profits and will continue to do so unless scientists reveal the knowledge for the advancement of science.
For those who belief that God makes laws to control human behavior in the name of greedy profits I wish you all a speedy recovery for the state of your mental wellbeing.
Best regards,
Kurt Widmann
User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 3:54 am
Location: San Jose, California

Re: Engines ELO disparity

Post by Bill Rogers »

Kurt
You must be blessed with some kind of uncanny power to know in advance just how strong a new engine will be before it is even tested, at least that is the impression you are leaving here.

With any new chess engine you can never tell if the engine will be rated at 1600 or 2700 ELO. The only way to discover its real strength is to play it against a wide varity of rated engines but weak and strong. If you however, know of another way to tell how strong a new chess engine is please do tell us because I am sure that the majority of member here would love to know.

If this post is offendsive then I am sorry but your original post begs for some kind of explianation.

Bill
kurt

Re: Engines ELO disparity

Post by kurt »

Bill Rogers wrote:Kurt
You must be blessed with some kind of uncanny power to know in advance just how strong a new engine will be before it is even tested, at least that is the impression you are leaving here.

With any new chess engine you can never tell if the engine will be rated at 1600 or 2700 ELO. The only way to discover its real strength is to play it against a wide variety of rated engines but weak and strong. If you however, know of another way to tell how strong a new chess engine is please do tell us because I am sure that the majority of member here would love to know.

If this post is offendsive then I am sorry but your original post begs for some kind of explianation.

Bill

Thanks for your reply. Your comments are not offensive at all.
My naive view about engine designing stems from my observation between Crafty and Rybka's performances. Dr.R.Hyatt seem to be pend on improving or using gun powder theory while Rybka uses it as a foundation to fire laser guided missiles.

In other words their seems to be a time lag between those engines. just like the English empire and the Spanish where the wooden ships could not compete with the steel hulled English fleet.

I see a speed up of normal discovery overtaken in the same manner which made a wooden ship simply inferior to a steel ship and thus rendered obsolete for competing against each other.

To be as competent as Ryka their must be a new method for engine design and thus should be taught in programming classes also conducted By Dr.R.Hyatt.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Engines ELO disparity

Post by bob »

kurt wrote:
Bill Rogers wrote:Kurt
You must be blessed with some kind of uncanny power to know in advance just how strong a new engine will be before it is even tested, at least that is the impression you are leaving here.

With any new chess engine you can never tell if the engine will be rated at 1600 or 2700 ELO. The only way to discover its real strength is to play it against a wide variety of rated engines but weak and strong. If you however, know of another way to tell how strong a new chess engine is please do tell us because I am sure that the majority of member here would love to know.

If this post is offendsive then I am sorry but your original post begs for some kind of explianation.

Bill

Thanks for your reply. Your comments are not offensive at all.
My naive view about engine designing stems from my observation between Crafty and Rybka's performances. Dr.R.Hyatt seem to be pend on improving or using gun powder theory while Rybka uses it as a foundation to fire laser guided missiles.

In other words their seems to be a time lag between those engines. just like the English empire and the Spanish where the wooden ships could not compete with the steel hulled English fleet.

I see a speed up of normal discovery overtaken in the same manner which made a wooden ship simply inferior to a steel ship and thus rendered obsolete for competing against each other.

To be as competent as Ryka their must be a new method for engine design and thus should be taught in programming classes also conducted By Dr.R.Hyatt.
This is much too simplistic a view of computer chess. There are two aspects to the problem. (1) programming. Developing programs with high-performance (with regard to speed and efficiency) is a well-known skill and is used by most. But an efficient program is only a small part of the total "package". (2) chess skill. This is a horse of a different color, completely. There is no way to develop an idea that works well every time. Humans evolve in how they play chess by actually playing. Never seen a player that beat me (personally) the first time I sat down to teach him how the pieces move. He may well beat me at some point in time, but it takes some evolution of his playing skills. We have the same problem in computer chess, except that it is an indirect application of human learning. We watch the programs play to determine our "subjective opinion of their weaknesses" and then we try to develop algorithms that address these weaknesses without harming other aspects of the playing skill, and then turn these algorithms into code. Algorithms to code is the easy part. Coming up with the ideas for those algorithms is the hard part. While I haven't talked with Gm Dzhindi in a year or so, we used to chat nearly every night on the phone, and all too often he gave me the feared answer to the question "Why do you think it should play that move?" by telling me "because it feels like the right move". Since there is no "if (feels_right(move))" function in any programming language I know, we have to approximate this, and the only way to evaluate the result is to play and tune.

As an example, my first chess book was "My System". First thing I learned was about "control of the center" and after a week, I was ready to take on my chess partners. And I got roundly thumped, because chess is not _only_ about control of the center, it is about not losing material, not creating positional weaknesses that haunt you later, etc. So I had the right idea, but it took a lot of games for my "learning ability" to incorporate the idea so that I actually played better chess. Since we are doing this indirectly with computers, it is a necessarily inefficient process. But one which has produced programs that are extremely difficult for GM players to compete with, even though you can look at almost any computer game and see a silly move here or there that no GM would even consider playing.

Believing one can design a good evaluation idea from scratch is naive. I've been there, tried it, and failed. Many times. Ditto for Vas and everyone else in this field. Humans don't really like to "learn in public" but for computers it is the best way to improve your program. Play in events that you know you can't win, because you get to see good programs, talk with experienced chess developers, and come away with new ideas to take you another step up the long climb toward the top.
gerold
Posts: 10121
Joined: Thu Mar 09, 2006 12:57 am
Location: van buren,missouri

Re: Engines ELO disparity

Post by gerold »

Hi Kurt.
Rybka was not programed with anything special.
Rybka is based on Fruit and other programs.
All chess programs are based on ideas from
other programs.
Some steal and copy ideas and such. Some don't.
If you can steal a good idea from a top program
you are that much ahead of the race.
Fruit was a big break for some.

The frame work for all fields of engineering has advanced fast over the
last few years but it takes a lot of hard work.
kurt

Re: Engines ELO disparity

Post by kurt »

bob wrote:
kurt wrote:
Bill Rogers wrote:Kurt
You must be blessed with some kind of uncanny power to know in advance just how strong a new engine will be before it is even tested, at least that is the impression you are leaving here.

With any new chess engine you can never tell if the engine will be rated at 1600 or 2700 ELO. The only way to discover its real strength is to play it against a wide variety of rated engines but weak and strong. If you however, know of another way to tell how strong a new chess engine is please do tell us because I am sure that the majority of member here would love to know.

If this post is offendsive then I am sorry but your original post begs for some kind of explianation.

Bill

Thanks for your reply. Your comments are not offensive at all.
My naive view about engine designing stems from my observation between Crafty and Rybka's performances. Dr.R.Hyatt seem to be pend on improving or using gun powder theory while Rybka uses it as a foundation to fire laser guided missiles.

In other words their seems to be a time lag between those engines. just like the English empire and the Spanish where the wooden ships could not compete with the steel hulled English fleet.

I see a speed up of normal discovery overtaken in the same manner which made a wooden ship simply inferior to a steel ship and thus rendered obsolete for competing against each other.

To be as competent as Ryka their must be a new method for engine design and thus should be taught in programming classes also conducted By Dr.R.Hyatt.
This is much too simplistic a view of computer chess. There are two aspects to the problem. (1) programming. Developing programs with high-performance (with regard to speed and efficiency) is a well-known skill and is used by most. But an efficient program is only a small part of the total "package". (2) chess skill. This is a horse of a different color, completely. There is no way to develop an idea that works well every time. Humans evolve in how they play chess by actually playing. Never seen a player that beat me (personally) the first time I sat down to teach him how the pieces move. He may well beat me at some point in time, but it takes some evolution of his playing skills. We have the same problem in computer chess, except that it is an indirect application of human learning. We watch the programs play to determine our "subjective opinion of their weaknesses" and then we try to develop algorithms that address these weaknesses without harming other aspects of the playing skill, and then turn these algorithms into code. Algorithms to code is the easy part. Coming up with the ideas for those algorithms is the hard part. While I haven't talked with Gm Dzhindi in a year or so, we used to chat nearly every night on the phone, and all too often he gave me the feared answer to the question "Why do you think it should play that move?" by telling me "because it feels like the right move". Since there is no "if (feels_right(move))" function in any programming language I know, we have to approximate this, and the only way to evaluate the result is to play and tune.

As an example, my first chess book was "My System". First thing I learned was about "control of the center" and after a week, I was ready to take on my chess partners. And I got roundly thumped, because chess is not _only_ about control of the center, it is about not losing material, not creating positional weaknesses that haunt you later, etc. So I had the right idea, but it took a lot of games for my "learning ability" to incorporate the idea so that I actually played better chess. Since we are doing this indirectly with computers, it is a necessarily inefficient process. But one which has produced programs that are extremely difficult for GM players to compete with, even though you can look at almost any computer game and see a silly move here or there that no GM would even consider playing.

Believing one can design a good evaluation idea from scratch is naive. I've been there, tried it, and failed. Many times. Ditto for Vas and everyone else in this field. Humans don't really like to "learn in public" but for computers it is the best way to improve your program. Play in events that you know you can't win, because you get to see good programs, talk with experienced chess developers, and come away with new ideas to take you another step up the long climb toward the top.
Thank you very much for your explanations. I have been following the development of crafty since its earliest appearance and was aware also of your GM help as to the chess knowledge input. But when I compare crafty with shredder.fritz and with rybka 3 I get the feeling that your system lacks the necessary search speed to compete successfully with these top rated engines.

Therefore my conclusion is that engines like Rybka are from a different generation comparable in my perception from the bronze to the iron age of history. Would it not be a lot simpler for any engine hobbyist to have available an already developed design and then try to improve on its rating. Scientists and Engineers are using this concept for their research when working on their projects. They will use the latest most up to date data, why then can engine designers not use the same method?

If the engine code of Fruit for example would be used as a base line to start an engine design for any interested programmer would we not see a rapid increase for all engine ratings? Why not make use of the new engine code which seems to be offered freely and reaches a search speed to compete successfully even against the presently highest rated engines. What is the purpose to teach the basic fundamentals when ready designed packages or formulas are already available for use.
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Engines ELO disparity

Post by Milos »

kurt wrote:Would it not be a lot simpler for any engine hobbyist to have available an already developed design and then try to improve on its rating. Scientists and Engineers are using this concept for their research when working on their projects. They will use the latest most up to date data, why then can engine designers not use the same method?
Well, the strongest existing engine up to date is an open-source. :D
What else do you need? ;)
Aaron Becker
Posts: 292
Joined: Tue Jul 07, 2009 4:56 am

Re: Engines ELO disparity

Post by Aaron Becker »

kurt wrote: If the engine code of Fruit for example would be used as a base line to start an engine design for any interested programmer would we not see a rapid increase for all engine ratings? Why not make use of the new engine code which seems to be offered freely and reaches a search speed to compete successfully even against the presently highest rated engines. What is the purpose to teach the basic fundamentals when ready designed packages or formulas are already available for use.
What you recommend has already happened. There are several incredibly strong open source engines that anyone can take and modify, including Crafty, Stockfish, and many Fruit variants. The existence of strong open source programs has pushed the state of the art along very quickly.

If you're wondering why the very strongest commercial engines are still stronger than their open source counterparts, I suggest two reasons. First, they have access to all the ideas that are present in open source codes, but the inverse is not true. Second, they have financial backing that allows their creators to spend more time on them than most of us can spend on hobby projects.

If you're wondering why people still work on engines that are obviously weaker than their open source competitors, it's probably because most people have goals other than "maximize the strength of the strongest available chess engine." I think maximizing engine strength is actually kind of a strange goal, now that they're all so powerful relative to the best human players.