All,
I am writing a Lingo-ish game for my mother. One of the problems I am having is designing a computer opponent. The trouble is that I want the difficulty to be configurable. For those unfamiliar, here is a brief description of the game:

The game starts with a secret word of a fixed number of letters with only the first letter known. A player guesses a word. Provided the guessed word is within the rules, each letter falls into 1 of 3 categories:

This information is presented visually (usually with colors) and previous guesses are displayed so all known information about the target word is available for subsequent guesses.

While I am still working out the exact rules I intend to use, there are 4 types of guesses:

Some good guesses are better than other good guesses depending on how much new information they reveal. What I need help with is making a guessing algorithm that can be better or worse depending on configuration. Here are the factors that can go into making a guess:

Your challenge, if you choose to accept it, is to design an algorithm that can take the above factors into consideration to make a configurable computer opponent. While I would hope for something better than just "Easy, Medium, Hard", I will be very appreciative of anything I can get.

I have explained more about the game play here.

Cheers - L~R


In reply to Challenge: Designing A Computer Opponent by Limbic~Region

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.