110

I was recently in a discussion with a non-coder person on the possibilities of chess computers. I'm not well versed in theory, but think I know enough.

I argued that there could not exist a deterministic Turing machine that always won or stalemated at chess. I think that, even if you search the entire space of all combinations of player1/2 moves, the single move that the computer decides upon at each step is based on a heuristic. Being based on a heuristic, it does not necessarily beat ALL of the moves that the opponent could do.

My friend thought, to the contrary, that a computer would always win or tie if it never made a "mistake" move (however do you define that?). However, being a programmer who has taken CS, I know that even your good choices - given a wise opponent - can force you to make "mistake" moves in the end. Even if you know everything, your next move is greedy in matching a heuristic.

Most chess computers try to match a possible end game to the game in progress, which is essentially a dynamic programming traceback. Again, the endgame in question is avoidable though.

Edit: Hmm... looks like I ruffled some feathers here. That's good.

Thinking about it again, it seems like there is no theoretical problem with solving a finite game like chess. I would argue that chess is a bit more complicated than checkers in that a win is not necessarily by numerical exhaustion of pieces, but by a mate. My original assertion is probably wrong, but then again I think I've pointed out something that is not yet satisfactorily proven (formally).

I guess my thought experiment was that whenever a branch in the tree is taken, then the algorithm (or memorized paths) must find a path to a mate (without getting mated) for any possible branch on the opponent moves. After the discussion, I will buy that given more memory than we can possibly dream of, all these paths could be found.

Cam Jackson
  • 11,860
  • 8
  • 45
  • 78
Overflown
  • 1,830
  • 2
  • 19
  • 25
  • 1
    +1: excellent topic. However, I would think that this should be wiki-fied as demonstrated by the variety and volume of answers. – IAbstract May 13 '10 at 02:25
  • 1
    "think I've pointed out something that is not yet satisfactorily proven"? What have you pointed out that's not proven formally? – S.Lott Jul 19 '10 at 23:52
  • 2
    ack! how can there be 20 different answers to such a black and white question! (no pun intended). – Peter Recore Jul 21 '10 at 18:10
  • 5
    I too am astonished at the number of people who post their speculative answers unaware that the answer has in fact been mathematically determined - answer in the sense that it has been proved that chess has a solution - it's just not practical to calculate it. – DJClayworth Nov 29 '10 at 16:23
  • 4
    Reminds me of the joke about the Perfect Chess Playing Computer. Playing white, it thinks and thinks and thinks and then.... resigns! –  Mar 14 '11 at 23:29
  • On a related note, I blv I found a lower bound for the rating of a perfect player - https://unclejerry9466728.wordpress.com/2018/12/20/172/ – jeremy_rutman Jan 05 '20 at 03:49
  • I just want to point out that although it is computationally infeasible to solve chess, it's almost universally agreed upon by strong players that chess is a draw. among the strongest chess engines the draw rate is upwards of 70%. for example, in the Top Chess Engine Championship that ended in Feb 2021, Stockfish defeated Leela +14 -8 =78 which is a 78% draw rate. – Derek O Oct 08 '22 at 00:34

27 Answers27

108

"I argued that there could not exist a deterministic Turing machine that always won or stalemated at chess."

You're not quite right. There can be such a machine. The issue is the hugeness of the state space that it would have to search. It's finite, it's just REALLY big.

That's why chess falls back on heuristics -- the state space is too huge (but finite). To even enumerate -- much less search for every perfect move along every course of every possible game -- would be a very, very big search problem.

Openings are scripted to get you to a mid-game that gives you a "strong" position. Not a known outcome. Even end games -- when there are fewer pieces -- are hard to enumerate to determine a best next move. Technically they're finite. But the number of alternatives is huge. Even a 2 rooks + king has something like 22 possible next moves. And if it takes 6 moves to mate, you're looking at 12,855,002,631,049,216 moves.

Do the math on opening moves. While there's only about 20 opening moves, there are something like 30 or so second moves, so by the third move we're looking at 360,000 alternative game states.

But chess games are (technically) finite. Huge, but finite. There's perfect information. There are defined start and end-states, There are no coin-tosses or dice rolls.

