Monday, July 8, 2019

Computers achieve autonomy part 3

A non-chessplayer can't understand why somebody would love to stare for hours to a board with some wooden pieces while in the meantime the weather is nice to organize a barbecue with some friends. I rarely talk about chess with non-players. However also inside our chess-world there exists a lot of variety. The people playing competitions is the largest and most important group but we also have niches of which the computer-freaks are likely the greatest weirdos. They are the nerds of the nerds or some sort of super-nerd.

At least that was the case till recently as last year I noticed a clear change. The arrival of AlphaZero end of  2017 created a chain-reaction. This is very different from what we experienced after Deep Blue defeated in 1997 the reigning world-champion Garry Kasparov. At that time the revolutionary engine got dismantled leaving many questions unanswered. This time the momentum was kept as the code of the new engine was shared so other developers could create an AlphaZero for a standard PC. I am talking of course about lc0 or also called leela (more about this in a later article).

After decades of traditional alpha-beta programming we now see the steep and very spectacular raise of neural networks of which we could witness some very interesting clashes of styles in the most recent tcec-championships. Attractive games combined with a good marketing-strategy caused an explosive increase of chess-fans wanting to follow computer-chess see below graphic which presents the number of viewsessions per month for TCEC.

Getting 2 million viewsessions per month by just showing 1 game at once is definitely something extraordinary. Ok Carlsen does still much better but 99,9% of the other professionals never gets this kind of views. Besides this is not the only thing which proves that computer-chess is booming. On youtube we see a huge increase of videos in which games of engines are discussed. However even more stunning is that reporters now start to refer to games played by engines when they cover tournaments played by grandmasters. A couple of years ago this would've been totally unacceptable. The only reason of engine-games were till recently to understand which engine is stronger and almost nobody would value them equal to games played between humans. Well today some reporters do compare games played by top-grandmasters to a game played between Lc0 and Stockfish as happened e.g. in fide grand prix moscow semifinal chess.
[Event "FIDE Grand Prix Moscow 2019"] [Site "Moscow"] [Date "2019.05.24"] [Round "10.1"] [White "Grischuk, Alexander"] [Black "Nakamura, Hikaru"] [Result "1-0"] [ECO "E06"] [WhiteElo "2772"] [BlackElo "2761"] [PlyCount "107"] [EventDate "2019.??.??"] [CurrentPosition "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"] 1. d4 Nf6 2. c4 e6 3. Nf3 d5 4. g3 Be7 5. Bg2 O-O 6. O-O dxc4 7. Qc2 b5 8. a4 b4 9. Nfd2 c6 10. Nxc4 Qxd4 11. Rd1 Qc5 12. Be3 Qh5 13. Nbd2 Ng4 14. Nf3 Nxe3 15. Nxe3 a5 (15... a6 {(This game was started only a couple of hours earlier. It is very strange that the same opening occurs on the board while no openingbook was used nor any human input influenced the game.)} 16. Nc4 a5 17. Nfe5 Ra7 18. Rac1 c5 19. Qe4 Ra6 20. Nd2 Rd8 21. Nb3 Rxd1+ 22. Rxd1 f6 23. Nd3 Nd7 24. Rc1 Qe8 25. Nbxc5 f5 26. Qf3 Nxc5 27. Nxc5 Ra7 28. Qf4 Qd8 29. Nd3 Bd7 30. Qc4 g6 31. Nf4 Qb6 32. Bc6 Kf7 33. Bxd7 Rxd7 34. Nd3 Bd6 35. Qc8 Rc7 36. Qh8 Rxc1+ 37. Nxc1 h5 38. Qh7+ Kf6 39. Qh8+ Kf7 40. Qh7+ Kf6 41. Nd3 Qd8 42. b3 Be5 43. Qh6 Bc7 44. h4 Kf7 45. Qc1 Bd6 46. Qc6 Ke7 47. Qc1 Qh8 48. Qg5+ Qf6 49. Qc1 Qc3 50. Qg5+ Qf6 51. Qh6 e5 52. Nb2 f4 53. Nc4 Bc7 54. Qh7+ Qf7 55. Qh6 Qf6 56. Kg2 Qc6+ 57. f3 Qf6 58. Qh7+ Qf7 59. Qh8 Qf8 60. Qh7+ Qf7 61. Qh6 fxg3 62. e3 Qf6 63. Kxg3 Kf7 64. Kg2 Qg7 65. Qg5 Qf6 66. Qg3 Qe7 67. e4 Qd8 68. Qf2 Qd4 69. Qxd4 exd4 70. Nb2 Kf6 71. Kh3 g5 72. Nd3 Kg6 73. Nc5 Bb6 74. Nd3 Bc7 75. Nc1 Kf6 76. Nd3 Bb8 77. Nc5 Kg6 78. Nd3 Kf6 79. Nc5 {(Lc0 - Stockfish TCEC superfinal 15, round 78: 0,5-0,5)}) 16. Nd4 Ba6 17. Rac1 Rc8 18. Bf3 Qg6 19. Be4 Qh5 20. Bf3 Qg6 21. Be4 Qh5 22. Kg2 Ra7 23. h4 g6 24. f4 Qh6 25. Nb3 Kh8 26. Bd3 Bb7 27. Nc4 c5+ 28. Be4 Ba6 29. Nbxa5 Qf8 30. Bf3 Rd8 31. h5 Bf6 32. Rxd8 Qxd8 33. Rd1 Rd7 34. Rxd7 Nxd7 35. h6 Nb6 36. Ne5 Bxe5 37. Nc6 Nc4 38. Nxd8 Ne3+ 39. Kf2 Nxc2 40. Nxf7+ Kg8 41. Nxe5 c4 42. Bg4 Nd4 43. Ke1 Kf8 44. Kd1 Ke7 45. e3 Nb3 46. Nc6+ Kf6 47. Nxb4 Bb7 48. Be2 Na5 49. Kd2 Nb3+ 50. Kc3 Nc5 51. a5 Ne4+ 52. Kxc4 Nxg3 53. Bd3 g5 54. fxg5+ 1-0
Although the grandmasters started their game a couple of hours later than the engines, I do think this was just a coincidence. Nakamura had played this line already several times even just a couple of weeks ago in a rapid and such things aren't missed by a top-professional like Grischuk in his preparation. On the other hand I find it very remarkable that the engines manage to select a hyper-modern opening without using any openingbook nor any human intervention happened.

