Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Challenge: Designing A Computer Opponent

by kyle (Abbot)
on Dec 13, 2007 at 16:16 UTC ( [id://656851]=note: print w/replies, xml ) Need Help??


in reply to Challenge: Designing A Computer Opponent

I'd probably start by designing a perfect player. It has a dictionary, and it can narrow it down to every possible word according to the data it knows. It always guesses so as to gain the most information or eliminate the most possible words.

Then I could run the ideal player against every word there is to see how it scores—how fast it guesses the word. That's a baseline.

Each less than ideal opponent, I could implement and then run a similar test. This way I can rank the algorithms. I can see which modifications have an effect, which don't, and how much.

I'd implement the lesser guessers by making them some degree of forgetful. It has a smaller vocabulary. It forgets some of the facts it has learned in the course of the game. By losing some of its rules, it would make worse guesses.

I'm imagining some data structure that has all the known game information in it, and a routine that has a dictionary and presents all words that match the data. The lesser guesser would randomly lose parts of the real data structure before passing to the dictionary selector.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://656851]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2024-03-29 07:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found