## Course Description

Principles of Artificial Intelligence is an introductory graduate-level course. We will cover basic foundations of modern AI: intelligent agents, actions, and planning under uncertainty. You will learn about modeling, algorithmic implementations, and applications of AI techniques to areas such as data mining, computer vision, and computational biology.

This course is prerequisite for more advanced graduate courses offered in the Department: Computer Vision, Machine Learning, Computational Linguistics, and Pattern Matching.

**Prerequisites**

Knowledge of probability theory (on undergraduate level, at least). Calculus and linear algebra will be useful. Some exposure to search algorithms (depth-first, breadth-first, steepest descent, etc.)

Programming can be done in C/C++ or MATLAB. Other choices of languages are fine as well.

**Textbook(s)
**

We will use a combination of textbooks, research papers, and notes. Some of the relevant texts are listed below.

Required: Artificial Intelligence: A Modern Approach 2nd Ed. — Russell & Norvig Prentice Hall, 2003

Recommended: Pattern Classification (2nd Edition) — Duda Hart Stork Wiley-Interscience , 2000

Recommended: Making Hard Decisions: An Introduction to Decision Analysis — Clemen Robert Duxbury Press, 1997

Recommended: Probabilistic Reasoning in Intelligent Systems — Judea Pearl Morgan Kaufmann, (revised second printing) 1988

Recommended: Richard E. Neapolitan — Learning Bayesian Networks Prentice Hall, 2003

Course Policies and Procedures

We will heavily rely on these web pages to post announcements, news, homework assignments, errata, etc. about the course. Students should become familiar with the site format and options.

**Homework**

Homework assignments will be a combination of programming and “theoretical” problems.

Assignments are due by the end of lecture on the day indicated. Your are expected to turn in your assignments on time. Late homework will not be accepted! Homework will most likely be assigned on bi-weekly basis. However, this is a graduate-level course and homework assignments are not the primary means of learning.

Homework are to be done individually unless otherwise stated. You are encouraged to discuss assignments but the solutions you turn in should be yours. Copying of solutions will not be tolerated and will be immediately sanctioned. Please see Rutgers Policy on Academic Integrity.

The assignments are to be turned in electronically via this site.

**Projects**

Projects will form a core of your work in this course. We will begin discussion of project topics early in the semester. The topics can vary widely and application areas are not firmly set. As a general guideline, you can propose applications of well-known algorithms to new problems, or discuss novel modeling methods and algorithms.

By mid-semester (date TBA) you will have to turn-in your project proposals. The proposals will contain

- a brief description of the problem,
- review of literature and state-of-the-art,
- your proposed approach, and
- project timeline.
- You will receive my feedback after you turn-in the proposals.

At the end of semester you are expected to write a project report which will be based on your proposal but will also include results of your proposed work. Results can affirm or refute your proposed ideas/approaches and both are fine… as long as you provide an insightful discussion about those results.

During the last week of semester each student will present the work on his/her project in front of the class.

**Presentations**

During the course of this semester you will be required to give at least one other presentation. The presentations will be based on research papers the class is assigned to read.

These presentations will be less formal. A student will be chosen at random to briefly summarize the paper in front of the class. This presentation will be followed by a discussion in which the entire class will take part.

**Tests**

All tests will likely be closed-book, closed-notes.

As with the homework assignments, you are expected to do your tests on your own. Please follow the same standards of Academic Integrity.

**Computing**

We will use a combination of C/C++/MATLAB for programming assignments. We may use O’Caml and Lush. You are welcome to use Java if you wish.

**Grading**

- 10% Homework
- 10% Presentation
- 30% Project
- 20% Midterm
- 25% Final
- 5% Participation.

Sample Topics

**Unit 1: Introduction – Objectives
**

Introduction.

Course logistics.

History of AI.

Applications of AI.

**Unit 2: Probability & Linear Algebra Review
**

Review of basic notation, terminology, and “ingredients” of the probability theory.

Review of linear and matrix algebra.

**Unit 3: Agents.
**

What are intelligent agents?

Rationality & performance measure.

Environments & their properties.

Structure of agents.

Types of agents.

**Unit 11: Information-theoretic decision making.
**

Introduction to decision theory.

Preferences.

Utilities.

Principle of maximum expected utility.

Value of information.

**Unit 12: Dynamic models.
**

Learn about probabilistic modeling of dynamic processes such as time-series or biological sequences (DNA, proteins).

Inference in dynamic models.

Forward, backward, forward-backward, Viterbi, MCMC (particle filters).

Decision making in dynamic inference diagrams.

**Unit 13: Learning.
**

Bayesian learning.

Priors.

Density estimation.

Learning of BN parameters.

Learning with missing data.

Learning of BN structure.

Model selection.

**Unit 14: Discriminative learning.
**

Supervised, unsupervised, and semirupervised learning.

Discriminative learning.

Linear discriminant analysis.

Neural networks.

Support vector machines.

**Unit 15: Reinforcement learning.
**

Reinforcement learning.