Answers.Body: <p>In objective terms, the game of chess is nothing but tactics. So the question of tactically perfect play is just the question of optimal play. <em>Given sufficient time for any given position</em>, then yes, any competently-built engine would indeed be tactically perfect, because it could search the entire game tree from the position and play optimally.</p>
  
  <p>But here's the thing: in general, the problem of determining optimal play is computationally unfeasible, so we don't even have a way to determine in general whether a tactic has been missed or not. <strong>For all we know, <code>1.a3</code> from the start position is the only winning move in a mate-in-80 tactics puzzle.</strong> If that is the case, then any time an engine chooses to play another move it is missing a tactic. We have no way to prove that isn't the case.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-08T14:37:18.170Z
Answers.Text: is tactic perhaps meant to be defined in the sense of like chesstempo or lichess tactics puzzles? like one side makes a blunder that leads other side to win either at least 2 pawns of material or the game. basically i think the question means to ask if engines will always get those tactics puzzles right. i think tactic here is the opposite of positioni/strategy, the things you don't really learn from puzzles. in this way: of course engines are not expected to be strategically/positionally perfect. but then could engines be tactically perfect?
Answers.UserDisplayName: BCLC
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T23:52:43.310Z
Answers.LastActivityDate: 2014-03-27T23:52:43.310Z
Answers.UserDisplayName: ETD
Answers.Body: <blockquote>
    <p>Is it possible for the <strong>best</strong> of modern chess engines to miss a tactic in a given position?</p>
  </blockquote>
  
  <p>This question boils down to</p>
  
  <blockquote>
    <p>Is it possible for the best of modern chess engines to have a bug in their calculation or evaluation module? </p>
  </blockquote>
  
  <p>Technically, yes. Sometimes, there are bugs which are extremely hard to detect unless they first occur and are caught. But it seems rather <strong>unlikely</strong> that such bugs will exist in the <strong>best</strong> engines which I am sure go through extremely thorough testing; that's one of the reasons why they are the best! :)</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T18:55:41.187Z
Answers.LastActivityDate: 2014-03-27T18:55:41.187Z
Answers.UserDisplayName: NM Wesley Falcao
Answers.Body: <p>One of the most famous computer mistakes was in <a href="https://en.wikipedia.org/wiki/Deep_Blue_versus_Garry_Kasparov#Game_2_2" rel="nofollow">game 2 of the 1997 rematch between Deep Blue and Kasparov</a>.  Deep Blue won that game, but it made a mistake which should have allowed Kasparov to force a draw.</p>
  
  <blockquote>
    <p>This is possible because Deep Blue moved 44.Kf1 instead of an alternate move of its king. Regarding the end of game 2 and 44.Kf1 in particular, chess journalist Mig Greengard in the Game Over film states, "It turns out, that the position in, here at the end is actually a draw, and that, one of Deep Blue's final moves was a terrible error, because Deep Blue has two choices here. It can move its king here or move its king over here. It picked the wrong place to step." Another in that film, four-time US champion Yasser Seirawan, then concludes that, "The computer had left its king a little un-defended. And Garry could have threatened a perpetual check, not a win but a perpetual check."</p>
  </blockquote>
  
  <p>Whether or not you consider Deep Blue from 1997 "modern" is your call.</p>
  
  <p>Here's <a href="http://www.chessgames.com/perl/chessgame?gid=1070913" rel="nofollow">some kibitzing about that game</a>.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-01-11T18:33:15.720Z
