Playing with the ICFP contest…

July 24, 2007 | General | By: Mark VandeWettering

Well, I didn’t have time to actually do the challenge this year, but I’m trying to work through it here. I made some significant progress, and can now render pictures of Endo’s RNA:

There is some minor issue which causes a small y offset between this image and the target. I can’t for the life of me figure out what is the problem (it looks like the originals are generated properly, but that the offset occurs during compositing, not sure how that can happen, since the images are statically allocated). I’ll work on it some more. Ahh! The problem is that my RNA wasn’t correct (it had two copies of almost the entire file, with some small residual offset between the two). I’ll have to work on my DNA to RNA compiler more now. I cheated somewhat in that I ran someone else’s compiler to generate this RNA, but it obviously wasn’t without bugs. I should have checked it against the hint in the manual which gave the precise number of RNA commands that we are supposed to have, it would have uncovered the error much sooner.

[tags]ICFP Contest[/tags]

Addendum: If you don’t know what I’m talking about, you can find out more here.
Addendum2: I can’t figure out how to use C++ ropes, which frankly seem to be a non-standard and depracated par t of the STL. That’s okay, I hate the STL anyway. Yeah. Who needs it?
Addendum3: I begin to see the light!

Addendum4: I’ve made considerable progress, but with much more to go. While I find this year’s contest to be pretty interesting, I am left with the overall impression that it is more of a puzzle than an actual programming contest. Last year’s contest presented us with an initial programming problem, but then a relatively straight path to a number of different problems that weren’t hard to find, but which were hard to solve, requiring that people write theorem provers and search programs that were well specified. This years contest so far is an initial harder (much harder) programming puzzle, followed by spelunking. The “programs” that I’ve had to write thusfar are really just the dna->rna converter and the rna renderer, and a handful of python scripts to massage and extract stuff from dna. I suspect that eventually I’ll need to write some kind of disassembler/assembler, but my guess is that I’m still hours away from that. Moreover, doing probably won’t be hard, except that we have to discern so much information about the underlying machine that is hidden.

Still, an interesting problem, which I will no doubt continue to spend some time on.