Is it Possible to Program a Chess Player That Can Never Be Defeated?

  • Context: Undergrad 
  • Thread starter Thread starter Moses
  • Start date Start date
  • Tags Tags
    Chess Game
Click For Summary

Discussion Overview

The discussion revolves around the feasibility of programming a chess player that can never be defeated. Participants explore the complexities of chess as a deterministic game, the differences between human and computer players, and various strategies for programming such a chess engine. The conversation touches on theoretical aspects, programming challenges, and the nuances of chess tactics and positional play.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants suggest that with infinite computational power, it might be possible to create a perfect chess player by exploring the entire chess state tree, although the current number of positions is estimated to be around 10^40, which exceeds current computing capabilities.
  • Others argue that chess computers excel at tactical calculations but struggle with positional decisions, which are often better handled by human players. This distinction is illustrated by a past match between Kasparov and Deep Fritz.
  • A participant mentions their strategy of programming a chess engine to focus on reaching endgame scenarios with fewer pieces, suggesting that this could simplify the positional challenges faced by the computer.
  • There is a discussion about the importance of how a chess engine evaluates board positions, with some proposing that simply counting pieces is insufficient and that more complex factors, such as control of the center, must be considered.
  • Another participant emphasizes the need for a sophisticated scoring system that accounts for various positional advantages beyond just material count.

Areas of Agreement / Disagreement

Participants express differing views on the capabilities of chess computers versus human players, particularly regarding tactical versus positional play. There is no consensus on whether a chess engine that can never lose is achievable or what specific strategies would be most effective in programming such an engine.

Contextual Notes

Limitations include the vast number of possible chess positions and the current computational limitations that prevent exhaustive exploration of the chess state tree. Additionally, the discussion highlights the unresolved nature of how best to evaluate chess positions in programming.

Moses
Messages
68
Reaction score
0
Hey,
Well, all of us know that with a bit of concetration at the X-O game you can never lose a game: either draw or to win if the other person mis-put his sign.

But does anybody think that the same will be for the chess game..checkers..cards...etc in a very,very very complex way..but still it could happened [Well, the question might sound non-sense and pointless..i know...but i am trying to programa chess player that never can get defeated..andi do not care -until the moment- if he could win- i do not want to waste hours in programming impossible thingy!] "Copy Right reserved for Moses designing company :biggrin: "
\
 
Mathematics news on Phys.org
Chess is deterministic, so with infinite compute power, it should be possible to explore the entire chess state tree, and consequently make a 'perfect' chess player. However, the number of positions is, if I recall correctly, something like 10^40 which is outseide the capability of current computers to handle.

Chess programs use different tactics. You might want to google for 'computer chess' for more information.
 
Being an avid chessplayer, I know that there is a DISTINCT difference between human chess players and computer chess programs. Chess computers never, ever make tactical mistakes, since they can see so far ahead. However, chess computers are largely incapable of making positional decisions; something it seems only humans can do. This was exemplified very well by the Kasparov vs Deep Fritz(Computer) match that was on espn within the last year. In one of the games, Kasparov tied the computer up so badly that the computer could not see a simple positional pawn move, and instead started wasting moves/tempos by moving the same piece back and forth. Also, chess computers value capturing things more than improving their positions. In order to program a chess computer that can never lose, you would have to be a super grandmaster and program in complex positional ideas. This, combined with perfect calculation, would be what you want.
 
Well, thank you both for help,

I noticed the problem that PC's has about the "position" thingy in chess ususally [BTW: I am a Chess Master..I play against some programs and i figured out knwoing there tree that with some sets of movements...i can ruined him always and in almost the same moves every time...]

In my programming process...i am trying to start from the end of the game: I am trying to make the PC tactic is to reach the end of the game with very few peices to him and the opponenet...then by that "the position trick" will be much easier for the pc to catch...[For example: if you have a king and the com has a King and a Castle...whereever your peices and his peieces are "if it is an ok program" he can always wins this situation...not tie because of bad moves..] I will try to make the PC strategy is to "destroy many peices" first even he will lost many peices...then the reasl game will start!

I am using now lost of probabilities and mathematics processsing...and the sad thigny is the most important steps in the calculation i have to do them... :cry: :cry: :cry: stupid machines!
 
kreil said:
Being an avid chessplayer, I know that there is a DISTINCT difference between human chess players and computer chess programs. Chess computers never, ever make tactical mistakes, since they can see so far ahead. However, chess computers are largely incapable of making positional decisions; something it seems only humans can do. This was exemplified very well by the Kasparov vs Deep Fritz(Computer) match that was on espn within the last year. In one of the games, Kasparov tied the computer up so badly that the computer could not see a simple positional pawn move, and instead started wasting moves/tempos by moving the same piece back and forth. Also, chess computers value capturing things more than improving their positions. In order to program a chess computer that can never lose, you would have to be a super grandmaster and program in complex positional ideas. This, combined with perfect calculation, would be what you want.

It all depends on how the board's 'score' is calculated. It's very easy to just add up the number of peices, but there are many many many ways for a board to be 'positioned' well. The trick is finding some common factor (like holding the center) that makes positions "good".
 
Alkatran said:
It all depends on how the board's 'score' is calculated. It's very easy to just add up the number of peices, but there are many many many ways for a board to be 'positioned' well. The trick is finding some common factor (like holding the center) that makes positions "good".

Well, there is the "coloumn and raws" rule as well, which it sees how much squares,raws,colums you controlled and how they are from the opponent king, the diagonal lines here has a special case..since not all diagonal lines has the same length at chess boards...
 

Similar threads

  • · Replies 195 ·
7
Replies
195
Views
25K
  • · Replies 25 ·
Replies
25
Views
18K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 28 ·
Replies
28
Views
14K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 11 ·
Replies
11
Views
10K
Replies
14
Views
6K
  • · Replies 6 ·
Replies
6
Views
3K