CSCD84 - Artificial Intelligence

In this course we look at various classical techniques in Artificial Intelligence. We will start with search problems, their formulation, and multiple applications of search including path-finding and constraint satisfaction. We will learn about utility functions, heuristics, probabilistic learning and decision making, and classical neural networks. We will study the classes of problems we can approach with each of the techniques covered in the course, and develop the ability to choose from a toolbox of classical A.I. techniques, the one that is most suitable for a particular task.

  • This course covers a set of principles complementary to what is covered by our Machine Learning course (CSCC11). Taking both courses will provide you with a well rounded preparation in Artificial Intelligence.

  • This is a very practical course, so you should be ready to implement the techniques and algorithms discussed in lecture.

  • We will think about the parts of A.I. that the algorithm doesn't specify - perhaps the most important part of solving a problem, and the part which requires a human expert. This includes the heuristics, the utility functions, and the design decisions that are problem-specific, and are required for each of the methods we study, but are not provided by the algorhtm.

  • We will also consider the social and ethical impact of our decisions in how we apply Artificial Intelligence methods, which is something that everyone who may end up working in A.I. must have carefully thought about, before they have a chance to change our society one way or another.

Search Problems and Path Finding

We are all used to having a personal assistant that can provide directions to get from one place to another, more or less efficiently. how does this work? what are the interesting problems we have to solve and how do we approach them? and what happens when our problem doesn't fit the standard formulation of a search problem, or lend themselves easily to developing workable heuristics?

Adversarial Games

We will look at how algorithms that plan ahead, and attempt to develop a winning plan for a specific game work. This is not applicable just to games, mind you, but is a principle that applies to serious problems in economics and other areas in which strategic planning is relevant.

Neural Networks

Modern A.I. makes extensive use of large neural networks to achieve all kinds of amazing things. In this course we will study the principles behind neural networks (classical, non-deep networks). We will look at how each neuron works, how they are organized into networks, and how we train them to carry out a specific task. This will then provide you with the foundation you need to later study and understand how these simple networks evolved into the Deep Learning nets that are currently at the forefront of A.I.

Click here to read what people who completed the course think about it!