How good do chess engines play chess?

Sort:
nartreb

I didn't claim my analogy would make chess sound exciting.  I was trying to come up with something that would be apt.

Non-players already understand (or think they do) that computers follow rules.  Saying "the battlefield commander follows a set of rules" doesn't help with the underlying problems that non-chess-players are having.*  Those problems are: why is following a set of rules a good strategy?   If those rules are so great, why can't humans use them to play just as well as computers?  And what's this I keep hearing about "computers can't play quiet positions or fortress positions"?  (OK, non-chess-players aren't likely to have that last question, but it's something that chess players who don't know much about chess engines keep asking about.)

The explanatory power of my metaphor relies on the fact that taxes, like chess, are essentially a game:  there are rules, and the rules are known in advance.  Like chess, taxes are also too large to be fully understood by most humans.  Unlike high-level chess, taxes are something that most Americans have experience with. Most of us file individual taxes every year.  (Much of the rest of the world is far more sensible about it, but that's another story.)  Many Americans have at different times tried doing their own taxes, hired a professional, *and* used tax software. Americans often have seen first-hand that computers perform better than humans when it comes to calculating taxes.

So:

 -why is following a set of rules a good strategy?

      Because rules are part of the nature of the game.  Also, chess is a game of complete information, there's no element of chance or of secrecy.    If you can consistently find the best move, you will win (or at least draw), it's that simple.

 - why can't humans use the same rules that computers use?

      In theory, they can.  In practice, humans are too slow, too forgetful,  too impatient, and too inconsistent. 

 -what's this about fortresses etc?

   Even computers are not infinitely fast nor have infinite memories.  The game is too complicated for them to play it perfectly (so far).   We know that computer play is imperfect because humans have found a few particular cases where the computer's method of play leads to demonstrably wrong results.  If you can steer the game into one of these situations, you have a chance of beating the computer.  Best of luck to you, no human has managed to do so against a decent computer in years.

 

*edited one sentence: corrected "chess-players" to "non-chess-players".

Pai_Mei

I know someone who managed to construct a tax fortress. Doubt he used a computer for that, it would be essentially useless.

I like it a bit better now.

nartreb

If  you're going for emotion, you can't beat this old metaphor (I don't know who said it first):

"Two men walk into a minefield.  Whoever survives longest wins."

This captures the human emotional state perfectly, but it doesn't work as an explanation of chess:  the men are able to influence each others' movements (tug of war in a minefield?), and the detonation of a mine is not automatic but requires the other player to perform a precise series of triggering steps.  (Networked mines with an absurdly complicated trigger mechanism?  "Dance a jig here, and a fox-trot there, and that mine over there will blow up.")  

We can say that just about every location in the field is mined, but at any given time many locations are safe because the triggering actions can be prevented.  

Beginners usually can't detect the mines.  Better players find most of the mines and avoid those.  Really good players can find nearly all the mines, and can usually determine which ones are safe at any particular moment.  

Computers can see all the mines and will never step on a mine that's ready to blow immediately.   But the procedure for verifying exactly how many moves the other player will need to trigger a particular mine, is too time-consuming even for a computer.  Often, they're standing on a spot that's not quite as safe as they think it is (but usually more than safe enough to prevent a feeble human from seeing how to trigger the mine).   The faster computers get, the longer the triggering sequences they can detect, and the better they will get at blowing up their opponent while keeping themselves safe.

Pai_Mei

Right, but how do we explain what's going on when a human can see something the computer can not?

nartreb

Well, generally the human isn't actually solving that position on the spot, while the computer is.

The computer usually has to infer the triggering steps based on information it has about the mines.  Like, it does an x-ray of the mine, and traces all the wires inside and uses basic rules of electric circuit design to figure out what the triggering code is.

Meanwhile, the human (if he has a formidable memory) can x-ray the mine and, once in a while, just *recognize* the wiring pattern as one he's seen before (maybe in someone else's game), and *remember* what the triggering code is for that particular model of mine.  

ponz111

nartreb

One thing the best humans have in chess that the best computers do not have. The best humans can think outside the box and thus can solve problems which the very strongest computers [chess engines] cannot solve.

This statement is not correct: "Best of luck to you, no human has managed to do so against a decent computer in years."  This is not correct as I have done so.  

LoekBergman

Another metaphor could be the spell checker in an office suite.

Quite often is the spell checker correct. Certainly in foreign languages, but sometimes is it incorrect as the grammar is used in an extraordinairy way and the word should be spelled differently. Humans will see, computers not.

Several years ago was the orthography of Dutch changed. It was a huge problem for a lot of people to get accustomed to the new ways to write the words properly. It was not a problem at all for the spell checkers.

But in some situations will a spell checker make an error a human would not do.

The English sentence 'He knows it best' translates in Dutch to 'hij weet het het beste'. Twice 'het' after each other. The spell checker will return an error, but it is proper Dutch.

nartreb

Hm, spell checkers (or grammar checkers, more accurately) are an interesting example.   It turns out that human languages, like English and Dutch, use a grammar that is very nearly, but not quite, "context-free", which means it's quite straightforward to write a computer program that can quickly parse the grammar of most English sentences, but if you want your grammar checker to be correct all the time, you have to either add lots of special cases or use a much more cumbersome method.

(Parsing grammatical statements is a very well-studied problem, because computer programming languages depend on it.)

Humans get English "right" not because they're applying better rules, but because they're not really applying rules.  They learn language from experience, and when the rules are too difficult, it's the language that changes.  

In your example, though, I suspect the spell-checker isn't even trying to parse your grammar.  It doesn't need any knowledge of grammar to notice a repeated word.

Side note:  It's fun to watch small children make "regularization errors."  In English, for example, a lot of verbs (mostly from Latin origin) form the past tense by adding the suffix "-ed":   "Slip" -> "Slipped". But lots of other verbs (mostly from Germanic origin) change the middle vowel instead:  "Break" -> "broke".  Children will say "I breaked my toy" until you correct them a few times, then they'll usually say "I broked my toy" for a little while before they get it "right".

 

(edit: changed "French origin" to "Latin origin" so nobody would be distracted if they knew that French (and Norman French) was already significantly influenced by German/Nordic)

xman720

I don't think there's any fundamental situation in which a human can see the best move but a computer won't.

What I mean is that a perfect human player will get the best move every time and a perfect engine will get the best move every time.

A 99% human and a 99% engine are still both 99%, but the 1% they miss is just different.

Saying computers are "stupid" or "don't understand chess" because they sometimes make mistakes in closed positions is incredibly arbitrary. A relativitely weak computer can show a GM are corrosponding open and tactical position and call him "stupid" when he cannot find the correct move.

It's just a matter of which positions you learn first rather than anything fundamental about chess understanding. Some endgame positions make more sense to us because of the way we think- fundamentally it doesn't say anything about our playing ability or computers' playing ability.

The only advantage a human can possibly have is that it is impossible for a computer to understand that it doesn't understand endgames or closed positions, and try to fight for open boards. This is an additional level of thinking that programs do not program into their engines. Humans going against computers, on the other hand, understand the weaknesses of both players and will try to steer the game into a position where the human players can find the correct moves while the engines have more trouble.

LoekBergman

A nice sentence for a spell checker is the next question - answer.

Question:

what was was was before was was was?

Answer:

Before was was was, was was is.

BTW, to slip is most likely from Germanic origin. Those kind of words are well known in German and Dutch as well. In Dutch we have a -de extension in the past tense for regular verbs. For instance to 'spell' is 'spellen' and 'spelled' is 'spelde'. To 'fear' = 'vrezen' and 'feared' = 'vreesde'.

Earth64

Abstracts are not known by computers. Such as love , beauty, anger, tension .. etc.

nartreb

Indeed, "slip" is Germanic.  I was temporarily at a loss for a Latin-derived example of a "weak verb" that a three-year old would know - which should have told me something. Thanks for making me pay attention to this. I never formally studied German grammar, and I somehow didn't notice that German has plenty of "weak" verbs.  (I don't speak Dutch, but if I speak German with indistinct vowel sounds and a few extra "ch" noises... Money Mouth) It turns out that the very idea of a "strong-verb"/"weak-verb" distinction comes from a peculiarity in the history of the past tense in German - Wikipedia (in English) has a good article on this. In English, borrowed French/Latin verbs were placed in the "weak" category and are now very numerous, so I think my "mostly from Latin" parenthetical is actually correct, if misleading.  