S.Lott
  • 384,516
  • 81
  • 508
  • 779
  • 23
    All endgames with 6 pieces or less have been enumerated and solved. See tablebase and bitbase here: http://en.wikipedia.org/wiki/Tablebase. For example, there's a KQNKRBN endgame where 517 moves are required to force a mate! But the total number of chess games is around (10^(10^50)). – HTTP 410 Jan 03 '09 at 15:00
  • 2
    Scripted to win is one thing. Exhaustively enumerated is a different thing. Either way, the information is perfect -- everything is known -- the game is deterministic by definition. – S.Lott Jan 03 '09 at 20:03
  • 1
    The weather is also theoretically deterministic - but this is another problem that we'll never "solve" because of the number of variables involved and its non-linearity. – HTTP 410 Jan 05 '09 at 14:45
  • 11
    @RoadWarrior: disagree. Random applies to weather. God rolls dice. Random doesn't apply to chess -- by definition. Chess has complete information. Weather has quantum effects -- it can't be complete. – S.Lott Jan 05 '09 at 15:09
  • 3
    What makes the weather difficult to forecast are the chaotic non-linear factors, not any quantum effects. Given enough computing power and knowledge, We could in theory create a "correct" weather forecast. – HTTP 410 Jan 05 '09 at 17:22
  • @RoadWarrior: In which case, the entire universe is (a) deterministic and (b) I have no free will, my answers are entirely determined by the history of the universe to date. Not sure I like that. I prefer random. – S.Lott Jan 05 '09 at 18:41
  • 1
    No, that doesn't follow. The reason that the weather could in theory be predicted for the near future is that quantum effects have a *very* low probability of affecting your forecast significantly on this timescale. – HTTP 410 Jan 06 '09 at 23:07
  • 1
    To make it more clear, the nn-linear chaotic effects are far more significant (for your forecast) than the quantum effects. – HTTP 410 Jan 06 '09 at 23:08
  • Let me make this clear. Chess has finite, known, limited rules. Weather doesn't even have "rules". The best you can do is theorize and model what you observe. Chess is by definition finite and complete. Weather is not finite except in the sense that the universe is "finite". – S.Lott Jan 07 '09 at 01:13
  • Computers today are better than people. The algorithms and processors now get them to search intelligently the most correct lines and slightly deeper than the best Grandmasters do. Their opening books and end games are near perfect and they "see" most traps easily. – lkessler Jan 16 '09 at 03:35
  • @lkessler: the question isn't "deeper" -- it's "perfect". Is there a perfect view of all possible future positions. There is for tic-tac-toe. Chess can theoretically have a complete and perfect view of all future positions; practically it's hard to do. – S.Lott Jan 16 '09 at 18:00
  • @S.Lott: Not sure now why I decided on my comment. I thought it was in response to another comment. At any rate, ignore my comment and instead see my answer to your question. – lkessler Jan 26 '09 at 04:01
  • @lkessler: (1) you can delete comments -- it's better than apologizing or explaining. (2) it's not my question. – S.Lott Jan 26 '09 at 11:17
  • 2
    @S.Lott:I'm not sure how 'Free Will' could sit on top of a Random Universe any better than on a Determined Universe[who is making the decisions?]. If you haven't read 'Freedom Evolves' by Dan C.Dennet,I would recommend it-he coins the phrase 'evitability':he argues that an agent living in a deterministic Universe is still able to make decisions which affect it's future. I don't really get it,but it makes for an interesting read-he uses J Conway's Life to illustrate it.[also,if you haven't already:"Shadows of the Mind",R.Penrose-again I don't really get it :-) , but interesting] – monojohnny Jan 17 '10 at 23:07
  • 2
    @monjohnny: perhaps interesting, but irrelevant for chess and this question. Chess is finite. The metaphysical debate between determinism and free will doesn't apply to the fact that the chess game space is finite. – S.Lott Jan 19 '10 at 13:13
  • @S.Lott.You could be right,but I'm not sure this has been proved.I agree that there are a fixed number of 'states'-But there are sequences of moves which could keep the game going forever-a simplistic example would be for player A to move a knight back and forth between two positions-player B responding with an equivalent move:we can spot this easy-since the board-state would re-occur every 4 gens.Perhaps there are repeating patterns that take orders of magnitude longer to complete:if so the algorithm would have to know about them as well.Maybe infinite-repeating (or near repeating) patterns? – monojohnny Jan 19 '10 at 15:32
  • In addition, I don't mean that the algorithm/player would be cycling moves on purpose in an endless loop. I'm just postulating that if these cycles do exist, then the players could get caught in an infinite loop: unless they track all the moves in-game to date - which would require infinite memory. [the algorithm could not know that the patterns will continue to repeat - it cannot infer the player's next move]. – monojohnny Jan 19 '10 at 15:35
  • I think what I'm trying to say: Chess is Finite in space, but possibly not in time....whoaooooaaa maaannn heavy.... – monojohnny Jan 19 '10 at 15:38
  • 3
    @monojohnny: The rules forbid three repetitions of the same position. Chess is simply finite. It's large but finite. – S.Lott Jan 19 '10 at 15:42
  • Didn't realise that, but you are right about that rule. http://en.wikipedia.org/wiki/Threefold_repetition – monojohnny Jan 19 '10 at 15:58
  • @S.Lott: The more important rule here is the one stating that fifty moves without a pawn move or capture is a draw (and there's at least one exception to that, but it's still finite). – David Thornley Jul 21 '10 at 19:14
  • You should look at http://en.wikipedia.org/wiki/First-move_advantage_in_chess#Solving_chess and the Shannon paper it references. – DJClayworth Nov 29 '10 at 16:16
  • @monojohnny Chess is NOT finite in time. The three-move repetition rule and the 50-move rule combine to ensure that it will always end. – DJClayworth Nov 29 '10 at 16:21
  • 1
    I should say, Chess is not INFINITE in time. – DJClayworth Nov 29 '10 at 18:45
  • 1
    To be pedantic, both threefold repetition and 50-move rules say that a player *may* declare the game a draw, not that they *must*. If both players stubbornly refuse to accept anything but a win, a game can continue indefinitely. – goodside Oct 08 '13 at 18:50
74

I know next to nothing about what's actually been discovered about chess. But as a mathematician, here's my reasoning:

First we must remember that White gets to go first and maybe this gives him an advantage; maybe it gives Black an advantage.

Now suppose that there is no perfect strategy for Black that lets him always win/stalemate. This implies that no matter what Black does, there is a strategy White can follow to win. Wait a minute - this means there is a perfect strategy for White!

This tells us that at least one of the two players does have a perfect strategy which lets that player always win or draw.

There are only three possibilities, then:

  • White can always win if he plays perfectly
  • Black can always win if he plays perfectly
  • One player can win or draw if he plays perfectly (and if both players play perfectly then they always stalemate)

But which of these is actually correct, we may never know.

The answer to the question is yes: there must be a perfect algorithm for chess, at least for one of the two players.

stark
  • 12,615
  • 3
  • 33
  • 50
Artelius
  • 48,337
  • 13
  • 89
  • 105
  • 2
    +1, That is a really great way of explaining it. I can't believe I never thought of that! – Zifre Apr 15 '09 at 23:11
  • 2
    Why does black having no perfect strategy imply that white does have a perfect strategy? What about both players having no perfect strategy? If your implication was true, wouldn't it be true of every 2 player game, meaning every game has a perfect strategy? – John M Naglick Jan 24 '10 at 09:52
  • 9
    @john: Because chess has perfect information and no random elements (unlike many, many other 2-player games), the only way it is possible for no perfect strategy for black to exist would be if white can force a win despite any attempt by black - in other words, if there is a perfect strategy for white. – Dave Sherohman Jan 24 '10 at 10:12
  • 1
    @Dave Sherohman: correct me if I'm wrong then, but if what you said is true isn't this topic as simple as "Perfect Information and No Randomness therefore Perfect Strategy exists"? If that's true, why so much discussion here? – John M Naglick Jan 24 '10 at 10:36
  • @john: Pretty much. I posted this answer because the others didn't really give reasoning for why this were true. – Artelius Jan 25 '10 at 09:29
  • 2
    Actually this logic [doesn't always hold](http://stackoverflow.com/questions/297577/is-there-a-perfect-algorithm-for-chess/3302316#3302316), but is it true in this case. – BlueRaja - Danny Pflughoeft Jul 21 '10 at 18:03
  • 4
    @john "why so much discussion here" - because some people don't know the answer, yet post here anyway. – DJClayworth Nov 29 '10 at 16:25
  • 1
    correction: *"it **is** true in this case,"* sorry I never noticed I had the words misordered before – BlueRaja - Danny Pflughoeft Jan 20 '12 at 16:48
  • The word 'stalemate' must be read as ''draw'. I think that's what he means (and what makes sense). – Shirley Temple Jul 20 '21 at 14:45
30

It has been proven for the game of checkers that a program can always win or tie the game. That is, there is no choice of moves that one player can make which force the other player into losing.

The researchers spent almost two decades going through the 500 billion billion possible checkers positions, which is still an infinitesimally small fraction of the number of chess positions, by the way. The checkers effort included top players, who helped the research team program checkers rules of thumb into software that categorized moves as successful or unsuccessful. Then the researchers let the program run, on an average of 50 computers daily. Some days, the program ran on 200 machines. While the researchers monitored progress and tweaked the program accordingly. In fact, Chinook beat humans to win the checkers world championship back in 1994.

Yes, you can solve chess, no, you won't any time soon.

Jason Plank
  • 2,336
  • 5
  • 31
  • 40
BCS
  • 75,627
  • 68
  • 187
  • 294
  • That's really cool. I didn't know Checkers was solved too. – Cybis Nov 18 '08 at 01:49
  • 6
    "[Y]ou won't an y time soon" is a bit of an understatement. Besides the limit of the expected duration of the universe, you've got a storage issue-- the number of states in Chess far exceeds the 500 billion billion of checkers; in fact, it exceeds the number of particles in the universe. – Michael Dorfman Nov 24 '08 at 08:55
  • Indeed. It's only feasible to solve games with a very low branching factors (draughts, connect4). Even Chess is low compared to Shogi, which in turn pales in comparasson to Go, which pales in comparason to Arimaa. Then, there's Tai kyoku shogi; http://images.google.co.uk/images?&q=Tai+kyoku+shogi – RJFalconer Apr 19 '10 at 17:03
  • 30
    "[...]in fact, it exceeds the number of particles in the universe.". As long as it does not exceed the number of states of the particles in the universe, there is still hope ;-) – Carsten May 28 '10 at 06:06
  • When you start talking about numbers that large, you more or less ignore anything but the exponent, so when someone says chess has more states than there are particles in the universe, it's a reasonably safe bet that it's more by several orders of magnitude. – BCS May 28 '10 at 17:06
  • The number of particles in the universe is not known, but it must be huge... It includes photons, electrons, etc. The number of their possible states is even larger. A commonly stated lower bound on the number of atoms in the observable universe is 10^80. (10^80 - 1) as a base 10 number takes up exactly one MS-DOS command line. (10^80 - 1)^25 fits on a single screen. – fishlips Jul 27 '10 at 01:13
  • http://en.wikipedia.org/wiki/Shannon_number say "game-tree complexity to be at least 10^123, .... the number of atoms in the _observable_ universe,..is estimated to be between 4×10^79 and 10^81" – J-16 SDiZ Nov 05 '10 at 04:14
  • 1
    what happens when the program that always forces the opponent to lose is playing against himself???? – John Demetriou Dec 04 '12 at 09:04
  • @JohnDemetriou: For all turn based games, either the first or second player to move can prevent the other player from winning. It is not possible for both to force the other player to lose. – BCS Dec 04 '12 at 17:01
  • 1
    @BCS hmm, what if there is a prediction in which if I am playing as second player and the other one is using the same heuristic as me then do follow this heuristic to win and if the first player has a similar heuristic????? – John Demetriou Dec 04 '12 at 17:33
  • @JohnDemetriou: all you have shown is that (if you define perfect as "always wins") there can not be a perfect strategy for both players (nor a strategy that is perfect for both players). That does not prevent a strategy that is perfect for one or the other player (connect 4 for example allows the first player to force a win, http://en.wikipedia.org/wiki/Solved_game). – BCS Dec 04 '12 at 19:47
  • 1
    what I am saying is if there is a perfect algorithm and both players have it there will be an indefinite number of probabilities that the algorithm can change in order for it to be perfect – John Demetriou Dec 04 '12 at 20:21
  • @JohnDemetriou: You don't need a heuristic. You can just calculate variation of the game to it's end and know its outcome - without guessing! It's will take nearly like infinite time, but its finishing in finite time... – SDwarfs Jun 06 '13 at 13:04
  • @all: If you just use a simple recursive algorithm with depth-first search you don't need much RAM, as you only need to store the current state of the search of the currently searched path. Just calculate all move variations till the end and at each recursion step take one of the best moves (win, draw, loss) and recursively return the result as result of the game. This could be even done with an old computer from the 1990s. This algorithm isn't very efficient, but would do it. Only problem: Time! A current computer using this algorithm wouldn't finish the computation within anyones life span. – SDwarfs Jun 06 '13 at 13:10
  • @StefanK. IIRC it wouldn't even finish in the life span of our sun. – BCS Jun 07 '13 at 02:14
  • @BCS. Well, this reminds me of 'The Hitchhiker's Guide to the Galaxy'. The result is 42, but nobody knows the answer... Maybe, the question was just forgotten... and I actually solved the problem: In the 1800s people wrote down chess coordinates as number of the field (from 1 to 64). Maybe 42 is just the answer to "Which is the first optimal move in chess?". And the answer - after long long time of calculations - was: 42 ... "figure [pawn] to 42" or in Short Algebraic Notation: b3 (= field #42). – SDwarfs Jun 07 '13 at 14:14
16

This is not a question about computers but only about the game of chess.

The question is, does there exist a fail-safe strategy for never losing the game? If such a strategy exists, then a computer which knows everything can always use it and it is not a heuristic anymore.

For example, the game tic-tac-toe normally is played based on heuristics. But, there exists a fail-safe strategy. Whatever the opponent moves, you always find a way to avoid losing the game, if you do it right from the start on.

So you would need to proof that such a strategy exists or not for chess as well. It is basically the same, just the space of possible moves is vastly bigger.

mmcdole
  • 91,488
  • 60
  • 186
  • 222
ypnos
  • 50,202
  • 14
  • 95
  • 141
  • So, who had the urge to downvote my answer? Is there anything wrong in it? Want to get yourself in front? – ypnos Nov 18 '08 at 21:04
  • @ypnos, I didn't down vote your answer at all. I just commented to say not to let random down-voters get you down. You've gained 30 rep and only lost 1. Also, +1 ;) – mmcdole Jan 16 '09 at 03:31
  • 1
    Several reasons for downvote. 1) It is known that there exists an algorithm for solving the game, it is just that the algorithm is impractical to calculate using any conceivable technology. 2) Solving the game does NOT imply that their exists a failsafe strategy. Tic-tac-toe is solved, but there is no strategy for the second player that avoids a loss. – DJClayworth Nov 29 '10 at 16:19
  • 2
    "This is not a question about computers but only about the game of chess." Well, computer science isn't actually about computers. They are just a tool. The computer science works without computers. – Janus Troelsen Feb 09 '12 at 00:05
  • 1
    It -is- actually a question about computers, as the questions is whether a Turing Machine (=Computer) could exist, that solves chess. – SDwarfs Jun 06 '13 at 13:13
