Answers.Body: <p>You might find some luck looking to chess problem solvers. In chess compositions, a problem is 'cooked' if it has more than one solution (usually) or any solution that is unintended. If possible, problems are listed as C+ if they are proven by a computer to have only the intended solution(s). Obviously, these solvers do not throw away any moves to make such a proof.</p>
  
  <p><a href="http://sourceforge.net/projects/popeye-chess/" rel="nofollow">Popeye Solver</a> is one such solver. You can find more information about it on <a href="http://en.wikipedia.org/wiki/Software_for_handling_chess_problems#Popeye" rel="nofollow">Wikipedia</a> and the web.</p>
  
  <p>You weren't very clear on what you were trying to accomplish though (this would have been important), so I'm not sure if it will work for you or not. Typically, with a program such as popeye it has a position, a stipulation, and a set of conditions. For example, a FEN position, "mate in 5", and "orthodox chess" (or perhaps varying rules).</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-06-01T03:21:12.987Z
Answers.LastActivityDate: 2014-06-01T03:21:12.987Z
Answers.UserDisplayName: Alan
Body: <p>For research purposes, I would like to have a chess engine hooked up to a tablebase where I can be guaranteed that the chess engine is looking at ALL moves and calls the tablebase in real time in small positions. Chess engines may discard some moves on the way to calling the tablebase later, and I need to avoid that, for my purposes. At the very least I have to know that no moves, no matter how silly, have been discarded. Can anyone advise me as to what the best available setup is for this purpose? Or whether some code should be added to an open source engine? </p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2013-12-01T04:27:21.777Z
Comments.Text: Harvey, am I right in thinking that the only position evaluations you care about for your ultimate purpose are the definitive tablebase evaluations of "small" positions? That is, is it right that you don't care e.g. about having access to an engine's numerical evaluations of non-tablebase positions as well? (By the way, I doubt you'd remember, but we met very briefly at a reverse mathematics conference at U.Chicago some years ago; I was a student of Jeremy Avigad's.)
Comments.UserDisplayName: ETD
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2013-12-23T21:02:43.020Z
Comments.Text: It seems the phrase: "guaranteed that the chess engine is looking at ALL moves" is a bit difficult to satisfy. However, I offer this link which helps understand the size of the problem: http://www.engine-cloud.com/  It is a way to have a large amount of parallel processing without going broke - "by delegating CPU load to remote machines" in the cloud. Anyway, with some configuration effort the cloud solution might do what you're looking for.
Comments.UserDisplayName: ezaspi
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2014-12-28T10:14:21.110Z
Comments.Text: It's unclear why you want to do this. Bear in mind that the reason that chess engines discard moves is that there are usually so many that it can't look to any reasonable depth without discarding some. For general play, it's better to look to depth 15 and occasionally discard moves you shouldn't have than to look to depth 4 and see everything to that very limited horizon. In a typical position, even looking at everything to depth 5 requires examining about 100,000,000 positions
Comments.UserDisplayName: David Richerby
Tags: <analysis>
Title: Chess Research Analysis Setup
ThreadText: # Chess Research Analysis Setup
  
  (Asked by: username_0 on 2013-11-30)
  
  For research purposes, I would like to have a chess engine hooked up to a tablebase where I can be guaranteed that the chess engine is looking at ALL moves and calls the tablebase in real time in small positions. Chess engines may discard some moves on the way to calling the tablebase later, and I need to avoid that, for my purposes. At the very least I have to know that no moves, no matter how silly, have been discarded. Can anyone advise me as to what the best available setup is for this purpose? Or whether some code should be added to an open source engine?
  
  **Tags:** analysis
  
  > **Comments:**
  > **username_1**: Harvey, am I right in thinking that the only position evaluations you care about for your ultimate purpose are the definitive tablebase evaluations of "small" positions? That is, is it right that you don't care e.g. about having access to an engine's numerical evaluations of non-tablebase positions as well? (By the way, I doubt you'd remember, but we met very briefly at a reverse mathematics conference at U.Chicago some years ago; I was a student of Jeremy Avigad's.)  
  > **username_2**: It seems the phrase: "guaranteed that the chess engine is looking at ALL moves" is a bit difficult to satisfy. However, I offer this link which helps understand the size of the problem: http://www.engine-cloud.com/  It is a way to have a large amount of parallel processing without going broke - "by delegating CPU load to remote machines" in the cloud. Anyway, with some configuration effort the cloud solution might do what you're looking for.  
  > **username_3**: It's unclear why you want to do this. Bear in mind that the reason that chess engines discard moves is that there are usually so many that it can't look to any reasonable depth without discarding some. For general play, it's better to look to depth 15 and occasionally discard moves you shouldn't have than to look to depth 4 and see everything to that very limited horizon. In a typical position, even looking at everything to depth 5 requires examining about 100,000,000 positions  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_4 on 2014-06-01. Score: 2
  
  You might find some luck looking to chess problem solvers. In chess compositions, a problem is 'cooked' if it has more than one solution (usually) or any solution that is unintended. If possible, problems are listed as C+ if they are proven by a computer to have only the intended solution(s). Obviously, these solvers do not throw away any moves to make such a proof.
  
  [Popeye Solver](http://sourceforge.net/projects/popeye-chess/) is one such solver. You can find more information about it on [Wikipedia](http://en.wikipedia.org/wiki/Software_for_handling_chess_problems#Popeye) and the web.
  
  You weren't very clear on what you were trying to accomplish though (this would have been important), so I'm not sure if it will work for you or not. Typically, with a program such as popeye it has a position, a stipulation, and a set of conditions. For example, a FEN position, "mate in 5", and "orthodox chess" (or perhaps varying rules).
  
  
  ---
  
  