COMPUTER SCIENCE 431
INTRODUCTION TO ARTIFICIAL INTELLIGENCE
(AKA Computational Intelligence)
Document Change History
- 8/3/02: Initial document submission
- 8/4/02
- Added Document Change History (hey - if it's good enough
for software engineering documents, it's good enough for course
web pages).
- Corrected Exam dates to nearest Thursday (as promised
below)
- 11/2/02
- Incorporated missing material on neural networks starting
Nov. 11
Quick links to this site:
Administrivia
Meeting times:
- 3:00 - 3:50 MWF
- 2:30 - 3:20 Thursday
- We will use the Thursday session primarily for scheduled
lab sessions and exams, and for catch-up lectures as
needed. For those Thursdays not otherwise scheduled, I
plan to be in the T120 lab to help with programming exercises.
Please do not schedule any other activities in this
period as we may need to use it unexpectedly.
- All sessions meet in Thompson 311
Final Exam
- The final exam for this class is scheduled for 8:00 AM
Tuesday, Dec. 17. It will be a two-hour, mandatory in-class
exam.
Textbooks
- Required:
- Russell, Stuart, and Norvig, Peter, Artificial
Intelligence: A Modern Approach (Prentice-Hall,
1995).
- We will follow the suggestion (on page ix) for a
one-semester introductory course.
- In addition, we will look at (on-line) documentation for
CLIPS and SNePS, and have the opportunity to read several
papers (which will be provided in the coursepack).
- Reading packet (coursepack - available during the second
week of lectures)
- Recommended: Graham, Paul: ANSI Common
Lisp . I will give you the basics in lecture, and the book
on Common Lisp by Guy Steele is available on the web here.
The reading assignments will include several chapters from Graham,
but I intend the lectures to be self-contained.
- Generally, we should expect to spend somewhat more than 1/2 of
our time talking about the basics (LISP, Prolog, representation,
state spaces, operators, search, problem solving, planning,
language, and philosophical issues), with a chunk of our time on
expert systems, and another chunk on some other approaches (neural
networks, genetic algorithms). My expectation is that by the end
of the term you will understand the basic techniques of AI and
have some additional experience with a number of approaches. There
will be a lot of programming involved (in Lisp, Prolog, and
perhaps C, C++, or Java), and a lot of work you will need to
undertake on your own.
Instructor
Office hours (tentative)
- 4:00 - 4:50 AM MTThF
- Or by appointment.
- Office hours will change about mid-October.
Click here for my schedule.
- If you catch me at any other time, please feel free to drop
in. Messages sent via email are welcome, and can be used to ask a
question or to set up an appointment.
- Web page: go to http://www.math.ups.edu
and follow the links to my home page, or you can go directly to
http://www.math.ups.edu/faculty/matthews.html. Along with
several resources you will find useful is the home page for this
course (
this file) which will be used to store assignments, weekly
schedules (and schedules of past weeks), and copies of previous
exams.
Notes
Programming exercises will be graded on style and documentation as
well as correctness. Programs must include header documentation as
well as adequate internal documentation unless otherwise specified.
Late assignments will be accepted (with an increasing penalty) until
the graded exercise is returned to the class. All assignments turned
in must represent individual effort: work done by a committee cannot
be accepted except where a group effort is a clearly stated part of
the assignment. All students in Computer Science classes at the
University of Puget Sound are responsible for the material contained
in the document on academic honesty published by the Department of
Mathematics and Computer Science and included in the Academic
Handbook.
A minimum grade of 50% on exams and 50% on homework assignments is
a necessary (but not necessarily sufficient) condition for a passing
grade.
Finally, the last date for withdrawing from this class with an
automatic W is Monday, Sept. 30. In the event that we do not have an
hour exam before that date, I will assign a WP grade to any formal
withdrawals (i.e., completed using the necessary form and submitted
to the register's office) up to a week after the day that the first
hour exam is returned to the class. Of course, should you find
yourself in difficulty at any point in the semester, please make
arrangements to meet with me as quickly as possible.
Weekly Schedule:
Assignments
Exam Reviews
Syllabus
Introduction
Catalog Description
This course introduces the student to the techniques of artificial
intelligence using LISP or Prolog. The student is introduced to the
basic techniques of uninformed and informed (heuristic) search,
production systems, expert systems, neural networks, and to
techniques of knowledge representation and problem-solving.
Additional topics may include alpha-beta pruning in game trees,
computer models of mathematical reasoning, natural language
understanding, machine learning, and philosophical implications.
Prerequisites
CSci 261 and some form of discrete or formal mathematics.
Experience with the propositional and predicate logics is a useful
prerequisite for this course. A grade of C- is required in
prerequisite courses.
Method of Instruction
- Lectures and seminar discussions
- Demonstrations and work sessions
- Homework and exams
- Paper/project
Evaluation
Students will be evaluated on the basis of homework, exams
(including a comprehensive final), and a paper or project as
follows:
- Homework: 40% (Including programming exercises in LISP,
Prolog, and CLIPS)
- Exams: 50%. The final exam will have the weight of two hour
exams.
- Project/Paper: 10%
- Exams and homework are generally returned within a week.
- You are responsible for reading and lecture material in the
course. While I do not take roll, regular attendance is a
good idea. I will be reading the class role on a fairly
regular basis, but that is in an effort to get to know your
names. I have a terrible time with names.
You will be asked to explore one of the topics discussed in the
class in greater depth through either a written research paper or a
significant programming project (which may include one of the AI
tools available here at UPS or on the web). This may include both
advance or additional reading. A detailed description of the
paper/project together with a schedule will be available on Friday,
Oct. 14, but a draft schedule can be found in the lecture
schedule.
Basic, core material
Percentages should be taken as approximate guidelines. Topics may
not be presented in the following order.
Philosophical issues (10%)
- Descartes, Turing and Searle
- The physical symbol system hypothesis
- GOFAI ("good old-fashioned AI") vs. connectionist
AI
Language basics (10%)
Introduction to the language to be used in the course (LISP or
Prolog or both).
Searching (20%)
- State spaces and representations
- Operators
- Uninformed search
- Cost functions
- Branch and bound
- Heuristic search
- A* algorithms.
- Game playing and alpha-beta pruning.
Knowledge Representation (20%)
- Survey of knowledge representation techniques, including
- Database systems
- Isa-hierarchies
- Semantic networks,
- Frames and scripts
- Production systems
- Predicate logic.
- Procedural techniques
- Characteristics and evaluation of KR techniques
Problem solving. (20%)
- Problem solving as search
- Problem reduction
- And-or trees
- Means-ends analysis
- Rule-based expert systems
- Decision making under uncertainty
- Non-monatomic logic
- Statistical reasoning
- Inference networks
- Fuzzy logic
- Case Based Reasoning
- Control issues
- Agendas
- Forward vs. backward chaining
Neural Networks and Genetic Programming (20%)
- Perceptrons and the perceptron learning theorem
- Multilayer feed-forward neural networks and
backpropagation.
- Hopfield networks
- Genetic programming
Additional topics
In addition to the "core" topics listed above, the course should
include several of the following topics, depending on the interest of
the instructor(s) and the class:
- Robotics
- Mechanical Theorem Proving
- Game playing.
- Natural Language Understanding
- Computer Vision.
- Machine Learning.
Draft Schedule
Note: Please note that, except for scheduled University
events and exam dates, the schedule of topics, readings, and
assignments is tentative. It may be necessary to change an
exam date: if that happens, I will give you at least a week's notice
and make alternate arrangements for students unable to take the exam
on the rescheduled date. Please inform me of any conflict between the
dates entered here and those in the catalog and course schedule. In
the event of any conflicts, the catalog and course schedule have the
final say.
Exam Schedule
- Exam 1: Thursday, Oct. 10
- Exam 2: Thursday, Nov. 7
- Exam 3: Thursday, Dec. 5
- Final Exam: The final exam for this class is scheduled
for 8:00 AM Tuesday, Dec. 17. It will be a two-hour,
mandatory in-class exam.
Paper/Project Schedule
- Discussion of paper/project: Monday, Oct. 14
- Paper/project proposals due: Tuesday, Oct. 22.
Proposals will be returned on the following Friday.
- Paper/project bibliography due: Monday, Nov. 4
- First draft due Monday, Nov. 20
- Final copy due: In class, Wednesday, Dec. 11
More details on the paper or project will be forthcoming Monday,
Oct. 9. Please note in advance, however, that substantial penalties
will be assessed for missed deadlines for the paper, including all
of the submittables described above.
Lecture Schedule
Notes:
- This should be considered very much a document in development.
While I will try as much as possible to stick to the posted exam
dates, the schedule of lectures and homework may change as the
term progresses. Updates, and detailed weekly plans, will be
posted on the home page (this page).
- Please note that reading assignments for an individual lecture
should be completed before the lecture. Readings may include
handouts to be provided, and may also include readings in books on
reserve.
- The official schedule for the Fall term can be found
here.
- The official schedule for final exams can be found here.
- Final Exams begin Monday, Dec. 16.
- CSci 261 T322 9:00 MWF, 9:30 Th:. 8:00 AM
Thursday, Dec. 19
- CSci 431 T311 3:00 MWF, 2:30 Th: 8:00 AM Tuesday,
Dec. 17
- SCXT 350 T124 2:00 MWF: 4:00 PM Wednesday, Dec.
18
Week 1: Monday, Sept. 2
- Topic: Introduction to the course
- Reading: RN, chapters 1, 2 (references in the following
to RN refer to the textbook for the course)
- Other Notes:
- Monday, Sept. 2 is Labor Day (no classes)
Week 2: Monday, Sept. 9
- Topic: Lisp, Philosophy
- Reading: Graham 1 - 3, Coursepack (Descartes,. Turing)
- Other Notes
Week 3: Monday, Sept 16
- Topic: Search I
- Reading: RN: Chapter 3
- Other Notes
Week 4: Monday, Sept. 23
- Topic: More Lisp
- Reading: Graham chapters 4 - 6
- Other Notes
Week 5: Monday, Sept. 30
- Topic: Search II
- Reading: RN chapter 4
- Other Notes
- Monday is the last day to drop with an automatic 'W'.
- The first hour exam will be next week
Week 6: Monday, Oct. 7
- Topic: Reasoning and knowledge representation
- Reading: RN Chapters 6, 7 (skipping chapter 5)
- Other Notes
- First Hour Exam Thursday, Oct. 10
Week 7: Monday, Oct. 14
- Topic: Logic for KR and Reasoning
- Reading: RN, chapters 7, 9 (skipping chapter 8)
- Other Notes
- Monday: discussion of term project / paper
- Friday is Mid Term (not an exam date for us)
Week 8: Monday, Oct. 21
- Topic: Production Expert Systems, Philosophy
- Reading: RN Chapter 10, Coursepack (Newell and
Simon)
- Other Notes
- Monday is Fall Break Day (no classes)
- Wednesday: Project/paper proposals due
Week 9: Monday, Oct. 28
- Topic: Production Expert Systems
- Reading: Chapter 10, handouts and slides on CLIPS
- Other Notes:
Week 10: Monday, Nov. 4
- Topic: Expert Systems
- Reading: RN Chapter 10, CLIPS handouts
- Other Notes:
- Bibliography due Monday
- Second Hour Exam Thursday, Nov. 7
Week 11: Monday, Nov. 11
- Topic: Semantic Networks
- Reading: SNePS tutorial, Coursepack (Searle)
- Other Notes
- Pre-registration for Spring semester starts
Week 12: Monday, Nov. 18
- Topic:
- Semantic Networks
- Introduction to neural networks
- Reading: SNePS tutorial, Textbook chapter 19
- Other Notes
Week 13: Monday, Nov. 25
- Topic: Neural Networks
- Reading: RN chapter 19
- Other Notes
- First draft of paper due Wednesday, Nov. 27 (earlier is
fine)
- Third Hour exam is next week
- Thanksgiving Vacation Thursday and Friday (no classes)
Week 14: Monday, Dec. 2
- Topic: Planning
- Reading: RN chapter 11
- Other Notes
- Third Hour Exam Thursday, Dec. 5. Please note that
this in the last week of class.
Week 15: Monday, Dec. 9
- Topic: Philosophical issues and wrap-up
- Reading: RN chapters 26, 27, coursepack
- Other Notes
- Last day of class is Wednesday, Dec. 11
- Thursday and Friday are in the Reading Period
Week 16: Monday, Dec. 16
- Topic Final Exams
- The final exam for this class is scheduled for 8:00 AM
Tuesday, Dec. 17. It will be a two-hour, mandatory in-class
exam.