Answers.Body: <p>If you are reading the code to become a better player, you won't have much luck. The tricks used are only useful when you have the memory and computational power of a machine. </p>
  
  <p>If instead you are reading it to learn about chess programming, the following wiki is a great resource <a href="https://chessprogramming.wikispaces.com">https://chessprogramming.wikispaces.com</a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-06-13T07:43:25.030Z
Answers.Text: I'm programmer, so i know that men can't calculate like computer )) It's interesting for me, how programs can examine positions, also this'll improve my knowledge about programming (by reading code). Thanks for answer.
Answers.UserDisplayName: Digmadentia-Ars
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-06-13T07:24:47.257Z
Answers.LastActivityDate: 2014-06-13T07:24:47.257Z
Answers.UserDisplayName: Thomas Ahle
Answers.Body: <p>TSCP is well commented and a good place to learn how chess programs work
  <a href="http://www.tckerrigan.com/Chess/TSCP/" rel="nofollow noreferrer">http://www.tckerrigan.com/Chess/TSCP/</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-03-29T21:53:18.193Z
Answers.LastActivityDate: 2019-03-29T21:53:18.193Z
Answers.UserDisplayName: john k
Answers.Body: <p>Before starting diving into stockfish why don't you checkout the smallest chess program in C called nanochess by Oscar Toledo. It has only one file main.c  </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-06T13:13:37.077Z
Answers.LastActivityDate: 2015-09-06T13:13:37.077Z
Answers.UserDisplayName: daparic
Body: <p>I'm trying to understand how Stockfish thinks, how it calculates the best move.
  I'm reading open source code, but it's not clear. I want to know, should I know some theory about algorithms to understand that code? Or is it possible without knowing anything? If there are important algorithms, please tell me what I should learn before reading source code.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2014-06-13T09:10:03.823Z
Comments.Text: what exactly is not clear. You would be surprise, but playing chess requires non-intuitive algorithm. Yes you need to know something about algorithms to understand complicated algorithms and also you need to understand artificial intelligence (another surprise)
Comments.UserDisplayName: Salvador Dali
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2014-06-13T09:30:36.893Z
Comments.Text: I like surprises )) it's interesting, thanks i'll read about it.
Comments.UserDisplayName: Digmadentia-Ars
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2014-06-13T10:08:18.960Z
Comments.Text: take a look at this book (I read it and in my opinion it is good). http://www.amazon.com/Artificial-Intelligence-Modern-Approach-Edition/dp/0136042597 and about this algorithm which is used in chess http://en.wikipedia.org/wiki/Alpha%E2%80%93beta_pruning but also in huge amount of other AI tasks.
Comments.UserDisplayName: Salvador Dali
Tags: <analysis><checkmate><stockfish><open-source>
Title: Stockfish's algorithm
ThreadText: # Stockfish's algorithm
  
  (Asked by: username_0 on 2014-06-13)
  
  I'm trying to understand how Stockfish thinks, how it calculates the best move.
  I'm reading open source code, but it's not clear. I want to know, should I know some theory about algorithms to understand that code? Or is it possible without knowing anything? If there are important algorithms, please tell me what I should learn before reading source code.
  
  **Tags:** analysis, checkmate, stockfish, open-source
  
  > **Comments:**
  > **username_1**: what exactly is not clear. You would be surprise, but playing chess requires non-intuitive algorithm. Yes you need to know something about algorithms to understand complicated algorithms and also you need to understand artificial intelligence (another surprise)  
  > **username_0**: I like surprises )) it's interesting, thanks i'll read about it.  
  > **username_1**: take a look at this book (I read it and in my opinion it is good). http://www.amazon.com/Artificial-Intelligence-Modern-Approach-Edition/dp/0136042597 and about this algorithm which is used in chess http://en.wikipedia.org/wiki/Alpha%E2%80%93beta_pruning but also in huge amount of other AI tasks.  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_2 on 2014-06-13. Score: 6
  
  If you are reading the code to become a better player, you won't have much luck. The tricks used are only useful when you have the memory and computational power of a machine.
  
  If instead you are reading it to learn about chess programming, the following wiki is a great resource <https://chessprogramming.wikispaces.com>
  
  > **Comments:**
  > **username_0**: I'm programmer, so i know that men can't calculate like computer )) It's interesting for me, how programs can examine positions, also this'll improve my knowledge about programming (by reading code). Thanks for answer.  
  
  ---
  
  ### Answer by username_3 on 2019-03-29. Score: 2
  
  TSCP is well commented and a good place to learn how chess programs work
  <http://www.tckerrigan.com/Chess/TSCP/>
  
  
  ---
  
  ### Answer by username_4 on 2015-09-06. Score: 1
  
  Before starting diving into stockfish why don't you checkout the smallest chess program in C called nanochess by Oscar Toledo. It has only one file main.c
  
  
  ---
  
  