14

I'm coming to this thread very late, and that you've already realised some of the issues. But as an ex-master and an ex-professional chess programmer, I thought I could add a few useful facts and figures. There are several ways of measuring the complexity of chess:

  • The total number of chess games is approximately 10^(10^50). That number is unimaginably large.
  • The number of chess games of 40 moves or less is around 10^40. That's still an incredibly large number.
  • The number of possible chess positions is around 10^46.
  • The complete chess search tree (Shannon number) is around 10^123, based on an average branching factor of 35 and an average game length of 80.
  • For comparison, the number of atoms in the observable universe is commonly estimated to be around 10^80.
  • All endgames of 6 pieces or less have been collated and solved.

My conclusion: while chess is theoretically solvable, we will never have the money, the motivation, the computing power, or the storage to ever do it.

HTTP 410
  • 17,300
  • 12
  • 76
  • 127
  • 3
    C'mon. You have to think of the problem differently. Don't think of the number of games, because transpositions and alpha-beta algorithms and such cut that back immensely. Think of board positions (10^60) or combinations of chess pieces (100 million). With Quantum Computing, it's trivial. – lkessler Jan 16 '09 at 03:28
  • 2
    Alpha-beta in this context (solving chess) would require a perfect evaluation function. So does board positions and piece combinations. We don't have a perfect evaluation function, so quantum computing doesn't help us. – HTTP 410 Jan 16 '09 at 10:32
  • 1
    Anytime that I think that something is "trivial", and I'm sure that no one's already done it, I'm also sure I've been wrong at least once. – Dean J Oct 28 '09 at 14:19
  • Good comment, one quibble: the game tree complexity, i.e., how big the search tree for chess is, is a better measure of the complexity of chess, which is the Shannon number, in the order of 10^120. – Charles Stewart Dec 04 '09 at 13:16
  • @RoadWarrior: How do you calculate the total number of games? I suppose you're ignoring cases of cycles? Also, have you got some general links to chess programming resources? I'm intrigued... – Carlos May 29 '10 at 18:22
  • 2
    @lkessler: Board positions don't tell the whole story. At least some history of the game is necessary for castling or en passant captures or draw due to lack of capture or pawn move, and the whole history for draw by repetition. Moreover, since it was a notable research result recently for a quantum computer to factor 15, I'd say nothing's trivial with quantum computing right now. – David Thornley Jul 21 '10 at 17:57
  • 2
    For comparison here, if you can generate all possible chess positions you can trivially brute-force any cipher with a 128-bit key, since 10^46 is about 2^152 or 2^153. There are excellent reasons to think this is impossible before the heat death of the Universe. – David Thornley Jul 21 '10 at 18:13
  • 1
    @RoadWarrior: Alpha-beta pruning is also applicable when calculating the game till the final win/loss/draw. In other words: if black would have one way to force a win, if white make move x, then white would not choose that move (or would have to do it and always loose). Therefore we don't need to analyze this variation any further. So, alpha-beta pruning is also applicable if you don't "guess" but "know" some results of the search tree. – SDwarfs Jun 06 '13 at 13:22
