Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Spring 2011 MATLAB Contest, April 13 - April 20

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Helen Chen

Date: 15 Mar, 2011 13:24:05

Message: 1 of 100

Dear MATLAB Central Community;

The Spring MATLAB Programming Contest will start at noon, Boston time/16:00 UTC Wednesday April 13th and will run through noon, Boston time/16:00 UTC the following Wednesday April 20th.

If you have not participated in any of our past contests, you can learn more by going to the contest website at http://www.mathworks.com/matlabcentral/contest/

We look forward to seeing you online!

Best,
Helen Chen
MATLAB Central Team

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Helen Chen

Date: 12 Apr, 2011 21:09:05

Message: 2 of 100

Are you ready for the spring contest? We kick-off the new contest at 16:00 UTC tomorrow April 13th, so you might want to get a good night sleep tonight! :-)

See you at the contest tomorrow!

Helen and the Contest Team


"Helen Chen" <helen.chen@mathworks.com> wrote in message <ilnp9k$l2h$1@fred.mathworks.com>...
> Dear MATLAB Central Community;
>
> The Spring MATLAB Programming Contest will start at noon, Boston time/16:00 UTC Wednesday April 13th and will run through noon, Boston time/16:00 UTC the following Wednesday April 20th.
>
> If you have not participated in any of our past contests, you can learn more by going to the contest website at http://www.mathworks.com/matlabcentral/contest/
>
> We look forward to seeing you online!
>
> Best,
> Helen Chen
> MATLAB Central Team

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Lindsay Coutinho

Date: 13 Apr, 2011 16:00:23

Message: 3 of 100

The contest is officially underway!

This season’s puzzle is a Crossword puzzle! You are an intern who has to use MATLAB to create this week’s puzzle for a daily newspaper. Go to http://www.mathworks.com/matlabcentral/contest/contests/32/rules to learn about the task your Editor has given you.

The contest will run from 16:00 UTC Wednesday April 13th through 16:00 UTC Wednesday April 20th. If you have questions about the contest, please post as a reply to this thread. Watch for announcements from the Contest team on our contest blog at http://blogs.mathworks.com/contest/.

Good Luck!
Lindsay and the Contest Team

"Helen Chen" <helen.chen@mathworks.com> wrote in message <io2f1h$nbu$1@fred.mathworks.com>...
> Are you ready for the spring contest? We kick-off the new contest at 16:00 UTC tomorrow April 13th, so you might want to get a good night sleep tonight! :-)
>
> See you at the contest tomorrow!
>
> Helen and the Contest Team

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: James White

Date: 13 Apr, 2011 23:27:05

Message: 4 of 100

I can't get the runcontest function to work.
The @(~,~) on lines 301, 314, and 316 is causing errors.

>> runcontest
??? Error: File: runcontest.m Line: 301 Column: 30
Unexpected MATLAB operator.

I'm using Matlab R2009a on Mac OSX.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: hareen kancharla

Date: 13 Apr, 2011 23:43:04

Message: 5 of 100

"James White" <wlj@stanford.edu> wrote in message <io5bg9$a6s$1@fred.mathworks.com>...
> I can't get the runcontest function to work.
> The @(~,~) on lines 301, 314, and 316 is causing errors.
>
> >> runcontest
> ??? Error: File: runcontest.m Line: 301 Column: 30
> Unexpected MATLAB operator.
>
> I'm using Matlab R2009a on Mac OSX.

Having the same problem. Error on running the runcontest function.

??? Error: File: runcontest.m Line: 301 Column: 30
Unexpected MATLAB operator.

Working with Matlab R2008a on Windows.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Michael Bindschadler

Date: 14 Apr, 2011 01:30:22

Message: 6 of 100

"James White" <wlj@stanford.edu> wrote in message <io5bg9$a6s$1@fred.mathworks.com>...
> I can't get the runcontest function to work.
> The @(~,~) on lines 301, 314, and 316 is causing errors.
>
> >> runcontest
> ??? Error: File: runcontest.m Line: 301 Column: 30
> Unexpected MATLAB operator.
>
> I'm using Matlab R2009a on Mac OSX.

I get the same error R2009a on Windows Vista.
It looks like the problem is a newer feature where you can use a ~ to indicate inputs or outputs that you want to ignore. If I get a chance, I'll figure out a workaround and post it here.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Michael Bindschadler

Date: 14 Apr, 2011 02:11:08

Message: 7 of 100

Yup, it looks like use of the ~ operator to ignore inputs or outputs was a new feature starting with R2009b.

I got mine running in R2009a as described below.
find and remove the @(~,~) everywhere it appears. I think there were three places.

All the places are uicontrol callbacks. The problem arises because at some point MATLAB started automatically including implicit 'source' and 'event' inputs in callbacks, in addition to any others supplied. The @(~,~) looks like it was introduced later to allow an easier way to ignore those inputs if you didn't need them. Anyway, R2009a is in the awkward in-between stage where the inputs are automatically supplied, but there's not really an easy way to ignore them. So, the following was my work-around:

Change the callback subfunction definitions of stopcb and zoomcb so that they have two inputs (it doesn't matter what they are called, since you'll never use them). That way you won't get an error when MATLAB sends them two inputs they aren't expecting.

Change the callback parameters in the uicontrol creation statements as follows:
line 314: 'Callback',{@uiresume_wrapper,fh});
line 316: 'Callback',{@stop_cb});

and add the following lines to the bottom of the function (after line 332)
function uiresume_wrapper(src,evt,fh)
% just call uiresume and drop first two inputs
uiresume(fh);
end


uiresume_wrapper just calls uiresume and ignores the first two inputs, a longwinded way of pulling the @(~,~) trick.

I hope that's clear enough for everyone, let me know if you need any clarification or are still getting errors.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Sheelvant

Date: 14 Apr, 2011 02:17:20

Message: 8 of 100

"Michael Bindschadler" wrote in message <io5ine$m9p$1@fred.mathworks.com>...
> "James White" <wlj@stanford.edu> wrote in message <io5bg9$a6s$1@fred.mathworks.com>...
> > I can't get the runcontest function to work.
> > The @(~,~) on lines 301, 314, and 316 is causing errors.
> >
> > >> runcontest
> > ??? Error: File: runcontest.m Line: 301 Column: 30
> > Unexpected MATLAB operator.
> >
> > I'm using Matlab R2009a on Mac OSX.
>
> I get the same error R2009a on Windows Vista.
> It looks like the problem is a newer feature where you can use a ~ to indicate inputs or outputs that you want to ignore. If I get a chance, I'll figure out a workaround and post it here.

Did you figure out a workaround? I am using a still older version, Matlab 7.2(R2006a) on Win XP. I too get the same error at line 301. Is there a different operator available in older versions to achieve the same purpose? If you could shed some light on what set(h,'ActionPostCallback',@(~,~)zoomcb) is supposed to do, maybe I can try some work around. Thanks.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Tom Grana

Date: 14 Apr, 2011 02:17:20

Message: 9 of 100

"James White" <wlj@stanford.edu> wrote in message <io5bg9$a6s$1@fred.mathworks.com>...
> I can't get the runcontest function to work.
> The @(~,~) on lines 301, 314, and 316 is causing errors.
>
> >> runcontest
> ??? Error: File: runcontest.m Line: 301 Column: 30
> Unexpected MATLAB operator.
>
> I'm using Matlab R2009a on Mac OSX.

Same here in R2008a.
I commented out those 3 lines.
Not sure what I left behind by doing so, but it runs for me.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Michael Bindschadler

Date: 14 Apr, 2011 02:30:08

Message: 10 of 100

"Tom Grana" wrote in message <io5lfg$i7c$1@fred.mathworks.com>...
> "James White" <wlj@stanford.edu> wrote in message <io5bg9$a6s$1@fred.mathworks.com>...
> > I can't get the runcontest function to work.
> > The @(~,~) on lines 301, 314, and 316 is causing errors.
> >
> > >> runcontest
> > ??? Error: File: runcontest.m Line: 301 Column: 30
> > Unexpected MATLAB operator.
> >
> > I'm using Matlab R2009a on Mac OSX.
>
> Same here in R2008a.
> I commented out those 3 lines.
> Not sure what I left behind by doing so, but it runs for me.

All 3 of those lines are related to the solution visualization option, so if you don't set flagVisualize in runcontest to 'true', you shouldn't run into any problems; the scoring and timing shouldn't be affected.

-Mike Bindschadler

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Sheelvant

Date: 14 Apr, 2011 02:50:24

Message: 11 of 100

"Michael Bindschadler" wrote in message <io5l3s$ov9$1@fred.mathworks.com>...
> Yup, it looks like use of the ~ operator to ignore inputs or outputs was a new feature starting with R2009b.
>
> I got mine running in R2009a as described below.
> find and remove the @(~,~) everywhere it appears. I think there were three places.
>
> All the places are uicontrol callbacks. The problem arises because at some point MATLAB started automatically including implicit 'source' and 'event' inputs in callbacks, in addition to any others supplied. The @(~,~) looks like it was introduced later to allow an easier way to ignore those inputs if you didn't need them. Anyway, R2009a is in the awkward in-between stage where the inputs are automatically supplied, but there's not really an easy way to ignore them. So, the following was my work-around:
>
> Change the callback subfunction definitions of stopcb and zoomcb so that they have two inputs (it doesn't matter what they are called, since you'll never use them). That way you won't get an error when MATLAB sends them two inputs they aren't expecting.
>
> Change the callback parameters in the uicontrol creation statements as follows:
> line 314: 'Callback',{@uiresume_wrapper,fh});
> line 316: 'Callback',{@stop_cb});
>
> and add the following lines to the bottom of the function (after line 332)
> function uiresume_wrapper(src,evt,fh)
> % just call uiresume and drop first two inputs
> uiresume(fh);
> end
>
>
> uiresume_wrapper just calls uiresume and ignores the first two inputs, a longwinded way of pulling the @(~,~) trick.
>
> I hope that's clear enough for everyone, let me know if you need any clarification or are still getting errors.

Cool solution. I've got a question though. Is this what you mean by changing the number of parameters for zoomcb and stopcb subfunctions:

at line 301: set(h,'ActionPostCallback',zoomcb);
at line 303:function zoomcb(dummy1,dummy2)

Please clarify. Thanks.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Michael Bindschadler

Date: 14 Apr, 2011 05:02:06

Message: 12 of 100


>
> Cool solution. I've got a question though. Is this what you mean by changing the number of parameters for zoomcb and stopcb subfunctions:
>
> at line 301: set(h,'ActionPostCallback',zoomcb);
> at line 303:function zoomcb(dummy1,dummy2)
>
> Please clarify. Thanks.

Yes, except I have 301 as: set(h,'ActionPostCallback',@zoomcb);

Without the @, MATLAB thinks you want to set whatever the RESULT of running zoomcb is as the callback. With the @, MATLAB knows you want the callback to RUN zoomcb.

-Mike

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Seth Popinchalk

Date: 14 Apr, 2011 11:04:05

Message: 13 of 100

"Michael Bindschadler" wrote in message <io5v4e$6de$1@fred.mathworks.com>...
>
> >
> > Cool solution. I've got a question though. Is this what you mean by changing the number of parameters for zoomcb and stopcb subfunctions:
> >
> > at line 301: set(h,'ActionPostCallback',zoomcb);
> > at line 303:function zoomcb(dummy1,dummy2)
> >
> > Please clarify. Thanks.
>
> Yes, except I have 301 as: set(h,'ActionPostCallback',@zoomcb);
>
> Without the @, MATLAB thinks you want to set whatever the RESULT of running zoomcb is as the callback. With the @, MATLAB knows you want the callback to RUN zoomcb.
>
> -Mike

Thank you Mike for helping solve this problem. I just want to confirm that Mikes analysis of the problem and proposed solution look like a suitable work around for releases earlier than R2009a.

Seth

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 14 Apr, 2011 12:23:05

Message: 14 of 100

I have a question - all my solvers Fail.
I think because they time out.
The time limit of 3 minutes is for solving all tests in the suite?
(How am I supposed to know how many tests there are...)

thanks!

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: the cyclist

Date: 14 Apr, 2011 12:58:05

Message: 15 of 100

"Oli" wrote in message <io6ov8$i42$1@fred.mathworks.com>...
> I have a question - all my solvers Fail.
> I think because they time out.
> The time limit of 3 minutes is for solving all tests in the suite?
> (How am I supposed to know how many tests there are...)
>
> thanks!

Yes, the time limit is for the entire suite.

Nothing is revealed about the contest suite until the contest is over, but generally the test suite that is given out is similar in most respects, including total number of boards to be solved.

When we enter twilight, you'll get definitive info on whether your entries are timing out, or failing for some other reason. One common reason for failing out during Darkness is that you are using one of the forbidden functions. See the "Fine Print" section of the rules.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 14 Apr, 2011 13:41:20

Message: 16 of 100

Thanks for the information! (actually it seems my entries were timing out)

Just another clarification:
if for example 'APPLE' and 'PEAR' a words in the dictionnary, and in my board there is, at some point:
APPLEPEAR

I understand that I get a penalty for this bogus word, but I get rid of the penalties associated with the words APPLE and PEAR (i.e., it is considered that I used them).

Is that right?

cheers!


> Yes, the time limit is for the entire suite.
>
> Nothing is revealed about the contest suite until the contest is over, but generally the test suite that is given out is similar in most respects, including total number of boards to be solved.
>
> When we enter twilight, you'll get definitive info on whether your entries are timing out, or failing for some other reason. One common reason for failing out during Darkness is that you are using one of the forbidden functions. See the "Fine Print" section of the rules.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: the cyclist

Date: 14 Apr, 2011 14:44:06

Message: 17 of 100

"Oli" wrote in message <io6ti0$knj$1@fred.mathworks.com>...

> Just another clarification:
> if for example 'APPLE' and 'PEAR' a words in the dictionnary, and in my board there is, at some point:
> APPLEPEAR
>
> I understand that I get a penalty for this bogus word, but I get rid of the penalties associated with the words APPLE and PEAR (i.e., it is considered that I used them).
>
> Is that right?

I doubt it. If that were right, then the scoring program would have to check every possible subset of letters you put down, like APP PPL PLE LEP .... APPL PPLE PLEP ... APPLE PPLEP ... (etc) to see if those words are in the dictionary. Or, it would have to search the entire dictionary against everyone position in the array.

I am quite sure that, instead, it just compares the "word" APPLEPEAR against the dictionary, and counts it as bogus (as you say), and does NOT find the words APPLE or PEAR.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: David_Hruska

Date: 14 Apr, 2011 14:49:32

Message: 18 of 100

> Just another clarification:
> if for example 'APPLE' and 'PEAR' a words in the dictionnary, and in my
> board there is, at some point:
> APPLEPEAR
>
> I understand that I get a penalty for this bogus word, but I get rid of
> the penalties associated with the words APPLE and PEAR (i.e., it is
> considered that I used them).
> Is that right?

You must separate individual words by spaces (zeros) to get credit for using
them. In your example, APPLEPEAR would be counted against you as a bogus
word and you would get no credit for using either APPLE or PEAR because
they do not appear as separate words.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: David_Hruska

Date: 14 Apr, 2011 18:45:17

Message: 19 of 100

"Seth Popinchalk" <Seth.Popinchalk.nospam@mathworks.com> wrote in message
news:io6kb5$kb4$1@fred.mathworks.com...
> "Michael Bindschadler" wrote in message
> <io5v4e$6de$1@fred.mathworks.com>...
>>
>> >
>> > Cool solution. I've got a question though. Is this what you mean by
>> > changing the number of parameters for zoomcb and stopcb subfunctions:
>> >
>> > at line 301: set(h,'ActionPostCallback',zoomcb);
>> > at line 303:function zoomcb(dummy1,dummy2)
>> >
>> > Please clarify. Thanks.
>>
>> Yes, except I have 301 as: set(h,'ActionPostCallback',@zoomcb);
>>
>> Without the @, MATLAB thinks you want to set whatever the RESULT of
>> running zoomcb is as the callback. With the @, MATLAB knows you want the
>> callback to RUN zoomcb.
>>
>> -Mike
>
> Thank you Mike for helping solve this problem. I just want to confirm
> that Mikes analysis of the problem and proposed solution look like a
> suitable work around for releases earlier than R2009a.
>
> Seth

Apologies for those who experienced trouble running the code. We have
modified the file on the File Exchange so that it will run on any release
from R2006b to present.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: EBS

Date: 14 Apr, 2011 20:18:05

Message: 20 of 100

"David_Hruska" <dhruska@mathworks.com> wrote in message <io7fbu$q7k$1@fred.mathworks.com>...
> "Seth Popinchalk" <Seth.Popinchalk.nospam@mathworks.com> wrote in message
> news:io6kb5$kb4$1@fred.mathworks.com...
(SNIP)
> >
> > Thank you Mike for helping solve this problem. I just want to confirm
> > that Mikes analysis of the problem and proposed solution look like a
> > suitable work around for releases earlier than R2009a.
> >
> > Seth
>
> Apologies for those who experienced trouble running the code. We have
> modified the file on the File Exchange so that it will run on any release
> from R2006b to present.

David, it seems that this same issue has happened most every contest that I can remember.

Could you guys add some sort of mistake-proofing mechanism or procedure so that it doesn't happen again? Seems like something that could easily be caught by running the contest code in a unit test through a BaT system, testing for backwards compatibility with R20XX ;)

Eric

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Gerbert Myburgh

Date: 15 Apr, 2011 06:42:03

Message: 21 of 100

Interesting problem.

I thought that my solution during darkness was so way out that I didn't even bother to submit. But it seems that I'm not so far behind the competition. See my entry Lobotomy.

And my solution is quite terrible. So it seems that unlike other contests, where the twilight and even some darkness entries gives elegant solutions, we have a ways to go.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 15 Apr, 2011 08:58:04

Message: 22 of 100

I think you're right...
I made a pretty nice solution in the darkness, and it scored very badly (about 300th now).
And I did an extremely unelegant solution (shapeshifter) that was ranked 8th in early twilight. It is also one of only 2 solutions in the top 50 that run in less than 1.5s.

But I'm sure the ones on top are better :)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 15 Apr, 2011 16:51:04

Message: 23 of 100

In case everybody else didn't notice, the contest team made a subtle, but significant change to the contest machinery that I lot of us have been advocating for: the queue is always in darkness.

As a result there won't be any last minute copy and resubmitting of codes at the deadlines like there often is.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: the cyclist

Date: 15 Apr, 2011 18:20:05

Message: 24 of 100

"Helen Chen" <helen.chen@mathworks.com> wrote in message <ilnp9k$l2h$1@fred.mathworks.com>...

> The Spring MATLAB Programming Contest will start ...

I was stunned by the sea of red when I used the visualization tool to look at the leading solutions. I'm guessing that is because letters that are part of bogus words are colored red, even though they are part of valid words. Is that right?

Someone (me?) should edit the visualization tool so that letters that are part of both valid and bogus words are colored differently.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: David_Hruska

Date: 15 Apr, 2011 18:38:20

Message: 25 of 100

> I was stunned by the sea of red when I used the visualization tool to look
> at the leading solutions. I'm guessing that is because letters that are
> part of bogus words are colored red, even though they are part of valid
> words. Is that right?

That's right.

> Someone (me?) should edit the visualization tool so that letters that are
> part of both valid and bogus words are colored differently.

We played around with a few different visualization schemes that used more
colors, but decided to go with the current black / white / red view for
simplicity. You're certainly welcome to modify the visualization code if
you'd prefer to see something with more colors.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: David Smith

Date: 15 Apr, 2011 21:23:04

Message: 26 of 100

"Gerbert Myburgh" <gmyburgh@webmail.co.za> wrote in message <io8pbr$mf8$1@fred.mathworks.com>...
> Interesting problem.
>
> I thought that my solution during darkness was so way out that I didn't even bother to submit. But it seems that I'm not so far behind the competition. See my entry Lobotomy.
>
> And my solution is quite terrible. So it seems that unlike other contests, where the twilight and even some darkness entries gives elegant solutions, we have a ways to go.

I'm a little surprised by the form of the solutions. They aren't exactly *crosswords*. Is the scoring on this contest really that broken? :(

I hope to submit something that gets a decent score without listing the words horizontally, sorted by length. Right now my best score with an actual crossword is something like 25% worse than the top submission and too slow to beat the time limit.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Michael Bindschadler

Date: 15 Apr, 2011 22:24:04

Message: 27 of 100

"David Smith" wrote in message
>
> I'm a little surprised by the form of the solutions. They aren't exactly *crosswords*. Is the scoring on this contest really that broken? :(
>
> I hope to submit something that gets a decent score without listing the words horizontally, sorted by length. Right now my best score with an actual crossword is something like 25% worse than the top submission and too slow to beat the time limit.

Well, on the one hand, the scoring is exactly as described in the contest rules, so they reward what they reward, and the scoring isn't 'broken' in that sense. On the other hand, what they reward isn't particularly geared towards building things that look like actual crosswords, so in that sense it could be considered 'broken.' One way to fix that would be to assign a scoring bonus for each intersection of a valid horizontal word and a valid vertical word. A more radical solution would be to require that, to be scored, a word has to be part of a tree of interconnected valid words, so standalone words just don't count. As the scoring stands, there seems to be very little incentive to connect words together. It's much easier to optimize the selection and layout of unconnected words.

-Mike

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Darren Rowland

Date: 16 Apr, 2011 01:29:04

Message: 28 of 100

"David Smith" wrote
> I'm a little surprised by the form of the solutions. They aren't exactly *crosswords*. Is the scoring on this contest really that broken? :(

The scoring system is interesting in that the length of bogus words does not factor in. So it's advantageous to make long invalid words rather than short ones.

Also, in some of the test suite examples, all of the dictionary words have the same length as the board size. You might then end up with an optimal solution which is a full board with no blank spaces, not like a real crossword at all.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 16 Apr, 2011 08:53:04

Message: 29 of 100

I cannot run the test suite or most entries because of my old version of matlab.
But I noticed that a script of mine that just stacked the most possible small words was performing greatly.

It seems the best entries typically try a couple of quick stacking algorithms and chose the best solution.

The thing is that the penalty is in average slightly less than the average weight (in many boards of the 'local' test suite, it is exactly equal).
It is not enough to give an incentive to create a real crossword; it would if it was much higher.

As the previous poster said, the problem is also that the penalty doesnt depend on the bogus word length. So once you've created a bogus word, you try to stack as many words on top as they come 'free of penalty'.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 16 Apr, 2011 08:55:05

Message: 30 of 100

> Also, in some of the test suite examples, all of the dictionary words have the same length as the board size. You might then end up with an optimal solution which is a full board with no blank spaces, not like a real crossword at all.

actually in those boards, when the penalty is equal to the weight of one word (which is often the case), it is better to skip lines, and put one word every other line.
By doing so, you earn n/2 weights but lose n penalties, so unless the penalty is twice the average weight, it's worth it :)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 16 Apr, 2011 09:16:04

Message: 31 of 100

> so unless the penalty is twice the average weight, it's worth it :)

I meant *half* (or less)
not 'twice'

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 16 Apr, 2011 10:21:04

Message: 32 of 100

it's a pity that a script that generates grids like that:
http://k.min.us/imZlM6.PNG

is far far far behind a script that makes that:
http://k.min.us/imZutc.PNG

I was looking forward to see amazing beautiful grids made by genius scripts :)
Still, the winning algos are very smart and I couldnt have come up with them.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 16 Apr, 2011 21:06:05

Message: 33 of 100

An interesting 'sub contest' the team might consider running is a 'Penalty Free Player' contest, that rewards the best solver that doesn't generate any boards with bogus words. It'd require only a small modification to the runcontest function to track the number of bogus words.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 16 Apr, 2011 22:13:04

Message: 34 of 100

I just made an interesting observation that reinforces the rules are skewed away from a true crossword type solution:

An all zero board solver yields a result of 11,139,966. That is the sum of the weights of all the words for all the board.

A board solver that puts in random numbers yields a result of 12,041,504. That indicates that the sum of 2*n*penalty for all boards (since there will only be 1 bogus word per row and 1 per column in such a board) is 901,538

This is only about 8% of the total weight of the words, and is a reasonable indicator for the average bogus word sum we see in these boards (some have more, some have less).

The current best solver is getting a score of 6,934,895, which includes bogus word penalties. This is 62% of the zero board score, which probably indicates that we aren't fitting about 54% of the words on the boards, with about another 8% penalty added on for bogus words.

Thus the rules really are setup to encourage increasing the number of words we place on the board at the expense of more bogus words.

As a side note, I think the max result is equal to 36,250,504. Which is from making every board a checkboard pattern of wrong digits. This indicates that the sum of penalty*n*n for all board is 25,110,538.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Amitabh Verma

Date: 16 Apr, 2011 23:05:20

Message: 35 of 100

There might be a bug on the Stats page.

For some reason the entry "Simple Simply !"
http://www.mathworks.com/matlabcentral/contest/contests/32/submissions/61880 does not show up on the Stats page even though it was in the lead for a few minutes.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Nicholas Howe

Date: 17 Apr, 2011 01:32:02

Message: 36 of 100

"Oli" wrote in message <iobqig$rlg$1@fred.mathworks.com>...
> it's a pity that a script that generates grids like that:
> http://k.min.us/imZlM6.PNG
>
> is far far far behind a script that makes that:
> http://k.min.us/imZutc.PNG
>
> I was looking forward to see amazing beautiful grids made by genius scripts :)
> Still, the winning algos are very smart and I couldnt have come up with them.

I like your "realistic" solver, Oli.

Besides the scoring parameters, it also seems like most boards with short words don't have sets of words that can make densely filled grids. (Or maybe my code that searches for them is broken.) If they did, then it would still pay to make a real crossword because you can fit words twice as densely when they cross. That's the advantage of Victoria's clever approach.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 17 Apr, 2011 01:48:04

Message: 37 of 100

> I like your "realistic" solver, Oli.
>
> Besides the scoring parameters, it also seems like most boards with short words don't have sets of words that can make densely filled grids. (Or maybe my code that searches for them is broken.) If they did, then it would still pay to make a real crossword because you can fit words twice as densely when they cross. That's the advantage of Victoria's clever approach.

Thanks :) It is not very clever, what it does is take each word in turn (by decreasing weight/length) and basically scans for any possibility of crossing it. Which is very slow for long words.... the outcome looks good, but neither the result nor the time do.

Anyway. your solver is so far the best, Nick (with the local test suite, it bests the other alternatives in more than 50% cases :))
(A bit slow though!)

respect to anyone who wrote the solver used in currently leading solutions :)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Nicholas Howe

Date: 17 Apr, 2011 04:00:21

Message: 38 of 100

"Oli" wrote in message <iodgsk$t4j$1@fred.mathworks.com>...
> (A bit slow though!)

Nearly all the slowness comes on the small subset of boards where it attempts to find a full solution. The others go quickly enough. :-)

Incidentally, speaking of slowness I rewrote the visualization code in the contest machinery to make it faster. If you want to try it, put the following inside runcontest just before the section labeled "Draw the grid." Then comment out the section "Mark bogus word squares in red" and the part of the following section that fills in the black squares. The single call to image is apparently much faster than all the patch calls.

% Create board image
bimg = ones(boardSize);
bimg([bogus.locations{:}]) = 2;
bimg(board==0) = 0;
bimg = bimg+1;
image(bimg);
colormap([0 0 0; 1 1 1; 1 0 0]);
axis image off;
hold on;

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: lcome

Date: 17 Apr, 2011 11:20:08

Message: 39 of 100

"Alan Chalker" wrote:
> An interesting 'sub contest' the team might consider running is a 'Penalty Free Player' contest,
> that rewards the best solver that doesn't generate any boards with bogus words.
> It'd require only a small modification to the runcontest function to track the number of bogus words.

This 'Penalty Free sub-contest' might be very interesting (for cross-word algo), and I encourage to do it.
Technically speaking, increasing penalty by x1000 can also do the trick.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 17 Apr, 2011 11:47:04

Message: 40 of 100

"lcome" wrote in message <ioeid8$1ud$1@fred.mathworks.com>...
> "Alan Chalker" wrote:
> > An interesting 'sub contest' the team might consider running is a 'Penalty Free Player' contest,
> > that rewards the best solver that doesn't generate any boards with bogus words.
> > It'd require only a small modification to the runcontest function to track the number of bogus words.
>
> This 'Penalty Free sub-contest' might be very interesting (for cross-word algo), and I encourage to do it.
> Technically speaking, increasing penalty by x1000 can also do the trick.

yes that would be very nice and bring up interesting results!

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 17 Apr, 2011 14:03:05

Message: 41 of 100

@Nick, I just realized what your solver (solver_nick_1 in the current winning solution) does.
It is only used for grids where the words all have the length n (about I third of the boards I think), but I'm amazed at how it crosses the words!

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Helen Chen

Date: 17 Apr, 2011 15:43:04

Message: 42 of 100

If you haven't been following the contest blog, a haiku contest has sprung up in the comments to Ned's blog post at http://blogs.mathworks.com/contest/2011/04/15/saturday-leap-and-sunday-push/ .

Ned will pick the winning poetry on Monday.

Helen

"Lindsay Coutinho" wrote in message <io4han$f47$1@fred.mathworks.com>...
> The contest is officially underway!
>
> This season’s puzzle is a Crossword puzzle! You are an intern who has to use MATLAB to create this week’s puzzle for a daily newspaper. Go to http://www.mathworks.com/matlabcentral/contest/contests/32/rules to learn about the task your Editor has given you.
>

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Helen Chen

Date: 17 Apr, 2011 15:45:20

Message: 43 of 100

Thanks for letting us know Amitabh. I will follow-up on this
Monday when the engineers are in. We will let you know what we find.

Helen

"Amitabh Verma" wrote in message <iod7bg$omm$1@fred.mathworks.com>...
> There might be a bug on the Stats page.
>
> For some reason the entry "Simple Simply !"
> http://www.mathworks.com/matlabcentral/contest/contests/32/submissions/61880 does not show up on the Stats page even though it was in the lead for a few minutes.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Amitabh Verma

Date: 18 Apr, 2011 00:14:04

Message: 44 of 100

Thanks Helen.

Will we be having the 1000 node sub-contest or as Alan suggested a 'Penalty Free Player' contest before the Wed. finish ?



"Helen Chen" <helen.chen@mathworks.com> wrote in message <iof1ug$1dn$1@fred.mathworks.com>...
> Thanks for letting us know Amitabh. I will follow-up on this
> Monday when the engineers are in. We will let you know what we find.
>
> Helen
>
> "Amitabh Verma" wrote in message <iod7bg$omm$1@fred.mathworks.com>...
> > There might be a bug on the Stats page.
> >
> > For some reason the entry "Simple Simply !"
> > http://www.mathworks.com/matlabcentral/contest/contests/32/submissions/61880 does not show up on the Stats page even though it was in the lead for a few minutes.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: the cyclist

Date: 18 Apr, 2011 13:10:20

Message: 45 of 100

"Helen Chen" <helen.chen@mathworks.com> wrote in message <ilnp9k$l2h$1@fred.mathworks.com>...
> Dear MATLAB Central Community;
>
> The Spring MATLAB Programming Contest will start at noon ...

So, some randomness finally entering the contest! I can't remember the last time it took this long.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: the cyclist

Date: 18 Apr, 2011 14:08:22

Message: 46 of 100

"the cyclist" wrote in message <iohd7s$onf$1@fred.mathworks.com>...
> "Helen Chen" <helen.chen@mathworks.com> wrote in message <ilnp9k$l2h$1@fred.mathworks.com>...
> > Dear MATLAB Central Community;
> >
> > The Spring MATLAB Programming Contest will start at noon ...
>
> So, some randomness finally entering the contest! I can't remember the last time it took this long.

Are "rng" and other RNG seed-setting options banned now? I have no problem with that (and think it's a good thing!), but it ought to be in the rules if so.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: the cyclist

Date: 18 Apr, 2011 15:04:05

Message: 47 of 100

"the cyclist" wrote in message <iohgkl$l1c$1@ginger.mathworks.com>...
> "the cyclist" wrote in message <iohd7s$onf$1@fred.mathworks.com>...
> > "Helen Chen" <helen.chen@mathworks.com> wrote in message <ilnp9k$l2h$1@fred.mathworks.com>...
> > > Dear MATLAB Central Community;
> > >
> > > The Spring MATLAB Programming Contest will start at noon ...
> >
> > So, some randomness finally entering the contest! I can't remember the last time it took this long.
>
> Are "rng" and other RNG seed-setting options banned now? I have no problem with that (and think it's a good thing!), but it ought to be in the rules if so.

Noticing that "rand()" has appeared in some successful entries. Wondering if maybe you are not actually using R2011a, which introduced the rng() function.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 18 Apr, 2011 15:36:06

Message: 48 of 100

it took me a while to realize, but I guess no entry is really random;
I mean I assume that the seed is initialize by the test suite, so a given entry is deterministic, in the sense that every time it runs it produces the exact same result.

rand() can be used to tweak the seed :)

randperm is used to take some words at random when there are too many. It seemed like a stupid idea but I tried and it seemed to work...

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: the cyclist

Date: 18 Apr, 2011 15:50:20

Message: 49 of 100

"Oli" wrote in message <iohlp6$b15$1@ginger.mathworks.com>...
> it took me a while to realize, but I guess no entry is really random;
> I mean I assume that the seed is initialize by the test suite, so a given entry is deterministic, in the sense that every time it runs it produces the exact same result.
>
> rand() can be used to tweak the seed :)
>
> randperm is used to take some words at random when there are too many. It seemed like a stupid idea but I tried and it seemed to work...

Yes, and this sort of thing is well established from past contests, which have always found "magic" random sequences that just happen to work well with the contest suite.

However, separate from this is the oddness that rng() cannot be used, while rand() can. This is what makes me suspect that the contest machinery is not actually using R2011a.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 18 Apr, 2011 16:39:06

Message: 50 of 100

> This is what makes me suspect that the contest machinery is not actually using R2011a.

They run R2010B , by the look of it :)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 18 Apr, 2011 16:40:23

Message: 51 of 100

"the cyclist" wrote in message <iohmjs$dla$1@ginger.mathworks.com>...
This is what makes me suspect that the contest machinery is not actually using R2011a.


I just submitted a series of codes ('VerCheckX'), that verifies this fact. The contest is running R2010b.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: the cyclist

Date: 18 Apr, 2011 22:20:05

Message: 52 of 100

"Helen Chen" <helen.chen@mathworks.com> wrote in message <ilnp9k$l2h$1@fred.mathworks.com>...
> Dear MATLAB Central Community;
>
> The Spring MATLAB Programming Contest will start ...

Maybe I am bleary-eyed, but the top three submissions:

-- RandFun10, by Alan Chalker
-- ?, by Alex P.
-- Something is rot90 in Denmark, by the cyclist

seem out of order. They get the same result, but the faster ones are ranked worse.

I haven't directly checked the cyclomatic complexity, but Alex P.'s code is identical except for the value of one parameter, so I would think it is identical. And I think the complexity of my code may be lower, because I use one function instead of two a certain spot.

I'm eager for someone to enlighten me!

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 18 Apr, 2011 22:33:04

Message: 53 of 100

"the cyclist" wrote in message <ioidel$9q5$1@fred.mathworks.com>...

>
> Maybe I am bleary-eyed, but the top three submissions:
>
> -- RandFun10, by Alan Chalker
> -- ?, by Alex P.
> -- Something is rot90 in Denmark, by the cyclist
>
> seem out of order. They get the same result, but the faster ones are ranked worse.
>
> I haven't directly checked the cyclomatic complexity, but Alex P.'s code is identical except for the value of one parameter, so I would think it is identical. And I think the complexity of my code may be lower, because I use one function instead of two a certain spot.
>
> I'm eager for someone to enlighten me!

In the past we've occasionally had weird things like this, and it was indicated that the problem was due to the submissions page not showing all the decimal places of the calculations. That said, if you look at the statistics page, you'll see that it lists Alex's entry as beating mine.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 19 Apr, 2011 01:55:04

Message: 54 of 100


