On 9/4/07, Michael Quinn <[EMAIL PROTECTED]> wrote:
> The problem is that there's no ONE way a 1500 (or whatever) rated human 
> plays. Some know a lot of very obscure words,  Some have got most of the 
> probable stems totally memorized, some may be lacking in vocabulary but very 
> good at board vision and strategy ETC..

Right, it has to be adaptive.  Hard coding a rule set for a particular
level of play would fail the Turing Test.

> I think the way a dumbed-down Maven will sometimes come out with a very 
> obscure word or brilliant play is a good way to learn. But if you wanted to 
> make "artificial stupidity" more realistic. I think it might be as simple as 
> breaking the skills in the game down into categories like "Vocabulary in high 
> probability words", "vocabulary in low probability words", "endgame strategy" 
> and some others.

Exactly!  In fact one of the things I've done as a background activity
over the years is that whenever I find a word list graded by reading
age, I keep a copy of it for use if I ever get round to writing a
scrabble player like this.  (They're all gathered from public files so
if anyone ever wants them just mail me).  People do play outside their
core reading age at times, but as you suggest, with much lower
probability.

>  Then you could have sliders with 100 representing the "perfect" player in 
> each category and 0 representing a complete novice player in that particular 
> category..

I'm not sure explicit user-twiddling is the best way to go: firstly,
that's a feature for techies like us; and secondly, it destroys the
illusion that the computer is doing its best, which I think is vital
to a really satusfying game.  Don't look at the man behind the
curtain.

> So you could customize it so, for example, your computer opponent wouldn't 
> play as many very obscure bingos but would play a very good endgame. It would 
> be interesting to either match yourself against a computer opponent with 
> about the same level of strength in different areas that you have or make it 
> stronger in areas that you are weaker and improve that way.

That suggestion would also be good for an online service where it
could fill in, if there weren't any players available for a matchup -
and you could make it a feature of the service that there was a rating
box where you would click if you think that a move just played against
you suggested that you were playing a machine rather than a person,
which would provide feedback for tuning the AI^HS.

Hmmm.... if you could train a bot to play just like you did and with
equal skill, you could have it stand in for you on an online service
and people wouldn't know if they were playing you or your bot.  Then
there might be some sort of prize for opponents who could correctly
guess (over a long period) whether at any time they were playing you
or your virtual stand-in :-)

Back to your first point above, this would make for more realistic
plays because some computer opponents would exhibit different traits
from others.  So either we can have multiple bots in a multi-player
environment trying to mimick different humans, or we could have bots
just adopt different styles at random and create their own
personalities.  Either way, make it part of the fun to guess if you're
playing a human or a bot, with the added side-effect of getting good
training data out of the deal too.


Graham

Reply via email to