9

Some games have, in fact, been solved. Tic-Tac-Toe is a very easy one for which to build an AI that will always win or tie. Recently, Connect 4 has been solved as well (and shown to be unfair to the second player, since a perfect play will cause him to lose).

Chess, however, has not been solved, and I don't think there's any proof that it is a fair game (i.e., whether the perfect play results in a draw). Speaking strictly from a theoretical perspective though, Chess has a finite number of possible piece configurations. Therefore, the search space is finite (albeit, incredibly large). Therefore, a deterministic Turing machine that could play perfectly does exist. Whether one could ever be built, however, is a different matter.

Cybis
  • 9,773
  • 2
  • 36
  • 37
7

The average $1000 desktop will be able to solve checkers in a mere 5 seconds by the year 2040 (5x10^20 calculations).

Even at this speed, it would still take 100 of these computers approximately 6.34 x 10^19 years to solve chess. Still not feasible. Not even close.

Around 2080, our average desktops will have approximately 10^45 calculations per second. A single computer will have the computational power to solve chess in about 27.7 hours. It will definitely be done by 2080 as long as computing power continues to grow as it has the past 30 years.

By 2090, enough computational power will exist on a $1000 desktop to solve chess in about 1 second...so by that date it will be completely trivial.

Given checkers was solved in 2007, and the computational power to solve it in 1 second will lag by about 33-35 years, we can probably roughly estimate chess will be solved somewhere between 2055-2057. Probably sooner since when more computational power is available (which will be the case in 45 years), more can be devoted to projects such as this. However, I would say 2050 at the earliest, and 2060 at the latest.

In 2060, it would take 100 average desktops 3.17 x 10^10 years to solve chess. Realize I am using a $1000 computer as my benchmark, whereas larger systems and supercomputers will probably be available as their price/performance ratio is also improving. Also, their order of magnitude of computational power increases at a faster pace. Consider a supercomputer now can perform 2.33 x 10^15 calculations per second, and a $1000 computer about 2 x 10^9. By comparison, 10 years ago the difference was 10^5 instead of 10^6. By 2060 the order of magnitude difference will probably be 10^12, and even this may increase faster than anticipated.

Much of this depends on whether or not we as human beings have the drive to solve chess, but the computational power will make it feasible around this time (as long as our pace continues).

On another note, the game of Tic-Tac-Toe, which is much, much simpler, has 2,653,002 possible calculations (with an open board). The computational power to solve Tic-Tac-Toe in roughly 2.5 (1 million calculations per second) seconds was achieved in 1990.

Moving backwards, in 1955, a computer had the power to solve Tic-Tac-Toe in about 1 month (1 calculation per second). Again, this is based on what $1000 would get you if you could package it into a computer (a $1000 desktop obviously did not exist in 1955), and this computer would have been devoted to solving Tic-Tac-Toe....which was just not the case in 1955. Computation was expensive and would not have been used for this purpose, although I don't believe there is any date where Tic-Tac-Toe was deemed "solved" by a computer, but I'm sure it lags behind the actual computational power.

Also, take into account $1000 in 45 years will be worth about 4 times less than it is now, so much more money can go into projects such as this while computational power will continue to get cheaper.

