Winner Nicke (Revolution IV)

Darkness 2003-11-06 15:00:00 UTC
Twilight 2003-11-07 15:00:00 UTC
Daylight 2003-11-08 15:00:00 UTC
Finish 2003-11-13 15:00:00 UTC

MATLAB Golf: Snake - Winners

The recently completed Golf Contest had several short puzzles instead of a single long one. Congratulations to our Grand Prize winner, Per, who wins a MATLAB Jacket. We also learned that two of our winners are from the same department at the Åbo Akademi University in Finland. Do they run into each other walking down the university hallways? Read on to find out more.

Per Rutquist
Golf Grand Prize Winner

After 7 intense rounds of competition, our grand prize goes to MATLAB Golf Champion Per Rutquist. He came away with two first place and two second place finishes.

Per works for Volvo Technology Corporation in Gothenburg, Sweden, and is also enrolled as a Ph.D. student in the Control and Automation Laboratory at Chalmers University of Technology. Per is a veteran 7-year MATLAB user. Currently he is using MATLAB in building fuel cell models as well as for implementing dynamic programming algorithms.

I have always considered MATLAB Contests a lot of fun. My strategy is to try and develop my own algorithm from scratch, rather than tweaking. Sometimes however, my program doesn't quite cut it and I have to resort to tweaking another entry. My reason for doing that is after putting that much work into it, I deserve to have my name on the score board somehow!

Winning second place on the Palindrome hole was mostly luck. I started with my own code, and applied tweaks I'd found in other entries. When I finally made the submission, it took first place but was quickly tweaked even further. I then noticed that the shortest entry in the queue depended on the maximum string length being 99. Hoping that this would not be the case, I submitted an entry with 99 replaced with 999. I was pleased to see my entry take first place. Surprisingly, it was eventually bumped down to second place by a 99 entry identical to the first one. It turned out the only reason I got second place was due to a server error. Oops!

An obvious risk of developing your own algorithms is that easy tweaking possibilities are left in the code. The winning entry in the Pathfinder hole contained at least 4 superfluous characters that should be easy to spot for anyone who followed the previous holes. (Finding these will be left as an exercise for the reader.)

I knew that winning the Pathfinder would put me in the lead as Grand Prize winner since it was the second to last hole. Unfortunately, the queue was so long that I didn't find out if I'd won till Friday morning (European time). That made the last hole, Snake, a lot more exciting. I thought I'd written a very clever algorithm based on matrix powers. Unfortunately, it did not pass the test suite. Oh well....

--Per Rutquist

Guy Shechter
Hole 1 (Frequencies) Winner

Guy won the very first hole in the MATLAB Golf contest. Like all of our winners, he'll receive a MATLAB Toolkit as part of his prize! Guy is currently a Ph.D. student at Johns Hopkins University in Baltimore, Maryland. Guy works in the field of cardiovascular medical imaging where he uses techniques from computer vision to reconstruct dynamic models of the coronary arteries. The goal of his research is to measure how the heart moves when we breathe. He admits that while this line isn't particularly useful for meeting girls in bars, he hopes that his work will ultimately help reduce motion artifacts that occur in MRI imaging of the heart. Guy's other interests include traveling, haute cuisine, good wine, playing the guitar and snowboarding.

For some reason, I've always been too busy to participate in previous MATLAB Contests. This time was no exception. My Ph.D. thesis had to be distributed to reviewers on Friday, and the good people at the MathWorks decided to hold a three day contest -- Tuesday, Wednesday, Thursday! The short contest format was ideal for quantized procrastination. If things don't work out, I'll use the toolkit to start an alternative career as a handyman.

-- Guy Shechter

Imre Polik
Hole 2 (Palindrome) Winner

Imre is another new face to the contest. He received his Masters degree in Mathematics at Eotvos Lorand University of Sciences in Budapest, Hungary. He's currently pursuing his Ph.D. at McMaster University in Canada. Imre's interests lie in interior point methods, semi-definite optimization, and complexity analysis.

A few months ago I received a MATLAB newsletter about some contest coming. I went to subscribe for the mailing list. I'd almost forgotten about it when on the Monday before the contest, I received e-mail notification. I was surprised at the goal of the contest since the shortest code is usually neither the fastest nor the most readable.

