Will computers ever solve chess?

Sort:
ex0du5

The answer I suspect is yes.  Everyone who claims that the number of possibilities is too large is missing an important point: not all possibilities need be calculated.  It is possible to prove correct play in many lines without calculating all possibilities.  Indeed, it is possible to prove correct play in many infinite games.  Proof of a strategy can include any derivable consequences (and this really true of all math, which includes many infinite structures).

When we prove how to checkmate with a queen and a king against a lone king in the minimum number of moves, we can show that some lines waste moves and do not need to calculate those lines where a novice spends all 50 available moves running around without a plan and gets a draw, even though there may be around 10^69 such moves.

We already have proofs of many endgames.  I suspect there will be some middlegame strategies that are found to force certain reductions that make solutions reachable in many piece patterns.  There are already a few token ones studied.  The number of piece patterns is far less than the number of positions, and as general strategies get proven, there will be a variety of odd patterns left out which may need some brute force solving, but are far more accessible than brute forcing all positions.

That is just my suspicion.  It is true that simply pointing out the position complexity being too large for the universe is not a valid argument against solvability.  Much of modern game reduction theory finds solvability is far easier than brute force.

jiyyu

It seems some people here are dangerously overconfident that solving chess is not possible... as someone mentioned quantum computers could very well be capable of it (once we work out the bazarre problems with them). I agree we most probably will never be able to store every position, let alone analyze them. However, that's not to say we couldn't build a computer that always wins with white. The solution would be a tree of moves (say e4, and if black responds e5, nf3, and if black responds e6, d4...) that would result from a careful analysis of every possible outcome to a massive precision (such as 30 or 40 moves depth). Now I have no idea of how much processing power that would take, or how large the resulting tree would be, but certainly the two problems with such an approach would be: sufficient hardware and sufficient software.

As a computer programmer, I can tell you I have been amazed at the improvements in computing hardware (both storage and processing developments) recently. Consider an iPhone, as a 19th century person. This is the kind of difference we are going to see in the next hundred years, if we don't kill each other off with nukes first... I would never go so far as to put a limit on our potential processing power in 2100 or 2200 with that in mind.

And as for the software, I again encourage you to try to avoid putting limits on our capabilities in the future. The beauty of programming is the ease of building a program - you can test it as much as you like, and once you have a computer the cost is 0 (using freeware). For this reason, programming is one of the fastest developing industries in the world, and is likely to stay that way. You think it unreasonabe that no one will find an algorithm for perfectly assessing a chess position? Houdini, Rybka, and other chess engines already have more or less surpassed humans. Also, as the saying goes, chess is 99% tactics. Guess what never makes tactical mistakes? Unless the programming is faulty, a computer. So that's 99% of the game. I would submit that positional play is also tactical on a very deep level - so deep a human couldn't see it, but a computer could. Just some thoughts Wink

MrEdCollins
TheGreatOogieBoogie wrote:

"I used to think they would end in draws but on second thought there must be some miniscule advantage to moving first that a super computer could capitalize on 100% of the time. Correct?"

Well, not necessarily.  Tic-tac-toe is a draw with best play on both sides... so there's no miniscule advantage in that game.  Likewise with checkers, which has recently been proven to be a draw with best play. Many other examples exist, of course.

manudude02

Well, in a "simplistic" way, if you calculate the total number of possible moves, the number of possible positions must be less. Given 1 side:

Pawns (x8)- 7 moves straight, 14 by capturing (I'm grouping a regular take and en passant- only interested in the start+end squares) leads to 784 possible pawn moves by 1 side.

Rooks (x2)- 14 moves possible times 64 possible for 896 moves per rook

Bishops (x2)- 280(?) moves each

Knights (x2) 16*8+16*6+20*4+6*3+4*2 (i think) = 330 moves per knight

Queens- since it combines bishop+rook, it is 280+896 for 1176

kings- 36*8+24*5+4*3= 420

promoted pawns (*8), add the others (except king) and you have:

1176+330+280+896=2682

multiply all of these together (and put on their respective powers) and you get about 7.1e51, square that and you get around 5e103 possible positions. This includes a lot of illegal positions though which would reduce that number dramatically. Still, that is a lot of positions to go through....

5 billion computers analysing a position per minute (really not enough time at the moment) would "solve" the 32 piece positions (including illegal positions) in 1.9e88 years..... If technology advances enough that it takes a second to solve, then its still like 3e86 years.... so no, it won't ever be solved

edit: it also goes down a lot by start/end squares being occupied and blocked paths.

waffllemaster
TheGreatOogieBoogie wrote:
Fixing_A_Hole wrote:
waffllemaster wrote:

This has been asked and talked about before.  The answer is no.

 

ifoody wrote:

Sadly yes. It may take some years, but the technology advances all the time, and if today's computer need 200 years to solve chess completley, in 10 years the will need 50 years, and maybe in some time solving games like chess will be something that every 8 years old kid can do with his personal computer at home.

But the answer is for sure, yes.

The problem with that logic is they currently need an absurd number like 10^50 years.  So in the future, when it gets 100x faster, they'll only need 10^48 years, and in the very far far far future, only 10^40 years.

And then there's the impracticality (more like impossibility) of storing the solution.

e.g. a little quiz.  If every position + its evaluation only took 1 bit of storage space, and every bit could be stored in the size of an atom, then how big would the storage device be?

A) Bigger than the moon.
B) Bigger than the sun.
C) More atoms than our solar system.
D) More atoms than our galaxy.

