Why do chess engines sometimes miss good moves (or take forever to spot)? It is not the first time that I found a greatly superior move than the chess engine did, it even takes them a while to understand these moves after you make them.

For example, the move 15 ... Bf2 in the game below:

[fen ""]
[StartFlipped "1"]

1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Ng4 5. h3 h5 6. hxg4 hxg4 7. Bxc6
gxf3 8. Qxf3 Qh4 9. Qh3 Qxh3 10. gxh3 dxc6 11. Re1 Bxh3 12. f3 Bc5+ 13. Kh2
Bf1+ 14. Kg3 Rh3+ 15. Kg4 Bf2 16. Rxf1 Rg3+ 17. Kf5 Rxf3+ 18. Kg4 Rg3+ 19.
Kf5 f6 20. d3 Kf7 0-1


The move remains unnoticed by the engine for a while, it is not until I move that it starts to see the rest of the iceberg.

I know it all depends on how much time you give them to analyze though, but it is unacceptable that sometimes humans manage to find these moves in less time than computers.


Why do chess engines fail to spot good moves in some positions? (I once read something about a 'horizon effect', maybe this is related?)
Are there other notable examples? (e.g this famous puzzle, it takes a while for computers to solve)


These questions contain useful information to partially explain some factors that might be causing this anomaly: What algorithms and heuristics are popular in computer chess?, When playing a Computer opponent what situations should I create to give myself a better chance of winning?, Computer evaluations: How trustworthy are they?

Notes: The trap is known as the Fishing Pole, I am aware I missed a mate in 3 (and a mate in 7) :(, the time limit per move was days (correspondence chess) but it took me like 5-10 minutes to finish calculating everything.
Why do chess engines fail to spot good moves in some positions?


The reason are called forward pruning techniques (see http://chessprogramming.wikispaces.com/Pruning)
with ProbCut in first line.

The move 15...Bf2 is pruned on shallow deeps because it includes the sacrifice 16.Rxf1 without regaining something concrete with evidence immediately after.
The matenet is also hard to see, because it includes some further 'silent' move
as for example 17...Ke7, and yes also engines, not only humans have difficulties to see distant silent moves as they are often pruned.

In this concrete case you even cannot say, that engines fail to spot good moves,
because also the continuation 15...Rh3h1 is a very good move and leads to an absolutely won position.

Last but not least you have to remember, that an engine's strength is always measured in terms of elo-strengh and not in the ability to find the absolute shortest way to win.
It does not matter, if a engine wins in 8 moves or in 25 moves.
Seeking to much for the shortest win, would mean a waste time, because most time there does not exist such a secret good move at all. And waste of time would hurt the engines ELO-Rating.