Lisp was clearly a fine tool for this kind of challenge, but the programmer was, as usual, the important piece of the solution. Otherwise I'll expect to have some other of the 33 lisp based entries in the top spot (the second lisp entry is ranked at the #280 spot: http://ai-contest.com/language_profile.php?lang=Lisp).
I find the mix of languages found in the top 100 interesting. Smart is obviously a big factor in determining the winners. Speed was a factor in the contest as well, with a 1 second per move time limit. Based on that, I'd expect to see the faster of what Paul Graham calls "languages for smart people" near the top. Lisp, Haskell, ML and Lua come to mind. That didn't happen. What follows are observations about things I found interesting, with no specific conclusion:
Popularity in industry seemed to be a big factor, with Java, C++, C# and Python making up most of the entries in the top 100.
Speed wasn't that important: Python made up 20% of the top 100.
Some popular languages, such as Javascript, PHP, Ruby and Perl did quite poorly. I'd blame it on speed, but Python did quite well.
New and exciting languages I'd expect the sort of people who enter programming contests for fun to like were underrepresented. Only 6 people used Go, and 4 used Scala.
Unless I'm mistaken, the contest was limited to supported languages. F#, Clojure, Lua and Scheme don't appear because they weren't supported, not because nobody wanted to use them.
I think a lot of participants might be in the same situation I'm in: I like new and exciting languages and play with them now and then in my free time, but I work in one of the "boring" languages. Having way more experience with the boring language, it's the one I turn to when I have a deadline or the problem is hard enough that I can't afford to spend brain cycles on the language itself.
I feel like Clojure has crossed that threshold for me.
I program in Java at work because it's what my team understands and it's what the rest of the application is written in. But if I need to do some exploratory programming or build tools to increase my personal productivity, I turn to Clojure first. It's much more productive because I can test each little piece at the REPL and it takes so much less code than it does to do the same things in Java (even when it is just invoking methods on Java objects).
If I need to, it is then a straight forward step to expand the code out into its verbose Java form.
You could have written a program in any language. It just needed to accept certain command line options and send results to stdout in the proper format. They only provided "starter kits" for a few languages, but if you were willing to write a little extra code, you could have used anything.
Unless I'm mistaken, the contest was limited to supported languages. F#, ... don't appear because they weren't supported
I'm not familiar with how the contest was implemented, but I would assume that if C# was supported, then any .Net language would work. It should be trivial to build a C# wrapper for your F# code, if the interface you must support can be implemented in all those other languages.
Any language you could get working on the official server and you wrote a starter pack for would be supported. That's one of the nice things I like about this challenge as opposed to other competitions which are generally restricted to Java, C# and / or Python.
That said there were quite some initial problems getting some languages working since they were running on a very old Ubuntu.
'Speed wasn't that important: Python made up 20% of the top 100.'
In the article, speedy execution can be taken to mean the speed/ease with which you translate you idea into code and not the speed at which the resulting code runs
I don't know about this challenge, but during the Tron AI challenge, execution speed was very important. There was a time limit for how long your AI could take to make a move so the faster your execution the deeper your min-max tree.
Don't most Lispers argue that just knowing Lisp makes you a better programmer whether you use it or not? Perhaps a better measure of how great Lisp is would be to examine the proportion of programmers who know Lisp and submitted a top ranking entry.
Yes, the programmer was the important piece of the solution. Note the careful wording the winner used in his advocacy: "Lisp doesn’t get in my way as much as other languages."
From the article's description of how far ahead Melis was (2nd paragraph), you could say Java was king of "a race for second place".
What about the top ten solutions? http://ai-contest.com/rankings.php
So is Java the real king of the AI challenge? ;-)[edit for formatting]