Neural Networks and
Fuzzy Logic
rank at the top of the list of AI technologies that everybody's heard
of and few understand (right up there with
Genetic Algorithms).
That's probably becuase these technologies try, in their own way,
to solve the AI problem "Mother Nature's Way"--through the force of sheer
evolution and adaptation. And everybody likes the idea of "playing
God" just a little bit...the idea of watching your creations actually
learn is pretty darn irrestible for most of us.
Just how useful these technologies are to the game developer is
what this page is all about, of course. I've gathered here various
neural network
and fuzzy logic resources that I've
found useful. I hope you do too. If you know of a page I should add, please
let me know.
Bayesian Network Tools in Java -- BNJ is an open-source suite of software tools for exploring the world of Bayesian Networks. Availble for download under the GNU General Public License, BNJ is a fairly complete package that has an impressive user group behind it for support, answering questions, etc. Well worth looking at it you're new to the topic and looking to explore whether or not Bayesian Nets might be worth including in a future game...
The
SigmaPi
Neural Network Simulator is pretty nifty. It's basically a
neural network simulator that's built
for time-series and learning applications. It uses the relatively modern
LSTM neural model for the node interconnections and has been built
originally to classify sounds (in the form of .wav files). Lots
to see here and it could be useful as the basis to a
neural network learning AI for your next
game.
The software has been ported to a variety of platforms and you can find just
about every version at the site. Worth a look (like nearly everything on
Sourceforge)...
Neural Networks at your Fingertips
is a just plain great site. It's loaded with some excellent
NN simulators demonstrating eight of the more
popular NN architectures. ADALINE,
back-propogation, self-organizing maps--they're all here, and
they all really do work. Lots of code for each simulator, with documentation
and examples galore.
Highly recommended if this NN stuff is new to
you and you're looking for something to play with.
Mat Buckland
has been busy putting together tutorials on various aspects of AI
(one being his solid genetic
algorithms tutorial). He's also got a good tutorial on
Neural Networks on his page.
The new tutorial is basic but detailed enough to get the specifics across
about how NNs work. There's not much math
and there's some straightforward code to look at as you go along.
It's not a bad way to learn about NNs at all.
If you're looking for a tutorial on the subject, this should serve!
LouderThanABomb!
is an interesting company I first ran into at the 1999
GDC.
Their stated purpose is to "Put the 'AI' in Entertainment Software", and
from what I've seen they mean it. Their first tool towards that end,
to enter beta-test in 2000, is called
Spark! (obviously these
guys like exclamation points).
Spark! is intended to be a realtime
fuzzy logic editor, designed
to let developers integrate such AIs into their games and
applications. Using its Windows-based GUI, developers will be able to lay
out the interconnections and parameters of their AIs in realtime,
then integrate it into their application through either a C library or
ActiveX/COM. Developers will be able to tweak their constructions and see
the results in their applications immediately without the need to recompile.
There's a mailing list on the site to which interested parties can subscribe
to get updates on Spark!'s development,
and a beta-test signup page if you'd like to get a chance to play with it
before it hits the market. As of this posting the LouderThanABomb!
folks haven't set a price yet; as soon as they do I'll update this
information accordingly.
This makes Spark! second commercial
AI SDK I've seen so far aimed squarely at the game development community.
If you're using it, or considering using it, please
let me know what you
think of the product. Developer reaction to this tool,
DirectIA, and others still to
be announced will play a big part in whether the AI SDK concept advances
or withers away....
The Fuzzy Logic Laboratorium --
The folks over at the
Fuzzy Logic Laboratorium
in Europe have one purpose in life--to advance the state of the art in
fuzzy logic. To this end they've got an
extremely complete web site on the subject (detailing much of their research,
along with class lectures for various university courses). They also have
online a surpisingly detailed series of
lectures
there covering the entire topic from a ground-up approach...very nicely done.
Definitely recommended for anybody who wants to know more about
fuzzy logic and how it works.
Shumeet Baluja's Neural Network Pages -- This guy has some good ideas. He's pretty technical in his style, but hey...he's a PhD...he's expected to be.
Neutral Networks at Your Fingertips -- Some truly excellent neural network libraries and examples can be found here on what is a truly well organized page. It's loaded with some excellent NN simulators showing off eithr of the more popular NN architectures. Great stuff....