Tuesday, April 10, 2007

N-A-I-V-E, on a double word score

Monday's Globe had a short article on an MIT junior who plays competitive Scrabble and has also devised a Scrabble-playing program called Quackle. What was striking was the confident pronouncements of some Scrabble experts that a computer would never be able to beat them; of course similar pronouncements have been heard for checkers, chess, etc.

One expert opines:
Quackle has the right name for sure, because the whole idea of using a computer to play Scrabble is a quack of an idea

Another player makes the following analysis of a lookahead strategy
you're wasting your time because there's too much randomness ahead of you

IMHO, these domain experts are falling into the easy trap for domain experts: that what works for humans can't be computerized, and conversely what doesn't work for humans won't work for a computer. Humans are terrible at comprehensive lookahead strategies, but computers can do them flawlessly -- given enough time and compute cycles. This is sometimes a difficult idea to get across to domain experts -- both game players and biologists -- that it is more important to describe what your problem is than what they are certain are the aspects the computer can't do. Maybe some pieces can't be solved -- but maybe those pieces can be bypassed instead.

Of course, it does depend on your metric. The same critic of lookahead also offered
There's enough luck in the game that it's not really possible for pure word knowledge to defeat a slightly less pure word knowledge every time
. Now, for any game with a luck component it will be impossible for a program to win every time. I would agree with this -- and might even try (if I were doing this) to have the deeper levels of the lookahead use a much smaller dictionary (or more likely, some sort of word model along the lines of the word guessers in cell phones). The key isn't necessarily searching every possibility, but rather searching most of the most probable space.

On the other hand, who am I to talk. As an early exercise to learn Java I found a Reversi applet I could consistently beat & tried to improve its lookahead algorithm. Until I moved to more bioinformatic relevant problems, the program torture me -- because I could wallop my versions even harder than the one I started with! Any Hippocratic software oath of mine was badly violated!

No comments: