The Big Sunday Push continues until midnight tonight (EDT). We award this prize to the contestant who makes the biggest cumulative improvement to the top score on Sunday. See Sunday in the “Contributions in Daylight” section of the Statistics for standings. Please enter your name exactly the same for all your entries so we can group them together.
We’d like to thank everyone for following the no-hacking rules we’re using for this contest. It’s made it much easier for us to administer this contest and the queue has been chugging along without a hitch!
Has the addition of cyclomatic complexity to the score changed the way you’ve written your entries? Is it helping to keep the code more legible? Or is it still too early to tell. Please let us know what you think.
I don’t think the complexity factor has significantly helped the competition due to the fact you set the bar too high. I’ve calculated out the scoring equation coefficients which are:
k1 = 0.1
k2 = 2
k3 = 0.05
k4 = 1
(Kudos for changing them significantly from past competitions). Based upon this, each point of complexity above 10 only affects the score by 1 point. While most of the leading entries are hovering around complexity 10, I’ve seen competitive entries as high as 20 something and as low as 6 or 7. People don’t seem to be worrying too much about complexity and are just tweaking the parameters and timing now.
I’d suggest in the future you lower the complexity ‘freebie’ bar to 4 or 5 and make the penalty factor significantly greater (i.e. k4=10 perhaps?? or make it exponential).
Perhaps a new midterm contest would be the best scoring code with a complexity of 3 or less??? That would seem to really push us based upon the entries so far and would be in line with what the 1000 character challenge calls for (which is typically a ~3x reduction in code length).
I forgot to include my analysis of the current tradeoff between time and results. Right now the leading entry has a results of 39582 and time of 48.7. We are way past the ‘knee’ of the exponential curve, which is somewhere in the 25-30 seconds range depending on how you look at it.
Each 1/2 in time that is shaved off the code right now is equal to about 6 points of results.
While we don’t know what the makeup of the test suite is, the best result obtained so far is 39028 by David Jones (who is as usual making significant and numerous contributions to the contest). I think we can assume that the minimum possible result is somewhere around 39000.
The minimum result has been pushed to 38681. I think it still has some space to go if we can make the code faster.
Leave a Reply
About
The MATLAB Programming Contest is a semi-annual competition where contestants submit MATLAB code to try to solve a challenge. For more information, see the overview.
I don’t think the complexity factor has significantly helped the competition due to the fact you set the bar too high. I’ve calculated out the scoring equation coefficients which are:
k1 = 0.1
k2 = 2
k3 = 0.05
k4 = 1
(Kudos for changing them significantly from past competitions). Based upon this, each point of complexity above 10 only affects the score by 1 point. While most of the leading entries are hovering around complexity 10, I’ve seen competitive entries as high as 20 something and as low as 6 or 7. People don’t seem to be worrying too much about complexity and are just tweaking the parameters and timing now.
I’d suggest in the future you lower the complexity ‘freebie’ bar to 4 or 5 and make the penalty factor significantly greater (i.e. k4=10 perhaps?? or make it exponential).
Perhaps a new midterm contest would be the best scoring code with a complexity of 3 or less??? That would seem to really push us based upon the entries so far and would be in line with what the 1000 character challenge calls for (which is typically a ~3x reduction in code length).
I forgot to include my analysis of the current tradeoff between time and results. Right now the leading entry has a results of 39582 and time of 48.7. We are way past the ‘knee’ of the exponential curve, which is somewhere in the 25-30 seconds range depending on how you look at it.
Each 1/2 in time that is shaved off the code right now is equal to about 6 points of results.
While we don’t know what the makeup of the test suite is, the best result obtained so far is 39028 by David Jones (who is as usual making significant and numerous contributions to the contest). I think we can assume that the minimum possible result is somewhere around 39000.
The minimum result has been pushed to 38681. I think it still has some space to go if we can make the code faster.