This is an old webpage! For the spring 2014 course, visit: http://www.cse.chalmers.se/edu/course/TIN172/

Artificial Intelligence, LP4, VT2013

Course information

The goals of this course are to:

  • give an understanding of the basic ideas and techniques of artificial intelligence, with a deeper understanding of one area, explored via a project.
  • develop the ability to explore an academic area independently, for purposes of research or development.

Literature

Stuart Russell and Peter Norvig (2010). Artificial Intelligence: A Modern Approach, 3rd Edition, Pearson. Should be in stock at Cremona. Be sure to buy the 3rd edition (blue cover)!

For lecture slides and reading instructions in the course book, see the schedule.

For more reading suggestions, see the separate reading list.

Prerequisites

This is an advanced course: we assume academic maturity, and a willingness to explore independently and good programming skills.

You should be a good programmer (in any suitable programming language), and have enough experience in programming to do a sizeable project. You must also be fluent in the use of tools, libraries, environments, etc. used with your programming language. We will not be able to help you with your coding problems. Your programs will be discussed at an abstract, pseudo-code level.

We assume that you have participated in a number of programming courses including a course about datastructures and basic algorithms or that you have acquired corresponding knowledge by yourself.

Background: Strong and Weak AI

The FAQ of usenet's comp.ai group starts by saying (we paraphrase):

Artificial intelligence ("AI") can mean many things to many people. Much confusion arises because the word "intelligence" is ill-defined.

"Strong AI", a term that itself has several definitions, can mean the bold claim that computers can be made to think on a level (at least) equal to humans. More relevant to us is the claim that a sufficiently intelligent machine can be conscious and experience emotions, etc., as we humans do. This course does not concern itself with such questions.

Instead, this course does "weak AI", which simply means adding some "thinking-like" features to computers to make them more useful tools. What does "thinking-like" mean? A working definition is "not obviously machine-like", an obviously elastic category that shrinks as your experience and expectations grow. The more you understand how an AI program works, the less intelligent it appears!

Our distinction between strong and weak AI can be explained by an analogy. We conquered the air by building planes, not by studying birds, though the latter is an interesting study in its own right. So: cognitive psychology is fascinating, but we build more useful machines simply by trying out different programming techniques.

Our focus on weak AI does not mean that impressive achievements are impossible. With current "thinking-like" features, machines are able to perform, for example, the following tasks:

  • win a chess game against any human player,
  • roughly translate a text from one European language into another,
  • prove a non-trivial mathematical theorem whose proof eluded human mathematicians.

In this course, students will learn the most important techniques underlying these and other "intelligent" achievements via a concrete course project.