6 ms·
Lisp developer walks away with Google AI contest
- mfukar 16y agoNot a bad article, but did you have to make the title a Lisp promotion fest?
- vixen99 16y agoThis very short article mentions the winner's views, as he sees it, on the suitability of Lisp (used by 0.7% of the contestants, surely interesting) for the job. Half the article never even mentions Lisp. And this amounts to a 'promotion fest'?
- mfukar 16y agoThe point is that he won because he's a great programmer, not because he used Lisp. I was referring to the title and not the article. Do you understand that or have you got more asinine comments?
- lr 16y agoThe matrix will be programmed in Lisp...if it's not already...
- waqf 16y agoIt is already: see http://matrix.itasoftware.com/ http://matrix.itasoftware.com/.
- silverlake 16y agoA better title: "3 Time Winner of Computer Games Olympiad Wins Yet Another Contest".
- swannodette 16y agoCan't believe this Reddit quality comment is getting any upvotes. Google AI Challenge is "Yet Another Contest"? Though you may not be surprised, he is, http://quotenil.com/Planet-Wars-Post-Mortem.html/ http://quotenil.com/Planet-Wars-Post-Mortem.html/.
- eelco 16y agoThe point is that he won because he's a great programmer, not because he used Lisp.
- lisper 16y agoIt's far from clear which way the causality runs.
- dminor 16y agoWell, the 33 lisp entrants don't appear to hold the top 33 spots: http://ai-contest.com/language_profile.php?lang=Lisp http://ai-contest.com/language_profile.php?lang=Lisp
- fhars 16y agoSo more than a fifth of the lisp entries are in the bottom twentyfifth of the competition. So you could also use the contest results to argue that lisp is five times worse for AI than the average language. (Or, rather, that language alone doesn't guarantee success, but that would be too rational and boring for an online forum).
- gruseom 16y agoYou'd have to be an idiot to argue that language alone guarantees success. A more common bad argument is say that because this is idiotic it follows that language is irrelevant. That's actually a popular position nowadays. Just because computers obey the law of excluded middle does not mean we should.
- StavrosK 16y agoIs there a summary of the algorithms he used anywhere? I don't see how it was the language that won the competition, rather than the code he wrote in it.
- tudorachim 16y agoLooks like alpha beta with a good evaluation function, move ordering, and a changing depth parameter (not sure about this one, though).
- Shamiq 16y agoIsn't alpha-beta pruning a type of optimization you can do to a search algorithm, but not the base algorithm itself? I only bring this up since I helped make an Othello bot that used Mini-max _with_ alpha-beta pruning to help reduce the number of branches it needed to follow down a tree.
- kermit_de_fro 16y agoAlpha-Beta pruning is, to my knowledge, only really defined in a mini-max setup. By definition, it leverages the mini-max framework to prune areas of the search space. You can apply the core concept -- refusing to expend computation effort when the result of that effort is guaranteed to not be used -- to any number of other methods and approaches in Machine Learning and AI.
- Shamiq 16y agoAs far as the first line in the wikipedia page goes..."Alpha-beta pruning is a search algorithm which seeks to reduce the number of nodes that are evaluated by the minimax algorithm in its search tree."[1] it seems like you're correct. Thanks. [1] http://en.wikipedia.org/wiki/Alpha-beta_pruning http://en.wikipedia.org/wiki/Alpha-beta_pruning
- StavrosK 16y agoAh, thanks. Nothing that couldn't be implemented in a number of languages, then...
- ihodes 16y agoI know at least a few people who had bots written in/were prepared to write bots in Clojure. They didn't end up adding support for it, however. I still can't wait for the next contest—wouldn't Pentarow be cool? Or Pente? Anyway, cheers to Waterloo for putting this on again!
- agravier 16y agoYou should beware not to be too enthusiastic, because this year's organizers were pretty aggressive when I politely asked (over PM) if there was any specific problem with adding Clojure. I still don't know what the problem was.
- aufreak3 16y agoHmm .. maybe I should consider settling in Hungary.
- to 16y agofood's better and cheaper... thats for sure.
- lmaonade 16y agoAfter seeing Gábor’s performance, many participants commented that they would be taking a new look at the 1000 year old country. "Bocsimako is the proof that Hungary is best for AI algorithms", quipped one player.
- eru 16y agoBeing born and educated in Hungary is even better. Compare John von Neumann, Edward Teller, Leo Szilard, and Eugene Wigner. They changed the education system, and no longer used the one they had around 1900. Unfortunately.
- ctkrohn 16y agoDon't forget Paul Erdos!
- winxordie 16y agoI don't know about that. The first wave of 20th century combinatorialists were pretty much all Hungarians (Bollobas, Erdos, Polya, Szekeres). Hungary hasn't stopped churning them out either. I'd argue that their education system's just fine.
- aidenn0 16y agoThere is a quote that I don't know who to attribute to or even the exact quote but it's roughly "Only in Budapest can a man walk into a revolving door behind you and come out in front of you"
- aufreak3 16y ago
- richcollins 16y agoBocsimako is the proof that Lisp is best for AI algorithms Cargo cultism at its finest
- ohyes 16y agoIt seems that any positive inclination towards lisp is cargo cultism. Gabor Melis is a seriously smart guy, and probably would have kicked ass in any language. That said, I'm going to pull out that phrase next time someone says 'Java/C# is good for Enterprise', or 'C++ is good for video games', or 'C is good for systems programming'. Cargo cultism indeed.
- danparsonson 16y agoTwo things: 1) "X is good for Y" is very much not the same thing as "X is best for Y" 2) One person having great success at something is not a pattern, and doesn't usually prove a general rule (I'm hedging with 'usually' - I can't think of a counter example but I expect someone else will :-). Common usage, while not a guarantee, is at least a good indicator of fitness - if Java were better for systems programming than C, it's likely (though of course not certain) that we would be saying 'Java is best for systems programming', and have some basis for that claim beyond the success of one person who has already demonstrated competence in the same general area (i.e. the contests previous competition wins). The headline might better have been "Experienced programmer uses Lisp to win Google AI contest". Correlation vs causation - he didn't win because he knew Lisp, but he did use Lisp in his winning solution, and you can understand that without taking a position on Lisp itself; there are shades of fanboism in some of the comments on this thread.
- ohyes 16y ago1.) People (who use them) will happily tell you that each of those are the 'best' choices in their respective fields. People say 'C is best for systems programming', that I worded it more weakly is irrelevant. 2.) Lisp has been in use in AI, since before the birth of AI. It is still used in AI, and there has been plenty of success with it. There is plenty of 'constant conjunction' (to borrow the causative definition from Hume), associated with Lisp and AI. Acting as if his use of Lisp couldn't have given him an advantage in an AI contest is pretty much the ultimate lisp denial-ism.
- ld50 16y ago"You can win 6, 12 or 24 months of membership to AiGameDev.com PREMIUM if you place third, second and first in the contest respectively. We'll also provide any single person team that ranks higher than our official bot three months of AiGameDev.com PLUS — our brand-new part of the site that launched last week." he must be excited. until google puts out non-trivial problem sets and offers non-trivial prizes i'll save my upvotes and cycles.
- JoachimSchipper 16y agoMeh, it's worth quite a bit to have that on your resume.
- pietrofmaggi 16y agoLisp 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 http://ai-contest.com/language_profile.php?lang=Lisp). What about the top ten solutions? http://ai-contest.com/rankings.php http://ai-contest.com/rankings.php 4 Java 3 C++ 2 C# 1 Lisp So is Java the real king of the AI challenge? ;-) [edit for formatting]
- defroost 16y agoUh...No.
- deleted 16y ago[deleted]
- Zak 16y agoI 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.
- thomas11 16y agoI 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.
- idan 16y agoReminds me of a classic comic strip: http://www.whattheduck.net/strip/95 http://www.whattheduck.net/strip/95
- trezor 16y agoVery interesting stuff. Is the source for the various bots posted anywhere? Is it even a requirement that you disclose your source or that it will be made public after the results are published? I looked around but couldn't find any obvious place to find the source for the bots used.
- Xurinos 16y agoThere are many comments here that he won because of his programming/thinking skills versus using the Lisp language, and I think this true in comparison to the other contestants. However, one thing he mentions that is an interesting piece of the puzzle -- and a common theme in language competitions that include Lisp -- is: Lisp doesn’t get in my way as much as other languages. After getting hooked I learned to value the interactive development environment, the object system, etc.. What’s good about Lisp is rapid development and speedy execution. This might be a small effect, and you can have good programmers in every language, but if he was just as familiar with Java as he was with Lisp, could he have accomplished the same results in the same time with Java? How would the code look?