> "the cyclist" wrote in message <ioidel$9q5$1@fred.mathworks.com>...
>
> >
> > Maybe I am bleary-eyed, but the top three submissions:
> >
> > -- RandFun10, by Alan Chalker
> > -- ?, by Alex P.
> > -- Something is rot90 in Denmark, by the cyclist
> >
> > seem out of order. They get the same result, but the faster ones are ranked worse.
> >
> > I haven't directly checked the cyclomatic complexity, but Alex P.'s code is identical except for the value of one parameter, so I would think it is identical. And I think the complexity of my code may be lower, because I use one function instead of two a certain spot.
> >
 And it appears the same issue is happening on the 100 node challenge list on the statistics page now. Here are the current top 2:

score result time date length title, author
#1 17976.40 7189406 6.03 Mon 23:03 895 N1000- sorted2, Amitabh Verma
#2 17976.40 7189406 5.88 Tue 00:26 893 KNodes11, Alan Chalker

Both entries have the same cyc and result, but the 2nd one has less time and less nodes, so should be ranked higher.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Amitabh Verma

Date: 19 Apr, 2011 03:56:05

Message: 55 of 100

Something is definitely off..

The Stats page shows "bad seed < double" as the leader under All the Leaders
99 Albert bad seed Tue 02:00 0.02% 0.98
100 Albert bad seed < double Tue 02:59 0.00% -3.32

but the main page shows "bad seed < double" as 2nd..
Apr 19 02:00 1 bad seed Albert 6899971 48.874 17255.4
Apr 19 02:59 2 bad seed < double Albert 6899971 47.022 17255.4




"Alan Chalker" wrote in message <ioiq1o$oe1$1@fred.mathworks.com>...
>
> > "the cyclist" wrote in message <ioidel$9q5$1@fred.mathworks.com>...
> >
> > >
> > > Maybe I am bleary-eyed, but the top three submissions:
> > >
> > > -- RandFun10, by Alan Chalker
> > > -- ?, by Alex P.
> > > -- Something is rot90 in Denmark, by the cyclist
> > >
> > > seem out of order. They get the same result, but the faster ones are ranked worse.
> > >
> > > I haven't directly checked the cyclomatic complexity, but Alex P.'s code is identical except for the value of one parameter, so I would think it is identical. And I think the complexity of my code may be lower, because I use one function instead of two a certain spot.
> > >
> And it appears the same issue is happening on the 100 node challenge list on the statistics page now. Here are the current top 2:
>
> score result time date length title, author
> #1 17976.40 7189406 6.03 Mon 23:03 895 N1000- sorted2, Amitabh Verma
> #2 17976.40 7189406 5.88 Tue 00:26 893 KNodes11, Alan Chalker
>
> Both entries have the same cyc and result, but the 2nd one has less time and less nodes, so should be ranked higher.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Santosh Kasula

Date: 19 Apr, 2011 13:30:21

Message: 56 of 100

Amitabh and Alan.

Thank you for letting us know. There is a bug in the way the code figures out the rank when both entries have the same score. We will fix it before the next contest.

-Santosh
"Amitabh Verma" wrote in message <ioj14l$dqu$1@fred.mathworks.com>...
> Something is definitely off..
>
> The Stats page shows "bad seed < double" as the leader under All the Leaders
> 99 Albert bad seed Tue 02:00 0.02% 0.98
> 100 Albert bad seed < double Tue 02:59 0.00% -3.32
>
> but the main page shows "bad seed < double" as 2nd..
> Apr 19 02:00 1 bad seed Albert 6899971 48.874 17255.4
> Apr 19 02:59 2 bad seed < double Albert 6899971 47.022 17255.4
>
>
>
>
> "Alan Chalker" wrote in message <ioiq1o$oe1$1@fred.mathworks.com>...
> >
> > > "the cyclist" wrote in message <ioidel$9q5$1@fred.mathworks.com>...
> > >
> > > >
> > > > Maybe I am bleary-eyed, but the top three submissions:
> > > >
> > > > -- RandFun10, by Alan Chalker
> > > > -- ?, by Alex P.
> > > > -- Something is rot90 in Denmark, by the cyclist
> > > >
> > > > seem out of order. They get the same result, but the faster ones are ranked worse.
> > > >
> > > > I haven't directly checked the cyclomatic complexity, but Alex P.'s code is identical except for the value of one parameter, so I would think it is identical. And I think the complexity of my code may be lower, because I use one function instead of two a certain spot.
> > > >
> > And it appears the same issue is happening on the 100 node challenge list on the statistics page now. Here are the current top 2:
> >
> > score result time date length title, author
> > #1 17976.40 7189406 6.03 Mon 23:03 895 N1000- sorted2, Amitabh Verma
> > #2 17976.40 7189406 5.88 Tue 00:26 893 KNodes11, Alan Chalker
> >
> > Both entries have the same cyc and result, but the 2nd one has less time and less nodes, so should be ranked higher.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Lindsay Coutinho

Date: 19 Apr, 2011 14:35:21

Message: 57 of 100

We’re in the home stretch – only one day left in the Crossword Puzzle Contest! Join us in three mini contests between now and the end: http://www.mathworks.com/matlabcentral/contest/contests/32 .

Best,
Lindsay and the Contest Team

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Helen Chen

Date: 19 Apr, 2011 18:07:05

Message: 58 of 100

Psssst! Want to hear what Ned's been thinking about the contest? You can find out by reading his Crossword Contest Analysis at http://www.mathworks.com/matlabcentral/contest_static/crossword/contest_analysis.html .

Enjoy!
Helen

"Lindsay Coutinho" wrote in message <iok6j9$8h7$1@fred.mathworks.com>...
> We’re in the home stretch – only one day left in the Crossword Puzzle Contest! Join us in three mini contests between now and the end: http://www.mathworks.com/matlabcentral/contest/contests/32 .
>
> Best,
> Lindsay and the Contest Team

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Volkan

Date: 20 Apr, 2011 08:44:04

Message: 59 of 100

Okay, here is the deal about the current leader, 'Baby steps'. It is recursive, works fine in sample testsuite, but my first submission http://www.mathworks.com/matlabcentral/contest/contests/32/submissions/63095
timed out in the actual testsuite. So I had to tweak it down to work on a smaller number of puzzles.

Just letting you know, if anyone wants to have a look at it.

Volkan

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 20 Apr, 2011 10:15:05

Message: 60 of 100

"Volkan" <volkan@buyukgungor.gmail.com> wrote in message <iom6ck$qe4$1@fred.mathworks.com>...
> Okay, here is the deal about the current leader, 'Baby steps'. It is recursive, works fine in sample testsuite, but my first submission http://www.mathworks.com/matlabcentral/contest/contests/32/submissions/63095
> timed out in the actual testsuite. So I had to tweak it down to work on a smaller number of puzzles.
>
> Just letting you know, if anyone wants to have a look at it.
>
> Volkan

I was hoping to see a completely different approach that wasn't branched from the mainstream, but it seems it's not. Actually I haven't seen the trick yet, you modified the solvers didn't you?

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 20 Apr, 2011 10:17:20

Message: 61 of 100

never mind I hadn't seen 'solver_volkan' :)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 20 Apr, 2011 16:05:22

Message: 62 of 100

Now that it's just a waiting game to see who will be the winner, I'd like to thank the contest team at The MathWorks for yet another great experience. The small changes to the contest this time such as the dark queue, contest clock/timer and additional mini-contests had a very positive impact on the overall event. And I'm glad to see so many new faces participate. Hope to see everyone again in the fall!

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: the cyclist

Date: 20 Apr, 2011 16:05:23

Message: 63 of 100

"Helen Chen" <helen.chen@mathworks.com> wrote in message <ilnp9k$l2h$1@fred.mathworks.com>...
> Dear MATLAB Central Community;
>
> The Spring MATLAB Programming Contest will start ...

Well, it's all over except for tensely watching the queue empty. Good luck, everyone!

I'd be curious what folks injected in their final entries. For my "Howling Fantods" series, the main improvement boils down to noticing that the computationally expensive calculation of m{} in solver_nick_1, which runs over the vector n=1:N, only needs to run over 1:2:N. With that and a couple other time tweaks, I can cut about 6 seconds off the test suite execution, while maintaining the same result (and lowering node count).

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Volkan

Date: 20 Apr, 2011 16:33:04

Message: 64 of 100

"the cyclist" wrote in message <ion083$nuq$1@fred.mathworks.com>...
> Well, it's all over except for tensely watching the queue empty. Good luck, everyone!
>
> I'd be curious what folks injected in their final entries. For my "Howling Fantods" series, the main improvement boils down to noticing that the computationally expensive calculation of m{} in solver_nick_1, which runs over the vector n=1:N, only needs to run over 1:2:N. With that and a couple other time tweaks, I can cut about 6 seconds off the test suite execution, while maintaining the same result (and lowering node count).

Thanks for all the fun, even though I could only participate in the last two days.

My last minute modification in "Resolution" series is an additional search space reduction which doesn't really effect the boards solver_volkan solves so far. I'm just hoping there are slightly harder boards in the testsuite, scores from which will justify the additional time penalty.

I have absolutely no idea what the other solvers do, let alone how to improve them. My late participation forced me to concentrate on something specific, which ended up to be searching for perfect solutions for nice regular boards.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Amitabh Verma

