Given sufficient analysis time, say 24h per move on an decent computer, can current top chess engines (including Stockfish) eventually "see" that move 19 by Alphazero is actually good, and even suggest that move? And in general elevate the play so as to discover many Alphazero key moves in the others games as well (which could have neutralized Alphazero)? Games here: https://arxiv.org/pdf/1712.01815.pdf
Current top engines running for 24hours would change their evaluation and find some improvements but would not be able to find ALL the key moves that A0 did.
"Old style" engines problems are twofold:
- their eval functions are worse than A0(because of humans adjusting heuristics). This is somewhat similar to why "blank-state" A0 beats AlphaGo which was "seeded" with human games.
- Their search algorithms suffer from horizon effect(https://en.wikipedia.org/wiki/Horizon_effect) that A0 was able to exploit in the examples given.
Let's take Game 10 in question:
[fen ""] [White "AlphaZero"] [Black "Stockfish"] [Date "2017.12.05"] [Result "1-0"] 1. Nf3 Nf6 2. d4 e6 3. c4 b6 4. g3 Bb7 5. Bg2 Be7 6. O-O O-O 7. d5 exd5 8. Nh4 c6 9. cxd5 Nxd5 10. Nf5 Nc7 11. e4 d5 12. exd5 Nxd5 13. Nc3 Nxc3 14. Qg4 g6 15. Nh6+ Kg7 16. bxc3 Bc8 17. Qf4 Qd6 18. Qa4 g5 19. Re1 Kxh6 20. h4 f6 21. Be3 Bf5 22. Rad1 Qa3 23. Qc4 b5 24. hxg5+ fxg5 25. Qh4+ Kg6 26. Qh1 Kg7 27. Be4 Bg6 28. Bxg6 hxg6 29. Qh3 Bf6 30. Kg2 Qxa2 31. Rh1 Qg8 32. c4 Re8 33. Bd4 Bxd4 34. Rxd4 Rd8 35. Rxd8 Qxd8 36. Qe6 Nd7 37. Rd1 Nc5 38. Rxd8 Nxe6 39. Rxa8 Kf6 40. cxb5 cxb5 41. Kf3 Nd4+ 42. Ke4 Nc6 43. Rc8 Ne7 44. Rb8 Nf5 45. g4 Nh6 46. f3 Nf7 47. Ra8 Nd6+ 48. Kd5 Nc4 49. Rxa7 Ne3+ 50. Ke4 Nc4 51. Ra6+ Kg7 52. Rc6 Kf7 53. Rc5 Ke6 54. Rxg5 Kf6 55. Rc5 g5 56. Kd4 1-0
This is a game worthy of Tal from Alpha0! White is making a positionally based long term sacrifice of a piece and pawn. Ie nice idea but surely a computer would defend this. However human intuition turns out wrong here.
At move 19. we are at least 30 ply (15 full moves) from Stockfish giving back the piece.
There is no way for regular engines to fully search 30ply deep in the middle game without improvements in their pruning algorithms.
As an experiment I run 30 threads(15 cores) on latest Stockfish 8 at 25kn/s for some time with various hash sizes. So my machine was 1/3 of Google's -> ie I have to run it at least 3 times longer.
Even at move 32. Stockfish was thinking it was better.
What was interesting that within 1 second of me making the move Stockfish was suggesting as good the eval dropped and Stockfish realized the move was bad. This could be the limits on its hash size or just the horizon effect.
A0 will hopefully provide inspiration for regular engines to incorporate new techniques.
My hope is something like Stockfish Zero which would use 1000s of crowdsourced GPUs to train the network then only requiring a single high end GPU to play.