
Google AI Contest: Literate version of the top scoring Haskell entry - dons
http://jaspervdj.be/posts/2010-03-01-my-tron-bot.html
======
nazgulnarsil
love the animation of the flood fill. made parsing of that part pretty much
instantaneous.

------
marshallp
So many of these coding challenges seem to be just straigtforward applications
of constraint programming, I don't understand what all the hubbub is about.
Install any old prolog/chr or constraint library and you're done. Haskell and
c++ are a convoluted way to get to that.

~~~
scott_s
There were 708 submissions, and glancing over them, they seem to be
implemented in C++, Lisp, Haskell, Python, Java, C#, Perl, JavaScript, Ruby
and even one in Go. None, from what I can see, were implemented in Prolog.

When 708 people who spent a significant amount of time solving a problem
didn't do what you think is obvious, then perhaps your understanding of the
problem isn't as complete as you think it is. Prolog is indeed good for
constraint programming, but these programs needed to run in competition with
one another. My guess is that a straight-forward Prolog solution isn't fast
enough. And once you put enough cuts into the straight-forward solution to
help the runtime prune decisions, maybe you'd be better off using something
that's faster to begin with.

~~~
applicative
The answer to the question "Why no Prolog?" is simpler, the organizers set up
simple default guaranteed-to-compile "starter" packages for several languages.
One surprise was that a Haskell package was included, though it used the
antique ghc-6.8. The default way of entering the contest was simply to send
back the unaltered starter program, and set about hacking and re-entering from
there.

(I entered as the completest Haskell noob imaginable, and was surprised that
by making the most elementary revision of the package (which gave your bot the
bold strategy of going straight north til it crashed) I managed to place in
the top 2/3s. Basically I told it, "if it's the wall, don't go there, take the
first of the others available" -- maybe one or two other things. Every klutzy
attempt at further 'intelligence' ran into time trouble since I don't yet have
any feeling for that kind of optimization. So the package would be excluded as
_Timed Out_ if was too slow in too many contests. I consoled myself thinking:
At least I my entries never suffered the indignity of the other rejection
notice: _Garbage Collected_ )

~~~
marshallp
Competitions like this should be relabeled as who can reimplement constraint
programming fastest and without bugs then.