LoekBergman

At least it was not a slip of the tongue. :-) Thanks for the information about the strong/weak distinction. Interesting read.

xman720

LoekBergman, I don't think your sentences make any sense. I think what you meant to say was:

Question:

What was was after was was was?

Answer:

After was was was, was was is.

My "autocorrector" detects that you also might have meant to say:

Question:

What was what was was before was was what?

Answer:

Was was is before was was what was was.

ponz111 wrote:

nartreb

One thing the best humans have in chess that the best computers do not have. The best humans can think outside the box and thus can solve problems which the very strongest computers [chess engines] cannot solve.

Humans concider only a small subset of legal moves based on previous experience while computers systematically check every move regardless of how absurd it looks. Which one has a greater potential for thinking outside the box?

Is it reasonable to say that a human, who's chess ability is based solely on pattern recognition and previous experience, can find novelties better than a computer that checks every possible move?

kkl10

The comparison between chess and human language itself in this context seems reasonable. One could say that learning chess until one reaches master level is very much like learning a foreign language until one becomes fluent in it. I'm sure someone else has thought of this comparison before...

The shortcomings and advantages of computers vs humans on both skills are comparable in nature since they stem from the same core differences/limitations. A machine can process and output subsets of logical information (both language and chess are essentially logical frameworks), but in a very limited way (more so with language since chess does not transcend the boundaries of logic to the same extent): very productive and precise, but also highly redundant and only has efficient and useful as it's programmed to be.

