Michael C. Libby wrote:
> 
> According to the site: "The only goal we try to follow with the quizzes
> is to keep them pretty short (30 minutes to an hour to solve for the
> average coder). This is obviously vague, so use you're best judgment.
> We're interested in fun little diversions, not a massive time sink."

My apologies, I was not aware of the suggested time constraint.  I 
responded to the e-mailed request for quiz ideas with a problem that a 
group of my friends had previously attacked in C, Perl, and Python.  We 
all solved it in our own way and had a fine time discussing our various 
optimizations.  Nobody spent more than a week's worth of spare time on 
it, so it seemed to be within bounds for a weekly quiz.  I also think 
the recent tic-tac-toe problem was of comparable difficulty.

The cryptogram problem is definitely more than an hour's work, if only 
because test runs can be time consuming.  For me, a Ruby neophyte, the 
Ruby version consumed over 10 hours of keyboard time, and that was after 
I had developed a Python solution previously.

For those who only want a quickie 10 minute "golf" challenge, try 
writing a cryptogram generator.

>>Coding a brute force solution is relatively trivial, 
> 
> Speak for yourself! :)

I said "relatively", as in relatively trivial compared to a fast and 
efficient solution.  :)

>>but there are many opportunities for the clever optimizer.
> 
> Yes, there are. Thank the gods, because the brute force solution is
> miserably slow on a standard home PC. I got bored watching and never did
> make certain that my brute force algorithm actually works on the
> cryptograms in the Quiz (I did make sure it could solve shorter grams
> with much smaller dict files).

Another optional challenge is to come up with a way to measure your 
progress as you chew through the very large solution space.  If you get 
clever about pruning, the math can get tricky.

> Now , thanks to crypto3.txt, I will add to the list of ways to foil
> solvers: write messages that are nearly unsolvable in the first
> place. :)

Again, my apologies if that puzzle proved too difficult for some.  I 
assure that there is at least one solution.  I created these puzzles 
myself to avoid copyright issues, and it's hard to evaluate their 
difficulty.  I do know that lots of medium-length words in which no 
letters are re-used makes it harder, and crypto3.txt is a fine example 
of that.

Sometimes, looking at the problem from a more practical standpoint, a 
complete computer-generated solution is overkill.  If you scan through 
your algorithm's partial results, you may get enough insight to finish 
the solution on your own.  This is especially true when your algorithm 
is stumbling on a proper noun, e.g. an author's name, that is not in 
your dictionary.

-- 
Glenn Parker | glenn.parker-AT-comcast.net | <http://www.tetrafoil.com/>