Answers.LastActivityDate: 2015-01-11T18:33:15.720Z
Answers.UserDisplayName: Schwern
Answers.Body: <p>No.</p>
  
  <p>In the game 0s and Xs the best move is obvious and unique (if you rotate the board you'll find that the positions all have rotational symmetry, so for example if the first move is a corner (centre FTW BTW!) you may say "there are 4 moves", but really there is only one as is you rotate the board... )</p>
  
  <p>This lets you define the idea of a perfect move, of which chess has no obvious candidate. Which is why it is not known if chess is a fair game (that is no advantage is given to the player who moves first), despite being perfect (no non-deterministic elements, and full knowledge of positions).</p>
  
  <p><a href="https://chess.stackexchange.com/questions/5032/what-are-the-first-moves-chosen-white-by-brute-force-chess-engines/5041#5041">What are the first moves chosen (White), by brute force chess engines?</a> my answer here mentions this WRT openings</p>
  
  <p><a href="https://chess.stackexchange.com/questions/5056/is-there-a-chess-engine-that-does-not-use-brute-force-search/5122#5122">Is there a chess engine that does NOT use brute-force search?</a> bit more about how they work and think - pertaining to tactics.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:04:10.183Z
Answers.Text: This is not what the question asks about. The asker wants to know if engines are *tactically* "perfect (as defined in the question)", not whether they can find a "perfect" move in the general case.
Answers.UserDisplayName: Henry Keiter
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:06:30.097Z
Answers.Text: @HenryKeiter a tactical move cannot be perfect unless the computer plans both sides with the same degree of care and finds a checkmate at the end. Example, queen F7 checkmate, tactically perfect? Only 4 moves.
Answers.UserDisplayName: Alec Teal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:10:19.550Z
Answers.Text: The asker isn't requesting whether a computer can find "the perfect tactic". He defined "tactically perfect" as `able to find all possible tactics in a given position`. There's no question here about evaluating whether the tactics themselves are "perfect"; just whether a computer can somehow "find" them.
Answers.UserDisplayName: Henry Keiter
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:11:38.940Z
Answers.Text: @HenryKeiter all possible tactics? Oh in that case yes! It can quite easily and quickly consider all the moves it can make 1 ply deep? That would cover all tactical moves! Also all crap moves.
Answers.UserDisplayName: Alec Teal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:12:42.653Z
Answers.Text: Yes, that and the fact that there's no obvious critical distinction between what is and is not a "tactic" is why I think this question needs more definition: see my comment on the question itself.
Answers.UserDisplayName: Henry Keiter
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:14:07.917Z
Answers.Text: @HenryKeiter indeed, you are being pedantic, a tactic cannot be perfect, it can only fit into a strategy. As a programmer (your user page) you should be able to imagine this and what the code might look like! I think it's too much Java, when writing programs that solve such problems I find structures passed BY VALUE on the stack are *immensely* useful.
Answers.UserDisplayName: Alec Teal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:16:50.187Z
Answers.Text: @HenryKeiter better way of putting it: "tactically perfect" being hard to define is PRECISELY my point, Unlike 0s and Xs we cannot say what makes a move perfect, a tactical strength allows us to say it is quite good!
Answers.UserDisplayName: Alec Teal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:27:31.000Z
Answers.Text: If I'm being pedantic, it's because I want to help the asker appropriately define his question (if possible). As I understand it, he wants to know if a computer can appropriately identify *all* [good] "tactical" moves in a position. There's no stated requirement that any of them be the best move available. Your answer deals with finding the *best* move in a position, which is not part of the question, at least how I read it. I think "no" is still the answer, but because the question is undefined, not because the game is unsolved.
Answers.UserDisplayName: Henry Keiter
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:30:12.213Z
Answers.Text: If your answer explained the problems with the question (there's no strict definition of a "tactic"; all good engines will look at every move at least one ply deep and therefore there's no obvious definition on what "missing" a tactic would mean for a computer), it would have my vote, but it seems tangential to the question being asked as it stands right now.
Answers.UserDisplayName: Henry Keiter
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-08T14:37:29.087Z
Answers.Text: is tactic perhaps meant to be defined in the sense of like chesstempo or lichess tactics puzzles? like one side makes a blunder that leads other side to win either at least 2 pawns of material or the game. basically i think the question means to ask if engines will always get those tactics puzzles right. i think tactic here is the opposite of positioni/strategy, the things you don't really learn from puzzles. in this way: of course engines are not expected to be strategically/positionally perfect. but then could engines be tactically perfect?
Answers.UserDisplayName: BCLC
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-03-27T17:00:21.013Z
Answers.LastActivityDate: 2014-03-27T17:00:21.013Z
Answers.LastEditDate: 2017-04-13T12:48:53.737Z
Answers.UserDisplayName: Alec Teal
Body: <p>In a given situation, can we assume that a chess engine is tactically perfect - meaning that it can find all possible tactics which are there in that position. Is it possible for the best of modern chess engines to miss a tactic in a given position? Has this ever been observed in any recent game?</p>
  
  <p>EDIT: @Henry Keiter: For the purpose of this question, I would define tactic as a combination or sequence of moves which wins material(if playing the winning side), or a combination or sequence of moves which defends a difficult position successfully (meaning preventing a loss of material which seems imminent). I know that the general definition is broader but for the purpose of this question the meaning can be taken as defined above.</p>
  
  <p>EDIT 2: The reason I am asking this question is I am actually curious if a chess engine really does find all the possible tactics in a given position, or if it just manages to find many more tactics than a human being would find.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-02-08T14:37:48.407Z
Comments.Text: guru and @HenryKeiter is tactic perhaps meant to be defined in the sense of like chesstempo or lichess tactics puzzles? like one side makes a blunder that leads other side to win either at least 2 pawns of material or the game. basically i think the question means to ask if engines will always get those tactics puzzles right. i think tactic here is the opposite of positioni/strategy, the things you don't really learn from puzzles. in this way: of course engines are not expected to be strategically/positionally perfect. but then could engines be tactically perfect?
Comments.UserDisplayName: BCLC
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2014-03-27T14:05:44.430Z
Comments.Text: Chess engines are by no means tactically perfect. See http://chess.stackexchange.com/questions/1970/why-do-chess-engines-sometimes-miss-good-moves-or-take-forever-to-spot/2580#2580.
Comments.UserDisplayName: firtydank
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2014-03-27T17:06:44.653Z
Comments.Text: Part of the problem with this question is that it's difficult to define. In order to answer this, you must first precisely define what a "tactic" is, and I'm not sure how anyone would go about doing that. Where do you draw the line? You then have to clarify what you mean by "able to find" a tactic. Any naive brute-force search is "able" to find every move, by definition, so what do you actually mean here? That the computer recommends all possible tactics?
Comments.UserDisplayName: Henry Keiter
Tags: <engines><tactics><statistics><calculation>
Title: Are modern chess programs tactically perfect?
ThreadText: # Are modern chess programs tactically perfect?
  
  (Asked by: username_0 on 2014-03-27)
  
  In a given situation, can we assume that a chess engine is tactically perfect - meaning that it can find all possible tactics which are there in that position. Is it possible for the best of modern chess engines to miss a tactic in a given position? Has this ever been observed in any recent game?
  
  EDIT: @username_3: For the purpose of this question, I would define tactic as a combination or sequence of moves which wins material(if playing the winning side), or a combination or sequence of moves which defends a difficult position successfully (meaning preventing a loss of material which seems imminent). I know that the general definition is broader but for the purpose of this question the meaning can be taken as defined above.
  
  EDIT 2: The reason I am asking this question is I am actually curious if a chess engine really does find all the possible tactics in a given position, or if it just manages to find many more tactics than a human being would find.
  
  **Tags:** engines, tactics, statistics, calculation
  
  > **Comments:**
  > **username_2**: Chess engines are by no means tactically perfect. See http://chess.stackexchange.com/questions/1970/why-do-chess-engines-sometimes-miss-good-moves-or-take-forever-to-spot/2580#2580.  
  > **username_3**: Part of the problem with this question is that it's difficult to define. In order to answer this, you must first precisely define what a "tactic" is, and I'm not sure how anyone would go about doing that. Where do you draw the line? You then have to clarify what you mean by "able to find" a tactic. Any naive brute-force search is "able" to find every move, by definition, so what do you actually mean here? That the computer recommends all possible tactics?  
  > **username_1**: username_0 and @HenryKeiter is tactic perhaps meant to be defined in the sense of like chesstempo or lichess tactics puzzles? like one side makes a blunder that leads other side to win either at least 2 pawns of material or the game. basically i think the question means to ask if engines will always get those tactics puzzles right. i think tactic here is the opposite of positioni/strategy, the things you don't really learn from puzzles. in this way: of course engines are not expected to be strategically/positionally perfect. but then could engines be tactically perfect?  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_4 on 2014-03-27. Score: 2
  
  In objective terms, the game of chess is nothing but tactics. So the question of tactically perfect play is just the question of optimal play. *Given sufficient time for any given position*, then yes, any competently-built engine would indeed be tactically perfect, because it could search the entire game tree from the position and play optimally.
  
  But here's the thing: in general, the problem of determining optimal play is computationally unfeasible, so we don't even have a way to determine in general whether a tactic has been missed or not. **For all we know, `1.a3` from the start position is the only winning move in a mate-in-80 tactics puzzle.** If that is the case, then any time an engine chooses to play another move it is missing a tactic. We have no way to prove that isn't the case.
  
  > **Comments:**
  > **username_1**: is tactic perhaps meant to be defined in the sense of like chesstempo or lichess tactics puzzles? like one side makes a blunder that leads other side to win either at least 2 pawns of material or the game. basically i think the question means to ask if engines will always get those tactics puzzles right. i think tactic here is the opposite of positioni/strategy, the things you don't really learn from puzzles. in this way: of course engines are not expected to be strategically/positionally perfect. but then could engines be tactically perfect?  
  
  ---
  
  ### Answer by username_5 on 2014-03-27. Score: 0
  
  > Is it possible for the **best** of modern chess engines to miss a tactic in a given position?
  
  This question boils down to
  
  > Is it possible for the best of modern chess engines to have a bug in their calculation or evaluation module?
  
  Technically, yes. Sometimes, there are bugs which are extremely hard to detect unless they first occur and are caught. But it seems rather **unlikely** that such bugs will exist in the **best** engines which I am sure go through extremely thorough testing; that's one of the reasons why they are the best! :)
  
  
  ---
  
  ### Answer by username_6 on 2015-01-11. Score: 0
  
  One of the most famous computer mistakes was in [game 2 of the 1997 rematch between Deep Blue and Kasparov](https://en.wikipedia.org/wiki/Deep_Blue_versus_Garry_Kasparov#Game_2_2). Deep Blue won that game, but it made a mistake which should have allowed Kasparov to force a draw.
  
  > This is possible because Deep Blue moved 44.Kf1 instead of an alternate move of its king. Regarding the end of game 2 and 44.Kf1 in particular, chess journalist Mig Greengard in the Game Over film states, "It turns out, that the position in, here at the end is actually a draw, and that, one of Deep Blue's final moves was a terrible error, because Deep Blue has two choices here. It can move its king here or move its king over here. It picked the wrong place to step." Another in that film, four-time US champion Yasser Seirawan, then concludes that, "The computer had left its king a little un-defended. And Garry could have threatened a perpetual check, not a win but a perpetual check."
  
  Whether or not you consider Deep Blue from 1997 "modern" is your call.
  
  Here's [some kibitzing about that game](http://www.chessgames.com/perl/chessgame?gid=1070913).
  
  
  ---
  
  ### Answer by username_7 on 2014-03-27. Score: 0
  
  No.
  
  In the game 0s and Xs the best move is obvious and unique (if you rotate the board you'll find that the positions all have rotational symmetry, so for example if the first move is a corner (centre FTW BTW!) you may say "there are 4 moves", but really there is only one as is you rotate the board... )
  
  This lets you define the idea of a perfect move, of which chess has no obvious candidate. Which is why it is not known if chess is a fair game (that is no advantage is given to the player who moves first), despite being perfect (no non-deterministic elements, and full knowledge of positions).
  
  [What are the first moves chosen (White), by brute force chess engines?](https://chess.stackexchange.com/questions/5032/what-are-the-first-moves-chosen-white-by-brute-force-chess-engines/5041#5041) my answer here mentions this WRT openings
  
  [Is there a chess engine that does NOT use brute-force search?](https://chess.stackexchange.com/questions/5056/is-there-a-chess-engine-that-does-not-use-brute-force-search/5122#5122) bit more about how they work and think - pertaining to tactics.
  
  > **Comments:**
  > **username_3**: This is not what the question asks about. The asker wants to know if engines are *tactically* "perfect (as defined in the question)", not whether they can find a "perfect" move in the general case.  
  > **username_7**: @HenryKeiter a tactical move cannot be perfect unless the computer plans both sides with the same degree of care and finds a checkmate at the end. Example, queen F7 checkmate, tactically perfect? Only 4 moves.  
  > **username_3**: The asker isn't requesting whether a computer can find "the perfect tactic". He defined "tactically perfect" as `able to find all possible tactics in a given position`. There's no question here about evaluating whether the tactics themselves are "perfect"; just whether a computer can somehow "find" them.  
  > **username_7**: @HenryKeiter all possible tactics? Oh in that case yes! It can quite easily and quickly consider all the moves it can make 1 ply deep? That would cover all tactical moves! Also all crap moves.  
  > **username_3**: Yes, that and the fact that there's no obvious critical distinction between what is and is not a "tactic" is why I think this question needs more definition: see my comment on the question itself.  
  > **username_7**: @HenryKeiter indeed, you are being pedantic, a tactic cannot be perfect, it can only fit into a strategy. As a programmer (your user page) you should be able to imagine this and what the code might look like! I think it's too much Java, when writing programs that solve such problems I find structures passed BY VALUE on the stack are *immensely* useful.  
  > **username_7**: @HenryKeiter better way of putting it: "tactically perfect" being hard to define is PRECISELY my point, Unlike 0s and Xs we cannot say what makes a move perfect, a tactical strength allows us to say it is quite good!  
  > **username_3**: If I'm being pedantic, it's because I want to help the asker appropriately define his question (if possible). As I understand it, he wants to know if a computer can appropriately identify *all* [good] "tactical" moves in a position. There's no stated requirement that any of them be the best move available. Your answer deals with finding the *best* move in a position, which is not part of the question, at least how I read it. I think "no" is still the answer, but because the question is undefined, not because the game is unsolved.  
  > **username_3**: If your answer explained the problems with the question (there's no strict definition of a "tactic"; all good engines will look at every move at least one ply deep and therefore there's no obvious definition on what "missing" a tactic would mean for a computer), it would have my vote, but it seems tangential to the question being asked as it stands right now.  
  > **username_1**: is tactic perhaps meant to be defined in the sense of like chesstempo or lichess tactics puzzles? like one side makes a blunder that leads other side to win either at least 2 pawns of material or the game. basically i think the question means to ask if engines will always get those tactics puzzles right. i think tactic here is the opposite of positioni/strategy, the things you don't really learn from puzzles. in this way: of course engines are not expected to be strategically/positionally perfect. but then could engines be tactically perfect?  
  
  ---
  
  