What kind of math does most AI use?
What kind of math do most AI programs use? Do I have to be a calculus expert to "do" decent Artificial Intelligence programming? What about what is in the books? What kind of mathematics is it? Thanks.
May 26, 2002 01:46 AM
It depends on what area of AI you are using. Some uses almost no math at all (particularly search AI), some uses a bit of calculus. There is a bit of probability theory if you get into belief networks etc...
Hmm. Well, most neural networks don't use anything more than summing up a lot of multiplications, with the occasional square root used for things like backpropagation of errors. Genetic algorithms don't really require any mathematics at all (except maybe a few divisions and additions for selection), but it depends on the problem domain and how you want to measure fitness. Fuzzy logic was just a load of multiplication, as far as I saw. Pathfinding and other state-space search hardly involves any mathematics except possibly a bit of basic arithmetic in the heuristic (although again, it depends on the problem). State machines are only as complex as the conditions you use to switch between them.
In short, it's not actually all that mathematically-challenging. Although obviously a good knowledge of the area will always find some applications.
[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]
[edited by - Kylotan on May 26, 2002 7:46:14 AM]
In short, it's not actually all that mathematically-challenging. Although obviously a good knowledge of the area will always find some applications.
[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]
[edited by - Kylotan on May 26, 2002 7:46:14 AM]
Vectors, normalization and the distance forumula is handy to know for pattern recognition...
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
You can see the occasional derivative too
e.g. the derivative of the error function is used to find a minimum.
Documents [ GDNet | MSDN | STL | OpenGL | Formats | RTFM | Asking Smart Questions ]
C++ Stuff [ MinGW | Loki | SDL | Boost. | STLport | FLTK | ACCU Recommended Books ]
e.g. the derivative of the error function is used to find a minimum.
Documents [ GDNet | MSDN | STL | OpenGL | Formats | RTFM | Asking Smart Questions ]
C++ Stuff [ MinGW | Loki | SDL | Boost. | STLport | FLTK | ACCU Recommended Books ]
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan
derivitives = calculus
vectors = linear algebra
vectors = linear algebra
Those who dance are considered insane by those who cannot hear the music.
There is an abundance of maths used in AI, but not all of it is used in Game AI.
The main mathematical tools used are: first order logic, probability theory, linear algebra, vector calculus, differential and integral calculus, stochastic differential systems, numerical techniques for all of the above... and the list goes on.
It is not really a good approach to ask yourself what maths should you learn to be a decent AI programmer, but rather get a good grounding in all of the above techniques. This will serve you very well as the AI community needs more mathematicians and less programmers!
As an example... a couple of years ago I showed some of my work to a Senior Lecturer in AI (who shall remain nameless). It was a mathematical proof connecting well known work in filtering theory to more modern work in AI. I was very disheartened when she looked at the first equation and asked, "what''s this symbol mean?" It was a partial derivative! Don''t end up like this. You don''t need a degree in mathematics to be a good AI researcher, but it helps!
Cheers,
Timkin
The main mathematical tools used are: first order logic, probability theory, linear algebra, vector calculus, differential and integral calculus, stochastic differential systems, numerical techniques for all of the above... and the list goes on.
It is not really a good approach to ask yourself what maths should you learn to be a decent AI programmer, but rather get a good grounding in all of the above techniques. This will serve you very well as the AI community needs more mathematicians and less programmers!
As an example... a couple of years ago I showed some of my work to a Senior Lecturer in AI (who shall remain nameless). It was a mathematical proof connecting well known work in filtering theory to more modern work in AI. I was very disheartened when she looked at the first equation and asked, "what''s this symbol mean?" It was a partial derivative! Don''t end up like this. You don''t need a degree in mathematics to be a good AI researcher, but it helps!
Cheers,
Timkin
I guess I am wondering if a regular calculus class, discrete modeling and so on in college will help me. I know they won''t hurt, but they may not be of benefit.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement