Revised Dec 18, 2015
CS 486: Introduction to Artificial Intelligence
This course introduces students to the fundamental problems of artificial intelligence and the basic models and algorithms used to tackle these problems. Students examine frontier areas of computer science and gain knowledge that will allow them to further their studies in artificial intelligence.
- CS major students. Usually taken in fourth year. Beneficial for students who are interested in computer applications that solve sophisticated problems.
- Fall, Winter, and Spring
- Pre-requisites: CM 339/CS 341 or SE 240; Computer Science students only
- Co-requisites: STAT 206 or 231 or 241
For official details, see the UW calendar.
- Typically, students can use any programming language and development tools to complete assignments. Matlab is sometimes recommended.
- S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 3rd Edition, 2010.
- D. Poole and A. Mackworth, Artificial Intelligence: Foundations of Computational Agents, Cambridge University Press, 2010.
At the start of the course, students should be able to
- Use basic algebra, calculus, and probability
- Write efficient, readable programs from scratch
- Read and write technical documents
At the end of the course, students should be able to
- Describe some of the fundamental problems of artificial intelligence.
- Identify basic models and algorithms used in artificial intelligence.
- Demonstrate understanding of how and when to apply artificial intelligence models and algorithms.
- Describe current research trends in artificial intelligence.
Introduction (1 hour)
- Introduction to artificial intelligence
- Building intelligent agents
Problem-solving (9 hours)
- Building systems that solve problems by searching
- Constraint satisfaction problems, backtrack and local search algorithms
- Automated problem solving, graph search algorithms, searching implicit graphs, A* search
- Automated planning
Knowledge representation and reasoning (4 hours)
- Building systems that contain data to solve problems
- Knowledge representation, propositional logic, first order logic, commonsense knowledge
- Logical inference
- Representing change
- Building a knowledge base
Uncertain knowledge and reasoning (10 hours)
- Building systems that reason and act in uncertain environments
- Probabilistic reasoning, joint probabilities, conditional probabilities, conditional independence, Bayes rule, Bayesian networks
- Utilities, decision theory, sequential decision making, value of information
- Game theory, multi-agent systems, adversarial environments, partially observable environments
Machine learning (10 hours)
- Building systems that improve with experience
- Learning a function from examples, linear functions, generalized linear functions (nonlinear bases), neural networks, decision trees
- Generalization theory, over-fitting and under-fitting, complexity control
- Topics may also include reinforcement learning and unsupervised learning
Communicating (2 hours)
- Building systems that communicate
- Natural language understanding, parsing, grammars, semantic interpretation, pragmatics