Initially I tried writing my own code instead of tweaking, however they turned out to be hopelessly long and unreadable. Implementing a new idea from scratch was certainly not working out, so I spent most of my time tweaking other people's code or substituting parts of them for parts of my code. I was very surprised to see my name on top in the Palindrome contest.

Anyway, I enjoyed the contest very much and participated in every hole. I'm happy to be part of this community and plan to try my skills at longer contest in future. Thanks to the MathWorks for this new contest idea and congratulations to Per for winning the overall contest.

-- Imre Polik

Stijn Helsen
Hole 2 (Palindrome) Winner

You might recognize his name from our earlier contest pages. Stijn is a third-time MATLAB contest winner, having won the Grand Prize in the Mastermind Contest and a mid-contest prize in the Molecule Contest. Stijn is from Belgium. Find out more about him by viewing his previous winner's profile.

This contest is very different from the others. It featured small problems where one had to find the right solution and where efficiency (cpu time) was of lesser importance.

Initially, I did not like the contest format too much. The problems were small and after an hour or so of coding and tweaking, not much more could be done. Fortunately, the time frame for each problem was short, so there wasn't much time to get bored. The last holes were especially fun since they were a bit more complex and interesting than the earlier ones. Even though the holes ran for three hours, new ideas could still be introduced till the time the hole closed. I was quite happy with the change after the contest. You could even "have a life" between the holes, and it was still fun!

Some people, for example the ones asking earlier for better documented code, might not have been as happy with this contest. Though I believe that writing code fast and reading/understanding other people's code whether structured or not, are good skills to possess.

It is a pity that the contest itself didn't go as smoothly as the nervous contest participants wanted it to. It was sometimes difficult (seemed impossible) to connect and there were some problems with the scoring. Though this problem was probably magnified due to the nervousness of the contest participants.

-- Stijn Helsen

Claus Still
Hole 4 (Infection) Winner

If you'd followed the MATLAB Protein Contest held last year, you'd remember Claus Still. MR Keenan tweaked his entry and went on to win the Grand Prize. MR Keenan's entry was named Santa Claus in honor of Claus.

Claus is from Finland and works as a systems engineer for a telecommunications company called Tellabs. He recently took study leave to work on his Ph.D. at Åbo Akademi University where he worked in the Department of Mathematics. His work involved the development of a new optimization algorithm for mixed integer nonlinear programming. He used MATLAB heavily in his work because of its flexibility and powerful language constructs.

In the first half an hour, Mark Bartsch set the pace in the fourth hole, Infection, with his "Kinda Short" entry. Over several minutes, the entry was optimized in such a compact form that I saw no way to improve on it. It was then that I turned to the original idea I had: to use a binary vector to represent occurrences of the characters of the infected people. Using this, along with some ideas from the leading entry, I managed to create a short enough entry to win the hole.

I prefer algorithm development to writing compact code, so I was quite surprised to win a hole. Anyway, it was interesting to try something different and I think the rules in MATLAB Golf have improved over previous contests. I am still hoping for protection of the submitted entries in future, for example, hiding the entries waiting in the queue.

I would like to thank the Contest Team for organizing this fantastic event and hope to see more challenging contests in the future, whether or not they are based on writing compact code or good algorithms.

-- Claus Still

Niclas Carlsson
Hole 7 (Snake) Winner

Nicke is the winner of our seventh and final hole. Like Claus, Niclas is from Finalnd and is currently a graduate student in the Department of Mathematics at Åbo Akademi University. His research is centered around classes of Markov processes in discrete time with continuous state space. A considerable amount of his time has been spent solving equations involving probability distributions using MATLAB. Nicke also enjoys, reading, programming, music, cross country skiing and spending time with his family.

I've followed the MATLAB contests starting with the Mars Surveyor contest in 1999. I have however, only occasionally participated with the odd entry. This is mostly due to not taking the time to keep up with the evolution of the best entries ruing the contest. In this aspect, this contest suits me much better. I only have to spend brief but intensive sessions in front of the computer instead of sacrificing the better part of a week.

In the beginning of this MATLAB contest, I mostly tweaked entries from the queue. Towards the end, I changed methodology by developing my own solution. Not only was this more fun, it also gave me a better perspective on how to solve the problem. Thanks to The MathWorks for some very entertaining evenings!

-- Niclas "Nicke" Carlsson