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
