ICFP Contest Underway
iseff writes "The ICFP Contest (reported first here) is now underway. There's probably still some time for us slackers to code up something for the first round. This year's problem is similar to the board game Cops and Robbers. What I find cool about this year is the split into two parts -- code the original spec, then wait, get a new spec, and modify. Plus, any language is accepted, even though it's a 'functional programming' contest."
Artifical Intellengence.
It's often best practices to make a contest be a game programming contest; people like games. People like to code interesting projects. Luckily this puts them together.
Before you pass it off as "too simplistic" or not "deeper", that game probably has well over 10^30 different possible configurations, easily defeating similar games like Chess, and on par with games like Go.
These are the kinds of things that really bring out the talented coders.. people who can design the algorithms, people who can figure out the internals of the game, and not just the coders who write code for a living. I can't wait to see the results; I'd work on it myself if I could.
"Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
Participants need to write programs that control bots - cop bots and robber bots on a pre-defined map. The goal of the robber bots (of which there's only one in the first round) is to rob as many banks as possible (to rob a bank, a robber needs to simply arrive at its location), and that of the cop bots is to minimize the amount of money stolen - and if possible, catch the robber. The map can be seen as a directed graph with various edge attributes that decide how fast and in what direction a particular bot can move.
What is really interesting though, is the format in which the tournament is going to be played. Every game will consist of 5 cop bots going against 1 robber bot. The cop bots will be written by individual participants - and will have the capability to communicate with each other, suggesting 'plans', and voting on them to elect the best one. The whole team gets rewarded if the robber is caught, but you also get individual bonuses for individual achievements. This adds a byzantine-generals like dimension to the problem, since the strategy is always a mix between cooperative effort and individual greed.
The last and most important twist is the fact that the second round is worth 'significantly' more than the first, and involves adapting your bots to a modified version of the problem. What this modified version will be is a closely guarded secret... but it means that it's probably a good idea to spend as much time thinking about the design as thinking about the strategy.
I am working on this as a solo programmer. I'm more into math and algorithms than the average state university C. S. graduate, but still not very good at math. So I don't expect to have a very great entry, but will enter anyway. It would be really nice to make it into the playoffs (you compete against mediocre judge's robots in the regular season, and have to beat them to get into the playoffs). I think I'll be lucky if any AI I add doesn't break the protocol code (disqualifying my robot).
I'm going to work into the wee hours of the morning both tonight and tomorrow night (I am in Arizona, so the contest started at 7:00 AM Friday and ends at 7:00AM Monday). I'll see what I get. If nothing else it will be a good learning experience - in fact it already has been good.
I've been following the mailing list. The most interesting devlopment was that someone discovered that the five cops could camp the six banks, because two banks were only separated by one intersection. The organizers released a new map to fix this.
It's an exciting contest.
This seems like a suitable challenge to grow your program using mutation & selection and/or crossbreeding methods to create an evolved solution instead of a designed one. Set it up now, and leave some simulations running on a dedicated box or six, 24/7 until the competition. Then take your killer software to the competition.
:-)
The coolest bit would be when anyone asks "So, how does your program work?", to which you would answer "I haven't the faintest idea. It just does."
LISP really can't be categorized as a post-C language, as it was created roughly 15 years before C.
Badass Resumes