Frank
  • 79
  • 1
  • 2
  • 9
    "Did you know that disco record sales were up 400% for the year ending 1976? If these trends continue... AAY!" -- Disco Stu – Jeremy Friesner May 28 '10 at 06:13
  • 2
    Moore's law - Computing power doubles every 18 months - is likely to fail around 2015. Or computer processor design will have to be radically different. So 2080 is not a realistic target. – Philip Smith Jul 20 '10 at 00:14
  • 3
    @Philip: Processor clock speeds of desktop computers have increased only slightly since 2003, and enhancements since then have mostly been increased cache and multiple cores. Since a 3 GHz processor has one clock cycle in the time it takes light to move 4 inches/10 cm, clock speed can't be expected to increase indefinitely. Moreover, parallelism is typically hard. Projecting exponential increase for fifty years when it started breaking down seven years ago doesn't seem like a safe bet. – David Thornley Jul 21 '10 at 18:06
  • 1
    @David - that is all true. But misses the point. If you half the size of the components on the chip, the electrons get twice as much done at the same clock speed. This is what fuels Moore's law. – Philip Smith Jul 21 '10 at 18:40
  • 3
    @Philip: The halving cannot of course go on forever. A silicon atom is about a quarter of a nanometer across, and chip fabrication is already down to tens of nanometers. Moreover, at quantum levels particles obey statistical rules, not absolute rules, so it's necessary to move around enough electrons at a time to invoke the law of large numbers. So far, Moore's law has been somewhere between a law and a self-fulfilling prophecy, but that's ending sometime fairly soon. – David Thornley Jul 21 '10 at 19:26
  • @David I believe that was my original point. 2015 is the expected date that photo lithography will no longer cope with the small sizes. – Philip Smith Jul 21 '10 at 21:35
  • @PhilipSmith&David: It think you'll simply have more cores in a single $1000 computer. Chess can be parallelized quite well, so this is not a problem. – SDwarfs Jun 06 '13 at 13:40
7

It actually is possible for both players to have winning strategies in infinite games with no well-ordering; however, chess is well-ordered. In fact, because of the 50-move rule, there is an upper-limit to the number of moves a game can have, and thus there are only finitely many possible games of chess (which can be enumerated to solve exactly.. theoretically, at least :)

Community
  • 1
  • 1
BlueRaja - Danny Pflughoeft
  • 84,206
  • 33
  • 197
  • 283
  • 4
    Technically the fifty-move rule, like three-move repetition (which also limits things -- there are a finite number of possible positions, so multiplying that number by three gives us an upper limit) doesn't _cause_ a draw. Rather, it gives either player the opportunity to _claim_ a draw. Ordinarily, the losing player will do so, but it's not required. Therefore, the following is an entirely legal game: 1. Nc3 Nc6 2. Nb1 Nb8 3. Nc3 Nc6 4. Nb1 Nb8, repeated forever. And if I'm not mistaken, it hasn't been disproven that that's not the result of two perfect algorithms playing as white and black. – Lenoxus Feb 01 '14 at 21:03
6

Your end of the argument is supported by the way modern chess programs work now. They work that way because it's way too resource-intense to code a chess program to operate deterministically. They won't necessarily always work that way. It's possible that chess will someday be solved, and if that happens, it will likely be solved by a computer.

Bill the Lizard
  • 398,270
  • 210
  • 566
  • 880
6

I think you are dead on. Machines like Deep Blue and Deep Thought are programmed with a number of predefined games, and clever algorithms to parse the trees into the ends of those games. This is, of course, a dramatic oversimplification. There is always a chance to "beat" the computer along the course of a game. By this I mean making a move that forces the computer to make a move that is less than optimal (whatever that is). If the computer cannot find the best path before the time limit for the move, it might very well make a mistake by choosing one of the less-desirable paths.

There is another class of chess programs that uses real machine learning, or genetic programming / evolutionary algorithms. Some programs have been evolved and use neural networks, et al, to make decisions. In this type of case, I would imagine that the computer might make "mistakes", but still end up in a victory.

There is a fascinating book on this type of GP called Blondie24 that you might read. It is about checkers, but it could apply to chess.

Jason Jackson
  • 17,016
  • 8
  • 49
  • 74
  • That's how you beat today's computers at chess. Tomorrow's will be better. I do agree with you, though, that Blondie24 is fascinating. – Bill the Lizard Nov 18 '08 at 01:45
  • Voted back up. This post doesn't deserve a negative score. – Cybis Nov 18 '08 at 01:51
  • Unfortunately, the chess game problem is too large for machine learning to work. They could never get a learning chess program to even play novicely without blunders. Heuristics are better. But Brute Force was even better. The field of Machine learning only learned from its failure with chess. – lkessler Jan 16 '09 at 03:41
  • Chess programs don't make short term mistakes, and the best programs play better then world champions. I think the latest version of Rybka 64 bit is rated like 3200 ELO – Alex Feb 06 '09 at 19:49
5

For the record, there are computers that can win or tie at checkers. I'm not sure if the same could be done for chess. The number of moves is a lot higher. Also, things change because pieces can move in any direction, not just forwards and backwards. I think although I'm not sure, that chess is deterministic, but that there are just way too many possible moves for a computer to currently determine all the moves in a reasonable amount of time.

