## MATLAB Contest winner - 6/10

### MATLAB Contest winner - 6/10

Today's winner of the MATLAB Mars Surveyor Contest is Paulo Uribe with
his entry "SingleRov II" which was submitted at 4:54:59 PM EDT. Paulo is
the winner of a Mars Surveyor '98 T-shirt.

Paulo's entry finished with a score of 275.7819 leaving only 10.635% of
the area unexplored.

Good luck to the future winners!

The MATLAB Contest Team

Enter the contest at http://www.mathworks.com/contest/ .

The contest has been going on for over four days now, we are very
pleased to see the active participation by many MATLAB programmers
around the world. The top score has progressed from the initial 1174
to the current 263.96. Quite an improvement.

There have been two intermediate prize winners. The first one was Peter
Acklam, whose entry 'lolomove Tweaked VI' was at the top spot on
Wednesday (June 9th) 5pm EDT. The second one was Paulo Uribe, whose
entry 'SingleRov II' was at the top spot on Thursday (June 10th) 5pm
EDT. The next prize has a little twist. Instead of given to the top
spot occupant at a certain time, we decided to give it to the first
person who beats the score of 200, whenever it happens.

Before we put it out to the public, we had a MathWorks internal
contest for the same problem, to test the scoring function and other
factors. It is interesting to see that the evolution of the
submissions followed the same route both internally and externally. The
general pattern is a breakthrough followed by many tweaks until the
next breakthrough (algorithmly speaking). Some of the techniques that
worked so far are:

1. Go straight if possible, this is because turning costs an action.

2. Using transition matrix for the orientation. This technique can
make the code clearer and improve the speed (avoid MOD or REM function).

3. Look ahead several steps instead of just at the next neighbors,
this is like adding a telescope to the rover, we are moving in the
direction from local optimization to 'global' optimization.

4. The most important breakthrough is to handle each Rover alone
instead of handle 5 rovers at each step at the same time. This turned
out to be more effective (which is contrary to our natural instinct).
This was first introduced by Ram Rao in his 'Serial Rovers'.
Unfortunately, it didn't do very well due to other factors. We are
glad to see it come back in Paulo Uribe's submission.

5. The last interesting technique introduced today by Roger Stuckey is
to build a wall around the map, so that we can treat the boundary as
internal forbidden region. It saves a lot of CPU time avoiding
constantly checking if a rover is at the boundary.

More and more people are participating now, there are over 100
submissions so far. We still hope more people will come to join the
fun.

Come on and give it a try at http://www.mathworks.com/contest.

------
Zhiping You
The MathWorks Inc.