[ http://www.polserver.com/modules.php?name=Forums&file=viewtopic&t=508 ]

The below text is pasted from the above URL on the polserver.com forums.
The text, made by Birdy explains in an easy way, what the brain is about
and what the ideas behind it are.

--------------------------------------------------------------

There is no real documentation outside of the package itself. 
However, the package itself, in the code, is pretty well documented. 
So it shouldn't be that hard to figure out what exactly is going on. 

The AI package is basically a package that uses dictionaries for 
it's database of scripts, and messages to know which ones to call and 
to receive instruction from those scripts. 

At it's heart, the brain.src script is your one true "npc script". 
It includes an include which includes npc.em, and it is the script 
which does all direct communication with the npc reference. It is also 
generic enough that you should really never have to touch it for the most 
part. It basically receives events from the npc object and uses those to 
determine which scripts it will start off. Those scripts are started, 
and the events appropriate to that script are passed along to it by the 
brain. That script operates more or less independantly, having received 
initially a structure with the npc reference in it, and the event that 
started it off. If you process events within that script, you will 
receive the events that the brain is forwarding along to your script. 
In order to "command" the npc to do things, your script usually includes 
npc_commands.inc. This is a set of functions which basically packages up 
an event for each type of standard npc.em function, and sends an event for 
each one off to the brain. The brain processes these events, and executes 
the appropriate npc.em functionality. 

That is a basic understanding of what it is all about, and if you look at 
brain.src and the various include files when appropriate, you should be 
able to see all of this taking place and put it all together as to 
exactly how it is happening. The brain package is a little less efficient 
than typical AI, and it can also run into problems if the event queue's 
get clogged with messages. But it's true glory is in it's generic encapsulation. 
With it, you can have a bunch of npc's that are very similar except, perhaps, 
use different combat scripts, and all you have to do is write the individual 
combat scripts, rather than having to re-write an entirely new AI script. The 
old AI scripts could be approached similarly once you understood the various 
nested includes, but they were far more convoluted and difficult to follow than 
the brain's method. But also keep in mind that seperate scripts offers the 
flexibility(and complexity) of doing things relatively independantly of having 
to worry about the main AI. So, for instance, the brain will send combat events 
to the combat script, and that is what will keep your npc fighting, following, 
etc, but it will still also send speech events to the listen script. So your npc 
can be fighting, and talking, at the same time, without having to include 
"talking logic" within the combat code. With the standard AI, you would either 
have an NPC that didn't speak while fighting, or one that had to have that code 
imbedded not only in the main AI loop, but also the combat loop. With the brain AI, 
the brain fires off events to the appropriate scripts, starting off the scripts if 
necessary, and those scripts run independantly of one another(unless you make them 
rely on each other for some reason, or in some manner). 

While adding some overhead to AI in it's pre-processing of events and multiple 
scripts to handle them, the brain package does provide quite a bit of easy flexibility 
to make your npc a little easier to manage. 

--------------------------------------------------------------

Brain_AI is an "AI system" that is very different architecturally from the current distro AI. 
So far as I understand, it is the only other released AI system for POL, although undoubtably 
other people have written their own from ground up and just not released them. 

It attempts, and often succeeds, at taking the highly convoluted and complex task of operating 
your NPC's and makes that task into a fairly modular approach. In doing so, it makes alot of 
things much easier and even simply doable. 

You really have to probably pick it up for yourself however and try it out. It can work fine 
right along side of the distro AI, so you can just create a new NPC in npcdesc.cfg which uses
the brain_AI to control it. So give it a try is the best advice.