Winner Ave (More tricks)

Darkness 2003-04-01 00:00:00 UTC
Twilight 2003-04-02 00:00:00 UTC
Daylight 2003-04-03 00:00:00 UTC
Finish 2003-04-08 00:00:00 UTC

Trucking Freight - Winners

The Trucking Contest features some new faces as well as return winners. Aki and Christian have earned a spot in the MATLAB Contest Hall of Fame. Congratulations to them both. You might also remember our other two prize winners, Paulo and Yi Cao. They have made our list as third time contest winners. We haven't been keeping track, but we suspect that they both have wardrobes full of MATLAB T-shirts!

Aki Vehtari
Grand Prize Winner

The coveted grand prize goes to Aki Vehtari. Aki is from Finland and is a senior researcher for the Laboratory of Computational Engineering at Helsinki University of Technology. He uses MATLAB for his research in the areas of Bayesian probability theory and methodology, with applications ranging from industrial data analysis to machine vision. He also uses MATLAB for computationally intensive algorithms, such as Markov Chain Monte Carlo integration. Aki has also contributed to matlab.el, which implements a MATLAB major mode for XEmacs and Emacs. In his e-mail to us, Aki describes his thoughts and the eventful sequence of events before the end of the contest:

I've watched all the previous contests, but this was the first time I had enough time to participate. I didn't aim for the win; I just wanted to have some fun and try to get my signature to the top of the list at least a couple of times. I was sure that one of the contest veterans would have some special trick saved for the end, and I was very surprised that I won.

The contest closed at midnight my time, and I had planned on going to bed early. I was shutting down my computer when I decided to try once more. I submitted the "Add more freight" entry, watched The Sketch Show, and after returning was surprised to note that it worked, and no one else had thought of it. Since I had named the submission clearly and commented the change, I thought it would be obvious to everyone that adding gas and other tricks would help. Therefore, I was in hurry just to submit before anyone else, so that I would get my signature to the first place at least for a few minutes. :-) "More tricks" was submitted almost 20 minutes before the contest closed and there were at least five derivatives of it, so after the contest closed I was quite sure that someone would top my result. I went to bed before the queue had been processed.

Less than 5% of my code was in the winning entry. However, it took me a couple of hours a day to follow the contest and identify the changes that made significant progress. Better commenting would make it easier.

I would like to thank the MathWorks Contest Team for organizing the event and all the participants for making the contest a chaotic, addictive, and fun event.

--Aki Vehtari

Paulo Uribe
Early Bird Prize: Best Entry at 5pm on Friday

Paulo was the Grand Prize winner from the recent MATLAB Protein Contest. This is also the third contest where Paulo has won a prize! To find out more about Paulo, see the winners page from the Molecule Contest. Paulo lives in Maryland and uses MATLAB at work to design and test DSP algorithms.

Also, be sure to check out the picture of Paulo and his two daughters, all sporting the latest in MATLAB fashion! Click on the image to enlarge.

Here Paulo takes the time to tell us about his winning strategy and why the Rand function should continue to be allowed in the contest:

A Winning Strategy

I won the Early Bird Prize by adding randomness to the leading algorithm of the time. The original algorithm chose the next location to go by passing all possible locations through a metric and then choosing the one with the highest score. The problem with this is that it might be getting stuck in a local maximum. I therefore modified the leading entry to choose randomly, with equal probability, between the two best locations if they have a similar score. This worked really well as the score improved by 6 points.

Now, as the one that introduced the surprisingly criticized Rand function, I feel that I have to come to the defense of it. It has been suggested to block the Rand function because “the contest is about developing an algorithm, not about gambling”. This would really hamper the contest, as it would disallow the realm of randomized algorithms, which as the name states are really algorithms. A great example of randomized algorithms can be found in the CD Packing Contest. Imagine what that contest would be without Rand. I suggest we keep Rand and let the evolution of the contest dictate its fate.

A Failed Strategy

After winning the Early Bird prize, the contest progressed such that the entries grew to be huge monsters. With the limited time I could spend in the contest, I was left behind very quickly. The night before the last day I tried to analyze the current leader, but there was no way I could make a significant improvement in the hour I set aside for the contest. I didn’t understand the code well enough to tweak it, so I decided that my only chance to win was to take a small portion of the program, improve it, and add it to the winning entry.

I had a hunch that the function "diesel2" could use some improvement so I dissected it and enhanced it. I tested by pasting it to other entries and found that it would improve their score by up to 5 points. I thought I had found the perfect strategy. I then waited until the next day and a few minutes before the deadline, I sent three entries. Two of them modified the current winners at the time and improved both the CPU time and raw score of those entries. I then picked a single entry from the queue to append the new diesel2 function and luckily, for me it was "More tricks", the final winner. However, Aki’s entry was so good that my entry, TurboD2, only improved the raw score by .229 while being slower by half a second.

Congratulations to Aki and the whole MathWorks team!

-- Paulo Uribe

Yi Cao
First Score to Break 1800

Yi Cao is another of our third-time contest winners. Congratulations! This is the third consecutive contest where he has won a prize. The previous contests were the Protein Contest and the Molecule Contest held last year. Yi Cao, who is a university lecturer in the UK, has been using MATLAB for more than 10 years now. His interests include math and computing. Here, Yi Cao tells us why this winning entry is his favorite out of all the contests he has won.

Out of the three prizes I have won, the new one is my favorite. It is based on a novel program, "Route Finder", which was developed over the weekend and has been kept for two days. I knew it can reduce the score by more than 10 points. I persuaded myself not submit it on Monday night when the highest score was 1,889. In the morning, the first thing I did was check the score. The leader was just below 1,820 and the history curve was flat. I told myself, it was the time to release the code. I was so lucky. The result was 1799.2424 just enough to break 1800!

According to the experience gained from last two contests, this time, I tried to pull myself off from the webpage to concentrate on developing my own code. I am glad that I finally did it.

-- Yi Cao

Christian Ylämäki
Midnight Madness Prize

Named in honor of our European contestants, the Midnight Madness prize goes to Christian Ylämäki of Sweden. Christian will receive a MATLAB coffee mug and a bag of Peet's Coffee. Christian is a final-year Electrical Engineering Masters student at Karlstad University in Sweden. His course emphasizes automatic control and digital signal processing using MATLAB.

Christian first came across MATLAB in a math course in his freshman year. He now finds it to be a superior tool for numerous engineering tasks. Besides MATLAB Contests, Christian's other interests include golf, chess, and Go. Christian also enjoys listening to music and hanging out with friends. Here's Christian's contest story:

This is my second MATLAB competition. I also participated in the Protein Folding contest, where I made some successful tweaks but never managed to get into the lead. My goal in this competition was to reach the top spot at least once. Surprisingly, I managed to do that on the first day with "Advanced Stuff 7", which was a combination of the current leader and my own algorithm. That entry is probably the one I'm most proud of since parts of it survived almost to the end of the competition.

As the entries got more and more complex, my contributions got smaller and consisted mostly of minor adjustments to algorithms written by others. Two more entries of mine worth mentioning are "Hungover" and "2 minutes to midnight2". Hungover included my most meaningless tweak. I changed the state of the random number generator in the leading entry and by pure luck took the lead. In 2 minutes to midnight2 there was a little more thought behind my changes. I introduced a for-loop where the same solver was called multiple times but with different weighting of the freight. It wasn't a big change, but it was enough to earn me some very appreciated MATLAB memorabilia.

-- Christian Ylämäki