Dead End for Computer Chess? Some ideas...

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

Moderators: hgm, Rebel, chrisw

What is your hobby?

Writing a chess engine
14
11%
Creating a competitive chess engine
7
6%
Collecting and trying chess engines
21
17%
Playing chess against chess engines
17
14%
Getting a good engine for analyzing games
22
18%
Computer Chess Research and Development
13
11%
Student style learning and curiousity
13
11%
Getting, managing an engine for online play
4
3%
Developing a world top engine for tournament wins
5
4%
Other ideas...
7
6%
 
Total votes: 123

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

Re: Dead End for Computer Chess? Some ideas...

Post by hgm »

I consider it my hobby to develop more efficient algorithms to play Chess. Even if it would be true that we are very close to having programs that play Chess perfectly, and that improving them further would run into the 'draw barrier', we should realize that they only can do so by applying a staggering amount of computational power to the problem. We have got to where we are now mostly by hardware advance, and Chess software is almost as stupid as ever.

If hardware is so powerful that even stupid algorithms can play near-perfect Chess, we simply should put restricttions on hardware use. Play Human vs computer where the computer is not allowed to use more than 1 micro-second of CPU time per move. If Rybka represents the asymptotically strong Chess entity at long time controls, then my challenge would be to write a program that can draw it in a match where Rybka plays 40/40, and my program 40/0:01...

That seems still interesting enough.
Terry McCracken
Posts: 16465
Joined: Wed Aug 01, 2007 4:16 am
Location: Canada

Re: Dead End for Computer Chess? Some ideas...

Post by Terry McCracken »

swami wrote:
Terry McCracken wrote:
rfadden wrote:I posted this on the Rybka forum. These are some honest thoughts of mine. I'm posting here for the purpose of discussion...

We may be at a dead end for computer chess. Consider this... Take the chess playing abilities of the top computer chess programs (Rybka on down). Is this level of play good, or do we need vast improvements in order to finally have a good chess playing program? Ha! That's a laugh. We not only have good chess playing programs, we have ultra mega monsters of chess, with no mercy who will slay you at the game of chess, rapidly, as if you are watching a kitchen utensil slice through vegetables!

In almost all cases the top program decimates all human opponents as if the people are weak, as if these people don't even know how to play chess, and the only people on this planet who stand a chance against these engines at full tilt are a handful of Grandmasters. Right now, mentally take the person who you consider to be the best chess player on the planet, and assume that they play 10 games of chess against Rybka 2.3x as run on an Intel Q6600 based computer. What is the outcome of this imagined 10 game match?

The answer is that the top program when run on a chip that costs just over $200. will lead to the program winning the match, repeatable, repeatedly...

Imagine if I were to say that the world desperately needs a really good chess program, one that is much more capable of playing chess than current technology. Could you imagine turning to me and replying "Why do you need that?" Yes, that's what I'm thinking... why do we need that?

I think one key is that we are enjoying our hobbies and we are not necessarily asking tough or prying questions about our own hobby. Roughly I would say that we have arrived at the finish line. More improvement in the ability of a program to play chess would be nice, but I imagine what we would see is endgame performance that surpasses the best Grandmasters most of the time. After that, then what?

I think what is happening is that we are getting caught up in the battles between the top engines, and this process of battling for the top can continue with no end in sight for years and years. In the mean time we should realize that the hobby becomes machine versus machine contests. For human use the programs reach everything that we really need, and I believe that the top programs essentially are already at the goal. The program can beat everyone on the planet, period.

What would have been the outcome of the last Fritz versus Kramnik match if those folks had used the best program instead of Fritz? Well with Rybka on the fastest machine available at the time, the outcome would have been even more lopsided in favor of the machine. Rybka on the fastest hardware would essentially crush Kramnik in a typical World Champion style match.

Imagine that I eagerly await the latest ultra-mega chess program that is about to hit the market. Honestly I'm thinking "oh boy, this will be great, I'll get this engine and it will clearly beat all of my other engines!" I would gladly pay to see this. But that's part of the problem...

After I watch my new amazing engine decimate the other engines, I then share these results with others and yes the other hobbyists are doing the same thing, and then what? Well we all come up with the same answer and after a while you realize that you are just a spectator. There is no actual reason for me to run an engine match. This doesn't accomplish anything. It's a hobby, it's fun to watch, for a while... but then you realize there is really nothing to it. You plug in a new engine and you launch it, and it does the rest. Hey the hobby of Radio Controlled Helicopters at least has you controlling the helicopter, and some real skill is involved.

Imagine the skill that is involved in me downloading and using the latest ultra mega chess engine. I click download, I wait a few seconds, I unpack, I go to my GUI and add the engine, and I create a match and I start it, and then I watch. That's it. That's all there is to this hobby of computer chess at the top.

So someone might pipe up and say "Ya, but you will want to play chess against that new engine, right?" No Way! Man those engines crush me all the time. What fun is that?
Hey I could probably download a chess engine called "GoatRope 0.39a" and it would beat me at chess... I don't get chess engines to play chess against them - they all are way too good! They crush me mercilessly, actually in very few moves.

