Skip to content

Demo of "The World's Fastest Scrabble Solver" algorithm with a visualization in Pygame

Notifications You must be signed in to change notification settings

aydinschwa/Scrabble-Solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scrabble Solver

This is a Python implementation of a Scrabble Solver originally described in "The World's Fastest Scrabble Program" by Andrew Appel and Guy Jacobsen.

drawing

The solver uses a dictionary of 279,497 valid Scrabble words to select the highest-scoring word on any given board and rack of tiles. I've decided not to include the Collins Scrabble Dictionary that I used since it appears to be copyrighted, but it's easy enough to find online.

I discovered that a lot of strange and seemingly made-up words actually exist in the Scrabble dictionary. This is especially apparent with two-letter words, where words like "EE" and "AA" are allowed. These words allow the solver to score many additional points in the endgame when space for larger words has been eliminated.

drawing

References

For creating the Directed Acyclic Word Graph (DAWG), I referenced blog posts by Steve Hanov and Jean-Bernard Pellerin.

For the word creation algorithm, I exclusively referenced the aforementioned "World's Fastest Scrabble Program"

About

Demo of "The World's Fastest Scrabble Solver" algorithm with a visualization in Pygame

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages