Answers.Body: <p>Chess programming is full of "rules of thumb" that can be applied to your own chess.  There are many aspects to chess programming... but the most prominent are tree search and a heuristic evaluation.  Here are some ideas that you might be able to apply to your games:</p>
  
  <ul>
  <li><a href="http://chessprogramming.wikispaces.com/Minimax">Minimax Search</a>: The basis for adversarial search formalized... I'd hope the principle here was intuitive.</li>
  <li><a href="http://chessprogramming.wikispaces.com/Evaluation">Evaluation</a>: A computer scores a position by combining metrics about material balance, king safety, activity, and pawn structure.  This goes into a strategic understanding of any given position.</li>
  <li><a href="http://chessprogramming.wikispaces.com/Iterative+Deepening">Iterative Deepening</a>: The applicable idea here might be to consider your list of candidates first, prior to expending to a deeper level of analysis.</li>
  <li><a href="http://chessprogramming.wikispaces.com/Killer+Move">Killer Moves</a>: An amazing move discovered in one line of your analysis might be applicable in other lines of analysis... consider it early in the process.</li>
  <li><a href="http://chessprogramming.wikispaces.com/Null+Move+Pruning">Null Move Pruning</a>: You can better understand your opponents intentions by considering what moves they would make if you were to skip your own turn.</li>
  <li><a href="http://chessprogramming.wikispaces.com/Quiescence+Search">Quiescence Search</a>: When you reach the end of some analysis, make sure everything is still ok if you were to resolve the tension in the position.</li>
  <li><a href="http://chessprogramming.wikispaces.com/MVV-LVA">MVV-LVA</a>: This one is obvious, but in considering capture patterns, usually a good idea to identify the most valuable victim, and take with the least valuable attacker.</li>
  <li><a href="http://chessprogramming.wikispaces.com/Alpha-Beta">Alpha Beta Search</a>: You can stop considering a line when you find the first refutation to it, rather than continuing to search for a better refutation.</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2013-04-28T12:40:21.717Z
Answers.Text: +1 for good information, but I don't think any of this can be applied to human chess.
Answers.UserDisplayName: Tony Ennis
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2013-04-28T17:54:45.140Z
Answers.Text: It seems that more can be applied to human chess that I would have expected, for instance Alpha Beta Search, MVV-LVA, and maybe Null Move Pruning. We just call them different things in over the board play.
Answers.UserDisplayName: Edward Goodson
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2013-05-10T08:18:33.893Z
Answers.Text: @TonyEnnis perhaps not directly, but e.g. evaluation of a position is pretty much a codification of various human "rules of thumb", perhaps refined with actual statistical analysis to determine the rule's weight and applicability.  By studying a specific implementation, a human might discover what positional elements a computer gives value to.  That said, it'd probably be much easier to just read an actual book on the same subject (which would come with extensive explanations).
Answers.UserDisplayName: Daniel B
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2013-04-28T05:32:45.630Z
Answers.LastActivityDate: 2013-04-28T05:32:45.630Z
Answers.UserDisplayName: tbischel
Answers.Body: <p>If you want all the dirty details of Chess programming, this is a good site:
  <a href="http://chessprogramming.wikispaces.com" rel="nofollow">http://chessprogramming.wikispaces.com</a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2013-04-27T16:50:03.553Z
Answers.LastActivityDate: 2013-04-27T16:50:03.553Z
Answers.UserDisplayName: AAP
Answers.Body: <p>A computers method of playing chess is really of very little use to a human player. Computers have no true intelligence. What they do have is the ability to carry out a very large number of instructions in a very short time. The computer uses a brute force method where they look at every possible move and then reduce the number of possibilities by comparing values given to various things like active or inactive pieces, actual piece values, and specific move variations that can be forced (as long as the entire move chain is within their event horizon). A human can never do this. Humans recognize positions and know that in this position this type of move are likely to matter. The human player thus check many fewer moves, by several orders of magnitude, but chooses better candidate moves to check out. See my answer to
  "How do chess engines think?" <a href="https://chess.stackexchange.com/questions/2204/how-do-chess-engines-think?rq=1e">How do chess engines &quot;think&quot;?</a> for additional information on the specifics behind the chess engines methods. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2013-04-27T06:44:25.507Z
Answers.LastActivityDate: 2013-04-27T06:44:25.507Z
Answers.LastEditDate: 2017-04-13T12:48:53.737Z
Answers.UserDisplayName: Edward Goodson
Body: <p>How is a computer programmed to play chess? What are the ways by which they sort out the moves? My question is not about programming but the idea behind programming to play chess. That can really help me in chess.</p>
  
Tags: <engines><chess-variants>
Title: How is a computer programmed to play chess?
ThreadText: # How is a computer programmed to play chess?
  
  (Asked by: username_0 on 2013-04-27)
  
  How is a computer programmed to play chess? What are the ways by which they sort out the moves? My question is not about programming but the idea behind programming to play chess. That can really help me in chess.
  
  **Tags:** engines, chess-variants
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2013-04-28. Score: 8
  
  Chess programming is full of "rules of thumb" that can be applied to your own chess. There are many aspects to chess programming... but the most prominent are tree search and a heuristic evaluation. Here are some ideas that you might be able to apply to your games:
  
  * [Minimax Search](http://chessprogramming.wikispaces.com/Minimax): The basis for adversarial search formalized... I'd hope the principle here was intuitive.
  * [Evaluation](http://chessprogramming.wikispaces.com/Evaluation): A computer scores a position by combining metrics about material balance, king safety, activity, and pawn structure. This goes into a strategic understanding of any given position.
  * [Iterative Deepening](http://chessprogramming.wikispaces.com/Iterative+Deepening): The applicable idea here might be to consider your list of candidates first, prior to expending to a deeper level of analysis.
  * [Killer Moves](http://chessprogramming.wikispaces.com/Killer+Move): An amazing move discovered in one line of your analysis might be applicable in other lines of analysis... consider it early in the process.
  * [Null Move Pruning](http://chessprogramming.wikispaces.com/Null+Move+Pruning): You can better understand your opponents intentions by considering what moves they would make if you were to skip your own turn.
  * [Quiescence Search](http://chessprogramming.wikispaces.com/Quiescence+Search): When you reach the end of some analysis, make sure everything is still ok if you were to resolve the tension in the position.
  * [MVV-LVA](http://chessprogramming.wikispaces.com/MVV-LVA): This one is obvious, but in considering capture patterns, usually a good idea to identify the most valuable victim, and take with the least valuable attacker.
  * [Alpha Beta Search](http://chessprogramming.wikispaces.com/Alpha-Beta): You can stop considering a line when you find the first refutation to it, rather than continuing to search for a better refutation.
  
  > **Comments:**
  > **username_2**: +1 for good information, but I don't think any of this can be applied to human chess.  
  > **username_3**: It seems that more can be applied to human chess that I would have expected, for instance Alpha Beta Search, MVV-LVA, and maybe Null Move Pruning. We just call them different things in over the board play.  
  > **username_4**: @TonyEnnis perhaps not directly, but e.g. evaluation of a position is pretty much a codification of various human "rules of thumb", perhaps refined with actual statistical analysis to determine the rule's weight and applicability.  By studying a specific implementation, a human might discover what positional elements a computer gives value to.  That said, it'd probably be much easier to just read an actual book on the same subject (which would come with extensive explanations).  
  
  ---
  
  ### Answer by username_5 on 2013-04-27. Score: 4
  
  If you want all the dirty details of Chess programming, this is a good site:
  <http://chessprogramming.wikispaces.com>
  
  
  ---
  
  ### Answer by username_3 on 2013-04-27. Score: 3
  
  A computers method of playing chess is really of very little use to a human player. Computers have no true intelligence. What they do have is the ability to carry out a very large number of instructions in a very short time. The computer uses a brute force method where they look at every possible move and then reduce the number of possibilities by comparing values given to various things like active or inactive pieces, actual piece values, and specific move variations that can be forced (as long as the entire move chain is within their event horizon). A human can never do this. Humans recognize positions and know that in this position this type of move are likely to matter. The human player thus check many fewer moves, by several orders of magnitude, but chooses better candidate moves to check out. See my answer to
  "How do chess engines think?" [How do chess engines "think"?](https://chess.stackexchange.com/questions/2204/how-do-chess-engines-think?rq=1e) for additional information on the specifics behind the chess engines methods.
  
  
  ---
  
  