So what is this hobby? The hobby may be in writing your own engine, or it may be in collecting all of the top engines, or it may be...

Why don't you help me out and tell me more about this hobby of ours. Instead of focusing on how wrong I am, please consider the ideas here and please come on and add your own ideas. What do you think? Be creative...
You do like to hear yourself talk don't you? I don't think you have a clue why Kramnik lost outside the fact he allowed a mate in one. :roll:

Don't you worry there are plenty of us left that win against programs!
Actually he is right, Chess Engines would easily crush human GM's all the time, without handicap, that is.

I bet even 2650 rated Hamsters running on Q6600 would beat Adams or Morozevich.
Actually he isn't!
I've shown games where I have beaten them in the past FCOL! I happen to know some GM's are still beating software on servers!

I wouldn't expect a common player to grasp this.

Your last statement is laughable!
rfadden

Re: Dead End for Computer Chess? Some ideas...

Post by rfadden »

The replies have been good, here and on the Rybka Forum (same topic there) and interestingly this *has* taught me more about this hobby of ours. The replies have shown a bit of depth to some of these topics and actually I feel a bit rejuvinated. I especially liked one reply (here) where they guy said "I do like watching the engine matches..." So actually I ran a little match last night and I got something out of it. My example is tiny but it does act as a little bit of "counter" to what I wrote above (as if I am debating the other side of my own points). Here was my little engine match that I did enjoy...

I was improving my Rybka 1.0 Beta Patch and I had moved the location of the main patch from where I stomped on some code previously to the new more logical location in the empty space at the end of the program (wow there's a nice big patch area there... I'm learning...). So I needed to re-test my patch to make sure I didn't accidentally break this historic antique program. So this time I ran Rybka 1.0 Patch9 against Fruit 2.2.1. Now keep in mind that this is the version of Fruit that I paid for... the product version. Previously I had been testing against Fruit 2.1 which is open source and which gets wiped out by Rybka 1.0 Beta. So what happened? Well my Patched version started losing and I started wondering if I had broken the thing.

That is when I started to realize that the first release of Rybka maybe wasn't that much better than the best Fruit at that time. I guess I had remembered this wrong. I faintly recall that Rybka came out and clobbered Fruit, but I guess not. So anyway the little testing match continued and in the morning I saw that the two programs had battled to an equal number of wins. Clearly I didn't cripple Rybka with my relocated Patch and this got me thinking... So Rybka 1.0 Beta was only matching the ability of Fruit 2.2.1 at the time it came out? Interesting.

So this is now the hobby of antique chess programs... ha!

Notice that I ran an engine match and it was very interesting to me (even though I wrote above that engine vs engine matches could be considered a boring activity). The guy who said he actually enjoyed watching the play of engine vs engine matches sort-of promped me to realize that YES it is still interesting.

I am somewhat "corrected" by these interesting replies. I'm of course still learning and I hope to continue learning, with no end in sight...

Thanks
rfadden

Re: Dead End for Computer Chess? Some ideas...

Post by rfadden »

This sounds great to me. I like your idea... ideas...
rfadden

Re: Dead End for Computer Chess? Some ideas...

Post by rfadden »

Terry McCracken wrote:
You do like to hear yourself talk don't you? I don't think you have a clue why Kramnik lost outside the fact he allowed a mate in one. :roll:

Don't you worry there are plenty of us left that win against programs!
I have been learning chess since 1965 and I have collected (and mostly read) over 100 books on chess. I read these, I study, I play chess on ICC (been there since 1996), and I work on and play against my own chess engine and I've been doing that since 1978.

I watched the Kramnik games on ICC and listened on Chess.FM and I listened to all of the GM commentary and I posted to the commentators the PV, score and other information from one of the top engines. I even got on the radio a bit since I am (was) "ChessBored"... maybe you were listening to Chess.FM at the time.

Why do you write so harshly?

I absolutely do know a bit about Kramnik's play because I listened intently to all of the GM commentary during those games...

So I guess you are a chess prodigy, right? If so, then good for you, man!
User avatar
Graham Banks
Posts: 41473
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Dead End for Computer Chess? Some ideas...

Post by Graham Banks »

rfadden wrote: Why do you write so harshly?
Don't worry about it. :wink:
gbanksnz at gmail.com
ml

Re: Dead End for Computer Chess? Some ideas...

Post by ml »

There is one area of chess in which strong human players still have an advantage over computers: correspondence chess. Until that's no longer the case, there is more work to be done in computer chess development.

Chess engines could also stand some improvement in their ability to evaluate closed positions and many endgame positions.

But what is the ultimate goal of computer chess? The ultimate goal, as I see it, is to "solve" chess; in other words, to develop an engine that always makes perfect moves and thus never loses. Although this is not likely to be accomplished, at least not in the foreseeable future, we might be able to develop something that comes close, and rarely loses. Until that happens, computer chess is a long way from being at a dead end.