Article View: rec.games.programmer
Article #919Re: Computer-Controlled Players - simulated evolution
From: Phil Goetz
Date: Tue, 01 Sep 1992 22:39
Date: Tue, 01 Sep 1992 22:39
66 lines
3874 bytes
3874 bytes
(Nicolai Czempin) writes: >cprem@marlin.jcu.edu.au writes: >> Now we've got this discussion rolling, is anyone actually going to begin >> coding a game with intelligent/evolvable CCPs. It would be great to see >> a game that had a large variety of CCPs that can evolve into stronger >> opposition as the game develops. >> >> Ross Milward, ross@coral.cs.jcu.edu.au, cprem@marlin.jcu.edu.au > >A possible starting point would be those bot programs. However, the languages >to program the bots are usually not very powerful. >... >Nicolai Czempin, University of Karlsruhe, Germany >"I am not left-handed either" On the contrary - the bot languages are too powerful for genetic algorithms. To use genetic improvement of algorithms, you have to be able to change the algorithm randomly. A bot language is rather complex, and changing (say) a GOTO to a LET A = B would probably not improve performance. You would have to sort through a lot of mutants before you found a viable one. The key to using genetic algorithms is to formalize the behavior/construction you wish to improve in a way such that a random change still produces something plausible. I don't think that computer-controlled players can be generated using genetic algorithms. You could write an algorithm that used a large number of parameters to determine its behavior, and then vary those parameters (i.e. define a standard deviation for each parameter, then create a descendent by randomly selecting a value for each parameter from a normal distribution around the parent's value using said standard deviation). Or, you could have a data language which specified the construction of, say, a battlebot, which would be altered in random ways (i.e. make entire bot or subunits larger/ smaller, armor thicker/thinner, weapons heavier/lighter; you may then have to 'renormalize' if bot construction is constrained by resources). But a von Neumann machine program is not a good candidate for genetic algorithms. So to speculate about GA is usually pointless unless you propose a SPECIFIC data encoding and method of varying it. The same applies to neural nets. Neither GA nor neural nets are magic. It pains me to hear people explain futuristic systems that will do marvellous things, saying, "They will use neural networks to ...". Neural networks compute functions. They can generalize to previously unseen input, learn to better approximate the function they compute, etc. But you have to define the function! It has to be the right scope of function - you can't use letters as input and expect a parse of an English sentence as output; you have to hypothesize some modularity to the task. I am aware that a network can theoretically do any computable task. However, if your function is not modularized well, the network will function inefficiently, to the point that it will not work. Usenet has a lot of discussion of genetic algorithms & neural nets, but seldom arrives at the useful level of specific proposals. Phil goetz@cs.buffalo.edu -- The Usenet Oracle has pondered your question deeply. Your question was: > help i'm a bug And in response, thus spake the Oracle: } <poof> you're a feature!
Technical Details
Message-ID:
<Btx892.1yD@acsu.buffalo.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!sun-barr!rutgers!ub!acsu.buffalo.edu!goetzReferences:
<Bt3G69.5Cp@dptspd.sat.datapoint.com> <1992Aug17.003402.20999@marlin.jcu.edu.au> <psm.714022271@murlibobo> <1992Aug17.063056.29938@marlin.jcu.edu.au> <16r86cINNsj3@iraul1.ira.uka.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!sun-barr!rutgers!ub!acsu.buffalo.edu!goetz From: goetz@acsu.buffalo.edu (Phil Goetz) Newsgroups: rec.games.programmer Subject: Re: Computer-Controlled Players - simulated evolution Message-ID: <Btx892.1yD@acsu.buffalo.edu> Date: 1 Sep 92 22:39:01 GMT References: <Bt3G69.5Cp@dptspd.sat.datapoint.com> <1992Aug17.003402.20999@marlin.jcu.edu.au> <psm.714022271@murlibobo> <1992Aug17.063056.29938@marlin.jcu.edu.au> <16r86cINNsj3@iraul1.ira.uka.de> Sender: nntp@acsu.buffalo.edu Organization: State University of New York at Buffalo/Comp Sci Lines: 66 Nntp-Posting-Host: homam.cs.buffalo.edu