Straight to the point: I would really like to learn AI.

But I want some advice from experienced CS guys as to when I should jump into Artificial Intelligence.

What prerequisites are needed in order for me to better grasp the AI concepts?

  • $\begingroup$ this is a pretty good QA site for AI but fyi apparently not associated with stackexchange. suggest reading top voted questions to get info/ideas $\endgroup$ – vzn Sep 24 '12 at 16:14

You will need some discrete mathematics. Graphs, trees, and so forth. These are the structures underlying AI.

You will need some programming skills, especially in languages such as Prolog and LISP. A lot of AI systems are programmed in these languages.

You will need some logic. Propositional and predicate calculus. Their syntax and semantics. Perhaps some modal logic. This will form the basis for learning about knowledge representation, which is at the basis of AI.

During the first two years of a regular computer science degree you usually obtain enough background to start studying AI .

But there is no limit to how complex AI can be. To get deeper into it, you'll need statistics, calculus, matrix algebra, and probably much more. Statistical learning theory (or more simply machine learning) depends on these areas.

My advice. Buy a book on Artificial Intelligence to read in your own time. A good one is Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig. Whenever you don't understand something, try to work out what background knowledge you are lacking. Then fill those gaps.

| cite | improve this answer | |
  • $\begingroup$ I believe you will definitely need some algorithm background too, for complexity analysis and such. I think it deserves a mention. $\endgroup$ – Varaquilex Nov 6 '13 at 1:21

I would say right away.

Of course you'll need lots of different subjects, like the one Dave Clarke mentioned. Which ones you need really depends on which flavor of AI you go for. If you for towards the Machine Learning end of things, you won't need logic or discrete mathematics, but you will need big helpings of probability theory, statistics, linear algebra, optimization and multivariate calculus.

My point is that if you're learning these things in order to master AI, and not for their own sake, you'll need something to keep your motivation up. So I'd start just messing around. Instead of reading up on all this stuff, just try to write a chess player without any prior knowledge, or program a simple artificial life simulation. If you start on your own, it'll give you a context to place the stuff you'll learn later.

If you wait until you've completed all the subjects I mentioned above before you write your first AI program, you'll need a mighty resolve to hold on for the three years or so it takes to finish.

Once you've written a few toy programs, you can start with an overview book, to get tasters of all these subjects focused on AI. Russell and Norvig is a little heavy on the logic. Your best option depends on what subfields you're interested in. If you go for Machine Learning, then Tom Mitchell's "Machine Learning" is a good option.

| cite | improve this answer | |

While I agree with the other answers, as I myself and looking to become a student of modern AI, I think Mathematical knowledge is of paramount importance.

Take this YouTube lecture series from Stanford University for example. If you can get through the first 6 lectures and understand the mathematical concepts and notation that is presented to explain how and why algorithms like Logistic Regression, Bayesian, and Neural Network algorithms like SVM (Support Vector Machines) can be used to solve problems in a computer's knowledge gathering process, then you are ready to begin serious research - in my opinion.

If you find that you are lacking the fundamentals, then Courses like what are list below may be a good place to start:

  1. Computer Science 1 and 2,
  2. Data Structures,
  3. Analysis of Algorithms,
  4. 3 Calculus courses,
  5. Discrete Math,
  6. Linear Algebra,
  7. Probability and Statistics,

Some may suggest Ordinary Differential Equations or an Analysis course - but this may be over kill. Though if serious research is your goal, then I recommend the over kill approach. Another interesting book recommended to me was "Superintelligence" by Nick Bostrom if you are just curious.

I also think so courses in Psychology, basic Neuroscience, Biology (How cells and micro-organism communicate) possibly even Sociology may not be bad investments of your time. It will help you understand intelligence in the larger sense. Genetic algorithms, for example, are modeled off of biological processes concerning how genes are passed down.

In the Sociological sense, how does a crowd think? Is it distributed intelligence or distributed stupidity, or both under certain circumstances? Can this provide guidance for new algorithms in the future? Doubtful, but hopefully you see my point.

| cite | improve this answer | |
  • $\begingroup$ Please clarify: are you a starting learner or an AI expert? $\endgroup$ – Raphael Oct 25 '16 at 22:26
  • $\begingroup$ I am a graduate Computer Science student studying machine learning. Not a novice, but not an expert. Let's say learner for simplicity. $\endgroup$ – Mr. Concolato Oct 26 '16 at 1:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.