[MUD-Dev] NPC AI

Brian Price blprice at bedford.net
Sun Oct 12 09:17:02 CEST 1997


> From:          "Travis Casey" <efindel at polaris.net>
> Brian Price <blprice at bedford.net> wrote:
> 
> [using subsumption architecture for NPC AI]
> 
[using fuzzy logic to implement layers in the subsumption 
architecture]

> "A cross between expert systems and AI?"  I remember when expert
> systems *were* AI.  What's the old AI researcher's saying?  "It
> stops being considered AI as soon as it works well?"  :-)

Lol, precisely, it seems to be a moving target.

> Fuzzy logic isn't really a cross between any two things -- rather,
> it's a possibly new ("possibly" because some mathematicians believe
> that it's functionally identical to Bayesian logic) branch of 
> mathematics which can be applied in AI systems to make it easier to

Zhadev has responded to exactly the above accusation, I'll leave the 
defense of fuzzy logic to him :).

> work with a reality in which things aren't always well-defined.  Thus,
> there are expert systems which use fuzzy logic, neural nets which use
> fuzzy logic, and other AI systems which use fuzzy logic.

It is these types of combination systems which led me to the idea 
of merging subsumption architecture with a minimalistic fuzzy logic engine 
for mob AI.  (And beyond to adding learning through genetic 
algorithm type extensions.)  From what I've read, it seems that these 
combination approaches are proving to be better 'real world' 
solutions sometimes than the pure systems.

I should have stated more precisely that the capabilities of a Motorola 
type minimalistic fuzzy logic engine lie somewhere between a 'classical' 
rule based expert system and what is expected from the 'current' crop of 
AI techniques. 

[snip hybrid genetic algorithm/fuzzy logic approach]
 
> There's also a combination of expert systems and neural networks 
> called "expert networks."  I've never looked into the details, but
> the basic idea is that you take an expert system and train its rules
> like you would a neural net's nodes -- strengthen those rules which
> are used in successful inferences and weaken those used in 
> unsuccessful inferences.  Naturally, you can use fuzzy logic in an
> expert network.

I've seen the same combination type systems, although I don't 
remember if they were termed expert networks.  They are largely what 
led me to look at the idea of using a combination of genetic 
algorithms and fuzzy logic.  If one assumes that the input mapping 
sets were properly chosen in initial design, a genetic algorithm 
approach which operated upon the fuzzy logic rule sets would seem 
promising yet fairly simple (both to implement and understand).  I do 
wish I had the expertise to determine if this approach would be 
capable of actually 'learning' new behaviors.  Left to my own devices 
I'll have to try to determine this through sheer experimentation 
rather than any rigorous analysis.

<snip>
> Expert networks may be what you're referring to here -- I'm not really
> familiar enough with the field to know for sure.  The only reason I've
> ever heard of them is because they were the field of research of a 
> CS professor I worked for.

Yep, we're the blind leading the blind here. <grin>  My exposure to 
the field comes from the design of some microcontroller based 
production equipment using s fuzzy logic engine.  Thus my background 
and exposure is largely from applied theory rather than (I wish) 
research.  I've tried to keep up with the field through DDJ and other 
sources but frankly I'm in over my head beyond the basic level.

> Personally, I think an expert system would be a good way to make more
> intelligent NPCs -- but that's probably just because I have more 
> experience with them than with other AI systems.  The main thing that
> I find attractive about using an expert system for NPCs is that you
> can get results quickly -- there's no training period needed, like
> there is with neural networks or genetic algorithms.  Also, since you're
> basically setting up rules for the NPCs to use, you can improve the rule
> set over time by observing what the players do that's effective and 
> adding rules that make the NPCs do the same thing.

Nod, we're in total agreement here.  An interesting portion of fuzzy logic 
lies in the definition of the rules, Lofti Zhadev suggests that a 
surplus of overlapping rules is desireable.  Basically this means you 
can be rather imprecise with your rules as long as you provide a more 
than sufficient coverage of the problem domain.

One difficulty is that the Motorola engine uses a fuzzy-and based 
rule statement syntax which isn't exactly intuitive sometimes (although 
it executes quickly).  What would be nice is a complier that would translate 
a set of fuzzy input mappings and rules which used fuzzy-not, fuzzy-or, 
etc operators into a set of fuzzy input mappings and fuzzy-and rules.

Regardless of the nature of the 'expert' system used to implement the 
layers, I'm finding that the subsumption architecture approach maps 
very well to the OO model I'm developing.

                   Brian Price
               <blprice at bedford.net>



More information about the mud-dev-archive mailing list