Warning on NN threads!

Started by
54 comments, last by IADaveMark 13 years, 12 months ago
Quote:Original post by DaeraxAnd then in the other case where it is important to have some understanding of the numbers of the system probabilistic graphical models are far better - markov chains and my favourite - Bayes Nets.

All hail Reverend Bayes!

Quote:Having agents trying to maximise their expected utility and tweaking their rationality and braveness by adjusting their risk curves and throwing in some random numbers will lead to some awesome behaviour and for more enjoyable...

Wow... sounds cool! Someone should write a book about that! ;-)

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Advertisement
Heh I intend to check out your book. Ever since I first met the concept of game and decision theory some years ago I thought this stuff would be useful for game agents but didn't have enough knowledge in either area to go further than that (actually I still have no practical knowledge on games just an intuitive direction I would go based on what I know).

But that stuff is not often taught in your typical software engineering degree - what most developers study so most people are unfamiliar with the theory. And since people can only reach for what they have on their shelf the concept is not used as often as it deserves. Nor does it help that there is not much coverage on applying the theory to game specific scenarios so it continues to be slept on.

To that end, have you considered writing a primer article for some game sites? Or perhaps releasing a chapter of your book for free? :D
Quote:Original post by Daerax
Heh I intend to check out your book. Ever since I first met the concept of game and decision theory some years ago I thought this stuff would be useful for game agents but didn't have enough knowledge in either area to go further than that (actually I still have no practical knowledge on games just an intuitive direction I would go based on what I know).

But that stuff is not often taught in your typical software engineering degree - what most developers study so most people are unfamiliar with the theory. And since people can only reach for what they have on their shelf the concept is not used as often as it deserves. Nor does it help that there is not much coverage on applying the theory to game specific scenarios so it continues to be slept on.


Yep... mine is the only book that deals specifically with the decision side of AI rather than simply the algorithmic side of things. After all, an algorithm or structure doesn't help unless we actually have an understanding of how people (or whatever) make decisions. Then all we need is ways to mimic that process - not attempt to recreate in from a neurological level... just give the impression of it.

Quote:To that end, have you considered writing a primer article for some game sites? Or perhaps releasing a chapter of your book for free? :D

Uh... not completely. I do lecture on subsets of this at GDC, etc., though.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Quote:Original post by InnocuousFox
Quote:Original post by Kylotan
On the other hand NNs are simple to understand and provide a smooth introduction to soft computing. In particular, many of the better alternatives people suggest are more complex to understand and are less well covered by the literature. Perhaps more needs to be done to explain the alternatives.

Yeah... someone should write a book describing how to construct behavior algorithms using stuff like utility theory, response curves, weighted randoms, and stuff.

That's fine, but not everybody can be expected to own your book, nor know in advance that it is specifically useful to them. We need some introductory material that is freely available and easy to understand, which can then steer people towards books such as yours. I don't think people can be blamed for asking about the tool they know about when we're not making a great effort to tell them what to use instead.
Quote:Original post by Kylotan
That's fine, but not everybody can be expected to own your book, nor know in advance that it is specifically useful to them. We need some introductory material that is freely available and easy to understand, which can then steer people towards books such as yours. I don't think people can be blamed for asking about the tool they know about when we're not making a great effort to tell them what to use instead.

My book reference was tongue-in-cheek, really. My book isn't a great starting place for game AI anyway. About once a week we mention Mat Bucklands "...by Example" on here.

As for "the tool they know about", the only reason most people know about NNs is because they are being taught it in school for some odd reason. My point is that we often (again, about once a week) have questions about NNs that have been covered plenty of times. While that is tolerable, it was pointed out that we had 4 straight threads that dealt with NNs. Seriously... WTF?

The even more frustrating thing is the insistence that NNs are a gift from God for all circumstances. Often, when we try to suggest that a particular task is really not in the NN wheelhouse, the response from the OP is that "it must be the best! After all, it's a neural network and those are cool!" (I paraphrase, of course.)

The confluence of a number of factors is what is frustrating:

* A lack of understanding of how NNs work
* A corresponding lack of understanding in why how they work sucks for most problems
* A lack of knowledge of other, more suitable methods
* A near-religious sanctimony that NNs are the bestest algo evar!

There's only so many times we can post the same stuff over and over.

*sigh*

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

I'm with Kylotan on this one. I'm well aware that ANNs suck, but there really isn't much accessible (free and readable) information on the alternatives. I usually just end up throwing polynomial least squares at all my function approximation needs, and I've already got my BS in computer science, another in math, and I've read both of Mat Buckland's books. There needs to be a compiled set of articles available for free at least summarizing which algorithms to use for what types of problems. Once I've got an algorithm matched to a problem I can google for specifics, but it's very hard to find anything useful when you don't know what your looking for.

More specifically I think this forum needs a faq covering (or at least containing links to articles that cover) ANNs, GAs, A*, and any other common questions with a nice sticky instructing people to read the faq before posting. I look forward to the day when I come to the AI forum and most of the articles are on topics I know nothing about.
Seriously though, NN's are excellent tools for certain classes of problems, notably ones that do not have known or efficient formal solutions. They also tend to deal much better with noisy inputs, far better than formal solutions do I might add. In fact many people reading this post are probably using NN's without even realizing it as many DSL modems use them for signal conditioning. And for those that suggested GA's are better than NN, GA's are a training method, equivalent to backprop, not a form of AI in themselves. The fact is that GA's are very often used to train NN's. I'm definitely not trying to be rude here, but think too many mods get their title through the buddy system and are making broad sweeping generalizations that exceed their professional experience. Everyone likes to sound like an expert on AI because its the 'cool' technology, but rather than the one or maybe two introductory classes many people take on AI as part of some other curriculum, there are in fact graduate degree programs that focus entirely on the subject and there are many seperate diciplines within the field. As a primer fo AI n general I suggest you read Russel and Norvig (ISBN 0-13790395-2). For Neural Networks in particular Simon Haykin is the generalyl accepted entry level author (ISBN 0-13-273350-1). For further reading if you are truly interested in teh subject -
Artificial Intelligence (general) -

Artificial Intelligence, A Modern Approach ISBN 0-13-790395-2
Neural Networks, A Comprehensive Foundation, ISBN 0-13-273350-1
Neural Networks for Pattern Recognition, ISBN 978-0-19-853864-6
Biophysics of Computation, Information porcessing in single neurons, ISBN 978-0-19-518199-9
Theoretical Neuroscience, Computational and Mathematical Modelling of Neural Systems, ISBN 978-0-262-54185-5
C++ Neural Networks & Fuzzy Logic, ISBN 1-55851-552-6
An Introduction to Genetic Algorithm's, ISBN 0-262-63185-7
Signal and Image Processing with Neural Networks, ISBN 0-471-04963-8
Neural Network and Fuzzy Logic Applications in C/C++, ISBN 0-471-30975-3
Neural and Intelligent Systems Integration, ISBN 0-471-53676-8


None Very little of which helps with game AI. Especially at the level at which most of the questioners and readers here are developing AI.

Just pointing that out.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Quote:Original post by InnocuousFox
* A corresponding lack of understanding in why how they work sucks for most problems


You could say every search or learning algorithm "sucks" at the majority of problems and but can excel at a specific class of problems. Obligatory No Free Lunch reference:

http://www.no-free-lunch.org/

The number of problems any given search or learning solution is good at solving is minuscule compared to the number of problems that exist.

Quote:Original post by InnocuousFoxVery little of which helps with game AI. Especially at the level at which most of the questioners and readers here are developing AI.


^ Agree very much with this. The majority of mainstream game AI has pretty simple goals like "go here", "hide", "shoot that guy". As Sneftel said, genetic learning algorithms are aimed at solving problems that are extremely hard or perhaps even impossible to solve by a hand-coded solution. An example is ANNs applied to sub-atomic particle physics:

- T. Aaltonen et al., “Measurement of the top quark mass with dilepton events selected using neuroevolution at CDF,” Physical Review Letters, vol. 102, no. 15, 2009.

In that perspective, using ANN/Genetic learning to "get the food" is like swatting a fly with a nuclear bomb.

That said, as games get more complex we are already seeing ANN applied to mainstream games. The ANN drivers in Forza are a perfect example of where ANNs are applied to a tough problem. I've never tried, but I assume its extremely hard to hand-code a non-cheating NPC driver that navigates a track, while avoiding dozens of other cars/hazards, while adhering to a near-real-world physics model.

Also, the new hot research in learning for games is not in typical NPC decision making, but in procedural content generation. That is, learning what types of content users prefer and then intelligently generating procedural items, maps, weapons, plots, or whatever, based on their preferences.
Quote:Original post by EJH
In that perspective, using ANN/Genetic learning to "get the food" is like swatting a fly with a nuclear bomb.


I don't like that analogy because it implies ANNs are wholly superior and just unnecessary. I'd say it's more like cutting a steak with a wood axe. Technically, it's possible. The wood axe is a stronger cutting tool than a steak knife, but it's not serrated and it weighs more so it's going to take a lot more work, and then it still probably won't work that great. I'll spare the extended metaphor, but you get the idea. ANNs are not so much superior as they are more suited to a specific narrow set of tasks.

This topic is closed to new replies.

Advertisement