NPC AI

Brian Price blprice at bedford.net
Mon Sep 29 02:51:23 CEST 1997


I hope I'm not repeating a previously beat to death topic here, but I 
think I may have something new to contribute.  I'd also like to 
apologize for any toes I step on as I'm still trying to find my target 
level for posts here.  Some of you are at rather scary levels.

When considering the problem of providing reasonable mob behavior for 
a mud I was struck by the similarity of the problem with that faced 
by a subfield of robotics known as mobile robotics.  As in AI for mobs, 
there is a severe limit on the amount of processing power and memory 
space available, yet a desire to provide rather complex behavior.  One 
solution employed in that field is a technique called 'Subsumption 
Architecture'.  

With subsumption architecture, complex behaviors are built up out of 
a stack of overrideable simple behavior layers.  If a tree hierachy 
is assumed for mobile classes, there would be a one to many mapping 
between mobile classes and simple behavior layers.  

The simple layers could be implemented by a mobprog like interpreted 
language, but once again I noticed a similarity with another field.  
Each layer is basically a control system with a well known problem 
space.  (Assuming that the mud's game mechanics are simple enough to 
qualify as well known.)  Now this will hardly be new to some of you, 
but there exists a cross between expert systems and AI that was 
specifically designed for control system implementation where the 
problem space is well known, namely fuzzy logic.  

Quite a few years ago Motorola released the code for a number of 
fuzzy logic inference systems designed to run on their 8 bit 
microcontrollers.  These engines can be easily modified and are very 
fast in execution with a tiny memory footprint.  Fuzzy logic control 
statements would be precompiled, providing the control intelligence 
for each simple layer.

If learning capability is desired, it may well be possible to work 
out a genetic algorithm that worked on fuzzy rule sets.  The 
advantage as compared with neural networks would be faster execution 
and lower memory requirements.  Of course, such a solution would not 
be as smart or capable as a neural net especially if the problem 
space is less than well known, or if bad assumptions are made in the 
design of the starting fuzzy rule sets.

As a side note, I have read of solutions that used a mixture of 
neural nets and fuzzy logic where neural nets provided some learning 
capability.  Unfortunately I don't have enough expertise with AI to 
evaluate the suitability of such a combination for muds.  Indeed I 
don't have the necessary expertise to evaluate the combination of 
fuzzy logic with genetic algorithms.  I'm hoping that the AI gurus in 
this group can provide an expert opinion.

Brian Price.



More information about the mud-dev-archive mailing list