236961 (2) [Avatar] Offline
Listing 3.19: game = game.apply_move(bot_move) <- missing one argument, I think should be game = game.apply_move(game.next_player, bot_move)

"Games have long been been" - double 'been'

    def get_go_string(self, point):  ?
        string = self._grid.get(point)
        if string is None:
            return None
        return string

why not just to return string?
    def get_go_string(self, point): 
        return self._grid.get(point)

whats the point of 'if'?

Fantastic book, I think one of the best on my bookshelf. I wish I would have it 20 years ago when I was studying in university...We were working on chess and someone from our group (3guys) said how about we use NN to evaluate position? I said why to evaluate position, why not to teach it to make next move? and we laughed. it was hard to imagine that it will be possible even in theory.
236961 (2) [Avatar] Offline
“What move should X make next? There’s no trick here; taking the lower left

should be "lower right" according to picture 4.1.