MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Puzzle Challenge

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63598] Re: Puzzle Challenge
  • From: Paul Abbott <paul at physics.uwa.edu.au>
  • Date: Fri, 6 Jan 2006 05:24:56 -0500 (EST)
  • Organization: The University of Western Australia
  • References: <dpd7j1$qj6$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

In article <dpd7j1$qj6$1 at smc.vnet.net>, Paul <gleam at flashmail.com> 
wrote:

> No interest?  How disappointing.
> 
> Hartmut Wolf, Carl Woll, Bobby Treat, and Andrzej Kozlowski, where are you?  
> Show us the way!

Mathematica has a built-in dictionary which can be called using 

  NotebookGetMisspellingsPacket

This was used in The Mathematica Journal 9(1): 36-37 (2003) to produce 
all anagrams of a given string. The essential code used is

 GetMisspelledWords[text_, language_:"English"] := Module[{nb, result}, 
   nb = NotebookPut[Notebook[{Cell[text, "Text",
     LanguageCategory -> NaturalLanguage,
     DefaultNaturalLanguage -> language]}, Visible -> False]];
   LinkWrite[$ParentLink, NotebookGetMisspellingsPacket[nb]];     
   result = LinkRead[$ParentLink];     
   NotebookClose[nb, Interactive -> False]; 
   result]

 CorrectWords[wl_List, language_:"English"] :=    
  Complement[wl,GetMisspelledWords[ToString[Infix[wl," "]], language]]; 

For example, try

 CorrectWords[{"the","teh"}]

It would be straightforward to use this code to solve your puzzle -- but 
I'll leave this to others with more time on their hands.

Cheers,
Paul 


> > 
> > A Merry Christmas to all!
> > 
> > 
> > I offer the following word puzzle as a friendly
> > challenge to list participants.
> > 
> > Please consider the game board:
> > 
> > http://www.mathematica-users.org/mediawiki/images/0/03/hexagonpuzzle.gif
> >            __
> >         __/C \__
> >      __/O \__/E \__
> >   __/L \__/I \__/R \__
> >  /D \__/P \__/N \__/U \
> >  \__/E \__/R \__/A \__/
> >     \__/A \__/T \__/
> >        \__/S \__/
> >           \__/
> > 
> > The goal is to find as many words as possible of
> > length five or 
> > greater that each can be spelled by starting on a
> > hexagonal token and 
> > hopping from one token to the next.
> > 
> > You may use a token multiple times while spelling a
> > word, but not 
> > twice in a row.  For example, you may spell APART but
> > not COOLED.
> > 
> > Your program should work on a puzzle with arbitrarily
> > chosen letters.
> > 
> > Your solution will not be judged, but please put
> > effort into your 
> > algorithm, and tell us what makes it excel.  For
> > example, was your 
> > goal to write the most concise function?  The most 
> > elegant?  Fastest?  Unusual?  A a robust function
> > that will solve a 
> > larger set of puzzles?
> > 
> > You will need word lists (dictionary files) and I
> > recommend ENABLE2k 
> > or the even larger YAWL, both available from:
> > 
> > http://personal.riverusers.com/~thegrendel/software.html
> > 
> > I hope you will really enjoy working this puzzle, as
> > well as seeing 
> > each other's results!
> > 
> > Paul
> > 
> >

_______________________________________________________________________
Paul Abbott                                      Phone:  61 8 6488 2734
School of Physics, M013                            Fax: +61 8 6488 1014
The University of Western Australia         (CRICOS Provider No 00126G)    
AUSTRALIA                               http://physics.uwa.edu.au/~paul


  • Prev by Date: Re: NIntegrate and Sequence
  • Next by Date: Re: Evaluating x^0
  • Previous by thread: Re: Puzzle Challenge
  • Next by thread: Re: Puzzle Challenge