A program has been designed and implemented in SIMULA 67 on a DECSystem-10 to play the SCRABBLE Crossword Game interactively against a human opponent. The heart of the design is the data structure for the lexicon and the algorithm for searching it. The lexicon is represented as a letter table, or trie using a canonical ordering of the letters in the words rather than the original spelling. The algorithm takes the trie and a collection of letters, including blanks, and in a single backtrack search of the trie finds all words that can be formed from any combination and permutation of the letters. Words using the higher-valued letters are found before words not using those letters, and words using a collection of letters are found before words using a subcollection of them. The search procedure detaches after each group of words is found and may be resumed if more words are desired.
Unable to display preview. Download preview PDF.