home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.ai:4296 rec.games.programmer:4700
- Path: sparky!uunet!dtix!darwin.sura.net!jvnc.net!princeton!fish.Princeton.EDU!acoggins
- From: acoggins@fish.Princeton.EDU (Adam Cody Coggins)
- Newsgroups: comp.ai,comp.ai.genetic,rec.games.programmer
- Subject: Re: Games and genetic algorithms
- Keywords: genetic algorithms
- Message-ID: <1992Nov16.023330.2528@Princeton.EDU>
- Date: 16 Nov 92 02:33:30 GMT
- References: <1992Nov11.001553.12600@samba.oit.unc.edu> <1992Nov11.131739.19137@athena.mit.edu>
- Sender: news@Princeton.EDU (USENET News System)
- Organization: Princeton University
- Lines: 43
- Originator: news@nimaster
- Nntp-Posting-Host: fish.princeton.edu
-
- In article <1992Nov11.131739.19137@athena.mit.edu> acgoldis@athena.mit.edu (Andrew C Goldish) writes:
- >I have written several computer games using the Borland Pascal compiler and
- >would like to teach the computer to learn from its own mistakes when it plays
- >against a human opponent (a la War Games). I am going to try to insert a
- >genetic algorithm into the board evaluation subroutine so that the game
- >strategies whose parameters produce the most successful games survive to
- >the "next generation". Is this a good idea? If not, what other method of
- >computer learning should I use?
- > My first project will be to convert either Checkers, Othello, or Ataxx.
-
- I threw together a little strategy game a couple years ago that used
- a genetic algorithm to select moves. A game could accomidate four players
- at a time, which made it easy to compare four different computer players
- at once. This worked as follows:
-
- Each turn, a computer player would calculate a value for each possible
- move using a set of parameters. The player would then take the move with
- the highest value. At the end of the game, several new computer players
- would be created, using the weights of the winner, but slightly modified
- ("mutated"). A new game would take place with the mutated players and the
- original winner.
-
- How well did it work? If I let it run overnight (code was in QuickBASIC
- on a 386 PC-clone, so it wasn't really fast) I would get players that were
- ok, but a human could beat them without too much trouble. However, I
- think a major limitation was the way my parameters were set up--decisions
- were a result of merely linear combinations of the parameters, so the
- computer couldn't make very sophisticated decisions. But I think that a
- combination of some standard symbolic AI with some genetically learned
- parameters could produce a pretty good computer opponent.
-
- I think you could get a fairly sophisticated and smart computer opponents
- by using a neural network in conjunction with parameters genetically
- determined. (Just a thought--I haven't done a serious test of this, and
- I'm not sure what neural net architectures to try.)
-
- Anyhow, best of luck--there are some cool possiblilities in genetic algorithms
- and neural networks.
-
- -Cody Coggins <acoggins@phoenix.princeton.edu>
-
- By the way, if anyone follows up to this post, could they e-mail a copy
- of the followup? I don't read this group much.
-