090:275                    Fall 2006
Prolog(ue) to Artificial Intelligence


For or more than fifty years, people have been thinking about computer programs that perform tasks that are thought to require "human intelligence", such as diagnosing diseases, playing games, and answering English questions.

This course, intended for non-computer scientists, aims to provide an introduction to some of the basic principles and techniques of Artificial Intelligence, such as symbolic representation/reasoning and search, and their application to such problems as natural language processing, planning, game playing, constraint satisfaction, and machine learning.

The course will discuss not just the successes but also the unexpected difficulties faced by researchers trying to build intelligent machines.

In all cases, the ideas introduced will be illustrated by working computer programs that are only about a page long. This brevity is made possible by the use of an extraordinary programming language, called PROLOG, which is very different from standard computer languages. I will spend several weeks teaching Prolog programming (no previous exposure to computers is assumed!), and then students will write or extend small programs as homework exercises. My hope is that this will also help develop students' skills to solve problems using computers in any area of the humanities or sciences, not just Artificial Intelligence.


GENERAL COURSE INFORMATION 

LECTURE NOTES [Readings]
(Most lectures will not be available as full sets of slides. I will however occasionally have slides of graphs, programs, etc. which will appear on the Sakai website of the course.)