Kibbee
  • 65,369
  • 27
  • 142
  • 182
  • 1
    It can be done, but can it be done on a computer we are likely to ever see? – BCS Nov 18 '08 at 01:43
  • 1
    Probably not in our lifetime. All of the really interesting research in the field is being done in the game Go. :) – Bill the Lizard Nov 18 '08 at 01:49
  • IIRC most 6 year olds can be any computer at Go. – BCS Nov 18 '08 at 01:56
  • It took 18 years to calculate the 500 Billion positions for perfect checkers. Cool stuff http://www.cs.ualberta.ca/~chinook/ – user10178 Nov 18 '08 at 02:38
  • 2
    @BCS: Not anymore. The best Go programs are beating dan (professional) level players now. – Bill the Lizard Nov 18 '08 at 02:40
  • WOW! Link? and with what kind of hardware? – BCS Nov 18 '08 at 04:35
  • @BCS: Here you go http://www.usgo.org/index.php?%23_id=4602 – Bill the Lizard Nov 18 '08 at 14:32
  • Once Chess is solved, they'll have to work on Go. Go has simpler rules, but is a many orders of magnitude larger problem than chess. – lkessler Jan 16 '09 at 03:42
  • @Bill: The best Go programs can sometimes beat Dan players on 9x9 (recreational) boards. Computers are nowhere near beating them on the usual 19x19 boards - the [best a computer has ever done](http://en.wikipedia.org/wiki/Go_%28game%29#Software_players) against a professional is win with 9 handicap, the largest handicap typically given. – BlueRaja - Danny Pflughoeft Jul 21 '10 at 18:16
  • 1
    @BlueRaja: That was in 2008. I don't know what the current record is, but MoGo has beaten pros with 6 and 7 stones on a 19x19. http://ireport.cnn.com/docs/DOC-214010 – Bill the Lizard Jul 21 '10 at 19:19
5

From game theory, which is what this question is about, the answer is yes Chess can be played perfectly. The game space is known/predictable and yes if you had you grandchild's quantum computers you could probably eliminate all heuristics.

You could write a perfect tic-tac-toe machine now-a-days in any scripting language and it'd play perfectly in real-time.

Othello is another game that current computers can easily play perfectly, but the machine's memory and CPU will need a bit of help

Chess is theoretically possible but not practically possible (in 2008)

i-Go is tricky, it's space of possibilities falls beyond the amount of atoms in the universe, so it might take us some time to make a perfect i-Go machine.

Robert Gould
  • 68,773
  • 61
  • 187
  • 272
5

Chess is an example of a matrix game, which by definition has an optimal outcome (think Nash equilibrium). If player 1 and 2 each take optimal moves, a certain outcome will ALWAYS be reached (whether it be a win-tie-loss is still unknown).

Jon Smock
  • 9,451
  • 10
  • 46
  • 49
5

As a chess programmer from the 1970's, I definitely have an opinion on this. What I wrote up about 10 years ago, still is basically true today:

"Unfinished Work and Challenges to Chess Programmers"

Back then, I thought we could solve Chess conventionally, if done properly.

Checkers was solved recently (Yay, University of Alberta, Canada!!!) but that was effectively done Brute Force. To do chess conventionally, you'll have to be smarter.

Unless, of course, Quantum Computing becomes a reality. If so, chess will be solved as easily as Tic-Tac-Toe.

In the early 1970's in Scientific American, there was a short parody that caught my attention. It was an announcement that the game of chess was solved by a Russian chess computer. It had determined that there is one perfect move for white that would ensure a win with perfect play by both sides, and that move is: 1. a4!

lkessler
  • 19,819
  • 36
  • 132
  • 203
3

It's perfectly solvable.

There are 10^50 odd positions. Each position, by my reckoning, requires a minimum of 64 round bytes to store (each square has: 2 affiliation bits, 3 piece bits). Once they are collated, the positions that are checkmates can be identified and positions can be compared to form a relationship, showing which positions lead to other positions in a large outcome tree.

Then, the program needs only to find the lowest only one side checkmate roots, if such a thing exists. In any case, Chess was fairly simply solved at the end of the first paragraph.

Solomon
  • 31
  • 1
3

Lots of answers here make the important game-theoretic points:

  1. Chess is a finite, deterministic game with complete information about the game state
  2. You can solve a finite game and identify a perfect strategy
  3. Chess is however big enough that you will not be able to solve it completely with a brute force method

However these observations miss an important practical point: it is not necessary to solve the complete game perfectly in order to create an unbeatable machine.

It is in fact quite likely that you could create an unbeatable chess machine (i.e. will never lose and will always force a win or draw) without searching even a tiny fraction of the possible state space.

The following techniques for example all massively reduce the search space required:

  • Tree pruning techniques like Alpha/Beta or MTD-f already massively reduce the search space
  • Provable winning position. Many endings fall in this category: You don't need to search KR vs K for example, it's a proven win. With some work it is possible to prove many more guaranteed wins.
  • Almost certain wins - for "good enough" play without any foolish mistakes (say about ELO 2200+?) many chess positions are almost certain wins, for example a decent material advantage (e.g. an extra Knight) with no compensating positional advantage. If your program can force such a position and has good enough heuristics for detecting positional advantage, it can safely assume it will win or at least draw with 100% probability.
  • Tree search heuristics - with good enough pattern recognition, you can quickly focus on the relevant subset of "interesting" moves. This is how human grandmasters play so it's clearly not a bad strategy..... and our pattern recognition algorithms are constantly getting better
  • Risk assessment - a better conception of the "riskiness" of a position will enable much more effective searching by focusing computing power on situations where the outcome is more uncertain (this is a natural extension of Quiescence Search)

With the right combination of the above techniques, I'd be comfortable asserting that it is possible to create an "unbeatable" chess playing machine. We're probably not too far off with current technology.

Note that It's almost certainly harder to prove that this machine cannot be beaten. It would probably be something like the Reimann hypothesis - we would be pretty sure that it plays perfectly and would have empirical results showing that it never lost (including a few billion straight draws against itself), but we wouldn't actually have the ability to prove it.

Additional note regarding "perfection":

I'm careful not to describe the machine as "perfect" in the game-theoretic sense because that implies unusually strong additional conditions, such as:

  • Always winning in every situation where it is possible to force a win, no matter how complex the winning combination may be. There will be situations on the boundary between win/draw where this is extremely hard to calculate perfectly.
  • Exploiting all available information about potential imperfection in your opponent's play, for example inferring that your opponent might be too greedy and deliberately playing a slightly weaker line than usual on the grounds that it has a greater potential to tempt your opponent into making a mistake. Against imperfect opponents it can in fact be optimal to make a losing if you estimate that your opponent probably won't spot the forced win and it gives you a higher probability of winning yourself.

Perfection (particularly given imperfect and unknown opponents) is a much harder problem than simply being unbeatable.

mikera
  • 105,238
  • 25
  • 256
  • 415
  • Having imperfect opponents is not a real problem. This just makes the perfect player win/draw (what ever the perfect result is) in less moves. An optimal move in each position is always better or equal to the other possible moves (by definition). So a suboptimal moves allow your opponent to reach an optimal end state (win/draw) earlier or even allows to force a better result. For example, if black would always loose if white plays perfect, it's possible that black wins, if white plays just one single suboptimal move. But yes, this should increase the complexity of the analysis a bit. – SDwarfs Jun 06 '13 at 12:54
  • @Stefan - imperfect opponents are a huge problem if you care about *optimal* play. In particular, you can conceive of situations where it is actually preferable to play a *losing* move (i.e. a move where a perfect opponent would definitely beat you) if you know that the probability of your opponent making a mistake is sufficiently high. – mikera Jun 06 '13 at 20:32
  • *optimal* play to my opinion means to achieve the best possible result with zero risk. Your opponent is probably "weak" but when you play that *losing move* he/she may unfortunately play a good move by accident. Caring about suboptimal opponents is only relevant if there is only the choice between losing moves where one of them has higher chances for a mistake by the (suboptimal playing) opponent leading actually to a draw or win. – SDwarfs Jun 07 '13 at 14:00
  • 1
    That's not the usual definition of optimal in game theory. Optimal usually means maximising the *expected* result. In which case, an optimal player will accept some risk providing it gets a better result *on average*. – mikera Jun 08 '13 at 00:42
  • In that case you are completely right! – SDwarfs Jun 08 '13 at 10:42
2

There are two mistakes in your thought experiment:

  1. If your Turing machine is not "limited" (in memory, speed, ...) you do not need to use heuristics but you can calculate evaluate the final states (win, loss, draw). To find the perfect game you would then just need to use the Minimax algorithm (see http://en.wikipedia.org/wiki/Minimax) to compute the optimal moves for each player, which would lead to one or more optimal games.

  2. There is also no limit on the complexity of the used heuristic. If you can calculate a perfect game, there is also a way to compute a perfect heuristic from it. If needed its just a function that maps chess positions in the way "If I'm in this situation S my best move is M".

As others pointed out already, this will end in 3 possible results: white can force a win, black can force a win, one of them can force a draw.

The result of a perfect checkers games has already been "computed". If humanity will not destroy itself before, there will be also a calculation for chess some day, when computers have evolved enough to have enough memory and speed. Or we have some quantum computers... Or till someone (researcher, chess experts, genius) finds some algorithms that significantly reduces the complexity of the game. To give an example: What is the sum of all numbers between 1 and 1000? You can either calculate 1+2+3+4+5...+999+1000, or you can simply calculate: N*(N+1)/2 with N = 1000; result = 500500. Now imagine don't know about that formula, you don't know about Mathematical induction, you don't even know how to multiply or add numbers, ... So, it may be possible that there is a currently unknown algorithm that just ultimately reduces the complexity of this game and it would just take 5 Minutes to calculate the best move with a current computer. Maybe it would be even possible to estimate it as a human with pen & paper, or even in your mind, given some more time.

So, the quick answer is: If humanity survives long enough, it's just a matter of time!

Community
  • 1
  • 1
SDwarfs
  • 3,189
  • 5
  • 31
  • 53
2

"Is there a perfect algorithm for chess?"

Yes there is. Maybe it's for White to always win. Maybe it's for Black to always win. Maybe it's for both to always tie at least. We don't know which, and we'll never know, but it certainly exist.

See also

polygenelubricants
  • 376,812
  • 128
  • 561
  • 623
  • 1
    Being a pretty decent chess player and having studied the problem extensively over the years, I'm 99.9% certain that the prefect strategy in chess for both players results in a draw (same as has been proved with checkers). There's also evidence that as player strength increases, so does the percentage of draws. – mikera Feb 18 '12 at 06:09
2

if you search the entire space of all combinations of player1/2 moves, the single move that the computer decides upon at each step is based on a heuristic.

There are two competing ideas there. One is that you search every possible move, and the other is that you decide based on a heuristic. A heuristic is a system for making a good guess. If you're searching through every possible move, then you're no longer guessing.

Joel Coehoorn
  • 399,467
  • 113
  • 570
  • 794
  • Actually, the quote is right. Programs look at all possible moves for both sides in the *current* position, and use heuristics to find a good move to drive the game in the direction of a favorable position for the computer. – Bill the Lizard Nov 18 '08 at 03:21
  • 1
    No, they don't look at all possible moves. They use a null-move heuristic to prune the treee. – Alex Feb 06 '09 at 19:51
2

I found this article by John MacQuarrie that references work by the "father of game theory" Ernst Friedrich Ferdinand Zermelo. It draws the following conclusion:

In chess either white can force a win, or black can force a win, or both sides can force at least a draw.

The logic seems sound to me.

Ben Gartner
  • 14,413
  • 10
  • 36
  • 34
1

I'm only 99.9% convinced by the claim that the size of the state space makes it impossible to hope for a solution.

Sure, 10^50 is an impossibly large number. Let's call the size of the state space n.

What's the bound on the number of moves in the longest possible game? Since all games end in a finite number of moves there exists such a bound, call it m.

Starting from the initial state, can't you enumerate all n moves in O(m) space? Sure, it takes O(n) time, but the arguments from the size of the universe don't directly address that. O(m) space might not even be very much. For O(m) space couldn't you also track, during this traversal, whether the continuation of any state along the path you are traversing leads to EitherMayWin, EitherMayForceDraw, WhiteMayWin, WhiteMayWinOrForceDraw, BlackMayWin, or BlackMayWinOrForceDraw? (There's a lattice depending on whose turn it is, annotate each state in the history of your traversal with the lattice meet.)

Unless I'm missing something, that's an O(n) time / O(m) space algorithm for determining which of the possible categories chess falls into. Wikipedia cites an estimate for the age of the universe at approximately 10^60th Planck times. Without getting into a cosmology argument, let's guess that there's about that much time left before the heat/cold/whatever death of the universe. That leaves us needing to evaluate one move every 10^10th Planck times, or every 10^-34 seconds. That's an impossibly short time (about 16 orders of magnitude shorter than the shortest times ever observed). Let's optimistically say that with a super-duper-good implementation running on top of the line present-or-forseen-non-quantum-P-is-a-proper-subset-of-NP technology we could hope to evaluate (take a single step forward, categorize the resulting state as an intermediate state or one of the three end states) states at a rate of 100 MHz (once every 10^-8 seconds). Since this algorithm is very parallelizable, this leaves us needing 10^26th such computers or about one for every atom in my body, together with the ability to collect their results.

I suppose there's always some sliver of hope for a brute-force solution. We might get lucky and, in exploring only one of white's possible opening moves, both choose one with much-lower-than-average fanout and one in which white always wins or wins-or-draws.

We could also hope to shrink the definition of chess somewhat and persuade everyone that it's still morally the same game. Do we really need to require positions to repeat 3 times before a draw? Do we really need to make the running-away party demonstrate the ability to escape for 50 moves? Does anyone even understand what the heck is up with the en passant rule? ;) More seriously, do we really need to force a player to move (as opposed to either drawing or losing) when his or her only move to escape check or a stalemate is an en passant capture? Could we limit the choice of pieces to which a pawn may be promoted if the desired non-queen promotion does not lead to an immediate check or checkmate?

I'm also uncertain about how much allowing each computer hash-based access to a large database of late game states and their possibly outcomes (which might be relatively feasible on existing hardware and with existing endgame databases) could help in pruning the search earlier. Obviously you can't memoize the entire function without O(n) storage, but you could pick a large integer and memoize that many endgames enumerating backwards from each possible (or even not easily provably impossible, I suppose) end state.

Doug McClean
  • 14,265
  • 6
  • 48
  • 70
  • 1
    Your m = 5898. The FIDE chess rules define that you have to move a pawn or take piece (something that irreversibly changes the game) at least every 50 moves (called the 50 moves rule) or one of the players can claim a draw. It has been calculated that the longest possible game is 5898 moves long, if both players cooperate and claim a draw as soon as possible. It doesn't make sense to continue playing, if both players can claim a draw. If a player notices he/she losses he/she could claim the draw, giving the same result. See: http://www.chess.com/blog/kurtgodden/the-longest-possible-chess-game – SDwarfs Jun 06 '13 at 12:29
  • 1
    Note: m = 5898 is the number of "moves". The maximum number of half moves is (118-3)*100 + 3*99 = 11797. You can find the proof here (german!): http://de.wikipedia.org/wiki/50-Z%C3%BCge-Regel#Schachmathematik – SDwarfs Jun 06 '13 at 12:34
1

I know this is a bit of a bump, but I have to put my 5 cents worth in here. It is possible for a computer, or a person for that matter, to end every single chess game that he/she/it participates in, in either a win or a stalemate.

To achieve this, however, you must know precisely every possible move and reaction and so forth, all the way through to each and every single possible game outcome, and to visualize this, or to make an easy way of analyising this information, think of it as a mind map that branches out constantly.

The center node would be the start of the game. Each branch out of each node would symbolize a move, each one different to its bretheren moves. Presenting it in this manor would take much resources, especially if you were doing this on paper. On a computer, this would take possibly hundreds of Terrabytes of data, as you would have very many repedative moves, unless you made the branches come back.

To memorize such data, however, would be implausable, if not impossible. To make a computer recognize the most optimal move to take out of the (at most) 8 instantly possible moves, would be possible, but not plausable... as that computer would need to be able to process all the branches past that move, all the way to a conclusion, count all conclusions that result in a win or a stalemate, then act on that number of wining conclusions against losing conclusions, and that would require RAM capable of processing data in the Terrabytes, or more! And with todays technology, a computer like that would require more than the bank balance of the 5 richest men and/or women in the world!

So after all that consideration, it could be done, however, no one person could do it. Such a task would require 30 of the brightest minds alive today, not only in chess, but in science and computer technology, and such a task could only be completed on a (lets put it entirely into basic perspective)... extremely ultimately hyper super-duper computer... which couldnt possibly exist for at least a century. It will be done! Just not in this lifetime.

MrDeeJayy
  • 47
  • 8
1

Mathematically, chess has been solved by the Minimax algorithm, which goes back to the 1920s (either found by Borel or von Neumann). Thus, a turing machine can indeed play perfect chess.

However, the computational complexity of chess makes it practically infeasible. Current engines use several improvements and heuristics. Top engines today have surpassed the best humans in terms of playing strength, but because of the heuristics that they are using, they might not play perfect when given infinite time (e.g., hash collisions could lead to incorrect results).

The closest that we currently have in terms of perfect play are endgame tablebases. The typical technique to generate them is called retrograde analysis. Currently, all position with up to six pieces have been solved.

Philipp Claßen
  • 41,306
  • 31
  • 146
  • 239
0

It just might be solvable, but something bothers me: Even if the entire tree could be traversed, there is still no way to predict the opponent's next move. We must always base our next move on the state of the opponent, and make the "best" move available. Then, based on the next state we do it again. So, our optimal move might be optimal iff the opponent moves in a certain way. For some moves of the opponent our last move might have been sub-optimal.

I just fail to see how there could be a "perfect" move in every step.

For that to be the case, there must for every state [in the current game] be a path in the tree which leads to victory, regardless of the opponent's next move (as in tic-tac-toe), and I have a hard time figuring that.

E Dominique
  • 1,535
  • 13
  • 17
  • 5
    The perfect move is decided by the 'minmax' strategy: It's the move that maximises your minimum possible score (given all possible moves the opponent could make). Or to put it another way, it assumes the opponent also plays perfectly. – Nick Johnson Nov 22 '08 at 15:31
  • This is an interesting point though. Could a situation arise where a response to the best possible move would put you at a disadvantage if your opponent does not take the best possible move? What implications does this have? – Nona Urbiz Oct 01 '09 at 20:44
  • I'm not mathematician and not a very good chess-player; I also assumed that in theory (should the entire game tree be known) that the answer to this is 'yes'. However , now that you mention this problem [the other player's choice], does this mean the system is potentially unpredictable? Are there mid-point in the game where the other player could force a disadvantage? Is this a bit like the fact that the Perceptron(Neural Net) can learn 'OR' and 'AND' but can never grasp 'XOR' ? Is Chess an example of 'Chaotic' system ? FWIW, IMHO I think the answer seems to be 'dunno' at this point. – monojohnny Jan 17 '10 at 22:35
  • @Nona By definition, that move would be the best move. There is no assumption. – piccolbo Oct 14 '10 at 18:54
  • @piccolbo: Better -one of the- best moves. There are positions in chess where multiple moves result in the same result (win, draw or loss in the same number of moves). – SDwarfs Jun 06 '13 at 12:38
