Advertisement

AI

Started by August 31, 2006 05:33 PM
7 comments, last by Steadtler 18 years, 2 months ago
what type of AI is mainly used in the gaming industry? is Neural Networks, genetic algorithms, evolutionary computation and fuzzy logic useful?
Not so much. Those all tend to be quite CPU intensive, and while they have many powerful uses, the gaming industry tends to prefer the more predictable, cheaper finite-state machine. I'm sure you could find exceptions, nonetheless.

Regards
Admiral
Ring3 Circus - Diary of a programmer, journal of a hacker.
Advertisement
No, not so much.

Neural network and genetic algorithm are just some formd of non-linear regression (and not the best ones...), and regression != AI. Fuzzy logic can be useful, but few people understand and use it correctly.

Like Admiral said, State machines are the main tool for behavior control.
Steering behaviors are not uncommon...
There is also an emergence of various goal-oriented ai systems.
Quote:
Neural network and genetic algorithm are just some formd of non-linear regression (and not the best ones...), and regression != AI.


Is that your opinion or somebody elses? I think if you polled most people they'd unequivocally state that ANN's and GA's are AI techniques.
Quote: Original post by MDI
Quote:
Neural network and genetic algorithm are just some formd of non-linear regression (and not the best ones...), and regression != AI.


Is that your opinion or somebody elses? I think if you polled most people they'd unequivocally state that ANN's and GA's are AI techniques.


Also 70% of the people thought there were WMDs in Iraq after it was clear that there weren't any. You can't always go with majorities.

Wikipedia describes artificial neural networks as "non-linear statistical data modeling tools", and I tend to agree with that characterization.

I would describe genetic algorithms as a "search technique", and wikipedia again agrees with me.

One can use these techniques as part of the design of a behaviour strategy, but that doesn't make them AI techniques, in my opinion. However, the book "Artificial Intelligence: A Modern Approach" does talk about both of those techniques, although their treatment occupies a tiny fraction of the book.

In any case, I think it is safe to say that ANNs and GAs are not common tools in game AI these days.
Quote: Original post by MDI
Quote:
Neural network and genetic algorithm are just some formd of non-linear regression (and not the best ones...), and regression != AI.


Is that your opinion or somebody elses? I think if you polled most people they'd unequivocally state that ANN's and GA's are AI techniques.


If you'd have set of AI techniques both of them would be inside. However if you'd look how much these are used, you'd find they are used surprisingly little.
Genetic algorithms are slow. Neural networks are simply one type of memory, and programmer could use different type if he think so (less complicated, or more fitting the project, or less memory demanding). They often do.
Advertisement
Quote: Original post by MDI
Quote:
Neural network and genetic algorithm are just some formd of non-linear regression (and not the best ones...), and regression != AI.


Is that your opinion or somebody elses? I think if you polled most people they'd unequivocally state that ANN's and GA's are AI techniques.


arh, I wrote a lengthy reply, then lost it. alvaro sums it up pretty well. We are not playing family feud :P Im sure that in "Name an AI technique", "Neural Networks" would be in top. And thats very sad.

In my idea, using a model to describe a behavior, that is AI. Using regression to optimize the parameters of that model according to a training set, thats not AI. People new to AI often think (wrongly) that using NN or GA allow them to skip the first step. Oh well.

An AI book that want to sell will talk about those topics the OP mentionned. A game AI programmer that wants to succeed would be wise to look elsewhere.
Quote: Original post by Steadtler
In my idea, using a model to describe a behavior, that is AI. Using regression to optimize the parameters of that model according to a training set, thats not AI. People new to AI often think (wrongly) that using NN or GA allow them to skip the first step. Oh well.


Using a model to prescribe set choices: how is that AI? How is following rules the same as acting intelligently, whether artificially or not? And how is the system ever supposed to do something that surprises the creator, or that isn't explicitly coded?

A well-built neural network eventually creates it's own model within the weights of the units: for example, a speech-processing network with a small number of hidden units will often end up with units with very specific roles: consonant detectors, vowel detectors, end-of-word detectors, etc. None of these things are explicitly programmed, yet the network creates it's own model which processes data in much the same way that we do.

There's a reason that most AI textbooks still teach ANNs, GAs, etc, and it's not just because they sell more copies. What algorithms do you think are used in handwriting/speech/face/fingerprints recognition, stock market predictions, credit card fraud, university class schedules, robotics, circuitry design, code breaking, bank loan approvals, etc etc?

There is more to AI than simple state-based agents in computer games.
Quote: Original post by Asbestos
Using a model to prescribe set choices: how is that AI? How is following rules the same as acting intelligently, whether artificially or not? And how is the system ever supposed to do something that surprises the creator, or that isn't explicitly coded?


Thats the AI part, anyway. A model of behavior can be more complex than a set of choices. You also seem to assume that a system that does not surprise the creator is not a good A.I., or that this is not possible without using regression. Check out Jeff Orkin's papers on planners; a system with a very simple, yet supple model of behavior managed to surprise them on many occasion, and they do not use any regression, or even any learning at all, altough they do use a search in a solution space.

Quote: Original post by Asbestos
A well-built neural network eventually creates it's own model within the weights of the units: for example, a speech-processing network with a small number of hidden units will often end up with units with very specific roles: consonant detectors, vowel detectors, end-of-word detectors, etc. None of these things are explicitly programmed, yet the network creates it's own model which processes data in much the same way that we do.


*may* eventually create this behavior. Most of the times, the local minima you get stuck on in the regression process will not produce those results. Even when using a better regression tool than ANN. Counter-examples are legions... And ANN doesnt create its own model, you create it when you dictate the layout of the network. Only it is expressed in a very un-intuitive manner.

Quote: Original post by Asbestos
There's a reason that most AI textbooks still teach ANNs, GAs, etc, and it's not just because they sell more copies. What algorithms do you think are used in handwriting/speech/face/fingerprints recognition, stock market predictions, credit card fraud, university class schedules, robotics, circuitry design, code breaking, bank loan approvals, etc etc?


Actually, Im somewhat of a pattern recognition expert (in the sense that I am published in this subject, and have a serious job in the robotics industry where I am well paid to apply this knowledge...) Anyway, while a few of those applications may use regression, even fewer will use ANNs. Its a very old class of regression methods, and many better replacements have been found. What algorithms are used? Many, but for regression specifically, Levenberg-Marquad, SVM and Nelder-Mead seems the most popular in the last few years, in that order. SVM are now used almost exclusively for face and gait recognition...

Quote: Original post by Asbestos
There is more to AI than simple state-based agents in computer games.


I do agree on that! There much more possibilities to explore, and thats what I think is best to do rather than hoping regressing a large and vague model will emulate it for you. Im not saying regression is worthless, BUT that you should not use it blindly. Use it *when* appropriate, and with the appropriate regression tool.

Have fun!

This topic is closed to new replies.

Advertisement