Thursday, February 09, 2006

On the (Imagine Cup) road again

This monday - finally - I found the time to check back to thespoke and look at the just opened IC categories Algorithm and IT. Last year I only did Visual Gaming, so this year I wanted to see what else goes on - before turning back to my VG solution and start adapting it to this years SDK.

IT is clearly not my area of choice, never really looked at Win2003 and Active Directory, looks like it's not really part of every day developer life.

Algorithm on the other hand sounded really exciting. The one thing I'm really disappointed about is the fact that the algorithms you need to build for Herbert are extremely specific to Herbert and have nothing to do with the 'real world' of algorithm development. First of all, algorithms in 'h' are judged by code size - seriously, in today's computer world, who cares how big a core algorithm is compared to the massive load of multimedia data? Second, they encourage to send Herbert on very long, detouring (and for the most part indefinite) tours around the map - so even if the program looks really smart, the path Herbert will follow definitely won't.
So after going to the International Olympiade in Informatics in 2001 and 2002 I know there are much better ways of testing people's algorithm skills than to let them send robots through an artificial maze.

So after getting side-tracked by those invitationals a bit I finally returned to my first (and so far only) love in the Imagine Cup, Visual Gaming. The contest itself still runs with the same slow motion as last year (Richard promised a final SDK (for the .Net RTM) on the 1st of December and we are still left with the Beta-2-SDK), but if there is one thing we learned last year it's that complaining about this sort of thing doesn't help. So I won't list all the holes in the SDK and instead say that I started adopting my solution from last year to .Net 2.0 (RTM ;)), and got the path planner up and running with the blood streams. With some new plans to deal with the NanoNeuros when I get home from Dubai it should produce at least the same quality as it did last year. (And then I'll have plenty of time to do all the tweaking that was cut short the deadline last time).


Anonymous Klemens said...

Hey Ben,
Cool blog you have created here. Nice to be able to hear from you again.

And I just have to disagree with you on this post :-)
(Though I think we had this discussion already. But I have some new arguments :-)

First of all, algorithms in 'h' are judged by code size - seriously, in today's computer world, who cares how big a core algorithm is compared to the massive load of multimedia data

But you do realize that personal PCs with Gigabytes of Harddisk and Megabytes of Memory and its software make only a tiny fraction of all computer/software in use, don't you?
In a car nowadays there are working controllers in the magnitude of about 10^2. In new BMWs there is now a second battery for starting the car because the first is sucked empty by all the electronics.
And if you program some controller with about 64k of memory (This is a realistic value) for programmes, you have to look twice where to put your algorithms.

Working economically with ressources is today as important as ever. In IT as everywhere else.

Nevertheless, nice to hear from you again.
And: What the heck are you doing in Dubai? :-)

Greetings from the High Resolution TEM-Lab Triebenberg :-) I'm now going to analyze some data.

22/2/06 10:54 PM

Blogger The Ben way of life said...

True, concerning the importance of writing small programs (for small devices) that's a point for you.

But sadly 'h's focus on this is much too heavy. In the samples, many very good solutions sent the robot on constantly detouring/spiralling (and infinite!) paths just to make the program shorter.

Don't you think that the program's result should be as elegant as the program itself?

1/3/06 3:14 AM

Anonymous Klemens said...

I agree.

I admit that I do not know the actual task you mentioned.
Of course the result should be as elegant as the program.

I was a bit angry at the "who cares", because if the programmer does not care, who does?
In my opinion it should always be (secondary) objective.

So much for now, I have to learn for my first diploma exam :-|

P.S.: Something (almost) sick: 67 Bytes for a program solving a sudoku :-)
0 points for elegance, though

1/3/06 5:08 AM


Post a Comment

<< Home