-1

Yes , in math , chess is classified as a determined game , that means it has a perfect algorithm for each first player , this is proven to be true even for infinate chess board , so one day probably a fast effective AI will find the perfect strategy, and the game is gone

More on this in this video : https://www.youtube.com/watch?v=PN-I6u-AxMg

There is also quantom chess , where there is no math proof that it is determined game http://store.steampowered.com/app/453870/Quantum_Chess/

and there you are detailed video about quantom chess https://chess24.com/en/read/news/quantum-chess

Dhia Hassen
  • 508
  • 4
  • 20
  • It is downvoted because people think when you say "quantum" it is shallow fancy knowledge, but actually I mentioned that as a side note after that I answered the question. – Dhia Hassen Jan 04 '21 at 01:14
  • The answer "yes" is correct, but your claim that a quantum AI will "probably" find the perfect strategy is suspicious, and the phrase "the game is gone" is rather silly. As with most answers, this one underestimates the complexity of chess's search space. – ineedahero Jan 01 '22 at 17:48
  • @ineedahero suggest an edit and i will approve – Dhia Hassen Jan 02 '22 at 13:28
-2

Of course There's only 10 to the power of fifty possible combinations of pieces on the board. Having that in mind, to play to every compibation, you would need make under 10 to the power of fifty moves (including repetitions multiply that number by 3). So, there's less than ten to the power of one hundred moves in chess. Just pick those that lead to checkmate and you're good to go

Alex
  • 9
-3

64bit math (=chessboard) and bitwise operators (=next possible moves) is all You need. So simply. Brute Force will find the most best way usually. Of course, there is no universal algorithm for all positions. In real life the calculation is also limited in time, timeout will stop it. A good chess program means heavy code (passed,doubled pawns,etc). Small code can't be very strong. Opening and endgame databases just save processing time, some kind of preprocessed data. The device, I mean - the OS,threading poss.,environment,hardware define requirements. Programming language is important. Anyway, the development process is interesting.