Russell Sherwood Sunday, December 10, 2017
Alpha Go a GoGo
Earlier this week an interesting paper was published regarding Google Deepmind’s Alpha Go Zero teams research into Chess. Since published this report and various sensationalist articles have sent seismic waves through the Chess community.
The basic claim is that this program learned to play chess in 3 hours to the point that it beat Stockfish 28 Wins - 72 Draws – 0 Defeats.
Whilst, without a doubt, this approach will eventually become the prevalent approach to computer chess, the reports circulating are a little over the top.
Looking more closely at the details. The 3 hours taken to reach these levels was on hardware so specialised and new that it is only available to Google’s Deepmind team. For us mere mortals this can be thought of as a Supercomputer. So whilst 3 hours is very impressive, if it had been on typical hardware this would have taken much longer.
The conditions of the match were somewhat in Alpha Go Zero’s favour. Firstly whilst Stockfish ran on 64 Cores, it only had 1GB of HashTable available, probably around 1% of what is required. This is the equivalent of putting a Ferrari engine into a Mini!
The second issue is the time control used – 1 minute per move. All of the top Chess engines have very efficient algorithms to manage time and identify when to spend more time on a move or when to spend less – very similar to Human behaviour.
The third difference and probably the most telling, is that StockFish played without the benefit of an opening book. A fair event would have been either an opening book or a Brainfish/Cerebellum combination.
The belief amongst the Computer Chess enthusiasts is that if the conditions above had been “fair” the result would have been much closer.
In addition, for a wider test, the same match should take place with Houdini, Komodo.
So to summarise, this approach is the path of the future but the current “wow factor” is probably premature. For those interested, the Giraffe engine is worth looking at and some projects which can be seen on Github putting AlphaGo Zero’s ideas into practice!