RE: $100.00 Programming Contest

new topic     » goto parent     » topic index » view thread      » older message » newer message

>> I don't think the length of a sentence matters very much,
> but I was thinking of testing competing programs on a
> variety of inputs, from one to 5 typical length sentences.
> It depends on how good the programs are.
> 

I used to solve these sorts of ciphers by hand when I was a kid.  If the 
input is too small, it will be nearly impossible for any program to do a 
good job (it would need a fairly sophisticated grammer analyzer), 
because the letter frequencies will basically be random.  You need at 
the minimum a fairly large paragraph.

I would recommend in the judging you use a big block of text, a somewhat 
big block of text, medium, medium-small, and small; or something like 
that.  Even the smallest one should have 20 words or so, and the big one 
at least 500.  Otherwise you won't be judging programming ability at 
all, but luck.  And each block could be given a "percentage of correct 
words" (a subjective judgement might be: can a reasonable person READ 
this text even if a letter is off here or there) score, with an average 
taken of the five blocks so that the small (hardest) block is has the 
same weight as the big block.  Highest average score wins.  A system 
like that will also probably be subtle enough to negate the chance of a 
tie. (Unless a few people get 100% on everything, in which case speed is 
a reasonable tie-breaker.)  Another judging system might be start with a 
big block, if the program gets 100% (or at least 90%, which any decent 
program should on a big block), then keep making it smaller until it 
fails.  Whoever's program can handle the smallest block wins.

In any case, I think some real thought should be put into how this is 
going to work.  I think in the interest of fairness you give us a 
half-decent idea of the length and form of the input, and just exactly 
how it will be judged (after some due consideration).  But I think a 
strict # of words correct is flawed because the bigger the block of 
text, the easier the task -- it would be weighted in the wrong direction 
that way...

People keep talking about words, but substitution ciphers are about 
letters.  If e=m, then e=m for all words in the input.  So you don't 
need to figure out each individual word, just enough of them so you can 
make a reasonable decision on what letter equals what.


If you could please clarify the rules on what external libraries or 
modules we are allowed?  No .dlls, I assume?  But we can use the 50,000 
dictionary, I gather.  What about Wordnet, or some other external 
database?

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu