Dear Vincent,
I have been a lurker on this forum for at least 15 years (Ruffian anyone ?), but I never felt the need to write.
However the amount of wrong information that you convey is such, that I needed to reply to this topic.
In the meantime it's clear to me what alphago is. Thanks to a posting of some go players who figured it out. It's just new incarnation of what ran on the supercomputer in Amsterdam it seems in 2007 and 2008 and which won in 2010 the ICGA 19x19 go title. With some improvements and a bunch more cores it'll be very strong.
This is equivalent to saying that Stockfish is just a new incarnation of Glaurung, with "some improvement" that give it 700 elo point advantage. Aja Huang has experience in computer Go and was working with Remi Coloumn on the program Erica, which won the 2010 Computer Go Olympiad, but this in not related to AlphaGo.
What i do not understand is this neural net story and gpu. You have to search on the gpu in order to do the neural net on the gpu.
Communication between gpu and cpu means you can do roughly 3000 communications a second between gpu and cpu. Maybe newer tesla's that's 10k. That means you can do only 10k evaluations a second. That's rather little nodes per second, whereas running inside the gpu, according to my calculation even with 100k clocks per node you get dozens of millions of nps.
This thing that you don't understand is the central point of why AlphaGo is revolutionary with respect to previous programs. The evaluation function is very slow, but ALONE (i.e. with NO montecarlo search) it overperforms the current strongest computer program (CrazyStone). Refer to the table 6 of the article in nature.
So maybe they just reserve a huge supercomputer from NCSA and run on that and toy at googlehome a little with GPU's.
Interesting to know is how Google legally managed to obtain this as this software was setup by government subsidies from The Netherlands and INRIA (France). The only thing i use from INRIA is the public prime number software Smile
As far as i know all this isn't public software. How did Deepmind legally get the rights for that? They sure can afford it!
Or did one of the teammembers just go work at deepmind and take an USB stick with him from INRIA with that program and then say: "hello there i was!"
The computer that they use is very clearly specified in the article. It is a 1200 CPU machine: big hardware, but not particularly costly for Google. I would guess that Deep Blue cost was similar if not more.
Still then there is the mystery of the GPU's. Do they also search inside the gpu's? Or is this just a story to keep Nvidia happy and meanwhile search occurs only at the cpu's?
Once again, this would be very clear if you had read the article: "This architecture consists of a single master machine that executes the main search, many remote worker CPUs that execute asynchronous rollouts, and many remote worker GPUs that execute asynchronous policy and value network evaluations. The entire search tree is stored on the master, which only executes the in-tree phase of each simulation."
My suggestion is to completely ignore the match against the 2 dan guy. That's elo 1900 or something. A guy who makes lots of small mistakes and no one ever confronted that guy with those mistakes (they don't have very strong programs right now). Even if that would be closer to FM level than 1900 level, his only job was to take care he lost all games and quickly hand over the job to a 9-dan guy as it's google man.
BY THE WAY - i'm very amazed they called that 2 dan player "european champion". Some years ago i played here a 4-dan guy (he of course toasted me in a manner world hadn't seen before you could toast someone that bad). And he spoke Dutch... ...yet odds are he sits in Japan already for a few years now...
This borders on the outrageous. The "2 dan guy" is indeed the european champion, and currently the 475th player in the world.
In chess this is equivalent to a GM with more than 2500 elo, for sure stronger than a 1900 FM.
Please note that *professional* dans are different than *amateur* dans. I'm sure a 4dan amateur would toast you, but he would still lose with an advantage of 2 stones to a 7dan amateur, which is still weaker than a professional.
As an idea, a 1dan professional is about equivalent to an 8dan amateur.
That's why the world top is to scary always to play a mainline. Go is a different game. like from those 361 moves you can make first move, already 350 you can throw away. You can hard prune 300. That's not possible in chess.
So you think there are 11 reasonable opening moves in Go. How many in Chess ?
perft 1 = 20 and not all of them are reasonable.
And after the first move Go explodes so much that there can not be opening theory, only "josekis" (i.e. local sequences).
John, Seriously, if go would've been a world wide game like chess is and chess just would be popular in japan and korea - then in 1997 kasparov would have played go and lost from IBM deep blue go and we would be busy with computerchess right now. It's about how much scientific effort you put in a game.
You manage to pack so much wrong information in short sentences.
Go is popular in all the east (including China, the most populous country). The active FIDE players are approximately 100'000 worldwide. The active players in the European Go Database alone are 6100 (and Europe is tiny in Go).The worldwide popularity of the two games is comparable, and I seriously doubt there are more than 2 chess players for each go player.
There has been a lot of scientific effort towards Go, and a lot of computer Go competitions.
Maybe not on the level of Computer Chess, but surely within a factor of 3.
The reason why IBM could not chose Go (or Jeopardy) in 1997 is that the strongest program (Handtalk) was still losing with 11 stones to Inseis (kids studying to become professional). Consider that usually handicap is capped at 9 stones !
The best Go programs were weak amateurs in 1997, while in chess even simple programs were playing at national master level.
Note i posted some years later some of the results i had seen. Namely that nullmove worked far better in go than it did do in chess.
The branching factor in go, without what later would be called LMR and which i already was doing back in the 90s (1999 version of diep for example), and which GCP also had invented long before Tord Romstad was posting about it, so without reductions which would be so effective in nowadays go yet only nullmove, i reached already quite remarkable searchdepths at a pentium-5 100Mhz, whereas there was 361 possibilities to start the game.
As an evaluation function i used something similar like Mark Boon at that time described.
So i did do a 3d order evaluation calculating the influence function of each group and did do incremental recognition on how large each group was. Of course without evlauation function at all searching deep would be easy.
And how strong did this program play ?
Do you have any game ?
Yet the branching factor is what i was amazed about - that it was this small - whereas i had expected a huge branching factor.
You simply have to get that 30+ plies (ladders and similar not counted) or you won't be able to play high level go. before you add LMR type approaches.
Instead of LMR for Go i would rather use a different sort of selectivity: namely you have a static function determining how good each move is and how many plies "reduction" each move gets. In Go this is a better concept than in chess.
This concept works very well for hashtable and hashtable isn't "dicking" you like it does with LMR.
A pure LMR in itself would be total idiocy in go as it's far easier to recognize which moves are interesting to investigate deeper. Quite some of the moves you easily can give a 20 ply reduction for example, whereas in chess that's impossible to do.
So with quite some cpu's it would be very easy to achieve 30+ plies in go.
At which point indeed evaluation function is far more important. Yet you have to go through that horizon barrier of 30 plies.
Once you get through this 30+ plies you beat the crap out of all these Monte Carlo type randomized approaches of course.
So you reached 30 plies depth at tournament time control ?
Any logs ?
Do not forget the huge difference between chess and go - after the first few moves in go - the rest of the moves you can play pretty perfect if you are at this high dan level. In chess - forget perfection.
This has to be the most outrageous claim of all. You can play perfectly after the first few moves if you are a Dan player ?
Have you ever followed commentaries of games ? How many times the Pro make mistakes in semeai or end game ?
And how many do you consider few ?
There is even a book, which has a matematical analysis of how you can play perfectly the last 8/10 moves of a game (with a monster computational/ theorical effort) which showed that even professional are not perfect in these relatively super-simple endings.