research

related interests

vita / bio

links

Scrabble Solution for Artificial Intelligence
with Prof. Kathy McKeown, Spring 2004
(Client-server framework and gui code written by Cristian Soviani.)
Documentation

Location of heuristics, etc.:

Search for word:
Initiated at method getPossibleWords(...) [line 85] of enos.scrabble.domain.Player.
Mainly calls bestNcombinations(...) [line 61] of enos.scrabble.domain.Rack and getMatches(...) [line 53] of enos.scrabble.datastruct.HashOfWords via getCandidates(...) [line 28] of enos.scrabble.domain.Dictionary

Search for turn:
in minimax version:
initiated at getMove(...) [line 77] of enos.scrabble.domain.Game, which calls miniMax [line 12] of enos.scrabble.util.MiniMaximizer.

in fast version:
initiated at getMove(...) [line 68] of enos.scrabble.domain.Game, (this is commented out in the code), which calls getBestMove(...) [line 31] of enos.scrabble.domain.Player.

Heuristics for search:
chooseBestGroups(...) [line 121] enos.scrabble.domain.Player

also:
bestNcombinations(...) [line 61] of enos.scrabble.domain.Rack calls services of enos.scrabble.util.BigramEvaluator, and getWordPotential(...) [line 156] of enos.scrabble.domain.Word.

MiniMax (2 or 4 play):
choice is made in:
getMove(...) [line 77] of enos.scrabble.domain.Game

Scoring function:
for best move (miniMax version):
in enos.scrabble.util.MiniMaximizer

for scoring of moves:
score() [line 16] of enos.scrabble.util.MoveGroup


Frank Enos • Speech Lab, 7 CEPSR • 212.939.7147 • frank [æt] cs.columbia.edu