Generation 5: Theory & Research


Amateur Neural Networks as a Searchable Knowledge Base - Aaron Lahman

Contribution concerning This is a short documentation of the ideas i've been working with and am having some success with. [aaronla@hotmail.com] submitted on August 01, 1999 at 01:52:11:

Amateur Neural Networks as a Searchable Knowledge Base - Aaron Lahman

Okay... here's how it goes. I'm young and I want to play around with some powerful AI. So I've been working with my own ideas as I gather information about all the AI that's been around in the years that I haven't been looking for it: Expert systems, neural nets, genetic algorithms, etc. Well this short document is simply an idea I've had and final gotten around to implementing and, amazingly, it worked! Keep in mind as I go through this that I plan to apply this to game characters. What I wanted was the holy-grail of game AI... a system that you hook up to your game and it will automatically learn all the tricks of the trade in an hour and serve you well. So the agent must be based on planning strategies that bring it to its goal. Like a path-finding algorithm, it should seek the shortest chain of actions that will bring it to its goal and, if anything changes along the way, refine the path and continue. But in order to do that, the agent would have to know everything about not only the game map but about its own abilities and everything in it's game environment, possibly including a human player. Ay... the whole difficulty about AI is that the human is impossible to predict. Well, the solution could be a neural network that could be used by a search engine to "play forward" or "predict" what will happen in the next 20 seconds or so. In a "quake" style shootout, the agent might observe the player on a high look out ledge. When it notices the player start moving right, the play forward mechanism would see the player moving that way for the next 10 seconds, or just 2 seconds, depending on its knowledge of the player's actions. Accordingly it could run a play forward plan to judge if / how it could attack the point where the player would be. Multiple modules could be built for each goal the agent is to fulfill (attack the player, avoid getting hit by the player, finding weapons when necessary). The biggest problem with this plan is the knowledge acquisition. I've found that a feed-forward neural network with one hidden layer can form the complex association necessary for this task. The whole thing operates on a set time frame that should represent about how fast things change in the particular game. Movement in Quake, for example, changes as fast as every 0.5 sec. The output of the network represents the same thing as the input: the situation. The agent's actions and senses are put into the network and the output of the neural network is the prediction of how the situation has changed. Choice neural network learning rules can appropriately adjust the network as the game goes. I'd suggest that the highest care be taken to find the appropriate rules, because if the network learns incorrect information, it won't be able to predict the results of its actions. Try to reduce the number of choices for agent action in the game to a minimum in favor of using multiple knowledge bases (one for aiming, one for path-finding, one for tracking the player, etc.) as neural networks stabilize faster with less inputs; the possible actions are also inputs of the neural networks. Well, there ya go. Let me know if this technique is as much of a success for you as it has been for me. Aaron Lahman Aaronla@hotmail.com



[ Generation 5: Theory & Research ]