Fundamentals of Artificial Intelligence - CS161
Syllabus
This is an undergraduate course that introduces the fundamental problem
solving and knowledge representation paradigms of artificial
intelligence. The first couple lectures review the LISP programming
language. The next part of the course will cover problem solving
including problem spaces, brute-force and heuristic search, two-player
games, constraint-satisfaction problems, and planning techniques. The
third section will deal with knowledge representation including
predicate calculus, non-monotonic inference, probabilistic reasoning,
production systems, semantic nets, frames, scripts, and semantic
primitives. Finally, there will be several lectures dealing with
specialized topics such as expert systems, natural language processing,
speech, vision, and neural networks.
Instructor:
Classroom Place and Time:
-
Lecture: 3656 Geology Monday/Wednesday 4-5:50
-
Recitation: 5249 Boelter, Friday 4-5:50
Teaching Assistant:
- Elaine Wah
- Office Hours: TBD
Course Prerequisite:
-
Programming ability in a high level language. Programming exposure to LISP
or SCHEME prefered. Not recommended for students without programming
experience.
Required Textbook:
"Artificial Intelligence: A Modern Approach", by Stuart Russell and Peter
Norvig, Edition 2, Prentice Hall, 2003.
Optional Lisp Primer:
"Lisp: A Gentle Introduction to Symbolic Computation" by Touretzky.
Very Optional Lisp (Encyclopedia) Reference:
"Common Lisp" by Steele.
Online Resources
There is a very detailed
"Lisp Primer"
online which serves as a quick tutorial
The
"Crimson Editor"
is an editor for creating and modifying Lisp programs. It supports
color coding for over 100 different programming languages,
but Lisp mode is not enabled by default. But if you go into
the preferences, you can disable and enable whichever languages you want.
It's primary advantage over dumb editors is that it has
parenthesis matching; when
the cursor is placed on a forward or backward parenthesis,
it shows the matching parenthesis.
There are several online Lisp books including
A Gnu Common lisp reference manual
,
"Ansi Common Lisp"
,
"On Lisp"
"On Lisp"
,
and Steele's "Common Lisp" book in HTML at the CMU AI Repository
"Common Lisp"
,
Exams:
-
There will be a midterm exam, and a final exam, and an indeterminable
number of quizzes
Late work:
-
Late work will not be accepted.
Grading (Tentative and subject to change):
-
30-35% on homework and quizzes,
-
30-35% on the midterm, and
-
30-40% on the final.
Cell Phone Policy: Turn off all cell phones and beepers.
If it rings, I get to answer it.
Class Participation:
-
Class participation is strongly encouraged and may influence your grade.
Collaboration Policy:
You are encouraged to work on your own in this class. If you get
stuck, you may discuss the problem with other students, PROVIDED
THAT YOU SUBMIT THEIR NAMES ALONG WITH YOUR ASSIGNMENT. ALL CODE MUST
BE WRITTEN UP INDEPENDENTLY, HOWEVER. You may always discuss
any problem with myself or the TA, without attribution. You are
expected to subscribe to the highest standards of academic honesty.
This means that every idea that is not your own must be explicitly
credited to its author. Failure to do this constitutes plagiarism.
Plagiarism includes using ideas or code from any other students or
individuals, or any sources other than the required text, without
crediting these sources by name. YOU MAY NOT USE OLD SOLUTION SETS
UNDER ANY CIRCUMSTANCES. Plagiarism will not be tolerated in this
class. Any student suspected of plagiarism will be reported to the Dean
of Students for disciplinary action, which may result in suspension or
dismissal from the University. In order to have any work graded in this
class, you must sign and return the separate collaboration policy form
that is being distributed.
Tentative Course Outline:
The outline below is tentative and subject to change.
-
Introduction to course and artificial intelligence, LISP expressions,
functions, conditionals.
-
Recursion, LET, list primitives, recursive list functions.
-
Problem spaces, problem types, search trees and graphs, AND/OR trees.
-
Brute-force search, breadth-first, depth-first, depth-first iterative-deepening.
-
Backward chaining, bidirectional search, best-first search, uniform cost
search.
-
Pure heuristic search, A*, iterative-deepening-A*, depth-first branch-and-bound.
-
Two-player games, minimax search, alpha-beta pruning.
-
Constraint-satisfaction problems, backtracking and heuristic repair.
-
Planning, subgoaling, General Problem Solver.
-
Midterm exam.
-
Propositional and predicate calculus.
-
Resolution in propositional logic, conversion to clause form.
-
Unification, resolution theorem proving in predicate calculus, Prolog.
-
Non-monotonic reasoning, default logic, decidability, multiple extensions.
-
Probabilistic reasoning, Bayes theorem.
-
Production systems, expert systems.
-
Natural language processing, grammars, syntax and semantics.
-
Structured representations, semantic nets, frames, scripts.
-
Perception, speech, vision, line labeling of polyhedral scenes.
-
Neural networks.