Live data from Hacker News

Google AI Challenge: Winner post-mortem and source code

a1k0n.net

1–10 of 39 posts

Re: Google AI Challenge: Winner post-mortem and source code

#3
The interesting subtext of this competition is that to an extremely good approximation, everyone who was interested enough to write a competitive entry used C/C++, even though the organizers went to great lengths to support as many languages as possible (e.g. Haskell, Scheme, etc.) This is with a small self-contained problem where performance wasn't a main difference between entries, and fast prototyping and experimentation could be extremely valuable.

What I take from it is being more convinced that the claims of dramatically increased productivity from other languages, in practical terms, are at best extremely overblown. If this isn't a practical problem where a Haskell or Scheme programmer could be competitive using advantages of those languages, it really makes me question what is.

Re: Google AI Challenge: Winner post-mortem and source code

#4

The interesting subtext of this competition is that to an extremely good approximation, everyone who was interested enough to write a competitive entry used C/C++, even though the organizers went to great lengths to support as many languages as possible (e.g. Haskell, Scheme, etc.) This is with a small self-contained problem where performance wasn't a main difference between entries, and fast prototyping and experime…

Alternatively, it's possible that those using other languages just wanted an exercise to learn more about those languages.

Re: Google AI Challenge: Winner post-mortem and source code

#5

The interesting subtext of this competition is that to an extremely good approximation, everyone who was interested enough to write a competitive entry used C/C++, even though the organizers went to great lengths to support as many languages as possible (e.g. Haskell, Scheme, etc.) This is with a small self-contained problem where performance wasn't a main difference between entries, and fast prototyping and experime…

That is interesting indeed. If you go on to page 2 of the rankings* you can see that there were indeed a large number of Haskell, Python, Lisp and Ruby entries, but the top 100 (and especially the top 25) are totally dominated by C++.

The other thing I find interesting is the lack of Java entries. Java is as widely-known as C++, but there's only one Java entry in the top 100, and even in the top 200 Java is only about as common as Haskell or Ruby, and far less common than Python.

* http://csclub.uwaterloo.ca/contest/rankings.php?page=2

Re: Google AI Challenge: Winner post-mortem and source code

#6
post #5

The interesting subtext of this competition is that to an extremely good approximation, everyone who was interested enough to write a competitive entry used C/C++, even though the organizers went to great lengths to support as many languages as possible (e.g. Haskell, Scheme, etc.) This is with a small self-contained problem where performance wasn't a main difference between entries, and fast prototyping and experime…

That is interesting indeed. If you go on to page 2 of the rankings* you can see that there were indeed a large number of Haskell, Python, Lisp and Ruby entries, but the top 100 (and especially the top 25) are totally dominated by C++. The other thing I find interesting is the lack of Java entries. Java is as widely-known as C++, but there's only one Java entry in the top 100, and even in the top 200 Java is only abou…

The problem with Java was that it was impossible to get it running fast enough. You had 1 second of thinking time, but with Java you could barely access 0.05s, while compiled languages like C/C++ or even C# could easily use 0.95s without having any timeouts (which leads to disqualification).

Re: Google AI Challenge: Winner post-mortem and source code

#7

The interesting subtext of this competition is that to an extremely good approximation, everyone who was interested enough to write a competitive entry used C/C++, even though the organizers went to great lengths to support as many languages as possible (e.g. Haskell, Scheme, etc.) This is with a small self-contained problem where performance wasn't a main difference between entries, and fast prototyping and experime…

Not to be an apologist, but you still have to account for programmer skill and number of programmers. I'd be interested in seeing the average and median for different programming languages, not just the top results.

Re: Google AI Challenge: Winner post-mortem and source code

#8

The interesting subtext of this competition is that to an extremely good approximation, everyone who was interested enough to write a competitive entry used C/C++, even though the organizers went to great lengths to support as many languages as possible (e.g. Haskell, Scheme, etc.) This is with a small self-contained problem where performance wasn't a main difference between entries, and fast prototyping and experime…

Well, you should understand that at the end the bot had to be pretty complex to be competitive. Fast prototyping wasn't so important, as most of the theory was already there. But only a few managed to get them working together. In this case a prototyping language didn't have an advantage (like with most project with >4k lines, it's hard to oversee).

And secondly, most bots relied on minimax, which is a brute force algorithm. Performance was a big difference. For example, a friend of mine ported my code from C# to C++ (from compiled language to other compiled language) and got in the top 50 (I finished 81st), this without any changes to the algorithm.

Re: Google AI Challenge: Winner post-mortem and source code

#9

The interesting subtext of this competition is that to an extremely good approximation, everyone who was interested enough to write a competitive entry used C/C++, even though the organizers went to great lengths to support as many languages as possible (e.g. Haskell, Scheme, etc.) This is with a small self-contained problem where performance wasn't a main difference between entries, and fast prototyping and experime…

overblown for algorithms experts, maybe. selection bias.

Re: Google AI Challenge: Winner post-mortem and source code

#10

The interesting subtext of this competition is that to an extremely good approximation, everyone who was interested enough to write a competitive entry used C/C++, even though the organizers went to great lengths to support as many languages as possible (e.g. Haskell, Scheme, etc.) This is with a small self-contained problem where performance wasn't a main difference between entries, and fast prototyping and experime…

Fast prototyping lost its edge early on in the competition. Once people figured out the winning formula is something like Flood Fill + Minimax + Voronoi it all came down to tweaks and optimizations to search deeper, and making sure your evaluation function was accurate, not trying out completely new paradigms or anything like that.
Post reply on HN