From: acoggins@phoenix.Princeton.EDU (Adam Cody Coggins)
Subject: Re: Games and genetic algorithms
Originator: news@nimaster
Keywords: genetic algorithms 
Organization: Princeton University
Date: Wed, 18 Nov 1992 21:00:45 GMT

In article <1992Nov16.175215.29411@versyss.com> keithd@versyss.UUCP (Keith Doyle) writes:
>In article <1992Nov11.131739.19137@athena.mit.edu> acgoldis@athena.mit.edu (Andrew C Goldish) writes:
>>[...]
>One problem you may have with this approach, is that it could take a fairly
>long time for it to learn, and in the meantime it could be pretty boring
>for the human opponent.

This is true--this is probably why the traditional computer organism vs.
computer organism(s) approach has usually been used instead if the computer
organism vs. human approach.  With the o. vs o. approach, you can let the
organisms battle for survival for hours or days, and one usually has a decent
opponent when one finally decides to play the survivors.

>[...]
>However, you may have more success if you create an entire population
>of organisms, all of which "vote" with regards to a given move, and
>you cast the computer's move based on the majority.  Once the outcome
>is decided (and you could even have intermediate goals which can be
>used during the game as well), you can "weigh" each of the organisms
>performances.  In time, even an organism who consistently votes
>wrong (or votes wrong most of the time) will have a weight adjusted
>to take this into account, which in effect will turn his vote around
>(the program can ultimately consider his vote as a "don't make this
>move").  [...]

I'm not sure I follow you here--how do you decide whether an organism 
votes wrong--by comparing with the majority of the organisms?  I don't
think that would work very well, because it could lead to a reinforcement
of bad genetic traits.  By comparing with the outcome of the game?  It is 
difficult in many games to calculate how a single move affects the whole
outcome...if it was easy, then one wouldn't need to bother with genetic 
algorithms!

An approach I would like to try would be for the population of organisms
to try to match the *human's* performance as the human plays another human or
the "best-so-far" genetic organism.  The limitation, of course, would be the
ability of the human. Keith Doyle's comment below (about the organisms 
adapting to a particular human) would also apply.

>Another problem may be that if the game is being played by a variety
>of human opponents, the program may adapt to one persons playing
>style, and then begin to forget some of that training if subsequently
>played by another opponent for awhile, as it begins to adapt to the
>new opponent.  There may be steps you can take to avoid this, but
>I'm not sure what they are.  One approach would be to keep a record
>of past game moves, and recheck the organism's voting records to see
>that they're still basically on track.  Problem is, as soon as the
>population changes enough to vary a strategy in an old game, you
>can't play out the rest of the game (the remainder of the opponents 
>moves no longer apply) to determine if it is a beneficial or
>detrimental modification.
>
>At any rate, good luck.  I expect you'll learn some interesting
>things re: genetic algorithms in the process.

Very true!

-Cody Coggins <acoggins@phoenix.princeton.edu>