Author Archives: Fishbreath

AlphaGo-Lee Sedol Game 5 Liveblog

Coming tonight: AlphaGo-Lee Sedol Game 5 liveblog

What was looking like it could turn into a 5-0 stomping is now at worst a 4-1 loss, and if Lee Sedol can play to the same level he did yesterday, it may be a mere 3-2 win for the computer.

The Many Words crew will be on hand tonight to provide you the best in altogether amateurish coverage of the game. Stay tuned for the post nearer the start of the match.

The Crossbox Podcast: Episode 5 – March Madness

In this week’s edition, we discuss a rarely-considered and rarely-used firearms choice, a study sim masquerading as Ace Combat, and a procurement project we’ve decided should be struck by lightning.

Also, I discover that there’s a default Audacity plugin for every single sound editing task I have thus far been doing by hand. Oops.


(Download)

Daylight time at last

Parvusimperator gave me an attaboy for writing something so topical as the go tournament posts, so here’s another topical one for you.

We come now to my favorite time of the year: that time when, at long last, we cast off the gloomy shackles of winter and leap forward into the boundless delights of spring and summer.

If you haven’t guessed, I’m in favor of summer time; or rather, I’m in favor of summer time year-round1. For this position I can cite manifold justifications.

First: when it comes to which hours are daylight hours, there is no clear economic benefit either way. Standard time and Daylight time are identical.

Second: switching between Standard and Daylight time results in, by some people’s figures, half a billion dollars of lost productivity. Now we’re getting somewhere: clearly, we shouldn’t switch.

Third: daylight hours are more useful in the evening than in the morning. This is so obvious as to require no explanation, but I’ll go into it a little bit anyway, in case you need convincing.

Nobody likes driving into work when it’s dark out. I understand this. At the same time, in any place where daylight saving time matters, if you wait until it’s light outside to drive to work, you’ll likely be driving home from work when it’s dark. The only time in which you’re truly free to use daylight, if you’re one of the vast majority of people who work during the day, is in the evening, and therefore you should not freely part with your evening daylight.

There are some people who like to run in the mornings, for which daylight is an advantage. Leaving aside that these people, who are looking to run outside when the weather is at its coldest, are clearly madmen (and I say that as a runner), permanent daylight time does not significantly change the calculus. If you wait until the sun comes up to go into work, you’re going to be coming back when the sun’s going down anyway; you don’t lose anything.

Then, of course, we come to summertime: a season defined in large part, for large parts of the world, by long, pleasant evenings. Those evening hours, especially for those of us living in places which see a lot of rain, snow, and cold during the rest of the year, are some of the most precious times of the year. Surrendering that time for four hours of daylight before work is perilously silly, and frankly un-American.

So yeah. I’m ambivalent-to-negative on the whole clock-changing thing, but if we are going to settle on one time, it has to be daylight time. If you want permanent standard time, well, I’m more than ready to argue that we should keep changing the clocks, because daylight time is just straight-up better.

1. I accept that there are places, like Arizona, where an extra hour of daylight in otherwise-usable hours of the summer evenings is a bad idea, but they can just take the opposite position that I’m taking here.

AlphaGo-Lee Sedol: 2-0

AlphaGo takes Lee Sedol in a second game, going up 2-0 and setting itself up for a match victory, if it wins any of the remaining games. Here’s the game replay, or you can go to DeepMind’s Youtube channel and watch the stream. The replay has decent commentary in the chat window, albeit from strong amateur players rather than pros. You can also find some remarks from An Younggil, GoGameGuru’s resident pro, in the comment thread.

This one played out differently; fights didn’t develop until later on in the game, and Lee Sedol did indeed play a more normal opening. He also took a lot more time to play today, a sign of greater caution and probably greater respect for AlphaGo. AlphaGo, however, got ahead and remained ahead on time, and Lee was into byo-yomi while AlphaGo still had fifteen minutes of main time left. At about move 210, Lee resigned, and seemed shaken by the loss.

Which is understandable. Go players and go experts had gotten used to the idea that their pursuit was computationally unassailable. (On your average desktop PC, it still is, for now.) It’s undoubtedly a bit of a shock to them that the tables have turned so quickly; I think we from the computational side are a little better able to recover, because reading about how AlphaGo plays makes us think, “Oh, yeah, that sounds like it should work really well.”

What does it mean for go, though? Well, let’s look at what happened to chess: it’s still played at high levels, human matches draw more eyes than machine matches, you can always find an opponent who is about as good as you are, and correspondence chess is basically dead.

Wait a minute. That last one sounds bad.

Something we discovered, as chess engines capable of beating the best humans became easily available, is that chess, under the rules we use, is a very draw-happy game. In fact, in correspondence chess, where the use of AI as an aid is accepted, draws are now the overwhelmingly most likely outcomes for games: between 80% and 90% of games in the most recent few correspondence chess championships have been drawn. This is widely seen as bad: a tie is a deeply unsatisfying outcome, and it makes sorting players in a tournament a bit of a pain. Much ink both real and digital has been spilled on how to solve the draw problem in chess; if it should turn out (as it did for checkers) that optimal play in chess inevitably leads to a draw, something will probably have to be done, but no chess expert wants to commit to changing the rules in a way whose implications may not be known.

Go1 is a game whose ultimate scoring comes down to points. Playing first is known to be advantageous, so the rules traditionally spot white (the second player to move) 6.5 or 7.5 points, depending on the scoring method in use. The half-point ensures that there can be no ties, and should AI reveal heretofore unknown differences in strength from that 6.5 or 7.5 edge, the handicap can simply be adjusted.

So, where will go be in ten years? Just as vital as today, and perhaps even more so: a hundred thousand people have watched AlphaGo play Lee Sedol on Youtube, and I can’t help but think that a lot of those are English-speakers who have not yet been really introduced to the game. Although I still find go inscrutable, and don’t expect I’ll ever be anything more than a poor recreational player, some of the fellow AI nerds watching will likely be drawn to the game, and once you have us nerds on your side…

1. And, for that matter, most solutions for how to handle tafl matches: bidding on the number of turns a win will take, and playing two-game matches, switching sides and giving the win to the player who wins fastest (if they split the games), both yield a natural, built-in way to compensate for shifts in observed balance. Furthermore, since tafl rules are, as yet, not standardized in any meaningful way, differing tournament to tournament, tafl has an edge on chess that go does not: the tafl community is very open to rules changes to support greater balance or deeper strategy.

AlphaGo Defeats Lee Sedol

In what even I, who predicted an AlphaGo series win, regard as a bit of a surprise, AlphaGo defeated Lee Sedol in the first game of the five-game match. AlphaGo won by Lee’s resignation, which came 186 moves into the game, up by (the consensus seems to be) between three and seven points at the time.

Our liveblog has our detailed commentary from the first 120 or 130 moves of the game, after which I went to bed. Here, though, are some highlights and post-game thoughts.

  • AlphaGo is much stronger now than it was before. Michael Redmond, a 9-dan pro who was engaged to commentate, remarked as much: AlphaGo didn’t make any serious mistakes.
  • One of AlphaGo’s suspected weaknesses before the game was coming out ahead after complicated fights; we thought this because it avoided getting involved in very many serious fights against Fan Hui. It turns out that AlphaGo can indeed fight, and fight well, as we saw with the fight at the top center of the board that developed early on in the running. AlphaGo came out ahead there, or at the very least, ended up with a strong enough position that she1 could hold it and use it as a base to fight over the center of the board, while strengthening her position in the top left.
  • Lee Sedol seemed a little flustered by the level of AlphaGo’s play. He, like a lot of go experts, seemed to make the twin assumptions that: 1) AlphaGo would not improve dramatically between October and today, and 2) AlphaGo was not vastly stronger than Fan Hui in October. AI experts suspected that the first item was false, and they turned out to be correct. That said, it’s hard to fault go experts for lacking experience with AI systems, and not realizing that six months is an eternity for a learning system to improve. It is much easier to fault go experts for the second point, which is one of simple math. A 9-dan pro should beat a 2-dan pro (like Fan Hui) 95%-99% of the time. Although the known AlphaGo-Fan Hui games are too small a sample to draw firm conclusions from, it is telling that AlphaGo defeated Fan Hui by large margins or resignation in all of the long-time games, losing only during quick play; either way, its record suggests that AlphaGo is properly probably at least 5-dan, and may be up at the 9-dan level.
  • It’s possible that a lot of AlphaGo’s added strength came from the extra time to think, but it’s difficult to do much more than speculate on that front. Suffice it to say that this could be a contributing factor.
  • One thing we haven’t seen very much of is AlphaGo’s ability in close endgames. Given that endgames are basically tests of reading, and AlphaGo has proven to be superb at that so far, I wouldn’t expect its endgames to be any worse than its middle games, but Lee Sedol may nevertheless aim to explore AlphaGo’s endgame capabilities with a more relaxed early game, next time out.
  • One of my prematch predictions seems to have turned out true: computers play differently than do humans, and it may be that humans play more optimally than humans. In the late midgame, around move 120 to 150, in the bottom right and center right of the board, AlphaGo played very cautiously, keeping stones alive (particularly in the bottom right) and denying Lee Sedol territory, without aiming to decisively win the corner itself. Go experts would denounce this sort of play as ‘slow’, given that it seems to yield tempo, but if AlphaGo is confident that she’s already ahead, she need not play to do any more than deny Lee the win.

That’s all for now. We’ll be back with more at the end of the weekend, or after any particularly interesting games, and we might liveblog the final game in the series on Monday night. If so, you’ll hear about it here.

AlphaGo vs. Lee Sedol Game 1 Liveblog

OpenTafl v0.1.9b: the end of the line for 0.1.x

OpenTafl v0.1.9b has been released! This release adds support for a game clock. The AI is able to plan its time usage in accordance with the amount of time it has left. Additionally, settings are now saved from run to run.

This marks the last major release in the OpenTafl v0.1 series. The next major release will be 0.2.0b, including engine mode and related features, work on which will start at the end of March or the beginning of April. Looking ahead to the tournament, I may switch around the tasks in v0.3 and v0.4 from the roadmap I put up a few posts ago—network play lets me set up each AI in its own Amazon EC2 instance and have them play that way, which simplifies the rules by letting AIs think on their opponent’s turn, and removes the need for me to figure out how to limit an arbitrary process’s resource use (although it does add some complexity in building a tournament framework).

Now that it’s feature-complete, v0.1.9b will remain the stable version until v0.2.x is ready to go. What this means for repository structure is that I’ll create a new v0.2.x branch, and that’ll be the head of the tree for dev purposes. Any bugs discovered in v0.1.9b will get patched on master and pushed into 0.2.x, if it makes sense to do so. When 0.2.x is done, it’ll get merged into master, and I’ll start a new 0.3.x branch, and so on until perhaps, someday, a 1.0.

Rebranding: the Soapbox

Parvusimperator and I already call this place the Soapbox more than the Fish Bowl in internal correspondence, and given that he’s the main content creator here nowadays, a Fishbreath-centric name ceased to be appropriate some time ago.

Welcome, then, to the newly-rechristened-but-you-already-called-it-that-anyway Soapbox.