Scrabble

1 view
Skip to first unread message

Jay Mendoza

unread,
Jan 17, 2010, 4:42:28 PM1/17/10
to lambda-lam...@googlegroups.com
Do we have any information that can be posted regarding the requirements for the Scrabble program mentioned at the meeting?

Ben Rady

unread,
Jan 17, 2010, 9:02:37 PM1/17/10
to lambda-lambda-lambda
I'll let Paul handle this one.

pholser

unread,
Jan 26, 2010, 4:38:34 PM1/26/10
to Lambda Lambda Lambda
Sorry for the delay. Here are my thoughts on what I'd like to build.

Model a word source as a directed graph. The nodes in the graph
correspond to unique combinations of letters which can be anagrammed
to form at least one word in the word source. We refer to such a
unique combination by its "alphagram", i.e. the letters of the
combination in alphabetical order. For example, AEINRST is an
alphagram from TWL06 (http://en.wikipedia.org/wiki/
Official_Tournament_and_Club_Word_List), whose anagrams are:

ANESTRI
ANTSIER
NASTIER
RATINES
RETAINS
RETINAS
RETSINA
STAINER
STEARIN

We can think of all the alphagrams of length N as belonging to the
same "plane". If visualizing a word source, I'd like to see word
"planes" represented as such.

A node can have zero or edges emanating from it. The edges represent
transformations to the alphagram they come from, that when applied
would result in the alphagram it goes to.

For example, the node AEINRST would have the following edges (among
others) heading out from it:

"+L" leads to the alphagram AEILNRST, whose anagrams are:
CANISTER, CERATINS, CISTERNA, CREATINS, SCANTIER, TACRINES
"-T" leads to the alphagram AEINRS, whose anagrams are: ARISEN,
ARSINE
"N -> M" leads to the alphagram AEIMRST, whose anagrams are:
IMARETS, MAESTRI, MISRATE, SMARTIE

Other transformations are possible, of course, but the three listed
above -- add a letter, remove a letters, and replace one letter with
another -- are what I'm concerned with initially.

A nice first story would be: Given a word source, and a starting node,
I want to see the anagrams of the alphagram the node represents, as
well as the transitions out of the node, so that I stand a better
chance of remembering what words those letters make, as well as
getting a sense of other words that are possible given an extra
letter.

After that: Given a word source and a starting node, I'd like to be
able to "move to" a neighboring node according to the transformation
on the edge from my current node to the neighbor. In repeatedly doing
so, I hope to get a better sense of what words are "near" others --
that is, what words I can make with letters almost matching what I
currently hold.

More later. Hope this is good food for thought.

--p

Reply all
Reply to author
Forward
0 new messages