Date: 20 Apr, 2011 16:57:20

Message: 65 of 100

Thanks to the contest team. It was great fun participating. And now the interesting part begins with entries from the Dark :)

No major modifications on my side, just tweaks/mash-ups/randomness here and there.

Good Luck to all.


"Volkan" <volkan@buyukgungor.gmail.com> wrote in message <ion1s0$llo$1@fred.mathworks.com>...
> "the cyclist" wrote in message <ion083$nuq$1@fred.mathworks.com>...
> > Well, it's all over except for tensely watching the queue empty. Good luck, everyone!
> >
> > I'd be curious what folks injected in their final entries. For my "Howling Fantods" series, the main improvement boils down to noticing that the computationally expensive calculation of m{} in solver_nick_1, which runs over the vector n=1:N, only needs to run over 1:2:N. With that and a couple other time tweaks, I can cut about 6 seconds off the test suite execution, while maintaining the same result (and lowering node count).
>
> Thanks for all the fun, even though I could only participate in the last two days.
>
> My last minute modification in "Resolution" series is an additional search space reduction which doesn't really effect the boards solver_volkan solves so far. I'm just hoping there are slightly harder boards in the testsuite, scores from which will justify the additional time penalty.
>
> I have absolutely no idea what the other solvers do, let alone how to improve them. My late participation forced me to concentrate on something specific, which ended up to be searching for perfect solutions for nice regular boards.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Sergey Y.

Date: 20 Apr, 2011 17:43:04

Message: 66 of 100

"the cyclist" wrote in message <ion083$nuq$1@fred.mathworks.com>...
> I'd be curious what folks injected in their final entries.

Many thanks to the contest team. New format (especially queue darkness) is a big improvement.

I tried to introduce three modifications:

1. When we repeat solver_james1 with random number we do not need to repeat complete function we need to repeat only part that looks for 2x2s and then chose the best (probably ~1sec time cut)

2. Additional optimization of word inserting in empty spaces in james1. For example, it last row is empty and row before it completely full (can not insert any words) then we have to shift blocks and create larger gap somewhere in the middle (hoping for ~4000 result gain)

3. Couple more abandoned solver added (hoping for ~3000-5000 gain at cost of 5sec)


Did not have time to implement most interesting idea:

Run james1, take number of words on the board, add some additional words and run james1 again but in opposite order (longest first). Looks like we can fit more words that way (words at the end will be short words, which are easy to squeeze into empty gaps.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Sergey Y.

Date: 20 Apr, 2011 18:11:05

Message: 67 of 100

"Sergey Y." wrote in message <ion5v8$4bj$1@fred.mathworks.com>...
> "the cyclist" wrote in message <ion083$nuq$1@fred.mathworks.com>...
> > I'd be curious what folks injected in their final entries.
>
> Many thanks to the contest team. New format (especially queue darkness) is a big improvement.
>
> I tried to introduce three modifications:
>
> 1. When we repeat solver_james1 with random number we do not need to repeat complete function we need to repeat only part that looks for 2x2s and then chose the best (probably ~1sec time cut)
>
> 2. Additional optimization of word inserting in empty spaces in james1. For example, it last row is empty and row before it completely full (can not insert any words) then we have to shift blocks and create larger gap somewhere in the middle (hoping for ~4000 result gain)
>
> 3. Couple more abandoned solver added (hoping for ~3000-5000 gain at cost of 5sec)
>
>
> Did not have time to implement most interesting idea:
>
> Run james1, take number of words on the board, add some additional words and run james1 again but in opposite order (longest first). Looks like we can fit more words that way (words at the end will be short words, which are easy to squeeze into empty gaps.

Looks like gain is smaller and time cost is bigger :(

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 20 Apr, 2011 18:13:05

Message: 68 of 100

Good ideas!!


> Run james1, take number of words on the board, add some additional words and run james1 again but in opposite order (longest first). Looks like we can fit more words that way (words at the end will be short words, which are easy to squeeze into empty gaps.

Your last idea is something I used in an NBW entry, modified from The Cyclists' :) The only problem is the 'some' additional words: too much is too much and not enough is not enough.
(Because my solver was very rudimentary, I went another way: I calculated how many words I could fit if everything fitted perfectly, starting with smaller words; once I knew the set of words I could fit, I ran them again but by decreasing size. It worked quite well).

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Nicholas Howe

Date: 20 Apr, 2011 18:47:05

Message: 69 of 100

"the cyclist" wrote in message <ion083$nuq$1@fred.mathworks.com>...
> Well, it's all over except for tensely watching the queue empty. Good luck, everyone!
>
> I'd be curious what folks injected in their final entries.

I had a completely dark code line that I had developed for the NBW contest, but never published because like Albert I didn't notice the deadline until it was too late. This error may have helped me in the end, because I could continue to develop in stealth mode. I was able to combine my own work with Albert's code to make an even better NBW solver. (I submitted these near the end with an NBW tag, so you can search for them if you're curious about the development.)

With Albert's code thrown in, I had a novel solver that was actually competitive with the leader on about a dozen boards. So my basic strategy was to throw it into the mix along with the other solvers, and let it improve the score where it could. I was worried about the time penalty, though: if the improvements were modest they could be swamped in the score by the increased time required for my solver to run. So I was looking for other options.

I realized that Albert's code had a lot of applications. If you look at the solutions his programs produce, they are very densely populated on the left-hand side where he exploits the two letter words. The density falls off a lot on the right-hand side as the words get longer. My strategy for combining Albert's code with others was to use it to fill the left-hand side densely, and then switch to another method for the remainder of the board. That's what I did with my Lattice code. But I realized that the same trick could be applied to James' solver, replacing the grid of 2x2 squares with the more-dense stairsteps from Albert. That leaves slightly more room for the remaining words, and also runs a bit faster because the press2 routine in James' original is somewhat slow and is not used by Albert's. So my most mature solution computes a partial fill using Albert's method, and them
tries several alternatives for filling the right-hand size, including my own lattice code and James' routine. Because I was worried about computation time, I took out the parts that computed the original grid of squares, hoping that it wouldn't hurt me. As a final hedge, I put those back in my Kitchen Sink entry, which tries every solver I had at my disposal, but in the rush to get it in I did not debug properly and the submitted version doesn't work right. With the fix, Kitchen Sink is my best solver on the sample test suite. It gets under 6M on that one -- is that good enough for the 6M prize, Ned? ;-)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: lcome

Date: 20 Apr, 2011 18:58:05

Message: 70 of 100

A small improvement suggestion for the contest team:
Syntax highlighting when reading submission code online.
Thanks for the fun.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 20 Apr, 2011 19:38:04

Message: 71 of 100

An approach I tried to develop is the following -
I assumed some solvers are better suited for puzzles with many words, or with onle N-sized words, or with a variety of weights, etc.
So I wondered if I could predict which solver was best by only looking at the characterstics of the board.
So I looked at which solver was best for each board in the sample test suite, and tried to relate that with about 20 variables describing the boards. It wasn't very successful, but that maybe because I'm not very good at multivariate analysis :D
A few elements were added based on that, though, and remained for a while. I think the 'if min(lengths) == N' in the leading entry is a remaining of that.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 20 Apr, 2011 20:09:06

Message: 72 of 100

"lcome" wrote in message <ionabt$kgk$1@fred.mathworks.com>...
> A small improvement suggestion for the contest team:
> Syntax highlighting when reading submission code online.
> Thanks for the fun.

That would be really cool if they could implement it. The MATLAB editor does a very nice job of it, so I wonder how hard it would be to develop a small javascript to parse the code and highlight it the same way.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Amitabh Verma

Date: 20 Apr, 2011 21:04:04

Message: 73 of 100

Well the contest is over (almost) and there might be a few like me wishing there was more. Well I did have a couple of suggestions for now.

1. I don't know whats the history behind Wed-Wed but if its could be Fri-Sun or even Fri-Fri. I believe it would be much better. The first 2 days in my opinion require most of the work when competitive theories emerge. I don't know how the guys do it but taking out time in the middle of the week, kudos to them all. Maybe the weekend might get more people involved at this stage.

Leap/Push which strategically is the time when one combines different approaches should do fine even if it was Mon/Tues followed by the mini contests that keeps bringing out smaller but vital innovations.

Of course, if extended till a Sunday would actually give 2 weekends of time. I guess the participants should echo here if they agree. I can already hear the boo's from the wives ;)

2. A Show Difference (Enable/Disable) option on the cloning page. A few of us including me in our tactic for leap/push like to hide tweaks at times which becomes very obvious with the Difference highlighter when cloned. Maybe this way a better clan-chain can be maintained.

3. An Ajax updater or similar real-time updater for the leader would be a nice addition like the clock. You have no idea how many times we simply refresh just to know who's the current Leader.

Congrats to the winners and the participants for making it fun.

Well thanks again. See you all in Fall.

Regards,
Amitabh

PS: Can you keep the 6 Million contest open till Fall :)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 20 Apr, 2011 21:56:05

Message: 74 of 100

"Amitabh Verma" wrote in message <ionho4$dp$1@fred.mathworks.com>...
> Well the contest is over (almost) and there might be a few like me wishing there was more. Well I did have a couple of suggestions for now.
>
> 1. I don't know whats the history behind Wed-Wed but if its could be Fri-Sun or even Fri-Fri. I believe it would be much better. The first 2 days in my opinion require most of the work when competitive theories emerge. I don't know how the guys do it but taking out time in the middle of the week, kudos to them all. Maybe the weekend might get more people involved at this stage.
>

>
> 2. A Show Difference (Enable/Disable) option on the cloning page. A few of us including me in our tactic for leap/push like to hide tweaks at times which becomes very obvious with the Difference highlighter when cloned. Maybe this way a better clan-chain can be maintained.
>
Keep in mind a big part of the contest is that we collaboratively build upon each others code (this is discussed at length in the contest FAQ). Disabling 'show diff' would just hurt the 'casual' players. 'Power' players like myself would easily reproduce it locally. Likewise, I'm glad obscufation hasn't reared it's ugly head for several contests now, since it hurts casual players much more.

> 3. An Ajax updater or similar real-time updater for the leader would be a nice addition like the clock. You have no idea how many times we simply refresh just to know who's the current Leader.

Last year they had a twitter feed that would update every time the lead changed. I didn't notice it being active this time, but is it's still there that would serve the same functionality.

> PS: Can you keep the 6 Million contest open till Fall :)

They'll release the contest test suite shortly. You can then work on the 6 million contest to your heart's delight offline. In the past Yi did this and reported back several weeks later on the 'ultimate' optimizations he made to the solver.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 20 Apr, 2011 22:05:20

Message: 75 of 100

"Nicholas Howe" wrote in message <ion9n9$97a$1@fred.mathworks.com>...
> It gets under 6M on that one -- is that good enough for the 6M prize, Ned? ;-)

Looks like you aren't going to need the 6M prize. Congrats on your overall win Nick! Are we going to get a picture of you and Susannah posing in your matching 100% Geek Matlab t-shirts?;)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 20 Apr, 2011 22:09:04

Message: 76 of 100

I would agree with starting sat (although I may not participate again, too time consuming haha).

I would disagree with deactivating the diffing of clones. To me, looking at the modification people made and using them is what made the thing interesting. My 2 pence...

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 20 Apr, 2011 22:52:04

Message: 77 of 100

> I would disagree with deactivating the diffing of clones. To me, looking at the modification people made and using them is what made the thing interesting. My 2 pence...

Actually, you're probably right. Because as it is, people who don't want to leave tracks will just create a new entry; if there was the option to disable highlighting of differences, people may give credit more easily, making it easier to track heredity etc.
Plus, anyone can use a text comparator...

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Darren Rowland

Date: 21 Apr, 2011 01:12:04

Message: 78 of 100

Congratulations Nick. Superb effort to knock so much off the score on the final day.

Thanks to the contest team. I only watched the progress this time. The analysis by Ned mid-contest was very helpful in that regard.

Darren

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 21 Apr, 2011 01:30:21

Message: 79 of 100

"Alan Chalker" wrote in message <ionkpl$p76$1@fred.mathworks.com>...
>
> Last year they had a twitter feed that would update every time the lead changed. I didn't notice it being active this time, but is it's still there that would serve the same functionality.
>

I just verified that the twitter feed was still functional: http://twitter.com/#!/ContestLeaders Too bad they didn't advertise it this time around.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Jin

Date: 21 Apr, 2011 02:38:04

Message: 80 of 100

Congrats for all. I am away the latest three or so contests for time limitation. But it is really great thing for the algorithm communication of matlab.

Nicholas's final winner is not surprising. Breaking the 6M for the sample testsuite is not surprising as well. The surprising for me, there is no entry to pickup the Albert's solver_yot when the 2-3 hours before finish, although I know the final solver will combine the solver_yot:) Originally, I wanted to show some combinations' effect before going sleep if possible(I have not the full matlab env). But the poor home network made me failed to submit any clone. Oh, I just got to sleep.

The idea of Albert's and Nick's entry is the thing I like to see. And I think the penalty setting in this contest is a little unreasonable to increase the unreasonable solution. I just try a spaced tile pattern solver with some 3/5/7 words to connect, which is a little similar to some entries in the middle of contetst(but I am using the hash function to do some acceleration instead). But the result is not good as the stupid long-connected tile pattern. It is interesting to see if we can remove this stupid pattern in the future.

Sat-Sat is a good idea. The dark and twilight phase is relatively fair for the individual. I am aware this contest in the mid of twilight. There is no enough time to dig not trivial algorithm for me.

See all next contest:)