The fact that the engines can autonomously create games with interesting openings is something very important. Obviously top-players have discovered this too. Since 2010 I already maintain a database of games played by engines to use for my opening-analysis see e.g. using databases. I guess at that time I was an exception but today I am sure any ambitious professional does this even Magnus Carlsen. Well more likely his entourage takes care of it which I deduct from a twitter of his helper, the Danish strong grandmaster Peter Heine Nielsen: "Computer-chess is spectacular."

Besides those engine-games have also influenced Magnus' game. Many of the so called novelties already popped up in games played by engines. We see proof of this in the worldchampionship played against Caruana end of last year as in later tournaments.
[Event "?"] [Site "Shamkir AZE"] [Date "2019.04.08"] [Round "8"] [White "Sergey Karjakin"] [Black "Magnus Carlsen"] [Result "0-1"] [ECO "A00"] [PlyCount "78"] [EventDate "2019.03.31"] [CurrentPosition "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"] 1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e5 6. Ndb5 d6 7. Nd5 Nxd5 8. exd5 Ne7 9. c4 Ng6 10. Qa4 Bd7 11. Qb4 Bf5 12. Qa4 Bd7 13. Qb4 Bf5 14. h4 h5 {(Magnus introduced this novelty already last year in the 12th game of the worldchampionship against Fabiano Caruana. However h5 was already known from the TCEC superfinal 11 played earlier in 2018 between Houdini and Stockfish.)} 15. Bg5 Qb8 16. Be2 a6 17. Nc3 Qc7 (17... Nf4 18. Bf1 Be7 19. Bxe7 Kxe7 20. g3 Ng6 21. Qb6 f6 22. Rc1 Nf8 23. Qe3 Qa7 24. Qd2 g6 25. Bg2 Nd7 26. O-O Qc5 27. Rfe1 Qxc4 28. Ne4 Qd4 29. Qxd4 exd4 30. Nd2+ Kf8 31. Be4 Re8 32. Kg2 b5 33. Bxf5 Rxe1 34. Rxe1 gxf5 35. Nf3 d3 36. Nd4 f4 37. Ne6+ Kf7 38. Nxf4 Ne5 39. Rc1 Re8 40. f3 Nc4 41. Nxd3 Re2+ 42. Kf1 Rd2 43. Rc3 Nxb2 44. Nxb2 Rxb2 45. Ra3 Rb1+ 46. Ke2 Rg1 47. Rxa6 Rxg3 48. Rxd6 Rh3 49. a3 Rxh4 50. Rb6 Ke8 51. Rxb5 Ke7 52. Rb7+ Kd6 53. Rb6+ Kc5 54. Rxf6 Kxd5 55. Rg6 Rh1 56. Kd3 h4 57. Rg5+ Ke6 58. Ke4 h3 59. Rh5 h2 60. Kf4 Ra1 61. Rxh2 Rxa3 {(Houdini - Stockfish TCEC superfinal 11 game 36: 0,5-0,5)}) 18. g3 Be7 19. Be3 e4 20. O-O O-O 21. Bxh5 Ne5 22. Be2 Qd7 23. Qa4 Qc8 24. c5 dxc5 25. Nxe4 c4 26. Nc3 b5 27. Qd1 b4 28. Na4 Be4 29. Qd4 Qf5 30. f4 Qg6 31. Bf2 Nd3 32. h5 Qf5 33. Bg4 Qxg4 34. Qxe4 Bd6 35. Qg2 Rae8 36. Bd4 Qxh5 37. Qf3 Qg6 38. Kh1 Re4 39. Bf2 Rfe8 0-1
The opening is the most obvious phase to learn from but also later phases can be instructive. The American top-grandmaster Sam Shankland would've never resigned below game if he had seen the 35th round of the tcec super-final of season 12. I already used the position in my article fake news to illustrate the gain of strength in endgames of Stockfish.
[Event "Tata Steel Masters"] [Site "Wijk aan Zee NED"] [Date "2019.01.25"] [Round "11"] [White "Anish Giri"] [Black "Samuel Shankland"] [Result "1-0"] [ECO "C50"] [PlyCount "89"] [EventDate "2019.01.12"] [CurrentPosition "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"] 1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. d3 Nf6 5. Nc3 d6 6. Na4 Qe7 7. a3 Be6 8. Bxe6 Qxe6 9. b4 Bb6 10. O-O O-O 11. c4 Nd7 12. Bb2 Nd4 13. Nd2 f5 14. Rc1 c5 15. exf5 Nxf5 16. Ne4 cxb4 17. Nxb6 axb6 18. axb4 Qg6 19. Ra1 Rxa1 20. Bxa1 Nf6 21. Nxf6+ Rxf6 22. Qf3 Nh4 23. Qd5+ Kh8 24. f4 h6 25. Qe4 Qxe4 26. dxe4 Rxf4 27. Rxf4 exf4 28. e5 dxe5 29. Bxe5 Ng6 30. Bc7 b5 31. cxb5 Kg8 32. Kf2 Kf7 33. Kf3 Nh4+ 34. Kxf4 Nxg2+ 35. Ke5 Ke7 36. Bd6+ Ke8 37. Ke6 g5 38. Kf6 Kd7 39. Bf8 Nh4 40. Bxh6 Nf3 41. h3 Ng1 42. Bxg5 Nxh3 43. Be3 Kd6 44. Kf5 Kd5 45. b6 {(In this drawn-position the American top-grandmaster resigned. Many of this fans were shocked. If Samuel would've watched the TCEC superfinal 12 then he would've remembered that the same endgame was drawn easily by Stockfish in round 35 against Komodo.)} 1-0
Earlier an engine was nothing more than a tool. Today more and more people consider engines as an entity with its own identity.  Many players cheer for their favorite engine via the chat-box or in fora. Some even make their own website for them as you can see in this example mytcecexperience.

So we see less and less difference between games played by engines or humans. Last Tuesday Ex-Machina was shown once again at the tv but this seems for chess to be today more reality than fiction.


No comments:

Post a Comment