Humans can actually do most of the things that machines do (albeit not as well) and much more. Logical proficiency is usually not comparable, but human cognition is actually much more elegant in its seemingly effortless nature than the highly redundant algorithms runnings on AI.

Well, that's all just appearance... Deep down maybe there isn't much difference between humans and machines. But sophistication is unquestionably on the human side. We're not purely logical machines (thank God!), we're much more sophisticated than that. But whichever is the better one is kinda pointless to argue. Each does what it's supposed to do.

nartreb

Who polices the police?

The police police police the police.

Who polices the police police?

The police police police police the police police.

ad infinitum...

LoekBergman

@xman720: it does make sense.

Before the past becames past it was the present time and before that it was the future.

Before was was was, was was is and even before was was is, was was will be. :-)

ponz111
xman720 wrote:

LoekBergman, I don't think your sentences make any sense. I think what you meant to say was:

Question:

What was was after was was was?

Answer:

After was was was, was was is.

My "autocorrector" detects that you also might have meant to say:

Question:

What was what was was before was was what?

Answer:

Was was is before was was what was was.

ponz111 wrote:    ponz in blue

nartreb

One thing the best humans have in chess that the best computers do not have. The best humans can think outside the box and thus can solve problems which the very strongest computers [chess engines] cannot solve.

Humans concider only a small subset of legal moves based on previous experience

However, the best humans can think outside the box and consider more than this.

 

while computers systematically check every move regardless of how absurd it looks.

Actually they only check every move for a ply or two.  After a while there would be far too many possible moves to check them all.

 

Which one has a greater potential for thinking outside the box?  The human. Have you ever known a computer to "think outside the box"?

Is it reasonable to say that a human, who's chess ability is based solely on pattern recognition and previous experience, can find novelties better than a computer that checks every possible move?   You go wrong here. There are some humans who's chess ability is based on more than pattern recognition and previous experience. There are some who can "think outside the box".

A computer does not check every single move. If a computer did that, it could only think ahead a few ply.

Chess.com recently gave two problems which the very strongest chess engines could not solve even when given many hours of time.

I solved the first one in about 90 seconds by just staring at the position [and thinking]

The 2nd position took me about 4 minutes... 

xman720

Your example is irrelevent.

If a chess position has 20 legal moves, with 20 legal responses, and 20 legal responses for that etc.) you will get about 50 million possible board positions in 6 ply. A good computer will analyis every single one, regardless of how absurd it looks. It will analysas each individual board position 19+ moves deep very quickly.

When a GM, even the strongest, looks at a position, he will analysis at most 10 lines 10 moves deep with an analysis board. A GM could easily miss something.

It is the computers who are more creative.

There is not a single move which a computer cannot think of, and there is no move a computer will not miss.

A computer can missevaluate a move, but there is no move which can simply escape its mind as a possible option.

When you talk about creativity, you are talking about a move which will make humans respond "I never thought of that" or "I didn't even realize that was an options."

Engines are infinitely creative, because they always consider every move.

nartreb

>Have you ever known a computer to "think outside the box"?

Yes indeed.  There are a number of (physical or simulated) architectures in which a computer is capable of learning, in every sense of "learning".  Many times they come up with a solution that not only did their programmer not think of, but that nobody else who has studied the problem has thought of either.  

One area this is currently being applied is in control theory.  Try to get a robot hand to hold an egg without breaking it, for example.  Or walking on two/three/six/eight legs at various speeds.  Sounds easy but it's really hard without the right sensors and feedback all correctly organized and all values perfectly adjusted.  For years programmers tried writing programs to do it, and that was basically a failure.   Solution, let the computer learn from its mistakes, and make adjustments on its own. In some cases the resulting programs started to look a lot like the way various animals control their movements - once we knew what to look for.