cheers,
Jin

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: David Smith

Date: 21 Apr, 2011 05:03:04

Message: 81 of 100

"Oli" wrote in message <ioncms$256$1@fred.mathworks.com>...
> An approach I tried to develop is the following -
> I assumed some solvers are better suited for puzzles with many words, or with onle N-sized words, or with a variety of weights, etc.
> So I wondered if I could predict which solver was best by only looking at the characterstics of the board.
> So I looked at which solver was best for each board in the sample test suite, and tried to relate that with about 20 variables describing the boards. It wasn't very successful, but that maybe because I'm not very good at multivariate analysis :D
> A few elements were added based on that, though, and remained for a while. I think the 'if min(lengths) == N' in the leading entry is a remaining of that.

I tried the same approach for a while and got nowhere. I think there is some information that is predictive, but I never found what. Perhaps correlation coefficients between words, or something more esoteric.

I also singled out the press() function for a rewrite and wrote my own (press2tolerant) from scratch to do what press did except faster. Unfortunately, my version didn't help much on the 2x2s and I ran out of time to adapt it to larger words. My entry that a large number of the final top 20 branched from improved the score by making Zs instead of 2x2s squares. That required only three words to match, instead of four, to avoid a penalty and should theoretically help the solver use more of the 2-letter words, but the theory didn't really pan out.

The vast number of variations in approaches suggests that we are far, far from a optimal solution. Maybe this is something that is mathematically insoluble.

I also vote for Fri-Fri or Sat-Sat, for syntax highlighting, and against hiding diffs. I learn a lot from the diffs.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 21 Apr, 2011 09:01:05

Message: 82 of 100

> The vast number of variations in approaches suggests that we are far, far from a optimal solution. Maybe this is something that is mathematically insoluble.

Yes I was wondering if the winning solution in contests is always based on this principle - applying a number of solvers and keep the best. It would be more elegant to have a unified solver, in a way, maybe - but this approach is more pragmatic.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Steven_Lord

Date: 21 Apr, 2011 13:51:34

Message: 83 of 100



"Oli " <lacitrouillemasquee@gmail.com> wrote in message
news:iono2k$gat$1@fred.mathworks.com...
>> I would disagree with deactivating the diffing of clones. To me, looking
>> at the modification people made and using them is what made the thing
>> interesting. My 2 pence...
>
> Actually, you're probably right. Because as it is, people who don't want
> to leave tracks will just create a new entry; if there was the option to
> disable highlighting of differences, people may give credit more easily,
> making it easier to track heredity etc.
> Plus, anyone can use a text comparator...

While we're on the subject of comparing files, I think this is a reasonable
time to mention a piece of MATLAB about which I'm not sure people are aware.
If you want to compare MATLAB function/script files as well as a number of
other types of files, you can use the Comparison Tool. I usually access
Comparison Tool via its function form, VISDIFF:

http://www.mathworks.com/help/techdoc/ref/visdiff.html

but there are a number of ways to access it in Desktop components as well,
as mentioned at the bottom of the reference page.

This has been a part of MATLAB for a couple of years now (since release
R2006b)

http://www.mathworks.com/help/techdoc/rn/bqt11_f-1.html#bqvky53

but I'm often surprised by how many people are unaware of it.

--
Steve Lord
slord@mathworks.com
To contact Technical Support use the Contact Us link on
http://www.mathworks.com

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Alan Chalker

Date: 21 Apr, 2011 15:07:05

Message: 84 of 100

"Steven_Lord" <slord@mathworks.com> wrote in message <iopcoh$l6h$1@fred.mathworks.com>...

>
> While we're on the subject of comparing files, I think this is a reasonable
> time to mention a piece of MATLAB about which I'm not sure people are aware.
> If you want to compare MATLAB function/script files as well as a number of
> other types of files, you can use the Comparison Tool. I usually access
> Comparison Tool via its function form, VISDIFF:
>
> http://www.mathworks.com/help/techdoc/ref/visdiff.html
>
> but there are a number of ways to access it in Desktop components as well,
> as mentioned at the bottom of the reference page.
>
> This has been a part of MATLAB for a couple of years now (since release
> R2006b)
>
> http://www.mathworks.com/help/techdoc/rn/bqt11_f-1.html#bqvky53
>
> but I'm often surprised by how many people are unaware of it.
>

This is a very cool tool! I had no idea it existed. Thanks Steve.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oliver Woodford

Date: 21 Apr, 2011 16:35:08

Message: 85 of 100

Congratulations, Nick. A grand prize at last! And very well deserved too.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Nicholas Howe

Date: 21 Apr, 2011 17:51:04

Message: 86 of 100

I'd like to thank the contest organizers at the Mathworks for coming up with yet another great contest topic, and all those who devoted their time to solving it, especially the first-timers. There's a great community that has grown up around these competitions, and I hope it will continue to thrive.

