Chess engines often calculate very deep, much deeper than humans. A human chess player that is looking at a position has a horizon: the depth the human is able to imagine the moves and evaluate the outcome.
In order to beat a human, all an engine has to do is to play variations that end with winning tactics that are beyond the human horizon.
This human horizon greatly varies, depending on a couple factors:
1) time: the longer one can watch the position the more moves one can analyse
2) playstrength (elo): the stronger a player is, the better and faster he can make the moves and analyse positions more truly.
3) the number of candidate moves: some positions have few moves to investigate, some have many (dynamic, chaotic positions).
4) another factor?
So lets say a human is able to prefectly evaluate a position - which we obviously can't - the human horizon is usually only a couple moves, to up to about 10 moves (?) in simple positions, deep. Any assesment beyond the human horizon is intuition, not calculation.
The problem is that an engine can't assess the human horizon, as it only looks at the position and not elo or remaining time. And even if it could, it's still a guess how deep the human assesses the position.
Hmm my goal was to think of a way how an engine can win more efficient against a human. As in: determine some tactics that are humanly impossible to calculate and go for those lines.
But while writing I realize that there are probably more easy algorithms that achieve the same goal. Nonetheless, ill post my train of thoughts