Answer is none of the above- More atoms than in the universe.  

Wouldn't it technically be all of the above? ^_^

Haha, I guess.

There are two numbers associated with the bigness of chess.  10^120 is "game tree complexity" which is (I think) representative of what you'd have to calculate though to render an evaluation from the starting position.  By starting from the end and working our way backward (e.g. we have 7 man table bases now) I don't think you have to deal with that number.

The much less, but still impressively large 10^45, is number of unique positions, i.e. something like the size of a 32 man tablebase.  So actually to store every position, with the very generous one atom per position, it would be about the size of the moon I guess.

By comparison, modern (useful) computers use millions of atoms per bit.  All this to say, the scale of completely solving chess is more than saying "Moore's law herp derp."

In fact using modern storage, a quick calculation shows the storage device would be about as massive as what's required for it to collapse into a black hole Laughing (I assumed silicon atoms).

waffllemaster

Hehe, yes, the conversation (as it's happened on these forums many times before) usually points out that a soft/weak/whatever solution is much more practical.

But look around... we already have that today.  That's not the future.  I'd say for most positions, given enough computation time, we can determine with high accuracy if it's a win/loss or a draw.

ElKitch
waffllemaster wrote:

This has been asked and talked about before.  The answer is no.

 

ifoody wrote:

Sadly yes. It may take some years, but the technology advances all the time, and if today's computer need 200 years to solve chess completley, in 10 years the will need 50 years, and maybe in some time solving games like chess will be something that every 8 years old kid can do with his personal computer at home.

But the answer is for sure, yes.

The problem with that logic is they currently need an absurd number like 10^50 years.  So in the future, when it gets 100x faster, they'll only need 10^48 years, and in the very far far far future, only 10^40 years.

And then there's the impracticality (more like impossibility) of storing the solution.

e.g. a little quiz.  If every position + its evaluation only took 1 bit of storage space, and every bit could be stored in the size of an atom, then how big would the storage device be?

A) Bigger than the moon.
B) Bigger than the sun.
C) More atoms than our solar system.
D) More atoms than our galaxy.

But to me it seems pointless to look at every position. If you look at GMs nowadays they will often play the first 10 moves within minutes. Due to years of study they know:
- which openingmoves make sense
- which responses make sense
- mainlines and sensible sidelines
Before they actually start playing they are in the middlegame..

And the middle game doesnt have to take very long if they would be allowed to use the 6 piece endgame tablebase. There's still a gap with an enormous amount of possibilities in between, but most possible positions dont even have to be checked as they can only result from insensible openings. I may be wrong, but doesnt this limit the effort a great deal?

ElKitch

Strong chessplayers also often say "and then you get this [name of opening] kind of middle game". This seems to suggest that even middle games sometimes dont vary that much. Ofcourse the number of (playable) moves is still mindboggling, but the fact that we recognize these middlegames and somewhat know how the must be played tells us that they are not 'random' positions. There are patterns that limit the number of sensible positions and therefore significantly reduce the number of positions that have to be researched. 

waffllemaster

OP used the phrase "solve chess completely" so that's what I was talking about.

ex0du5

I'll say it again: you do not need to check every position to prove solvability.

waffllemaster
ex0du5 wrote:

I'll say it again: you do not need to check every position to prove solvability.

There's no need to prove solvability.  Of course it's solvable.

Also as I said in #26.

ElKitch

I once suggested this:
http://www.chess.com/forum/view/general/the-mega-houdini-premove-project 

ex0du5

As an example of my point for infinite games, see the paper by Dziembowski, Jurdzinski, and Walukiewicz "How much memory is needed to win infinite games?" (Logic in Computer Science).  But there are many examples for finite games (and of course some of the simplest infinite games have easy strategy).

I am sure my queen ending example is one of the simplest to see in chess.  All talk of number of positions is completely irrelevant to the question of whether chess will be solved.  And this is meant mathematically, not any weakened sense of solved.

beardogjones

Yes. They will solve it! Lets start now!!

ElKitch

We got the bookmoves.
From there on let computers calculate the 3 best moves. And for each best 3 moves again calculate the 3 best moves etc. This goes up exponentially so that again is a mindboggling number of moves. But at some point lines will meet the endgame tablebase that already exists. 

ElKitch
ex0du5 wrote:

 All talk of number of positions is completely irrelevant to the question of whether chess will be solved.  And this is meant mathematically, not any weakened sense of solved.

To me it seems irrelevant too. Why calculate a position that will not even come up in a game between a 400 vs 200 rated player?

chessdex

Not even close yet. maybe in the next 300 years or so.

chessdex

Just type in your question on the internet, you will find multiple sources that will say not in this generation

ex0du5
waffllemaster wrote:
ex0du5 wrote:

I'll say it again: you do not need to check every position to prove solvability.

There's no need to prove solvability.  Of course it's solvable.

Also as I said in #26.

I don't mean in a weak form.  I mean absolutely.  Also I don't mean theoretically.  I mean in this universe with physically realisable computation.  My point is that the talk of position complexity does not address the actual problem discussed because not all positions need to be visited.  Strategies can be proven correct and optimal without visiting all positions, and strategies can apply to piece patterns, not just individual positions.

Mandy711

Chess will be solved by computers before the end of the century. Cloud technology would provide the storage for the EGTB. And a supercomputer or clusters of PC's can do the processing. As for the chess players, super GM's most likely can't even play 6 men endgames perfectly. Chess will still be a popular hobby although chess is a solved mystery.