I agree with those who think that more improvement is possible in the results. The kind of crossing I was working on with the lattice entries placed words into the grid with little forethought about how that would constrain further choices. I would bet that by paying attention to those future constraints you could do significantly better. In fact, I can almost see how to do it... No, time now to get back to all the work I neglected during the contest. :-)

Thanks again, everyone.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Michael Bindschadler

Date: 21 Apr, 2011 21:10:20

Message: 87 of 100

Congratulations Nick on a well-deserved win!!

My vote would be to keep the diffs and then a slight preference for moving the contest to Sat-Sat. As it is, I try pretty hard to clear some time for darkness and twilight, then mostly watch for daylight as I catch up on lost sleep and lost productivity :) Sat-Sat would help a little on the lost productivity count (alas, there's no way to compensate for the lost sleep). Having the queue in darkness was a sensible and beneficial improvement.

Overall, thanks again to MathWorks for another fun contest!

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Andreas Bonelli

Date: 21 Apr, 2011 21:45:05

Message: 88 of 100

Thanks for the contest and congratulations Nick.

Concerning the timeframe I personally prefer Darkness and Twilight on work-days. For me it is easier to take vacation from work than from family :)

One Question:
I tried to solve the problem by creating real crosswords, but I had to strip the solver down and only tackle certain board-types because the run time was not competitive. I did not browse the other entries in detail. Did anybody else tried to create serious crosswords? Can anybody give me pointers to some interesting entries?

Thanks, Andreas

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Amitabh Verma

Date: 21 Apr, 2011 22:26:04

Message: 89 of 100

"Andreas Bonelli" <andreas.bonelli@gmail.com> wrote in message
> One Question:
> I tried to solve the problem by creating real crosswords, but I had to strip the solver down and only tackle certain board-types because the run time was not competitive. I did not browse the other entries in detail. Did anybody else tried to create serious crosswords? Can anybody give me pointers to some interesting entries?
>
> Thanks, Andreas


Andreas:
You might like to check the contest blog, is specific
Ned's Contest Analysis
http://blogs.mathworks.com/contest/2011/04/19/neds-contest-analysis/

In the comments section Oli has provided us with a pic from one of his solvers. I think it will interest you. I'm not exactly sure which entry of his did that result. Might have timed out as he suggests regarding the time, so look under the Failed (timeout) 9.0 ver. ones.

- Amitabh

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Nicholas Howe

Date: 21 Apr, 2011 22:54:07

Message: 90 of 100

"Andreas Bonelli" <andreas.bonelli@gmail.com> wrote in message <ioq8h1$2vn$1@fred.mathworks.com>...
> One Question:
> I tried to solve the problem by creating real crosswords, but I had to strip the solver down and only tackle certain board-types because the run time was not competitive. I did not browse the other entries in detail. Did anybody else tried to create serious crosswords? Can anybody give me pointers to some interesting entries?

You can search the results prefixed by NBW to see some entries. The best I am aware of is "NBW Combo Yot Lat 2" which was a combination of Albert's code and my own. There may be others without NBW in the title that I don't know about -- if so I'd like to hear about them too.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Andreas Bonelli

Date: 22 Apr, 2011 06:03:05

Message: 91 of 100

"Nicholas Howe" wrote in message <ioqcif$asn$1@fred.mathworks.com>...
> "Andreas Bonelli" <andreas.bonelli@gmail.com> wrote in message <ioq8h1$2vn$1@fred.mathworks.com>...
> > One Question:
> > I tried to solve the problem by creating real crosswords, but I had to strip the solver down and only tackle certain board-types because the run time was not competitive. I did not browse the other entries in detail. Did anybody else tried to create serious crosswords? Can anybody give me pointers to some interesting entries?
>
> You can search the results prefixed by NBW to see some entries. The best I am aware of is "NBW Combo Yot Lat 2" which was a combination of Albert's code and my own. There may be others without NBW in the title that I don't know about -- if so I'd like to hear about them too.

Thanks for the pointer. I missed the comments of the post.

Oli's pic looks nice. After some failed attempts to compete with block-builders in Twilight I have been working on real crosswords solvers most of the time, but I shied away from trying to place two words next to each other because it seemd to pricy. Oli seems to do better in this regard.

My solver (e.g. generates boards like: http://min.us/mvk1CBX (board 1 of test suite, result 111458, 1.95s).

-- Andreas

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Sergey Y.

Date: 22 Apr, 2011 15:36:05

Message: 92 of 100

We have to realize that by asking to start (or end) contest on Sat-Sun we are asking somebody from Mathworks to work on weekend (and very possible without additional pay)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Michael Bindschadler

Date: 22 Apr, 2011 16:00:25

Message: 93 of 100

"Sergey Y." wrote in message <ios795$l99$1@fred.mathworks.com>...
> We have to realize that by asking to start (or end) contest on Sat-Sun we are asking somebody from Mathworks to work on weekend (and very possible without additional pay)

That's a good point Sergey. Perhaps launching Darkness on a Friday, with two days of Twilight over the weekend, then Daylight until the following Friday. That would give a chance for catching any early problems on Friday, then the only thing we'd really miss over the weekend would be a blog post about who won Darkness, which, I think we'd probably be able to figure out on our own :) At least from the participant side, the contest machinery already appears to run pretty smoothly on its own over the weekend. (This approach would also have the pleasant effect of extending my favorite phase by a day, so I wouldn't complain about that either)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 22 Apr, 2011 16:40:05

Message: 94 of 100

also, isnt the 'daytime' too long? over monday and tuesday , not much was happening, just some guys (me, essentially ;)) doing minor tweaks in an empty queue, while people understandably keep their ideas for the last hour.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Sergey Y.

Date: 22 Apr, 2011 18:56:04

Message: 95 of 100

"Oli" wrote in message <iosb15$qmh$1@fred.mathworks.com>...
> also, isnt the 'daytime' too long? over monday and tuesday , not much was happening, just some guys (me, essentially ;)) doing minor tweaks in an empty queue, while people understandably keep their ideas for the last hour.

Monday and Tuesday are needed to actually develop those ideas and convert them into code. Even if not much is submitted but a lot of work is done.
The minor scheduling mistake this time was to have 1000 and NBW on the same day.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Sergey Y.

Date: 22 Apr, 2011 19:02:07

Message: 96 of 100

"Oli" wrote in message <iosb15$qmh$1@fred.mathworks.com>...
One way to significantly change format would be to have “permanent” Twilight with “finishes” ones a day. At “finish” new winner is announced, all submissions are opened and next Twilight starts. However that will reduce cooperative feature of the contest.

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Helen Chen

Date: 25 Apr, 2011 15:00:08

Message: 97 of 100

"Sergey Y." wrote in message <ios795$l99$1@fred.mathworks.com>...
> We have to realize that by asking to start (or end) contest on Sat-Sun we are asking somebody from Mathworks to work on weekend (and very possible without additional pay)

Thanks for thinking of the contest team, Sergey! :-) There are actually many people involved behind the scenes with getting the contest up and running covering both the contest game and the website.

Starting the contest on Wednesday gives us time to coordinate activity with the two development teams and get the website up. Then we have a couple of days to make sure that both the game and website is running well before the weekend comes. We do watch the site over the weekend, but you guys are generally off and running by then!

Starting on Friday might introduce a risk to the contest site or game stability. It's an outside chance but we'll have to take that into consideration when we review the suggestion.

Helen for the Contest Team

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Oli

Date: 3 May, 2011 18:50:24

Message: 98 of 100

Hi!

Will there be a conclusion about the contest?
the 'winners' ( 'http://www.mathworks.com/matlabcentral/contest/contests/32/winners ) page is still empty :)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Lindsay Coutinho

Date: 4 May, 2011 12:49:04

Message: 99 of 100

Hi Oli,
The Winners page should be up by the end of the week! We're just waiting to hear back from a few more prize winners to complete the page.

Best,
Lindsay for the Contest Team

"Oli" wrote in message <ippipg$7lj$1@fred.mathworks.com>...
> Hi!
>
> Will there be a conclusion about the contest?
> the 'winners' ( 'http://www.mathworks.com/matlabcentral/contest/contests/32/winners ) page is still empty :)

Subject: Spring 2011 MATLAB Contest, April 13 - April 20

From: Boris

Date: 16 Jul, 2011 11:55:11

Message: 100 of 100

"Helen Chen" <helen.chen@mathworks.com> wrote in message <ilnp9k$l2h$1@fred.mathworks.com>...
> Dear MATLAB Central Community;
>
> The Spring MATLAB Programming Contest will start at noon, Boston time/16:00 UTC Wednesday April 13th and will run through noon, Boston time/16:00 UTC the following Wednesday April 20th.
>
> If you have not participated in any of our past contests, you can learn more by going to the contest website at http://www.mathworks.com/matlabcentral/contest/
>
> We look forward to seeing you online!
>
> Best,
> Helen Chen
> MATLAB Central Team

Hi Helen,
I was hoping to look at some of the stats and images for the analyzing the day by day progress of the crossword puzzle challenge. I appreciate the the competition was over a few months ago but all the images seem and graphs seem already to have been removed. Have the pages been archived somewhere where I might still see them?
Many thanks and best wishes, Boris.

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us